Thuật toán nhánh cận

Một phần của tài liệu Cực đại và cực tiểu hàm lồi với ràng buộc lồi (Trang 51 - 61)

3 Cực đại hàm lồi với ràng buộc lồi

3.2 Thuật toán nhánh cận

3.2.1 Một số khái niệm cơ bản

Định nghĩa 3.1. Một tập hợp S ⊂Rn được gọi là một đơn hình có thứ nguyên bằng p (hoặc nói ngắn gọn là p-đơn hình), nếu S là tổ hợp lồi của p+ 1 điểm v0, ..., vp độc lập affine trong Rn. Ký hiệu S =v0, ..., vp

. Các điểmv0, ..., vp được gọi là các đỉnh của đơn hình.

Giả sử S là một đơn hình chứa trọn miền ràng buộc D hoặc có chứa ít nhất một lời giải tối ưu của bài toán (Q).

Định nghĩa 3.2. Nếu một điểm v thuộc một cạnh vi, vj

, nhưng v 6=vi, v 6=vj

thì v xác định phép chia đơn hình S thành hai đơn hình con Si và Sj mà tập đỉnh thu được từ tập

v0, ..., vp bằng cách thay vi (vj tương ứng) bởi v. Nếu cạnh

vi, vj là dài nhất trong S và

minkv−vik,kv−vjk ≥αkvi−vjk, 0< α≤ 1

2,

thì phép chia được gọi là một phép chia chuẩn theo tỷ lệ α.

Định nghĩa 3.3. Một họ Γ := {Si ⊆S| i∈I}, trong đó I là tập hữu hạn các chỉ số, được gọi là phân hoạch của đơn hình S nếu

S =[

i∈I

Phân hoạch Γ0 := S0

j ⊆S |j ∈I0 mịn hơn phân hoạch Γ := {Si⊆S |i∈I} nếu

(i) Với mọi i∈I tồn tại ít nhất một j ∈I0 sao cho S0

j ⊆Si. (ii) Tồn tại i0∈I, j0∈I0 sao cho Sj00 ⊂Si0.

Định nghĩa 3.4. Một phép chia đơn hình được gọi là vét kiệt, nếu mọi dãy đơn hình giảm dần (lồng nhau) được sinh ra bởi phép chia này đều hội tụ về một điểm, tức là lim k→∞Sk = +∞ \ k=1 Sk ={x∗}. Hình 3: Chia đơn hình

Định lý 3.1.Một quá trình chia đơn hình trong đó mọi phép chia là chuẩn với tỉ lệ 1/2 thì phải vét kiệt.

Chứng minh. Giả sử {Sk} là một dãy giảm các p-đơn hình sinh bởi phép chia chuẩn theo tỉ lệ 1/2. Đặt δk là độ dài cạnh dài nhất của đơn hình Sk. Ta sẽ chỉ ra

δp+k ≤ √

3

2 δk, ∀k. (3.1)

Thật vậy, ta chỉ cần chứng minh (3.1) với k = 1. Tô màu các đỉnh của S1 bởi màu "đen", tô màu "trắng" các đỉnh của Sr với r >1 mà không phải đỉnh màu

đen. Ký hiệu dr là cạnh dài nhất của Sr, đó là cạnh được chia. Đặt q là chỉ số nhỏ nhất sao cho dq có ít nhất một điểm đầu mút trắng. Vì mỗi đỉnh màu đen được thay bởi một đỉnh màu trắng tại mỗi bước chia trước q, ta có q≤p+ 1.

Đặt dq = [u, v] với u trắng. Khi đó u là trung điểm của dl nào đó với l < q. Đặt dl = [a, b]. Nếu a hoặc b trùng với v thì rõ ràng δq = 1

2δl ≤δ1 và do đó (3.1)

đúng.

Ngược lại, xét tam giác co{a, b, v} (bao lồi của các điểm a, b, v). Vì v ∈ Sq và δl =kdlk nên ta có kv−ak ≤δl,kv −bk ≤ δl. Vì u là trung điểm của [a, b], theo quy tắc hình bình hành ta có 2kb−uk2+ 2ku−vk2 =kv−ak2+kv−bk2. (3.2) Mặt khác kb−uk2= 1 4ka−bk2. (3.3) Từ (3.2) và (3.3) ta có 2ku−vk2=kv−ak2+kv−bk2− 1 2ka−bk2 ≤2δl2−1 2δ 2 l = 3 2δ 2 l. Do đó δq ≤ √ 3 2 δl. Vì δp+1≤δq và l≤1 nên ta có (3.1).

Từ (3.1) suy ra δk →0(k→+∞). Do đó phép chia chuẩn theo tỉ lệ 1/2 là vét kiệt.

2 3.2.2 Ý tưởng của thuật toán nhánh cận

Ý tưởng của thuật toán nhánh cận là "chia để trị", tức thay vì giải trực tiếp bài toán (Q) ta giải các bài toán con

max{f(x)|x∈Di}, (Qi), trong đó Di =D∩Si, i∈I. Hiển nhiên là việc giải bài toán con (Qi), i∈I, cũng sẽ mắc phải những khó khăn tương tự giải bài toán (Q). Tuy nhiên, ta có thể

xác định được cận trên β(Si) của bài toán con này và nhờ đó xác định cận trên của bài toán ban đầu.

Giả sử đơn hình S được phân hoạch thành các đơn hình con Si, i ∈ I và ta đã biết các cận trên β(Si) của bài toán con (Qi). Đặt

β = max{β(Si)|i∈I}. Vì Si⊂S với mọi i∈I nên

max{f(x)|x∈D∩S} ≤β,

tức β là một cận trên của bài toán (Q) (điều này đúng khi S có chứa một nghiệm). Rõ ràng là nếu ta phân hoạch S thành các đơn hình con càng nhỏ thì ta nhận được đánh giá cận trên β của bài toán ban đầu (Q) càng sát giá trị tối ưu hơn.

Đầu tiên nếu chưa biết một phương án chấp nhận nào của bài toán (Q) thì ta đặt α=−∞là một cận dưới của bài toán này. Trong quá trình tính toán cận trên β hay bằng cách nào khác có thể biết được một số điểm chấp nhận được thì đặt α bằng giá trị hàm mục tiêu tại điểm chấp nhận tốt nhất (kỷ lục).

Điểm đặc sắc của thuật toán nhánh cận là khi tìm được một điểm chấp nhận (ở đâu đó) mà giá trị hàm mục tiêu tại điểm đó không nhỏ hơn cận trên của bài toán con nào đó, thì có thể loại bài toán con đó (không xét nữa). Đến khi đã kiểm duyệt hết các đơn hình con cần xét thì thuật toán kết thúc và ta nhận được nghiệm tối ưu của bài toán ban đầu.

Một đơn hình con Sk ⊆ S sẽ được loại bỏ, tức không cần xét đến nó trong các vòng lặp tiếp theo, nếu nó thỏa mãn một trong ba điều sau

• Tập Sk giao với tập chấp nhận được D là tập rỗng.

• Tìm được một nghiệm tối ưu xk ∈ Dk ⊂ D của bài toán con (Qk). Vì vậy, đơn hình Sk đã được xét xong.

quá giá trị kỷ lục hiện tại. Do đó đơn hình Sk cũng không thể chứa phương án nào tốt hơn kỷ lục hiện tại và ta không cần xét đến đơn hình con này nữa.

Tại mỗi vòng lặp, ta sẽ có một danh sách ∆k các đơn hình con của S cần phải xem xét.

• Nếu ∆k = ∅ thì dừng thuật toán và ta nhận được nghiệm tối ưu của bài toán (Q).

• Ngược lại, ta chọn trong ∆k một đơn hình con Sk ⊆ S mà ta cho rằng có nhiều khả năng chứa nghiệm tối ưu cần tìm nhất, rồi phân hoạchSk bởi một số hữu hạn tập con của Sk. Tiếp đó, ta lại tính lại các cận trên, cận dưới (giá trị kỷ lục) và loại bỏ dần các tập con.

3.2.3 Thuật toán

Giả sử D lồi compact, f liên tục, lồi trên D. Thuật toán

Khởi tạo:

Chọn một đơn hình S0 ⊃D.

Đặt Γ0 ={S0} và tính β(S0) = max{f(x)|x∈V(S0)}. Đặt k = 0 và chuyển tới bước k.

Bước lặp k(k = 0,1, ...):

Chọn Sk ∈ argmax{β(S)|S ∈Γk} và đặt βk =β(Sk).

Gọi xk là điểm chấp nhận được tốt nhất đã biết của (Q) và đặt αk = f(xk). Nếu không tìm được điểm như vậy, ta đặt αk =−∞.

Nếu βk ≤ αk thì dừng: nếu αk > −∞ thì xk là nghiệm tối ưu của (Q), nếu αk =−∞ thì (Q) bất khả thi.

Nếu βk > αk: Chia đơn hình Sk theo phép chia chuẩn với tỷ lệ 1/2 thành Sk−, Sk+.

Tính β(Sk−) và β(Sk+). Đặt ∆k = Γk\ {Sk} ∪

Sk−, Sk+ , Γk+1={S ∈∆k |β(S)> αk}. Chuyển tới bước lặp k+ 1.

Sự hội tụ của thuật toán

Ký hiệu giá trị tối ưu của bài toán (Q) là f∗.

Ta có αk ≤f∗ ≤βk, k= 1,2, ...; vàβk là dãy không tăng. Vì thế βk &β∗ ≥f∗ khi k →+∞.

Nếu thuật toán dừng ở bước k nào đó, tức là βk ≤ αk thì từ αk ≤ f∗ ≤ βk

suy ra αk = f∗ = βk. Trong trường hợp này, nếu có một điểm chấp nhận được xk và f(xk) = αk thì suy ra xk là một nghiệm tối ưu của (Q). Nếu α = −∞ thì f∗ =−∞, tức là bài toán bất khả thi.

Định lý 3.2. (i) Nếu thuật toán kéo dài vô hạn và không tìm được điểm chấp nhận được thì βk &f∗.

(ii) Trái lại thì mọi điểm giới hạn của dãy

xk là nghiệm tối ưu của (Q). Hơn nữa, βk &f∗ và αk %f∗.

Chứng minh. Khi thuật toán kéo dài vô hạn, nó sinh ra ít nhất một dãy con các đơn hình lồng nhau {Skν, ν = 1,2, ...} mà Skν ∩D 6= ∅ ∀ν vì nếu trái lại thì Skν sẽ bị loại.

Để đơn giản ký hiệu, thay vì viết kν ta viết ν.

Ta có Sν →x∗ khi ν → ∞ (do tính vét kiệt). Vì Sν∩D6=∅ nên x∗ ∈D. (i) Ta có βk =β(Sk) = max{f(x)|x∈V(Sk)}=f(vk).

Mặt khác vk →x∗ (do tính vét kiệt). Theo tính liên tục của hàm f ta có βk =f(vk)→f(x∗)≤f∗

Theo định nghĩa của cận trên βk ta có βk ≥f∗. Vậy f(x∗) =f∗. Do đó βk &f∗.

(ii) Giả sử xν là một điểm thuộc Sν ∩ D. Ta có lim

ν→∞(βν −f(xν)) = 0. Vì βν ≥f(xν)nên ta có lim ν→∞(βν −αν) = 0. Mặt khác, theo cách tính cậnβν =β(Sν) nên ta có lim ν→∞(βν −αν) = lim ν→∞(β(Sν)−αν) = 0. (3.4) Do D bị chặn nên

xk có một điểm tụ. Giả sử x∗ là một điểm tụ bất kỳ của

xk . Không giảm tổng quát ta giả sử xν → x∗. Do hàm f liên tục nên suy ra

lim

ν→∞f(xν) =f(x∗).

Đặtf∗= max{f(x)|x∈D}. Dãy{βk} là dãy không tăng và bị chặn dưới bởi f∗ nên tồn tạiβ = lim

k→∞βk. Hơn nữa, dãy {αk}là một dãy số thực không giảm và bị chặn trên bởi f∗ nên tồn tại α = lim

k→∞αk. Do đó, ta có α ≤ f∗ ≤β. Từ (3.4), ta có α = lim k→∞αk = lim k→∞f(xk) =f(x∗) = f∗ = lim k→∞βk =β.

Vậy điểm tụ x∗ của dãy

xk là nghiệm tối ưu của bài toán (Q), hơn nữa, βk &f∗ vàαk %f∗.

2

Ví dụ 3.1. Giải bài toán

f(x) = 3x21+ 2x22→max với các ràng buộc              x1+x2−10≤0, x2≤5 x1≥0, x2 ≥0. Giải: Ta có miền chấp nhận được D=x∈R2 | x1+x2−10≤0, x2 ≤5, x1 ≥0, x2 ≥0 . Ta lấy S0 =x∈R2 | x1+x2−10≤0, x1 ≥0, x2 ≥0 .

Tập đỉnh của S0 là V(S0) = {(0,0),(10,0),(0,10)}. Giá trị hàm mục tiêu tại các đỉnh này là f(0,0) = 0, f(10,0) = 300, f(0,10) = 200.

Bước lặp k= 0.

Ta có β0 = max{f(x)| x∈V(S0)}=f(10,0) = 300. Lấy x0 = (9,1

2) là điểm chấp nhận được trongS0. Ta có α0 =f(9,1 2) =

487 2 . Suy ra α0 < β0. Do đó, ta thực hiện chia đơn hình S0 thành hai đơn hình S1−, S1+ thỏa mãn S0 =S1−∪S1+ và intS1−∩intS1+=∅.

Bước lặp k= 1.

Lấy x1 = (9,1) là điểm chấp nhận được trong S1. Ta có α1 =f(9,1) = 245. • Đơn hình S1− có tập đỉnh là V(S1−) = (0,0),(5,5),(0,10). Giá trị hàm mục tiêu tại các đỉnh này là f(0,0) = 0, f(5,5) = 125, f(0,10) = 200.

• Đơn hình S1+ có tập đỉnh là V(S1+) = (0,0),(5,5),(10,0). Giá trị hàm mục tiêu tại các đỉnh này là f(0,0) = 0, f(5,5) = 125, f(10,0) = 300.

Ta có β1 = max

f(x)|x∈V(S1+) = f(10,0) = 300 > α1. Do đó, ta thực hiện chia đơn hình S1+ thành hai đơn hình S2−, S2+ thỏa mãn S1+ =S2−∪ S2+ và intS2−∩ intS2+=∅.

Ta có β1 = maxf(x)|x∈V(S1+) =f(10,0) = 300. Bước lặp k= 2.

Lấy x2 = (10,0) là điểm chấp nhận được trongS1+. Ta có α2 =f(10,0) = 300. • Đơn hình S2− có tập đỉnh là V(S2−) = (0,0),(5,5),(5,0). Giá trị hàm mục tiêu tại các đỉnh này là f(0,0) = 0, f(5,5) = 125, f(5,0) = 75.

Ta có β2 = maxf(x)|x∈V(S2−) =f(0,10) = 125< α2 (loại).

• Đơn hình S2+ có tập đỉnh là V(S2+) = (5,0),(5,5),(10,0). Giá trị hàm mục tiêu tại các đỉnh này là f(5,0) = 75, f(5,5) = 125, f(10,0) = 300.

Ta có β2 = maxf(x)|x∈V(S2+) =f(10,0) = 300.

Kết luận

Luận văn đã trình bày các vấn đề sau:

1. Trình bày những kiến thức cơ bản nhất về giải tích lồi. Đó là tập lồi, tập lồi đa diện, hàm lồi, tính liên tục của hàm lồi, dưới vi phân của hàm lồi và các ví dụ minh họa.

2.Trình bày các kiến thức cơ bản nhất của bài toán cực tiểu hàm lồi với ràng buộc lồi như các tính chất, các điều kiện tối ưu và trình bày một số thuật toán cơ bản để giải bài toán này. Đó là các thuật toán:

• Thuật toán hướng có thể giải bài toán cực tiểu hàm trơn, thuật toán này khá đơn giản nhưng rất tiếc tính hội tụ của thuật toán không được đảm bảo.

• Thuật toán Frank-Wolfe xây dựng dãy

xk với mục đích là hàm giá trị của xk giảm dần theo k và sẽ tiến tới nghiệm tối ưu của bài toán.

• Thuật toán chiếu dưới đạo hàm xấp xỉ cho ta nghiệm gần đúng với nghiệm tối ưu ban đầu. Thuật toán này áp dụng tốt cho bài toán với hàm mục tiêu không khả vi.

3. Trình bày tính chất cơ bản của bài toán cực đại hàm lồi với ràng buộc lồi như cực đại của hàm lồi nếu có sẽ đạt tại điểm cực biên (nói riêng, tại đỉnh) của tập lồi được xét và trình bày thuật toán nhánh cận giải bài toán này. Tư tưởng của thuật toán này gồm các phép xây dựng sao cho phép giảm bớt khối lượng lựa chọn. Ưu điểm của thuật toán này là cho phép ta không cần phải xem xét tất cả các nghiệm vẫn có thể tìm được nghiệm tối ưu.

Tài liệu tham khảo Tài liệu tiếng Việt

[1] Đỗ Văn Lưu và Phan Huy Khải, Giải tích lồi, Nhà xuất bản Khoa học và Kỹ thuật, Hà Nội 2000.

[2] Lê Dũng Mưu và Nguyễn Văn Hiền, Nhập môn giải tích lồi ứng dụng, NXB Đại học Quốc gia Hà Nội (sẽ ra).

[3] Trần Vũ Thiệu và Nguyễn Thị Thu Thủy,Nhập môn Tối ưu phi tuyến, NXB Đại học Quốc gia Hà Nội, (2011).

[4] Hoàng Tụy, Lý thuyết tối ưu, Viện toán học, Hà Nội, (2006). Tài liệu tiếng Anh

[5] Stephn Boyd and Lieven Vandenberghe, Convex Optimization, Cambridge University Press, (2004).

[6] Panos M. Pardalos and Jeffrey B. Rosen, Constrained Global Optimization: Algorithms and Applications, Springer-Verlag Berlin Heidelberg New York, (1987).

[7] Hoang Tuy, Convex Analysis and Global Optimization, Kluwer Academic Publlshers, (1997).

Một phần của tài liệu Cực đại và cực tiểu hàm lồi với ràng buộc lồi (Trang 51 - 61)

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

(61 trang)