Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa Giáo trình cho ngành Tin học và Công nghệ thông tin: Giáo trình tối ưu hóa
Trang 1PGS TS NGUY N H I THANH
T i u hóa
Giáo trình cho ngành Tin h c
và Công ngh thông tin
CH NG I BÀI TOÁN T I U T NG QUÁT VÀ NG D NG 7
1 BÀI TOÁN T I U T NG QUÁT VÀ PHÂN LO I 7
2 NG D NG BÀI TOÁN T I U GI I QUY T CÁC V N TH C T 9
3.1 Phát bi u bài toán quy ho ch tuy n tính d ng chính t c 23
1.4 Các tính ch t và ý ngh a kinh t c a c p bài toán i ng u 48
2 CH NG MINH M T S TÍNH CH T C A C P BÀI TOÁN I NG U 53
62
66 4.4 Ph ng pháp th v gi i bài toán v n t i 72 4.5 C s c a ph ng pháp phân ph i và ph ng pháp th v 74
1 PH NG PHÁP C T GOMORY GI I BÀI TOÁN QUY HO CH TUY N TÍNH NGUYÊN 81 1.1 Phát bi u bài toán quy ho ch tuy n tính nguyên 81 1.2 Minh h a ph ng pháp Gomory b ng th 82 1.3 Gi i bài toán quy ho ch tuy n tính nguyên b ng b ng 84
2 PH NG PHÁP NHÁNH C N LAND DOIG GI I BÀI TOÁN QUY HO CH TUY N TÍNH NGUYÊN 87 2.1 Minh h a ph ng pháp nhánh c n b ng th 87 2.2 N i dung c b n c a ph ng pháp nhánh c n
2.3 Khung thu t toán nhánh c n Land Doig
88
3 GI I BÀI TOÁN QUY HO CH TUY N TÍNH NGUYÊN
3.3 Áp d ng quy ho ch ng gi i bài toán quy ho ch tuy n tính nguyên 93 3.4 Bài toán cái túi
3.5 H p nh t hóa các ràng bu c c a bài toán quy ho ch tuy n tính nguyên
95
100
CH NG V M T S PH NG PHÁP QUY HO CH PHI TUY N 105
1 CÁC KHÁI NI M C B N C A BÀI TOÁN T I U PHI TUY N 105 1.1 Phát bi u bài toán t i u phi tuy n 105 1.2 Phân lo i các bài toán t i u phi tuy n toàn c c 106 1.3 Bài toán quy ho ch l i
4.2 Phát bi u i u ki n Kuhn Tucker cho bài toán quy ho ch toàn ph ng 121
Trang 2CH NG VI M T S V N C S C A LÝ THUY T QUY HO CH L I
2.2 Bi u di n t p l i a di n qua i m c c biên và h ng c c biên
2.3 i u ki n t i u trong ph ng pháp n hình gi i bài toán quy ho ch
4 CÁC I U KI N T I U FRITZ JOHN VÀ KUHN TUCKER 162
5.4 Ph ng pháp n hình l i Zangwill
172
6 GI I THI U PH NG PHÁP I M TRONG GI I
BÀI TOÁN QUY HO CH TUY N TÍNH 177
6
T i u hóa, c kh i ngu n nh m t ngành c a Toán h c, có r t nhi u ng d ng hi u qu
và r ng rãi trong quy ho ch tài nguyên, thi t k ch t o máy, i u khi n t ng, qu n tr kinh doanh, ki n trúc ô th , công ngh thông tin, trong vi c t o nên các h h tr ra quy t nh trong
qu n lý và phát tri n các h th ng l n Chính vì v y, các l nh v c c a T i u hóa ngày càng tr nên
a d ng, mang nhi u tên g i khác nhau nh Quy ho ch toán h c, i u khi n t i u, V n trù h c, Lý thuy t trò ch i Hi n nay, môn h c T i u hóa c a vào gi ng d y trong nhi u ch ng trình
ào t o i h c cho các ngành khoa h c c b n, k thu t công ngh , kinh t qu n lý, sinh h c
nông nghi p, xã h i nhân v n, sinh thái môi tr ng v i th i l ng thông th ng t ba cho t i sáu h c trình i v i sinh viên các ngành Tin h c, Công ngh thông tin và Toán Tin
ng d ng, môn h c T i u hóa là m t môn h c c s không th thi u Giáo trình T i u hóa này c biên so n v i m c ích cung c p cho sinh viên n m th hai ngành Tin h c c a Khoa Công ngh thông tin, Tr ng i h c Nông nghi p I, m t s ki n th c c b n v các l nh v c quan tr ng c a T i u hóa Qua giáo trình này, sinh viên c n n m c c s lý thuy t m t
m c nh t nh, n m ch c các thu t toán t i u c b n áp d ng trong vi c xây d ng các
ph n m m t i u tính toán gi i các bài toán kinh t , công ngh , k thu t và qu n lý
Ch ng I gi i thi u t ng quan và ng n g n bài toán t i u t ng quát và phân lo i các bài toán t i u c b n, c ng nh gi i thi u m t s ví d và mô hình t i u phát sinh trong th c t
Ph n u trình bày v Quy ho ch tuy n tính bao g m ch ng II, III và IV Ph n này nh n m nh vào vi c trình bày các ph ng pháp và thu t toán c i n c a Quy ho ch tuy n tính, nh ph ng pháp n hình (bao g m c ph ng pháp hai pha và ph ng pháp n hình c i biên d ng ma
tr n ngh ch o), ph ng pháp n hình i ng u, ph ng pháp th v gi i bài toán v n t i, các
ph ng pháp c t Gomory và nhánh c n Land Doig c ng nh ph ng pháp quy ho ch ng gi i bài toán quy ho ch tuy n tính nguyên Ph n sau c a giáo trình bao g m hai ch ng v Quy
ho ch phi tuy n Ch ng V trình bày m t s ph ng pháp và thu t toán t i u phi tuy n không
vi c trình bày các ph ng pháp t i u c p t i trong giáo trình c ng ph i áp ng c tiêu chu n t i u, sinh viên ph i hi u c và làm c Chính vì v y, các ph ng pháp luôn c trình bày m t cách c th thông qua các ví d m u t d t i khó, mà nh ng ví d này có th c
s d ng nhi u l n ti t ki m th i gian
M t s tài li u ng i h c có th tham kh o thêm v Quy ho ch tuy n tính là: Nguy n c Ngh a, T i u hóa, Nxb Giáo d c, 2002; Phan Qu c Khánh Tr n Hu N ng, Quy ho ch
tuy n tính, Nxb Giáo d c, 2003 V Quy ho ch phi tuy n có th c thêm m t s ch ng liên
quan trong các sách tham kh o sau: Bazaraa M.S, Shetty C.M, Nonlinear programming: Theory and algorithms, John Wiley and Sons, New York, 1990; Horst R, Hoàng T y, Global optimization: Deterministic approaches, Springer Verlag, Berlin, 1993; Bùi Th Tâm Tr n V Thi u, Các ph ng pháp t i u hóa, Nxb Giao thông v n t i, 1998 Ng i c c ng có th s
d ng Internet tìm ki m các t p chí và tài li u liên quan
Bài toán t i u t ng quát và ng d ng
1 Bài toán t i u t ng quát và phân lo i
1.1 Bài toán t i u t ng quát
T i u hóa là m t trong nh ng l nh v c kinh i n c a toán h c có nh h ng n h u h t
các l nh v c khoa h c công ngh và kinh t xã h i Trong th c t , vi c tìm gi i pháp t i u
cho m t v n nào ó chi m m t vai trò h t s c quan tr ng Ph ng án t i u là ph ng án h p
lý nh t, t t nh t, ti t ki m chi phí, tài nguyên, ngu n l c mà l i cho hi u qu cao
Ví d 1 Tìm x D [ 2, 2, 1,8] R sao cho f(x) = x1 3 3x + 1 Max
Bài toán t i u trên có d ng c c i hoá c gi i nh sau: Cho f(x) = 3x2 3 = 0, ta có các
i m t i h n là x = 1 và x = +1 Xét giá tr hàm s f(x) t i các i m t i h n v a tìm c và t i
các giá tr x = 2,2 và x = 1,8 (các i m u mút c a o n [2,2, 1,8]), ta có f(2,2) = 3,048 , f(
1) = 3, f(1) = 1, f(1,8) = 1,432 V y giá tr x c n tìm là x = 1 K t qu c a bài toán c minh
ho trên hình I.1
Cho hàm s f: D R n R Bài toán t i u t ng quát có d ng: Max (Min) f(x), v i x
D R n Nh v y, c n tìm i m x = (x 1 , x 2 , , x n ) D R n sao cho hàm m c tiêu f(x) t
c giá tr l n nh t i v i bài toán Max c c i hoá (giá tr bé nh t i v i bài toán Min
Hình I.1 th hàm f(x)
i m x = (x1, x2, , xn) D Rn c g i là ph ng án kh thi (hay ph ng án ch p nh n
c ho c ph ng án, n u nói v n t t) c a bài toán t i u: Max (Min) f(x), v i x D R n Mi n
D c g i là mi n ràng bu c Các to thành ph n c a i m x c g i là các bi n quy t nh, còn x c ng c g i là véc t quy t nh
Xét bài toán c c i hoá: Max f(x), v i x D R n i m x* = x , x , ., x1 2 n Rn c
D th y, m i ph ng án t i u toàn c c c ng là ph ng án t i u a ph ng, trong khi ó
m t ph ng án t i u a ph ng không nh t thi t là ph ng án t i u toàn c c Trên hình I.1,
i m x = 1 ch là ph ng án t i u a ph ng khi xét bài toán c c ti u hoá
Ví d 2 Xét bài toán t i u sau: Max f (x) 8x1 6x , v i i u ki n ràng bu c 2
x D = { (x1, x2) R2: 4x1 + 2x2 60; 2x1 + 4x2 48, x1 0, x2 0} Bài toán t i u trên ây còn c g i là bài toán quy ho ch tuy n tính Ng i ta ã ch ng minh c r ng m i ph ng án t i u a ph ng c a bài toán quy ho ch tuy n tính c ng ng
th i là ph ng án t i u toàn c c
1.2 Phân lo i các bài toán t i u
Các bài toán t i u, c ng còn c g i là các bài toán quy ho ch toán h c, c chia ra thành các l p sau:
Bài toán quy ho ch tuy n tính (BTQHTT),
Bài toán t i u phi tuy n hay còn g i là bài toán quy ho ch phi tuy n (BTQHPT), bao
g m c bài toán quy ho ch l i (BTQHL) và bài toán quy ho ch toàn ph ng (BTQHTP),
Bài toán t i u r i r c, bài toán t i u nguyên và h n h p nguyên
Bài toán quy ho ch ng,
Bài toán quy ho ch a m c tiêu,
Bài toán quy ho ch ng u nhiên / m
Các ph ng pháp toán h c gi i các l p bài toán t i u t ng quát nh nêu trên ây c g i
là các ph ng pháp t i u toán h c (hay các ph ng pháp quy ho ch toán h c) Trong giáo trình này, tr c h t chúng ta nghiên c u các ph ng pháp gi i BTQHTT, bao g m c các BTQHTT nguyên và h n h p nguyên Sau ó, chúng ta s xem xét các ph ng pháp gi i m t s d ng c
bi t c a BTQHPT Các ph ng pháp c xem xét ch y u v khía c nh th t c tính toán thông qua các ví d n gi n, nh m giúp cho sinh viên ngành Tin h c, Công ngh thông tin khi h c giáo trình này vào n m h c th hai có th làm quen v i t duy l p trình tính toán Ph n cu i c a giáo trình s c p t i m t s c s lý thuy t c a gi i tích l i và quy ho ch phi tuy n, là các v n có
Trang 3u hóa
2 ng d ng bài toán t i u gi i quy t các v n th c t
2.1 Ph ng pháp mô hình hoá toán h c
Nhi u v n phát sinh trong th c t có th gi i c b ng cách áp d ng các ph ng pháp
t i u toán h c Tuy nhiên, i m m u ch t ây là t bài toán th c t c n xây d ng c m t mô
hình t i u thích h p d a vào các d ng bài toán t i u ã bi t Sau ó c n áp d ng ph ng pháp
t i u toán h c và quy trình tính toán thích h p tìm ra l i gi i cho mô hình ã t ra
Các b c c n thi t ti n hành khi áp d ng ph ng pháp mô hình hoá toán h c có th c
phát bi u m t cách khái quát nh sau:
Tr c h t ph i kh o sát bài toán th c t và 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 và 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 d li u và l a ch n ph ng pháp toán h c thích h p gi i quy t mô hình trên
Trong tr ng h p mô hình toán h c là mô hình t i u, c n l a ch n ph ng pháp t i u thích h p
gi i mô hình
Xác nh quy trình gi i / thu t toán Có th gi i mô hình b ng cách tính toán thông
th ng trên gi y i v i các mô hình l n, bao g m nhi u bi n và nhi u i u ki n ràng bu c c n
ti n hành l p trình và gi i mô hình trên máy tính tìm ra ph ng án th a mãn mô hình
ánh giá k t qu tính toán Trong tr ng h p phát hi n th y có k t qu b t th ng, c n
xem xét nguyên nhân, ki m tra và ch nh s a l i mô hình ho c d li u u vào ho c quy trình gi i
/ thu t toán / ch ng trình máy tính
Ki m ch ng các k t qu tính toán trên th c t N u các k t qu thu c c coi là h p
lý, phù h p v i th c t hay c các chuyên gia ánh giá là có hi u qu h n so v i các ph ng
án tr c ây thì c n tìm cách tri n khai ph ng án tìm c trên th c t
Rõ ràng r ng gi i quy t các v n phát sinh t các bài toán th c t c n có c s
h p tác ch t ch gi a các chuyên gia trong l nh v c chuyên môn, các chuyên gia Toán, Toán
ng d ng và các chuyên gia Tin h c, k s l p trình i u này là c bi t c n thi t khi gi i
quy t các bài toán cho các h th ng l n Vi c thi t l p c m t mô hình h p lý, ph n ánh
c b n ch t c a bài toán th c t ng th i kh thi v ph ng di n tính toán luôn v a mang
tính khoa h c thu n túy, v a có tính ngh thu t Các thu t ng sau th ng g p khi áp d ng
ph ng pháp mô hình hoá toán h c:
Toán ng d ng (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)
ng d ng máy tính (Computer Applications)
Mô hình t i u (Optimization Models)
10
Nh ng n m g n ây, nhi u bài toán th c t c gi i quy t b ng ph ng pháp mô hình hóa toán h c r t thành công Trong s các mô hình toán h c ã c áp d ng có nhi u mô hình t i u,
c gi i quy t thông qua các bài toán t i u kinh i n Trong tr ng h p hàm m c tiêu c ng
nh t t c các ràng bu c u là các hàm tuy n tính, thì bài toán t i u là BTQHTT BTQHTT có
th gi i c b ng m t s ph ng pháp t i u quen bi t (nh ph ng pháp n hình, ph ng pháp n hình c i biên hay các ph ng pháp i m trong) BTQHTT ã và ang c s d ng
r ng rãi trong quy ho ch tài nguyên, qu n lý s d ng t c ng nh nhi u l nh v c c a qu n lý, kinh t và qu n tr kinh doanh
Trong tr ng h p ho c hàm m c tiêu ho c m t trong s các ràng bu c là phi tuy n, chúng
ta có BTQHPT Trong các mô hình t i u d a trên BTQHPT nói chung, và trong các mô hình t i
u trong l nh v c nông nghi p nói riêng, l i gi i t i u toàn c c có m t ý ngh a quan tr ng
Ch ng h n trong thi t k máy nông nghi p, sau khi dùng ph ng pháp phân tích h i quy nhi u chi u, ta th ng thu c hàm m c tiêu có d ng phi tuy n Các bài toán t i u toàn c c c ng có
th n y sinh trong quy ho ch kinh t sinh thái vùng, hay xác nh c c u t canh tác cây
tr ng Bài toán t ra là ph i tìm c l i gi i t i u toàn c c Có r t nhi u ph ng pháp gi i các
l p bài toán t i u phi tuy n riêng bi t, nh ng ch a có ph ng pháp nào t ra h u hi u cho m i bài toán t i u phi tuy n, c bi t là cho các bài toán v i m t s hay t t c các bi n quy t nh
nh n các giá tr nguyên
Sau ây là các ví d minh ho m t s ng d ng c a bài toán t i u
Ví d 3 Bài toán quy ho ch s d ng t (Mô hình t i u tuy n tính gi i bài toán quy
ho ch s d ng t trên a bàn xã ông D , huy n Gia Lâm, t nh Hà N i)
Chúng ta xét mô hình t i u v i m c tiêu c n c c i hoá là hi u qu kinh t thi t l p
mô hình, tr c h t ch n các bi n quy t nh D a vào k t qu các d li u ã thu c, ta ch n các bi n quy t nh nh sau: xj v i j = 1, 2, , 18 là di n tích các lo i cây tr ng, n v tính là
ha (theo th t là: lúa xuân, lúa mùa, ngô xuân, ngô ông, ngô bao t ông, l c xuân, u xanh xuân, u t ng ông t chuyên màu, u t ng ông t ba v , d a chu t xuân, d a chu t bao
t , m p ng xuân, rau mùi tàu, rau gia v , u cô ve ông, t xuân, cà chua xuân, cà chua ông), x19 là di n tích ao h th cá, xj v i j = 20, , 23 là s u v t nuôi trong n m (trâu, bò,
l n, gia c m) Còn x24 là s công lao ng thuê ngoài, x25 là l ng ti n v n vay ngân hàng, n v tính là nghìn ng Lúc ó chúng ta có BTQHTT sau v i 33 ràng bu c (ch a k i u ki n không
âm c a các bi n)
Hi u qu kinh t c n c c i hóa là: f(x) = 4306,14x1 + 4168,73x2 + 3115,21x3 + 3013,11x4 + 4158,68x5 + 4860,91x6 + 4295,31x7 + 3706,11x8 + 3788,25x9 + 12747,31x10 + 12752,96x11 + 12064,81x12 + 79228,88x13 + 35961,31x14 + 10823,91x15 + 7950,16x16 + 7928,06x17 + 5738,46x18 + 11129,50x19 + 429,00x20 + 674,00x21 + 219,50x22 + 11,10x23 15,50x24
Ví d 4 Bài toán c c i hoá giá tr s n xu t (Mô hình t i u phi tuy n gi i bài toán c c
i hoá giá tr s n xu t trên m t héc ta nuôi cá t i huy n V n Giang, t nh H ng Yên)
S d ng s li u i u tra 112 h nuôi cá vùng ng trong ê thu c 4 xã thu c huy n V n
Giang, H ng Yên, tìm ph ng trình h i quy m , chúng ta nh n c hàm giá tr s n xu t
(d ng Cobb Douglas) chính là hàm m c tiêu c n c c i hoá sau ây:
z = f(x) = 19,375 x10,236 x20,104 x30,096 x40,056 x50,056 e0,168 x6 e0,066 x7
Max trong ó:
z : giá tr s n xu t bình quân 1 ha 1 n m (tri u ng / ha),
x1 : chi phí gi ng bình quân 1 ha 1 n m (tri u ng / ha),
x2 : chi phí th c n bình quân 1 ha 1 n m (tri u ng / ha),
x3 : chi phí lao ng bình quân 1 ha 1 n m (tri u ng / ha),
x4 : chi phí kh u hao và thuê t bình quân 1 ha 1 n m (tri u ng / ha),
x5 : các chi phí khác bình quân 1 ha 1 n m (tri u ng / ha),
pháp t i u phi tuy n thích h p có tên g i là RST2ANU gi i BTQHPT toàn c c h n h p nguyên ã thi t l p trên ây ta có k t qu trong b ng I.1
B ng I.1 K t qu c c u u t t i u vùng ng
u t (tr/ha) < 40 40 50 50 60 60 70 > 70
x1 35 45% 39 45% 39 45% 35 45% 35 40% x2 15 20% 17 25% 17 23% 15 20% 18 25% x3 15 20% 15 20% 15 20% 16 19% 17 23%
x5 10 15% 10 15% 9 15% 9 15% 10 15% Giá tr s n xu t (tr / ha) < 78,1 78,1 88,3 88,3 97,5 97,5 106 > 106 Thu nh p ròng (tr / ha) 38,138,3 38,337,5 37,536
Vi c th c hi n c c u u t t i u làm giá tr s n xu t (GO) c ng nh thu nh p ròng (NI =
M t cách c th h n, khi áp d ng ph ng pháp t i u thích h p t i m c u
t 50 tri u ng / ha có th tìm c ph ng án t i u sau: zmax = 88,360733 v i
x1 = 21,498072, x2 = 9,528987, x3 = 8,758034, x4= 5,138906, x5 = 5,076000, x6 = 1 và x7 = 0
Ví d 5 Bài toán t i u thông s sàng phân lo i (Mô hình t i u phi tuy n gi i quy t v n
tính toán m t s thông s hình h c và ng h c c a c c u sàng phân lo i dao ng)
Trang 4vi c tìm nghi m c a h ph ng trình phi tuy n phát sinh trong quá trình tính toán m t s thông s
hình h c và ng h c c a c c u sàng phân lo i dao ng (c n chú ý r ng nhi u ph ng pháp
tính toán thông d ng khác c a gi i tích s ã t ra không hi u qu ):
v sin(3 ) + v5sin5 yD1)2 min
K t qu tính toán c t ng h p trong b ng I.2 v i zmin = 0
B ng I.2 K t qu tính toán giá tr các thông s c a sàng phân lo i
Ví d 6 Bài toán thi t k tr c máy (Mô hình quy ho ch phi tuy n a m c tiêu gi i quy t
bài toán thi t k tr c máy)
Trong ví d này chúng ta c p t i m t mô hình t i u phi tuy n hai m c tiêu
ây, x = (x1, x2) là véc t quy t nh, v i x1, x2 là các bi n quy t nh sau: x1 dài
ph n giáp n i tr c, x2 ng kính trong c a tr c Các thông s khác ã c th hi n trong các hàm m c tiêu f1(x) và f2(x)
V y c n ph i ch n các giá tr cho các bi n quy t nh (còn g i là các bi n thi t k ) x1,
x2 t i u hoá ng th i các m c tiêu 1 và 2 trong các i u ki n ràng bu c sau:
g1(x) = 180
6
9,78 10 x4,096 10 x 0 (1.1)
Vi c phát bi u bài toán t i u a m c tiêu d i d ng toán h c (chính là vi c l p mô hình toán h c cho v n phát sinh) là m t khâu r t quan tr ng nh m mô t t t nh t hành vi c a h
th ng ang c xem xét, m t khác nh m tìm ra c các ph ng pháp t i u hoá có hi u qu
i t i m t ph ng án t t và mang l i l i ích Sau ây, v i m c ích tìm hi u b c u, vi c áp
d ng ph ng pháp t ng tác ng i máy tính gi i bài toán t i u hai m c tiêu ã c thi t l p trên ây s c trình bày m t cách v n t t
Tr c h t, hai m c tiêu f1(x) và f2(x) c chuy n thành hai hàm thu c m ph n ánh tho mãn c a ng i ra quy t nh i v i t ng m c tiêu Các hàm thu c m này là các hàm tuy n tính t ng khúc, c vi t d i d ng gi n l c nh sau cho m t s nút n i suy:
Lúc ó có th áp d ng phép n i suy tuy n tính tính các giá tr c a 1(f1) ho c 2(f2) t i
các giá tr khác c a f1 hay f2 Các hàm thu c m này cho phép quy các n v o khác nhau c a f1
và f2 vào cùng m t thang b c o, ó là th a d ng c a ng i ra quy t nh / ng i gi i bài toán
Phân tích hàm thu c m 1, có th th y: ng i ra quy t nh s có tho mãn 0 i v i m i
ph ng án x = (x1, x2) làm cho f1 6,594 106, tho mãn 1 n u f1 2,944 106 và tho mãn
0,5 n u f1 = 4 106 tho mãn 0,5 c coi là tho mãn t i thi u và m c f1 = 4 106 = b1
c g i là m c u tiên t ng ng i v i m c tiêu f1 T ng t chúng ta có th phân tích v
hàm thu c 2 và m c u tiên b2
Chúng ta xét hàm phi tuy n g(x) = Min {1[f1(x)], 2[f2(x)]} và bài toán maxmin c
thi t l p cho hai hàm m c tiêu riêng r trên d i d ng BTQHPT: Max g(x) = MaxMin{1[f1(x)],
-2[f2(x)]} v i các ràng bu c (1.1), (1.2), (1.3) và (1.4)
Vi c gi i BTQHPT trên ây c th c hi n nh m t ph ng pháp t i u phi tuy n thích
h p, c cài t t ng trên máy tính tìm ra các ph ng án t i u c a mô hình phi tuy n hai
m c tiêu ban u i u ch nh thích h p giá tr c a các m c u tiên b1 và b2, có th tìm c các
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 = f(x) = 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 1 Xét BTQHTT: Max z = 8x1 + 6x2, v i các ràng bu c 4x1 + 2x2 60
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 / 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
Trang 5Ph ng pháp th có ý ngh a minh h a và giúp hi u b n ch t v n
B c 1: V mi n các ph ng án kh thi (còn g i là mi n ràng bu c) là t p h p các ph ng
án kh thi (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
(x1, x2), tho mãn t t c các ràng bu c ã có k c i u ki n không âm c a các bi n (xem hình
II.1)
Tr c h t chúng ta v ng th ng có ph ng trình là 4x1 + 2x2 = 60 b ng cách xác nh
hai i m thu c ng th ng: (x1 = 0, x2 = 30) và (x1 = 15, x2 = 0)
ng th ng này chia m t ph ng làm hai n a m t ph ng M t ph n g m các i m (x1, x2)
tho mãn: 4x1 + 2x2 60, ph n còn l i tho mãn: 4x1 + 2x2 60 Ta tìm c n a m t ph ng tho
mãn: 4x1 + 2x2 60
T ng t , có th v ng th ng có ph ng trình là 2x1 + 4x2 = 48 b ng cách xác nh
hai i m thu c ng th ng là (x1 = 0, x2 = 12) và (x1 = 24, x2 = 0) Sau ó tìm n a m t ph ng
tho mãn: 2x1 + 4x2 48
Lúc này, giao c a hai n a m t ph ng tìm c trên ây cho ta t p h p các i m (x1, x2)
tho mãn các ràng bu c Tuy nhiên, tho mãn i u ki n không âm c a các bi n, 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 (nói v n t t h n, mi n
ph ng án) là mi n gi i h n b i t giác OABC (còn g i là t p l i a di n vì là mi n t o nên b i
ch n c = 24 là b i s chung c a 6 và 8 vi c tìm t a các i m c t hai tr c t a 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à (x1 = 0, x2 = 4) và (x1 = 3, x2 = 0) 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: 8x1 + 6x2 = 48 i qua hai i m (x1 = 0, x2 = 8) và (x2 = 0, x1 = 6) Chúng ta nh n th y, n u t nh ti n song song ng ng m c lên trên theo
h ng c a véc t pháp tuy n n (8, 6) thì giá tr c a hàm m c tiêu z = 8x1 + 6x2 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 x1 =
12, x2 = 6 b ng cách gi i h ph ng trình 4x1 + 2x2 = 60 và 2x1 + 4x2 = 48)
Do ó, trong các ph ng án kh thi thì ph ng án t i u là (x1 = 12, x2 = 6) T i ph ng án này, giá tr hàm m c tiêu là l n nh t zmax = 8 12 + 6 6 = 132
Nh n xét Ph ng án t i u (n u có) c a m t BTQHTT v i mi n ph ng án D, là m t t p
l i a di n có nh, luôn t c t i ít nh t m t trong các nh c a D Các nh này còn c g i
là các i m c c biên c a t p l i a di n D (chính xác h n, i m c c biên là i m thu c t p l i a
di n, mà không th tìm c m t o n th ng nào c ng thu c t p l i a di n nh n i m ó là i m trong) Nh n xét trên ây là m t nh lý toán h c (xem thêm ch ng VI) ã 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, i v i BTQHTT có ph ng án t i u và có mi n ph ng án D
là t p l i a di n có nh, ta có th tìm ph ng án t i u b ng cách 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 D Quay l i ví d 1, ta có 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) = 120 và t i B(12, 6): z(12, 6) = 132 ( t zmax)
Nh n xét Xét BTQHTT có ph ng án t i u và có mi n ph ng án D là t p l i a di n có
nh tìm ph ng án t i u, ta xu t phát t m t i m c c biên nào ó và 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 t t h n Ti p t c nh v y cho t i khi tìm c
ph ng án t i u 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 i BTQHTT trong ví d 1, quy trình gi i c minh ho nh sau:
Quy 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 II.2 Trong
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 c c biê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
Hình II.2 S kh i gi i BTQHTT
gi i BTQHTT d ng chính t c trên ây, c n l p m t s b ng n hình nh trong b ng II.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 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ó
th ch n là x1 = x2 = 0 ( ây chính là i m g c to O(0, 0) trên hình II.1), do ó x3 = 60, x4 =
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 lo i II nào 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
1/6
1/6 1/3
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 x3 và x4 là các bi n c s vì chúng có giá tr l n h n 0 còn x1 và x2 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 ph ng án) c n ghi các giá tr c a các bi n
c s ã ch n
Các c t ti p theo 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 bi n
x1, x2, x3 và x4 c a bài toán ã cho
Phân tích b ng n hình b c 1
H s ng v i bi n x1 trên hàng th nh t là a11 = 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 (hay
Trang 6ph 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 zj, v i j = 1, 2, 3, 4, c tính t ng t và chính là
các chi phí khi a thêm m t n v s n ph m lo i xj vào ph ng án s n xu t m i Còn z0 là giá
tr c a hàm m c tiêu t c t i ph ng án ang xét: z0 = (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 = cj zj = l i
nhu n / n v s n ph m chi phí / n v s n ph m V y j là "lãi biên" / m t n v s n ph m
khi a m t thêm m t n v s n ph m lo i xj 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 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 c a hàm m c tiêu z theo bi n xj j Nh v y,
x1 t ng lên 1 thì z t ng lên 8 còn x2 t ng lên 1 thì z t ng lên 6
Do 1 và 2 u l n h n 0 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 m c 1.2, 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 O(0, 0) có th là A(0, 12) hay C(15,
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 hàng xoay là hàng u (hàng t ng
ng v i bi n x3) Do ó c n a x3 ra kh i t p 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
có h
x1 + (1/2)x2 + (1/4)x3 = 15 (2.1) 0x1 + 3x2 (1/2)x3 + x4 = 18 (2.2)
b ng cách l y ph ng trình (2.1) chia cho 4 (ph n t xoay) có (2.1), r i l y (2.2) tr b t 2 (2.1)/4 có (2.2) ây chính là n i dung c a b c 4 và b c 5 Còn vi c th c hi 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 (x1 = 15,
x4 = 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 zj 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ì x1 = 15 còn x2 = 0 (xem hình II.1) T i i m này giá tr c a hàm
m c tiêu là z0 = 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 a bi n x2 vào 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, 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 x1 = 12, x2 = 6, x3 = 0,
x4 = 0, t c là t i i m c c biên B(12, 6) v i giá tr zmax = 132 (xem thêm hình II.1)
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 j* sao cho j*< 0 thì c n ti p t c c i thi n hàm m c tiêu b ng cách
Hình II.3 Quy t c hình ch nh t
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) 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)
Trong các tr ng h p trên c ng ph i d ng l 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
2.2 Khung thu t toán n hình
Sau ây là khung thu t toán c a ph ng pháp n hình c phát bi u cho BTQHTT c c
tho mãn thì in / l u tr k t qu c a bài toán và chuy n sang b c k t thúc
B c 2: N u t n t i m t ch s j sao cho j > 0 thì ti n hành th t c xoay g m n m b c
ã bi t, tính l i các j, j = 1,n và quay l i b c 1 (Chú ý: 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, in / l u tr k t qu
c a bài toán và chuy n sang b c k t thúc)
BTQHTT trên ây c g i là BTQHTT d ng chu n t c n u h ng c a A b ng m và b 0
(các t a c a b u không âm) Ngoài ra, n u A có m véc t c t là các véc t n v c l p
tuy n tính thì BTQHTT d ng chu n t c tr thành BTQHTT d ng chính t c Trong tr ng h p BTQHTT d ng chính t c, không làm gi m tính t ng quát, chúng ta luôn có th coi m véc t c t aj
, j = n m 1,n là các véc t n v c l p tuy n tính,
Ví d 2 Chúng ta xét l i ví d 1 c a ch ng này
Max z = 8x1 + 6x2 + 0x3 + 0x4
v i các ràng bu c 4x1 + 2x2 + x3 = 60 2x1 + 4x2 + x4 = 48
N B
x , x và véc t h s hàm m c tiêu c = T TT
N B
c , c Trong ví d 2, ta có: JN = {1, 2}, JB = {3, 4} D dàng th y, ph ng án ban u
x = T TT
N B
x , x = (0, 0, 60, 48)T, trong ó xN = (x1, x2)T = (0, 0)T và xB = (x3, x4)T = (60, 48)T Véc t h s hàm m c tiêu là c = T TT
4 , a3 = 1
0 , a4 = 0
Trang 7(0, 0, , 0, b1, b2, , bm)T, trong ó n m t a u tiên u b ng 0 ây là m t ph ng án c c
biên M t cách t ng quát, xét m t phân rã tùy ý c a ma tr n A = [N B] v i B là ma tr n vuông
c t o nên t m véc t c t c l p tuy n tính c a A, N là ma tr n c t o nên t các véc t c t
còn l i Lúc ó, m t ph ng án c c biên c a BTQHTT t ng ng v i s phân rã trên c a A là
m t ph ng án có d ng x = T TT
N B
x ,x trong ó xN = 0, xB 0 Ma tr n B c g i là ma tr n c
s t ng ng v i x (có th xem thêm v v n ph ng án c c biên trong ch ng VI) Nh v y,
m t ph ng án c c biên không có quá m t a d ng Ph ng án c c biên có úng m t a
d ng c g i là ph ng án c c biên không suy bi n, n u trái l i, ó là ph ng án c c biên suy
x = NxN + BxB 0, x NxN 0, x (do B = 0)
nh lý 1 Xét BTQHTT (2.3) d ng chính t c i u ki n m t ph ng án c c biên x = T
cTx cTx, x D Do ó x là ph ng án t i u
i u ki n c n S d ng ph ng pháp ch ng minh ph n ch ng, gi s x là ph ng án c c biên t i u không suy bi n và i u ki n N 0 không c tho mãn Lúc ó t n t i ch s j*
JN sao cho j* > 0 Xét ph ng án x = x + x Chúng ta s ch ra cách xây d ng x sao cho x là
ph ng án kh thi th a mãn cTx > cTx hay cTx < 0, t ó suy ra x không ph i là ph ng án t i
u
Th t v y, ch n xN sao cho: xj = 0, j JN, j j* và xj* = > 0
Ch n xB sao cho: A x = 0 [N B] N
Bx
x = 0 N xN + B xB = 0 B xB = N xN
xB = B1N xN xB = B1aj* Tro n g v í d 2 , ta th y : N xN = 1
2x
4 2x
ã bi t m c 2.1 khi mô t th t c xoay)
Tr ng h p 1: B1aj* 0 Lúc này, khi th c hi n quy t c t s d ng bé nh t (l y c t
ph ng án chia cho c t aj*) ta không nh n c m t t s nào có m u s d ng xB 0,
giá tr hàm m c tiêu Trong các tr ng h p nh v y có th x y ra hi n t ng xoay vòng: Ch ng
h n, khi chuy n t x sang x , r i l i chuy n t x sang m t ph ng án x nào ó mà v n ch a c i
thi n c giá tr c a hàm m c tiêu Sau ó, l i có th x y ra vi c chuy n t x v x Nh v y quá
trình gi i BTQHTT theo thu t toán n hình s b treo t i vòng l p x x x x kh c
ph c hi n t ng xoay vòng có th áp d ng m t s th t c tính toán Cách n gi n nh t là áp
d ng quy t c t s d ng bé nh t v i s b sung sau: N u có nhi u ch s ng v i t s d ng bé
nh t, thì ch n ng u nhiên m t trong các ch s ó xác nh hàng xoay t ng ng
Trong quá trình gi i BTQHTT (2.3) d ng chính t c khi xu t phát t m t ph ng án c c
biên, b ng th t c xoay ta luôn chuy n t ph ng án c c biên này sang ph ng án c c biên khác
cho t i khi các d u hi u d ng c th a mãn (t c là khi tiêu chu n t i u c th a mãn hay khi
k t lu n c BTQHTT ã cho có hàm m c tiêu không b ch n trên)
3.4 Thu t toán n hình cho bài toán quy ho ch tuy n tính d ng chính t c
B c 2: N u t n t i ch s j N sao cho j > 0 thì th c hi n th t c xoay
Xác nh c t xoay: ch n c t xoay s ng v i m t ch s j có tính ch t j > 0 Thông
Trang 8Ghi l i d li u u vào c a BTQHTT và k t qu cu i cùng N u flag = 0 thì k t lu n
BTQHTT có hàm m c tiêu không b ch n trên Còn n u flag = 1 thì k t lu n BTQHTT có ph ng
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
4.1 a bài toán quy ho ch tuy n tính v d ng chính t c
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á
Lúc này, do ã 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à Max z = 8x1 + 6x2 + 0x3 + 0x4 Mx5 , trong ó M +
và bi u th c Mx5 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 x5 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
Max z = 8x1 + 6x/
2 /
0
6 x3 x2
36
12
3 1/2
0
6 x4 x2
Trang 9T tr c t i nay, chúng ta luôn gi s r ng BTQHTT c xem xét luôn có ph ng án và
có th bi t c m t ph ng án (c c biên) ban u c a nó kh i t o quá trình gi i Trong m c
này chúng ta s i xét các tr ng h p khi ch a bi t BTQHTT có ph ng án hay không, c ng nh
ch a bi t c ph ng án c c biên ban u i v i nh ng tr ng h p này có th s d ng
ph ng pháp n hình hai pha Chúng ta s trình bày ph ng pháp n hình hai pha thông qua ví
M c ích c a pha 1 là gi i BTQHTT v i các ràng bu c (2.7) hay còn g i là bài toán
N u tìm c ph ng án t i u c a bài toán v i các bi n gi u nh n giá tr b ng 0 thì
Nh n xét M t cách t ng quát, có th kh ng nh c r ng, n u bài toán có ph ng án
t i u v i giá tr hàm m c tiêu là 0 thì BTQHTT ban u có ph ng án, trong tr ng h p trái l i
thì nó không có ph ng án N u bài toán có giá tr t i u min = 0, thì ta có ngay ph ng án
c c biên xu t phát cho BTQHTT ban u và chuy n sang pha 2 b ng cách b các c t có bi n gi
36
12
3 1/2
0
1
1
0 1/2
1/4
1/2 1/4
Pha 2 Gi i BTQHTT v i các ràng bu c (2.5) c n c ph ng án c c biên v a tìm c pha 1 (xem b ng II.4): Max z = 8x1 + 6x2 +0x3 + 0x4, v i các ràng bu c
Nh n xét K t qu gi i ví d trên b ng ph ng pháp n hình hai pha c ng gi ng v i k t
qu t c khi gi i b ng ph ng pháp n hình m r ng Tuy nhiên, khi s d ng ph ng pháp
n hình hai pha, chúng ta tránh c s phi n ph c trong vi c khai báo giá tr d ng l n c a tham s M nh trong ph ng pháp n hình m r ng
B ng II.4 Các b ng n hình gi i bài toán pha 2
36
12
3 1/2
B ng II.5 là b ng n hình t ng quát b c l p th k hi u b ng này ch c n so sánh nó
v i các b ng n hình ngay trong b ng II.4 trên ây ho c các b ng n hình c a b ng II.1 D
dàng nh n th y r ng các bi u th c tính toán u xoay quanh ma tr n B1, trong ó B là ma tr n c
s b c k chuy n sang b ng n hình b c l p th k+1 ti p theo, c n tính c 1
H s hàm m c tiêu Bi n c s Ph ng án
T N
c B1N T
B
c T B
c B1B
N i dung c a ph ng pháp n hình c i biên (hay còn g i là ph ng pháp n hình d ng
ma tr n ngh ch o) là vi c tính 1
n ext
B c d a vào các thông tin c n thi t và t i thi u nh t có
c t B1 Vì v y các thông tin c n thi t, ph i l u tr m i b c tìm b ng n hình b c
sau, là ít h n nhi u so v i ph ng pháp n hình thông th ng Chúng ta trình bày ng n g n
s t ng ng v i c t xoay j0 = 1 ã xác nh c trên là = B1a1 = Ia1 = [1, 2, 1, 0]T = [1,
2, 3, 4]T áp d ng quy t c t s d ng bé nh t, xét các t s 6/1, 8/2, 1/1 và 2/0 T s
d ng bé nh t là 8/2, ng v i t a th 2 nên c n a bi n x4 ra kh i c s V y ch s c a hàng xoay là i0 = 2 ( ây r(2) = 4, xem l i thu t toán n hình m c 3.4, nên hàng xoay là hàng 2) và
Trang 10Sau ây chúng ta tìm cách tóm t t ph ng pháp n hình c i biên d i d ng b ng (xem
b ng II.7) Tr c h t, xét b ng n hình b c 1 (b ng II.6) Trong b ng này chúng ta b i hàng
zj, b i các c t t ng ng v i các bi n ngoài c s x1 và x2 thì có b ng II.7 C n thêm vào m t
hàng m i c BT 1 và m t c t m i có các ph n t u b ng 0, tr ph n t cu i b ng 1 Ngoài ra,
vi t thêm vào c t xoay ng v i bi n s a vào c s Lúc u, ma tr n c s B là ma tr n n
v nên B1 B Xét ma tr n B1 ( c là ma tr n B1 bao), thu c t B b ng cách thêm vào c t
tìm các s gia hàm m c tiêu, ta l y 1 nhân v i hàng cu i c a ma tr n B1 bao, r i l i
nhân v i các c t t ng ng a1 và a2 trong ma tr n A ( c là ma tr n A m r ng), thu c b ng
cách thêm vào ma tr n A hàng cu i là hàng cT:
38
A =2103
2103 1112
=[3, 2]
Th t v y, do 1 = c1 c BT 1a1 và 2 = c2 c BT 1a2 nên [1, 2] = [c1, c2] c BT 1[a1, a2] = [ c BT 1, 1] 1 2
c c = [3, 2]
V y c t là c t ng v i bi n x1, = B1a1 = Ia1 = [1, 2, 1, 0]T = [1, 2, 3, 4]T có 1=
3 V i c t xoay ã xác nh c, ta tìm c hàng xoay và ph n t xoay theo quy t c thông
th ng Sau ó xoay sang b ng n hình c i biên m i d a trên ph n t xoay ã tìm c, ma tr n
B1 b c m i c ng có th tìm theo các quy t c c a th t c xoay Riêng hàng c BT 1 c tính
b ng cách l y c t cB nhân (theo ki u tích vô h ng) v i các c t c a B1(xem b ng II.8)
01000
4/3 10/3
3 2/3
01000
l ng tính toán khá nhi u khi so sánh v i ph ng pháp n hình
Có th áp d ng ph ng pháp hai pha cho ph ng pháp n hình c i biên Lúc này các
d u hi u d ng không có gì thay i: N u pha 1 k t thúc v i ph ng án t i u ch a bi n gi nh n
giá tr d ng thì bài toán không có ph ng án N u trong khi ti n hành pha 2, ta tìm c c t
xoay mà không tìm c hàng xoay thì bài toán có hàm m c tiêu không b ch n Bài toán s có
ph ng án t i u n u pha 2 k t thúc v i d u hi u t i u (v i BTQHTT d ng Min thì d u hi u t i
u là j 0, j) trình bày v n n gi n, sau ây chúng ta phát bi u thu t toán n hình c i
biên m t cách s b cho tr ng h p ã bi t m t ph ng án xu t phát (BTQHTT d ng Min)
Khung thu t toán n hình c i biên
Thi t l p ma tr n m r ng A = [ N , B ] và tính các s gia hàm m c tiêu ng v i các
bi n ngoài c s theo công th c: N= c T c BT 1N = [ c BT 1, 1] N
t k := 1
Các b c l p (b c l p th k)
B c 1: Ki m tra i u ki n d ng
N u N 0 thì bài toán có ph ng án t i u, ghi l i k t qu và chuy n sang b c 3
N u trái l i, t n t i j JN sao cho j < 0 thì ch n xj là bi n a vào c s
Thi t l p c t = B1aj Tìm hàng xoay b ng quy t c t s d ng bé nh t N u không
ch n c hàng xoay (khi 0) thì bài toán có hàm m c tiêu không b ch n d i, ghi l i k t qu
t k := k + 1, sau ó quay v b c 1
B c 3: D ng và in ra k t qu
Trang 11a Hãy gi i bài toán b ng ph ng pháp th
b Hãy gi i bài toán b ng ph ng pháp n hình
c Minh h a ý ngh a kinh t c a bài toán trong m t tình hu ng th c t
a Hãy gi i bài toán b ng ph ng pháp th
b Hãy gi i bài toán b ng ph ng pháp n hình
a Hãy gi i bài toán b ng ph ng pháp n hình
b Gi i bài toán b ng ph ng pháp n hình c i biên
c Gi i bài toán b ng ph n m m Excel hay ph n m m Lingo
42
Min z = 2x1 + x2 x3 x4
v i các i u ki n ràng bu c
x1 x2 + 2x3 x4 = 2 2x1 + x2 3x3 + x4 = 6
x1 + x2 + x3 + x4 = 7
x1, x2, x3, x4 0
a Hãy gi i bài toán b ng ph ng pháp n hình m r ng (ph ng pháp M)
b Gi i bài toán b ng ph n m m Excel hay ph n m m Lingo
Bài 5 Xét BTQHTT d ng Min:
Min z = 3x1 + 2x2 + 8x3
v i các i u ki n ràng bu c 4x1 3x2 + 12x3 12
x1 + 4x3 6
x2 x3 = 2
x1, x2, x3 0
a Hãy a bài toán v d ng chính t c
b Hãy gi i bài toán b ng ph ng pháp n hình m r ng (ph ng pháp M)
c Hãy gi i bài toán b ng ph ng pháp n hình hai pha
d Gi i bài toán b ng ph ng pháp n hình c i biên
e Gi i bài toán b ng ph n m m Excel hay ph n m m Lingo
c N u ph ng án ã cho không ph i là ph ng án t i u, hãy th c hi n th t c xoay và
cho bi t ma tr n c s b c ti p theo Tìm s gia hàm m c tiêu t ng ng
d Gi i thích t i sao bài toán trên có hàm m c tiêu không b ch n trên?
Bài 7 Xét BTQHTT d ng chính t c Gi s chúng ta ã bi t m t ph ng án t i u c a nó là x*
và B là ma tr n c s t ng ng v i x* Ch ng minh r ng n u t n t i ch s j JN sao
cho: cj cBB1aj = 0 thì bài toán ã cho có vô s ph ng án t i u Hãy ch n m t ví d
n gi n minh h a tr ng h p trên
Bài 8 Hãy ki m tra l i k t qu c a ví d 3 ch ng I (Bài toán quy ho ch s d ng t trên a bàn
xã ông D , huy n Gia Lâm, t nh Hà N i) b ng ph n m m Excel hay Lingo
Bài 9 Hãy l p ch ng trình máy tính b ng ngôn ng Pascal hay ngôn ng C gi i BTQHTT
d ng chính t c theo thu t toán n hình gi i BTQHTT ã c phát bi u t i m c 3.4 c a
ch ng II
Bài 10 Hãy phát bi u thu t toán hai pha và l p ch ng trình máy tính b ng ngôn ng Pascal hay
ngôn ng C gi i BTQHTT d ng t ng quát Ch y ki m th ch ng trình trên m t s ví
d ã bi t
1 Phát bi u bài toán i ng u 1.1 Phát bi u bài toán
T ng ng v i m i BTQHTT (còn g i là bài toán g c) có m t bài toán i ng u Bài toán
i ng u c a BTQHTT c ng là m t BTQHTT Nh v y, bài toán g c và bài toán i ng u c a nó
l p thành m t c p BTQHTT, tính ch t c a bài toán này có th c kh o sát thông qua bài toán kia Nhi u quy trình tính toán hay phân tích c hoàn thi n khi xem xét c p bài toán trên trong
m i liên quan ch t ch c a chúng, mang l i l i ích trong vi c gi i quy t các v n phát sinh t
th c t V i m c ích tìm hi u b c u, chúng ta xét bài toán g c là bài toán quy ho ch tuy n tính (BTQHTT) d ng Max v i các ràng bu c ch có d u và các bi n u tho mãn i u ki n không âm
Bài toán g c Max z = c 1 x 1 + c 2 x 2 + + c n x n
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
Lúc ó BTQHTT sau ây c g i là bài toán i ng u c a BTQHTT trên
Bài toán i ng u Min u = b 1 y 1 + b 2 y 2 + + b m y m
Trang 12Các bi n y1, y2, , ym c g i là các bi n i ng u Trong tr ng h p này, do bài toán g c
có m ràng bu c, nên bài toán i ng u có m bi n i ng u Bi n i ng u yi t ng ng v i ràng
nguyên li u lo i B và 1 n v nguyên li u lo i C Các ch tiêu ó cho m t n v s n ph m lo i II
là 4, 1 và 3 Còn cho n v s n ph m lo i III là 2, 2 và 2 L ng nguyên li u d tr lo i A và B
hi n có là 60, 40 và 80 ( 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 / n v s n ph m bán ra là 2, 4 và 3 ( n v ti n t ) cho các s n ph m lo i I, II và III
Gi s có m t khách hàng mu n mua l i các n v nguyên li u lo i A, B và C Bài toán
t ra là c n nh giá các n v nguyên li u Rõ ràng r ng giá các nguyên li u c quy nh b i
giá tr c a s n ph m mà chúng t o nên N u các s n ph m này mang l i l i nhu n l n trên th
tr ng thì giá c nh c a các nguyên li u này ph i cao, còn n u trái l i thì giá c nh c a
chúng là th p M t khác, l i nhu n c a các s n ph m thu c trên th tr ng l i ph thu c vào
nhi u y u t nh : giá c các s n ph m c bán trên th tr ng ( ã c th tr ng ch p nh n),
l ng d tr nguyên li u hi n có, h s chi phí s n xu t
Nh v y, giá c nh c a các nguyên li u A, B và C ph thu c vào:
H s hàm m c tiêu c a bài toán g c: c1 = 8, c2 = 4 và c3 = 63
Ma tr n ràng bu c các h s chi phí s n xu t:
46
A = 2 1 2
1 3 2
H s d tr các lo i nguyên li u:
b = 604080
Tuy nhiên, m i ph thu c ó không d dàng xác nh c gi i quy t v n này hoàn toàn có th d a vào vi c phân tích bài toán i ng u G i y1 là giá c nh m t n v nguyên
li u lo i A, y2 là giá c nh m t n v nguyên li u lo i B, còn y3 là giá c nh m t n v nguyên li u lo i C (y1, y2, y3 0)
Chúng ta hãy i xét bài toán i ng u:
Min u = 60y1 + 40y2 + 80y3
v i các i u ki n ràng bu c 3y1 + 2y2 + y3 2 4y1 + y2 + 3y3 4 2y1 + 2y2 + 2y3 3
y1, y2, y3 0
Th t v y, u = 60y1 + 40y2 + 80y3 chính là t ng chi phí ph i b ra n u ng i khách hàng
mu n mua 60 n v nguyên li u lo i A, 40 n v nguyên li u lo i B và 80 n v nguyên li u
lo i C T t nhiên ng i khách hàng mu n t ng chi phí u càng bé càng t t
Xét ràng bu c th nh t V trái là 3y1 + 2y2 + y3 chính là s ti n khách hàng ph i b ra mua 3 n v nguyên li u lo i A, 2 n v nguyên li u lo i B và 1 n v nguyên li u lo i C ây
là s nguyên li u c n thi t s n xu t ra m t n v s n ph m lo i I Rõ ràng r ng, ng i khách hàng không th mua c s nguyên li u này th p h n l i nhu n mà m t n v s n ph m lo i A mang l i khi c bán ra trên th tr ng (2 n v ti n t ) i u này d n n ràng bu c th nh t 3y1 + 2y2 + y3 2 T ng t chúng ta có th l p lu n c ý ngh a kinh t c a ràng bu c th hai
c ng nh ràng bu c th ba c a bài toán i ng u
1.3 Quy t c vi t bài toán i ng u t ng quát
Xét c p bài toán g c và bài toán i ng u trong ví d 1 c cho trong b ng III.1
Nh n xét BTG là bài toán Max BT N là bài toán Min
B ng III.1 C p bài toán g c và bài toán i ng u
Bài toán g c (BTG) Bài toán i ng u (BT N)
Sau ây là các quy t c vi t bài toán i ng u t ng quát:
Quy t c 1: BTG là bài toán Max BT N là bài toán Min
Chú ý Các quy t c vi t bài toán i ng u t ng quát trên ây c áp d ng khi bài toán g c
ã cho là BTQHTT d ng Max Trong m c 1.4 (tính ch t 1) ngay ti p theo, chúng ta s m r ng các quy t c này cho BTQHTT d ng Min B ng III.2 sau ây cho bi t cách vi t bài toán i ng u trong m t tr ng h p c th
B ng III.2 Vi t bài toán i ng u cho bài toán g c d ng Max
Bài toán g c (BTG) Bài toán i ng u (BT N)
Max z = 2x1 + 4x2 + 3x3
v i các ràng bu c:
3x1 + 4x2 + 2x3 60 2x1 + x2 + 2x3 = 40 (3.3) x1 + 3x2 + 2x3 80 x1 0, x2 0, x3 d u tu ý (3.4)
Min u = 60y1 + 40y2 + 80y3
v i các ràng bu c:
3y1 + 2y2 + y3 2 4y1 + y2 + 3y3 4 (3.4) 2y1 + 2y2 + 2y3 = 3
y1 0, y2 d u tu ý, y3 0 (3.3)
1.4 Các tính ch t và ý ngh a kinh t c a c p bài toán i ng u
Trong ph n này chúng ta s nghiên c u các tính ch t c a c p bài toán i ng u ã c phát bi u m c 1.1 và ý ngh a kinh t c a chúng thông qua m t ví d n gi n
Ví d 2 Xét l i c p bài toán g c và bài toán i ng u trong ví d 1 (b ng III.1)
Tính ch t 1 Bài toán i ng u c a bài toán i ng u l i chính là bài toán g c Tính ch t này có th c ch ng minh m t cách t ng quát Tuy nhiên, trình bày v n
n gi n, hãy xét bài toán g c sau:
Max z = 2x1 + 4x2 + 3x3
v i các ràng bu c 3x1 + 4x2 + 2x3 60 2x1 + x2 + 2x3 40
y1, y2, y3 0
Trang 13B ng III.3 Vi t bài toán i ng u cho bài toán g c d ng Min
Bài toán g c (BTG) Bài toán i ng u (BT N)
y1 0, y2 0, y3 d u tu ý (3.5)
Tính ch t 1 kh ng nh vai trò bình ng c a bài toán g c và bài toán i ng u B i v y, có
th g i các BTQHTT này là c p bài toán i ng u (mà không c n ph i phân bi t âu là bài toán
50
nh trong nh n xét sau ây
Nh n xét Các quy t c vi t bài toán i ng u t ng quát m c 1.3 c ng có th c theo chi u ng c l i Ch ng h n, quy t c 1 c ng có th c hi u là BTG là bài toán Min BT N
là bài toán Max i v i các quy t c khác c ng có i u t ng t (ví d minh h a trong b ng III.3)
Tính ch t 2 V i m i ph ng án x c a bài toán g c (bài toán Max) và v i m i ph ng án y
c a bài toán i ng u (bài toán Min), ta luôn có z(x) u(y)
Ti p t c xét ví d 2 minh ho tính ch t này B ng III.4 sau ây cho bi t ph ng án t i
u c a bài toán g c (sau khi a bài toán g c v d ng chính t c b ng cách s d ng 3 bi n bù
thi u x4, x5 và x6) Còn b ng III.5 trình bày k t qu gi i bài toán i ng u b ng ph ng pháp
n hình m r ng (sau khi thêm vào ba bi n bù th a y4, y5, y6 và ba bi n gi y7, y8, y9)
B ng III.4 Ph ng án t i u c a bài toán g c
x3
62
1621/3
V m t ý ngh a kinh t , có th l p lu n lý gi i tính ch t này nh sau: V i m i ph ng
án nh giá nguyên li u thì t ng chi phí (phía mu n mua) ph i b ra mua các n v nguyên
li u ó không bao gi th p h n c t ng l i nhu n mang l i khi dùng các n v nguyên li u ó
s n xu t ra s n ph m và tiêu th chúng trên th tr ng Th t v y, z(x) = 60x1 + 40x2 + 80x3
chính là t ng l i nhu n mang l i trong m t ph ng án s n xu t Còn u(y) = 2y1 + 4y2 + 3y3 là
t ng giá tr c nh c a ngu n d tr nguyên li u c s d ng trong các ph ng án s n xu t
Rõ ràng, m t ph ng án nh giá h p lý ngu n nguyên li u s ph i tho mãn u(y) z(x) Trong
tr ng h p t ng quát, chúng ta có th thay c m t ngu n d tr nguyên li u b i c m t ngu n
d tr tài nguyên có ý ngh a t ng quát h n
B ng III.5 Ph ng án t i u c a bài toán i ng u
20 +2M
M/2
0 15 +M/2
Tính ch t 3 N u t n t i hai ph ng án x* c a bài toán g c và y* c a bài toán i ng u sao
cho z(x*) = u(y*) thì x* chính là ph ng án t i u c a bài toán g c, còn y* là ph ng án t i u
c a bài toán i ng u Ng c l i, n u x* là ph ng án t i u c a bài toán g c, còn y* là ph ng
án t i u c a bài toán i ng u thì z(x*) = u(y*)
Tính ch t này c minh ho rõ trong các b ng III.4 và III.5 Lúc này, z(x*) = u(y*) =
762 V m t ý ngh a kinh t , tính ch t này ch ra r ng t ng chi phí th p nh t ph i b ra n u
mu n mua các n v nguyên li u (trong m t ph ng án nh giá t i u) chính b ng t ng l i nhu n cao nh t khi s d ng các n v nguyên li u ó (trong m t ph ng án s n xu t t i u)
Không th t n t i m t ph ng án nh giá cho phép t ng giá c nh nh h n c t ng l i nhu n l n nh t
M t cách t ng quát, giá tr các tài nguyên c a m t công ty c c nh d a trên trình
t ch c s n xu t, trình công ngh và giá tr th tr ng c a các s n ph m mà các tài nguyên này
t o nên t i th i i m hi n t i Quy t c này t ra c bi t c n thi t trong vi c ánh giá tài nguyên / tài s n c a m t công ty i v i các công ty làm n thua l thì giá c nh các tài nguyên th ng khá th p, còn các công ty làm n phát t thì giá c nh các tài nguyên th ng cao
Tính ch t 4 Xét c p ph ng án t i u (x*, y*) c a c p bài toán i ng u N u m t i u
ki n ràng bu c hay i u ki n v d u c tho mãn không ch t (không x y ra d u =) trong m t bài toán, thì i u ki n t ng ng trong bài toán kia ph i c tho mãn ch t (x y ra d u =) Tính
ch t này còn c g i là tính ch t l ch bù: N u trong m t i u ki n x y ra l ch d ng thì trong i u ki n t ng ng l ch là b ng 0
Tr c h t, chúng ta hãy minh ho tính ch t này qua ví d 2 T b ng III.4 ta th y x = 0, 1
y = 0 (tho mãn ch t) (3.9)
Trang 14t ng ng: x + 31 x + 22 x < 80 (3.9) tho mãn không ch t nên 3 y = 0 (3.9) tho mãn ch t 3
i u này có ngh a là trong ph ng án s n xu t t i u l ng nguyên li u lo i C ch a c s
d ng h t Do ó giá c nh c a các n v d th a ra c coi là b ng 0 Xét c p i u ki n
t ng ng: x = 62 2 > 0 tho mãn không ch t (3.11) nên 4y + 1 y + 2 y = 4 tho mãn ch t 3
(3.11) i u này có ngh a là n u m t lo i s n ph m c a vào s n xu t trong ph ng án s n
xu t t i u thì t ng giá c nh các n v c a các lo i nguyên li u t o nên m t n v s n ph m
lo i này chính b ng l i nhu n mà n v s n ph m ó mang l i
Ng c l i, xét c p i u ki n t ng ng: y = 1 5 > 0 (3.7) tho mãn không ch t nên 3x + 1
4x + 22 x = 60 (3.7) tho mãn ch t Nh v y, n u giá 3 c nh t i u cho m i n v nguyên
li u lo i A là d ng thì i u này ch ng t nguyên li u lo i A ang c s d ng h t (vét c n)
trong m t ph ng án s n xu t t i u Còn khi xét c p i u ki n t ng ng: 3y + 1 y + 2 y > 2 3
(3.10) tho mãn không ch t nên x = 0 (3.10) tho mãn ch t i u này ch ng t r ng, n u t ng 1
giá c nh các n v c a các lo i nguyên li u t o nên m t n v s n ph m lo i nào ó cao h n
l i nhu n mà m t n v s n ph m lo i này mang l i thì lo i s n ph m này không c s n xu t
n v nguyên li u nào ó (xem l i ch ng II, m c 2.1), thì ph i b ra m t chi phí t ng ng cho
trong hàng zj ó chính là giá c nh (biên) c a m i n v nguyên li u (còn g i là giá bóng
shadow price)
T ng t , ph ng án t i u c a bài toán g c x = 0, 1 x = 62 2
3 x = 163 2
3 có th tìm c trong hàng cu i (hàng j) c a b ng III.5 ng v i các c t bi n bù y4, y5 và y6
2 Ch ng minh m t s tính ch t c a c p bài toán i ng u
trình bày v n n gi n, xét c p bài toán i ng u sau ây
Bài toán g c: Max z = cTx, v i x D = {x Rn: Ax b, x 0}
Bài toán i ng u: Min u = bTy, v i y E = {y Rm: AT y c, y 0}
x , b = 1
2
m
bb
nh lý 1 V i m i ph ng án x c a bài toán g c và v i m i ph ng án y c a bài toán i
ng u ta luôn có z(x) u(y) H n n a, n u t n t i hai ph ng án x* c a bài toán g c và y* c a bài toán i ng u sao cho z(x*) = u(y*) thì x* chính là ph ng án t i u c a bài toán g c, còn y* là
ph ng án t i u c a bài toán i ng u
Ch ng minh
T Ax b, x 0 và AT y c, y 0 suy ra yT(Ax b) 0 hay yTAx yTb M t khác:
xT(ATy c) 0 xTAy xTc yATx = (xTAy)T (xTc)T = cTx V y yTb yTAx cTx Do ó u(y) z(x) v i m i ph ng án x và y c a c p bài toán i ng u
ch ng minh ph n sau c a nh lý, gi s x* là ph ng án c a bài toán g c, còn y* là
ph ng án c a bài toán i ng u v i z(x*) = u(y*) C n ch ng minh x* và y* là các ph ng án
t i u c a c p bài toán i ng u Gi s x* không là ph ng án t i u c a bài toán g c thì ph i
t n t i ph ng án x c a bài toán g c sao cho z(x*) < z(x) T ó ta có u(y*) < z(x), mâu thu n v i
Ph ng án t i u c a bài toán trên là (x ,1x , 2 x ,3 x )4T = (12, 6, 0, 0)T
Bài toán i ng u: Min u = 60y1 + 48y2
B c ti p theo, ta i ch ng minh r ng z(x*) = u( y ) hay c n ch ng minh: cTx* = bTy =
yTb cTx* = c BT 1b cTx* = cTx (do B x =B B 1b) i u này là úng Do ó, theo ph n 2
c a nh lý 1, y ph i là ph ng án t i u c a bài toán i ng u V y, n u x* và y* là các ph ng
án t i u c a c p bài toán i ng u thì z(x*) = u( y ) = u(y*) ( pcm)
Nh v y, tính ch t 3 c a c p bài toán i ng u ã c ch ng minh
Nh n xét
Ta có: (y*)T = yT= c BT 1I cS 0 zS = c BT 1I = (zn+1, , zn+m) cS = (cn+1, ,
cn+m)T = (0, , 0) Nh v y, tính ch t 5 c ng ã c ch ng minh: Ph ng án t i u c a bài toán
i ng u có th tìm c trong b ng n hình t i u c a bài toán g c (trên hàng zj)
Ta có minh ho hình h c cho nh lý 1 và 2 v giá tr các hàm m c tiêu c a c p bài toán
i ng u trên tr c s (xem hình III.1) Ta có th th y ngay, n u bài toán g c có ph ng án t i u thì bài toán i ng u c ng có ph ng án t i u ( nh lý 2) H n n a, n u bài toán g c có ph ng
án và hàm m c tiêu không b ch n trên mi n ph ng án thì bài toán i ng u s không có ph ng
án ( nh lý 1) C n nh c l i r ng, ta có th ch n tu ý m t trong hai bài toán c a c p bài toán i
ng u là bài toán g c, bài toán còn l i là bài toán i ng u
2.3 nh lý l ch bù
nh lý 3 Gi s x* và y* là các ph ng án t i u c a c p bài toán i ng u Lúc ó (x*, y*) tho mãn h
Hình III.1 Giá tr các hàm m c tiêu c a c p bài toán i ng u
Trang 15Nh n xét nh lý 3 chính là h qu c a nh lý 2 Ngoài ra, t nh lý 3 s suy ra c
tính ch t 4 c a c p bài toán i ng u V i m c ích minh ho , chúng ta xét ví d 3 trên ây Lúc
này, i u ki n: yT(Ax b) = 0
(y1, y2) 1
2x
Trong m c này chúng ta xét m t ph ng pháp cho phép gi i m t l p BTQHTT m t cách
khá ti n l i Ph ng pháp này c xây d ng d a trên tính ch t c a c p bài toán i ng u
3.1 Quy trình tính toán và phát bi u thu t toán
Tr c h t, chúng ta trình bày thu t toán thông qua m t ví d minh h a th y c m i
liên quan gi a c p bài toán i ng u, ng th i n m c b n ch t c a ph ng pháp n hình i
0
0
y4 y5
0
1 1/3
1/3
1
0 2/3
1/3
1/3 2/3
uj /
j
0 8/3 1/3
4
0 4/3
4/3 4/3
ng u, chúng ta d ch chuy n d n t ph ng án không kh thi (nh ng i ng u kh thi), t c là i u
ki n xj 0, j không c tho mãn nh ng luôn có j 0, j, t i ph ng án t i u, t c là có xj
0 và j 0, j Minh h a hình h c c a v n này s c trình bày m c 1, ch ng IV, trong
ph n ph ng pháp c t Gomory gi i BTQHTT nguyên
Quy trình gi i bài toán g c d ng chu n t c trên ây b ng ph ng pháp n hình i ng u
c mô t trong b ng III.7
B ng III.7 Gi i bài toán g c b ng ph ng pháp n hình i ng u
0
0
4/3 4/3
BTQHTT: Min z = cTx, v i x D = {x Rn: Ax = b, x 0}
B c kh i t o
Tìm m t ph ng án i ng u kh thi x = B-1b t ng ng v i ma tr n c s B trong m t phân rã nào ó A = [N B]: i u ki n xj 0, j có th không c tho mãn nh ng luôn có j
0, j
Tính j = cj zj, j = 1,n , trong ó n là s bi n c a bài toán ang xét
Các b c l p
B c 1: Ki m tra i u ki n t i u N u i u ki n t i u xj 0, j = 1,n ã c tho mãn thì in / l u tr k t qu c a bài toán và d ng
B c 2: N u t n t i m t ch s j sao cho xj < 0 thì ti n hành th t c xoay g m n m b c
t ng t v i n m b c ã bi t trong th t c xoay c a ph ng pháp n hình v i các khác bi t sau:
Tr c tiên ch n hàng xoay là hàng v i bi n xj có giá tr âm (thông th ng v i tr tuy t
Trang 16th c ch t là vi c gi i bài toán i ng u b ng ph ng pháp n hình i u này c ng gi i thích lí
do t i sao khi th c hi n th t c xoay c a ph ng pháp n hình i ng u c n tr c h t xác nh
hàng xoay r i sau ó m i xác nh c t xoay
3.2 C s c a ph ng pháp n hình i ng u
Ph ng pháp n hình i ng u có th c ch ng minh m t cách ch t ch nh trình bày
sau ây
Xét bài toán g c: Min z = f(x) = cTx v i x D = {x Rn: Ax b, x 0} D dàng a bài
toán này v d ng chính t c: Min z = c x v i các ràng bu c A x = b, x 0, trong ó A = [A T
y )Taj = ( yT Uq) aj = yTaj Uqaj yTaj (do Uqaj = xqj 0) Theo (3.14), ta có
yTaj cj , nên (y )/ Taj cj Do ó ATy/ c hay y/ c ng là ph ng án c a bài toán i
ng u M t khác, giá tr c a hàm m c tiêu trong bài toán i ng u là u(y ) = (/ y )/ Tb = ( yT
x 0
M i n
Ti p t c th c hi n th t c xoay nh ã phát bi u trong thu t toán n hình i ng u, chúng
ta s chuy n c sang ph ng án i ng u kh thi m i (b n c t ch ng minh) Trong ph ng
án m i xs s là bi n c s thay ch cho bi n xq
Vì m i ph ng án i ng u kh thi tìm c trong quá trình gi i t ng ng v i m t ma
tr n c s B trong m t phân rã nào ó A = [N B], nên s ph ng án i ng u kh thi c xem xét là m t s h u h n Do ó, sau m t s h u h n b c, chúng ta s k t thúc vi c gi i BTQHTT
b ng ph ng pháp n hình i ng u
4 Bài toán v n t i 4.1 Phát bi u bài toán v n t i
Bài toán v n t i c áp d ng r t r ng rãi trong l nh v c l p k ho ch phân b s n ph m hàng hoá (d ch v ) t m t s a i m cung / c p phát t i m t s a i m c u / tiêu th Thông
th ng, t i m i a i m cung (n i i) ch có m t s l ng gi i h n hàng, còn m i a i m c u (n i n) c n m t s l ng nh t nh hàng áp ng nhu c u tiêu th V i các cung ng v n chuy n hàng a d ng, v i c c phí v n t i khác nhau, m c tiêu t ra là xác nh ph ng án v n
t i t i u Nói cách khác, v n t ra là c n xác nh nên v n chuy n t m i a i m cung t i
m i a i m c u bao nhiêu n v hàng nh m tho mãn nhu c u c a t ng a i m tiêu th ng
th i t t ng chi phí v n t i là nh nh t
Ví d 5 Ta có 3 i m cung c p hàng C, D, E và 4 i m c u S, T, U và V v i l ng hàng cung và c u t i m i i m c ng nh c c phí v n t i trên m t n v hàng cho m i cung ng
nh trong b ng III.8
T i m cung i n i m c u j ta có c c phí v n t i / m t n v hàng là cij ã bi t, ch ng
h n nh c11 là 3 USD / m t n v hàng C n thi t l p ph ng án v n t i hàng áp ng c cung
c u và t ng chi phí v n t i là nh nh t Chú ý r ng bài toán v n t i ang xét có t ng cung b ng
t ng c u, nên c g i là bài toán v n t i cân b ng thu phát ây là d ng n gi n nh t trong các
Ta c n tìm ph ng án phân hàng vào các ô (i, j) sao cho t ng theo hàng hay c t u kh p
v i các l ng cung, c u và t ng chi phí v n t i là nh nh t M i ô (i, j) bi u di n m t cung ng
Phân phát hàng t i a vào góc tây b c c a b ng v n t i
Sau khi (hàng) cung ho c (c t) c u ã tho mãn thì ta thu g n b ng v n t i b ng cách b
b t hàng cung ho c c t c u ó i (ch b m t trong hai th ho c hàng ho c c t, ây là toán
t ho c lo i tr , OR exlusive)
Ti p t c l p l i hai b c trên ây cho t i khi hàng c phân ph i h t vào các ô
B ng ph ng pháp góc tây b c ta t o c ph ng án trong b ng III.10
Trang 170100100
0100010
0100001
0011000
0010100
0010010
0010001
M i ph ng án xu t phát (xem b ng III.10 và III.11) tìm c c a bài toán v n t i trên
ây chính là m t ph ng án c c biên xu t phát khi gi i BTQHTT Bài toán v n t i có th hoàn
toàn gi i c b ng ph ng pháp n hình Tuy nhiên, do có c u trúc c bi t, bài toán v n t i có
th c gi i b ng các ph ng pháp khác v i các thu t toán chuyên d ng ó là các ph ng pháp
Cho bi t cij là c c phí / trên m t n v hàng v n chuy n t i m cung i t i i m c u j
Ký hi u xij là l ng hàng c n v n chuy n t i m cung i t i i m c u j, chúng ta có bài toán v n
t i cân b ng thu phát t ng quát sau ây:
ij i
j 1 m
Chúng ta ã ch ra r ng bài toán v n t i cân b ng thu phát luôn có ph ng án xu t phát (tìm
c ch ng h n b ng ph ng pháp góc tây b c nh trong ví d 5 và b ng III.10) H n n a, ng
v i m i ph ng án v n t i thì hàm m c tiêu (hay t ng chi phí v n t i t ng ng) luôn luôn b
ch n d i b i 0 Theo nh n xét cu i m c 2.2, i v i m t BTQHTT ch có th x y ra ba tr ng
h p: i) bài toán có ph ng án t i u, ii) bài toán không có ph ng án và iii) bài toán có ph ng
án nh ng hàm m c tiêu không b ch n T ó suy ra, bài toán v n t i cân b ng thu phát luôn có
tr v ô xu t phát sau khi l n l t i qua các ô khác trong t p h p (m i ô i qua úng m t l n)
d c theo các hàng hay các c t c a b ng v n t i, b c này theo hàng thì b c sau ph i theo c t
ho c ng c l i Nh v y, s ô t i thi u trong m t chu trình khép kín là 4
Xét ví d 5 và b ng III.9, lúc ó các ô (1,1), (1,2), (2,2), (2,1) t o nên m t chu trình khép
kín vì chúng ta có th t o nên m t ng i qua 4 ô này nh sau: ô (1,1) ô (1,2) ô (2,2)
ô (2,1) ô (1, 1)
nh ngh a 2 M t t p h p m t s ô c a b ng v n t i c nói là không t o nên c m t
chu trình khép kín nào là m t t p h p các ô có tính ch t: không m t t p con nào c a nó có th t o
nên m t chu trình khép kín
l y ví d v t p h p m t s ô c a b ng v n t i không t o nên c m t chu trình khép
kín nào, chúng ta ti p t c xét ví d 5 và các ô s d ng trong ph ng án b ng III.10 ó là các ô
(1, 1), (2, 1), (2, 2), (2, 3), (3, 3) và (3, 4) ây là các ô không t o nên c m t chu trình khép
kín nào Th t v y, gi s có m t s ô nào ó trong t p h p 6 ô trên t o nên m t chu trình khép
kín, thì chu trình này không th i qua ô (1, 1) (vì trong s 6 ô trên ô (1, 1) ng m t mình trên
hàng 1, ta nói ô (1, 1) là ô treo trên hàng 1) Xét ti p 5 ô còn l i là các ô (2, 1), (2, 2), (2, 3), (3, 3)
và (3, 4), thì chu trình c ng không th i qua ô (2, 1) (vì trong s 5 ô trên ô (2, 1) ng m t mình
trên c t 1, ta nói ô (2, 1) là ô treo trên hàng 1) T ng t , có th l p lu n r ng ô ti p theo (2, 3)
không th n m trong chu trình cho t i khi còn l i 3 ô cu i cùng (2, 3), (3, 3) và (3, 4) Do ba ô
này không th t o nên c chu trình khép kín nào (vì s ô t i thi u trong m t chu trình khép kín
là 4), nên i u gi s ban u vô lý V y các ô (1, 1), (2, 1), (2, 2), (2, 3), (3, 3) và (3, 4) không
t o nên c m t chu trình khép kín nào
Tính ch t 2 N u t p h p g m m t s ô c a b ng v n t i không t o nên c m t chu trình
khép kín nào thì các véc t c t c a ma tr n A t ng ng v i các ô trên là các véc t c l p tuy n
tính và ng c l i
Ch ng minh
Tr c h t ta i ch ng minh chi u ng c l i, t c là n u t p h p g m m t s ô c a b ng v n
t i không tho mãn gi thi t c a tính ch t 2 (t m t s ô trong s chúng có th t o nên c m t
chu trình khép kín nào ó) thì các véc t c t c a ma tr n A t ng ng v i các ô trên là các véc t
ph thu c tuy n tính
hình dung c th hãy xét l i ví d 5 và các véc t c t t ng ng v i các ô (1,1), (1,2),
(2,2), (2,1) t o nên m t chu trình khép kín là A11, A12, A22 và A21 D th y r ng véc t này ph
thu c tuy n tính vì r ng A11 A12 + A22 A21 = 0 H n n a, n u có b sung vào 4 ô trên ây m t
s ô n a t o thành m t t p h p m i thì các véc t c t t ng ng v i các ô c a t p h p này
c ng ph thu c tuy n tính vì chúng ch a m t t p con các véc t ph thu c tuy n tính V i các ô
t o nên m t chu trình khép kín b t kì chúng ta c ng có l p lu n t ng t
Bây gi chúng ta i ch ng minh n u t p h p g m m t s ô c a b ng v n t i không t o nên
c m t chu trình khép kín nào thì các véc t c t c a ma tr n A t ng ng v i các ô trên là các
Tính ch t 3 M t ph ng án c c biên c a bài toán v n t i là m t ph ng án ng v i m + n
1 ô s d ng không t o nên m t chu trình khép kín nào
Nh v y, trong h ph ng trình ràng bu c ã cho có th coi 6 bi n x21, x31, x11, x12, x13 và
x14 là các bi n c s , các bi n còn l i là bi n ngoài c s Do ó h ng A = h ng A = 6 Trong bài toán v n t i t ng quát, có th ch n các bi n x21, x31, , xm1,x11, x12, x13, và x1n là các bi n c s
d ng c a chúng không t o nên chu trình khép kín nào
4.3 Ph ng pháp phân ph i gi i bài toán v n t i
Chúng ta có th áp d ng ph ng pháp nh y trên á (t m d ch t Stepping Stone Method),
hay chính th c h n còn g i là ph ng pháp phân ph i (Distribution Method) gi i bài toán v n
t i
Ph ng pháp nh y trên á là m t quy trình tính toán nh m t ng b c c i thi n ph ng
án v n t i ã có cu i cùng tìm c ph ng án v n t i t i u
Xác nh hi u su t c a các ô ch a s d ng
Quay l i b ng v n t i III.10 v i ph ng án xu t phát tìm c theo ph ng pháp góc tây
b c Trong b ng ó ch có m t s ô ã s d ng, ta coi chúng nh các hòn á nhô lên trong m t cái
Trang 18c a t effect) c a ô (i, j) theo các b c sau:
u tiên ta c n tìm m t ng i có tính ch t: i qua úng m t ô ch a s d ng là ô (i, j)
(ô xu t phát) và m t s ô ã s d ng khác, m i b c ph i i theo hàng ho c theo c t xen k nhau
(không c i li n hai b c trên m t hàng hay m t c t) cu i cùng quay v ô (i, j) i u này
gi ng nh ang trên thuy n, mu n ra kh i thuy n mà không t ta ph i nh y qua các hòn á
nhô lên trong ao cu i cùng l i quay v thuy n (vì v y ph ng pháp có tên là ph ng pháp
nh y trên á) M t i u thú v n a là con ng nh y trên các hòn á nh v y là duy nh t
ánh d u c ng tr xen k t i các nh trên ng i mà trong ó ô ch a s d ng c
ánh d u + Gi s ta c n luân chuy n m t n v hàng theo ng i ã xác nh mà v n tho
mãn c cung c u (t c là các ô mang d u +: ô (1, 2) và ô (2, 1) có thêm m t n v hàng, các ô
mang d u : ô (2, 2) và ô (1, 1) rút b t i m t n v hàng) Lúc này t ng chi phí s thay i m t
Ch có hai ô v i hi u su t âm là ô (3, 1) và ô (3, 2) (xem b ng III.12) có th l a ch n
a vào s d ng trong ph ng án m i ( làm gi m t ng chi phí v n t i) Ta quy t nh trong
ph ng án m i s ch n ô (3, 2) a vào s d ng, m i n v hàng a vào s d ng t i ô (3, 2)
s làm t ng chi phí gi m 2 USD Ký hi u e = e32
Chú ý Có th ch ng minh c eij = ij v i ij là giá tr trên hàng ng v i c t xij n u gi i
bài toán v n t i b ng ph ng pháp n hình (xem thêm m c 4.5 cùng ch ng)
70
Nh trên ã phân tích, m t n v hàng a vào ô (3, 2) làm gi m t ng chi phí v n t i 2 USD Ta c n tìm q, l ng hàng t i a có th a vào ô (3, 2) ng i qua ô (3, 2) và m t s ô
ã c s d ng là: (3, 2) (2, 2) (2, 3) (3, 3) (3, 2), v i các ô c ánh d u c ng tr xen k (ô (3, 2) mang d u +) L ng hàng q c tính theo quy t c:
q = min {các l ng hàng t i các ô mang d u } = min {l ng hàng t i ô (2, 2), l ng hàng
6000 4000 2000 1500 13500
T ng chi phí v n t i c tính b i: CPVT = (3 5 + 7 1 + 5 3 + 2 2 + 5 1 +
5 1,5) 1000 = 53500, ho c CPVT m i = CPVT c e q = 55500 2 1000 = 53500
i u ki n t i u
Quy trình trên c th c hi n cho t i khi t t c các hi u su t eij 0, ô (i, j) là các ô ch a
s d ng ây chính là i u ki n t i u hay i u ki n d ng i u ki n này th c ch t là i u ki n
ij 0 úng v i m i bi n ngoài c s xij khi gi i bài toán b ng ph ng pháp n hình (xem m c 4.5 cùng ch ng)
Chúng ta i ki m tra i u ki n t i u i v i ph ng án v n t i trong b ng III.13 C n tính các hi u su t cho các ô ch a s d ng trong ph ng án m i:
e12 = 2 5 + 7 3 = +1; e13 = 7 2 + 7 3 = +19;
e14 = 6 5 + 5 5 + 7 3 = +5; e24 = 3 5 + 5 5 = 2;
e31 = 2 7 + 5 5 = 5; e33 = 4 5 + 5 2 = +2
Do ó ph ng án trong b ng III.13 ch a ph i là ph ng án t i u Chúng ta quy t nh s
d ng ô ch n (3, 1) trong ph ng án m i vì e31 = 5 Tìm c q = 1000 theo quy t c ã bi t Có hai ô ng v i q tìm c, chúng ta ch b i ô (2, 1) còn ph i gi l i ô (3, 2) a vào s d ng
Ph ng án v n t i tìm c sau ba b c c cho trong b ng III.14
Lúc này eij 0, ô (i, j) ch a s d ng i u ki n t i u ã c tho mãn Ph ng án v n
t i t i u cho trong b ng III.16 v i t ng chi phí nh nh t là 39500
Bài toán v n t i không cân b ng thu phát
Tr ng h p t ng l ng cung l n h n t ng l ng c u, c n b trí thêm m t i m (c t) c u
gi mà m i chi phí v n t i n ó u c coi b ng 0 T ng t , n u c u v t cung thì c n b trí
m t i m (hàng) cung gi và coi m i chi phí v n chuy n t ó i u b ng 0 Lúc ó ta có bài toán v n t i cân b ng thu phát v i các c c phí trong các ô trên c t c u gi ho c trên các hàng cung gi u b ng 0 Chú ý r ng lúc này, b ng v n t i m i s có thêm m t c t c u gi (n m bên
eij = cij (ui + vj) Ch ng h n ta có e13 = c13 (u1 + v3) = 7 (4 + 2) = 9 Các hi u su t khác
c tính t ng t (xem b ng III.18)
Trang 19v1 = 7 v2 = 6 v3 = 2 v4 = 3
u1 = 4 3
1000
2
4000
7 6 5000 u2 = 0 7 2500
5 ( 1) 2 2000
3
1500
6000 u3 = 5 2
2500
5 4 5 2500 6000 4000 2000 1500 13500 Trong b ng III.18 ta th y e22 = 1 < 0 Ch n ô (2,2 ) a vào s d ng ng v i q = 2500, ta chuy n sang ph ng án m i và tính l i các h th ng s th v nh trong b ng III.19 B ng III.19 Tính toán các th v và các hi u su t cho ph ng án m i v1 = 6 v2 = 5 v3 = 2 v4 = 3 u1 = 3 3 3500
2
1500
7 6 5000 u2 = 0 7
5
2500
2 2000
3
1500
6000 u3 = 4 2
2500
5 4 5 2500 6000 4000 2000 1500 13500 Ch n u2 = 0 v2 = 5 (= 5 0); v3 = 2 (= 2 0); v4 = 3 (= 3 0); u1 = 3 (= 2 5); v1 = 6 (= 3 (3)); u3 = 4 (= 2 6) T ng chi phí v n t i: CPVT = (3 3,5 + 2 1,5 + 5 2,5 + 2 2 + 3 1,5 + 2 2,5) 1000 = 39500 (tính cách khác, CPVT m i = 42000 1 2500) Ti p t c tính toán các hi u su t: e13 = c13 (u1 + v3) = 7 ( 3 + 2) = 8; e14 = c14 (u1 + v4) = 6 ( 3 + 3) = 6; e21 = c21 (u2 + v1) = 7 (0 + 6) = 1; e32 = c32 (u3 + v2) = 5 ( 4 + 5) = 4; e33 = c33 (u3 + v4) = 4 ( 4 + 2) = 6; e34 = c34 (u3 + v4) = 5 ( 4 + 3) = 6 74 t i u cho trong b ng III.19, v i t ng chi phí v n t i nh nh t là 39500 Chú ý i v i bài toán v n t i c n c c i hoá hàm m c tiêu thì tiêu chu n d ng s là eij 0,
ô (i, j) ch a s d ng i v i bài toán v n t i có ô c m (cung ng không c s d ng) thì t c c phí M =+ cho các ô c m v i bài toán Min ho c M = v i bài toán Max 4.5 C s c a ph ng pháp phân ph i và ph ng pháp th v Xét l i ví d 5 v i bài toán v n t i c cho trong b ng III.20 Vi t bài toán d i d ng BTQHTT nh sau: Min z = 3 4 i j i 1 j 1 c x = 3x11 + 2x12 + 7x13 + 6x14+ 7x21+ 5x22 + 2x23 + 3x24 + 2x31 + 5x32 + 4x33 + 5x34 v i các ràng bu c x11 + x12 + x13 + x14 = 5000
x21 + x22 + x23 + x24 = 6000
x31 + x32 + x33 + x34 = 2500
x11 + x21 + x31 = 6000
x12 + x22 + x32 = 4000
x13 + x23 + x33 = 2000
x14 + x24 + x34 = 1500
xij 0, i = 1,3 , j = 1,4 B ng III.20 B ng v n t i trong ví d 5 3 2 7 6 Cung 1: 5000 7 5 2 3 Cung 2: 6000 2 5 4 5 Cung 3: 2500 C u1: 6000 C u 2: 4000 C u 3: 2000 C u4: 1500 T ng: 13500 C s c a ph ng pháp phân ph i Ch n ph ng án tìm c b ng ph ng pháp góc tây b c (xem b ng III.10) làm ph ng án c c biên xu t phát, chúng ta có b ng n hình xu t phát nh sau (b ng III.21) B ng III.21 B ng n hình xu t phát gi i bài toán v n t i 3 2 7 6 7 5 2 3 2 5 4 5 cB xB x11 x12 x13 x14 x21 x22 x23 x24 x31 x32 x33 x34 3 7 5 2 4 5 x11 x21 x22 x23 x33 x34 5000 1000 4000 1000 1000 1500 1 0 0 0 0 0 1 1 1 0 0 0 1 1 0 1 0 0 1 1 0 +1 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 1 0 1 1 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 ij = cij zij 0 1 9 7 0 0 0 0 7 2 0 0 Chúng ta s ch ng minh r ng các hi u su t eij c a các ô (i, j) ch a s d ng chính là các giá tr ij = cij zij c tính hàng cu i c a b ng III.21 Ch ng h n, chúng ta s ch ra r ng e12 = 12 Th t v y, c t h s c a x12 là các h s mà A12 bi u th tuy n tính qua các véc t c s A11, A21, A22, A23, A33 và A34 Xét véc t c t ng v i x12, ta có: T = ( 1, 2, 3, 4, 5, 6)T = (1, 1, 1, 0, 0, 0) và ma tr n c s B = [A11 A21 A22 A23 A33 A34] Theo các phân tích ch ng II, m c 3.3, ta có = B 1A12 hay A12 = B V y có th vi t A12 = 1A11 + 2A21 + 3A22 + 4A23 + 5A33 + 6A34 và cách bi u di n A12 d i d ng t h p tuy n tính c a các véc t c t c s (trong ma tr n B) là duy nh t Xét chu trình i qua ô (1, 2) và m t s ô trong các ô ã s d ng (1, 1), (2, 1), (2, 2), (2, 3), (3, 3) và ((3, 4) Chu trình này là duy nh t: (1,2) (2,2) (2,1) (1,1) (1,2) Do ó ta có ngay: A12 A22 + A21 A11 = 0 A12 = A11 A21 + A22 1 2 3 4 5 6 1, 1, 1 0 12 = c12 z12 = c12 (c11 1 + c21 2 + c22 3 + c23 4 + c33 5 + c34 5) = 2 (3 1 7 1 + 5 1) = 2 3 + 7 5 = 1 12 = c12 c11 + c21 c22 = e12 T ng t , khi xét chu trình i qua ô ch a s d ng (3,1) và các ô (2,1), (2,3) và (3,3) thì có A31 = A21 A23 + A33 T ó c ng ch ra c 31 = c31 c21 + c23 c33 = e31 31= 2 7 + 2 4 = 7 Theo b ng n hình III.21, ta có 31 = 7 và 32 = 2, các ij còn l i u không âm áp d ng th t c xoay, ch n c t xoay là c t t ng ng v i bi n x32, t c là s a ô (3,2) vào s d ng Theo quy t c t s d ng bé nh t, hàng xoay c ch n là hàng ng v i bi n x33 ng v i l ng hàng Min trong các ô mang d u trong chu trình i qua các ô (3,2), (2,2), (2,3) và (3,3) K t qu này c ng ã c ch ra trong b ng III.12 Sau ó chúng ta s chuy n sang b ng n hình b c ti p theo cho k t qu tính toán trùng v i k t qu trong b ng III.13 khi gi i bài toán v n t i theo ph ng pháp phân ph i C s c a ph ng pháp th v Xét bài toán v n t i trong ví d 5: Min z = 3 4 i j i 1 j 1 c x = 3x11 + 2x12 + 7x13 + 6x14 + 7x21 + 5x22 + 2x23 + 3x24 + 2x31 + 5x32 + 4x33 + 5x34 v i các ràng bu c x11+x12+x13+x14 = 5000
x21+x22+x23+x24 = 6000
x31+x32+x33+x34 = 2500
x11 +x21 +x31 = 6000
x12 +x22 +x32 = 4000
x13 +x23 +x33 = 2000
x14 +x24 +x34 = 1500
xij 0, i = 1,3 , j = 1,4 ây là BTQHTT v i ph ng trình cu i cùng là h qu c a các ph ng trình ng trên G i u1, u2, u3 là các bi n i ng u c a 3 ph ng trình u và v1, v2, v3, v4 là các bi n i ng u c a 4 ph ng trình sau Lúc ó ta có bài toán i ng u sau c a BTQHTT ã cho Max w = 5000u1 + 6000u2 + 2500u3 + 6000v1 + 4000v2 + 2000v3 + 1500v4 v i các ràng bu c 1 1 1 2 1 3 i j i j 1 4 3 4 u v 3 u v 2 u v 7 u v c , i 1,3, j 1,4 u v 6
Các bi n i ng u ui, vj c g i là các th v
nh lý 4 i u ki n c n và m t ph ng án v n t i {xij 0, i = 1,m và j = 1,n }
là ph ng án t i u, là t n t i m t h th ng s th v {ui, i = 1,m , vj, j = 1,n } th a mãn h
i u ki n sau:
i j ij
i j i j
i 1,m, (i , j) : i j
j 1,n
x 0.
Trang 20Tr c h t, chúng ta s ch r ng v i h th ng th v {ui, i = 1,m , vj, j = 1,n } thu c
ng v i ph ng án v n t i {xij} ã cho, ta luôn có i j ei j ci j (ui v ) , ô (i, j) j
cho d hi u, chúng ta xét l i ví d 5 và b ng III.12 Lúc này, h th ng th v c xác
AT = 6 V y h có vô s nghi m ph thu c vào m t tham s (t c là, các giá tr c a các n c s
xác nh duy nh t khi cho n ngoài c s / n t do nh n m t giá tr tùy ý) Gi s v4 = 0 ( ây
Do ó, khi cho m t th v ch n b t k nh n m t giá tr tùy ý thì luôn tính c các th v
còn l i m t cách duy nh t H n n a cij (ui + vj) luôn không thay i dù th v u tiên ch n giá
tr nào (hãy quan sát k h ph ng trình trên suy ra i u này) Nh v y có th ch n v4 = 0
x1, x2, x3 0
a Gi i bài toán trên b ng ph ng pháp n hình
b Hãy vi t bài toán i ng u và tìm ph ng án t i u c a nó
c Hãy phát bi u ý ngh a kinh t c a c p bài toán i ng u
Bài 7 Hãy phát bi u thu t toán n hình i ng u và l p ch ng trình máy tính b ng ngôn ng
Pascal hay ngôn ng C gi i BTQHTT d ng t ng quát Ch y ki m th ch ng trình
trên m t s ví d ã bi t
Bài 8 Xét bài toán v n t i v i các d ki n cho trong b ng (ch ng h n c c phí v n chuy n c23 = 5)
a Không gi i bài toán, hãy ch ng t r ng nó nh t nh có m t ph ng án v n t i t i u mà các thành ph n u là s ch n
Bài 9 Hãy gi i bài toán l p k ho ch vay ba ngân hàng th c hi n các d án u t trong b n
l nh v c khác nhau, bi t s ti n các ngân hàng có th cho vay c ng nh lãi su t / n m các ngân hàng tính cho t ng d án (th i h n th c hi n các h p ng cho vay là m t n m)
Bài 10 Trong m t bài toán v n t i cho bi t véc t cung là a = (30, 10 + , 45, 30), véc t c u là b
= (25, 20 + , 6, 7, 22, 35) và ma tr n chi phí v n chuy n C = [cij] nh sau:
2993325
Ký hi u g( ) là giá tr t i u c a hàm m c tiêu c a bài toán ph thu c vào tham s
Ch ng minh r ng g( ) là hàm ngh ch bi n trên o n 0 22 ( ây là ngh ch lý v n t i: trong
m t s tr ng h p, khi l ng hàng c n v n chuy n t ng lên thì t ng chi phí v n chuy n l i có th
c rút b t i)
Bài 11 Hãy phát bi u thu t gi i theo ph ng pháp th v cho bài toán v n t i cân b ng thu phát
và l p ch ng trình máy tính b ng ngôn ng Pascal hay C Sau ó ch y th nghi m
ch ng trình cho m t s ví d ki m th
Trang 21Quy ho ch nguyên
1 Ph ng pháp c t Gomory gi i bài toán quy ho ch tuy n tính nguyên
1.1 Phát bi u bài toán quy ho ch tuy n tính nguyên
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 nguyên hay bài toán quy ho ch tuy n tính nguyên (BTQHTT nguyên), 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 v i i u ki n các bi n
Tr c h t chúng ta v ng th ng có ph ng trình là 2x1 + 4x2 = 7 ng th ng này chia m t ph ng làm hai n a m t ph ng M t ph n g m các i m (x1, x2) tho mãn: 2x1 + 4x2 7,
ph ng án kh thi là mi n g m các i m v i t a nguyên c gi i h n b i t giác OABC
B c 2: Trong mi n (OABC) ta tìm i m (x1, x2) v i các t a nguyên sao cho
z = x1 + 4x2 t giá tr l n nh t D th y ó là i m F(1, 1)
K t lu n Trong các ph ng án kh thi thì ph ng án t i u là (x1 = 1, x2 = 1) T i ph ng
án này, giá tr hàm m c tiêu là l n nh t zmax = 1 1 + 4 1 = 5
Tóm t t ph ng pháp Gomory
Chúng ta quy nh g i BTQHTT nh cho trong ví d 1 nh ng b qua i u ki n nguyên c a
các bi n là BTQHTT không nguyên t ng ng v i BTQHTT nguyên ã cho Tr c khi gi i
10x1 + 3x2 = 15
O
1 7/4
x1 2x1 + 4x2 = 7 x2
BTQHTT nguyên cho trong ví d 1 b ng b ng n hình theo ph ng pháp Gomory, chúng ta có
th mô t ph ng pháp này b ng th nh sau:
Khi gi i BTQHTT không nguyên chúng ta ch xét các i u ki n ràng bu c sau:
Tuy nhiên ph ng án (0, 7/4) ch a th a mãn i u ki n nguyên do t a x2 = 7/4 ch a
nguyên Chúng ta a thêm vào i u ki n x2 1 ho c x2 2 Chúng ta g i hai i u ki n b sung
này là hai lát c t L1 và L1 Làm nh v y, tuy chúng ta thu h p mi n ph ng án c a BTQHTT
không nguyên, nh ng v n gi nguyên mi n ph ng án c a BTQHTT nguyên ã cho V y mi n
ODEC = mi n OABC {mi n {(x1, x2) R2: x2 1} mi n {(x1, x2) R2: x2 2}}
Nhìn vào hình IV.1 có th nh n th y ngay r ng i u ki n
x2 2 có th b qua Do ó có th nói, mi n ODEC thu c t mi n OABC b ng nhát c t L 1 : (x 2 1)
Gi i BTQHTT không nguyên v i mi n ph ng án thu h p ODEC, xu t phát t ph ng
án i ng u kh thi A(0, 7/4) t t i ph ng án t i u là i m E(6/5, 1) v i zmax = 26/5
Ph ng án này có t a x1 = 6/5 không nguyên
Lúc này chúng ta s d ng lát c t L2: x1 1 và lát c t L2: x1 2, và không làm thu h p
mi n ph ng án kh thi c a BTQHTT nguyên ã cho D th y, lát c t L2 có th b qua (xem
hình IV.1) Mi n ph ng án thu h p c a BTQHTT không nguyên chính là mi n ODFG c quy
Mi n ODFG thu c t mi n OABC b ng nhát c t L 1 : (x 2 1) và L 2 : (x 1 1)
Ti p t c gi i BTQHTT không nguyên v i mi n ph ng án ODFG, xu t phát t ph ng
án i ng u kh thi E(6/5, 1) t t i ph ng án t i u là i m F(1, 1) có các to nguyên
v i zmax = 5 Vì các mi n ph ng án OABC và ODFG ch a cùng các i m có t a nguyên nh nhau, nên ây c ng chính là ph ng án t i u c a BTQHTT nguyên ã cho trong ví d 1
1.3 Gi i bài toán quy ho ch tuy n tính nguyên b ng b ng
Xét BTQHTT nguyên d ng chính t c
Ví d 2 Max z = x1 + 4x2 + 0x3 + 0x4, v i các ràng bu c 2x1 + 4x2 + x3 = 7
1
0 1/4
Trang 22nguyên nh h n 1 (do v ph i
0 r
T (4.1) và (4.2) suy ra x2 + x5 = 1 Do x5 0 nên ta có x2 1 ( ây chính là lát c t L1 trong
m c 1.2, ã c minh h a trên m t ph ng 0x1x2) Nh v y, khi b sung ph ng trình (4.1),
chúng ta thu h p mi n ph ng án c a BTQHTT không nguyên, nh ng v n gi nguyên mi n
ph ng án c a BTQHTT nguyên ã cho V y ph ng trình (4.1) c ng c coi là lát c t L1 Lúc
này chúng ta có b ng n hình IV.2 v i ph ng án i ng u kh thi ã có (xem ch ng III, m c
3) Chúng ta s s d ng ph ng pháp n hình i ng u ti p t c quá trình gi i và tìm ph ng
án t i u th a mãn i u ki n nguyên (xem b ng IV.2)
B ng IV.2 Các b ng n hình gi i BTQHTT nguyên (ti p)
3/4
1/2 17/2
1/10 37/10
1 3/5 6/5
1.4 Khung thu t toán c t Gomory
Xét BTQHTT nguyên Max z = c1x1 + c2x2 + + cnxn
B c 1: N u xk có các t a nguyên thì chuy n sang b c k t thúc
B c 2: N u trái l i xk có ít nh t m t to không nguyên thì c n ch n ra m t bi n c s
xr có giá tr không nguyên xây d ng ràng bu c b sung (lát c t th k): j 0
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 (x1, x2) tho
mãn các ràng bu c Tuy nhiên, tho mãn i u ki n không âm và i u ki n nguyên c a các
bi n, ta ch xét các i m n m trong góc ph n t th nh t có các t a u nguyên V y mi n các
ph ng án kh thi là mi n g m các i m v i t a nguyên c gi i h n b i t giác OABC
B c 2: Trong mi n (OABC) ta tìm i m (x1, x2) v i các t a nguyên sao cho
z = 3x1 + 4x2 t giá tr l n nh t Ta s ch ng t ph ng án t i u là i m H(2, 2) v i zmax = 14
2.2 N i dung c b n c a ph ng pháp nhánh c n
Tr c h t, chúng ta quy nh g i BTQHTT, nh cho trong ví d 3 nh ng b qua i u ki n
nguyên c a các bi n, là BTQHTT không nguyên t ng ng v i BTQHTT nguyên ã cho Chúng
ta có th mô t ph ng pháp nhánh c n Land Doig b ng ph ng pháp th (xem hình IV.2 và hình IV.3), trong ó LPi là ký hi u c a BTQHTT v i hàm m c tiêu ã cho và mi n ràng bu c Di
V i i = 1, D1 là mi n ràng bu c quy nh b i:
7x1 + 16x2 52 3x1 2x2 9
x1, x2 0
2.3 Khung thu t toán nhánh c n Land Doig
Khung thu t toán nhánh c n Land Doig có th c phát bi u nh sau cho BTQHTT nguyên d ng Max có mi n ràng bu c gi i n i khác r ng
Trang 23không nguyên nên t Record = Chia BTQHTT nguyên t ng ng v i
LP1 thành hai bài toán c n c t a x2 = 3/2
án t i u là K(3, 1) có các t a nguyên v i zmax =
13 L u tr x* = (3, 1) và Record =
13 Lo i b bài toán LP6
ii) N u bài toán có ph ng án v i t a nguyên thì so sánh zmaxv i Record hi n có:
N u zmax Record thì lo i b bài toán ra kh i t p S
N u zmax > Record thì t l i Record = zmax và ghi l i ph ng án t i u sau ó lo i bài toán ra kh i t p S
iii) Còn n u bài toán có ph ng án t i u nh ng có ít nh t m t t a không nguyên thì so sánh zmax v i Record hi n có:
N u zmax Record ta lo i b bài toán ra kh i t p S
N u zmax > Record ta chia bài toán thành hai bài toán c n c vào m t t a không nguyên b t k c a ph ng án t i u tìm c
B c 2: Thi t l p m i t p S g m t t c các bài toán thu c t b c 1 Ki m tra xem S có bao nhiêu bài toán: N u S khác r ng thì t k := k+1 và quay v b c 1, còn n u S là t p r ng thì
v b c k t thúc
B c k t thúc D ng và in ra Record
3 Gi i bài toán quy ho ch tuy n tính nguyên b ng quy ho ch ng 3.1 Bài toán ng i du l ch
hi u rõ các khái ni m c b n c a quy ho ch ng, tr c h t chúng ta hãy xét bài toán
ng i du l ch Trong bài toán ng i du l ch, chúng ta mu n xác nh ng i ng n nh t t m t
a i m xu t phát ( i m g c) i t i i m c n n ( i m ích) trên m t m ng hành trình du
l ch
Ví d 4 (Bài toán ng i i du l ch) Có m t ng i i du l ch, xu t phát t nút 1 và k t thúc hành trình nút 10 theo hành trình v i s nh trên hình IV.4
Ng i du l ch xu t phát t nút 1 Trong giai o n u anh ta ch c quy n (và b t bu c)
ch n m t trong ba nút (thành ph ) 2, 3, 4 vào th m quan Giai o n ti p theo, anh ta ch c
ch n m t trong ba nút 5, 6, 7 du l ch Trong giai o n ti p n i, anh ta có quy n vào m t trong
hai nút 8 ho c 9 tr c khi k t thúc hành trình t i nút 10
Nh v y, trong m i giai o n ng i i du l ch ch c quy n i vào m t thành ph (m i
thành ph c coi là m t tr ng thái c a giai o n ó) Hãy tìm cách xác nh ng i ng n nh t
t nút 1 t i nút 10 tho mãn các i u ki n t ra c a bài toán
Nguyên t c t i u Bellman trong quy ho ch ng
S d ng nguyên t c t i u Bellman trong quy ho ch ng gi i bài toán ng i du l ch,
chúng ta chia bài toán thành nhi u giai o n, t c là thành nhi u bài toán nh T i m i giai o n ta
c n tìm ph ng án t i u là các ph ng án t t nh t c a tình tr ng hi n có, xét trong m i quan h
v i các ph ng án t i u ã tìm c c a các giai o n tr c
Ta có th gi i quy t bài toán d n theo t ng giai o n theo cách tính toán ti n ho c tính toán
lùi gi i bài toán này, ta áp d ng cách tính toán lùi (Backward Computing) v i các ký ki u và
d ki n cho trong b ng IV.4
B ng IV.4 D ki n c a các giai o n trong bài toán ng i du l ch
Giai o n u vào u ra ng i t i u Kho ng cách t i ích
3.2 Quy trình tính toán t ng quát
Tr c h t, c n ch n các bi n tr ng thái (State variables) nh mô t trong b ng IV.5
B ng IV.5 Các bi n tr ng thái c a bài toán quy ho ch ng
Bi n S tr ng thái Các tr ng thái (nút) Giá tr có th x y ra c a các bi n tr ng thái
x3 3 2, 3, 4 x3 = 2, x3 = 3, x3 = 4 x2 3 5, 6, 7 x2 = 5, x2 = 6, x2 = 7
Bi n tr ng thái mô t tr ng thái c a h th ng trong t ng giai o n
Xác nh hàm m c tiêu: t Fi(xi) là kho ng cách ng n nh t t i ích tính t i giai o n i Theo b ng IV.4, ta th y:
M c ích c a bài toán là c n tìm c giá tr F4(x4) = F4(1)
L p hàm truy toán: Fi+1(xi+1) = Min {Fi(xi) + fi (ui)}, Min tìm theo m i t h p thích h p xi
và ui, trong ó ui là bi n i u khi n i u khi n chuy n tr ng thái t tr ng thái xi sang xi+1 và
fi(ui) là hi u ng c a bi n i u khi n tác ng lên hàm truy toán (và lên hàm m c tiêu n u tính
n bài toán cu i cùng) Theo bi u th c c a hàm truy toán ta th y, n u Fi(xi) + fi (ui) là hàm phi tuy n thì ph i dùng k thu t t i u thích h p tìm ra Fi+1(xi+1)
Sau ây chúng ta i tìm các hàm truy toán Fi+1(xi+1) v i quy trình tính toán lùi gi i bài toán theo t ng giai o n, nh m cu i cùng tìm ra c F4(x4) = F4(1)
Giai o n 1: Trong giai o n này, mu n chuy n t nút 10 (x0 = 10) v nút 8 (x1 = 8) ch ng
h n, thì bi n i u khi n u0 ph i có giá tr 150 (u0 = 150) Hi u ng gây nên b i u0 là f(u0) = 150
i u này có ngh a là n u chuy n t nút 10 ng c v nút 8 thì c n i quãng ng có chi u dài là
x1 = 8 x1 = 9
F2(x2) = Min{F1(x1) +f1(u1)}
+u1 = 400 +u1 = 200