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

Phương pháp đơn hì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 (161.31 KB, 12 trang )

Bài 3. Phương pháp đơn hình đối ngẫu
Xét cặp bài toán qhtt đối ngẫu không đối
xứng:
Bài toán gốc (I) Bài toán đối ngẫu
(I’)
f(X) = c
1
x
1
+ c
2
x
2
+ +
c
n
x
n
→ min
a
11
x
1
+ a
12
x
2
+ +
a
1n
x


n
= b
1
a
21
x
21
+ a
22
x
2
+ +
a
2n
x
n
= b
2

a
m1
x
1
+ a
m2
x
2
+ +
a
mn

x
n
= b
m
x
j
≥ 0,  j
=
n1,
g(Y) = b
1
y
1
+ b
2
y
2

+ + b
m
y
m
→ max
a
11
y
1
+ a
21
y

2

+ + a
m1
y
m
≤ c
1
a
12
y
1
+ a
22
y
2

+ + a
m2
y
m
≤ c
2


a
1n
y
1
+ a

2n
y
2

+ + a
mn
y
m
≤ c
n
i i
i
j
f X cX c X
A X A X b i m
x j n
( ) , min
, ( 1, )
0, 1,
= =áñ®
= = =áñ
" =³
j j j
g Y Yb b Y max
YA Y A c j n
( ) ,
, ( 1, )
= =áñ®
= =áñ£
A

i
là dòng thứ i và A
j
là cột thứ j của ma
trận A
Giải bài toán gốc (bài toán chính tắc) bằng
phương pháp đơn hình và suy nghiệm cho bài
toán đối ngẫu. Khó khăn: Tìm p.án cực biên
X
0
, J
0
.
Nếu p.án cực biên của bt đối ngẫu dễ tìm thì
sử dụng p
2
đơn hình đối ngẫu.
I. Phương án cực biên của bài toán đối
ngẫu
1. Tiêu chuẩn phương án cực biên. Cho
Y
0
là một p.án của bài toán đn.
Ký hiệu J
=
(Y
0
) = {j : Y
0
A

j
= c
j
}. Điều kiện
cần và đủ để Y
0
là p.án cực biên của bài
toán đn là:
+ Số phần tử của tập chỉ số J
=
(Y
0
) không
nhỏ hơn m (số pt chính tắc)
+ ∃ J
0
⊆ J
=
(Y
0
) gồm m phần tử: {A
j
: j 
J
0
} là độc lập tuyến tính.
Ta gọi {A
j
: j  J
0

}, viết tắt là J
0
là một cơ
sở đối ngẫu của Y
0
.
Nhận xét.
+ Cơ sở đối ngẫu của Y
0
gồm m cột đltt
của A.
+ J
0
cũng sẽ là cơ sở gốc của p.án cực biên
X
0
nếu:
J J
X A b
0 0
1
( ) 0
-
= ³
.
Khi đó thì
J
X
0
chính là các thành phần

cơ sở của p.án X
0
của bt gốc.
2. Tiêu chuẩn tối ưu cho p.án cực biên
của bài toán đối ngẫu
2.1. Bổ đề. Cho Y
0
là p.án cực biên của
bài toán đối ngẫu với cơ sở J
0
. Z là ma
trận hệ số phân tích của ma trận A qua cơ
sở đối ngẫu J
0
.
0 0
0
, ( 1, )
k k k k k j jk k
J J
j J
C Z c C Z c c z c k n
Î
= - = - = - =áñ
å
D
là véc tơ các ước lượng của A qua J
0
. Khi
đó ta có:

(i) Nếu f → min & g → max thì Δ
k

0,  k =
n1,
.
(ii) Nếu f → max & g → min thì Δ
k

0,  k =
n1,
.
Chứng minh. Vì Y
0
là p.án cực biên của
bt đối ngẫu với cơ sở J
0
:
J J J J
k k k k k k k
J J J
Y A C
Y A C Y C A
Y A C Y A c C A A c C Z c
k = n
0 0 0 0
0 0 0
0
0 0 1
0 0 1

;
( ) ;
( ) 0
1,
-
-
ì
ï
£
ï
ï
ï
ï
= =Þ
ï
ï
í
ï
- =£ Û £ Û £ Û £
ï
ï
ï
ï
ï
"
ï
î
D
2.2. Tiêu chuẩn tối ưu.
Cho Y

0
là p.án cực biên của bt đối
ngẫu với cơ sở J
0
. Đặt
J J
X A b
0 0
1
( )
-
=
.
Nếu
J J
X A b
0 0
1
( )
-
=
≥ 0 thì Y
0
là p.án tối
ưu của bt đối ngẫu, đồng thời X
0

phương án cực biên tối ưu của bt chính
tắc gốc với cơ sở tối ưu J
0

và các thành
phần cơ sở là
J
X
0
.
II. Xác định phương án cực biên Y
1
, J
1
,
xuất phát từ Y
0
, J
0

1. Chọn r  J
0
.
2. Y() = Y
0
+ 
r
( ≥ 0 chọn sau).
3.
r
r
r r
r r
r

J J
j
A
A E E A
A j J j r
0 0
1
0
1
0, ,
-
ì
ï
= -w
ï
ï
= - = -Û w Û w
í
ï
= "w Î ¹
ï
ï
î
4. Y() là p.án khi và chỉ khi Y( )
0 0 0
0
0 1 1
0
0
0

( ) ( ) ( )
0, , ;
( ) 0; , ; 0
,
0,
r
r
J J J
r
J
k rk
k rk
Y A C Y A C C A E A A C
j J j r
C E Z C VT j r
z k J
z k J
- -
+ -q £ Û qw £ Û q £
ì
ï
Î ¹
ï
ï
ï
- - = - =Û q £ q £
í
ï
ï
ï

- qÏ
ï
î
-Û q £ Ï
D
D
(i)
rk
z k J
0
0,"³ Ï Þ
luôn đúng với
mọi  ≥ 0.
(ii)
0
0 min{ , 0}
k s
rk
rk rs
z =
z z
= <£ q£ q
D D
.
Y
1
= Y(
0
) là p.án cực biên với J
1

= J
0
\
{r} + {s}.
5. g(Y()) = g(Y
0
) - x
0
r
> g(Y
0
) nếu  > 0
và x
0
r
< 0.
6. Dấu hiệu bt không giải được:
x
0
r
< 0 và z
rk
≥ 0,  k J
0
Khi đó, Y() là p.án với mọi  ≥ 0;
g(Y()) → +  khi  → + . Bài toán đối
ngẫu có p.án, không giải được; bt gốc
không có p.án.
III. Bảng đơn hình đối ngẫu
1. Chuẩn bị.

+ Chính tắc bt gốc.
+ Viết bt đối ngẫu với bt chính tắc.
+ Chỉ ra Y
0
, J
0
.
+ Tính ma trận hệ số phân tích mở rộng:
J
A b Z X Z
0
( | ) ( | ) =Þ
(Khử theo J
0
).
2. Kiểm tra tối ưu? Hay bài toán không
giải được?
3. Lập bảng đơn hình.
4. Cải tiến phương án (chuyển bảng đơn
hình mới)
+ Cột ra khỏi cơ sở cũ là A
r
có x
r
< 0
(min).
+ Cột vào cơ sở mới là A
s
, xác định khi
tính 

0
.
+ Tớnh toỏn bng mi vi phn t xoay l
z
rs
.
IV. Mt s vớ d
Vớ d 1. Gii bng n hỡnh i ngu bi toỏn sau:
f(X) = x
3
+ x
4
+ x
5
min
- x
1
+ 2x
3
- x
4
+ x
5
= 1
x
2
- x
3
- x
4

+ x
5
= 1
x
j
0, j =
1,5
.
Gi i.
+ B i toán đối ngẫu:
G(Y) = y
1
+ y
2
Max
-y
1
0 (1)
y
2
0 (2)
2y
1
y
2
1 (3)
-y
1
y
2

1 (4)
y
1
+ y
2
1 (5)
+ Y
0
= (0, 0) là phơng án cực biên của bài toán đối
ngu? J
0
= {1, 2}.
+ Tìm giả phơng án X
0
và ma trận Z:
1 0 2 1 1 1

0 1 1 1 1 1
A


=



;

1 0 2 1 1 -1

0 1 1 1 1 1

Z


=



;
J
0
= {1, 2}.
+ Bảng đơn hình
A
J
C
J
X
J
0 0 1 1 1
A
1
A
2
A
3
A
4
A
5
A

1
0 [-1] 1 0 (-2) 1 -1
A
2
0 1 0 1 -1 -1 1

k
0 0 0
[-1]
-1 -1
A
3
1 1/2 -1/2 0 1 -1/2 1/2
A
2
0 3/2 -1/2 1 0 -3/2 3/2

k
1/2 -1/2 0 0 -3/2 -1/2
Thuật toán dừng sau 2 bớc lặp vì x
j
0 j. P.án cb tối u của bài toán gốc

X
*
= (0, 3/2, 1/2, 0, 0), J
*
= {3, 2}, f
min
= 1/2.

+ Suy nghiệm cho bài toán đối ngẫu :
y
1
= - (
1
+ c
1
) = 1/2; y
2
=
2
+ c
2
= 0. Y
*
= (1/2, 0); g
max
= 1/2.
Ví dụ 2. Giải bằng phơng pháp đơn hình đối ngu bài toán sau:
f(x) = 4x
1
+ 3x
2
+ 2x
3
+ 3x
4
min
x
1

+ x
3
- x
4
= 2
- x
1
+ 2x
2
+ x
4
11
2x
1
+ x
2
- 3x
4
8
x
j
0, j =
1,4
.
Gi i.
+ Chính t c
f(x) = 4x
1
+ 3x
2

+ 2x
3
+ 3x
4
min
x
1
+ x
3
- x
4
= 2
- x
1
+ 2x
2
+ x
4
+ x
5
= 11
2x
1
+ x
2
- 3x
4
-x
6
= 8

x
j
0, j =
1,6
.
+ Bài toán đối ngẫu:
g(Y) = 2y
1
+ 11y
2
+ 8y
3
max
y
1
- y
2
+ 2y
3
4 (1)
2y
2
+ y
3
3 (2)
y
1
2 (3)
-y
1

+y
2
- 3y
3
3 (4)
y
2
0 (5)
-y
3
0 (6)
+ Y
0
= (2, 0, 0) l p.ỏn cc biờn ca bi toỏn i ngu?
+ Kim tra:
(1): 2 < 4 (t/m lng)
(2): 0 < 3 (t/m lng)
(3): 2 = 2 (t/m cht)
(4): -2 < 3 (t/m lng)
(5): 0 = 0 (cht)
(6): 0 = 0 (cht).
+ Y
0
l p.ỏn ca bt i ngu.
+ Y
0
tha món cht m = 3 rng buc ((3), (5), (6)) cú D = -1.
+ Y
0
l cc biờn; J

0
= {3, 5, 6}.
+ Tìm X
0
và ma trận Z.
Z
=
1 0 1 1 0 0 | 2
1 2 0 1 1 0 | 11
2 1 0 3 0 1 | 8








; J
0
= {3, 5, 6}.
X
0
= (0, 0, 2, 0, 11, - 8) là giả p.án của bt gốc.
+ Bảng đơn hình
A
J
C
J
X

J
4 3 2 3 0 0
A
1
A
2
A
3
A
4
A
5
A
6
A
3
2 2 1 0 1 -1 0 0
A
5
0 11 -1 2 0 1 1 0
A
6
0 -8 (-2) -1 0 3 0 1

k
4 [-2] -3 0 -5 0 0
A
3
2 -2 0 (-1/2) 1 1/2 0 1/2
A

5
0 15 0 5/2 0 -1/2 1 -1/2
A
1
4 4 1 1/2 0 -3/2 0 -1/2

k
12 0 [-2] 0 -8 0 -1
A
2
3 4 0 1 -2 -1 0 -1
A
5
0 5 0 0 5 2 1 2
A
1
4 2 1 0 1 -1 0 0

k
20 0 0 -4 -10 0 -3
+ Thuật toán dừng sau 3 bớc lặp vì x
j
0 j. Phơng án tối u
của bài toán chính tắc là X
*
= (2, 4, 0, 0, 5, 0), J
*
= {2, 5, 1};
f
min

= 20.
+ P.án tối u bài toán gốc: X
*
= (2, 4, 0, 0); f
min
= 20.
+ Suy nghiệm cho bài toán đối ngẫu
Y
*
= (-2, 0, 3); g
max
= 20.
Ví dụ 3. Giải bằng phơng pháp đơn hình đối ngẫu bài toán
sau:
f(X) = 3x
1
+ 5x
2
- 7x
3
+ x
4
min
2x
2
- x
3
+ 3x
4
10

x
1
+ x
2
- 4x
3
- x
4
= 3
3x
2
+ 2x
3
+ 4x
4
7
x
j
0, j =
1,4
.
Giải. Chính tắc:
f(X) = 3x
1
+ 5x
2
- 7x
3
+ x
4

min
2x
2
- x
3
+ 3x
4
- x
5
= 10
x
1
+ x
2
- 4x
3
- x
4
= 3
3x
2
+ 2x
3
+ 4x
4
+x
6
= 7
x
j

0, j =
1,6
.
Viết bài toán đối ngẫu (Tự làm)
+ Y
0
= (0, 3, 0) là phơng án cực biên với J
0
= {1, 5, 6}.
+ Tính X
0
và ma trận Z
Z
=
0 2 1 3 1 0 10
1 1 4 1 0 0 3
0 3 2 4 0 1 7







; J
0
= {5, 1, 6}
X
0
= (3, 0, 0, 0, -10, 7) là giả p.án bt gốc.

+ Bảng đơn hình
A
J
C
J
X
J
3 5 -7 1 0 0
A
1
A
2
A
3
A
4
A
5
A
6
A
5
0 -10 0 (-2) 1 -3 1 0
A
1
3 3 1 1 -4 -1 0 0
A
6
0 7 0 3 2 4 0 1


k
9 0 [-2] -5 -4 0 0
A
2
5 5 0 1 -1/2 3/2 -1/2 0
A
1
3 -2 1 0 -7/2 -5/2 1/2 0
A
6
0 -8 0 0 7/2 (-1/2) 3/2 1

k
19 0 0 -6 [-1] -1 0
A
2
5 -19 0 1 10 0 4 3
A
1
3 38 1 0 -21 0 -7 -5
A
4
1 16 0 0 -7 1 -3 -2

k
35 0 0 -13 0 -4 -2
Thuật toán dừng sau 3 bớc lặp vì x
2
< 0 mà z
2k

0 k .
Chứng tỏ bài toán đối ngẫu có hàm mục tiêu không bị chặn
trên tập p.án và bài toán gốc không có ph ơng án.
Ví dụ 4. Giải bằng đơn hình đối ngẫu.
f(X) = x
1
- x
2
- x
3
max
4x
1
- 2x
2
+ 5x
3
+ x
4
8
x
1
+ 3x
2
+ x
3
+ 2x
4
21
4x

1
- x
2
+ 3x
3
+ x
4
= 10
x
j
0, j =
1,4
.
Giải.
+ Chính tắc bt gốc:
+ Viết bt đối ngẫu:
+ Y
0
= (0, 0, 1) là phơng án cực biên, J
0
= {2, 5, 6}.
+ Tính X
0

Z
:
Z
=
4 0 1 1 1 0 | 12
13 0 10 5 0 1 | 51

4 1 3 1 0 0 | 10







; J
0
= {5, 6, 2}.
X
0
= (0, -10, 0, 0, -12, 51).
+ Bảng đơn hình:
A
J
C
J
X
J
1 -1 -1 0 0 0
A
1
A
2
A
3
A
4

A
5
A
6
A
5
0 -12 (-4) 0 -1 -1 1 0
A
6
0 51 13 0 10 5 0 1
A
2
-1 -10 -4 1 -3 -1 0 0

k
10 [3] 0 4 1 0 0
A
1
1 3 1 0 1/4 1/4 -1/4 0
A
6
0 12 0 0 27/
4
7/4 13/
4
1
A
2
-1 2 0 1 -2 0 -1 0


k
1 0 0 13/
4
1/4 3/4 0
+ Thuật toán kết thúc sau 2 bớc lặp vì x
j
0 j.
+ P.án cực biên tối u của bt chính tắc:
X
*
= (3, 2, 0, 0, 0, 12); J
*
= {1, 6, 2}
+ Phơng án tối u của bài toán gốc là X
*
= (3, 2, 0, 0); f
max
= 1.
+ Suy nghiệm cho bài toán đối ngẫu:
y
1
= 3/4; y
2
= 0. g
min
= f
max
= 1 = 6 + 10y
3
suy ra y

3
= -1/2.
Ví dụ 4. Giải bằng phơng pháp đơn hình đối ngẫu bài toán
sau:
f(X) = -2x
1
+ 5x
2
+ 2x
3
+ 3x
5
min
2x
1
- x
2
+ 3x
3
- x
5
46
x
1
+ 2x
3
- x
4
+ x
5

= 15
- x
1
+ 2x
2
+ x
3
+ 3x
4
- 2x
5
= -19
x
j
0 j.
Giải. + Y
0
= (0, -3, -1); Y
1
= (-2, 3, 1) là các phơng án cực biên
của bài toán đối ngẫu.

×