ドキュメンテーション

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

OptimizationConstraint

説明

OptimizationConstraint オブジェクトには、OptimizationVariable オブジェクトに関する制約式が含まれます。各制約式は、比較演算子 ==<=>= のいずれかを使用します。

1 つの式によって 1 つの制約配列を表すことができます。たとえば、この単一の式で行列変数 x の各行の和を 1 とする制約を、この 1 つの式で表すことができます。

constrsum = sum(x,2) == 1

作成

比較演算子 ==<=>= のいずれかをもつ最適化式を使用して制約を作成します。

ドット表記を使用して、Constraints プロパティに制約を含めます。

prob = optimproblem;
x = optimvar(x,4,6);
SumToOne = sum(x,2) == 1;
prob.Constraints.SumToOne = SumToOne;

optimconstr を使用して空の最適化制約を作成することもできます。通常は、その後、ループでその式に入力します。例については、optimconstr の関数リファレンス ページを参照してください。

プロパティ

すべて展開する

インデックスの名前。string の cell 配列または文字ベクトルを指定します。インデックス名の使用法の詳細は、最適化変数の名前付きインデックスを参照してください。

データ型: cell

オブジェクト関数

infeasibility点における制約違反
showconstr最適化制約の表示
writeconstr最適化制約の説明の保存

すべて折りたたむ

x という名前の 4 行 6 列の最適化変数行列を作成します。

x = optimvar('x',4,6);

x の各行の和を 1 とする制約を作成します。

constrsum = sum(x,2) == 1
constrsum = 
  4x1 OptimizationConstraint array with properties:

    IndexNames: {{}  {}}

  See constraint formulation with showconstr.

制約を表示します。

showconstr(constrsum)
(1, 1)

  x(1, 1) + x(1, 2) + x(1, 3) + x(1, 4) + x(1, 5) + x(1, 6) == 1

(2, 1)

  x(2, 1) + x(2, 2) + x(2, 3) + x(2, 4) + x(2, 5) + x(2, 6) == 1

(3, 1)

  x(3, 1) + x(3, 2) + x(3, 3) + x(3, 4) + x(3, 5) + x(3, 6) == 1

(4, 1)

  x(4, 1) + x(4, 2) + x(4, 3) + x(4, 4) + x(4, 5) + x(4, 6) == 1

最適化問題に制約を含めるには、ドット表記を使用します。

prob = optimproblem;
prob.Constraints.constrsum = constrsum;

R2017b で導入