ex_doc_sparseformat.m
来自「HERE IS A GOOD PSO TOOL BOX」· M 代码 · 共 71 行
M
71 行
%----------------------------------------------------------------------%% GP EXAMPLE IN THE DOCUMENT%%----------------------------------------------------------------------%% minimize: x^-1*y^-0.5*z^-1 + 2.3*x*z + 4*x*y*z% subject to: (1/3)*x^-2*y^-2 + (4/3)*y^0.5*z^-1 <= 1% 0.1*x + 0.2*y + 0.3*z <= 1% (1/2)*x*y = 1; %% This is an example shown in the documentation of gpcvx and gpposy% (see gpposy.ps and gpcvx.ps in doc directory).%clear all; close all;%----------------------------------------------------------------------% PROBLEM DATA IN POSYNOMIAL FORM (SPARSE FORMAT)%----------------------------------------------------------------------A0 = sparse(3,3);A1 = sparse(2,3);A2 = sparse(3,3); A0(1,1) = -1; A0(1,2) = -0.5; A0(1,3) = -1; A0(2,1) = 1; A0(2,3) = 1; A0(3,1) = 1; A0(3,2) = 1; A0(3,3) = 1; A1(1,1) = -2; A1(1,2) = -2; A1(2,2) = 0.5; A1(2,3) = -1; A2(1,1) = 1; A2(2,2) = 1; A2(3,3) = 1;A = [ A0; A1; A2 ];b0 = [ 1; 2.3; 4 ];b1 = [ 1/3; 4/3 ];b2 = [ 0.1; 0.2; 0.3 ];G = sparse(1,3); G(1,1) = 1; G(1,2) = 1;b = [ b0; b1; b2 ];h = 0.5;szs = [ size(A0,1); size(A1,1); size(A2,1) ];%----------------------------------------------------------------------% SOLVE THE PROBLEM IN POSYNOMIAL FORM%----------------------------------------------------------------------[x1,status1,lambda1,nu1] = gpposy(A,b,szs,G,h);sol_posy = x1%----------------------------------------------------------------------% SOLVE THE PROBLEM IN CONVEX FORM%----------------------------------------------------------------------[x2,status2,lambda2,nu2,mu2] = gpcvx(A,log(b),szs,G,log(h));sol_cvx = exp(x2)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?