二次规划的对偶形式(CVX)
文章目錄
- 輸入數(shù)據(jù)
- 優(yōu)化代碼
- 計算對偶間隙
- 原目標(biāo)
- 拉格朗日的形式
- 對偶形式
- 參考
Section 5.2.4: Solves a simple QCQP
輸入數(shù)據(jù)
randn('state',13); n = 6; P0 = randn(n); P0 = P0'*P0 + eps*eye(n); P1 = randn(n); P1 = P1'*P1; P2 = randn(n); P2 = P2'*P2; P3 = randn(n); P3 = P3'*P3; q0 = randn(n,1); q1 = randn(n,1); q2 = randn(n,1); q3 = randn(n,1); r0 = randn(1); r1 = randn(1); r2 = randn(1); r3 = randn(1);優(yōu)化代碼
cvx_beginvariable x(n)dual variables lam1 lam2 lam3minimize( 0.5*quad_form(x,P0) + q0'*x + r0 )lam1: 0.5*quad_form(x,P1) + q1'*x + r1 <= 0;lam2: 0.5*quad_form(x,P2) + q2'*x + r2 <= 0;lam3: 0.5*quad_form(x,P3) + q3'*x + r3 <= 0; cvx_end obj1 = cvx_optval;計算對偶間隙
P_lam = P0 + lam1*P1 + lam2*P2 + lam3*P3; q_lam = q0 + lam1*q1 + lam2*q2 + lam3*q3; r_lam = r0 + lam1*r1 + lam2*r2 + lam3*r3; obj2 = -0.5*q_lam'*inv(P_lam)*q_lam + r_lam; disp('The duality gap is equal to '); disp(obj1-obj2)原目標(biāo)
minimize12xTP0x+q0Tx+r012xTP1x+q1Tx+r1<=012xTP2x+q2Tx+r2<=012xTP3x+q3Tx+r3<=0minimize \ \frac{1}{2}x^TP_0x+q_0^Tx+r_0\\ \frac{1}{2}x^TP_1x+q_1^Tx+r_1<=0\\ \frac{1}{2}x^TP_2x+q_2^Tx+r_2<=0\\ \frac{1}{2}x^TP_3x+q_3^Tx+r_3<=0 minimize?21?xTP0?x+q0T?x+r0?21?xTP1?x+q1T?x+r1?<=021?xTP2?x+q2T?x+r2?<=021?xTP3?x+q3T?x+r3?<=0
P0∈S++,P1,P2,P3∈S+P_0 \in S_{++},P_1,P_2,P_3 \in S_+P0?∈S++?,P1?,P2?,P3?∈S+?,原目標(biāo)是嚴(yán)格凸函數(shù),有唯一極小解
拉格朗日的形式
L(x,λ1,λ2,λ3)=12xTP0x+q0Tx+r0+∑i=13λi(12xTPix+qiTx+ri)=12xTP(λ)x+q(λ)Tx+r(λ)P(λ)=P0+∑i=13λiPiq(λ)=q0+∑i=13λiqir(λ)=r0+∑i=13λiriλ?0\mathcal{L}(x,\lambda_1,\lambda_2,\lambda_3)=\frac{1}{2}x^TP_0x+q_0^Tx+r_0+\sum_{i=1}^3\lambda_i(\frac{1}{2}x^TP_ix+q_i^Tx+r_i)\\= \frac{1}{2}x^TP(\lambda)x+q(\lambda)^Tx+r(\lambda)\\ P(\lambda)=P_0+\sum_{i=1}^3\lambda_iP_i\\ q(\lambda)=q_0+\sum_{i=1}^3\lambda_iq_i\\ r(\lambda)=r_0+\sum_{i=1}^3\lambda_ir_i\\ \lambda\succeq 0 L(x,λ1?,λ2?,λ3?)=21?xTP0?x+q0T?x+r0?+i=1∑3?λi?(21?xTPi?x+qiT?x+ri?)=21?xTP(λ)x+q(λ)Tx+r(λ)P(λ)=P0?+i=1∑3?λi?Pi?q(λ)=q0?+i=1∑3?λi?qi?r(λ)=r0?+i=1∑3?λi?ri?λ?0
對偶形式
由于對偶變量λ?0\lambda\succeq 0λ?0,因此,P(λ)∈S++P(\lambda)\in S_{++}P(λ)∈S++?
對拉格朗日求導(dǎo)可以得到極小值的位置
L(x,λ)=12xTP(λ)x+q(λ)Tx+r(λ)→P(λ)x+q(λ)=0→x=?P(λ)?1q(λ)\mathcal{L}(x,\lambda)=\frac{1}{2}x^TP(\lambda)x+q(\lambda)^Tx+r(\lambda)\rightarrow\\ P(\lambda)x+q(\lambda)=0\rightarrow x=-P(\lambda)^{-1}q(\lambda)L(x,λ)=21?xTP(λ)x+q(λ)Tx+r(λ)→P(λ)x+q(λ)=0→x=?P(λ)?1q(λ)
代入拉格朗日函數(shù),得到對偶形式
g(λ)=infx(L(x,λ))=?12q(λ)TP(λ)?1q(λ)+r(λ)λ?0g(\lambda)=\underset{x}{inf}(\mathcal{L}(x,\lambda))=-\frac{1}{2}q(\lambda)^TP(\lambda)^{-1}q(\lambda)+r(\lambda)\\\lambda\succeq 0g(λ)=xinf?(L(x,λ))=?21?q(λ)TP(λ)?1q(λ)+r(λ)λ?0
參考
http://web.cvxr.com/cvx/examples/cvxbook/Ch05_duality/html/qcqp.html
總結(jié)
以上是生活随笔為你收集整理的二次规划的对偶形式(CVX)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nuxt2.0 设置 webpack 路
- 下一篇: 非常完善的Log4net详细说明(转)