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

📄 newsolverdefinitions.m

📁 国外专家做的求解LMI鲁棒控制的工具箱,可以相对高效的解决LMI问题
💻 M
📖 第 1 页 / 共 2 页
字号:

solver(i) = sdpsolver;
solver(i).tag     = 'CSDP';
solver(i).version = '';
solver(i).checkfor= {'csdp','readsol','writesdpa'};
solver(i).call    = 'callcsdp';
solver(i).constraint.equalities.linear = 0;
i = i+1;

solver(i) = sdpsolver;
solver(i).tag     = 'MAXDET';
solver(i).version = '';
solver(i).checkfor= {'maxdet.m'};
solver(i).call    = 'callmaxdet';
solver(i).objective.maxdet = 1;
solver(i).dual = 0;
i = i+1;


% solver(i) = sdpsolver;
% solver(i).tag     = 'SPECSDP';
% solver(i).version = '';
% solver(i).checkfor= {'specsdp'};
% solver(i).call    = 'callspecsdp';
% solver(i).constraint.equalities.linear = 0; % Does not handle equality constraints
% solver(i).constraint.inequalities.semidefinite.quadratic = 1;
% i = i+1;

%OLD
% solver(i).tag     = 'specsdp';
% solver(i).version = '';
% solver(i).bmi     = 0;
% solver(i).pmi     = 0;
% solver(i).maxdet  = 0;
% solver(i).sdp     = 1;
% solver(i).kyp     = solver(i).sdp;
% solver(i).lp      = 1;
% solver(i).qp      = 0;
% solver(i).gp      = 0;
% solver(i).ncqp    = 0;
% solver(i).socp    = 0;
% solver(i).rotsocp = 0;
% solver(i).equalities = 0;
% solver(i).duals   = 1;
% solver(i).complex = 0;
% solver(i).integer = 0;
% solver(i).binary  = 0;
%solver(i).parametric = 0;
% solver(i).checkfor= {'SPSDPLSCX'};
% solver(i).call    = 'callspecsdp';
% solver(i).subcall = '';
% solver(i).show    = 1;
% i = i+1;

solver(i) = sdpsolver;
solver(i).tag     = 'PENSDP';
solver(i).version = 'PENOPT';
solver(i).checkfor= {'pensdpm'};
solver(i).call    = 'callpensdpm';
solver(i).constraint.equalities.linear = 0;
i = i+1;

solver(i) = sdpsolver;
solver(i).tag     = 'PENSDP';
solver(i).version = 'TOMLAB';
solver(i).checkfor= {'pensdp'};
solver(i).call    = 'callpensdp';
solver(i).constraint.equalities.linear = 0;
i = i+1;

solver(i) = sdpsolver;
solver(i).tag     = 'PENBMI';
solver(i).version = 'PENOPT';
solver(i).checkfor= {'penbmim'};
solver(i).call    = 'callpenbmim';
solver(i).objective.quadratic.convex = 1;
solver(i).objective.quadratic.nonconvex = 1;
solver(i).constraint.equalities.linear = 0;
solver(i).constraint.inequalities.semidefinite.quadratic = 1;
solver(i).constraint.inequalities.elementwise.quadratic.convex = 1;
solver(i).constraint.inequalities.elementwise.quadratic.nonconvex = 1;
i = i+1;

solver(i) = sdpsolver;
solver(i).tag     = 'PENBMI';
solver(i).version = 'TOMLAB';
solver(i).checkfor= {'penbmi'};
solver(i).call    = 'callpenbmi';
solver(i).objective.quadratic.convex = 1;
solver(i).objective.quadratic.nonconvex = 1;
solver(i).constraint.equalities.linear = 0;
solver(i).constraint.inequalities.semidefinite.quadratic = 1;
solver(i).constraint.inequalities.elementwise.quadratic.convex = 1;
solver(i).constraint.inequalities.elementwise.quadratic.nonconvex = 1;
i = i+1;

solver(i) = sdpsolver;
solver(i).tag     = 'LMILAB';
solver(i).version = '';
solver(i).checkfor= {'setlmis'};
solver(i).call    = 'calllmilab';
solver(i).dual = 0;
solver(i).constraint.equalities.linear = 0;
i = i+1;

solver(i) = sdpsolver;
solver(i).tag     = 'LMIRANK';
solver(i).version = '';
solver(i).checkfor= {'lmirank'};
solver(i).call    = 'calllmirank';
solver(i).dual = 0;
solver(i).constraint.inequalities.rank = 1;
solver(i).objective.linear = 0;
solver(i).constraint.equalities.linear = 0;
i = i+1;

solver(i) = emptysolver;
solver(i).tag     = 'MPT';
solver(i).version = '';
solver(i).checkfor= {'mpt_mpqp'};
solver(i).call    = 'callmpt';
solver(i).objective.linear = 1;
solver(i).objective.quadratic.convex = 1;
solver(i).objective.quadratic.nonconvex = 1;
solver(i).constraint.inequalities.elementwise.linear = 1;
solver(i).parametric = 1;
i = i+1;

solver(i) = sdpsolver;
solver(i).tag     = 'KYPD';
solver(i).version = '';
solver(i).checkfor= {'kypd_solver'};
solver(i).call    = 'callkypd';
i = i+1;

solver(i) = emptysolver;
solver(i).tag     = 'fmincon';
solver(i).version = 'geometric';
solver(i).checkfor= {'fmincon.m'};
solver(i).call    = 'callfmincongp';
solver(i).objective.sigmonial = 1;
solver(i).constraint.inequalities.elementwise.sigmonial = 1;
solver(i).constraint.equalities.linear = 1;
solver(i).constraint.equalities.quadratic = 1;
solver(i).constraint.equalities.polynomial = 1;
solver(i).constraint.equalities.sigmonial = 1;
i = i+1;

solver(i) = emptysolver;
solver(i).tag     = 'fmincon';
solver(i).version = 'standard';
solver(i).checkfor= {'fmincon.m'};
solver(i).call    = 'callfmincon';
solver(i).objective.linear = 1;
solver(i).objective.quadratic.convex = 1;
solver(i).objective.quadratic.nonconvex = 1;
solver(i).objective.polynomial = 1;
solver(i).objective.sigmonial = 1;
solver(i).constraint.equalities.linear = 1;
solver(i).constraint.equalities.quadratic = 1;
solver(i).constraint.equalities.polynomial = 1;
solver(i).constraint.equalities.sigmonial = 1;
solver(i).constraint.inequalities.elementwise.linear = 1;
solver(i).constraint.inequalities.elementwise.quadratic.convex = 1;
solver(i).constraint.inequalities.elementwise.quadratic.nonconvex = 1;
solver(i).constraint.inequalities.elementwise.polynomial = 1;
solver(i).constraint.inequalities.elementwise.sigmonial = 1;
%solver(i).constraint.inequalities.semidefinite.linear = 1;
%solver(i).constraint.inequalities.semidefinite.quadratic = 1;
%solver(i).constraint.inequalities.semidefinite.polynomial = 1;
solver(i).dual = 1;
i = i+1;


% solver(i) = qpsolver;
% solver(i).tag     = 'pennlp';
% solver(i).version = 'QP';
% solver(i).checkfor= {'pennlpm'};
% solver(i).call    = 'callpennlp';
% solver(i).objective.linear = 1;
% solver(i).objective.quadratic.convex = 1;
% solver(i).objective.quadratic.nonconvex = 0;
% solver(i).constraint.equalities.linear = 1;
% solver(i).constraint.inequalities.elementwise.linear = 1;
% solver(i).dual = 1;
% i = i+1;

% solver(i) = emptysolver;
% solver(i).tag     = 'pennlp';
% solver(i).version = 'standard';
% solver(i).checkfor= {'pennlpm'};
% solver(i).call    = 'callpennlp';
% solver(i).objective.linear = 1;
% solver(i).objective.quadratic.convex = 0;
% solver(i).objective.quadratic.nonconvex = 0;
% solver(i).objective.polynomial = 1;
% solver(i).objective.sigmonial = 1;
% solver(i).constraint.equalities.linear = 1;
% solver(i).constraint.equalities.quadratic = 1;
% solver(i).constraint.equalities.polynomial = 1;
% solver(i).constraint.equalities.sigmonial = 1;
% solver(i).constraint.inequalities.elementwise.linear = 1;
% solver(i).constraint.inequalities.elementwise.quadratic.convex = 1;
% solver(i).constraint.inequalities.elementwise.quadratic.nonconvex = 1;
% solver(i).constraint.inequalities.elementwise.polynomial = 1;
% solver(i).constraint.inequalities.elementwise.sigmonial = 1;
% solver(i).constraint.inequalities.semidefinite.linear = 0;
% solver(i).constraint.inequalities.semidefinite.quadratic = 0;
% solver(i).constraint.inequalities.semidefinite.polynomial = 0;
% solver(i).dual = 1;
% i = i+1;


solver(i) = emptysolver;
solver(i).tag     = 'fminsearch';
solver(i).version = '';
solver(i).checkfor= {'fminsearch.m'};
solver(i).call    = 'callfminsearch';
solver(i).objective.linear = 1;
solver(i).objective.quadratic.convex = 1;
solver(i).objective.quadratic.nonconvex = 1;
solver(i).objective.polynomial = 1;
solver(i).objective.sigmonial = 1;
solver(i).dual = 0;
i = i+1;

% solver(i) = emptysolver;
% solver(i).tag     = 'mpcvx';
% solver(i).tag     = 'mpcvx';
% solver(i).version = '';
% solver(i).checkfor= {'mpcvx'};
% solver(i).call    = 'mpcvx';
% solver(i).objective.linear = 1;
% solver(i).objective.quadratic.convex = 1;
% solver(i).objective.quadratic.nonconvex = 1;
% solver(i).constraint.inequalities.elementwise.linear = 1;
% solver(i).constraint.inequalities.secondordercone = 1;
% solver(i).constraint.inequalities.elementwise.polynomial = 1;
% solver(i).parametric = 1;
% i = i+1;

% % ***************************************
% % SOMEWHAT MORE COMPLEX DEFINITIONS OF
% % THE INTERNAL MICP SOLVER
% % ***************************************
solver(i) = emptysolver;
solver(i).tag     = 'BNB';
solver(i).version = '';
solver(i).checkfor= {'bnb'};
solver(i).call    = 'bnb';
solver(i).objective.linear = 1;
solver(i).objective.sigmonial = 1;
solver(i).objective.polynomial = 1;
solver(i).objective.quadratic.convex = 1;
solver(i).constraint.equalities.linear = 1;
solver(i).constraint.inequalities.elementwise.linear = 1;
solver(i).constraint.inequalities.elementwise.sigmonial = 1;
solver(i).constraint.inequalities.elementwise.polynomial = 1;
solver(i).constraint.inequalities.semidefinite.linear = 1;
solver(i).constraint.inequalities.secondordercone = 1;
solver(i).constraint.inequalities.rotatedsecondordercone = 1;
solver(i).constraint.integer = 1;
solver(i).constraint.binary = 1;
i = i+1;

% % ***************************************
% % SOMEWHAT MORE COMPLEX DEFINITIONS OF
% % THE INTERNAL MICP SOLVER
% % ***************************************
solver(i) = emptysolver;
solver(i).tag     = 'CUTSDP';
solver(i).version = '';
solver(i).checkfor= {'cutsdp'};
solver(i).call    = 'cutsdp';
solver(i).objective.linear = 1;
solver(i).objective.sigmonial = 0;
solver(i).objective.polynomial = 0;
solver(i).objective.quadratic.convex = 1;
solver(i).constraint.equalities.linear = 1;
solver(i).constraint.inequalities.elementwise.linear = 1;
solver(i).constraint.inequalities.semidefinite.linear = 1;
solver(i).constraint.integer = 1;
solver(i).constraint.binary = 1;
solver(i).dual = 1;
i = i+1;

% ***************************************
% SOMEWHAT MORE COMPLEX DEFINITIONS OF
% THE INTERNAL GLOBAL BMI SOLVER
% ***************************************
solver(i) = emptysolver;
solver(i).tag     = 'BMIBNB';
solver(i).version = '';
solver(i).checkfor= {'bmibnb'};
solver(i).call    = 'bmibnb';
solver(i).objective.linear = 1;
solver(i).objective.quadratic.convex = 1;
solver(i).objective.quadratic.nonconvex = 1;
solver(i).constraint.equalities.linear = 1;
solver(i).constraint.inequalities.elementwise.linear = 1;
solver(i).constraint.inequalities.elementwise.quadratic.convex = 1;
solver(i).constraint.inequalities.elementwise.quadratic.nonconvex = 1;
solver(i).constraint.inequalities.semidefinite.linear = 1;
solver(i).constraint.inequalities.semidefinite.quadratic = 1;
solver(i).constraint.inequalities.secondordercone = 1;
solver(i).constraint.inequalities.rotatedsecondordercone = 1;
solver(i).constraint.inequalities.rank = 1;
solver(i).constraint.binary  = 1;
solver(i).constraint.integer = 1;
i = i+1;

% solver(i) = emptysolver;
% solver(i).tag     = 'GLOBAL';
% solver(i).version = 'BMI';
% solver(i).checkfor= {'bmibnb'};
% solver(i).call    = 'bmibnb';
% solver(i).objective.linear = 1;
% solver(i).constraint.equalities.linear = 1;
% solver(i).constraint.inequalities.elementwise.linear = 1;
% solver(i).constraint.inequalities.elementwise.quadratic.convex = 1;
% solver(i).constraint.inequalities.elementwise.quadratic.nonconvex = 1;
% solver(i).constraint.inequalities.semidefinite.linear = 1;
% solver(i).constraint.inequalities.semidefinite.quadratic = 1;
% solver(i).constraint.inequalities.secondordercone = 1;
% solver(i).constraint.inequalities.rotatedsecondordercone = 1;
% i = i+1;
% 
% solver(i) = emptysolver;
% solver(i).tag     = 'GLOBAL';
% solver(i).version = 'DISCRETE';
% solver(i).checkfor= {'bnb'};
% solver(i).call    = 'bnb';
% solver(i).objective.linear = 1;
% solver(i).objective.sigmonial = 1;
% solver(i).objective.quadratic.convex = 1;
% solver(i).constraint.equalities.linear = 1;
% solver(i).constraint.inequalities.elementwise.linear = 1;
% solver(i).constraint.inequalities.elementwise.sigmonial = 1;
% solver(i).constraint.inequalities.semidefinite.linear = 1;
% solver(i).constraint.inequalities.secondordercone = 1;
% solver(i).constraint.inequalities.rotatedsecondordercone = 1;
% solver(i).constraint.integer = 1;
% solver(i).constraint.binary = 1;
% i = i+1;

solver(i) = emptysolver;
solver(i).tag     = 'none';
solver(i).version = '';
solver(i).checkfor= {'callnone.m'};
solver(i).call    = 'callnone';
solver(i).objective.linear = 1;
solver(i).constraint.equalities.linear = 1;
solver(i).constraint.inequalities.elementwise.linear = 1;
solver(i).constraint.inequalities.elementwise.quadratic.convex = 1;
solver(i).constraint.inequalities.elementwise.quadratic.nonconvex = 1;
solver(i).constraint.inequalities.semidefinite.linear = 1;
solver(i).constraint.inequalities.semidefinite.quadratic = 1;
i = i+1;

⌨️ 快捷键说明

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