Phương phỏp nhỏnh cận Land – Doig giải bài toỏn quy hoạch tuyến tớnh nguyờn 1 Minh họa đồ thị

Một phần của tài liệu toi_uuhoa (Trang 87 - 90)

2.1. Minh họa đồ thị

Vớ dụ 3. Giải BTQHTT nguyờn: Max z = 3x1 + 4x2 với cỏc ràng buộc

7x1 + 16x2 ≤ 52 3x1 – 2x2 ≤ 9 x1, x2 ≥ 0 x1, x2 nguyờn.

Cần tỡm cỏc giỏ trị nguyờn của cỏc biến quyết định x1, x2 để cỏc ràng buộc được thoả món và hàm mục tiờu đạt giỏ trị lớn nhất.

Bước 1: Vẽ miền ràng buộc / miền cỏc phương ỏn khả thi là tập hợp cỏc phương ỏn khả thi

(cỏc phương ỏn, nếu núi một cỏch ngắn gọn). Mỗi phương ỏn được thể hiện qua bộ số (x1, x2), thoả món tất cả cỏc ràng buộc đó cú kể cả điều kiện khụng õm và điều kiện nguyờn của cỏc biến (xem hỡnh IV.2).

– Trước hết chỳng ta vẽ nửa mặt phẳng thoả món: 7x1 + 16x2 ≤ 52. – Sau đú tỡm nửa mặt phẳng thoả món: 3x1 – 2x2 ≤ 9.

– Lỳc này, giao của hai nửa mặt phẳng tỡm được trờn cho ta tập hợp cỏc điểm (x1, x2) thoả món cỏc ràng buộc. Tuy nhiờn, để thoả món điều kiện khụng õm và điều kiện nguyờn của cỏc biến, ta chỉ xột cỏc điểm nằm trong gúc phần tư thứ nhất cú cỏc tọa độ đều nguyờn. Vậy miền cỏc

Bước 2: Trong miền (OABC) ta tỡm điểm (x1, x2) với cỏc tọa độ nguyờn sao cho z = 3x1 + 4x2 đạt giỏ trị lớn nhất. Ta sẽ chứng tỏ phương ỏn tối ưu là điểm H(2, 2) với zmax = 14.

2.2. Nội dung cơ bản của phương phỏp nhỏnh cận

Trước hết, chỳng ta quy định gọi BTQHTT, như cho trong vớ dụ 3 nhưng bỏ qua điều kiện nguyờn của cỏc biến, là BTQHTT khụng nguyờn tương ứng với BTQHTT nguyờn đó cho. Chỳng ta cú thể mụ tả phương phỏp nhỏnh cận Land – Doig bằng phương phỏp đồ thị (xem hỡnh IV.2 và hỡnh IV.3), trong đú LPi là ký hiệu của BTQHTT với hàm mục tiờu đó cho và miền ràng buộc Di. Với i = 1, D1 là miền ràng buộc quy định bởi:

7x1 + 16x2 ≤ 52 3x1 – 2x2 ≤ 9 x1, x2 ≥ 0.

2.3. Khung thuật toỏn nhỏnh cận Land – Doig

Khung thuật toỏn nhỏnh cận Land – Doig cú thể được phỏt biểu như sau cho BTQHTT nguyờn dạng Max cú miền ràng buộc giới nội khỏc rỗng.

Bước khởi tạo

– Đưa bài toỏn về dạng chớnh tắc LP1 và đặt Record = – ∞.

– Xột tập hợp cỏc BTQHTT khụng nguyờn cần giải S = {LP1}. Đặt k : = 1. H(2, 2) 7x1 + 16x2 = 52 O 1 – 9/2 x1 3x1 – 2x2 = 9 x2 2 52/7 A(0, 52/16) B(4, 3/2) C(3, 0)

Hỡnh IV.2. Phương phỏp đồ thị giải BTQHTT nguyờn

F(2, 19/8)

E(11/3, 1) G(4/7, 3) D(20/7, 2)

2 K

Cỏc bước lặp (bước lặp thứ k)

Bước 1: Giải lần lượt từng bài toỏn LPi ∈S bằng phương phỏp đơn hỡnh và xột cỏc trường

hợp sau đõy:

Giải LP1, cú phương ỏn tối ưu là B(4, 3/2) với zmax =18. Do phương ỏn cú tọa độ khụng nguyờn nờn đặt Record = – ∞. Chia BTQHTT nguyờn tương ứng với

LP1 thành hai bài toỏn căn cứ tọa độ x2 = 3/2.

Xõy dựng LP2 với miền ràng buộc D2 = {x ∈ D1: x2 ≥ 2}. LP2 cú phương ỏn

tối ưu là D(20/7, 2) với zmax = 116/7. Chia BTQHTT nguyờn tương ứng với

LP1 thành hai bài toỏn căn cứ tọa độ x1= 20/7.

Xõy dựng LP3 với miền ràng buộc D3 = {x ∈ D1: x2 ≤ 1}. LP3 cú phương ỏn

tối ưu là E(11/3, 1) với zmax = 15. Chia BTQHTT nguyờn tương ứng với LP1 thành hai bài toỏn căn cứ tọa độ x1 = 11/3.

Xõy dựng LP6 với miền ràng buộc D6 = {x ∈ D3: x1 ≤ 3}. LP6 cú phương ỏn tối ưu là K(3, 1) cú cỏc tọa độ nguyờn với zmax =

13. Lưu trữ x* = (3, 1) và Record = 13. Loại bỏ bài toỏn LP6. Xõy dựng LP5 với miền ràng buộc D5 = {x ∈ D2: x1 ≤ 2}. LP5 cú phương ỏn tối ưu là F(2, 19/8) với zmax = 31/2. Chia BTQHTT nguyờn tương ứng với LP5 thành hai bài toỏn căn cứ tọa độ x2 = 19/8 khụng nguyờn. Xõy dựng LP4 với miền ràng buộc D4 = {x ∈ D2: x1 ≥ 3}. LP4 cú miền phương ỏn là miền rỗng. Loại bỏ bài toỏn LP4. Xõy dựng LP7 với miền ràng buộc D7 = {x ∈ D3: x1 ≥ 4}. LP7 cú miền phương ỏn là miền rỗng. Loại bỏ bài toỏn

Xõy dựng LP9 với miền ràng buộc D9 = {x ∈ D5: x2 ≤ 2}. LP9 cú phương ỏn tối ưu cú cỏc tọa độ nguyờn là H(2, 2)

với zmax = 14. Lưu trữ x* = (2, 2) và Record = 14. Loại bỏ bài

toỏn LP9. Xõy dựng LP8 với miền ràng

buộc D8 = {x ∈ D5: x2 ≥ 3}. LP8 cú phương ỏn tối ưu là G(4/7, 3) với zmax = 96/7 < Record = 14.

Loại bỏ bài toỏn LP8.

Dừng

i) Nếu bài toỏn khụng cú phương ỏn thỡ loại bài toỏn ra khỏi tập S.

ii) Nếu bài toỏn cú phương ỏn với tọa độ nguyờn thỡ so sỏnh zmaxvới Record hiện cú: – Nếu zmax ≤ Record thỡ loại bỏ bài toỏn ra khỏi tập S.

– Nếu zmax > Record thỡ đặt lại Record = zmax và ghi lại phương ỏn tối ưu sau đú loại bài toỏn ra khỏi tập S.

iii) Cũn nếu bài toỏn cú phương ỏn tối ưu nhưng cú ớt nhất một tọa độ khụng nguyờn thỡ so sỏnh zmax với Record hiện cú:

– Nếu zmax ≤ Record ta loại bỏ bài toỏn ra khỏi tập S.

– Nếu zmax > Record ta chia bài toỏn thành hai bài toỏn căn cứ vào một tọa độ khụng nguyờn bất kỳ của phương ỏn tối ưu tỡm được.

Bước 2: Thiết lập mới tập S gồm tất cả cỏc bài toỏn thu được từ bước 1. Kiểm tra xem S cú

bao nhiờu bài toỏn: Nếu S khỏc rỗng thỡ đặt k := k+1 và quay về bước 1, cũn nếu S là tập rỗng thỡ về bước kết thỳc.

Bước kết thỳc. Dừng và in ra Record.

Một phần của tài liệu toi_uuhoa (Trang 87 - 90)

Tải bản đầy đủ (PDF)

(187 trang)