日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

二次规划的对偶形式(CVX)

發布時間:2023/12/10 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二次规划的对偶形式(CVX) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 輸入數據
    • 優化代碼
    • 計算對偶間隙
    • 原目標
    • 拉格朗日的形式
    • 對偶形式
    • 參考

解析一下 Boyd & Vandenberghe, "Convex Optimization"上的例子,重點在于其對偶形式是怎么得到的
Section 5.2.4: Solves a simple QCQP

輸入數據

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);

優化代碼

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)

原目標

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+?,原目標是嚴格凸函數,有唯一極小解

拉格朗日的形式

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=13?λi?(21?xTPi?x+qiT?x+ri?)=21?xTP(λ)x+q(λ)Tx+r(λ)P(λ)=P0?+i=13?λi?Pi?q(λ)=q0?+i=13?λi?qi?r(λ)=r0?+i=13?λi?ri?λ?0

對偶形式

由于對偶變量λ?0\lambda\succeq 0λ?0,因此,P(λ)∈S++P(\lambda)\in S_{++}P(λ)S++?
對拉格朗日求導可以得到極小值的位置
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(λ)=0x=?P(λ)?1q(λ)
代入拉格朗日函數,得到對偶形式
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

總結

以上是生活随笔為你收集整理的二次规划的对偶形式(CVX)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。