MathLabs

Toán ứng dụng và Tính toán

Tối ưu lồi

Cực tiểu hóa hàm lồi trên tập lồi: vì sao mọi cực tiểu địa phương đều là cực tiểu toàn cục, điều kiện KKT chứng thực tính tối ưu, và phép đối ngẫu biến một bài toán khó thành một bài toán dễ hơn.

Trực giácVì sao hình dạng quan trọng: lồi và không lồi

Hãy tưởng tượng bạn tìm điểm thấp nhất của một địa hình bằng cách luôn bước xuống dốc. Nếu địa hình có hình một cái bát duy nhất, chiến lược tham lam này luôn tìm ra điểm thấp nhất thật sự, dù bắt đầu từ đâu. Nếu địa hình có nhiều hố, gờ và đèo hình yên ngựa, cùng chiến lược đó có thể mắc kẹt ở một hố không phải điểm thấp nhất. Tối ưu lồi nghiên cứu đúng trường hợp "một cái bát duy nhất" — và giải thích chính xác vì sao trường hợp đó dễ hơn nhiều.

Một mặt cong 3D hình cái bát (paraboloid) mở lên trên, có duy nhất một điểm thấp nhất tại gốc tọa độ; mặt cong lên theo mọi hướng từ điểm đó.
z=x2+y2z = x^2 + y^2: một paraboloid. Mọi hướng đều cong lên, nên chỉ có đúng một điểm thấp nhất.
Một mặt cong 3D hình yên ngựa, cong lên theo một trục ngang và cong xuống theo trục vuông góc, giao nhau tại một điểm phẳng ở giữa — điểm dừng nhưng không phải cực tiểu.
z=x2−y2z = x^2 - y^2: một mặt yên ngựa. Mặt cong lên theo một trục và cong xuống theo trục kia, nên điểm phẳng tại gốc không phải cực tiểu cũng không phải cực đại.

Một phiên bản 1 chiều của cùng cái bẫy đó: một đường cong bậc ba có thể có một thung lũng (cực tiểu địa phương) không phải điểm thấp nhất, vì đường cong vẫn tiếp tục đi xuống ở xa hơn. Tính lồi chính là tính chất loại trừ điều này.

Đường cong bậc ba y = x mũ ba trừ 3x, đi lên từ góc dưới bên trái, đạt cực đại địa phương gần x = -1, hạ xuống cực tiểu địa phương gần x = 1, rồi lại đi lên; điểm uốn được đánh dấu tại gốc tọa độ.
y=x3−3xy = x^3 - 3x. Các điểm được đánh dấu là một cực đại địa phương, một cực tiểu địa phương và một điểm uốn — cực tiểu địa phương không phải cực tiểu toàn cục, vì đường cong tiến tới −∞-\infty khi x→−∞x \to -\infty.

Đại họcTập lồi và hàm lồi

Định nghĩa: Tập lồi

Một tập C⊆RnC \subseteq \mathbb{R}^n là lồi nếu với mọi x,y∈Cx, y \in C và mọi θ∈[0,1]\theta \in [0,1], điểm θx+(1−θ)y\theta x + (1-\theta) y cũng thuộc CC: toàn bộ đoạn thẳng nối hai điểm bất kỳ của CC nằm trong CC.

Định nghĩa: Hàm lồi

Một hàm f:C→Rf : C \to \mathbb{R} trên tập lồi CC là lồi nếu với mọi x,y∈Cx, y \in C và θ∈[0,1]\theta \in [0,1], f(θx+(1−θ)y)≤θf(x)+(1−θ)f(y)f(\theta x + (1-\theta) y) \le \theta f(x) + (1-\theta) f(y): đồ thị của ff không bao giờ nằm phía trên đoạn thẳng nối hai điểm bất kỳ của nó.

f(θx+(1−θ)y)≤θf(x)+(1−θ)f(y),θ∈[0,1]f(\theta x + (1-\theta) y) \le \theta f(x) + (1-\theta) f(y), \qquad \theta \in [0,1]

Khi ff khả vi hai lần, điều kiện trên tương đương với việc ma trận Hessian ∇2f(x)\nabla^2 f(x) nửa xác định dương tại mọi điểm của CC — tương tự f′′≥0f'' \ge 0 trong trường hợp nhiều biến. Một bài toán tối ưu lồi cực tiểu hóa hàm lồi ff trên một tập khả thi lồi CC (chẳng hạn C={x:gi(x)≤0,hj(x)=0}C = \{x : g_i(x) \le 0, h_j(x) = 0\} với mỗi gig_i lồi và mỗi hjh_j affine).

Nếu ff lồi trên tập lồi CC và x⋆x^\star là cực tiểu địa phương của ff trên CC, thì x⋆x^\star là cực tiểu toàn cục của ff trên CC.

Vì sao đúng?

Giả sử x⋆x^\star chỉ là cực tiểu địa phương và tồn tại y∈Cy \in C với f(y)<f(x⋆)f(y) < f(x^\star). Tính lồi buộc ff phải nằm dưới đoạn thẳng từ x⋆x^\star đến yy tại các điểm gần x⋆x^\star tùy ý: với θ>0\theta > 0 nhỏ, f(θy+(1−θ)x⋆)≤θf(y)+(1−θ)f(x⋆)<f(x⋆)f(\theta y + (1-\theta) x^\star) \le \theta f(y) + (1-\theta) f(x^\star) < f(x^\star). Điều này mâu thuẫn với việc x⋆x^\star là cực tiểu địa phương, vì các điểm θy+(1−θ)x⋆\theta y + (1-\theta)x^\star tiến gần x⋆x^\star tùy ý.

Chứng minh

Giả sử x⋆∈Cx^\star \in C là cực tiểu địa phương, nghĩa là tồn tại bán kính r>0r > 0 sao cho f(z)≥f(x⋆)f(z) \ge f(x^\star) với mọi z∈Cz \in C thỏa mãn ∥z−x⋆∥≤r\|z - x^\star\| \le r. Giả sử phản chứng rằng tồn tại điểm y∈Cy \in C sao cho f(y)<f(x⋆)f(y) < f(x^\star).

Với mọi θ∈(0,1)\theta \in (0, 1), tính lồi của tập hợp và hàm số bảo đảm zθ=θy+(1−θ)x⋆∈Cz_\theta = \theta y + (1 - \theta)x^\star \in C và f(zθ)≤θf(y)+(1−θ)f(x⋆)=f(x⋆)+θ(f(y)−f(x⋆))<f(x⋆)f(z_\theta) \le \theta f(y) + (1 - \theta)f(x^\star) = f(x^\star) + \theta(f(y) - f(x^\star)) < f(x^\star).

Do ∥zθ−x⋆∥=θ∥y−x⋆∥\|z_\theta - x^\star\| = \theta \|y - x^\star\|, việc chọn 0<θ≤r∥y−x⋆∥0 < \theta \le \dfrac{r}{\|y - x^\star\|} bảo đảm ∥zθ−x⋆∥≤r\|z_\theta - x^\star\| \le r đồng thời f(zθ)<f(x⋆)f(z_\theta) < f(x^\star), mâu thuẫn với giả thiết cực tiểu địa phương.

Đại họcBài toán có ràng buộc và điều kiện KKT

Với hàm lồi khả vi ff không có ràng buộc, x⋆x^\star là cực tiểu toàn cục khi và chỉ khi ∇f(x⋆)=0\nabla f(x^\star) = 0. Khi có các ràng buộc — cực tiểu hóa f(x)f(x) với điều kiện gi(x)≤0g_i(x) \le 0 (i=1,…,mi=1,\dots,m) và hj(x)=0h_j(x) = 0 (j=1,…,pj=1,\dots,p) — ta lập hàm Lagrange bằng cách gắn một nhân tử không âm λi≥0\lambda_i \ge 0 cho mỗi bất đẳng thức và một nhân tử tự do νj∈R\nu_j \in \mathbb{R} cho mỗi đẳng thức:

L(x,λ,ν)=f(x)+∑i=1mλi gi(x)+∑j=1pνj hj(x)\mathcal{L}(x,\lambda,\nu) = f(x) + \sum_{i=1}^m \lambda_i\, g_i(x) + \sum_{j=1}^p \nu_j\, h_j(x)

Đối với bài toán lồi khả vi thỏa một điều kiện chính quy (chẳng hạn điều kiện Slater: tồn tại một điểm mà mọi gi(x)<0g_i(x) < 0 và hj(x)=0h_j(x) = 0), điểm x⋆x^\star là tối ưu khi và chỉ khi tồn tại các nhân tử λ⋆,ν⋆\lambda^\star, \nu^\star sao cho: (1) tính dừng ∇xL(x⋆,λ⋆,ν⋆)=0\nabla_x \mathcal{L}(x^\star, \lambda^\star, \nu^\star) = 0; (2) khả thi nguyên thủy gi(x⋆)≤0g_i(x^\star) \le 0, hj(x⋆)=0h_j(x^\star) = 0; (3) khả thi đối ngẫu λi⋆≥0\lambda_i^\star \ge 0; và (4) độ lệch bù λi⋆gi(x⋆)=0\lambda_i^\star g_i(x^\star) = 0 với mọi ii.

Vì sao đúng?

Điều kiện độ lệch bù nói rằng một ràng buộc bất đẳng thức gi(x)≤0g_i(x) \le 0 tại x⋆x^\star hoặc không chặt (gi(x⋆)<0g_i(x^\star) < 0, nên biên không đẩy vào x⋆x^\star và nhân tử của nó λi⋆=0\lambda_i^\star = 0) hoặc chặt (gi(x⋆)=0g_i(x^\star) = 0, nên bức tường biên có thể đẩy lại với lực λi⋆≥0\lambda_i^\star \ge 0). Khi đó tính dừng phát biểu rằng −∇f(x⋆)-\nabla f(x^\star) được cân bằng bởi một tổ hợp không âm của các pháp tuyến ngoài ∇gi(x⋆)\nabla g_i(x^\star) của những bức tường đang chặt.

Chứng minh

Trước hết, giả sử (x⋆,λ⋆,ν⋆)(x^\star, \lambda^\star, \nu^\star) thỏa mãn điều kiện KKT. Vì λi⋆≥0\lambda_i^\star \ge 0 và các hàm ràng buộc là lồi hoặc affine, hàm Lagrange x↦L(x,λ⋆,ν⋆)x \mapsto \mathcal{L}(x, \lambda^\star, \nu^\star) là hàm lồi, nên điều kiện dừng ∇xL(x⋆,λ⋆,ν⋆)=0\nabla_x \mathcal{L}(x^\star, \lambda^\star, \nu^\star) = 0 suy ra điểm đang xét cực tiểu hóa hàm Lagrange trên toàn không gian.

Với mọi điểm khả thi xx thỏa gi(x)≤0g_i(x) \le 0 và hj(x)=0h_j(x) = 0, điều kiện độ lệch bù λi⋆gi(x⋆)=0\lambda_i^\star g_i(x^\star) = 0 cho chuỗi bất đẳng thức f(x⋆)=L(x⋆,λ⋆,ν⋆)≤L(x,λ⋆,ν⋆)=f(x)+∑i=1mλi⋆gi(x)+∑j=1pνj⋆hj(x)≤f(x)f(x^\star) = \mathcal{L}(x^\star, \lambda^\star, \nu^\star) \le \mathcal{L}(x, \lambda^\star, \nu^\star) = f(x) + \sum_{i=1}^m \lambda_i^\star g_i(x) + \sum_{j=1}^p \nu_j^\star h_j(x) \le f(x), chứng minh tính tối ưu toàn cục.

Ngược lại, dưới điều kiện Slater, đối ngẫu mạnh bảo đảm tồn tại các nhân tử đối ngẫu tối ưu sao cho f(x⋆)=g(λ⋆,ν⋆)=inf⁡xL(x,λ⋆,ν⋆)≤L(x⋆,λ⋆,ν⋆)=f(x⋆)+∑i=1mλi⋆gi(x⋆)≤f(x⋆)f(x^\star) = g(\lambda^\star, \nu^\star) = \inf_x \mathcal{L}(x, \lambda^\star, \nu^\star) \le \mathcal{L}(x^\star, \lambda^\star, \nu^\star) = f(x^\star) + \sum_{i=1}^m \lambda_i^\star g_i(x^\star) \le f(x^\star). Cả hai bất đẳng thức trong chuỗi này đều phải là đẳng thức, từ đó buộc điều kiện dừng và độ lệch bù phải thỏa mãn với mọi ràng buộc.

Ví dụ: Điểm trên đường thẳng gần gốc tọa độ nhất

Cực tiểu hóa f(x,y)=x2+y2f(x,y) = x^2 + y^2 với ràng buộc x+y=1x + y = 1.

Lời giải

Cả ff (paraboloid) lẫn đẳng thức h(x,y)=x+y−1=0h(x,y) = x + y - 1 = 0 (affine) đều xác định một bài toán lồi. Hàm Lagrange là L(x,y,ν)=x2+y2+ν(x+y−1)\mathcal{L}(x,y,\nu) = x^2 + y^2 + \nu(x + y - 1). Điều kiện dừng cho 2x+ν=02x + \nu = 0 và 2y+ν=02y + \nu = 0, suy ra x=yx = y. Thay vào x+y=1x + y = 1 được x⋆=y⋆=12x^\star = y^\star = \tfrac{1}{2} với giá trị nhỏ nhất f(x⋆,y⋆)=12f(x^\star, y^\star) = \tfrac{1}{2}. Vì bài toán là lồi nên điểm KKT này tự động là cực tiểu toàn cục.

Ví dụ: Ràng buộc bất đẳng thức chặt qua điều kiện độ lệch bù

Cực tiểu hóa f(x)=(x−3)2f(x) = (x - 3)^2 với ràng buộc bất đẳng thức g(x)=x−1≤0g(x) = x - 1 \le 0.

Lời giải

Lập hàm Lagrange L(x,λ)=(x−3)2+λ(x−1)\mathcal{L}(x, \lambda) = (x - 3)^2 + \lambda(x - 1). Vì hàm mục tiêu lồi chặt và ràng buộc là affine, hệ điều kiện KKT là điều kiện cần và đủ: tính dừng ∂L∂x=2(x−3)+λ=0\dfrac{\partial \mathcal{L}}{\partial x} = 2(x - 3) + \lambda = 0, khả thi nguyên thủy x−1≤0x - 1 \le 0, khả thi đối ngẫu λ≥0\lambda \ge 0, và độ lệch bù λ(x−1)=0\lambda(x - 1) = 0.

Xét hai trường hợp từ điều kiện độ lệch bù: nếu λ=0\lambda = 0, điều kiện dừng cho x=3x = 3, vi phạm x−1≤0x - 1 \le 0.

Do đó ràng buộc phải chặt, cho ta x⋆=1x^\star = 1 và λ⋆=2(3−1)=4>0\lambda^\star = 2(3 - 1) = 4 > 0, thỏa mãn λ≥0\lambda \ge 0. Cực tiểu toàn cục duy nhất là x⋆=1x^\star = 1 với giá trị tối ưu f(1)=4f(1) = 4.

Nâng caoĐối ngẫu và tối ưu toàn cục vượt ra ngoài tính lồi

Cực tiểu hóa L(x,λ,ν)\mathcal{L}(x,\lambda,\nu) theo xx (không ràng buộc!) xác định hàm đối ngẫu Lagrange g(λ,ν)=inf⁡xL(x,λ,ν)g(\lambda,\nu) = \inf_x \mathcal{L}(x,\lambda,\nu). Vì gg là cận dưới đúng theo từng điểm của các hàm affine theo (λ,ν)(\lambda,\nu), nên gg luôn là hàm lõm, ngay cả khi bài toán gốc không lồi. Với mọi λ≥0\lambda \ge 0 và mọi xx khả thi, mỗi số hạng λigi(x)≤0\lambda_i g_i(x) \le 0 và νjhj(x)=0\nu_j h_j(x) = 0, nên g(λ,ν)≤f(x)g(\lambda,\nu) \le f(x). Cực đại hóa g(λ,ν)g(\lambda,\nu) với λ≥0\lambda \ge 0 cho ta bài toán đối ngẫu, có giá trị tối ưu d⋆d^\star luôn thỏa đối ngẫu yếu: d⋆≤p⋆d^\star \le p^\star (giá trị tối ưu nguyên thủy). Khi d⋆=p⋆d^\star = p^\star, ta nói đối ngẫu mạnh xảy ra và độ lệch đối ngẫu p⋆−d⋆p^\star - d^\star bằng 0.

Nếu bài toán quy hoạch tuyến tính nguyên thủy min⁡{c⊤x:Ax=b,  x≥0}\min\{c^\top x : Ax = b,\; x \ge 0\} có nghiệm tối ưu x⋆x^\star, thì bài toán đối ngẫu max⁡{b⊤y:A⊤y≤c}\max\{b^\top y : A^\top y \le c\} cũng có nghiệm tối ưu y⋆y^\star, và hai giá trị tối ưu bằng nhau: c⊤x⋆=b⊤y⋆c^\top x^\star = b^\top y^\star.

Vì sao đúng?

Quy hoạch tuyến tính là bài toán lồi với tập khả thi dạng đa diện; đối với các ràng buộc đa diện thì không cần giả thiết điểm trong, và định lý siêu phẳng tách (bổ đề Farkas) bảo đảm tồn tại nhân tử đối ngẫu y⋆y^\star với độ lệch đối ngẫu bằng 0. Đối với bài toán lồi tổng quát, đối ngẫu mạnh đúng bất cứ khi nào điều kiện Slater được thỏa mãn.

Chứng minh

Với mọi vectơ khả thi nguyên thủy thỏa Ax=bAx = b, x≥0x \ge 0 và mọi vectơ khả thi đối ngẫu thỏa A⊤y≤cA^\top y \le c, lấy tích vô hướng cho ta bất đẳng thức đối ngẫu yếu: b⊤y=(Ax)⊤y=x⊤(A⊤y)≤x⊤c=c⊤xb^\top y = (Ax)^\top y = x^\top(A^\top y) \le x^\top c = c^\top x.

Lập hàm Lagrange L(x,y,s)=c⊤x+y⊤(b−Ax)−s⊤x=b⊤y+(c−A⊤y−s)⊤x\mathcal{L}(x, y, s) = c^\top x + y^\top(b - Ax) - s^\top x = b^\top y + (c - A^\top y - s)^\top x với nhân tử s≥0s \ge 0. Lấy cận dưới đúng theo biến nguyên thủy không ràng buộc chỉ cho giá trị đối ngẫu hữu hạn khi c−A⊤y−s=0c - A^\top y - s = 0, khôi phục ràng buộc đối ngẫu và hàm mục tiêu đối ngẫu g(y,s)=b⊤yg(y, s) = b^\top y.

Nếu x⋆x^\star là nghiệm tối ưu nguyên thủy với giá trị p⋆=c⊤x⋆p^\star = c^\top x^\star, bổ đề Farkas (tách siêu phẳng cho nón đa diện) bảo đảm tồn tại vectơ y⋆y^\star thỏa A⊤y⋆≤cA^\top y^\star \le c và b⊤y⋆≥p⋆b^\top y^\star \ge p^\star. Kết hợp với đối ngẫu yếu buộc b⊤y⋆=c⊤x⋆b^\top y^\star = c^\top x^\star.

Ba họ thuật toán cho tối ưu lồi trơn trong Rn\mathbb{R}^n
Họ phương phápThông tin mỗi bướcChi phí mỗi bướcSố bước đạt sai số ε\varepsilon
Gradient / gradient tăng tốc (Nesterov)Bậc nhất (∇f\nabla f)O(n)O(n)O(1/ε)O(1/\varepsilon) hoặc O(1/ε)O(1/\sqrt{\varepsilon})
Phương pháp NewtonBậc hai (∇f,∇2f\nabla f, \nabla^2 f)O(n3)O(n^3) (hệ tuyến tính)O(log⁡log⁡(1/ε))O(\log\log(1/\varepsilon)) địa phương
Điểm trong (hàm rào)Bậc hai trên −∑ln⁡(−gi)-\sum \ln(-g_i)O(n3)O(n^3) mỗi bước NewtonO(m log⁡(1/ε))O(\sqrt{m}\,\log(1/\varepsilon))

Hàm nào lồi trên toàn bộ R\mathbb{R}?

Trong bài toán tối ưu lồi, một điểm là cực tiểu địa phương thì

Trong điều kiện KKT, độ lệch bù λi⋆gi(x⋆)=0\lambda_i^\star g_i(x^\star) = 0 có nghĩa là

Với một quy hoạch tuyến tính có nghiệm tối ưu khả thi và bị chặn, đối ngẫu mạnh cho biết

Tài liệu tham khảo

  1. Stephen Boyd, Lieven Vandenberghe (2004). Convex Optimization
  2. Yurii Nesterov (2004). Introductory Lectures on Convex Optimization: A Basic Course
  3. Harold W. Kuhn, Albert W. Tucker (1951). Nonlinear Programming · DOI:10.1006/hmat.2000.2289
  4. Sébastien Bubeck (2015). Convex Optimization: Algorithms and Complexity · arXiv:1405.4980