You are on page 1of 61

Mục lục

Danh mục ký hiệu 3

Lời nói đầu 5

1 Các kiến thức cơ bản về tập lồi và hàm lồi 7


1.1 Tập lồi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Hàm lồi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2 Cực tiểu hàm lồi với ràng buộc lồi 18


2.1 Phát biểu bài toán và điều kiện tối ưu . . . . . . . . . . . . . 18
2.1.1 Các khái niệm . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.1.2 Sự tồn tại nghiệm tối ưu . . . . . . . . . . . . . . . . . . 22
2.1.3 Điều kiện tối ưu . . . . . . . . . . . . . . . . . . . . . . . 23
2.2 Một số thuật toán giải bài toán quy hoạch lồi . . . . . . . . 33
2.2.1 Thuật toán hướng có thể giải bài toán cực tiểu hàm
trơn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.2.2 Thuật toán Frank-Wolfe giải bài toán cực tiểu hàm
trơn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.2.3 Thuật toán chiếu dưới đạo hàm xấp xỉ . . . . . . . . 42

3 Cực đại hàm lồi với ràng buộc lồi 49


3.1 Bài toán và các tính chất . . . . . . . . . . . . . . . . . . . . . . 49
3.2 Thuật toán nhánh cận . . . . . . . . . . . . . . . . . . . . . . . 51

1
3.2.1 Một số khái niệm cơ bản . . . . . . . . . . . . . . . . . 51
3.2.2 Ý tưởng của thuật toán nhánh cận . . . . . . . . . . . 53
3.2.3 Thuật toán . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Kết luận 60

Tài liệu tham khảo 61

2
Danh mục ký hiệu

Với n là số nguyên dương, ký hiệu:


Rn không gian Euclide n-chiều trên trường số thực;
Rn+ góc không âm của R (tập các véc-tơ không âm);
R trường các số thực (R = R1 );
R trục số thực mở rộng (R = R ∪ {−∞, +∞});
N tập hợp số nguyên dương;
Với mọi véc-tơ x, y ∈ Rn , ký hiệu:
xi tọa độ thứ i của x;
xT véc-tơ hàng (chuyển vị của x);
hx, yi = xT y tích vô hướng của hai véc-tơ x và y ;
n
P
= xy = xj yj
j=1
s
n
x2j chuẩn Euclide của x;
P
kxk =
j=1

[x, y] đoạn thẳng đóng nối x và y ;


(x, y) đoạn thẳng mở nối x và y ;
Với tập A, ký hiệu:
A bao đóng của A;
coA bao lồi của A;
affA bao affine của A;
intA tập hợp các điểm trong của A;
riA tập hợp các điểm trong tương đối của A;

3
V (A) tập hợp các điểm cực biên (đỉnh) của A;
Với hàm f của n biến, ký hiệu:
f hàm bao đóng của f ;
domf tập hữu dụng của f ;
epif trên đồ thị của f ;
∂f (x) dưới vi phân của f tại x;
∂ f (x) −dưới vi phân của f tại x;
∇f (x) hoặc f (x) đạo hàm của f tại x;
0

đạo hàm theo phương d của f tại x;


0
f (x, d)

4
Lời nói đầu

Lý thuyết về các tập lồi và hàm lồi có một vị trí quan trọng trong toán học,
liên quan đến hầu hết các nghành như giải tích lồi, tối ưu hóa, giải tích hàm,
hình học, toán kinh tế, .... Một cách tổng quát, có hai tính chất cơ bản của các
hàm lồi làm cho chúng được sử dụng rộng rãi trong toán học lý thuyết cũng như
toán học ứng dụng, đó là: tính chất đạt giá trị cực đại trên biên và bất kỳ cực
tiểu địa phương nào cũng là cực tiểu toàn cục. Hơn nữa, một hàm lồi chặt thì
điểm cực tiểu nếu có là duy nhất.

Trong nhiều vấn đề ứng dụng ta thường gặp bài toán tìm cực tiểu hoặc cực
đại của một hàm lồi trên một tập lồi. Hai bài toán này có những tính chất cơ
bản rất khác nhau. Tuy nhiên tính chất lồi kéo theo những đặc thù riêng cho
mỗi bài toán. Lợi dụng các tính chất này, người ta đã đưa ra được những phương
pháp giải quyết khác nhau cho mỗi bài toán kể trên.

Mục đích của luận văn này là trình bày một số thuật toán cơ bản nhất giải
bài toán cực tiểu và cực đại hàm lồi với ràng buộc lồi. Cụ thể luận văn trình
bày các thuật toán sau: thuật toán hướng có thể, thuật toán Frank-Wolfe, thuật
toán chiếu dưới đạo hàm (gradient) xấp xỉ, thuật toán nhánh cận.

Luận văn gồm ba chương:

Chương 1: Giới thiệu các kiến thức cơ bản nhất về giải tích lồi. Đó là tập lồi,
tập lồi đa diện, hàm lồi, tính chất của hàm lồi, dưới vi phân của hàm lồi và các
ví dụ minh họa, chúng được sử dụng trong các chương tiếp theo.

5
Chương 2: Trình bày các khái niệm và các tính chất cơ bản của bài toán cực
tiểu hàm lồi với ràng buộc lồi. Đó là sự tồn tại nghiệm tối ưu và điều kiện tối
ưu của bài toán lồi trơn và không trơn. Nội dung chính của chương này là trình
bày một số thuật toán giải bài toán cực tiểu hàm trơn như: thuật toán hướng
có thể, thuật toán Frank-Wolfe và thuật toán giải bài toán cực tiểu hàm không
trơn như thuật toán chiếu dưới đạo hàm xấp xỉ.

Chương 3: Trình bày các khái niệm và các tính chất cơ bản của bài toán cực
đại hàm lồi với ràng buộc lồi. Nội dung chính của chương này là trình bày thuật
toán nhánh cận giải bài toán cực đại hàm lồi với ràng buộc lồi.

Do thời gian có hạn nên luận văn này chỉ mới dừng lại ở việc tìm hiểu, tập
hợp tài liệu, sắp xếp và trình bày kết quả nghiên cứu đã có theo chủ đề đặt ra.
Trong quá trình viết luận văn cũng như xử lý văn bản chắc chắn không tránh
khỏi những sai sót nhất định. Tác giả luận văn rất mong nhận được sự góp ý
của quý thầy cô và các bạn để luận văn được hoàn thiện hơn.

Luận văn được hoàn thành tại Viện Toán học, Viện Khoa học và Công nghệ
Việt Nam, dưới sự hướng dẫn của GS. TSKH. Lê Dũng Mưu.

Tác giả chân thành cảm ơn thầy Lê Dũng Mưu và các nghiên cứu sinh của
thầy đã giúp đỡ rất nhiều trong quá trình tác giả làm luận văn.

Tác giả cũng xin bày tỏ lòng biết ơn các thầy cô và cán bộ công nhân viên
của Viện Toán học đã quan tâm giúp đỡ trong suốt quá trình học tập và nghiên
cứu tại Viện.

Hà Nội tháng 8 năm 2013


Học viên
Hà Thị Thảo

6
Chương 1

Các kiến thức cơ bản về tập lồi và


hàm lồi

Trong luận văn này, chúng ta sẽ làm vệc với không gian Euclide n-chiều trên
trường số thực R. Không gian này được kí hiệu là Rn . Chương này nhằm trình
bày những khái niệm cơ bản nhất của tập lồi và hàm lồi cùng với những tính
chất đặc trưng của nó. Do chương này chỉ mang tính chất bổ trợ, nên ta không
chứng minh các kết quả nêu ở đây. Nội dung của chương được trích dẫn chủ yếu
từ tài liệu tham khảo [1], [2] và [4].

1.1 Tập lồi

Định nghĩa 1.1. Một đường thẳng đi qua hai điểm (hai véc-tơ) a, b trong Rn là
tập hợp tất cả các véc-tơ x ∈ Rn có dạng

{x ∈ Rn | x = αa + βb, α, β ∈ R, α + β = 1} .

Định nghĩa 1.2. Đoạn thẳng nối hai điểm a và b trong Rn là tập hợp các véc-tơ
x có dạng
{x ∈ Rn | x = αa + βb, α ≥ 0, β ≥ 0, α + β = 1} .

7
Định nghĩa 1.3. Một tập D ⊆ Rn được gọi là một tập lồi nếu D chứa mọi
đoạn thẳng đi qua hai điểm bất kỳ của nó. Tức là D lồi khi và chỉ khi

∀x, y ∈ D, λ ∈ [0, 1] ⇒ λx + (1 − λ) y ∈ D.

Định nghĩa 1.4. Một tập D được gọi là tập affine nếu nó chứa mọi đường
thẳng đi qua hai điểm bất kỳ của nó, tức là

∀x, y ∈ D, ∀λ ∈ R ⇒ λx + (1 − λ) y ∈ D.

Định nghĩa 1.5. Ta nói x là tổ hợp lồi của các điểm (véc-tơ) x1 , ..., xk nếu
k
X k
X
j
x= λj x , λj ≥ 0 (j = 1, ..., k), λj = 1.
j=1 j=1

Mệnh đề 1.1. Tập hợp D là lồi khi và chỉ khi nó chứa mọi tổ hợp lồi của các
điểm của nó. Tức là D lồi khi và chỉ khi
k
X k
X
1 k
∀k ∈ N, ∀λ1 , ..., λk > 0 : λj = 1, ∀x , ..., x ∈ D ⇒ λj xj ∈ D.
j=1 j=1

Định nghĩa 1.6. Siêu phẳng trong không gian Rn là một tập hợp các điểm có
dạng
{x ∈ Rn | ha, xi = α} ,

trong đó a ∈ Rn là một véc-tơ khác 0 và α ∈ R. Véc-tơ a thường được gọi là véc-tơ


pháp tuyến của siêu phẳng.
Một siêu phẳng sẽ chia không gian ra hai nửa không gian. Nửa không gian
được định nghĩa như sau:
Định nghĩa 1.7. Nửa không gian là một tập hợp có dạng

{x | ha, xi ≥ α} ,

trong đó a 6= 0 và α ∈ R.
Đây là nửa không gian đóng. Tập

{x | ha, xi > α} ,

8
là nửa không gian mở.
Định nghĩa 1.8. Một điểm a của một tập lồi D gọi là điểm trong tương đối nếu
với mọi x ∈ D đều có một số λ > 0 để cho a + λ(x − a) ∈ D. Tập các điểm trong
tương đối của D được ký hiệu là riD.
Định nghĩa 1.9. Một tập D được gọi là nón nếu

∀λ > 0, ∀x ∈ D ⇒ λx ∈ D.

Một nón được gọi là nón lồi nếu nó đồng thời là một tập lồi. Một nón được gọi
là nón nhọn nếu nó không chứa đường thẳng. Nếu nón này là một tập lồi đa
diện thì ta nói nó là nón lồi đa diện.
Định nghĩa 1.10. Cho D ⊆ Rn là một tập lồi và x ∈ D.
(i) Tập
ND (x) := {ω ∈ Rn | hω, y − xi ≤ 0, ∀y ∈ D} ,

được gọi là nón pháp tuyến ngoài của D tại x và tập −ND (x) được gọi là nón
pháp tuyến trong của D tại x.
(ii) Tập

ND (x) := {ω ∈ Rn | hω, y − xi ≤ , ∀y ∈ D} ,

được gọi là nón pháp tuyến  của D tại x.


Hiển nhiên 0 ∈ ND (x) và dùng định nghĩa ta có ND (x) là một nón lồi đóng.
Định nghĩa 1.11. Bao lồi của một tập D là giao của tất cả các tập lồi chứa D.
Bao lồi của một tập D được ký hiệu là coD.
Bao lồi đóng của một tập D là tập lồi đóng nhỏ nhất chứa D. Ta ký hiệu bao
đóng của một tập D là coD.
Bao affine của D là giao của tất cả các tập affine chứa D. Bao affine của
một tập D được ký hiệu là affD.
Định nghĩa 1.12. Cho x1 , x2 , ..., xk , xk+1 ∈ Rn . Bao lồi của x1 , x2 , ..., xk , xk+1
được ký hiệu là H(x1 , x2 , ..., xk , xk+1 ) là một đa diện lồi. Nếu xk+1 − x1 , xk −
x1 , ..., x2 − x1 là các véc-tơ độc lập tuyến tính thì H(x1 , x2 , ..., xk , xk+1 ) được gọi là

9
một đơn hình k chiều với các đỉnh x1 , x2 , ..., xk , xk+1 .
Định nghĩa 1.13. Cho hai tập C và D khác rỗng.
(i) Ta nói siêu phẳng ha, xi = α tách C và D nếu

ha, xi ≤ α ≤ ha, yi, ∀x ∈ C, ∀y ∈ D.

(ii) Ta nói siêu phẳng ha, xi = α tách chặt C và D nếu

ha, xi < α < ha, yi, ∀x ∈ C, ∀y ∈ D.

(iii) Ta nói siêu phẳng ha, xi = α tách mạnh C và D nếu

sup ha, xi < α < inf ha, yi.


x∈C y∈D

Định lý 1.1. (Định lý tách 1). Cho C và D là hai tập lồi khác rỗng trong Rn
sao cho C ∩ D = ∅. Khi đó có một siêu phẳng tách C và D.
Định lý 1.2. (Định lý tách 2). Cho C và D là hai tập lồi đóng khác rỗng sao
cho C ∩ D = ∅. Giả sử có ít nhất một tập là compact. Khi đó hai tập này có thể
tách mạnh được bởi một siêu phẳng.
Chú ý. Nếu thiếu giả thiết "một trong hai tập là compact" thì Định lý 1.2
không còn đúng. Ví dụ C = (x, y) ∈ R2 | y ≥ ex và D = (x, y) ∈ R2 | y ≤ 0 là
 

hai tập lồi đóng, rời nhau nhưng không tách mạnh (xem Hình 1(b)).

Hình 1: (a) - Hai tập lồi C và D được tách chặt bởi một siêu phẳng; (b) - Hai tập
lồi C và D tách nhưng không tách mạnh; (c) - Tập C và D giao nhau bằng rỗng
nhưng không thể tách được vì D không phải tập lồi

Hệ quả 1.1. (Bổ đề Farkas) Cho a ∈ Rn và A là ma trận cấp m × n. Khi đó

10
ha, xi ≥ 0, với mọi x thỏa mãn Ax ≥ 0, khi và chỉ khi tồn tại y ≥ 0 thuộc Rm sao
cho a = AT y.
Ý nghĩa hình học của bổ đề Farkas: Siêu phẳng đi qua gốc tọa độ ha, xi = 0,
để nón Ax ≥ 0 về một phía của nó khi và chỉ khi véc-tơ pháp tuyến a của siêu
phẳng nằm trong nón sinh bởi các hàng của ma trận A.
Định nghĩa 1.14. Cho D 6= ∅ (không nhất thiết lồi) và y là một véc-tơ bất kỳ,
đặt
dD (y) := inf kx − yk.
x∈D

Ta nói dD (y) là khoảng cách từ y đến D. Nếu tồn tại π ∈ D sao cho dD (y) = ky − πk,
thì ta nói π là hình chiếu (vuông góc) của y trên D và ký hiệu là π = PD (y).
Theo định nghĩa, ta thấy rằng hình chiếu PD (y) của y trên D là nghiệm của
bài toán tối ưu
n1 o
2
min kx − yk : x ∈ D .
x∈D 2
Nói cách khác việc tìm hình chiếu của y trên D có thể đưa về việc tìm cực tiểu
của hàm toàn phương kx − yk2 trên D. Nếu D 6= ∅ thì dD (y) hữu hạn, vì

0 ≤ dD (y) ≤ kx − yk, ∀x ∈ D.

Mệnh đề 1.2. Cho D là một tập lồi đóng khác rỗng. Khi đó
(i) Với mọi y ∈ Rn , π ∈ D hai tính chất sau là tương đương
(a) π = PD (y),
(b) y − π ∈ ND (π).
(ii) Với mọi y ∈ Rn , hình chiếu PD (y) của y trên D luôn tồn tại và duy nhất.
(iii) kPD (x) − PD (y)k ≤ kx − yk, ∀x, y ∈ Rn (tính không giãn).
(iv) kPD (x) − PD (y)k2 ≤ hPD (x) − PD (y), x − yi, ∀x, y ∈ Rn (tính đồng bức).

1.2 Hàm lồi

Trong phần này ta chỉ xét những hàm f không nhận giá trị −∞.
Định nghĩa 1.15. Cho một hàm số f xác định trên tập lồi D ⊂ Rn .

11
Hàm f được gọi là hàm lồi trên D nếu

f (λx + (1 − λ)y) ≤ λf (x) + (1 − λ)f (y), ∀x, y ∈ D, ∀λ ∈ (0, 1).

Hàm f được gọi là hàm lồi chặt trên D nếu

f (λx + (1 − λ)y) < λf (x) + (1 − λ)f (y), ∀x, y ∈ D, ∀λ ∈ (0, 1).

Hàm f được gọi là hàm lồi mạnh trên D với hệ số η > 0 nếu

1
f (λx + (1 − λ)y) < λf (x) + (1 − λ)f (y) − ηλ(1 − λ)kx − yk2, ∀x, y ∈ D, ∀λ ∈ (0, 1).
2

Miền hữu dụng của f là

domf := {x ∈ D | f (x) < +∞} .

Trên đồ thị của f là tập

epif := {(x, µ) ∈ D × R | f (x) ≤ µ} .

Hàm f được gọi là một hàm lõm (lõm chặt) trên D nếu −f là hàm lồi (lồi
chặt) trên D.
Hàm lồi f : X → R ∪ {+∞} có thể được mở rộng thành một hàm lồi trên toàn
không gian Rn bằng cách đặt f (x) = +∞ nếu x ∈
/ domf. Vì vậy để đơn giản, ta
thường xét f là hàm lồi trên Rn .
Định nghĩa 1.16. Cho hàm lồi f xác định trên tập lồi C ⊆ Rn , hàm lồi g xác
định trên tập lồi D ⊆ Rn và số thực λ > 0. Các phép toán λf, f + g, max {f, g}
được định nghĩa như sau:

(λf )(x) := λf (x), x ∈ C;

(f + g)(x) := f (x) + g(x), x ∈ C ∩ D;

max {f, g} := max {f (x), g(x)} , x ∈ C ∩ D.

12
Kết quả sau dễ dàng được suy ra từ Định nghĩa 1.16, nhưng rất bổ ích.
Định lý 1.3. Cho f và g là các hàm lồi trên tập lồi C và D tương ứng. Khi đó
các hàm số αf + βg, (∀α, β ≥ 0) và max {f, g} cũng lồi trên C ∩ D.
Một hàm lồi có thể không liên tục tại một điểm trên biên miền xác định của
nó. Tuy nhiên, nó liên tục tại mọi điểm trong của tập đó theo định lí sau:
Định lý 1.4. Một hàm lồi xác định trên tập lồi D thì liên tục tại mọi điểm trong
của D.
Nhận xét. Sự gián đoạn của hàm lồi chỉ có thể xảy ra tại biên của tập xác
định.
Ví dụ 1.1. Xét hàm một biến trên tập X = (∞, 1]

x2 nếu x < 1,

f (x) =
2 nếu x = 1.

Dễ thấy epif ⊂ R2 là tập lồi. Do đó f là hàm lồi trên X. Hàm f là liên tục
trên X\ {1} . Tại x = 1 hàm f là nửa liên tục trên.
Tính chất sau đây đặc trưng cho một hàm lồi khả vi và thuận lợi để kiểm
tra tính lồi của một hàm số. Ký hiệu f 0(x) hoặc ∇f (x) là đạo hàm của f tại x.
Định lý 1.5. Cho f : D → R là một hàm khả vi trên tập lồi mở D. Điều kiện
cần và đủ để f lồi trên D là

f (x) + h∇f (x), y − xi ≤ f (y), ∀x, y ∈ D.

Với hàm một biến f xác định trên tập lồi D ⊆ R ta đã biết: f là hàm lồi trên
D khi và chỉ khi f 00 (x) ≥ 0 với mọi x ∈ D. Chẳng hạn, hàm f (x) = ex là hàm lồi
trên R.
Định lý 1.6. Cho f : D → R là hàm khả vi hai lần trên tập lồi mở D. Khi đó,
(i) Hàm f là lồi trên D khi và chỉ khi ma trận Hesian H(x) của f tại x xác định
không âm trên D, tức là

y T H(x)y ≥ 0, ∀x ∈ D, y ∈ Rn .

13
(ii) Hàm f là lồi chặt trên D nếu ma trận Hesian H(x) của f tại x xác định
dương trên D, tức là

y T H(x)y > 0, ∀x ∈ D, y ∈ Rn \ {0} .

Như vậy, một dạng toàn phương xT Qx là một hàm lồi khi và chỉ khi Q xác
định không âm. Một dạng toàn phương là một hàm lồi chặt khi và chỉ khi ma
trận của nó xác định dương.
Tính khả vi của một hàm lồi giữ vai trò quan trọng trong các phương pháp
tối ưu hóa. Lớp các hàm lồi có những tính chất khả vi rất đẹp mà các lớp hàm
khác không có. Giả sử f : Rn → R ∪ {+∞} là hàm lồi. Ta có các khái niệm sau:
Định nghĩa 1.17. Ta gọi đạo hàm theo hướng d của một hàm f (không nhất
thiết là lồi) tại điểm x là đại lượng
f (x + λd) − f (x)
f 0 (x, d) := lim
λ→0+ λ
nếu giới hạn này tồn tại.
Định lý 1.7. Nếu f là một hàm lồi trên tập lồi D thì với mọi x ∈ D và mọi d
sao cho x + d ∈ D, đạo hàm theo hướng d của f tại x luôn tồn tại và nghiệm
đúng
f 0 (x, d) ≤ f (x + d) − f (x).

Ngoài ra với mỗi điểm x cố định, f 0 (x, .) là một hàm lồi trên tập lồi {d : x + d ∈ D} .
Từ định lý này dễ dàng suy ra rằng nếu f khả vi thì

f 0 (x, d) = h∇f (x), di, ∀d. (1.1)

Định nghĩa 1.18. Véc-tơ w ∈ Rn được gọi là dưới đạo hàm của f tại x0 ∈ Rn
nếu
hw, x − x0 i ≤ f (x) − f (x0 ), ∀x ∈ Rn .

Tập hợp tất cả các dưới d của hàm f tại x0 được gọi là dưới vi phân của f tại
x0 , ký hiệu là

∂f (x0 ) := w ∈ Rn : hw, x − x0 i ≤ f (x) − f (x0 ), ∀x ∈ Rn .




14
Hàm f được gọi là khả dưới vi phân tại x0 nếu ∂f (x0 ) 6= ∅.
Nói chung một hàm lồi không nhất thiết khả vi tại mọi điểm. Dưới vi phân
là một khái niệm mở rộng của đạo hàm trong trường hợp hàm không khả vi.
Trong trường hợp ∂f (x0 ) chỉ gồm duy nhất một điểm thì f khả vi tại x0 .
Ví dụ 1.2. Hàm chỉ

0 nếu x ∈ D,

f (x) = δD (x) :=
+∞ nếu x ∈

/ D.

Trong đó D là một tập lồi khác ∅.


Khi đó với x0 ∈ D, ta có

∂f (x0 ) = ∂δD (x0 ) = w | hw, x − x0 i ≤ δD (x), ∀x .




Với x ∈
/ D thì δD (x) = ∞, nên bất đẳng thức này luôn đúng.
Vậy ∂f (x0 ) = ∂δD (x0 ) = w | hw, x − x0 i ≤ 0, ∀x ∈ D = ND (x0 ).


Vậy dưới vi phân của hàm chỉ của một tập lồi D khác ∅ tại một điểm x0 ∈ D
chính là nón pháp tuyến ngoài của D tại x0 .
Định nghĩa 1.19. Cho  > 0. Một véc-tơ w ∈ Rn được gọi là một −dưới đạo
hàm của f tại x0 ∈ Rn nếu

hw, x − x0 i ≤ f (x) − f (x0 ) + , ∀x ∈ Rn .

Tập hợp tất cả các −dưới đạo hàm gọi là −dưới vi phân của f tại x0 , ký hiệu

∂ f (x0 ) := w ∈ Rn : hw, x − x0 i ≤ f (x) − f (x0 ) + , ∀x ∈ Rn .


Cũng có trường hợp tồn tại những điểm x0 tại đó f không có dưới vi phân,
nghĩa là tập ∂f (x0 ) có thể là một tập rỗng. Tuy nhiên, đối với hàm lồi, ta có
định lý sau:
Định lý 1.8. Cho f là một hàm lồi (hữu hạn) trên tập lồi D. Lúc đó f có dưới
vi phân tại mọi điểm thuộc riD.

15
Từ định lý này suy ra rằng nếu f là một hàm lồi trên toàn không gian Rn
thì nó có dưới vi phân tại mọi điểm, vì riRn = Rn .
Định nghĩa 1.20. Cho D ⊆ Rn là tập lồi, f : D → R là hàm lồi và  ≥ 0. Xét
bài toán quy hoạch
min {f (x) | x ∈ D} (P )

Một điểm x ∈ D được gọi là điểm −cực tiểu của f trên D nếu f (x ) ≤ f (x) + 
với mọi x ∈ D.
Mệnh đề 1.3. Véc-tơ x ∈ D là −tối ưu của bài toán (P) khi và chỉ khi
0 ∈ ∂ f (x ).
Chứng minh. Giả sử x ∈ D là −tối ưu của bài toán (P). Khi đó

f (x ) ≤ f (x) + , ∀x ∈ D.

Suy ra
h0, x − x i ≤ f (x) − f (x ) + , ∀x ∈ D ⇔ 0 ∈ ∂ f (x ).

Ngược lại, nếu 0 ∈ ∂ f (x ) thì ta có

h0, x − x i ≤ f (x) − f (x ) + , ∀x ∈ D.

Chứng tỏ x là −tối ưu của bài toán (P).

Định nghĩa 1.21. Cho D là tập lồi đóng khác rỗng trong Rn , x ∈ Rn và  ≥ 0.
Một điểm px được gọi là −chiếu của x trên D nếu px là một −tối ưu của bài
toán
n1 o
min kx − yk2 (Q)
y∈D 2
nghĩa là

1 1
kx − px k2 ≤ kx − PD (x)k2 + ,
2 2

16
trong đó PD (x) là hình chiếu của x trên D.
Mệnh đề 1.4. Cho D là tập lồi đóng khác rỗng. Khi đó px là −chiếu của x
trên D khi và chỉ khi

hx − px , px − yi ≥ −, ∀y ∈ D. (1.2)

Chứng minh. Giả sử px là −chiếu của x trên D. Ta có

1 1
n o
min kx − yk2 = min kx − yk2 + δD (y) (1.3)
y∈D 2 2

trong đó δD (y) là hàm chỉ của y trên tập D.


Đặt
1
f (y) := kx − yk2, x ∈ Rn .
2
Theo Định nghĩa 1.20, px là −tối ưu của bài toán (1.3). Từ Mệnh đề 1.3 ta được

0 ∈ ∂ [f (px ) + δD (px )] = ∂ f (px ) + ∂ δD (px ). (1.4)

Theo Ví dụ 1.2, ∂ δD (px ) = ND (px ) nên từ (1.4) ta có


0 ∈ {−x + px } + ND (px ).

Suy ra

(x − px ) ∈ ND (px ) ⇔ hx − px , w − px i ≤ , ∀w ∈ D.

Ngược lại, giả sử có (1.2). Ta có

kx − PD (x)k2 = kx − px k2 + 2hx − px , px − PD (x)i + kpx − PD (x)k2

≥ kx − PD (x)k2 = kx − px k2 + 2hx − px , px − PD (x)i.


Suy ra
kx − PD (x)k2 ≥ kx − px k2 − 2.

Chứng tỏ px là −chiếu của x trên D.

17
Chương 2

Cực tiểu hàm lồi với ràng buộc lồi

Chương này trình bày điều kiện cần và đủ của nghiệm tối ưu cho bài toán
lồi trơn và không trơn. Tiếp theo trình bày một số thuật toán cơ bản nhất dùng
để giải bài toán cực tiểu hàm lồi với ràng buộc lồi. Đó là các thuật toán hướng
có thể, Frank-Wolfe giải bài toán cực tiểu hàm trơn và thuật toán chiếu dưới
đạo hàm xấp xỉ giải bài toán cực tiểu hàm không trơn. Các kiến thức trình bày
trong chương này được tham khảo chủ yếu từ tài liệu tham khảo [1], [2], [3], [4],
[5], [6] và [7].

2.1 Phát biểu bài toán và điều kiện tối ưu

2.1.1 Các khái niệm

Xét bài toán tìm cực tiểu một hàm lồi trên một tập lồi có dạng sau

min {f (x) | x ∈ D} , (P )

trong đó

D = {x ∈ X | gi (x) ≤ 0, hj (x) = 0, (i = 1, ..., m, j = 1, ..., k)} (2.1)

với X ⊆ Rn là một tập lồi đóng khác rỗng và f, gi (i = 1, ..., m) là các hàm lồi
hữu hạn trên X , hj (j = 1, ..., k) là các hàm affine hữu hạn trên tập affine của

18
X . Ta sẽ luôn giả sử rằng X có điểm trong và các hàm affine hj (j = 1, ..., k) độc
k
lập tuyến tính trên X , theo nghĩa, nếu µj hj (x) = 0 với mọi x ∈ X, thì µj = 0
P
j=1
với mọi j .
Bài toán (P ) này được gọi là một quy hoạch lồi. Hàm f được gọi là hàm mục
tiêu. Các điều kiện x ∈ X, gi (x) ≤ 0 (i = 1, ..., m), hj (x) = 0 (j = 1, ..., k) được gọi
là các ràng buộc.
Tập D = {x ∈ X | gi (x) ≤ 0, hj (x) = 0, (i = 1, ..., m, j = 1, ..., k)} được gọi là
miền chấp nhận được.
Bài toán (P ) được hiểu là hãy tìm một điểm x∗ ∈ D sao cho f (x∗ ) ≤ f (x) với
mọi x ∈ D. Mỗi điểm x ∈ D được gọi là một phương án chấp nhận được của bài
toán (P ).
Do X là tập lồi, gi (i = 1, ..., m) là các hàm lồi hữu hạn trên X , hj (j = 1, ..., k)
là các hàm affine hữu hạn trên tập affine của X nên D là một tập lồi. Điểm cực
tiểu của f trên D cũng được gọi là nghiệm tối ưu của bài toán (P ). Ta xây dựng
hàm sau, được gọi là hàm Lagrange cho bài toán (P )
m
X k
X
L(x, λ, µ) := λ0 f (x) + λi gi (x) + µj hj (x).
i=1 j=1

Bài toán (P ) với miền chấp nhận được D như trên gọi là trơn (khả vi) nếu cả
hàm mục tiêu và các ràng buộc đều trơn và X ≡ Rn .
Bài toán (P ) có rất nhiều ứng dụng trong các lĩnh vực khác nhau. Ví dụ,
trong kinh tế nó là bài toán xác định phương án sản xuất sao cho chi phí thấp
nhất. Trong ví dụ này, x là phương án sản xuất mà mỗi tọa độ xi của nó là số
lượng sản phẩm loại i cần sản xuất, còn f (x) là chi phí ứng với phương án x. Bài
toán (P ) trong mô hình này có nghĩa là tìm một phương án sản xuất trong tập
hợp các phương án chấp nhận được D sao cho chi phí sản xuất ứng với phương
án này là thấp nhất.
Định nghĩa 2.1. Điểm x∗ ∈ D được gọi là cực tiểu địa phương của f trên D

19
nếu tồn tại một lân cận U của x∗ sao cho

f (x∗ ) ≤ f (x), ∀x ∈ U ∩ D.

Điểm x∗ ∈ D được gọi là cực tiểu toàn cục của f trên D nếu

f (x∗ ) ≤ f (x), ∀x ∈ D.

Các khái niệm cực đại địa phương và cực đại toàn cục được định nghĩa tương
tự. Đối với hàm tùy ý f trên tập D, ta ký hiệu tập tất cả các điểm cực tiểu (cực
đại) toàn cục của f trên D là Argminx∈D f (x) (Argmaxx∈D f (x)) .
Do min {f (x) : x ∈ D} = − max {−f (x) : x ∈ D} và tập nghiệm của hai bài
toán này trùng nhau nên lý thuyết cực tiểu (hay cực đại) hàm lồi cũng chính là
lý thuyết cực đại (hay cực tiểu) hàm lõm.
Bổ đề 2.1. Cho f là một hàm lồi mạnh, khi đó với mọi d ∈ Rn hàm số

1
ϕd (x) := f (x) + kxk2 − hd, xi
2

thỏa mãn điều kiện bức, theo nghĩa ϕd (x) → +∞ khi kxk → ∞.
Chứng minh. Do domf 6= ∅, nên có c ∈ ∂f (y). Vậy y ∈ domf . Theo định nghĩa
của dưới vi phân, ta suy ra

1
ϕd (x) ≥ f (y) + kxk2 − hd, xi + hc, x − yi
2
1
= f (y) − hc, yi + kxk2 + hc − d, xi.
2

1 1
kxk2 + hc − d, xi ≥ kxk2 − kc − dkkxk → ∞ khi kxk → ∞.
2 2
Vậy ϕd (x) → +∞ khi kxk → ∞.
2

Định lý 2.1. Cho (P ) là một bài toán quy hoạch lồi. Khi đó:
(i) Nếu x∗ là nghiệm tối ưu địa phương thì x∗ cũng là nghiệm tối ưu toàn cục.
(ii) Nếu f lồi chặt thì x∗ là nghiệm tối ưu toàn cục duy nhất của bài toán (P ).

20
(iii) Nếu f lồi mạnh thì bài toán (P ) luôn tồn tại nghiệm.
Chứng minh.
(i) Giả sử x∗ ∈ D là một nghiệm tối ưu địa phương của bài toán (P ). Theo
định nghĩa, tồn tại một −lân cận B(x∗ , ) của điểm x∗ ∈ D sao cho

f (x∗ ) ≤ f (x) ∀x ∈ B(x∗ , ) ∩ D.

Với bất kỳ x ∈ D, ta có

x̄ = λx + (1 − λ)x∗ = x∗ + λ(x − x∗ ) ∈ B(x∗ , ) ∩ D

khi 0 < λ < 1 và λ đủ nhỏ. Do x∗ là nghiệm cực tiểu địa phương và f là hàm lồi
nên
f (x∗ ) ≤ f (x̄) ≤ λf (x) + (1 − λ)f (x∗ ) ⇒ f (x∗ ) ≤ f (x).

Điều đó chứng tỏ x∗ là nghiệm tối ưu toàn cục của bài toán (P ).


(ii) Giả sử x∗ là nghiệm tối ưu địa phương và hàm mục tiêu f là lồi chặt.
Vì hàm lồi chặt là hàm lồi nên từ (i) ta có x∗ là nghiệm tối ưu toàn cục. Giả
sử phản chứng x∗ không phải là nghiệm tối ưu toàn cục duy nhất, tức tồn tại
x̄ ∈ D, x̄ 6= x∗ và f (x̄) = f (x∗ ). Do f là hàm lồi chặt nên
1 1 1
 1
f x̄ + x∗ < f (x̄) + f (x∗ ) = f (x∗ ).
2 2 2 2
1 1

Do D là tập lồi nên x̄ + x∗ ∈ D và bất đẳng thức trên mâu thuẫn với
2 2
giả thiết x là nghiệm tối ưu toàn cục, vậy x∗ là nghiệm tối ưu toàn cục duy

nhất của bài toán (P ).


(iii) Dễ thấy f lồi mạnh trên với hệ số η > 0 khi và chỉ khi hàm
η
ϕ(x) = f (x) − kxk2
2
lồi trên D.
Áp dụng Bổ đề 2.1 ta được ϕ(x) thỏa mãn điều kiện bức, theo nghĩa ϕ(x) → +∞
khi kxk → ∞. Điều này chứng tỏ nếu f lồi mạnh thì bài toán (P ) luôn tồn tại
nghiệm (xem Định lý 2.4).
2

21
2.1.2 Sự tồn tại nghiệm tối ưu

Xét bài toán tối ưu toàn cục (P ). Có bốn trường hợp xảy ra:
• D = ∅ (không có nghiệm).
• f không bị chặn dưới trên D ( inf f (x) = −∞).
x∈D
• f bị chặn dưới trên D nhưng giá trị cực tiểu không đạt được trên D.
• Tồn tại x∗ ∈ D sao cho f (x∗ ) = inf f (x).
x∈D
Định lý 2.2. Điều kiện cần và đủ để tồn tại nghiệm tối ưu toàn cục của bài
toán (P ) là
F + (D) := {t ∈ R : f (x) ≤ t, x ∈ D} ,

đóng và bị chặn dưới.


Chứng minh. Nếu x∗ là nghiệm tối ưu thì F + (D) = [f (x∗ ), +∞] đóng và bị chặn
dưới.
Ngược lại, giả sử F + (D) bị chặn dưới. Đặt t∗ = inf F + (D) thì t > −∞. Do F + (D)
đóng, t∗ ∈ F + (D) nên tồn tại x∗ ∈ D sao cho f (x∗ ) = t∗ . Chứng tỏ x∗ là một
nghiệm cực tiểu của f trên D.
2

Định lý 2.3. (Weierstrass) Nếu D là tập compact và f nửa liên tục dưới trên
D thì bài toán (P ) có nghiệm tối ưu.
Chứng minh. Đặt α := inf f (x). Theo định nghĩa có một dãy xk ⊂ D sao

x∈D
cho lim f (xk ) = α. Do D compact nên có một dãy con hội tụ về x0 ∈ D , không
k→+∞
giảm tính tổng quát ta có thể coi xk → x0 . Vì f nửa liên tục dưới nên α > −∞.
Nhưng x0 ∈ D nên theo định nghĩa của α, ta phải có f (x0 ) ≥ α. Vậy f (x0 ) = α.

Định lý 2.4. Nếu f nửa liên tục dưới trên D và thỏa mãn điều kiện bức sau

f (x) → +∞ khi x ∈ D, kxk → +∞

22
thì f có cực tiểu trên D.
Chứng minh. Đặt D(a) := {x ∈ D | f (x) ≤ f (a)} với a ∈ D. Rõ ràng, D(a) đóng
và bị chặn nên f có cực tiểu trên D(a) và điểm đó cũng chính là điểm cực tiểu
của f trên D.
2

2.1.3 Điều kiện tối ưu

1) Trường hợp không khả vi


Định lý 2.5. Giả sử D là một tập lồi và f là một hàm lồi, khả dưới vi phân
trên D. Khi đó x∗ là nghiệm tối ưu của bài toán (P ) nếu và chỉ nếu

0 ∈ ∂f (x∗ ) + ND (x∗ ) (2.2)

trong đó ND (x∗ ) là nón pháp tuyến của D tại x∗ .


Chứng minh.
(i) Điều kiện đủ: Giả sử có (2.2). Khi đó tồn tại p∗ sao cho

p∗ ∈ ∂f (x∗ ) ∩ (−ND (x∗ )).

Do p∗ ∈ ∂f (x∗ ) nên
hp∗ , x − x∗ i ≤ f (x) − f (x∗ ), ∀x

và vì p∗ ∈ ND (x∗ ) nên
hp∗ , x − x∗ i ≥ 0, ∀x ∈ D.

Vậy
f (x) − f (x∗ ) ≥ 0, ∀x ∈ D,

chứng tỏ x∗ là nghiệm tối ưu của bài toán (P ).


(ii) Điều kiện cần: Giả sử x∗ là nghiệm tối ưu của bài toán (P ). Bằng cách
lấy không gian affine của D, ta có thể giả sử D là một tập có số chiều đầy đủ.
Do D là tập lồi, intD 6= ∅. Xét hai tập sau

E := {(t, x) ∈ R × Rn : t > f (x) − f (x∗ ), x ∈ D} ; G := {0} × D.

23
Cả E và G đều là tập lồi (do D và f lồi). Hơn nữa, G ∩ E = ∅. Áp dụng định lý
siêu phẳng tách tồn tại (u0 , u) 6= 0 ∈ R × Rn sao cho

u0 t + uT x ≤ u0 0 + uT y, ∀(t, x) ∈ E, ∀y ∈ D. (2.3)

Từ (2.3), cho t → +∞, ta thấy u0 ≤ 0. Cũng từ (2.3) nếu u0 = 0 thì

hu, x − yi ≤ 0, ∀x, y ∈ D

hay

hu, zi ≤ 0, ∀z ∈ D − D = C. (2.4)

Hiển nhiên, 0 ∈ C và bằng phép tịnh tiến ta có thể giả sử 0 ∈ intC. Theo (2.4)
ta có u = 0 (không xảy ra vì u0 = 0). Do đó u0 < 0. Chia cả hai vế của (2.3) cho
−u0 > 0, ta có
−t + uT x ≤ uT y, ∀x, y ∈ D.

Cho t → f (x) − f (x∗ ), ta được

− [f (x) − f (x∗ )] + uT x ≤ uT y, ∀x, y ∈ D. (2.5)

Thay y = x∗ vào (2.5), ta được

− [f (x) − f (x∗ )] + uT x ≤ uT x∗ , ∀x ∈ D.

Do đó

f (x∗ ) − f (x) + uT (x − x∗ ) ≤ 0, ∀x ∈ D. (2.6)

Nếu x ∈
/ D, bằng cách lấy f (x) = ∞ nên từ (2.6) ta cũng nhận được

f (x∗ ) − f (x) + uT (x − x∗ ) ≤ 0, ∀x ∈ X.

nghĩa là u ∈ ∂f (x∗ ). Mặt khác, thay x = x∗ vào (2.5) ta có

uT (y − x∗ ) ≥ 0, ∀y ∈ D.

24
Suy ra −u ∈ ND (x∗ ). Kết hợp với u ∈ ∂f (x∗ ), ta được 0 ∈ ∂f (x∗ ) + ND (x∗ ).

Hệ quả 2.1 Với các giả thiết như Định lý 2.5, nếu x∗ ∈ intD là nghiệm tối ưu
của bài toán (P ) thì 0 ∈ ∂f (x∗ ). Hơn nữa, nếu f khả vi và D = Rn thì 0 = ∇f (x∗ ).
Định lý 2.6. (Karush-Kuhn-Tucker) Nếu x∗ là nghiệm tối ưu của bài toán
(P ) với D được cho bởi (2.1), thì tồn tại λ∗i ≥ 0 (i = 0, ..., m) và µ∗j (j = 1, ..., k)
không đồng thời bằng 0 sao cho

L(x∗ , λ∗ , µ∗ ) = min L(x, λ∗ , µ∗ ) (điều kiện đạo hàm triệt tiêu).


x∈X

λ∗i gi (x∗ ) = 0 (i = 1, ..., m) (điều kiện độ lệch bù).

Hơn nữa nếu intX 6= ∅ và điều kiện Slater sau thỏa mãn

∃x0 ∈ X : gi (x0 ) < 0 (i = 1, ..., m)

thì λ∗0 > 0 và hai điều kiện đạo hàm triệt tiêu và độ lệch bù ở trên, cũng là điều
kiện đủ để điểm chấp nhận được x∗ là nghiệm tối ưu của bài toán (P ).
Chứng minh. Giả sử x∗ là nghiệm tối ưu của bài toán (P ). Đặt

C := {(λ0 , λ1 , ..., λm , µ1 , ..., µk ) | (∃x ∈ X) :

f (x) − f (x∗ ) < λ0 , gi (x) ≤ λi , i = 1, ..., m, hj (x) = µj , j = 1, ..., k}.

Do X 6= ∅ lồi, f, gi là các hàm lồi và hj là hàm affine trên X nên C là một


tập lồi đóng, khác rỗng trong Rm+k+1 . Hơn nữa 0 ∈
/ C . Thật vậy, vì nếu trái lại
0 ∈ C thì tồn tại một điểm chấp nhận được x thỏa mãn f (x) < f (x∗ ). Điều này
mâu thuẫn với giả thiết x∗ là nghiệm tối ưu của bài toán (P ).
Khi đó theo Định lý tách 1, có thể tách các tập C và 0, tức là tồn tại
λ∗i (i = 0, 1, ..., m), µ∗j (j = 1, ..., k) không đồng thời bằng 0 sao cho
m
X k
X
λ∗i λi + µ∗j µj ≥ 0, ∀(λ0 , ..., λm , µ1 , ..., µk ) ∈ C. (2.7)
i=0 j=1

25
Chú ý rằng nếu λ0 , ..., λm > 0, thì (λ0 , ..., λm , 0, ..., 0) ∈ C , vì theo định nghĩa của
C ta chỉ lấy x = x∗ . Từ chú ý này, ta suy ra ngay tất cả các λ∗0 , λ∗1 , ..., λ∗m ≥ 0.
Hơn nữa, với mọi  > 0, x ∈ X , ta lấy λ0 = f (x) − f (x∗ ) + , λi = gi (x) (i =
1, ..., m), µj (j = 1, ..., k) rồi thay vào (2.7) và cho  → 0, sẽ được

m
X k
X m
X k
X
λ∗0 f (x) + λ∗i gi (x) + µ∗j hj (x) ≥ λ∗0 f (x∗ ) + λ∗i gi (x∗ ) + µ∗j hj (x∗ ), ∀x ∈ X.
i=1 j=1 i=1 j=1

(2.8)

Hay
L(x∗ , λ∗ , µ∗ ) ≤ L(x, λ∗ , µ∗ ), ∀x ∈ X.

Đây chính là điều kiện đạo hàm triệt tiêu.


Để chứng minh điều kiện bù, ta chú ý rằng do x∗ là điểm chấp nhận được,
nên gi (x∗ ) ≤ 0 với mọi i. Nếu như tồn tại một i nào đó mà gi (x∗ ) = ξ < 0, thì với
mọi  > 0, ta có

(, ..., ξ, , ..., , 0, ..., 0) ∈ C (ξ ở vị trí i + 1).

Thay vào (2.7) và cho  → 0, ta có λ∗i ξ ≥ 0. Nhưng vì ξ < 0, nên λ∗i ≤ 0. Do đó


λ∗i = 0.
Bây giờ ta chứng minh điều kiện đủ. Trước hết, ta có λ∗0 > 0. Thật vậy, nếu
λ∗0 = 0, do điều kiện đạo hàm triệt tiêu và điều kiện bù, ta có

m
X k
X m
X k
X
0= λ∗i gi (x∗ ) + µ∗j hj (x∗ ) ≤ λ∗i gi (x) + µ∗j hj (x), ∀x ∈ X. (2.9)
i=1 j=1 i=1 j=1

Do λ∗0 = 0, nên xảy ra 2 trường hợp:


• Trường hợp 1: Tồn tại chỉ số i sao cho λ∗i > 0. Khi đó thay thế x = x0 vào
bất đẳng thức (2.9) ta được
m
X k
X m
X k
X
0= λ∗i gi (x∗ ) + µ∗j hj (x∗ ) ≤ λ∗i gi (x0 ) + µ∗j hj (x0 ) < 0 (vô lý).
i=1 j=1 i=1 j=1

26
• Trường hợp 2: λ∗i = 0 với mọi i và tồn tại j sao cho µ∗j > 0, ta có
k
X k
X
0= µ∗j hj (x∗ ) ≤ µ∗j hj (x), ∀x ∈ X.
j=0 j=0

Do intX 6= ∅ và hj là hàm affine với mọi j nên ta có


k
X
µ∗j hj (x), ∀x ∈ X.
j=0

Theo giả thiết, các hàm hj độc lập tuyến tính trên X, nên µ∗j = 0 với mọi j. Điều
này mâu thuẫn với giả thiết λ∗i và µ∗j không đồng thời bằng 0. Do đó λ∗0 > 0 và
chia cả hai vế của (2.8) cho λ∗0 > 0, ta có thể giả sử hàm Lagrange của bài toán
(P ) có dạng
m
X k
X
L(x, λ, µ) = f (x) + λi gi (x) + µj hj (x).
i=1 j=1

Sử dụng điều kiện đạo hàm triệt tiêu và điều kiện độ lệch bù, với mọi nghiệm
chấp nhận được x∗ , ta có
m
X k
X
∗ ∗
f (x ) = f0 (x ) + λ∗i gi (x∗ ) + µ∗j hj (x∗ )
i=1 j=1

m
P k
P
≤ f0 (x) + λi gi (x) + µj hj (x) ≤ f (x).
i=1 j=1
Điều này chứng tỏ rằng x∗ là một nghiệm tối ưu của bài toán (P ).

Ví dụ 2.1. Áp dụng định lý cho bài toán sau:

min {f (x) | gi (x) ≤ 0 (i = 1, 2), x ∈ X} , (P )


h 1 1i
trong đó f (x) = x2 , g1 (x) = x2 − x, g2 (x) = −x, X = − , .
2 2
Giải:
Ta có miền chấp nhận được
h 1i
D = {x ∈ X | gi (x) ≤ 0 (i = 1, 2)} = 0, .
2

27
Giả sử tồn tại λ∗i ≥ 0 (i = 0, 1, 2) không đồng thời bằng 0 sao cho
1) L(x∗ , λ∗ ) = min L(x, λ∗ ).
x∈X
2) λ∗i gi (x∗ ) = 0, i = 1, 2.
3) λ∗0 > 0.
Từ Định lý 2.6, suy ra x∗ là nghiệm tối ưu của bài toán (P )
⇔ f (x∗ ) ≤ f (x), ∀x ∈ D .
⇔ (x∗ )2 ≤ x2 , ∀x ∈ D .
⇔ x∗ = 0.
Ngược lại, nếu x∗ = 0 là nghiệm của bài toán (P ) thì từ Định lý 2.6, suy ra
tồn tại λ∗i ≥ 0 (i = 0, 1, 2) không đồng thời bằng 0 sao cho:
1) L(x∗ , λ∗ ) = min L(x, λ∗ ).
x∈X
2) λ∗i gi (x∗ ) = 0, i = 1, 2.
Ta có L(x∗ , λ∗ ) = min L(x, λ∗ ).
x∈X
⇔ L(x, λ∗ ) ≥ L(x∗ , λ∗ ), ∀x ∈ X .
2 2
⇔ λ∗0 f (x) + λ∗i gi (x) ≥ λ∗0 f (x∗ ) + λ∗i gi (x∗ ), ∀x ∈ X .
P P
i=1 i=1
⇔ λ∗0 x2 + λ∗1 (x2 − x) − λ∗2 x ≥ 0, ∀x ∈ X .
Ta có λ∗i gi (x∗ ) = 0, i = 1, 2.
⇔ λ∗i .0 = 0, (i = 1, 2).
⇔ λ∗i ≥ 0, (i = 1, 2).
Do λ∗i ≥ 0, (i = 0, 1, 2) không đồng thời bằng 0 nên
• Chọn λ∗1 = λ∗2 = 0. Ta có λ∗0 x2 + λ∗1 (x2 − x) − λ∗2 x ≥ 0, ∀x ∈ X .
⇔ λ∗0 x2 ≥ 0, ∀x ∈ X .
⇔ λ∗0 > 0.
⇒ λ∗0 = 1.
• Chọn λ∗1 = λ∗2 = 1. Ta có λ∗0 x2 + λ∗1 (x2 − x) − λ∗2 x ≥ 0, ∀x ∈ X .
⇔ (λ∗0 + 1)x2 − 2x ≥ 0, ∀x ∈ X .
⇒ Không tồn tại λ∗0 .
• Chọn λ∗1 = 0, λ∗2 = 1. Ta có λ∗0 x2 + λ∗1 (x2 − x) − λ∗2 x ≥ 0, ∀x ∈ X .

28
⇔ λ∗0 x2 − x ≥ 0, ∀x ∈ X .
⇒ Không tồn tại λ∗0 .
• Chọn λ∗1 = 1, λ∗2 = 0. Ta có λ∗0 x2 + λ∗1 (x2 − x) − λ∗2 x ≥ 0, ∀x ∈ X .
⇔ (λ∗0 + 1)x2 − x ≥ 0, ∀x ∈ X .
⇒ Không tồn tại λ∗0 .
Vậy x∗ = 0 là nghiệm tối ưu của bài toán (P ) và λ∗0 = 1, λ∗1 = λ∗2 = 0 là các
nhân tử Lagrange tương ứng.
2) Trường hợp khả vi
Định nghĩa 2.2. Một véc-tơ 0 6= d ∈ Rn đượ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ỏ.

Nghĩa là khi di chuyển từ điểm x∗ theo hướng d một đoạn đủ nhỏ ta sẽ không đi
vượt ra ngoài miền chấp nhận được D. Ký hiệu D(x∗ ) là tập tất cả hướng chấp
nhận được của D tại x∗ và D(x∗ ) là bao đóng của nó.
Ngoài ra 0 6= d ∈ Rn là một hướng dùng được của D tại x∗ ∈ D nếu

x∗ + λd ∈ D và f (x∗ + λd) < f (x∗ ) với mọi λ > 0 đủ nhỏ.

Định lý 2.7. 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 đó

dT ∇f (x∗ ) ≥ 0, ∀d ∈ D(x∗ ). (2.10)

Chứng minh. Khai triển Taylor của f tại x∗ là

f (x∗ + λd) = f (x∗ ) + λh∇f (x∗ ), di + o(λkdk). (2.11)

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ỏ.

29
Từ (2.11) ta được
o(λkdk)
dT ∇f (x∗ ) + ≥ 0, ∀λ > 0 đủ nhỏ.
λ
Suy ra (2.10).
2

Định nghĩa 2.3. Một điểm x∗ ∈ D được gọi là điểm dừng của f trên D nếu thỏa
mãn điều kiện (2.10). Một điểm dừng chưa chắc là điểm cực tiểu địa phương.
Ví dụ 2.2. Xét bài toán

min f (x) = x3 trên D = [−1, 2].

Rõ ràng x∗ = 0 là điểm dừng của f (x) nhưng điểm cực tiểu của f (x) trên D đạt
tại x = −1.
Xét bài toán (P) như trên, cho x0 ∈ D và tập

A(x0 ) := i | gi (x0 ) = 0


được 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 
h∇hj (x0 ), di = 0, j = 1, ..., k,

h∇gi (x0 ), di ≤ 0, i ∈ 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 ∇gi (x0 ) > 0 (i ∈ A(x0 )) thì theo Định lý
1.7 ta có

gi (x0 + d) − gi (x0 ) > 0 hay gi (x0 + d) > gi (x0 ) = 0 do i ∈ A(x0 ).

Điều này mâu thuẫn với giả thiết d là một hướng chấp nhận được. Vậy

h∇gi (x0 ), di = 0, i ∈ A(x0 ).

Chứng minh tương tự, ta có

h∇hj (x0 ), di = 0, j = 1, ..., k.

30
Chứng tỏ d ∈ S(x0 ). Vì vậy D(x0 ) ⊆ S(x0 ). Hơn nữa S(x0 ) là tập đóng nên
D(x0 ) ⊆ S(x0 ).
2

Định nghĩa 2.4. Ta nói rằng điều kiện chính quy được thỏa mãn tại x0 nếu
S(x0 ) = D(x0 ).
Định lý 2.8. (Kuhn-Tucker). Giả sử các hàm f, gi (i = 1, ..., m), hj (j = 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 ) (2.12)

sao cho
m
X k
X

∇f (x ) + λ∗i ∇gi (x∗ ) + µ∗j ∇hj (x∗ ) = 0, (2.13)
i=1 j=1

λ∗i g(x∗ ) = 0 ∀i = 1, ..., m (điều kiện bù). (2.14)

Ngược lại, nếu f, gi là các hàm lồi với mọi i và hj là các hàm affine với mọi j
và nếu x∗ ∈ D thỏa mãn các điều kiện (2.12), (2.13), (2.14), 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

f (x∗ + λd) = f (x∗ ) + h∇f (x∗ ), λdi + o(λd),

ta có
h∇f (x∗ ), di ≥ 0, ∀d ∈ D(x∗ ).

Do D(x∗ ) = S(x∗ ), nên h∇f (x∗ ), di ≥ 0 với mọi d ∈ S(x∗ ). Áp dụng Bổ đề Farkas
với ma trận A có các dòng

−∇gi (x∗ ), i ∈ A(x∗ ), ∇hj (x∗ ), −∇hj (x∗ ), j = 1, ..., k.

31
Ta có các số λ∗i ≥ 0, i ∈ A(x∗ ) và αj∗ ≥ 0, βj∗ ≥ 0, j = 1, ..., k sao cho

X k
X

∇f (x ) + λ∗i ∇gi (x∗ ) + (αj∗ − βj∗ )∇hj (x∗ ) = 0.
i∈A(x∗ ) j=1

Lấy λ∗i với mọi i ∈


/ A(x∗ ) và µ∗j = αj∗ − βj∗ với mọi j thì ta được (2.13) và (2.14).
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.12), (2.13) và (2.14) 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 đó

f (x∗ + td) − f (x∗ )


h∇f (x∗ ), di = lim < 0. (2.15)
t&0 t

Mặt khác, λ∗i gi (x∗ ) = 0 với mọi i, nên λ∗i = 0 nếu i ∈


/ A(x∗ ). Với x ∈ D , lập luận
tương tự, ta có
h∇gi (x∗ ), x − x∗ i ≤ gi (x) − gi (x∗ ) ≤ 0, ∀i ∈ A(x∗ ).
Do đó

λ∗i h∇gi (x∗ ), di ≤ 0, ∀i ∈ A(x∗ ). (2.16)

Theo tính chất affine của các hàm hj với mọi j = 1, ..., k , ta có

h∇hj (x∗ ), di = 0. (2.17)

Suy ra
µ∗j h∇hj (x∗ ), di = 0, j = 1, ..., k.

Kết hợp (2.15), (2.16) và (2.17), ta được


m
X k
X

h∇f (x ), di + λ∗i h∇gi (x∗ ), di + µ∗j h∇hj (x∗ ), di < 0.
i=1 j=1

điều này mâu thuẫn với (2.13). Vậy x∗ là nghiệm tối ưu của bài toán (P ).

32
2.2 Một số thuật toán giải bài toán quy hoạch lồi

2.2.1 Thuật toán hướng có thể giải bài toán cực tiểu hàm trơn

Xét bài toán


min {f (x) | Ax ≤ b, Ex = e, x ∈ Rn } , (lP1 )

trong đó f là hàm khả vi trên Rn và D = {x ∈ Rn | Ax ≤ b, Ex = e} ⊂ Rn là tập


lồi đa diện khác rỗng, với A là ma trận cấp m×n với các hàng ai ∈ Rn , i = 1, ..., m,
E là ma trận cấp k × n, b ∈ Rm và e ∈ Rk .
Ý tưởng của thuật toán hướng có thể là: Xuất phát từ một điểm chấp nhận
được bất kỳ x0 ∈ D, ta xây dựng một dãy điểm x1 , x2 , x3 , ... sao cho

xk+1 := xk + λk dk ∈ D với λk > 0, f (xk+1 ) < f (xk ) (2.18)

và dãy xk hội tụ đến x∗ là một điểm KKT của bài toán (lP1 ). Véc-tơ dk thỏa


mãn (2.18) là một hướng dùng được của bài toán (lP1 ) và λk là độ dài bước. Như
vậy x∗ chính là nghiệm cực tiểu toàn cục của bài toán (lP1 ).
Cho điểm chấp nhận được xk . Ký hiệu

I(xk ) := i ∈ {1, ..., m} | hai , xk i = bi .




Mệnh đề 2.2 Cho điểm xk ∈ D. Khi đó véc-tơ d là hướng chấp nhận được của
D tại xk khi và chỉ khi hai , di ≤ 0 với mọi i ∈ I(xk ) và Ed = 0.
Chứng minh.
(i) Điều kiện cần: Giả sử d ∈ Rn là hướng chấp nhận được của D tại xk . Theo
định nghĩa, tồn tại số thực λ∗ > 0 sao cho với mọi λ thỏa mãn 0 < λ ≤ λ∗ . Ta có
xk + λd ∈ D, tức

hai , xk + λdi = hai , xk i + λhai , di ≤ bi , ∀i = 1, ..., m, (2.19)

E(xk + λd) = Exk + λEd = e. (2.20)

33
Từ (2.19) suy ra hai , di ≤ 0 với mọi i ∈ I(xk ). Còn biểu thức Ed = 0 nhận được
từ (2.20).
(ii) Điều kiện đủ: Ngược lại, giả sử hai , di ≤ 0 với mọi i ∈ I(xk ) và Ed = 0.
Khi đó ta có
E(xk + λd) = Exk + λEd = e, ∀λ ∈ R.
Hơn nữa,
• Với mỗi i ∈ I(xk ) ta có

hai , xk + λdi = hai , xk i + λhai , di ≤ hai , xk i = bi , ∀λ > 0.

• Với mỗi i ∈
/ I(xk ) ta có hai , xk i < bi và

hai , xk + λdi = hai , xk i + λhai , di < bi + λhai , di.

Do đó, nếu hai , di ≤ 0 thì hai , xk + λdi < bi với mọi λ > 0. Còn nếu hai , di > 0 thì
bi − hai , xk i
hai , xk + λdi < bi với mọi λ ≤ .
hai , di

Đặt
bi − hai , xk i
 
λ∗ = min / I(xk ), hai , di > 0 .
|i∈
hai , di
Ta có xk + λd ∈ X với mọi 0 < λ ≤ λ∗ , chứng tỏ d là hướng chấp nhận được của
X tại xk .
Nhận xét. Cho điểm chấp nhận được xk ∈ X và véc-tơ dk ∈ Rn . Kí hiệu

I ∗ = i ∈ {1, ..., m} \I(xk ) | hai , dk i > 0 .




Khi đó xk + λdk ∈ X với mọi 0 < λ ≤ λ∗ , trong đó



bi − hai , xk i
 
| i ∈ I d , nếu I ∗ 6= ∅,

min

i
λ∗ = ha , di (2.21)
nếu I ∗ = ∅.

+∞,

Mệnh đề 2.3. Nếu véc-tơ d ∈ Rn thỏa mãn

hai , di ≤ 0, ∀i ∈ I(xk ), Ed = 0

34

h∇f (xk ), di < 0

thì d là hướng dùng được của bài toán (lP1 ).


Thuật toán
Bước khởi đầu: Tìm một điểm bất kỳ x0 ∈ D. Đặt k := 0;
Bước lặp k, (k = 0, 1, 2, ...)
(k1 ) Xây dựng hướng cải thiện dk .
Nếu h∇f (xk ), dk i = 0 thì dừng thuật toán (xk là phương án tối ưu).
Nếu h∇f (xk ), dk i =
6 0 thì chuyển sang Bước (k2 ).
(k2 ) Xác định độ dài bước dịch chuyển λk > 0 là nghiệm của bài toán cực tiểu
hàm một biến
min f (xk + λk dk ) | λ ∈ [0, λ∗ ] ,


sao cho f (xk + λk dk ) < f (xk ) và xk + λk dk ∈ D.


(k3 ) Tìm giá trị tối ưu của λk , đặt xk+1 = xk + λk dk .
(k4 ) Đặt k := k + 1 và quay về Bước lặp k.
Ví dụ 2.3. Giải bài toán

f (x) = 8x21 + 10x22 + 12x1 x2 + 50x1 − 80x2 → min

với các ràng buộc 


x1 + x2 − 1 ≤ 0,






1
x1 − ≤ 0,


 2

x1 ≥ 0, x2 ≥ 0.

Giải:
Ta có miền chấp nhận được

1
n o
D = x ∈ R2 | x1 + x2 − 1 ≤ 0, x1 − ≤ 0, x1 ≥ 0, x2 ≥ 0 .
2

35
Bước lặp 1: Xét x1 = (0, 0), ta có:

 ∂f

 = 16x1 + 12x2 + 50,
∂x1
∂f
= 20x2 + 12x1 − 80.



∂x2
Vậy  
50
∇f (0, 0) =  .
−80

Với mọi x = (x1 , x2 ) ∈ D, ta có


 
x1
ϕ(x) = (∇f (0, 0))T (x − x1 ) = (50, −80)   = 50x1 − 80x2 .
x2

Hình 2: Minh họa thuật toán hướng có thể

Từ đó có ϕ(O) = 0 (xem Hình 2), ϕ(B) = −15, ϕ(A) = −80, ϕ(C) = 25. Do
ϕ(A) < 0 nên x1 = (0, 0) chưa phải là phương án tối ưu. Chọn hướng d1 =
−→
OA = (0, 1) là hướng chấp nhận. Để tìm độ dài bước dịch chuyển λ ≥ 0, ta xét
bài toán sau: min f (x1 + λd1 ) = 10t2 − 80t, với điều kiện ràng buộc x1 + λd1 ∈ D
hay λ ∈ [0, 1]. Từ đó có λ = 1. Do đó x2 = x1 + 1 × d1 = (0, 1).
Bước lặp 2: Xét điểm x2 = (0, 1), ta có
   
16x1 + 12x2 + 50 62
∇f (0, 1) =  = .
20x2 + 12x1 − 80 −60

36
Xét bài toán min ϕ(x) = (∇f (0, 1))T (x−x2 ) = 62x1 −60x2 +60 với x = (x1 , x2 ) ∈ D.
Ta thấy ϕ(O) = 60, ϕ(B) = 61, ϕ(A) = 0, ϕ(C) = 91 nên minϕ(x) = 0 đạt được tại
điểm A(0, 1). Do đó, với mọi hướng chấp nhận d luôn có (∇f (0, 1))T d ≥ 0. Vậy
ta dừng tại phương án tối ưu x2 = A(0, 1) do không còn khả năng cải thiện hàm
mục tiêu.

2.2.2 Thuật toán Frank-Wolfe giải bài toán cực tiểu hàm trơn

Xét bài toán quy hoạch lồi

min {f (x) | x ∈ D} (lP2 )

trong đó f là hàm lồi, khả vi liên tục trên Rn và D = {x ∈ Rn | Ax ≤ b} ⊂ Rn với


A là ma trận cấp m × n và véc-tơ b ∈ Rm là tập lồi đa diện.
Thuật toán Frank-Wolfe để giải bài toán (lP2 ) với giả thiết hàm tuyến tính
h∇f (x̂), xi bị chặn dưới trên D với mỗi x̂ ∈ Rn . Hiển nhiên với D là đa diện lồi
compact thì giả thiết này luôn được thỏa mãn.
Cho điểm chấp nhận được xk ∈ D. Vì D là đa diện lồi nên x − xk là hướng
chấp nhận được của D tại xk với mọi x ∈ D. Xét bài toán tối ưu tuyến tính

min h∇f (xk ), x − xk i | x ∈ D



(LPk )

Giả sử uk ∈ V (D) là nghiệm tối ưu của bài toán trên. Khi đó:
• Nếu giá trị tối ưu h∇f (xk ), uk − xk i ≥ 0 thì h∇f (xk ), x − xk i ≥ 0 với mọi
x ∈ D . Do đó xk là nghiệm cực tiểu của bài toán (lP2 ).
• Ngược lại, nếu giá trị tối ưu h∇f (xk ), uk − xk i < 0 thì uk − xk là một hướng
dùng được của bài toán (lP2 ).
Sau đây là thuật toán Frank-Wolfe giải bài toán quy hoạch lồi (lP2 ).
Thuật toán
Bước khởi đầu: Tìm một điểm bất kỳ x0 ∈ D. Đặt k := 0;
Bước lặp k, (k = 0, 1, 2, ...)

37
(k1 ) Sử dụng phương pháp đơn hình giải bài toán tối ưu tuyến tính (LPk ) được
nghiệm tối ưu uk ∈ V (D).
(k2 ) Kiểm tra điều kiện tối ưu
Nếu h∇f (xk ), uk − xk i ≥ 0 thì thuật toán dừng, xk là điểm dừng.
Nếu h∇f (xk ), uk − xk i < 0 thì đặt dk := uk − xk và chuyển sang Bước (k3 ).
(k3 ) Xác định điểm xk+1 := xk + λk dk , trong đó
λk = argmin f (xk + λdk ) | λ ∈ [0, 1] .


(k4 ) Nếu ∇f (xk+1 ) = 0 thì thuật toán dừng, xk+1 là điểm dừng
Nếu ∇f (xk+1 ) 6= 0 thì đặt k := k + 1 và quay lại Bước k.
Định lý 2.9. (Tính hội tụ của thuật toán)
(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 − uk i, ∀k.

Chứng minh.
(i) Điều này được suy ra từ Bước (k3 ) và Định nghĩa 2.2.
(ii) Theo tiêu chuẩn dừng, nếu thuật toán kết thúc ở bước k, thì

h∇f (xk ), uk − xk i ≥ 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 − xk i ≥ h∇f (xk ), uk − xk i ≥ 0, ∀x ∈ D.

Vậy xk là đ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

38
mọi k , theo định nghĩa xkj+1 và u∗ , ta có

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

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

f (x∗ ) ≤ f (x∗ + λ(u∗ − x∗ )), ∀ 0 ≤ λ ≤ 1.

Suy ra
f (x∗ + λ(u∗ − x∗ )) − f (x∗ )
0 ≤ lim = h∇f (x∗ ), u∗ − x∗ i.
λ→0+ λ
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∗ − xkj i ≤ h∇f (xkj ), x − xkj i, ∀x ∈ D.

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

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

Điều này chứng tỏ 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 (lP2 ). 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 − xk i ≤ h∇f (xk ), x∗ − xk i ≤ f (x∗ ) − f (xk ),

hay
f (xk ) − f (x∗ ) ≤ h∇f (xk ), xk − uk i, ∀k.

Ví dụ 2.4. Giải bài toán

1 2 1 2
f (x) = x + x → min
2 1 2 2
39
với các ràng buộc 
−x1 + x2 ≤ 1,






x1 + 2x2 ≥ 2,




x1 ≤ 3.

Giải:
Ta có miền chấp nhận được

D = x ∈ R2 | −x1 + x2 ≤ 1, x1 + 2x2 ≥ 2, x1 ≤ 3 .


Mặt khác    
x1 1 0
∇f (x) =   , ∇2 f (x) =  .
x2 0 1

Vậy f (x) là hàm lồi chặt.


Xuất phát từ x0 = (0, 1)T với ∇f (x0 ) = (0, 1)T . Đặt k = 0.
Bước lặp k = 0.
0.1. Giải bài toán min h∇f (x0 ), xi = x2 | x ∈ D được phương án cực biên tối

1
ưu là u0 = (3, − )T .
2
0.2. Vì
 
3
h∇f (x0 ), u0 − x0 i = (∇f (x0 ))T (u0 − x0 ) = (0 1)  3  < 0,

2

nên x0 chưa phải là nghiệm tối ưu.


3
0.3. Đặt d0 := u0 − x0 = (3, − )T . Ta có d0 là hướng dùng được của bài toán
2
đang xét tại x .
0

0.4. Tìm điểm chấp nhận được x1 , ta có

     
0 3 3λ
x0 + λd0 =   + λ  3  =  3
;
1 − 1− λ
2 2

40
Xét hàm lồi một biến

3 1
 1 3
  2
ϕ(λ) = f (x + λd ) = f 3λ, 1 − λ = (3λ)2 +
0 0
1− λ với 0 ≤ λ ≤ 1.
2 2 2 2

Ta có
45 3
ϕ0 (λ) = λ− .
4 2
Suy ra
2
ϕ0 (λ) = 0 ⇔ λ = .
15
Vậy
2
 2 4 T
λ0 = và x1 = x0 + λ0 d0 = , .
15 5 5
 2 4 T
Vì ∇f (x1 ) = , 6= (0, 0)T nên đặt k := k + 1 = 1 và chuyển sang bước lặp
5 5
k = 1.
Bước lặp k = 1.
2 4
n o
1.1. Giải bài toán min = x1 + x2 | x ∈ D .
h∇f (x1 ), xi
5 5
1
Bài toán này có hai phương án cực biên tối ưu là (0, 1)T và (3, − )T . Giả sử ta
2
chọn u = (0, 1) .
1 T

1.2. Khi đó
2
 
T
 2 4
 −
h∇f (x1 ), u1 − x1 i = ∇f (x1 ) (u1 − x1 ) =  5  = 0.

1 5 5
5
 2 2 T
Vậy x1 = là nghiệm tối ưu của bài toán.
,
5 5
1 T
 
Nếu trong bước 1.1 ta chọn u = 3, −
1 thì
2
13
 
T 2 4
h∇f (x1 ), u1 − x1 i = ∇f (x1 ) (u1 − x1 ) =  5  = 0.
5 5 13

10
 2 2 T
Do đó x1 = , là nghiệm tối ưu của bài toán.
5 5

41
2.2.3 Thuật toán chiếu dưới đạo hàm xấp xỉ

Xét bài toán


min {f (x) | x ∈ D} , (P )

Ký hiệu tập nghiệm của bài toán (P ) là S(f, D). Nếu x∗ ∈ D là nghiệm của bài
toán (P ) ta luôn có

f (x) ≥ f (x∗ ), ∀x ∈ D hay f (x) − f (x∗ ) ≥ 0, ∀x ∈ D.

Cho ρ,  là các tham số dương và các dãy số thực {ρk } , {βk } , {k } , {ξk } thỏa
mãn các điều kiện sau

ρk ≥ ρ, βk ≥ 0, k ≥ 0, ξk ≥ 0, ∀k ∈ N, (2.22)

X βk X
= +∞, βk2 < +∞, (2.23)
ρk

X βk k X
< +∞, ξk < +∞. (2.24)
ρk

Chẳng hạn có thể lấy

1 1 1
βk = , ρk = 1, k = , ξk = .
k k k(k + 1)

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


Bước 1: Lấy g k ∈ ∂ξk f (xk ).
Nếu g k = 0 thì xk là k −nghiệm của bài toán (P ) và dừng thuật toán nếu k ≤ .
Trái lại ta định nghĩa

βk
trong đó γk = max ρk , kg k k .

αk =
γk

và chuyển sang Bước 2.


Bước 2: Tính xk+1 ∈ D sao cho thỏa mãn

hαk g k + xk+1 − xk , x − xk+1 i ≥ −ξk , ∀x ∈ D. (2.25)

42
Nếu kxk+1 − xk k ≤  thì dừng và ta được một nghiệm xấp xỉ.
Ngược lại quay về Bước 1.
Chú ý. Ta có
• Theo Mệnh đề 1.4 điểm xk+1 được gọi là ξk −chiếu của (xk − αk g k ) vào D.
Đặc biệt, nếu ξk = 0 thì xk+1 là hình chiếu khoảng cách của (xk − αk g k ) hay
xk+1 = PD (xk − αk g k ).
• Nếu ξk = k = 0, với mọi k ∈ N thì px là phép chiếu khoảng cách và khi
đó thuật toán trở thành thuật toán chiếu đạo hàm, tiêu chuẩn dừng là gk = 0 ở
Bước 1 và xk+1 = xk ở Bước 2.
Bổ đề 2.2. Với mọi k, ta có bất đẳng thức sau:
(i) αk k g k k≤ βk .
(ii) βk k xk+1 − xk k≤ βk2 + ξk .
Chứng minh.
(i) Theo định nghĩa αk ta có

βk k g k k
αk k g k k=  ≤ βk .
max ρk , k g k k

(ii) Thay x = xk vào (2.25) ta có


k xk+1 − xk k2 ≤ hαk g k , xk − xk+1 i + ξk
≤ αk k g k k . k xk+1 − xk k + ξk (theo bất đẳng thức Cauchy -
Schwarz)
≤ βk k xk+1 − xk k + ξk (theo chứng minh (i)).
Hay

k xk+1 − xk k2 −βk k xk+1 − xk k + ξk ≤ 0. (2.26)

Xét phương trình bậc hai s(θ) = θ2 − βθ − ξ với θ ≥ 0. Khi đó s(θ) ≤ 0 kéo theo

p
β+ β 2 + 4ξ
θ≤ . (2.27)
2

43
a2 + b2
Nhân cả hai vế của bất đẳng thức (2.27) với β và sử dụng tính chất ab ≤
2
ta có
 p 
βθ ≤ 2−1 β 2 + β β 2 + 4ξ

β 2 + β 2 + 4ξ
 
≤ 2−1 β 2 +
2
2
= β + ξ.
Thay vào (2.26) với θ =k xk+1 − xk k, β = βk , ξ = ξk ta được

βk k xk+1 − xk k ≤ βk2 + ξk .

Bổ đề được chứng minh.


2

Mệnh đề 2.4. Giả sử bài toán (P ) có tập nghiệm S(f, D) khác rỗng. Khi đó với
mọi x∗ ∈ S(f, D) và với mọi k, ta có các khẳng định sau:
(i) k xk+1 − x∗ k2 ≤ k xk − x∗ k2 +2αk (f (x∗ ) − f (xk )) + δk , trong đó δk = 2αk k +
2βk2 + 4ξk .
(ii) Dãy k xk − x∗ k2 hội tụ với mọi x∗ ∈ S(f, D).


(iii) Dãy xk bị chặn.




Chứng minh.
(i) Ta có

k xk − x∗ k2 = k xk+1 − xk k2 −2hxk − xk+1 , x∗ − xk+1 i+ k xk+1 − x∗ k2 .

Nên

k xk+1 − x∗ k2 = k xk − x∗ k2 − k xk+1 − xk k2 +2hxk − xk+1 , x∗ − xk+1 i

≤ k xk − x∗ k2 +2hxk − xk+1 , x∗ − xk+1 i. (2.28)

Thay x = x∗ vào (2.25) ta có

hαk g k + xk+1 − xk , x∗ − xk+1 i ≥ −ξk .

44
⇒ 2hxk − xk+1 , x∗ − xk+1 i ≤ 2hαk g k , x∗ − xk+1 i + 2ξk . (2.29)

Thay (2.29) vào (2.28) ta được:


k xk+1 − x∗ k2 ≤ k xk − x∗ k2 +2hαk g k , x∗ − xk+1 i + 2ξk
= k xk − x∗ k2 +2hαk g k , x∗ − xk i + 2hαk g k , xk − xk+1 i + 2ξk .
Áp dụng bất đẳng thức Cauchy - Schwarz và Bổ đề 2.2 (i) cho ta bất đẳng thức
sau
k xk+1 − x∗ k2 ≤k xk − x∗ k2 +2αk hg k , x∗ − xk i + 2βk k xk − xk+1 k2 +2ξk

≤k xk − x∗ k2 +2αk hg k , x∗ − xk i + 2β 2 + 4ξk (theo Bổ đề 2.2 (ii)). (2.30)

Mặt khác, g k ∈ ∂2k f (xk ) nên ta có


hg k , x∗ − xk i ≤ f (x∗ ) − f (xk ) + k ,
Do αk > 0 nhân cả hai vế của bất đẳng thức trên với αk ta được

2αk hg k , x∗ − xk i ≤ 2αk (f (x∗ ) − f (xk )) + 2αk k . (2.31)

Thay (2.31) vào (2.30) ta được

k xk+1 − x∗ k2 ≤ k xk − x∗ k2 +2αk (f (x∗ ) − f (xk )) + δk , (2.32)

trong đó δk = 2αk k + 2βk2 + 4ξk .


(ii) Do x∗ ∈ S(f, D) nên f (x∗ ) ≤ f (xk ) hay f (x∗ ) − f (xk ) ≤ 0 thay vào (2.32)
ta được

k xk+1 − x∗ k2 ≤k xk − x∗ k2 +δk , (2.33)

trong đó δk = 2αk k + 2βk2 + 4ξk .


Theo (2.23), (2.24), (2.25) thì
+∞
X
δk > 0 và δk < +∞. (2.34)
k=0

Từ (2.33) và (2.34) ta được dãy k xk − x∗ k2 hội tụ.




45
(iii) Do dãy k xk − x∗ k2 hội tụ ta suy ra dãy xk bị chặn.
 

Bổ đề 2.3. Giả sử tập S(f, D) khác rỗng và dãy g k bị chặn. Khi đó




lim sup (f (xk ) − f (x∗ )) = 0, ∀x∗ ∈ S(f, D).


k→∞

Chứng minh. Giả sử x∗ ∈ S(f, D). Theo Mệnh đề 2.4 (i) ta có

0 ≤ 2αk (f (xk ) − f (x∗ )) ≤ k xk − x∗ k2 − k xk+1 − x∗ k2 +δk ,


+∞
trong đó δk = 2αk k + 2βk2 + 4ξk > 0 và δk < +∞ theo (2.23), (2.24), (2.25).
P
k=0
Lấy tổng các bất đẳng thức trên với k = 0, 1, ...m ta có
m
X
0≤2 αk (f (xk ) − f (x∗ ))
k=0
m
≤ k x0 − x∗ k2 − k xm+1 − x∗ k2 +
P
δk
k=0
m
≤ k x0 − x∗ k2 + δk .
P
k=0
Cho m → +∞ ta được
+∞
X +∞
X
k ∗
0≤2 αk (f (x ) − f (x )) + δk .
k=0 k=0
+∞
Vì δk < +∞ nên
P
k=0
+∞
X
0≤2 αk (f (xk ) − f (x∗ )) < +∞. (2.35)
k=0

Theo giả thiết bị chặn, từ (2.22) và (2.25) ta có tồn tại L ≥ ρ sao cho
 k
g
k g k k≤ L với mọi k ∈ N. Do đó

γk L
= max 1, ρ−1 k

k k g k ≥ , ∀k ∈ N.
ρk ρ

Khi đó, theo (2.25) thì


βk ρ βk
αk = ≥ , ∀k ∈ N. (2.36)
γk L ρk

46
Từ (2.35) và (2.36) ta có
+∞
X βk
(f (xk ) − f (x∗ )) < +∞.
ρk
k=0

+∞ βk
Do < +∞ nên từ đây suy ra
P
k=0 ρk

lim sup (f (xk ) − f (x∗ )) = 0, ∀x∗ ∈ S(f, D).


k→+∞

Định lý 2.10. Giả sử bài toán (P) có tập nghiệm S(f, D) khác rỗng, dãy g k bị


chặn và f nửa liên tục dưới trên tập D. Khi đó các dãy xk hội tụ đến nghiệm


của bài toán (P).


Chứng minh. Giả sử x∗ ∈ S(f, D). Theo định nghĩa của lim sup tồn tại một
dãy con xkj của xk sao cho
 

lim sup (f (xk ) − f (x∗ )) = lim sup (f (xkj ) − f (x∗ )).


k→+∞ j→+∞

Theo Mệnh đề 2.4 (iii), dãy xkj bị chặn. Vì vậy, không mất tính tổng quát ta


giả sử là

lim xkj = x (2.37)


j→+∞

Theo giả thiết hàm f nửa liên tục dưới trên tập D và từ Bổ đề 2.3 ta có

f (x∗ ) − f (x) ≥ lim inf (f (x∗ ) − xkj )


j→+∞
 
= − lim sup (f (xkj ) − f (x∗ ))
j→+∞
 
= − lim sup (f (xk ) − f (x∗ ))
k→+∞
= 0.
Do x∗ ∈ S(f, D) nên f (x∗ ) − f (x) ≤ 0 cho nên ta có

f (x∗ ) − f (x) = 0,

47
hay f (x∗ ) = f (x) nên x ∈ S(f, D).
Khi đó theo Mệnh đề 2.4 (ii) dãy k xk − x k2 hội tụ, kết hợp với (2.37) ta được


lim xk = x, x ∈ S(f, D).


k→+∞

Định lý được chứng minh.


2

48
Chương 3

Cực đại hàm lồi với ràng buộc lồi

Chương này trình bày bài toán và thuật toán nhánh cận giải bài toán cực đại
hàm lồi với ràng buộc lồi. Khác với cực tiểu, điểm cực đại địa phương của hàm
lồi không nhất thiết là điểm cực đại toàn cục. Nói chung, thông tin địa phương
không đủ để xác định điểm cực đại toàn cục của một hàm lồi. Các kiến thức
trình bày trong chương này được tham khảo chủ yếu từ tài liệu tham khảo [2],
[4] và [6].

3.1 Bài toán và các tính chất

Xét bài toán tìm cực đại của một hàm lồi trên một tập lồi có dạng sau

max {f (x) | x ∈ D} , (Q)

trong đó f : Rn → R là hàm lồi, D là tập lồi, compact.


Mệnh đề 3.1. Giả sử D ⊂ Rn là tập lồi và f : D → R là hàm lồi. Nếu f (x) đạt
cực đại trên D tại điểm trong tương đối x0 của D (x0 ∈ riD) thì f (x) bằng hằng
số trên D. Tập Argmaxx∈D f (x) là hợp của một số diện của D.
Chứng minh. Giả sử f đạt cực đại trên D tại điểm x0 ∈ riD và giả sử x là
điểm tùy ý thuộc D. Do x0 ∈ riD nên tìm được y ∈ D sao cho x0 = λx + (1 − λy)
với λ nào đó thuộc (0, 1).

49
Khi đó
f (x0 ) ≤ λf (x) + (1 − λ)f (y).

Vì thế

λf (x) ≥ f (x0 ) − (1 − λ)f (y) ≥ f (x0 ) − (1 − λ)f (x0 ) = λf (x0 ).

Như vậy f (x) ≥ f (x0 ). Từ đó f (x) = f (x0 ) hay f (x) bằng hằng số trên D. Mặt
khác, nếu một điểm trong tương đối của một diện là điểm cực đại, thì mọi điểm
của diện đều là điểm cực đại.
2

Mệnh đề 3.2. Giả sử D là tập lồi, đóng và f : D → R là hàm lồi. Nếu D không
chứa đường thẳng nào và f (x) bị chặn trên trên mọi nửa đường thẳng trong D
thì
max {f (x) : x ∈ D} = max {f (x) : x ∈ V (D)} ,

trong đó V (D) là tập các điểm cực biên của D, nghĩa là nếu cực đại của f (x)
đạt được trên D thì cũng đạt được trên V (D).
Chứng minh. Ta có D = coV (D) + K , trong đó K là nón lồi sinh bởi các
phương cực biên của D. Một điểm bất kỳ thuộc D mà nó không phải là điểm
cực biên, sẽ thuộc nửa đường thẳng xuất phát từ một điểm v nào đó thuộc
V (D) theo phương của một tia trong K. Do f (x) hữu hạn và bị chặn trên trên
nửa đường thẳng này, nên cực đại của nó trên đường thẳng này đạt được tại v.
Như vậy max của f (x) trên D bằng max của f trên coV (D). Khi đó, vì bất kỳ
x ∈ coV (D) đều có dạng x = λi v với v i ∈ V (D) và λi ≥ 0, λi = 1, cho nên
P i P
i∈I i∈I
i i
P
f (x) ≤ λi f (v ) ≤ max f (v ).
i∈I i∈I
2

Hệ quả 3.1. Hàm lồi f trên tập lồi đa diện D, không chứa đường thẳng nào,
hoặc không bị chặn trên trên một cạnh vô hạn nào đó của D, hoặc đạt cực đại
tại một đỉnh của D.

50
Hệ quả 3.2. Nếu một hàm lồi đạt cực đại trên một tập lồi có điểm cực biên,
thì cực đại sẽ đạt tại một điểm cực biên của tập lồi đó.
Chứng minh. Giả sử x∗ là điểm cực đại của f trên tập lồi D. Nếu x∗ không phải
là điểm cực biên của D, thì tồn tại a, b ∈ D và λ ∈ (0, 1) sao cho x∗ = λa + (1 − λ)b.
Theo Mệnh đề 3.1, ta có f (x) = f (x∗ ) với mọi x ∈ [a, b].

3.2 Thuật toán nhánh cận

3.2.1 Một số khái niệm cơ bản

Định nghĩa 3.1. Một tập hợp S ⊂ Rn được gọi là một đơn hình có thứ nguyên
bằng p (hoặc nói ngắn gọn là p-đơn hình), nếu S là tổ hợp lồi của p + 1 điểm
v 0 , ..., v p độc lập affine trong Rn . Ký hiệu S = v 0 , ..., v p . Các điểm v 0 , ..., v p được
 

gọi là các đỉnh của đơn hình.


Giả sử S là một đơn hình chứa trọn miền ràng buộc D hoặc có chứa ít nhất
một lời giải tối ưu của bài toán (Q).
Định nghĩa 3.2. Nếu một điểm v thuộc một cạnh v i , v j , nhưng v 6= v i , v 6= v j
 

thì v xác định phép chia đơn hình S thành hai đơn hình con Si và Sj mà tập
đỉnh thu được từ tập v 0 , ..., v p bằng cách thay v i (v j tương ứng) bởi v . Nếu cạnh


v , v là dài nhất trong S và


 i j

1
min kv − v i k, kv − v j k ≥ αkv i − v j k, 0 < α ≤ ,

2

thì phép chia được gọi là một phép chia chuẩn theo tỷ lệ α.
Định nghĩa 3.3. Một họ Γ := {Si ⊆ S | i ∈ I} , trong đó I là tập hữu hạn các
chỉ số, được gọi là phân hoạch của đơn hình S nếu
[
S= Si và intSi ∩ intSj = ∅ ∀i 6= j.
i∈I

51
Phân hoạch Γ0 := Sj0 ⊆ S | j ∈ I 0 mịn hơn phân hoạch Γ := {Si ⊆ S | i ∈ I}


nếu
(i) Với mọi i ∈ I tồn tại ít nhất một j ∈ I 0 sao cho Sj0 ⊆ Si .
(ii) Tồn tại i0 ∈ I, j0 ∈ I 0 sao cho Sj0 0 ⊂ Si0 .
Định nghĩa 3.4. Một phép chia đơn hình được gọi là vét kiệt, nếu mọi dãy đơn
hình giảm dần (lồng nhau) được sinh ra bởi phép chia này đều hội tụ về một
điểm, tức là
+∞
\
lim Sk = Sk = {x∗ } .
k→∞
k=1

Hình 3: Chia đơn hình

Định lý 3.1. Một quá trình chia đơn hình trong đó mọi phép chia là chuẩn với
tỉ lệ 1/2 thì phải vét kiệt.
Chứng minh. Giả sử {Sk } là một dãy giảm các p-đơn hình sinh bởi phép chia
chuẩn theo tỉ lệ 1/2. Đặt δk là độ dài cạnh dài nhất của đơn hình Sk . Ta sẽ chỉ
ra

3
δp+k ≤ δk , ∀k. (3.1)
2

Thật vậy, ta chỉ cần chứng minh (3.1) với k = 1. Tô màu các đỉnh của S1 bởi
màu "đen", tô màu "trắng" các đỉnh của Sr với r > 1 mà không phải đỉnh màu

52
đen. Ký hiệu dr là cạnh dài nhất của Sr , đó là cạnh được chia. Đặt q là chỉ số
nhỏ nhất sao cho dq có ít nhất một điểm đầu mút trắng. Vì mỗi đỉnh màu đen
được thay bởi một đỉnh màu trắng tại mỗi bước chia trước q , ta có q ≤ p + 1.
Đặt dq = [u, v] với u trắng. Khi đó u là trung điểm của dl nào đó với l < q.
1
Đặt dl = [a, b]. Nếu a hoặc b trùng với v thì rõ ràng δq = δl ≤ δ1 và do đó (3.1)
2
đúng.
Ngược lại, xét tam giác co{a, b, v} (bao lồi của các điểm a, b, v ). Vì v ∈ Sq và
δl = kdl k nên ta có kv − ak ≤ δl , kv − bk ≤ δl . Vì u là trung điểm của [a, b], theo
quy tắc hình bình hành ta có

2kb − uk2 + 2ku − vk2 = kv − ak2 + kv − bk2 . (3.2)

Mặt khác
1
kb − uk2 = ka − bk2 . (3.3)
4

Từ (3.2) và (3.3) ta có
1 1 3
2ku − vk2 = kv − ak2 + kv − bk2 − ka − bk2 ≤ 2δl2 − δl2 = δl2 .
2 2 2

3
Do đó δq ≤ δl . Vì δp+1 ≤ δq và l ≤ 1 nên ta có (3.1).
2
Từ (3.1) suy ra δk → 0(k → +∞). Do đó phép chia chuẩn theo tỉ lệ 1/2 là vét
kiệt.
2

3.2.2 Ý tưởng của thuật toán nhánh cận

Ý tưởng của thuật toán nhánh cận là "chia để trị", tức thay vì giải trực tiếp bài
toán (Q) ta giải các bài toán con

max {f (x) | x ∈ Di } , (Qi ),

trong đó Di = D ∩ Si , i ∈ I . Hiển nhiên là việc giải bài toán con (Qi ), i ∈ I, cũng
sẽ mắc phải những khó khăn tương tự giải bài toán (Q). Tuy nhiên, ta có thể

53
xác định được cận trên β(Si ) của bài toán con này và nhờ đó xác định cận trên
của bài toán ban đầu.
Giả sử đơn hình S được phân hoạch thành các đơn hình con Si , i ∈ I và ta
đã biết các cận trên β(Si) của bài toán con (Qi ). Đặt

β = max {β(Si ) | i ∈ I} .

Vì Si ⊂ S với mọi i ∈ I nên

max {f (x) | x ∈ D ∩ S} ≤ β,

tức β là một cận trên của bài toán (Q) (điều này đúng khi S có chứa một
nghiệm). Rõ ràng là nếu ta phân hoạch S thành các đơn hình con càng nhỏ thì
ta nhận được đánh giá cận trên β của bài toán ban đầu (Q) càng sát giá trị tối
ưu hơn.
Đầu tiên nếu chưa biết một phương án chấp nhận nào của bài toán (Q) thì
ta đặt α = −∞ là một cận dưới của bài toán này. Trong quá trình tính toán cận
trên β hay bằng cách nào khác có thể biết được một số điểm chấp nhận được
thì đặt α bằng giá trị hàm mục tiêu tại điểm chấp nhận tốt nhất (kỷ lục).
Điểm đặc sắc của thuật toán nhánh cận là khi tìm được một điểm chấp nhận
(ở đâu đó) mà giá trị hàm mục tiêu tại điểm đó không nhỏ hơn cận trên của
bài toán con nào đó, thì có thể loại bài toán con đó (không xét nữa). Đến khi
đã kiểm duyệt hết các đơn hình con cần xét thì thuật toán kết thúc và ta nhận
được nghiệm tối ưu của bài toán ban đầu.
Một đơn hình con Sk ⊆ S sẽ được loại bỏ, tức không cần xét đến nó trong
các vòng lặp tiếp theo, nếu nó thỏa mãn một trong ba điều sau
• Tập Sk giao với tập chấp nhận được D là tập rỗng.
• Tìm được một nghiệm tối ưu xk ∈ Dk ⊂ D của bài toán con (Qk ). Vì vậy,
đơn hình Sk đã được xét xong.
• Cận trên β(Sk ) = max {f (x) | x ∈ V (Sk )} của bài toán con (Qk ) không vượt

54
quá giá trị kỷ lục hiện tại. Do đó đơn hình Sk cũng không thể chứa phương án
nào tốt hơn kỷ lục hiện tại và ta không cần xét đến đơn hình con này nữa.
Tại mỗi vòng lặp, ta sẽ có một danh sách ∆k các đơn hình con của S cần
phải xem xét.
• Nếu ∆k = ∅ thì dừng thuật toán và ta nhận được nghiệm tối ưu của bài
toán (Q).
• Ngược lại, ta chọn trong ∆k một đơn hình con Sk ⊆ S mà ta cho rằng có
nhiều khả năng chứa nghiệm tối ưu cần tìm nhất, rồi phân hoạch Sk bởi một số
hữu hạn tập con của Sk . Tiếp đó, ta lại tính lại các cận trên, cận dưới (giá trị
kỷ lục) và loại bỏ dần các tập con.

Hình 4: Sơ đồ nhánh cận

55
3.2.3 Thuật toán

Giả sử D lồi compact, f liên tục, lồi trên D.


Thuật toán
Khởi tạo:
Chọn một đơn hình S0 ⊃ D.
Đặt Γ0 = {S0 } và tính β(S0 ) = max {f (x) | x ∈ V (S0 )} .
Đặt k = 0 và chuyển tới bước k.
Bước lặp k(k = 0, 1, ...):
Chọn Sk ∈ argmax{β(S) | S ∈ Γk } và đặt βk = β(Sk ).
Gọi xk là điểm chấp nhận được tốt nhất đã biết của (Q) và đặt αk = f (xk ).
Nếu không tìm được điểm như vậy, ta đặt αk = −∞.
Nếu βk ≤ αk thì dừng: nếu αk > −∞ thì xk là nghiệm tối ưu của (Q), nếu
αk = −∞ thì (Q) bất khả thi.
Nếu βk > αk : Chia đơn hình Sk theo phép chia chuẩn với tỷ lệ 1/2 thành
Sk− , Sk+ .
Tính β(Sk− ) và β(Sk+ ).
Đặt ∆k = Γk \ {Sk } ∪ Sk− , Sk+ , Γk+1 = {S ∈ ∆k | β(S) > αk }.
 

Chuyển tới bước lặp k + 1.


Sự hội tụ của thuật toán
Ký hiệu giá trị tối ưu của bài toán (Q) là f ∗ .
Ta có αk ≤ f ∗ ≤ βk , k = 1, 2, ...; và βk là dãy không tăng. Vì thế βk & β ∗ ≥ f ∗
khi k → +∞.
Nếu thuật toán dừng ở bước k nào đó, tức là βk ≤ αk thì từ αk ≤ f ∗ ≤ βk
suy ra αk = f ∗ = βk . Trong trường hợp này, nếu có một điểm chấp nhận được
xk và f (xk ) = αk thì suy ra xk là một nghiệm tối ưu của (Q). Nếu α = −∞ thì
f ∗ = −∞, tức là bài toán bất khả thi.
Nếu thuật toán kéo dài vô hạn, ta có định lý sau.

56
Định lý 3.2. (i) Nếu thuật toán kéo dài vô hạn và không tìm được điểm chấp
nhận được thì βk & f ∗ .
(ii) Trái lại thì mọi điểm giới hạn của dãy xk là nghiệm tối ưu của (Q). Hơn


nữa, βk & f ∗ và αk % f ∗ .
Chứng minh. Khi thuật toán kéo dài vô hạn, nó sinh ra ít nhất một dãy con
các đơn hình lồng nhau {Skν , ν = 1, 2, ...} mà Skν ∩ D 6= ∅ ∀ν vì nếu trái lại thì
Skν sẽ bị loại.
Để đơn giản ký hiệu, thay vì viết kν ta viết ν.
Ta có Sν → x∗ khi ν → ∞ (do tính vét kiệt). Vì Sν ∩ D 6= ∅ nên x∗ ∈ D.
(i) Ta có βk = β(Sk ) = max {f (x) | x ∈ V (Sk )} = f (v k ).
Mặt khác v k → x∗ (do tính vét kiệt). Theo tính liên tục của hàm f ta có

βk = f (v k ) → f (x∗ ) ≤ f ∗

Theo định nghĩa của cận trên βk ta có βk ≥ f ∗ .


Vậy f (x∗ ) = f ∗ . Do đó βk & f ∗ .
(ii) Giả sử xν là một điểm thuộc Sν ∩ D. Ta có lim (βν − f (xν )) = 0. Vì
ν→∞
βν ≥ f (x ) nên ta có lim (βν − αν ) = 0. Mặt khác, theo cách tính cận βν = β(Sν )
ν
ν→∞
nên ta có

lim (βν − αν ) = lim (β(Sν ) − αν ) = 0. (3.4)


ν→∞ ν→∞

Do D bị chặn nên xk có một điểm tụ. Giả sử x∗ là một điểm tụ bất kỳ của


x . Không giảm tổng quát ta giả sử xν → x∗ . Do hàm f liên tục nên suy ra
 k

lim f (xν ) = f (x∗ ).


ν→∞
Đặt f ∗ = max {f (x) | x ∈ D}. Dãy {βk } là dãy không tăng và bị chặn dưới bởi
f ∗ nên tồn tại β = lim βk . Hơn nữa, dãy {αk } là một dãy số thực không giảm và
k→∞
bị chặn trên bởi f nên
∗ tồn tại α = lim αk . Do đó, ta có α ≤ f ∗ ≤ β . Từ (3.4),
k→∞
ta có
α = lim αk = lim f (xk ) = f (x∗ ) = f ∗ = lim βk = β.
k→∞ k→∞ k→∞

57
Vậy điểm tụ x∗ của dãy xk là nghiệm tối ưu của bài toán (Q), hơn nữa,


βk & f ∗ và αk % f ∗ .
2

Ví dụ 3.1. Giải bài toán

f (x) = 3x21 + 2x22 → max

với các ràng buộc 


x1 + x2 − 10 ≤ 0,






x2 ≤ 5




x1 ≥ 0, x2 ≥ 0.

Giải:
Ta có miền chấp nhận được

D = x ∈ R2 | x1 + x2 − 10 ≤ 0, x2 ≤ 5, x1 ≥ 0, x2 ≥ 0 .


Ta lấy S0 = x ∈ R2 | x1 + x2 − 10 ≤ 0, x1 ≥ 0, x2 ≥ 0 .


Tập đỉnh của S0 là V (S0 ) = {(0, 0), (10, 0), (0, 10)}. Giá trị hàm mục tiêu tại các
đỉnh này là f (0, 0) = 0, f (10, 0) = 300, f (0, 10) = 200.
Bước lặp k = 0.
Ta có β0 = max {f (x) | x ∈ V (S0 )} = f (10, 0) = 300.
1 1 487
Lấy x0 = (9, ) là điểm chấp nhận được trong S0 . Ta có α0 = f (9, ) = .
2 2 2
Suy ra α0 < β0 . Do đó, ta thực hiện chia đơn hình S0 thành hai đơn hình
S1− , S1+ thỏa mãn S0 = S1− ∪ S1+ và intS1− ∩ intS1+ = ∅.
Bước lặp k = 1.
Lấy x1 = (9, 1) là điểm chấp nhận được trong S1 . Ta có α1 = f (9, 1) = 245.
• Đơn hình S1− có tập đỉnh là V (S1− ) = (0, 0), (5, 5), (0, 10). Giá trị hàm mục
tiêu tại các đỉnh này là f (0, 0) = 0, f (5, 5) = 125, f (0, 10) = 200.
Ta có β1 = max f (x) | x ∈ V (S1− ) = f (0, 10) = 200 < α1 (loại).


58
• Đơn hình S1+ có tập đỉnh là V (S1+ ) = (0, 0), (5, 5), (10, 0). Giá trị hàm mục
tiêu tại các đỉnh này là f (0, 0) = 0, f (5, 5) = 125, f (10, 0) = 300.
Ta có β1 = max f (x) | x ∈ V (S1+ ) = f (10, 0) = 300 > α1 . Do đó, ta thực


hiện chia đơn hình S1+ thành hai đơn hình S2− , S2+ thỏa mãn S1+ = S2− ∪ S2+ và
intS2− ∩ intS2+ = ∅.
Ta có β1 = max f (x) | x ∈ V (S1+ ) = f (10, 0) = 300.


Bước lặp k = 2.
Lấy x2 = (10, 0) là điểm chấp nhận được trong S1+ . Ta có α2 = f (10, 0) = 300.
• Đơn hình S2− có tập đỉnh là V (S2− ) = (0, 0), (5, 5), (5, 0). Giá trị hàm mục
tiêu tại các đỉnh này là f (0, 0) = 0, f (5, 5) = 125, f (5, 0) = 75.
Ta có β2 = max f (x) | x ∈ V (S2− ) = f (0, 10) = 125 < α2 (loại).


• Đơn hình S2+ có tập đỉnh là V (S2+ ) = (5, 0), (5, 5), (10, 0). Giá trị hàm mục
tiêu tại các đỉnh này là f (5, 0) = 75, f (5, 5) = 125, f (10, 0) = 300.
Ta có β2 = max f (x) | x ∈ V (S2+ ) = f (10, 0) = 300.


Thấy rằng β2 = α2 . Do đó (10, 0) là nghiệm tối ưu của bài toán.

59
Kết luận

Luận văn đã trình bày các vấn đề sau:

1. Trình bày những kiến thức cơ bản nhất về giải tích lồi. Đó là tập lồi, tập
lồi đa diện, hàm lồi, tính liên tục của hàm lồi, dưới vi phân của hàm lồi và các
ví dụ minh họa.

2. Trình bày các kiến thức cơ bản nhất của bài toán cực tiểu hàm lồi với ràng
buộc lồi như các tính chất, các điều kiện tối ưu và trình bày một số thuật toán
cơ bản để giải bài toán này. Đó là các thuật toán:

• Thuật toán hướng có thể giải bài toán cực tiểu hàm trơn, thuật toán này
khá đơn giản nhưng rất tiếc tính hội tụ của thuật toán không được đảm bảo.

• Thuật toán Frank-Wolfe xây dựng dãy với mục đích là hàm giá trị
 k
x
của xk giảm dần theo k và sẽ tiến tới nghiệm tối ưu của bài toán.

• Thuật toán chiếu dưới đạo hàm xấp xỉ cho ta nghiệm gần đúng với nghiệm
tối ưu ban đầu. Thuật toán này áp dụng tốt cho bài toán với hàm mục tiêu
không khả vi.

3. Trình bày tính chất cơ bản của bài toán cực đại hàm lồi với ràng buộc lồi
như cực đại của hàm lồi nếu có sẽ đạt tại điểm cực biên (nói riêng, tại đỉnh) của
tập lồi được xét và trình bày thuật toán nhánh cận giải bài toán này. Tư tưởng
của thuật toán này gồm các phép xây dựng sao cho phép giảm bớt khối lượng
lựa chọn. Ưu điểm của thuật toán này là cho phép ta không cần phải xem xét
tất cả các nghiệm vẫn có thể tìm được nghiệm tối ưu.

60
Tài liệu tham khảo

Tài liệu tiếng Việt

[1] Đỗ Văn Lưu và Phan Huy Khải, Giải tích lồi, Nhà xuất bản Khoa học và
Kỹ thuật, Hà Nội 2000.

[2] Lê Dũng Mưu và Nguyễn Văn Hiền, Nhập môn giải tích lồi ứng dụng, NXB
Đại học Quốc gia Hà Nội (sẽ ra).

[3] Trần Vũ Thiệu và Nguyễn Thị Thu Thủy, Nhập môn Tối ưu phi tuyến, NXB
Đại học Quốc gia Hà Nội, (2011).

[4] Hoàng Tụy, Lý thuyết tối ưu, Viện toán học, Hà Nội, (2006).

Tài liệu tiếng Anh

[5] Stephn Boyd and Lieven Vandenberghe, Convex Optimization, Cambridge


University Press, (2004).

[6] Panos M. Pardalos and Jeffrey B. Rosen, Constrained Global Optimization:


Algorithms and Applications, Springer-Verlag Berlin Heidelberg New York,
(1987).

[7] Hoang Tuy, Convex Analysis and Global Optimization, Kluwer Academic
Publlshers, (1997).

61

You might also like