You are on page 1of 11

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI

KHOA TOÁN - TIN

BÀI TẬP LỚN : TỐI ƯU


NĂM HỌC: 2023-2024

Sinh viên thực hiện Mã sinh viên


Trần Minh Huy 715101130
Nguyễn Khánh 715101141
Phan Văn Tài Nguyên 715101228

Ngày 19/04/2024
1 Bài toán thực tế về quy hoạch tuyến tính
1.1 Ví dụ 1
Một công ty sản xuất hai loại thực phẩm A, B. Nguyên liệu gồm bột, đường và dầu thực vật với trữ lượng
lần lượt là 30 tấn, 12 tấn và 6 tấn. Biết rằng, để sản xuất 1 tấn thực phẩm A cần 0,5 tấn bột; 0,5 tấn đường
và 0,2 tấn dầu thực vật; để sản xuất 1 tấn thực phẩm B cần 0,8 tấn bột; 0,4 tấn đường và 0,4 tấn dầu thực
vật. Giá bán 1 tấn thực phẩm A là 4500 USD, 1 tấn thực phẩm B là 4000 USD. Hỏi cần sản xuất mỗi loại
bao nhiêu tấn để có doanh thu lớn nhất?

Lời giải:

Gọi x1 , x2 lần lượt là khối lượng thực phẩm A và B được sản xuất.
Dựa vào giả thiết, ta có bài toán quy hoạch tuyến tính:



0, 5x1 + 0, 8x2 ≤ 30

0, 5x + 0, 4x ≤ 12
1 2
f (x) = 4500x1 + 4000x2 −→ max ⇔ g(x) = 9x1 + 8x2 −→ max s.t


0, 2x1 + 0, 4x2 ≤ 6

x , x ≥ 0
1 2

x1 x2 x3 x4 x5
cB bB 9 8 0 0 0
x3 0 30 0,5 0,8 1 0 0 x1 vào cơ sở, x4 ra cơ sở
x4 0 12 0.5 0,4 0 1 0
x5 0 6 0,2 0,4 0 0 1

x3 0 18 0 0,4 1 −1 0
x1 9 24 1 0,8 0 2 0 x2 vào cơ sở, x5 ra cơ sở
x5 0 1,2 0 0,24 0 −0, 4 1

x3 0 16 0 0 1 − 13 − 53
10
x1 9 20 1 0 0 3 − 10
3 Suy ra (x1 , x2 ) = (20, 5) là nghiệm tối ưu của bài toán.
x2 8 5 0 1 0 − 53 25
6
50 1
∆ 0 0 0 3 3

Vậy cần sản xuất 20 tấn thực phẩm loại A và 5 tấn thực phẩm loại B để có được doanh thu lớn nhất

1.2 Ví dụ 2
Một người có 500 triệu đồng muốn đầu tư hết với các hình thức

1. Tiết kiệm không kì hạn với lãi suất 0,2%/tháng

2. Tiết kiệm có kì hạn với lãi suất 0,5%/tháng

3. Mua trái phiếu với lãi suất 8%/tháng

4. Cho vay với lãi suất 15%/tháng

Để giảm thiểu rủi ro, người này được tư vấn như sau

ˆ Không cho vay quá 20% số vốn

ˆ Số tiền mua trái phiếu không vượt quá tổng số tiền đầu tư vào các hình thức còn lại

ˆ Số tiền mua trái phiếu và tiết kiệm có kì hạn chiếm ít nhất 40% tổng số vốn

Hãy xác định kế hoạch đầu tư của người này để có lợi nhuận cao nhất.

Lời giải:

1
Gọi xi (triệu đồng) (i = 1, 4) lần lượt là số tiền người này đầu tư vào bốn mục 1,2,3,4
Dựa vào giả thiết và mô hình tư vấn, ta có bài toán quy hoạch tuyến tính:
f (x) = 0, 002x1 + 0, 005x2 + 0, 08x3 + 0, 15x4 −→ max ⇔ g(x) = 2x1 + 5x2 + 80x3 + 150x4 −→ max
với điều kiện 

xi ≥ 0∀ i = 1, 4

x4 ≤ 100



x1 + x2 − x3 + x4 ≥ 0

x2 + x3 ≥ 200





x1 + x2 + x3 + x4 = 500

Ta có
x1 + x2 + x3 + x4 = 500 ⇒ x4 = 500 − x1 − x2 − x3 ⇒ g(x) = 7500 − 148x1 − 145x2 − 70x3
Khi đó, viết lại bài toán quy hoạch tuyến tính



 xi ≥ 0∀ i = 1, 3

x + x + x ≥ 400
1 2 3
g(x) = 7500 − 148x1 − 145x2 − 70x3 −→ max s.t


 x3 ≤ 250

x + x ≥ 200
2 3

xi ≥ 0∀ i = 1, 2, 3, 5, 6, 7



x + x + x − x = 400
1 2 3 6
g(x) = 7500 − 148x1 − 145x2 − 70x3 −→ max s.t


 x 3 + x5 = 250

x + x − x = 200
2 3 7

Bảng đơn hình


max x1 x2 x3 max x1 x2 x7 max x1 x5 x7
g(x) 75000 148 145 70 g(x) 47000 78 75 70 g(x) 35750 3 75 145
x7 −400 −1 −1 −1 −→ x3 400 1 1 −1 −→ x3 250 1
x5 250 0 0 1 x5 −150 −1 −1 1 x2 150 1 −1 −1
x6 −200 0 −1 −1 x6 200 1 0 −1 x6 200 0

Suy ra nghiệm tối ưu của bài toán là x∗ = (0; 150; 250; 100)
Vậy người đó cần đầu tư vào các hạng mục 1,2,3,4 sau khi được tư vấn với số tiền lần lượt là 0 đồng, 150
triệu đồng, 250 triệu đồng và 100 triệu đồng

1.3 Ví dụ 3
Trong một cuộc thi gói bánh vào dịp năm mới, mỗi đội chơi được sử dụng tối đa 20 kg gạo nếp, 2 kg thịt
ba chỉ, 5 kg đậu xanh để gói bánh chưng và bánh ống. Để gói một cái bánh chưng cần 0,4 kg gạo nếp, 0,05
kg thịt và 0,1 kg đậu xanh; để gói một cái bánh ống cần 0,6 kg gạo nếp, 0,075 kg thịt và 0,15 kg đậu xanh.
Mỗi cái bánh chưng nhận được 5 điểm thưởng, mỗi cái bánh ống nhận được 7 điểm thưởng. Hỏi cần phải
gói mấy cái bánh mỗi loại để được nhiều điểm thưởng nhất.
Lời giải:
Gọi x, y lần lượt là số bánh chưng và số bánh ống gói được.
Theo bài ra ta có bài toán quy hoạch tuyến tính



0, 4x + 0, 6y ≤ 20 (

0, 05x + 0, 075y ≤ 2 2x + 3y ≤ 80
f (x, y) = 5x + 7y −→ max s.t ⇔ (∗)


0, 1x + 0, 15y ≤ 5 x, y ≥ 0

x, y ≥ 0

Miền nghiệm của hệ bất phương trình (*) là tam giác OAB (kể cả biên)

2
 
80
Khi đó f (x, y) đạt giá trị lớn nhất tại một trong các đỉnh O(0; 0), A(40, 0), B 0; .
3
Thử lần lượt ta suy ra f (x, y) lớn nhất khi (x; y) = (40; 0). Do đó cần gói 40 cái bánh chưng để có nhiều
điểm nhất

2 Bài toán tối ưu giải bằng thuật toán đơn hình gốc
2.1 Ví dụ 1
Giải bài toán quy hoạch tuyến tính



xi ≥ 0 ∀i = 1, 2, 3

x − 5x + x ≤ 15
1 2 3
ζ = 2x1 − 3x2 + x3 −→ max s.t


3x1 + 2x2 − 2x3 ≤ 20

4x
1 + x3 ≤ 10

Lời giải:

Chuyển về dạng chính tắc





xi ≥ 0 ∀i = 1, 6

x − 5x + x + x = 15
1 2 3 4
ζ = 2x1 − 3x2 + x3 −→ max s.t
3x1 + 2x2 − 2x3
 + x5 = 20


4x + x3 + x6 = 10
1

Phương án cực biên ban đầu xT = (0; 0; 0; 15; 20; 10), cơ sở B = {A4 , A5 , A6 }, xB = {x4 , x5 , x6 },
cB = {0; 0; 0}
x1 x2 x3 x4 x5 x6
xB cB bB 2 −3 1 0 0 0
x4 0 15 1 −5 1 1 0 0
−→ x1 vào cơ sở, x6 ra cơ sở
x5 0 20 3 2 −2 0 1 0
x6 0 10 4 0 1 0 0 1
∆ −2 3 −1 0 0 0

x4 0 12,5 0 −5 0,75 1 0 −0, 25


x5 0 12,5 0 2 −2, 75 0 1 −0, 75
−→ x3 vào cơ sở, x1 ra cơ sở
x1 2 2,5 1 0 0,25 0 0 0,25
∆ 0 3 −0, 5 0 0 0,5

x4 0 5 −3 −5 0 1 0 −1
x5 0 40 11 2 0 0 1 2
⇒ x∗ = (0; 0; 10; 5; 40) là nghiệm tối ưu của bài toán.
x3 1 10 4 0 1 0 0 1
∆ 2 3 0 0 0 1

3
Vậy max ζ = 10 khi x1 = x2 = 0, x3 = 10

2.2 Ví dụ 2
Giải bài toán quy hoạch tuyến tính

−x1 + x2 ≤ 2

ζ = x1 + 2x2 −→ max s.t −2x1 + x2 ≤ 1

x1 , x2 ≥ 0

Lời giải

Đưa về dạng chính tắc



−x1 + x2 + x3 = 2

ζ = x1 + 2x2 −→ max s.t −2x1 + x2 + x4 = 1

x1 , x2 , x3 , x4 ≥ 0

Phương án cực biên ban đầu xT = (0; 0; 2; 1), biến cơ sở {x3 , x4 }


x1 x2 x3 x4
cB bB 1 2 0 0
x3 0 2 −1 1 1 0 −→ x2 vào cơ sở, x4 ra cơ sở
x4 0 1 −2 1 0 1
∆ −1 −2 0 0

x3 0 1 1 0 1 −1
x2 2 1 −2 1 0 1 −→ x1 vào cơ sở, x3 ra cơ sở
∆ −5 0 0 2

x1 1 1 1 0 1 −1
x2 2 3 0 1 2 −1
∆ 0 0 5 −3

Kết luận bài toán không có nghiệm tối ưu (hàm mục tiêu không bị chặn)

2.3 Ví dụ 3
Giải bài toán quy hoạch tuyến tính

x1 + x2 + x3 + 13x4 = 14

ζ = −3x1 + 4x2 + 5x3 − 6x4 −→ max s.t 2x1 + x2 + 14x4 = 11

3x2 + x3 + 14x4 = 16

Lời giải

Viết lại bài toán


27

x1 + x4 = 4
5




ζ = −3x1 + 4x2 + 5x3 − 6x4 −→ max s.t 16
x2 + x4 = 3

 5

 22

 x3 + x4 = 7
5

4
Chọn {x1 , x2 , x3 } làm cơ sở
x1 x2 x3 x4
cB bB −3 4 5 −6
x1 −3 4 1 0 0 5,4
⇒ x∗ = (4; 3; 7; 0) là nghiệm tối ưu của bài toán
x2 4 3 0 1 0 3,2
x3 5 7 0 0 1 4,4
∆ 0 0 0 24,6

Vậy max ζ = 35 khi (x1 , x2 , x3 , x4 ) = (4; 3; 7; 0)

3 Bài toán tối ưu giải bằng thuật toán Big - M

4 Bài toán tối ưu giải bằng thuật toán đơn hình đối ngẫu
4.1 Ví dụ 1
Giải bài toán quy hoạch tuyến tính



2x1 + 3x2 + 4x3 ≤ 11

2x − 3x + x ≤ −7
1 2 3
ζ = 4x1 + 3x2 − x3 −→ max s.t


−3x1 + x2 + x3 ≤ 0

x ≥ 0 ∀i = 1, 3
i

Lời giải
Viết lại bài toán


2x1 + 3x2 + 4x3 + x4 = 11

2x1 − 3x2 + x3 + x5 = −7



ζ = 4x1 + 3x2 − x3 −→ max s.t −3x1 + x2 + x3 + x6 = 0

x1 + x2 + x7 = M





xi ≥ 0 ∀i = 1, 7

x1 x2 x3 x7 x2 x3 x4 x2 x3
f 0 −4 −3 1 f 4M 4 1 1 f 22 2 3 9
x4 11 2 3 4 x4 11 − 2M −2 1 4 x7 −5, 5 + M −0, 5 −0, 5 −2
−→ −→
x5 −7 2 −3 1 x5 −7 − 2M −2 −5 1 x5 −18 −1 −6 −3
x6 0 −3 1 1 x6 3M 3 4 1 x6 16, 5 1, 5 5,5 7
x7 M 1 1 0 x1 M 1 1 0 x1 5, 5 0,5 1,5 2

x4 x5 x3
f 13 1,5 0,5 7,5
−→ x2 3 1
6 − 16 0,5 ⇒ x∗ = (1; 3; 0; 0; 0; 0) là nghiệm tối ưu của bài toán
7 11
x6 0 12 12 4,25
x1 1 0,25 0,25 1,25

Vậy max ζ = 13 khi (x1 ; x2 ; x3 ) = (1; 3; 0)

4.2 Ví dụ 2
Giải bài toán quy hoạch tuyến tính



−x1 + 2x2 − x3 ≤ −2

−2x − x − x ≤ −3
1 2 3
ζ = −10x1 + 2x2 − 5x3 −→ max s.t


3x1 − 4x2 + 3x3 ≤ 2

x ≥ 0 ∀i = 1, 3
i

5
Lời giải
Viết lại bài toán


−x1 + 2x2 − x3 + x4 − 2

−2x1 − x2 − x3 + x5 = −3



ζ = −10x1 + 2x2 − 5x3 −→ max s.t 3x1 − 4x2 + 3x3 + x6 = 2

x2 + x7 = M





xi ≥ 0 ∀i = 1, 7

x1 x2 x3 x1 x7 x3 x1 x4 x3
f 0 10 −2 5 f 2M 10 2 5 f −2 9 1 4
x4 −2 −1 2 −1 x −2 − 2M −1 −2 −1 x 1+M 0, 5 −0, 5 0, 5
−→ 4 −→ 7
x5 −3 −2 −1 −1 x5 −3 + M −2 1 −1 x5 −4 −2, 5 0, 5 −1, 5
x6 2 3 −4 3 x6 2 + 4M 3 4 3 x6 −2 1 2 1
x7 M 0 1 0 x2 M 0 1 0 x2 −1 −0, 5 0,5 −0, 5

x1 x4 x5 x6 x4 x5
f − 38
3
7
3
7
3
8
3 f −29 7
2
21
2 5
8 5
−→ x3 3 3 − 31 − 32 −→ x3 −9 2, 5 5, 5 1
x6 − 14
3 − 23 7
3
2
3 x1 7 −1, 5 −3, 5 −1
1 1 1
x2 3 3 3 − 31 x2 −2 0, 5 1, 5 0

Suy ra bài toán không có nghiệm tối ưu

4.3 Ví dụ 3
Giải bài toán quy hoạch tuyến tính

x1 + x2 + x3 ≥ 5

ζ = 7x1 − x2 + 3x3 −→ max s.t 2x1 − 2x3 ≥ 8

xi ≥ 0 ∀i = 1, 3

Lời giải:
Viết lại bài toán



x1 + x2 + x3 − x4 = 5

2x
1 − 2x3 − x5 = 8
ζ = 7x1 − x2 + 3x3 −→ max s.t
x1
 + x3 + x6 = M


x ≥ 0 ∀i = 1, 6
i

x1 x2 x3 x6 x2 x3
f 0 −7 1 −3 f 7M 7 1 4
x4 −5 −1 −1 −1 −→ x4 −5 + M 1 −1 0
x5 −8 −2 0 2 x5 −8 + 2M 2 0 4
x6 M 1 0 1 x1 M 1 0 1

Cơ sở này vừa gốc khả dĩ, vừa đối ngẫu khả dĩ nhưng biến x6 là biến ngoài cơ sở, suy ra bài toán có nghiệm
tối ưu nhưng có hàm giá trị không bị chặn.

5 Nghiệm địa phương, nghiệm toàn cục của bài toán không ràng buộc
5.1 Ví dụ 1
Tìm nghiệm địa phương và nghiệm toàn cục của bài toán
1 1 1
f (x) = x31 + x21 + 2x1 x2 + x22 − x2 −→ min
3 2 2

6
Lời giải:

Ta có (
x21 + x1 + 2x2 = 0
 2  
x1 + x1 + 2x2 (x1 , x2 ) = (1; −1)
∇f (x) = =0⇔ ⇔
2x1 + x2 − 1 2x1 + x2 − 1 = 0 (x1 ; x2 ) = (2; −3)
   
1 2
Do đó ta có hai điểm critical xa = , xb =
−1 −3
Ta có  
2 2x1 + 1 2
∇ f (x) =
2 1
Suy ra    
2 3 2 2 5 2
∇ f (xa ) = ; ∇ f (xb ) =
2 1 2 1
Do ∇2 f (xb ) xác định dương nên xb là điểm nghiệm địa phương của bài toán.
Do f không bị chặn khi x → ±∞ do đó f không có nghiệm toàn cục.

5.2 Ví dụ 2
Biện luận nghiệm địa phương, nghiệm toàn cục cho bài toán

f (x, y) = x2 + y 2 + βxy + x + 2y −→ min

Lời giải:

Ta có    
2x + βy + 1 2 2 β
∇f (x, y) = ; ∇ f (x, y) = A =
2y + βx + 2 β 2
Ta có: (
2x + βy = −1
∇f (x, y) = 0 ⇔ (∗)
2y + βx = −2

ˆ Nếu β = ±2 thì hệ (*) vô nghiệm


 
2β − 2 β − 4
ˆ Nếu β ̸= ±2 thì hệ (*) có nghiệm duy nhất (x; y) = ;
4 − β2 4 − β2

Xét đa thức đặc trưng của A

det(A − λI) = (2 − λ)2 − β 2 = 0 ⇔ λ = ±β + 2


 
2β − 2 β − 4
Do đó nếu −2 < β < 2 thì các giá trị riêng của A đều dương, từ đó ta được (x; y) = ; là
4 − β2 4 − β2
nghiệm địa phương của bài toán.  
2β − 2 β − 4
Do lúc này A xác định dương với mọi (x; y), suy ra (x; y) = ; cũng là nghiệm toàn cục của
4 − β2 4 − β2
bài toán.  
2β − 2 β − 4
Nếu |β| > 2 thì A không xác định âm, cũng không xác định dương, suy ra (x; y) = ; không
4 − β2 4 − β2
là cực trị.

5.3 Ví dụ 3
Tìm nghiệm địa phương của bài toán

f (x) = x41 + x42 − 4x1 x2 −→ min

Lời giải:

7
Ta có: (
4x31 − 4x2 x31 = x2
 
∇f (x) = =0⇔ ⇔ (x1 ; x2 ) ∈ {(0; 0); (−1; −1); (1; 1)}
4x32 − 4x1 x32 = x1

Ta có
12x21
 
2 4
∇ f (x) =
−4 12x22
Suy ra  
2 12 −4
∇ f (1; 1) = A =
−4 12
Do A là ma trận xác định dương nên (1; 1) là một nghiệm địa phương của bài toán.
Tương tự (−1; −1), (0; 0) cũng là nghiệm địa phương của bài toán

6 Tìm nghiệm địa phương, nghiệm toàn cục của bài toán có ràng buộc
bằng KKT
6.1 Ví dụ 1
Tìm nghiệm toàn cục của bài toán min f (x) = 2(x1 − 2)2 + (x2 − 2)2 biết rằng g(x) = 2x1 + 4x2 − 3 ≤ 0.

Lời giải:

Ta có:    
4x1 − 8 2
∇f (x) = ; ∇g(x) =
2x2 − 4 4
   
2 4 0 2 0 0
∇ f (x) = ; ∇ g(x) =
0 2 0 0
Suy ra f (x), g(x) là hai hàm lồi, khả vi liên tục.
Bài toán thỏa mãn điều kiện Slater với x0 = (0; 0). Ta xét hệ KKT
 (
x1 = 2
( loại do g(2; 2) = 9 > 0)

  4x1 − 8 + 2λ = 0 
x2 = 2
∇f (x) + λ∇g(x) = 0 (λ ≥ 0)

 
4−λ

 
2x − 4 + 4λ = 0  
2 
g(x) ≤ 0 ⇔ ⇔ x1 = 2
" 


  λ = 0 (g(x) < 0) 
λg(x) = 0
 
 
x2 = 2 − 2λ

 g(x) = 0 (λ > 0) 
 

4 − λ + 8 − 8λ = 0

Suy ra 
λ = 1

3


x1 =

 2

x2 = 0
 
3
Suy ra ; 0 là nghiệm toàn cục của bài toán
2

6.2 Ví dụ 2
Tìm nghiệm toàn cục của bài toán min f (x) = (x1 − 4)2 + (x2 + 2)2 biết rằng g(x) = x21 + x22 − 5 ≤ 0.

Lời giải:

8
Ta có:      
2x1 − 8 2x1 2 2 2 0
∇f (x) = ; ∇g(x) = ; ∇ f (x) = ∇ g(x) =
2x2 + 4 2x2 0 2
Suy ra f (x), g(x) là hai hàm lồi, khả vi liên tục.
Bài toán thỏa mãn điều kiện Slater với x0 = (0; 0). Xét hệ KKT
 (
x1 = 4
( loại do g(4; −2) > 0)
 x2 = −2
 
 2x1 − 8 + 2λx1 = 0  
4
∇f (x) + λ∇g(x) = 0 (λ ≥ 0)

x1 =
 
  
2x + 4 + 2λx = 0  
g(x) ≤ 0 ⇔ "
2 2 
⇔ 
  λ+1
2 + x2 ≤ 5)

λ = 0 (x  x2 = − 2
  1 2
 
λg(x) = 0
 

 x2 + x2 − 5 = 0 (λ > 0)
   λ+1
1 2  
20

 
=5


(λ + 1)2

Suy ra 
λ = 1

x1 = 2

x2 = −1

Suy ra (2; −1) là nghiệm toàn cục của bài toán

6.3 Ví dụ 3
(
g1 (x) = 2x1 − x2 − 3 ≤ 0
Tìm nghiệm toàn cục của bài toán min f (x) = (2x1 +x2 −6)2 +2(x1 −x2 −3)2 biết rằng
g2 (x) = −x1 − 2x2 ≤ 0

Lời giải:

Ta có:      
12x1 − 36 2 −1
∇f (x) = ; ∇g1 (x) = ; ∇g2 (x) =
6x2 −1 −2
   
12 0 0 0
∇2 f (x) = ; ∇2 g1 (x) = ∇2 g2 (x) =
0 6 0 0
Suy ra f, g1 , g2 là các hàm lồi, khả vi liên tục.
Bài toán thỏa mãn điều kiện Slater với x0 = (0; 1). Xét hệ KKT

 12x1 − 36 + 2λ1 − λ2 = 0
 ∇f (x) + λ 1 ∇g 1 (x) + λ 2 ∇g 2 (x) = 0 

6x2 − λ1 − 2λ2 = 0

 


λ , λ ≥ 0 
1 2
⇔ λ1 , λ2 ≥ 0
 g1 , g2 ≤ 0 
g1 , g2 ≤ 0

 


λ g (x) = λ g (x) = 0 

1 1 2 2 
λ1 g1 (x) = λ2 g2 (x) = 0

TH1 g1 (x) = g2 (x) = 0, suy ra


6

x1 =

5 (loại do λ2 < 0)
x2 = − 3

5
TH2 λ1 = g2 (x) = 0, suy ra
λ + 36

x1 = 2


 12
λ2

x2 = ⇒ λ2 = −4 < 0(loại)
 3
− λ2 + 36 − 2λ2 = 0



12 3

9
TH3 λ2 = g1 (x) = 0, suy ra

−2λ1 + 36

x1 = 
λ1 = 6


 12 
λ1

x2 = ⇔ x1 = 2 (thỏa mãn)
 6 
 −2λ1 + 36 − λ1 = 0 x2 = 1

 

6 6

TH4 λ1 = λ2 = 0 suy ra (
x1 = 3
(loại do g1 (3; 0) = 3 > 0)
x2 = 0

Vậy x = (2; 1) là nghiệm toàn cục của bài toán

10

You might also like