Main Content

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

optimwarmstart

ウォーム スタート オブジェクトの作成

説明

ws= optimwarmstart(x0,options)は、optionsで示したソルバーで使用するウォーム スタート オブジェクトwsを作成します。ウォーム スタート オブジェクトを使用する例は、quadprog のウォーム スタートを参照してください。

ws= optimwarmstart(x0,options,Name,Value)は、名前と値の引数を使用して、wsにメモリ範囲を組み込みます。メモリ範囲はコードを生成する場合にのみ使用します。

すべて折りたたむ

quadprogの既定のウォーム スタート オブジェクトを作成します。

x0 = [1 3 5]; options = optimoptions('quadprog','Algorithm','active-set'); ws = optimwarmstart(x0,options)
ws = QuadprogWarmStart with properties: X: [3×1 double] Options: [1×1 optim.options.Quadprog] Code generation limitations

コード生成のためにメモリ制限をもつlsqlinウォーム スタート オブジェクトを作成します。

x0 = [1 3 5]; options = optimoptions('lsqlin','Algorithm','active-set'); ws = optimwarmstart(x0,options,...'MaxLinearEqualities',30,...'MaxLinearInequalities',5)

ws = LsqlinWarmStart with properties X and Options and a link

Code generation limitationsリンクをクリックして、メモリ設定を確認します。

MaxLinearEqualities: 30 MaxLinearInequalities: 5

入力引数

すべて折りたたむ

初期点。実数配列として指定します。この点はws.Xに保存されます。

例:10*rand(5,1)

データ型:double

最適化オプション。optimoptionsの出力として指定されます。少なくとも、サポートされているソルバー (lsqlinまたはquadprog) と、Algorithm'active-set'を指定しなければなりません。たとえば、quadprogソルバーを指定する場合は次のコードを入力します。

options = optimoptions('quadprog','Algorithm','active-set');

これらのオプションはws.Optionsに保存されます。

名前と値のペアの引数

引数Name,Valueのオプションのコンマ区切りペアを指定します。Nameは引数名、Valueは対応する値です。Nameは引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueNのように、複数の名前と値のペアの引数を任意の順番で指定できます。

例:ws = optimwarmstart(x0,options,'MaxLinearEqualities',30,'MaxLinearInequalities',5)は、線形等式の最大数として 30 を、線形不等式の最大数として 5 を指定します。

線形等式制約の最大数。正の整数として指定します。等式制約に十分なメモリを割り当てるには、コードの実行全体における等式制約の最大数を指定します。

この引数は、動的メモリ割り当てを行わないコード生成にのみ使用します。この引数と'MaxLinearInequalities'を両方とも使用しなければなりません。

この引数の値はws.MaxLinearEqualitiesに保存されます。

例:25

データ型:double

線形不等式制約の最大数。正の整数として指定します。不等式制約に十分なメモリを割り当てるには、コードの実行全体における不等式制約の最大数を指定します。

この引数は、動的メモリ割り当てを行わないコード生成にのみ使用します。この引数と'MaxLinearEqualities'を両方とも使用しなければなりません。

この引数の値はws.MaxLinearInequalitiesに保存されます。

例:25

データ型:double

出力引数

すべて折りたたむ

ウォーム スタート オブジェクト。LsqlinWarmStartオブジェクトまたはQuadprogWarmStartオブジェクトとして返されます。ウォーム スタート オブジェクトを使用する例は、quadprog のウォーム スタートを参照してください。

wsには次の読み取り専用プロパティがあります。

  • X— 初期点

  • Options— 最適化オプション

  • MaxLinearEqualities— コード生成における線形等式の最大数

  • MaxLinearInequalities— コード生成における線形不等式の最大数

wsのプロパティを変更するには、optimwarmstartを呼び出してオブジェクトを再作成します。

アルゴリズム

ウォーム スタート オブジェクトは、前回解いた問題のアクティブな制約のリストを維持します。ソルバーは、アクティブな制約情報を可能な限り多く引き継いで、現在の問題を解きます。前回の問題と現在の問題が違いすぎる場合、アクティブ セットの情報は再利用されません。この場合、ソルバーは効率的にコールド スタートを実行して、アクティブな制約のリストを再構築します。

拡張機能

R2021a で導入