Định nghĩa 2.2. Một vectơ d 6= 0 được gọi là một hướng chấp nhận được của tập D tại x∗ ∈ D nếu:
x∗ +λd ∈ D,∀λ > 0đủ nhỏ
Kí hiệu D(x∗) là tập tất cả hướng chấp nhận được của D tạix∗ và D(x∗) là bao đóng của nó.
Định lý 2.5. Giả sử hàm f khả vi trên một tập mở chứa D và x∗ là một điểm cực tiểu địa phương của f trên D. Khi đó
Chứng minh: Khai triển Taylor của f tại x∗ là
f(x∗ +λd) =f(x∗) +λh∇f(x∗), di+o(λ||d||). (2.8)
Do x∗ là cực tiểu địa phương của bài toán (P) nên
f(x∗ +λd)−f(x∗) ≥ 0,∀λ > 0đủ nhỏ.
Từ (2.8) ta được
dT 5f(x∗) + o(λ||d||)
λ ≥ 0,∀λ >0 đủ nhỏ.
Suy ra (2.7).
Một điểm x∗ ∈ D mà thỏa mãn điều kiện (2.7) được gọi là điểm dừng của f trên D. Một điểm dừng chưa chắc là điểm cực tiểu địa phương. Ví dụ 2.1. Xét bài toán
minf(x) =x3 trên C = [−1; 2]
Rõ ràng x∗ = 0 là điểm dừng củaf(x) nhưng điểm cực tiểu của f(x) trên
C đạt tại x = −1. Xét bài toán (P):
minf(x)
với điều kiện
x ∈ D := {x ∈ X, gj(x) ≤ 0, hi(x) = 0, j = 1, .., m;i = 1, .., k}.
Cho x0 ∈ D và tập
A(x0) := {j : gj(x0) = 0}
gọi là tập chỉ số tích cực. Đặt S(x0) là tập nghiệm của hệ phương trình tuyến tính sau: h5hi(x0), di = 0, i = 1, .., k h5gj(x0), di ≤ 0, j ∈ A(x0) Mệnh đề 2.1. Với mọi x0 ∈ D ta có D(x0) ⊆ S(x0).
Chứng minh: Cho d ∈ D(x0). Nếu dT 5gj(x0) > 0(j ∈ A(x0)) thì ta có
gj(x0 + d)−gj(x0) > 0 hay gj(x0 +d) > gj(x0) = 0 do j ∈ A(x0).
Điều này mâu thuẫn với giả thiết d là hướng chấp nhận được. Vậy
h5gj(x0), di = 0, j ∈ A(x0).
Chứng minh tương tự ta có
h5hi(x0), di = 0, i = 1, .., k.
Chứng tỏ d ∈ S(x0). Vậy D(x0) ⊆ S(x0). Hơn nữa S(x0) là tập đóng nên
D(x0) ⊆ S(x0).
Định nghĩa 2.3. Ta nói rằng điều kiện chính quy được thoả mãn tại x0 nếu
S(x0) = D(x0).
Định lý 2.6. (Kuhn-tucker) Giả sử các hàm f, gj(j = 1, .., m), hi(i = 1, .., k) là các hàm khả vi liên tục và x∗ là nghiệm tối ưu địa phương của bài toán (P) thỏa mãn điều kiện chính quy. Khi đó, tồn tại các nhân tử Lagrange λ∗ = (λ∗1, ..., λ∗m) ≥ 0, à∗ = (à∗1, ..., à∗k) không đồng thời bằng 0 (2.9) sao cho ∇f(x∗) + m X j=1 λ∗j∇gj(x∗) + k X i=1 à∗i∇hi(x∗) = 0, (2.10) λ∗jg(x∗) = 0,∀j = 1, ..., m(điều kiện bù). (2.11)
Ngược lại, nếu f, gi là các hàm lồi với mọii vàhi là các hàm affine với mọi
j và nếu x∗ ∈ D thỏa mãn điều kiện (2.9), (2.10), (2.11) thì x∗ là nghiệm tối ưu của bài toán (P).
Chứng minh: Sử dụng khai triển Taylor
ta có h∇f(x∗), di ≥ 0,∀d ∈ D(x∗). Do D(x∗) = S(x∗), nên h∇f(x∗), di ≥ 0,∀d ∈ S(x∗). áp dụng Bổ đề Farkas với ma trận A có các dòng −∇gj(x∗), j ∈ A(x∗),∇hi(x∗),−∇hi(x∗), i= 1, ..., k. Ta có các số λ∗j ≥ 0, j ∈ A(x∗) và α∗i ≥ 0, βi∗ ≥ 0, i = 1, ..., k sao cho: ∇f(x∗) + X j∈A(x∗) λ∗j∇gj(x∗) + k X i=1 (αi∗ −βi∗)∇hi(x∗) = 0.
Lấy λ∗j = 0 với mọi j 6∈ A(x∗) và à∗i = αi −βi∗ với mọi i thì ta có (2.10) và (2.11).
Giả sử gi là các hàm lồi và hj là các hàm affine với mọi i, j. Ta sẽ chứng minh ba điều kiện (2.9), (2.10), (2.11) là điều kiện đủ để x∗ ∈ D là nghiệm tối ưu của bài toán (P). Thật vậy, nếu x∗ không phải là nghiệm tối ưu, thì sẽ tồn tại x ∈ D sao cho f(x) < f(x∗). Đặt d := x−x∗ 6= 0. Khi đó
h∇f(x∗), di = lim
t→0
f(x∗ +td)−f(x∗)
t < 0. (2.12)
Mặt khác, λ∗jgj(x∗) = 0 với mọi j, nên λj∗ = 0 nếu j 6∈ A(x∗). Với x ∈ D, lập luận tương tự, ta có
h∇gj(x∗), x−x∗i ≤ gj(x)−gj(x∗) ≤ 0,∀j ∈ A(x∗).
Do đó
λ∗jh∇gj(x∗), di ≤ gj(x)−gj(x∗)∀j ∈ A(x∗). (2.13)
Theo tính chất affine của các hàm hi với mọi i = 1, ..., k, ta có:
h∇hi(x∗), di = 0. (2.14)
Suy ra
Kết hợp (2.12), (2.13), (2.14), ta được h∇f(x∗), di+ m X j=1 λ∗jh∇gj(x∗), di+ k X i=1 à∗ih∇hi(x∗), di < 0.
Chương 3
Phương pháp điểm trong giải bài toán quy hoạch lồi
Trong chương này chúng ta sẽ trình bày một phương pháp cơ bản để giải bài toán quy hoạch lồi. Đó là phương pháp điểm trong, tính đồng thuận và thuật toán gốc. Đây là chương chính của luận văn. Các kiến thức của chương được tham khảo chủ yếu từ các tài liệu [4] và [5].
3.1. Phương pháp hàm phạt điểm trong
Phương pháp hàm phạt điểm trong được sử dụng khi tồn tại một điểm
x0 ∈ D0, trong đó
D0 := {x : gj(x) < 0, j = 1, ..., m}.
Hàm phạt p : D0 −→ R được xây dựng thỏa mãn các điều kiện sau: a) p liên tục trên D0;
b) Với dãy bất kỳ {xk} ∈ D0 hội tụ đến x 6∈ D0, ta có lim infp(xk) = +∞
Ví dụ ta có thể định nghĩa p(x) := − m X j=1 log(−gj(x)), hoặc p(x) := − m X j=1 1 gj(x).
Rõ ràng pxác định trên D0, nếu các hàm gj lồi thì p lồi chặt. Với mỗi t > 0 cố định, ta định nghĩa bài toán phạt:
Định lý 3.1. Giả sử bài toán (P) có nghiệm. Cho dãy số dương tk đơn điệu giảm đến 0 và xk là nghiệm của bài toán (Btk). Khi đó:
i) p(xk) ≤ p(xk+1),
ii) f(xk) hội tụ giảm đến f∗ và mọi điểm tụ của dãy {xk} là nghiệm tối ưu của bài toán gốc (P).
Chứng minh: Do xk là nghiệm tối ưu của bài toán (Btk) với mọi k, ta có
f(xk) +tkp(xk) ≤ f(xk+1) +tkp(xk+1),
f(xk+1) +tk+1p(xk+1) ≤ f(xk) +tk+1p(xk). (3.1)
Cộng hai bất đẳng thức trên và giản ước, ta được
(tk −tk+1)(p(xk)−p(xk+1)) ≤ 0.
Vì tk đơn điệu giảm nên
p(xk) ≤p(xk+1).
Thay vào bất phương trình (3.1) ta được f(xk) ≥ f(xk+1) với mọi k. Do đó limf(xk) tồn tại.
Ta xét hai trường hợp:
Trường hợp 1: Bài toán (P) có một nghiệm x∗ ∈ D0. Do xk là nghiệm tối ưu của bài toán B(tk), ta có
f(xk) +tkp(xk) ≤ f(x∗) +tkp(x∗). (3.2)
Cho u∗ là điểm tụ của dãy {xk}. Để đơn giản ta giả sử rằng xk −→ u∗. Nếu u∗ ∈ D0 thì lấy giới hạn (3.2), ta có
f(u∗) ≤ f(x∗).
Vậyu∗ là nghiệm tối ưu của bài toán (P). Do tính đơn điệu của dãy{f(xk)}, ta suy ra toàn bộ dãy {f(xk)} hội tụ đến f∗.
Nếu u∗ 6∈ D0, do xk −→ u∗, theo cách xây dựng hàm p, có một chỉ số K1
sao cho tkp(xk) ≥ 0với mọi k ≥ K1. Khi đó từ (3.2) suy ra
Cho k −→ +∞, do tk −→ 0, ta có limf(xk) ≤ f(x∗). Nhưng vì xk ∈ D
với moi k nên f(xk) ≥ f(x∗). Vậy limf(xk) = f(x∗).
Trường hợp 2: Bài toán (P) không có nghiệm trên D0. Đặt
β := lim
k→+∞f(xk).
Do f(xk) ≥ f∗ với mọi k, ta có f∗ ≤ β. Nếu f∗ < β, thì do xk ∈ D0 và tính liên tục của hàm f, tồn tại u ∈ D0 sao cho
f∗ < f(u) < β. (3.3)
Khi đó
f(xk) + tkp(xk) ≤ f(u) +tkp(u).
Theo chứng minh trên ta có:
f(xk) ≤ f(u) + tkp(u),∀k ≥ K1.
Cho k → +∞ ta thu được β = limf(xk) ≤ f(u) điều này mâu thuẫn với (3.3). vậy limf(xk) =f∗.
Ví dụ 3.1. Giải bài toán
min{f(x, y) =x−2y : (x, y) ∈ D}, trong đó D = {g1(x, y) =−1−x+y2 ≤ 0, g2(x, y) =−y ≤ 0}. Giải: Ta xây dựng hàm phạt p(x, y) = −[log(1 +x−y2) +logy]. Xét bài toán phạt
min{Ft(x, y) = x−2y −t[log(1 +x−y2) +logy] : (x, y) ∈ D0
xác định trên
Theo Định lý về điều kiện tối ưu ta có (x∗, y∗) là nghiệm tối ưu của hàm phạt khi và chỉ khi ∇Ft(x∗, y∗) +ND0(x∗, y∗) = 0. Do D0 là tập mở và (x∗, y∗) ∈ D0, nên ND0(x∗, y∗) ={0}. Vậy ∇Ft(x∗, y∗) = 0. Ta có ∂F ∂x(x ∗, y∗) = 1− t 1 +x∗ −y∗2 = 0, (3.4) ∂F ∂y(x ∗, y∗) =−2−t( −2y∗ 1 +x∗ −y∗2 + 1 y∗) = 0. (3.5) Từ (3.4) ta có t 1 +x∗ −y∗2 = 1 Thay vào (3.5) ta có −2 + 2y∗ − t y∗ = 0 hay là 2y∗2 −2y∗ −t = 0 Suy ra y∗ = 1 + √ 1 + 2t 2 hoặc y∗ = 1−√1 + 2t 2 • Nếu y∗ = 1 + √ 1 + 2t 2 thì x∗ = 3t−1 +√ 1 + 2t 2 . • Nếu y∗ = 1−√1 + 2t 2 thì x∗ = 3t−1−√1 + 2t 2 .
Cho t→ 0 ta được các nghiệm là
(−1; 0) và giá trị f = −1,
(0; 1) và giá trị f = −2.
So sánh các giá trị ta được fmin = −2 tại (0; 1). Xét bài toán (P)
Giả sử tập ràng buộc
D := {x : gj(x) ≤ 0, j = 1, ..., m}
bị chặn và tồn tại x0 sao cho điều kiện Slater gj(x0) < 0 với mọi j được thỏa mãn. Giả sử các hàm f và gj là lồi và khả vi liên tục hai lần. Do gj
liên tục nên intD 6= ∅.
Hàm phạt (hàm chắn) được định nghĩa dưới đây được sử dụng rộng rãi:
n P j=1 log(−gj(x)) nếu gj(x) < 0∀j, +∞ nếu gj(x) ≥ 0 Hàm phạt trên có những tính chất sau: (i) φ(x) khả vi và lồi chặt trên intD;
(ii) φ(x) → +∞ khi x →∂D (biên của D).
Do D bị chặn, từ các tính chất trên suy ra minφ(x) luôn đạt được tại một điểm duy nhất trong D. Điểm cực tiểu duy nhất đó được gọi là tâm Giải tích của các hàm ràng buộc gj(j = 1, ..., m).
Sử dụng tham số t > 0 và xét bài toán tối ưu không ràng buộc sau
min{Ft(x) := f(x) +tφ(x) : x ∈ intD}. (U P)
Rõ ràng, nếu hàm f lồi và liên tục trên C, thì Ft lồi chặt. Giả sử với mọi
t > 0 bài toán này tồn tại nghiệm (và do đó là duy nhất) với x∗ := x(t) ∈
intD. Khi đó điều kiện tối ưu là
∇Ft(x∗) ≡ ∇f(x∗) + 1 t n X i=1 ∇gj(x∗) −gj(x∗) = 0. (3.6)
Đường cong {x(t) : t > 0} được gọi là đường trung tâm gốc. Đường cong
x(t) tiến tới tâm giải tích khi t → +∞. Sử dụng Định lý về điều kiện tối ưu của bài toán quy hoạch lồi ta có x∗ là nghiệm tối ưu khi và chỉ khi
0 ∈ ∇Ft(x∗) +ND0(x∗)
(ở đây ND0(x∗) = {0} do D0 là một tập mở). Vậy ta có được (3.6) là điều kiện cần và đủ để cho x∗ là điểm cực tiểu trên toàn không gian của hàm
Lagrange. L(x, λ∗) := f(x) + m X j=1 λ∗jgj(x) trong đó λ∗j := λ∗j(t) = − 1 tgj(x∗) > 0.
Do đó λ∗j > 0 là điểm chấp nhận được của bài toán đối ngẫu và đường
{λ∗(t) : t > 0} được gọi là đường trung tâm đối ngẫu.
Định lý 3.2. Giả sử f∗ := min{f(x) : gj(x) ≤ 0, j = 1, ..., m} thì f∗ ≥f(x(t))− m t . Chứng minh: Do f(x) ≥ f(x) + m P j=1 λjgj(x) với moi x ∈ C và λj ≥ 0, ta có: f∗ ≥inf x {f(x) + m X j=1 λ∗j(t)gj(x)} = {f(x(t)) + m X j=1 λ∗j(t)gj(x(t))} = f(x(t))− m t vì λ∗j(t) =− 1 tgj(x(t)).
Theo Định lý 3.1, ta có f(x(t)) → f∗ và x(t) dần tới lời giải tối ưu của bài toán (P) khi t →+∞.
Thuật toán men theo đường trung tâm.
Chọn một sai số cho phép > 0, t0 > 0. Tìm một điểm trong x0 sao cho
g(x0) < 0.
Bước 1. Bắt đầu với x0 và t = t0, tính x(t) trên đường trung tâm (có thể dùng phương pháp Newton). Nghĩa là
x(t) =argmin{Ft(x) ≡ f(x)− 1 t m X j=1 log(−gj(x)) : x ∈ D0}.
(Do g(x0) < 0 và Ft(x) → +∞ khi gj(x) → 0 với mọi j, nên ở bước lặp tiếp theo phải thỏa mãn g(x) < 0).
Bước 2. (Tiêu chuẩn dừng) Nếu m/t ≤ : Kết thúc và x∗ ≡ x(t) là một
-nghiệm. Ngược lại lấy t := αt với α > 1 và quay lại bước 1 với x∗ được thay thế bởi x1 ≡ x(t).
Chú ý. Nếu ta lấy t0 = m và giải bài toán:
min{f(x)− 1 t0 m X j=1 log(−gj(x)) : x ∈ Rn},
thì nghiệm tối ưu của bài toán này là một -nghiệm.
Tuy nhiên trong tính toán người ta thường tăng dần t ở tường bước lặp để thuật toán chạy nhanh hơn.
Ví dụ 3.2. Sử dụng phương pháp điểm trong và Định lý Kuhn-Tucker để giải bài toán (P):
min{f(x, y, z) = x−2y + 3z +z2},
với ràng buộc
x+y +z = 2, x ≥ 0, y ≥ 0, z ≥ 0.
Giải: Viết lại bài toán dưới dạng sau:
minf(x, y, z) = x−2y+ 3z +z2, với các ràng buộc: h(x, y, z) = x+y +z = −2, g1(x, y, z) =−x ≤ 0, g2(x, y, z) = −y ≤0, g3(x, y, z) = −z ≤ 0.
Ta có nhận xét ngay rằng, miền ràng buộc của bài toán này là một tập lồi đa diện và hàm mục tiêu lồi mạnh trên tập lồi này, do đó bài toán luôn có duy nhất nghiệm.
Xây dựng hàm phạt:
P(x, y, z) = −
3 X
j=1
log(−gj(x, y, z)) = −(logx+ logy+logz).
Khi đó bài toán hàm phạt là:
min{Ft(x, y, z) = (x−2y + 3z +z2)−t(logx+logy+ logz)}
với ràng buộc phương trình:
h(x, y, z) = x+y +z −2 = 0.
Hàm Lagrange là:
L(x, y, z, à) = (x−2y+ 3z+z2)−t(logx+logy+logz) +à(x+y+z−2).
Chú ý rằng do hàm mục tiêu của bài toán phạt là lồi mạnh với mọi t > 0cố định, nên bài toán phạt luôn tồn tại nghiệm và duy nhất nghiệm. áp dụng Định lý Kuhn-Tucker cho bài toán này, ta có:
x+y +z = 2, (3.7) ∂L ∂x(x, y, z) = 1− xt +à = 0, (3.8) ∂L ∂y(x, y, z) =−2− yt +à = 0, (3.9) ∂L ∂z(x, y, z) = 3 + 2z − zt + à= 0, (3.10) x > 0, y > 0, z >0. (3.11)
Những điểm thỏa mãn hệ phương trình trên là điểm Kuhn-Tucker của bài toán phạt. Giả sử x(t), y(t), z(t), à(t) là nghiệm của hệ này. Khi đó cho
t → 0, ta được nghiệm của bài toán ban đầu. Tuy nhiên hệ này khó giải. Doàcó thể là bất kỳ số thực nào, nên ta xét từng trường hợp của àcố định, qua đó tìm x, y và z theo hệ trên. Từ (3.8), (3.11), ta có: Với à > −1ta có
x(t) = t
1 +à > 0,∀t > 0. (3.12)
Từ (3.9), (3.11), ta có: Với à > 2 ta có
y(t) = t
Từ phương trình (3.10) ta được 2z2 + (à+ 3)z −t = 0 hay z1(t) = −(à+ 3) +p(à+ 3)2 + 8t 4 ; (3.14) z2(t) = −(à+ 3) +p(à+ 3)2 −8t 4 ; (3.15)
• Chọn cố định à > 2 rồi cho t→ 0 trong (3.12), (3.13), ta được
x = 0, y = 0 và
z1 = 0;z2 = −(à+ 3) 2
Thay x = 0, y = 0 vào phương trình (3.7) ta được z = 2 và à = −7 < 2.
Vậy bài toán phạt không có nhân tử Lagrange với à > 2.
• Với à = 2 thì thay vào phương trình (3.8), (3.9) và cho t → 0 ta được
z = 0 hoặc z = −5/2< 0 (loại theo điều kiện hàm g3 = −z ≤ 0).
Thay x = 0, z = 0 vào (3.7) ta đượcy = 2.
Ta có nghiệm (0,2,0) ứng với à= 2 vàf = −4.
Vậy ta có nghiệm của bài toán là (0,2,0) và fmin = −4. 3.2. Hàm đồng thuận
Hàm đồng thuận là một công cụ cơ bản, hữu ích và rất có tác dụng trong việc giải các bài toán quy hoạch lồi.
Để làm quen với định nghĩa hàm đồng thuận, ta cần nhớ lại một số kí hiệu. Vi phân cấp một, cấp hai, cấp ba của hàmF : Rn −→ Rtại một điểm
x được kí hiệu bởi: DF(x), D2F(x), D3F(x). Các vi phân này là các ánh xạ tuyến tính, và ta có:
DF(x) : Rn −→ R :h1 7−→DF(x)[h1].
D3F(x) : Rn ìRnìRn −→ R: (h1, h2, h3) 7−→D3F(x)[h1, h2, h3].
Khi một tích vô hướnghã,ãi được chọn trongRn, vi phân cấp một và cấp hai có thể biểu diễn bởi một vectơ và một ma trận được gọi là vectơ Gradien và ma trận Hessian của F tạix. Chúng sẽ được kí hiệu tương ứng bởi g(x)
và H(x). Ta có:
DF(x)[h] = hg(x), hi
D2F(x)[h1, h2] = hh1, H(x)h2i.
Rõ ràng vectơ Gradien và ma trận Hessian phụ thuộc vào tích vô hướng sử dụng trên Rn. Do đó mục tiêu của chúng ta là sử dụng phương pháp Newton, nó cũng là thuận tiện để giới thiệu tại xbước Newtonn(x) và tích vô hướng nội tại hã,ãix.
n(x) = −H(x)−1g(x) và hu, vix = hu, H(x)vi.
Tích vô hướng nội tại được xác định khi H(x) là xác định dương. Giả sử rằng H(x) là xác định dương vói mọi x trong miền xác định của F. Chuẩn tương ứng với tích vô hướng này là một chuẩn nội tại được xác định bởi kakx = pha, aix. Nếu chúng ta biểu diễn tương ứng bởi gx và Hx là Gradien và Hessian của F đối với các tích vô hướng nội tạihã,ãix, ta có với mọi y
gx(y) = H(x)−1g(y), Hx(y) =H(x)−1H(y), n(y) = −Hx(y)−1gx(y).
(3.16)
Cuối cùng, ta kí hiệu Bx(y, r) là đường tròn mở bán kínhr, tâm y trong đó bán kính là được đo đối với k.kx.
Định nghĩa 3.1. Cho C là tập con lồi của Rn với phần trong khác rỗng và choF : intC −→Rlà một hàm của lớpC2 mà có Hessian là xác định dương trênintC. F được gọi là đồng thuận nếu∀x ∈ intC, ta cóBx(x,1) ⊆ intC,
và nếu y ∈ Bx(x,1) ta có:
≤ 1
(1− ky −xkx)2D2F(x)[h, h],∀h. (3.17)
Họ các hàm đồng thuận kí hiệu là SC.
Điều kiện (3.17) có nghĩa là Hessian tại x có thể được dùng để đánh giá Hessian tại điểm y bất kì của Bx(x,1). Khi F là của lớp C3 thì F là đồng thuận khi và chỉ khi F là hàm phạt thỏa mãn:
D3F(x)[h, h, h] ≤ 2(D2F(x)[h, h])3/2, (3.18)
với mọi x ∈ intC và h ∈ Rn.
Cho x ∈ intC và h ∈ Rn và cho hàm một biếnFx,h : R −→R xác định bởi Fx,h(t) =F(x+th). Ta có
F”x,h(t) = D2F(x+th)[h, h] và F0”x,h(t) = D3F(x+ th)[h, h, h].
Điều kiện (3.18) có thể được viết lại: F0”x,h(t) ≤ 2F”x,h(t)3/2,∀x+ th ∈
intC vàh ∈ Rn. Do đó, khiF là của lớp C3, thìF là đồng thuận trênintC
khi và chỉ khi F là đồng thuận cùng tất cả các phương trong intC.
Mệnh đề 3.1. Nếu F1 và F2 là đồng thuận tương ứng trên intC1 và intC2,