Thuật toán xấp xỉ ngoài

Một phần của tài liệu về bài toán cực đại hàm lồi và ứng dụng của nó (Trang 40 - 44)

2 Một số thuật toán giải bài toán cực đại hàm lồi

2.3 Thuật toán xấp xỉ ngoài

Ta vẫn xét bài toán

f(C) := max{f(x) :x∈C} (P)

trong đó C := {x : aTi x ≤ bi, (i = 1,2, ..., m)} với ai ∈ Rn \ {0}, bi ∈ R,

(i= 1,2, ..., m) là tập lồi đa diện bị chặn với intC 6=∅ và f :A→R là hàm lồi liên tục trên tập A thỏa mãn C⊂A⊆Rn.

Ý tưởng

Dựa trên tính chất quan trọng của bài toán cực đại hàm lồi trên một tập lồi là nghiệm tối ưu (toàn cục) luôn đạt trên một điểm cực biên.

Ban đầu ta thay tập ràng buộc C bằng một tập D0⊃C, sao cho tập đỉnh của D0 dễ tính. Khi đó ta giải bài toán

max x∈D0 f(x) = max x∈V(D0) f(x) được nghiệm x0 ∈D0

• Nếu x0 ∈C thì dừng: x0 là nghiệm tối ưu của Bài toán (P).

• Nếu x0 ∈/ C ta dùng siêu phẳng l(x) cắt x0, nhưng không cắt đi bất kỳ điểm nào của C. Tức là l(x0)>0 và l(x)≤0, ∀x∈C.

Thuật toán Khởi tạo

Xây dựng một đa diện D0⊃C. Tính tập hợp đỉnh V(D0). Bước lặp k (k = 0,1, ...)

Tại thời điểm bắt đầu bước lặp k (k = 0,1, ...), ta có một đa diện Dk với tập đỉnh V(Dk).

Giải bài toán max{f(x) :x∈V(Dk)} được nghiệm xk.

Nếu xk ∈C thì dừng: xk là nghiệm tối ưu của Bài toán (P). Nếu xk ∈/ C. Chọn k sao cho aTkxk > bk.

Đặt Dk+1:=Dk∩ {x:aTkx≤bk}.

Tính V(Dk+1) và chuyển sang bước k+ 1.

Hình 2.4: Minh họa thuật toán xấp xỉ ngoài

Định lý 2.4. Thuật toán trên kết thúc sau tối đa m bước lặp.

Chứng minh. Nếu thuật toán trên không dừng tại bước lặp k, tức là tại

bước lặp k có một ràng buộc bị vi phạm, ta giả sử ràng buộc bị vi phạm đó là aTkx > bk. Khi đó, theo thuật toán trên ta xây dựng đa diện mới

Dk+1 :=Dk∩ {x:aTkx≤bk}.

Vậy trong mỗi lần lặp có một ràng buộc của tập ràng buộc C được thêm vào đa diện tiếp theo. Do tập C có m ràng buộc nên suy ra thuật toán phải dừng sau tối đa m bước lặp.

Ta có sơ đồ khối sau Bắt đầu k = 0 D0 ⊃ C, V(D0) dễ tính max{f(x) : x ∈ V(Dk)} được nghiệm xk xk ∈C kết thúc Chọn k sao cho aTkxk > bk Dk+1 := Dk ∩ {x : aTkx ≤ bk} k + 1 → k đúng sai Ví dụ 2.3.1 Xét bài toán f(x) = x2+y2+ 3x+ 2y−5 6xy→max (P2)

với các ràng buộc                x+ 2y−1≤0 2x−y−1≤0 x≥0 y≥0

Ta giải bài toán trên bằng phương pháp xấp xỉ ngoài. Ta có miền chấp nhận được

C ={x∈R2:x+ 2y−1≤0, 2x−y−1≤0, x≥0, y ≥0}.

Hình 2.5: Hình vẽ minh họa

LấyD0 =co{(0,0),(0,12)(1,0)} ⊃C.Tập đỉnh củaD0làV(D0) ={(0,0),(0,12),(1,0)}. Giá trị hàm mục tiêu tại các đỉnh này là f(0,0) = 0, f(0,21) = 54, f(1,0) = 4.

Ta có f(x0) = max{f(x, y) : (x, y)∈V(D0)}=f(1,0) = 4.

Vìx0 = (1,0)∈/C nên dùng siêu phẳng2x−y−1≤0 cắt đi điểmx0 = (1,0)

Lấy D1 =co{(0,0),(0,12),(35,15),(21,0)} ⊃C. Tập đỉnh của D1 là

V(D1) = {(0,0),(0,12),(35,15),(12,0)}. Giá trị hàm mục tiêu tại các đỉnh này là f(0,0) = 0, f(0,12) = 54, f(53,15) = 52, f(12,0) = 74.

Ta có f(x1) = max{f(x, y) : (x, y)∈V(D1)}=f(35,15) = 52.

Vì x1 = (35,15) ∈ C nên x1 = (35,15) là nghiệm tối ưu của bài toán và f(35,15) = 52 là giá trị cực đại của bài toán.

Một phần của tài liệu về bài toán cực đại hàm lồi và ứng dụng của nó (Trang 40 - 44)

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

(49 trang)