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

Bài giảng quy hoạch tuyến tính

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 (1.28 MB, 64 trang )

Bài ging quy hoch toán
Chng 1. BÀI TOÁN QUY HOCH TUYN TÍNH
PHNG PHÁP HÌNH HC
1.1. Các bài toán thc t
1.1.1. Bài toán lp k hoch sn xut
a) Ví d  sn xut ko và bánh cn 2 th nguyên liu chính là đng và bt mì,
vi tr lng hin có là 0,9kg đng và 1,1 kg bt mì. 1kg ko cn 0,5 kg đng và 0,3
kg bt mì; 1kg bánh cn 0,2kg đng và 0,4 kg bt mì.
Giá 1kg ko là 10000đ; 1kg bánh là 20000đ. Hãy lp k hoch sn xut sao cho
tng giá tr sn phm ln nht.

Gi x
1
là s kg ko đc sn xut; x
2
là s kg bánh đc sn xut.
Có mô hình toán hc:

f(x) = 10000x
1
+20000x
2
 max







≤+


≤+
0,
1.14.03.0
9.02.05.0
21
21
21
xx
xx
xx


b)Tng quát  sn xut n loi sn phm khác nhau cn m loi yu t sn xut
vi tr lng hin có là b
1
, b
2
, , b
m
. H s hao phí yu t i ( i=1 m ) cho 1 đn v sn
phm j (j=1 n) là a
ij
. Giá 1 đn v sn phm j là c
j
(j=1 n). Hãy lp k hoch sn xut
trên c s các yu t sn xut hin có sao cho tng giá tr sn phm ln nht.

Gi x
j
là s sn phm j đc sn xut,

f(x) là tng doanh thu ng vi k hoch sn xut x = (x
1
,x
2
, , x
n
).
Có mô hình toán hc:

f(x) =
c

=
n
j 1
j
x
j
 max





=≥
=≤

=
) 1(0
) 1(

1
njx
mibxa
j
ij
n
j
ij


Bài ging quy hoch toán
1.1.2. Bài toán vn ti
Có m kho hàng cha cùng 1 loi hàng hóa vi s lng  kho i là ai (i=1 m).
ng thi có n ca hàng vi nhu cu  ca hàng j là bj (j=1 n). Chi phí vn chuyn 1
đn v hàng t kho i đn ca hàng j là c
ij
. Hãy lp k hoch vn chuyn sao cho tha mãn
nhu cu các ca hàng và chi phí vn chuyn thp nht.

Gi x
ij
là s lng hàng chuyn t kho i đn ca hàng j
f(x) là tng chi phí theo k hoch vn chuyn x.
Mô hình toán hc:
f(x) =


c
=
m

i 1 =
n
j 1
ij
x
ij
 min












==≥
==
=≤


=
=
) 1, 1(0
) 1(
) 1(
1

1
njmix
njbx
miax
ij
j
m
i
ij
i
n
j
ij
1.1.3. Bài toán xác đnh khu phn
Có n loi thc n gia súc, giá 1 đn v thc n j là c (j=1 n). Gia súc cn m cht
dinh dng vi nhu cu ti thiu cht i là b
i
(i=1 m). Bit hàm lng cht i có trong 1
đn v thc n j là a
ij
. Hãy xác đnh khu phn thc n cho gia súc sao cho chi phí thp
nht đng thi đm bo các cht dinh dng cho gia súc.

Gi x
j
là lng thc n j có trong khu phn,
f(x) là giá khu phn x = (x
1
,x
2

, , x
n
).
Có mô hình toán hc sau:
f(x) =
c

=
n
j 1
j
x
j
 min





=≥
=≥

=
) 1(0
) 1(
1
njx
mibxa
j
ij

n
j
ij


1.2. Bài toán qui hoch tuyn tính
Xét bài toán
Bài ging quy hoch toán
(1) f(x) = c

=
n
j 1
j
x
j
 min
(2)











+=≤

+=≥
==



=
=
=
) 1(
) 1(
) 1(
1
1
1
mkibxa
kpibxa
pibxa
ij
n
j
ij
ij
n
j
ij
ij
n
j
ij


Bài toán (1,2) gi là bài toán quy hoch tuyn tính dng tng quát, ký hin là (d,f).
* f(x) gi là hàm mc tiêu.
* H (2) gi là h ràng buc.
* Ma trn A = (a
ij
)
mxn
gi là ma trn s liu.
* Vect C = (c
j
)
n
gi là h s hàm mc tiêu.

Mi b s x=(x
1
, x
2
, , x
n
) tha mãn h ràng buc (2) gi là phng án, ký hiu x

d.
Phng án làm cho hàm mc tiêu f(x) đt cc tr cn tìm gi là phng án ti u, hay là
nghim ca bài toán (d,f) .
1.3. Phng pháp hình hc
Phng pháp hình hc dùng đ gii bài toán (d,f) 2 n, hoc nhiu hn 2 n
nhng có th đa v bài toán 2 n tng đng.

Xét bài toán

f(x) = ax +by  min (max)
(d)

{
) 1( miciybxa
ii
=≤+

Min d d là giao các na mt phng, hay là mt đa giác. Bài toán có th phát biu bng
hình hc nh sau:
Tìm trong h đng thng song song ax+ by = f gi là h đng mc ,mt đng mc
ng vi f nh nht (ln nht) có ít nht 1 đim chung vi min d.

Ví d 1.1
f(x,y) = x + 2y  max







≤+
≤+
0,
1143
925
yx
yx
yx



Bài ging quy hoch toán


y




A(0,11/4)
B(1,2)

d

O C(9/5,0) x

Qua hình v thy đng thng qua A(0,
4
11
) ng vi f ln nht. Vy nghim là x
1
=0,
x
2
=
4
11
và f
max

=
2
11
.
Nhn xét
- Nghim là đnh ca đa giác.
- Nu hàm mc tiêu là f(x,y) = 3x + 4y thì nghim là c đon thng AB.
- Giá tr f ca h đng mc tng theo chiu ca pháp vect.

Ví d 1.2
f(x,y) = x + y  max








≤−
−≥−
0,
22
1
yx
yx
yx







d

A(0,1)

O B(2,0)

Theo hình v, hàm mc tiêu không b chn trên trong min d nên bài toán vô nghim.
oOo
Bài ging Quy hoch toán hc Trang 5
________________________________________________________________________
1.4. Bài tp
Gii các bài toán sau bng phng pháp hình hc

1. f(x) = x + 2y → max 2. f(x) = 5x - 3y → min

36
34 1
00
xy
xy
xy
+≤
+≤
≥≥






,
2
xy
xy
xy
+≤
+≥
≥≥





24
36
00,


3. f(x) = 3x + y → max 4. f(x) = 2x + 3y +10 → max


−+≥
+≤
≥≥






36
351
00
xy
xy
xy,
5
36
4
24
00
xy
xy
xy
xy
+

+≤
+≤
≥≥







,



5. f(x) = 2x + 5y → max 6. f(x) = x + 3y → max


22
8
3
21
00
xy
xy
xy
xy
xy
+≥
+≤
+≥
+≤
≥≥









,
2

xy
xy
xy
+≤
+≥
≥≥





36
4
00,



7. f(x) = x + 2y → max 8. f(x) = 2x + 3y → min

xy
xy
xy
+≤
+≤
≥≥






8
21
00,
4
xy
xy
xy
xy
+

+≥
+≥
≥≥







28
36
34 1
00,
2
0
0


9. f(x) = 5x

1
+ 2x
2
+ 3x
3
→ max 10. f(x) = 2x
1
+ x
3
→ min

xxx
xx x
xx x
xxx
123
12 3
12 3
123
1
253 4
432
00
++=
++≤
++ ≤
≥≥≥








,,
xxx
xx x
xxx
123
12 3
123
1
223
00
++=
++ ≥
≥≥≥





,,


***********************
________________________________________________________________________
GV: Phan Thanh Tao
Bài ging Quy hoch toán hc Trang 6
________________________________________________________________________

Chng 2. PHNG PHÁP N HÌNH
2.1.
Dng chính tc và dng chun tc
2.1.1. nh ngha
Trong thc t, đa s các bài toán có điu kin không âm ca các n. T đó có đnh
ngha dng chính tc là bài toán (d,f) nh sau:
f(x) = c

=
n
j 1
j
x
j
 min (1)





=≥
==

=
)3() 1(0
)2() 1(
1
njx
mibxa
j

ij
n
j
ij


(2) gi là ràng buc cng bc, (3) gi là ràng buc t nhiên.
Vi bài toán (d,f) chính tc, có th gi s m ≤n.

Mt trng hp đc bit ca dng chính tc là ma trn s liu A = (a
ij
)
mxn
có cha
đ m vect ct là m vect đn v ca không gian R
m
và b
i
≥ 0 (i=1 m) gi là dng chun
tc. Không mt tính tng quát, có th đnh ngha bài toán (d,f) chun tc nh sau:
f(x) =
c

=
n
j 1
j
x
j
 min






=≥
==+

+=
) 1(0
) 1(
1
njx
mibxax
j
ij
n
mj
iji

trong đó b
i
≥ 0 (i=1 m).
2.1.2. Các phép bin đi
Các phép bin đi sau đ đa bài toán (d,f) bt k v dng chính tc tng đng
đ gii, và t đó suy ra nghim ca bài toán ban đu.
a/ f(x)  max g(x) = -f(x)  min ⇔
b/

vi x

=

n
j
ijij
bxa
1


=
+
=+
n
j
iinjij
bxxa
1
n+i
≥0


vi x
=

n
j
ijij
bxa
1



=
+
=−
n
j
iinjij
bxxa
1
n+i
≥0

x
n+i
gi là n ph. Có kt lun sau:
Nu
x = (x
1
, x
2
, , x
n
, x
n+1
, , x
n+m
) là nghim ca bài toán chính tc bin đi thì
x=(x
1
, x

2
, , x
n
) là nghim bài toán gc.
________________________________________________________________________
GV: Phan Thanh Tao
Bài ging Quy hoch toán hc Trang 7
________________________________________________________________________

c/ Nu n x
j
không ràng buc v du thì đc thay bng hiu hai n không âm.
Ngha là đt x
j
=x
j
’ – x
j
” vi x
j
’≥0, x
j
”≥0.

d/ Trng hp b
i
< 0 thì nhân hai v phng trình cho -1 có đc b
i
>0.


Vy: Mi bài toán quy hoch tuyn tính đu có th đa v bài toán dng chính tc
tng đng. Hn na có th các h s t do b
i
trong h ràng buc là không âm.
2.1.3. Phng án c bn
Xét bài toán (d,f) dng chính tc
f(x) = c

=
n
j 1
j
x
j
 min





=≥
==

=
) 1(0
) 1(
1
njx
mibxa
j

ij
n
j
ij


t A
j
= (a
1j
, a
2j
, , a
mj
) là vect ct th j trong ma trn A
mxn
b = (b
1
, b
2
, , b
m
) là ct h s t do.

Gi s x = (
x
1
, x
2
, , x

n
) là phng án ca bài toán thì h vect { A
j
/ x
j
> 0 }
gi là h vect liên kt vi phng án x.

nh ngha
x

d
là phng án c bn nu h véct liên kt vi x đc lp tuyn tính.
n x
j
gi là n c bn nu
x
j
> 0.

Nhn xét:
- Phng án c bn có ti đa m thành phn dng.
Phng án c bn có đúng m thành phn dng gi là không suy bin. Ngc li
gi là suy bin. Bài toán có phng án c bn suy bin gi là bài toán suy bin.
- S phng án c bn ca mt bài toán (d,f) là hu hn.
- Vi bài toán dng chun tc thì có phng án c bn là x
o
= (b
1
, b

2
, ,b
m
,0, ,0).
2.1.4. Các tính cht
Tính cht 1 Bài toán (d,f) ch xy ra 1 trong 3 trng hp sau:
a) Vô nghim b) Có 1 nghim duy nht c) Vô s nghim.

Tính cht 2 Nu hàm mc tiêu f(x) là chn di (trên ) đi vi bài toán dng min (max)
trên tp phng án d thì bài toán (d,f) có nghim.
________________________________________________________________________
GV: Phan Thanh Tao
Bài ging Quy hoch toán hc Trang 8
________________________________________________________________________
Tính cht 3 Nu bài toán (d,f) có nghim thì có nghm là phng án c bn.
2.2. Phng pháp đn hình
2.2.1. Ni dung
Xut phát t phng án c bn nào đó, tìm cách đánh giá nó. Nu cha ti u thì
chuyn sang phng án c bn mi tt hn. Nu bài toán có nghim thì sau hu hn
bc s tìm đc phng án c bn ti u. Hn na du hiu vô nghim cng đc th
hin trên thut toán .

Ví d 2.1 Xét bài toán (d,f) dng chun tc:
f(x) = x
1
-2x
2
+3x
3
-2x

4
 min





=≥
=++
=+−
)4 1(0
5
432
421
321
jx
xxx
xxx
j


Có phng án c bn x
o
= (0, 0, 4, 5) và f(x
o
)=2 vi x
3
, x
4
là n c bn.

ánh giá:
∀ x=(x
1
,x
2
,x
3
,x
4
)∈ d :





=≥
=++
=+−
)4 1(0
5
432
421
321
jx
xxx
xxx
j







=≥
−−=
+−=
)4 1(0
5
324
214
213
jx
xxx
xxx
j

f(x) = x
1
-2x
2
+3x
3
-2x
4
= x
1
-2x
2
+3(4-2x
1

+3x
2
) -2(5-x
1
-x
2
)
= 2 -3x
1
+9x
2

= 2-∆
1
x
1
- ∆
2
x
2
Vì x
1
, x
2
≥0 nên nu ∆
1
, ∆
2
≤ 0 thì f(x)≥2 và x
o

là phng án ti u. Tuy nhiên,  đây

1
=3>0 nên x
o
cha phi là nghim.

Th chn x
1
, x
4
làm n c bn , cho x
2
=0 và x
3
=0. Có



=+
=
5
42
41
1
xx
x
x⇒
1
=2 và x

4
=3.
Rõ ràng A
1
, A
4
đc lp tuyn tính nên có phng án c bn là
x = (2, 0, 0, 3)
và f(
x ) = - 4.
ánh giá:
∀ x=(x
1
,x
2
,x
3
,x
4
)∈ d :
________________________________________________________________________
GV: Phan Thanh Tao
Bài ging Quy hoch toán hc Trang 9
________________________________________________________________________



=++
=+−
5

432
421
321
xxx
xxx








+−=
−+=
324
321
2
1
2
5
3
2
1
2
3
2
xxx
xxx


f(x) = x
1
-2x
2
+3x
3
-2x
4
= (2+
2
3
x
2
-
2
1
x
3
)

-2x
2
+3x
3
-2(3-
2
5
x
2
+

2
1
x
3
)
= - 4 +
2
9
x
2
+
2
3
x
3
(= -4-∆
2
x
2
- ∆
3
x
3
)
≥ -4
Vì x
2
, x
3
≥0 nên

x là phng án ti u (∆
2
, ∆
3
≤0).
2.2.2. Bng đn hình
Cho bài toán (d,f) chun tc:
f(x) =
c

=
n
j 1
j
x
j
 min





=≥
==+

+=
) 1(0
) 1(
1
njx

mibxax
j
ij
n
mj
iji

trong đó b
i
≥ 0 (i=1 m).
∀ j=1 n đt ∆
j
=

c
=
m
i 1
i
a
ij
- c
j
và gi là c lng ca n x
j
đi vi phng án c bn
x
o
=(b
1

, b
2
, …, b
m
, 0, …, 0) vi f(x
o
)= c

=
m
i 1
i
b
i
Lu ý: ∆
i
= 0 , ∀ i=1 m

Có bng đn hình sau:

H
s
n
CB
P/Án x
1
c
1
x
2

c
2
… x
m
c
m
x
m+1
c
m+1
… x
s
c
s
… x
n
c
n
c
1
x
1
b
1
1 0 … 0 a
1,m+1
… a
1s
… a
1n

c
2
x
2
b
2
0 1 … 0 a
2,m+1
… a
2s
… a
2n
… …

… … … … … … …
c
r
x
r
b
r
0 0 … 0 a
r,m+1
… a
rs
… a
rn
… …

… … … … … … …

c
m
x
m
b
m
0 0 … 1 a
m,m+1
… a
ms
… a
mn
f(x) ∆
1

2

m

m+1

s

n
________________________________________________________________________
GV: Phan Thanh Tao
Bài ging Quy hoch toán hc Trang 10
________________________________________________________________________
2.2.3. C s lý lun
Cho bài toán (d,f) chun tc:

f(x) = c

=
n
j 1
j
x
j
 min





=≥
==+

+=
) 1(0
) 1(
1
njx
mibxax
j
ij
n
mj
iji

trong đó b

i
≥ 0 (i=1 m).
∀ j=1 n đt ∆
j
= c

=
m
i 1
i
a
ij
- c
j

Có phng án c bn x
o
=(b
1
, b
2
, …, b
m
, 0, …, 0) vi f(x
o
)= c

=
m
i 1

i
b
i
nh lý 1 ( Du hiu ti u)
Nu ∆
j
≤0 vi mi j = 1 n thì x
o
là phng án ti u.

Chng minh
Có f(x
o
)= c

=
m
i 1
i
b
i
∀ x=(x
j
)
n
∈ d : x
i
+ a

+=

n
mj 1
ij
x
j
=b
i
(i=1 m) ⇒ x
i
= b
i
- a

+=
n
mj 1
ij
x
j
(i=1 m)
f(x) = c

=
n
j 1
j
x
j

= c


=
m
i 1
i
x
i
+ c

+=
n
mj 1
j
x
j
= c

=
m
i 1
i
(b
i
- a

+=
n
mj 1
ij
x

j
) + c

+=
n
mj 1
j
x
j
= c

=
m
i 1
i
b
i
- ( c

+=
n
mj 1

=
m
i 1
i
a
ij
-c

j
) x
j
= f(x
o
) - ∆

+=
n
mj 1
j
x
j
≥ f(x
o
) : vì ∆
j
≥0 và x
j
≥ 0 (j=m+1 n)

nh lý 2 ( Du hiu vô nghim)
Nu
∃ ∆
k
>0 và a
ik
≤0 ∀ i = 1 m thì bài toán vô nghim.

Chng minh

Vì ∆
i
= 0 , i=1 m và ∆∀
k
>0 nên có k>m.

________________________________________________________________________
GV: Phan Thanh Tao
Bài ging Quy hoch toán hc Trang 11
________________________________________________________________________
∀ >0, xét b s x=(x
j
)
n
vi





≠+==
=
=−=
), 1(0
) 1(
kjnmjx
x
miabx
j
k

ikii
ϑ
ϑ

∀ i=1 m: x
i
+ a

+=
n
mj 1
ij
x
j
= (b
i
-a
ik
) + a
ik
= b
i
(1)
x
k
= >0 nên x
j
≥0 j=m+1 n ∀
∀ i=1 m: x
i

= b
i
-a
ik
≥bi ≥0. Vì >0 và a
ik
≤0.
Vy x
j
≥0 ∀ j=m+1 n (2)
(1) và (2) có x∈ d

f(x) =
c

=
n
j 1
j
x
j

=
c

=
m
i 1
i
x

i
+ c

+=
n
mj 1
j
x
j
= c

=
m
i 1
i
(b
i
-a
ik
) + c

+=
n
mj 1
j
x
j
= c

=

m
i 1
i
b
i
-  c

=
m
i 1
i
a
ik
+c
k

= f(x
o
) – ( c

=
m
i 1
i
a
ik
-c
k
)
= f(x

o
) – ∆
k

Cho x +∞ thì f(x)  -∞ trên d. Hay f(x) không b chn di trên d.
Vy bài toán vô nghim.

nh lý 3 ( iu chnh phng án)
Nu
∀ ∆
k
>0, ∃ a
ik
>0 thì có th tìm đc phng án c bn mi tt hn x
o
, trong
trng hp bài toán không suy bin.

Chng minh:
Gi s ∆
s
= max {∆
j
} vi ∆
j
>0 (j=1 n).
Theo gi thit a∃
is
>0
t  =min {

is
i
a
b
} vi a
is
> 0 . Có >0 do bài toán không suy bin.
Gi s =
rs
r
a
b
, có
rs
r
a
b

is
i
a
b

Xét b s
x =(x
j
)
n
vi
________________________________________________________________________

GV: Phan Thanh Tao
Bài ging Quy hoch toán hc Trang 12
________________________________________________________________________





≠+==
=
=−=
), 1(0
) 1(
sjnmjx
x
miabx
j
s
isii
ϑ
ϑ

∀ i=1 m: x
i
+ a

+=
n
mj 1
ij

x
j
= (b
i
-a
is
) + a
is
= b
i
(1)
x
s
= >0 nên x
j
≥0 j=m+1 n ∀
∀ i=1 m: x
i
= b
i
-a
is
= b
i
-
rs
r
a
b
a

is
≥0. Vì
is
i
a
b

rs
r
a
b
(i=1 m) và a
is
>0.
Vy x
j
≥0 ∀ j=m+1 n (2)
(1) và (2) có x∈ d

Có x
r
= b
r
-a
rs
= b
r
-
rs
r

a
b
a
rs
=0. Vy x
r
là n không c bn.
H vect liên kt x
o
là m vect đn v {A
1
, A
2
, …, A
m
}.
Vy h vect liên kt
x là h con ca {A
1
, A
2
, …, A
m
}U {A
s
}\{A
r
}.
Gi s h vect liên kt x ph thuc tuyn tính thì h {A
1

, A
2
, …, A
m
} {AU
s
}\{A
r
} ph
thuc tuyn tính.
Nên ∃ k
i
≠0 sao cho: + k


=
m
ri
i
ii
Ak
1
s
A
s
=  ( vect không)
Nu k
s
=0 thì k∃
i

≠0 (i=1 m) sao cho: =  . Mâu thun vì {A


=
m
ri
i
ii
Ak
1
1
, A
2
, …, A
m
} là h
vect đn v. Vy k
s
≠0 và + k


=
m
ri
i
ii
Ak
1
s
A

s
= 
hay A
s
= -


=
m
ri
i
i
s
i
A
k
k
1
(3)
Ngoài ra, A
s
= (a
1s
, a
2s
, , a
ms
) = a

=

m
i 1
is
A
i
(4)
Tr (4) cho (3) có


=
+
m
ri
i
i
s
i
is
A
k
k
a
1
)( + a
rs
A
r
= .
Do {A
1

, A
2
, …, A
m
} là h đc lp tuyn tính nên có a
rs
=0 (mâu thun).
Vy h vect liên kt
x là h đc lp tuyn tính. Hay x là phng án c bn.
f(
x ) = c

=
n
j 1
j
x
j

________________________________________________________________________
GV: Phan Thanh Tao
Bài ging Quy hoch toán hc Trang 13
________________________________________________________________________
= c

=
m
i 1
i
x

i
+ c

+=
n
mj 1
j
x
j
= c

=
m
i 1
i
(b
i
-a
is
) + c

+=
n
mj 1
j
x
j
= c

=

m
i 1
i
b
i
-  c

=
m
i 1
i
a
is
+c
s

= f(x
o
) – ( c

=
m
i 1
i
a
is
-c
s
)
= f(x

o
) – ∆
s
< f(x
o
) , vì >0 và ∆
s
>0.
Hay phng án c bn tt hn phng án c bn x
o
mt lng ∆
s
.
2.2.4. Các bc ca thut toán đn hình
Bc 1 Kim tra tính ti u ca phng án x
o
=(b
1
, b
2
, …, b
m
, 0, …, 0)
* Nu ∆
j
≤0 ∀ j = 1 n thì x
o
là phng án ti u và f
min
=f(x

o
)= c

=
m
i 1
i
b
i
.
* Nu ∃ ∆
k
>0 thì chuyn sang bc 2.

Bc 2 Kim tra điu kin vô nghim
* Nu ∃ ∆
k
>0 và a
ik
≤0 vi mi i = 1 m thì bài toán vô nghim.
* Nu
∀ ∆
k
>0, ∃ a
ik
>0 thì chuyn sang bc 3.

Bc 3 Tìm n thay th và n loi ra
* Nu ∆
s

= max {∆
j
} vi ∆
j
>0 (j=1 n) thì đa x
s
đa vào tp n c bn .
* Nu
rs
r
a
b
=min {
is
i
a
b
} vi a
is
> 0 thì loi x
r
ra khi tp n c bn .
* Chuyn sang bc 4.

Bc 4 Bin đi bng đn hình
* Bin đi bng đn hình theo công thc sau:








≠−=
=
)('
'
ria
a
a
aa
a
a
a
is
rs
rj
ijij
rs
rj
rj







≠−=
=

)('
'
ria
a
b
bb
b
is
rs
r
ii
r
θ

* Tính li các giá tr ∆
j
, quay li bc 1.
________________________________________________________________________
GV: Phan Thanh Tao
Bài ging Quy hoch toán hc Trang 14
________________________________________________________________________
Quá trình này có th mô t nh vic bin đi s cp v hàng trên ma trn b sung
ca h ràng buc sao cho vect A
s
tr thành vect đn v th r, và các vect đn v khác
vn gi nguyên.

Nhn xét Các công thc bin đi cho a
ij
cng đúng cho c b

i
và ∆
j
nu xem b là ct th 0
và ∆ là hàng th m+1 ca ma trn s liu A
mxn
.

Ví d 2.2
f(x) = 5x
1
+4x
2
+ 5x
3
+2x
4
+x
5
+ 3x
6
 min











=≥
=++
=+++
=+++
)6 1(0
363
60324
52342
631
5321
4321
jx
xxx
xxxx
xxxx
j

H
s
n
CB
P/Án x
1
5
x
2
4
x

3
5
x
4
2
x
5
1
x
6
3
2 x
4
52 2 4 3 1 0 0
1 x
5
60 4 2 3 0 1 0
3 x
6
36 3 0 1 0 0 1

272
12 6 7 0 0 0
2 x
4
28 0 4 7/3 1 0 -2/3
1 x
5
12 0 2 5/3 0 1 -4/3
5 x

1
12 1 0 1/3 0 0 1/3

128
0 6 3 0 0 -4
2 x
4
4 0 0 -1 1 -2 2
4 x
2
6 0 1 5/6 0 1/2 -2/3
5 x
1
12 1 0 1/3 0 0 1/3

92
0 0 -2 0 -3 0


j
≤0 j =1 6, x

opt
= (12, 6, 0, 4, 0, 0) và f
min
=92

Ví d 2.3
f (x) = 3x
1

-2x
2
+2x
3
- x
4
 min






=≥
=++−
=−+
)4 1(0
132
12
432
421
jx
xxx
xxx
j



________________________________________________________________________
GV: Phan Thanh Tao

Bài ging Quy hoch toán hc Trang 15
________________________________________________________________________
H
s
n
CB
P/Án x
1
3
x
2
-1
x
3
2
x
4
-1
3 x
1
1 1 1 0 -2
2 x
3
1 0 -2 1 3

5
0 0 0 1
3 x
1
5/3 1 -1/3 2/3 0

-1 x
4
1/3 0 -2/3 1/3 1

14/3
0 2/3 -1/3 0

Có ∆
2
=2/3>0 và trên ct này không có s dng nên bài toán vô nghim.
2.2.5. Bài toán n ph
Các phép bin đi đ đa bài toán (d,f) v dng chính tc
vi x

=

n
j
ijij
bxa
1


=
+
=+
n
j
iinjij
bxxa

1
n+i
≥0


vi x
=

n
j
ijij
bxa
1


=
+
=−
n
j
iinjij
bxxa
1
n+i
≥0
x
n+i
gi là n ph. Có kt lun sau:
Nu
x = (x

1
, x
2
, , x
n
, x
n+1
, , x
n+m
) là nghim ca bài toán chính tc bin đi thì
x=(x
1
, x
2
, , x
n
) là nghim bài toán gc.

Ví d 2.4
f (x) = -x
1
+3x
2
-2x
3
 max











=≥
≤++−
−≥−−
=++−
)4 1(0
10834
1242
723
321
321
4321
jx
xxx
xxx
xxxx
j

Bài toán chính tc tng đng
g (x) = x
1
-3x
2
+2x
3

 min








=≥
=+++−
=+++−
=++−
)6 1(0
10834
1242
723
6321
5321
4321
jx
xxxx
xxxx
xxxx
j
Trong đó x
5
, x
6
là n ph.

ây là bài toán (d,f) chun tc nên đc đa vào bng đn hình đ gii.


________________________________________________________________________
GV: Phan Thanh Tao
Bài ging Quy hoch toán hc Trang 16
________________________________________________________________________

H
s
n
CB
P/Án x
1
1
x
2
-3
x
3
2
x
4
0
x
5
0
x
6
0

0 x
4
7 3 -1 2 1 0 0
0 x
5
12 -2 4 1 0 1 0
0 x
6
10 -4 3 8 0 0 1

0
-1 3 -2 0 0 0
0 x
4
10 5/2 0 9/4 1 1/4 0
-3 x
2
3 -1/2 1 ¼ 0 1/4 0
0 x
6
1 -5/2 0 29/4 0 -3/4 1

-9
1/2 0 -11/4 0 -3/4 0
1 x
1
4 1 0 9/10 2/5 1/10 0
-3 x
2
5 0 1 7/10 1/5 3/10 0

0 x
6
11 0 0 19/2 1 -1/2 1

-11
0 0 -16/5 -1/5 -4/5 0


j
≤0 j =1 6, x

opt
= (4, 5, 0, 0, 0, 11) và f
min
=-11. Vy nghiêm bài toán gc là
x
opt
= (4, 5, 0, 0) và f
max
=11.

Nu các giá tr min/max đt ti nhiu v trí thì chn tùy ý mt v trí bt k trong s đó.
Thông thng chn ch s nh nht.
2.2.6. Bài toán n gi
Cho bài toán (d,f) dng chính tc:
f(x) =
c

=
n

j 1
j
x
j
 min





=≥
==

=
) 1(0
) 1(
1
njx
mibxa
j
ij
n
j
ij

trong đó b
i
≥0 (i=1 m).

Xét bài toán:


f ( x ) = c

=
n
j 1
j
x
j
+ M

x
=
m
i 1
n+i
 min





+=≥
==+
+
=

) 1(0
) 1(
1

mnjx
mibxxa
j
iinj
n
j
ij

vi M là s dng khá ln ( M∞)
Bài toán này gi là bài toán m rng ca bài toán trên, hay bài toán M.
________________________________________________________________________
GV: Phan Thanh Tao
Bài ging Quy hoch toán hc Trang 17
________________________________________________________________________
Vi bài toán M có ngay phng án c bn ban đu vi x
n+i
(i=1 m) là các n c bn .
Dùng thut toán đn hình đ gii.
x
n+i
gi là các n gi.

Sau khi gii bài toán M, có đc quan h gia bài toán M và bài toán (d,f) nh sau:
• Nu bài toán M vô nghim thì bài toán (d,f) vô nghim.
• Nu bài toán M có nghim
x = (x
1
, x
2
, , x

n
, 0, ,0) thì x = (x
1
, x
2
, , x
n
) là
nghim ca bài toán (d,f).
• Nu bài toán M có nghim
x = (x
1
, x
2
, , x
n+m
) và

x
n+m
)>0 thì bài toán (d,f) vô
nghim.

Tin trình gii bài toán M là loi dn các n gi ra khi tp n c bn cho đn khi loi tt
c là bt đu gii bài toán gc. Nên t đó có th không cn tính cho các ct n gi. Nu
cui cùng không loi đc các n gi mà nhn giá tr 0 thì bài toán gc cng có nghim.

 đây gi s bài toán (d,f) trong ma trn s liu A không có vect
đn v nào. Tuy
nhiên, ch cn thêm mt s (<m) n gi cho đ m vect đn v.


Ví d 2.5
f (x) = x
1
+2x
2
-x
3
 max










=≥
=+−
≥++
≤−+−
)3 1(0
422
62
624
321
321
321

jx
xxx
xxx
xxx
j

Dng chính tc tng đng:
f (x) = -x
1
-2x
2
+x
3
 min







=≥
=+−
=−++
=+−+−
)5 1(0
422
62
624
321

5321
4321
jx
xxx
xxxx
xxxx
j

trong đó x
4
, x
5
là hai n ph.
Bài toán chính tc cn thêm hai n gi đ đa v bài toán chun tc là x
6
, x
7
.
Bài toán M tng ng:

f ( x ) = -x
1
-2x
2
+ x
3
+M x
6
+M x
7

 min
________________________________________________________________________
GV: Phan Thanh Tao
Bài ging Quy hoch toán hc Trang 18
________________________________________________________________________








=≥
=++−
=+−++
=+−+−
)7 1(0
422
62
624
7321
65321
4321
jx
xxxx
xxxxx
xxxx
j
ây là bài toán dng chun tc nên đc đa vào bng đn hình đ gii.

H s n
CB
P/Án x
1
-1
x
2
-2
x
3
1
x
4
0
x
5
0
x
6
M
x
6
M
0 x
4
6 -1 4 -2 1 0 0 0
M x
6
6 1 1 2 0 -1 1 0
M x

7
4 2 -1 2 0 0 0 1


3M+1 2 4M-1 0 -M 0 0
0 x
4
10 1 3 0 1 0 0 1
M x
6
2 -1 2 0 0 -1 1 -1
1 x
3
2 1 -1/2 1 0 0 0 1/2


-M+2 2M+3/2 0 0 -M 0 -2M+1/2
0 x
4
7 5/2 0 0 1 3/2 -3/2 5/2
-2 x
2
1 -1/2 1 0 0 -1/2 1/2 -1/2
1 x
3
5/2 3/4 0 1 0 -1/4 1/4 1/4

-9/2
11/4 0 0 0 3/4 -M-3/4 -M+5/4
-1 x

1
14/5 1 0 0 2/5 3/5 -3/5 1
-2 x
2
12/5 0 1 0 1/5 -1/5 1/5 0
1 x
3
2/5 0 0 1 -3/10 -7/10 7/10 -1/2

-36/5
0 0 0 -11/10 -9/10 -M+9/10 -M-3/2

Nghim bài toán M là x = (14/5, 12/5, 2/5, 0, 0,0,0), n gi đã b loi t bng th 3.
Nghim bài toán gc chính tc là x = (14/5, 12/5, 2/5,0,0), vi x4, x5 là n ph, nên có
nghin bài toán gc là x
opt
= (14/5, 12/5, 2/5,0,0) và f
max
= 36/5

Ví d 2.6
f (x) = 8x
1
-6x
2
-2x
3
 max







=≥
=−+
=++
)3 1(0
434
4434
321
321
jx
xxx
xxx
j

Bài toán M tng ng:

f ( x ) = -8x
1
+6x
2
+2x
3
+Mx
4
+Mx
5
 min







=≥
=+−+
=+++
)5 1(0
434
4434
5321
4321
jx
xxxx
xxxx
j

________________________________________________________________________
GV: Phan Thanh Tao
Bài ging Quy hoch toán hc Trang 19
________________________________________________________________________
H
s
n
CB
P/Án x
1
-8

x
2
6
x
3
2
x
4
M
x
5
M
M x
4
4 4 3 4 1 0
M x
5
4 4 1 -3 0 1


8M+8 4M-6 M-2 0 0
-8 x
1
1 1 3/4 1 1/4 0
M x
5
0 0 -2 -7 -1 1


0 -2M-12 -7M-10 -2M-2 0


Nghim bài toán M là X= (1,0,0,0,0)
n gi x
5
còn là n c bn nhng nhn giá tr 0 nên nghim bài toán gc là x = (1,0,0) và
f
max
= 8

Ví d 2.7
f (x) = -8x
1
+6x
2
+2x
3
 min






=≥
=−+
=++
)3 1(0
534
4434
321

321
jx
xxx
xxx
j

Bài toán M tng ng:

f ( x ) = -8x
1
+6x
2
+2x
3
+Mx
4
+Mx
5
 min






=≥
=+−+
=+++
)5 1(0
534

4434
5321
4321
jx
xxxx
xxxx
j

H s n
CB
P/Án x
1
-8
x
2
6
x
3
2
x
4
M
x
5
M
M x
4
4 4 3 4 1 0
M x
5

5 4 1 -3 0 1


8M+8 4M-6 M-2 0 0
-8 x
1
1 1 3/4 1 1/4 0
M x
5
1 0 -2 -7 -1 1


0 -2M-12 -7M-10 -2M-2 0

n gi x
5
còn là n c bn nhng nhn giá tr x
5
=1>0 nên nên bài toán gc vô nghim.
________________________________________________________________________
GV: Phan Thanh Tao
Bài ging Quy hoch toán hc Trang 20
________________________________________________________________________
2.3. Cài đt thut toán đn hình
2.3.1. Khai báo d liu
a) Xem b là ct 0, c là hàng 0 và ∆ là hàng m+1 ca ma trn s liu a và f(x
o
)=a[m+1][0]
vi a[0][0]=0. Các giá tr b
i

, c
j
, ∆
j
và f(x) bin đi thao cùng công thc vi a
ij
. Ngha là:
b
i
=a[i][0], c
j
=a[0][j], ∆
j
=a[m+1][j].
Ch cn khai báo mt ma trn A nh sau:
float a[m+2][n+1];
b) Các mng đánh du tp n c bn:
int cb[n+1], acb[m];
vi ý ngha:
x
j
là n c bn cb[j]=1 ⇔

x
j
n c bn th i ⇔ acb[i]=j

Tp n c bn ban đu gm m n đc nhp t bàn phím
2.3.2. Tính các c lng ∆
j


for (j=1; j<=n; j++){
a[m+1][j]=0;
for (i=1; j<=m; i++) a[m+1][j]+= a[0][ACB[i]]*a[i][j];
a[m+1][j]-= a[0][j];
}
2.3.3. Kim tra ti u và tìm n thay th
int Toiuu( )
{
int s=1, j=1;
for (j=1; j<=n; j++)
if (a[m+1][j]> a[m+1][s])s=j;
return a[m+1][s]>0;
}
2.3.4. Kim tra vô nghim
int Vonghiem( )
{
int i,j;

for (j=1; j<=n; j++)
if (a[m+1][j]> 0){
i=1; while (i<=m && a[i][j]<=0)i++;
if (i>m)retrun 1;
}
return 0;
}
________________________________________________________________________
GV: Phan Thanh Tao
Bài ging Quy hoch toán hc Trang 21
________________________________________________________________________

2.3.5. Tìm n loi ra
r=1; while (a[i][j]<=0)r++;
for (i=r+1; i<=m; i++)
if (a[i][j]>0)
if (a[i][0]/a[i][j]< a[r][0]/a[r][j])r=i;
2.3.6. Bin đi bng
abc[r]:=s; cb[s]=1;
ars = a[r][s]; // Bin trung gian

// Bin đi riêng hàng r
for (j=0; j<=n; j++) a[r][j]/=ars;

for (i=1; i<=m+1; i++)
if (i!=r){
ais=a[i][s]; // Bin trung gian
a[i][j]-= a[r,j]* ais/ars;
}
oOo
________________________________________________________________________
GV: Phan Thanh Tao
Bài ging Quy hoch toán hc Trang 22
________________________________________________________________________
2.4. Bài tp
Gii các bài toán sau bng phng pháp đn hình

1. f(x) = 7x
1
- 5x
2
- 3x

3
→ max

4x + x - 3x 15
4x + 3x +5x 12
x + 2x + 3x 10
x 0 (j = 1 3)
12 3
123
12 3
j
=
=
=










2. f(x) = -5x
1
- 4x
2
+ 5x
3

- 3x
4
→ max

2x + 4x + 3x x 42
4x - 2x + 3x 24
3x + x 15
x 0 (j = 1 4)
1234
12 3
13
j

+
=












3. f(x) = 7x
1
+15x

2
+ 5x
3
→ min

3x - 2x - 4x
-x + 4x + 3x -3
2x +x + 8x 2
x 0 (j = 1 3)
123
123
12 3
j











1


4. f(x) = 2x
1
+17x

2
+18x
3
→ max

6x + 4x + 7x
8x + 4x 30
x 0 (j = 1 3)
123
13
j








50


5. f(x) = 3x
1
-x
2
+2x
3
x
4

+5x
5
→ max

2x -x +x +2x +x
4x - 2x + x
x - x + 2x + x
x + x +2x +x
x 0 (j = 1 5)
12 3 4 5
123
12 3 5
12 34
j

=
≥−











17
20

18
100


________________________________________________________________________
GV: Phan Thanh Tao
Bài ging Quy hoch toán hc Trang 23
________________________________________________________________________
6. f(x) = -5x
1
- 4x
2
+ 5x
3
- 3x
4
→ max

2x + 4x + 3x x 42
4x - 2x + 3x 24
3x + x 15
x 0 (j = 1 4)
1234
12 3
13
j

+
=













7. f(x) = 8x
1
+ 7x
2
+ 9x
3
> min

45 3
364
248
013
123
12 3
123
xxx
xx x
xxx
xj

j
−+=
+−≤
++=
≥∀=







,
6
9
7
6
3
2

8. f(x) = 2x
1
- x
2
+ 3x
3
> min

7x + 3x + 9x 5
2x - x - 8x

6x +4x + 2x
123
12 3
123

=−
=
≥∀=







18
20
013xj
j
,

9. f(x) = 3x
1
+ 2x
2
- 4x
3
> min

568

434
272
013
123
12 3
123
xxx
xx x
xxx
xj
j
−+=
++=
−−≤
≥∀=







,

10. f(x) = 3x
1
- x
2
+ 5x
3

> min

2x + 3x + 7x 5
5x - 2 x - x
6x + 2x + x
123
123
123

=−
=
≥∀=







41
10
013xj
j
,


11. f(x) = x
1
+ 2x
2

+ x
3
→ max

x -4 x + 2x -6
x +x + 2x 5
2x - x + 2x 3
x 0 (j = 1 3)
12 3
12 3
12 3
j

=
=










***********************
________________________________________________________________________
GV: Phan Thanh Tao
Bài ging Quy hoch toán hc Trang 24
________________________________________________________________________

Chng 3. BÀI TOÁN I NGU
3.1.
Các bài toán thc t
3.1.1. Bài toán lp k hoch sn xut
Mt nhà máy sn xut hai loi sn phm A, B gm hai phân xng vi nng sut nh
sau:
Phân xng I : 1 nghìn sn phm A + 4 nghìn sn phm B trong 1 nm. và
Chi phí 16 triu đng.
Phân xng II : 3 nghìn sn phm A + 1 nghìn sn phm B trong 1 nm. và
Chi phí 15 triu đng.
K hoch Nhà nc giao cho nhà máy là: 1 nghìn sn phm A + 2 nghìn sn phm B.
Hãy lp k hoch sn xut sao cho tng chi phí th
p nht đng thi đm bo k hoch
nhà nc giao cho nhà máy.
Gi x
1
là thi gian phân xng I sn xut ( đn v nm),
x
2
là thi gian phân xng II sn xut ( đn v nm)
Tng chi phí ca k hoach sn xut x=(x
1
, x
2
) là
f(x) = 16x
1
+ 15x
2
(triu đng)

Mô hình toán hc:

f(x) = 16x
1
+ 15x
2
 min
(d)






≥+
≥+
0
24
13
2,1
21
21
xx
xx
xx
3.1.2. Bài toán đánh giá sn phm
Vi nng sut hai phân xng ca nhà máy nh bài toán trên . Nhà máy sn xut đc 1
nghìn sn phm A và 2 nghìn sn phm B. Hãy đnh giá tr cho 1 sn phm A và 1 sn
phm B sao cho tng giá tr ca sn phm: phân xng I không vt quá chi phí là 16
triu đng/nm và phân xng II không vt quá chi phí là 15 triu đng/nm, và tng

giá tr sn phm ca nhà máy ln nht.
Gi y
1
(nghìn đng) là giá tr đn v sn phm A,
y
2
(nghìn đng) là giá tr đn v sn phm B
Tng giá tr sn phm theo k hoch đánh giá y=( y
1
, y
2
) là
g(y) = y
1
+2y
2
(nghìn đng)
Mô hình toán hc:
g(y) = y
1
+2y
2
 max
________________________________________________________________________
GV: Phan Thanh Tao
Bài ging Quy hoch toán hc Trang 25
________________________________________________________________________
( d
~
)







≤+
≤+
0
153
164
2,1
21
21
yy
yy
yy


x
2

(4,3)
d

(5/11, 2/11)


O
O x

1

f
min
=f(5/11, 2/11)= 10 (triu đng) g
max
=g(4, 3)= 10 (triu đng)

Nhn xét: f
min
= g
max
3.2. Bài toán đi ngu
3.2.1. i ngu không đi xng
Cho bài toán (d,f) dng chính tc
(1) f(x) = c

=
n
j 1
j
x
j
 min
(d)






=≥
==

=
) 1(0
) 1(
1
njx
mibxa
j
ij
n
j
ij

Cùng vi bài toán (I), xét bài toán (
d
~
, g) nh sau:
( 1
~
) g(y) = b

=
m
i 1
i
y
i
 max

( d
~
)





=
=≤

=
) 1(dotu
) 1(
1
miy
njcya
i
ji
n
j
ji
( 1
~
) gi là bài toán đi ngu ca bài toán (1).

________________________________________________________________________
GV: Phan Thanh Tao

×