Main Content

制約の種類

Optimization Toolbox™ のソルバーには制約を定義する特定の形式があります。

  • 範囲制約 — 個々の要素の上限と下限。x ≥ lx ≤ u です。

  • 線形不等式制約A·x ≤ b。A は m 行 n 列の行列で、n 次元のベクトル x に対する m の制約を表しています。b は m 次元です。

  • 線形等式制約Aeq·x = beq.等式制約は不等式制約と同じ形式をもっています。

  • 非線形制約c(x) ≤ 0ceq(x) = 0。c と ceq は、いくつかの制約を示すスカラーまたはベクトルです。

Optimization Toolbox 関数は、ci(x) ≤ 0 または A·x ≤ b の形式の不等式制約を前提とします。大なり記号の制約は、-1 を乗算して小なり記号の制約として表現します。たとえば、ci(x) ≥ 0 の形式の制約は、–ci(x) ≤ 0 の制約と同じです。A·x ≥ b の形式の制約は –A·x ≤ –b の制約と同じです。詳細については、線形不等式制約非線形制約を参照してください。

制約は、いくつかの方法で記述できる場合があります。最適な結果を得るために、使用する制約はできるだけ少なくしてください。

  1. 範囲

  2. 線形等式

  3. 線形不等式

  4. 非線形等式

  5. 非線形不等式

たとえば、制約 5 x ≤ 20 がある場合、線形不等式または非線形不等式ではなく、x ≤ 4 の範囲を使用します。

追加パラメーターを制約関数に受け渡す方法は 追加パラメーターの受け渡し を参照してください。