Chương 2: Phương pháp đơn hình | Quy hoạch tuyến tính | Trường Đại học Khoa Học Huế

Chương 2: Phương pháp đơn hình | Quy hoạch tuyến tính | Trường Đại học Khoa Học Huế. Tài liệu gồm 13 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao. Mời bạn đọc đón xem!

ui h PGS-
25
2 : PHƯƠNG PHÁP ĐƠN HÌNH



xu


 
     

§1. CƠ SỞ CỦA PHƯƠNG PHÁP ĐƠN HÌNH


nh gi
i bài toán QHTT d
a trên hai t
nh ch t quan tr
ng

a b
i to
n QHTT:
a) N u bài toán qui hoch tuy n t
nh ch
nh t c c

n t 
c
ng
c

n cc biên t , ngh
a l
c
t nh t m

nh c
a min r
ng bu
c l
l
i gi
i c
a b
i to
n.
b) M
m cc ti

a h
m tuy n t
nh trên 
(mt tp hp l i) l
m
m cc ti
u tuy i.
T
nh ch t a) cho ph
p t

n t  c

n c
c biên
c
a b
i to
n (s n
y l
h
u h
n). T
nh ch t b) cho ph
p khi ki
m tra t  i v
i
m

n c

nh) ch
c n so s
nh n
v
i c

nh lân c

nh k )
l

.
V
th 

nh b  u t
m

n c
c biên n

(tu
) c
a b
i to
n   m
 
nh c
a min r
ng bu
c). Ti  
ki
m tra xem

n hi
n c

ph
i l

n t  ng c
ch so s
nh gi
tr h
m m
c tiêu t


v
i gi
tr h
m m
c tiêu t
i c

nh k v
i n
. N u

ng th
d
ng qu
tr
nh t
nh to
n. Tr
i l
  
p s
cho cách t
m m
t

n c
c biên m
i t 
i gi
tr h
m m
c tiêu nh

n
l
m
t

nh k v

nh 

. Qu
tr
nh n
y ti n h
nh cho t
i khi t


n t 
c ph
t hi
n b
i to

cho không c
l
i gi
i.



nh ti n h
nh kh
o s
t c

nh c
a mi n rng
bu

t

nh t i 
c s 
nh c
a b
i to
n n
i chung r t l
n
trên th
c t 
p n
y ch

i h
i ki
m tra m
t ph  i nh
c
c

nh. Ch
 
th
hi
n hi
u qu
th
c t c


nh.
§2. THUẬT TOÁN ĐƠN HÌNH



ui h PGS-
26
x
o

(
 


0
= (b
1
, b
2

m
.
 2:   

j
.




PA
CB
x
1
x
2

m
x
m+1

n
i
c
1
c
2

m
c
m+1

n
c
1
c
2
.
.
.
c
m
x
1
x
2
.
.
.
x
m
b
1
b
2
.
.
.
b
m

1,m+1

1n

2,m+1

2n


 

m,m+1
a
mn
f (x
0
)

m+1

n
 f(x
0
) = c
1
b
1
+ c
2
b
2

m
b
m
;
j

j
=
1
; 1
m
i ij j
i
c a c m j n
.
 ()
a) i
0
j

 STOP.
b) 
0
j


ij
0a

 STOP.
c)   
0
j

v  
0
j

    
ij
0a
thì
 
 
MIN)
a) 
v
x
sao cho
max{ 0}
vj
 
b) 
r
x
sao cho
min{ / 0}
i
r i iv
iv
b
a
a

 
ui h PGS-
27
c)  

rv
a
làm p 
.
Cách bi 
i b

nh 

i c
t bi 
: bi 
m
i l
x
v
thay cho bi 
c
l
x
r
d
ng r.

i c
t h
s : h
s c
v
thay cho h
s c
r
d
ng r.
Bi
i d
ng xoay:
D
ng m
i = d
ng c
/ ph
n t
xoay,
Ngh
a l
chia mi ph n t
d
ng xoay cho ph n t
xoay (a
rv
> 0). K t
qu
nh

c g
i l
d
ng ch
nh (s 1 xu t hi
n
v tr
c
a a
rv
c
).
Bi
i c
c d
ng kh
c theo qui t c h
nh ch
nht:
D
ng m
i = d
ng c

ng - ph
n t
c
a n
trên c
t xoay × d
ng ch
nh,
ngh
a l
C
t c
t xoay C
t xoay 
D
ng d
ng xoay : a b
 b
c
D
ng  : c 1

 
Chú ý

sau:
a) 
0
j

 STOP.
b) 
0
j


ij
0a

 STOP.
c)   
0
j

  
0
j

    
ij
0a
thì
 .

ui h PGS-
28
a) 
v
x
sao cho
min{ 0}
vj
 
b) 
r
x
sao cho
min{ / 0}
i
r i iv
iv
b
a
a

 ra.
c)           
rv
a
 
.
 


 
0
j

     
0
j

   

0
j


j
x
thì bài toán


PATU
0
x

0
( ) ( )f x f x


V
d
1. Gi
i b
i to
n qui ho
ch tuy n t
nh (N) 
f = x
1
x
2
2x
4
+ 2x
5
3x
6

v
i c
 u ki
n
x
1
+ x
4
+ x
5
- x
6
= 2,
x
2
+ x
4
+ x
6
= 12,
x
3
+ 2x
4
+ 4x
5
+ 3x
6
= 9,
x
j

Cho x
4
= x
5
= x
6


n c
 u x
0
= (2; 12; 9; 0; 0; 0) v
i
tr m
c tu f
0
= -
c
a x
0
l
{A
1
, A
2
, A
3

0
= {1, 2, 3}. C
c bi  s
l
x
1
, x
2
, x
3
. C
c bi 
l
x
4
, x
5
, x
6
. C
c  
c
1
= 1, c
2
= 1, c
3
= 0.
B

 u tiên 
H
s

Bi
n

PACB
x
1
x
2
x
3
x
4
x
5
x
6
i
1
-1
0
-2
2
-3
1
x
1
2
1
0
0
1
1
1
2
1
x
2
12
0
1
0
1
0
1
12
0
x
3
9
0
0
1
2
4
3
9/2
B
ng 1
-10
0
0
0
2
1
1
ui h PGS-
29
Trong d
ng m
c tiêu (d
ng cu i) c
n
4
= 2 > 0,
6
= 1> 0 

n x
0
b
ng n
 
Bi n 

o x
4
(
ng v
i
4
= 2 l
n nh t).
Bi n lo
i kh

l
x
1
(
ng v
i
1
= min{2, 12, 9/2} = 2 nh
nh t).
Ph n t
xoay l
a
14

c tô b
ng m
).
Bi 
i b
ng 1 theo c
c qui t c 
nêu ta nh

c b

H
s



PACB
x
1
x
2
x
3
x
4
x
5
x
6
i
1
1
0
2
2
3
2
x
4
2
1
0
0
1
1
1
1
x
2
10
1
1
0
0
1
2
5
0
x
3
5
2
0
1
0
2
5
1
B
ng 2
14
2
0
0
0
3
3
Trong d
ng cu i c
a b
ng n
y c
n ph n t
6
= 3 > 0 ó

n
b
ng n
y  

Bi n 

o x
6
(
ng v
i
6
= 3 l
n nh t).
Bi n lo
i kh

l
x
3
(
ng v
i t
s nh
nh t
3
= min{5, 1} = 1).
Ph n t
xoay l
a
36
= 5.
Bi 
i b
ng 2 ta nh

c b
ng 3 
ui h PGS-
30




PACB
x
1
x
2
x
3
x
4
x
5
x
6
i
1
1
0
2
2
3
2
x
4
3
3/5
0
1/5
1
7/5
0
1
x
2
8
1/5
1
2/5
0
9/5
0
3
x
6
1
2/5
0
1/5
0
2/5
1
B
ng 3
17
4/5
0
3/5
0
21/5
0
Trong b
ng n
y m
i
k

n x* = (0; 8; 0; 3; 0; 1) l
PATU
v
i f
min
= f(x*) = 17.
V
d
2. V
d
sau cho th y b
i to
n không c

n t 
f = x
2
3x
3
+ 2x
5

x
1
+ x
2
x
3
+ x
5
= 7,
4x
2
+ 4x
3
+ x
4
= 12,
5x
2
+ 3x
3
+ x
5
+ x
6
= 10,
x
j

Ta gi
i b
i to
n trên b 

nh, xu t ph
t t

n c
c
biên x
0
= (7, 0, 0, 12, 0, 10) v

l
c
c v

 A
1
, A
4
, A
6
, t
c l
J
0
= {1, 4, 6}. L
p b

nh 

Bi
n

H
s
C
B
g
n
x
1
x
2
x
3
x
4
x
5
x
6
i
0
1
-3
0
2
0
x
1
0
7
1
1
-1
0
1
0
x
4
0
12
0
-4
4
1
0
0
3
x
6
0
10
0
-5
3
0
1
1
10/3
B
ng 1
0
0
-1
3
0
-2
0
x
1
0
10
1
0
0
1/4
1
0
x
3
-3
3
0
-1
1
1/4
0
0
x
6
0
1
0
-2
0
-3/4
1
1
B
ng 2
-9
0
2
0
-3/4
-2
0
ui h PGS-
31
Trong b
ng 2 c
2

i ph n t
a
i2
(i = 1, 2, 3) nên b
i to
n
trên không c
PATU (v
h
m m
c tiêu c
a b
i to
n gi
m h
n trong mi n r
ng
bu
c c
a n
). 
Chú ý: B
i to
n tìm g 
c thay b ng b
i to
n t
m f = g min.
V
d
3. Gi
i b
i to
n qui ho
ch tuy n t
nh sau.
f = 3x
1
x
2
2x
3

x
1
+ 3x
2
+ x
3
+ x
4
= 7,
3x
1
4x
2
+ 8x
3
+ x
5
= 10,
4x
1
2x
2
+ x
6
= 12,
x
j

Ta thay f b ng g = f = 3x
1
+ x
2
+ 2x
3
min v
i c
ng c
 u ki

trên.
Xu t ph
t t

n c
c biên x
0
= (0, 0, 0, 7, 10, 12), ta gi
i b
i to
n b ng


nh (c
c B
ng 1 - 3). L
i gi

c l
x* = (5, 4, 0, 0, 11,
0) v
i g
min
= 11. T

f
max
= 11.
Bi
n

H
s
C
B

n
x
1
x
2
x
3
x
4
x
5
x
6
i
-3
1
2
0
0
0
x
4
0
7
-1
3
1
1
0
0
x
5
0
10
3
-4
8
0
1
0
10/3
x
6
0
12
4
-2
0
0
0
1
3
B
ng 1
0
3
-1
-2
0
0
0
x
4
0
10
0
5/2
1
1
0
1/4
4
x
5
0
1
0
-5/2
8
0
1
-3/4
x
1
-3
3
1
-1/2
0
0
0
1/4
B
ng 2
-9
0
1/2
-2
0
0
-3/4
x
2
1
4
0
1
2/5
2/5
0
1/10
x
5
0
11
0
0
9
1
1
-1/2
x
1
-3
5
1
0
1/5
1/5
0
3/10
B
ng 3
-11
0
0
-11/5
-1/5
0
-4/5
ui h PGS-
32
V
d
4. f(x) = 3x
1
3x
2
+ x
3
x
4
min,
x
1
+ x
2
+ 2x
3
+ x
4
= 2,
x
1
+ x
2
x
3
x
4
= 6,
3x
1
+ 2x
2
6x
3
+ 3x
4
= 9,
x
1

2

3

4


o ba bi
n gi
x
5
, x
6
, x
7
 
i to
n (N)
F = 3x
1
3x
2
+ x
3
x
4
+ M (x
5
+ x
6
+ x
7

x
1
+ x
2
+ 2x
3
+ x
4
+ x
5
= 2,
x
1
+ x
2
x
3
x
4
+ x
6
= 6,
3x
1
+ 2x
2
6x
3
+ 3x
4
+ x
7
= 9,
x
j

Ta gi
i b
i to
n (N) b


nh, xu
t ph
t t

n c
c biên
x
0
= (0, 0, 0, 0, 2, 6, 9).
Qu
tr
nh gi
i b
i to
n (N
c ghi t
m t
t trong c
c b
ng sau (B
ng 1 - 4).
Bi
n

C
B

n
x
1
x
2
x
3
x
4
x
5
x
6
x
7
3
-3
1
-1
M
M
M
x
5
M
2
-1
1
2
1
1
0
0
2
x
6
M
6
1
1
-1
-1
0
1
0
6
x
7
M
9
3
2
-6
3
0
0
1
4.5
B
ng 1
17M
3M-
3
4M
+3
< 0
3M+
1
0
0
0
x
2
-3
2
-1
1
2
1
0
0
x
6
M
4
2
0
-3
-2
1
0
2
x
7
M
5
5
0
-10
1
0
1
1
B
ng 2
9M-6
7M
0
< 0
< 0
0
0
x
2
-3
3
0
1
0
6/5
0
x
6
M
2
0
0
1
-12/5
1
2
x
1
3
1
1
0
-2
1/5
0
B
ng 3
2M-6
0
0
M-7
< 0
0
x
2
-3
3
0
1
0
6/5
x
3
1
2
0
0
1
-12/5
x
1
3
5
1
0
0
-23/5
B
ng 4
8
0
0
0
-94/5
ui h PGS-
33
B
ng 4 ta th
y
k
0 v
i m
ng
n cho
b
ng n
y x =
(5, 3, 2, 0, 0, 0, 0) l

n t

a b
i to
n (M). V
y x* = (5, 3, 2, 0) l

n t

a b
i to

u v
i f
min
= 8.
§4. GIA
I BÀI TOÁN QHTT DANG TỎNG QUÁT (G)
V
d
1. Gi
i b
i to
n sau b


nh.
f = 5x
1
+ 8x
2

x
1
+ 2x
2

x
1
+ x
2

x
1

2


c h
t ta chuy
n b
i to
n trên v
b
i to
n t
m min v
c
d
ng (N) b
ng c
c
v
o c
c bi
n ph
x
3
, x
4
Ta  bi to
n
g = 5x
1
8x
2

x
1
+ 2x
2
+ x
3
= 1,
x
1
+ x
2
+ x
4
= 2,
x
j

Ta gi
i b
i to
n n
y b


nh, xu
t ph
t t

n c
c biên
x
0

c
a x
0
l
{A
3
, A
4
}. Qu
tr
nh gi

ng 1 - 3).
Bi
n

C
B

n
x
1
x
2
x
3
x
4
i
-5
-8
0
0
x
3
0
1
1
2
1
0
½
x
4
0
2
1
1
0
1
2
B
ng 1
0
5
8
0
0
x
2
-8
1/2
1/2
1
1/2
0
1
x
4
0
3/2
1/2
0
-1/2
1
3
B
ng 2
-4
1
0
-4
0
x
1
-5
1
1
2
1
0
x
4
0
1
0
-1
-1
1
B
ng 3
-5
0
-2
-5
0
Ơ B
ng 3 m
i
k
*
N
= (1, 0, 0, 1) l

n t

a b
i to
n ch
nh t
c
v
i g
min
= 5. T

suy ra l
i gi
i b
i to

u l
x* = (1, 0) v
i f
max
= g
min
= 5.
V
d
2. Gi
i b
i to
n sau f = 3x
1
+ x
2
2x
3
min,
2x
1
+ 4x
2
x
3

3x
1
+ x
2
+ x
3

x
1
x
2
+ x
3
= 2,
x
j

ui h PGS-
34

c h
t ta thêm v
o hai bi
n  x
4
, x
5


i to
n v
d
ng ch
nh t
c (C).
Ti


o hai bi
n gi
x
6
, x
7

b
i to
n (N) sau.
f
M
= - 3x
1
+ x
2
- 2x
3
+ M(x
6
+ x
7

2x
1
+ 4x
2
- x
3
+ x
4
= 10,
3x
1
+ x
2
+ x
3
- x
5
+ x
6
= 4,
x
1
- x
2
+ x
3
+ x
7
= 2,
x
j

Ta gi
i b
i to
n (N) b


nh v
i M > 0 (l
n). Qu
tr
nh gi
i
ghi
c
c b
ng sau (b
qua hai c
t bi
n gi
).
Bi
n

C
B

n
x
1
x
2
x
3
x
4
x
5
i
-3
1
-2
0
0
x
4
0
10
2
4
-1
1
0
5
x
6
M
4
3
1
1
0
-1
4/3
x
7
M
2
1
-1
1
0
0
2
B
ng 1
60
4M+
3
1
2M
+2
0
M
x
4
0
22/3
0
10/3
-5/3
1
2/3
x
1
-3
4/3
1
1/3
1/3
0
-1/3
4
x
7
M
2/3
0
-4/3
2/3
0
1/3
1
B
ng 2
2M/3- 4
0
< 0
2M/3
+1
0
M/3+
1
x
4
0
9
0
0
0
1
3/2
6
x
1
-3
1
1
1
0
0
-1/2
x
3
-2
1
0
-2
1
0
1/2
2
B
ng 3
-5
0
0
0
0
1/2
x
4
0
6
0
6
-3
1
0
1
x
1
-3
2
1
-1
1
0
0
x
5
0
2
0
-4
2
0
1
B
ng 4
-6
0
2
-1
0
0
x
2
1
1
0
1
-1/2
1/6
0
x
1
-3
3
1
0
1/2
1/6
0
x
5
0
6
0
0
0
2/3
1
B
ng 5
-8
0
0
0
-1/3
0
Ơ B
ng 5 m
i
k

*
N
= (3, 1, 0, 0, 6, 0, 0) l

n t

a b
i to
n
(N). T

suy ra l
i gi
i b
i to

u l
x* = (3, 1, 0) v
i f
min
= 8.
ui h PGS-
35
BA I TÂP
1. D


nh gi
i c
c b
i to
n 
a) f = 50x
1
60x
2
min,
x
1
+ 2x
2
8,
x
1
+ x
2
5,
9x
1
+ 4x
2
36,
x
1
0, x
2
0.
b) f = 2x
1
+ 5x
2
+ 4x
3
+ x
4
5x
5
min,
x
1
+ 2x
2
+ 4x
3
3x
5
= 152,
4x
2
+ 2x
3
+ x
4
+ 3x
5
= 60,
3x
2
+ x
5
36,
x
j
0 (j = 1,2,...,5).
c) f = 6x
1
+ x
2
+ x
3
+ 3x
4
+ x
5
7x
6
+ 6x
7
min,
x
1
+ x
2
x
4
+ x
6
+ x
7
= 15,
2x
1
x
3
+ 2x
6
+ x
7
= 9,
4x
1
+ 2x
4
+ x
5
3x
6
= 2,
x
j
0 (j = 1,...,7).
d) f = x
1
x
2
min,
x
1
x
2
1,
3x
1
+ 2x
2
6,
3x
1
x
2
9,
x
1
0, x
2
0.
e) f = 2x
1
+ x
2
+ x
3

x
1
+ x
2
+ x
3
+ x
4
+ x
5
= 5,
x
1
+ x
2
+ 2x
3
+ 2x
4
+ 2x
5
= 8,
x
1
+ x
2
= 2,
x
3
+ x
4
+ x
5
= 3,
x
j
0 (j = 1,...,4).
ui h PGS-
36
f)) f = x
1
2x
2
3x
3
+ x
4
min,
x
1
+ 2x
2
+ 3x
3
= 15,
2x
1
+ x
2
+ 5x
3
= 20,
x
1
+ 2x
2
+ x
3
+ x
4
= 10,
x
j
0 (j = 1,...,4).
g) f = x
1
+ 2x
2
x
3
max,
x
1
+ 4x
2
2x
3
6,
x
1
+ x
2
+ 2x
3
6,
2x
1
x
2
+ 2x
3
= 4,
x
1
0, x
2
0, x
3
0. .
h) f = x
1
x
2
+ 1 max,
x
1
x
2
1,
3x
1
+ 2x
2
6,
3x
1
x
2
9,
x
1
0, x
2
0.
2. 1.
| 1/12

Preview text:

Bài giảng Qui hoạch tuyến tính PGS-TS Lê Anh Vũ
Chương 2 : PHƯƠNG PHÁP ĐƠN HÌNH
Phương pháp đơn hình do G.B. Dantzig đề xuất năm 1947 cho đến hiện nay vẫn là
phương pháp được sử dụng nhiều nhất trong việc giải các bài toán qui hoạch tuyến tính.
Đối với các bài toán cỡ lớn (có thể đến hàng nghìn biến và hàng trăm ràng buộc)
phải dùng đến máy tính, phương pháp đơn hình cũng đã được kiểm nghiệm qua mấy
chục năm áp dụng là rất hiệu quả, với thời gian tính toán khá ngắn.
§1. CƠ SỞ CỦA PHƯƠNG PHÁP ĐƠN HÌNH
Phương pháp đơn hình giải bài toán QHTT dựa trên hai tính chất quan tro ̣ng
sau đây của bài toán QHTT:
a) Nế u bài toán qui hoạch tuyế n tính chính tắc có phương án tối ưu thì cũng
có phương án cực biên tối ưu, nghĩa là có ít nhất mô ̣t đỉnh của miền ràng buô ̣c là
lời giải của bài toán.
b) Mỗi điểm cực tiểu đi ̣a phương của hàm tuyến tính trên miền ràng buộc D
(một tập hợp lồ i) là một điểm cực tiểu tuyê ̣t đối.
Tính chất a) cho phép tìm phương án tối ưu trong số các phương án cực biên
của bài toán (số này là hữu ha ̣n). Tính chất b) cho phép khi kiểm tra tối ưu đối với
mô ̣t phương án cực biên (đỉnh) chỉ cần so sánh nó với các đỉnh lân câ ̣n (đỉnh kề) là đủ.
Vì thế, phương pháp đơn hình bắ t đầu từ mô ̣t phương án cực biên nào đó (tuỳ
ý) của bài toán (tức là mô ̣t đỉnh của miền ràng buô ̣c). Tiếp đó kiểm tra xem
phương án hiê ̣n có đã phải là phương án tối ưu hay chưa, bằng cách so sánh giá
tri ̣ hàm mu ̣c tiêu ta ̣i đỉnh đó với giá tri ̣ hàm mu ̣c tiêu ta ̣i các đỉnh kề với nó. Nếu
đúng thì dừng quá trình tính toán. Trái la ̣i, phương pháp sẽ cho cách tìm mô ̣t
phương án cực biên mới tốt hơn (với giá tri ̣ hàm mu ̣c tiêu nhỏ hơn) mà nó là mô ̣t
đỉnh kề với đỉnh trước đó. Quá trình này tiến hành cho tới khi tìm được phương
án tối ưu hoă ̣c phát hiê ̣n bài toán đã cho không có lời giải.
Như vâ ̣y, phương pháp đơn hình tiến hành khảo sát các đỉnh của miền ràng
buô ̣c để tìm ra đỉnh tối ưu. Mă ̣c dù số đỉnh của bài toán nói chung rất lớn, nhưng
trên thực tế phương pháp này chỉ đòi hỏi kiểm tra mô ̣t phần tương đối nhỏ các
đỉnh. Chính điều đó thể hiê ̣n hiê ̣u quả thực tế của phương pháp đơn hình.
§2. THUẬT TOÁN ĐƠN HÌNH
Để giải bìa toán QHTT (G) bằng phương pháp đơn hình ta thực hiện các bước dưới đây.
Bước chuẩn bị: Đưa (G) về dạng chính tắc chuẩn (N) nếu cần. 25
Bài giảng Qui hoạch tuyến tính PGS-TS Lê Anh Vũ
Bước 1: Xác định PACB xo xuất phát, chỉ ra các biến và các hệ số cơ sở.
(
Nếu bài toán dạng (N) thì một PACB được tìm dễ dàng từ ma trận con sơ
cấp của A – trong bảng đơn hình ở bước 2, ma trận con sơ cấp được giả
định là ma trận đơn vị cấp m tạo thành từ m dòng và m cột đầu tiên, khi đó
PACB xuất phát chính là x0 = (b1, b2, …, bm, 0, …, 0)).
Bước 2: Lập bảng đơn hình, tính giá trị của hàm mục tiêu và các số ước lượng j. Hệ số Biến PA
x1 x2 …… xm xm+1 …… xn  i cơ sở cơ sở CB
c1 c2 …… cm cm+1 …… cn c1 x1 b1
1 0 …… 0 a1,m+1 …… a1n c2 x2 b2
0 1 …… 0 a2,m+1 …… a2n . . . . . …… . . …… . . . . . . …… . . …… . . . . . . …… . . …… . cm xm bm
0 0 …… 1 am,m+1 …… amn Bảng 1 f (x0)
0 0 …… 0 m+1 …… n
Ở đây f(x0) = c1b1 + c2b2 + … + cmbm; m       j = 0 (j=1,…, m); j = c a c ; m 1 j n . i ij j i 1 
Bước 3: Kiểm tra điều kiện tối ưu (Đối với bài toán MIN)
a) Nếu mọi   0 phương án đang xét tối ưu  STOP. j
b) Nếu tồn tại   0 mà mọi a  0 thì hàm mục tiêu không bị chặn, do j ij
đó bài toán đã cho vô nghiệm  STOP.
c) Nếu tồn tại   0 và với mỗi   0 đều có ít nhất một a  0 thì j j ij
phương án đang xét chưa tối ưu  Làm tiếp bước 4.
Bước 4: Cải tiến PACB đang xét để được PACB tốt hơn (Đối với bài toán MIN)
a) Chọn biến cơ bản mới x sao cho   max{  0} để đưa vào. v v j b
b) Chọn biến cơ bản cũ x sao cho   min{ i  
/ a  0} để đưa ra. r r i iv aiv 26
Bài giảng Qui hoạch tuyến tính PGS-TS Lê Anh Vũ
c) Tiếp theo chọn dòng thứ r làm dòng xoay, cột thứ v làm cột xoay, phần
tử a làm phần tử xoay rồi biến đổi sơ cấp để được bảng đơn hình mới rv với PACB mới tốt hơn.
Cách biến đổi bảng đơn hình để nhận được bảng mới và PACB mới tốt hơn
Đổi cô ̣t biến cơ sở: biến cơ sở mới là xv thay cho biến cơ sở cũ là xr ở dòng r.
Đổi cô ̣t hê ̣ số cơ sở: hê ̣ số cv thay cho hê ̣ số cr ở dòng r. Biến đổi dòng xoay:
Dòng mới = dòng cũ / phần tử xoay,
Nghĩa là chia mỗi phần tử ở dòng xoay cho phần tử xoay (arv > 0). Kết
quả nhâ ̣n được go ̣i là dòng chính (số 1 xuất hiê ̣n ở vi ̣ trí của arv cũ).
Biến đổi các dòng khác theo qui tắ c hình chữ nhật:
Dòng mới = dòng cũ tương ứng - phần tử của nó trên cô ̣t xoay × dòng chính, nghĩa là
Cô ̣t ≠ cô ̣t xoay Cô ̣t xoay (cột v)
Dòng ≠ dòng xoay : a b a’ = a – b c
Dòng chính (dòng r mới) : c 1
Sau đó lặp lại các bước 2, 3, 4 cho đến khi được P.A.C.B tối ưu thì dừng
và kết luận về đáp số của bài toán đã cho Chú ý
 Ở bước 3 khi kiểm tra điều kiện tối ưu đối với bài toán MAX, ta làm như sau:
a) Nếu mọi   0 phương án đang xét tối ưu  STOP. j
b) Nếu tồn tại   0 mà mọi a  0 thì hàm mục tiêu không bị chặn, do j ij
đó bài toán đã cho vô nghiệm  STOP.
c) Nếu tồn tại   0 mà với mỗi   0 đều có ít nhất một a  0 thì j j ij
phương án đang xét chưa tối ưu  Làm tiếp bước 4.
 Còn ở bước 4 khi cải tiến PACB đối với bài toán MAX, ta làm như sau: 27
Bài giảng Qui hoạch tuyến tính PGS-TS Lê Anh Vũ
a) Chọn biến cơ bản mới x sao cho   min{  0} để đưa vào. v v j b
b) Chọn biến cơ bản cũ x sao cho   min{ i  
/ a  0} để đưa ra. r r i iv aiv
c) Tiếp theo chọn dòng thứ r làm dòng xoay, phần tử a làm phần tử rv
xoay rồi biến đổi sơ cấp để được bảng đơn hình mới.
 Cũng có thể quy bài toán MAX về bài toán MIN hoặc ngược lại bằng cách
đối dấu hàm mục tiêu.
Dấu hiệu bài toán vô số nghiệm: Khi kiểm tra điều kiện tối ưu ở bước 3,
nếu mọi   0 (đối với bài toán MIN) hoặc   0 (đối với bài toán j j
MAX) đồng thời tồn tại một   0 ứng với biến phi cơ sở x thì bài toán j j có vô số nghiệm.
Cách tìm hết tất cả các PATU của bài toán QHTT: Giả sử đã tìm ra một PATU 0
x . Khi đó giải hệ gồm phương trình 0
f (x)  f (x ) và các ràng buộc
ta sẽ được tất cả các PATU của bài toán đã cho.
Ví du ̣ 1. Giải bài toán qui hoa ̣ch tuyến tính (N) sau đây
f = x1 – x2 – 2x4 + 2x5 – 3x6 → min,
với các điều kiê ̣n x1 + x4 + x5 - x6 = 2, x2 + x4 + x6 = 12, x3 + 2x4 + 4x5 + 3x6 = 9, xj ≥ 0, j = 1, 2, ... , 6.
Cho x4 = x5 = x6 = 0 ta được phương án cực biên ban đầu x0 = (2; 12; 9; 0; 0; 0) với
tri ̣ mu ̣c tiêu f0 = -10. Cơ sở của x0 là {A1, A2, A3}, tức là J0 = {1, 2, 3}. Các biến cơ sở
là x1, x2, x3. Các biến phi cơ sở là x4, x5, x6. Các hệ số cơ sở c1= 1, c2 = – 1, c3 = 0.
Bảng đơn hình đầu tiên như sau: Hê ̣ số Biến x1 x2 x3 x4 x5 x6  cơ sở PACB cơ sở i 1 -1 0 -2 2 -3 1 x1 2 1 0 0 1 1 –1 2 –1 x2 12 0 1 0 1 0 1 12 0 x3 9 0 0 1 2 4 3 9/2 Bảng 1 -10 0 0 0 2 –1 1 28
Bài giảng Qui hoạch tuyến tính PGS-TS Lê Anh Vũ
Trong dòng mu ̣c tiêu (dòng cuối) còn  = 2 > 0,  = 1> 0 và trên mỗi cột 4 6
chứa mỗi số ước lượn dương đó đều có những hệ số dương nên phương án x0 ở
bảng này chưa tối ưu. Ta cần biến đổi bảng để dược PACB mới tốt hơn.
 Biến cơ sở mới cần đưa vào là x4 (ứng với  = 2 lớn nhất). 4
 Biến loa ̣i khỏi cơ sở là x  1 (ứng với
= min{2, 12, 9/2} = 2 nhỏ nhất). 1
 Phần tử xoay là a14 = 1 (trong ô được tô bóng mờ).
Biến đổi bảng 1 theo các qui tắ c đã nêu ta nhâ ̣n được bảng 2 dưới đây. Hê ̣ số Biến x1 x2 x3 x4 x5 x6  cơ sơ PACB ̉ cơ sở i 1 –1 0 –2 2 –3 –2 x4 2 1 0 0 1 1 –1 –1 x2 10 –1 1 0 0 –1 2 5 0 x3 5 –2 0 1 0 2 5 1 Bảng 2 –14 –2 0 0 0 –3 3
Trong dòng cuối của bảng này còn phần tử 6 = 3 > 0 và trên cột chứa nó có
hai hệ số dương nên phương án ở bảng này vẫn chưa tối ưu. Ta cần biến đổi bảng
để dược PACB mới tốt hơn.
 Biến cơ sở mới cần đưa vào x  6 (ứng với = 3 lớn nhất). 6
 Biến loa ̣i khỏi cơ sở là x 
3 (ứng với tỉ số nhỏ nhấ t = min{5, 1} = 1). 3
 Phần tử xoay là a36 = 5.
Biến đổi bảng 2 ta nhâ ̣n được bảng 3 dưới đây. 29
Bài giảng Qui hoạch tuyến tính PGS-TS Lê Anh Vũ Hệ số Biến x1 x2 x3 x4 x5 x6  cơ sơ PACB ̉ cơ sở i 1 –1 0 –2 2 –3 –2 x4 3 3/5 0 1/5 1 7/5 0 –1 x2 8 –1/5 1 –2/5 0 –9/5 0 –3 x6 1 –2/5 0 1/5 0 2/5 1 Bảng 3 –17 –4/5 0 –3/5 0 –21/5 0
Trong bảng này mo ̣i  ≤ 0, nên phương án x* = (0; 8; 0; 3; 0; 1) là PATU k
với fmin = f(x*) = – 17.
Ví du ̣ 2. Ví du ̣ sau cho thấy bài toán không có phương án tối ưu
f = x2 – 3x3 + 2x5 → min, x1 + x2 – x3 + x5 = 7, – 4x2 + 4x3 + x4 = 12, –5x2 + 3x3 + x5 + x6 = 10, xj ≥ 0, j = 1, 2, ... , 6.
Ta giải bài toán trên bằ ng phương pháp đơn hình, xuất phát từ phương án cực
biên x0 = (7, 0, 0, 12, 0, 10) với cơ sở là các véctơ cô ̣t đơn vi ̣ A1, A4, A6, tức là J0
= {1, 4, 6}. Lâ ̣p bảng đơn hình rồi thự hiện các tính toán biến đổi theo thuật toán đơn hình ta được: Biến Hê ̣ số Phương x1 x2 x3 x4 x5 x6  cơ sở C i B án 0 1 -3 0 2 0 x1 0 7 1 1 -1 0 1 0 x4 0 12 0 -4 4 1 0 0 3 x6 0 10 0 -5 3 0 1 1 10/3 Bảng 1 0 0 -1 3 0 -2 0 x1 0 10 1 0 0 1/4 1 0 x3 -3 3 0 -1 1 1/4 0 0 x6 0 1 0 -2 0 -3/4 1 1 Bảng 2 -9 0 2 0 -3/4 -2 0 30
Bài giảng Qui hoạch tuyến tính PGS-TS Lê Anh Vũ
Trong bảng 2 có  = 2 > 0 nhưng mo ̣i phần tử a 2
i2 ≤ 0 (i = 1, 2, 3) nên bài toán
trên không có PATU (vì hàm mu ̣c tiêu của bài toán giảm vô ha ̣n trong miền ràng
buô ̣c của nó). Nói cách khác, bài toán QHTT đã cho không có lời giải.
Chú ý: Bài toán tìm g → max được thay bằ ng bài toán tìm f = – g → min.
Ví du ̣ 3. Giải bài toán qui hoa ̣ch tuyến tính sau. f = 3x1 – x2 – 2x3 → max, –x1 + 3x2 + x3 + x4 = 7, 3x1 – 4x2 + 8x3 + x5 = 10, 4x1 – 2x2 + x6 = 12, xj ≥ 0, j = 1, 2, ... , 6.
Ta thay f bằ ng g = – f = – 3x1 + x2 + 2x3 → min với cùng các điều kiê ̣n như trên.
Xuấ t phát từ phương án cực biên x0 = (0, 0, 0, 7, 10, 12), ta giải bài toán bằ ng
phương pháp đơn hình (các Bảng 1 - 3). Lời giải thu được là x* = (5, 4, 0, 0, 11,
0) với gmin = –11. Từ đó fmax = 11. Biến Hê ̣ số Phương x1 x2 x3 x4 x5 x6  cơ sở i CB án -3 1 2 0 0 0 x4 0 7 -1 3 1 1 0 0 x5 0 10 3 -4 8 0 1 0 10/3 x6 0 12 4 -2 0 0 0 1 3 Bảng 1 0 3 -1 -2 0 0 0 x4 0 10 0 5/2 1 1 0 1/4 4 x5 0 1 0 -5/2 8 0 1 -3/4 x1 -3 3 1 -1/2 0 0 0 1/4 Bảng 2 -9 0 1/2 -2 0 0 -3/4 x2 1 4 0 1 2/5 2/5 0 1/10 x5 0 11 0 0 9 1 1 -1/2 x1 -3 5 1 0 1/5 1/5 0 3/10 Bảng 3 -11 0 0 -11/5 -1/5 0 -4/5 31
Bài giảng Qui hoạch tuyến tính PGS-TS Lê Anh Vũ
Ví du ̣ 4. Giả bài toán (C) : f(x) = 3x1 – 3x2 + x3 – x4 → min, –x1 + x2 + 2x3 + x4 = 2, x1 + x2 – x3 – x4 = 6, 3x1 + 2x2 – 6x3 + 3x4 = 9,
x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0.
Đưa vào ba biến giả x5, x6, x7 ≥ 0 với hệ số giả M > 0 (đủ lớn) ta được bài toán (N)
F = 3x1 – 3x2 + x3 – x4 + M (x5 + x6 + x7) → min,
–x1 + x2 + 2x3 + x4 + x5 = 2, x1 + x2 – x3 – x4 + x6 = 6, 3x1 + 2x2 – 6x3 + 3x4 + x7 = 9,
xj ≥ 0 (j = 1, 2, 3, 4, 5, 6, 7).
Ta giải bài toán (N) bằng phương pháp đơn hình, xuất phát từ phương án cực biên x0 = (0, 0, 0, 0, 2, 6, 9).
Quá trình giải bài toán (N) đươ ̣c ghi tóm tắt trong các bảng sau (Bảng 1 - 4). Biến Phương x1 x2 x3 x4 x5 x6 x7 θ cơ sơ C ̉ B án 3 -3 1 -1 M M M x5 M 2 -1 1 2 1 1 0 0 2 x6 M 6 1 1 -1 -1 0 1 0 6 x7 M 9 3 2 -6 3 0 0 1 4.5 3M- 4M 3M+ Bảng 1 17M < 0 0 0 0 3 +3 1 x2 -3 2 -1 1 2 1 0 0 x6 M 4 2 0 -3 -2 1 0 2 x7 M 5 5 0 -10 1 0 1 1 Bảng 2 9M-6 7M 0 < 0 < 0 0 0 x2 -3 3 0 1 0 6/5 0 x6 M 2 0 0 1 -12/5 1 2 x1 3 1 1 0 -2 1/5 0 Bảng 3 2M-6 0 0 M-7 < 0 0 x2 -3 3 0 1 0 6/5 x3 1 2 0 0 1 -12/5 x1 3 5 1 0 0 -23/5 Bảng 4 8 0 0 0 -94/5 32
Bài giảng Qui hoạch tuyến tính PGS-TS Lê Anh Vũ
Ở Bảng 4 ta thấy ∆k ≤ 0 với mo ̣i k = 1, 2, 3, 4, nên phương án cho ở bảng này x =
(5, 3, 2, 0, 0, 0, 0) là phương án tối ưu của bài toán (M). Vâ ̣y x* = (5, 3, 2, 0) là phương
án tối ưu của bài toán ban đầu với fmin = 8.
§4. VÍ DỤ GIẢI BÀI TOÁN QHTT DẠNG TỎNG QUÁT (G)
Ví du ̣ 1. Giải bài toán sau bằng phương pháp đơn hình. f = 5x1 + 8x2 → max, x1 + 2x2 ≤ 1, x1 + x2 ≤ 2, x1 ≥ 0, x2 ≥ 0.
Trước hết ta chuyển bài toán trên về bài toán tìm min và có da ̣ng (N) bằng cách đưa
vào các biến phu ̣ x3, x4 ≥ 0. Ta được bài toán g = – 5x1 – 8x2 → min, x1 + 2x2 + x3 = 1, x1 + x2 + x4 = 2, xj ≥ 0, j = 1, 2, 3, 4.
Ta giải bài toán này bằng phương pháp đơn hình, xuất phát từ phương án cực biên
x0 = (0, 0, 1, 2). Cơ sở của x0 là {A3, A4}. Quá trình giải như sau (Bảng 1 - 3). Biến Phương x1 x2 x3 x4  cơ sơ C ̉ B án i -5 -8 0 0 x3 0 1 1 2 1 0 ½ x4 0 2 1 1 0 1 2 Bảng 1 0 5 8 0 0 x2 -8 1/2 1/2 1 1/2 0 1 x4 0 3/2 1/2 0 -1/2 1 3 Bảng 2 -4 1 0 -4 0 x1 -5 1 1 2 1 0 x4 0 1 0 -1 -1 1 Bảng 3 -5 0 -2 -5 0 Ở
Bảng 3 mo ̣i ∆k ≤ 0 nên x*N = (1, 0, 0, 1) là phương án tối ưu của bài toán chính tắc
với gmin = – 5. Từ đó suy ra lời giải bài toán ban đầu là x* = (1, 0) với fmax = – gmin= 5.
Ví du ̣ 2. Giải bài toán sau f = – 3x1 + x2 – 2x3 → min, 2x1 + 4x2 – x3 ≤ 10, 3x1 + x2 + x3 ≥ 4, x1 – x2 + x3 = 2, xj ≥ 0, j = 1, 2, 3. 33
Bài giảng Qui hoạch tuyến tính PGS-TS Lê Anh Vũ
Trước hết ta thêm vào hai biến phụ x4, x5 ≥ 0 để đưa bài toán về da ̣ng chính tắc (C).
Tiếp đó ta đưa vào hai biến giả x6, x7 ≥ 0 để được bài toán (N) như sau.
fM = - 3x1 + x2 - 2x3 + M(x6 + x7) → min, 2x1 + 4x2 - x3 + x4 = 10, 3x1 + x2 + x3 - x5 + x6 = 4, x1 - x2 + x3 + x7 = 2, xj ≥ 0, j = 1, 2, ... , 7.
Ta giải bài toán (N) bằng phương pháp đơn hình với M > 0 (đủ lớn). Quá trình giải
ghi ở các bảng sau (bỏ qua hai cô ̣t biến giả). Biến Phương x1 x2 x3 x4 x5  cơ sơ C ̉ B án i -3 1 -2 0 0 x4 0 10 2 4 -1 1 0 5 x6 M 4 3 1 1 0 -1 4/3 x7 M 2 1 -1 1 0 0 2 4M+ 2M Bảng 1 60 – 1 0 – M 3 +2 x4 0 22/3 0 10/3 -5/3 1 2/3 x1 -3 4/3 1 1/3 1/3 0 -1/3 4 x7 M 2/3 0 -4/3 2/3 0 1/3 1 2M/3 M/3+ Bảng 2 2M/3- 4 0 < 0 0 +1 1 x4 0 9 0 0 0 1 3/2 6 x1 -3 1 1 1 0 0 -1/2 x3 -2 1 0 -2 1 0 1/2 2 Bảng 3 -5 0 0 0 0 1/2 x4 0 6 0 6 -3 1 0 1 x1 -3 2 1 -1 1 0 0 x5 0 2 0 -4 2 0 1 Bảng 4 -6 0 2 -1 0 0 x2 1 1 0 1 -1/2 1/6 0 x1 -3 3 1 0 1/2 1/6 0 x5 0 6 0 0 0 2/3 1 Bảng 5 -8 0 0 0 -1/3 0 Ở
Bảng 5 mo ̣i ∆k ≤ 0 nên x * = (3, 1, 0, 0, 6, 0, 0) là phương án tối ưu của bài toán N
(N). Từ đó suy ra lời giải bài toán ban đầu là x* = (3, 1, 0) với fmin = – 8. 34
Bài giảng Qui hoạch tuyến tính PGS-TS Lê Anh Vũ BÀI TẬP
1. Dùng phương pháp đơn hình giải các bài toán dưới đây
a) f = – 50x1 – 60x2  min, x1 + 2x2  8, x1 + x2  5, 9x1 + 4x2  36, x1  0, x2  0.
b) f = 2x1 + 5x2 + 4x3 + x4 – 5x5  min, x1 + 2x2 + 4x3 – 3x5 = 152, 4x2 + 2x3 + x4 + 3x5 = 60, 3x2 + x5  36, xj  0 (j = 1,2,...,5).
c) f = 6x1 + x2 + x3 + 3x4 + x5 – 7x6 + 6x7  min,
–x1 + x2 – x4 + x6 + x7 = 15,
2x1 – x3 + 2x6 + x7 = –9, 4x1 + 2x4 + x5 – 3x6 = 2, xj  0 (j = 1,...,7). d) f = x1 – x2  min, x1 – x2  –1, 3x1 + 2x2  6, –3x1 – x2  –9, x   1 0, x2 0.
e) f = 2x1 + x2 + x3 → min, x1 + x2 + x3 + x4 + x5 = 5,
x1 + x2 + 2x3 + 2x4 + 2x5 = 8, x 1 + x2 = 2, x3 + x4 + x5 = 3, xj  0 (j = 1,...,4). 35
Bài giảng Qui hoạch tuyến tính PGS-TS Lê Anh Vũ
f)) f = – x1 – 2x2 – 3x3 + x4  min, x1 + 2x2 + 3x3 = 15, 2x1 + x2 + 5x3 = 20, x1 + 2x2 + x3 + x4 = 10, xj  0 (j = 1,...,4). g) f = x  1 + 2x2 – x3 max, – x1 + 4x2 – 2x3  6, x1 + x2 + 2x3  6, 2x1 – x2 + 2x3 = 4, x    1 0, x2 0, x3 0. .
h) f = – x1 –x2 + 1  max, x1 – x2  –1, 3x1 + 2x2  6, –3x1 – x2  –9, x   1 0, x2 0.
2. Giải các bài toán thực tế cho ở bài tập 1), 2) và 5) Chương 1. 36
Document Outline

  • Chương 2 : PHƯƠNG PHÁP ĐƠN HÌNH
  • Phương pháp đơn hình do G.B. Dantzig đề xuất năm 1947 cho đến hiện nay vẫn là phương pháp được sử dụng nhiều nhất trong việc giải các bài toán qui hoạch tuyến tính. Đối với các bài toán cỡ lớn (có thể đến hàng nghìn biến và hàng trăm ràng buộc) ph...
  • §1. CƠ SỞ CỦA PHƯƠNG PHÁP ĐƠN HÌNH
  • Phương pháp đơn hình giải bài toán QHTT dựa trên hai tính chất quan trọng sau đây của bài toán QHTT:
  • a) Nếu bài toán qui hoạch tuyến tính chính tắc có phương án tối ưu thì cũng có phương án cực biên tối ưu, nghĩa là có ít nhất một đỉnh của miền ràng buộc là lời giải của bài toán.
  • b) Mỗi điểm cực tiểu địa phương của hàm tuyến tính trên miền ràng buộc D (một tập hợp lồi) là một điểm cực tiểu tuyệt đối.
  • Tính chất a) cho phép tìm phương án tối ưu trong số các phương án cực biên của bài toán (số này là hữu hạn). Tính chất b) cho phép khi kiểm tra tối ưu đối với một phương án cực biên (đỉnh) chỉ cần so sánh nó với các ...
  • Vì thế, phương pháp đơn hình bắt đầu từ một phương án cực biên nào đó (tuỳ ý) của bài toán (tức là một đỉnh của miền ràng buộc). Tiếp đó kiểm tra xem phương án hiện có đã phải là phương án tối ưu hay chưa, bằng cách...
  • §2. THUẬT TOÁN ĐƠN HÌNH
  • Cách biến đổi bảng đơn hình để nhận được bảng mới và PACB mới tốt hơn
  •  Biến đổi dòng xoay:
  • Dòng mới = dòng cũ / phần tử xoay,
  • Nghĩa là chia mỗi phần tử ở dòng xoay cho phần tử xoay (arv > 0). Kết quả nhận được gọi là dòng chính (số 1 xuất hiện ở vị trí của arv cũ).
  •  Biến đổi các dòng khác theo qui tắc hình chữ nhật:
  • nghĩa là
  • Cột ≠ cột xoay Cột xoay (cột v)
  • Dòng ≠ dòng xoay : a b
  • a’ = a – bc
  • Dòng chính (dòng r mới) : c 1
  • §4. VÍ DỤ Giải BÀI TOÁN QHTT dạng TỎNG QUÁT (G)