最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。
二次計画法
線形制約がある二次目的関数のソルバーです。
quadprog は、次によって指定される問題の最小値を求めます。
H、A、Aeq は行列、f、b、beq、lb、ub、x はベクトルです。
f、lb および ub はベクトルまたは行列として渡すことができます。行列引数を参照してください。
メモ
quadprog
は、ソルバーベースのアプローチのみに適用されます。2 つの最適化アプローチの詳細については、はじめに問題ベース アプローチまたはソルバーベース アプローチを選択を参照してください。
は、x
= quadprog(H
,f
,A
,b
,Aeq
,beq
,lb
,ub
)lb
≤ x
≤ ub
という追加制約の下で上記の問題を解きます。入力 lb
および ub
は double のベクトルであり、制約は x
の各成分に適用されます。等式が存在しない場合には Aeq = []
と beq = []
を設定してください。
メモ
問題の指定された入力範囲が矛盾する場合、出力 x
は x0
、出力 fval
は []
です。
quadprog
は、範囲 lb
≤ x
≤ ub
に違反する x0
の要素を、この範囲で定義されたボックスの内部にリセットします。quadprog
は、範囲内の要素を変更しません。
は、x
= quadprog(problem
)problem
の最小値を返します。ここで、problem
は説明で説明されている構造体です。最適化アプリを使用して問題をエクスポートすることで problem
を作成します。作業のエクスポートを参照してください。または、prob2struct
を使用して OptimizationProblem
オブジェクトから構造体 problem
を作成します。
二次計画法には最適化アプリを使用できます。MATLAB® のコマンド ラインに optimtool
と入力し、[quadprog - 二次計画法]
ソルバーを選択してください。詳細は、最適化アプリを参照してください。
問題ベースの最適化の設定を使用して二次計画問題を解くことができます。例については、二次計画法を参照してください。
[1] Coleman, T. F., and Y. Li. “A Reflective Newton Method for Minimizing a Quadratic Function Subject to Bounds on Some of the Variables.” SIAM Journal on Optimization. Vol. 6, Number 4, 1996, pp. 1040–1058.
[2] Gill, P. E., W. Murray, and M. H. Wright. Practical Optimization. London: Academic Press, 1981.
[3] Gould, N., and P. L. Toint. “Preprocessing for quadratic programming.” Mathematical Programming. Series B, Vol. 100, 2004, pp. 95–132.
linprog
| lsqlin
| optimoptions
| prob2struct