Bài toán tối ưu là bài toán tìm giá trị cực đại cực tiểu của một số hàm phụ thuộc nhiều biến số trên tập hợp các biến số thỏa mãn những điều kiện nhất định.. Các mô hình và phương pháp t
Trang 1Giáo viên: ThS Lê Hữu Chí
Bài giảng
Trang 2Bài toán tối ưu là bài toán tìm giá trị cực đại (cực tiểu) của một số hàm phụ thuộc nhiều biến số trên tập hợp các biến số thỏa mãn những điều kiện nhất định Các mô hình và phương pháp tối ưu có những ứng dụng rộng rãi và đa dạng trong thực tiễn, đặc biệt trong kinh tế và kỹ thuật.
Trong các bài toán tối ưu thì quan trọng nhất và đáng chú ý trước nhất là các bài toán tối ưu tuyến tính, hay còn gọi là bài toán quy hoạch tuyến tính, tức là bài toán tìm cực đại (cực tiểu) của một hàm tuyến tính với các biến số thỏa mãn các phương trình hay bất phương trình tuyến tính.
Phạm vi nghiên cứu của môn học:
Bài toán quy hoạch tuyến tính
Bài toán đối ngẫu
Bài toán vận tải
Trang 31 Bài toán quy hoạch tuyến tính tổng quát:
Bài toán quy hoạch tuyến tính tổng quát với n ẩn x1, x2, …, xn
Trong đó:
(1): hàm mục tiêu của bài toán(2): hệ ràng buộc chính của bài toán(3): hệ ràng buộc dấu của bài toán
n , 3, 2, 1, j
; ý tùy 0
0 x
(3)
m , 3, 2, 1, i
; b x
a
x a x
a (2)
max(min) x
c
x c x
c f(x)
(1)
j
i n
in 2
i2 1
i1
n n 2
2 1
+ +
→ +
+ +
Trang 4Bài toán quy hoạch tuyến tính
* Phương án: một vectơ n chiều x* = (x1*, x2*, …, xn*) thỏa mãn hệ ràng buộc của bài toán được gọi là một phương án (PA) (lời giải chấp nhận được) của bài toán QHTT.
- Tập X gồm nhiều phương án gọi là tập phương án
- Phương án x* thỏa mãn hệ ràng buộc chặt với dấu “ = “ , thỏa mãn lỏng với dấu “ > ” hoặc “ < “
* Phương án cơ bản: một phương án x* = (x1*, x2*, …, xn*) thỏa mãn
chặt ít nhất n ràng buộc của bài toán được gọi là một phương án cơ bản (PACB).
- PACB thỏa mãn chặt đúng n ràng buộc: PACB không suy biến
- PACB thỏa mãn chặt hơn n ràng buộc: PACB suy biến
Mọi bài toán QHTT Có PA thì sẽ có PACB và số PACB của bài toán đó luôn hữu hạn.
Trang 5* Phương án tối ưu: PA của bài toán cực đại hay cực tiểu được gọi là PATU nếu có giá trị lớn nhất hay nhỏ nhất trên tập PA
X của bài toán.
- Nếu bài toán cực đại (hay cực tiểu) có PA và hàm mục tiêu bị chặn trên (hay chặn dưới) trên tập PA thì bài toán có PATU.
- Nếu bài toán QHTT có PATU thì nó phải có PACB tối ưu.
- Nếu bài toán QHTT có hơn một PATU thì sẽ có vô số PATU.
) x , , x
, (x
n
0 2
0 1
0 =
) x (
f 0
* Bài toán giải được:
- Một bài toán QHTT có ít nhất một PATU được gọi là bài toán giải được.
- Một bài toán QHTT không có PA hay có PA nhưng hàm mục tiêu không bị chặn trên (BT cực đại) hay không bị chặn dưới (BT cực tiểu) trên tập PA được gọi là bài toán không giải được.
Giải một bài toán QHTT là tìm PATU và GTTU, gọi là lời giải tối ưu của
Trang 62 Bài toán QHTT dạng chính tắc: một bài toán QHTT được gọi là dạng chính tắc có dạng sau:
n , 3, 2, 1, j
; 0 x
b x
a
x a
x a
b x
a
x a x
a
b x
a
x a x
a
max(min) x
c
x c x
c f(x)
j
m n
mn 2
m2 1
m1
2 n
2n 2
22 1
21
1 n
1n 2
12 1
11
n n 2
2 1
1
=
≥
= +
+ +
= +
+ +
= +
+ +
→ +
+ +
Trang 73 Bài toán quy hoạch tuyến tính dạng chuẩn: một bài toán QHTT dạng chuẩn có dạng sau:
m ,
3, 2, 1, i ; 0 b ; n .,
3, 2, 1, j 0; x b x a
x a x
b x a
x a
x
b x a
x a
x
max(min) f(x)
i j
m n
n m 1
m 1 m m m
2 n
n 2 1
m 1 m 2 2
1 n
n 1 1
m 1 m 1 1
=
≥
=
≥
= +
+ +
= +
+ +
= +
+ +
→
+ +
+ +
+ +
Trong bài toán QHTT trên thì các ẩn x1, x2, … , xm là các ẩn cơ bản và xm+1, xm+2, … , xn là các ẩn tự do
Bài toán quy hoạch tuyến tính
Trang 9 Xét tính tối ưu của một phương án
Giải bài toán có chứa tham số
Trang 10Bước 1: Đặt ẩn và điều kiện cho ẩn
- Xác định ẩn, đơn vị tính của ẩn,
- Đặt điều kiện cho ẩn phù hợp với thực tế ( không âm, nguyên …)
Bước 2: Lập hệ ràng buộc chính
- Tính các số liệu kỹ thuật của BT (Tổng số NVL, tổng khối lượng các chất
có trong NL, tổng SP thu được …) để được các biểu thức toán học.
- Đặt điều kiện cho các biểu thức toán học để được các PT hay BPT của BT.
Trang 11BÀI TẬP ỨNG DỤNG 1
Một XN dệt có kế hoạch sản xuất 3 loại vải A, B, C nguyên liệu để sản xuất là các loại sợi cotton, kate, polyester XN đã chuẩn bị được với khối lượng là 3 tấn; 2,5 tấn; 4,2 tấn Mức tiêu hao mỗi loại sợi để sản xuất 1m vải và giá bán (ngàn đồng/m) và thành phẩm của mỗi loại vải được cho trong bảng sau:
200 100 100
200 200 100
100 100 100
Trang 12BÀI TẬP ỨNG DỤNG 2
Giả sử yêu cầu tối thiểu mỗi ngày về các chất dinh dưỡng: đạm, đường, khoáng cho một loại gia súc tương ứng là 90g, 130g, 10g Cho biết hàm lượng các chất dinh dưỡng trên có trong 1g thức ăn A, B, C và giá mua 1kg thức ăn mỗi loại cho trong bảng sau:
Chất dinh dưỡng
Trang 13Bước 1: biểu diễn tập phương án X trên mặt phẳng Oxy
- Biểu diễn nghiệm của tất cả các BPT hay PT của hệ ràng buộc trên cùng một mặt phẳng tọa độ Oxy
- Xác định phần giao của các nghiệm đó (tập phương án X của bài toán)
Bước 2: biểu diễn vectơ pháp tuyến và hàm mục tiêu
- Lấy một điểm bất kỳ trong miền X;
- Lấy điểm đó làm gốc để vẽ VTPT n của hàm mục tiêu và vẽ đường thẳng d vuông góc n tại điểm đó (d: là biểu diễn của đường thẳng hàm mục tiêu trên mặt phẳng tọa độ Oxy;
Trang 14Bước 3: giải bài toán
TH1: hàm mục tiêu có dạng z = ax + by max
Cho d di chuyển theo phương vuông góc n và theo hướng n
1 Nếu d luôn giao với X thì bài toán không giải được;
2 Nếu d có vị trí tới hạn giao với X và X nằm về một phía của d thì bài toán
giải được.
Mọi (x0, y0) thuộc d giao với X đều là PATU của BT và có giá trị z0 = ax0 + by0
• d giao với X là một điểm duy nhất thì BT có một PATU duy nhất;
• d giao với X là một đoạn thẳng thì BT có vô số PATU.
Trang 15BÀI TẬP ỨNG DỤNG 1
Giải bài toán quy hoạch tuyến tính sau:
0y
x,
15y
5x
62y
x
2y
2x
max(min)y
2xz
≥
≤
−
≤+
−
≥+
→+
=
BÀI TẬP ỨNG DỤNG 2
Giải bài toán quy hoạch tuyến tính sau:
10y
2x
124y
x
81y6x
max(min)y
4020x
z
≥
≥+
≥+
≥+
→+
Trang 16Bước 1: kiểm tra hệ ràng buộc chính
1 Nếu:
Thêm vào xn+k để được:
b ax
ax
axi1 + i2 + … + in ≤ i
b x
ax ax
ax
axi1 + i2 + … + in ≥ i
b x
ax ax
axi1 + i2 + … + in − n+k = i
Bước 2: kiểm tra điều kiện của ẩn số
1 Nếu xj<= 0: thay ẩn xj bằng ẩn xj’ = -xj để ẩn trong BT là xj’>= 0
2 Nếu xj có dấu tùy ý: thay ẩn xj = xj’ – xj’’ với xj’, xj’’>= 0
Trang 17• Nếu BT phụ có PATU thì BT gốc cũng có PATU, PATU của
BT gốc là PATU của BT phụ bỏ đi ẩn phụ và đổi các trị số ẩn mới về ẩn cũ Giá trị tối ưu của 2 BT bằng nhau.
Trang 18BÀI TẬP ỨNG DỤNG1: Biến đổi các bài toán QHTT sau về dạng chính tắc
BÀI TẬP ỨNG DỤNG2: Biến đổi các bài toán QHTT sau về dạng chính tắc
4
3,2,1,j
0;
x
34x
x2x
4x
4x3x
2x
2x x
min4x
3x2x
xf(x)
j
4 3
2
3 2
1
4 2
1
4 3
2 1
=
≥
=+
−
≥+
+
≤
−+
→
−+
+
=
0x
0;
x
4x
4x3x
44x
x2x
2x
2x x
min3x
x2x
f(x)
2 1
3 2
1
3 2
1
3 2
1
3 2
1
≤
≥
≥+
+
=+
−
≤
−+
→+
Trang 19*.Bước 1: Kiểm tra dấu của các số hạng tự do
Nếu một ràng buộc có số hạng tự do âm thì ta nhân hai vế với -1
để được ràng buộc chính với số hạng tự do dương
*.Bước 1: Kiểm tra ẩn cơ bản của bài toán
- Bổ sung những cột đơn vị còn thiếu vào bên trái ma trận điều kiện A mỗi cột đơn vị tương ứng với một ẩn giả có hệ số 1 nằm cùng dòng
- Hệ số của số giả là +M(-M) trong BT cực đại (cực tiểu)
Trang 20x
20 x
x 2x
x
16 5x
x 2x
17 3x
2x x
min x
4 x
3 x
2 x
) x ( f
j
4 3
2 1
3 2
1
3 2
1
4 3
2 1
=
≥
= +
+ +
= +
+
= +
−
→ +
+ +
=
5.
4, 3, 2, 1, j
0;
x
20 x
5 x
2x 4x
-6 x
x 4 2x
-17 x
4 3x
x 2x
max x
x x
x x
) x ( f
j
5 4
3 1
5 3
1
5 3
2 1
5 4
3 2
1
=
≥
= +
+ +
≤ +
+
= +
+ +
→ +
+ +
+
=a)
b)
Trang 21TRƯỜNG HỢP 1: bài toán cực đại
x 0
b1
b2 .
Trang 222 Xác định phương án cơ bản xuất phát
3 Đánh giá tính tối ưu của PACB xuất phát
- Dấu hiệu tối ưu: hệ số ước lượng của các ẩn đều không âm.
- Dấu hiệu không có PATU: ít nhất một hệ số của ẩn không cơ bản xk âm và cột điều kiện của Ak của ẩn đó có các TP đều
Trang 23* Bước lặp thứ hai (bảng đơn hình thứ hai)
1 Tìm ẩn đưa vào
2 Tìm ẩn đưa ra
3 Lập bảng đơn hình thứ hai
4 Xác định và dánh giá PACB thứ hai
TRƯỜNG HỢP 2: bài toán cực tiểu
Cách giải tương tư BT cực đại
Trang 24; 0 x
36 x
x x
3
30 3x
x x
x 2
32 x
9 x
2 6x
x
max 6x
x - x 4 5x
2x f(x)
-j
6 5
2
5 4
3 2
5 4
2 1
5 4
3 2
1
=
≥
= +
+
= +
+ +
=
−
− +
→ +
Trang 26Bước 1: Giải bài toán mở rộng bằng pp đơn hình
Do các hệ số của ẩn giả trong hàm mục tiêu là M nên các hệ số ước lượng của các ẩn trong trường hợp này có dạng ∆j = aM + b
aM c
a
d cM b
aM c
a
0 b aM 0
a
0 b aM 0
a
j i
j i
i i
Trang 27Bước 2: tìm lời giải của bài toán gốc
Khi đã tìm được lời giải của BTMR bằng phương pháp đơn hình thì ta có thể suy ra lời giải của bài toán gốc như sau:
1 Bài toán mở rộng không có PATU thì bài toán gốc cũng
không có PATU
2 Bài toán mở rộng có PATU trong đó có ít nhất một ẩn giả nhận giá trị dương thì bài toán gốc không có PA, do đó không có PATU
3 Bài toán mở rộng có PATU trong đó các ẩn giả đều nhận giá trị 0 thì bài toán gốc có PATU (PATU của BTMR trừ đi phần ẩn phụ và ẩn giả (nếu có))
Trang 28x
0 x
9 x
5 x
5 7x
x
2 x
x 4 2x
x x
min x
5 x
x 2 x
) x ( f
j
4 3
4 3
2
5 4
3 2
1
5 4
2 1
=
≥
= +
+
−
→
− +
+
=
Trang 29Giả sử x* là một phương án của bài toán QHTT (P) Để đánh giá tính tối ưu của x* thực hiện theo các bước sau:
Bước 1: Giải bài toán (P).
Giả sử (P) có phương án tối ưu x0 và giá trị tối ưu f0 = f(x0)
Xét tính tối ưu của một phương án
Bước 2: Đánh giá tính tối ưu của x*
Tính f(x*) và kết luận: Nếu f(x*) = f0 thì x* là phương án tối ưu của (P), nếu f(x*) khác f0 thì x* không phải là phương án tối ưu của (P)
Trang 30x
23 5x
2x 3x
36 x
9 x
4x
14 x
2 x
x
12 x
3 x
2x
min x
2 x
4 x
5 x
2 )
x ( f
j
4 3
1
4 3
1
4 3
2
4 3
1
4 3
2 1
=
≥
≤ +
≤
− +
= +
+
≥
− +
→ +
−
−
=
Cho bài toán QHTT sau:
a) Giải bài toán trên bằng pp đơn hình
b) Chứng tỏ rằng vectơ x* = (1, 4, 10, 0) là một PACB của BT
trên PA x* có là PATU của bài toán không
c) Chứng tỏ rằng vectơ x1 = (8, 8, 2, 2) là một PA nhưng
không phải là PATU của bài toán
Trang 31Bài toán QHTT mà các hệ số của ẩn có chứa tham số.
Cách giải:
- Coi tham số là một số không đổi
- Lập bảng đơn hình và giải như bình thường
- Tìm khoảng biến thiên của giá trị tham số để PA đang xét là PATU hay không giải được
- Tìm được giá trị của tham số để BT có PATU và lời giải tương ứng của BT
Trang 32x
5 x
2 x
-5 3x
x 2
0 2x
x
min x
) t 2
( x
) t 1
( )
x ( f
j
2 1
2 1
2 1
2 1
=
≥
≤ +
≤ +
≤
−
→
− +
−
=
Giải và biện luận theo tham số t thuộc [-3; 2] bài toán QHTT sau:
Trang 33 Lập bài toán đối ngẫu
Xác định các cặp ràng buộc đối ngẫu
Giải bài toán đối ngẫu
Giải bài toán có dạng đặc biệt
Phương pháp đối ngẫu
Chứng tỏ tính tối ưu của phương án
Trang 341 Số ẩn số của BT (D) bằng số ràng buộc chính của BT (P) và số
ràng buộc chính của BT (D) bằng số ẩn của BT (P).
2 Hệ số của ẩn yi trong hàm mục tiêu của BT (D) là số hạng tự do
bi trong hệ ràng buộc chính của BT (P)
3 Các hệ số của các ẩn và hệ số tự do trong ràng buộc chính thứ j
của BT (D) là các hệ số tương ứng của ẩn xj trong hệ ràng buộc chính và hàm mục tiêu của BT (P)
4 Nếu (P) là BT max thì (D) là BT min và hệ ràng buộc chính của
BT (D) là hệ BPT với dấu ”>=“ Nếu (P) là BT min thì (D) là
BT max và hệ ràng buộc chính của BT (D) là hệ BPT với dấu
”>=“
5 Các ẩn trong BT (D) đều có dấu tùy ý
Nguyên tắc lập bài toán đối ngẫu:
Trang 35C p ràng bu c ặ ộ đố i
Trong một cặp bài toán đối ngẫu, ta gọi hai
ràng buộc bất đẳng thức trong hai bài toán
cùng tương ứng với một chỉ số là một cặp ràng
buộc đối ngẫu.
Trong BT đối ngẫu (P) và (D) có n cặp ràng buộc đối ngẫu như sau:
*.Trường hợp 1:
n, ,3,2,1j,cy
a
yay
a0
x
maxx
c
xcx
c)
x(f
j m
mj 2
j 2 1
j 1 j
n n 2
2 1
1
=
≥+
++
⇔
≥
→+
++
=
*.Trường hợp 2:
n, ,3,2,1j,cy
a
yay
a0
x
minx
c
xcx
c)
x(
=
≤+
++
⇔
≥
→+
++
=
Trang 36Định lý đối ngẫu yếu:
Nếu x* là một PA tùy ý của BT (P) và y* là một PA tùy ý của BT (D) thì ta có f(x*) <= g(y*)
*.Hệ quả 1:
i Nếu hàm mục tiêu của BT(P) không bị chặn trên thì
BT(D) không có PA (nếu BT(P) không có PATU thì BT(D) cũng không có PATU.
BT(P) không có PA (nếu BT(d) không có PATU thì BT(P) cũng không có PATU)
*.Hệ quả 2:
Nếu x0 là một PA của BT(P) và Nếu y0 là một PA của BT(D) sao cho f(x0) = g(y0) thì x0 là một PATU của BT(P) y0 là một PATU của BT(D).
Trang 37PA với dấu bất đẳng thức (thỏa mãn lỏng) thì cặp còn lại phải thỏa mãn ràng buộc với dấu bằng (thỏa mãn chặt).
Ứng dụng: khi ta biết được một PATU của một trong hai BT
của cặp BT đối ngẫu thì ta có thể tìm được tập PATU của BT còn lại.