B.ãng phán chứng, gi;i sứ các vccio A,. Ị = ịk phụ thuộc tuyến tính. Khi
â v t ồ n t ại t ố h ợ p tu>' cn l í n h c ú a c á c v e c l i í n;ì\ \V.'C1Ơ k h ô n « :
d | A | + d i A i + . . . + d|_Aị -- 0 ( 2 . 1 2 )
t r o n g đ(;3 c ó ít n h â ì m ộ l h ệ s ò d | 0.
N hân hai \'ế cua (2.12) với mộl số L| > 0. Ui t'ó:
qdị Aị + qd,Ai + . . . + qci: A;. = 0 (2.13)
T à' (2.1 I ) và (2.! 3) suv ra; ỷ ; x A , + q ^ L Ụ \ ^ =: b ! 1 ì ! [ I !-! V a y hè p h ư o ì i e t r ì n h ( 2 . 1 1 ) c ó hai Ịìghiệin; x ' (X, + q d ị . X. + q c i , . . . ,, X, + q d, , 0...0 ) \ “ “ ( x, - q d , . X. q d ... ... qcl,- 0 ...0 )
Vỉ rằns X| > 0. Vị - 1.k . nêĩì có ílió chon 1| (ỉu de k Ihàiih phan đa u của x'
v à J Ũ n e là c á c p l ì u c i m á n nhuìi ia rỏ l à n g là:
V .
X - - - X -Ị-- - - X
2 2
i N e h ì a là X là í ổ h ợ p lổi c u a h ai d i c n i \ \ X' e D-
Đ i c u Iiày iníiu í h u ẫ n \ ớ \ đ i c u k i c n ,\ la ịìhươni* lín c ự c b i ê n . V ậ y d i é u
pháii chứng rằỉie các \'CCÍƠ Aj. j - l.k là (lỏc lap íiiven tính là saị Đ ịn h lý đã
đ ư ơ c 'Cliứní^í m i n h .•
Các định lý 2.3 và 2,4 có thế <zộp lại iliàiìh moi định lý cần và đủ như sau:
Đ ịn h lý 2.5: Đc ,x = ( \ | . X,... X 1 là pliưono án cực biên của Q H T T dưới d ạ n ẹ chính lác (11) thì cần \’à đu l;ì các \ ccló cui A, -Lia m a trận A ứng vói các
t h à n h p h ầ n X > 0 là đ ộ c l áp t u v ẽ n líniị
§3. PHƯƠNG PHÁP ĐƠN HÌNH GIẢI QHTT
Cơ sớ của phưcTne pháp này dươc Dantzis c ò n u bỏ' năm 1947 có tên gọi là p h ư ơ n s pháp đơn hìnlị Sớ dì tên íiọi nh ư \'ậv \ ’ì nliũìig bài toán đầu tiên đưọ'c íiiái bằniỉ phươnsi pháp đó có các ràniỉ huộc dạns:
^ x . = l.x >( ) . j = l . n (3.1)
mà tập các điếir. X e R" thoa niãn các ràiiH buộc Irẽn là một đơn hình Irong k h ô n a gian n chicụ
3.1. Đường lối chung và cơ sở của thu ật toán
Đ ư ờ n g lôi c h u n g
Phưưna pháp đơn hình dựa trên hai nhận xét sau:
- Nêu bài tdán Q H I T có phú0'níi án l ố i ưu thì có Í1 nhất mộl đinh của D là phưưng án lối ưụ
- Đ a diện lổi D có một số hũ'u hạn dinh.
N h ư vậy phải tổn tại một thuật loán hữu hạn. Thuật toán gồni 2 giai đoạn;
G iai đoiuì I: trước hết tìm một phưoìiíỉ án cực biên (một đỉnh).
G iai đoạn II: k iếm Ira điểu kiện tối ưu đối với phương án đổ.
Nếu diều kiện tối ưu được thoá mãn Ihì phương án đó là tối ưụ Nếu không ta chuvển sang phưona án cực bicPi mới sao cho cái tiến 2Ìá trị hàm mục tiêụ
- Kiếm tra đ ic u kiện tối ưu đ ố i v ớ i p h ư ơ n e á n m ớ i .
Nỵười ta thưc hiên môl dãv các ihú tuc như vậv cho đến khi nhận dượcc . . . . . • J ' •
phươiit! án lôi ưụ hoặc đen tình huònu cạp một cạnh võ hạn trèn dó h àm mực liêu k h ô n a bị ch ạn và bài toán k h ô n s có phươne án lối ưụ
3.2. Cơ sở của thuật toán
Xét hài toán Q H T Ĩ dưới (.lụng chính lắc;
< c , x > ^ m a x ( 3 . 2 )
( l l ) f A x = b (3.3)
trong đó A là m a trộn kích thước mxn vii jjKỉ su r I!ìg h ạ n s của ma trận A là m (điều nàv không làm mất tính lổnc quát).
Giả s ử X là một phú0'na án cực biên nad Ta ký hiộu:
x > ( ) ( 3 . 5 )
Vì rãii2 c á c v c c l ơ Ap j e là độc lap l u \ cn líiih nên < m.
Đ ịn h n g h ĩa : Phươna Ún cực biên X (liroi: goi là k h ô n a thoái ho á nêu = m. thoái hoá nếu J* < m.
Ta chọn một hệ thốn" m vecló cỉộc láp Ur.cn lính ỊA|. j e J | sao ch o J 3 J*. Hệ i h ố n c đ ó là cơ sỏ' c ủ a X. c á c \' cctcí / \ . ị £ J v à biến X|, j e J được eọi là các vectơ và các biên cơ sờ tươns ứnc, Các \vcto \ à các biến Aj. Xj (j Ể J) sọi là các vectơ và các biô'n phi cơ sở.
Nêu X không thoái hoá ihì tồn lại m(M co só LÌiiy nhất, đó là J = J*.
Mọi veclơ Aị phi CÓ sỏ' có ihè' biếu dicii dưoì d ạ n s to hợp tuvến tính cúa
c á c v c c l ơ c ơ sứ:
( 3 . 6 )
| CJ
t r o n o đ ó c á c h ệ sỏ' đu’Ợc x á c đ ị n h d u v Iiliàì bói \ i ẹc g i á i h ệ p h ư ơ n g t r ì nh
Bài toán Q H T T được uọi là kh óne thoiii lioá ncai lâì cá các p h ư ơ n e án cực biôn cúa nó đều khônii thoái hoá.c.
Gia sử bài toan khònii ihoái lìoa \'a ta (ỉ;i íiiif dược một phương án cực biêii X = ( X | , X,... 0 ... 0) và cơ sờ cua nú A|. A ...
Đối vói phu’ơim án cực biên này ta có:
= b,x^ > {). ị " l . m iH Với í i á trị c ủ a hàm m ụ c ticu = /,,.x , > 0 .J - 1.111 i-1 ( 3 . 8 ) ( 3 . 9 ) 43
Ta tính các đai lươne sau: in ẳ ^ . ( 3 . 1 0 ) Ký hiệu: ni ■^k “ ^-k “ *^'k " X! r-1 |is K (3.1 1)
Đ ịn h lý 3.1 \ N ếu đối với phưưng an cưc bièn
X = ( X | , X . ...X,,,. 0 ...0 )
điều kiện sau được iho ả mãn
/A, > 0 . Vk = 1.11 thì X là phươiic án tối ưụ
Cliứiií> núiih: xét một phươna án bát kv y = (V|, V,... V,,,) e D Ta có: (3.12) k - i ẳ y A = / k---l (3.13) (3.14) Bởi vì Aị^ > 0 , Vk iiíihTa là 7.^^ - > 0. Vk. ch o nên thav c \ I r on o ( 3 . 1 4 ) bởi Z(^, ta có:
11
ẳ - ' "k - l (3.15)
T h a v t r o i m ( 3 . 1 3 ) bỏi b i ế u (licii cưa n ó I r o n g ( 3 .6 ) la có:' '
/ n / in Ẻ y . Ỉ ^ - . A k = l V j-=1 (3,16) và thav đổi thứ tự 2 t ổ n a ta có; 111 í II sj-l Vk-I A = b ( 3 . 1 7 )
Sởi vì các vcctơ A j , A . , . , . , A,,, dốc iiiỊì ịuvl;!! íÍỊili nôn từ (3.8) và (3.17) ta suy ra: !TỊ (3.18) T ừ (3.13) và (3.18) ta có; 1 •! (3.19) \ ’ì y là một phương án nào đó nèn (3.h)i cc n ízhĩa là:
<c. x> > <c. y>, Vv e í) (3.20)
v à X là phương áiì tối ưụ
N lìận xéí /: tr o n s (3.6) nếu A| ià \ cclo c í S(1' khi đó tổn tại chi m ộ t hệ số
Z|| = 1, l â ì c à c á c h ệ sô' k h á c đ ề u = 0 v à la C(i;
A, = c ,- C, = 0 . J € ,) (3.21)
v à í r o i m t h ự c h à n h đ ê k i ể m Ira đ i c u k i ệ n tôi ưu c..ia p hưe ín g á n c ự c b i ê n X ta c h ỉ
kiểm tra
> 0. Vk Ể J (3.22)
Nlìậii xéi 2: Nsười ta có thể chứne ininh r ă n e nếu bài loán k h ô n e ihoái h o á thì (3.12) CŨ112 là điểu kiộn c ầ n c u a tói 11'iị
Đ ịn /i /ý 3.2: Nếu tồn tại một chi số k sao l'1k) ,\| < 0 thì ta có thổ tìm được
ít nhấ t inội |;)hư()'ng áii \ ’ nià cloi vứi 11(’) / ' > / .
ClìửnỊị minh:
Sau khi nhân (3.6) và (3.10) với số 0 IIỈIO d c , la có:
ni I 0 = ' - » A , = O A , I -.1 ni (3.23) (3.24) 45
T h ê m đại lượng {■” 0C^) vào hai vế của (3.24) la dược:
Hì
£ e z , , c - 0 c , = 0 Z , - O c ,
L ấ y (3.8) trừ đi (3.23) và (3.9) trừ đi (3.25) từim vế ta có:
in ^ ( x ^ - e z ^ , ) A j + 0 A , = b J ( X j - 0 z , , ) c , + 0c , = z „ 0 ( z , ) = / , , - 0A (3.25) (3.26) (3.27)
N ế u các hệ số của các vectơ A|, j = l . m và tr ons (3.26) kh ô n g âm, khi đó ta có mộ t p h ư ơ n s án mới x' m à đối với nó hàm mục tiêu f có siá irị
z ’ = z - 0A, (3.28)
Troníỉ (3.8) tất cả các biến X|, J = l.ni đ ề u ctúơnạ Vì vậv có thể tìm được số 0 > 0 sao cho
x ' = X - 0 Z , > 0 , j = l , m ( 3 . 2 9 )
= m i n < > 0 j
T h e o điều kiện của định lý Aj- < 0, nên từ (3.28) la có > z„ c h ứ n g tỏ phươn g án mới x ’ tốt hơn phưưng án X. Địnli lý đã đưực c hứn g minh.
Nếu đối vói chi số k mà Aj. < 0 lổn tại z,|^ > 0. j e J. Ihì giá trị 0 lớn nliất cò n thoả mãn (3.29) có thể xác định bời hệ thức:
(3,30)
Nếu ta ihay 0 irong (3.26) và (3.28) bởi 0„ thì lliành phần thứ r sẽ bằng 0 - 6 , ) '' , , = 0
N h ư vậy ta nhận được phưcms án mới x' với CÓ s ỏ’ A,, j e J \ | r} u { k } = J ’. N ê u < 0 , Vj € J, khi đ ó tất c á c á c thành phán X| - 0Z||^ trong ( 3 . 2 9 ) s ẽ
k h ô n g âm với mọi 0 > 0, ngh ĩa là la luôn có phưoìiu án với mọi 0 > 0, nhưng từ (3.28) ta dễ thấy giá trị h à m m ụ c tiêu tiến tới a) khi 0 tiến tới +CỌ
Tro ng Ihực hành Dant/.iu đã chứng 1111 iiì iang số các bước lặp sẽ giảm
đáng kế nếu ta ihay veclơ txVi vectư A, llìoa: A = m i n A, A, < 0
k (3.31)
và khi đó vectơ A| được xác định theo côim lluit:
0 =
Z: /
(3.32)
Ta có phương án cực biên mói x' mà CIÍC ihàiih phần của nó có dạng: X
\ =
X né Li
V(')'i có sớ cúa nỏ là
A , J e J ' = J \ | r | u ỊsỊ Ta chuyển sanií xét thuật toán đơn hìnlì
(3.34)
3.3. Thuật toán đơn hinht
Gia sử la đã đưa Q HT T vẽ dang chinli Uk Cx = z ( m a \ )
' A x - b
■
L\ > 0
( ỉ i í i i ( l o ạ n / : Tim i n ộ l p h ư ơ i i i i a n c ư c l)iei, .\u;il Ị ) h : í t X v à CO’ s ỏ ’ c u a nó Aj.
j G J (la sẽ xél I r o n t i mục 3 4). (jiai (íoạii 2: + Xác định các số Z||, bới hệ ihốnii A , (3.35) I-' i 47
+ Đối với môi k Ể J tính các ước lượnu:
(3.36)
Jêj
1) Nêu (Vk Ể J) > 0 => X là nsh iệ m tối ưụ Dừng. 2) Nếu k h ô n e X khônsỉ phái là nghiệm tối ưụ
a) (3k Ể J) A|, < 0 và < 0, Vj e J => bài toán QH^ÍT k h ô n s c ó nshiệrn tối ưu (z k h ô n g bị c h ặ n trên). Dừng thuật toán.
b) Đối với mỗi k Ể J sao cho Ă_ < 0. dểu íồn tại j 6 J: Zjj- > 0 => chọn (3.37) = min 4 < 0 Đ ư a vectơ vào c ơ sở. X ác định; 6 = mi n >s X - .1 _ _ (3.38)
đưa veclơ A, ra khói cơ sở.
Ta được ph ươ ng án cực biên mới x ' vói c ư sớ J ' = J\{r} u {sỊ. Quay trở lại khởi đầu c ủa giai đo ạn 2.
3.4. C ông thức đổi cơ sở. Bảng đơn hình
Ta xét các c ô n g thức chuyên từ phươna án cực biên X với cơ sở J, sana phươnạ án cực biên x ’ với cơ sở J ’.
Ta đã có c ô n a thức (3.33) để tính các thành phấn cúu x ’. Bây giờ ta thièt lập c ô n ẹ thức lính các số Z||^.
Ta có: ,|6J A,- = A - V z. A ^ í .Ì'' .1 iwr (3,39)
Mặi khác:
Í J
Thay biểu thức cúa A từ (3.39) vào (3.4(1) U: có:
( 3 , 4 0 )A >A >A >A > A > ị \ A, = y ^ .p- 1 i" ! :ỊA - ịJ V ^.s / j -' l
Đa\' là cônu thức bicu dicn qua C()‘ S(1‘ mơỉ J' =: A{r Ị u Ị sỊ . Bởi vạy la có: = z , - ^ - z - nêu.. .Í' 'rs (3.41) z Sau khi có 7.,, ta tính: .|Ỉ< (3.42) Để dỗ tính toán, t r o n a niỗi hirớc lập la Ihicí lá[> banạ đon hình (xem bảng 1).
Nếu láì cả các số Irong dòng CUỎI (liìí ÍỊ dru > 0. n » hĩa là A|, > 0 Vk,
k h i đ ó X là p h ư o ì i g á n tô i UIỊ
- Ncu dò n e cuối ( k hône kế f) c ó nliữiií’ SI) ;ini thì x e m thứ c ó cột nào cát
d ò n g c u ố i ở m ộ t s ố â m m à m ọ i s ố t r o n g CỘI (1() (lci,i < 0 h a v k h ô n g ?
- N ế u có thì bài toán k h ô n g có phưoiì” ;in ló i ưu, - Nếu khônc thì chọn cột s s a o cho:
= m in {Â, Ị Aị^ < 0 ị
r ổ i c h o n I r o n a s ó c á c d ò i i í í c ắ l CỎI s ó n h ũ ì i y s o (Jư íim d ò i i ỉ í r m à t y s ô
m i n < J z > 0
.1^
Cột s gọi là cột xoay, vectơ A, được đưa vào c ơ sở. Dòng r gọi là d ò n g xoay, vectơ bị đưa ra khỏi cơ sở.
Phần tử z„ > 0 là giao của cột xoay và dòng xoay gọi là phần tử trục, các phần tử Zị^, j r sọi là ph ần tử xoav.
Theo các công thức (3.33), (3.34) và (3.42) (gọi là các công thức đổi cơ sở) bản g đơn hình mới suy được từ bản g cũ bằng cách thay c,, trong dòng xoay bằn g c„ Ậ Sau đó thực hiện các phép biến đổi dưới đây:
- Chia mỗi phần tử ở dòng xoay cho phần tử trục (được số 1 ở vị trí trục), kết quả thu được gọi là d ò n g chính.
- Lấy mỗi d ò n g khác trừ đi tích c ủa dòng chính nhân với phần tử xoay tương ứng (được số 0 ở vị trí còn lại của cột xoay).
Dòng mới = d ò n g cũ tương ứng - dòng chính X phần tử xoaỵ
Lưu ý rằng sau phép xoay thì ở vị trí ta thu được số 0 vì lúc này A, trở thành vectơ đơn vị c ơ sở, nghĩa là ta đã làm mất số â m nhỏ nhất ở dòng cuối của bảng cũ.
Toàn thể phép biến đổi trên gọi là phép xoay xung q u a n h trục Sau khi thực hiện phép xoay ta có một phương án và một cơ sở mớị N ếu chưa đạt yêu
c ầ u n g h ĩ a là c ò n < 0 thì ta lạ i t i ế p t ụ c q u á t rì nh .
C hủ ý J : trong bản g đơn hình ở bảng 1, kh ô n g giảm tổng quát ta coi các v e c t ơ cơ sở được đ á n h s ố A |, A2, . . A„,, n g h ĩ a là:
J = Ị 1, 2 ,.. ., m
C hú ý 2: thuật toá n đơn hình có thể diễn tả bằng sơ đồ khối ở hình 3.1. Từ đó dễ dàng lập chưcmg trình cho máy tính.
Bảng 1 Ci C ơ s ở P h ư ơ n g á n Ci C2... c , . . i a , , . r ■ 1 Cm--. 1 c , . . . c . ■ ■ -^n Ai A , . „ A , . . i Ạ , , , . 1 A , . . . A . . . . A „ c , A i Xi 1 0 . . . 0 . . . 0 . . . 0 . . . ^1k ^2 A , X2 0 1 0 0 0 Z2k ■■•Z2s ■■•Z2n c, X, 0 0 1 0 0 ZjK Cr Ar Xr 0 0 0 1 0 . . . z „ Cm A . , Xm Xm 0 0 0 1 ^mk • • '^ms • • '^mn f 0 0 . . . 0 . . . 0 . . . 0 . . . . -■An Sơ đồ khối 1 s / 6 A3 = minAk f 7 0 = mỉn — -X, >^15 ị 8 Biến đổi bảng Đ Khỏnc^ có phương án tối ưu ỉ Hinh 3.1 51
§4. VẤN ĐỀ PHƯƠNG ÁN cực BIÊN VÀ c ơ sỏ XUẤT PHÁT GIAI ĐOẠN 1
Cần phải tìm một phươn g án cực biên X và cơ sớ J c ủa nó để khỏi đầu thuật toán đơn hình.
Ta có giả thiết b > 0 m à kh ô n g làm "iảm lính tổng quát (bởi lẽ ta có thê nh ân ràn g buộc m à v ế phái là b, <0 với - 1).
Khi đó ta xét bài toán Q H T T phụ:
ni m i n ^ w_ 1-1 ( P ’ ) ^ Ax + W = b L X > 0 , w > 0
m à rõ ràng là nó có phươn g án cực biên (0, b) với cơ sở Aj. j = l . m . Giả sử (x, w) là phươno án tối ưu được c ủa bài toán phụ.
N ếu w 0 thì dễ thấ y bài toán xuất phát (P) kh ỏ n g có phương án chấp nh ận được (D = 0 ) .
N ế u w = 0, khi đ ó X là phương án chấp nhận được của bài toán (P), làm cơ sở ch o việc bắt đầu giai đ o ạ n IỊ
Tro ng thực h à n h th ư ờ ng người ta còn liên kếl giai đoạn I và giai đoạn II lại thành mộ t thuật toá n c h u n g bằng cách thêm các biến phụ cho bài toán ở d ạ n g chuẩn và th ê m các biến giả tạo cho bài toán ở dạn g c h ín h tắc. Ta sẽ lần lượt xét hai trường hợp nàỵ
- T n i ử i ì g hợp 1: Hệ ràn g buộc lấy dấu “<”
f ( x ) = C | X | + CtX, + . . . + c„x„ m a x ( 4 . 1 )
a , , x , + a , , X3+ . . . + a | „ x „ < b âịX, + a23X, + . . . + a2„x„ <
X , > 0 , j = l , n
(4.2)
Ta giả thiếl rằn e b, > 0, i = l.m
T a th êm vào v ế Irái c ú a hệ ràne buòi; cac ;U! :;ò phụ x„+i > 0, i = 1. ... , m để biến hệ bất phương trình thành hệ phưoìig irinh. Trona h àm m ụ c tiêu các ẩn số phụ có hệ sò' bằng 0. Bài toán (4.1). (4.2). (4.3) Iiioìig đương với bài toán sau;
f ( \ ) :::: c,x, + c.x. + . . . + f ^ i l ^ ì ^ 1 2 ^ 2 + ■ ■ ■ + ^I n>^n + = b j ^21XI + + . . . + + X|J^1 == bi max -f- X = b.. ''•n+m 111 VX| > 0 . j = 1 . 2 ...n + m
Có thể xây dựng phươna án cơ só là;
X| = X, = . . . = x„ = 0 - c á c b i e n phi c ơ s ở
X„.I = h,, = b ,... x„,„, = b,, - các biến cơ sở.
Các veclơ A„^|. A„.,2... A„+„-, ứng với c a c biến số là các v ectơ cột đơn vị
đ ộ c l ậ p t u y ế n t í n h b ởi v ậ y c h ú n g t ạ o n ô n CÓ sứ c u a p h ư ơ n g á n đ ó .
Trườniị hợp 2: Hệ ràn« buộc lấy dâu
f(x) = C|.\| + c.x, + . . . + inax í l | | X | + Í Ii ịXi + ■ • ■ + ^hn' ' ' i i UtI X I + íIị tX 1 + . . . + Ui | | X, | = b . (4.4) (4.5) + í»m:X2 + ■ • ■+ a„ „x „ - V. X j > 0 , j = l , 2 ...n ( 4 . 6 )
Giá thiết rằng b, > 0, i = 1, m, bài toán (4.4), (4.5) và (4.6) ta sẽ gọi là bài loán xuất phát, ta sẽ giải bài toán inở rộno sau, aoi là bài toá n (M):
f(x) = C|X, + c^x, + . . . + c „ x , - .VIx,,| - ... - - > m ax
a,,x, + a , , x , + . . . + a,„x„ + x„^