我在通过Yalmip设置Quadprog求解器的选项时遇到了问题。
Options = sdpsettings('solver','quadprog','quadprog.Algorithm', ...
'interior-point-convex','quadprog.Display', ...
'iter','quadprog.Diagnostics', 'on');
diagnostics = solvesdp(Constraints , Objective, Options);但这些选项设置都不起作用。特别是,它不会迭代地显示进度。文档或常见问题解答也没有多大帮助。
发布于 2012-08-11 14:34:04
要以一致的求解器不可知的方式控制显示级别,必须始终通过verbose选项进行控制。将其设置为2,您将设置迭代显示选项。在调用quadprog之前,YALMIP内部的代码如下所示
switch options.verbose
case 0
options.quadprog.Display = 'off';
case 1
options.quadprog.Display = 'final';
otherwise
options.quadprog.Display = 'iter';
end话虽如此,它也不会让你走得更远。在最近的MATLAB版本中,出于某种奇怪的原因,他们删除了迭代显示。如果你阅读了有关quadprog的帮助,它指出,目前只有'final‘和'off’是参数显示的有效值('iter‘不可用)。
最后,如果你在学术界和一些小QP之外的任何地方,安装一个更好的QP求解器。Quadprog充其量也是平庸的。cplex、gurobi、xpress和mosek等求解器都有(全功能)免费的学术版。
https://stackoverflow.com/questions/11911047
复制相似问题