主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

変数名の重複は許可されない

同じ名前の2つの異なる変数を使用すると,最適化式,制約,または問題でエラーがスローされることがあります。変数を作成してから,その変数を使用して式を作成し,その後,変数を作成し直した場合,このエラーは厄介です。次の変数と制約の式を作成するとします。

x = optimvar (“x”10、2);= sum(x,2) == 1;

この時点で,整数変数の作成を意図していたことに気付きます。そのため,変数を作成し直して,その型を変更します。

x = optimvar (“x”10 2“类型”“整数”);

目的と問題を作成します。

obj =总和(x *[2、3]);概率= optimproblem (“目标”、obj);

ここで,制約を問題に含めようとします。

概率。约束=缺点

この時点で,同じ問題に現れるOptimizationVariablesは異なる”的名字“プロパティを保持していなければならないことを示すエラーメッセージが表示されます。ここでの問題は,変数xを作成し直すと,制約式とは無関係な新しい変数になる点です。

この問題は2通りの方法で修正できます。

  • 現在のxを使用して新しい制約式を作成する。

    = sum(x,2) == 1;概率。约束=缺点;
  • 古い式を使用して問題を作成することで,元の変数xを取得する。正しい类型プロパティを保持するように,取得した変数を更新します。問題と目的に対して,取得した変数を使用します。

    oprob = optimproblem (“约束”、缺点);x = oprob.Variables.x;x.Type =“整数”;oprob。目标=总和(x *[2、3]);

    この手法は,新しい変数を使用する式より,古い変数を使用する式の方が多数作成されていた場合に役立つことがあります。

関連するトピック