Thuật toán nhánh cận giải bài toán (3.5)

Một phần của tài liệu Một số thuật toán giải bài toán tối ưu trên tập pareto (Trang 67 - 77)

3 Giải bài toán tối ưu trên tập Pareto bằng phương pháp

3.3.2 Thuật toán nhánh cận giải bài toán (3.5)

Mục này trình bày thuật toán nhánh cận giải bài toán

max{FN(u, v) := f(u, v)−N s(u) : A1u+A2v+ b ≤0} (3.5)

với f(u, v) là hàm lõm và

X = {(u, v) : A1u+A2v +b ≤0}.

Do f là hàm lõm nên nghiệm tối ưu của bài toán (3.5) nói chung là không đạt được tại đỉnh của miền chấp nhận được.

Giả thiết rằng đã xây dựng được đa diện S0 trong không gian biến u thỏa mãn

P(X) ⊂S0 ⊂ P(G(X)).

Cho S là một đa diện con của S0. Xét bài toán (3.5) đối với S, tức là

β(S) := max{FN(u, v) := f(u, v)−N s(u) : u ∈ S, A1u+A2v +b ≤0}.

(P(S))

Tách các biến u và v của bài toán (P(S)) thu được bài toán nới lỏng α(S) := max{FN(u, v) := f(u, v)−N s(w) : u, w ∈ S, A1u+A2v+b ≤ 0}.

(R(S))

Khi đó, α(S) ≥ β(S). Gọi (uS, vS, wS) là nghiệm tối ưu của (R(S)). Rõ ràng, nếu s(uS) = s(wS), hoặc đặc biệt nếu uS = wS, thì α(S) = β(S). Thực chất, việc giải bài toán R(S) chính là giải quy hoạch lồi ràng buộc tuyến tính (cực đại lõm) sau

max{f(u, v) : u ∈ S, A1u+A2v +b ≤0}

và do s là hữu hạn trên S nên việc giải bài toán cực tiểu hàm lõm s trên S có thể giải bằng cách so sánh giá trị của hàm s tại các đỉnh của S.

Vậy có thể giả thiết rằng 0 = s(wS), vì nếu s(wS) > 0 thì s(u) > 0 với

mỗi u ∈ S, tức là S không chứa hình chiếu của bất kỳ điểm hữu hiệu

nào. Trong các trường hợp này, S không cần xem xét tiếp.

Giả thiết rằng s(wS) < s(uS), suy ra uS 6= wS. Khi đó, S được phân chia bởi một quá trình phân nhánh mà làm cho khoảng cách giữa hai điểm uS và wS càng tiến nhanh về 0 càng tốt.

Điểm uS và wS được gọi là các điểm chia đôi. Sau đây là hai quy tắc chia đôi tập S.

Quy tắc 1 (Quy tắc Euclidean) Đặt lS = (wS −uS) \(kwS −uSk). Khi đó, chia S bởi

S− := {v : hlS, v−(uS +wS)/2i ≤ 0}, (3.8)

S+ := {v : hlS, v−(uS +wS)/2i ≥ 0}. (3.9)

Rõ ràng, wS ∈ S− và uS ∈ S+.

Quy tắc 2 (Quy tắc dưới gradient) Đặt lS ∈ ∂(s(wS)) và chia S thành

S− := {v : hlS, v−wSi ≤ 0}, (3.10)

S+ := {v : hlS, v−wSi ≥ 0}, (3.11)

Khi đó, wS ∈ S− và do

hlS, uS −wSi ≥ s(uS)−s(wS) = s(uS) > 0, nên uS ∈ S+.

Bổ đề 3.6 Cho {Sk} là dãy lồng nhau vô hạn của các tập phân hoạch được tạo bởi sự phân chia theo Quy tắc 1 hoặc 2 và {wk}, {uk} là các dãy tương ứng của các điểm chia đôi. Giả thiết rằng {wk}, {uk} là các dãy bị chặn. Khi đó, chúng có chung một điểm tụ.

Chứng minh. Do {Sk} là dãy lồng nhau và Sk ⊂ S0 với mọi k, bằng việc lấy dãy con nếu cần, ta có thể giả thiết rằng

Sk+1 ⊂Sk−,∀k, (3.12)

hay

Sk+1 ⊂Sk+,∀k, (3.13)

và {uk}, {wk} là các dãy hội tụ. Do theo Quy tắc 1, klkk = 1 với mọi

k, còn theo Quy tắc 2 thì lk ∈ ∂s(uk) nên dãy {lk} đều bị chặn. Vậy có

thể giả thiết rằng dãy {lk} là hội tụ.

Xét Quy tắc 1: Nếu có (3.12) thì uk+1 ∈ Sk−, tức là hlk, uk+1 −(uk +wk)/2i ≤ 0. Do hlk, uk −(uk +wk)/2i ≥ 0, nên 0≤ hlk, uk−(uk +wk)/2i ≤ hlk, uk −(uk +wk)/2i − hlk, uk+1 −(uk+wk)/2i = hlk, uk −uk+1i ≤ kuk −uk+1k → 0. Suy ra hlk, uk−(uk +wk)/2i → 0. Do klkk = 1 nên ta có uk−(uk +wk)/2 = (uk−wk)/2 →0 khi k → ∞. Bằng cách tương tự, nếu có (3.13) và có wk+1 ∈ Sk+ thì ta có 0≥ hlk, wk −(uk +wk)/2i ≥ hlk, wk −(uk+wk)/2i − hlk, wk+1 −(uk +wk)/2i = hlk, wk−wk+1i ≤ kwk −wk+1k → 0.

Vậy hlk, wk −(uk+ wk)/2i → 0. Suy ra wk−uk →0 khi k → ∞.

Với cách phân chia theo Quy tắc 2, chứng minh tương tự.

Dưới đây trình bày thuật toán để giải bài toán

max{FN(u, v) := f(u, v)−N s(u) : A1u+A2v +b ≤0}. (3.5)

Thuật toán nhánh cận này gồm hai pha. Pha đầu tiên xây dựng một đa diện khởi tạo để thực hiện thủ tục nhánh cận, dùng kỹ thuật tách trên để tính cận và Quy tắc 1 hoặc 2 để phân nhánh. Để đơn giản, từ đây sẽ dùng ký hiệu uk, vk, wk,· · · thay cho uSk, vSk, wSk,· · ·. Như thường lệ, quy ước rằng cực đại trên tập rỗng là −∞. Cho ε ≥ 0 là sai số cho phép. Điểm chấp nhận được x được gọi là ε - nghiệm tối ưu của bài toán (3.5) nếu

f∗ −f(x) ≤ ε(|f(x)|+ 1),

trong đó f∗ là giá trị tối ưu của bài toán (3.5). Thuật toán chi tiết được trình bày dưới đây.

Thuật toán 3.2

Pha 1: Dùng Thuật toán 3.1 để xây dựng một đa diện xuất phát S0. Pha 2: Tại thời điểm ban đầu, ta cóS0 thỏa mãnP(X) ⊆ S0 ⊆ P(G(X))

và các đỉnh của nó đã được xác định.

• Bước khởi tạo Giải bài toán R(S0) thu được α(S0), u0, w0, v0. Đặt

∆0 := {S0},

α0 := α(S0) (cận trên tốt nhất hiện tại), β0 := β(S0) (cận dưới tốt nhất hiện tại),

x0 := (u0, v0) (điểm chấp nhận được tốt nhất hiện tại). Khởi tạo k := 0.

• Bước lặp k (k = 0,1,· · ·)

◦ Bước 1 (Tiêu chuẩn dừng)

If αk −βk ≤ ε(|βε|+ 1) Then kết thúc thuật toán: xk là ε - nghiệm tối ưu.

Else chuyển Bước 2.

◦ Bước 2 (Chọn tập để chia) Tìm Sk ∈ ∆k thỏa mãn

α(Sk) := max{α(S0) : S0 ∈ ∆k}. ◦ Bước 3 (Phân nhánh)

Dùng Quy tắc 1 hoặc 2 để chia Sk thành Sk+ và Sk−. ◦ Bước 4 (Tính cận)

Giải hai bài toán R(Sk−) và R(Sk+). ◦ Bước 5 (Cập nhật)

Cập nhật αk, βk và xk thu được αk+1, βk+1 và xk+1. Gán

∆k+1 := {S0 ∈ (∆k\Sk)∪{Sk−, Sk+} :α(S0)−βk+1 > ε(|βk+1|+1)}. Đặt k := k+ 1 và quay về Bước 1.

Định lý 3.2 (Định lý hội tụ)

i. Nếu thuật toán dừng tại bước lặp thứ k thì xk = (uk, vk) là ε - nghiệm tối ưu.

ii. Nếu thuật toán không dừng thì βk % f∗, αk & f∗ và bất kỳ điểm tụ nào của dãy {xk = (uk, vk)} đều là nghiệm tối ưu toàn cục.

Chứng minh.

i. Từ tiêu chuẩn dừng của thuật toán và định nghĩa của ∆k, ta thấy [i.] rõ ràng đúng.

ii. Nếu thuật toán chạy với vô hạn bước lặp thì nó sẽ tạo ra dãy lồng nhau vô hạn {Sk} của các tập phân hoạch và các dãy tương ứng của các điểm chia đôi là {uk} và {wk}. Theo Bổ đề 3.6, ta có một điểm tụ chung là u∗. Bằng việc lấy dãy con nếu cần, ta có thể giả thiết rằng uk →u∗, wk →u∗, vk → v∗.

Do {αk}, {βk} là các dãy đơn điệu và

αk = f(uk, vk)−N s(wk), βk = f(uk, vk)−N s(uk),

nên ta có

α∗ = f(u∗, v∗)−N s(u∗), β∗ = f(u∗, v∗)−N s(u∗). Suy ra α∗ = β∗ = f∗.

Đặt x = (u, v) là điểm tụ của dãy {xk = (uk, vk)}. Khi đó, (u, v)

là điểm chấp nhận được và tồn tại dãy {xj = (uj, vj)} thỏa mãn

uj → u, vj → v. Ta có βj = f(uj, vj) −N s(uj) và cho j → +∞,

suy ra β∗ = f(u, v). Do đó, (u, v) là nghiệm tối ưu toàn cục.

Hệ quả 3.2 Nếu ε > 0 thì thuật toán là hữu hạn.

Kết luận: Chương này đã trình bày dạng ràng buộc tuyến tính tương đương của bài toán tối ưu trên tập Pareto (P), trong đó hàm mục tiêu

không nhất thiết lồi. Ngoài ra, chương này còn trình bày dạng rút gọn số biến không lồi của các bài toán có dạng ràng buộc tuyến tính tương đương với bài toán tối ưu trên tập Pareto và thuật toán nhánh cận để giải bài toán rút gọn này trong trường hợp f là hàm lõm.

Kết Luận Chung

Luận văn tốt nghiệp này đã nghiên cứu:

• Các khái niệm và kết quả cơ bản liên quan đến bài toán quy hoạch tuyến tính đa mục tiêu (VP) như điểm hữu hiệu, nghiệm hữu hiệu, điều kiện hữu hiệu, điều kiện tồn tại nghiệm và cấu trúc tập nghiệm của bài toán.

• Mô hình toán học và tính chất nghiệm tối ưu của bài toán tối ưu trên tập Pareto (P).

• Các thủ tục quy hoạch tuyến tính đơn giản để giải bốn trường hợp đặc biệt của bài toán tối ưu trên tập Pareto (P) với hàm mục tiêu tuyến tính.

• Bài toán có dạng ràng buộc tuyến tính tương đương của bài toán tối ưu trên tập Pareto (P), trong đó hàm mục tiêu không nhất thiết lồi.

• Dạng rút gọn số biến không lồi của các bài toán có dạng ràng buộc tuyến tính tương đương với bài toán (P) và thuật toán nhánh cận để giải bài toán rút gọn này trong trường hợp f là hàm lõm gồm hai pha:

- Thuật toán xấp xỉ ngoài xây dựng tập đa diện ban đầu; - Thuật toán nhánh cận.

Thuật toán kiểm tra bài toán quy hoạch tuyến tính đa mục tiêu (VP) có nghiệm hữu hiệu hay không, xác định nghiệm hữu hiệu ban đầu của bài toán (nếu có) (dựa vào Mệnh đề 1.5) và thuật toán giải bài toán tối ưu trên tập Pareto trong trường hợp đặc biệt p = 2 và d phụ thuộc tuyến tính vào các hàng của ma trận C (Thuật toán 2.3) đã được thử nghiệm qua các ví dụ số tính bởi chương trình viết bằng ngôn ngữ Dev-C++, chạy trên máy PC, hệ điều hành window.

Do thời gian và kinh nghiệm còn hạn chế, luận văn tốt nghiệp này không tránh khỏi những sai xót. Tác giả rất mong nhận được sự góp ý của các thầy cô và các bạn đồng nghiệp.

Tài liệu tham khảo

Tài liệu tiếng Việt

[1] Nguyễn Thị Bạch Kim (2008), Giáo trình Các Phương pháp Tối ưu Lý thuyết và Thuật toán, Nhà xuất bản Bách Khoa, Hà Nội.

[2] Đinh Thế Lục (1998),Giáo trình tối ưu đa mục tiêu, Trung tâm Khoa học tự nhiên và Công nghệ quốc gia, Viện Toán học, Hà Nội.

Tài liệu tiếng Anh

[3] L. T. H. An, L. D. Muu and P. D. Tao, "D. C. Optimization approach for Optimizing over the Efficient Set", Oper. Reseach. Lett., Vol. 19, pp. 117 - 128.

[4] P. Armand and C. Malerert (1991), "Determination of the Efficient in Multiobjective Linear Programming",Journal of Optimization Theory and Applications, Vol. 70, pp. 467 - 489.

[5] P. Armand (1993), "Finding all maximal Efficient Faces in Multiob- jective Linear Programming", Mathematical Programming, Vol. 61, pp. 357 - 375.

[6] H. P. Benson and Sayin, S. (1994), "Optimization over the Efficient Set: Four Special Cases", Journal of Optimization Theory and Applica- tions, Vol. 80.

[7] J. Fu¨l¨op, "A Cutting Plane Algorithm for Linear Optimization over the Efficient Set",Generalized Convexity, Edited by S. Komlosi, T Rapc- saj and S. Schaible, Springer, Berlin, pp. 374 - 385.

[8] R. Horst and H. Tuy (1993), Global Optimization (Deterministic ap- proaches), Springer - Verlag, Berlin.

[9] N. T. Bach Kim and D. T. Luc (2000), "Normal Cones to a Polyhe- dral Convex Set and Generating Efficient Faces in Linear Multiobjective Programming", Acta Mathematica Vietnamica, Vol. 25 (1), pp. 101 - 124.

[10] N. T. Bach Kim (2000), "An algorithm for Optimizing over the Efficient Set", Vietnam Journal of Mathematics, Vol. 28 (4), pp. 329 - 340.

[11] D. T. Luc (1989), Theory of Vector Optimizing, Springer - Verlag, Berlin, Germany.

[12] Le D. Muu (2000), "A Convex - Concave Programming Method for Optimizing over the Efficient Set", Acta Mathematica Vietnamica, Vol. 25 (1), pp. 67 - 85.

[13] J. Philip (1972), "Algorithms for the Vector Maximization Problem",

Mathematical Programming, Vol. 2, pp. 207 - 229.

[14] R. T. Rockafellar (1970), Convex Analysis, Princeton University Press.

[15] T. V. Thieu, B. T. Tam and V. T. Ban (1983), "An Outer Ap- proximation Method for Globally Minimizing a Concave Function over a Compact Set", Acta Mathematica Vietnamica, Vol. 8, pp. 21 - 40.

Một phần của tài liệu Một số thuật toán giải bài toán tối ưu trên tập pareto (Trang 67 - 77)