Nhánh – cận giải cácbài toán quy hoạch nguyên a)xét ví dụ:

Một phần của tài liệu phương pháp nhánh cận trong kỹ thuật lập trinh (Trang 51 - 53)

IV Nhanh cận giải một số bài toán quy hoạch nguyên 1:Bài toán quy hoạch nguyên

2:Nhánh – cận giải cácbài toán quy hoạch nguyên a)xét ví dụ:

a)xét ví dụ:

max z = 5x1 + 4x2,

x1 + x2 5, 10x1 + 6x2 45, x1 ,x2 ∈ Z

Gọi LP0 là quy hoạch tuyến tính tương ứng ở bước lặp 0, tức là thay x1,x2 ∈ Z bằng x1, x2≥ 0 có nghiệm tối ưu là x1 = 3,75,x2= 1,25và z = 23.75

xem H 2.1

A là điểm tối ưu của LP0 còn các dấu • là miền chấp nhận được (cnđ) của IP. Lấy bất kỳ một biến mà ở A có giá trị không nguyên, chẳng hạn x1 = 3,75. Vì phần chấp nhận được là LP0 thỏa mãn 3 < x1 < 4 không thể chứa nghiệm chấp nhận được của IP nên ta có thể bỏ qua không xét phần này và chia nhánh (branching) ra được hai miền và tương ứng là hai bài toán quy hoạch tuyến tính con ở bước 1 tiếp theo:

1. LP1 với miền chấp nhận được là miền chấp nhận được LP0, với x1 3

2. LP2 với miền chấp nhận được là miền chấp nhận được LP0, với x ≥ 4 x1 được gọi là biến chia nhánh (branching variable) H 2.2 (a) biểu diễn việc chia miền và (b) là sơ đồ cây của thuật toán ở bước đầu và đã được nghiệm tối ưu của IP

Đến đây ta biết nghiệm tối ưu của IP, phải nằm trong LP (hoặc LP2 (tức là trong miền xác định của ít nhất một trong hay quy hoạch tuyến tính này). Ta đành giải bất

kỳ chẳng hạn LP1, là LP0 thêm ràng buộc x 3 max z = 5x1 + 4x2, x1 + x2 5, 10x1 + 6x2 45, x 3, x1 ,x2 ∈ Z x ≥ 4 x1 3 . LP2 LP1

LP1 có thể giải bằng cách đưa về dạng chính tắc và dùng thuật toán đơn hình tiêu chuẩn.Cũng có thể giải bằng thuật toán đơn hình áp dụng cho quy hoạch tuyến tính tổng quát, có chứa cận dạng lj ≤ xj ≤ uj .Nghiệm tối ưucủa LP1 là x1 = 3, x2 = 2, z = 23, vô tình đã là nguyên, Đây là nghiệm tốt nhất tạm thời cho IP, ta gọi là một kỷ lục (incumbent). Do đó LP1 không thể suy ra nghiệm chấp nhận được tốt hơn cho IP, chỉ còn chờ so sánh với sự nghiêm cứu LP2. Ta nói đã làm chạm đáy (fathoming) LP1. Việc "chờ so sánh" này cũng quan trọng không kém việc (nếu như) LP1 còn được thao tác tiếp (như LP2, sau đây sẽ thấy) vì nó cho một cận dưới của mục

tiêu tối ưu của IP do z = 23 đã đạt được (bởi nghiệm nguyên), z tối ưu không thể nhỏ hơn. Vậy ở đây ta đã đặt cận (bounding) cho thuật toán. Tiếp theo, nói chung ta phải giải LP2 như sẽ làm dưới đây. Nhưng trong trường hợp may mắn này ta thấy cận dưới đã là 23 = [23.75] ([.] ký hiệu phần nguyên), với 23.75 là mục tiêu tối ưu của LP0 và cũng là của IP, đều nguyên, nên mục tiêu tối ưu của IP, là số nguyên không thể tốt hơn [23.75] = 23. Vậy ta đã may mắn được một nghiệm tối ưu của IP ngay sau một bước

1 X1= 3,75, x2= 1,25, z =23.75

X1= 3, x2= 1, z = 23 2

Nếu ta không chọn (bất kỳ) LP1 như trên mà chọn LP2, thì dù đã chọn (bất kỳ và may mắn một phần) biến chia nhánh là x1, thuật toán kéo dài như sau. Giải LP2 (là quy hoạch có được khi thay ràng buộc x1≤ 3 bởi x1≥ 4 ở LP1) bằng thuật toán đơn hình ta được x1 = 4, x2 = 0.8333, z = 23,333 .Vì x2 = 0.8333 chưa nguyên, ta phải nhánh LP2 để được LP3, LP4 với ràng buộc bổ sung tương ứng x2 ≤ 0 và

x2 ≥ 1, tức là:

1. Miền chấp nhận được LP3 là miền chấp nhận được LP0 thêm ràng buộc x1 ≥ 4, x2 ≤ 0;

2. Miền chấp nhận được LP4 là miền chấp nhận được LP0 thêm ràng buộc x1 ≥ 4, x2 ≥ 1.

Đến đây ta thấy hợp cả ba miền chấp nhận được của LP1, LP3 và LP4 chứa miền chấp nhận được của IP và còn phải xét cả ba. Có thể chọn bất kỳ để làm tiếp. Một trong các cách chọn hay dùng là chọn các bài toán con được lập sau cùng, ở đây là LP3 và LP4.

Như vậy khi giải bằng phương pháp đơn hình có thể tận dụng kết quả ở lời giải LP2 Ngay trước đó, vì so với LP2, ở LP3 và LP4 chỉ có thêm một ràng buộc. Do đó có thể áp dụngnghiên cứu hậu tối ưu lên nghiệm tối ưu của LP2 mà không cần giải lại .Giả sử chọn ngẫu nhiên LP4 và giải ta thấy LP4 không cónghiệm chấp nhận được. Tất nhiên sau này chẳng cần nhìn đến LP4 nữa, ta cũng nói nó đã chạm đáy. Tiếp theo còn LP3 và LP1, ta lại chọn bất kỳ, nhưng theo nguyên tắc mớilập hơn thì ta lấy LP3 và giải được nghiệm tối ưu của LP3 là x1= 4.5, x2 = 0, z = 22.5.Vì x1 chưa nguyên ta phảichia nhánh để được bài toán con:

1. Miền chấp nhận được LP5 là miền chấp nhận được LP0 thêm ràng buộc x1≥ 4, x2 ≤ 0, x1 ≤ 4;

2. Miền chấp nhận được LP4 là miền chấp nhận được LP0 thêm ràng buộc x1 ≥ 4, x2 ≤ 0, x1 ≥ 5.

Ta còn bài toán con chưa xét LP1, LP5 và LP6, chọn bất kỳ theo nguyên tắc mới hơn xét LP6 ta thấy nó không chấp nhận được, tức là đã chạm đáy. Đến lượt giải LP5, mới hơn LP1, ta được nghiệm tối ưu là x1 = 4, x2= 0, z = 20 thoả cả ràng buộc về tính nguyên. Đến đây ta được một cận dưới của mục tiêu tối ưu của IP là z = 20 và do đó LP5 cũng chạm đáy, cung cấp một cận dưới cũng là kỷ lục là z = 20. Còn lại duy nhất LP1 phải xét (xem có được kỷ lục mới không). Theo trên đã thấy giải LP1 ta được nghiệm tối ưu x1= 3, x2= 2, z = 23, cũng thoả tính nguyên nên ta được một cận dưới và LP1đã chạm đáy, cung cấp một kỷ lục mới. Vì không còn bài toán con nào để xét, kỷ lục mới này là nghiệm tối ưu của IP

Như vậy cũng với việc chọn x1là biến phân nhánh nhưng chọn LP2 để xét thay cho LP1 ta đã phải làm dài nhất trong các khả năng có thể (nếu dùng quy tắc chọn trong các bài toán con mới lập) như H 2.3 minh hoạ sơ đồ cây thực hiện thuật toán.

Một phần của tài liệu phương pháp nhánh cận trong kỹ thuật lập trinh (Trang 51 - 53)