Main Content

反復は制約に違反する可能性あり

中間の反復は制約に違反する可能性あり

目的関数と制約関数を記述するときに気を付けてください。中間的な反復は、実行不可能な (制約を満たさない) 点を導くことがあります。実行可能性を仮定して目的関数または制約関数を記述する場合は、これらの関数はエラーを発生するか、予期しない結果をもたらすことがあります。

たとえば、x や x < 0 の平方根または対数を取ると、結果は実数にはなりません。0 を x の下限として設定することにより、このエラーを避けることはできます。しかし、中間的な反復はこの範囲に違反する可能性があります。

範囲制約を満たすアルゴリズム

一部のソルバー アルゴリズムは、すべての反復で範囲制約を満たします。

  • fmincon interior-pointsqp、および trust-region-reflective アルゴリズム

  • lsqnonlin および lsqcurvefit

  • fminbnd

メモ

下限を上限と等しく設定すると、反復がこれらの制約に違反することがあります。

範囲制約に違反できるソルバーとアルゴリズム

次のソルバーとアルゴリズムは、中間の反復で範囲制約に違反することができます。

  • fmincon active-set アルゴリズム

  • fgoalattain

  • fminimax

  • fseminf

関連するトピック