Thuật toán Frank-Wolfe

Một phần của tài liệu bài toán quy hoạch lồi (Trang 40 - 42)

Thuật toán. Tìm x0 ∈ D. Tại bước lặp k(k = 0,1, ...) có xk

Bước 1. Tính ∇f(xk). Nếu ∇f(xk) = 0 thì dừng thuật toán và xk là điểm

dừng. Trái lại, sử dụng phuơng pháp đơn hình để giải bài toán tối ưu tuyến tính

min{h∇f(xk), xi : x ∈ D}. (LPk) thu được nghiệm tối ưu cơ sở uk. Ta xét hai trường hợp:

(i) Nếu

h∇f(xk), uk −xki ≥ 0,

thì kết thúc: xk là điểm dừng. (ii) Nếu

h∇f(xk), uk−xki < 0,

lấy dk := uk −xk là một hướng giảm. Tìm độ dài bước lặp tk theo công thức:

tk = argmin{f(xk +tdk) : 0≤ t ≤1}.

Bước 2. Tính xk+1 := xk+tkdk. Thay k := k+ 1 và quay lại bước lặp k .

Định lí 3.5. (i) f(xk+1) < f(xk), ∀k.

(ii) Nếu thuật toán kết thúc ở bước lặp k, thì xk là điểm dừng. Nếu thuật

toán không kết thúc, thì mọi điểm tụ của dãy {xk} là điểm dừng.

(iii) Nếu thêm điều kiện, f là hàm lồi trên D, thì f(xk) hội tụ giảm về f∗ và ta có

0 ≤f(xk)−f∗ ≤ h∇f(xk), xk−uki, ∀k.

Chứng minh. (i) Vì theo thuật toán, dk là hướng giảm.

(ii) Theo tiêu chuẩn dừng, nếu thuật toán kết thúc ở bước lặp k, thì

h∇f(xk), uk −xki ≥ 0.

Do uk là một lời giải tối ưu của bài toán (LPk), nên ta có

h∇f(xk), x−xki ≥ h∇f(xk), uk−xki ≥ 0, ∀x ∈ D.

Vậy xk là một điểm dừng.

Tiếp theo, giả sử thuật toán không kết thúc. Lấy x∗ là một điểm tụ bất kỳ của dãy {xk} khi đó có một dãy con {xkj} dần đến x∗ khi j → ∞. Do D có hữu hạn các đỉnh, ta có thể giả sử rằng ukj = u∗ với mọi j. Từ

f(xk+1) < f(xk) với mọi k, theo định nghĩa xkj+1 và u∗, ta có

f(xkj+1) < f(xkj+1) ≤ f xkj +t(u∗ −xkj), ∀ 0≤ t ≤1.

Cho j →+∞, từ tính liên tục của hàm f ta được

f(x∗) ≤f (x∗ +t(u∗ −x∗)), ∀ 0 ≤ t≤ 1. Suy ra 0≤ lim t→0+ f (x∗ + t(u∗ −x∗))−f(x∗) t = h∇f(x∗), u∗ −x∗i.

Mặt khác, từ xkj là một lời giải tối ưu của bài toán (LPkj), ta có

h∇f(xkj), u∗ −xkji ≤ h∇f(xkj), x −xkji, ∀x ∈ D.

Lấy giới hạn khi j → +∞, ta được

h∇f(x∗), x−x∗i ≥ 0, ∀x ∈ D.

Vậy x∗ là một điểm dừng.

(iii) Giả sử rằng f là lồi trên D. Do tính lồi,

0≤ h∇f(x∗), x −x∗i ≤ f(x)−f(x∗), ∀x ∈ D.

Hay x∗ là lời giải tối ưu của bài toán (P). Hơn nữa, do uk là nghiệm tối ưu của bài toán (LPk) và f lồi nên tại mỗi bước lặp k ta có

h∇f(xk), uk−xki ≤ h∇f(xk), x∗ −xki ≤ f(x∗)−f(xk),

hay là

f(xk)−f(x∗) ≤ h∇f(xk), xk −uki, ∀k.

Một phần của tài liệu bài toán quy hoạch lồi (Trang 40 - 42)