Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
595 KB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG TIỂU LUẬN LÝ THUYẾT ĐỐI NGẪU Học phần: Tối ưu hóa Chuyên ngành: Khoa học máy tính M! s#: 62.48.01.01 Khóa học: 2011 - 2015 NCS. Trần Ngọc Việt Người hướng dẫn: PGS.TSKH. Trần Quốc Chiến PGS.TS. Lê Mạnh Thạnh ĐÀ NẴNG – 2012 1 MỤC LỤC MỞ ĐẦU ……………………………………………………………… 2 Chương 1. PHÂN TÍCH TỔNG QUAN CÁC VẤN ĐỀ LIÊN QUAN ĐẾN ĐỀ TÀI LUẬN ÁN 1. Tổng quan về các công trình trong nước liên quan đến đề tài luận án …………………………………………………… 3 1.1. Công trình về thuật toán tìm đường đi ngắn nhất ……… 3 1.1.1. Thuật toán đường đi ngắn nhất xuất phát từ một đỉnh 5 1.1.2. Thuật toán đường đi ngắn nhất trong k cặp đỉnh nguồn đích ……………………………………………… 6 1.2. Thuật toán Bellman – Ford …………………………… 8 1.3. Thuật toán Floyd-Warshall ……………………………. . 9 1.4. Công trình về thuật toán luồng cực đại …………………. 10 1.5. Bài toán luồng đa phương tiện cực đại …………………. 14 1.6. Bài toán luồng đa phương tiện cực đại đồng thời ………. 19 1.7. Bài toán luồng đa phương tiện cực đại đồng thời có ràng buộc chi phí …………………………………………… 23 2. Tổng quan về các công trình đ! nghiên cứu trên thế giới …. 27 3. Một s# ứng dụng lớn trên thế giới ………………………. 28 4. Danh mục các công trình liên quan ………………………. 29 Chương 2. PHƯƠNG PHÁP NGHIÊN CỨU, KẾT QUẢ DỰ KIẾN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI …………. 31 KẾT LUẬN ………………………………………………………… 33 TÀI LIỆU THAM KHẢO …………………………………………. 34 2 Chương 1. LÝ THUYẾT ĐỐI NGẪU 1.1. Khái niệm về đối ngẫu Đ#i ngẫu là một khái niệm cơ bản của việc giải bài toán quy hoạch tuyến tính vì lý thuyết đ#i ngẫu dẫn đến một kết quả có tầm quan trọng về mặt lý thuyết và cả mặt thực hành. 1.2. Phát biểu bài toán đối ngẫu Tương ứng với mỗi bài toán Quy hoạch tuyến tính (còn gọi là bài toán g#c) có một bài toán đ#i ngẫu. Bài toán đ#i ngẫu của bài toán QHTT cũng là một bài toán QHTT. Như vậy, bài toán g#c và bài toán đ#i ngẫu của nó lập thành một cặp bài toán QHTT, tính chất của bài toán này có thể được khảo sát thông qua bài toán kia. Nhiều quy trình tính toán hay phân tích được hoàn thiện khi xem xét cặp bài toán trên trong m#i liên quan chặt chẽ của chúng, mang lại lợi ích trong việc giải quyết các vấn đề phát sinh từ thực tế. Với mục đích tìm hiểu bước đầu, chúng ta xét bài toán g#c là bài toán quy hoạch tuyến tính dạng Max với các ràng buộc chỉ có dấu ≤ và các biến đều thoả m!n điều kiện không âm. Bài toán gốc nn xcxcxcxf +++= )(max 2211 với các điều kiện ràng buộc ≥ ≤+++ ≤+++ ≤+++ 0, ,, 21 2211 22222121 11212111 n mnmnmm nn nn xxx bxaxaxa bxaxaxa bxaxaxa Lúc đó bài toán QHTT sau đây được gọi là bài toán đ#i ngẫu của bài toán QHTT trên. 3 Bài toán đối ngẫu mm ybybybyg +++= )(min 2211 với các điều kiện ràng buộc: ≥ ≥+++ ≥+++ ≥+++ 0, ,, 21 2211 22222112 11221111 m nmmnnn mm mm yyy cyayaya cyayaya cyayaya Các biến m yyy , ,, 21 được gọi là các biến đ#i ngẫu. Trong trường hợp này, do bài toán g#c có m ràng buộc, nên bài toán đ#i ngẫu có m biến đ#i ngẫu. Biến đ#i ngẫu i y tương ứng với ràng buộc thứ i của bài toán g#c. Trong trường hợp quy hoạch tuyến tính tổng quát, những quy tắc sau đây được áp dụng để xây dựng bài toán đ#i ngẫu : - Hàm mục tiêu đ#i ngẫu : . max ↔ min - Biến đ#i ngẫu : . mỗi ràng buộc ↔ một biến đ#i ngẫu - Chi phí đ#i ngẫu và giới hạn ràng buộc : . chi phí đ#i ngẫu ↔ giới hạn ràng buộc - Ma trận ràng buộc đ#i ngẫu : . ma trận chuyển vị - Chiều của ràng buộc và dấu của biến : . ràng buộc trong bài toán max có dấu ≤ thì biến đ#i ngẫu trong bài toán min có dấu ≥ 0 ( trái chiều ) . ràng buộc trong bài toán max có dấu = thì biến đ#i ngẫu trong bài toán min có dấu tùy ý. 4 . ràng buộc trong bài toán max có dấu ≥ thì biến đ#i ngẫu trong bài toán min có dấu ≤ 0 ( trái chiều ) . biến của bài toán max có dấu ≥ 0 thì ràng buộc đ#i ngẫu trong bài toán min có dấu ≥ ( cùng chiều ) . biến của bài toán max có dấu tùy ý thì ràng buộc đ#i ngẫu trong bài toán min có dấu = . biến của bài toán max có dấu ≤ 0 thì ràng buộc trong bài toán đ#i ngẫu min có dấu ≤ ( cùng chiều ) 1.3. Định lý độ lệch bù Giả sử x* và y* là các phương án t#i ưu của cặp bài toán đ#i ngẫu. Lúc đó (x*, y*) thoả m!n hệ: =− =− 0)( 0)( yAcx bAxy TT T Chứng minh Với )()( , ** ygxfyyxx =⇒== hay .cxxcybby TTTT === Mặt khác, yAxAxy TTT = 0)()( )()( =−+−⇒−=−⇒ yAcxbAxycyAxbAxy TTTTTT =− =− ⇒ 0)( 0)( yAcx bAxy TT T Chú ý rằng: 0.yAc 0, x0,bAx 0,y TTT ≤−≥≤−≥ Vậy, ta có điều phải chứng minh. 1.4. Cơ sở của phương pháp đơn hình đối ngẫu Xét bài toán g#c: xcxf T =)(min với }.0,:{ ≥≥∈=∈ xbAxRxDx n Dễ dàng đưa bài toán này về dạng chính tắc: xcxf T =)(min với các ràng buộc 0 , ≥= xbxA , trong đó [ ] TT s TT s T T xxxcccIAA ),( ),,( , ==−= , với chỉ s# dưới s dùng để ký hiệu các chỉ s# bù. Xét một véc tơ x thỏa m!n 0 , ≥= xbxA . Bằng cách phân r! 5 [ ] T T B T N xxxBNA ),( , == và cho ,0= N x với bBx B 1− = . Các véc tơ cột Bj Jja ∈∀, của B được gọi là: - Cơ sở g#c chấp nhận nếu 0 1 ≥= − bBx B , nhưng không nhất thiết TT B cABc ≤ −1 - Cơ sở đ#i ngẫu chấp nhận nếu TT B cABc ≤ −1 , nhưng không nhất thiết 0 1 ≥= − bBx B Kiểm tra lại các bước của thuật toán đơn hình đ#i ngẫu. Giả sử, T T B T N xxx ),( = là một phương án đ#i ngẫu khả thi, tức là các véc tơ cột Bj Jja ∈∀, , là cơ sở đ#i ngẫu chấp nhận. Nên .0 1 ≥−=∆ − j T B jj aBcc Nếu 0 1 ≥= − bBx B thì x là phương án t#i ưu. Chú ý rằng, thuật toán đơn hình đ#i ngẫu được bắt đầu với ma trận IB −≡ , do đó có . 1 IbbBx B −== − Nếu 0 1 ≥= − bBx B chưa được thỏa m!n thì tồn tại . ,0 Bq Jqx ∈< Lúc đó ta cần thực hiện thủ tục xoay. Trường hợp 1: Jj ∈∀ ( J là tập các chỉ s# của các véc tơ cột của ma trận A ), .0≥ qj x Điều này có nghĩa là tất cả các tọa độ thứ q của các véc tơ JjaB j ∈∀ − , 1 đều không âm. Ta sẽ chỉ ra rằng bài toán g#c không có phương án, hay bài toán đ#i ngẫu có hàm mục tiêu không bị chặn trên. Xét véc tơ: .)( 1 T T B Bcy − = Dễ dàng chứng minh được đây đúng là phương án của bài toán đ#i ngẫu. Thật vậy, ta có: cyA T ≤ Đặt T q U là véc tơ hàng q trong ma trận 1− B và xét q Uyy θ −=' với 0> θ nào đó. Thế thì =−= j T q T j T aUyay )( )'( θ j T j T qj T ayaUay ≤− θ . 6 Ta có jj T cay ≤ , nên jj T cay ≤ )( ' . Do đó, cyA T ≤ ' hay ' y cũng là phương án của bài toán đ#i ngẫu. Mặt khác, giá trị của hàm mục tiêu trong bài toán đ#i ngẫu là +∞→−=−=−== q T q T T q T T xygbUbybUybyyg θθθ )()()()( '' khi .+∞→ θ Để chứng minh bài toán g#c không có phương án có thể lập luận ngắn gọn hơn. Thật vậy, ta có 0 <= ∑ ∈ j Jj jqj xxx (do ) 11 bBxAB −− = . Nếu bài toán g#c có phương án với các tọa độ không âm thì đây là điều vô lý vì: .,0, Jjxx jqj ∈∀≥ Trường hợp 2: .0: ≥∈∃ qj xJj Ta chọn cột xoay theo “qui tắc tỷ s# âm lớn nhất”, tức là chọn chỉ s# s sao cho: ∆ = ∆ < qj j qj x qs s xx 0 min Tiếp tục thực hiện thủ tục xoay trong bài toán đơn hình đ#i ngẫu, ta sẽ chuyển được sang phương án đ#i ngẫu khả thi mới. Trong phương án mới s x sẽ là biến cơ sở thay chỗ cho biến q x . Vì mỗi phương án đ#i ngẫu khả thi tìm được trong quá trình giải tương ứng với một ma trận cơ sở B trong một phân r! nào đó A = [N B], nên s# phương án đ#i ngẫu khả thi được xem xét là một s# hữu hạn. Do đó, sau một s# hữu hạn bước, ta sẽ kết thúc việc giải bài toán QHTT bằng phương pháp đơn hình đ#i ngẫu. 1.5. Thuật toán đơn hình đối ngẫu Thuật toán đơn hình đ#i ngẫu được xây dựng dựa trên tính chất của cặp bài toán đ#i ngẫu. 7 Thuật toán của phương pháp đơn hình đ#i ngẫu được phát biểu cho bài toán QHTT: xcxf T =)(min , với }.0,:{ ≥=∈=∈ xbAxRxDx n Bước khởi tạo -Tìm một phương án đ#i ngẫu khả thi bBx 1− = tương ứng với ma trận cơ sở B trong một phân r! nào đó [ ] BNA = : điều kiện jx j ∀≥ ,0 có thể không được thỏa m!n nhưng luôn có .,0 j j ∀≥∆ -Tính: njfc jjj ,1, =∀−=∆ trong đó n là s# biến của bài toán đang xét. Các bước lặp Bước 1: Kiểm tra điều kiện t#i ưu. Nếu điều kiện t#i ưu njx j ,1,0 =∀≥ đ! được thỏa m!n thì in / lưu kết quả của bài toán và dừng. Bước 2: Nếu tồn tại một chỉ s# j sao cho 0< j x thì tiến hành thủ tục xoay gồm nhiều bước tương tự theo thủ tục xoay của phương pháp đơn hình với các khác biệt sau: - Trước tiên chọn hàng xoay là hàng với biến j x có giá trị âm (thông thường với trị tuyệt đ#i lớn nhất, hoặc chọn ngẫu nhiên). - Sau đó chọn cột xoay theo quy tắc tỷ s# âm lớn nhất (các tỷ s# được tạo ra bằng cách lấy hàng j ∆ chia cho hàng j x và chỉ xét các tỷ s# có mẫu s# âm). Nếu không tìm được cột xoay thì kết luận bài toán không có phương án khả thi, in / lưu kết quả của bài toán và chuyển sang bước kết thúc. - Nếu tìm được cột xoay thì thực hiện các bước tiếp theo của thủ tục xoay. -Tính lại các nj j ,1, =∀∆ và quay lại bước 1. -Việc thực hiện giải bài toán g#c bằng phương pháp đơn hình đ#i ngẫu 8 thực chất là việc giải bài toán đ#i ngẫu bằng phương pháp đơn hình. Điều này cũng giải thích lí do tại sao khi thực hiện thủ tục xoay của phương pháp đơn hình đ#i ngẫu cần trước hết xác định hàng xoay rồi sau đó mới xác định cột xoay. Ví dụ: Xét cặp bài toán đ#i ngẫu Bài toán gốc 21 23)(min xxxf += với các ràng buộc ≥ ≥+ ≥+ ≥+ 0, 42 3 42 21 21 21 21 xx xx xx xx Nếu giải trực tiếp bài toán trên bằng phương pháp đơn hình, thì cần đưa bài toán về dạng chính tắc với 8 biến (thêm ba biến bù “thừa” và ba biến giả). Một phương pháp khác như đ! biết là, trước hết tìm cách giải bài toán đ#i ngẫu (chỉ với 5 biến), sau đó sẽ tìm được phương án t#i ưu của bài toán g#c. Bài toán đối ngẫu 321 434)(max yyyyg ++= với các ràng buộc ≥ ≤++ ≤++ 0,, 22 32 321 321 321 yyy yyy yyy Viết bài toán đ#i ngẫu dưới dạng chính tắc: 54321 00434)(max yyyyyyg ++++= với các ràng buộc ≥ =+++ =+++ 0,,,, 22 32 54321 5321 4321 yyyyy yyyy yyyy 9 Cách 1. Giải bài toán đ#i ngẫu bằng phương pháp đơn hình. Kết quả được cho trong bảng. Theo tính chất của cặp bài toán đ#i ngẫu, ta có phương án t#i ưu của bài toán g#c là 2 ,1 * 2 * 1 == xx với .7 min =f Hệ số Biến cơ sở P/án 4 1 =c 3 2 =c 4 3 =c 0 4 =c 0 5 =c y 1 y 2 y 3 y 4 y 5 0 0 y 4 y 5 3 2 1 2 1 1 [2] 1 1 0 0 1 0 0 4 0 3 0 4 0 0 0 0 4 0 y 3 y 5 3/2 1/2 ½ [3/2] ½ 1/2 1 0 ½ -1/2 0 1 6 2 2 2 1 4 0 2 -2 0 0 4 4 y 3 y 1 4/3 1/3 0 1 1/3 [1/3] 1 0 2/3 -1/3 -1/3 2/3 20/3 4 0 8/3 1/3 4 0 4/3 -4/3 4/3 -4/3 4 3 y 3 y 2 1 1 -1 3 0 1 1 0 1 -1 -1 2 7 5 -1 3 0 4 0 1 -1 2 -2 Cách 2. Giải bài toán g#c bằng phương pháp đơn hình đ#i ngẫu. 10 [...]... x4 , x5 ≥ 0 Nội dung tóm tắt của phương pháp đơn hình đối ngẫu: Trong phương pháp đơn hình, dịch chuyển dần từ phương án khả thi, tức là x j ≥ 0, ∀j nhưng điều kiện Δ j≥ 0, ∀j chưa được thoả mãn, tới phương án tối ưu, tức là x j ≥ 0 và Δ j ≥ 0, ∀j Trong phương pháp đơn hình đối ngẫu, ta dịch chuyển dần từ phương án không khả thi (nhưng đối ngẫu khả thi), tức là điều kiện x j ≥ 0, ∀j không được... 1 -1/3 4/3 1 4 0 2 1/3 -1/3 0 0 -2/3 -4/3 0 0 0 1 1/3 0 0 -2 4/3 1 3 2 0 3 x2 x4 x1 2 x2 20/3 2 0 x3 1 0 0 1 -3 1 3 x1 1 1 3 0 2 0 0 1 -1 -1 -1 7 0 0 0 1 1 Chương 2 ỨNG DỤNG BÀI TOÁN ĐỐI NGẪU 2.1 Ứng dụng bài toán đối ngẫu cho bài toán phân luồng giao thông 12 tuyến tính + Cho một đồ thị có hướng G = (V, E) với khả năng thông qua của các cung là c : E → R* Trong V có k đỉnh nguồn s1 , s2 , , sk tương... năng thông qua cực tiểu trên p Tại bước lặp i , ta chuyển c đơn vị phương tiện dọc theo p Theo đó f i = f i −1 + c Tiếp theo ta đặt li (e) = li −1 (e).(1 + ε c / c(e)), ∀e ∈ p, trong đó ε ≥ 0 là hằng số sẽ chọn sau 14 Ban đầu, ∀e ∈ E , đặt l0 (e) = δ , trong đó δ là hằng số cũng được chọn sau Thuật toán dừng sau t bước, với t là số nhỏ nhất mà α (lt ) ≥ 1 2.2 Ứng dụng bài toán đối ngẫu cho bài toán... đỉnh đích t j tương ứng, với j = 1, , k Bài toán luồng đa phương tiện cực đại là tìm một luồng đa phương tiện trong mạng G đã cho, sao cho tổng các luồng của tất cả k phương tiện đạt cực đại +Cơ sở lý thuyết thuật toán: Gọi Pj là tập hợp các đường đi từ s j đến t j trong mạng G, j = 1, , k Gọi P = P ∪ P2 ∪ ∪ Pk , là hợp của P , P2 , , Pk Với 1 1 Pe là tập hợp các đường trong P đi qua e, ∀e ∈ E... nghĩa z ( j ) (còn gọi là dist j (l ) ) là độ dài ngắn nhất trong các đường thuộc Pj tính theo l , ∀1 ≤ j ≤ k Đặt α (l ) = ∑ d ( j ).dist j (l ) j Bài toán đối ngẫu (D) tương đương với tìm hàm l : E → R* sao cho hàm D (l ) / α (l ) đạt cực tiểu Đặt β = min l D (l ) α (l ) Thuật toán: Thuật toán được thực hiện qua một số giai đoạn, mỗi giai đoạn gồm k vòng lặp ( k là số phương tiện) Ở vòng lặp thứ... x j ≥ 0, ∀j không được thoả mãn nhưng luôn có Δ j ≥ 0, ∀j, tới phương án tối ưu, tức là có x j ≥ 0 và Δ j ≥ 0, ∀j Quy trình giải bài toán gốc dạng chuẩn tắc trên đây bằng phương pháp đơn hình đối ngẫu được mô tả trong bảng như sau: Hệ số Biến cơ sở P/án 3 x1 2 x2 0 x3 0 x4 0 x5 11 0 x3 -4 -1 -2 1 0 0 0 x4 -3 -1 -1 0 1 0 0 x5 -4 [-2] 0 -1 0 0 0 0 0 1 0 0 x3 0 -2 3 0 2 [-3/2] 0 1 0 0 0 -1/2 0 x4... theo mô hình quy hoạch tuyến tính như sau: max λ ∑ x( p) ≤ c(e), ∀e ∈ E p∈ e ℘ ∑ x( p) ≥ λ.d ( j ), ∀1 ≤ j ≤ k p∈℘ j x ≥ 0, λ ≥ 0 (P) Để giải (P) ta xây dựng mô hình tuyến tính đối ngẫu với (P), gọi là (D), như sau: 15 ∀e ∈ E , gắn cho e một hàm độ dài l (e) , với mỗi phương tiện j = 1, , k , gán một biến z ( j ) Định nghĩa: min l D(l ) = ∑ c(e).l (e) e∈E ∑ l (e) ≥ z ( j ), ∀1... p Yêu cầu bài toán được phát biểu dạng bài toán quy hoạch tuyến tính như sau: λ = max ∑ x( p) p∈P ∑ x( p) ≤ c(e), ∀e ∈ E (P) p∈P x≥0 Giải bài toán (P) ta xây dựng mô hình tuyến tính đối ngẫu với (P) gọi là bài toán (D) như sau: ∀e ∈ E , gắn cho e một hàm độ dài l (e) Định nghĩa: β = min D (l ) = ∑ c(e).l (e) e∈E ∑ l (e) ≥ 1, ∀p ∈ P e∈ p l≥0 (D) 13 Gọi dist j (l ) là độ dài . TRIỂN CỦA ĐỀ TÀI …………. 31 KẾT LUẬN ………………………………………………………… 33 TÀI LIỆU THAM KHẢO …………………………………………. 34 2 Chương 1. LÝ THUYẾT ĐỐI NGẪU 1.1. Khái niệm về đối ngẫu Đ#i ngẫu là một khái niệm cơ bản. giải bài toán quy hoạch tuyến tính vì lý thuyết đ#i ngẫu dẫn đến một kết quả có tầm quan trọng về mặt lý thuyết và cả mặt thực hành. 1.2. Phát biểu bài toán đối ngẫu Tương ứng với mỗi bài toán Quy. BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG TIỂU LUẬN LÝ THUYẾT ĐỐI NGẪU Học phần: Tối ưu hóa Chuyên ngành: Khoa học máy tính M! s#: 62.48.01.01 Khóa