You are on page 1of 19

Ôn tập Tối ưu hoá 2019 Nguyễn Đức Thành (HC16KSTN)

ÔN TẬP TỐI ƯU HOÁ – HỌC KÌ 182

Kết hợp với slide bài giảng của TS. Tạ Đăng Khoa
1. Bài toán mô hình hoá

1
Ôn tập Tối ưu hoá 2019 Nguyễn Đức Thành (HC16KSTN)

2. Tối ưu hoá hàm nhiều biến – không ràng buộc: Phương pháp số

Nguyên tắc chung: 𝑋𝑛+1 = 𝑋𝑛 + 𝛼𝑛 𝑠𝑛 cho đến khi |𝑓𝑛+1 − 𝑓𝑛 | < 𝜀 = 10−6

Các phương pháp: Dùng trực tiếp giá trị hàm (đạo hàm cấp 0), sử dụng đạo hàm cấp 1,
sử dụng đạo hàm cấp 2.

Về mặt hội tụ (đạt sai số cho phép nhanh nhất): Phương pháp sử dụng đạo hàm cấp 2.

2.1. Phương pháp đạo hàm cấp 0

2.1.1. Bracketing – Phương pháp chia khoảng

2.1.1.1. Exhaustive: Chia thành rất nhiều (n) phần nhỏ

2.1.1.2. Bisection: Chia thành 4 khoảng bằng cách tìm các điểm trung vị và phần tư vị

2.1.1.3. Golden section: Tỉ lệ vàng

2.1.1.4. Polynomial interpolation: Xấp xỉ hàm đa thức bậc 2 và bậc 3

2.1.2. Scanning – Phương pháp quét

2.1.2.1. Random – Quét ngẫu nhiên, quét vô tội vạ

2.1.2.2. Grid – Quét ra xung quanh theo các mắt lưới (4, 6 hoặc 8 hướng)

2.1.2.3. Simplex – Phương pháp đơn hình

Nguyên tắc: Bắt đầu với n+1 điểm (với n là số biến của hàm mục tiêu) tạo thành một
đơn hình đều (ví dụ hình tam giác đều với hàm 2 biến, hình tứ diện đều với hàm 3 biến).
Tính giá trị của hàm tại các đỉnh của đơn hình đều, chọn ra và loại bỏ giá trị “kém” nhất.
Thay thế bằng một điểm khác đối xứng với điểm vừa bị loại bỏ qua các đỉnh còn lại của
đơn hình đều → Đơn hình đều mới, tiếp tục so sánh giá trị hàm tại các đỉnh của đơn
hình này. Khi các đơn hình có vẻ đang xoay quanh 1 tâm nhất định, giảm bước nhảy lại
(giảm độ dài cạnh của đơn hình đều lại) và lặp lại quy trình.

2.1.2.4. Univariate – Luân phiên từng biến: Bước đi vuông góc hoặc thẳng hàng

2.2. Phương pháp sử dụng đạo hàm cấp 1

Hội tụ nhanh hơn các phương pháp sử dụng giá trị hàm trực tiếp.

∇𝑇 𝑓(𝑋𝑛 )×𝑠𝑛
Tính giá trị bước nhảy tại từng điểm: 𝛼𝑛 = − 𝑇 ×𝐻(𝑋 )×𝑠 nếu bước nhảy không cố định:
𝑠𝑛 𝑛 𝑛

2
Ôn tập Tối ưu hoá 2019 Nguyễn Đức Thành (HC16KSTN)

𝜕𝑓
𝜕𝑥1
Tính vector gradient: ∇𝑓 (𝑋) = ⋮ rồi thay giá trị toạ độ Xi
𝜕𝑓
[𝜕𝑥𝑛 ]
𝜕2 𝑓 𝜕2 𝑓

𝜕𝑥12 𝜕𝑥1 𝑥𝑛
Tính ma trận Hessian: 𝐻(𝑋) = ⋮ ⋱ ⋮ rồi thay giá trị toạ độ Xi
𝜕2 𝑓 𝜕2 𝑓
[𝜕𝑥𝑛𝑥1 ⋯ 2 ]
𝜕𝑥𝑛

Lưu ý ma trận Hessian là ma trận đối xứng qua đường chéo chính.

Xác định hướng nhảy sn là một vector chỉ phương

2.2.1. Conjugate search – Nhảy theo cặp vector liên hợp

Cặp vector liên hợp (tại điểm) thoả hệ thức: 𝑠𝑖𝑇 × 𝐻(𝑋𝑛 ) × 𝑠𝑗 = 0. Biết si hoặc sj suy ra
được vector còn lại. Đặc điểm: Chỉ cần tiến theo 2 vector (vector chỉ phương sn là tổng
2 vector liên hợp trên), tiết kiệm thời gian nhiều so với univariate khi số biến nhiều lên.

2.2.2. Steepest descent – Đường dốc nhất

Chỉ cần 1 vector gradient tại điểm làm vector chỉ phương → Bài toán tiến rất nhanh.
𝜕𝑓

𝜕𝑥1
Khi đó: 𝑠 = −∇𝑓(𝑋) = ⋮ và thế giá trị từng điểm.
𝜕𝑓
[− 𝜕𝑥𝑛]

2.2.3. Conjugate gradient – Kết hợp giữa cặp vector liên hợp và đường dốc nhất

2.3. Phương pháp sử dụng đạo hàm cấp 2 – Phương pháp Newton

Tốc độ hội tụ nhanh nhất.

Thường sử dụng dạng truyền thống (do không có vector chỉ phương sn tính bước nhảy):

𝑋𝑛+1 = 𝑋𝑛 − 𝐻(𝑋𝑛 )−1 × ∇𝑓 (𝑋𝑛 )

Cách tìm ma trận nghịch đảo của một ma trận vuông H:

- Ghép với một ma trận đơn vị cùng cấp, tạo thành ma trận (𝐻|𝐼𝑛 )

- Biến đổi sơ cấp theo hàng (nhân/chia một hàng cho một hằng số, thay 1 hàng bằng
tổng của chính nó với n lần hàng khác) đến khi bên trái thành ma trận đơn vị.

3
Ôn tập Tối ưu hoá 2019 Nguyễn Đức Thành (HC16KSTN)

- Ma trận ghép sau khi biến đổi sơ cấp có dạng (𝐼𝑛 |𝐻−1 )

Lập bảng theo dõi có dạng:


Lần lặp
𝑋𝑇
𝑓(𝑋)
|𝑓𝑖+1 − 𝑓𝑖 |
Xét ví dụ sau: Tìm cực tiểu của hàm 𝑓(𝑋) = (𝑥1 − 2)4 + (𝑥1 − 2)2 𝑥2 2 + (𝑥2 + 1)2
bằng phương pháp Newton, bắt đầu ở điểm 𝑋0 = [1 1]𝑇

Sai số 𝜀 = 10−6 nên các giá trị vô tỉ sẽ được làm tròn đến 6 chữ số phần thập phân.

4(𝑥1 − 2)3 + 2(𝑥1 − 2)𝑥2 2


( )
Vector gradient: ∇𝑓 𝑋 = [ ]
2𝑥2 (𝑥1 − 2)2 + 2(𝑥2 + 1)

Nhận xét: Hàm không âm do chỉ chứa các số mũ chẵn.

Phương pháp giải tích cho thấy phương trình ∇𝑓 (𝑋) = 0 tồn tại nghiệm 𝑋 = [2 −1]𝑇 .
Chính vì thế, đây sẽ là điểm mà hàm đạt cực tiểu và giá trị của cực tiểu hàm là 0.

Phương pháp Newton: 𝑋𝑛+1 = 𝑋𝑛 − 𝐻−1 (𝑋𝑛 ) × ∇𝑓 (𝑋𝑛 )

12(𝑥1 − 2)2 + 2𝑥22 4𝑥2 (𝑥1 − 2)


Ma trận Hessian: 𝐻(𝑋) = [ ] đối xứng.
4𝑥2 (𝑥1 − 2) 2 + 2(𝑥1 − 2)2

Tại 𝑋0 = [1 1]𝑇 , giá trị hàm ban đầu 𝑓 (𝑋0 ) = 6

−6 14 −4
∇𝑓 (𝑋) = [ ] và 𝐻(𝑋) = [ ]
6 −4 4

14 −4 −1 −6 0
𝐻−1 (𝑋) × ∇𝑓(𝑋) = [ ] ×[ ]=[ ]
−4 4 6 1,5

1 0 1
𝑋1 = [ ] − [ ] = [ ]
1 1,5 −0,5

Giá trị hàm 𝑓(𝑋1 ) = 1,5 và ∆𝑓(𝑋) = −4,5

Tại 𝑋1 = [1 −0,5]𝑇 :

−4,5 12,5 2
∇𝑓 (𝑋) = [ ] và 𝐻(𝑋) = [ ]
0 2 4

4
Ôn tập Tối ưu hoá 2019 Nguyễn Đức Thành (HC16KSTN)

−9
−1
12,5 2 −4,5
𝐻−1 (𝑋) × ∇𝑓 (𝑋) = [ ] ×[ ] = [ 23 ]
2 4 0 9
46
−9 32
1
𝑋2 = [ ] − [ 23 ] = [ 23 ]
−0,5 9 −16
46 23

Giá trị hàm 𝑓(𝑋2 ) = 0,409207 và ∆𝑓(𝑋) = −1,090793

32 −16 𝑇
Tại 𝑋2 = [23 23
] :

−1,491247 5,413989 1,693762


∇𝑓 (𝑋) = [ ] và 𝐻(𝑋) = [ ]
0,093203 1,693762 2,741021

−1 ( 5,413989 1,693762 −1 −1,491247 −0,354640


𝐻 𝑋) × ∇𝑓 (𝑋) = [ ] ×[ ]=[ ]
1,693762 2,741021 0,093203 0,253146

32
−0,354640 1,745944
𝑋3 = [ 23 ] − [ ]=[ ]
−16 0,253146 −0,948798
23

Giá trị hàm 𝑓(𝑋3 ) = 0,064892 và ∆𝑓(𝑋) = −0,344315

Tại 𝑋3 = [1,745944 −0,948798]𝑇 :

−0,523003 2,574969 0,964191


∇𝑓 (𝑋) = [ ] và 𝐻(𝑋) = [ ]
−0,020075 0,964191 2,129089

2,574969 0,964191 −1 −0,523003 −0,240334


𝐻 −1 (𝑋) × ∇𝑓 (𝑋) = [ ] ×[ ]=[ ]
0,964191 2,129089 −0,020075 0,099410

1,745944 −0,240334 1,986278


𝑋4 = [ ]−[ ]=[ ]
−0,948798 0,099410 −1,048208

Giá trị hàm 𝑓(𝑋4 ) = 0,002531 và ∆𝑓(𝑋) = −0,062361

Tại 𝑋4 = [1,986278 −1,048208]𝑇 :

−0,030164 2,199740 0,057534


∇𝑓 (𝑋) = [ ] và 𝐻(𝑋) = [ ]
−0,096811 0,057534 2,000377

−1 ( 2,199740 0,057534 −1 −0,030164 −0,012456


𝐻 𝑋) × ∇𝑓 (𝑋) = [ ] ×[ ]=[ ]
0,057534 2,000377 −0,096811 −0,048038

5
Ôn tập Tối ưu hoá 2019 Nguyễn Đức Thành (HC16KSTN)

1,986278 −0,012456 1,998734


𝑋5 = [ ]−[ ]=[ ]
−1,048208 −0,048038 −1,000170

Giá trị hàm 𝑓(𝑋5 ) = 0,000002 và ∆𝑓(𝑋) = −0,002529

Tại 𝑋5 = [1,998734 −1,000170]𝑇 :

−0,002533 2,000699 0,005065


∇𝑓 (𝑋) = [ ] và 𝐻(𝑋) = [ ]
−0,000343 0,005065 2,000003

2,000699 0,005065 −1 −0,002533 −0,001266


𝐻 −1 (𝑋) × ∇𝑓 (𝑋) = [ ] ×[ ]=[ ]
0,005065 2,000003 −0,000343 −0,000168

1,998734 −0,001266 2
𝑋6 = [ ]−[ ]=[ ]
−1,000170 −0,000168 −1,000002

Giá trị hàm 𝑓(𝑋6 ) = 4 × 10−12 và ∆𝑓 (𝑋) = −1,999996 × 10−6

Có thể dừng ở đây do sai số đã về sát 𝜀 = 10−6 , nhưng để chắc chắn thì thêm 1 bước:

Tại 𝑋6 = [2 −1,000002]𝑇 :

0 2,000008 0
∇𝑓 (𝑋) = [ ] và 𝐻(𝑋) = [ ]
−0,000004 0 2

2,000008 0 −1 0 0
𝐻 −1 (𝑋) × ∇𝑓(𝑋) = [ ] ×[ ]=[ ]
0 2 −0,000004 −0,000002
2 0 2
𝑋7 = [ ]−[ ]=[ ]
−1,000002 −0,000002 −1

Giá trị hàm 𝑓(𝑋7 ) = 0 và ∆𝑓 (𝑋) = −2 × 10−12

Đến đây |∆𝑓(𝑋)| < 𝜀 = 10−6 nên ngừng thuật toán, kết luận phương án tối ưu (cực
tiểu) đạt được tại 𝑋7 = [2 −1]𝑇 là 𝑓 (𝑋7 ) = 0. Đây cũng chính là giá trị được dự đoán
bằng phương pháp giải tích, chứng tỏ cũng là điểm cuối cùng cần phải khảo sát.
Lần lặp x1 x2 f(X) f(X)
0 1 1 6
1 1 -0,5 1,5 -4,5
2 1,391304 -0,695652 0,409207 -1,090793
3 1,745944 -0,948798 0,064892 -0,344315
4 1,986278 -1,048208 0,002531 -0,062361
5 1,998734 -1,000170 0,000002 -0,002529
6 2 -1,000002 4×10-12 -1,999996×10-6
7 2 -1 0 -4×10-12

6
Ôn tập Tối ưu hoá 2019 Nguyễn Đức Thành (HC16KSTN)

3. Bài toán quy hoạch tuyến tính

Bài toán mà ở đó cả hàm mục tiêu (objective function) và các ràng buộc (constraint) đều
có dạng tuyến tính, tức chỉ chứa các số hạng bậc 1.

3.1. Dạng chính tắc

Dạng chính tắc (canonical form) của bài toán: số biến nhiều hơn số ràng buộc, các ràng
buộc đều phải dạng đẳng thức, các biến không âm và hệ số tự do không âm.

- Hàm mục tiêu: 𝑓 (𝑋) = ∑𝑛𝑗=1 𝑐𝑗 𝑥𝑗 → 𝑚𝑖𝑛

∑𝑛𝑗=1 𝑎𝑖𝑗 𝑥𝑗 = 𝑏𝑖
- Các ràng buộc (Subject to): { 𝑥𝑗 ≥ 0 𝑖 = 1: 𝑚 𝑗 = 1: 𝑛 𝑛>𝑚
𝑏𝑖 ≥ 0

Hoặc dạng ma trận:

- Hàm mục tiêu: 𝑓 (𝑋) = 𝑐 𝑇 𝑋 → 𝑚𝑖𝑛

𝐴𝑋 = 𝑏
- Các ràng buộc (Subject to): { 𝑋 ≥ 0 𝑟𝑎𝑛𝑘(𝐴) = 𝑚
𝑏≥0

Thông thường A (ma trận ràng buộc) chỉ chứa các phương trình độc lập tuyến tính.

Lưu ý

- Số biến phụ thuộc (dependent variable) luôn bằng với số phương trình của ràng buộc,
hay nói cách khác mỗi phương trình sẽ có 1 biến phụ thuộc, có thể phải dùng đến biến
giả (hidden variable) để đạt được điều trên.

- Các biến còn lại là biến độc lập (independent variable).

- Nghiệm cơ bản (basic solution) của hệ là khi từng biến độc lập = 0 và giải ra giá trị
của các biến phụ thuộc, gọi là X0. Ta có: 𝑋0𝑇 = [𝑏1 … 𝑏𝑚 ]

Thuật toán giải: Thuật toán đơn hình (không nhầm lẫn với phương pháp đơn hình ở bài
toán không ràng buộc) → Bắt buộc đưa về dạng chính tắc của bài toán.

Một số lưu ý để đưa về dạng chính tắc (VT = Vế trái, VP = vế phải):

- Khi một ràng buộc có 𝑉𝑃 < 0, nhất thiết phải nhân cả ràng buộc với -1 để có dạng vế
phải dương.

7
Ôn tập Tối ưu hoá 2019 Nguyễn Đức Thành (HC16KSTN)

- Khi một ràng buộc có dạng 𝑉𝑇 ≥ 0, về nguyên tắc có thể trừ 1 biến (slack variable)
không âm để được đẳng thức, nhưng sẽ gặp khó khăn sau đó với hệ số -1 của slack
variable. Vì vậy, nên nhân cả ràng buộc với -1 để chuyển về dạng 𝑉𝑇 ≤ 0 rồi cộng thêm
slack variable.

- Khi một ràng buộc có dạng 𝑉𝑇 ≤ 𝑉𝑃, tiến hành cộng 1 biến (slack variable) không âm
vào vế trái, thu được dạng đẳng thức.

- Khi một ràng buộc có dạng 𝑉𝑇 ≥ 𝑉𝑃, tiến hành trừ 1 biến (slack variable) không âm
vào vế trái, thu được dạng đẳng thức. Lúc này, dù slack variable mới thêm vào chỉ xuất
hiện duy nhất 1 lần, nó không được tính là biến phụ thuộc do có hệ số -1. Khi giải phải
cộng tiếp 1 biến nữa (hidden variable) để biến phụ thuộc mang hệ số +1.

- Khi một ràng buộc đã có dạng đẳng thức, nếu hệ chưa đủ số biến phụ thuộc thì vẫn cần
phải cộng thêm 1 biến (hidden variable) để đủ số biến phụ thuộc.

3.2. Thuật toán – Bảng đơn hình

Lập bảng đơn hình (simplex table) để tiến hành giải (n biến, m biến phụ thuộc)
ci x1 x2 … xn
Dep. Var. X0
hệ số ở f(X) c1 c2 … cn
dep.var. 1 b1 a11 a12 … a1n
dep.var. 2 b2 a21 a22 … a2n
… … … … … …
dep.var. m bm
(*) (1) (2) … (n)
(1) = ∑𝑚
𝑖=1 𝑐𝑖 𝑎𝑖1 − 𝑐1 (2) = ∑𝑚
𝑖=1 𝑐𝑖 𝑎𝑖2 − 𝑐2 (n) = ∑𝑚
𝑖=1 𝑐𝑖 𝑎𝑖𝑛 − 𝑐𝑛

(*) là giá trị của hàm khi đạt phương án tối ưu, chỉ tính ở bảng cuối cùng.

- Chọn ra số dương lớn nhất từ (1) đến (n), đánh dấu cả cột để dễ nhìn. Nếu có nhiều
hơn 1 cột cùng đạt giá trị dương lớn nhất, chọn bất kì một cột trong các cột đó.
𝑏𝑖
- Giả sử chọn cột u có giá trị (u) lớn nhất (đánh dấu cột u), tính lần lượt các giá trị
𝑎𝑖𝑢

- Chọn ra giá trị dương nhỏ nhất. Đánh dấu lại hàng i đó.

+ Phép chia với 0 thì lưu ý dấu của số chia. Số chia dương hoặc âm sẽ lần lượt
cho ra giá trị + hoặc -. Điều này thường không ảnh hưởng lắm đến lựa chọn.

8
Ôn tập Tối ưu hoá 2019 Nguyễn Đức Thành (HC16KSTN)

+ Phép chia 0 với một số khác 0 thì lưu ý dấu của số bị chia: Thương sẽ có dạng
“+0” nếu số bị chia dương (sẽ trở thành lựa chọn!) và dạng “-0” nếu số bị chia âm.

- Thay biến phụ thuộc trên hàng i vừa xác định được bằng biến ứng với cột u ở trên.

- Cột u sẽ trở thành biến phụ thuộc, tức là chỉ xuất hiện một lần (chỉ có một số 1 trên
cột, còn lại là 0) và giống với cột ứng với biến phụ thuộc ở hàng i mà nó thay thế.

- Giá trị (u) khi đó chắc chắn về 0. Thực hiện biến đổi sơ cấp từ bảng cũ sang bảng mới
cho thoả những giá trị mới mà cột u vừa nhận và lặp lại phép tính.

- Đến bảng nào mà hàng cuối cùng không còn số dương (tức chỉ toàn là số 0 hoặc số
âm) thì ta kết luận bài toán đạt đến phương án tối ưu, ứng với toạ độ điểm X* là các biến
phụ thuộc đang xuất hiện trong bảng cuối cùng, những thành phần không xuất hiện có
giá trị 0. Từ đây tính giá trị (*) và kết luận cực tiểu.

Xét ví dụ trong slide Chapter 5 của TS. Tạ Đăng Khoa:

Tìm cực đại hàm 𝑓 (𝑋) = 2𝑥1 − 10𝑥2 + 4𝑥3 − 6𝑥4 với các điều kiện:

3𝑥1 − 𝑥2 + 2𝑥4 ≤ 16
𝑥 + 2𝑥2 − 𝑥3 − 2𝑥4 ≥ −4
{ 1
𝑥2 + 3𝑥3 − 𝑥4 ≥ 0
𝑥𝑖 ≥ 0, 𝑖 = 1: 4

Đây là bài toán 4 biến 3 phương trình, giải bình thường bằng thuật toán đơn hình.

- Hàm mục tiêu được đảo dấu để tìm cực tiểu.

- Phương trình 1 được cộng thêm 𝑥5 ≥ 0 để đạt đẳng thức.

- Phương trình 2 đảo dấu để đảm bảo vế phải không âm, rồi cộng thêm 𝑥6 ≥ 0

- Phương trình 3 đảo dấu để đảm bảo dễ tính toán, rồi cộng thêm 𝑥7 ≥ 0

Ràng buộc có 3 phương trình tức là cần 3 biến phụ thuộc, và x5, x6, x7 thoả điều kiện.

Bài toán đã được đưa về dạng chính tắc, tiến hành lập bảng đơn hình (slide).

3.3. Khi số biến ít hơn số phương trình?

Bài toán quy hoạch tuyến tính giải dễ nhất khi số biến lớn hơn số phương trình như ví
dụ trên, tuy nhiên điều ngược lại vẫn có thể giải được bằng các biến giả.

Khi có biến giả: Bài toán 2 pha:

9
Ôn tập Tối ưu hoá 2019 Nguyễn Đức Thành (HC16KSTN)

- Pha 1: Tìm cực tiểu của hàm giả (hàm chỉ gồm các biến giả) 𝑓1 (𝑋) = ∑ 1𝑥ℎ𝑖𝑑𝑑𝑒𝑛

- Pha 2: Khi thoả điều kiện tối ưu cho hàm giả, xoá các cột liên quan đến biến giả đi,
sửa lại hàng hệ số của các biến chính (kể cả các slack variable) theo hàm mục tiêu thật
sự, rồi tìm điều kiện tối ưu đến khi thoả.

Xét ví dụ sau: Tìm cực tiểu của hàm 𝑓(𝑋) = 2𝑥1 + 𝑥2 với các điều kiện:

𝑥1 + 𝑥2 = 3
3𝑥 − 𝑥2 ≥ 1
{ 1
2𝑥1 + 3𝑥2 ≤ 9
𝑥𝑖 ≥ 0, 𝑖 = 1: 2

Đây là bài toán 2 biến 3 phương trình.

- Phương trình (2) được trừ đi 𝑥3 ≥ 0, nhưng đây không là biến phụ thuộc.

- Phương trình (3) được cộng thêm 𝑥4 ≥ 0, đây là biến phụ thuộc.

Ràng buộc có 3 phương trình, tức là cần 3 biến phụ thuộc nhưng mới chỉ có x4 thoả.

Cộng tiếp 𝑥5 ≥ 0 vào phương trình (1) và 𝑥6 ≥ 0 vào phương trình (2), đây là các biến
giả (hidden variable) và là biến phụ thuộc, bài toán có đủ 3 biến phụ thuộc.

Pha 1: Tìm điều kiện tối ưu cho hàm giả 𝑓1 (𝑋) = 𝑥5 + 𝑥6 (slide)

Pha 2: Xoá 2 cột x5 và x6 trong bảng, sửa hệ số các biến còn lại theo hàm mục tiêu và
tiếp tục tìm phương án tối ưu (slide)

3.4. Bài toán đối ngẫu trong quy hoạch tuyến tính

Bài toán quy hoạch tuyến tính giải dễ nhất khi số biến nhiều hơn số phương trình. Chính
vì thế, khi số biến ít hơn số phương trình, hay 𝑛 < 𝑚, bài toán đối ngẫu sẽ biến bài toán
gốc trở thành bài toán số biến nhiều hơn số phương trình, có thể giải dễ hơn. Hai bài
toán này là tương đương nhau, và lợi thế của bài toán đối ngẫu nằm ở cách giải.

Đối ngẫu gần như là bài toán ngược hẳn với bài toán gốc, nếu bài toán gốc tìm min thì
nó sẽ tìm max. Thường đặt ẩn Y cho bài toán đối ngẫu, nên nó còn viết là 𝑓(𝑌).

3.4.1. Cách chuyển bài toán gốc về bài toán đối ngẫu

Chỉ xét bài toán gốc min → bài toán đối ngẫu max. Trên cùng 1 hàng là một cặp yếu
tố đối ngẫu quyết định lẫn nhau.

10
Ôn tập Tối ưu hoá 2019 Nguyễn Đức Thành (HC16KSTN)

Bài toán gốc min (bi  0) Bài toán đối ngẫu max
𝑛 𝑚

𝑓(𝑋) = ∑ 𝑐𝑗 𝑥𝑗 → 𝑚𝑖𝑛 𝑓(𝑌) = ∑ 𝑏𝑖 𝑦𝑖 → 𝑚𝑎𝑥


𝑗=1 𝑗=1
𝑛

∑ 𝑎𝑖𝑗 𝑥𝑗 ≥ 𝑏𝑖 𝑦𝑖 ≥ 0
𝑗=1
𝑛

∑ 𝑎𝑖𝑗 𝑥𝑗 = 𝑏𝑖 𝑦𝑖 mang dấu tuỳ ý (!)


𝑗=1
𝑚

𝑥𝑗 ≥ 0 ∑ 𝑎𝑗𝑖 𝑦𝑖 ≤ 𝑐𝑗
𝑖=1
𝑚

𝑥𝑗 mang dấu tuỳ ý (!) ∑ 𝑎𝑗𝑖 𝑦𝑖 = 𝑐𝑗


𝑖=1

Diễn giải:

- Các hệ số tự do bi trong các ràng buộc của X trở thành hệ số của hàm mục tiêu Y. Tức
là hàm mục tiêu của Y sẽ có m biến (thay vì n biến).

- Các hệ số của hàm mục tiêu X trở thành hệ số tự do cj trong các ràng buộc của Y. Điều
này nghĩa là Y sẽ có n phương trình ràng buộc (thay vì m phương trình).

- Ma trận ràng buộc của X chuyển vị cho ra ma trận ràng buộc của Y.

- Ràng buộc thứ i của X sẽ được đính kèm với yi:

+ Ràng buộc của X mang dấu  thì yi  0.

+ Ràng buộc của X mang dấu = thì yi mang dấu tuỳ ý.

+ Ràng buộc của X mang dấu  thì yi  0.

- Biến xi sẽ được đính kèm với ràng buộc thứ i của Y:

+ xi  0 thì ràng buộc của Y mang dấu  (thường gặp)

+ xi mang dấu tuỳ ý thì ràng buộc của Y mang dấu =

+ xi  0 thì ràng buộc của Y mang dấu 

Xét ví dụ ở phần 3.3: Tìm cực tiểu của hàm 𝑓 (𝑋) = 2𝑥1 + 𝑥2 với các điều kiện:

𝑥1 + 𝑥2 = 3
3𝑥 − 𝑥2 ≥ 1
{ 1
2𝑥1 + 3𝑥2 ≤ 9
𝑥𝑖 ≥ 0, 𝑖 = 1: 2

11
Ôn tập Tối ưu hoá 2019 Nguyễn Đức Thành (HC16KSTN)

Đây là bài toán 2 biến 3 phương trình (n = 2 và m = 3), đưa về bài toán đối ngẫu:

- Các giá trị bi đã thoả điều kiện.

- Phương trình 1 được đi kèm với y1, tương tự cho phương trình 2 và 3 được bài toán
tìm cực đại hàm mục tiêu của Y: 𝑓(𝑌) = ∑𝑚
𝑗=1 𝑏𝑖 𝑦𝑖 = 3𝑦1 + 𝑦2 + 9𝑦3 → 𝑚𝑎𝑥

1 1
- Ma trận ràng buộc của X: 𝐴 = [3 −1], suy ra ma trận ràng buộc của Y:
2 3
1 3 2
𝐴𝑇 = [ ]
1 −1 3

- Biến x1  0 nên ràng buộc 1 của Y mang dấu 

- Biến x2  0 nên ràng buộc 2 của Y mang dấu 

- Ràng buộc 1 của X mang dấu = nên y1 mang dấu tuỳ ý

- Ràng buộc 2 của X mang dấu  nên y2  0

- Ràng buộc 3 của X mang dấu  nên y3  0

𝑦1 + 3𝑦2 + 2𝑦3 ≤ 2
Ràng buộc của Y: { 𝑦1 − 𝑦2 + 3𝑦3 ≤ 1 cho hàm: 𝑓 (𝑌) = 3𝑦1 + 𝑦2 + 9𝑦3 → 𝑚𝑎𝑥
𝑦𝑖 ∈ ℝ, 𝑦2 ≥ 0, 𝑦3 ≤ 0

3.4.2. Giải bài toán đối ngẫu

Phân tích: Khi bài toán gốc có số biến nhỏ hơn số phương trình, số lượng biến phụ thuộc
trở nên quá nhiều làm cách giải truyền thống trở nên nhiêu khê. Việc chuyển sang bài
toán đối ngẫu giúp giảm số biến phụ thuộc phải giải quyết, đồng thời tạo ra một lợi thế
khác. Nếu bài toán gốc có n biến, m phương trình (n < m) thì bài toán đối ngẫu có m
biến, n phương trình và số biến phụ thuộc của bài toán đối ngẫu chính là số biến thực
trong bài toán gốc (n biến). Phương án tối ưu thường đạt được khi n biến phụ thuộc này
cũng chính là biến thực có trên hàm mục tiêu (hàm mục tiêu có m biến). Do mỗi biến
của Y đi kèm với một ràng buộc của X, và do n < m, luôn luôn có thể thu được một hệ
gồm n ràng buộc của X có dấu bằng đồng thời xảy ra (hệ n biến n phương trình). Hệ
này luôn luôn có nghiệm X* duy nhất, đó chính là toạ độ mà hàm f(X) đạt cực tiểu.

Bài toán đối ngẫu vẫn là bài toán quy hoạch tuyến tính, cần được đưa về dạng chính
tắc rồi mới có thể giải.

12
Ôn tập Tối ưu hoá 2019 Nguyễn Đức Thành (HC16KSTN)

Câu chuyện dấu tuỳ ý: Bài toán quy hoạch tuyến tính dạng chính tắc đòi hỏi biến không
âm, chính vì thế 1 biến mang dấu tuỳ ý có thể “lách luật” bằng cách tách thành hiệu của
2 biến không âm, tức là phép đặt thêm biến: 𝑦1 = 𝑦1′ − 𝑦1′′ với 𝑦1′ , 𝑦1′′ ≥ 0

Biến y3 được đảo dấu để trở thành không âm, tức đặt 𝑦3 = −𝑦3′ với 𝑦3′ ≥ 0

Hàm mục tiêu chuyển thành: 𝑓 (𝑌) = 3𝑦1′ − 3𝑦1′′ + 𝑦2 − 9𝑦3′ → 𝑚𝑎𝑥 do y3 đảo dấu.

Sau đó hàm mục tiêu trở thành: −𝑓 (𝑌) = −3𝑦1′ + 3𝑦1′′ − 𝑦2 + 9𝑦3′ → 𝑚𝑖𝑛

𝑦1′ − 𝑦1′′ + 3𝑦2 − 2𝑦3′ ≤ 2


Ràng buộc của Y trở thành: { 𝑦1′ − 𝑦1′′ − 𝑦2 − 3𝑦3′ ≤ 1
𝑦1′ , 𝑦1′′ , 𝑦2 , 𝑦3′ ≥ 0

Chính tắc hoá các ràng buộc: Phương trình 1 được cộng thêm 𝑦4 ≥ 0 và phương trình 2
được cộng thêm 𝑦5 ≥ 0, thu được ma trận ràng buộc chính tắc:

1 −1 3 −2 1 0
𝐴𝑇 = [ ]
1 −1 −1 −3 0 1
Hạng của ma trận AT là 2, và đủ 2 biến phụ thuộc là y4 và y5 vừa thêm vào.

Lập bảng đơn hình:

Lần thứ nhất


y1’ y1’’ y2 y3 y4 y5
Dep. Var. bj Y0
-3 3 -1 9 0 0
y4 0 2 1 -1 3 -2 1 0
y5 0 1 1 -1 -1 -3 0 1
3 -3 1 -9 0 0
Lần thứ hai
y1’ y1’’ y2 y3 y4 y5
Dep. Var. bj Y0
-3 3 -1 9 0 0
y4 0 1 0 0 4 1 1 -1
y1’ -3 1 1 -1 -1 -3 0 1
0 0 4 -6 0 -3
Lần thứ ba
y1’ y1’’ y2 y3 y4 y5
Dep. Var. bj Y0
-3 3 -1 9 0 0
y2 -1 ¼ 0 0 1 ¼ ¼ -1/4
y1’ -3 5/4 1 -1 0 -11/4 ¼ ¾
-4 0 0 0 -1 -1 -2
Bài toán đối ngẫu đã đạt đến phương án tối ưu. Kết luận:

13
Ôn tập Tối ưu hoá 2019 Nguyễn Đức Thành (HC16KSTN)

- Hàm mục tiêu −𝑓(𝑌) = −3𝑦1′ + 3𝑦1′′ − 𝑦2 + 9𝑦3′ có cực tiểu là -4, và đạt được tại
5 1 𝑇
𝑌 ∗ = [𝑦1′ 𝑦1′′ 𝑦2 𝑦3′ ]𝑇 = [
4
0
4
0]

- Hàm mục tiêu 𝑓(𝑌) = 3𝑦1′ − 3𝑦1′′ + 𝑦2 − 9𝑦3′ có cực đại là 4, và đạt được tại
5 1 𝑇
𝑌 ∗ = [𝑦1′ 𝑦1′′ 𝑦2 𝑦3′ ]𝑇 = [
4
0
4
0]

5 5
Có 𝑦1 = 𝑦1′ − 𝑦1′′ = − 0 = và 𝑦3 = −𝑦3′ = 0. Hàm 𝑓 (𝑌) = 3𝑦1 + 𝑦2 + 9𝑦3 có cực
4 4
𝑇
đại là 4, và đạt được tại 𝑌 ∗ = [𝑦1 𝑦2 𝑦3 ]𝑇 = [5 1
0]
4 4

Bài toán đối ngẫu đạt phương án tối ưu với 2 biến phụ thuộc là y1 và y2, ứng với dấu
bằng đồng thời xảy ra ở ràng buộc 1 và 2 của X.

Bài toán gốc 𝑓 (𝑋) = 2𝑥1 + 𝑥2 có cực tiểu là 4, và đạt được tại 𝑋 ∗ = [𝑥1 𝑥2 ]𝑇 là
𝑥1 + 𝑥2 = 3
nghiệm của hệ phương trình: { . Giải hệ thu được 𝑋 ∗ = [1 2]𝑇
3𝑥1 − 𝑥2 = 1

Kết luận: Bài toán gốc 𝑓(𝑋) = 2𝑥1 + 𝑥2 có cực tiểu là 4, và đạt được tại 𝑋 ∗ = [1 2]𝑇

3.5. Công thức hoá một bài toán kinh tế để giải theo quy hoạch tuyến tính

Xét ví dụ sau: Một công ty nội thất sản xuất 2 loại ghế “Dream” và “Lada”. Công ty cần
tối ưu hoá kế hoạch sản xuất ghế hàng tuần để có doanh thu tối đa, với giá bán 1 chiếc
ghế “Dream” là 560 nghìn VNĐ và giá bán 1 chiếc ghế “Lada” là 400 nghìn VNĐ. Trữ
lượng các chi tiết cùng với tiêu hao vật tư các loại để lắp ráp 2 loại ghế được cho trong
bảng. Ngoài ra, tổ chức công đoàn phát động thi đua với tiêu chí tổng số lượng ghế sản
xuất mỗi tuần tối thiểu đạt mức 100 chiếc.
Tiêu hao vật tư cho mỗi loại
STT Vật tư Trữ lượng
Dream Lada
1 Chân trước 8 4 1350
2 Chân sau 4 12 1600
3 Thanh đỡ mặt ghế 4 4 760
4 Thanh giữ chân trước 1 0 140
5 Thanh giữ chân sau 0 1 120
Giá bán (nghìn VNĐ/sp) 560 400
a. Lập mô hình sản xuất để tối ưu hoá như yêu cầu.

b. Tính doanh thu mà công ty đạt được với kế hoạch trên.

c. Xác định số lượng vật tư còn dư của mỗi loại sau 1 tuần.

14
Ôn tập Tối ưu hoá 2019 Nguyễn Đức Thành (HC16KSTN)

3.5.1. Giải bằng bài toán đối ngẫu

Gọi x1 và x2 là số ghế Dream và ghế Lada công ty sản xuất được trong 1 tuần (ràng buộc
đầu tiên: x1  0 và x2  0).

Tổng số lượng ghế sản xuất được mỗi tuần tối thiểu 100 chiếc: x1 + x2  100

Trữ lượng là lượng vật tư có sẵn trong kho, thể hiện giới hạn sử dụng của doanh nghiệp:

- Số chân trước: 8x1 + 4x2  1350

- Số chân sau: 4x1 + 12x2  1600

- Số thanh giữ mặt ghế: 4x1 + 4x2  760

- Số thanh giữ chân trước: x1  140

- Số thanh giữ chân sau: x2  120

Mục tiêu cần tối đa hoá là doanh thu bán hàng trong 1 tuần: 560x1 + 400x2 → max.

Do hàm mục tiêu và các ràng buộc đều tuyến tính nên bài toán là quy hoạch tuyến tính:

- Mục tiêu: 𝑓(𝑋) = 560𝑥1 + 400𝑥2 → 𝑚𝑎𝑥 ⟺ −𝑓(𝑋) = −560𝑥1 − 400𝑥2 → 𝑚𝑖𝑛

𝑥1 + 𝑥2 ≥ 100
8𝑥1 + 4𝑥2 ≤ 1350
4𝑥1 + 12𝑥2 ≤ 1600
- Các ràng buộc: 4𝑥1 + 4𝑥2 ≤ 760
𝑥1 ≤ 140
𝑥2 ≤ 120
{ 𝑥1 , 𝑥2 ≥ 0

Chuyển về bài toán đối ngẫu:

- Mục tiêu: 𝑓(𝑌) = 100𝑦1 + 1350𝑦2 + 1600𝑦3 + 760𝑦4 + 140𝑦5 + 120𝑦6 → 𝑚𝑎𝑥

𝑦1 + 8𝑦2 + 4𝑦3 + 4𝑦4 + 𝑦5 ≤ −560


𝑦 + 4𝑦2 + 12𝑦3 + 4𝑦4 + 𝑦6 ≤ −400
- Các ràng buộc: { 1 :
𝑦1 ≥ 0
𝑦𝑖 ≤ 0, 𝑖 = 2: 6

Chính tắc hoá bài toán và thêm các biến phụ (slack variable) được hàm mục tiêu:

−𝑓 (𝑌) = −100𝑦1 + 1350𝑦2′ + 1600𝑦3′ + 760𝑦4′ + 140𝑦5′ + 120𝑦6′ → 𝑚𝑖𝑛

15
Ôn tập Tối ưu hoá 2019 Nguyễn Đức Thành (HC16KSTN)

−𝑦1 + 8𝑦2′ + 4𝑦3′ + 4𝑦4′ + 𝑦5′ − 𝑦7 = 560


−𝑦1 + 4𝑦2′ + 12𝑦3′ + 4𝑦4′ + 𝑦6′ − 𝑦8 = 400
- Các ràng buộc:
𝑦1 , 𝑦7 , 𝑦8 ≥ 0
{ 𝑦𝑖′ ≥ 0, 𝑖 = 2: 6

Ma trận ràng buộc có hạng là 2, số biến phụ thuộc cũng là 2: y5’ và y6’

Lập bảng đơn hình:

Lần thứ nhất:


y1 y2’ y3’ y4’ y5’ y6’ y7 y8
DV bj Y0
-100 1350 1600 760 140 120 0 0
y5’ 140 560 -1 8 4 4 1 0 -1 0
y6’ 120 400 -1 4 12 4 0 1 0 -1
-160 250 400 280 0 0 -140 -120
Lần thứ hai:
y1 y2’ y3’ y4’ y5’ y6’ y7 y8
DV bj Y0
-100 1350 1600 760 140 120 0 0
y5’ 140 1280/3 -2/3 20/3 0 8/3 1 -1/3 -1 1/3
y3’ 1600 100/3 -1/12 1/3 1 1/3 0 1/12 0 -1/12
-380/3 350/3 0 440/3 0 -100/3 -140 -260/3
Lần thứ ba:
y1 y2’ y3’ y4’ y5’ y6’ y7 y8
DV bj Y0
-100 1350 1600 760 140 120 0 0
y5’ 140 160 0 4 -8 0 1 -1 -1 1
y4’ 760 100 -1/4 1 3 1 0 ¼ 0 -1/4
98400 -90 -30 -440 0 0 -70 -140 -50
Bài toán đối ngẫu đạt đến phương án tối ưu. Kết luận:

- Mục tiêu −𝑓(𝑌) = −100𝑦1 + 1350𝑦2′ + 1600𝑦3′ + 760𝑦4′ + 140𝑦5′ + 120𝑦6′ đạt cực
tiểu là 98400, tại 𝑌 ∗ = [𝑦1 𝑦2′ 𝑦3′ 𝑦4′ 𝑦5′ 𝑦6′ ]𝑇 = [0 0 0 100 160 0]𝑇

- Mục tiêu 𝑓(𝑌) = 100𝑦1 + 1350𝑦2 + 1600𝑦3 + 760𝑦4 + 140𝑦5 + 120𝑦6 đạt cực đại
là -98400, tại 𝑌 ∗ = [𝑦1 𝑦2 𝑦3 𝑦4 𝑦5 𝑦6 ]𝑇 = [0 0 0 −100 −160 0]𝑇

Bài toán đối ngẫu đạt phương án tối ưu với 2 biến phụ thuộc là y4 và y5, ứng với dấu
bằng đồng thời xảy ra ở 2 ràng buộc thứ 4 và thứ 5 của bài toán gốc.

Bài toán gốc −𝑓 (𝑋) = −560𝑥1 − 400𝑥2 đạt cực tiểu là -98400, tại 𝑋 ∗ = [𝑥1 𝑥2 ]𝑇 là
nghiệm của hệ phương trình:

4𝑥1 + 4𝑥2 = 760 𝑥 = 140


{ ⟺{ 1
𝑥1 = 140 𝑥2 = 50

16
Ôn tập Tối ưu hoá 2019 Nguyễn Đức Thành (HC16KSTN)

Vậy, bài toán 𝑓 (𝑋) = 560𝑥1 + 400𝑥2 đạt cực đại là 98400 tại 𝑋 ∗ = [140 50]𝑇

a. Mô hình hợp lý để công ty tối đa hoá doanh thu dựa trên các điều kiện sẵn có là sản
xuất 140 chiếc ghế Dream và 50 chiếc ghế Lada trong 1 tuần.

b. Doanh thu cực đại của công ty với kế hoạch này là 98400000 VNĐ/tuần.

c. Số ghế bán vượt kế hoạch trong 1 tuần: 140 + 50 − 100 = 90

Lượng vật tư còn dư sau 1 tuần:

- Số chân trước: 1350 − 8 × 140 − 4 × 50 = 30

- Số chân sau: 1600 − 4 × 140 − 12 × 50 = 440

- Số thanh giữ mặt ghế: 760 − 4 × 140 − 4 × 50 = 0

- Số thanh giữ chân trước: 140 − 1 × 140 = 0

- Số thanh giữ chân sau: 120 − 1 × 50 = 70

3.5.2. Giải bằng bài toán gốc (phương pháp biến giả)

Bài toán có dạng:

- Mục tiêu: −𝑓(𝑋) = −560𝑥1 − 400𝑥2 → 𝑚𝑖𝑛

𝑥1 + 𝑥2 ≥ 100
8𝑥1 + 4𝑥2 ≤ 1350
4𝑥1 + 12𝑥2 ≤ 1600
- Các ràng buộc: 4𝑥1 + 4𝑥2 ≤ 760
𝑥1 ≤ 140
𝑥2 ≤ 120
{ 𝑥1 , 𝑥2 ≥ 0

Thêm các biến phụ không âm x3, x4, x5, x6, x7 và x8 để đưa các ràng buộc về chính tắc:

𝑥1 + 𝑥2 − 𝑥8 = 100
8𝑥1 + 4𝑥2 + 𝑥3 = 1350
4𝑥1 + 12𝑥2 + 𝑥4 = 1600
4𝑥1 + 4𝑥2 + 𝑥5 = 760
𝑥1 + 𝑥6 = 140
𝑥2 + 𝑥7 = 120
{ 𝑥𝑖 ≥ 0, 𝑖 = 1: 8

17
Ôn tập Tối ưu hoá 2019 Nguyễn Đức Thành (HC16KSTN)

Ma trận ràng buộc A có hạng (số phương trình) là 6, nhưng mới chỉ có 5 biến phụ thuộc
là x3, x4, x5, x6, x7 (x8 vướng hệ số -1 nên không phải biến phụ thuộc). Thêm biến giả x9
(không âm) vào ràng buộc 1, đồng thời vào hàm mục tiêu để đầy đủ 6 biến phụ thuộc:

- Mục tiêu: −𝑓(𝑋) = −560𝑥1 − 400𝑥2 + 𝑥9 → 𝑚𝑖𝑛

𝑥1 + 𝑥2 − 𝑥8 + 𝑥9 = 100
8𝑥1 + 4𝑥2 + 𝑥3 = 1350
4𝑥1 + 12𝑥2 + 𝑥4 = 1600
- Các ràng buộc: 4𝑥1 + 4𝑥2 + 𝑥5 = 760
𝑥1 + 𝑥6 = 140
𝑥2 + 𝑥7 = 120
{ 𝑥𝑖 ≥ 0, 𝑖 = 1: 9

6 biến phụ thuộc là x3, x4, x5, x6, x7 và x9.

Do có biến giả nên bài toán được giải theo 2 pha.

Pha 1: Lập bảng đơn hình tối ưu hàm giả 𝑔(𝑋) = 𝑥9 → 𝑚𝑖𝑛

Lần thứ nhất (Có 2 cột x1 và x2 cùng đạt giá trị dương lớn nhất → Chọn x1 (tuỳ ý).
x1 x2 x3 x4 x5 x6 x7 x8 x9
DV ci X0
0 0 0 0 0 0 0 0 1
x9 1 100 1 1 0 0 0 0 0 -1 1
x3 0 1350 8 4 1 0 0 0 0 0 0
x4 0 1600 4 12 0 1 0 0 0 0 0
x5 0 760 4 4 0 0 1 0 0 0 0
x6 0 140 1 0 0 0 0 1 0 0 0
x7 0 120 0 1 0 0 0 0 1 0 0
1 1 0 0 0 0 0 -1 0
Lần thứ hai
x1 x2 x3 x4 x5 x6 x7 x8 x9
DV ci X0
0 0 0 0 0 0 0 0 1
x1 0 100 1 1 0 0 0 0 0 -1 1
x3 0 550 0 -4 1 0 0 0 0 8 -8
x4 0 1200 0 8 0 1 0 0 0 4 -4
x5 0 360 0 0 0 0 1 0 0 4 -4
x6 0 40 0 -1 0 0 0 1 0 1 -1
x7 0 120 0 1 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 -1
Hàm giả 𝑔(𝑋) = 𝑥9 → 𝑚𝑖𝑛 đạt phương án tối ưu là 0, tại 𝑥9 = 0.

Pha 2: Xoá cột x9 và sửa lại hệ số các biến theo hàm mục tiêu −𝑓(𝑋) = −560𝑥1 −
400𝑥2 + 0 → 𝑚𝑖𝑛

18
Ôn tập Tối ưu hoá 2019 Nguyễn Đức Thành (HC16KSTN)

Lần thứ nhất


x1 x2 x3 x4 x5 x6 x7 x8
DV ci X0
-560 -400 0 0 0 0 0 0
x1 -560 100 1 1 0 0 0 0 0 -1
x3 0 550 0 -4 1 0 0 0 0 8
x4 0 1200 0 8 0 1 0 0 0 4
x5 0 360 0 0 0 0 1 0 0 4
x6 0 40 0 -1 0 0 0 1 0 1
x7 0 120 0 1 0 0 0 0 1 0
0 -160 0 0 0 0 0 560
Lần thứ hai
x1 x2 x3 x4 x5 x6 x7 x8
DV ci X0
-560 -400 0 0 0 0 0 0
x1 -560 140 1 0 0 0 0 1 0 0
x3 0 390 0 4 1 0 0 -8 0 0
x4 0 1040 0 12 0 1 0 -4 0 0
x5 0 200 0 4 0 0 1 -4 0 0
x8 0 40 0 -1 0 0 0 1 0 1
x7 0 120 0 1 0 0 0 0 1 0
0 400 0 0 0 -560 0 0
Lần thứ ba
x1 x2 x3 x4 x5 x6 x7 x8
DV ci X0
-560 -400 0 0 0 0 0 0
x1 -560 140 1 0 0 0 0 1 0 0
x3 0 190 0 0 1 0 -1 -4 0 0
x4 0 440 0 0 0 1 -3 8 0 0
x2 -400 50 0 1 0 0 ¼ -1 0 0
x8 0 90 0 0 0 0 ¼ 0 0 1
x7 0 70 0 0 0 0 -1/4 1 1 0
-98400 0 0 0 0 0 -560 0 0
Hàm mục tiêu −𝑓(𝑋) = −560𝑥1 − 400𝑥2 đạt cực tiểu là -98400, và đạt được tại:

𝑋 ∗ = [𝑥1 𝑥2 ]𝑇 = [140 50]𝑇

Kết luận: Hàm mục tiêu của bài toán 𝑓(𝑋) = 560𝑥1 + 400𝑥2 đạt cực đại là 98400 tại:

𝑋 ∗ = [𝑥1 𝑥2 ]𝑇 = [140 50]𝑇

Các kết luận câu a, b và c của bài toán giống như cách ở phần 3.5.1.

19

You might also like