function solver = definesolvers
% ****************************
% Create a default solver
% ****************************
emptysolver.tag = '';
emptysolver.version = ''; % Developer/from module
emptysolver.subversion = ''; % Typically the release number
emptysolver.checkfor = {''};
emptysolver.versionnumbercreator = []; % A function returning e.g. x.y.z
emptysolver.requiredversionnumber= [];
emptysolver.detector= [];
emptysolver.call = '';
emptysolver.subcall = '';
emptysolver.show = 1;
emptysolver.usesother = 0;
emptysolver.builtin = 0;
emptysolver.supportsinitial = 0;
emptysolver.supportsinitialNAN = 0;
emptysolver.supportshighprec = 0;
emptysolver.objective.linear = 0;
emptysolver.objective.quadratic.convex = 0;
emptysolver.objective.quadratic.nonconvex = 0;
emptysolver.objective.quadratic.nonnegative = 0;
emptysolver.objective.polynomial = 0;
emptysolver.objective.maxdet.convex = 0;
emptysolver.objective.maxdet.nonconvex = 0;
emptysolver.objective.sigmonial = 0;
emptysolver.constraint.equalities.linear = 0;
emptysolver.constraint.equalities.quadratic = 0;
emptysolver.constraint.equalities.polynomial = 0;
emptysolver.constraint.equalities.sigmonial = 0;
emptysolver.constraint.equalities.multiterm = 1;
emptysolver.constraint.inequalities.elementwise.linear = 0;
emptysolver.constraint.inequalities.elementwise.quadratic.convex = 0;
emptysolver.constraint.inequalities.elementwise.quadratic.nonconvex = 0;
emptysolver.constraint.inequalities.elementwise.quadratic.nonegative = 0;
emptysolver.constraint.inequalities.elementwise.polynomial = 0;
emptysolver.constraint.inequalities.elementwise.sigmonial = 0;
emptysolver.constraint.inequalities.semidefinite.linear = 0;
emptysolver.constraint.inequalities.semidefinite.quadratic = 0;
emptysolver.constraint.inequalities.semidefinite.polynomial = 0;
emptysolver.constraint.inequalities.semidefinite.sigmonial = 0;
emptysolver.constraint.inequalities.rank = 0;
emptysolver.constraint.inequalities.secondordercone.linear = 0;
emptysolver.constraint.inequalities.secondordercone.nonlinear = 0;
emptysolver.constraint.inequalities.rotatedsecondordercone.linear = 0;
emptysolver.constraint.inequalities.rotatedsecondordercone.nonlinear = 0;
emptysolver.constraint.complementarity.variable = 0;
emptysolver.constraint.complementarity.linear = 0;
emptysolver.constraint.complementarity.nonlinear = 0;
emptysolver.constraint.integer = 0;
emptysolver.constraint.binary = 0;
emptysolver.constraint.semivar = 0;
emptysolver.constraint.semiintvar = 0;
emptysolver.constraint.sos1 = 0;
emptysolver.constraint.sos2 = 0;
emptysolver.dual = 0;
emptysolver.complex = 0;
emptysolver.interval = 0;
emptysolver.parametric = 0;
emptysolver.evaluation = 0;
emptysolver.exponentialcone = 0;
emptysolver.powercone = 0;
emptysolver.uncertain = 0;
emptysolver.global = 0;
% **************************************
% Some standard solvers to simplify code
% **************************************
% LP solver
lpsolver = emptysolver;
lpsolver.objective.linear = 1;
lpsolver.constraint.equalities.linear = 1;
lpsolver.constraint.inequalities.elementwise.linear = 1;
lpsolver.dual = 1;
lpsolver.global = 1;
% QP solver
qpsolver = emptysolver;
qpsolver.objective.linear = 1;
qpsolver.objective.quadratic.convex = 1;
qpsolver.constraint.equalities.linear = 1;
qpsolver.constraint.inequalities.elementwise.linear = 1;
qpsolver.dual = 1;
qpsolver.global = 1;
% SDP solver
sdpsolver = emptysolver;
sdpsolver.objective.linear = 1;
sdpsolver.constraint.equalities.linear = 1;
sdpsolver.constraint.inequalities.elementwise.linear = 1;
sdpsolver.constraint.inequalities.semidefinite.linear = 1;
sdpsolver.dual = 1;
sdpsolver.global = 1;
% ****************************
% INITIALIZE COUNTER
% ****************************
i = 1;
% ****************************
% DEFINE SOLVERS
% ****************************
solver(i) = qpsolver;
solver(i).tag = 'GUROBI';
solver(i).version = '';
solver(i).checkfor= {'gurobi'};
solver(i).call = 'callgurobi';
solver(i).constraint.inequalities.elementwise.quadratic.convex = 1;
solver(i).constraint.inequalities.secondordercone.linear = 1;
solver(i).constraint.integer = 1;
solver(i).constraint.binary = 1;
solver(i).constraint.semivar = 1;
solver(i).constraint.sos2 = 1;
solver(i).supportsinitial = 1;
solver(i).supportsinitialNAN = 1;
i = i+1;
solver(i) = qpsolver;
solver(i).tag = 'GUROBI';
solver(i).version = 'NONCONVEX';
solver(i).checkfor= {'gurobi'};
solver(i).call = 'callgurobi';
solver(i).objective.quadratic.nonconvex = 1;
solver(i).constraint.inequalities.elementwise.quadratic.convex = 1;
solver(i).constraint.inequalities.elementwise.quadratic.nonconvex = 1;
solver(i).constraint.equalities.quadratic = 1;
solver(i).constraint.inequalities.secondordercone.linear = 1;
solver(i).constraint.integer = 1;
solver(i).constraint.binary = 1;
solver(i).constraint.semivar = 1;
solver(i).constraint.sos2 = 1;
solver(i).supportsinitial = 1;
solver(i).supportsinitialNAN = 1;
i = i+1;
solver(i) = qpsolver;
solver(i).tag = 'CPLEX';
solver(i).version = 'IBM';
solver(i).subversion = '12.10.0';
solver(i).checkfor= {'cplexqcp.m','cplexlink12100'};
solver(i).call = 'call_cplexibm_qcmiqp';
solver(i).objective.quadratic.convex = 1;
solver(i).constraint.inequalities.elementwise.quadratic.convex = 1;
solver(i).constraint.inequalities.secondordercone.linear = 1;
solver(i).constraint.integer = 1;
solver(i).constraint.binary = 1;
solver(i).constraint.sos2 = 1;
solver(i).constraint.semivar = 1;
solver(i).constraint.semiintvar = 1;
solver(i).supportsinitial = 1;
i = i+1;
solver(i) = qpsolver;
solver(i).tag = 'CPLEX';
solver(i).version = 'IBM';
solver(i).subversion = '12.10.0';
solver(i).checkfor= {'cplexqcp.m','cplexlink12100'};
solver(i).call = 'call_cplexibm_qcmiqp';
solver(i).objective.quadratic.nonconvex = 1;
solver(i).constraint.integer = 1;
solver(i).constraint.binary = 1;
solver(i).constraint.sos2 = 1;
solver(i).constraint.semivar = 1;
solver(i).constraint.semiintvar = 1;
solver(i).supportsinitial = 1;
i = i+1;
solver(i) = qpsolver;
solver(i).tag = 'CPLEX';
solver(i).version = 'IBM';
solver(i).subversion = '12.9.0';
solver(i).checkfor= {'cplexqcp.m','cplexlink1290'};
solver(i).call = 'call_cplexibm_qcmiqp';
solver(i).objective.quadratic.convex = 1;
solver(i).constraint.inequalities.elementwise.quadratic.convex = 1;
solver(i).constraint.inequalities.secondordercone.linear = 1;
solver(i).constraint.integer = 1;
solver(i).constraint.binary = 1;
solver(i).constraint.sos2 = 1;
solver(i).constraint.semivar = 1;
solver(i).constraint.semiintvar = 1;
solver(i).supportsinitial = 1;
i = i+1;
solver(i) = qpsolver;
solver(i).tag = 'CPLEX';
solver(i).version = 'IBM';
solver(i).subversion = '12.9.0';
solver(i).checkfor= {'cplexqcp.m','cplexlink1290'};
solver(i).call = 'call_cplexibm_qcmiqp';
solver(i).objective.quadratic.nonconvex = 1;
solver(i).constraint.integer = 1;
solver(i).constraint.binary = 1;
solver(i).constraint.sos2 = 1;
solver(i).constraint.semivar = 1;
solver(i).constraint.semiintvar = 1;
solver(i).supportsinitial = 1;
i = i+1;
solver(i) = qpsolver;
solver(i).tag = 'CPLEX';
solver(i).version = 'IBM';
solver(i).subversion = '12.8.0';
solver(i).checkfor= {'cplexqcp.m','cplexlink1280'};
solver(i).call = 'call_cplexibm_qcmiqp';
solver(i).objective.quadratic.convex = 1;
solver(i).constraint.inequalities.elementwise.quadratic.convex = 1;
solver(i).constraint.inequalities.secondordercone.linear = 1;
solver(i).constraint.integer = 1;
solver(i).constraint.binary = 1;
solver(i).constraint.sos2 = 1;
solver(i).constraint.semivar = 1;
solver(i).constraint.semiintvar = 1;
solver(i).supportsinitial = 1;
i = i+1;
solver(i) = qpsolver;
solver(i).tag = 'CPLEX';
solver(i).version = 'IBM';
solver(i).subversion = '12.8.0';
solver(i).checkfor= {'cplexqcp.m','cplexlink1280'};
solver(i).call = 'call_cplexibm_qcmiqp';
solver(i).objective.quadratic.nonconvex = 1;
solver(i).constraint.integer = 1;
solver
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
YALMIP资源下载包 (1307个子文件)
findhashsorted.c 2KB
findhash.c 1KB
.gitignore 7B
definesolvers.m 58KB
yalmip.m 57KB
compileinterfacedata.m 52KB
bnb_branch_and_bound.m 48KB
bmibnb_branch_and_bound.m 47KB
callmpcvx.m 39KB
sdpsettings.m 37KB
mtimes.m 34KB
cutsdp.m 30KB
solvebilevel.m 29KB
dualize.m 28KB
selectsolver.m 28KB
iterative_refinement.m 26KB
decomposeUncertain.m 25KB
bmibnb.m 24KB
sdpvar.m 24KB
compilesos.m 21KB
lmi2sedumistruct.m 21KB
categorizeproblem.m 20KB
solvesdp.m 18KB
yalmiptest.m 17KB
fmincon_con.m 16KB
subsref.m 16KB
gams2yalmip.m 15KB
expandmodel.m 15KB
robustify.m 15KB
solvesos.m 15KB
solvelower.m 14KB
expandrecursive.m 13KB
eliminatevariables.m 13KB
norm.m 12KB
propagate_bounds_from_equalities.m 12KB
pwa_yalmip.m 12KB
findapplicablesolvers.m 12KB
optimizer.m 12KB
times.m 12KB
mpcvx.m 12KB
value.m 11KB
subsasgn.m 11KB
subsref.m 11KB
normalizeExponentialCone.m 10KB
plus.m 10KB
sdisplay.m 10KB
setupBMIBNB.m 10KB
yalmip2gurobi.m 10KB
minus.m 10KB
generate_kernel_representation_data.m 10KB
mpt_appendmodel.m 9KB
addExponentialCone.m 9KB
binmodel.m 9KB
bnb.m 9KB
filter_duality.m 9KB
convert_sigmonial_to_sdpfun.m 9KB
blackbox.m 9KB
check.m 9KB
lmi.m 8KB
milpsubsref.m 8KB
callsdpt34.m 8KB
convert_polynomial_to_quadratic.m 8KB
pwq_yalmip.m 8KB
callpenbmim.m 8KB
filter_enumeration.m 8KB
is.m 8KB
call_mosek_primal.m 8KB
kkt.m 8KB
display.m 8KB
coefficients.m 8KB
callbaron.m 8KB
convertquadratics.m 7KB
saveampl.m 7KB
yalmip2geometric.m 7KB
pwf.m 7KB
monolist.m 7KB
detect_knapsack.m 7KB
export.m 7KB
derivedualBounds.m 7KB
is.m 7KB
callscipnl.m 7KB
diagonalize_quadratic_program.m 7KB
propagate_bounds_from_arbitrary_quadratics.m 6KB
plotInternalModel.m 6KB
callmaxdet.m 6KB
call_cplexibm_miqp.m 6KB
bisection_core.m 6KB
yalmip2nonlinearsolver.m 6KB
update_one_eval_bound.m 6KB
setup_fmincon_params.m 6KB
addEvalVariableCuts.m 6KB
callpenbmi.m 6KB
callsqplab.m 6KB
interp2_internal.m 6KB
callknitro.m 6KB
solvemp.m 6KB
solvesdp_multiple.m 6KB
callsnoptgp.m 6KB
apply_recursive_differentiation.m 6KB
mpt_enumerate_binary.m 6KB
共 1307 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14
资源评论
刘瑞瑞rr
- 粉丝: 264
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功