2 Một số phương pháp giải bài toán tối ưu không trơn
2.3 Một số phương pháp giải bài tốn tối ưu khơng trơn
2.3.3 Phương pháp bó
Phương pháp bó được thác triển từ phương pháp dưới gradient liên hợp. Đó là phương pháp hướng giảm với f(xk+1) ≤f(xk) đối với mọi k.
Phương pháp dưới gradient liên hợp do Wolfe nêu ra. Tại bước lặp thứ
k có tập chỉ số Ik ⊂ {1,2, ..., k}. Hướng tìm được xác định là
d = −X
i∈Ik
λ(k)i gi, gi ∈ ∂f(xk), (2.21)
trong đó, λ(k)i (i ∈ Ik) là nghiệm của bài tốn
min kXλigi k22 (2.22)
s.t X
i∈Ik
λi = 1, λi ≥ 0. (2.23)
Khi f(x) là hàm lồi bậc hai và Ik = {1,2, ..., k} với thủ tục tìm chính xác theo tia thì hướng xác định bởi (2.21)-(2.23) trùng với hướng của phương pháp gradient liên hợp. Phương pháp được mô tả như sau: Thuật toán 2.4. (Phương pháp dưới gradient liên hợp)
Bước 1. Cho điểm ban đầu x1 ∈ Rn tính g1 ∈ ∂f(x1).
Chọn 0< m2 < m1 < 1
2; 0 < m3 < 1, 0 < ε, η >0, k := 1, I = {1}.
Bước 2. Tính hướng dk theo (2.21)-(2.23).
Nếu k dk k< η dừng thuật tốn. Bước 3. Tính yk = xk +αkdk thỏa mãn
f(yk) ≤f(xk)−m2αk kdk k22 (2.24)
hoặc
Bước 4. Nếu có gk+1 ∈ ∂f(xk) thỏa mãn
gTk+1dk ≥ −m1 kdk k22 (2.26)
thì xk+1 := yk. Trái lại, đặt xk+1 := xk.
Bước 5. Đặt Ik+1 := Ik∪ {k + 1}\Tk trong đó Tk là tập chỉ số
Tk = {i| k xi −xi+1 k> ε}.
Bước 6. Đặt k := k+ 1 và quay trở lại Bước 2.
Thuật toán trên hội tụ theo định lý sau:
Định lí 2.10. Giả sử f(x) là một hàm lồi. Nếu k∂f(x) k bị chặn trong tập mở chứa tập {x|f(x) ≤ f(x1)} và dãy {xk} sinh bởi Thuật toán 2.4 sao cho dãy f(xk) bị chặn dưới thì thuật tốn kết thúc sau hữu hạn bước lặp.
Chúng ta xét một trường hợp mở rộng của phương pháp dưới gradient liên hợp.
Giả sử rằng chúng ta đã thực hiện được một số bước của phương pháp dưới gradient liên hợp. Khi đó, một số điểm nào đó đã được sinh ra và tại các điểm đó giá trị của hàmf cùng với các dưới gradient đã được tính tốn. Ta kí hiệu các thơng tin trên bằng bó x1, ..., xk;f1, ..., fk;g1, ..., gk, trong đó fi = f(xi) và gi ∈ ∂f(xi).
Giả sử tại bước lặp thứk ta có các giá trị trọng sốt(i)k ≥ 0(i = 1, ..., k).
Xét bài toán phụ sau
min k
k
X
i=1
λigi k (2.27)
với điều kiện
k X i=1 λi = 1, λi ≥0 (2.28) k X i=1 λit(k)i ≤ ε, (2.29)
trong đó, ε > 0 là một hằng số cho trước. Gọi nghiệm của (2.27)-(2.29) là λ(k)i . Khi đó, hướng tìm theo phương pháp bó là
dk = −
k
X
i=1
λ(k)i gi. (2.30)
Dễ kiểm tra lại rằng nếu t(k)i = 0 (i ∈ Ik) và t(k)i = +∞(i 6∈ Ik) thì bài tốn (2.27)-(2.29) sẽ hồn tồn tương đương với bài tốn (2.22)-(2.23). Thuật toán 2.5. (Phương pháp bó)
Bước 1. Cho điểm ban đầu x1 ∈ Rn. Tính g1 ∈ ∂f(x1). Chọn 0< m2 < m1 < 1
2; 0 < m3 < 1, ε > 0, η >0, k := 1 và t (1)
1 := 1.
Bước 2. Giải bài tốn (2.27)-(2.29) để tìm λ(k)i . Tính dk theo (2.30). Nếu
k dk k< η thì dừng thuật tốn.
Bước 3. Tính yk = xk +αkdk thỏa mãn (2.24) hoặc
f(yk)−αkgk+1T dk ≥ f(xk)−ε (2.31)
trong đó gk+1 ∈ ∂f(yk). Nếu (2.24) khơng thỏa mãn, chuyển sang Bước 5.
Bước 4. Đặt
xk+1 := yk, t(k+1)k+1 = 1
t(k+1)j = t(k)j +f(xk+1)−f(xk)−αkgjTdk, j = 1, ..., k.
Đặt k := k + 1 quay lại Bước 2. Bước 5. Đặt
xk+1 := xk, t(k+1)j = t(k)j ,(j = 1, ..., k)
t(k+1)k+1 = f(xk)−f(yk) +αkgTk+1dk, j = 1, ..., k.
Đặt k := k+ 1 quay lại Bước 2.
Định lí 2.11. Với các giả thiết của Định lý 2.10, Thuật toán 2.5 sẽ kết thúc sau hữu hạn bước lặp, nghĩa là có số k ∈ IN sao cho
f(xk) ≤ f∗ −ε
với IN là một tập các chỉ số nguyên dương.
2.3.4 Phương pháp miền tin cậy đối với hàm hợp khơng trơn 2.3.4.1 Tính chất cơ bản của hàm hợp không trơn
Xét bài tốn có dạng
min
x∈Rnh(f(x)), (2.32)
trong đó f(x) = (f1(x), ..., fm(x))T là hàm khả vi liên tục và h(f) :
Rm → R1 là hàm lồi nhưng không trơn. Hàm mục tiêu trong (2.32) là hàm hợp và bài toán (2.32) là bài tốn tối ưu khơng trơn của hàm hợp (ký hiệu là NSO) hay bài tốn tối ưu khơng khả vi của hàm hợp (ký
hiệu là N DO).
Sau đây là một ví dụ về bài tốn tối ưu khơng trơn của hàm hợp. Ví dụ 2.6. Xét hệ phương trình tuyến tính
Ax = b, (2.33)
trong đó A ∈ Rm×n và b ∈ Rm. Nếu m > n thì hệ phương trình (2.33) nói chung sẽ khơng có nghiệm. Tuy nhiên, ta có thể tìm được x sao cho sai số giữa Ax và b là nhỏ nhất. Để tìm x như vậy ta phải giải bài tốn cực tiểu
min
x∈Rn k Ax−b k, (2.34)
trong đó k. k là một chuẩn trên Rm. Hiển nhiên (2.34) là một dạng của bài toán (2.32). Nếu lấy chuẩn k . k2 trong (2.34) thì bài tốn chính là bài tốn bình phương tối tiểu cổ điển.
Ngoài ra, chú ý là bài tốn tối ưu trơn có ràng buộc có thể biến đổi về bài tốn tối ưu khơng trơn của hàm hợp bằng phương pháp hàm phạt
chính xác. Đó là một lý do nữa làm cho bài tốn tối ưu khơng trơn của hàm hợp được nhiều nhà nghiên cứu quan tâm.
Trước khi mô tả các thuật tốn giải bài tốn tối ưu khơng trơn của hàm hợp ta cần xét điều kiện tối ưu của bài toán NSO. Để cho đơn giản ta đưa vào ký hiệu sau:
χ(x, d) =h(f(x))−h(f(x) +A(x)Td) (2.35) Ψt(x) = max kdk≤tχ(x, d) (2.36) DF(x, d) = sup λ∈∂h(f(x)) dTA(x)λ, (2.37)
trong đó ∂h(f(x)) là dưới gradient của h(.) tại f(x), A(x) = ∇f(x)T là ma trận cấp n×m.
Do h(.) là một hàm lồi nên theo quy tắc lấy dưới gradient của hàm hợp, ta dễ dàng nhận được bổ đề sau đây.
Bổ đề 2.2. Với hàm hợp fe(x) =h(f(x)) thì điều kiện
0 ∈ ∂fe(x) (2.38)
tương đương với
DF(x, d) ≥0, ∀d ∈ Rn. (2.39)
Khi ấy điểm dừng của bài toán tối ưu khơng trơn thỏa mãn điều kiện(2.39).
Từ tính lồi của h(f) ta cịn có thể nhận được các kết quả sau:
Bổ đề 2.3. Với χ(x, d),Ψt(x), DF(x, d) được xác định theo (2.35)-(2.37)
thì
1) DF(x, d) tồn tại với mọi x và d.
2) χ(x, d) là hàm lõm theo d và đạo hàm theo hướng tại d∗ = 0 theo hướng d là -DF(x, d).
4) Ψt(x) là hàm lõm theo t.
5) Ψt(x) là một hàm liên tục theo x với mọi t ≥ 0.
Từ các kết quả trên ta có thể chỉ ra rằng các điều kiện sau đây là tương đương:
1) Dãy {xk} có một điểm tụ x∗ là điểm dừng. 2)
lim inf
k→∞ Ψ1(xk) = 0. (2.40)
Từ định lý về điều kiện cần tối ưu nêu ở mục 2.2 suy ra nếu x∗ là điểm cực tiểu của hàm h(f(x)) thì x∗ là một điểm dừng. Với hàm hợp khơng trơn có thể viết lại điều kiện này ở dạng tương đương sau.
Định lí 2.12. Nếu x∗ là cực tiểu của bài toán NSO (2.32) thì tồn tại
λ∗ ∈ ∂h(f(x∗)) sao cho
A(x∗)λ∗ = 0 (2.41)
trong đó A(x) = ∇f(x)T.
Chứng minh. Ta chỉ cần chứng minh rằng điều kiện A(x∗)λ∗ = 0 và
DF(x∗, d) ≥ 0,∀d là tương đương.
Thật vậy, nếu có A(x∗)λ∗ = 0 thì theo định nghĩa (2.37) DF(x∗, d) ≥ 0,∀d ∈ Rn. Ngược lại giả sử DF(x∗, d) ≥ 0∀d ∈ Rn nhưng A(x∗)λ∗ 6= 0.
Khi đó tập
S = {A(x∗)λ|λ ∈ ∂h(f(x∗))} (2.42) khơng chứa điểm 0. Do ∂h(f(x∗)) là tập lồi đóng nên S cũng là tập lồi đóng. Do đó, áp dụng định lý tách các tập lồi, sẽ có vecto d ∈ Rn sao cho
dTA(x∗)λ < 0,∀λ ∈ ∂h(f(x)).
Do∂h(f(x∗)) là tập đóng nên bất đẳng thức này trái vớiDF(X∗, d) ≥0.
Điều mâu thuẫn này cho thấy sự tương đương giữa A(x∗)λ∗ = 0 và
DF(X∗, d) ≥0.
Mặc dầu hàm fe(x) = h(f(x)) có thể khơng lồi, song ta vẫn có thể nhận được điều kiện đủ cấp 1 sau đây.
Định lí 2.13 (Điều kiện đủ cấp 1). Nếu DF(x, d) > 0 với ∀d 6= 0 thì
x∗ là điểm cực tiểu địa phương chặt của hàm h(f(x)).
Chứng minh. Từ điều kiện DF(x∗, d) > 0 suy ra tồn tại δ >0 sao cho
DF(x∗, d) ≥ δ,∀ k d k= 1. (2.43)
Giả sử rằng kết luận của định lý sai. Khi đó, tồn tại xk → x∗ thỏa mãn
h(f(xk)) ≤ h(f(x∗)). Giả sử xk = x∗ +αkdk,k dk k2= 1. αk > 0, αk →0. Khi đó h(f(xk))−h(f(x∗)) = h(f(x∗) +A(x∗)T(xk −x∗)) −h(f(x∗)) +o(αk) ≥ αkDF(x∗, dk) + o(αk) ≥ αkδ +o(αk),
trái với h(f(xk)) ≤ h(f(x∗)). Ta gặp mâu thuẫn và định lý được chứng
minh.
Thực ra từ giả thiết DF(x∗, d) > 0∀d 6= 0 suy ra tồn tại δ và ε sao cho
h(f(x)) −h(f(x∗)) ≥ δ kx−x∗ k .
với mọi x thỏa mãn kx−x∗ k≤ε.
2.3.4.2 Phương pháp miền tin cậy cho bài toán tối ưu khơng trơn với hàm hợp
Với bài tốn (2.32), bài tốn con của phương pháp miền tin cậy có dạng min d∈Rnh(f(xk) +A(xk)Td) + 1 2d T Bkd = Φk(d) (2.44)
với điều kiện
k d k≤∆k, (2.45)
trong đó, A(x) = ∇f(x)T ∈ Rn×m,
Bk ∈ Rn×n là ma trận đối xứng,
∆k > 0 là bán kính của miền tin cậy và ∆k được điều chỉnh lớn nhất có thể để duy trì sự phù hợp đầy đủ giữa Φk(d) và h(f(xk+d)).
Chuẩn k . k có thể tùy ý, nhưng trong mục này thường sử dụng chuẩn
k .k2.
Giả sử dk là một nghiệm của bài toán (2.44)-(2.45). Tương tự như định lý 2.12 ta có thể chứng minh được rằng có tồn tại
λk ∈ ∂h(f(xk) +A(xk)Tdk) (2.46)
µk ∈ ∂ k dk k (2.47)
và µk ≥ 0 sao cho
A(xk)λk +βkdk +µkµk = 0 (2.48)
µk[∆k− k dk k] = 0. (2.49)
Thuật tốn miền tin cậy cho bài tốn khơng trơn với hàm hợp như sau: Thuật toán 2.6. (Thuật toán miền tin cậy giải bài toán NSO)
Bước 1. Cho x1 ∈ Rn, λ0 ∈ Rm,∆1 > 0, ε ≥ 0, k := 1.
Bước 2. Tính
Bk = X(λk−1)i∇2fi(xk). (2.50)
Giải bài tốn (2.44)-(2.45) để tìm dk. Nếu k dk k≤ε dừng thuật tốn. Bước 3. Tính rk = h(f(xk)) −h(f(xk +dk)) Φk(0)−Φk(dk) . (2.51) Nếu rk < 0.25 thì đặt ∆k+1 := k dk k 4 . Nếu rk > 0.75 và k dk k= ∆k thì đặt ∆k+1 = 2∆k. Các trường
hợp khác, đặt ∆k+1 = ∆k.
Bước 4. Nếu rk > 0 thì chuyển sang Bước 5, nếu trái lại thì đặt xk+1 := xk, λk := λk−1 và chuyển sang Bước 6.
Bước 5. Đặt xk+1 := xk +dk, λk được xác định theo (2.48).
Bước 6. Đặt k := k+ 1 và quay lại Bước 2.
Để phân tích sự hội tụ của Thuật tốn 2.6 ta giả sử dãy {xk} sinh bởi thuật tốn là bị chặn, điều đó chắc chắn có nếu tập mức bất kỳ
{x|h(f(x)) ≤ h(f(x1))} là bị chặn. Từ tính bị chặn của dãy {xk} suy ra có tập Ω lồi, đóng, bị chặn sao cho
xk ∈ Ω, xk +dk ∈ Ω,∀k = 1,2... (2.52) Do h(.) là hàm lồi và được xác định trên toàn Rm nên tồn tại hằng số
L >0 sao cho
|h(f1)−h(f2)| ≤L kf1 −f2 k (2.53) với mọi f1, f2 ∈ f(Ω) = {v = f(x), x ∈ Ω}. Từ tính khả vi liên tục của f và tính bị chặn của Ω suy ra tồn tại hằng số M > 0 sao cho
k A(x) k≤M (2.54)
với mọi x ∈ Ω.
Định lí 2.14. Cho fi(x) (i = 1,2, ..., m) là các hàm hai lần khả vi, liên tục. Nếu dãy {xk} sinh bởi Thuật tốn 2.6 bị chặn thì tồn tại một điểm tụ x∗ của Thuật toán 2.6 là điểm dừng của bài tốn tối ưu (2.32).
Ngồi ra, chúng ta có hệ quả sau đây.
Hệ quả 2.1. Với giả thiết của Định lý 2.14 nếu thay cho (2.50) k Bk k bị
chặn đều thì dãy{xk}có điểm tụx∗ là điểm dừng.
Bây giờ ta giảm nhẹ tính bị chặn đều của k Bk k thành
kBk k≤ C5 +C6
k
X
i=1
Cũng vậy sự điều chỉnh bán kính của miền tin cậy có thể được mở rộng cho trường hợp tổng quát.
k dk k≤∆k+1 ≤min[C1∆k,∆] nếu rk ≥ C2 (2.56)
C3 kdk k≤ ∆k+1 ≤ C4∆k nếu rk < C2, (2.57) trong đó Ci(i = 1,2, ...,6) là các hằng số dương thỏa mãn C1 > 1 > C4 > C3;C2 < 1. ∆ là một hằng số cho trước và là một cận trên cho bán kính miền tin cậy. Với các điều kiện mở rộng, ta cũng có thể thiết lập sự hội tụ. Trước hết ta xét bổ đề sau.
Bổ đề 2.4. Nếu dk là nghiệm của (2.44)-(2.45) thì
h(f(xk))−Φk(dk) ≥ 1 2Ψ∆k(xk) min h 1; Ψ∆k(xk) k Bk k ∆2k i ,
trong đó Ψt(x) được xác định theo (2.35)-(2.36)
Chứng minh. Từ định nghĩa của dk suy ra
h(f(xk))−Φk(dk) ≥ h(f(xk))−Φ(d)
với mọi d thỏa mãn k d k≤ ∆k. Theo định nghĩa của Φt(x), tồn tại k dk k≤ ∆k sao cho
Ψ∆k(xk) = h(f(xk))−h(f(xk) +A(xk)Tdk).
Do h(.) là hàm lồi nên ta nhận được
h(f(xk))−Φk(dk) ≥ h(f(xk))−Φk(αdk) = χ(xk, αdk)− 1 2α 2dTkBkdk ≥ αχ(xk, dk)− 1 2α 2 k Bk kkdk k2 ≥ αΨ∆k(xk)− 1 2α 2 kBk k ∆2k, với α ∈ [0; 1]. Vì thế h(f(xk))−Φk(dk) ≥ max 0≤α≤1 αΨ∆k(xk)− 1 2α 2 kBk k ∆2k ≥min h1 2Ψ∆k(xk); [Ψ∆k(xk)]2 k Bk k ∆2k i .
Từ đây suy ra điều cần chứng minh.
Bây giờ có thể mở rộng kết luận của Định lý 2.11
Định lí 2.15. Cho fi(x),(i = 1,2, ..., m) là các hàm hai lần khả vi, liên tục. Giả sử Bk trong Thuật tốn 2.6 khơng cho theo (2.50) mà được cho theo (2.55) và dãy {xk} của thuật tốn bị chặn thì phải có một điểm tụ
x∗ của dãy {xk} là điểm dừng của bài toán (2.32).
Chứng minh. Giả sử rằng kết luận của định lý khơng đúng. Khi đó, tìm được hằng số δ > 0 sao cho
Ψ1(xk) ≥ δ,∀k. Từ Bổ đề 2.3 và Bổ đề 2.4, bất đẳng thức Ψ1(xk) ≥ δ,∀k và tính bị chặn của ∆k ta có h(f(xk))−Φk(dk) ≥ C7min h ∆k, 1 kBk k i ≥ C7min h ∆k, 1 kC5 + C6 k P i=1 ∆1 k i , trong đó C7 là một hằng số dương. Bằng cách đặt S = {k|rk ≥C2}, ta có h(f(xk))−min x∈Ω h(f(x)) ≥ ∞ X k=1 h(f(xk))−h(f(xk+1)) ≥ X k∈S h(f(xk))−h(f(xk+1)) ≥ C2X k∈S h(f(xk)) −Φk(dk).
Kết hợp điều kiện trên với ∆k ≤ ∆ ta suy ra P k∈S ∆k C5 +C6 k P i=1 ∆i < +∞. (2.58)
Theo định nghĩa của ∆k+1 thì ∆k+1 ≤C4∆k,∀k ∈ S, bất đẳng thức này cho ta k X i=1 ∆i ≤ 1 + C1 1−C4 h k X i=1 i∈S ∆i + ∆1 i . (2.59) Kết hợp (2.58) và (2.59) cho thấy P i∈S
∆i là hội tụ, hơn nữa
∞
P
k=1
∆k cũng hội tụ theo (2.59). Do đó k Bk k bị chặn đều và vì thế theo Hệ quả 3.1 ta thấyΨ1(xk) ≥ δ,∀k là không đúng. Ta gặp mâu thuẫn và định lý được chứng minh.
Tương tự như phương pháp miền tin cậy cho tối ưu khơng ràng buộc, điều kiện (2.55) có thể giảm nhẹ thành
kBk k≤ C8 +C9.k
Tuy nhiên, đối với phương pháp miền tin cậy cho tối ưu không trơn dù ban đầu Bk như thế nào cũng chỉ đạt được tốc độ hội tụ tuyến tính.
2.3.5 Phương pháp Newton khơng trơn
Phương pháp Newton cổ điển được mở rộng cho trường hợp không trơn bằng cách sử dụng ma trận Jacobi suy rộng thay thế cho ma trận Jacobi cổ điển. Mục này sẽ đề cập tới phương pháp Newton cho tối ưu không trơn.
Trước hết, ta tìm hiểu khái niệm ma trận Jacobi suy rộng và hàm nửa trơn. Giả sử F : Rn → Rm là một hàm Lipschitz địa phương. Khi đó, F khả vi hầu khắp nơi. Kí hiệu DF là tập tất cả các điểm tại đó F
khả vi và J F(x) là ma trận Jacobi cấp m×n thơng thường các đạo hàm riêng tại những điểm x mà ở đó có tồn tại đạo hàm riêng.
Jacobi suy rộng của F tại x được kí hiệu ∂F(x) là bao lồi của tất cả các ma trận V cấp m ×n thu được khi lấy giới hạn của dãy có dạng
J F(xi), trong đó xi → x và xi ∈ DF. Khi đó, ta có
∂F(x) = co{limJ F(xi)|xi →x, xi ∈ DF}. (2.60) Nếu F là Lipschitz trên tập mở U trong Rn và x, y ∈ U, khi đó ta có
F(y)−F(x) ∈ ∂F([x, y])(y −x). (2.61) Giả sử với mọi h ∈ Rn tồn tại giới hạn
lim
V∈∂F(x+th)
t↓0
{V h}. (2.62)
Khi đó đạo hàm theo hướng theo nghĩa thơng thường
F0(x, h) = lim t↓0 F(x+th)−F(x) t (2.63) tồn tại và F0(x, h) = lim V∈∂F(x+th) t↓0 {V h}. (2.64) Thực vậy, theo (2.61) ta có lim t↓0 F(x+tjh)−F(x) tj ∈ co∂F([x, x+tjh])h.
Theo định lý Caratheodory tồn tại t(k)j ∈ [0, tj], λ(k)j ∈ [0,1], Vj(k) ∈ ∂F([x, x+t(k)j h]), với k = 0,1, ..., m, m P k=0 λ(k)j = 1 sao cho F(x+tjh)−F(x) tj = m X k=0 λ(k)j Vj(k)h.
k = 0,1, ..., m và
m
P
k=0
λj = 1. Khi đó có dãy tj ↓0 sao cho
F0(x, h) = lim j→∞ F(x+tjh)−F(x) tj = lim j→∞{ m X k=0 λ(k)j Vj(k)h} = m X k=0 lim j→∞λ(k)j lim j→∞{Vj(k)h} = m X k=0 λj lim V∈∂F(x+th) t↓0 {Vj(k)h} = lim V∈∂F(x+th) t↓0 {Vj(k)h}
Hàm F gọi là nửa trơn tại x nếu F là Lipschitz địa phương tại x và tồn tại giới hạn với mọi h ∈ Rn