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

Tài liệu Chương I: Một số mô hình và phương pháp tối ưu docx

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 (805.08 KB, 34 trang )

Chng I
MT S MÔ HÌNH VÀ PHNG PHÁP TI U
1. Mô hình quy hoch tuyn tính
1.1. Các bc cn thit khi áp dng phng pháp mô hình hoá
− Trc ht phi kho sát, phát hin vn đ cn gii quyt.
− Phát biu các điu kin ràng buc, mc tiêu ca bài toán di dng đnh tính.
Sau đó la chn các bin quyt đnh / các n s và xây dng mô hình đnh lng (còn
gi là mô hình toán hc).
− Thu thp s liu, xác đnh phng pháp gii quyt.
− nh ra quy trình gii / thut gii. Có th gii mô hình bng cách tính toán
thông thng. i vi các mô hình ln, gm nhiu bin và nhiu điu kin ràng buc
cn lp trình và gii mô hình trên máy tính.
− ánh giá kt qu. Trong trng hp phát hin thy có kt qu bt thng hoc kt
qu không phù hp vi thc t, cn kim tra và chnh sa li quy trình gii hoc mô hình.
− Trin khai các phng án tìm đc trên thc t.
Các thut ng sau thng gp khi áp dng phng pháp mô hình hoá:
− ng dng toán / Toán ng dng (Mathematical Applications hay Applied
Mathematics).
− Vn trù hc (Operations Research vit tt là OR).
− Khoa hc qun lí (Management Science vit tt là MS)
1.2. Mô hình quy hoch tuyn tính
Phát biu mô hình
Vi mc đích tìm hiu bc đu, xét mô hình toán hc sau đây, còn gi là mô
hình quy hoch tuyn tính hay bài toán quy hoch tuyn tính (BTQHTT), mà trong đó
chúng ta mun ti u hoá (cc đi hoá hay cc tiu hoá) hàm mc tiêu:
z = c
1
x
1
+ c
2


x
2
+ c
n
x
n


Max (Min)
vi các điu kin ràng buc:
a
11
x
1
+ a
12
x
2
+... +a
1n
x
n


b
1
a
21
x
1

+ 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

1
, x
2
,..., x
n
0 (điu kin không âm)

Ví d
vi cá
1
+ 2x
2
≤ 60
Cn tìm c các bin quyt đnh x
1
, x
2
đ các ràng buc đc tho mãn
và hà
 nh sau: Gi s mt xí nghip sn xut hai loi
sn p
ý ngha minh ho và giúp hiu bn cht vn đ.
phng án
kh th
− Trc ht chúng ta v đ th 4x
1
+ 2x
2
= 60 bng cách xác đnh hai đim trên
đ th

: z = 8x
1
+ 6x
2
→ Max
c ràng buc:
4x
2x
1
+ 4x
2
≤ 48
x
1
, x
2
≥ 0
giá tr ca cá
m mc tiêu đt giá tr ln nht.
Bài toán này có ý ngha kinh t
hm I và II.  sn xut ra mt đn v sn phm I cn có 4 đn v nguyên liu loi
A và 2 đn v nguyên liu loi B, các ch tiêu đó cho mt đn v sn phm loi II là 2
và 4. Lng nguyên liu d tr loi A và B hin có là 60 và 48 (đn v). Hãy xác đnh
phng án sn xut đt li nhun ln nht, bit li nhun trên mi đn v sn phm bán
ra là 8 và 6 (đn v tin t) cho các sn phm loi I và II.
Phng pháp đ th
Phng pháp đ th có
Bc 1: V min ràng buc / min các phng án kh thi, là tp hp các
i (các phng án, nu nói mt cách ngn gn). Mi phng án đc th hin qua
b s (x

1
, x
2
) còn gi là véc t nghim, tho mãn tt c các ràng buc đã có (xem hình
I.1).
: (x
1
= 0, x
2
= 30) và (x
2
= 0, x
1
= 15).



30
4x
1
+ 2x
2
= 60
O
4
8
12
x
1
2x

1
+ 4x
2
= 48
x
2
6 15
3
24
A
B
C
Hình Ph áp đ t ii bài toán hoch n tính I.1. ng ph h g quy tuy



















 th trên là mt đng thng chia mt phng làm hai na mt phng: mt phn
gm các đim (x , x ) tho mãn 4x + 2x ≤ 60; mt phn tho mãn 4x + 2x ≥ 60. Ta
tìm đ
a mt phng tho mãn 2x + 4x ≤
48.
n hai ràng buc đu tiên. Tuy nhiên, đ tho mãn điu kin không âm ca các
bin,
1 2
Cách 1: Dù á tr ca x
1
, x
2
mà z có nhng mc
giá tr khác nhau.
24 là bi s chung ca 6 và 8 đ vic tìm to đ các đim ct hai
trc t
= 6). Chúng ta nhn thy, nu tnh tin song song đng đng
mc l
1 2 1 2 1 2
c na mt phng tho mãn 4x
1
+ 2x
2
≤ 60.
− Tng t, có th v đ th 2x
1
+ 4x
2
= 48 bng cách xác đnh hai đim thuc đ

th (x
1
= 0, x = 12) và (x = 0, x = 24). Sau đó tìm n
2 2 1 1 2
− Lúc này, giao ca hai na mt phng tìm đc trên cho ta tp hp các đim (x
1
, x
2
)
tho mã
ta ch xét các đim nm trong góc phn t th nht. Vy min các phng án kh
thi là min gii hn bi t giác OABC (còn gi là đn hình vì là min to nên bi giao
ca các na mt phng).
Bc 2: Trong min (OABC) ta tìm đim (x , x ) sao cho
z = 8x
1
+ 6x
2
đt giá tr ln nht.
ng đng đng mc. Tùy theo gi
− V đng đng mc: 8x
1
+ 6x
2
= c  mc c = 24, (ta có th chn giá tr c bt
kì, nhng chn c =
o đ thun li hn). D dàng tìm đc hai đim nm trên đng đng mc này là
(x
1
= 0,

x
2
= 4) và (x
2
= 0, x
1
= 3). Các đim nm trên đng đng mc này đu cho giá tr hàm
mc tiêu z = 24.
− Tng t, có th v đng đng mc th hai: 8x
1
+ 6x
2
= 48 đi qua hai đim (x
1
=
0, x
2
= 8) và (x = 0, x
2 1
ên trên theo hng ca véc t pháp tuyn

n
r
(8, 6) thì giá tr ca hàm mc tiêu z = 8x
1
+
6x
2
tng lên.
Vy giá tr z ln nht đt đc khi đng đng mc đi qua đim B(12, 6) (tìm

đc x
1
= 12, x
2
= 6 bng cách gii h phng trình 4x
1
+ 2x
2
= 60 và 2x
1
+ 4x
2
= 48).
iên ca
đn h
in phng án.
Kt lun: Trong các phng án kh thi thì phng án ti u là (x
1
= 12, x
2
= 6).
Ti phng án này, giá tr hàm mc tiêu là ln nht z = 8 × 12 + 6 × 6 = 132.
max
Nhn xét: Phng án ti u ca bài toán trên (hay các BTQHTT khác, nu có)
luôn đt đc ti mt trong các đnh ca đn hình hay còn gi là các đim cc b
ình (chính xác hn, đim cc biên là đim thuc đn hình, mà không th tìm đc
mt đon thng nào cng thuc đn hình nhn đim đó là đim trong). Nhn xét trên
đây là mt đnh lí toán hc đã đc chng minh mt cách tng quát. Nói mt cách hình
nh, mun đt đc phng án ti u cho các BTQHTT thì cn phi “mo him” đi xét
các đim cc biên ca min phng án.

Cách 2: T nhn xét trên, đ tìm phng án ti u ta ch cn so sánh giá tr ca
hàm mc tiêu ti các đim cc biên ca m
Tính giá tr z ti O(0, 0): z(0, 0) = 0; ti A(0, 12): z(0, 12) = 72; ti C(15,0): z(15,
0) = 1
c
biên n
i BTQHTT đang xét, quy trình gii đc minh ho nh sau:


hoc:
O(0, 0) → C(15, 0) → B(12, 6) dng
S đ khi




20; ti B(12, 6): z(12, 6) = 132 = Max{z(O), z(A), z(B), z(C)}. Vy z
max
= 132.
Nhn xét: Mun tìm phng án ti u ca BTQHTT ta xut phát t mt đim c
ào đó, tìm cách ci thin hàm mc tiêu bng cách đi ti đim cc biên k nó. Tip
tc nh vy cho ti khi tìm đc phng án ti u. Trong trng hp BTQHTT có
phng án ti u thì quy trình gii này bao gm hu hn bc (do s đim cc biên là
hu hn).
i v
O(0, 0) → A(0,12) → B(12,6) dng
z = 0 → z = 72 → z = 132
z = 0 → z = 120 → z = 132
Bt đu
Nhp d liu

Tìm đim cc biên
xut phát
Tìm
đim iên cc b
k tt hn
Kim tra
đi u u kin ti 
In và lu tr kt qu
Dng
úng
Sai
Hình I.2. S đ khi gii BTQHTT




























uy trình gii BTQHTT tng quát có s đ khi gin lc nh trình bày trên hình
I.2. T
1.3. Phng pháp đn hình
i BTQHTT theo s đ trên.  gii ví d đã cho, trc
ht c
z = 8x
1
+ 6x
2
+ 0x
3
+ 0x
4
→ Max
vi các ràng buc:
4x
1
+ 2x
2
+ x
3

= 60
1 2 4
x
1
, x
2
, x , x
4
≥ 0
Cách lp và bin đi các bng đn hình
cn lp mt s bng đn hình nh trình
bày tr
t 1 là ct h s hàm mc tiêu ng vi các bin c s đã chn. Phng án xut
phát c
phng án) cn ghi các giá tr ca
các b
là các ct h s trong các điu kin ràng buc tng ng vi
các b
Q
rong s đ trên, vì mc đích trình bày vn đ đn gin, chúng ta không đ cp ti
các trng hp khi BTQHTT có min phng án là tp rng (lúc đó ta không tìm đc
phng án xut phát) cng nh khi ta không tìm đc đim cc biên k tt hn mc dù
điu kin ti u cha tho mãn (lúc đó tp các giá tr hàm mc tiêu z không b chn).
ây là phng pháp s gi
húng ta cn đa BTQHTT v dng chính tc bng cách thêm vào các bin bù
không âm x
3
và x
4
nh sau:

2x + 4x + x = 48
3
 gii BTQHTT dng chính tc trên đây,
ong bng I.1. Trc ht, cn đin s liu ca bài toán đã cho vào bng đn hình
bc 1:
− C
ó th chn là x
1
= x
2
= 0 (đây chính là đim gc to đ O(0, 0)), do đó x
3
= 60, x
4
=
48). Nh vy ti bc này chúng ta cha bc vào sn xut, nên trong phng án cha
có đn v sn phm loi I hay II đc sn xut ra (ch “sn xut” ra các lng nguyên
liu d tha, ta cng nói là các “sn phm” loi III và IV), và giá tr hàm mc tiêu z
tm thi bng 0. Các bin bù có giá tr ln hn 0 có ngha là các nguyên liu loi tng
ng cha đc s dng ht. Ta gi các bin x
3
và x
4
là các bin c s vì chúng có giá tr
ln hn 0 còn x
1
và x
2
là các bin ngoài c s vì chúng có giá tr bng 0. Vi bài toán
có hai ràng buc, ti mi bc ch có hai bin c s.

− Ct 2 là ct các bin c s. Trong ct 3 (ct
in c s đã chn.
− Các ct tip theo
in x
1
, x
2
, x
3
và x
4
ca bài toán đã cho.
Bng I.1. Các bng đn hình gii BTQHTT
c
1
= 8 c
2
= 6 c
3
= 0 c
4
= 0
H s hàm
mc tiêu c
j
Bin c
s
Phng
án
x

1
x
2
x
3
x
4
0
0
x
3
x
4
60
48
4
2
2
4
1
0
0
1
Hàng z z
0
= 0 z
1
= 0 z
2
= 0 z

3
= 0 z
4
= 0
Hàng ∆
j
= c
j
− z
j


1
= 8 ∆
2
= 6 ∆
3
= 0 ∆
4
= 0
8
0
x
1
x
4
15
18
1
0

1/2
3
1/4
−1/2
0
1
Hàng z z
0
= 120 z
1
= 8 z
2
= 4 z
3
= 2 z
4
= 0
Hàng ∆
j
= c
j
− z
j


1
= 0 ∆
2
= 2 ∆
3

= −2 ∆
4
= 0
8
6
x
1
x
2
12
6
1
0
0
1
1/3
−1/6
−1/6
1/3
Hàng z z
0
= 132 8 6 5/3 2/3
Hàng ∆
j
= c
j
− z
j
0 0
−5/3 −2/3


Phân tích bng đn hình bc 1
− H s ng vi bin x
1
trên hàng th nht là a
11
= 4 có ngha là t l thay th
riêng gia mt đn v sn phm loi I và mt đn v sn phm loi III là 4 (gii thích:
xét phng trình / ràng buc th nht 4x
1
+ 2x
2
+ x
3
= 60, x
1
tng mt đn v thì x
3

phi gim bn đn v nu gi nguyên x
2
). Tng t ta có th gii thích đc ý ngha
ca các h s a
ij
khác cho trên hàng 1 và hàng 2 trong bng đn hình bc 1.
− Chúng ta xét hàng z ca bng đn hình.  tính z
1
, cn áp dng công thc z
1
=

(ct h s ca hàm mc tiêu) × (ct h s ca bin x
1
) = 0×4 + 0×2 = (giá mt đn v
sn phm loi III)×(t l thay th riêng loi I / loi III) + (giá mt đn v sn phm loi
IV) × (t l thay th riêng loi I / loi IV) = tng chi phí phi b ra khi đa thêm mt
đn v sn phm loi I vào phng án sn xut mi = 0. Các giá tr z
j
, vi j = 1, 2, 3, 4,
đc tính tng t và chính là các chi phí khi đa mt thêm mt đn v sn phm loi
x
j
vào phng án sn xut mi. Còn z
0
là giá tr ca hàm mc tiêu đt đc ti phng
án đang xét: z
0
= (ct h s ca hàm mc tiêu)× (ct phng án) = 0×60 + 0×48 = 0.
− Trên hàng ∆
j
cn ghi các giá tr ∆
j,
j = 1, 2, 3, 4, tính theo công thc ∆
j
= c
j
–z
j
= li nhun trên mt đn v sn phm – chi phí trên mt đn v sn phm. Vy ∆
j


"lãi biên"/mt đn v sn phm khi đa thêm mt đn v sn phm loi j vào phng án
sn xut mi. Nu ∆
j
> 0 thì hàm mc tiêu còn tng đc khi ta đa thêm các đn v sn
phm loi j vào phng án sn xut mi. Có th chng minh đc ∆
j
chính là đo hàm
riêng ∂z/∂x
j
ca hàm mc tiêu z theo bin x
j
. Nh vy, x
1
tng lên 1 thì z tng lên 8 còn
x
2
tng lên 1 thì z tng lên 6.
Do ∆
1
và ∆
2
đu dng nên vn còn kh nng ci thin hàm mc tiêu khi chuyn
sang (hay “xoay sang”) mt phng án cc biên k tt hn (quay li nhn xét  phn
gii bài toán bng phng pháp đ th: đim cc biên k ca đim (0, 0) có th là A(0,
12) hay C(15, 0)).
Th tc xoay (pivotal procedure)
Bc 1: Chn ct xoay là ct có ∆
j
> 0 tc là chn bin x
j

làm bin c s mi do
x
j
tng kéo theo hàm mc tiêu tng.  đây ta chn đa x
1
vào (đánh du √  ct ∆
1
).
Bc 2: Chn hàng xoay đ xác đnh đa bin nào ra khi s bin c s (vì ti
mi bc s bin c s là không thay đi).  chn hàng xoay, ta thc hin quy tc “t
s dng bé nht" bng cách ly ct phng án (60 48)
T
chia tng ng cho ct xoay (4
2)
T
đ chn t s bé nht. Mt điu cn chú ý là ta ch xét các t s có mu s dng.
Vì Min{60/4, 48/2} = 60/4 đt đc ti hàng đu, nên ta đánh du √ vào hàng
xoay là hàng đu (hàng tng ng vi bin x
3
). Do đó cn đa x
3
ra khi các bin c
s.
Bc 3: Chn phn t xoay nm trên giao ca hàng xoay và ct xoay.
Bc 4: Xoay sang bng đn hình mi, xác đnh các bin c s mi đ đin vào
ct bin c s, đng thi thay các giá tr trong ct h s hàm mc tiêu. Sau đó, tính li
các phn t ca hàng xoay bng cách ly hàng xoay c chia cho phn t xoay đ có
hàng mi tng ng.
Bc 5: Các phn t còn li ca bng đn hình mi đc tính theo quy tc "hình
ch nht": (1)

mi
= (1)
c
– (2)
c
× (4)
c
/(3)
c
, trong đó (3) là đnh tng ng vi phn t
xoay (xem hình I.3).









(4)
(2) (3)
(1)
Chng hn: (1)
c
= 4, 2
(c)
= 2
(3)
c

= phn t xoay = 4, (4)
c
= 2
⇒ (1)
mi
= 4 − 2 ×
4
2
= 3.

Hình I.3. Quy tc hình ch nht

Gii thích: Các bc xoay trên đây ch là phép bin đi tng đng h phng
trình
4x
1
+ 2x
2
+ x
3
= 60 (a)
2x
1
+ 4x
2
+ x
4
= 48 (b)
đ có h
x

1
+ (1/2)x
2
+ (1/4)x
3
= 15 (a’)
0x
1
+ 3x
2
− (1/2)x
3
+ x
4
= 18 (b’)
bng cách ly phng trình (a) chia cho 4 (phn t xoay) đ có (a’), ri ly (b) tr bt
2
× (a)/4 đ có (b’). ây chính là ni dung ca bc 4 và bc 5. Còn bc 3 s đm
bo rng giá tr ca các bin c s mi không âm (x
1
= 15, x
4
= 18).
Áp dng th tc xoay cho các phn t nm trên hàng 1 và 2 ca bng đn hình
bc 1, sau đó tính các giá tr trên hàng z
j
và ∆
j
tng t nh khi lp bng đn hình
bc 1, chúng ta s nhn đc bng đn hình bc 2.

Phân tích bng đn hình bc 2
Bng bc 2 có th đc phân tích tng t nh bng bc 1. Cn chú ý rng lúc
này ta đang  v trí ca đim C(15, 0) vì x
1
= 15 còn x
2
= 0; giá tr ca hàm mc tiêu là
z
0
= 120 đã đc ci thin hn so vi bc 1. Ta thy ∆
2
= 2 > 0 nên còn có th ci
thin hàm mc tiêu bng cách chn bin x
2
làm bin c s mi. Thc hin các bc
xoay sang phng án cc biên k tt hn, chúng ta s có bng đn hình bc 3.
Phân tích bng đn hình bc 3
Ti bng đn hình bc 3 ta thy điu kin ti u đã đc tho mãn (

j


0

j=1, 2, 3, 4) nên không còn kh nng ci thin phng án. Phng án ti u đã đt đc
ti x
1
= 12, x
2
= 6, x

3
= 0, x
4
= 0, tc là ti đim cc biên B(12, 6) vi giá tr z
max
= 132.
Mt s chú ý
− iu kin ti u cho các BTQHTT dng Max là ∆
j
≤ 0 ∀j.
− i vi các BTQHTT cn cc tiu hoá hàm mc tiêu thì điu kin ti u (hay
tiêu chun dng) là ∆
j
≥ 0 ∀j (nu tn ti j mà ∆
j
≤ 0 thì cn tip tc ci thin hàm mc
tiêu bng cách chn ct j làm ct xoay...).
− Trong thc tin gii các BTQHTT dng tng quát có th xy ra trng hp
không tìm đc phng án xut phát (tc là không có phng án kh thi, xem thêm
mc 1.2). Lúc này có th kt lun mô hình đã thit lp có các điu kin ràng buc quá
cht ch, cn xem xét ni lng các điu kin này.
− Trong trng hp ta tìm đc ct xoay mà không tìm đc hàng xoay thì kt
lun hàm mc tiêu không b chn trên (đi vi các BTQHTT dng Max) hoc không b
chn di (đi vi các BTQHTT dng Min). Khi đó dng quá trình gii và kt lun mô
hình quy hoch tuyn tính đã thit lp không phù hp vi thc t.
1.4. Gii mô hình quy hoch tuyn tính bng các phn mm tính toán
Hin nay có nhiu phn mm tính toán gii BTQHTT khá hiu qu nh Excel,
Lingo. Nhng phn mm này rt thân thin vi ngi dùng. Tuy nhiên cn nhn mnh
rng, vic phát biu đc mô hình bài toán và phân tích, đánh giá đc kt qu mi
chính là nhng khâu quan trng nht trong phng pháp mô hình hoá. Sau đây, chúng

ta dùng phn mm Lingo đ gii ví d đã xét  trên.
z = 8x
1
+ 6x
2
→ Max
vi các ràng buc:
4x
1
+ 2x
2

60
2x
1
+ 4x
2

48
x
1
, x
2
≥ 0.
 gii bài toán này, chúng ta cn cài đt Lingo vào trong máy tính. Nhn vào
biu tng Lingo trên màn hình đ vào ca s Lingo. Sau đó thc hin các lnh Lingo:
Menu > New > <Untitle> và gõ vào các d liu ca bài toán nh hình I.4.

Hình I.4. Nhp d liu ca bài toán quy hoch tuyn tính trong Lingo
Tip theo, cn nháy chut vào nút LINGO và gii bài toán đ thu đc kt qu chi

tit nh trên hình I.5.

Hình I.5. Kt qu gii bài toán quy hoch tuyn tính trong Lingo
Kt qu chi tit cho ta bit giá tr cc đi ca hàm mc tiêu là 132 vi phng án
ti u là: x
1
= 12, x
2
= 6. Các giá tr ti u ca các bin đi ngu là y
1
= 5/3 và y
2
= 2/3
(còn gi là các giá c đnh hay giá bóng Shadow Prices).
1.5. Mt s ng dng ca phng pháp đn hình
(Gii các bài toán quy hoch sn xut trong lnh vc c khí và đin lc)
Bài toán phân phi đin nng
Có ba h ph ti cn đc cung cp đin nng t hai ngun đin nm cách xa
nhau. Giá thành truyn ti mt đn v đin nng t ngun i đn h tiêu th j là c
ij
. Kh
nng cung cp đin nng ca mi ngun b gii hn bi tr lng hin có ca chúng là
A
1
và A
2
. Nhu cu tiêu dùng ca các h tiêu th là B
1
, B
2

và B
3
. Gi x
ij
là lng đin
nng đc đa t ngun i ti h tiêu th j. Cn phi xác đnh các x
ij
sao cho tng chi
phí là nh nht. Nh vy ta có BTQHTT sau:
z = → Min
23
ij ij
i1 j1
cx
==
∑∑
vi các điu kin ràng buc là:
x
11
+ x
12
+ x
13
≤ A
1
,
x
21
+ x
22

+ x
23
≤ A
2
,
x
11
+ x
21
= B
1
,
x
12
+ x
22
= B
2
,
x
13
+ x
23
= B
3
,
x
ij
≥ 0, ∀i = 1, 2 và ∀j = 1, 2, 3.
Bài toán trên đây (hoc  dng tng quát hn) có th gii đc bng phng pháp

đn hình đã bit hay phng pháp phân phi s đc nghiên cu  mc 1.3, chng II.
Bài toán phân ti cho máy
Mt xí nghip có hai loi máy M
1
và M
2
. Các loi máy này có th sn xut đc ba
loi sn phm P
1
, P
2
và P
3
vi các nng sut là a
ij,
chng hn máy M
1
sn xut sn phm
P
2
vi nng sut a
12
. Mi đn v sn phm mang li lãi sut c
j
vi j = 1, 2, 3. Mi tháng xí
nghip phi sn xut sn phm loi j không ít hn b
j
đn v và không vt quá d
j
đn v,

j = 1, 2, 3. Hãy lp k hoch phân ti cho các máy sao cho đt tng li nhun ln nht.
D thy bài toán này dn ti BTQHTT sau:
z =
32
jij
j1 i1
cax
==
ij
∑∑
→ Max
vi các điu kin ràng buc:
a
11
x
11
+ a
21
x
21
≥ b
1
,
a
12
x
12
+ a
22
x

22
≥ b
2
,
a
13
x
13
+ a
23
x
23
≥ b
3
,
a
11
x
11
+ a
21
x
21
≤ d
1
,
a
12
x
12

+ a
22
x
22
≤ d
2
,
a
13
x
13
+ a
23
x
23
≤ d
3
,
x
11
+ x
12
+ x
13
≤ m
1
,
x
21
+ x

22
+ x
23
≤ m
2
,
x
ij
≥ 0, i = 1, 2 và j = 1, 2, 3.
(trong đó m
1
và m
2
là tng thi gian chy máy M
1
và M
2
).
Bài toán trên đây còn có th phát biu mt cách tng quát hn và vn gii đc
bng phng pháp đn hình. Hn na, trong lnh vc quy hoch sn xut hay qun lí
kinh doanh, nói riêng trong ngành c khí và đin lc, BTQHTT đc ng dng rt rng
rãi và mang li hiu qu cn thit.
2. B sung thêm v phng pháp đn hình
2.1. a BTQHTT v dng chính tc
Ví d 1: (Trng hp các ràng buc đu có du ≤)
z = 8x
1
+ 6x
2



Max
vi các ràng buc:
12
12
12
4x 2x 60
2x 4x 48
x,x 0
+≤


+≤





a BTQHTT v dng chính tc nh đã bit bng cách thêm hai bin bù (slack
variables) x
3
và x
4
. Ta có BTQHTT dng chính tc là:
z = 8x
1
+ 6x
2
+ 0x
3

+ 0x
4
→ Max
123
124
1234
4x 2x x 60
2x 4x x 48
x,x,x,x 0
++=


++=





Lúc này, trong h hai điu kin ràng buc đã có đ hai bin đng đc lp trong
tng phng trình vi h s +1, nên đã có th tìm đc phng án cc biên xut phát đ
bt đu quá trình gii bài toán. Mt cách tng quát, BTQHTT dng chính tc là bài toán
vi các bin không âm, các ràng buc vi du “=”, h s v phi ca các ràng buc
không âm. Ngoài ra, mi phng trình bt buc phi có mt bin đng đc lp vi h s
+1.
Ví d 2: (Trng hp có điu kin ràng buc vi du ≥)
z = 8x
1
+ 6x
2
→ Max

vi các ràng buc:
12
12
12
4x 2x 60
2x 4x 48
x,x 0
+≤


+≥





Ta thêm các bin bù x
3
(slack variable) mang du “+”, x
4
(surplus variable) mang
du “−” đ có h điu kin ràng buc sau:
123
124
1234
4x 2x x 60
2x 4x x 48
x,x,x,x 0
++=



+−=





Phi thêm bin gi x
5
(x
5
gi là lng vi phm ca phng trình th hai) đ đc
h điu kin ràng buc






=+−+
=++
0x,x,x,x,x
48xxx4x2
60xx2x4
54321
5421
321

Lúc này, đã có đ hai bin đng đc lp trong tng phng trình vi h s +1,
nên đã có th tìm đc phng án cc biên xut phát đ bt đu quá trình gii bài toán

bng phng pháp đn hình vi hàm mc tiêu là z = 8x
1
+ 6x
2
+ 0x
3
+ 0x
4
− Mx
5

Max, trong đó M ≈ +∞ và biu thc −Mx
5
gi là lng pht (đánh thu). Bài toán đã
đc đa v dng chính tc. Lng vi phm x
5
càng ln thì hàm mc tiêu càng gim,
giá tr ca hàm mc tiêu ch có th đt Max khi x
5
= 0.
Ví d 3: (Trng hp có bin không dng)
z = 8x
1
− 6x
2
→ Max
vi các ràng buc:
123
124
1234

4x 2x x 60
2x 4x x 48
x 0,x 0,x 0,x 0
++≤


+−=


≥≤≥≥


Lúc này mun gii bài toán bng phng pháp đn hình ta phi đi bin x'
2
= −x
2
.
Ta có BTQHTT vi các bin đu không âm.
z = 8x
1
+ 6x'
2
→ Max
vi các ràng buc:
123
124
1234
4x 2x' x 60
2x 4x' x 48
x,x',x,x 0

−+≤


−−=





Ví d 4: (Trng hp có bin vi du tu ý)
z = 8x
1
+ 6x
2
→ Max
vi các ràng buc:
12
12
12
4x 2x 60
2x 4x 48
x0,x
+≤


+≤






du tu ý
Lúc này ta vit bin x
2
di dng x
2
= x'
2
− x''
2
vi
2
22
x' max[0,x ]
x'' max[0, x ]
=


=−

2
thì đm bo
2
2
x' 0
x'' 0






Các ràng buc s là
1223
1224
1 2 234
4x 2x' 2x'' x 60
2x 4x' 4x' x 48
x ,x' ,x'' ,x ,x 0
+−+=


+−+=





Bài toán vi hàm mc tiêu là: z = 8x
1
+ 6x'
2
− 6x''
2
+ 0x
3
+ 0x
4

và các điu kin
ràng buc trên là BTQHTT dng chính tc.

Kt lun: Bao gi cng đa đc BTQHTT bt kì (các bin có du tu ý, các
ràng buc có th ≤, ≥, =) v dng chính tc.
2.2. Phng pháp đn hình m rng
Phng pháp đn hình m rng còn gi là phng pháp đánh thu M đc áp
dng đ đ gii BTQHTT có bin gi.
Ví d:
z = 8x
1
+ 6x
2
→ Max
vi các ràng buc:

×