0

Yalmipを介してQuadprogソルバーのオプションを設定する際に問題が発生します。

Options = sdpsettings('solver','quadprog','quadprog.Algorithm', ... 
                      'interior-point-convex','quadprog.Display', ...
                      'iter','quadprog.Diagnostics', 'on');
diagnostics = solvesdp(Constraints , Objective, Options);

ただし、これらのオプション設定はいずれも機能しません。特に、進行状況を繰り返し表示することはありません。ドキュメントやFAQもあまり役に立ちませんでした。

4

1 に答える 1

2

ソルバーに依存しない一貫した方法で表示レベルを制御するには、常に詳細オプションを使用して制御します。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' のみがパラメーター Display の有効な値です ('iter' は使用できません) と記載されています。

最後に、学術界にいてマイナーな QP 以外の何かがある場合は、より優れた QP ソルバーをインストールしてください。Quadprog はせいぜい平凡です。cplex、gurobi、xpress、および mosek などのソルバーにはすべて、(完全な機能を備えた) 無料のアカデミック バージョンがあります。

于 2012-08-11T06:34:03.563 に答える