⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qcqp.m

📁 斯坦福大学Grant和Boyd教授等开发的凸优化matlab工具箱
💻 M
字号:
% Section 5.2.4: Solves a simple QCQP% Boyd & Vandenberghe, "Convex Optimization"% Jo雔le Skaf - 08/23/05%% Solved a QCQP with 3 inequalities:%           minimize    1/2 x'*P0*x + q0'*r + r0%               s.t.    1/2 x'*Pi*x + qi'*r + ri <= 0   for i=1,2,3% and verifies that strong duality holds.% Input datarandn('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);fprintf(1,'Computing the optimal value of the QCQP and its dual... ');cvx_begin    variable x(n)    dual variables lam1 lam2 lam3    minimize( 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_endobj1 = 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;fprintf(1,'Done! \n');% Displaying resultsdisp('------------------------------------------------------------------------');disp('The duality gap is equal to ');disp(obj1-obj2)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -