Professional Documents
Culture Documents
i
ii
Định nghĩa 1.
i) Điểm x∗ ∈ Rn được gọi là nghiệm tối ưu của bài toán (P1 ) nếu
x∗ ∈ D;
f (x∗ ) ≤ f (x) ∀x ∈ D.
ii) Điểm x∗ ∈ Rn được gọi là nghiệm tối ưu chặt của bài toán (P1 ) nếu
x∗ ∈ D;
f (x∗ ) < f (x) ∀x ∈ D.
1
2
Định nghĩa 2. Ta gọi t0 = inf f (D) là giá trị tối ưu của bài toán (P1 ), tức:
hoặc
f (x) ≥ t0 ∀x ∈ D;
∃{xk } ⊂ D sao cho limk→∞ f (xk ) = t0 .
hoặc
∀ε > 0, tồn tại x̄ ∈ D sao cho f (x̄) < t0 + ε.
Định nghĩa 3.
i) Điểm x∗ ∈ Rn được gọi là nghiệm tối ưu địa phương của bài toán (P1 )
nếu:
x∗ ∈ D;
∃ lân cận U (x∗ ) sao cho f (x∗ ) ≤ f (x) ∀x ∈ U (x∗ ) ∩ D.
iii) Điểm x∗ ∈ Rn được gọi là nghiệm tối ưu địa phương chặt của bài toán
(P1 ) nếu:
x∗ ∈ D;
∃ lân cận U (x∗ ) sao cho f (x∗ ) ≤ f (x) ∀x ∈ U (x∗ ) ∩ D.
Chú ý 1.
x∗ ∈ Argmin{f (x) : x ∈ D} ⇒ x∗ là nghiệm tối ưu địa phương
x∗ ∈ Argmin{f (x) : x ∈ D} : x∗ là nghiệm tối ưu địa phương
Chú ý 2.
Định lý 1.2. Cho tập đóng khác rỗng D ⊆ Rn . Nếu hàm f nửa liên tục dưới
trên D và thỏa mãn điều kiện bức (coercive) trên D,
Bài tập
2. Xét bài toán min {f (x) | x ∈ Z}, trong đó Z là tập các số nguyên. Chứng
minh rằng mỗi điểm x ∈ Z đều là nghiệm cực tiểu địa phương.
3. Cho X = [a, b] ⊂ R và f là hàm thực xác định trên X. Xét bài toán
ii) Nếu x = b là nghiệm tối ưu địa phương của bài toán (V D1 ) và tồn
tại f−′ (b) thì f−′ (b) ≤ 0.
4. Điểm (0, 0)T có phải là nghiệm cực tiểu địa phương, nghiệm cực tiểu toàn
cục của bài toán min{f (x)|x ∈ R2 } không, trong đó:
√
i) f (x1 , x2 ) = x21 + x22 .
ii) f (x1 , x2 ) = x21 + x22 (2 − x1 )3 .
Giải thích?
Tập M ⊆ Rn được gọi là tập afin (affine set) nếu M chứa trọn cả đường
thẳng đi qua hai điểm bất kỳ của M , nghĩa là
∑
k ∑
k
x= λi xi với λ1 , . . . , λk ∈ R và λi = 1
i=1 i=1
5
6
Chú ý 1. Ta gọi L trong (2.1) là không gian con song song với M vì:
i) Không gian con L trong (2.1) không phụ thuộc vào cách chọn x0 ∈ M .
ii) Không gian con L này xác định duy nhất.
Thứ nguyên (dimension) hay số chiều của tập afin M , ký hiệu là dimM , là
thứ nguyên của không gian con song song với nó.
M = {x ∈ Rn : Ax = b}.
M = x0 + L, x0 ∈ M, L = KerA := {x ∈ Rn | Ax = 0}.
Vì vậy,
dimM = dimKerA = n − rankA,
trong đó rankA là hạng của ma trận A.
7
Bao afin (affine hull) của một tập E ⊆ Rn , ký hiệu là affE, là giao của tất
cả các tập afin chứa E. Đó là tập afin nhỏ nhất chứa E.
Ví dụ 2.2.
ii) E2 = {x ∈ R3 | − 1 ≤ x1 ≤ 1, −1 ≤ x2 ≤ 1, x3 = 0}
⇒ affE2 = {x ∈ R3 | x3 = 0}.
Cho tập M ⊂ Rn có dimM < n. Một điểm a ∈ M được gọi là điểm trong
tương đối (relative interior point) của M nếu
( )
∃B(a, ε) : B(a, ε) ∩ affM ⊂ M.
Phần trong tương đối của tập M , kí hiệu là riM , là tập tất cả các điểm trong
tương đối của M .
Chú ý.
intM ̸= ∅ ⇒ dimM = n.
intM ̸= ∅ : dimM = n.
8
Ví dụ 2.3. Cho
E1 = {a, b} ⊂ R3 , E2 = {x ∈ R3 | 0 ≤ xi ≤ 1, i = 1, 2 x3 = 0}
E3 = {x ∈ R3 | ∥x∥ ≤ 1}, E4 = {x ∈ R3 | ∥x∥ = 1}.
Ta có:
iii) intE3 = {x ∈ R3 | ∥x∥ < 1}, dimE3 = 3, tức là E3 có thứ nguyên đầy đủ.
∀x1 , x2 ∈ M, ⇒ [x1 , x2 ] ⊂ M
tức
M = {x ∈ Rn : Ax ≤ b, x ≥ 0}.
Chứng minh. Lấy tùy ý hai điểm x1 , x2 ∈ M và số thực bất kỳ λ ∈ [0, 1]. Ta sẽ
chứng minh
x0 = λx1 + (1 − λ)x2 ∈ M.
Ax1 ≤ b, Ax2 ≤ b, x1 ≥ 0 và x2 ≥ 0.
Ta có
A(λx1 + (1 − λ)x2 ) = λAx1 + (1 − λ)Ax2 ≤ b (2.2)
và
x0 = λx1 + (1 − λ)x2 ≥ 0. (2.3)
Kết hợp (2.2) và (2.3) suy ra x0 ∈ M . Theo định nghĩa, M là một tập lồi.
Mệnh đề 2.2. Cho hai tập lồi M1 , M2 ⊂ Rn và số thực α ∈ R. Khi đó, các
tập sau đây là tập lồi:
i) M1 ∩ M2 ;
iii) M1 + M2 = {x | x = x1 + x2 , x1 ∈ M1 , x2 ∈ M2 };
iv) M1 − M2 = {x | x = x1 − x2 , x1 ∈ M1 , x2 ∈ M2 }.
Chú ý. Hợp của các tập lồi chưa chắc là tập lồi.
10
Tổ hợp lồi
⋄ Điểm x được gọi là tổ hợp lồi của x1 , x2 , . . . , xk ∈ Rn nếu
∑
k ∑
k
x= λi x với λ1 , . . . , λk ≥ 0 và
i
λi = 1.
i=1 i=1
Mệnh đề 2.3. Một tập M ⊆ Rn là lồi khi và chỉ khi nó chứa tất cả các tổ hợp
lồi của những phần tử thuộc nó.
Bao lồi Bao lồi (convex hull) của tập E ⊂ Rn là giao của tất cả các tập lồi
chứa E và được ký hiệu là convE. Đó là tập lồi nhỏ nhất chứa E.
convE
E
convE
Mệnh đề 2.4. Bao lồi của tập E ⊂ Rn chứa tất cả các tổ hợp lồi của các phần
tử thuộc nó.
Định lý 2.1. (Carathéodory) Giả sử E ⊂ Rn là tập con của một tập afin k
chiều với k ≤ n. Khi đó, mỗi điểm x ∈ convE đều có thể biểu diễn bởi một tổ
hợp lồi của không quá k + 1 phần tử thuộc E.
11
Cho tập lồi M ⊂ Rn . Một điểm x ∈ M được gọi là điểm cực biên (extreme
point) của M nếu
tức
(a) (b)
(a) − Hình vuông có 4 điểm cực biên; (b) − Hình tròn có vô số điểm cực biên
Chú ý. Khi tập lồi có hữu hạn điểm cực biên thì chúng thường được gọi là các
đỉnh.
Mệnh đề 2.5. Một tập lồi đóng khác rỗng M ⊂ Rn có điểm cực biên khi và
chỉ khi nó không chứa trọn một đường thẳng nào.
Định lý 2.2. (Krein-Milman) Một tập lồi compac M ⊂ Rn là bao lồi của các
điểm cực biên của nó.
12
2.5 Diện
Cho tập lồi khác rỗng M ⊂ Rn . Một tập con lồi khác rỗng F của M được gọi là
một diện của M nếu hễ F chứa một điểm trong tương đối của một đoạn thẳng
nào đó thuộc M thì F chứa trọn cả đoạn thẳng đó, nghĩa là
Mệnh đề 2.6. Cho tập lồi khác rỗng D ⊂ Rn và véc tơ v ∈ Rn \ {0}. Giả sử
Vì z ∈ D và x ∈ Argmin(P0 ), nên
Hơn nữa ta có
H := {x ∈ Rn | ⟨a, x⟩ = α},
⋄ Siêu phẳng H là một mặt mức của hàm tuyến tính φ(x) = ⟨a, x⟩.
⟨a, x⟩ = α a
x0
⋄ Tập
{x ∈ Rn | ⟨a, x⟩ ≤ α} (hoặc {x ∈ Rn | ⟨a, x⟩ ≥ α})
được gọi là nửa không gian đóng xác định bởi siêu phẳng
{x ∈ Rn | ⟨a, x⟩ = α}.
⋄ Tập
{x ∈ Rn | ⟨a, x⟩ < α} (hoặc {x ∈ Rn | ⟨a, x⟩ > α})
được gọi là nửa không gian mở xác định bởi siêu phẳng
{x ∈ Rn | ⟨a, x⟩ = α}.
14
x0
⟨a, x⟩ ≥ α
⟨a, x⟩ ≤ α
H = {x ∈ Rn |⟨a, x⟩ = α}
x0 ∈ H
Tập {x ∈ Rn | ⟨a, x⟩ ≤ ⟨a, x0 ⟩} được gọi là nửa không gian tựa của M tại
x0 .
a
0
x
Định lý 2.3. Qua mỗi điểm biên x0 của tập lồi M ⊂ Rn tồn tại ít nhất một
siêu phẳng tựa của M tại x0 .
Định lý 2.4. Một tập lồi đóng khác rỗng M ⊂ Rn là giao của họ các nửa không
gian tựa của nó.
15
2.7 Nón
Tập M ⊂ Rn được gọi là nón (cone) nếu
x ∈ M ⇒ λx ∈ M ∀ λ ≥ 0.
Một nón luôn chứa điểm gốc 0 ∈ Rn .
Tập M ⊂ Rn được gọi là nón lồi nếu M vừa là nón vừa là tập lồi.
Mệnh đề 2.7. Tập M ⊆ Rn là nón lồi khi và chỉ khi
i) M + M ⊂ M ,
ii) αM ⊂ M, ∀α ≥ 0.
0 0
Mệnh đề 2.8. Tập M ⊂ Rn là nón lồi khi và chỉ khi nó chứa tất cả các tổ hợp
tuyến tính không âm của các phần tử của nó.
v1 v1
v2
v3 v2 v3
0 0
(a) (b)
(a) − Véc tơ v 2 là không thiết yếu vì cone{v 1 , v 2 , v 3 } = cone{v 1 , v 3 };
(b) − Hoặc véc tơ v 2 , hoặc véc tơ v 3 là không thiết yếu vì
cone{v 1 , v 2 , v 3 } = cone{v 1 , v 3 } = cone{v 1 , v 2 }
Cho tập khác rỗng K ⊂ Rn . Nón sinh bởi K, ký hiệu bởi coneK, được định
nghĩa bởi
coneK := {v ∈ Rn |v = tx, x ∈ K, t ≥ 0}.
Dễ thấy rằng, coneK là nón nhỏ nhất chứa K.
• Cho tập lồi khác rỗng D ⊆ Rn . Véc tơ d ̸= 0 được gọi là phương lùi xa
(recession direction) của D nếu
{x + λd | λ ≥ 0} ⊂ D với mỗi x ∈ D.
⇒ Mọi nửa đường thẳng song song với một phương lùi xa d xuất phát từ một
điểm bất kỳ của D đều nằm trọn trong D.
Ký hiệu
Mệnh đề 2.9. Tập đóng D ⊆ Rn không bị chặn khi và chỉ khi recD ̸= {0}.
17
̸ ∃α > 0 : d1 = αd2 .
Ví dụ.
• Phương lùi xa d của tập D được gọi là phương cực biên (extreme direction)
của D nếu không tồn tại các phương lùi xa khác biệt d1 và d2 của D sao cho
d = λ1 d1 + λ2 d2 , λ1 , λ2 > 0.
−x1 + x2 = 5
x2
3
d1 d3 x2 = 3
d2 x1 + 2x2 = 10 10 x1 m
recD
Tập D có:
Tập P ⊂ Rn được gọi là tập lồi đa diện nếu là giao của một số hữu hạn nửa
không gian đóng, tức P là tập nghiệm của hệ
⟨ai , x⟩ ≥ bi , i = 1, . . . , ℓ, (2.6)
⋄ Mỗi bất đẳng thức trong hệ (2.6) được gọi là một ràng buộc của P .
⋄ Tập lồi đa diện là một tập lồi, đóng. Một tập lồi đa diện bị chặn được gọi
là đa diện lồi hay gọi tắt là đa diện.
a2
a1
a3
5
a
a4
19
Ký hiệu
Véc tơ b = (b1 , . . . , bℓ )T ∈ Rℓ .
Véc tơ x = (x1 , . . . , xn )T ∈ Rn .
Khi đó
(2.6) ⇔ Ax ≥ b.
Mệnh đề 2.10. Cho tập lồi đa diện P xác định bởi hệ (2.6). Khi đó, tập con
lồi khác rỗng F ⊆ P là một diện của P khi và chỉ khi tồn tại một tập chỉ số
I ⊆ {1, 2, . . . , ℓ} sao cho F là tập nghiệm của hệ
{
⟨ai , x⟩ = bi , i ∈ I
⟨aj , x⟩ ≥ bj , j ∈ {1, 2, . . . , ℓ}\I.
Chú ý.
⋄ Đỉnh của tập lồi đa diện P là một diện có thứ nguyên bằng 0.
⋄ Mỗi cạnh vô hạn của tập lồi đa diện P tương ứng với một phương cực biên
của nó.
20
Cho x0 ∈ P . Tập
được gọi là tập hợp các chỉ số của những ràng buộc thỏa mãn chặt tại x0 ∈ P .
Hệ quả 2.1. Cho tập lồi đa diện P xác định bởi hệ (2.6).
i) Điểm x0 ∈ P là đỉnh của P khi và chỉ x0 thỏa mãn chặt n ràng buộc độc
lập tuyến tính của hệ (2.6).
ii) Một đoạn thẳng (hoặc nửa đường thẳng, hoặc đường thẳng) Γ ⊂ P là một
cạnh của P khi và chỉ khi nó là tập các điểm của P thỏa mãn chặt (n − 1)
ràng buộc độc lập tuyến tính của hệ (2.6).
Chú ý.
⋄ Mỗi tập lồi đa diện chỉ có một số hữu hạn đỉnh hoặc cạnh.
⋄ Một diện của tập lồi đa diện P cũng là một tập lồi đa diện.
⋄ Mỗi đỉnh của một diện của P cũng là một đỉnh của P .
Định nghĩa. Cho x0 là một đỉnh của tập lồi đa diện P xác định bởi hệ (2.6).
⋄ Hai đỉnh x1 và x2 được gọi là kề nhau nếu đoạn thẳng nối chúng là một
cạnh.
21
1 1
Đỉnh không
suy biến
P
0 x2 0 x2
1 1
1 1
(a) (b) (c)
x1 x1
Định lý 2.5. (Định lý biểu diễn tập lồi đa diện) Giả sử tập lồi đa diện P có
tập đỉnh là
{v 1 , . . . , v N }
và tập các phương cực biên là
{d1 , . . . , dM }.
Khi đó, mỗi điểm x ∈ P đều có thể biểu diễn dưới dạng
∑
N ∑
M
x= λi v i + µj dj , (2.7)
i=1 j=1
∑
N
λi ≥ 0, i = 1, . . . , N, µj ≥ 0, j = 1, . . . , M và λi = 1.
i=1
Nhận xét 2.1. Nếu P là đa diện lồi thì trong (2.7) chỉ còn lại tổng thứ nhất,
tức là mỗi điểm của P đều được biểu diễn bằng tổ hợp lồi của các đỉnh của nó.
Chứng minh. Vì f (x) là hàm liên tục và D là tập compact khác rỗng nên
Argmin(V D1 ) ̸= ∅. Giả đa diện có tập đỉnh là {v 1 , . . . , v k }.
Lấy tùy ý điểm x ∈ D. Theo Định lý biểu diễn tập lồi đa diện,
∑
k ∑
k
x= λi v λi ≥ 0, i = 1, . . . , k,
i
λi = 1.
i=1 i=1
Ta có
∑
k ∑
k ∑
k
⟨c, x⟩ = ⟨c, λi v i ⟩ = λi ⟨c, v i ⟩ ≥ λi ⟨c, v i0 ⟩ = λi ⟨c, v i0 ⟩,
i=1 i=1 i=1
trong đó
v i0 ∈ {v 1 , . . . , v k } thỏa mãn ⟨c, v i0 ⟩ = min{⟨c, v i ⟩, i = 1, . . . , k}.
Vì phương án được chọn tùy ý nên ta có
⟨c, x⟩ ≥ ⟨c, v i0 ⟩ ∀ x ∈ D.
Ta có điều phải chứng minh.
23
Ví dụ 2.7. Một điểm là 0−đơn hình, đoạn thẳng là 1−đơn hình, tam giác là
2−đơn hình và tứ diện là 3−đơn hình (xem Hình 2.13). Đơn hình chuẩn trong
R3 là tứ diện với bốn đỉnh là (0, 0, 0)T , (1, 0, 0)T , (0, 1, 0)T và (0, 0, 1)T .
∑
k ∑
k
x ∈ affE ⇔ x= λi x ; x , x , . . . , x ∈ E,
i 1 2 k
λi = 1.
i=1 i=1
2. Chứng minh rằng không gian con song song với tập afin M là xác định
duy nhất.
i) Giao của một họ hữu hạn các tập lồi là tập lồi.
ii) Hợp của hai tập lồi chưa chắc đã là tập lồi, cho ví dụ cụ thể.
D = {x ∈ Rn | Ax = b, x ≥ 0},
∑
k
0 ̸= d = αi di với αi ≥ 0
i=1
Ad = 0 và d ≥ 0
D = {x ∈ Rn | Ax = b, x ≥ 0},
Điểm x = (1, 1, 1, 0, 0, 0)T có phải là điểm cực biên của P không? Giải
thích.
11. Cho tập P = {x ∈ R2 | − 3x1 + 2x2 ≤ 30, −2x1 + x2 ≤ 12, x1 , x2 ≥ 0}.
i) Vẽ tập P .
ii) Xác định các điểm cực biên và chỉ ra hai hướng lùi xa độc lập tuyến
tính của P .
25
12. Hãy biểu diễn điểm (2, 2)T như một tổ hợp lồi của ba điểm (0, 0)T , (1, 4)T
và (3, 1)T .
13. Vẽ bao lồi của tập các điểm sau: (0, 0)T , (1, 0)T , (−1, 2)T , (3, 1)T ,
(2, 6)T , (−2, 1)T , (−3, −2)T , (3, 3)T . Chỉ rõ các điểm cực biên và các
điểm trong của bao lồi này.
14. Hãy xác định siêu phẳng đi qua các điểm (1, 1, 1, 1)T , (2, 0, 1, 0)T ,
(0, 2, 0, 1)T và (1, 1, −1, 0)T thuộc R4 .
15. Cho C1 và C2 là hai tập lồi trong Rn . Chứng minh rằng tồn tại một siêu
phẳng tách chặt C1 và C2 khi và chỉ khi
inf{∥x − y∥ |x ∈ C1 , y ∈ C2 } > 0.
D = {x ∈ Rn | Ax ≤ b, x ≥ 0}.
26
Chương 3
∼ Bản tin của Liên đoàn Toán học thế giới 1/2005 ∼
• Năm 1947: Geogre Bernard Dantzig cùng các cộng sự phát hiện lại mô hình
quy hoạch tuyến tính khi nghiên cứu bài toán lập kế hoạch cho không quân
Mỹ và công bố thuật toán đơn hình (simplex algorithm) nổi tiếng để giải
bài toán quy hoạch tuyến tính.
27
28
⟨ai , x⟩ ≥ bi
• Với mỗi j ∈ {1, . . . , n}, ràng buộc xj ≥ 0 được gọi là ràng buộc dấu.
b = (b1 , . . . , bm )T ∈ Rm .
Bài toán LPct∗ ) được viết lại dưới dạng ma trận như sau:
xj ≥ 0, j = 1, . . . , n,
trong đó c, a1 , . . . , am ∈ Rn , số thực bi ≥ 0 với mọi i = 1, . . . , m.
• Với mỗi i ∈ {1, . . . , m}, bất đẳng thức
⟨ai , x⟩ = bi
được gọi là một ràng buộc chính.
• Với mỗi j ∈ {1, . . . , n}, ràng buộc xj ≥ 0 được gọi là ràng buộc dấu.
• Kí hiệu A ∈ Rm×n với các hàng ai i = 1, . . . , m và véc tơ
b = (b1 , . . . , bm )T ∈ Rm
+.
Bài toán LPct ) được viết lại dưới dạng ma trận như sau:
min f (x) =⟨c, x⟩
v.đ.k. Ax = b
x ≥ 0.
Chú ý. Trong bài toán quy hoạch tuyến tính dạng chính tắc,
bi ≥ 0, ∀ i = 1, . . . , m.
Ví dụ 3.1. Bài toán
min f (x) = 7x1 + 6x2 − 8x3
v.đ.k 2x1 − 5x2 + 4x3 = 8
2x1 + 9x2 − 5x3 = 15
x1 , x2 , x3 ≥ 0
là một bài toán quy hoạch tuyến tính chính tắc, trong đó
x1 7 ( ) ( )
2 −5 4 8
x = x2 , c = 6 , A = , b= .
2 9 −5 15
x3 −8
D∗ = {x : Ax ≥ b, x ≥ 0}
D = {x : Ax = b, x ≥ 0}.
Dễ thấy
D∗ ⊂ Rn+ và D ⊂ Rn+ .
Do đó
D∗ ̸= ∅ ⇒ D∗ có đỉnh,
D ̸= ∅ ⇒ D có đỉnh.
3.1.3 Chuyển bài toán quy hoạch tuyến tính bất kỳ về dạng chuẩn
tắc hay chính tắc
Mọi bài toán quy hoạch tuyến tính đều có thể đưa về bài toán quy hoạch tuyến
tính dạng chính tắc hoặc chuẩn tắc bằng các phép biến đổi sơ cấp sau:
có thể chuyển về ràng buộc đẳng thức nhờ đưa thêm vào một biến phụ
xn+i ≥ 0, ∑
aij xj + xn+i = bi .
có thể chuyển về ràng buộc đẳng thức nhờ đưa thêm vào một biến phụ
xn+i ≥ 0, ∑
aij xj − xn+i = bi .
31
∑
⟨ai , x⟩ = aij xj ≤ bi
∑
⟨−ai , x⟩ = − aij xj ≥ −bi .
∑
⟨ai , x⟩ = aij xj = bi
∑ ∑
⟨ai , x⟩ = aij xj ≥ bi và ⟨−ai , x⟩ = − aij xj ≥ −bi .
32
Giả sử (x̄∗1 , x∗2 , x̄∗3 , x̄¯∗3 , x∗4 , x∗5 , x∗6 )T là nghiệm tối ưu của bài toán quy
hoạch tuyến tính chính tắc này. Khi đó nghiệm tối ưu của bài toán ban đầu là
1 , x2 , x3 ) và giá trị tối ưu là f (x ) = 3x1 + 5x2 − 4x3 , trong
xopt = (xopt opt opt T opt opt opt opt
3.2 Điều kiện tồn tại nghiệm và tính chất tập nghiệm
của bài toán quy hoạch tuyến tính
Chứng minh. Nhắc lại, tập lồi đa diện là tập đóng. Theo giả thiết, D khác
rỗng và bị chặn. Suy ra
35
Trường hợp 3.
Định lý 3.2. Nếu D khác rỗng và f (x) = ⟨c, x⟩ bị chặn dưới trên D, tức
∃α ∈ R : f (x) ≥ α ∀ x ∈ D
thì Arg min{f (x) : x ∈ D} =
̸ ∅.
Chứng minh. Vì mọi quy hoạch tuyến tính đều có thể chuyển về dạng chuẩn
tắc hoặc chính tắc nên không giảm tổng quát ta giả thiết tập D có đỉnh. Giả
sử D có tập đỉnh {v 1 , . . . , v N } và tập các phương cực biên là {d1 , . . . , dM }.
Lấy tùy ý x ∈ D. Theo Định lý biểu diễn tập lồi đa diện,
∑
N ∑
M
i
x= λi v + µj dj , (3)
i=1 j=1
∑
N
λi ≥ 0, i = 1, . . . , N, µj ≥ 0, j = 1, . . . , M, λi = 1.
i=1
(3) ∑
N ∑
M
(4) ∑
N ∑
N
⟨c, x⟩ = λi ⟨c, v ⟩ +
i
µj ⟨c, d ⟩ ≥
j
λi ⟨c, v ⟩ ≥
i
λi ⟨c, v i0 ⟩ = ⟨c, v i0 ⟩.
i=1 j=1 i=1 i=1
Chú ý 3.1. Kết luận của Định lý 3.2 nói chung không còn đúng đối với bài
toán quy hoạch phi tuyến. Ví dụ:
i) Bài toán
f (x) = ex
x2 y
D
1 1
0 1 x1 x
D
(a) (b)
Hình 3.1
37
Định lý 3.3. Nếu bài toán quy hoạch tuyến tính (LP ) có nghiệm tối ưu thì
tập nghiệm tối ưu của nó là một diện của tập lồi đa diện chấp nhận được.
Hệ quả 3.1. i) Tập nghiệm của bài toán qui hoạch tuyến tính là một tập lồi
đa diện.
ii) Nếu một quy hoạch tuyến tính có nghiệm tối ưu và tập lồi đa diện ràng
buộc có đỉnh thì nghiệm tối ưu phải đạt tại ít nhất một đỉnh, tức đạt tại ít nhất
một phương án cực biên.
Chứng minh. Theo định nghĩa, phương án cực biên chính là một đỉnh của tập
lồi đa diện chấp nhận được của bài toán quy hoạch tuyến tính. Hệ quả được
suy trực tiếp từ Định lý 3.3 và sự kiện là đỉnh của một diện của một tập lồi đa
diện cũng chính là đỉnh của tập lồi đa diện đó (Hệ quả 2.3).
38
Định lý 3.4. Nếu x∗ là nghiệm tối ưu địa phương của bài toán quy hoạch
tuyến tính (LP) thì x∗ cũng là nghiệm tối ưu toàn cục.
Chứng minh. Giả sử x∗ ∈ D là nghiệm tối ưu địa phương của bài toán (LP ).
Theo định nghĩa, tồn tại một hình cầu mở B(x∗ , ε) sao cho
[x∗ , x] ⊂ D.
Lấy điểm ) ( )
x0 ∈ ([x∗ , x] ∩ B(x∗ , ε ⊂ D ∩ B(x∗ , ε
⇒ (1 − λ)⟨c, x⟩ ≥ (1 − λ)⟨c, x∗ ⟩
⇒ ⟨c, x⟩ ≥ ⟨c, x∗ ⟩.
Vì x ∈ D được lấy tùy ý nên
3.3 Giải bài toán quy hoạch tuyến tính hai biến bằng
phương pháp hình học
Xét bài toán quy hoạch tuyến tính hai biến
Có sở lý thuyết
i) Qua mỗi điểm x̄ = (x̄1 , x̄2 )T ∈ R2 chỉ có duy nhất một đường mức
L(α, f ) = {x ∈ R2 | ⟨c, x⟩ = α}
ii) ∇f (x) = c tại mọi điểm x ∈ Rn . Do đó véc tơ hàm mục tiêu c là véc tơ
pháp tuyến của mọi đường mức.
iii) Các đường mức của hàm f (x) = ⟨c, x⟩ song song với nhau.
iv) Giá trị hàm f (x) = ⟨c, x⟩ tăng theo hướng véc tơ gradient ∇f (x) = c và
giảm theo hướng ngược véc tơ c.
.
Lấy tùy ý α1 ̸= α2 , ta có L(α1 , f )//L(α2 , f ). Chẳng hạn
⋄ Bài toán min{f (x) : x ∈ D}: Trong số các đường mức cắt tập D, hãy tìm
đường mức có giá trị mức nhỏ nhất.
⋄ Bài toán max{f (x) : x ∈ D}: Trong số các đường mức cắt tập D, hãy tìm
đường mức có giá trị mức lớn nhất.
40
Thuật toán.
Bước 1. Vẽ:
Bước 2.
Bước 3.
Cách trình bày bài làm giải bài toán qui hoạch tuyến tính bằng thuật
toán hình học
Lời giải.
⋄ Tập chấp nhận được D, hướng của véc tơ hàm mục tiêu c = (−20, 10)T ,
đường mức
L0 = {x ∈ R2 : ⟨c, x⟩ = 0}
và đường mức đi qua điểm x̄ ∈ D
Nếu thay hàm mục tiêu của bài toán này bởi f ′ (x) = 10x1 − 20x2 thì ta
nhận được tập nghiệm tối ưu là cả cạnh [(0, 2)T , (2, 3)T ]. Trường hợp này, bài
toán có vô số nghiệm. Ta có thể lấy một nghiệm tối ưu đại diện là đỉnh (0, 2)T .
x2 x2
5
5
T L
(2, 3)
x̄ L0
2 2
c D
x̄ D
0 4 5 x1 0 4 5 x1
L0 c
L
(a) (b)
(a) − Bài toán có duy nhất nghiệm; (b) − Bài toán có vô số nghiệm
43
Các thông tin về bài toán này như tập chấp nhận được, hướng của véc tơ
mục tiêu c = (1, 1)T , đường mức L0 và đường mức L đi qua điểm x̄ ∈ D được
minh họa ở Hình 3.3(a). Tập chấp nhận được của bài toán là không bị chặn.
Theo Thuật toán 3.1, ta thấy bài toán có nghiệm tối ưu duy nhất là x∗ = (0, 1)T .
Nếu thay hàm mục tiêu của bài toán này bởi f ′ (x) = −x1 − x2 thì bài toán
vô nghiệm, hàm mục tiêu giảm vô hạn trên tập phương án (xem Hình 3.3(b)).
Tập nghiệm tối ưu của bài toán là cả đường thẳng (xem Hình 3.4(a)) xác
định bởi phương trình
−2x1 + 3x2 = 6.
Nếu thay hàm mục tiêu của bài toán này bởi f ′ (x) = x1 + x2 thì bài toán vô
nghiệm, hàm mục tiêu giảm vô hạn trên tập phương án (xem Hình 3.4(b)).
x2 x2
D 2
2
1 x̄ 1 x̄
c
0 2 x1 0 2 x1
c
L L
L0 L0
(a) (b)
Hình 3.3. (a) − Bài toán có duy nhất nghiệm; (b) − Bài toán vô nghiệm
44
x2 x2
L
2 x̄ L0 2
c
−3
c 3 x1 −3 3 x1
−2 x̄
−2 L0
L
(a) (b)
Hình 3.4. (a) - Tập nghiệm tối ưu là cả đường thẳng; (b) - Bài toán vô nghiệm
i) Nếu tập chấp nhận được khác rỗng và bị chặn thì chắc chắn quy hoạch
tuyến tính có nghiệm tối ưu;
ii) Nếu quy hoạch tuyến tính có nghiệm tối ưu và tập chấp nhận được D có
đỉnh thì nghiệm tối ưu đạt trên ít nhất một đỉnh của D (Ví dụ 3.3 và 3.4);
iii) Trường hợp bài toán không có nghiệm tối ưu và tập chấp nhận được khác
rỗng, ta có hàm mục tiêu không bị chặn dưới trên D (Ví dụ 3.4);
iv) Nếu tập chấp nhận được D không có đỉnh thì quy hoạch tuyến tính có thể
không có nghiệm hoặc có nghiệm. Trường hợp có nghiệm thì nghiệm tối
ưu không phải là đỉnh (Ví dụ 3.5).
45
3.4 Phương pháp đơn hình giải bài toán quy hoạch tuyến
tính chính tắc
Ax = b, x ≥ 0, (3.5)
Giả thiết.
rankA = m và m < n.
Định lý 3.5. Cho tập lồi đa diện khác rỗng D = {x | Ax = b, x ≥ 0}, trong
đó A là ma trận cấp m × n với các hàng a1 , . . . , am . Giả sử rằng rankA = k < m
và các hàng ai1 , . . . , aik độc lập tuyến tính. Khi đó D = D′ , trong đó D′ là tập
lồi đa diện xác định bởi
Phương pháp đơn hình của Dantzig giải bài toán quy hoạch tuyến tính dựa
trên hai tính chất sau:
i) Nếu bài toán (LP ct ) có nghiệm tối ưu thì nghiệm tối ưu phải đạt trên ít
nhất một đỉnh của tập lồi đa diện chấp nhận được D (Hệ quả 3.1).
ii) Nghiệm tối ưu địa phương của bài toán (LP ct ) là nghiệm tối ưu toàn cục
(Định lý 3.4).
46
Thuật toán đơn hình xuất phát từ một đỉnh x0 ∈ D. Tại đỉnh x0 chỉ có một
trong ba trường hợp sau xảy ra:
i) Trên mọi cạnh của tập nghiệm chấp nhận được xuất phát từ x0 , giá trị
hàm mục tiêu đều không giảm. Khi đó x0 là nghiệm tối ưu toàn cục của
(LP ct ) (Bài tập) (xem Hình 3.5(a));
ii) Mọi cạnh xuất phát từ x0 , theo đó giá trị hàm mục tiêu giảm, đều là cạnh
hữu hạn. Đi theo một cạnh như thế, ta sẽ đến một đỉnh x1 kề với x0 mà
Gán x0 := x1 và lặp lại quá trình tính toán với đỉnh x0 mới (xem Hình
3.5(b));
iii) Có một cạnh vô hạn xuất phát từ x0 , theo đó giá trị hàm mục tiêu giảm.
Khi đó giá trị hàm mục tiêu sẽ tiến đến −∞ theo cạnh này và bài toán
không có nghiệm tối ưu (xem Hình 3.5(c)).
c x0
c
x0 x0 c
x1
(a) (b) (c)
Hình 3.5
47
Ax = b, x ≥ 0, (3.5)
A1 x1 + A2 x2 + · · · + An xn = b, xj ≥ 0, j = 1, . . . , n. (3.6)
Xét một phương án chấp nhận được x0 = (x01 , x02 , . . . , x0n )T ∈ D, tức x0 thoả
mãn (3.6). Ký hiệu
Ví dụ.
Chứng minh. Không giảm tổng quát, có thể giả thiết rằng J(x0 ) = {1, . . . , k},
tức x0 = (x01 , . . . , x0k , 0, . . . , 0)T với x0j > 0 với mọi j = 1, . . . , k.
∑
n ∑
k
x0j Aj = x0j Aj = b. (3.7)
j=1 j=1
Giả thiết phản chứng rằng {A1 , . . . , Ak } phụ thuộc tuyến tính, tức tồn tại các
số thực dj ∈ R với j = 1, . . . , k và có ít nhất một hệ số dj ̸= 0 sao cho
hay
Ay = b và Az = b,
trong đó
y = (x01 − td1 , . . . , x0k − tdk , 0, . . . , 0)T ∈ Rn ,
Vì x0j > 0 với mọi j = 1, . . . , k nên có thể chọn t > 0 đủ nhỏ sao cho
yj ≥ 0, zj ≥ 0, j = 1, . . . , n ⇒ y ≥ 0, z ≥ 0.
⇒ y, z ∈ D y ̸= z.
Ta có
1 1
x0 = y + z.
2 2
Điều này mâu thuẫn với giả thiết x0 là phương án cực biên của D.
Suy ra A1 , . . . , Ak phải độc lập tuyến tính.
49
(⇐ ) Giả sử các véc tơ A1 , . . . , Ak độc lập tuyến tính. Giả thiết phản chứng
rằng x0 không phải pacb, tức tồn tại y, z ∈ D, y ̸= z sao cho
Vì
λ > 0, (1 − λ) > 0, x0j = 0, , ∀i = k + 1, . . . , n
nên
yj = 0, zj = 0, ∀i = k + 1, . . . , n.
Vì y, z ∈ D nên
y1 A1 + · · · + yk Ak = b,
z1 A1 + · · · + zk Ak = b.
Do {A1 , . . . , Ak } độc lập tuyến tính nên chỉ có duy nhất một biểu diễn của
b qua chúng, tức
yj = zj ∀ j = 1, . . . , k ⇒ y = z.
Điều này mâu thuẫn với giả thiết phản chứng là y ̸= z và chứng tỏ x0 phải
là phương án cực biên.
Theo Định lý 3.6, một véc tơ x0 ∈ Rn là phương án cực biên của bài toán
quy hoạch tuyến tính (LP ct ) nếu nó thỏa mãn đồng thời hai điều kiện sau:
Ví dụ 3.5. Cho bài toán quy hoạch tuyến tính dạng chính tắc với tập ràng
buộc được xác định bởi hệ
x1 + 2x2 − x3 =2
−x1 + 2x2 + x4 =4
x1 + x5 =5
x1 , x2 , . . . , x5 ≥0
Giải.
và ba véc tơ
2 −1 0
A2 = 2 , A3 = 0 , A5 = 0
0 0 1
độc lập tuyến tính. Vậy x1 là một phương án cực biên của bài toán đang
xét.
⋄ Xét x3 = (2, 0, 0, 6, 5)T . Vì x3 vi phạm ràng buộc chính thứ ba của bài
toán nên nó không là phương án chấp nhận được. Do đó x3 cũng không
phải là phương án cực biên của bài toán.
51
Hệ quả 3.2. Số thành phần dương trong mỗi phương án cực biên của bài toán
quy hoạch tuyến tính chính tắc không vượt quá m.
Hệ quả 3.3. Số phương án cực biên của bài toán quy hoạch tuyến tính dạng
chính tắc là hữu hạn.
Chứng minh. Theo Định lý 3.6, mỗi phương án cực biên của bài toán tương
ứng với k ≤ m véc tơ độc lập tuyến tính của A và k véc tơ độc lập tuyến tính
của A xác định nhiều nhất một phương án cực biên. Vì ma trận A có n cột nên
số hệ gồm k véc
∑tơ cột của A là Cnk . Vậy số phương án cực biên của bài toán
n
không lớn hơn k=0 Cnk = 2n .
• Nếu |J(x0 )| = m thì x0 là phương án cực biên không suy biến x0 của bài
toán quy hoạch tuyến tính chính tắc (LP ct ).
• Nếu |J(x0 )| < m thì x0 là phương án cực biên suy biến x0 của bài toán
quy hoạch tuyến tính chính tắc (LP ct ).
• Nếu tất cả các phương án cực biên của tập chấp nhận được là không suy
biến thì Bài toán quy hoạch tuyến tính (LP ct )là bài toán qhtt không suy biến
• Nếu có ít nhất một phương án cực biên suy biến thì Bài toán quy hoạch
tuyến tính (LP ct )là bài toán qhtt suy biến.
52
Ví dụ 3.6. Xét quy hoạch tuyến tính có tập chấp nhận được là tập nghiệm
của hệ sau
có số phần tử |J(v 2 )| = 1 < m. Vì vậy, bài toán này là bài toán quy hoạch tuyến
tính suy biến.
Nhận xét 3.2. Theo Định lý 3.6, ta có thể dễ dàng xác định được tất cả các
phương án cực biên của bài toán quy hoạch tuyến tính chính tắc trong trường
hợp số ràng buộc m và số biến n đủ nhỏ. Vì nghiệm tối ưu của bài toán quy
hoạch tuyến tính đạt tại ít nhất một phương án cực biên (Hệ quả 3.1) nên nếu
thêm giả thiết là tập chấp nhận được bị chặn, tức nó là đa diện lồi, thì ta có
thể tìm nghiệm tối ưu của bài toán bằng cách so sánh giá trị của hàm mục tiêu
tại các phương án cực biên.
Ví dụ 3.7. Xác định tất cả các phương án cực biên của bài toán quy hoạch
tuyến tính với tập chấp nhận được xác định bởi hệ:
x1 + 4x2 − x3 = 3
5x1 + 2x2 + 3x3 = 4
xj ≥ 0, j = 1,2, 3.
⋄ Xác định các phương án cực biên không suy biến: Theo định nghĩa, một
phương án cực biên không suy biến có đúng m = 2 thành phần dương. Vì
vậy, từ hệ trên ta có:
( 13 5 )T
− Nếu x1 = 0 thì x2 = 13
14
, x3 = 5
7
và x1 = 0, 14 , 7 là một phương
án chấp nhận được;
53
(5 )T
− Nếu x3 = 0 thì x1 = 95 , x2 = 11
18
và x2 = , 11 , 0
9 18
là một phương
án chấp nhận được.
Vì J(x1 ) = {2, 3} và hai véc tơ A2 = (4, 2)T và A3 = (−1, 3)T độc lập
tuyến tính nên x1 là phương án cực biên không suy biến. Tương tự, x2
cũng là phương án cực biên không suy biến vì J(x2 ) = {1, 2} và hai véc
tơ A1 = (1, 5)T ; A2 = (4, 2)T độc lập tuyến tính.
⋄ Xác định các phương án cực biên suy biến: Một phương án cực biên suy
biến có ít hơn m = 2 thành phần dương, tức nó phải có ít nhất n−m+1 = 2
thành phần bằng 0. Dễ thấy bài toán này không có phương án cực biên
suy biến. Vì vậy, nó là bài toán quy hoạch tuyến tính không suy biến.
54
D = {x ∈ Rn | Ax = b, x ≥ 0},
Định nghĩa. Một bộ gồm m véc tơ cột độc lập tuyến tính B = {Aj1 , Aj2 , . . . , Ajm }
của ma trận A cấp m × n có rankA = m được gọi là một cơ sở của ma trận A.
Cho x0 = (x01 , . . . , x0n )T là một phương án cực biên của bài toán (LP ct ). Theo
Định lý 3.6, các véc tơ {Aj | j ∈ J(x0 )} độc lập tuyến tính. Vì rankA = m nên:
⋄ Nếu x0 là phương án cực biên không suy biến, tức |J(x0 )| = m, thì B =
{Aj | j ∈ J(x0 )} là cơ sở duy nhất của A tương ứng với x0 .
⋄ Nếu x0 là phương án cực biên suy biến, tức |J(x0 )| < m, thì ta bổ sung
thêm các véc tơ cột của A thuộc tập {Aj | j ∈ / J(x0 )} vào bộ véc tơ
{Aj | j ∈ J(x0 )} để nhận được bộ m véc tơ độc lập tuyến tính {Aj | j ∈ J}
với J ⊃ J(x0 ) và |J| = m. Khi đó, B̄ = {Aj | j ∈ J} là một cơ sở của ma
trận A.
Ví dụ 3.8. Xét quy hoạch tuyến tính như ở Ví dụ 3.8. Ta đã biết v 1 = (2, 1, 0)T ,
với J(v 1 ) = {1, 2}, là phương án cực biên
{ không suy biến } nên có duy nhất một
cơ sở tương ứng với nó là {A1 , A2 } = (3, 1) , (4, −1) .
T T
Phương án cực biên suy biến v 2 = (0, 0, 1)T có tập J(v 2 ) = {3} chỉ có một
phần tử (1 < m = 2) nên ta bổ sung thêm một véc tơ cột của A để nhận được
cơ sở của A tương ứng với v 2 . Dễ thấy tương ứng với v 2 có hai cơ sở là:
{
i) Cơ sở B̄ = {A1 , A3 } = (3, 1)T , (10, 1)T } ;
1
{
ii) Cơ sở B̄ = {A2 , A3 } = (4, −1)T , (10, 1)T } .
2
55
Từ đây, để đơn giản, ta xét bài toán quy hoạch tuyến tính chính tắc (LP ct )
với giả thiết thêm rằng: Bài toán (LP ct ) là không suy biến và biết trước một
phương án cực biên của bài toán này.
Giả sử ta đã biết phương án cực biên không suy biến x0 = (x01 , x02 , . . . , x0n )T
có |J(x0 )| = m. Hệ các véc tơ độc lập tuyến tính {Aj | j ∈ J(x0 )} là cơ sở duy
nhất của ma trận A tương ứng với x0 . Ta gọi:
J(x0 ) = {j | x0j > 0} là tập chỉ số cơ sở,
{1, . . . , n} \ J(x0 ) là tập chỉ số phi cơ sở,
{xj | j ∈ J(x0 )} là các biến cơ sở,
{Aj | j ∈ J(x0 )} là các véc tơ cơ sở,
{xj | j ∈
/ J(x0 )} là các biến phi cơ sở,
{Aj | j ̸∈ J(x0 )} là các véc tơ phi cơ sở.
tức ∑
aij zjk = aik , i = 1, . . . , m
j∈J(x0 )
và bộ số thực zjk , j ∈ J(x0 ) được xác định duy nhất. Vì x0j = 0 với mọi
j ̸∈ J(x0 ) nên ∑
x0j Aj = b. (3.11)
j∈J(x0 )
Đại lượng ∑
∆k = zjk cj − ck , k ∈ {1, 2, . . . , n}, (3.13)
j∈J(x0 )
Sau đây là điều kiện đủ để phương án cực biên x0 là phương án tối ưu của
bài toán (LP ct ).
56
thì x0 là một phương án tối ưu của bài toán quy hoạch tuyến tính chính tắc
(LP ct ).
Chứng minh. Vì phương án cực biên x0 = (x01 , . . . , x0n )T có x0k = 0 với mọi
k ̸∈ J(x0 ) nên
∑
f (x0 ) = ⟨c, x0 ⟩ = cj x0j
j∈J(x0 )
và
∑
b= x0j Aj . (3.14)
j∈J(x0 )
Để chứng tỏ x0 là phương án tối ưu, với phương án chấp nhận được bất kỳ
y ∈ D, ta sẽ chứng minh rằng
∑
n ∑ ∑
b= yj A j = yj Aj + yk Ak
j=1 j∈J(x0 ) k̸∈J(x0 )
(3.10) ∑ ∑ ( ∑ )
= yj A j + yk zjk Aj
j∈J(x0 ) k̸∈J(x0 ) j∈J(x0 )
∑ ( ∑ )
= yj + yk zjk Aj . (3.15)
j∈J(x0 ) k̸∈J(x0 )
Suy ra
∑
yj = x0j − yk zjk , ∀j ∈ J(x0 ) (3.16)
k̸∈J(x0 )
57
và
∑ ∑
f (y) = ⟨c, y⟩ = cj yj + ck yk
j∈J(x0 ) k̸∈J(x0 )
(3.16) ∑ ( ∑ ) ∑
= cj x0j − yk zjk + ck yk
j∈J(x0 ) k̸∈J(x0 ) k̸∈J(x0 )
∑ ∑ ( ∑ )
= cj x0j − cj zjk − ck yk
j∈J(x0 ) k̸∈J(x0 ) j∈J(x0 )
(3.13) ∑
= f (x0 ) − ∆k yk . (3.17)
k̸∈J(x0 )
Hệ quả 3.4. Giả sử x0 là phương án cực biên tối ưu của bài toán quy hoạch
tuyến tính (LP ct ). Nếu ∆k < 0 với mọi k ̸∈ J(x0 ) thì x0 là phương án tối ưu
duy nhất. Ngược lại, nếu tồn tại k ̸∈ J(x0 ) sao cho ∆k = 0 thì x0 không phải là
phương án tối ưu duy nhất.
Chứng minh. Giả sử x0 là phương án tối ưu thỏa mãn ∆k < 0 với mọi k ̸∈ J(x0 ).
Khi đó x0 là phương án tối ưu duy nhất của bài toán (LP ct ). Thật vậy, giả thiết
phản chứng rằng x0 không phải phương án tối ưu duy nhất, tức bài toán (LP ct )
có thêm ít nhất một phương án tối ưu x1 ̸= x0 . Ta có
f (x1 ) = f (x0 ). (3.18)
Theo (3.17) trong chứng minh Định lý 3.7, vì x1 là phương án chấp nhận được
nên ∑
f (x1 ) = f (x0 ) − ∆k x1k . (3.19)
k̸∈J(x0 )
Do ∆k < 0 và x1k ≥ 0 với mọi k ̸∈ J(x0 ) nên phải có x1k = 0 với mọi k ̸∈ J(x0 ).
Vì x0 và x1 đều là các phương án chấp nhận được nên
∑
n ∑
n ∑ ∑
x0j Aj = x1j Aj hay x0j Aj = x1j Aj .
j=1 j=1 j∈J(x0 ) j∈J(x0 )
Do {Aj , j ∈ J(x0 )} là cơ sở nên phải có x0j = x1j với mọi j ∈ J(x0 ). Vậy, x1j = x0j
với mọi j = 1, . . . , n hay x0 = x1 . Điều ngược lại là hiển nhiên.
58
Định lý 3.8. Cho x0 là một phương án cực biên của bài toán quy hoạch tuyến
tính chính tắc (LP ct ). Khi đó,
thì hàm mục tiêu giảm vô hạn trên tập chấp nhận được và bài toán không
có nghiệm tối ưu;
ii) Nếu tồn tại k ∈
/ J(x0 ) sao cho
thì ta có thể chuyển được tới phương án cực biên x1 tốt hơn phương án cực
biên x0 , nghĩa là ⟨c, x1 ⟩ < ⟨c, x0 ⟩.
và ∑ ∑
zjk Aj = Ak ⇒ θzjk Aj = θAk với θ > 0. (3.22)
j∈J(x0 ) j∈J(x0 )
và
x̄(θ) = x0 + θz k .
Khi đó (3.23) có thể viết được dưới dạng
Ax̄(θ) = b. (3.25)
• Trường hợp 1: Có zjk ≤ 0 với mọi j ∈ J(x0 ). Trong trường hợp này:
x̄(θ) = x0 + θz k ≥ 0, ∀θ ≥ 0. (3.26)
Hệ thức (3.25) và (3.26) chứng tỏ tất cả các điểm x̄(θ), với θ ≥ 0, nằm trên tia
xuất phát từ x0 theo hướng z k đều thuộc tập chấp nhận được. Do ∆k > 0, tính
toán trực tiếp ta có
∑
f (x̄(θ)) = (x0j − θzjk )cj + θck
j∈J(x0 )
∑ ( ∑ )
= x0j cj −θ zjk cj − ck
j∈J(x0 ) j∈J(x0 )
Chú ý 3.2.
i) Nếu tồn tại chỉ số k ̸∈ J(x0 ) sao cho
∆k > 0 và ∃j ∈ J(x0 ) sao cho zjk > 0
thì ta có thể chuyển được đến phương án cực biên mới x1 tốt hơn x0 . Ta có
Xét bài toán quy hoạch tuyến tính dạng chính tắc
D = {xinRn | Ax = b, x ≥ 0},
i) rankA = m,
ii) m < n;
iii) Bài toán quy hoạch tuyến tính (LP ct ) không suy biến;
Khi đó, đưa véc tơ As vào cơ sở và đưa Ar ra khỏi cơ sở, với chỉ số r (chỉ số
của véc tơ đưa ra khỏi cơ sở cũ) được xác định bởi
{ 0 }
xj x0
θ0 = min zjs > 0, j ∈ J(x ) = r với r ∈ J(x0 )
0
(3.29)
zjs zrs
và nhận được phương án cực biên mới x1 = (x11 , x12 , . . . , x1n )T với
x0r
x0
− zjs , ∀j ∈ J(x0 ) (trong đó x1r = 0)
j
z rs
x1j = 0, ∀j ̸∈ J(x0 ) và j ̸= s (3.30)
x0r
, j = s.
zrs
63
Bước 2. Với mỗi k ̸∈ J(x0 ), xác định các số zjk bằng việc giải hệ
∑
zjk Aj = Ak
j∈J(x0 )
⋄ Xây dựng phương án cực biên mới là x1 theo công thức (3.30) với tập chỉ
số cơ sở mới là J(x1 ) = (J(x0 ) \ {r}) ∪ {s}.
Bảng 3.1
Hệ số Cơ sở Phương c1 ... ck ... cn
CB B án A1 ... Ak ... An θ
cj1 Aj1 x0j1 zj1 1 ... z j1 k ... zj1 n θj1
.. .. .. .. .. .. ..
. . . . . . .
cj Aj x0j zj1 ... zjk ... zjn θj
.. .. .. .. .. .. ..
. . . . . . .
cjm Ajm x0jm zjm 1 ... zjm k ... zjm n θjm
Cột cuối cùng. Dành để ghi tỷ số θj , j ∈ JB (xem Bước 3 − Thuật toán 3.3).
Dòng cuối cùng. Tại vị trí dưới cột thứ ba, ghi giá trị
∑
f (x0 ) = cj x0j .
j∈JB
Tại vị trí dưới cột ứng với véc tơ Ak , k ∈ {1, . . . , n}, ghi ước lượng
∑
∆k = zjk cj − ck .
j∈JB
Ta có ∆j = 0 với mọi j ∈ JB .
65
Bước 1. (Kiểm tra điều kiện tối ưu) Xét dòng cuối của bảng.
If ∆k ≤ 0 với mọi k = 1, . . . , n Then Dừng thuật toán
(Nghiệm tối ưu là phương án cực biên tương ứng với bảng này)
⋄ Tìm cột quay. Xác định véc tơ As để đưa vào cơ sở mới với chỉ số s thỏa
mãn ∆s = max{∆k | ∆k > 0}. Cột tương ứng với véc tơ As được gọi là
cột quay.
0
xj nếu zjs > 0, j ∈ JB
θj = zjs
+ ∞ nếu z ≤ 0, j ∈ J
js B
và xác định
θr = min {θj | j ∈ JB }.
Dòng r được gọi là dòng quay. Phần tử zrs nằm trên giao của dòng quay và
cột quay được gọi là phần tử chính của phép quay. Các phần tử zjs (j ̸= r)
được gọi là các phần tử quay.
66
Bước 4. (Chuyển bảng mới tương ứng với phương án cực biên mới) Thực hiện:
⋄ Trong cột thứ nhất (cột hệ số CB ) thay giá trị cr bởi cs . Trong cột thứ hai
(cột tên các véc tơ cơ sở), thay tên Ar bởi As .
⋄ Chia các phần tử của dòng quay cho phần tử chính, ta được dòng mới (có
số 1 tại vị trí của zrs cũ) gọi là dòng chính, tức ta có quy tắc là
Ta được số 0 ở mọi vị trí còn lại của cột quay cũ (sau phép quay thì trong
bảng mới ta có ∆s = 0 vì lúc này s là chỉ số cơ sở của phương án cực biên
mới và As trở thành véc tơ đơn vị cơ sở).
Dễ thấy, v 0 = (0, b) là phương án cực biên không suy biến của bài toán quy
hoạch tuyến tính dạng chính tắc (P1 ) tương ứng với cơ sở đơn vị.
Định lý 3.9. Giả sử (x0 , u0 ) là phương án cực biên tối ưu của bài toán phụ
(LP∗ct ). Khi đó,
i) Nếu g(x0 , u0 ) > 0 thì D = ∅.
ii) Nếu g(x0 , u0 ) = 0 thì x0 là phương án cực biên của bài toán ban đầu
(LP ct ).
Chứng minh.
i) Giả sử phản chứng rằng giá trị tối ưu của bài toán phụ là g(x0 , u0 ) > 0
nhưng D ̸= ∅, tức
∃ x′ ∈ D.
Theo định nghĩa, (x′ , 0) ∈ D′ . Giá trị hàm mục tiêu của bài toán phụ
(LP∗ct ) tại (x′ , 0) là g(x′ , 0) = 0 nhỏ hơn giá trị tối ưu. Điều mâu thuẫn
này chứng tỏ D = ∅.
ii) Do u0 ≥ 0 nên g(x0 , u0 ) = 0 khi và chỉ khi u0 = 0. Vậy trong trường hợp
này, phương án cực biên tối ưu của bài toán phụ có dạng (x0 , 0). Theo
Mệnh đề 3.1, ta có ngay điều phải chứng minh.
69
⋄ Xóa tất cả các cột tương ứng với các biến giả.
⋄ Thay cột CB bởi hệ số mục tiêu cơ sở tương ứng của bài toán gốc.
⋄ Thay các hệ số mục tiêu của bài toán phụ ở dòng 1 bằng hệ số mục tiêu
của bài toán gốc.
⋄ Nếu trong cơ sở tương ứng với phương án tối ưu của bài toán phụ (LP∗ct )
không có véc tơ giả thì cơ sở ứng với phương án này cũng chính là cơ sở
tương ứng với x0 . Để có bảng đơn hình xuất phát cho bài toán ban đầu,
ta chỉ cần tính lại giá trị hàm mục tiêu tại x0 và tính lại các ước lượng
theo công thức
∑ ∑
f (x0 ) = cj x0j và ∆k = zjk cj − ck .
j∈J(x0 ) j∈J(x0 )
Xem Ví dụ 3.17.
⋄ Nếu trong cơ sở của phương án cực biên tối ưu của bài toán phụ (LP∗ct ) có
ít nhất một véc tơ giả thì ta nhận được
{ một phương án cực biên } suy biến
của bài toán ban đầu, tức |J(x0 )| = j ∈ {1, . . . , n}| x0j > 0 < m. Khi
đó, để đẩy hết biến giả ra khỏi cơ sở, ta thực hiện thêm một vài bước lặp
đơn hình nữa như sau: chọn cột quay là cột ứng với véc tơ phi cơ sở Ak
với k ≤ n (tức Ak không phải véc tơ giả) mà nó có phần tử khác 0 ở dòng
tương ứng với véc tơ giả và dòng này được chọn là dòng quay. Chú ý, phần
tử chính lúc này có thể dương hoặc âm (khác 0). Do giả thiết rankA = m
nên nếu có biến giả trong cơ sở thì chắc chắn sẽ tìm được cột quay như
thế. Sau khi bổ sung véc tơ để nhận được cơ sở B = {Aj , j ∈ J} với
J ⊃ J(x0 ), ta bỏ các cột tương ứng với biến giả rồi tiếp tục thuật toán
(xem Ví dụ 3.18).
70
Chú ý 3.3.
i) Khi xây dựng bài toán phụ, ta chỉ cộng thêm biến giả vào những phương
trình cần thiết để tạo ra ma trận m cột là các véc tơ đơn vị khác nhau.
Hàm mục tiêu là tổng các biến giả.
ii) Khi một véc tơ giả bị loại ra khỏi cơ sở thì cột tương ứng với nó không
cần tính ở các bước tiếp theo.
iii) Để tiện trong việc tính toán, ta đặt tên biến giả thứ i là xgn+i thay vì ui
và gọi véc tơ tương ứng với biến giả này là véc tơ giả Agn+i .
Ví dụ 3.9. Giải bài toán sau bằng thuật toán đơn hình hai pha:
Dễ thấy x0 = (0, 0, 0, 1, 6)T là một phương án cực biên của bài toán phụ
tương ứng với cơ sở đơn vị {Ag4 , Ag5 } = {e1 , e2 }. Xuất phát từ x0 , kết quả tính
toán giải bài toán quy hoạch tuyến tính phụ theo thuật toán đơn hình được ghi
ở Bảng 3.9.
p
Bài toán phụ có giá trị tối ưu là fmin = 3 > 0. Vì vậy, theo Định lý 3.9, bài
toán quy hoạch tuyến tính ban đầu có tập chấp nhận được bằng rỗng.
Bảng 3.9
71
Hệ số Cơ sở Phương 0 0 0 1 1 θ
CB B án A1 A2 A3 Ag4 Ag5
1 Ag4 1 1 1 [1] 1 0 1
1 Ag5 6 1 2 3 0 1 2
Bảng 1 7 2 3 4 0 0
0 A3 1 1 1 1 1 0
1 Ag5 3 −2 −1 0 −3 1
Bảng 2 3 −2 −1 0 −4 0
Ví dụ 3.10. Giải bài toán sau bằng thuật toán đơn hình hai pha:
min f (x) = 2x1 + 3x2
v.đ.k. 2x1 − 4x2 ≥2
4x1 + 3x2 ≤ 19
3x1 + 2x2 = 14
x1 , x2 ≥ 0.
Giải. Trước hết, ta đưa bài toán này về dạng chính tắc sau:
min f (x) = 2x1 +3x2
v.đ.k. 2x1 −4x2 − x3 =2
4x1 +3x2 + x4 = 19
3x1 +2x2 = 14
x1 , x2 , x3 , x4 ≥ 0.
Pha 1. Để ý rằng, ràng buộc chính thứ hai của bài toán dạng chính tắc có
biến x4 với hệ số bằng 1 và biến x4 không xuất hiện trong hai ràng buộc chính
còn lại nên ta chỉ cần thêm hai biến giả xg5 và xg6 trong bài toán phụ. Sau đây
là bài toán phụ tương ứng với bài toán đang xét
min f p (x) = xg5 + xg6
v.đ.k. 2x1 − 4x2 − x3 + xg5 = 2
4x1 + 3x2 + x4 = 19
g
3x1 + 2x2 + x6 = 14
x1 , x2 , x3 , x4 , xg5 , xg6 ≥ 0.
72
Bảng 3.10
Hệ số Cơ sở Phương 0 0 0 0 1 1 θ
CB B án A1 A2 A3 A4 Ag5 Ag6
1 Ag5 2 [2] −4 −1 0 1 0 1
19
0 A4 19 4 3 0 1 0 0 4
1 Ag6 14 3 2 0 0 0 1 14
3
Bảng 1 16 5 −2 −1 0 0 0
0 A1 1 1 −2 − 21 0 0 ∞
15
0 A4 15 0 [11] 2 1 0 11
1 Ag6 11 0 8 3
2
0 1 11
8
3
Bảng 2 11 0 8 2
0 0
0 A1 41
11
1 0 − 22
3 2
11
0 ∞
15 2 1 15
0 A2 11
0 1 11 11
0 2
1 Ag6 1
11
0 0 1
[ 22 ] − 11
8
1 2
Bảng 3 1
11
0 0 1
22
− 11
8
0
0 A1 4 1 0 0 −2
0 A2 1 0 1 0 3
0 A3 2 0 0 1 −16
Bảng 4 0 0 0 0 0
73
Quá trình tính toán giải bài toán phụ theo Pha 1, xuất phát từ phương án
cực biên x0 = (0, 0, 0, 19, 2, 14)T tương ứng với cơ sở {Ag5 , A4 , Ag6 }, được ghi
ở Bảng 3.10.
p
Bài toán phụ có giá trị tối ưu fmin = 0. Không có các biến giả trong cơ sở
của phương án cực biên tối ưu x = (4, 1, 2, 0)T . Ta chuyển sang Pha 2.
0
Pha 2. Xuất phát từ phương án cực biên không suy biến x0 tương ứng với cơ
sở đơn vị {A1 , A2 , A3 }, quá trình tính được trình bày ở Bảng 3.11.
Chú ý rằng bảng xuất phát ở Pha 2 (bảng đơn hình đầu tiên của Bảng 3.11)
chỉ khác bảng cuối cùng của Pha 1 (bảng đơn hình cuối cùng của Bảng 3.10) ở
cột hệ số hàm mục tiêu, dòng 1 (được thay bằng hệ số hàm mục tiêu của bài
toán ban đầu) và dòng ước lượng (dòng cuối cùng).
Bảng đơn hình cuối cùng của Bảng 3.11 tương ứng với phương án cực biên
tối ưu duy nhất x∗ = ( 14
3
, 0, 22
3
, 13 )T của bài toán ban đầu vì ước lượng tương
ứng với biến phi cơ sở duy nhất ∆2 = − 53 < 0.
Bảng 3.11
Hệ số Cơ sở Phương 2 3 0 0 θ
CB B án A1 A2 A3 A4
2 A1 4 1 0 0 −2 ∞
1
3 A2 1 0 1 0 [3] 3
0 A3 2 0 0 1 −16 ∞
Bảng 1 11 0 0 0 5
14 2
2 A1 3
1 3
0 0
1 1
0 A4 3
0 3
0 1
22 16
0 A3 3
0 3
1 0
Bảng 2 28
3
0 − 53 0 0
74
Ví dụ 3.11. (Bảng cuối của Pha 1 còn véc tơ giả trong cơ sở) Giải bài toán
quy hoạch tuyến tính sau bằng thuật toán đơn hình hai pha:
1
min f (x) = 2x1 + 4x2 + x3 − 3x4
2
v.đ.k. 2x1 + 2x2 + 3x3 + 3x4 + x5 = 50
4x1 + 8x2 + 2x3 + 3x4 = 80
4x1 + 4x2 + x3 + 2x4 = 40
x1 , x2 , x3 , x4 , x5 ≥ 0.
Giải.
Pha 1. Bài toán phụ tương ứng với bài toán này là:
min f p (x) = xg6 + xg7
v.đ.k. 2x1 + 2x2 + 3x3 + 3x4 + x5 = 50
g
4x1 + 8x2 + 2x3 + 3x4 + x6 = 80
g
4x1 + 4x2 + x3 + 2x4 + x7 = 40
x1 , x2 , x3 , x4 , x5 , x6 , x7 ≥ 0.
g g
Quá trình tính toán giải bài toán phụ xuất phát từ phương án cực biên
(0, 0, 0, 0, 50, 80, 40)T
được trình bày ở Bảng 3.12. Sau một bước biến đổi đơn hình, ta nhận được
phương án tối ưu (0, 10, 0, 0, 30, 0, 0)T nhưng trong cơ sở của phương án này
còn véc tơ giả Ag6 (bảng thứ hai). Để loại véc tơ giả Ag6 ra khỏi cơ sở, ta đưa véc
tơ phi cơ sở A1 vào cơ sở (vì z61 = −4 ̸= 0) và thực hiện một bước biến đổi đơn
hình chuyển sang bảng cuối cùng của Bảng 3.12. Bảng cuối cùng này không còn
véc tơ giả trong cơ sở của phương án cực biên tương ứng vì vậy ta chuyển sang
Pha 2.
Pha 2. Trong bảng cuối cùng của Pha 1, ta loại bỏ cột ứng với véc tơ giả
Ag6 . Thay cột hệ số CB , thay dòng đầu tiên bởi các hệ số mục tiêu của bài
toán gốc, tính lại các ước lượng, ta nhận được bảng xuất phát của Pha 2. Sau
hai bước biến đổi đơn hình, ta nhận được phương án cực biên suy biến tối ưu
x∗ = (0, 7, 12, 0, 0)T và giá trị tối ưu fmin = 34 (xem bảng cuối cùng của
Bảng 3.13).
Ta để ý rằng, bảng đơn hình thứ nhất của Bảng 3.13 tương ứng với phương
án cực biên suy biến (0, 10, 0, 0, 30)T có cơ sở là {A5 , A1 , A2 } và giá trị
hàm mục tiêu tại đây bằng 40. Ta chọn véc tơ A1 đưa ra cơ sở tương ứng với
θ1 = min{15, 0, 40} = 0 nên bảng đơn hình thứ hai vẫn tương ứng với phương
án này nhưng với cơ sở thứ hai của nó là {A5 , A4 , A2 }, còn giá trị hàm mục tiêu
hiển nhiên là không đổi.
75
Bảng 3.12
Hệ số Cơ sở Phương 0 0 0 0 0 1 1 θ
CB B án A1 A2 A3 A4 A5 Ag6 Ag7
0 A5 50 2 2 3 3 1 0 0 25
1 Ag6 80 4 8 2 3 0 1 0 10
1 Ag7 40 4 [4] 1 2 0 0 1 10
Bảng 1 120 8 12 3 5 0 0 0
5
0 A5 30 0 0 2
2 1 0
1 Ag6 0 [−4] 0 0 -1 0 1
1 1
0 A2 10 1 1 4 2
0 0
Bảng 2 0 -4 0 0 -1 0 0
5
0 A5 30 0 0 2
2 1
1
0 A1 0 1 0 0 4
0
1 1
0 A2 10 0 1 4 4
0
Bảng 3 0 0 0 0 0 0
76
Bảng 3.13
Hệ số Cơ sở Phương 2 4 1/2 -3 0 θ
CB B án A1 A2 A3 A4 A5
5
0 A5 30 0 0 2
2 1 15
2 A1 0 1 0 0 [ 14 ] 0 0
1 1
4 A2 10 0 1 4 4
0 40
1 9
Bảng 1 40 0 0 2 2
0
0 A5 30 −8 0 [ 52 ] 0 1 12
-3 A4 0 4 0 0 1 0 ∞
1
4 A2 10 -1 1 4
0 0 40
Bảng 2 40 −18 0 1
2
0 0
1/2 A3 12 − 16
5
0 1 0 2
5
-3 A4 0 4 0 0 1 0
4 A2 7 − 15 1 0 0 − 10
1
Bảng 3 34 − 82
5
0 0 0 − 15
3.5.3 Phương pháp đánh thuế hay phương pháp bài toán (M)
Trong thuật toán đơn hình hai pha, ta phải thực hiện thuật toán đơn hình hai
lần: một lần để giải bài toán quy hoạch tuyến tính phụ (LP∗ct ) và một lần để
giải bài toán quy hoạch tuyến tính gốc (nếu tập nghiệm chấp nhận được của nó
khác rỗng). Phương pháp đánh thuế cho phép kết hợp cả hai pha này lại.
Xét bài toán quy hoạch tuyến tính dạng chính tắc:
min{⟨c, x⟩ | Ax = b, x ≥ 0}, (LP ct )
với ma trận A cấp m × n, véc tơ b ∈ Rm và b ≥ 0.
77
Để giải bài toán (LP ct ), ta xét bài toán mở rộng sau đây (thường gọi là bài
toán (M)):
min F (x, u) = c1 x1 + · · · + cn xn + M (u1 + · · · + um ) (M )
v.đ.k. Ax + u = b
(x, u) ≥ 0,
trong đó M là một hằng số dương đủ lớn (lớn hơn bất cứ số cụ thể nào mà ta
cần so sánh với nó). Về trực quan, có thể thấy rằng cách làm này giống như
"đánh thuế" rất nặng vào các biến giả u1 , . . . , um khiến cho nếu bài toán chính
(LP ct ) có phương án chấp nhận được thì phương án tối ưu (x∗ , u∗ ) của bài toán
(M ) phải có u∗ = 0 và x∗ là phương án tối ưu của bài toán chính.
Bài toán (M ) có m ràng buộc chính và n + m biến. Dễ thấy (0, b) là một
phương án cực biên của bài toán này với cơ sở tương ứng là cơ sở đơn vị. Do
đó ta có thể xây dựng được ngay bảng đơn hình xuất phát và giải bài toán này
bằng Thuật toán 3.3. Tuy nhiên, để ý rằng, do hàm mục tiêu F phụ thuộc tuyến
tính vào M nên các ước lượng ∆k của các biến xk cũng phụ thuộc tuyến tính
vào M . Do đó, ta có thể viết
F = α0 + β0 M và ∆k = αk + βk M, k = 1, . . . , n + m.
Khi giải bài toán (M ) theo Thuật toán 3.3, ta không cần xác định giá trị cụ
thể của số M mà chỉ cần tách dòng ước lượng (dòng cuối cùng của mỗi bảng
đơn hình) thành hai dòng: dòng đầu ghi các hệ số αk , dòng sau ghi các hệ số
βk , k = 0, 1, . . . , n + m. Vì M là hằng số dương đủ lớn nên:
⋄ Với mỗi k ∈ {1, . . . , n} ta có:
∆k > 0 nếu βk > 0 và αk bất kỳ (hoặc βk = 0 và αk > 0);
⋄ Với cặp i, j ∈ {1, . . . , n}, i ̸= j, ta có:
∆i > ∆j nếu βi > βj và αi , αj bất kỳ (hoặc βi = βj và
αi > αj ).
Khi thuật toán kết thúc:
i) Nếu bài toán (M ) có phương án tối ưu là (x∗ , u∗ ) với u∗ ̸= 0 thì bài toán
gốc (LP ct ) không có phương án chấp nhận được;
ii) Nếu bài toán (LP M ) có phương án tối ưu là (x∗ , 0) thì x∗ là phương án
tối ưu của bài toán gốc (LP ct );
iii) Nếu bài toán (LP M ) không có phương án tối ưu thì bài toán gốc (LP ct )
cũng không có phương án tối ưu (giá trị hàm mục tiêu giảm vô hạn).
78
Ví dụ 3.12. Xét lại bài toán quy hoạch tuyến tính chính tắc như ở Ví dụ 3.17:
Cũng lập luận tương tự như khi giải Ví dụ 3.17, ta chỉ cần thêm hai biến giả
xg5 và xg6 trong bài toán mở rộng. Sau đây là bài toán (M ) tương ứng:
Quá trình tính toán giải bài toán này theo Thuật toán 3.3, xuất phát từ
phương án cực biên ban đầu x0 = (0, 0, 0, 19, 2, 14)T tương ứng với cơ sở đơn
vị {Ag5 , A4 , Ag6 } được trình bày ở Bảng 3.14. Như sẽ thấy, bảng đơn hình cuối
cùng của Bảng 3.14 cho ta phương án cực biên tối ưu ( 14 3
, 0, 22
3
, 13 , 0, 0)T . Do
đó, phương án cực biên tối ưu của bài toán ban đầu là x∗ = ( 14 3
, 0, 22 3
, 13 )T . Ta
có kết quả trùng hợp với kết quả nhận được khi giải bài toán này bằng thuật
toán đơn hình hai pha ở Ví dụ 3.17.
Bảng 3.14
Hệ số Cơ sở Phương 2 3 0 0 M M θ
CB B án A1 A2 A3 A4 A5 A6
M Ag5 2 [2] -4 -1 0 1 0 1
19
0 A4 19 4 3 0 1 0 0 4
M Ag6 14 3 2 0 0 0 1 14
3
α 0 -2 -3 0 0 0 0
Bảng 1 β 16 5 -2 -1 0 0 0
79
Hệ số Cơ sở Phương 2 3 0 0 M M θ
CB B án A1 A2 A3 A4 A5 A6
2 A1 1 1 -2 − 21 0 1
2
0 ∞
15
0 A4 15 0 [11] 2 1 -2 0 11
M Ag6 11 0 8 3
2
0 − 32 1 11
8
α 2 0 -7 -1 0 1 0
Bảng 2 β 11 0 8 3
2
0 − 52 0
2 A1 41
11
1 0 − 22
3 2
11
3
22
0 ∞
3 A2 15
11
0 1 2
11
1
11
− 11
2
0 15
2
M Ag6 1
11
0 0 1
[ 22 ] − 11
8
− 22
1
1 2
α 127
11
0 0 3
11
7
11
− 11
3
0
Bảng 3 β 1
11
0 0 1
22
− 11
8
− 23
22
0
2 A1 4 1 0 0 -2 0 3 ∞
1
3 A2 1 0 1 0 [3] 0 -4 3
0 A3 2 0 0 1 - 16 -1 22 ∞
α 11 0 0 0 5 0 -6
Bảng 4 β 0 0 0 0 0 -1 -1
14 2 1
2 A1 3
1 3
0 0 0 3
0 A4 1
3
0 1
3
0 1 0 − 43
22 16 2
0 A3 3
0 3
1 0 -1 3
α 28
3
0 − 53 0 0 0 2
3
Bảng 5 β 0 0 0 0 0 -1 -1
80
Định nghĩa. Thuật toán giải một bài toán tối ưu được gọi là hữu hạn nếu
như nó cho phép tìm được phương án tối ưu của bài toán sau một số hữu hạn
phép tính.
Định lý 3.10. Giả sử một bài toán quy hoạch tuyến tính không thoái hóa và
có phương án tối ưu. Khi đó, với mọi phương án cực biên xuất phát, thuật toán
đơn hình là hữu hạn.
Chứng minh. Giả sử bài toán quy hoạch tuyến tính chính tắc (LP ct ) có phương
án cực biên x0 tương ứng với cơ sở B0 . Xuất phát từ x0 , quá trình thực hiện
thuật toán đơn hình để giải bài toán này sẽ sinh ra một dãy các phương án cực
biên xk và dãy cơ sở tương ứng Bk , k = 1, 2, . . . Do bài toán không suy biến
nên tất cả các phương án cực biên đều không suy biến và khi chuyển từ xk sang
xk+1 thì giá trị hàm mục tiêu giảm thực sự (xem công thức (3.27)). Ta có:
(3.12′ ) (3.11′ )
f (xk ) = CBk XBk = CBk Bk−1 b.
Do đó trong quá trình thực hiện thuật toán, không có một ma trận cơ sở nào
bị lặp lại. Mặt khác, số cơ sở của ma trận A không vượt quá Cnm nên sau một
số hữu hạn bước lặp, ta sẽ nhận được một phương án cực biên thỏa mãn điều
kiện dừng của thuật toán.
Nhận xét 3.4. Trong trường hợp một bài toán thoái hóa thì tính hữu hạn của
thuật toán đơn hình không đảm bảo nữa. Người ta gọi đó là hiện tượng xoay
vòng.
Hiện tượng xoay vòng là hiện tượng sau một số phép biến đổi đơn hình, ta lại
quay lại phương án cực biên suy biến trước đó với cơ sở tương ứng đã gặp.
Trong trường hợp này, thuật toán đơn hình không thể kết thúc. Ví dụ đầu tiên
về hiện tượng xoay vòng do Hoffman [12] đưa ra năm 1953. Năm 1969, Marshall
và Suurballe [30] chứng minh rằng một bài toán quy hoạch tuyến tính dạng
chính tắc xoay vòng thì phải có ít nhất sáu biến và ba ràng buộc. Sau đây là ví
dụ bài toán quy hoạch tuyến tính xoay vòng do GS. Trần Vũ Thiệu [39] (Viện
81
Giải bài toán này theo thuật toán đơn hình xuất phát từ phương án cực biên
suy biến (0, 0, 2, 0, 0, 0, 0)T với quy tắc là: tại một bảng đơn hình nào đó,
nếu có nhiều véc tơ cùng đạt tiêu chuẩn ra khỏi cơ sở đang xét thì ta chọn để
đưa ra khỏi cơ sở véc tơ có chỉ số nhỏ nhất. Kết quả là bảng đơn hình ở bước
lặp thứ bảy trùng với bảng đơn hình ở bước đầu tiên. Như vậy, nếu cứ tiếp tục
tính ta sẽ lâm vào tình trạng xoay vòng.
Sau hơn nửa thế kỷ áp dụng phương pháp đơn hình giải quy hoạch tuyến
tính, người ta thấy rằng hiện tượng xoay vòng rất ít xảy ra đến mức các chương
trình phần mềm giải quy hoạch tuyến tính đều không chú ý đến phòng ngừa
xoay vòng. Tuy nhiên, về mặt lý thuyết, người ta vẫn phải đưa ra các biện pháp
để tránh hiện tượng xoay vòng như: quy tắc R.G. Bland, phương pháp từ điển,
phương pháp nhiễu loạn. Bạn đọc quan tâm đến các phương pháp này có thể
tham khảo trong [2], [8], [19], [34], [40] hoặc [42].
82
3.8.1 Cặp bài toán quy hoạch tuyến tính đối ngẫu
Cho A là ma trận cấp m × n và véc tơ b = (b1 , . . . , bm )T ∈ Rm . Ký hiệu
ai , i = 1, . . . , m, là các hàng của ma trận A;
Aj , j = 1, . . . , n, là các cột của ma trận A.
• Đối ngẫu của bài toán quy hoạch tuyến tính tổng quát
Bảng 3.15
Gốc (P) min ⟨c, x⟩ max ⟨b, y⟩ Đối ngẫu (D)
⟨ai , x⟩ = bi , i ∈ M1 yi ∈ R , i ∈ M1
xj ≥ 0, j ∈ N1 ⟨Aj , y⟩ ≤ cj , j ∈ N1
• Số ràng buộc chính của bài toán quy hoạch tuyến tính gốc (P ) bằng số
biến (hay số ràng buộc dấu) của bài toán quy hoạch tuyến tính đối ngẫu
(D).
• Số biến của bài toán (P ) bằng số ràng buộc chính của bài toán (D).
• Các biến của bài toán (D) được gọi là các biến đối ngẫu. Các biến đối
ngẫu tương ứng 1-1 với các ràng buộc chính của bài toán gốc (P ).
• Các ràng buộc chính của bài toán (D) tương ứng 1-1 với các biến của bài
toán (P ). Tính chất này được sử dụng rất nhiều khi nghiên cứu các bài
toán quy hoạch tuyến tính thông qua các bài toán đối ngẫu của chúng.
83
• Đối ngẫu của bài toán quy hoạch tuyến tính chuẩn tắc
• Đối ngẫu của bài toán quy hoạch tuyến tính chính tắc
Mệnh đề 3.2. Bài toán đối ngẫu của bài toán đối ngẫu là bài toán gốc.
Chứng minh. Không giảm tổng quát, ta xét bài toán gốc (P ) là bài toán quy
hoạch tuyến tính dạng chuẩn tắc. Ta có cặp bài toán đối ngẫu sau:
Định lý 3.11. (Đối ngẫu yếu) Nếu x∗ là phương án chấp nhận được bất kỳ
của bài toán gốc (P ) và y ∗ là phương án chấp nhận được bất kỳ của bài toán đối
ngẫu (D) thì
⟨b, y ∗ ⟩ ≤ ⟨c, x∗ ⟩.
Chứng minh. Lấy tùy ý x∗ ∈ X và y ∗ ∈ Y . Theo định nghĩa,
Ax∗ ≥ b, x∗ ≥ 0
và
AT y ∗ ≤ c, y ∗ ≥ 0.
Ta có:
i) Nếu hàm z(x) = ⟨c, x⟩ không bị chặn dưới trên X thì bài toán (D) không
chấp nhận được, tức Y = ∅;
ii) Nếu hàm max w(y) = ⟨b, y⟩ bị chặn trên trên Y thì bài toán (P) không
chấp nhận được, tức X = ∅.
Chứng minh. i) Giả sử phản chứng là tồn tại y 0 ∈ Y . Theo Định lý 3.11 ta có
⟨b, y 0 ⟩ ≤ ⟨c, x⟩ ∀ x ∈ X,
tức ⟨c, x⟩ bị chặn dưới trên X ⇒ Mâu thuẫn với giả thiết ⇒ Y = ∅.
85
Khi đó
x̄ ∈ Argmin(P ) vàȳArgmax(D).
Định lý 3.12. (Đối ngẫu mạnh) Nếu một bài toán quy hoạch tuyến tính có
phương án tối ưu thì bài toán đối ngẫu của nó cũng có phương án tối ưu và giá
trị tối ưu của hai bài toán này bằng nhau.
Hệ quả 3.7. Điều kiện cần và đủ để cặp phương án chấp nhận được {x̄, ȳ}
của bài toán (P) và (D) là phương án tối ưu là
Định lý 3.13. (Định lý tồn tại) Xét một cặp quy hoạch tuyến tính đối ngẫu
(P) và (D). Khi đó chỉ xảy ra một trong bốn trường hợp sau:
i) X = ∅ và Y = ∅.
ii) X ̸= ∅ và Y ̸= ∅. Khi đó
Argmin(P ) ̸= ∅, Argmax(D) ̸= ∅
và
min{⟨c, x⟩ | x ∈ X} = max{⟨b, y⟩ | y ∈ Y }.
iv) X = ∅ và Y ̸= ∅. Khi đó
g(y) = ⟨b, y⟩ không bị chặn trên trên Y .
86
Sau đây là một số ví dụ minh họa cho bốn trường hợp đã nêu trong Định lý
3.13.
Ví dụ 3.13. (Bài toán gốc và bài toán đối ngẫu đều không có phương án chấp
nhận được)
Ví dụ 3.14. (Bài toán gốc và bài toán đối ngẫu đều có phương án chấp nhận
được)
Ví dụ 3.15. (Bài toán gốc không có phương án chấp nhận được và giá trị hàm
mục tiêu của bài toán đối ngẫu tăng vô hạn trong miền ràng buộc)
Ví dụ 3.16. (Giá trị hàm mục tiêu của bài toán gốc giảm vô hạn trong miền
ràng buộc và bài toán đối ngẫu không có phương án chấp nhận được)
Xét cặp bài toán qui hoạch tuyến tính đối ngẫu
Y là tập chấp nhận được của bài toán đối ngẫu (D);
Véc tơ b = (b1 , . . . , bm )T ∈ Rm .
x∗ ∈ Argmin(P ), và y ∗ ∈ Argmax(D)
Do đó
⟨b, y ∗ ⟩ = ⟨c, x∗ ⟩.
x∗ ∈ Argmin(P ), và y ∗ ∈ Argmax(D)
Chú ý.
i) Vì x∗ ∈ X nên
Ax∗ − b ≥ 0 và x∗ ≥ 0.
ii) Vì y ∗ ∈ Y nên
c − AT y ∗ ≥ 0 và y ∗ ≥ 0.
iii) Vì
m (
∑ )
∗ ∗
⟨Ax − b, y ⟩ = ⟨a , x ⟩ − bi yi∗
i ∗
i=1
nên
[
( ) Nếu yi∗ > 0 thì ⟨ai , x∗ ⟩ = bi ,
(3.36) ⇔ ⟨ai , x∗ ⟩ − bi yi∗ = 0 ∀i ⇔
Nếu ⟨ai , x∗ ⟩ > bi thì yi∗ = 0.
iv) Vì
n (
∑ )
⟨c − AT y ∗ , x∗ ⟩ = cj − ⟨Aj , y ∗ ⟩ x∗j
j=1
[
∗
Nếu x∗j > 0 thì ⟨Aj , y ∗ ⟩ = cj ,
(3.37) ⇔ (cj − ⟨Aj , y ⟩) x∗j = 0 ∀j ⇔
Nếu ⟨y ∗ , Aj ⟩ < cj thì x∗j = 0.
Điều đó có nghĩa là nếu ràng buộc "lệch" khỏi thỏa mãn chặt thì biến
phải bằng 0 (tức "bù lại") để "không lệch" khỏi thỏa mãn chặt và
ngược lại.
89
min{⟨c, x⟩ | Ax = b, x ≥ 0}, (P )
thì (3.36) luôn thỏa mãn với mọi phương án chấp nhận được nên điều kiện
độ lệch bù cho bài toán quy hoạch tuyến tính chính tắc là điều kiện (3.37).
ii) Điều kiện độ lệch bù có thể cho ta ngay nghiệm tối ưu của quy hoạch
tuyến tính khi biết nghiệm tối ưu của bài toán đối ngẫu của nó.
Nhận xét 3.7. Trường hợp bài toán suy biến thì điều kiện độ lệch bù giúp rất
ít cho việc xác định nghiệm tối ưu của bài toán quy hoạch tuyến tính.
Ax = b, x ≥ 0, (3.38)
Do đó mọi thuật toán tìm nghiệm không âm của một hệ phương trình tuyến
tính đều có thể áp dụng trực tiếp vào việc giải bài toán quy hoạch tuyến tính.
Chứng minh.
(⇐) Điều kiện đủ là hiển nhiên. Thật vậy, giả sử tồn tại véc tơ y ∈ Rm , y ≥ 0 và
a = AT y. Suy ra ⟨a, x⟩ = ⟨AT y, x⟩ = ⟨y, Ax⟩ ≥ 0 với mọi x thỏa mãn Ax ≥ 0.
(⇒) Xét quy hoạch tuyến tính
min φ(x)⟨a, x⟩ v.đ.k.x ∈ M, (P )
trong đó
M = {x ∈ Rn | Ax ≥ 0}.
Dễ thấy 0 ∈ M , tức M ̸= ∅ và
φ(x) = ⟨a, x⟩ ≥ 0 ∀x ∈ M.
Suy ra bài toán (P ) có nghiệm tối ưu. Vậy bài toán đối ngẫu của nó là
max{⟨0, y⟩ | AT y = a, y ≥ 0}
cũng có nghiệm tối ưu (Định lý 3.13) và tập chấp nhận được của bài toán đối
ngẫu khác rỗng, tức
∃ y ≥ 0 sao cho AT y = a.
91
min f (x) = c1 t1 + · · · + cn tn
∑n
v.đ.k. aij tj ≥ bi , i = 1, . . . , m,
j=1
tj ≥ 0, j = 1, . . . , n.
max g(z) = b1 z1 + · · · + bm zm
∑m
v.đ.k. aij zi ≤ cj , j = 1, . . . , n,
i=1
zi ≥ 0, i = 1, . . . , m.
Nếu gọi zi , i = 1, . . . , m là giá trị (quy ước) của một đơn vị sản phẩm loại i thì
hàm mục tiêu của bài toán đối ngẫu là hàm tổng giá trị toàn bộ sản phẩm theo
yêu cầu của xã hội. Ràng buộc chính thứ j của bài toán đối ngẫu có nghĩa là:
tổng giá trị m loại sản phẩm được sản xuất theo phương pháp thứ j trong một
đơn vị thời gian không vượt quá chi phí sản xuất cj , j = 1, . . . , n. Mục đích của
bài toán đối ngẫu là xác định giá trị zi cho mỗi đơn vị sản phẩm loại i sao cho
tổng giá trị toàn bộ sản phẩm theo yêu cầu của xã hội là lớn nhất.
Ta có thể phân tích một số ý nghĩa kinh tế của cặp bài toán đối ngẫu trên
như sau: Gọi t∗ là phương án sản xuất tối ưu của bài toán gốc và z ∗ là phương
án định giá trị tối ưu của bài toán đối ngẫu. Từ Định lý về độ lệch bù (Định lý
3.14), ta suy ra:
i) Nếu phương pháp thứ j được áp dụng (tức t∗j > 0) thì tổng giá trị m loại
sản phẩm được sản xuất theo phương pháp này phải vừa đúng bằng chi
phí
∑m
aij zi∗ = cj
i=1
92
hoặc phương pháp thứ j sẽ không được áp dụng (tức t∗j = 0) nếu tổng giá
trị m loại sản phẩm được sản xuất theo phương pháp đó thấp hơn chi phí
∑
m
aij zi∗ < cj .
i=1
ii) Nếu sản phẩm loại i có giá trị zi∗ > 0 thì tổng số sản phẩm loại đó sản
xuất được phải vừa đúng bằng nhu cầu xã hội
∑
n
aij t∗j = bi
j=1
hoặc sản phẩm loại i không có giá trị (tức zi∗ = 0) nếu tổng số sản phẩm
loại đó sản xuất được lại vượt quá nhu cầu xã hội
∑
n
aij t∗j > bi .
j=1
1. Chuyển bài toán quy hoạch tuyến tính sau về dạng chính tắc:
2. Chuyển bài toán quy hoạch tuyến tính sau về dạng chính tắc:
3. Khi nào bài toán quy hoạch tuyến tính min{⟨c, x⟩|x ∈ M } có nghiệm?
Cấu trúc của tập nghiệm của bài toán này?
93
4. Giả sử rằng một quy hoạch tuyến tính với tập chấp nhận được bị chặn có
ℓ phương án cực biên tối ưu v 1 , . . . , v ℓ . Chứng minh rằng một phương án
là tối ưu khi và chỉ khi nó là tổ hợp lồi của v 1 , . . . , v ℓ .
5. Cho x1 , x2 là hai phương án tối ưu của bài toán min{⟨c, x⟩ | Ax = b, x ≥ 0}
và x0 là tổ hợp lồi của x1 , x2 . Chứng minh rằng x0 cũng là nghiệm của bài
toán này.
6. Giải bài toán quy hoạch tuyến tính sau bằng phương pháp hình học:
i)
min z = 3x1 + x2
v.đ.k. x1 − x2 ≤1
3x1 + 2x2 ≤ 12
2x1 + 3x2 ≤3
−2x1 + 3x2 ≥9
x 1 , x2 ≥ 0.
ii)
min z = x1 + 2x2
v.đ.k. 2x1 + x2 ≥ 12
x1 + x2 ≥5
−x1 + 3x2 ≤3
6x1 − x2 ≥ 12
x 1 , x2 ≥ 0.
7. Tìm các phương án cực biên không suy biến của bài toán quy hoạch tuyến
tính sau đây và trả lời xem các bài toán này có nghiệm không? Vì sao?
i)
min f (x) = 2x1 + 4x2 − 3x3
v.đ.k. x1 − x2 − x3 = 1
x1 + x2 + x3 = 3
x1 , x2 , x3 ≥ 0.
ii)
max f (x) = 3x1 − 6x2 + x3 − 3x4
v.đ.k. x1 + x2 + x3 + x4 = 10
2x2 + x3 − x4 = 6
x1 , x2 , x3 , x4 ≥ 0.
94
i) Viết bài toán đối ngẫu của bài toán này và giải nó bằng phương pháp
hình học.
ii) Sử dụng điều kiện độ lệch bù để tìm nghiệm tối ưu của bài toán ban
đầu.
9. Xét bài toán min{z = ⟨c, x⟩| Ax = b, x ≥ 0}. Giả sử bài toán này và bài
toán đối ngẫu của nó đều chấp nhận được. Cho x∗ là một nghiệm tối ưu
của bài toán gốc với giá trị tối ưu tương ứng là z∗ và y ∗ là một nghiệm tối
ưu của bài toán đối ngẫu. Chứng minh rằng:
z∗ = y ∗ T Ax∗ .
i) Bài toán này có nghiệm không? Vì sao? Tìm một bài toán thực tế có
thể mô tả bởi quy hoạch tuyến tính này.
ii) Chứng minh rằng tập nghiệm của bài toán quy hoạch tuyến tính là
tập lồi.
ii) Xuất phát từ x∗ , giải bài toán trên bằng phương pháp đơn hình.
iii) Tìm một phương án chấp nhận được x̄ có f (x̄) = −87.
i) Lập bảng đơn hình tương ứng với phương án cực biên x0 = (0, 3, 0, 2, 4)T .
ii) Tìm điều kiện của tham số α để phương án trên là tối ưu.
15. Giải bài toán quy hoạch tuyến tính sau bằng thuật toán đơn hình hai pha:
i)
ii)
min z = − x1 − 3x2
v.đ.k. x1 + x2 ≥3
−x1 + x2 ≤ −1
x1 + 2x2 ≤4
x 1 , x2 ≥ 0.
16. Một xưởng sản xuất may gia công hai kiểu mũ. Thời gian lao động để làm
ra một mũ kiểu thứ nhất nhiều gấp hai lần thời gian để làm xong một mũ
kiểu thứ hai. Nếu sản xuất toàn mũ kiểu thứ hai thì họ làm được 500 mũ
một ngày. Thị trường tiêu thụ được trong mỗi ngày không quá 200 mũ
kiểu thứ nhất và 300 mũ kiểu thứ hai. Tiền lãi một mũ kiểu thứ nhất là
50000 đồng và một mũ kiểu thứ hai là 30000 đồng. Xưởng sản xuất này
cần gia công mỗi kiểu mũ bao nhiêu chiếc trong một ngày để tổng tiền lãi
là lớn nhất?
17. Hãng hàng không Universal Aviation quyết định đầu tư 4000000 $ để mua
ba loại máy bay A, B, C để thực hiện hợp đồng chuyên chở hàng cho tập
đoàn RIO. Biết rằng:
Loại A giá 80000 $, có tải trọng 10 tấn, tốc độ 350 km/h và có thể bay
18 h trong một ngày.
Loại B giá 130000 $, có tải trọng 20 tấn và tốc độ 300 km/h và có thể bay
18 h trong một ngày .
Loại C giá 150000 $, có tải trọng 18 tấn và tốc độ 300 km/h và có thể bay
21 h trong một ngày .
Máy bay loại A và loại C có thể bay 3 ca một ngày. Máy bay loại B có thể
bay 6 ca một ngày.
Hãng hàng không chỉ có thể thực hiện bay nhiều nhất là 150 ca trong một
ngày, và hãng chỉ mua tối đa 30 máy bay.
Số tiền thu được từ mỗi máy bay loại A, B, C khi chúng chuyên chở 1 tấn
hàng và bay quãng đường 1 km (gọi tắt là 1 tấn - km) lần lượt là 5 $, 8 $
và 12 $.
Mỗi ngày, hãng hàng không phải thực hiện hợp đồng chuyên chở cho tập
đoàn RIO là 3500000 tấn - km. Nếu máy bay của hãng Universal Aviation
không hoàn thành hợp đồng với tập đoàn RIO thì hãng hàng không này
có thể thuê một hãng hàng không khác chở hàng mà vẫn lãi 0.2 $ trên 1
tấn - km. Bài toán đặt ra là cần mua bao nhiêu máy bay mỗi loại sao cho
hãng hàng không có thể thu được số tiền lớn nhất mỗi ngày? Hãy thiết
lập mô hình quy hoạch tuyến tính cho bài toán này.
97
18. Mỗi tháng công ty Hoàng Anh cần 90000 m3 gỗ xẻ đã sấy khô để đóng đồ
gia dụng. Công ty mua gỗ xẻ theo hai cách sau:
Cách 1 : Mua hai loại gỗ đã được xẻ sẵn (chưa sấy) của các công ty khác
rồi đem sấy. Biết rằng gỗ đã xẻ loại thứ nhất giá 300000 đồng/m3 và sau
khi sấy khô 1 m3 chỉ còn 0.7 m3 , loại thứ hai giá 700000 đồng/m3 và sau
khi sấy khô 1 m3 chỉ còn 0.9 m3 . Mỗi tháng, công ty có thể mua nhiều
nhất 40000 m3 gỗ xẻ loại thứ nhất và 60000 m3 gỗ xẻ loại thứ hai.
Cách 2 : Mua gỗ hộp (chưa xẻ) sau đó xẻ tại xưởng cưa của công ty và đem
sấy, chi phí vận chuyển 1 m3 gỗ hộp đến nhà máy cưa mất 25000 đồng.
Tiền mua và xẻ 1 m3 gỗ hộp là 60000 đồng và 1 m3 gỗ này chỉ còn 0.8 m3
sau khi sấy khô. Phân xưởng cưa có thể cưa 35000 m3 gỗ trong 1 tháng.
Chi phí để sấy gỗ xẻ là 40000 đồng/m3 . Tổng thời gian làm khô gỗ tối đa
là 40 giờ, trong đó thời gian làm khô 1 m3 gỗ loại thứ nhất (gỗ xẻ sẵn) là
2 phút, loại thứ hai (gỗ xẻ sẵn) là 0.8 phút và loại gỗ hộp là 1.3 phút.
Hãy xây dựng mô hình bài toán quy hoạch tuyến tính để giúp công ty có
thể cực tiểu chi phí mua nguyên liệu hàng tháng.
98
Chương 4
⋄ Epigraph của hàm f , ký hiệu là epi(f ) được định nghĩa như sau:
99
100
⋄ 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 .
⋄ f được gọi là hàm lõm (concave function) trên tập lồi X nếu −f là hàm
lồi.
⋄ f được gọi là hàm lõm chặt (strictly concave function)) trên tập lồi X nếu
−f là hàm lồi chặt.
f (λx1 + (1 − λ)x2 )
f (x2 )
λf (x1 ) + (1 − λ)f (x2 ) f (x2 )
f (x1 )
f (x1 )
λf (x1 ) + (1 − λ)f (x2 )
f (λx1 + (1 − λ)x2 )
(a) (b)
Hình 6.2. (a) − Epigraph của một hàm lồi (b) − Hypograph của một hàm lõm
Bước 2
Cách 1. Lấy tùy ý x1 , x2 ∈ X và lấy tùy ý số thực λ ∈ [0, 1]. Kiểm tra
Mệnh đề 4.1. Cho hàm f xác định trên tập lồi khác rỗng X ⊆ Rn . Khi đó,
Chứng minh: Do tính tương tự, ta chỉ cần chứng minh khẳng định i).
(⇒) Giả sử f là hàm lồi trên tập lồi X. Lấy hai điểm bất kỳ (x1 , ξ1 ) và (x2 , ξ2 )
thuộc epi(f ) và số thực λ ∈ [0, 1]. Ta sẽ chứng minh
Ta có
Suy ra
( )
λx1 + (1 − λ)x2 , λξ1 + (1 − λ)ξ2 = λ(x1 , ξ1 ) + (1 − λ)(x2 , ξ2 ) ∈ epi(f ).
(⇐) Ngược lại, giả sử epi(f ) là tập lồi. Lấy tùy ý x1 , x2 ∈ X và số thực λ ∈ [0, 1].
Ta sẽ chứng minh
Thật vậy, vì
(x1 , f (x1 )), (x2 , f (x2 )) ∈ epi(f )
nên ( ) ( )
λ x , f (x ) + (1 − λ) x , f (x ) =
1 1 2 2
( )
= λx1 + (1 − λ)x2 , λf (x1 ) + (1 − λ)f (x2 ) ∈ epi(f ).
Mệnh đề 4.2.
i) Nếu hàm số f xác định trên tập lồi X ⊆ Rn là hàm lồi thì tập mức dưới
Lα (f ) := {x ∈ X | f (x) ≤ α} là tập lồi với mọi α ∈ R.
ii) Nếu g là hàm lõm xác định trên tập lồi khác rỗng X ⊆ Rn thì tập mức
trên Lα (g) := {x ∈ X | g(x) ≥ α} là tập lồi với mọi α ∈ R.
Chú ý 4.1. Mệnh đề 6.2 chỉ là điều kiện cần, không phải là điều kiện đủ. Cụ
thể, xét hàm số f : X → R, trong đó X ⊂ Rn là tập lồi khác rỗng.
⋄ Nếu tập mức dưới Lα (f ) của hàm f là tập lồi với mọi α ∈ R thì hàm f
chưa chắc đã là hàm lồi.
⋄ Nếu tập mức trên Lα (f ) của hàm f là tập lồi với mọi α ∈ R thì hàm f
chưa chắc đã là hàm lõm.
⋄ Một hàm mà mọi tập mức dưới là tập lồi được gọi là một hàm tựa lồi
(quasiconvex function).
⋄ Tương tự, một hàm mà mọi tập mức trên là tập lồi được gọi là một hàm
tựa lõm (quasiconcave function).
Định lý 4.1. Nếu f là hàm lồi xác định trên tập lồi mở X ⊆ Rn thì f liên tục
trên tập X.
Nhận xét 4.1. 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.
Định nghĩa. Cho hàm f : Rn → R, véc tơ d ∈ Rn \ {0}. Nếu tồn tại giới hạn
(hữu hạn hoặc vô cùng), thì giới hạn đó được gọi là đạo hàm theo hướng d của
hàm f tại điểm x0 ∈ Rn và ký hiệu là f ′ (x0 , d),tức
Ví dụ.
f (x0 + t) − f (x0 )
f ′ (x0 , 1) = lim+ = f+′ (x0 ),
t→0 t
Mệnh đề 4.4. Cho hàm f xác định trên Rn và điểm x0 ∈ Rn . Nếu f khả vi tại
x0 thì
Chứng minh. Giả sử f khả vi tại x0 . Theo định nghĩa, với mọi v ∈ Rn \ {0} và
∥v∥ đủ nhỏ, ta có
Do đó
Nhận xét 4.2. Đặt φ(t) := f (x0 + td). Khi đó, theo định nghĩa ta có
⋄ Đạo hàm theo hướng của hàm f tại x0 phản ánh tốc độ biến thiên của
hàm f tại x0 theo hướng đó.
Suy ra:
- Đạo hàm theo hướng của hàm f tại điểm x0 đã cho là lớn nhất khi hướng
∇f (x0 )
d= ,
∥∇f (x0 )∥
tức giá trị hàm tăng nhanh nhất theo hướng gradient.
- Đạo hàm theo hướng của hàm f tại điểm x0 đã cho là nhỏ nhất khi
∇f (x0 )
d=− ,
∥∇f (x0 )∥
giá trị hàm giảm nhanh nhất theo hướng ngược với gradient.
107
Tính đặc thù của đạo hàm theo hướng của hàm lồi được mô tả ở định lý
sau.
Định lý 4.2. Nếu f : X → R ∪ {+∞} là một hàm lồi xác định trên tập lồi
X ⊆ Rn thì nó có đạo hàm theo mọi hướng d ∈ Rn \{0} tại mọi điểm x0 ∈ domf
và
f ′ (x0 , d) ≤ f (x0 + d) − f (x0 ).
Hệ quả 4.1. Nếu f là hàm lồi khả vi xác định trên tập lồi mở X thì f có đạo
hàm theo mọi hướng d ∈ Rn \ {0} tại mọi điểm x0 ∈ domf và
⟨∇f (x0 ), d⟩ = f ′ (x0 , d) ≤ f (x0 + d) − f (x0 ).
Định lý 4.4. Cho f là hàm khả vi hai lần trên tập lồi mở X ⊆ Rn . Khi đó,
i) Hàm f là hàm lồi trên X khi và chỉ khi ma trận Hesse ∇2 f (x) là nửa xác
định dương trên X, tức với mỗi x ∈ X,
y T ∇2 f (x)y ≥ 0 ∀y ∈ Rn .
Hàm f là hàm lồi chặt trên X nếu ∇2 f (x) xác định dương trên X, tức với
mỗi x ∈ X,
y T ∇2 f (x)y > 0 ∀y ∈ Rn \ {0}.
ii) Hàm f là hàm lõm trên X khi và chỉ khi ma trận Hesse ∇2 f (x) là nửa
xác định âm trên X, tức với mỗi x ∈ X,
y T ∇2 f (x)y ≤ 0 ∀y ∈ Rn .
Hàm f là hàm lõm chặt trên X nếu ∇2 f (x) xác định âm trên X, tức với
mỗi x ∈ X,
y T ∇2 f (x)y < 0 ∀y ∈ Rn \ {0}.
108
i) f là hàm lồi (t.ư., lồi chặt) trên Rn nếu Q là ma trận nửa xác định dương
(t.ư., xác định dương);
ii) f là lõm (t.ư., lõm chặt) trên Rn nếu Q là ma trận nửa xác định âm (t.ư.,
xác định âm).
Khi đó:
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
Do x∗ là nghiệm cực tiểu địa phương, hàm f là hàm lồi và (4.2) nên
ii) Giả sử x∗ là nghiệm tối ưu địa phương chặt. Theo i), x∗ ∈ Argmin(P ).
x̄ ∈ D, x̄ ̸= x∗ và f (x̄) = f (x∗ ).
Ký hiệu
xλ = λx̄ + (1 − λ)x∗ , 0 ≤ λ ≤ 1.
Cho λ → 0+ . Ta có thể chọn được xλ ∈ B(x∗ , ε) ∩ D với một ε > 0. Điều này
và (4.3) mâu thuẫn với giả thiết x∗ là nghiệm tối ưu địa phương chặt. Vì vậy
x∗ phải là nghiệm tối ưu toàn cục duy nhất.
• Giả sử rằng x∗ là nghiệm tối ưu địa phương và hàm mục tiêu f là lồi chặt.
Từ i) ta có x∗ Argmin(P ).
Giả thiết phản chứng rằng
x̄ ∈ D, x̄ ̸= x∗ và f (x̄) = f (x∗ ).
(1 1 ∗) 1 1
f (x ) = f x̄ + x < f (x̄) + f (x∗ ) = f (x∗ ).
0
2 2 2 2
Điều này mâu thuẫn với giả thiết x∗ ∈ Argmin(P ), chứng tỏ x∗ là nghiệm tối
ưu toàn cục duy nhất.
110
Mệnh đề 4.6. Cho hàm lồi f xác định trên Rn và tập lồi khác rỗng D ⊆ Rn .
Nếu
x∗ ∈ Argmax{f (x) | x ∈ D} vàx∗ ∈ riD
Chứng minh. Lấy tùy ý x ∈ D. Vì x∗ ∈ riD nên tồn tại y ∈ D sao cho
Kết hợp điều này với giả thiết x∗ ∈ Argmax{f (x) | x ∈ D} suy ra f (x∗ ) = f (y).
Do đó,
Lập luận tương tự như trên, ta có f (x) = f (x∗ ). Mệnh đề đã được chứng minh.
Nhận xét
Cho tập lồi khác rỗng D ⊆ Rn và hàm số f : D → R.
⋄ Không cần xét bài toán max{f (x) | x ∈ Rn } nếu f là hàm lồi.
⋄ Không cần xét bài toán min{f (x) | x ∈ Rn } nếu f là hàm lõm.
111
4.2 Bài toán quy hoạch phi tuyến không ràng buộc
Chú ý: Không cần xét bài toán (P krb ) trong trường hợp f là hàm lõm.
Định lý 4.5. (Điều kiện bậc nhất) Cho hàm f xác định, khả vi trên Rn . Nếu
x∗ ∈ Rn là nghiệm tối ưu địa phương của bài toán (P krb ) thì ∇f (x∗ ) = 0.
Chứng minh. Do f khả vi trên Rn và x∗ là nghiệm cực tiểu địa phương nên
Suy ra ∇f (x∗ ) = 0.
đồ thị hàm số
y = f (x)
112
Chú ý.
Chứng minh.
(⇒) Theo Định lý 4.5, ta nhận được điều kiện cần của Định lý.
(⇐) Giả sử ∇f (x∗ ) = 0. Ta sẽ chứng minh x∗ là nghiệm cực tiểu toàn cục
của bài toán (P krb ). Thật vậy, do f là hàm lồi khả vi trên Rn nên nó có đạo
hàm theo mọi hướng d ∈ Rn \ {0} tại x∗ và
Suy ra
f (x∗ ) ≤ f (x) ∀x ∈ Rn ,
tức x∗ là điểm cực tiểu của f trên Rn .
Nhận xét 4.3. Cho hàm toàn phương
1
f (x) = xT Ax − bT x + c,
2
trong đó A là ma trận cấp n × n đối xứng, nửa xác định dương, b ∈ Rn và c ∈ R.
Khi đó, việc giải bài toán
min{f (x) | x ∈ Rn }
tương đương với việc tìm nghiệm của một hệ phương trình tuyến tính
Ax = b.
113
Định lý 4.7. (Điều kiện bậc hai) Giả sử hàm số f khả vi liên tục hai lần trên
Rn . Khi đó:
∇f (x∗ ) = 0 và
∇2 f (x∗ ) nửa xác định dương;
Nhận xét 4.4. Vì hai bài toán min{f (x) | x ∈ Rn } và max{−f (x) | x ∈ Rn }
tương đương với nhau theo nghĩa tập nghiệm của hai bài toán trùng nhau và
giá trị tối ưu ngược dấu nên
∇f (x∗ ) = 0 và
∇2 f (x∗ ) nửa xác định âm;
Mục đích. Tìm điểm dừng của hàm f trên Rn , tức tìm điểm x∗ ∈ Rn thỏa mãn
∇f (x∗ ) = 0.
Y tưởng: Xuất phát một điểm bất kỳ x0 ∈ Rn , ta xây dựng một dãy điểm
x1 , x2 , . . . , xk , . . . sao cho
và dãy {xk } hội tụ đến điểm dừng x∗ ∈ Rn của hàm f , tức ∇f (x∗ ) = 0.
a. Lược đồ chung
Bước khởi đầu. Xuất phát từ một điểm tùy ý x0 ∈ Rn , ∇f (x0 ) ̸= 0.
Gán k := 0.
Bước lặp k. (k = 0, 1, 2, . . . )
(k2 ) If xk+1 thỏa mãn điều kiện dừng Then STOP (x∗ = xk+1 là điểm dừng)
Else Gán k := k + 1; Quay lại Bước lặp k.
Chú ý.
⋄ Tại điểm xk ∈ Rn , mỗi cách lựa chọn hướng dịch chuyển dk và độ dài bước
tk khác nhau cho ta các thuật toán cụ thể tương ứng với các phương pháp
hướng giảm khác nhau.
b. Hướng giảm
Định nghĩa. Cho x0 ∈ Rn . Ta gọi d ∈ Rn \ {0} là hướng giảm của hàm f tại
x0 nếu
Do đó, f (x0 + td) − f (x0 ) < 0 với t đủ nhỏ. Mệnh đề đã được chứng minh.
Chú ý. Nếu d là hướng giảm của hàm f tại x0 thì chưa chắc ⟨∇f (x0 ), d⟩ < 0.
Ý nghĩa hình học: Cho véc tơ d ∈ Rn \ {0}. Ký hiệu α là góc giữa hai véc tơ d
và ∇f (x0 ). Ta có
Như vậy, nếu α là góc tù thì d là hướng giảm của hàm f tại x0 .
116
∇f (x0 )
α
d
x0 .
Chứng minh. Do đã có Mệnh đề 4.7, ta chỉ cần chứng minh điều kiện cần.
Giả sử d ∈ Rn \ {0} là hướng giảm của hàm f tại x0 , tức
∃ε > 0 sao cho f (x0 + td) < f (x0 ) ∀ t : 0 < t < ε. (4.5)
Vì hàm f lồi khả vi trên Rn nên hàm f có đạo hàm theo mọi hướng d tại mọi
điểm x0 ∈ Rn và
f (x0 + td) − f (x0 ) ≥ f ′ (x0 , td) = ⟨∇f (x0 ), td⟩ = t⟨∇f (x0 ), d⟩.
Nhắc lại
117
Mệnh đề 4.9. Giả sử hàm f khả vi trên Rn và ∇f (x0 ) ̸= 0. Trong các hướng
giảm d của hàm f tại x0 có ∥d∥ = 1 thì hàm f giảm nhanh nhất theo hướng
∇f (x0 )
d = − ∥∇f (x0 )∥
.
xk+1 := xk + tk dk ,
Thông thường, có hai cách lựa chọn độ dài bước tk tương ứng với hai thủ
tục khác nhau là thủ tục tìm chính xác theo tia (Exact line search) và thủ tục
quay lui (Backtracking).
Thủ tục này chọn độ dài bước chính xác tk > 0 là nghiệm cực tiểu của hàm
f theo tia {xk + tdk , t ≥ 0}.
Chú ý.
⋄ Một số thuật toán giải bài toán (P1 ) được giới thiệu ở Mục 6.2.5 (tự đọc).
′ ′′
⋄ Trường hợp đơn giản, có thể dùng đánh giá φk (t) và φk (t) như đã biết để
tìm cực tiểu hàm một biến.
⋄ Đặc biệt, nếu hàm mục tiêu f (x) là hàm toàn phương lồi chặt thì với mọi
hướng giảm dk của hàm f tại xk , ta có công thức tường minh để xác định
tk .
118
Chứng minh. Vì f : Rn → là hàm lồi nên φk (t) = f (xk + tdk ) là hàm lồi một
biến. Nếu tk là điểm cực tiểu của hàm φk (t) thì
′ dφk (t) φk (tk + t) − φk (tk )
φk (t)|t=tk = |t=tk = lim
dt t→0 t
f (xk + (tk + t)dk ) − f (xk + tk dk )
= lim+
t→0 t
f ((x + tk d ) + tdk ) − f (xk + tk dk )
k k
= lim+
t→0 t
′ k
= f (x + tk d , d ) = ⟨∇f (xk+1 ), dk ⟩ = 0.
k k
(4.6)
| {z }
xk+1
Vì ∇f (x) = Ax − b nên
⟨∇f (xk+1 ), dk ⟩ = ⟨A(xk + tk dk ) − b, dk ⟩
= ⟨Axk − b, dk ⟩ + tk ⟨Adk , dk ⟩ = 0.
Do dk là hướng giảm của hàm f tại xk và f (x) là hàm lồi nên
⟨∇f (xk ), dk ⟩ = ⟨Axk − b, dk ⟩ < 0.
Hơn nữa, vì ma trận A xác định dương nên
(Axk − b)T dk
⟨Adk , dk ⟩ = (dk )T Adk > 0 ⇒ tk = − > 0.
(dk )T Adk
Chứng minh. Vì ⟨∇f (xk ), dk ⟩ < 0 nên dk là hướng giảm của f tại xk .
Theo định nghĩa và vì f khả vi nên
f (xk + tdk ) − f (xk )
f ′ (xk , dk ) = lim+ = ⟨∇f (xk ), dk ⟩.
t→0 t
Do đó
f (xk + tdk ) − f (xk )
lim+ = 1 > m1 .
t→0 t⟨∇f (xk ), dk ⟩
Suy ra, tồn tại số thực t0 > 0 đủ nhỏ sao cho với mọi t ∈ (0, t0 ] ta có
f (xk + tdk ) − f (xk )
≥ m1 .
t⟨∇f (xk ), dk ⟩
Kết hợp điều này với giả thiết ⟨∇f (xk ), dk ⟩ < 0, ta có điều phải chứng minh.
Điều kiện
f (xk + tk dk ) ≤ f (xk ) + m1 tk ⟨∇f (xk ), dk ⟩ với m1 ∈ (0, 1) và tk > 0
được gọi là điều kiện Armijo. Mệnh đề 6.11 đã chỉ ra rằng điều kiện này được
thỏa mãn với tk đủ nhỏ.
Thủ tục quay lui sau đây cho phép xác định điểm lặp tiếp theo xk+1 sao cho
điều kiện Armijo thỏa mãn nhưng độ dài bước tk không quá bé.
Nhận xét rằng, trong thủ tục quay lui, để xác định điểm tiếp theo, ta không
cần phải giải bài toán cực tiểu hàm một biến.
120
d. Tốc độ hội tụ
Với các thuật toán sử dụng chiến lược xây dựng một dãy điểm tiến dần đến
nghiệm, người ta thường phải trả lời hai câu hỏi:
− Thuật toán có hội tụ không? (tức dãy điểm do thuật toán sinh ra có hội
tụ đến nghiệm cần tìm không?)
− Nếu thuật toán hội tụ thì hội tụ nhanh hay chậm thế nào?
Định nghĩa. Cho dãy {xk } ⊂ Rn hội tụ đến x∗ ∈ Rn . Dãy {xk } được gọi là:
− Hội tụ đến x∗ với tốc độ trên tuyến tính (super linear) nếu
∀k : ∥xk+1 − x∗ ∥ ≤ ck ∥xk − x∗ ∥ và ck → 0;
Nhận xét 4.5. Dễ thấy rằng, nếu dãy {xk } hội tụ đến x∗ với tốc độ trên tuyến
tính thì nó hội tụ đến x∗ với tốc độ tuyến tính nhưng điều ngược lại không đúng
(Bài tập). Tương tự, nếu dãy {xk } hội tụ đến x∗ với tốc độ bậc hai thì nó hội
tụ đến x∗ với tốc độ trên tuyến tính vì
trong đó ck = γ∥xk − x∗ ∥ → 0. Tuy nhiên, điều ngược lại không đúng. Ví dụ,
cho dãy {xk } → x∗ và
Vì ck = γ∥xk − x∗ ∥ 2 → 0 nên dãy {xk } hội tụ đến x∗ với tốc độ trên tuyến tính
1
a. Thuật toán gradient với thủ tục tìm chính xác theo tia
Trong thuật toán này, tại mỗi bước lặp k, điểm lặp tiếp theo được xác định bởi
xk+1 := xk − tk ∇f (xk ),
trong đó tk là nghiệm cực tiểu của hàm một biến φk (t) := f (xk − t∇f (xk )) với
t > 0.
Thuật toán 4.1. (Thuật toán gradient với thủ tục tìm chính xác theo tia)
Bước khởi đầu. Chọn trước số ε > 0 đủ nhỏ. Xuất phát từ một điểm tùy ý
x0 ∈ Rn có ∇f (x0 ) ̸= 0. Đặt k := 0.
Bước lặp k. (k = 0, 1, 2, . . . )
(k3 ) If ∥∇f (xk+1 )∥ < ε Then Dừng thuật toán (lấy điểm dừng x∗ ≈ xk+1 )
Else k := k + 1 và quay lại Bước lặp k.
Chú ý 4.2. Theo Mệnh đề 6.10, nếu hàm mục tiêu của bài toán (P krb ) là hàm
toàn phương lồi chặt
1
f (x) = xT Ax − bT x + c
2
thì ta có công thức tính độ dài bước chính xác tk tại mỗi Bước lặp k là
x0
x2
x1
Ý nghĩa hình học. Trong mỗi bước lặp k, độ dài bước tk là nghiệm cực tiểu
của hàm một biến
φk : R+ → R
t 7→ φk (t) := f (xk − t∇f (xk )).
ta có
′ (6.6)
φk (t)|t=tk = f ′ ( xk − tk ∇f (xk ) , −∇f (xk )) = ⟨∇f (xk+1 ), −∇f (xk )⟩ = 0,
| {z }
xk+1
tức véc tơ ∇f (xk+1 ) và véc tơ dk = −∇f (xk ) là trực giao với nhau.
Vì f : Rn → là hàm lồi nên φk (t) = f (xk + tdk ) là hàm lồi một biến, trong
đó dk = −∇f (xk ). Theo điều kiện cần tối ưu, nếu tk là điểm cực tiểu của hàm
φk (t) thì
′ dφk (t) φk (tk + t) − φk (tk )
φk (t)|t=tk = |t=tk = lim
dt t→0 t
f (xk + (tk + t)dk ) − f (xk + tk dk )
= lim+
t→0 t
f ((x + tk d ) + tdk ) − f (xk + tk dk )
k k
= lim+
t→0 t
′ k
= f (x + tk d , d ) = ⟨∇f (xk+1 ), dk ⟩ = 0.
k k
| {z }
xk+1
Do A là ma trận đối xứng xác định dương nên f (x) là hàm lồi chặt. Vì vậy,
theo Nhận xét 6.3 và Mệnh đề 6.5, nghiệm cực tiểu duy nhất của bài toán này
là
−1.00
x∗ = A−1 b = −0.20 .
−0.04
Bây giờ, ta sẽ tiến hành giải bài toán này theo Thuật toán 6.1, xuất phát từ
điểm x0 = (0, 0, 0)T và chọn ε = 10−8 . Tại mỗi điểm xk , ta có ∇f (xk ) = Axk −b.
Theo Chú ý 6.2, độ dài bước chính xác tk tại mỗi Bước lặp k được xác định bởi
Tại x0 ta có
1
f (x0 ) = 0, ∇f (x ) = 1 ,
0 ∥∇f (x0 )∥ = 1.732051.
1
Do đó t0 = 0.096774 và
−0.096774
x1 = −0.096774 .
−0.096774
Tại x1 ta có
0.903226
f (x1 ) = −0.145161, ∇f (x1 ) = 0.516129 , ∥∇f (x1 )∥ = 1.759765.
−1.419355
Do đó t1 = 0.058973 và
−0.150040
x2 = −0.127212 .
−0.013071
124
Tại x2 ta có
0.849960
f (x2 ) = −0.236474, ∇f (x2 ) = 0.363941 , ∥∇f (x2 )∥ = 1.143730.
0.673226
Định lý 4.8. (Định lý hội tụ) ([27], trang 41) Cho x0 ∈ Rn và hàm f khả vi
liên tục trên Rn và có tập mức dưới {x ∈ Rn | f (x) ≤ f (x0 )} bị chặn. Khi đó
mỗi điểm tụ x∗ của dãy {xk } được chọn như trong Thuật toán 6.1 thỏa mãn
∇f (x∗ ) = 0.
Thuật toán 6.2. (Thuật toán gradient với thủ tục quay lui)
Bước khởi đầu. Tùy chọn m1 ∈ (0, 1) và α ∈ (0, 1). Chọn số thực ε > 0 đủ nhỏ.
Xuất phát từ một điểm tùy ý x0 ∈ Rn có ∇f (x0 ) ̸= 0. Đặt k := 0.
Bước lặp k. (k = 0, 1, 2, . . . )
(k1 ) Đặt tk := 1.
(k2 ) Tính xk+1 := xk − tk ∇f (xk ) và f (xk+1 ).
(k3 ) If f (xk+1 ) − f (xk ) ≤ m1 tk ⟨∇f (xk ), −∇f (xk )⟩ = −m1 tk ∥∇f (xk )∥2
Then Chuyển Bước k4
Else tk := αtk và quay về Bước k2 .
(k4 ) Tính ∇f (xk+1 ).
(k5 ) If ∥∇f (xk+1 )∥ < ε Then Dừng thuật toán (lấy điểm dừng x∗ ≈ xk+1 )
Else k := k + 1, quay về Bước lặp k.
125
Quá trình giải bài toán này theo Thuật toán 6.2 như sau: Chọn m1 = 0.01,
α = 0.5. Cũng xuất phát từ điểm x0 = (1, 2)T và ta có
Đặt t0 = 1. Suy ra
( ) ( ) ( )
1 0 1
x = x − t0 ∇f (x ) =
1 0 0
− = , f (x0 ) = f (x1 ) = 10.
2 2 0
Vì
f (x1 ) − f (x0 ) = 10 − 10 = 0 > −m1 t0 ∥∇f (x0 )∥2 = −0.04
nên đặt
t0 = α.t0 = 0.5.
Tính lại
( ) ( ) ( )
1 0 1
x = x − t0 ∇f (x ) =
1 0 0
− 0.5 =
2 2 1
và
f (x1 ) − f (x0 ) = 9 − 10 = −1 < −m1 t0 ∥∇f (x0 )∥2 = −0.02.
Do đó ta chọn x1 = (1, 1)T . Vì ∇f (x1 ) = (0, 0)T nên dừng thuật toán với điểm
dừng x1 = (1, 1)T .
Định lý 4.9. (Định lý hội tụ) Giả sử hàm f (x) bị chặn dưới, gradient ∇f (x)
thỏa mãn điều kiện Lipschitz1 , tức tồn tại L > 0 sao cho
Khi đó, với bất kỳ điểm xuất phát x0 , dãy {xk } được chọn như trong Thuật toán
6.2 có tính chất ∥∇f (xk )∥ → 0 khi k → ∞.
Mệnh đề 4.12. Nếu ma trận Hesse ∇2 f (xk ) xác định dương thì hướng Newton
pk của hàm f tại xk cũng là hướng giảm của hàm f tại xk .
Chứng minh. Thật vậy, vì ∇2 f (xk ) xác định dương nên ma trận [∇2 f (xk )]−1
cũng xác định dương và
[ ]T
⟨∇f (xk ), pk ⟩ = ∇f (xk ) .pk
= −[∇f (xk )]T [∇2 f (xk )]−1 ∇f (xk ) < 0.
Nội dung Mệnh đề 6.12 cho ta biết lý do của giả thiết ∇2 f (x) xác định
dương với mỗi x ∈ Rn của bài toán (P krb ) đang xét. Trong thuật toán Newton
thuần túy giải bài toán này, tại mỗi bước lặp k, điểm xk+1 được xác định theo
công thức
xk+1 := xk + pk ,
127
trong đó pk là hướng Newton của hàm f tại xk . Như vậy, độ dài bước tk = 1
tại mọi bước lặp k.
Thuật toán 6.3. (Thuật toán Newton thuần túy giải bài toán (P krb ))
Bước khởi đầu. Xuất phát từ một điểm tùy ý x0 ∈ Rn đủ gần điểm dừng x∗
và ∇f (x0 ) ̸= 0; Chọn trước số ε > 0 đủ nhỏ. Đặt k := 0.
Bước lặp k. (k = 0, 1, 2, . . . )
(k1 ) Tính hướng Newton pk của hàm f tại xk bằng việc giải hệ phương trình
tuyến tính
[∇2 f (xk )].pk = −∇f (xk ).
(k3 ) If ∥∇f (xk+1 )∥ < ε Then Dừng thuật toán (lấy điểm dừng x∗ ≈ xk+1 )
Else k := k + 1 và quay lại Bước lặp k.
Chú ý 4.3. Điểm xuất phát x0 trong Thuật toán 6.3 phải đảm bảo "đủ gần"
điểm dừng x∗ của hàm f (xem Ví dụ 6.11).
ii) Hàm ∇2 f (x) là liên tục và Lipschitz trong lân cận của điểm dừng x∗ của
hàm f , tức tồn tại lân cận B(x∗ , ε) và số L > 0 sao cho
Khi đó, nếu xuất phát từ một điểm đủ gần x∗ thì dãy {xk } sinh ra bởi Thuật
toán Newton thuần túy hội tụ tới x∗ theo tốc độ cấp hai.
Ví dụ 4.3. Sử dụng thuật toán Newton thuần túy giải bài toán
min{f (x) = x4 − 1 | x ∈ R}
với điểm xuất phát x0 = 4. Tính ba điểm tiếp theo x1 , x2 và x3 . Chứng minh
rằng, dãy {xk } sinh bởi thuật toán này sẽ hội tụ đến nghiệm cực tiểu của bài
toán đang xét.
128
Giải. Dễ thấy bài toán có nghiệm cực tiểu duy nhất là x∗ = 0. Ta có f ′ (x) = 4x3
′′
và f (x) = 12x2 > 0 với mọi x ∈ R \ {0}. Do đó, hướng Newton pk của hàm f
tại một điểm xk cũng là hướng giảm của hàm f tại xk và
f ′ (xk ) 1
pk = − ′′ k
= − xk .
f (x ) 3
Giả sử biết xk , theo thuật toán Newton thuần túy, điểm tiếp theo xk+1 được
xác định bởi
1 2
xk+1 := xk + pk = xk − xk = xk .
3 3
0
Xuất phát từ x = 4, ta có
( )2 ( )3
1 2 0 8 2 2 1 2 0 16 3 2 2 2 32
x = x = ; x = x = x = ; x = x = x0 = .
3 3 3 3 9 3 3 27
Do đó ( )k ( )k
2 2
⇒ {xk } −→ 0 = x∗ .
k 0 k→∞
x = x =4
3 3
• Các ưu, nhược điểm của Thuật toán Newton thuần túy
⋄ Ưu điểm:
⋄ Nhược điểm:
i) Tại điểm xk , nếu ma trận ∇2 f (xk ) suy biến thì điểm lặp tiếp theo không
xác định được;
129
ii) Tại điểm xk , nếu ma trận ∇2 f (xk ) không suy biến nhưng ∇2 f (xk ) không
xác định dương thì hướng Newton pk tương ứng không phải hướng giảm
của hàm f tại xk . Thuật toán có thể hội tụ đến điểm dừng x∗ ∈ Rn nhưng
đó không phải là điểm cực tiểu địa phương;
iii) Tính toán và lưu trữ các ma trận cấp n × n rất tốn kém khi n lớn.
(k1 ) Tính hướng Newton dk bằng việc giải hệ phương trình tuyến tính
(k2 ) Tính xk+1 := xk + tk dk theo thủ tục quay lui. Tính ∇f (xk+1 ).
(k3 ) If ∥∇f (xk+1 )∥ < ε Then Dừng thuật toán (lấy x∗ ≈ xk+1 )
Else gán k := k + 1 và quay về Bước lặp k.
Định lý 4.11. (Định lý hội tụ) Giả sử hàm f (x) khả vi hai lần trên Rn và f
là hàm lồi mạnh với hệ số lồi mạnh m > 0 trên tập mức dưới
( )
L f (x0 ), f = {x ∈ Rn | f (x) ≤ f (x0 )},
( )
tức là với mọi x, y ∈ L f (x0 ), f , λ ∈ (0, 1), ta có
m2
∥∇f (xℓ )∥ < η1 với η1 ≤ L
;
ii) Dãy {f (xℓ )} hội tụ đến f (x∗ ) với tốc độ bậc hai.
Đây là công việc khó khăn vì ta phải tính ma trận nghịch đảo [∇2 f (x)]−1 . Hơn
nữa, nếu ma trận ∇2 f (xk ) không suy biến nhưng không xác định dương thì
hướng Newton dk tương ứng không phải hướng giảm của hàm f tại xk . Vì vậy
phương pháp Newton ít được sử dụng trong thực tế khi n > 1 mặc dù phương
pháp này có tốc độ hội tụ bậc hai.
Chiến lược của phương pháp tựa Newton (Quasi Newton Methods) là thay
vì hướng Newton pk tại mỗi bước lặp, ta tính hướng
dk = −Hk ∇f (xk ),
trong đó Hk là ma trận không suy biến, đối xứng, xác định dương. Ma trận Hk+1
sẽ được tính truy hồi theo Hk , ∇f (xk ) và ∇f (xk+1 ) (xem công thức (6.11) dưới
đây). Ma trận Hk+1 cũng là ma trận đối xứng, xác định dương (xem [27], trang
47). Tuy phương pháp tựa Newton có tốc độ hội tụ không còn là bậc hai nữa
và phải thực hiện nhiều bước lặp hơn phương pháp Newton nhưng tính toán tại
mỗi bước lặp đơn giản hơn. Thuật toán 6.5 mang tên Davidon-Fletcher-Powell2
trình bày sau đây là một thuật toán tiêu biểu cho phương pháp này, có tốc độ
hội tụ trên tuyến tính.
Bước lặp k. (k = 1, 2, . . . )
Ta có ∇f (x) = Ax − b và kết quả giải bài toán này theo Thuật toán 6.5 như
sau:
Bước lặp k = 1.
0 1 1 0 0
x1 = 0 ∇f (x1 ) = 1 H1 = 0 1 0
0 1 0 0 1
−1
d1 = −H1 ∇f (x1 ) = −1 t1 = 0.096774
−1
−0.096774
x2 = x1 + t1 d1 = −0.096774
−0.096774
133
−0.096774 0.903226
v 1 = x2 − x1 = −0.096774 ∇f (x2 ) = 0.516129
−0.096774 −1.419355
−0.096774
u1 = ∇f (x2 ) − ∇f (x1 ) = −0.483871
−2.419355
1.030722 0.024578 −0.006144
H2 = 0.024578 0.993856 −0.159754
−0.006144 −0.159754 0.072197
Bước lặp k = 2.
−0.952381
d2 = −H2 ∇f (x2 ) = −0.761905
0.190476
−0.040467
t2 = 0.323077 x3 = x2 + t2 d2 = −0.342928
−0.035236
−0.307692
v 2 = x3 − x2 = −0.246154
0.061538
0.595533 −0.307692
∇f (x3 ) = −0.714640 u2 = ∇f (x3 ) − ∇f (x2 ) = −1.230769
0.119107 1.538462
1.131584 −0.071580 0.009053
H3 = −0.040811 0.209795 −0.000326
0.193668 0.153520 0.001549
Bước lặp k = 3.
−0.726129
d3 = −H3 ∇f (x3 ) = 0.174271
−0.005809
−1.000000
t3 = 0.820149 x4 = x3 + t3 d3 = −0.200000
−0.040000
Vì ∇f (x4 ) = (0, 0, 0)T nên dừng thuật toán. Ta nhận được nghiệm
trong đó f : [a, b] → R là hàm đơn mốt (unimodal function) và giả sử bài toán
(P 1b ) có nghiệm cực tiểu x∗ ∈ (a, b).
Định nghĩa. Ta nói một hàm số thực f xác định trên đoạn [a, b] ⊂ R là hàm
đơn mốt nếu: i) Hàm f đạt cực tiểu tại x∗ ∈ (a, b); ii) Trong khoảng (a, b), giá
trị hàm f (x) hội tụ giảm dần đến f (x∗ ) khi x hội tụ đơn điệu đến x∗ .
Dễ thấy hàm lồi là hàm đơn mốt. Tuy nhiên, hàm đơn mốt có thể không
phải hàm lồi, cũng không phải hàm lõm. Xem minh họa ở Hình 6.8.
Hình 6.8. Một số dáng điệu của đồ thị hàm đơn mốt
Một tính chất quan trọng của hàm đơn mốt trên đoạn [a, b] là: Giả sử nghiệm
cực tiểu x∗ thuộc khoảng (a, b) và a < x1 < x2 < b. Khi đó:
i) Nếu f (x1 ) < f (x2 ) thì x∗ ∈ [a, x2 ];
ii) Nếu f (x1 ) > f (x2 ) thì x∗ ∈ [x1 , b].
Xem minh họa ở Hình 6.9.
a x1 x∗ x2 b a x1 x∗ x2 b
Hình 6.9
135
Một khoảng chứa nghiệm cực tiểu x∗ được gọi là khoảng bất định (uncer-
tainty). Ký hiệu giá trị tối ưu của bài toán cần giải là f∗ . Ta có f∗ = f (x∗ ). Hai
phương pháp trình bày sau đây cũng như hầu hết các phương pháp khác để tìm
cực tiểu của hàm một biến có tính chất của hàm đơn mốt đều dựa trên ý tưởng
thu hẹp dần miền chứa nghiệm.
(k1 ) Đặt
ak + bk ε ε
c := ; xk := c − ; y k := c + .
2 2 2
(có ak < xk < y k < bk )
Nhận xét: Sau mỗi bước lặp, khoảng chứa nghiệm giảm xấp xỉ một nửa so với
bước trước nó.
Dãy số Fibonacci3 {Fn } có tính chất đặc biệt đáng chú ý là: tỷ số giữa hai
số kế tiếp nhau của dãy số này tiến tới tỷ số vàng
√
Fn−1 5−1
lim = .
n→∞ Fn 2
Thuật toán lát cắt vàng giải bài toán (P 1b ) được mô tả như sau:
Thuật toán 6.7. (Thuật toán lát cắt vàng)
Bước khởi đầu. Lấy ε > 0 đủ nhỏ; Đặt a1 := a; b1 := b; k := 1 và
√
5−1
α := .
2
Bước lặp k. (k = 1, 2, . . . )
3
Leonardo FIBONACCI (1180−1250): Nhà toán học người Italy. Tên thật của ông là Leonardo
De Pisa, có nghĩa là Leonard ở thành Pise. Fibonacci là người có công trong việc truyền bá những
tính ưu việt của toán học A rập vào châu Âu thời Phục hưng. Dãy số mang tên ông được ông đưa ra
năm 1202, bắt nguồn từ bài toán "thỏ đẻ" như sau: Xuất phát từ một cặp thỏ. Hỏi sau một số tháng
ta có bao nhiêu cặp thỏ, biết rằng mỗi cặp thỏ mỗi tháng đẻ ra một cặp và cặp mới này sau hai tháng
lại bắt đầu đẻ?
137
ii) Một trong hai điểm chia ở bước sau trùng với điểm chia ở bước trước. Do
đó thuật toán này cho phép giảm số phép tính.
Ví dụ 4.5. Tìm min{f (x) = x2 + 2x + 2 | x ∈ [−5, 3]} với ε = 0.001.
Kết quả giải bài toán này theo Thuật toán 6.7 với ε = 0.001 được trình
bày ở Bảng 6.1. Thuật toán dừng ở Bước lặp 19 và ta lấy nghiệm tối ưu x∗ =
−1.000163 và giá trị tối ưu f∗ = 1.000000027.
Bảng 6.1
Bước k ak bk xk yk
theo phương pháp tìm kiếm trực tiếp là: Thuật toán của Hooke và Jeeves4 và
Thuật toán tìm kiếm theo đơn hình5 (Sequential simplex search algorithm).
Các thuật toán này được sử dụng để giải bài toán (P krb ) khi hàm mục tiêu
f (x) không khả vi hoặc có khả vi nhưng việc lấy các đạo hàm riêng là khó khăn
do f (x) cấu trúc phức tạp hoặc khi có ít thông tin về f (x).
v i = (0, . . . , 0, |{z}
δ , 0, . . . , 0)T , i = 1, . . . , n,
i
Chọn ε = 0.5. Quá trình tính toán giải theo Thuật toán 6.8 như sau:
4
Thuật toán này do Hooke và Jeeves đề xuất năm 1961.
5
Năm 1962, thuật toán này được đưa ra bởi Spendly, Hext và Himsworth và được Nelder và Mead
cải tiến vào năm 1965.
139
Bước 1. (lần thứ nhất) Gán x10 = x1 = (1.0 , 1.0)T . Tính trực tiếp ta có:
x2 = x1 + 2(y 1 − x1 ) = (0 , 0)T ; x1 := x2 .
và
x11 = x10 = (0.0 , 0.0)T .
Tiếp tục
và
x12 = x11 = (0.0 , 0.0)T .
Gán y 1 := x12 . Vì y 1 = x1 và δ = ε nên dừng thuật toán và coi x1 = (0, 0)T
là nghiệm cực tiểu địa phương.
Dễ thấy rằng, trong ví dụ đơn giản này, điểm (0 , 0)T chính là cực tiểu toàn
cục của hàm lồi f (x1 , x2 ) = x21 + x22 .
⋄ Tính f (xi ), i = 1, . . . , n + 1.
Bước 2. Tính:
f max := f (xiM ) = max{f (xi ) | i = 1, . . . , n + 1}, iM ∈ {1, . . . , n + 1}
f min := f (xim ) = min{f (xi ) | i = 1, . . . , n + 1}, im ∈ {1, . . . , n + 1}.
Đặt xmax := xiM và xmin = xim .
Bước 3. (Tiêu chuẩn tối ưu)
If |f max − f min | ≤ ε Then Dừng thuật toán
(xmin là nghiệm tối ưu địa phương và f min là giá trị tối ưu tương ứng)
Else Chuyển tới Bước 4.
Bước 4. (Tính điểm trọng tâm)
∑
n+1
|f (xi )|
xS = ∑n+1 xi (tổ hợp lồi của xi , i = 1, . . . , n + 1).
i=1 |f (x )|
i
i=1
xS xS
xE xE → xmax
(a) (b)
Hình 6.10
Đặt f E := f (xE ).
If f E < f min Then Đặt xiM := xE (tức thay xmax := xE ),
được đơn hình mới (Hình 6.10(b)) và quay về Bước 2
Else Đặt xiM := xR (tức thay xmax := xR ),
được đơn hình mới (Hình 6.11(a)) và quay về Bước 2.
Bước 8. (Đã có f R > f min )
If f R < f max Then Đặt xiM := xR (tức thay xmax := xR ),
được đơn hình mới và quay về Bước 2
Else Chuyển Bước 9.
xmax xmax
xK
xS xS
xmin xmin
x →x
R max xR
(a) xE (b) xE
Hình 6.11
xq − x0
lim = v.
q→∞ tq
v λv
i) Nếu {xq } → x0 thì {xq } → x0 với mọi λ > 0 (Bài tập);
ii) Không phải mọi dãy hội tụ đều hội tụ theo hướng nhưng với mỗi dãy hội
tụ luôn có một dãy con hội tụ theo một hướng nào đó;
0
iii) Hiển nhiên là x0 → x0 .
Định nghĩa. Cho X ⊂ Rn . Tập tất cả các hướng v ∈ Rn sao cho có một dãy
{xq } ⊂ X hội tụ đến x0 theo hướng v tạo thành một nón (Bài tập). Ta gọi đó
là nón tiếp xúc với X tại x0 ∈ X, ký hiệu là T (X, x0 ), cụ thể
v
T (X, x0 ) := {v ∈ Rn | ∃{xq } ⊂ X sao cho {xq } → x0 }.
f (xq ) − f (x0 )
⟨∇f (x0 ), v⟩ = lim+ .
tq →0 tq
v
Chứng minh. Giả sử {xq } → x0 . Theo định nghĩa, tồn tại dãy số dương {tq },
limq→∞ tq = 0, sao cho
xq − x0
lim = v.
q→∞ tq
Khai triển Taylor của hàm f tại x0 (với q đủ lớn) là
Suy ra
f (xq ) − f (x0 ) ⟨∇f (x0 ), xq − x0 ⟩ o(∥xq − x0 ∥)
= + .
tq tq tq
Do đó, khi tq → 0+ ta có
f (xq ) − f (x0 )
⟨∇f (x0 ), v⟩ = lim
q tq
vì
o(∥xq − x0 ∥) o(∥xq − x0 ∥) ∥xq − x0 ∥
lim+ = lim+ . = 0.
tq →0 tq tq →0 ∥xq − x0 ∥ tq
Định lý 4.12.
i) Giả sử f khả vi trên một tập mở chứa X. Nếu x∗ ∈ X là nghiệm cực tiểu
địa phương của bài toán (P rb ) thì
thì x∗ là một nghiệm tối ưu địa phương chặt của bài toán (P rb ).
144
Chứng minh.
i) Xét bất kỳ v ∈ T (X, x∗ ). Theo định nghĩa, tồn tại dãy {xq } ⊂ X và
v
{xq } → x∗ . Theo Bổ đề 6.1, ta có
f (xq ) − f (x∗ )
⟨∇f (x∗ ), v⟩ = lim .
tq →0+ tq
Vì x∗ là nghiệm cực tiểu địa phương nên f (xq ) − f (x∗ ) ≥ 0 với q đủ lớn.
Do đó ⟨∇f (x∗ ), v⟩ ≥ 0.
ii) Giả thiết phản chứng rằng x∗ không phải nghiệm cực tiểu địa phương
chặt của bài toán (P rb ). Khi đó, tồn tại một dãy {xq } ⊂ X, xq ̸= x∗ và
{xq } → x∗ sao cho f (xq ) ≤ f (x∗ ). Trích một dãy con (nếu cần), ta có
thể giả sử rằng dãy {xq } hội tụ đến x∗ theo một hướng v ∈ Rn . Khi đó,
v ∈ T (X, x∗ ). Theo Bổ đề 6.1, ta có
f (xq ) − f (x∗ )
⟨∇f (x∗ ), v⟩ = lim ≤ 0.
tq →0+ tq
Điều này mâu thuẫn với giả thiết (6.13) và chứng tỏ rằng x∗ là nghiệm
cực tiểu địa phương chặt của bài toán (P rb ).
được gọi là một điểm dừng hay điểm tới hạn của hàm f trên X. Chú ý rằng
điều kiện (6.12) chỉ là điều kiện cần nhưng không đủ.
Ví dụ 4.7. Xét bài toán
Tập chấp nhận được của bài toán là hình tròn đóng B̄(0, 1) có tâm 0 và bán
kính 1. Ta có ∇f (x) = (2x1 , −2x2 )T và ∇f (x0 ) = 0 với x0 = (0, 0)T . Vì
x0 ∈ intB̄(0, 1) nên T (B̄(0, 1), x0 ) = R2 và
( )
⟨∇f (x ), v⟩ = 0, v ∈ T B̄(0, 1), x .
0 0
Tuy nhiên x0 = (0, 0)T không phải nghiệm cực tiểu địa phương của bài toán
đang xét vì f (0, ±ε) = −ε2 < 0 với mọi ε.
145
Hệ quả 4.4. Giả sử x∗ ∈ intX và x∗ là điểm cực tiểu địa phương của bài toán
(P rb ). Khi đó ∇f (x∗ ) = 0.
Chứng minh. Do x∗ ∈ intX nên T (X, x∗ ) = Rn . Vì x∗ là điểm cực tiểu địa
phương nên theo Định lý 6.13,
⟨∇f (x∗ ), v⟩ ≥ 0 ∀v ∈ Rn .
Suy ra ∇f (x∗ ) = 0.
Định lý 4.13. Cho f là hàm lồi khả vi trên một tập mở chứa tập lồi X ⊂ Rn .
Điều kiện cần và đủ để x∗ ∈ X là điểm cực tiểu toàn cục của bài toán quy hoạch
lồi min{f (x) | x ∈ X} là
Chứng minh. Biểu thức (6.14) chính là biểu thức (6.12). Do đã có Định lý 6.13,
ta chỉ cần chứng minh điều kiện đủ, tức nếu x∗ ∈ X thỏa mãn (6.14) thì nó là
điểm cực tiểu của hàm f trên X. Giả sử phản chứng rằng x∗ ∈ X thỏa mãn
(6.14) nhưng nó không phải là điểm cực tiểu của hàm f trên X, tức tồn tại
x̄ ∈ X sao cho f (x̄) < f (x∗ ). Đặt v = x̄ − x∗ . Vì X là tập lồi nên x∗ + tv ∈ X
với mọi 0 ≤ t ≤ 1 và v ∈ T (X, x∗ ). Theo Hệ quả 6.1,
⟨∇f (x∗ ), v⟩ ≤ f (x∗ + v) − f (x∗ ) = f (x̄) − f (x∗ ) < 0,
mâu thuẫn với (6.14). Điều đó chứng tỏ x∗ là nghiệm cực tiểu của f trên X.
Ví dụ 4.8. Xét bài toán
Tập chấp nhận được của bài toán là hình tròn đóng B̄(0, 1). Ta có ∇f (x) =
(2x1 , 2x2 )T và ∇f (x0 ) = 0 với x0 = (0, 0)T . Dễ thấy ma trận Hesse ∇2 f (x) là
xác định dương nên hàm mục tiêu f (x) là hàm lồi chặt (Định lý 6.4(i)). Tương
tự Ví dụ 6.16, nón tiếp xúc với B̄(0, 1) tại x0 là T (B̄(0, 1), x0 ) = R2 và
( )
⟨∇f (x0 ), v⟩ = 0, v ∈ T B̄(0, 1), x0 .
Theo Định lý 6.14, x0 = (0, 0)T là nghiệm cực tiểu của bài toán đang xét. Hơn
nữa, do hàm mục tiêu là lồi chặt nên x0 là nghiệm cực tiểu duy nhất (Mệnh đề
6.5(ii)).
Hệ quả 4.5. Cho f là hàm lồi khả vi trên một tập mở chứa tập lồi X ⊂ Rn .
Điểm x∗ ∈ X là điểm cực tiểu toàn cục của bài toán quy hoạch lồi min{f (x) | x ∈
X} khi và chỉ khi
⟨∇f (x∗ ), x − x∗ ⟩ ≥ 0 ∀x ∈ X.
146
Chứng minh. Suy trực tiếp từ Định lý 6.14 và Nhận xét 6.9(ii).
Ý nghĩa hình học. Theo Hệ quả 6.5, điểm x∗ ∈ X (có ∇f (x∗ ) ̸= 0) là nghiệm
cực tiểu toàn cục của bài toán min{f (x) | x ∈ X} khi và chỉ khi véc tơ −∇f (x∗ )
xác định một siêu phẳng tựa của tập lồi chấp nhận được X tại x∗ . Xem minh
họa ở Hình 6.12.
−∇f (x∗ )
∗
x
X
Hình 6.12. x∗ ∈ X là nghiệm cực tiểu của quy hoạch lồi min{f (x) | x ∈ X}.
Ví dụ 4.9. Xét bài toán min{f (x) = (x1 − 4)2 + (x2 − 6)2 | x2 ≥ x21 , x2 ≤ 4}.
Điểm x0 = (2, 4)T có phải nghiệm cực tiểu của bài toán này không? Vì sao?
Giải. Dễ thấy f (x) là hàm lồi và
( ) ( )
2(x1 − 4) −4
∇f (x) = ⇒ ∇f (x ) = 0
.
2(x2 − 6) −4
Tập chấp nhận được X của bài toán này là tập lồi (phần gạch chéo) và véc
tơ −∇f (x0 ) được minh họa ở Hình 6.13. Ta thấy −∇f (x0 ) xác định một siêu
phẳng tựa với X tại x0 . Do đó x0 là nghiệm cực tiểu của bài toán đang xét.
x2
−∇f (x0 )
4 x0
0 x1
Hình 6.13
147
c. Định lý Karush-Kuhn-Tucker
Xét bài toán quy hoạch phi tuyến:
min f (x) v.đ.k. x ∈ X, (P1rb )
trong đó X ⊂ Rn là tập nghiệm của hệ
{
gi (x) ≤ 0, i = 1, . . . , m,
hj (x) = 0, j = 1, . . . , k,
gi (xq ) − gi (x0 )
⟨∇gi (x0 ), v⟩ = lim ≤ 0, ∀i ∈ I(x0 ).
tq →0+ tq
Do đó v ∈ S(x0 ), hay T (X, x0 ) ⊆ S(x0 ).
Định nghĩa. Ta nói điều kiện chính quy (regular condition) được thỏa mãn
tại x0 nếu
T (X, x0 ) = S(x0 ).
Định lý 4.14. ([27] − trang 23) Điều kiện chính quy được thỏa mãn tại x0
nếu có một trong các điều kiện sau:
iii) Các véc tơ {∇gi (x0 ), i ∈ I(x0 )} và {∇hj (x0 ), j = 1, . . . , k} độc lập tuyến
tính.
Điều kiện thứ nhất hoặc thứ hai của Định lý 6.15 đảm bảo điều kiện chính
quy được thỏa mãn tại mọi điểm chấp nhận được của bài toán đang xét mà
không cần chỉ rõ điểm x0 nào, còn điều kiện thứ ba đòi hỏi phải biết điểm x0 .
∑
m ∑
k
∗ ∗
∇f (x ) + λi ∇gi (x ) + µj ∇hj (x∗ ) = 0 và (6.16)
i=1 j=1
Chứng minh. Giả sử x∗ là điểm cực tiểu địa phương của bài toán (P1rb ) và điều
kiện chính quy thỏa mãn tại x∗ . Do x∗ phải là nghiệm chấp nhận được của bài
toán nên nó phải thỏa mãn (6.15). Theo Định lý 6.13(i), ta có
Do T (X, x∗ ) ⊂ S(x∗ ) (Bổ đề 6.2) nên mọi véc tơ v ∈ T (X, x∗ ) đều thỏa mãn
{
⟨∇hj (x∗ ), v⟩ = 0, j = 1, . . . , k
⟨∇gi (x∗ ), v⟩ ≤ 0, i ∈ I(x∗ ).
Đặt A là ma trận cấp (2k + |I(x∗ )|) × n với các hàng là ∇hj (x∗ ), j = 1, . . . , k;
−∇hj (x∗ ), j = 1, . . . , k và −∇gi (x∗ ), i ∈ I(x∗ ), trong đó |I(x∗ )| là ký hiệu số
phần tử của tập I(x∗ ). Vì điều kiện chính quy thỏa mãn tại x∗ nên T (X, x∗ ) =
S(x∗ ) và ta có thể viết
T (X, x∗ ) = {v ∈ Rn | Av ≥ 0}.
∑
k ∑
∗
∇f (x ) = (αj − βj )∇hj (x∗ ) − λi ∇gi (x∗ )
j=1 i∈I(x∗ )
Chú ý 4.4.
i) Điểm x∗ ∈ Rn thỏa mãn điều kiện KKT được gọi là một điểm KKT của
bài toán (P1rb ) tương ứng.
ii) Nếu x∗ là một nghiệm cực tiểu địa phương của bài toán (P1rb ) và tại đó
thỏa mãn điều kiện chính quy thì x∗ là điểm KKT, nhưng điều ngược lại
chưa chắc đúng.
Bài toán này có m = 1, k = 0 và hàm mục tiêu f (x) = −(x21 + x22 ) là hàm lõm
chặt. Vì g1 = x1 − 1 là hàm afin nên điều kiện chính quy thỏa mãn tại mọi điểm
chấp nhận được của bài toán. Ta có
( ) ( )
−2x1 1
∇f (x) = và ∇g1 (x) = .
−2x2 0
Điều kiện KKT tương ứng của bài toán này là:
x1 − 1 ≤ 0
g1 (x) = x1 − 1 ≤ 0
∇f (x) + λ ∇g (x) = 0 − 2x1 + λ1 = 0
1 1
⇔ − 2x2 =0
λ1 g1 (x) = 0
λ1 (x1 − 1) =0
λ1 ≥ 0,
λ1 ≥ 0.
Giải hệ này ta nhận được hai điểm KKT là điểm x1 = (0, 0)T ứng với λ1 = 0 và
điểm x2 = (1, 0)T ứng với λ1 = 2. Dễ thấy x1 = (0, 0)T là nghiệm cực đại toàn
cục của hàm f (x) trên tập chấp nhận được của bài toán đang xét còn điểm
x2 = (1, 0)T không phải nghiệm cực tiểu địa phương cũng không phải nghiệm
cực đại địa phương.
trong đó
X = {x | gi (x) ≤ 0, i = 1, . . . , m},
và f và gi , i = 1, 2, . . . , m, là các hàm lồi, khả vi liên tục trên một tập mở chứa
X. Trong bài toán quy hoạch lồi, nếu xuất hiện ràng buộc hj (x) = 0 thì hj (x)
phải là hàm afin. Hơn nữa, vì
nên ta chỉ cần xét ràng buộc dạng bất đẳng thức.
Định lý 4.16. (Định lý Karush-Kuhn-Tucker cho quy hoạch lồi) Giả sử các
hàm f , gi , i = 1, . . . , m là các hàm lồi khả vi trên một tập mở chứa X và điều
kiện Slater được thỏa mãn. Khi đó x∗ ∈ Rn là nghiệm cực tiểu của bài toán
(P1conv ) khi và chỉ khi x∗ thỏa mãn điều kiện KKT (điều kiện (6.18)−(6.20))
sau:
i) gi (x∗ ) ≤ 0, i = 1, . . . , m; (6.18)
151
Do đó
f (x∗ ) ≤ f (x),
chứng tỏ x∗ là nghiệm cực tiểu của bài toán (P1conv ).
Chú ý 4.5. Theo Định lý 6.17, việc giải bài toán quy hoạch lồi (P1conv ) tương
đương với việc tìm nghiệm của hệ KKT (6.18)−(6.20) tương ứng.
Ví dụ 4.11. Xét bài toán quy hoạch lồi toàn phương:
1
min f (x) = xT Qx + cT x
2
với điều kiện Ax ≤ b,
trong đó Q là ma trận cấp n × n đối xứng và nửa xác định dương, A là ma trận
cấp m × n, b ∈ Rm , c, x ∈ Rn .
Theo Định lý 6.17, thay vì giải bài toán này, ta có thể giải hệ KTT tương
ứng với nó là
Ax ≤ b
Qx + c + AT λ = 0
λ≥0
λ (Ax − b) = 0.
T
152
Chú ý 4.6. Điều kiện chính quy trong Định lý 6.16 và Định lý 6.17 không
bỏ qua được. Nếu x∗ là nghiệm cực tiểu địa phương nhưng không thỏa mãn
điều kiện chính quy thì điều kiện KKT chưa chắc đã được thỏa mãn tại x∗ .
Chú ý 4.7.
i) Dễ thấy
∑
m ∑
k
∗ ∗ ∗
∇x L(x , λ1 , . . . , λm , µ1 , . . . , µk ) = ∇f (x )+ λi ∇gi (x )+ µj ∇hj (x∗ );
i=1 j=1
Sau đây là phát biểu lại của Định lý 6.17 cho quy hoạch lồi
min {f (x) | gi (x) ≤ 0, i = 1, . . . , m}. (P1conv )
Định lý 4.18. Giả sử f , gi , i = 1, . . . , m là các hàm lồi khả vi trên một tập
mở chứa X và điều kiện Slater được thỏa mãn. Khi đó x∗ ∈ Rn là nghiệm cực
tiểu của bài toán (P1conv ) khi và chỉ khi x∗ thỏa mãn điều kiện KKT sau:
i) gi (x∗ ) ≤ 0, i = 1, . . . , m;
ii) Tồn tại các số thực λ1 ≥ 0, . . . , λm ≥ 0 sao cho
∇x L(x∗ , λ1 , . . . , λm ) = 0 và
iii) λi gi (x∗ ) = 0, i = 1, . . . , m.
154
Trong trường hợp điều kiện chính quy thỏa mãn, theo Định lý 6.18, thuật
toán sau cho phép xác định được các điểm KKT của bài toán (P1rb ).
∑
m ∑
k
L(x, λ1 , . . . , λm , µ1 , . . . , µk ) = f (x) + λi gi (x) + µj hj (x).
i=1 j=1
Mỗi một nghiệm x̄ của hệ này tương ứng với một bộ tham số λ̄1 , . . . , λ̄m ,
µ̄1 , . . . , µ̄k là một điểm KKT của bài toán đang xét.
Chú ý 4.8.
i) Nếu bài toán (P1rb ) chỉ có các ràng buộc đẳng thức, tức m = 0, thì hệ
(6.21) trở thành hệ n + k ẩn, n + k phương trình sau:
∑k
∇ L(x, µ , . . . , µ ) = ∇f (x) + µj ∇hj (x) = 0
x 1 k
(6.22)
j=1
h1 (x) = 0, . . . , hk (x) = 0.
Trong trường hợp này bài toán (P1rb ) thường được gọi là bài toán trơn với
ràng buộc đẳng thức.
ii) Nếu k = 0, tức bài toán chỉ có các ràng buộc bất đẳng thức, thì hệ (6.21)
trở thành:
∑m
∇x L(x, λ1 , . . . , λm ) = ∇f (x) + λi ∇gi (x) = 0
i=1
λi gi (x) = 0, ∀ i = 1, . . . , m (6.23)
λ1 ≥ 0, . . . , λm ≥ 0
g1 (x) ≤ 0, . . . , gm (x) ≤ 0.
155
Thêm vào đó, nếu các hàm f , gi , i = 1, . . . , m là lồi thì bài toán (P1rb ) trở
thành bài toán quy hoạch lồi (P1conv ). Khi đó người ta thường gọi bài toán
này là bài toán lồi với ràng buộc bất đẳng thức. Trong trường hợp này, mỗi
nghiệm x∗ của hệ (6.23) tương ứng với một bộ λ∗1 , . . . , λ∗m là một nghiệm
cực tiểu của bài toán (Định lý 6.19).
iii) Nếu bài toán (P1rb ) chỉ có một ràng buộc m = 1 (hoặc k = 1) thì điều kiện
chính quy thỏa mãn với mọi x mà tại đó ∇g1 (x) ̸= 0 (hoặc ∇h1 (x) ̸= 0).
Ví dụ 4.13. Xét bài toán:
min{f (x) = x31 + x32 + x33 | x21 + x22 + x23 = 4}.
Tập chấp nhận được của bài toán này là một mặt cầu trong R3 nên nó là
tập compac. Hàm mục tiêu là hàm liên tục. Do đó, theo Định lý Weierstrass
(Hệ quả 1.1), bài toán này có nghiệm. Ta có n = 3, m = 0, k = 1, h1 (x) =
x21 + x22 + x23 − 4 = 0,
2
3x1 2x1
∇f (x) = 3x22 và ∇h1 (x) = 2x2 ̸= 0 ∀x ̸= 0.
3x23 2x3
Vì vậy điều kiện chính quy được thỏa mãn tại mọi điểm chấp nhận được của
bài toán. Quá trình tính toán giải bài toán này theo Thuật toán 6.10 như sau:
• Lập hàm Lagrange:
L(x, µ1 ) = f (x) + µ1 h1 (x) = x31 + x32 + x33 + µ1 (x21 + x22 + x23 − 4).
Vì tập chấp nhận được của bài toán đang xét là tập compac nên hàm mục tiêu
f phải đạt giá trị cực tiểu và giá trị cực đại tại các điểm nào đó thuộc tập các
điểm KKT vừa tính được ở trên. Tính toán trực tiếp và so sánh giá trị của hàm
f tại các điểm này, ta có giá trị cực tiểu của f là −8 tương ứng với ba nghiệm
cực tiểu của bài toán là
trong đó
D := {x ∈ R2 | x21 + x22 ≤ 1}
và hàm mục tiêu lồi chặt f (x) = x21 + x1 x2 + x22 + 3(x1 + x2 − 2) (như hàm mục
tiêu trong Ví dụ 6.6).
Bài toán này có n = 2, m = 1, k = 0, g1 (x) = x21 +x22 −1 ≤ 0. Dễ thấy g1 (x)
là hàm lồi và điều kiện Slater được thỏa mãn, tức tồn tại x̄ ∈ D có g1 (x̄) < 0.
Do đó, điều kiện chính quy được thỏa mãn tại mọi điểm chấp nhận được của
bài toán. Bài toán này là một bài toán quy hoạch lồi với hàm mục tiêu lồi chặt.
Theo Mệnh đề 6.5 (ii), nó có duy nhất nghiệm.
157
• Giải hệ:
′
Lx1 = 2x1 + x2 + 3 + 2λ1 x1 = 0
∇x L(x, λ1 ) = 0
′
λ g (x) = 0 Lx2 = x1 + 2x2 + 3 + 2λ1 x2 = 0
1 1
⇔ λ1 (x21 + x22 − 1) = 0
λ1 ≥ 0
λ1 ≥ 0
g1 (x) ≤ 0
x +x −1≤0
2 2
1 2
2(1 + λ1 )x1 + x2 = −3
x1 + 2(1 + λ1 )x2 = −3
⇔ λ1 (x21 + x22 − 1) = 0
λ1 ≥ 0
x + x − 1 ≤ 0.
2 2
1 2
Nhận xét 4.11. Qua Ví dụ 6.6 và Ví dụ 6.23, ta thấy rằng với cùng hàm mục
tiêu f (x) nhưng nghiệm cực tiểu của bài toán tối ưu không ràng buộc và bài
toán tối ưu có ràng buộc khác nhau.
Ví dụ 4.15. Xét bài toán:
1 1
min f (x) = x21 + x22 v.đ.k. x ∈ D,
2 2
trong đó D := {x ∈ R2 | − x1 + x2 ≤ 1, x1 + 2x2 ≥ 2, x1 ≤ 3}.
158
Đây là bài toán quy hoạch lồi với hàm mục tiêu lồi chặt nên nó có một nghiệm
cực tiểu (cũng là điểm KKT) duy nhất. Trong bài toán này, n = 2, m = 3,
g1 (x) = −x1 + x2 − 1 ≤ 0, g2 (x) = −x1 − 2x2 + 2 ≤ 0, g3 (x) = x1 − 3 ≤ 0.
• Lập hàm Lagrange:
1 1
L(x, λ1 , λ2 , λ3 ) = x21 + x22 + λ1 (−x1 + x2 − 1) + λ2 (−x1 − 2x2 + 2) + λ3 (x1 − 3).
2 2
4.3.3 Phương pháp tuyến tính hóa giải quy hoạch lồi
Xét bài toán quy hoạch lồi:
min t
v.đ.k. gi (x) ≤ 0, i = 1, . . . , m
gm+1 (x) ≤ 0,
trong đó gm+1 (x) = f (x) − t. Vì vậy, ta chỉ cần xét bài toán có dạng:
Ý tưởng của phương pháp xấp xỉ tuyến tính là đưa việc giải bài toán quy
hoạch lồi (P2conv ) về việc giải một dãy các bài toán quy hoạch tuyến tính:
min{⟨c, x⟩ | x ∈ Xk },
160
X1 ⊃ X2 ⊃ · · · ⊃ X,
mà dãy nghiệm tối ưu {xk } tương ứng của chúng hội tụ đến nghiệm của bài
toán này.
Sau đây là thuật toán xấp xỉ tuyến tính giải bài toán (P2conv ) do Kelley đề
xuất năm 1960:
Bước chuẩn bị. Xây dựng đa diện ban đầu X1 sao cho X1 ⊇ X. (Cách xây
dựng X1 sẽ được trình bày ngay sau khi mô tả thuật toán). Đặt k := 1.
Bước lặp k. (k = 1, 2 . . . )
(k1 ) Giải quy hoạch tuyến tính min{⟨c, x⟩|x ∈ Xk } được nghiệm tối ưu xk .
i) Ta luôn có ∇gik (xk ) ̸= 0. Lý do là: nếu ngược lại thì do gik là hàm lồi nên
theo Hệ quả 6.1, ta có
⟨ ⟩
gik (x) ≥ gik (xk ) + ∇gik (xk ), x − xk > 0 ∀x
và điều này có nghĩa là tập chấp nhận được X của bài toán đang xét bằng
rỗng;
ii) Siêu phẳng
⟨ ⟩
{x ∈ Rn | ∇gik (xk ), x − xk + gik (xk ) = 0}
để xây dựng đa diện Xk+1 được gọi là siêu phẳng cắt. Đây chính là siêu
phẳng tách tập lồi đóng X và điểm xk ̸∈ X.
161
Sau đây ta sẽ trình bày cách xây dựng đa diện lồi xuất phát X1 ⊃ X.
Cho trước điểm x̄ ∈ Rn . Vì mỗi hàm gi , i ∈ {1, . . . , m}, là hàm lồi khả vi
nên ta có (Hệ quả 6.1)
Đặt
hi (x) = ⟨∇gi (x̄), x − x̄⟩ + gi (x̄).
Rõ ràng, với mỗi i ∈ {1, . . . , m} ta có hi (x) là hàm afin thỏa mãn:
hi (x) ≤ gi (x) ∀x ∈ Rn
hi (x̄) = gi (x̄).
min x1 v.đ.k. x ∈ D,
( ) ( )
−2 0
∇g1 (x̄ ) =
2
, ∇g2 (x̄ ) =
2
; g1 (x̄2 ) = −2; g2 (x̄2 ) = −3.
−2 −2
( ) ( )
2 4
∇g1 (x̄ ) =
3
, ∇g2 (x̄ ) =
3
; g1 (x̄3 ) = −3; g2 (x̄3 ) = 0.
0 0
x2 −x1 + x2 = 2
x2 = 2.5
−2 0 2 3 x1
x1 = 2
−2
x2 = −2.5
−x1 − x2 = 2
Hình 6.14
• Bước lặp 1.
• Bước lặp 2.
Bước 21 . Giải quy hoạch [ tuyến tính min{f (x) ] = x1 | x ∈ D2 } được tập
nghiệm tối ưu là đoạn (− 76 , 56 )T , (− 76 , − 56 )T . Ta lấy một nghiệm tối ưu
đại diện là x2 = (− 67 , 0)T .
25
Bước 22 . Vì g1 (x2 ) = 36
> 0 nên chuyển Bước 23 .
164
Bước 23 . Vì g1 (x2 ) = 25
36
> g2 (x2 ) = − 95
36
nên chọn i2 = 1 và đặt
⟨ ⟩
D3 := D2 ∩ {x ∈ R2 | ∇g1 (x2 ), x − x2 + g1 (x2 ) ≤ 0}
157
= D2 ∩ {x ∈ R2 | x1 ≥ − }.
156
• Bước lặp 3.
Bước 31 . Giải quy hoạch tuyến tính min{f (x) = x1 | x ∈ D3 } và lấy một
157
nghiệm tối ưu đại diện là x3 = (− 156 , 0)T .
• Bước lặp 4.
Bước 41 . Giải quy hoạch tuyến tính min{f (x) = x1 | x ∈ D3 } và lấy một
nghiệm tối ưu đại diện là x4 = (−0.9978886, 0)T .
Bằng biểu diễn hình học, dễ thấy rằng nghiệm tối ưu của bài toán này là
(−1, 0)T .
Định lý 4.19. (Định lý hội tụ) ([27], trang 53) Giả sử rằng g1 , . . . , gm là các
hàm lồi khả vi và tập chấp nhận được X của bài toán (P2conv ) là tập compac.
Khi đó, dãy {xk } sinh ra bởi Thuật toán 6.11 có một dãy con hội tụ đến nghiệm
cực tiểu của bài toán.
165
4.3.4 Phương pháp hướng có thể giải bài toán cực tiểu hàm trơn với
ràng buộc tuyến tính
Xét bài toán:
min f (x) v.đ.k. x ∈ X, (P2rb )
trong đó f là hàm phi tuyến khả vi trên Rn và X ⊂ Rn là tập lồi đa diện khác
rỗng xác định bởi
X := {x ∈ Rn | Ax ≤ b, Ex = e},
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 .
a. Cơ sở lý thuyết
Định nghĩa. Cho điểm x0 ∈ X. Véc tơ d ∈ Rn \ {0} được gọi là một hướng có
thể (hay hướng chấp nhận được) (feasible direction) của tập X tại x0 nếu tồn
tại một số t∗ > 0 sao cho
x0 + td ∈ X với mọi t thỏa mãn 0 < t ≤ t∗ ,
nghĩa là khi di chuyển từ điểm x0 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 X. Ký hiệu F (X, x0 ) là tập các hướng
chấp nhận được của tập X tại x0 .
i) Bao đóng của tập các hướng chấp nhận được của X tại x0 ∈ X bằng nón
tiếp xúc với tập X tại x0 , tức
clF (X, x0 ) = T (X, x0 ).
ii) Nếu X là tập lồi thì x − x0 là hướng chấp nhận được của tập X tại x0 ∈ X
với mọi x ∈ X (Bài tập).
166
Định nghĩa. Véc tơ d ∈ Rn \ {0} được gọi là hướng dùng được (usable feasible
direction) hoặc hướng giảm chấp nhận được (improving feasible direction) của
bài toán (P2rb ) tại x0 nếu nó vừa là hướng giảm của hàm f tại x0 , vừa là hướng
chấp nhận được của tập X tại x0 , tức tồn tại một số t∗ > 0 sao cho
Mệnh đề sau đây chỉ ra điều kiện cần và đủ để một véc tơ d ∈ Rn là hướng chấp
nhận được của tập X.
Mệnh đề 4.13. Cho điểm xk ∈ X. Khi đó vec tơ d là hướng chấp nhận được
của X tại xk khi và chỉ khi ⟨ai , d⟩ ≤ 0 với mọi i ∈ I(xk ) và Ed = 0.
Chứng minh.
(⇒) Giả sử d ∈ Rn là hướng chấp nhận được của X tại xk . Theo định nghĩa,
tồn tại số thực t∗ > 0 sao cho với mọi t ∈ (0, t∗ ] ta có xk + td ∈ X , tức
và
E(xk + td) = |{z}
Exk +tEd = e. (6.27)
=e
Hơn nữa,
⋄ Với mỗi i ∈ I(xk ) ta có
Do đó, nếu ⟨ai , d⟩ ≤ 0 thì ⟨ai , xk + td⟩ < bi với mọi t > 0. Còn nếu
⟨ai , d⟩ > 0 thì
bi − ⟨ai , xk ⟩
⟨ai , xk + td⟩ < bi với mọi t ≤ .
⟨ai , d⟩
Nhận xét 4.13. Cho điểm chấp nhận được xk ∈ X và véc tơ dk ∈ Rn . Ký hiệu
{ }
∗ k
I = i ∈ {1, . . . , m}\I(x ) ⟨a , d ⟩ > 0 .
i k
thì d là hướng giảm chấp nhận được của bài toán (P2rb ).
Mệnh đề 4.15. Điểm xk là điểm KKT của bài toán (P2rb ) khi và chỉ khi bài
toán quy hoạch tuyến tính sau có giá trị tối ưu bằng 0:
Bước khởi đầu. Xác định một đỉnh x0 ∈ X (có thể dùng Pha 1 của thuật toán
đơn hình). Đặt k = 0.
Bước lặp k. (k = 0, 1, 2, . . . )
(k1 ) Giải quy hoạch tuyến tính (6.29) được nghiệm tối ưu dk .
If ⟨∇f (xk ), dk ⟩ = 0 Then Dừng thuật toán (xk là điểm KKT )
Else Chuyển tới Bước k2 .
(k3 ) Xác định xk+1 := x{k + tk dk , trong đó tk là} nghiệm của bài toán cực tiểu
hàm một biến min f (xk + tdk ) | t ∈ [0, t∗ ] .
Chú ý 4.9. Như đã thấy, Thuật toán 6.12 giải bài toán (P2rb ) rất đơn giản,
nhưng rất tiếc, nói chung, tính hội tụ của thuật toán không được đảm bảo. Năm
1967, Topkis và Veinott đã cải tiến nó và nhận được thuật toán hội tụ giải bài
toán này (xem [1], trang 423 − 432). Mục tiếp theo đây sẽ trình bày một thuật
toán hội tụ thường được sử dụng để giải bài toán (P2rb ) trong trường hợp hàm
mục tiêu f là hàm lồi.
4.3.5 Phương pháp Frank-Wolfe giải bài toán quy hoạch lồi với ràng
buộc tuyến tính
Xét quy hoạch lồi
min f (x) v.đ.k. x ∈ X, (P3conv )
trong đó f là hàm lồi trên Rn và X ⊂ Rn là tập lồi đa diện xác định bởi
X = {x ∈ Rn | Ax ≤ b},
Mục này trình bày thuật toán Frank và Wolfe đề xuất năm 1956 để giải bài
toán (P3conv ) với giả thiết hàm tuyến tính ⟨∇f (x̂), x⟩ bị chặn dưới trên X với
mỗi x̂ ∈ Rn . Hiển nhiên rằng nếu X là đa diện thì giả thiết này luôn được thỏa
mãn.
169
Sau đây là thuật toán Frank-Wolfe giải bài toán quy hoạch lồi (P3conv ).
Thuật toán 6.13. (Thuật toán Frank-Wolfe)
Bước khởi đầu. Tìm một điểm bất kỳ x0 ∈ X. Đặt k := 0.
Bước lặp k. (k = 0, 1, 2, . . . )
(k1 ) Giải bài toán quy hoạch tuyến tính
⟨ ⟩
min ∇f (xk ), x − xk v.đ.k. x ∈ X
được phương án tối ưu uk ∈ X.
(k2 ) (kiểm tra điều kiện tối ưu)
⟨ ⟩
If ∇f (xk ), uk − xk ≥ 0 Then Dừng thuật toán (lấy xopt := xk )
Else Đặt dk := uk − xk và chuyển Bước (k3 ).
(k3 ) Xác định điểm xk+1 := xk + tk dk , trong đó
{ }
tk = argmin φ(t) = f (x + td ) | t ∈ [0, 1] .
k k
Chứng minh. Xem [32] (trang 116−117) hoặc [37] (trang 356−358) .
Ví dụ 4.17. Xét lại bài toán đã xét ở Ví dụ 6.24:
1 1
min f (x) = x21 + x22 v.đ.k. x ∈ D,
2 2
trong đó D = {x ∈ R2 | − x1 + x2 ≤ 1, x1 + 2x2 ≥ 2, x1 ≤ 3}.
Ta có
( ) ( )
x1 1 0
∇f (x) = và ∇ f (x) =
2
⇒ f (x) là hàm lồi chặt.
x2 0 1
tối ưu là u0 = (3, − 21 )T .
0.2. Vì
3
3
⟨∇f (x0 ), u0 − x0 ⟩ = (∇f (x0 ))T (u0 − x0 ) = (0 1) 3 = − < 0
− 2
2
nên x0 chưa phải nghiệm tối ưu. Đặt d0 := u0 − x0 = (3, − 32 )T . Ta có d0
là hướng giảm chấp nhận được của bài toán đang xét tại x0 .
0.3. Tìm điểm chấp nhận được x1 : Ta có
( ) 3 3t
0
x0 + td0 = + t 3 = 3 .
1 − 1− t
2 2
Xét hàm lồi một biến
( 3 ) 1 ( )2 1 ( 3 )2
φ(t) := f (x0 +td0 ) = f 3t, 1− t = 3t + 1− t với 0 ≤ t ≤ 1.
2 2 2 2
Vì
45 3
φ′ (t) = t− .
4 2
nên
2
φ′ (t) = 0 ⇔ t = .
15
Vậy
2 (2 4 )T
t0 = và x1 = x0 + t0 d0 = , .
15 5 5
171
( )T
0.4. Vì ∇f (x1 ) = 2 4
,
5 5
̸= (0, 0)T nên đặt k := k + 1 = 1 và chuyển Bước
lặp k = 1.
Bước lặp k = 1.
4
1.1. Giải: {⟨ }
⟩ 2
∇f (x1 ), x = x1 + x2 x ∈ D .
min
5 5
Bài toán này có hai phương án cực biên tối ưu là (0 , 1)T và (3 , − 12 )T .
Giả sử ta chọn u1 = (0 , 1)T .
1.2. Khi đó
2
⟨ ⟩ ( )T (2 4) −5
∇f (x1 ), u1 − x1 = ∇f (x1 ) (u1 − x1 ) = 1 = 0.
5 5
5
Vậy xopt = x1 = ( 52 , 4 T
5
) .
trong đó p(x) là hàm phạt, sao cho dãy nghiệm tương ứng của các bài toán
không ràng buộc này hội tụ đến nghiệm tối ưu của bài toán (P3rb ).
Mục này trình bày hai cách tiếp cận của phương pháp hàm phạt: phương
pháp hàm phạt điểm ngoài (Exterior penalty function method) và phương pháp
hàm phạt điểm trong (Interior penalty function method).
Hàm mục tiêu của dãy bài toán tối ưu không ràng buộc tương ứng với bài toán
(P3rb ) là
φ(x, αk ) = f (x) + αk p(x),
trong đó dãy tham số {αk } là dãy số dương, đơn điệu tăng đến ∞.
Đại lượng αk p(x) là lượng phạt. Dễ thấy rằng khi x là phương án chấp nhận
được của bài toán (P3rb ) thì nó không bị phạt (lượng phạt bằng 0), nhưng khi x
không phải là phương án chấp nhận được thì nó phải chịu một lượng là αk p(x).
Ví dụ 4.18. Xét bài toán:
min{x | − x + 5 ≤ 0}.
Khi đó {
0 nếu x ≥ 5
p(x) = 2
(−x + 5) nếu x < 5.
173
Phương pháp hàm phạt điểm trong xuất phát từ một điểm trong x1 của tập
chấp nhận được D, giải một dãy các bài toán tối ưu không ràng buộc:
min ψ(x, αk ) = f (x) + αk p(x) v.đ.k. x ∈ Rn ,
174
Khi đó, hàm mục tiêu của các bài toán không ràng buộc tương ứng là
Các điểm x = (x1 , x2 )T thuộc phần trong của tập chấp nhận được có
1 + x1 − x22 > 0 và x2 > 0.
Giải hệ phương trình
α
1− =0
1 + x1 − x22
∇x ψ(x, α) = 0 ⇔
2αx2 α
−2 + − =0
1 + x1 − x2 x2
2
( )T
ta nhận được điểm dừng x∗ (α) = x∗1 (α), x∗2 (α) với
√ √
1 + 2α + 3α − 1 1+ 1 + 2α
x∗1 (α) = , x∗2 (α) = .
2 2
Vì tham số α > 0 và giảm dần về 0 nên
√
∗ 1 + 2(0) + 3(0) − 1
lim+ x1 (α) = = 0,
α→0 2
√
1 + 1 + 2(0)
lim+ x∗2 (α) = = 1.
α→0 2
Ta có (0, 1)T thuộc tập chấp nhận được và là nghiệm tối ưu của bài toán cần
giải.
Bảng 6.2 trình bày giá trị của x∗1 (α) và x∗2 (α) với các tham số α1 = 1,
µ = 10−1
αk+1 = µαk , k = 1, 2, . . . , 6.
{ ( )T }
∗ ∗ ∗
Rõ ràng x (αk ) = x1 (αk ) , x1 (αk ) hội tụ đến nghiệm tối ưu của bài toán
đang xét.
176
Bảng 6.2
2. Các hàm số sau có phải hàm lồi không? Hãy giải thích bằng ít nhất hai
cách:
3. Trong các hàm số sau, hàm nào là hàm lồi, hàm lõm hay không lồi, không
lõm. Vì sao?
4. Chứng minh rằng hàm tuyến tính afin bị chặn trên (hay bị chặn dưới) trên
một tập afin thì chỉ có thể đồng nhất bằng hằng số.
5. Chứng minh rằng hàm f : Rn → R là hàm afin khi và chỉ khi f vừa là
hàm lồi, vừa là hàm lõm.
6. Cho tập lồi khác rỗng D ⊂ Rn và hàm số f : D → R. Chứng minh rằng:
7. Hãy xác định siêu phẳng đi qua các điểm (1, 1, 1, 1)T , (2, 0, 1, 0)T ,
(0, 2, 0, 1)T và (1, 1, −1, 0)T thuộc R4 .
8. Cho C là tập lồi đóng và y ∈ / C. Chứng minh rằng x∗ ∈ C là điểm gần y
nhất khi và chỉ khi ⟨x − y, x∗ − y⟩ ≥ ∥x∗ − y∥2 với mọi x thuộc C.
9. Cho C1 và C2 là hai tập lồi trong Rn . Chứng minh rằng tồn tại một siêu
phẳng tách chặt C1 và C2 khi và chỉ khi
inf{∥x − y∥ |x ∈ C1 , y ∈ C2 } > 0.
i) Ax = c;
ii) AT y = 0, ⟨c, y⟩ = 1.
11. Cho S là tập lồi khác rỗng trong Rn . Chứng minh rằng hàm f được định
nghĩa như sau
f (y) := inf{∥y − x∥ |x ∈ S}
là hàm lồi.
12. Cho điểm x0 = (2, 1)T ∈ R2 , véc tơ d = (3, −1)T và hàm số
i) Viết điều kiện cần bậc một và bậc hai của nghiệm tối ưu địa phương.
Với điều kiện gì thì hàm f (x) có một điểm dừng?
ii) Khi nào thì hàm f (x) có cực tiểu địa phương?
iii) Với điều kiện nào thì hàm f (x) có một điểm dừng nhưng đó không
phải cực tiểu địa phương, cũng không phải cực đại địa phương?
15. Cho hàm số f (x) = αx21 + x22 − 2x1 x2 − 2x2 , trong đó α là một số thực.
i) Xác định điểm dừng của f (x) với mỗi giá trị của α?
ii) Xác định điểm cực đại địa phương và cực tiểu địa phương tương ứng
với một giá trị cụ thể nào đó của α. Hàm f (x) đó có điểm cực đại
toàn cục hoặc cực tiểu toàn cục không? Vì sao?
Lấy x0 = (2, 2)T . Tính ba điểm tiếp theo x1 , x2 , x3 theo phương pháp
giảm nhanh nhất.
iii) Cho
1
f (x) = xT Ax − bT x
2
với
1 0 0 1
A = 0 γ 0 và b = 1 .
0 0 γ2 1
Xuất phát từ x0 = (0, 0, 0)T , áp dụng Thuật toán 6.1, trình bày ba
bước lặp giải bài toán min{f (x)|x ∈ R3 } với γ = 1, 10, 100, 1000.
20. Nêu định nghĩa hướng chấp nhận được tại x∗ ∈ D ⊂ Rn . Chứng minh
rằng nếu D là tập lồi thì x − x∗ là hướng chấp nhận được tại x∗ với mọi
x ∈ D.
21. Phát biểu điều kiện cần của điểm cực tiểu địa phương của bài toán
min{f (x), x ∈ Rn }
và bài toán
min{f (x) x ∈ D ⊂ Rn }.
Khi f là hàm lồi và D là tập lồi thì có kết luận gì? Lấy ví dụ để cùng hàm
mục tiêu f nhưng hai bài toán này có nghiệm tối ưu khác nhau.
22. Hàm một biến f (x) = −ln(x) có phải hàm lồi không? Hãy giải thích bằng
ít nhất hai cách.
180
181
182 Nhập môn Lý thuyết Tối ưu
Chương 6
183
184 Nhập môn Lý thuyết Tối ưu
Phụ lục
185
186 Nhập môn Lý thuyết Tối ưu
Tài liệu tham khảo
187