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

Một phần của tài liệu (LUẬN văn THẠC sĩ) thuật toán giải một số bài toán tối ưu phân thức tuyến tính và phi tuyến (Trang 38 - 40)

2 THUẬT TOÁN CẢI TIẾN GIẢI QUY HOẠCH PHÂN

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

Mục nhỏ này chỉ ra rằng thuật toán Dinkelbach cũng đúng để giải bài toán phân thức tổng quát. Thuật toán áp dụng được là do có thể giải bài toán SUB(k), sinh ra ở mọi vòng lặp, mặc dù SUB(k) không nhất thiết là một bài toán quy hoạch lồi.

Giả sửxk là một dãy điểm củaX. Ký hiệufk là hàm được xác định bởi fk(x) = p(x)− f(xk)q(x) (Để ý fk(xk) = p(xk)−f(xk)q(xk) = 0 vì

f(xk) =p(xk)/q(xk)).

Bổ đề 3.1 Giả sử xk là một dãy điểm của X. Nếu fk(x) < 0 với một x

nào đó thuộc X thì f(x) < f(xk).

Chứng minh. Kết luận của bổ đề được suy ra từ biểu thức sau đây:

fk(x) =p(x)−f(xk)q(x) <0

Chia hai vế cho q(x)> 0 (theo (3.1)), ta nhận được f(x) < f(xk). Bổ đề sau cho thấy giá trị hàm mục tiêu f(x) của (P) giảm dần.

Bổ đề 3.2 Giả sử xk là một nghiệm chấp nhận được của (P) và xk+1

là một nghiệm tối ưu của SUB(k). Nếu xk là nghiệm tối ưu của SUB(k)

thì xk là một nghiệm tối ưu của (P). Trái lại, f(xk+1) < f(xk).

Chứng minh. Nếu xk là một nghiệm tối ưu của SUB(k) thì định lý

Jagannathan đảm bảo rằng xk là một nghiệm tối ưu của (P). Trái lại, do xk+1 là một nghiệm tối ưu của SUB(k) nên

fk(xk+1) < fk(xk) = p(xk)−f(xk)q(xk) =p(xk)− p(x

k) q(xk)q(x

k) = 0.

và theo Bổ đề 3.1, ta cóf(xk+1) < f(xk).

Bổ đề 3.2 bảo đảm cho tính đúng đắn của việc kiểm tra tối ưu ở Bước 3 của thuật toán. Nếu sau khi giải SUB(k) chưa phát hiện sự hội tụ, thuật toán tiếp tục vòng lặp k :=k+ 1 mới với tham số λk+1 = f(xk+1),

v.v . . .

Định lý sau khẳng định sự hội tụ của thuật toán.

Định lý 3.2 Thuật toán Dinkelbach hoặc dừng sau hữu hạn vòng lặp,

hoặc tạo ra một dãy vô hạn sao cho điểm tụ bất kỳ của dãy là nghiệm tối ưu của (P).

Chứng minh. Ta chứng minh rằng ánh xạ thuật toán Dinkelbach (ký

hiệu D : x ∈ X → y = argmin{p(y) − (p(x)/q(x))q(y) : y ∈ X}) là đóng trên tập X\S.

Giả sử {xk} và {yk} là hai dãy thỏa mãn (S - tập nghiệm tối ưu của (P))    xk ∈ X, lim k→∞xk = x∈ X\S yk ∈D(xk), lim k→∞yk =y (3.2) Ta chứng minh y ∈ D(x). Thật vậy, do yk ∈ X và X là tập đóng, nên y ∈ X. Đặt G(x, y) =p(y)− p(x) q(x)q(y), x∈ X, y ∈ D(x). Giả xử yˆ∈ D(x). Ta có bất đẳng thức G(x,yˆ) ≤ G(x, y). (3.3)

Theo giả thiết (3.2), yk là nghiệm tối ưu của P(f(xk)) và ta có bất đẳng thức

G(xk, yk)≤ G(xk,yˆ). (3.4) Hàm G(x, y) liên tục trên X×X, nói riêng liên tục tại (x, y). Qua giới hạn cả hai vế của (3.4), ta nhận được

G(x, y)≤ G(x,yˆ).

Kết hợp với (3.3), bất đẳng thức này kéo theo G(x,yˆ) = G(x, y)

và y là nghiệm tối ưu của P(f(x)), tức là y ∈D(x).

Vậy ta đã chứng minh ánh xạ thuật toán Dinkelbach là ánh xạ đóng trên tập X\S và Bổ đề 3.2 cho thấy giá trị mục tiêu f(xk) giảm dần. Các tính chất này đảm bảo thuật toán Dinkelbach hội tụ và định lý

đã được chứng minh đầy đủ.

Một phần của tài liệu (LUẬN văn THẠC sĩ) thuật toán giải một số bài toán tối ưu phân thức tuyến tính và phi tuyến (Trang 38 - 40)

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

(49 trang)