1 Một số phương pháp đơn hình đặc biệtPhương pháp đơn hình cải biên Phương pháp đơn hình đối ngẫu Thuật toán đơn hình với bài toán đối ngẫu Thuật toán đơn hình đối ngẫu Phương pháp phân
Trang 1ĐẠI HỌC SÀI GÒN
Khoa Toán-Ứng dụng
Bài giảng TỐI ƯU HÓA
(867006, 30) Chương 4: Một số phương pháp đơn hình
đặc biệt (Bản thảo còn chỉnh sửa)
TS Tạ Quang SơnEmail: tqson09@gmail.com
Cập nhật: Ngày 31 tháng 3 năm 2018
TS Tạ Quang Sơn, Khoa Toán-Ứng dụng, ĐHSG TỐI ƯU HÓA
Trang 2Tài liệu học tập (tham khảo)
Nguyễn Hải Thanh, Tối ưu hóa (Dành cho ngành Tin học vàCNTT), NXB Bách Khoa, Hà Nội, 2006
Phan Quốc Khánh và Trần Huệ Nương, Quy hoạch tuyến tính,NXB Giáo dục, 2000
Trần Xuân Sinh, Quy hoạch tuyến tính, NXB Giáo dục, 2004Nguyễn Ngọc Thắng& Nguyễn Đình Hòa, Qui hoạch tuyếntính, NXB ĐHQG Hà Nội, 2006
Nguyễn Xuân Tấn và Nguyễn Bá Minh, Lý thuyết tối ưu khôngtrơn, NXB ĐHQG Hà Nội, 2007
Tham khảo thêm
dl.is.vnu.edu.vn/bitstream/123456789/173/1/toi_uuhoa.pdfvi.wikipedia.org/wiki/Tối_ưu_hóa_(toán_học)
www.stanford.edu/ boyd/cvxbook/bv_cvxslides.pdf
Trang 3Đánh giá học phần
1 Thi kết thúc học phần: Thi viết
2 Trọng số điểm: Chuyên cần: 0.1; Kiểm tra giữa kỳ: 0.3; Thikết thúc: 0.6
3 Đánh giá: Điểm TBC của điểm thi kết thúc và điểm quá trình
Trang 41 Một số phương pháp đơn hình đặc biệt
Phương pháp đơn hình cải biên
Phương pháp đơn hình đối ngẫu
Thuật toán đơn hình với bài toán đối ngẫu Thuật toán đơn hình đối ngẫu
Phương pháp phân phối giải bài toán vận tải
Giới thiệu về mạng vận tải
Dây chuyền và chu trình
Các tính chất quan trọng
Tiêu chuẩn tối ưu
Thuật toán
Tìm phương án xuất phát
Trang 5Chương 4 Một số phương pháp đơn hình đặc biệt 4.1 Phương pháp đơn hình cải biên (xem [3])
Giả sử B là ma trận các véc-tơ cơ sở với chỉ số thuộc J Xem
b = A0, khi đó ta thu được X0∗ khi biểu diễn A0 qua các véc-tơ cơ
sở, tức là BX0∗= A0 hay
X0∗= B−1b
Ta nhận được một phương án cực biên X0 từ X0∗ bằng cách bổsung các thành phần bằng 0, ứng với thành phần ngoài cơ sở Cáccột của ma trận A đều biểu diễn được qua các véc-tơ cơ sở, tức làthu được Xj bởi BXj = Aj hay
Xj = B−1Aj.Trong phương pháp đơn hình, ước lượng ∆j dùng để kiểm tra sựtối ưu của một phương án cực biên được tính bởi công thức:
∆j = C∗Xj − cj, j /∈ J, ∆j = 0 với j ∈ J, C∗= (cj), j ∈ J
Trang 6• Rõ ràng rằng, X0, Xj, ∆j đều tính được nếu biết B−1 Nếu X0chưa phải là phương án tối ưu thì tìm phương án tốt hơn là X1.
Ma trận B nêu trên gọi là ma trận liên kết với X0 Nếu xuất phát
• Từ những nhận xét nêu trên, thuật toán đơn hình cải biên đượcthực hiện như sau:
Trang 8• ∆j có thể nhận được bằng cách lấy dòng cuối của ma trận B−1
CSAi C∗ X = (xi) B−1 Xk ∆j, j /∈ J
j
∆jHàngm + 1
Trang 9Bước 6: Gán X1 cho X0 và tiếp qua Bước 1.
Trang 11Bước 1: Có cơ sở đơn vị A3, A4 từ ma trận A:
Trang 12Bước 5: Lập bảng X1 bằng việc biến đổi trên cột X và ma trận
B−1 như trong thuật toán đơn hình, tính và ghi lại hàng m+1 ởdạng (C∗B−1 1) Chú ý ∆j được tính bởi việc nhận dòng (m+1)với Aj
Đến bước 2, thuật toán thỏa điều kiện tối ưu, phương án tối ưu là
X∗= (0, 3) Phương án tối ưu là ¯X = (3, 0, 0, 0)
Trang 134.2 Phương pháp đơn hình đối ngẫu (xem [4])
Xét bài toán dạng chính tắc với A ∈ Mm×n, b ∈ Rm, x , c ∈ Rn
Ký hiệu K = {1, 2, , n} \ J Một phương án ứng với cơ sở J
có dạng (xJ, xK) trong đó xK = 0 và xJ nhận được bằng việcgiải hệ AJxJ = b
Trang 14Chú ý rằng với một cơ sở J chọn trước từ ma trận A, hệ phươngtrình AJxJ = b không chắc sẽ có x ≥ 0 Tức là không chắc dẫnđến x ≥ 0 (chấp nhận được).
Ta gọi một cơ sở J của (P) là cơ sở chấp nhận được nếuphương án ứng với cơ sở đó là phương án chấp nhận được
Ta gọi một cơ sở J của (P) là cơ sở tối ưu nếu phương án ứngvới cơ sở đó là phương án tối ưu
Trang 15Bài toán đối ngẫu
(D) max g (y ) = bTy
Xét cơ sở J của bài toán gốc
Ta gọi phương án cơ sở đối ngẫu ứng với cơ sở J là véc-tơ ythu được bằng cách giải hệ phương trình AT
AT(ATJ)−1cJ) ≤ c (3)
Trang 16Chú ý rằng, trong bảng đơn hình của bài toán gốc, các cột zkchính là khai triển của cột Ak theo cơ sở J, tức là
AT = zkATJhay
AT(ATJ)−1 = zk
Do (3), J là cơ sở chấp nhận được đối ngẫu nếu
zkcJ ≤ chay
∆j =X
j ∈J
zjkcj − ck ≤ 0
Đây chính là tiêu chuẩn để phương án (xJ, xK) là phương án tối ưu
và do đó J là cơ sở tối ưu
Trang 171 Ứng với cơ sở chấp nhận được J của bài toán gốc, phương ánđối ngẫu là y = (ATJ)−1cJ Có thể xảy ra trường hợp phương
án này là không chấp được cho bài toán đối ngẫu
2 Ứng với một cơ sở J của bài toán gốc, có thể bài toán gốc cóphương án không chấp nhận được, nhưng bài toán đối ngẫulại có phương án ứng với cơ sở J chấp nhận được
Mệnh đề 4.1
Nếu có một cơ sở vừa là chấp nhận được của bài toán gốc vừa làchấp nhận được của bài toán đối ngẫu thì nó là cơ sở tối ưu củabài toán gốc
Trong thuật toán đơn hình cho bài toán gốc, chỉ khi đến bảng đơn hình cuối cùng ta mới được một cơ sở chấp nhận được của bài toán đối ngẫu Thuật toán đơn hình đối ngẫu xuất phát từ cơ sở chấp nhận được đối ngẫu nhưng chưa phải là cơ sở chấp nhận được gốc, tiến hành đổi cơ sở cho đến khi nào ta được cơ sở chấp nhận được gốc.
Trang 184.2.1 Thuật toán đơn hình với bài toán đối ngẫu
Xét bài toán (P) dạng chính tắc và (D) là bài toán đối ngẫu của(P) cho bởi công thức (1) và (2) Giả sử rằng (P) có nghiệm tối
ưu cơ sở chấp nhận được là (xB, 0) ứng với ma trận cơ sở B.Chúng ta sẽ xác định nghiệm của bài toán đối ngẫu (D) thông qua
cơ sở B
Định lý 4.1
Giả sử bài toán (P) có nghiệm chấp nhận được ứng với cơ sở B lànghiệm tối ưu Khi đó, véc-tơ y với yT = cBTB−1 là nghiệm tối ưucủa bài toán (D), đồng thời giá trị tối ưu của hai bài toán bằngnhau
CM: Giả sử rằng ma trận A có dạng A = [B|D] Khi đó, ta có
BxB = b nên nghiệm tối ưu xB cũng được tính bởi công thức
xB = B−1b
Trang 19Khi đó, ước lượng ∆ ngoài cơ sở (Các ∆ ứng với cơ sở đều triệttiêu) được tính bởi công thức
∆TD = cBTB−1D − cDT
Vì tại bước này xB là nghiệm tối ưu nên ∆TD ≤ 0 Vì vậy ta có,
cBTB−1D ≤ CDT.Xem yT = cBTB−1 Ta sẽ chỉ ra y chính là nghiệm tối ưu của bàitoán đối ngẫu (D) Thật vậy,
yTA = [yTB, yTD] = [cBT, cBTB−1D] ≤ [cBT, cDT] = cT
Từ đây, y là nghiệm chấp nhận được của bài toán (D) Mặt khác,
yTb = cBTB−1b = cTxB : Giá trị tối ưu của (P)
Vậy y là nghiệm tối ưu của (D)
Trang 21Chuyển bài toán về dạng chính tắc với 2 biến giả tạo và đưa vàobảng đơn hình ta có:
Trang 22Áp dụng Định lý 4.1, ta tìm nghiệm của bài toán đối ngẫu nhưsau Ta nhận được bài toán đối ngẫu là:
Trang 23Dấu hiệu tối ưu
Giả sử B là ma trận tương ứng với tập chỉ số J0 là cơ sở đối ngẫu
1 Với x0 = B−1b (tức là Bx0= b), nếu x0≥ 0 thì x0 là phương
án cực biên tối ưu của bài toán gốc Khi đó ¯y = ¯cTB−1 làphương án tối ưu của bài toán đối ngẫu
2 Nếu tồn tại i ∈ J0 sao cho xi0 < 0 và xij ≥ 0 với mọi
j = 1, , n thì bài toán gốc có tập phương án là rỗng trong
Trang 244.2.2.Thuật toán đơn hình đối ngẫu
Với cặp bài toán (P) và (D), ở đây yTA ≤ cT được hiểu là
yTAj ≤ cj, với j = 1, , n và Aj là cột thứ j của ma trận A
• Cơ sở đối ngẫu
Giả sử có hệ m véc-tơ Aj, j ∈ J0, đltt Ta nói hệ này là cơ sở đốingẫu nếu có phương án cực biên ¯y của (D) thỏa
Khi đó, ¯yTB = ¯cT hay ¯yT = ¯cTB−1
Hiển nhiên ∆j = 0 với j ∈ Jo
Có thể chứng tỏ rằng hệ Aj, j ∈ Jo, là cơ sở đối ngẫu khi vàchỉ khi ∆j ≤ 0, j 6∈ Jo
Trang 25• Giả phương án cho bài toán gốc
Ta gọi ¯x là một giả phương án của bài toán gốc nếu ứng với cơ sởcác véc-tơ cột có chỉ số thuộc J0, các thành phần của ¯x thỏa cácđiều kiện sau (không cần thỏa điều kiện x ≥ 0):
i ∈J 0xiAi = b nhưng không cần ràng buộc xi ≥ 0
Trang 26• Xây dựng cơ sở mới
Phương án mới được xây dựng từ phương án cũ như sau: Khi có
i ∈ J0 để xi0< 0 và có xij < 0 thì có thể xây dựng cơ sở đối ngẫumới bằng việc thay đổi véc-tơ vào ra như sau:
• Véc-tơ ra: As với x0
Nếu đạt tại nhiều chỉ số thì chọn chỉ số bé nhất
Trang 27Thuật toán
Bước 1: Giả sử đã biết cơ sở đối ngẫu (xuất phát) là cơ sở đơn vịtrong Rm Khi đó, xj = Aj (với j = 0, , n) Tính ∆j như trongthuật toán đơn hình của bài toán gốc
Bước 2: Nếu x0 ≥ 0 thì ¯x là phương án tối ưu (của bt gốc) với
¯i = xi0(i ∈ J0) và ¯xj = 0 (j 6∈ J0) Nếu trái lại thì qua bước 3:Bước 3: Xử lý véc-tơ ra: Chọn xs0 = min{xi0 | i ∈ J0}
Với s vừa chọn, nếu xsj ≥ 0 với mọi j = 1, , n thì kết luận tậpnghiệm là rỗng Trái lại thì chọn ∆k
x sk = minn∆j
x sj | xsj < 0o.Lưu ý các bước của véc-tơ vào ra: Khác với thuật toán đơn hìnhtrên bài toán gốc, thuật toán đơn hình đối ngẫu xử lý véc-tơ ra trêndòng có xi0 < 0, từ đó mới xử lý véc-tơ vào trên cột tương ứng
Trang 28b) Từ một cơ sở không phải là cơ sở tối ưu, hãy giải bài toán bằngthuật toán đơn hình đối ngẫu.
Trang 29Bài toán đối ngẫu tương ứng là
Max g (y ) = bTy
yTA ≤ cT,hay,
21
, A3=
12
Ta có 3 hệ véc-tơ{A1, A2}, {A1, A3}, {A2, A3}
Trang 30a) Tìm cơ sở đối ngẫu:
y1+ 2y2 = 8
⇐⇒ (¯y1, ¯y2) = (4, 2)
Vậy hệ nêu trên có hai cơ sở đối ngẫu là {A1, A3} và {A2, A3}
Trang 31• Tìm cơ sở tối ưu:
x2+ 2x3= 1 ⇐⇒ x2= 1/3, x3 = 1/3.
Vì các xi với Ai thuộc cơ sở đều không âm nên nghiệm tối ưu củabài toán là (0, 1/3, 1/3), và cơ sở tối ưu là {A2, A3}
Trang 32Khi đó, nghiệm đối ngẫu được tìm bởi ¯yT = ¯cTB−1 Ta có:
.Với ¯cT = (10 8) Ta được
¯
y = (10 8)
2/3 −1/3
Trang 33b) Giải bằng phương pháp đơn hình đối ngẫu với phương án
(−1/3, 0, 2/3) Chú ý rằng phương án này nhận được với cơ sở
{A1, A3} Để đưa vào bảng đơn hình, các véc-tơ {A1, A3} phải
được viết lại dưới dạng các véc-tơ đơn vị Ta thực hiện việc biếnđổi trên ma trận A mở rộng như sau:
Trang 35xi ≥ 0, i = 1, 2, 3.
Với điểm (0, 1) là điểm chấp nhận được của bài toán đối ngẫu,dùng phương pháp đơn hình đối ngẫu để giải bài toán nêu trênBài toán đối ngẫu là
Trang 36Điểm (0, 1) thỏa ràng buộc với 2 phương trình đầu và thỏa mãnbất đẳng thức với bất phương trình thứ 3 vậy cơ sở J được xét đến
là {1, 2} Biến đổi hệ ràng buộc sao cho A1, A2 là các véc tơ cơ sở
ta được ma trận
1 0 1 2
0 1 1 1Ứng với cơ sở này có nghiệm chấp nhận được (2, 1, 0) (do thỏamãn các ràng buộc gốc và có các thành phần đều không âm) Cơ
sở J = 1, 2 vừa là cơ sở chấp nhận được của bài toán gốc và cũng
là chấp nhận được của bài toán đối ngẫu nên đó là cơ sở tối ưu, vìvậy điểm (2, 1, 0) là phương án tối ưu của bài toán gốc
Trang 37Ví dụ 4.4
Giải bài toán sau đây bằng phương pháp đơn hình đối ngẫu:
Min −7x1+ 7x2− 2x2− x4− 6x53x1− x2+ x3− 2x4 = −32x1+ x2+ x4+ x5 = 4
Trang 394.3 Phương pháp phân phối giải bài toán vận tải 4.3.1 Giới thiệu về mạng vận tải
Bài toán: Có m kho hàng Kho i có ai lượng hàng hóa,
i = 1, 2, , m Có n nơi tiêu thụ, cửa hàng j có nhu cầu bj lượnghàng hóa, j = 1, 2, , n Cước phí vận chuyển một đơn vi hàng từkho i đến cửa hàng j là cij Một nơi tiêu thụ nhiều loại hàng hóa.Giả sử tổng hàng ở các kho bằng tổng hàng các nơi tiêu thụ Hãylập kế hoạch vận chuyển hàng tiết kiệm chi phí nhất sao cho pháthết ở các kho và các nơi thỏa mãn nhu cầu
Gọi xij là lượng hàng phát từ kho i chở đến nơi tiêu thụ j Bàitoán được đặt ra trong điều kiện cân bằng thu phát
• Bài toán vận tải có dạng của bài toán QHTT
• Mô hình tổng quát của bài toán là trong điều kiện
nX
j =1
bj =
mX
i =1
ai
Trang 40Tìm phương án làm cực tiểu bài toán vận tải sau đây:
(P) Minz =
mX
i =1
nX
j =1
ĐK
nX
j =1
mX
i =1
xij ≥ 0, i = 1, m, j = 1, n (8)Nếu ký hiệu:
x = (x11, , x1n, x21, , x2n, , xm1, , xmn) ∈ Rmn,
c = (c11, , c1n, c21, , c2n, , cm1, , cmn) ∈ Rmn,
A0 = (a1, , am, b1, , bn) ∈ Rm+n
Trang 41Chuyển các véc-tơ nêu trên viết dưới dạng ma trận cột thì bài toán(5)-(8) được viết lại dưới dạng ma trận như sau:
• Mỗi véc-tơ x thỏa điều kiện (6)-(8) gọi là một phương án Ta cóviết x = (xij) dưới dạng ma trận m × n
Trang 42Đây là bài toán QHTT dạng chính tắc có thể giải bằng thuật toánđơn hình, tuy nhiên có một phương pháp hiệu quả hơn để giải bàitoán này được trình bày sau đây.
• Dữ liệu của bài toán được đưa lên bảng như sau:
Trang 43• Việc giải bài toán chính là tìm phương án phân phối các giá trị
xij > 0 vào các ô (i , j ) tương ứng trong bảng sao cho thỏa mãncác ràng buộc của bài toán đồng thời tập hợp các giá trị xij > 0được phân phối sẽ làm cực tiểu hàm mục tiêu Đó chính là phương
án tối ưu
• Trong bảng đã cho, các ô có phân phối xij > 0 gọi là ô chọn
Định lý 4.2
Bài toán vận tải luôn luôn có phương án tối ưu
• Gọi Aij là cột ứng với biến xij (của ma trận của các ràng buộc).Các cột này luôn có hai thành phần bằng 1 tại dòng thứ i và dòngthứ m + j với i = 1, m và j = 1, n
Định lý 4.3
Hạng của hệ các phương trình ràng buộc là m + n − 1
Trang 444.3.2 Dây chuyền và chu trình
Định nghĩa 4.1 (Dây chuyền)
Một dãy các ô xếp theo thứ tự nào đó sao cho 2 ô kề nhau bất kỳphải nằm trên cùng một dòng hoặc một cột và 3 ô kề nhau bất kỳkhông nằm trên cùng một dòng hoặc một cột gọi là một dâychuyền Dây chuyền có dạng:
Trang 45Hình : Một dây chuyền về các ô trên mạng vận tải
Trang 46Hình : Một chu trình về các ô trên mạng vận tải
TS Tạ Quang Sơn, Khoa Toán-Ứng dụng, ĐHSG TỐI ƯU HÓA
Trang 494.3.4 Tiêu chuẩn tối ưu
Định lý 4.6
Nếu thay bảng cước phí C = (cij) bằng bảng cước phí mới sao chomỗi ô trên dòng được cọng thêm cùng một số và mỗi ô trên cộtđược cộng cùng một số thì bài toán mới có cùng phương án tối ưuvới bài toán ban đầu
Trang 50Định lý 4.7
Ký hiệu ∆ij = ri+ sj + cij Nếu tại phương án cực biên X0 tồn tạicác số ri, sj sao cho ∆ij = 0 tại các ô chọn và ∆ij ≥ 0 với mọi ôcòn lại thì X0 là PATU
Định lý 4.8
Nếu tại phương án cực biên X0 sau khi qui không các ô chọn màtồn tại ô (i , j ) sao cho ∆ij < 0 thì sẽ xây dựng được phương áncực biên tốt hơn phương án X0
Trang 51án cũ Kiểm tra sự tối ưu.
Trang 523.6.3 Phương pháp cước phí bé nhất theo dòng (cột)
Ưu tiên phân phối tối đa cho ô có cước phí bé nhất trên dòng(cột) đầu tiên của bảng Trong trường hợp có nhiều ô có cước phí
bé nhất thì dùng qui tắc chọn ô theo từ vựng
3.6.4 Phương pháp Foghel
Chú ý: Phương án thu được có đúng (m+n-1) ô chọn là phương
án cực biên
Trang 53a) Tìm phương án cực biên theo PP góc Tây-Bắc,
b) Tìm phương án cực biên theo phương pháp cước phí bé nhất.c) Tìm phương án tối ưu nếu có
Trang 54Ví dụ 2: Tìm phương án cực biên của bài toán vận tải với số liệusau đây: