Tải bản đầy đủ (.) (49 trang)

Bài toán quy hoạch tuyến tính đối ngẫu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (382.91 KB, 49 trang )

CHƯƠNG 2
BÀI TOÁN QUY
HOẠCH
1.CÁCHTUYẾN
THÀNHTÍNH
LẬP ĐỐI
BÀI TOÁN
QUY HOẠCH NGẪU
TUYẾN TÍNH ĐỐI

hs. Nguyễn Công T
NGẪU

(Xem)

Copyright 2001

2.CÁC ĐỊNH LÝ ĐỐI NGẪU

(Xem)

3.THUẬT GIẢI ĐƠN HÌNH ĐỐI
NGẪU

(Xem)

4.MỘT SỐ ỨNG DỤNGThs.
CỦA

Nguyễn
Công BÀI


Trí
THUYẾT ĐỐI NGẪU TRONG


THÀNH LẬP BÀI TOÁN
Mục đích vàĐỐI
ý nghóa
NGẪU

 Với bài toán QHTT, bài toán gốc,
ký hiệu là P (Primal), chúng ta có
thể thiết lập bài toán QHTT khác,
bài toán đối ngẫu, ký hiệu là D
(Dual), sao cho từ lời giải của bài
toán này ta có thể thu thập được
thông tin về lời giải của bài toán
kia.
 Để có thông tin cần thiết về bài
toán gốc, có thể nghiên cứu trên
bài toán đối ngẫu của nó.


THÀNH LẬP BÀI TOÁN
Xét bài toán
(P) dưới dạng
ĐỐIQHTT
NGẪU
t

chính tắc


�f P ( x)  c x � min

 P �
Ax  b

x �0.


 I

Với x = (x1, x2,...…, xn) n, b = (b1, b2,...…,
bm) m
Giả sử bài toán (P) có P.A.T.U là xopt
và gọi x0 là một P.A của bài toán
(P), ta coù ctxopt ≤ cttx0. t
�L( x, y )  c x  y  b n Ax  � min
Gọi x = (x1,�
x2,...…, xn) , với x ≥ 0 sao
P �
II 


x �0
cho

m
y

R


Ax –. b  0


THÀNH LẬP BÀI TOÁN
Gọi g(y) làĐỐI
hàm NGẪU
mục tiêu của bài

toán (II), ta có

g(y) = min{ctx + yt(b – Ax)}, với x ≥ 0.
≤ ctx + yt(b – Ax), với x ≥ 0.
 Nếu x là P.A của bài toán (I) thì b –
Ax = 0 và
g(y)
bất

≤ ctx. Vậy g(y) là một cận dưới
kỳ của hàm mục tiêu.

 Ta tìm cận dưới lớn nhất Max{g(y)},
thật vậy
g(y) = min{ctx + yt(b – Ax)}, với x ≥ 0.


THÀNH LẬP BÀI TOÁN
t
t


0
khi
c

y
A �0
Xét
t
tĐỐI NGẪU
min c  y A x 
x �0



 

Vậy ta được


t
t


khi
c

y
A0



g(y) = ytb
Suy ra bài toán đối ngẫu có dạng
�g ( y )  y t b � max
�g ( y )  y t b � max


t
t
t
t
D

  � c  y A �0
y
A

c



m
m
y

R
.
y

R
.




Hay bài toán tương đương
�g ( y )  y t b � max

D
  � At y �c

m
y

R
.



THÀNH LẬP BÀI TOÁN
Ví dụ 2.1.
ĐỐI NGẪU

Bài toán đối ngẫu của bài toán
QHTT�fsau
( x)  đây
2 x1
8 x4 6 x5 � min








�x j �0

 x3

2 x1
2 x2
x2

2 x3

 x5



4

 x5



4



13

3 x4


j  1,5

�f D ( y )  4 y1

laø bài toán
2 y1




y1



y1


4 y2

13 y3

2 y2

 y3
2 y3
3 y3

 y2


� max

2





0
0
8
6


THÀNH LẬP BÀI TOÁN
Bài toán gốc
(P) NGẪU
Bài toán đối
ĐỐI
Hàm
mục
tiêu
f P ( x)  �
cjxj �
min

ngẫu (D)
m
Hàm
f ( y )mục

 b tiêu
y � max

Ràng buộc thứ i

��
n
��
a
x
� bi i  1, m

ij j ��
j 1

��
��

Ràng buộc thứ j

��
m
��
a
y
� c j , j  1, n

ij i ��
i 1


��
��

n

j 1

D


i 1

i

i

Ẩn thứ j
Ẩn thứ
I









0, i  1, m
xj �


0, j  1, n yi �




khô
ng rà
ng buộ
c�

khô
ng rà
ng buộ
c�





VD2.2 VD2.3 VD2.4 VD2.5 VD2.6 VD2.7


THÀNH LẬP BÀI TOÁN
dụ 2.2. Viết
toán đối ngẫu
ĐỐIbài
NGẪU



và chỉ ra các cặp ràng buộc đối
Bài toán đối
ngẫu của bài toán QHTT
�f ( x)  x1  2 x2  x3  2 x4 � min �f D ( y )  ngaãu
y1  3 y2  4 y3 � max

� 1� y1 3 y2 2 y3


�3 x
 x2
 x3
� 3� y1
 y2 3 y3
� 1

2 x1 3 x2
 x3
 x4  4�
2 y1
 y2
 y3



2 y1
 y3
x

0

j

1,2

j


y1 �0, y2 �0

x1 �
0,
ối
3 yngẫu
2 y3 � 1
 1
1
2
Các
cặp
x1

 x2

x2 �0,
x1
3 x1

2 x3

y1

 x2
 x2

2 x4

 y2
2 x3
 x3

3 y3
2 x4

� 2
� 1,
� 3,

y1 �0
y2 �0

 2
 3
 4

� 1
� 2
 1
 2


THÀNH LẬP BÀI TOÁN

dụ 2.3. Viết
toán đối ngẫu
ĐỐIbài
NGẪU


và chỉ ra các cặp ràng buộc đối
ngẫu của bài toán QHTT
Bài toán ñoái
�f ( x)  2 x1  x2  8 x3 � max
ngaãu

7x
4 x
2 x � 28 �f D ( y )  28 y1  10 y2  15 y3 � min
� 1
�3 x
� 1

2 x1




2

3

 x2


3 x3

 10

3 x2

 x3

� 15

x j �0

j  1,2


7 y1


4 y1


2 y1



3 y2
 y2
3 y2
y1 �0,


2 y3 � 2
3 y3 � 1
 y3  8
y3 �0

x1 �
0,
7 y1 ngẫu
3 y2 2 y3

2
Các
cặp
đối
x2 �0,
4 y1  y2 3 y3

1
7 x1 4 x2 2 x3
� 28, y1 �0
2 x1 3 x2
 x3
� 15, y3 �0

 1
 2
 3
 4



THÀNH LẬP BÀI TOÁN
dụ 2.4. Viết
toán đối ngẫu
ĐỐIbài
NGẪU


và chỉ ra các cặp ràng buộc đối
f ( xbài
)  4 xtoán
8 x3 � min
ngẫu của
1  3 x2  QHTT
1


0


0
1

x j �0

�x1 �
1�
2�




x2 �� �


��
2�
5�


x3 �

j  1,3

Các ràng buộc đối nga

x1 �0,
y1
f DBài
( y )  2toán
y1  5 y2 �đối
max ngẫu
4 �x2 �0,
�1 0 �

�y1 � � �x �0,


y1
0 1 � �� 3
3




�y2 � �
�1 2 �


x1
8


��
x2
y j �0; j  1, 2

y2

� 4
� 3

2 y2
 x3

� 8
� 2,

y1 �0

2 x3

� 5,


y2 �0

 1
 2
 3
 4
 5


THÀNH LẬP BÀI TOÁN
dụ 2.5. Viết
toán đối ngẫu
ĐỐIbài
NGẪU


và chỉ ra các cặp ràng buộc đối
f ngẫu
( x )  2 x1 của
5 x2 � max
Bài toán đối
bài toán QHTT
f D ( y )  4 y1 ngaãu
3 y2  8 y3 � min
1
0
4



��
�x1 � � �


0 1 � �� 3


��
x

2

�1 2 �


8


��
x j �0; j  1, 2

1


0


0
1


y j �0
aøng buộc đối ngẫu

x1 �0,
x2 �0,
x1
x1

y1

x2
2 x2

 y3
y2 2 y3

4,

3,

8,

�y1 �
1�
2�



y2 �� �



� �
2�
5�


y3 �

j  1, 3

� 2
� 5
y1 �0
y2 �0
y3 �0

 1
 2
 3
 4
 5


CÁC ĐỊNH LÝ
ĐỊNH LÝ 1. ĐỐI NGẪU
Nếu một trong hai bài toán đối ngẫu
nhau có P.A.T.Ư thì bài toán kia cũng
có P.A.T.Ư và giá trị hàm mục tiêu
của chúng bằng nhau.
HỆ QUẢ 1.

Điều kiện cần và đủ để cho các
bài toán đối ngẫu nhau có phương
án tối ưu là mỗi bài toán có ít
nhất một phương án.
HỆ QUẢ 2.
Điều kiện cần và đủ để cho các


CÁC ĐỊNH LÝ
ĐỊNH LÝ 2.(ĐỊNH
LÝ ĐỘ LỆCH BÙ
ĐỐI NGẪU
YẾU)

Điều kiện cần và đủ để cặp bài
toán đối ngẫu nhau có P.A.T.Ư. là
trong cặp ràng buộc đối ngẫu, nếu
ràng buộc này xảy ra với dấu bất
đẳng thức ngặt (“>” hoặc “<“) thì
ràng buộc kia xảy ra với dấu đẳng
thức.
m

opt (x opt, x opt, ..., x opt),
Nghóa là, với �
Xopt
2
n
aij y=
 c1j

i
i 1
,  opt
n
opt,  y
Yopt = (y
, ..., ymopt) laàn lượt là
1 opt
2
aij x j �
bi

P.A.T.Ư.j 1 của bài toán gốc và bài


CÁC ĐỊNH LÝ
ĐỐI LÝ
NGẪU
ĐỊNH LÝ 3.(ĐỊNH
ĐỘ LỆCH BÙ
MẠNH)
Nếu cặp bài toán đối ngẫu nhau có
P.A.T.Ư. thì tồn tại một cặp phương án
sao cho trong các cặp đối ngẫu, nếu
ràng buộc này xảy ra với dấu đẳng
thức thì ràng buộc kia xảy ra với
dấu bất đẳng thức ngặt.
Nghóa là, với Xopt = (x1opt, x2opt, ..., xnopt),
m
lần lượt là

opt
opt
Yopt = (y1 , y2 , ..., yamyopt
opt)��
cj

ij i
��

P.A.T.Ư.n của bài toán
gốc
và bài
i 1
��
opt
a
x
 bi
toán đối
ta có
� ij ngẫu,
j
j 1


ÁP DỤNG ĐỊNH LÝ
Ví dụ 2.6. Cho
bài toán
QHTT
ĐỐI

NGẪU
f ( x)  4 x1  3 x2  8 x3 � min

�x1 �
1 0 1�
2

�x � ��
2 � ��



0
1
2
5


�x � ��
�3 �
x j �0, j  1,3

có P.A.T.Ư của bài toán đối ngẫu
là yopt = (2, 3) và f(yopt) = 19. Hãy tìm
P.A.T.Ư của bàifDtoán
(y)  2y1trên.
 5y2 � max
Bài toán đối ngẫu
1 0�
4�



�y1 � � �
�0 1�
�3




��
y
2






1
2
8


��


ÁP DỤNG ĐỊNH LÝ
Các cặp ràng
buộc
đối ngẫu

ĐỐI
NGẪU
x1 ≥ 0 và y1
x2 ≥ 0 vaø

≤4

(1)

y2 ≤ 3

(2)

x3 ≥ 0 vaø y1 + 2y2 ≤ 8

(3)

Thay yopt = (2, 3) vào các ràng buộc
Từ (1): y1 = 2 < 4  x1 = 0 (định lý 2).
Thay x1 =0 0 vào hpt của bài toán gốc
� �
x3  2

1 0 1�
2

�x � ��
��
� x2  1; x3  2
2



��
� � ��
0 1 2�
�x2  2 x3  5

�x � 5
�3 �
Vậy, P.A.T.Ư của bài toán gốc là xopt=


ÁP DỤNG ĐỊNH LÝ
Ví dụ 2.7. Cho
bài toán
QHTT
ĐỐI
NGẪU
f ( x )  2 x  2 x  x  4 x � max
1

2

3

4

 x2

5 x1

3 x1
4 x1
x j �0

 x3
 x3

6 x4
2 x4

 50
� 16

3 x3

 x4

� 23

j  1, 4

Có P.A.T.Ư là xopt = (0,14, 6, 5) và f(xopt)
= 54. Hãy tìm P.A.T.Ư của bài toán
đối ngẫu.
�f D ( y )  50 y1  16 y 2  23 y 3 � min
Bài�
toán
đối
ngẫu
5y

3 y
4 y
� 2
� 1

� y1

� y1

6 y1



2

3

� 2
 y2

 3 y3

� 1

2 y2

 y3

� 4


y2 �0;

y3 �0


ÁP DỤNG ĐỊNH LÝ
Các cặp ràng
buộc
đối ngẫu
ĐỐI
NGẪU

x1 ≥ 0 và 5y1 – 3y2 + 4y3 ≥ 2
(1)
x2 ≥ 0 vaø y1
≥2
(2)
x3 ≥ 0 vaø y1 + y2 + 3y3 ≥ 1
(3)
x4 ≥ 0 vaø 6y1 + 2y2 + y3 ≥ 4
(4)
-3x1
+ x3 + 2x4 ≥ 16 vaø y2 ≤ 0
(5)
4x1
+ 3x3 + x4 ≤ 23 vaø y3 ≥ 0
(6)
Thay xopt = (0, 14, 6, 5) vào các ràng
buộc
Từ (2): x2 = 14 > 0  y1 = 2.

Từ (3): x3= 6 > 0  y1 + y2 + 3y3 = 1
Từ (4): x4= 5 > 0  6y1 + 2y2 + y3 = 4
Giải hệ phương trình trên, ta có y = 2;


ÁP DỤNG ĐỊNH LÝ
Ví dụ 2.8. Cho
bài toán
QHTT
ĐỐI
NGẪU

�f ( x)   x1  2 x2  x3 � Max
� x
3x2
 x4 � 5
1

� x
 x2
� 3
� 1
�3 x1
 x3  x4 � 2


�x j �0 j  1, 4
Xeùt các vectơ sau X = (3, 0, 11, 0), Y =
(2, 1, 8, 0), Z = (-4, 2, 0, 10) và T = (1, 2,
1, 2). Vectơ nào là P.A.T.Ư. của bài

toán?
Cách giải.
1. Kiểm tra các vectơ có phải là P.A
hay khoâng?


ÁP DỤNG ĐỊNH LÝ
ĐỐI
NGẪU
1. Kiểm tra trực
tiếp,
ta thấy X, Y, và T
là P.A của bài toán. Vì Z không thỏa
mãn các ràng buộc nên Z không là
P.A của bài toán.

f D ( y ) đối
5 y1  3ngẫu
y2  2 y3 � min
2. Bài toán
y1
 y2 3 y3 � 1
3 y1
 y1
y1 �0;

 y2

y2 �0;


y3
 y3
y3 �0

� 2
� 1
� 0


ÁP DỤNG ĐỊNH LÝ
x1 ≥ 0 và y1ĐỐI
+ y2 – NGẪU
3y3 ≥ -1
(1)

x2 ≥ 0 và 3y1 + y2
≥ 2
(2)
x3 ≥ 0 vaø
y3 ≥ 1
(3)
x4 ≥ 0 vaø – y1
+ y3 ≥ 0
(4)
x1 + 3x2
– x4 ≤ 5 vaø y1 ≥ 0 (5)
x1 + x2
≤ 3 vaø y2 ≥ 0 (6)
-3x1
+ x3

+ x4 ≤ 2 vaø y3 ≥ 0 (7)
3. Kiểm tra X, Y, T là P.A.T.Ư
 Giả sử X = (3, 0, 11, 0) là P.A.T.Ư
của bài toán.
Từ (1): x1 = 3 > 0  y1 + y2 – 3y3 = -1
Từ (3): x3=11 > 0 
y3 = 1


ÁP DỤNG ĐỊNH LÝ
ĐỐI NGẪU
dàng kiểm tra vectơ X*= (0,

Dễ
2, 1)
thỏa các ràng buộc của bài toán
đối ngẫu.
Hơn nữa, fD(X*)= f(X)= 8 nên X là
P.A.T.Ư. của bài toán gốc.
 Do Y = (2, 1, 8, 0) là P.A của bài
toán gốc và f(X) = f(Y)= 8 nên Y
cũng là P.A.T.Ư.
 Với T = (1, 2, 1, 2), ta có f(T)= 4  fmax
=8


ÁP DỤNG ĐỊNH LÝ
Ví dụ 2.9. GiảiĐỐI
bài toán
QHTT

NGẪU
f ( x)  10 x  8 x  19 x � min
1

2

3

2 1 1�
6

�x1 � ��




��
3 0 2 x2 � 2
� � ��




�x � ��
1
2
5
5



�3 � ��
x j �0 j  1,3
f D ( y )  6 y1  2 y2  5 y3 � max
Bài toán đối ngẫu

2 3 1�
10 �
�y1 � �

�y ���8 �

1 0 2�
�2 � � �




�y � �

1
2
5
19


�3 � � �
Ví dụ

y j �0


j  1,3


ÁP DỤNG ĐỊNH LÝ
ĐỐI
bài toán
vềNGẪU
dạng chính

Đưa
tắc
bằng cách thêm 3 ẩn phuï y4 ≥ 0, y5 ≥
0, y6 ≥ 0

f D ( y )  6 y1  2 y2  5 y3 � max

2 3 1�
10 �
�y1 � �y4 � �


�y � �y � �8 �
1 0 2�


�2 � �5 � � �


�y � �y � �


1
2
5
19


�3 � �6 � � �
y j �0

j  1,6

Ta thấy bài toán cũng có dạng
chuẩn.


ÁP DỤNG ĐỊNH LÝ ĐỐI NGẪU
HỆ ẨN
SỐ C.B

0
0
0

6
0
0

y4
y5
y6

f  x
y1
y5
y6
f  x

P.A

10
8
19
0
5
3
14
30

6
2
y1 y2
2 3
1 0
1 2
6 2
1 32
0 3 2
1
0
2
7

0

5 0
y3 y4
1 1
2 0
5 0
5 0
1

3
9

2
2
2

2

1

2
1
2
1
2

3

0

y5
0
1
0
0
0
1
0
0

0
y6
0
0
1
0
0
0
1
0


×