Một số khái niệm và định nghĩa- Hàm fx cần tìm cực trị gọi là hàm mục tiêu của bài toán - Hệ * gọi là hệ điều kiện của bài toán - Mỗi phương trình hoặc bất phương trình trong hệ điều kiệ
Trang 1CHƯƠNG III
MÔ HÌNH TỐI ƯU TUYẾN TÍNH (QHTT)
I Thí dụ mở đầu
II Mô hình bài toán QHTT
III Các tính chất chung của bài toán QHTT
IV Phương pháp đơn hình
V Bài toán đối ngẫu
Trang 2I Thí dụ mở đầu
• Thí dụ 1: Bài toán lựa chọn danh mục đầu tư
- Nội dung: Một công ty đầu tư dự định dùng khoản quỹ đầu tư 500 tỷ đồng
để mua một số cổ phiếu trên thị trường chứng khoán Để phòng ngừa rủi
ro công ty đưa ra các yêu cầu về đa dạng hoá danh mục đầu như sau:
+ Loại cổ phiếu và giới hạn mua:
+ Tỷ lệ đầu tư vào cổ phiếu A và C phải chiếm ít nhất 55% và cổ phiếu B phải chiếm ít nhất 15% tổng số vốn đầu tư thực hiện
- Bài toán: Với số tiền dự kiến đầu tư, hãy xác định một danh mục đầu tư sao cho đảm bảo về đa dạng hoá danh mục đầu tư và đem lại mức lợi tức lớn nhất.
Trang 3Z = 0,07xA + 0,085xB+ 0,078xC + 0,082xD (tỷ đồng)
- Xác định x = (xA, xB, xC, xD) sao cho:
Z Max; với các điều kiện (1), (2), (3), (4), (5).
- Bài toán này gọi là bài toán QHTT
Trang 4• Thí dụ 2: Bài toán vận tải
- Nội dung: Một công ty kinh doanh xăng dầu tại khu vực Z hàng
tuần cần cung ứng xăng cho 3 trạm bán lẻ A, B và C Công ty có thể đưa xăng đến các trạm từ tổng kho I và II Lượng xăng dự trù cung ứng cho các trạm của kho I là 20 tấn, kho II là 40 tấn Nhu cầu tiêu thu xăng hàng tuần của các trạm A, B, C lần lượt là 20, 15, 15 (tấn) Chi phí cho việc cung ứng xăng được cho dưới bảng sau:
Đơn vị: nghìn đồng/tấn
- Bài toán: Cần lập một kế hoạch cung ứng xăng từ các kho đến các trạm để đảm bảo đáp ứng đủ nhu cầu của các trạm với tổng chi phí vận chuyển là nhỏ nhất
Trang 5Y Min; với các điều kiện (1), (2), (3), (4), (5)
Bài toán này gọi là bài toán QHTT
Trang 6II Mô hình bài toán QHTT
1 Bài toán dạng tổng quát
2 Một số khái niệm và định nghĩa
3 Các dạng đặc biệt
Trang 71 Bài toán dạng tổng quát
- Là bài toán tìm cực trị (cực đại hoặc cực tiểu) của một hàm tuyến tính xác định trên tập hợp nghiệm của một hệ thống hỗn hợp các phương và (hoặc) các bất phương trình tuyến tính
- Xác định véc tơ x = (x1, x2, …, xn) sao cho:
1
1 1
1
3 1
n
ij j i j
n
ij j i j
n
ij j i j
Trang 82 Một số khái niệm và định nghĩa
- Hàm f(x) cần tìm cực trị gọi là hàm mục tiêu của bài toán
- Hệ (*) gọi là hệ điều kiện của bài toán
- Mỗi phương trình hoặc bất phương trình trong hệ điều kiện gọi là một ràng buộc của bài toán và hệ điều kiện còn gọi là hệ ràng buộc
- Véc tơ x thoả mãn mọi ràng buộc của bài toán gọi là một phương án (PA) của bài toán
- Tập hợp các PA có thể có của bài toán gọi là tập PA của bài toán,
ký hiệu: D = {x: t/m (*)}
- Xét bài toán QHTT có f(x) Min và hai PA xA, xB Khi đó:
+ Nếu f(xA) f(xB) thì PA xA gọi là không xấu hơn PA xB
+ Nếu f(xA) < f(xB) thì PA xA gọi là tốt hơn PA xB
- Một PA mà tại đó hàm mục tiêu đạt cực trị gọi là PA tối ưu
(PATƯ), ký hiệu: x* và f* = f(x*) gọi là trị tối ưu, f(x*) f(x) với mọi PA x của bài toán.
Trang 9- Một bài toán có ít nhất một PATƯ gọi là bài toán giải được
- Một bài toán không có PA TƯ gọi là bài toán không giải được + Bài toán không có PA không có PATƯ
+ Bài toán có PA nhưng hàm mục tiêu không bị chặn trên tập PA
- Nếu một ràng buộc có dạng dấu “=“ thì nó là chặt với mọi PA của bài toán
- Nếu một ràng buộc có dạng dấu ““ hoặc ““ thì nó có thể là lỏng đối với PA này nhưng lại là chặt đối với PA khác
Trang 10- Với ràng buộc i ta ký kiệu véc tơ A*i = (ai1, ai2,…, ain) và tập
hợp các véc tơ A*i (iI) tạo thành một ma trận, ký hiệu: A* và gọi là ma trận hệ ràng buộc của bài toán
- Gọi một nhóm các ràng buộc có hệ véc tơ A*i tương ứng độc
lập tuyến tính gọi là các ràng buộc độc lập tuyến tính
- Một PA thoả mãn chặt n ràng buộc độc lập tuyến tính gọi là
PA cực biên (PACB)
+ PACB thoả mãn đúng n ràng buộc gọi là PACB không suy
biến
+ PACB thoả mãn hơn n ràng buộc gọi là PACB suy biến
- Một bài toán có tất cả các PACB đều không suy biến gọi là bài
toán không suy biến
- Một bài toán có ít nhất một PACB suy biến gọi là bài toán suy
biến
Trang 123 Các dạng đặc biệt
3.1 Bài toán dạng chính tắc
- Xác định véc tơ x = (x1, x2, …, xn) sao cho:
- Bài toán dạng chính tắc có một hệ phương trình ràng buộc và các
biến số đều không âm
+ (1) là nhóm các ràng buộc dạng phương trình gọi là các phương
trình ràng buộc
+ (2) là nhóm các ràng buộc dạng bất phương trình gọi là các ràng
buộc về dấu đối với các biến
n
ij j i j
Trang 13- Ký hiệu:
A = ((aij))mn gọi là ma trận điều kiện của bài toán
Aj là véc tơ cột j của ma trận A- gọi là véc tơ điều kiện j
c là véc tơ hệ số của các biến trong hàm mục tiêu
b là véc tơ vế phải của hệ phương trình ràng buộc
- Khi đó bài toán dạng chính tắc có thể viết dưới dạng
n
j j j
Trang 14Mệnh đề
- Mọi bài toán QHTT đều có thể quy về bài toán dạng chính tắc
tương đương theo nghĩa trị tối ưu của hai bài toán là như nhau và
từ PATƯ của bài toán này có thể suy ra PATƯ của bài toán kia
- Các phép biến đổi tương đương như sau:
+ Nếu xj 0 thì đặt: xj’ = - xj 0
+ Nếu xj không có ràng buộc về dấu thì đặt:
+ Nếu ràng buộc i có dạng thì biến đổi:
+ Nếu ràng buộc i có dạng thì biến đổi:
a x x b x
a x x b x
Trang 15Ví dụ 2
- Cho bài toán QHTT:
- Đưa bài toán về dạng chính tắc tương đương
2 3 1
Trang 16Định lý 1
- PA x của bài toán dạng chính tắc là PACB khi và chỉ khi
- Ví dụ 3: Cho bài toán QHTT
Trang 17Nhận xét
- Với bài toán dạng chính tắc, không làm mất tính chất tổng quát
ta giả thiết hệ phương trình ràng buộc gồm m phương trình độc lập và m < n, tức là r(A) = m < n
- Bởi vì:
+ Nếu m = n thì hệ phương trình ràng trở thành hệ Cramer, hệ
này có tối đa một nghiệm nên việc tìm PATƯ trở thành không cần thiết
+ Nếu m > n thì bằng phép biến đổi tương đương ta có thể đưa
về hệ chỉ có n phương trình và hệ này cũng là hệ Cramer
- Từ định lý 1 ta thấy:
+ Một PACB có tối đa m thành phần dương (?)
+ Một PACB không suy biến có đúng m thành phần dương (?)
+ Một PACB suy biến có ít hơn m thành phần dương (?)
Trang 18Định nghĩa cơ sở của PACB
- Xét bài toán dạng chính tắc và PACB x
- Gọi m véc tơ {Aj} độc lập tuyến tính bao hàm hệ thống các véc tơ
{Aj: xj > 0} là cơ sở của PACB x, ký hiệu một cách quy ước là J
- Cơ sở J của PACB x bao hàm 3 nội dung:
- Nếu PACB x suy biến thì có thể có nhiều cơ sở khác nhau mà
phần chung của chúng là các véc tơ {Aj: xj > 0}
- Với PACB x ta gọi:
xj (j J) gọi là thành phần cơ sở của PACB x: xj > 0 j J
xk(k J) gọi là thành phần phi cơ sở của PACB x: k J xk = 0
Trang 193.2 Bài toán dạng chuẩn
- Là bài toán dạng chính tắc có bi 0 (i) và mỗi phương trình ràng
buộc đều có một biến với hệ số bằng 1 và không có mặt ở các
phương trình khác
- Xác định véc tơ x = (x1, x2, …, xn) sao cho:
- Bài toán dạng chuẩn cho ta PACB x0 = (b1, b2, …, bm, 0, …, 0)
với cơ sở {Aj: j J} {ej: j = 1m} gọi là cơ sở đơn vị
+ Nếu bi > 0 (i) thì PACB x0 là PACB không suy biến
+ Nếu có ít nhất một bi = 0 thì PACB x0 PACB suy biến
Trang 20Ví dụ 4
Trang 21III Các tính chất chung của bài toán QHTT
1 Sự tồn tại của PACB
- Nếu bài toán có PA và hạng của ma trận hệ ràng buộc (A*) bằng n
thì bài toán có PACB
- Nếu bài toán dạng chính tắc có PA thì chắc chắn có PACB (vì
hạng của ma trận hệ ràng buộc luôn bằng n)
2 Tính hữu hạn của số PACB: Số PACB của mọi bài toán QHTT
đều hữu hạn
3 Sự tồn tại PATƯ
- Nếu bài toán có PA và f(x) M (bị chặn dưới) với bài toán có f(x)
Min và f(x) M (bị chặn trên) với bài toán có f(x) Max trên tập PA thì bài toán có PATƯ, tức là giải được
- Nếu bài toán có PACB và giải được thì phải có PACB tối ưu Do
đó nếu bài toán dạng chính tắc giải được thì có PACB tối ưu
- Nếu bài toán có hơn một PATƯ thì sẽ có vô số PATƯ (?)
Trang 22IV Phương pháp đơn hình
1 Nội dung
2 Cơ sở lý thuyết
3 Thuật toán đơn hình
4 Áp dụng thuật toán đơn hình tìm PACB
Trang 231 Nội dung
biết một PACB.
chưa tối ưu thì tìm cách di chuyển sang một
PACB khác tốt hơn Vì số PACB của bài toán QHTT là hữu hạn nên sau một số hữu hạn bước hoặc sẽ kết luận bài toán không giải được vì trị
số hàm mục tiêu không bị chặn trên tập PA hoặc
sẽ tìm được PACB tối ưu.
Trang 24( )
(1) 0( 1 ) (2)
n
j j j
n
j j j
Trang 26Định lý 2: Dấu hiệu tối ưu
Trang 28- Như vậy:
- Bài toán chính tắc có thể quy về bài toán dạng chuẩn:
0
0 0
Trang 29- Định lý 3: Dấu hiệu bài toán không giải được
giải được vì trị số hàm mục tiêu giảm vô hạn trên tập PA.
Trang 30Chứng minh
+ Với PACB x0, cơ sở J0 mà thì theo dấu hiệu tối ưu x0
chưa phải là PATƯ
+ Với mỗi chỉ số kJ0 xác định một véc tơ Zk = {zjk: j =1m) và gọi là phương Zk theo công thức:
+ Xuất phát từ PACB x0 di chuyển theo phương Zk với bước di chuyển
> 0 ta có véc tơ x() = x0 + Zk f(x()) = f(x0) - k
+ Ảnh hưởng của phương Zk đến giá trị hàm mục tiêu được đánh giá thông qua k như sau:
+> Nếu k < 0 thì f(x()) > f(x0) Zk gọi là phương tăng
+> Nếu k = 0 thì f(x()) = f(x0) thì Zk gọi là phương không đổi
+> Nếu k > 0 thì f(x()) < f(x0) Zk gọi là phương giảm
jk k
Trang 31+> Nếu k > 0 (kJ0) và xjk 0 (jJ0) thì Zk gọi là
phương giảm vô hạn của hàm mục tiêu.
là phương giảm hữu hạn của hàm mục tiêu.
Trang 323 Thuật toán đơn hình
- Áp dụng cho bài toán dạng chính tắc đã biết PACB
- Thuật toán bao gồm 5 bước như sau:
Trang 34+ Bước 2: Kiểm tra dấu hiệu tối ưu
+> Nếu k 0 (kJ0) thì PACB x0 là PACB tối ưu
-> Nếu k < 0 (kJ0) thì PACB x0 là PACB tối ưu duy nhất
-> Nếu k = 0 (kJ0) thì PACB x0 có thể là PACB không duy nhất+> Nếu k > 0 (kJ0) thì chuyển sang bước 3
+ Bước 3: Kiểm tra tính không giải được của bài toán
+> Nếu k > 0 (kJ0) mà xjk 0 (jJ0) thì bài toán không giải được
vì trị số hàm mục tiêu giảm vô hạn trên tập PA
+> Nếu với mỗi k > 0 (kJ0) đều có ít nhất một xjk > 0 (jJ0) thì
chuyển sang bước 4
+ Bước 4: Chọn véc tơ đưa vào cơ sở và xác định véc tơ loại khỏi cơ
Trang 35+ Bước 5: Biến đổi bảng đơn hình
+> Trong cột cơ sở thay xr bằng xs và trong cột hệ số thay cr bằng cs;
dòng r gọi là dòng xoay, cột s gọi là cột xoay, phần tử [x rs ] gọi là
phần tử trục xoay
+> Chia lần lượt các phần tử nằm trên dòng xoay cho phần tử trục
xoay ta thu được một dòng tương ứng ở bảng đơn hình mới gọi là dòng chuẩn
+> Tìm trên dòng cần biến đổi còn lại phần tử thuộc cột xoay, đổi dấu
nó, rồi đem nhân với dòng chuẩn, sau đó cộng với chính dòng đó
ở bảng đơn hình cũ ta thu đợc một dòng mới tương ứng ở bảng
đơn hình mới
+> Dòng ước lượng cũng được biến đổi như một dòng bình thường
hoặc xác định lại theo công thức đã có
+ Sau bước 5 quay trở lại bước bước 2 và tiếp tục thuật toán với
PACB mới x1, cơ sở J1 Sau một số hữu hạn bước hoặc sẽ kết luận bài toán không giải được vì trị số hàm mục tiêu giảm vô hạn trên tập PA hoặc sẽ tìm được được PACB tối ưu
Trang 36Chú ý
thường, khi đó kết quả của việc biến đổi sẽ cho ta chuyển sang một cơ sở khác của cùng một PACB suy biến.
- Tại bước 4, nếu khi chọn véc tơ đưa vào cơ sở và xác định véc tơ loại khỏi có sở mà có nhiều véc tơ thuộc diện lựa chọn thì ta chọn ngẫu nhiên một trong các véc tơ đó.
- Với bài toán có g(x) Max ta đưa về bài toán có f(x) Min bằng cách đổi dấu toàn bộ các hệ số trong hàm mục tiêu Sau đó áp dụng thuật toán một cách bình thường, tuy
Trang 37Ví dụ 5
Trang 38Ví dụ 6
Trang 39Ví dụ 7
Trang 404 Áp dụng thuật toán đơn hình tìm PACB
- Nội dung: Áp dụng cho bài toán dạng chính tắc
chưa biết thông tin về PACB Để áp dụng thuật
toán đơn hình cần tìm một PACB và cơ sở tương ứng của nó.
n
ij j i j
Trang 41- Từ bài toán này xây dựng bài toán phụ (P):
1
1
( 1 )1
n
g
ij j i i j
j g i
Trang 42Nhận xét
- Véc tơ x là PA, PACB của bài toán (I) khi và chỉ
luôn giải được.
- Có hai trường hợp xảy ra:
PA, tức là không giải.
Trang 43- Ta cần tìm cơ sở của PACB của bài toán (I):
+ Nếu trong cơ sở của PACB tối ưu của bài toán (P) không
có các véc tơ tương ứng với các biến giả thì đó cũng là cơ
sở của PACB của bài toán (I).
+ Nếu trong cơ sở của PACB tối ưu của bài toán (P) có ít
nhất một véc tơ tương ứng với các biến giả thì ta loại các
theo hàm f(x) và tiếp tục thuật toán.
- Chú ý:
+ khi xây dựng bài toán (P) chỉ cần cộng biến giả vào những phương trình cần thiết sao cho bài toán (P) trở thành bài toán chuẩn.
+ Một biến giả đã bị loại ra khỏi cơ sở thì không cần tính ở các bước tiếp sau.
Trang 44Thuật toán đơn hình mở rộng
- Bước 1: Đưa bài toán QHTT về dạng chính tắc có vế phải không âm+ Nếu bài toán dạng chuẩn thì áp dụng thuật toán để giải
+ Nếu bài toán chưa phải dạng chuẩn thì chuyển sang bước 2
- Bước 2: Xây dựng bài toán phụ (P) tương ứng
- Bước 3: Giải bài toán (P) bằng phương pháp đơn hình
+ Nếu Pmin > 0 thì kết luận bài toán gốc không có PA
+ Nếu Pmin = 0 thì chuyển sang bước 4
- Bước 4: Tìm cơ sở của PACB của bài toán gốc
+ Nếu trong cơ sở của PACB tối ưu của bài toán (P) không có các véc
tơ tương ứng với các biến giả thì đó cũng là cơ sở của PACB của bài toán (I)
+ Nếu trong cơ sở của PACB tối ưu của bài toán (P) có ít nhất một
véctơ tương ứng với các biến giả thì ta loại các cột ứng với các
k(P) < 0 và tính lại dòng ước lượng k theo hàm f(x) và tiếp tục
thuật toán
Trang 45Ví dụ 7
Trang 46Ví dụ 8
Trang 47Ví dụ 9
Trang 48Sơ đồ giải bài toán QHTT
BÀI TOÁN KHÔNG CHÍNH TẮC Bài toán chính tắc với bi không âm
Kiểm tra Dạng chuẩn
Bài toán phụ (P)
Giải bằng thuật toán đơn hình
Pmin> 0
Thu hẹp bài toán
k 0 Xác định được PA tối
ưu
k > 0 và x jjk 0 Bài toán không giải được
Bài toán chính không
có PA (không giải
được)
Trang 49V Bài toán đối ngẫu
1 Đặt vấn đề
2 Cách thành lập bài toán đối ngẫu
3 Phân tích quan hệ trong cặp bài toán đối ngẫu
4 Các ứng dụng
Trang 501 Đặt vấn đề
- Với mỗi bài toán QHTT, theo các quy tắc nhất
định ta xây dựng một bài toán QHTT thứ hai và
gọi là bài toán đối ngẫu của bài toán đã cho.
- Quan hệ giữa hai bài toán này rất chặt chẽ, nếu biết kết quả của bài toán này có thể suy ra được kết quả của bài toán kia
Trang 512 Cách thành lập bài toán đối ngẫu
- Xét bài toán dạng chính tắc và gọi là bài toán gốc
- Dựa vào bài toán (I) ta xây dựng bài toán QHTT sau:
- Bài toán ( ) gọi là bài toán đối ngẫu của bài toán (I)
1 1
n
ij j i j
m
i i i
Trang 52Nhận xét
- Nếu f(x) Min thì và hệ ràn buộc của bài
toán đối ngẫu có dạng “”
- Nếu f(x) Max thì và hệ ràn buộc của bài
toán đối ngẫu có dạng “”
- Số ràng buộc không kể các ràng buộc dấu trong bài toán này bằng số biến số trong bài toán kia
- Các hệ số trong hàm mục tiêu của bài toán này là các hệ số
ở vế phải của hệ ràng buộc trong bài toán kia
- Ma trận điều kiện trong hai bài toán là chuyển vị của nhau.
Trang 53Cặp ràng buộc đối ngẫu
- Gọi hai ràng buộc bất đẳng thức (kể cả rang buộc
về dấu) 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.
- Các cặp ràng buộc đối ngẫu trong hai bài toán (I)
Trang 54Ví dụ 10
- Cho bài toán QHTT sau:
- Viết bài toán đối ngẫu của bài toán trên và chỉ ra các cặp ràng buộc đối ngẫu.
Trang 55Hai cách viết bài toán đối ngẫu
- Cách 1: Đưa bài toán QHTT về dạng chính tắc
tương đương, sau đó viết bài toán đối ngẫu của bài toán chính tắc và qui ước gọi đó là bài đối ngẫu
của bài toán ban đầu.
- Cách 2: Sử dụng lược đồ tổng quát
Trang 56Lược đồ tổng quát
a y c
Trang 57Ví dụ 11
- Cho bài toán QHTT:
- Viết bài toán đối ngẫu của bài toán trên bằng 2 cách và chỉ
ra các cặp ràng buộc đối ngẫu
2 3 1
Trang 583 Mối quan hệ giữa hai bài toán đối ngẫu
Trang 59- Tính chất 2: Nếu đối với hai PA x* và y* của một cặp bài
ứng là hai PA tối ưu.
- Chứng minh:
+ Xét cặp bài toán f(x) Min và
+ Lấy một PA x bất kỳ của bài toán gốc
+ Lấy một PA y bất kỳ của bài toán đối ngẫu