Bài Toán Tối Ưu Hóa

Giới thiệu câu hỏi tối ưu

Một vấn đề tối ưu tất cả dạng chủ yếu tắc như sau: <eginalignedmathrmmin.~ và f_0(x) labeleq:convexprob_obj &qquad qquad qquad (1)\mathrms.t.~ và f_i(x) leq 0, i = 1, ldots, m &qquad qquad qquad (2)labeleq:convexprob_ineqcon\& h_i(x) = 0, i = 1, ldots, p, &qquad qquad qquad (3)labeleq:convexprob_eqcon endaligned> vào đó, (x in mathbfR^n) là trở nên của vấn đề tối ưu, (f_0) là hàm mục tiêu,(2) và (3) là các ràng buộc.

Bạn đang xem: Bài toán tối ưu hóa

(p^*) được call là nghiệm buổi tối ưu nếu (p^* = min f_i(x) leq 0, i = 1,ldots,m, h_i(x) = 0, i = 1, ldots, p\).

Miền xác định của việc được quan niệm là giao của các miền xác định của tất cả các hàm trong câu hỏi <eginalignedmathcalD = (cap_i=0^m mdom f_i) cap (cap_i=1^p mdom h_i).endaligned> Miền khả thi của việc được tư tưởng là tập hợp các điểm thỏa mãn nhu cầu các ràng buộc <eginalignedleftlbrace x | x in mathcalD; f_i(x) leq 0, i = 1, ldots, m; h_i(x) = 0, i = 1, ldots, phường ight braceendaligned>

Nếu bài toán không có chặn dưới thì (p^* = -infty) cùng nếu miền nghiệm là rỗng thì vấn đề vô nghiệm ((p^* = infty)).

(x^*) được gọi là vấn đề cực trị (hay vector cực trị) trường hợp (x^*) trực thuộc miền khả thi và (f_0(x^*) = p^*). Tập vừa lòng tất những các điểm rất trị của việc thì được gọi là tập cực trị <eginalignedX_opt = x in mathcalD ~ mathrmand ~ f_0(x) = p^*\endaligned>

Một vector (x^*) được call là vector rất trị cục bộ trường hợp tồn tại một vài thực (R) dương đủ bé dại sao mang đến (f_0(x)) đạt cực tiểu trong kề bên của (x^*) bán kính (R) <eginalignedf_0(x^*) = & min \_2 leq R ,endaligned>

Một số biến đổi bài toán tương đương

Hai việc tối ưu được call là tương tự nếu ta hoàn toàn có thể suy ra thuận lợi nghiệm của một vấn đề nếu bao gồm nghiệm của bài toán kia.

Ví dụ có một số bài toán tối ưu nhưng mà ràng buộc dạng chận trên và chận dưới đơn giản dễ dàng như sau <eginalignedmathrmmin.~ & f_0(x)\mathrms.t.~ và l_i leq x_i leq u_i, i = 1, ldots, n.endaligned> Ta có thể chuyển việc trên thành vấn đề tối ưu dạng chính tắc như sau: <eginalignedmathrmmin.~ & f_0(x)\mathrms.t.~ & l_i- x_i leq 0, i = 1, ldots, n\& x_i – u_i leq 0, i = 1, ldots, n.endaligned>

Bài toán tìm rất đại

Đối với vấn đề tìm cực to <eginalignedmathrmmax. ~ & f_0(x)\mathrms.t. ~ và f_i(x) leq 0, i = 1, ldots, m \& h_i(x) = 0, i = 1, ldots, p.endaligned> ta hoàn toàn có thể chuyển bài toán trên về thành tìm cực tiểu (- f_0(x)).

Biến đổi những hàm kim chỉ nam và ràng buộc

Một bài toán có hàm mục tiêu và các ràng buộc được nhân với những hằng số cũng là bài xích toán tương đương với vấn đề gốc <eginalignedmathrmmin. ~ và ildef(x) = alpha_0 f_0(x)\mathrms.t ~ và ildef_i (x) = alpha_i f_i(x) leq 0, i = 1, ldots, m \& ildeh_i(x) = eta_i h_i(x) = 0, i = 1, ldots, p,endaligned> trong những số ấy (alpha_i > 0, i=0, ldots, m) và (eta_i eq 0, i=1, ldots, p).

Ta cũng có thể đổi trở nên (x = phi(z)) để đổi khác bài toán tương đương miễn phép đổi đổi thay (phi) là ánh xạ một – một: <eginaligned ildef_i(z) = f_i(phi(z)), i = 0, ldots, m, quad ildeh_i(z) = h_i(phi(z)), i = 0, ldots, p.endaligned> cho nên vì thế bài toán tương đương đã đạt được là: <eginalignedmathrmmin.~ và ildef_0 (z) \mathrmst.~ & ildef_i (z) leq 0, i = 1, ldots, m \& ildeh_i(z) = 0, i = 1, ldots, pendaligned>

Ta cũng đều có thể biến hóa tương đương những hàm phương châm và ràng buộc bằng những hàm riêng rẽ. đến (psi_0: mathbbR^n ightarrow mathbbR^n) là hàm đơn điệu tăng, (psi_1, ldots, psi_m: mathbbR ightarrow mathbbR) vừa lòng (psi_i(u) leq 0) nếu còn chỉ nếu (u leq 0), và (xi_1, ldots, xi_p: mathbbR ightarrow mathbbR) thoả mãn (xi_i(u) = 0) nếu và chỉ nếu (u = 0). Định nghĩa các hàm số sau: <eginaligned ildef_i(x) &= psi_i(f_i(x)), i = 0, ldots, m, \ ildeh_i(x) &= xi_i(h_i(x)), i = 0, ldots, p.endaligned> Ta có việc sau tương được với bài toán gốc (1)-(3) <eginalignedmathrmmin.~ và ildef_0 (x) \mathrms.t.~ & ildef_i (x) leq 0, i = 1, ldots, m \& ildeh_i(x) = 0, i = 1, ldots, p.endaligned>

Ví dụ những bài toán cực tiểu norm và rất tiểu norm bình phương là tương đương. Thay bởi vì giải bài toán gốc <eginalignedmin ~ | Ax – b |_2.endaligned> ko khả vi tại một trong những điểm, ta có thể giải bài xích toán tương đương khả vi tại rất nhiều điểm <eginalignedmin ~ | Ax – b |_2^2 = (Ax – b)^T(Ax – b).endaligned>

Biến phụ

Biến đổi câu hỏi tương đương hoàn toàn có thể thực hiện bằng cách thêm vào biến phụ. Ví dụ bài toán sau tương được với việc gốc (1)-(3) bằng cách thêm đổi mới (s_i, i = 1, ldots, m) <eginalignedmathrmmin.~ và f_0(x)\mathrms.t.~ và s_i geq 0, i = 1, ldots, m \& f_i(x) + s_i = 0, i = 1, ldots, m \& h_i(x) = 0, i = 1, ldots, p.endaligned>

Lược giảm và thêm ràng buộc đẳng thức

Ta cũng có thể lược bớt ràng buộc đẳng thức nếu bao gồm hàm số (phi) làm sao cho (h_i(x) = 0, i = 1, ldots, p) nếu và chỉ còn nếu (x = phi(z)), thì ta có câu hỏi sau tương tự với bài toán gốc (1)-(3). <eginalignedmathrmminimization~ & ildef(z) = f_0(phi(z)) \mathrmsubject ~ to~ và ildef_i (z) = f_i(phi(z)) leq 0, i = 1, ldots, m.endaligned>

Thêm ràng buộc đẳng thức Hai việc sau là tương đương: <eginalignedmathrmmin.~ & f_0(A_0 x + b_0)\mathrms.t.~ & f_i(A_i x + b_i) leq 0, i = 1, ldots, m \& h_i(x) = 0, i = 1, ldots, p.endaligned> và <eginalignedmathrmmin.~ & f_0(y_0)\mathrms.t.~ & f_i(y_i) leq 0, i = 1, ldots, m \& y_i = A_i x + b_i, i = 0, ldots, m \& h_i(x) = 0, i = 1, ldots, p.endaligned>

Tối ưu bên trên một vài biến

Ta cũng hoàn toàn có thể thực hiện tại tối ưu bên trên một vài biến đối với một số việc dạng đăc biệt. Ví như bài toán bao gồm hai team ràng buộc hòa bình giữa (x_1) với (x_2) sau <eginalignedmathrmmin.~ và f_0(x_1, x_2)\mathrms.t.~ và f_i(x_1) leq 0, i = 1, ldots, m_1\& g_i(x_2) leq 0, i = 1, ldots, m_2endaligned> sẽ tương đương với câu hỏi <eginalignedmathrmmin.~ & ildef_0(x_1)\mathrms.t.~ & f_i(x_1) leq 0, i = 1, ldots, m_1,endaligned> trong những số đó <eginaligned ildef_0(x_1) = min_x_2 f_0(x_1, x_2).endaligned>

Biến thay đổi dạng epigraph

Bài toán dạng epigraph sau là tương tự với việc gốc <eginalignedmathrmmin.~ & t\mathrms.t.~ & f_0(x) – t leq 0 \& f_i(y_i) leq 0, quad i = 1, ldots, m \& h_i(x) = 0, quad i = 1, ldots, p.endaligned> ((x^*, t^*)) là cực tiểu của việc dạng epigraph nếu còn chỉ nếu (x^*) là vấn đề cực đái của việc gốc và đồng thời (t^* = f_0(x^*)).

Bài toán về tối ưu lồi

Bài toán buổi tối ưu lồi tất cả dạng như sau <eginalignedmathrmmin.~ & f_0(x)\mathrms.t.~ và f_i(x) leq 0, quad i = 1, ldots, m \& a_i^T x = b_i, quad i = 1, ldots, p.endaligned> vào đó, những hàm mục tiêu và buộc ràng bất đăng thức (f_i, i=1, ldots, m) mọi là hàm lồi. Ràng buộc dạng đẳng thức yêu cầu ở dạng đường tính.

Từ tính chất giao các tập lồi là tập lồi và epigraph của một hàm lồi là 1 trong những tập lồi, ta có miền khả thi của một câu hỏi tối ưu lồi là 1 trong tập lồi.

Bài toán tìm cực to hàm lõm

Bài toán tìm cực đại <eginalignedmathrmmax.~ và f_0(x) labeleq:convprob_obj\mathrms.t.~ & f_i(x) leq 0, quad i = 1, ldots, m labeleq:convprob_incon\& a_i^T x = b_i, quad i = 1, ldots, p, labeleq:convprob_affconendaligned> trong những số ấy trong đó (f_0) là hàm lõm và các hàm (f_i, i=1,…,m) lồi cũng được xem như là bài toán về tối ưu lồi.

Xem thêm: Bản Kế Hoạch Học Tập Mẫu Bản Kế Hoạch Học Tập Du Học Trung Quốc

Điểm cực trị

Trong vấn đề tối ưu lồi, điểm cực trị cục bộ cũng là điểm cực trị toàn cục.

Giả sử miền khả thi của việc là là (X = x ). Trong trường thích hợp hàm (f_0) khả vi, (x^*) là điểm cực trị nếu còn chỉ nếu (x^* in X) cùng <eginaligned abla f_0(x^*)^T (y – x^*) geq 0, quad forall y in X.endaligned>

Đặc biệt nếu câu hỏi tối ưu không có ràng buộc thì điều kiện cần và đủ để (x^*) cực trị là <eginaligned abla f_0(x) = 0endaligned>

Một số lấy ví dụ về việc tối ưu lồi

Bài toán quy hoạch tuyến đường tính cơ mà ta đã làm quen làm việc Chương 1 là một việc tối ưu lồi. <eginalignedmathrmmin.~ & c^T x + d \mathrms.t.~ và Gx preceq h \& A x = b,endaligned> trong số đó (G in mathbbR^m imes n) với (A in mathbbR^p imes n).

Các biến hóa tương đương sau vẫn bảo toàn tính lồi bến vấn đề gốc là lồi.

Dạng epigraph của một câu hỏi lồi cũng là một trong bài toán lồi.Thêm phát triển thành phụ (s_i) tương ứng với ràng buộc (f_i(x) leq 0) để trở nên ràng buộc này thành ràng buộc dạng đẳng thức.Bài toán buổi tối ưu trên một số biến vào trường hợp việc gốc có những ràng buộc chủ quyền theo những biến vẫn là bài toán lồi (xem phần 3.2).

Bài toán tối ưu hàm toàn phương

Bài toán buổi tối ưu hàm toàn phương tất cả dạng sau <eginalignedmathrmmin.~ & (1/2) x^T phường x + q^T x + r \mathrms.t.~ và Gx leq h \& A x = b,endaligned> trong những số đó (P in mathbbR^n imes n, p. succeq 0), (G in mathbbR^m imes n) với (A in mathbbR^p imes n). Việc trên là một trong những bài toán về tối ưu lồi.

Bài toán tối ưu trong hồi quy tuyến đường tính (linear regression hay nói một cách khác là least square) chính là một vấn đề tối ưu hàm toàn phương <eginaligned| Ax – b|^2_2 = x^T A^T A x – 2b^T A x + b^T b.endaligned> Nghiệm của bài toán tối ưu bên trên là (x^* = A^dagger b), trong những số ấy (A^dagger = (A^T A)^-1 A^T) là ma trận nghịch hòn đảo giả (Moore-Penrose pseudo-inverse) của ma trận A, được xem là dạng bao quát của phép nghịch hòn đảo ma trận trong trường phù hợp ma trận ko vuông hay không khả nghịch.

Geometric programming

Bài toán buổi tối ưu geometric programming xuất hiện trong một số nghành nghề dịch vụ trong kỹ thuật, kinh tế, công nghệ quản lý,… những bài toán maximum likelihood trong học trang bị thường thuộc đội này. Ta rất có thể đưa bài toán geometric programming thành việc lồi tương đương.

Ta có một trong những định nghĩa trước khi định nghĩa bài toán geometric programming như sau: Hàm 1-1 thức (monomial) được tư tưởng là (f(x) = c x_1^a_1 x_2^a_2 ldots x_n^a_n), trong đó (c > 0, a_i in mathbbR). Hàm nhiều thức (posynomial) là hàm tất cả dạng như sau (f(x) = sum_k = 1^K c x_1^a_1k x_2^a_2k ldots x_n^a_nk) trong những số đó (c_k > 0).

Bài toán tối ưu có dạng <eginalignedmathrmmin.~ và f_0(x)\mathrms.t.~ và f_i(x) leq 1, quad i = 1, ldots, m \& h_i(x) = 1, quad i = 1, ldots, p,endaligned> trong những số ấy (f_0, ldots, f_m) phần đa là posynomial, (h_i) là monomial được điện thoại tư vấn là việc tối ưu dạng geometric programming.

Bằng phương pháp thay vươn lên là (y_i = log x_i) và lấy logarit các hàm, ta có

đơn thức (f(x) = c x_1^a_1 x_2^a_2 ldots x_n^a_n) trở thành <eginalignedlog f(e^y_1, ldots, e^y_n)= a^T y + bendaligned> trong số ấy (b = log c),posynomial (f(x) = sum_k = 1^K c x_1^a_1k x_2^a_2k ldots x_n^a_nk) thay đổi <eginalignedlog f(e^y_1, ldots, e^y_n)= logBig(sum_i=1^K e^a_ik^T + b_ikBig),endaligned> trong các số đó (b_k = log c_k),

Do đó, geometric programming tương tự với câu hỏi tối ưu lồi sau <eginalignedmathrmmax.~ & logBig(sum_i=1^K e^a_0k^T + b_0kBig)\mathrms.t.~ và logBig(sum_i=1^K e^a_ik^T + b_ikBig) leq 1, quad i = 1, ldots, m \& Gy + d = 0, quad i = 1, ldots, p.endaligned>

Tài liệu tham khảo:

Stephen p Boyd & Lieven Vandenberghe. Convex optimization. Cambridge university press, 2004.