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

GIÁO TRÌNH Tối ưu hóa ứng dụng (Nguyễn Đắc Lực)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (434.69 KB, 59 trang )

Lời nói đầu
Các bi toán tối }u nhằm nghiên cứu giải bi toán cực trị của một hm d}ới những
rng buộc no đó. Các ph}ơng pháp tối }u l một công cụ hữu hiệu giúp chúng ta có những
giải pháp tốt nhất để giải quyết một vấn đề. Ngy nay, với sự phát triển của kỹ thuật tin học,
phạm vi ứng dụng của tối }u hóa ngy cng mở rộng.
Giáo trình Tối uu hóa ứng dụng nhằm mục đích giới thiệu cho ng}ời đọc những vấn
đề cơ bản nhằm xác lập một vấn đề tối }u d}ới những rng buộc nhất định v từ đó tìm kỹ
thuật giải thích hợp. Nội dung giáo trình mô tả phần cơ sở lý thuyết ngắn gọn, đủ dùng cho
ph}ơng pháp tính v thuật toán. Một số ví dụ minh họa cho ph}ơng pháp giải v các bi tập
ứng dụng.
Nguyễn Đắc Lực



1


Mục lục
Lời nói đầu
Mục lục
Choơng 1: Cơ sở của đại số tuyến tính
1.1. Ma trận v các phép tính ma trận
1.2. Định thức v các tính chất của chúng
1.3. Ma trận nghịch đảo v hạng của ma trận
1.4. Hệ ph}ơng trình tuyến tính
Choơng 2: Khái niệm về các bi toán tối ou hóa
2.1. Bi toán tối }u hóa tổng quát
2.2. Các bi toán tối }u
Choơng 3: Bi toán tối ou tuyến tính
3.1. Một số ví dụ về bi toán tối }u
3.2. Phát biểu bi toán


3.3. Tính đối ngẫu v định lý cơ bản của tối }u tuyến tính
3.4. Các ph}ơng pháp giải bi toán tối }u tuyến tính
3.5. Thuật toán đơn hình giải bi toán tối }u tổng quát
Choơng 4: Bi toán tối ou nguyên tuyến tính
4.1. Bi toán tối }u nguyên tuyến tính
4.2. Một số mô hình thực tiễn
Choong 5; Bi toán tối ou động
5.1. Bản chất bi toán tối }u động
5.2. Quá trình phân phối nhiều b}ớc
5.3. Cấu trúc quá trình tối }u động
5.4. Ph}ơng trình điều khiển tối }u các dự trữ
Choơng 6: Bi toán tối ou phi tuyến không rng buộc
6.1. Mở đầu
6.2. Điều kiện tối }u của bi toán không rng buộc
6.3. Các ph}ong pháp dùng đạo hm
6.4. Các ph}ơng pháp dùng đạo hm
Choơng 7: Bi toán tối ou phi tuyến có rng buộc
7.1. Mở đầu
7.2. Ph}ơng pháp Gradient
7.3. Ph}ơng pháp hm phạt
Choơng 8: Quy hoạch thực nghiệm
8.1. Khái niệm về nhận dạng mô hình thống kê
8.2. Ph}ơng pháp bình ph}ơng bé nhất
8.3. Mô hình hồi quy tuyến tính bội
Ti liệu tham khảo



2


1
2
3
3
4
5
7
9
9
9
11
11
11
12
13
18
21
21
21
25
25
26
33
39
41
41
41
42
45
49

49
50
53
55
55
55
56
59


Choơng 1: CƠ Sở ĐạI Số TUYếN TíNH
Việc nghiên cứu các bi toán tối }u tuyến tính đòi hỏi phải sử dụng một phần của
toán học, m những phần đó ch}a đ}ợc nghiên cứu trong các giáo trình cơ sở. Trong đó
tr}ớc hết phải nói đến đại số tuyến tính. Kiến thức quan trọng nhất để nghiên cứu các bi
toán tối }u tuyến tính l các phép tính về ma trận, cách giải các hệ ph}ơng trình v bất
ph}ơng trình tuyến tính. ở đây sẽ không chứng minh một số mệnh đề m chỉ khẳng định.
1.1. Ma trận v các phép tính đối với ma trận
1.1.1. Ma trận: Ma trận l một bảng chữ nhật gồm m.n số sắp thnh m
hng n cột d}ới dạng:
a11
a12
....
a1n
a21
a22
....
a2n
...
...
....

...
am1
am2
....
amn
Phần tử của ma trận ký hiệu aij, chỉ số thứ nhất ký hiệu chỉ số hng, chỉ số thứ hai chỉ
số cột của ma trận chứa phần tử aij.
Số hng (m) v số cột (n) của ma trận xác định kích thứơc của ma trận, ta nói ma trận
có kích th}ớc m.n.
Ma trận gồm các phần tử aij th}ờng đ}ợc ký hiệu bằng chữ in hoa: A.
Ma trận có nhiều ký hiệu khác nhau. Ma trận A có thể đ}ợc viết d}ới dạng:
êa 11
a 21
A= ôô...
ôơa m1

a 12 ...
a 22 ...
... ...
a m2 ...

a 1n
a 2n ằ
... ằ
a mn ằẳ

(1.1)

Ma trận có số hng bằng số cột (m=n) đ}ợc gọi l ma trận vuông. Lúc đó, ng}ời ta
nói rằng ma trận vuông có cấp n.

Ma trận m các cột của nó l các hng t}ơng ứng của ma trận ban đầu A thì đ}ợc gọi
l ma trận chuyển vị của ma trận A v đ}ợc ký hiệu l AT, tức l:

êa 11
ôa 12
AT = ô...
ôơa 1n

a 21 ... a m1
a 22 ... a m2 ằ
... ... ... ằ
a 2n ... a mn ằẳ

(1.2)

1.1.2. Các dạng ma trận:
Ma trận chỉ có một cột đ}ợc gọi l vectơ cột, còn ma trận chỉ có một hng gọi l
vectơ hng. Ma trận vuông có dạng:

êD 1 ... 0
ô 0 D ... 0 ằ
2
ô

ô ............... ằ
ô

Dn ẳ
ơ0 0
Đ}ợc gọi l ma trận đuờng chéo.

Nếu ma trận đ}ờng chéo có tất cả Di= 1 thì đ}ợc gọi l ma trận đơn vị v th}ờng
đ}ợc ký hiệu l E.
Ví dụ:



3


ê1
ô0
E= ô
ô0
ô
ơ0

0 0 0
1 0 0 ằằ
0 1 0ằ

0 01 ẳ

Hai ma trận bằng nhau chỉ trong truờng hợp chúng có cùng kích thuớc v các phần
tử tuơng ứng bằng nhau.
Nếu ma trận A có định thức khác không thì đ}ợc gọi l ma trận không kỳ dị (không
suy biến). Trong tr}ờng hợp ng}ợc lại ma trận A đ}ợc gọi l ma trận kỳ dị hoặc l ma trận
suy biến.
1.1.3. Phép tính đối với ma trận
Muốn nhân ma trận với một hằng số (vô h}ớng) ta nhân mỗi phần tử của ma trận với
số đó.

êDa 11 Da 12 ... Da 1n
ôDa Da ... Da ằ
DA = ô... 21 .... 22 ... ... 2n ằ
(1.3)
ôơDa m1 Da m2 ... Da mn ằẳ
Tổng của hai ma trận A v B có cùng kích th}ớc l ma trận C mới m mỗi phần tử
của nó bằng tổng các phần tử t}ơng ứng của ma trận A v B tức l:

êa 11 a 12 ... a 1n ê b11 b12 ... b1n ê a 11  b11 a 12  b12 ...a 1n  b1n
a
a
...
a
b
b
b




ô
a a ... a
21
21
22
22
2n
2n
b 21 b 22 ... b 2n ằ =
A+B = ôô ...21 ...22... ...2n ằằ + ôô ...

ằ = C (1.4)
ô
... ... ... ... ... ... ...
... ... ... ằ
ôơ a m1 a m2 ... a mn ằẳ ơô b m1 b m2 ... b mn ẳằ ôơ a m1  bm1 a m2  bm 2 ...a mn  bmn ằẳ
Ma trận A nhân đuợc với ma trận B chỉ trong truờng hợp số cột của ma trận A bằng
số hng của ma trận B.
Nếu ma trận A có kích th}ớc m.n, còn ma trận B l n.l, thì kích th}ớc của ma trận C
l tích ma trận Av B sẽ l m.l. V mỗi phần tử của ma trận C đ}ợc tính theo công thức:
cij = ai1b1j +ai2b2j + ... + ain bnj
(1.5)
ở đây ai1, ai2 ..., ain l các phần tử hng thứ i của ma trận A; còn b1j, b2j ..., bnj l các phần tử
cột thứ j của ma trận B.
1/ Tích ma trận không có tính chất giao hoán, tức l nói chung:
AB z BA;
2/ (AB)C = A(BC) (luật kết hợp);
3/ (A+B)C = AC + BC;
C (A+B) = CA + CB (luật phân bố);
4/ D(AB) = (DA)B = A(DB);
5/ AE = EA = A;
Phép chuyển vị ma trận có tính chất sau:
1/ (A + B)T = AT + BT
2/ (AB)T = BT.AT
Lũy thừa ma trận vuông A đ}ợc định nghĩa nh} sau:
Ak = A.A...A
k lần v: Ak1Ak2 = Ak1+k2
1.2. Định thức v các tính chất của chúng
1.2.1. Khái niệm về hoán vị:
Ta lấy n số đầu tiên: 1,2 ... , n. Mỗi cách sắp xếp các số ấy theo một thứ tự no đó
đ}ợc gọi l hoán vị của n số. Nh} ta đã biết số các hoán vị khác nhau sẽ bằng n!.




4


Số Di v Dj tạo thnh một nghịch thể trong hóan vị đã cho nếu Di > Dj với i < j.
Số các nghịch thế trong hoán vị I = (D1, D2 ,..., Dn) bằng: k1 + k2 + ... + kn-1
ở đây ks l số tr}ờng hợp Ds lớn hơn Ds+1, Ds+2 , ... Dn (s = 1, 2, ..., n-1) trong hoán vị I.
Hoán vị đ}ợc gọi l hoán vị chẵn nếu số nghịch thể trong hoán vị I l số chẵn, v
đ}ợc gọi l hóan vị lẻ nếu số các nghịch thể l số lẻ. Ví dụ đối với hoán vị 5, 2, 3, 4,1 thì
số tất cả các nghịch thế bằng:
k1 + k2 + k3 + k4 = 4 +1 +1 +1 = 7. Vì vậy, hóan vị ny l hóan vị lẻ.
1.2.2. Khái niệm về định thức v phép tính của chúng:
Số bằng tổng đại số của tất cả các tích những phần tử ma trận vuông A m trong đó
mỗi tích chỉ gồm các phần tử khác hng, khác cột của ma trận, tức l tổng các tích có dạng:
a1j1 a2j2 ... anjn
(1.6)
đ}ợc gọi l định thức của ma trận A (Số tích đó bằng n!). Mỗi tích nh} thế lấy dấu cộng nếu
hoán vị t}ơng ứng l chẵn, còn lấy dấu trừ, nếu lẻ.
Khi tìm hạng của ma trận, ma trận nghịch đảo v giải hệ ph}ơng trình tuyến tính ta sẽ
cần đến định thức. Định thức của ma trận A th}ờng đ}ợc ký hiệu l 'n hoặc |A|.
a11 a12 ...a1n
a
21 a 22 ...a 2 n
'n = |A| = ..........
...
a n1 a n 2 ...a nn

| aij


n

(1.7)

1

Các phần tử, các hng, các cột v cấp của ma trận A t}ơng ứng với các phần tử, các
hng, các cột v cấp của định thức |A|.
Ví dụ: ta tính định thức cấp 3 theo quy tắc vừa nêu ra:
a11a12 a13

'3 = a21a22 a23 = a11a22a33 + a12a23a31 + a13a21a32 - a13a22a31 - a12a21a33 - a11a23a32
a31a32 a33

Ba số hạng đầu lấy dấu cộng, còn ba số hạng sau lấy dấu trừ, bởi vì hoán vị 1,2,3;
2,3,1 v 3,1,2 l chẵn (số nghịch thể t}ơng ứng l 0, 2 v 2) còn các hóan vị 3,2,1 ; 2,1,3 v
1,3,2 l hóan vị lẻ (số nghịch thể t}ơng ứng l 3,1 v 1).
Ví dụ:
2 4 1

'3 = 3 0 - 1 = 2.0.3 + 4(-1) .1 +1.3(-2) -[1.0.1+4.3.3+2(-1).(-2)] = -50.
1 -2 3

1.2.2. Định thức con v phần phụ đại số:
Định thức cấp (n-1) có từ định thức cấp n ('n) bằng cách bỏ hng i cột j đ}ợc gọi l
định thức con ứng với phần tử aij của định thức 'n v đ}ợc ký hiệu l Mij.
Ta coi định thức cấp n:
a 11
a 21

'n = a...
i1
...
a n1

a 12
a 22
...
a i2
...
a n2

...
...
...
...
...
...

a 1j ...
a 2j ...
... ...
a ij ...
... ...
a nj ...

a 1n
a 2n
...
a in

...
a nn

Khi đó định thức con của phần tử aij sẽ l định thức cấp (n-1):



5


a 11 a 12
a 21 a 22
...
Mij = a i-11a i-12
a i-11a i-12
... ...
a n1 a n2

...
...
...
...
...
...
...

a 1j-1 a 1j1 ... a 1n
a 2j-1 a 2j1 ... a 2n
... ...
... ...

a i-1, j-1 a i-1, j1 ... a i-1,n
a i-1, j-1 a i-1, j1 ... a i-1,n
... ...
.... .....
a nj-1 a nj1 ... a nn

Ví dụ: định thức con của phần tử a22 của định thức:
2 4 1
2 1
= 2.3 -1.1 = 6-1 = 5
'3= 3 0 - 1 sẽ l: M22 =
1 2
1 -2 3

Định thức con của phần tử aij nhân với (-1) với số mũ bằng tổng các chỉ số của phần
tử đó (i + j) đ}ợc gọi l phần phụ đại số của phần tử aij v đ}ợc ký hiệu l Aij. Vì vậy:
Aij = (-1)i+j Mij
(1.10)
Chẳng hạn, phần phụ đại số của phần tử a22 ở ví dụ vừa rồi sẽ l: A22=(-1)2+2.5=5
1.3. Ma trận nghịch đảo v hạng của ma trận
1.3.1. Ma trận nghịch đảo:
Đối với mỗi ma trận A không suy biến sẽ tồn tại một ma trận (ký hiệu A-1) thỏa mãn
điều kiện: A-1A = AA-1 = E
(1.17)
Ma trận A-1 đ}ợc gọi l ma trận nghịch đảo của ma trận A v đ}ợc tính theo công thức:
A-1 =

A*
| A|


(1.18)

Đôi khi ma trận A* đ}ợc gọi l ma trận phụ hợp của ma trận A.
Phần tử hng i cột j của ma trận A* l phần phụ đại số của phần tử aij của ma trận A.
Từ đó:
A-1

ê A11 A 21 A n1
ô | A | | A | ... | A |
= ôô ... ... ... ...
A A 2n A nn
ô 1n
...
ôơ | A | | A | | A |






ằẳ

(1.18a)

ê2 3 2
Ví dụ ta lấy ma trận cấp 3: A = ôô 1 2 1ằằ
ơô 3 1 ằẳ

Tr}ớc khi đi tính ma trận nghịch đảo, cần xác định ma trận A cho ở đây không phải
l ma trận suy biến, tức l định thức của nó khác không.

Định thức của ma trận đó sẽ bằng:
| A | = 2.2.1 +3.1.3 +2.1.1 - 2.2.3 -3.1.1 - 2.1.1= -2
Sau đó ta tính các phần phụ đại số của các phần tử của ma trận
A11 = ( -1)1+1 12 11 = 2.1-1.1 =1
A12 = ( -1)1+2 13 11 = -(1.1-3.1) = 2
A13 = ( -1)1+3 13 21 =1.1-2.3 = -5
T}ơng tự ta tìm đ}ợc các Aij còn lại: A21 = -1 ; A22 = - 4; A23 = 7; A31 = -1 ; A32 = 0;
A33= 1.



6


-1

Do đó ta có: A

ê- 1/2 - 1 5/2
= ôô - 1 2 7/2ằằ
ôơ 1/2 0 - 1/2ằẳ

áp dụng quy tắc nhân ma trận, đem nhân ma trận A với ma trận A-1 vừa tìm đ}ợc ta
dễ dng thấy đ}ợc kết quả l một ma trận đơn vị. V có thể dùng cách ny để kiểm tra việc
tính ma trận nghịch đảo có đúng không.
Ma trận nghịch đảo của ma trận đơn vị cũng l ma trận đơn vị. Điều ny suy ra từ
việc nhân ma trận bất kỳ với ma trận đơn vị đ}ợc đúng ma trận đó. Dùng các quy tắc đã nêu
ở trên ta nhân hai ma trận đơn vị với nhau.
ê 1 0 0 ê 1 0 0
EE = ôô 0 1 0ằằ ôô 0 1 0ằằ =

ôơ 0 0 0 ằẳ ôơ 0 0 0 ằẳ

ê 1 0 0
ô 0 1 0ằ

ô
ôơ 0 0 0 ằẳ

Từ đó suy ra rằng E-1 = E
Cũng có thể chứng minh điều đó bằng cách tính trực tiếp ma trận nghịch đảo theo
công thức (1.18).
1.4. Hệ phoơng trình tuyến tính
1.4.1. Dạng của hệ phuơng trình tuyến tính:
Dạng tổng quát của hệ ph}ơng trình tuyến tính đ}ợc viết nh} sau:
a11x1 + a12x2 + ... a1nxn = b1
a21x1 + a22x2 + ... a2nxn = b2
(1.20)
.....................................
am1x1 + am2x2 + ... amnxn = bm
Hệ ny đ}ợc viết d}ới dạng ma trận l:
AX = B
(1.20a)
ở đây A l ma trận đ}ợc thnh lập từ các hệ số của các biến: A = (aij) với i = 1,2,..., m; j = 1,
2,..., n.
X - l véctơ cột của các biến

ê x1
ô x2 ằ
X =ô . ằ
ôơ xn ằẳ


(1.21)

B - l véctơ cột các số hạng tự do

ê b1
ô b2 ằ
B = ô. ằ
ôơbm ằẳ

(1.22)

Hệ ph}ơng trình tuyến đ}ợc gọi l:
Thuần nhất, nếu tất cả các bi = 0 (i = 1, 2 .... m) v không thuần nhất, nếu có ít nhất
một bi z 0.
Tuơng thích, nếu hệ có ít nhất một nghiệm, tức l tồn tại một bộ số m khi thay vo
ph}ơng trình sẽ có một đồng nhất thức, v gọi l không tuơng thích nếu không có một
nghiệm no; xác định nếu hệ chỉ có một nghiệm duy nhất, v bất định nếu tồn tại quá một
nghiệm.
Muốn giải hệ ph}ơng trình tuyến tính, thì tr}ớc hết phải xác định xem hệ đã cho
t}ơng thích hay l không t}ơng thích. Nếu l hệ t}ơng thích thì lại phải xem hệ l xác định
hay bất định.



7


Nếu hệ ph}ơng trình l xác định thì ta đi tìm nghiệm duy nhất của nó.
1.4.2. Giải hệ phuơng trình tuyến tính:

Khi giải hệ ph}ơng trình tuyến tính có thể xảy ra hai tr}ờng hợp: n =m v n zm.
Tr}ớc hết l ta xét tr}ờng hợp n = m. Lúc đó ma trận A sẽ có dạng:

êa 11
ô a 21
A = ô ...
ôơ a n1

a 12
a 22
...
a n2

... a 1n
... a 2n ằ
... ... ằ
... a nn ằẳ

Giả thiết ma trận A không suy biến, tức l | A| z 0, khi đó sẽ tồn tại ma trận nghịch
đảo A-1.
Ta nhân vế trái v vế phải của đẳng thức (1.20a) với A-1 về bên trái. Ta sẽ đ}ợc:
-1
A AX = A-1B.
Bởi vì A-1A = E m nhân bất cứ ma trận no với E sẽ đ}ợc đúng ma trận đó, nên:
(1.23)
X = A-1B
Sau khi thế A-1 bởi biểu thức (1.18a) v thay các véctơ cột X v B ở (1.21) v (1.22)
rồi nhân ma trận A-1 với B ta có:
ê A11b1  A21b2  ...  An1bn
ê x1

ô x 2 ằ = 1 ô A12 b1  A22 b2  ...  An 2 bn ằ

ô . ằ | A| ô .
.
.
ôơ A1n b1  A2 n b2  ...  Ann bn ằẳ
ôơ x n ằẳ

Vì hai ma trận chỉ bằng nhau khi các phần tử t}ơng ứng của chúng bằng nhau, nên
x1 =

1
(A11b1 + A21b2 + ... An1bn)
| A|

.......................................................
xi =

1
(A1ib1 + A2ib2 + ... Anibn)
| A|

(1.23a)

.......................................................
xn =

1
(A1nb1 + A2nb2 + ... Annbn)
| A|


Ta xét tr}ờng hợp thứ hai (m zn). Ta gọi ma trận:

êa 11 a 12 ... a 1n
A = ô ... ... ... ... ằ l ma trận cơ sở của hệ.
ôơ a m1 a m2 ... a mn ằẳ
Sau khi thêm cột các số hạng tự do vo ma trận A ta lập đ}ợc ma trận mở rộng B:

êa 11 a 12 ... a 1n b1
B = ô ... ... ... ... ằ
ôơ a m1 a m2 ... a mn bm ằẳ

(1.26)

Từ đó, ta có định lý Crônecke - Capeli: Để hệ phuơng trình tuyến tính l tuơng thích,
điều kiện cần v đủ l hạng của ma trận cơ sở v ma trận mở rộng bằng nhau. Nếu hạng
của chúng bằng nhau v số ẩn bằng hạng của ma trận cơ sở thì hệ có nghiệm duy nhất. Nếu
hạng của ma trận A nhỏ hơn số ẩn thì hệ có vô số nghiệm.
Hệ ph}ơng trình tuyến tính thuần nhất luôn luôn t}ơng thích, bởi vì luôn luôn có
nghiệm không, đ}ợc gọi l nghiệm tầm th}ờng.
Nếu hạng của ma trận bằng số ẩn thì hệ thuần nhất chỉ có duy nhất một nghiệm l
không. Muốn hệ tồn tại nghiệm khác không thì hạng của ma trận cơ sở phải nhỏ hơn số ẩn.



8


Choơng 2: Khái niệm về các bi toán tối wu hoá
2.1. Bi toán tối ou hoá tổng quát

2.1.1. Phát biểu:
Tìm trạng thái tối uu của một hệ thống sao cho đạt đuợc mục tiêu mong muốn về chất
luợng theo một nghĩa no đó.
2.1.2. Các yếu tố của một bi toán tối uu hoá:
Một bi toán tối }u hoá có ba yếu tố cơ bản sau:
* Trạng thái: mô tả trạng thái của hệ thống cần tối }u hoá.
* Mục tiêu: đặc tr}ng cho tiêu chuẩn hoặc hiệu quả mong muốn (chi phí ít nhất, hiệu
suất cao nhất, trọng l}ợng nhỏ nhất, thời gian ngắn nhất, ...).
* Rng buộc: thể hiện các điều kiện kinh tế, kỹ thuật ... m hệ thống phải thỏa mãn.
2.2. Các bi toán tối ou
2.2.1. Bi toán quy hoạch tuyến tính:
Hệ thống ở trạng thái tĩnh có các biến trạng thái l:
x = > x1, x2 , ..., xn@T
(2.1)
Mục tiêu đ}ợc diễn đạt bởi hm mục tiêu có dạng tuyến tính:
Z = c.x; với c = >c1, c2, ..., cn@T
(2.2)
Các rng buộc đ}ợc diễn đạt bởi những ph}ơng trình, bất ph}ơng trình tuyến tính:
A.x = b; A.x d b
(2.3)
T
A = (aij), i = 1, ... , m ; j = 1, ...., n ; b = >b1, b2,..., bm@ .
Bi toán:
Tìm trạng thái tối }u x* = >x *1 , x *2 , ..., x *n @T của trạng thái (2.1) với các rng buộc
(2.3) sao cho hm mục tiêu (2.2) đạt giá trị nhỏ nhất (Min) hoặc giá trị lớn nhất (Max).
2.2.2. Bi toán quy hoạch phi tuyến:
Hệ thống ở trạng thái tĩnh. Tìm trạng thái tối }u x* khi hm mục tiêu đ}ợc diễn đạt
bởi một hm phi tuyến f(x) hoặc có ít nhất một rng buộc phi tuyến:
gr (x) d 0; r = 1,...., m.
2.2.3. Bi toán cực trị phiếm hm:

Hệ thống ở trạng thái tĩnh hoặc trạng thái động. Biến trạng thái l z(x) với x l biến
độc lập. Mục tiêu đ}ợc diễn đạt bởi phiếm hm mục tiêu:
x1

J(z) =

.

L( z, z, x)dx

xn

.

.

.

.

.

với z = [z1(x), z2(x),.... zn(x)]T; z [ z1 ( x), z 2 ( x),...., z n ( x)]T ; z i ( x) dz i / dx
Rng buộc có thể l các hm phi tuyến, các ph}ơng trình đại số hoặc các ph}ơng
trình vi phân.
2.2.4. Bi toán điều khiển tối uu:
* Đối với hệ liên tục:
Hệ thống ở trạng thái động, trạng thái đ}ợc mô tả bởi hệ ph}ơng trình vi phân:
x = f(t,x,u); t - thời gian
trong đó

x = [ x 1 , x 2 ..., x n ]T; x i = dxi /dt;
u = [u1,..., un]T ; u - điều khiển
Mục tiêu có dạng phiếm hm:
t1

J(u) = L (t, x, x , u) dt
tn

* Đối với hệ rời rạc:


9


Hệ thống ở trạng thái động, trạng thái đ}ợc mô tả bởi ph}ơng trình:
xk+1 = f(xk,uk); x(0) = x0, x(N,T0) = xN X
Mục tiêu có dạng:
N 1

J(u) =

Ưf

0

( x k , u k ) o min; uk:

k 0

Bi toán đặt ra:

Cần phải tìm điều khiển tối }u u* v trạng thái tối }u x* để hệ thống chuyển từ trạng
thái đầu đến trạng thái cuối sao cho mục tiêu J(u) đạt Min hoặc Max.
Các bi toán tối }u có trạng thái tĩnh đ}ợc gọi l bi toán tối }u hoá tĩnh, các bi toán
có trạng thái phụ thuộc thời gian đ}ợc gọi l bi toán tối }u hoá động. Trạng thái của hệ
thống có thể ở dạng liên tục hoặc gián đoạn. Trong bi toán tối }u có thể đặt ra một mục tiêu
hoặc nhiều mục tiêu.



10


Choơng 3: bi toán tối wu tuyến tính
3.1. Một số ví dụ về bi toán tối ou tuyến tính
3.1.1. Bi toán vận tải:
Có m điểm sản xuất cùng 1 loại sản phẩm a v n điểm tiêu thụ b. Cho rằng trong 1
m

đơn vị thời gian l}ợng cung v cầu bằng nhau:

Ư ai
i 1

n

Ưb

j

j 1


Gọi xij t 0 v cij lần l}ợt l l}ợng sản phẩm v chi phí vận chuyển từ điểm i đến j..
Tìm ph}ơng án chuyên chở sao cho chi phí chuyên chở l nhỏ nhất.
Z=

m

n

i 1

j 1

ƯƯ

cijxij o Min

3.1.2. Bi toán phân phối kế hoạch sản xuất:
Có n xí nghiệp sản xuất m loại chi tiết. Gọi:
ai: số chi tiết loại i; bj: quỹ thời gian ginh cho sản xuất ở xí nghiệp j;
xij: số chi tiết loại i của xí nghiệp j; cij: chi phí cho chi tiết i ở xí nghiệp j;
Oij: thời gian sản xuất 1 chi tiết loại i ở xí nghiệp j.
Tìm xij, (i = 1 ym; j = 1 y n) sao cho hon thnh khối l}ợng trong quỹ thời gian cho
phép với chi phí ít nhất, nghĩa l:
Hm mục tiêu Z =

m

n


i 1

j 1

ƯƯ

cij xij o min

Các điều kiện rng buộc:
n

Ưx
j 1

m

ij

ai ; i

1ym ;

ƯO

ij

d b j ; x ij t 0.

j 1


3.1.3. Bi toán thực đơn:
Chất dinh d}ỡng
Nhu cầu tối thiểu hng ngy
P1
a11
a21
a31
a41
c1

N1
b1
N2
b2
N3
b3
N4
b4
Giá tiền đơn vị thức ăn
Tiền thức ăn hng ngy: Z = c1x1 + c2x2.
Tìm l}ợng x1, x2 của từng loại thức ăn sao cho Z o Min với các rng buộc:
a11 x1 + a12 x2 t b1
...........................
a41 x1 + a42 x2 t b4
xi t 0

Loại thức ăn
P2
a12
a22

a32
a42
c2

3.2. Phát biểu bi toán
3.2.1. Định nghĩa:
Bi toán tối }u tuyến tính chuyên nghiên cứu ph}ơng pháp tìm giá trị nhỏ nhất (Min)
hoặc giá trị lớn nhất (Max) của một hm tuyến tính theo một số biến, thoả mãn một số hữu
hạn rng buộc đ}ợc biểu diễn bằng hệ ph}ơng trình v bất ph}ơng trình tuyến tính.
3.2.2. Hai dạng cơ bản của bi toán tối uu tuyến tính:
1. Dạng chính tắc: rng buộc ở dạng đẳng thức.



11


êa11 ........a1n

Đặt A = ô................. ằ
ôơa m1 ........a mn ằẳ

A đ}ợc gọi l ma trận hệ số của các rng buộc.
êx1
x = ôô.x 2 ằằ ; x j t 0; c
ôơ x n ằẳ

ê b1
êc1
ôc 2 ằ ; b ôb2 ằ

ô. ằ
ô. ằ
ôơbm ằẳ
ôơc n ằẳ

Tìm các giá trị tối }u x* = [x*1 , ....,x*n]T sao cho hm mục tiêu:
n

Z = cx =

Ưc

j

x j o Max

j 1

với các rng buộc:
Ax = b
xt0
2. Dạng chuẩn: rng buộc ở dạng bất đẳng thức.
Tìm x sao cho Z = c.x o Max
với các rng buộc:
Ax d b
xt0
3.2.3. Chuyển bi toán tối uu tuyến tính về dạng chuẩn hoặc dạng chính tắc
1. Thêm vo các biến phụ: w = [xn +1, ..., xn+m]T
Khi đó A.x d b o A.x + E.w = b ; E: ma trận đơn vị.
Ví dụ:

2x 1  x 2 d 15
0,5x 1  3x 2 d 18
x1
d 12
x2 d 9
x1 t 0 ; x 2 t 0
Z 4 x1  7 x 2

o

2x 1  x 2  x 3
15
0,5x 1  3 x 2  x 4
18
 x5
x1
12
 x6
x2
9
x j t 0 ; j 1y 6
Z 4 x1  7 x 2  0.x3  ...  0.x6

2. Nếu rng buộc ở dạng A.x t b: nhân hai vế với (-1):
n

-

Ưa


ij

x j d bi khi đó ta có: A1.x d B1

j 1

3. Nếu rng buộc ở dạng đẳng thức: A.x = b có thể thay bằng hai rng buộc bất đẳng
thức A.x d b v -A.x d -b.
3.2.4. Quan hệ giữa bi toán Min v bi toán Max:
Trong bi toán min: Z = c.x o Min
Nếu đặt Z1 = - c.x o Max.
Gọi x* l trạng thái tối }u Z1 tức l - c.x* = Max(Z1) khi đó:
- c.x* t - c.x hay c.x* d c.x
Chứng tỏ x cũng l trạng thái tối }u của bi toán Min.
Min (Z) = c.x* = - Max (Z1) = - Max (-Z).
3.3. Tính đối ngẫu v định lý cơ bản của bi toán tối ou tuyến tính
3.3.1. Bi toán đối ngẫu:
Bi toán gốc (dạng chuẩn): tìm x = [x1,....,xn]T để hm mục tiêu:
Z = c.x o Max; c = [c1,..., cn)T; b = [b1,...,bm]T



12


ư Ax d b
xt0

Với rng buộc: đ


Ta có bi toán đối ngẫu t}ơng đ}ơng với bi toán dạng chuẩn:
Tìm y = [y1,...,ym]T để hm mục tiêu V = b.y o Min
ư AT . y t c

Với rng buộc: đ

yt0

Chuẩn
x2 .....

y1

a11

a12 ...... a1n d b1

y2

a21

a22 ...... a2n d b2

...

........................

ym

am1


am2 ...... amn d bm

t

t

đối ngẫu

xn

t

x1

Sơ đồ đối ngẫu:

Min
c1

c2

......

cn

Max

Ng}ời ta đã chứng minh đ}ợc: Giá trị tối uu của bi toán chuẩn cũng l giá trị tối uu
của bi toán đối ngẫu, nghĩa l: c.x* = b.y*.

3.3.2. Định lý cơ bản của bi toán tối uu tuyến tính:
Định lý: Phuơng án tối uu của bi toán tối uu tuyến tính chứa một số biến duơng đúng bằng
số các rng buộc dạng đẳng thức độc lập đuợc thoả mãn, các biến còn lại có giá trị không.
Ví dụ: x = [x1, x2,..., x5]T o
n=5
ưa11 x1  ....  a15 x5 b1

Các rng buộc: đ................................ o m 3
a x  ....  a x b
35 5
3
31 1

do đó nghiệm tối }u có 3 biến khác không x* = [*, *, *, 0, 0]T.
3.4. Các phoơng pháp giải bi toán tối ou tuyến tính
3.4.1. Phuơng pháp đồ thị:
Ph}ơng pháp ny đ}ợc dùng khi số biến số d 3.
1. Bi toán phẳng:
Ví dụ: Tìm x* = [x1*, x2*] T sao cho Z = c1x1 + c2x2 o Max
Các rng buộc:
a11 x1 + a12 x2 d b1
a21x1 + a22 x2 d b2
x1 t 0, x2 t 0
Giải:
Vẽ miền chấp nhận đ}ợc (miền D m x thoả mãn các rng buộc hình 3.1):
+ Nếu rng buộc l đẳng thức thì miền chấp nhận đ}ợc l điểm A, giao điểm của
đ}ờng N1M1 v N2M2.
+ Nếu l bất đẳng thức thì miền chấp nhận đ}ợc l hình AN1OM2, bao gồm cả biên
AN1, AM2.
Vẽ các đ}ờng cùng mục tiêu (đ}ờng mức):




13


+ Cho một giá trị cụ thể Z = Z0. Vẽ đ}ờng x 2

z 0 c1
 x1
c1 c 2

Thay đổi giá trị Z0 ta đ}ợc các đ}ờng song song. Trên mỗi đ}ờng, hm mục tiêu có
cùng giá trị. Giá trị Z0 cng lớn thì đ}ờng x2 cng xa 0.
Tìm nghiệm tối }u:
+ Nghiệm cực đại đ}ợc xác định bởi toạ độ điểm A.
+ Nếu đ}ờng cùng mục tiêu tiếp xúc một đỉnh thì nghiệm tối }u l đơn trị.
+ Nếu đ}ờng cùng mục tiêu tiếp xúc 2 đỉnh (1 cạnh) thì nghiệm l đa trị.
+ Nếu miền chấp nhận đ}ợc nh} hình 2.2 thì toạ độ điểm A xác định giá trị cực tiểu.
x2
N2

x2
N2

x2=z9/c1 - (c1/c2)x1

x2=z9/c1 - (c1/c2)x1
D


N1

N1
A

x2*
O

D
x1* M2 M1

A

x2
*

x1

O

x1* M2 M1 x1

Hình 2.1
Hình 2.2
2. Mở rộng:
Đối với bi toán có n biến x1,... , xn, chịu m rng buộc:
1/ Nghiệm tối }u l toạ độ của một đỉnh hay nhiều đỉnh của miền cho phép. Miền cho
phép l một đa diện lồi (n - m) chiều.
2/ Nghiệm l đơn trị nếu 1 đỉnh của đa diện cho phép tiếp xúc với mặt cùng mục tiêu.
3/ Nghiệm l đa trị nếu tiếp xúc tại k đỉnh (k >1); k đỉnh ny tạo nên 1 đơn hình (k-1)

chiều. Do đó có thể lấy (k-1) giá trị các biến tuỳ ý, còn n - (k-1) biến khác l hm tuyến tính
của (k-1) biến tuỳ ý. Đó sẽ l cơ sở của ph}ơng pháp đơn hình.
Chú ý:
Đơn hình l 1 hình có số đỉnh nhiều hơn 1 so với số chiều của không gian. Thí
dụ, trong không gian 2 chiều thì đơn hình l tam giác, trong không gian 3 chiều thì đơn hình
l tứ diện.
3.4.2. Phuơng pháp đơn hình:
Ph}ơng pháp ny do nh toán học Mỹ G.B. Dantzig đ}a ra năm 1948.
Nội dung: Tìm đỉnh tối uu của đa diện các nghiệm cho phép bằng phuơng pháp lần
luợt thử các đỉnh của đa diện. Để việc thử không phải mò mẫm, nguời ta đua ra thuật toán
để đi từ nghiệm xấu hơn tới nghiệm tốt hơn tức đi dần tới nghiệm tối uu.
1. Nội dung phuơng pháp đơn hình:
Giả sử có m rng buộc độc lập đ}ợc cho ở dạng chính tắc:
A.x = b
(3.1)
1) Chọn biến cơ sở: đầu tiên ta chọn một điểm tuỳ ý của đa diện các nghiệm cho
phép, đó l tập n số (x1, ...., xn). Theo định lý cơ bản của bi toán tối }u tuyến tính thì có m
số d}ơng, còn những số khác bằng không; gọi các biến d}ơng của điểm xuất phát l biến cơ
sở: (x1, x2,..., xm, 0, 0,..., 0).
2) Tìm nghiệm xuất phát (nghiệm thử thứ 1):
Thay các biến cơ sở vo các rng buộc (3.1) đ}ợc m ph}ơng trình chứa m ẩn:
ar1 x1 + ar2 x2 + ... armxm = br; r = 1, 2 , .... , m.



14


ưa11 x1  ...  a1m x m b1


hay: đ.........................
a x  ....  a x
bm
mm m
m1 1

(3.2)

Từ đó tìm đ}ợc nghiệm xuất phát (hay nghiệm thử thứ 1):
( x1( 0 ) , x 2( 0 ) ,...., x m( 0 ) ) .
3) Chọn nghiệm thử thứ 2:
a) Thử thêm vo biến xm+1, lúc ny rng buộc có dạng:
^a r1 x1  a r 2 x2  ...  a rm xm  ar ,m1 xm1 br ; r = 1, 2, ..., m
(3.3)
Hệ (3.3) gồm m ph}ơng trình với m+1 biến, (3.3) có nghiệm đơn trị khi các ph}ơng trình
tạo thnh hệ phụ thuộc, do đó cột cuối cùng phụ thuộc tuyến tính vo các cột còn lại với hệ số yi:
ar,m+1 = y1ar1 + ...+ ymarm
hay
ar1y1 + ... + armym = ar,m+1
(3.4)
Hệ (3.4) có nghiệm duy nhất l: y1( 0 ) , y 2( 0 ) ,....., y m( 0 ) .
b) Lấy các số hạng t}ơng ứng của ph}ơng trình (3.3) trừ đi bội số của (3.4) ký hiệu
bội số đó l O > 0, ta có:
ar1(x1 - Oy1) + ar2 (x2 - Oy2) + .... + arm (xm - Oym) + ar,m+1O = br
(3.5)
r = 1,2, ... m.
Hệ (3.5) l biến thể của (3.4) chỉ có các ẩn l khác nhau.
c) Chọn nghiệm thử thứ 2 cho (3.5) l:
(0)
(0)

(0)
(3.6)
( x1( 0 )  O. y1( 0) ), (x (0)
2  O . y 2 ),...., ( x m  O . y m ), O
Vì có m+1 biến, do đó một trong các biến phải nhận giá trị không. Ngoi ra các biến
còn lại xm+2 ,..., xn cũng phải bằng không.
Muốn biết biến no trong (3.6) bằng không, cần phải:
** Tính giá trị của hm mục tiêu với nghiệm thử thứ 1 v thử nghiệm thứ 2:
Z0 = c1x1(0) + c2x2(0) +...., + cmxm(0)
Z1 = c1 ( x1( 0 )  O. y1( 0 ) )  c2 ( x2( 0 )  O. y 2( 0 ) )  ....  cm ( xm( 0 )  O. y m( 0 ) )  cm1O
Đặt số gia: 'Z1 = Z1 - Z0
'Z1 = O >c m 1  (c1 y1( 0 )  c 2 y 2( 0 )  ....  c m y m( 0 ) )@ O >c m 1  J m 1 @
trong đó: Jm+1 = c1 y1( 0)  c 2 y 2( 0)  ....  c m y m( 0)

>cm1 ym1@ đ}ợc gọi l hiệu suất.

(3.7)

Có ba tr}ờng hợp xảy ra:
* 'Z1 = 0: nghiệm xuất phát v nghiệm mới tốt nh} nhau. Suy ra có hai đỉnh tiếp xúc
giữa đa diện cho phép v mặt cùng mục tiêu.
* 'Z1 < 0: nghiệm mới xấu hơn nghiệm xuất phát.
* 'Z1 > 0: nghiệm mới tốt hơn nghiệm xuất phát.
** Khi đã chọn đ}ợc nghiệm mới bằng hoặc tốt hơn ('Z1 t 0) ta đ}a nó vo cơ sở v
cần phải loại bỏ bớt một nghiệm trong biến xuất phát (theo định lý cơ bản), chỉ có m nghiệm
d}ơng). Giả thiết đã đ}a biến mới thứ (m +1) vo cơ sở, khi đó có thể viết các biến mới của
ph}ơng án theo (3.6). Một biến thứ i no đó phải thoả mãn ph}ơng trình:
x i( 0 )  O y i(0)

0 từ đó O


x i( 0 )
y i( 0 )

(3.8)

còn đối với các biến j z i thì: x (j 0 )  O y (0)
j !0
Từ đó suy ra phải loại trừ biến no ứng với O > 0 v nhỏ nhất:



15

(3.9)


0 < O = Min

x i( 0 )
y i( 0 )

4) Thực hiện liên tục các thuật toán ở trên: đ}a vo biến ch}a dùng m+2, m+3..., tính
'Z2, 'Z3 ,... cho đến khi thử hết các biến cơ sở.
'Z1 = O [cm+1 - Jm+1]
'Z2 = O [cm+2 - Jm+2]
'Zi = O [cm+i - Jm+i ]
ở mỗi b}ớc cần tính hiệu suất (cm+1 - Jm+1), kiểm tra 'Zi v rút ra kết luận t}ơng ứng.
Sau (n-m) lần lặp, ta chọn đ}ợc nghiệm tối }u.
Ph}ơng pháp đơn hình có }u điểm l thuật toán đơn giản. Khi có ít ẩn có thể tính

bằng tay (trực tiếp hoặc lập bảng). Khi có nhiều ẩn v nhiều rng buộc phải dùng máy tính..
Rõ rng ở đây mục tiêu đạt đ}ợc phải luôn đo đ}ợc.
Trong hm mục tiêu Z = c.x đã giả thiết các hệ số c1 > 0 nh}ng ng}ời ta giả thiết tồn
tại cả những biến có hại tức l hệ số c1 < 0. Điều đó giúp ích cho nghiên cứu v không ảnh
h}ởng đến b}ớc giải.
3.4.3. Một số thí dụ giải trực tiếp:
Ví dụ: ('Zi < 0 , i).
Tìm x* (x1, x2, x3, x4) sao cho hm mục tiêu:
Z = x1 + 2x2 - 3x3 + 4x4 o Max
với các rng buộc:
ư x1  x 2  7 x 3  x 4 100

đ2 x1  3 x 2  x 3  10 x 4 800
x t 0, i 1 y 4
1

Giải:
1. Chọn biến cơ sở:
Vì số rng buộc m = 2, ta giả thiết x1 > 0, x2 > 0, x3 = x4 = 0:
(x1, x2, 0, 0)
2. Tìm nghiệm xuất phát: thay biến cơ sở vo ph}ơng trình rng buộc:
ư x1  x 2 100
đ
2 x1  3 x 2 800

giải đ}ợc: x1(0) = 220; x2(0) = 120
do đó nghiệm xuất phát l:
(220, 120, 0, 0) v Z0 = 220 + 2x120 = 460
3. Thử đ}a x3 vo cơ sở:
Ph}ơng trình rng buộc:

ư x1  x 2  7 x 3 100
đ
2 x1  3 x 2  x 3 800

Đó l hệ ph}ơng trình phụ thuộc, nên hệ số của cột thứ ba phụ thuộc vo cột 1 v cột
2 với hệ số yi:
ư y1  y 2 7
đ2 y  3 y
1
2
1
(0)
4 ; y (0)
giải đ}ợc y1
2

3

Tính hiệu suất của x3: J3 = c1 y1(0)  c 2 y 2(0) y1( 0 )  2 y 2( 0 ) 2
Hiệu xuất c3 - J3 = -3 + 2 < 0 nên 'Z1 = O(c3 - J3) = O(-3 + 2) < 0
Nh} vậy nếu đ}a x3 vo cơ sở thì ph}ơng án xấu hơn ph}ơng án xuất phát.



16


4. Thử đ}a x4 vo cơ sở:
Rng buộc:


ưx1  x2  x4 100
đ
2x1  3x2  10x4 800
từ đó:
ư y1  y 2 1
đ
2 y1  3 y 2 10

o

y1(0)

2,6 ; y(0)
1,6
2

Tính hiệu suất của x4:
(0)

(0)

2,6  2.1,6 5,8
J4 = c1 y1  c2 y2
Hiệu suất: (c4 - J4) = 4 - 5,8 < 0 o 'Z2 = O(c4 - J4) < 0
do đó nếu đ}a x4 vo cơ sở thì sẽ có ph}ơng án xấu hơn. Nh} vậy nghiệm tối }u chính l
nghiệm xuất phát:
*

*


T

T

[220,120,0,0]
x* = [ x1 , x2 ,0,0]
*
Hm mục tiêu: Z = 220 + 2.120 = 460
3.4.4. Phuơng pháp lập bảng:
Dùng phép xoay (Pivotage) của đại số tuyến tính.
Ví dụ:
Tìm (x1, x2, x3, x4) sao cho hm mục tiêu:
Z = 500x1 + 300x2 + 200x3 + 280x4 o Max
Các rng buộc:

ư10 x1  5 x 2  4x 3  2x 4 d 2000

đ8 x1  5 x 2  1,2x 3  5,6x 4 d 1800
5 x  8 x  2,5 x  10x d 2000
2
5
4
1
Giải:
Biến đổi về dạng chính tắc

ư10 x1  5 x2  4x 3  2x 4  x 5

 x6
đ8 x1  5 x2  1,2x 3  5,6x 4

5 x  8 x  2,5x  10x
 x7
2
5
4
1

2000
1800
2000

Z - 500x1 - 300x2 - 200x3 - 280x4 + 0x5 + 0x6 + 0x7 = 0
Lập bảng 1:
Chọn một biến khác để đ}a vo cơ sở:
Bảng 1.
s (cột xoay)

ro
(dòng xoay)

Biến cơ x1
sở
x5
10
x6
x7

8
5


ars

x2

x3

x4

x5

x6

x7

5

4

2

1

0

0

2000

5
8


1,2
2,5

5,6
10

0
0

1
0

0
1

1800
2000

ais
Z
-500
-300 -200 -280 0
0
0
0
Trên dòng Z, chọn một cột no có giá trị < 0 v trị số lớn nhất, gọi l cột s (cột xoay).


17



Xét các tỷ số:

2000
10

200 ;

1800
8

2000
5

225;

400 dòng no có tỷ số nhỏ nhất gọi l

dòng r (dòng xoay).
ars = 10: gọi l phần tử xoay (pivot).
Lập bảng 2:
Đ}a biến x1 vo cơ sở thay cho x5.
Tạo dòng chính: chia dòng r ở bảng I cho pivot ars
Các yếu tố của các dòng khác đ}ợc tính theo công thức:
aij(mới) = aij(cũ) - ais.arj, có nghĩa:
yếu tố dòng mới

yếu tố dòng cũ


=

ais*yếu tố dòng chính
(ứng với phần tử cần tìm)

-

Ví dụ ở bảng 2: dòng chính l dòng chứa x1. Các phần tử của dòng 2 l:
0 = 8 - 8x1; 1 = 5 - 8 x 0,5; - 2 = 1,2 - 8x0,4 ...
Bảng 2.
Biến cơ x1
x2
x3
x4
x5
x6
x7
sở
dòng chính
x1
1
0,5
0,4
0,2
0,1
0
0
x6
0
1

-2
-0,8
1
0
4
x7
Z

0
0

5,5
-50

Lập bảng 3:

dòng chính

0,5
0

9
-180

Bảng 3.
x3
x4

Biến cơ x1
sở

x1
1
x4
0
x7
0

x2
0,45
0,25
3,25

0,5
-0,5
5

0
1
0

Z

-5

-90

0

0


Lập bảng 4:

-0,5
50

200
200

0
0

1
0

x5

x6

x7

0,14
-0,2
-1,3

0,05
0,25
2,25

0
0

1

190
50
550

1,4

4,5

0

109000

Bảng 4.
x3 x4

1000
100000

Biến cơ x1 x2
x5
x6
x7
sở
x1
1
1,125
0
0

0,001
0,175
0,1 135
x4
0
0,575
0
1
-0,07
0,025
0,1 105
dòng chính
x3
0
0,65
1
0
-0,26
0,45
0,2 110
Z
0
53,3
0
0
37,4
4,5
18 118900
ở bảng 4, các hệ số của Z đều t 0, do đó dừng v không cần phải tiến hnh bảng 5.
Biến cơ sở l tối }u, các biến khác có giá trị 0, do đó:

x* = [x1, x4, x3 ]T = [135, 105, 110 ]T;
Z* = 500x135 + 200x110 + 280x250 = 118900.
3.5. Thuật toán đơn hình giải bi toán tối ou tuyến tính tổng quát
3.5.1. Phát biểu bi toán:
Hm mục tiêu:



18


f (x) =

Ưc x
i

j

o Min; j 1,2,...., n.

j

Các rng buộc:

Ưa

ij

x j d bi ; i


1,2 ,...., m1 .

Ưa

ij

x j t bi ; i

m1  1, m1  2 ,...., m1  m2 .

Ưa

ij

xj

m1  m2  1, m1  m2  2 ,...m

j

j

bi ; i

j

xj t 0 ; bi t 0 ; i = 1,2 ,....., m.
3.5.2. Biến đổi các rng buộc v hm mục tiêu:
Đối với các rng buộc: Ưaijxj d bi ta phải thêm biến bù xn+i t 0
Đối với các rng buộc: Ưaijxj = bi ta phải thêm biến giả tạo xn+i t 0

Đối với các rng buộc: Ưaijxj t bi ta phải thêm biến giả tạo rồi biến bù.
Biến bù ứng với rng buộc: d đ}ợc đánh từ số n+1 đến n+m1; các biến giả tạo ứng
với rng buộc t v = đ}ợc đánh số từ n+m1+1 đến n+m; các biến bù ứng với rng buộc t
đ}ợc đánh số từ n+m+1 đến n+m+m2.
Trong hm mục tiêu, các hệ số ứng với biến bù xj l cj = 0, các hệ số ứng với biến giả
tạo xj l cj > 0 đủ lớn, có thể chọn cj = M = max {|aij,|bi,|cj|}.
Ví dụ:
Tìm (x1, x2) sao cho hm mục tiêu:
Z = 30x1 + 45x2 o Max
Các rng buộc:
1) x1 d 6000
2) x2 d 4000
3) 2,5x1 + 2x2 d 24000
4) x1 t 1000
5) x2 t 1000
6) 3x1 - x2 t 0
7) 2,5x1 + 2x2 t 10000
Giải:
Trong thuật toán, ta đ}a bi toán về dạng chính tắc bằng cách thêm các biến bù x3, x4,
x5; các biến giả tạo x6, x7, x8 ,x9 v các biến bù x10, x12, x13.
Các rng buộc:
1) x1
+ x3
= 6000
+x4
= 4000
2)
x2
3) 2,5x1+2x2
+x5

= 24000
4) x1
-x6
+x10
= 1000
5)
x2
-x7
+x11
= 1000
-x8
+x12
=0
6) 3x1 - x2
7) 2,5x1+2x2
-x9
+x13 = 10000
Hm mục tiêu:
Z = 30x1+45x2+0x3+0x4+0x5-Mx6-Mx7 = Mx8-Mx9+0x10+0x1+0x12+0x13
chọn M t 24000.
Sau khi giải bi toán chính tắc ta đ}ợc:
x1=6000, x2=4000, x5=1000, x10=5000, x11=3000, x12=14000, x13=13000, Z=360000.



19


Nh} vËy nghiÖm tèi }u cña bμi to¸n lμ:
x*1 = 6000; x*2 = 4000

Z* = 30x*1 + 45x*2 = 360000.
Bμi tËp
2.

1.

­2 x 1  x 2  x 3 - x 4
°
3
°° x1  x 2  x 3 - x 4
2
®
°3 x1  4 x 2  2x 3
- x6
°
°¯ x1 t 0 ; i 1,2,....,6

­ x1  x 2 d 18
°
°0 ,5 x1  x 2 d 12
®
°0 d x1 d 12
°¯0 d x 2 d 9

Z = 4x1 + 6x2 o max
Tr¶ lêi : x* = [12 ; 6]T ; Z* = 84

6
8
12


Z = 2x1 + 3x2 +
Tr¶ lêi : x* = [0;

5
x o min
2

10 8
28 T *
2
] ; Z = 12
; ; 0; 0;
3 9
9
9

3.

4.

5
 3 x 4 _  2x6
­ x1  x 2
°
2 x2  3 x3  x4  x5
4
°
®
- x5

-3
° 3 x1  x 2  2x 3
°¯ x I t 0 ; i 1,2,....,6

­1000 d x1 d 6000
°
°1000 d x 2 d 4000
®
°10000 d 2 ,5 x1  2 x 2 d 24000
°¯
3 x1  x 2 t 0

Z = 2x1 - 3x4 + x5 + 2x6 o min
Tr¶ lêi : kh«ng cã nghiÖm tèi }u.

Z = 30x1 + 45x2 o max
Tr¶ lêi : x* = [6000,4000]T
Z* = 360000.



20


Choơng 4: Bi toán tối u hóa nguyên tuyến tính
4.1. Bi toán tối ou nguyên tuyến tính
Trong các bi toán đã xét ở ch}ơng 2, các biến có thể nhận các giá trị thực không âm.
Trong thực tế th}ờng gặp nhiều bi toán ở đó các biến số chỉ có thể nhận một số hữu hạn
hay đếm đ}ợc giá trị, th}ờng l các giá trị nguyên. Ví dụ, thực l không đúng nếu cần thuê
2,3 ng}ời thợ. Vì thế trong ch}ơng ny đề cập đến các bi toán có các biến nguyên hay trên

các tập rời rạc. bi toán có dạng sau:
Tìm cực tiểu của hm f(x,y) phụ thuộc vo 2 nhóm biến x v y với các rng buộc có
dạng: gi(x,y) d 0, i =1,2,....,m; x, y D.
Trong đó x = (x1, x2, ..., xp), y = (y1, y2, ..., yq), p >0 v q t 0. D l tập hợp hữu hạn
các vectơ; f, gi l những hm cho tr}ớc của p+q = n biến số. Khi f, gi l các hm tuyến tính
v D l tập hợp các điểm nguyên thì ta có bi toán nguyên tuyến tính, còn nếu D l tập các
vectơ p thnh phần 0 hay 1 thì ta có bi toán nguyên 0 - 1 hay còn gọi l biến binary.
Ta thấy bất kỳ bi toán với các biến số chỉ nhận một số hữu hạn các giá trịcho tr}ớc,
đều có thể quy đ}ợc về bi toán trong đó các biến chỉ nhận các giá trị nguyên. Ví dụ, biến x
biểu thị công suất của một nh máy điện cần đ}ợc xây dựng chỉ có thể lấy đ}ợc một trong
các giá trị cho sẵn N1, N2, ..., Nk. Khi đó bằng cách đặt:
x = u1N1 + u2N2 + ... + ukNk,
với u1 + u2 + ... + uk = 1, uj {0, 1}, j = 1, 2, ... , k
Nh} vậy biến rời rạc x có thể đ}ợc thay thế bởi biến uj chỉ nhận giá trị 0 hay 1.
T}ơng tự, nếu bất kỳ bi toán với các biến nguyên bị chặn tùy ý, đều có thể quy về
bi toán với các biến 0 - 1. Điều ny cho thấy bi toán có biến 0 - 1 giữ vai trò quan trọng
trong bi toán tối }u với các biến rời rạc.
4.2. Một số mô hình thực tiễn
1. Bi toán cắt vật liệu:
Trong thực tế ta th}ờng cắt những vật liệu có độ di có sẵn nh} thanh thép, ống n}ớc,
... thnh những đoạn ngắn hơn với số l}ợng nhất định để cho công việc tiếp theo. Vấn đề đặt
ra l nên cắt thế no để cho ít tốn vật liệu nhất.
Ví dụ: Một phân x}ởng cơ khí có những thanh thép di 6m, cần cắt thnh 30 đoạn di
2,5m v 50 đoạn di 1,6m, nên cắt nh} thế no cho tiết kiệm.
Có 3 mẫu cắt nh} sau:
Mẫu 1: 2 đoạn 2,5m còn thừa 1m
Mẫu 2: 1 đoạn 2,5m v 2 đoạn 1,6m, còn thừa 0,3m
Mẫu 3: 3 đoạn 1,6m, còn thừa 1,2m.
Gọi x1, x2, x3 lần l}ợt l số thanh cần cắt theo mẫu 1, 2 v 3, ta có bi toán:
x1 + 0,3x2 + 1,2x3

Min
Thỏa mãn các rng buộc:
2x1 + x2
= 30
2x2 + x3 = 50
xit 0 v nguyên với i = 1, 2, 3.
Tổng quát ta ký hiệu:
aij l số đoạn loại i thu đ}ợc khi cắt theo mẫu j
bi l số đoạn loại i cần có
cj l rẻo thừa khi cắt theo mẫu j
xj l số thanh cắt theo mẫu j.
Ta có mô hình của bi toán nh} sau:
n

Z=

Ưc

j

x j o Min ,

(4.1)

j 1



21



Thỏa mãn các rng buộc:
n

Ưa

ij

bi , i = 1, 2, ..., n

xj

(4.2)

j i

xij t 0 v nguyên, j = 1, 2, ..., n.
2. Bi toán lập thứ tự gia công các chi tiết máy:
Giả sử cần gia công n. trên m, mỗi chi tiết đều đ}ợc gia công trên các máy theo thứ
tự: 1, 2, ..., m. Cho biết thời gian gia công chi tiết tứ j trên máy thứ i l tij.
Bi toán đặt ra l lập thứ tự gia công các chi tiết trên các máy để thời gian gia công
các chi tiết l ngắn nhất với điều kiện các chi tiết đ}ợc gia công liên tục, không có khoảng
thời gian gián đoạn khi chuyển từ máy ny sang máy khác. Sau đây ta xét bi toán
Sau đây ta xét bi toán: có n chi tiết gia công trên hai máy A v B (giả sử gia công
trên A tr}ớc rồi tới B). Mỗi máy chỉ có thể gia công từng chi tiết một. Cho biết thời gian gia
công chi tiết j trên máy A l aj v trên máy B l bj. Tìm thứ tự gia công các chi tiết để việc
gia công tất cả các chi tiết trên 2 máy l ngắn nhất.
Mỗi một thứ tự gia công sẽ t}ơng ứng với một hoán vị S = (s1, s2, ..., sn) của n số tự
nhiên 1, 2, ..., n. Ký hiệu P l tập hợp tất cả các hoán vị của {1, 2, ..., n}.
Thời gian gia công theo thứ tự S bằng:

n

n

t(S) =

Ưx

 Ưbj

sj

(4.3)

j 1

j 1

Trong đó x s l thời gian máy B chờ kể từ khi máy B gia công xong chi tiết tr}ớc đó
để gia công chi tiết thứ j, vì chi tiết ny còn đang gia công trên máy A. Ký hiệu tổng thứ
nhất trong (4.3) l tB(S) l tổng thời gian chờ của máy B. Tổng thứ 2 trong (4.3) l hằng số
đối với mọi thứ tự S. Đây l bi toán tối }u rời rạc: tìm hoán vị S để tổng tB(S) đạt cực tiểu:
Min{ tB(S): S P}.
Để giải bi toán ny ta có thể dùng thuật toán Johnson với định lý sau:
Dịnh lý Johnson: tB(S) đạt giá trị nhỏ nhất khi thứ tự gia công S = (s1, s2, ..., sn) thỏa
mãn:
Min( a s , bs ) d Min( a s , bs )
(4.4)
Với mọi k = 1, 2, ..., n-1.
Dựa vo định lý trên ta có thuật toán để tìm thứ tự gia công theo yêu cầu:

1) Ghi lại thời gian công các chi tiết trên mỗi máy vo bảng thời gian gia công:
Chi tiết 1
2 ... n
Máy A a1 a2 ... an
Máy B b1 b2 ... bn
j

k

k 1

k 1

k 1

2) Chọn số nhỏ nhất trong tất cả các số ghi ở bảng nếu số đó nằm trong hng máy A,
thì chi tiết t}ơng ứng đ}ợc xếp gia công đầu tiên; nếu số đó nằm trong hng máy B, thì chi
tiết t}ơng ứng xếp gia công sau cùng.
3) Trong bảng thời gian xóa đi cột t}ơng ứng với chi tiết đã đ}ợc sắp xếp trình tự.
4) Nếu mọi chi tiết đã đ}ợc sắp xếp trình tự thì dừng: Thứ tự sắp xếp đó l tối }u. Nếu
không, thì quay lại b}ớc 2) đrre sắp xếp thứ tự cho các chi tiết còn lại.
Chú ý: Truờng hợp trong bảng có nhiều số dạt giá trị nhỏ nhất, ta có thể chọn một số bất kỳ
trong các số đó. Tuy nhiên để xác định ta chọn số ứng với chi tiết có số thứ tự nhỏ nhất. Còn
nếu số nhỏ nhất l bằng nhauthì ta sắp xếp gia công chi tiết theo máy A truớc.
Ví dụ: Một phân x}ởng có 2 máy A, B dùng gia công 4 chi tiết, mỗi chi tiết đều đ}ợc gia
công trên 2 máy, theo thứ tự A tr}ớc b sau. Mỗi máy chỉ gia công từng chi tiết một v xong



22



chi tiết ny mới chuyển sang chi tiết khác. Thời
sau:
Chi tiết
I
II
Máy A
1
5
Máy B
2
3

gian gia công (tính ra giờ) cho trong bảng
III
3
2

IV
4
5

Thứ tự tối }u đ}ợc xếp nh} sau: Số nhỏ nhất trong bảng l 1, nằm ở hng máy A, nên chi tiết
I đ}ợc xếp gia công đầu tiên. Bây giờ xóa đi cột chi tiết I. Nh} vậy số nhỏ nhất bây giờ l 2,
nằm ở hng máy B, nên chi tiết III đ}ợc xếp gia công sau cùng. T}ơng tự số nhỏ nhất bây
giờ l 3, nằm trên hng B, nên chi tiết II đ}ợc xếp tr}ớc chi tiết III. Còn lại l chi tiết IV.
Thứ tự gia công tối }u l: I, IV, II, III.
3. Bi toán điều công-ten-nơ:
Có n loại hng đ}ợc xếp xếp lên các công-ten-nơ nh} nhau với tải trọng của mỗi

công-ten-nơ l T v dung l}ơng la K. Hng loại j có trọng l}ợng aj, thể tích bj v số l}ợng
cần vận chuyển l sj (j= 1, 2, ..., n). Hãy tìm cách xếp tất cả số hng ny lên các công-ten-nơ
sao cho sử dụng ít công-ten-nơ nhất.
Giả sử số công-ten-nơ có sẵn l m, gọi xij l số hng lọai j đ}ợc chở trên công-ten-nơ
thứ i, yi l biến nhận giá trị 1 khi công-ten-nơ thứ i đ}ợc dùng, ngoi ra thì nhận giá trị 0. Bi
toán đ}a đến mô hình:
m

Z=

Ưy

i

o Min

i 1

Với các điều kiện:
n

Ưa

j

xij d Ty i , i = 1, 2, ..., m

i 1
n


Ưb x
j

ij

d Ky i , i = 1, 2, ..., m

i 1
m

Ưx

ij

s j , j =1, 2, ..., n

i 1

yi {0, 1}
Bi tập
1. Một x}ởng mộc sản xuất 3 loại ghế dựa khác nhau A, B, c. Mỗi loại ghế cần trải qua các
nguyên công đánh bóng, đánh mu v đánh vécni. Ngoi ra ghế loại C còn phải thêm
nguyên công bọc nệm. Bảng d}ới đây cho biết thời gian cần thiết (tính theo số giờ/tháng) để
thực hiện các nguyên công v tiền lãi của mỗi loại ghế. Cần sản xuất bao nhiêu ghế mỗi loại
để thu đ}ợc nhiều lãi nhất.
Loại ghế
Bóng
Mu
Vécni
Nệm

Tiền lãi (đồng)
(giờ)
A
1.0
0.5
0.7
0
100.000
B
1.2
0.5
0.7
0
130.000
C
0.7
0.3
0.3
0.7
80.000
Thời gian có
600
300
300
140
Mỗi tháng
2. một x}ởng dự định mua hai loại máy để in hình lên vải. Máy A có thể in 100m/ph v
chiếm 50m2 diện tích sản xuất, còn máy b có thể in 200m/ph v chiếm diện tích l 140m2.
x}ởng cần in ít nhất l 600m/ph v diện tích mặt bằng tối đa l 350m2. Giá mua l 22 triệu
đồng cho 1 máy loại A v máy loại B l 42 triệu đồng. Hỏi cần mua bao nhiêu máy in mỗi

loại để chi phí l ít nhất.


23


3. Có 2 loại sản phẩm A, B đ}ợc gia công trên 4 máy I, II, III, IV. Thời gian gia công mỗi
loại sản phẩm trên từng máy nh} bảng sau:
Máy I
Máy II
Máy III
Máy IV
Sản phẩm A (giờ)
2
4
3
1
Sản phẩm B (giờ)
1/4
2
1
4
Thời gian sử dụng các máy theo thứ tự 45, 100, 300, 50 giờ. Một đơn vị sản phẩm A lãi 600
đồng, còn sản phẩm B l 400 đồng. Nên sản xuất mỗi loại bao nhiêu để lãi tối đa.
4. Một Công ty lọc dầu sử dụng ngay nguồn dầu thô nặng có giá 300 đồng/lít v dầu thô nhẹ
có giá 350đồng/lít. Công ty sản xuất 3 loại sản phẩm Gasoline, Heating Oil v Jet Fuel v
l}ợng 3 loại dầu trên có đ}ợc từ việc lấy từ 1 lita dầu thô nặng v nhẹ cho ở bảng sau:
Gasoline
Heating oil
Jet Fuel

Dầu thô nặng
0.3
0.2
0.3
Dầu thô nhẹ
0.3
0.4
0.2
Công ty thực hiện hợp đồng cung cấp 90m3 Gasoline, 80m3 Heating oil, 50m3 Jet Fuel. Công
ty cần mua bao nhiêu lít dầu thô nặng, nhẹ để chi phí l ít nhất.



24


Choơng 5: bi toán tối wu động
Tối }u động đ}ợc dùng một cách có hiệu quả để giải một số loại bi toán tối }u phi
tuyến. Nó xuất hiện trong kết quả khi nghiên cứu các bi toán, ở đó có sự thay đổi theo thời
gian. Về sau công cụ ny đã đ}ợc phát triển để giải các bi toán không liên quan đến sự thay
đổi theo thời gian.
Ta hiểu tối }u động l ph}ơng pháp tính dựa trên công cụ các công thức truy hồi, nó
đã đ}ợc nghiên cứu khá kỹ l}ỡng trong các công trình của R. Bellman.
5.1. Bản chất của bi toán tối ou động
Để lm sáng tỏ các t} t}ởng cơ bản của tối }u động ta sử dụng bi toán tối }u trong
quá trình phân phối ti nguyên.
Giả sử ta có số l}ợng hạn chế các ti nguyên no đó. Có thể hiểu l máy móc, tiền,
sức lao động, ...
Những ti nguyên hiện có có thể đ}ợc sử dụng trong nhiều ph}ơng pháp sản xuất
khác nhau. Kết quả của việc sử dụng tất cả hoặc một phần ti nguyên đó trong một ph}ơng

pháp sản xuất no đó l một khoản thu nhập, m khối l}ợng của nó vừa phụ thuộc vo số
l}ợng ti nguyên đ}ợc sử dụng vừa phụ thuộc vo ph}ơng pháp sản xuất đ}ợc chọn. Bi toán
của ta l phân phối những ti nguyên hiện có nh} thế no để tổng thu nhập lớn nhất. Tr}ớc
khi phát biểu chính xác về mặt toán học bi toán ny, ta đ}a ra các giả thiết sau để đơn giản
bi toán:
1. Thu nhập của một ph}ơng pháp bất kỳ chỉ phụ thuộc vo số l}ợng ti nguyên dnh
cho nó chứ không phụ thuộc vo số l}ợng ti nguyên dnh cho những ph}ơng pháp khác.
2. Các thu nhập của những ph}ơng pháp khác nhau đều tính theo một loại đơn vị.
3. Thu nhập chung l tổng số các thu nhập của từng ph}ơng pháp riêng biệt.
Bây giờ bi toán của chúng ta có thể phát biểu theo ngôn ngữ toán học nh} sau: có N
ph}ơng pháp sản xuất khác nhau, ứng với mỗi ph}ơng pháp có một hm số xác định khối
l}ợng thu nhập phụ thuộc vo số l}ợng ti nguyên dnh cho ph}ơng pháp đó, tức l nếu đặt
yi l số l}ợng ti nguyên dnh cho ph}ơng pháp sản xuất i thì giả thiết (1), gi(yi) cho ta khối
l}ợng thu nhập từ ph}ơng pháp sản xuất i. Theo giả thiết (2) v (3) thu nhập chung D(y1, y2,
..., yn) có thể viết d}ới dạng:
D(y1, y2, ..., yn) = g1(y1) + g2(y2) + ... + gN(yN)

(5.1)

Ký hiệu y l số l}ợng ti nguyên hiện có, ta đi đến bi toán Max sau: Cần lm Max
hm mục tiêu D(y1, y2, ..., yN) với điều kiện sau:
y1 + y2 + ... + yN = y

(5.2)

Trong đó hiển nhiên l tất cả yi không âm, tức l yi t 0 (i = 1, 2, ... N).
Nh} chúng ta đã biết, công cụ cổ điển của giải tích toán học không có hiệu lực ngay
cả trong tr}ờng hợp tất cả các hm gi(yi) tuyến tính (trong tr}ờng hợp tuyến tính ta đi đến bi
toán tối }u tuyến tính).
Để tìm cực trị có điều kiện, theo các ph}ơng pháp cổ điển, cần phải lựa chọn v so

sánh các giá trị của hm đ}ợc lm tối }u trên biên của miền xác định. Đối với tuyệt đại đa
số các bi toán, việc đó không thể lm đ}ợc ngay cả khi có sự giúp đỡ của những máy tính
điện tử hoạt động nhanh nhất. Vì thế ta cố gắng đi đến lời giải bi toán theo h}ớng khác.



25


×