SecondOrderConeOptimization

SecondOrderConeOptimization[f,cons,vars]

二次錐および/または線形の制約 cons に従って線形目的関数 f を最小化する変数 vars の値を求める.

SecondOrderConeOptimization[c,{{a1,b1,α1,β1},,{ak,bk,αk,βk}}]

制約条件TemplateBox[{{{{a, _, i}, ., x}, +, {b, _, i}}}, Norm]<=alpha_i.x+beta_iに従って を最小化するベクトル を求める.

SecondOrderConeOptimization[c,,{dom1,dom2,}]

が領域 domiにあるとする.domiIntegersまたはRealsである.

SecondOrderConeOptimization[,"prop"]

どの解の特性"prop"を返すべきかを指定する.

詳細とオプション

  • 二次錐最適化は,二次錐計画法(SOCP)および混合整数二次錐計画法(MISOCP)としても知られている.
  • 二次錐最適化は,パラメータフィットや幾何学的距離問題等の問題に使われる.
  • 二次錐最適化は,実変数,整数変数あるいは複素変数で大域的に効率よく解くことができる凸最適化問題である.
  • 二次錐最適化は主問題を解く を求める.
  • 最小化
    制約条件TemplateBox[{{{{a, _, i}, ., x}, +, {b, _, i}}}, Norm]<=alpha_i.x+beta_i, i=1,..., k
    ただし
  • 混合整数の二次錐最適化は,問題を解く および を求める.
  • 最小化
    制約条件TemplateBox[{{{{a, _, {(, {j, _, r}, )}}, ., x}, +, {{a, _, {(, {j, _, r}, )}}, ., {yb, _, j}}}}, Norm]<=alpha_(j_r).x+alpha_(j_i).y+beta_j, j=1,..., k
    ただし
  • SecondOrderConeOptimizationは,目的関数が実数値のときは,内部的に実変数 に変換して x in TemplateBox[{}, Complexes]^nの問題を解く.ただし,である.
  • 変数指定 vars は,次のいずれかの形式で変数を与える要素のリストでなければならない.
  • v名前が で次元が推測される変数
    vReals実数のスカラー変数
    vIntegers整数のスカラー変数
    vComplexes複素数のスカラー変数
    v幾何学領域 に制限されたベクトル変数
    vVectors[n,dom]またはのベクトル変数
    vMatrices[{m,n},dom]またはの行列変数
  • 線形制約は二次制約を使って表されることがあるので注意こと.便宜上,単一の0は,必要に応じて,項が0の行列またはベクトルと解釈される.
  • {ai,bi,0,0}線形等式制約
    {0,0,αi,βi}線形不等式制約
  • 制約条件 cons は以下で指定できる.
  • LessEqualスカラー不等式
    GreaterEqualスカラー不等式
    VectorLessEqualベクトル不等式
    VectorGreaterEqualベクトル不等式
    Equalスカラー等式またはベクトル等式
    Element凸領域または領域要素
  • SecondOrderConeOptimization[f,cons,vars]のとき,parval の形のパラメータ方程式が制約条件に含まれて,f または cons で使われるパラメータを定義することがある.ただし,parvars には含まれず,val は数値または数値配列である.
  • 主最小化問題はラグランジュの双対問題である最大化問題に関連している.双対最大値は常に主最小値以下なので,下限を与える.双対マキシマイザは,最小値の制約条件の変化に対する感度を含む主問題についての情報を与える.
  • 二次錐最適化は双対を持つ. » »
  • 最大化
    制約条件sum_(i=1)^k(a_i.y_i+alpha_ilambda_i)⩵c, ; TemplateBox[{{y, _, i}}, Norm]<=lambda_i, i=1,..., k
    ただし
  • 二次錐最適化では,強双対性が常に成り立つ.つまり,主最小化問題に解があれば双対最大化問題にも解があり,双対最大値と主最小値は等しい.
  • 次は,可能な解の特性"prop"である.
  • "PrimalMinimizer"目的関数を最小化する変数値のリスト
    "PrimalMinimizerRules" を最小化する変数の値 vars={v1,}
    "PrimalMinimizerVector" を最小化するベクトル
    "PrimalMinimumValue"最小値
    "DualMaximizer"双対ベクトルの最大化
    "DualMaximumValue"双対最大化の値
    "DualityGap"双対最適値と主最適値の差
    "Slack"不等式制約を等式制約に変換するベクトル
    "ConstraintSensitivity"
    の制約摂動に対する感度
    "ObjectiveVector"線形目的ベクトル
    "SecondOrderConeConstraints"制約条件の係数のリスト
    "LinearEqualityConstraints"線形等式制約の行列とベクトル
    {"prop1","prop2",} 複数の解の特性
  • 次は,使用可能なオプションである.
  • MaxIterationsAutomatic使用する最大反復回数
    Method Automatic使用するメソッド
    PerformanceGoal $PerformanceGoalパフォーマンスのどの局面について最適化するか
    Tolerance Automatic内部比較に使用する許容度
  • オプションMethod->method を使って使用するメソッドを指定することができる.次は使用可能なメソッドである.
  • Automaticメソッドを自動的に選択する
    "SCS"SCS(錐ソルバの分割)ライブラリ
    "CSDP"CSDP(COIN半定値計画)ライブラリ
    "DSDP"DSDP(半定値計画)ライブラリ
    "PolyhedralApproximation"多面体を使った近似制約
    "MOSEK"商用MOSEK凸最適化ソルバ
    "Gurobi"商用Gurobi線形・二次最適化ソルバ
    "Xpress"商用Xpress線形・二次最適化ソルバ
  • 計算はMachinePrecisionに限られる.

例題

すべて開くすべて閉じる

  (4)

制約条件 TemplateBox[{{{, {x, ,, y}, }}}, Norm]<=1に従って を最小化する:

最適点は制約条件によって定義され領域内で が最小となる領域にある:

制約条件 に従って を最小化する:

最適点は,2枚の円板の交差によって囲まれた領域内で の値が最小となる点にある:

制約条件 に従って を最小化する.入力を行列ベクトル形式で指定する:

行列ベクトル形式を使って問題を解く:

制約条件TemplateBox[{{{, {x, ,, y}, }}}, Norm]<=1,x in Z,y in Rに従って を最小化する:

同等オン行列ベクトル形式を使う:

スコープ  (27)

基本的な用法  (9)

制約条件 に従って を最小化する:

解の特性"PrimalMinimiumValue"を使って最小化する値を得る:

制約条件 に従って を最小化する:

解の特性を使って最小化する値と最小化するベクトルを得る:

制約条件 に従って を最小化する:

目的関数を ,制約条件をTemplateBox[{{{{a, _, i}, ., x}, +, {b, _, i}}}, Norm]<=alpha_i.x+beta_i,i=1,2と定義する:

行列ベクトル入力を使って解く:

制約条件に従って を最小化する:

目的関数を ,制約条件をTemplateBox[{{{{a, _, i}, ., x}, +, {b, _, i}}}, Norm]<=alpha_i.x+beta_i,i=1,2として定義する:

等式制約を以下のように指定する:

行列ベクトル入力を使って解く:

制約条件 に従って,ab についての定数パラメータ方程式を使って を最小化する:

制約条件 に従って,ベクトル変数 を使って を最小化する:

制約条件に従って を最小化する:

VectorGreaterEqual () とVectorLessEqual ()を使って制約条件を指定する:

に従って を最小化する.Inactive[Plus]を使って意図しないスレッディングを回避する:

行列 とベクトル をパラメータ化された方程式として指定してInactiveの使用を避ける:

に従って を最小化する.NonNegativeRealsを使って制約条件 を指定する:

整数変数  (4)

Integersを使って整数領域制約を指定する:

Vectors[n,Integers]を使ってベクトル変数についての整数領域制約を指定する:

NonNegativeIntegers ()を使って非負の整数領域制約を指定する:

NonPositiveIntegers ()を使って非正の整数領域制約を指定する:

複素変数  (4)

Complexesを使って複素変数を指定する:

制約条件の中でAbs[z]と複素数 z を使う:

のとき,TemplateBox[{z}, Abs]TemplateBox[{{{, {x, ,, y}, }}}, Norm]と等価である:

二次制約条件 をエルミート行列 および実数値変数と一緒に使う:

制約条件 (1/2)Inactive[Dot][Conjugate[x],q,x]d をエルミート行列 および複素変数と一緒に使う:

主モデルの特性  (3)

制約条件 に従って を最小化する:

主ミニマイザをベクトルとして得る:

最小値を得る:

記号入力を使って主最小値を得る:

最適化問題の行列ベクトル入力を抽出する:

行列ベクトル形式を使って解く:

目的定数を加えて記号的主値を回復する:

最小化問題に関連するスラック を求める:

主最小値 と制約条件を求める:

制約条件 alpha_i.x^*+beta_i-TemplateBox[{{{{a, _, i}, ., {x, ^, *}}, +, {b, _, i}}}, Norm]>=0のスラックは,alpha_i.x^*+beta_i-TemplateBox[{{{{a, _, i}, ., {x, ^, *}}, +, {b, _, i}}}, Norm]-s_i⩵0となるようなスカラー である:

双対モデルの特性  (3)

TemplateBox[{{{{a, _, i}, ., x}, +, {b, _, i}}}, Norm]<=alpha_i.x+beta_i, i=1,..., k に従って を最小化する:

双対問題は,TemplateBox[{{y, _, i}}, Norm]<=lambda_iに従ってを最大化する:

目的関数を指定する:

制約条件TemplateBox[{{y, _, i}}, Norm]<=lambda_iを指定する:

結果の最大化問題を解く:

強双対性のため,主最小値と双対最大値は一致する:

これは,双対性ギャップ0を持つことに等しい.一般に である:

主問題から抽出した制約行列を使って双対問題を構築する:

双対問題は,TemplateBox[{{y, _, i}}, Norm]<=lambda_iに従ってを最大化する:

目的関数を指定する:

制約条件 TemplateBox[{{y, _, i}}, Norm]<=lambda_iを指定する:

結果の最大化問題を解く:

解の特性を使って双対最大値を直接得る:

解の特性を使って双対マキシマイザを直接得る:

感度特性  (4)

"ConstraintSensitivity"を使って,制約条件の緩和による最大値の変化を求める:

感度の各要素はである.ただし, はベクトルで はスカラーである:

新たな制約条件TemplateBox[{{{{a, _, i}, ., x}, +, {b, _, i}}}, Norm]<=alpha_i.x+beta_i+deltabeta_iについて考える.ただし,は制約条件 の緩和である:

感度要素 の緩和と関連がある.期待される新たな最適値は以下の通りである:

緩和問題を直接解くことと比較する:

新たな制約条件TemplateBox[{{{{a, _, i}, ., x}, +, {b, _, i}, +, {deltab, _, i}}}, Norm]<=alpha_i.x+beta_iについて考える:

感度要素 の緩和と関連がある.期待される新たな最適値は以下の通りである:

緩和問題を直接解くことと比較する:

各感度は不等式制約あるいは等式制約と関連がある:

二次錐制約を抽出する.制約条件TemplateBox[{{{{a, _, i}, ., x}, +, {b, _, i}}}, Norm]<=alpha_i.x+beta_iとして与えられる:

線形制約はとして与えられる.関連する感度を持つ:

制約条件とその関連する感度:

制約緩和による最適値の変化は感度値に比例する:

最小値と制約感度を計算する:

制約条件が緩和しているなら,ゼロ感度は最適値を変えない:

負の感度は最適値を減少させる:

正の感度は最適値を増大させる:

"ConstraintSensitivity"は,問題の双対最適点と関連がある:

感度 を満足する.ただし,は双対不等式マキシマイザである:

オプション  (8)

Method  (4)

"SCS"メソッドは分割錐ソルバメソッドを使う:

"CSDP""DSDP"は半定値最適化に簡約し,内点法を使う:

"PolyhedralApproximation"は,線形制約による表現を持つ多面体を使って二次制約を近似する:

"SCS"メソッドが与える結果は,許容度緩和のために,"CSDP""DSDP"が与える結果よりも確度が劣るかもしれない:

許容度を小さくして,"SCS"でよりよい結果を得る:

"PolyhedralApproximation"法は他のメソッドよりも計算時間がかかるかもしれない:

メソッドが異なると,複数の最適解がある問題についての結果が異なることがある:

Method->Automaticは線形最適化ソルバを選択する:

PerformanceGoal  (1)

"Quality"設定で計算時間を長くすることでより正確な結果を得る:

"Speed"を使って質は落としても結果を速く得る:

Tolerance  (3)

Toleranceの設定値を小さくすると,より正確な結果が与えられる:

Toleranceの設定を変えて,計算された最小値と厳密な最小値の間の差を求める:

Toleranceに対する最小値の差の変化を可視化する:

Toleranceの設定値を小さくするとより正確な答が与えられるが,計算時間は長くなることが多い:

許容度を小さくすると計算時間が長くなる:

許容度を狭めるとより厳密な結果が得られる:

メソッドによって許容度は異なる.このことは確度と精度に影響する:

"SCS"のデフォルトの許容度はである:

"CSDP""DSDP"デフォルトの許容度はである:

アプリケーション  (35)

基本的なモデリング変換  (11)

に従って を最大化する.目的関数を否定して最大化問題を解く:

主最小値を否定することで対応する最大値を求める:

制約条件 に従って を最小化する.補助変数 を使って, に従って を最小化するものに問題を変換する:

に直接代入することで,もとの最小値を回復する:

制約条件 に従って を最小化する.補助変数 を使い, に従って を最小化するものに問題を変換する:

に直接代入することで,もとの最小値を回復する:

に従ってを最小化する.2つの補助変数 を使い,に従って を最小化するものに問題を変換する:

に従って Max(||x||,||y||)を最小化する.補助変数 を使い, に従って を最小化するものに問題を変換する:

TemplateBox[{{z, -, {(, {1, +, I}, )}}}, Abs]<=2に従ってRe(z)+Im(z)を最小化する. については,TemplateBox[{{z, -, {(, {1, +, I}, )}}}, Abs]TemplateBox[{{{, {{x, -, 1}, ,, {y, -, 1}}, }}}, Norm]に等しい:

これは,また,に従って を最小することに等しい:

SecondOrderConeOptimizationAbsについての変換を直接行う:

制約条件 に従ってを最小化する.補助変数 を使い,に従って を最小化するものに問題を変換する:

SecondOrderConeOptimizationAbsについての変換を直接行う:

を最小化する.補助変数 を使い,制約条件 に従ってを最小化するものに問題を変換する:

制約条件でAbsを直接使うことで,計算が速くなり確度が高くなる:

を最小化する.補助変数 を使い,制約条件 に従って を最小化するものに問題を変換する:

TemplateBox[{{{{a, _, i}, ., x}, +, {b, _, i}}}, Norm]<=alpha_i.x+beta_i, i=1,..., k に従って を最小化する.ただし, は非減少関数で,代りに を最小化する.主ミニマイザ はどちらの問題についても同じままである.に従って を最小化することを考える:

真の最小値は,関数 を主最小値に適用することで得られる:

に従って を最小化する:

なので,の追加的制約条件が適用されなければならない:

真の最小値は,関数 を主最小値に適用することで得られる:

幾何問題  (6)

半径1で中心が(0,0)と(2,1)の2つの円板の間の距離を最小化する.補助変数 を使い,に従って を最小化するものに問題を変換する:

2つの点の位置を可視化する:

補助変数 はこの2点間の距離を与える:

交差しない2つの凸多角形の最短距離を求める:

上の点,上の点とする.目的はを最小化することである.補助変数 を使い,に従って を最小化するものに問題を変換する:

と点 の位置を可視化する:

補助変数 は,この2点間の距離を与える:

交差しない2つの凸多角形を分離する平面を求める:

上の点,上の点とする.目的はを最小化することである.補助変数 を使い,に従って を最小化するものに問題を変換する:

分離超平面定理によると,制約条件 に関連する双対は超平面の法線を与える:

制約条件 の内部構造はである. は行列 を含む唯一の制約条件である:

超平面は以下のように構築される:

2つの多角形を分離する平面を可視化する:

交差しない2つの凸多角形を分離する平面を求める:

上の点,上の点とする.目的はを最小化することである.補助変数 を使い,に従って を最小化するものに問題を変換する:

分離超平面定理によると,制約条件 に関連する双対は超平面の法線を与える:

制約条件 の内部形式は である. は行列 を含む唯一の制約条件である:

超平面は以下のように構築される:

2つの多角形を分離する平面を可視化する:

点の集合を包含する最小の円の中心 と半径 を求める:

目的は,制約条件 に従って半径 を最小化することである:

円板の中心と半径は以下の通りである:

結果をプロットする:

最小包含円はBoundingRegionを使って効率よく求めることができる:

指定された領域を包み込む最小包含球の半径 と中心 を求める:

制約条件 に従って半径 を最小化する:

包含球を可視化する:

最小包含球はBoundingRegionを使って効率よく求めることができる:

施設配置問題  (3)

ある会社が新たな工場を建設しようとしている.工場は5つの倉庫からの材料を必要とする.新規工場と倉庫の間の単位距離あたりの輸送費用は以下の通りである:

を工場と倉庫 の間の距離とする.目的はを最小化することである:

5つの倉庫は以下にある:

新たな工場は となるような場所になければならない:

新規工場と倉庫の間の最適距離を求める:

新規工場の場所は輸送費用が高い倉庫により近い:

ある会社が新たな工場を2つ建設しようとしている.この工場は5つの倉庫からの材料を必要とする.新規工場と倉庫の間の単位距離あたりの輸送費用は以下の通りである:

を工場 と倉庫 の間の距離とする.目的はを最小化することである:

5つの倉庫は以下にある:

新たな工場は となるような場所になければならない:

新規工場と倉庫の間の最適距離を求める:

新規工場の場所は輸送費用が高い倉庫により近い:

会社の5つの小売店に商品を供給するために建設すべき最小数の倉庫とその場所を求める.候補地は5つある.ある倉庫からある小売店までの製品1単位の輸送コストは以下の表で与えられる:

小売店 の場所は以下の通りである:

各小売店の需要は以下の通りである:

どの倉庫にも,1000ドルの間接費がかかる:

各倉庫は最大で500単位の商品を収容できる:

倉庫 から小売店 に輸送する単位数を とする.需要制約は以下の通りである:

を,なら倉庫 を建築するバイナリ決定ベクトルとする.供給制約は以下の通りである:

新たな倉庫は となるような場所に建設されなければならない:

目的は,倉庫数,商品の輸送費用,倉庫から小売店までの距離を最小にすることである:

変数を集める:

最小数と倉庫の位置を解く:

倉庫 から小売店 に輸送される単位数:

倉庫の位置は以下のようになる:

データフィッティング問題  (6)

制約条件 に従ってを最小化することで,離散データに対する線形フィットを求める:

補助変数 を使い,に従って を最小化する:

を最小化することで離散データに対する五次多項式をフィットする:

DesignMatrixを使って入力データ行列を構築する:

に従って を最小化することで,二次曲線の係数を求める:

フィットとデータを比較する:

最初と最後の点が同じ曲線上となるように,基底 を使ってノイズの多いデータの近似関数を求める:

近似関数は である:

に従って を最小化することで,近似関数の係数を求める:

フィットとデータを比較する:

を最小化することで離散データへの強力な線形フィットを求める.ただし, は既知の正規化パラメータである:

に従って を最小化することで直線を求める:

直線のプロットはこれが外れ値に対して強力であることを示している:

強力な フィットは関数Fitを使っても得ることができる:

過度の正規化を行うとフィットがデータに対して徐々に無感覚になる:

濃度で制約された最小二乗問題. が最大で 個の非零要素を持つようにを最小化する:

が,もし ならば は非零となるような決定ベクトルであるとする.決定制約は次のようになる:

のときの制約 をモデル化するために,となるような大きい定数 を選ぶ:

エピグラフ変換を使うと,目的は に従って を最小化することになる:

濃度で制約された最小二乗問題を解く:

部分集合の選択は,Fit正規化を使うとより効率よくできる.まず,最高で 個の基底関数を使う正規化パラメータの範囲を求める:

で正規化されたフィットにおける非零項を求める:

これらの基底項だけのフィットを求める:

関数集合候補から与えられたデータを近似する関数の最良の部分集合を求める:

近似関数は となる:

最終の近似には最大5個の基底関数が使われる:

選択されなかった関数に関連付けられた係数は0でなければならない:

エピグラフ変換を使うと,目的は となるように を最小化することになる:

関数の最良の部分集合を求める:

結果の近似を与えられたデータと比較する:

分類問題  (2)

平面上の2つの点集合を強力に分離する四次多項式 を求める:

この多項式は,で,として定義される:

分離のためには,集合1が を,集合2が を満足しなければならない:

目的はを最小化することであるが,こうすると の間の厚さが倍になる.補助変数 を使うと,目的関数は制約条件 に変換される:

を最小化することで係数 を求める:

多項式を使った集合の分離を可視化する:

の値のラベルについての幅である.ただし,点はない:

三次元で2つの点の集合を強力に分離する四次多項式 を求める:

この多項式は,として定義される:

分離するためには,集合1は を,集合2は を満足しなければならない:

目的はを最小化することである.変換 を使うと,目的が を最小化することになる:

を最小化することで係数 を求める:

多項式を使った集合の分離を可視化する:

構造最適化問題  (1)

各リンクの端点における垂直荷重の下の のバネリンクで形成された吊り鎖の形状を求める.目的は,リンクの位置 を求めることである:

重力によるポテンシャルエネルギーはである.ただし, は各端点における垂直荷重で は重力ある:

伸長によるバネリンクの張力によるポテンシャルエネルギーはである.ただし,はバネリンク の伸長, はバネの剛性である.を使うと,エネルギーは に変換される:

変換のために,追加的な制約条件 を加えなければならない:

結ばれたチェーンの端点は位置(0,0)と(2,-1)で固定されている:

各リンクは制約条件 を満足しなければならない.ただし,は各バネの静止長である:

設計パラメータは以下の通りである:

最終的な目的関数は,重力とバネのポテンシャルエネルギーの和で,これを最小化しなければならない:

各バネリンクの端点を求める:

結果のバネ鎖の形状を可視化する:

リンク鎖の端点近くで伸びが最大になる.リンク11と12の伸長が最も小さい:

ポートフォリオの最適化  (1)

リスクが最小でリターンか最大になるような,資本の6つの株式への投資配分を求める:

株式 への投資の全投資に占める割合を としよう.リターンは で与えられる.ただし, は個別の株式の予想収益の値のベクトルである:

リスクは で与えられる. はリスク回避パラメータであり, である:

目標は,指定されたリスク回避パラメータについてリスクを最小にしつつリターンを最大にすることである:

投資 の割合はすべて0より大きく1に加えられなければならない:

リスク回避パラメータの範囲内でリターンと対応するリスクを計算する:

範囲 における最適値 は,リスクとリターンのトレードオフにおける上包を与える:

指定された数のリスク回避パラメータについて投資 の占める割合を計算する:

リスク回避パラメータ を大きくすると株式が多様化する:

リスク回避パラメータ を大きくすると投資に対する予想収益(リターン)が減少する:

非負行列因子分解  (1)

のとき となるような行列 および を求める:

目的はを最小化することである.これは を交互に固定して収束するまで反復的に解くことで達成できる.制約条件を指定する:

変数を指定する:

についての最初の推測を指定する:

収束するまで反復する:

収束をプロットする:

投資問題  (3)

最低でも1000ドルの配当が得られリスクが最小となるように,資本金10000ドルを4つの株に割り当てる方法を求める.期待する戻り値と株式に関連付けられた共分散行列 は次の通りである:

4つの株の単価は1ドルである.各株には最大で2500ドルを割り当てることができる:

この投資は最小で1000ドルを生み出さなければならない:

負の株式を買ってはならない:

エピグラフ変換を使うと, で与えられるリスクが制約に変換される:

各株式に費やす金額の送料は,以下で与えられるリスクを最小にすることで求められる:

最低でも1000ドルが得られる総投資額は以下の通りである:

空売りオプションも含めて最低でも配当が1000ドルになるようにし,リスクが最小となるようにして,4つの株式から買う株の数を求める:

資本金についての制約,投資に対する配当の制約,リスク制約は次の通りである:

空売りオプションを使用すると株が売却できる.目的関数 によって与えられるリスクを最小化することで,買う/空売りする株式の最適数がもとまる:

2番目の株式は空売りすることができる.空売りで最低1000ドル得るための総投資額は以下の通りである:

空売りをしなければ,初期投資ははるかに大きくなければならない:

リスクを最小限に抑えながら収益を最大化するために,可能性のある20の候補株の中から投資する6つの株の最適な組合せを求める:

を株式 で行われた総投資の割合とする.利益は で与えられる.ここで, は各株式の期待利益値のベクトルである:

リスクは で与えられる. はリスク回避パラメータであり, である:

目的は,利益を最大にしつつ指定のリスク回避パラメータについてリスクを最小にすることである:

を,であれば株式を購入する決定ベクトルとする.6つの株式を選ばなければならない:

投資の割合 は0より大きく,1に加算する必要がある:

リスクを最小にして利益を最大にする最適な株式の組合せを求める:

最適な株式の組合せは以下のようになる:

各株式に投じる投資額の割合は以下のようになる:

軌道最適化問題  (1)

2点間の最短経路を障害物を避けながら求める.障害物を指定する:

凸型の障害を形成する半空間を抽出する:

経路の始点と終点を指定する:

この経路は 点を使って離散化できる.が位置ベクトルを表すとする:

目的はを最小化することである.エピグラフ変換を使うと,目的は制約条件に従うに変換できる:

終点の制約を指定する:

連続する任意の2点間の距離は長過ぎてはならない:

の要素の少なくとも1つが0未満のとき,点 は目的の外になる.この制約条件を強制するために,が決定ベクトルで となるような 番目の要素であるとする.こうすると となり となるための十分大きくなる:

障害物の周囲の経路の最短距離を求める:

経路を抽出して表示する:

障害物との潜在的な交差を避けるために,領域を膨張させて問題をもう一度解く:

障害物を避けるための新たな制約条件を得る:

新たな問題を解く:

新たな経路を抽出して表示する:

特性と関係  (8)

SecondOrderConeOptimizationは,目的関数の大域的最小値を与える:

目的関数を可視化する:

Minimizeは,二次最適化問題の大域的厳密結果を与える:

NMinimizeを使い,大域メソッドを使って近似結果を得ることができる:

FindMinimumを使い,局所メソッドを使って近似結果を得ることができる:

LinearOptimizationSecondOrderConeOptimizationの特殊ケースである:

QuadraticOptimizationSecondOrderConeOptimizationの特殊ケースである:

補助変数 を使い,追加的な制約条件 を最小化する:

SemidefiniteOptimizationSecondOrderConeOptimizationの一般化である:

ConicOptimizationSecondOrderConeOptimizationの一般化である:

考えられる問題  (5)

厳密な不等式を使って指定された制約条件は,メソッドによっては満足されないことがある:

理由は,SecondOrderConeOptimizationを解くからである:

空集合あるいは実行不可能な問題の最小値はと定義される:

ミニマイザはIndeterminateである:

非有界の集合あるいは非有界問題の最小値はである:

ミニマイザはIndeterminateである:

混合整数問題に対する双対に関連した解の特性は得られないかもしれない:

複素数値を含む制約条件はベクトル不等式で指定しなければならない:

両辺が理論的に実数の場合でも,Lessを使うだけではうまくいかない:

Wolfram Research (2019), SecondOrderConeOptimization, Wolfram言語関数, https://reference.wolfram.com/language/ref/SecondOrderConeOptimization.html (2020年に更新).

テキスト

Wolfram Research (2019), SecondOrderConeOptimization, Wolfram言語関数, https://reference.wolfram.com/language/ref/SecondOrderConeOptimization.html (2020年に更新).

CMS

Wolfram Language. 2019. "SecondOrderConeOptimization." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/SecondOrderConeOptimization.html.

APA

Wolfram Language. (2019). SecondOrderConeOptimization. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SecondOrderConeOptimization.html

BibTeX

@misc{reference.wolfram_2024_secondorderconeoptimization, author="Wolfram Research", title="{SecondOrderConeOptimization}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/SecondOrderConeOptimization.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_secondorderconeoptimization, organization={Wolfram Research}, title={SecondOrderConeOptimization}, year={2020}, url={https://reference.wolfram.com/language/ref/SecondOrderConeOptimization.html}, note=[Accessed: 22-November-2024 ]}