ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

infeasibility

点における制約違反

構文

infeas = infeasibility(constr,pt)

説明

infeas = infeasibility(constr,pt) は、点 pt における制約 constr の違反の数を返します。

すべて折りたたむ

点が制約を満たしているかどうかを確認します。

最適化変数と 2 つの制約を設定します。

x = optimvar('x');
y = optimvar('y');
cons = x + y <= 2;
cons2 = x + y/4 <= 1;

x = 0, y = 3cons という名前の制約を満たしているかどうかを確認します。実行不可能性がゼロの場合に、点は実行可能です。

pt.x = 0;
pt.y = 3;
infeas = infeasibility(cons,pt)
infeas = 1

点は、この制約に関して実行不可能です。

その他の制約に関する実行可能性を確認します。

infeas = infeasibility(cons2,pt)
infeas = 0

点は、この制約に関して実行可能です。

点が複数の条件をもつ制約を満たしているかどうかを確認します。

最適化変数と制約のベクトルを設定します。

x = optimvar('x',3,2);
cons = sum(x,2) <= [1;3;2];

pt.x = [1,-1;2,3;3,-1] がこれらの制約を満たしているかどうかを確認します。

pt.x = [1,-1;2,3;3,-1];
infeas = infeasibility(cons,pt)
infeas = 

     0
     2
     0

点は、2 番目の制約に関して実行不可能です。

入力引数

すべて折りたたむ

最適化制約。OptimizationConstraint オブジェクトとして指定します。constr は単一の制約または制約の配列を表すことができます。

例: constr = x + y <= 1 は、xy がスカラー変数の場合は単一の制約です。

例: constr = sum(x) == 1 は、x が 2 次元以上の配列の場合は制約の配列です。

評価する点。制約の最適化変数に対して、最適化変数名に一致するフィールド名をもつ構造体として指定します。pt 内の各フィールドのサイズは、対応する最適化変数のサイズと一致していなければなりません。

例: pt.x = 5*eye(3)

データ型: struct

出力引数

すべて折りたたむ

制約の実行不可能性。実数配列として返されます。ゼロである各エントリは実行可能な制約を表し、正の各エントリは実行不可能な制約を表します。infeas のサイズは、制約 constr のサイズと同じです。非スカラー infeas の例については、複数の制約違反の計算を参照してください。

R2017b で導入