LinearOptimization

LinearOptimization[f,cons,vars]

線形制約 cons に従って線形目的関数 f を最小化する変数 vars の値を求める.

LinearOptimization[c,{a,b}]

線形不等式制約 に従って線形目的関数 を最小化する実数ベクトル x を求める.

LinearOptimization[c,{a,b},{aeq,beq}]

線形等式制約 を含める.

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

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

LinearOptimization[,"prop"]

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

詳細とオプション

  • 線形最適化は,線形計画法(LP)および混合整数線形計画法(MILP)としても知られている.
  • 線形最適化は,実変数,整数変数,あるいは複素変数で大域的にまた効率的に解くことができる凸最適化問題である.
  • 線形最適化は主問題を解く を求める. »
  • 最小化
    制約条件
    ただし
  • 混合整数線形最適化は,問題を解く および を求める.
  • 最小化
    制約条件
    ただし
  • LinearOptimizationは,目的関数が実数値のときは,x in TemplateBox[{}, Complexes]^nの問題を内部的に実変数 に変換して解く.ただし,である.
  • 変数指定 vars は,次のいずれかの形式で変数を与える要素のリストでなければならない.
  • v名前が で次元が推測される変数
    vReals実スカラー変数
    vIntegers整数スカラー変数
    vComplexes複素スカラー変数
    v幾何学領域 に制限されたベクトル変数
    vVectors[n,dom]またはのベクトル変数
    vMatrices[{m,n},dom]またはの行列変数
  • 制約条件 cons は以下で指定できる.
  • LessEqualスカラー不等式
    GreaterEqualスカラー不等式
    VectorLessEqualベクトル不等式
    VectorGreaterEqualベクトル不等式
    Equalスカラー等式またはベクトル等式
    Element凸領域または領域要素
  • LinearOptimization[f,cons,vars]では,f または cons で使用するパラメータを定義するために,parval の形式のパラメータ方程式を制約条件に入れることができる.ただし,parvars には含まれず,val は数値または数値配列であるとする.
  • 主最小化問題には関連する最大化問題(ラグランジュ双対問題)がある.双対最大値は常に主最小値以下なので,下界を与える.双対マキシマイザは,制約条件に対する最小値の感度変化を含む,主問題についての情報を与える.
  • 線形最適化についてのラグランジュ双対問題は以下で与えられる. »
  • 最大化
    制約条件
    ただし
  • 線形最適化については,強双対性が常に成り立つ.つまり,主最小化問題に解があれば双対最大化問題にも解があり,双対最大値は主最小値に等しい.
  • 可能な解の特性"prop"には以下がある.
  • "PrimalMinimizer"目的関数を最小化する変数値のリスト
    "PrimalMinimizerRules" を最小化する変数の値 vars={v1,}
    "PrimalMinimizerVector" を最小化するベクトル
    "PrimalMinimumValue"最小値
    "DualMaximizer"
  • を最大化するベクトル
    "DualMaximumValue"双対最大値
    "DualityGap"双対最適値と主最適値の差(強双対性により0)
    "Slack"
    制約条件スラックベクトル
    "ConstraintSensitivity"
    の制約条件の摂動に対する感度
    "ObjectiveVector"
    線形目的ベクトル
    "LinearInequalityConstraints"
    線形不等式制約の行列およびベクトル
    "LinearEqualityConstraints"
    線形等式制約の行列およびベクトル
    {"prop1","prop2",} いくつかの解の特性
  • 次は,使用可能なオプションである.
  • MaxIterationsAutomatic使用する最大反復回数
    Method Automatic使用するメソッド
    PerformanceGoal$PerformanceGoalパフォーマンスのどの局面について最適化するか
    Tolerance Automatic内部計算の許容度
    WorkingPrecision Automatic内部計算の精度
  • オプションMethod->method を使って使用するメソッドを指定することができる.次は使用可能なメソッドである.
  • Automaticメソッドを自動的に選択する
    "Simplex"シンプレックス法
    "RevisedSimplex"改訂シンプレックス法
    "InteriorPoint"内点法(機械精度のみ)
    "CLP"COINライブラリ線形計画法(機械精度のみ)
    "MOSEK"商用MOSEK線形最適化ソルバ
    "Gurobi"商用Gurobi線形最適化ソルバ
    "Xpress"商用Xpress形最適化ソルバ
  • WorkingPrecision->Automaticのときは,機械精度でしか使えないメソッドが指定されていない限り,入力引数の精度から自動的に精度が取られる.機械精度でしか使えないメソッドには機械精度が使用される.

例題

すべて開くすべて閉じる

  (3)

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

最適点は,制約条件によって定義された範囲内の関数 の最小値にある:

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

同等の行列表現を使う:

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

同等の行列表現を使う:

スコープ  (32)

基本的な用法  (16)

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

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

制約条件 および境界に従って を最小化する:

VectorLessEqualを使っていくつかのLessEqual不等式制約を一度に表す:

v<= を使ってコンパクトな形式でベクトル不等式を入力する:

スカラー不等式を使った同等の形:

VectorGreaterEqualを使っていくつかのGreaterEqual不等式制約を一度に表す:

v>= を使ってコンパクトな形式でベクトル不等式を入力する:

Equalを使っていくつかの不等式制約を一度に表す:

いくつかのスカラー不等式を使った同等の形:

スカラー不等式とベクトル不等式を組み合せて制約条件を指定する:

スカラー不等式を使った同等の形:

に従って を最小化する.ベクトル変数 を使う:

スカラー変数を使った同等の形:

ベクトル変数とベクトル不等式を使って問題を指定する:

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

Indexedを使ってベクトル変数,例えば の成分にアクセスする:

定数パラメータ方程式を使って目的関数と制約条件の係数を指定する:

定数パラメータ方程式を使っていくつかの制約条件の係数を指定する:

ベクトル変数を使う:

に従って関数 を最小化する:

必要な場合は,Vectors[n]を使ってベクトル変数の次元を指定する:

NonNegativeReals ()を使って非負の制約条件を指定する:

ベクトル不等式を使った同等の形:

NonPositiveReals ()を使って非正の制約条件を指定する:

ベクトル不等式を使った同等の形:

行列 およびベクトル を直接与えることで,に従って を最小化する:

変数と不等式を使った同等の形:

整数変数  (4)

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

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

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

ベクトル不等式を使った同等の形:

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

ベクトル不等式を使った同等の形:

複素変数  (2)

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

実数オブジェクトRe(z)を複素変数と複素制約 で最小化する:

を仮定して制約条件を実成分に展開すると以下のようになる:

実数値の目的関数と複素変数および制約条件で問題を解く:

同じ問題を実変数と制約条件で解く:

主モデル特性  (3)

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

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

最小値を得る:

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

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

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

目的制約条件を加えて記号による主値を回復する:

最小化問題に関連付けられたスラックを求める:

主ミニマイザと制約行列を得る:

不等式制約 についてのスラックは,となるようなベクトル である:

等式制約 についてのスラックは,となるようなベクトル である:

等式スラック は,多くの場合はゼロベクトルである:

双対モデル特性  (3)

および に従って を最小化する:

双対問題とは,TemplateBox[{{(, {a, _, {(, eq, )}}, )}}, Transpose].nu+TemplateBox[{a}, Transpose].lambda=c および に従って を最大化することである:

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

これは,ゼロという双対性のギャップを持つことと同じである.一般に,最適点で である:

主問題からの制約条件行列を使って双対問題を構築する:

目的ベクトルと制約条件行列を抽出する:

双対問題は,TemplateBox[{{(, {a, _, {(, eq, )}}, )}}, Transpose].nu+TemplateBox[{a}, Transpose].lambda=c および に従って を最大化することである:

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

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

感度特性  (4)

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

第1ベクトルは不等式の感度で第2ベクトルは等式の感度である:

新たな制約条件 は緩和)を考える:

期待される新たな最適値は以下で与えられる:

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

各感度は不等式制約または等式制約と関連している:

制約条件を抽出する:

不等式制約と関連する感度:

方程式の制約条件と関連する感度:

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

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

制約条件が緩和されていれば,ゼロ感度は最適値を変えない:

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

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

"ConstraintSensitivity"は問題の双対マキシマイザに関連している:

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

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

オプション  (9)

Method  (5)

MachinePrecision入力のデフォルトメソッドは"CLP"である:

任意または無限のWorkingPrecisionのデフォルトメソッドは"Simplex"である:

MachinePrecision入力にはすべてのメソッドを使うことができる:

任意精度および無限精度の入力に"Simplex"および"RevisedSimplex"を使うことができる:

メソッドによって強みが異なるが,これは問題および実装に依存する:

"Simplex"および "RevisedSimplex"は小さい密な問題に向いている:

"InteriorPoint"および"CLP"は大きい疎な問題に向いている:

"InteriorPoint"法または"CLP"法は,問題が実行不可能あるいは非有界かどうかを明らかにできないかもしれない:

"Simplex"および"RevisedSimplex"は非有界問題あるいは実行不可能な問題が検知できる:

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

"InteriorPoint"は最適解集合の中で解を返すことがある:

"Simplex"は常に最適解集合の角で解を返す:

Tolerance  (2)

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

制限行列を指定する:

Toleranceの設定を変えて,計算された最小値と実際の最小値 の誤差を求める:

許容度について最小値の誤差を可視化する:

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

許容範囲が小さいと時間がかかる:

許容範囲を狭くするとより正確な答が与えられる:

WorkingPrecision  (2)

LinearOptimizationは入力からWorkingPrecisionを推測する:

MachinePrecisionの入力はMachinePrecisionの出力を与える:

LinearOptimizationはよ高い作業精度で結果を計算することができる:

指定された精度が入力引数の精度よりも低い場合は,メッセージが出される:

アプリケーション  (34)

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

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

主最小値を否定して対応する最大値を得る:

および を使ってを線形関数に変換する:

および を使ってを線形関数に変換する:

制約条件 に従ってを最小化する.を使ってを線形関数に変換する:

この問題は を使って変換することもできる:

制約条件に従って を最小化する.この制約条件はに変換することができる:

制約条件に従って を最小化する.制約条件と解釈することができる.各制約条件でこの問題を解く:

最適解は2つの解の小さい方である:

に従って を最小化する.ただし, は非減少関数で,代りに を最小化する.主ミニマイザ は両方の問題に対して同じである.に従って を最小化することを考える:

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

に従って を最小化する:

なので,で問題を解く:

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

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

を最小化することで,離散データに対する強力な線形フィットを求める.補助変数 を使うと,この問題は制約条件に従ってを最小化するものに変換されるが,これは線形最適化問題である:

データをフィットする:

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

LeastSquaresを使って得られたフィットと比較する:

線が最初のデータ点を通るようにを最小化することで線形フィットを求める:

制約条件a1.xb1を加えると,強制的にこの線が最初の点を通るようにできる:

プロットは,線が強力なフィットを保持しながら最初のデータ点を通過することを示している:

を最小化することで非線形離散データに対する強力なフィットを求める.ノイズのあるデータを生成する:

を使ってデータをフィットする.近似関数は である:

近似関数の係数を求める:

フィットを可視化する:

近似モデルを参照モデルおよび最小二乗フィットと比較する:

を最小化することで離散データに対する線形フィットを求める.なので,スカラー補助変数 を導入することで問題を制約条件 に従って を最小化するものに変換できる:

データをフィットする:

この直線は「最悪」のフィットを表している:

関数Fitを直接使って係数を計算することができる:

分類問題  (3)

2つの点集合 を分ける直線 を求める:

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

分割線は以下である:

2つの点集合 を分割する二次多項式 を求める:

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

二次多項式の係数は以下である:

二次多項式は以下である:

平面上の2つの点集合を分割できる最低次数の多項式を求める:

または が0のときの問題を回避できる多項式ベキ関数を定義する:

の関数としての係数 を持つ 次多項式を与える関数を定義する:

次の変数は係数である:

制約条件が集合1と集合2の分割を強制する:

例えば,二次の制約条件は以下である:

分割のための唯一の条件は,すべての制約条件を満足することである.目的ベクトルは0に設定されている:

分割多項式を求め,点とともに表示する:

製造問題  (3)

企業の収益を最大にする製造製品の組合せを求める.この企業は3つの製品を製造している.製品1つあたりの収益,製品1つあたりの費用,最大生産量は以下の通りである:

各製品は4つの機械を組み合せて作られている.各製品についての機械の使用時間は以下の通りである:

製品 についての収益は,単価から費用を引いて単位数 を掛けたものである:

各機械は最大で週あたり2400分稼働することができる:

この企業は0から各製品の最大製造数の間の数を製造する:

製品の最適な組合せは以下で与えられる:

結果の収益は以下で与えられる:

各製品に対する機械の使用時間の内訳は以下の通りである:

同じ企業が収益に最も大きい影響を与える製造能力の変更を知りたがっている.最適な製品の組合せと収益は,前の例で以下で与えられる:

現在の製造量に対する収益は以下の通りである:

収益に対する製造能力の変化の分析に必要なすべてのデータを抽出する:

感度は各制約条件に対する収益の導関数を与える.何らかの感度がある制約条件を抽出する:

から感度制約条件を抽出する:

製品3の製造能力が増すと,収益の増加は以下のようになる:

結果の増収:

これは,感度から予測された増収に厳密に対応している:

製品1,製品2,あるいは両方の製造能力が変化しても収益は増加しない:

会社の利益を最大にするために,製造する製品の組合せを求める.この会社は の3つの製品を製造している.単位あたりの収益は以下の通りである:

工場のは100日しか稼働しない.各単位の製造にはそれぞれ日かかる:

各製品には金と錫が使われている.入手可能な金と錫の合計はそれぞれ30単位と200単位である:

各製品を製造するとすると,会社にはセットアップ費用がかかる:

セットアップ費用が比較的高額なため,全く製造しない方がよい製品があるかもしれない.製品 が製造された場合には ,それ以外の場合は となるような決定変数 を設定する.という制限で,に他の制約を加えずに が0の場合は となるようにする:

目的は利益を最大にすることである:

最適な組合せは以下で与えられる:

輸送問題  (1)

ジョン・コナーはスカイネットが5つの植民地への攻撃を計画していることを知った.この脅威に対応するために3つのベースキャンプから植民地に兵士を配備しなければならない.ベースキャンプ から植民地 に兵士1名を輸送するための燃料費用は以下の通りである:

がベースキャンプ から植民地 へ配備する兵士の数を表しているとする.最小化すべき費用関数は以下である:

各ベースキャンプは植民地間で最大で100人の兵士を配備しなければならない:

各植民地は各ベースキャンプから合わせて少なくとも50名の兵士が必要である:

各ベースキャンプから各植民地へ配備される兵士の数は以下の通りである:

各ベースキャンプからの兵士の配備の内訳は以下の通りである:

最適割当て問題  (2)

ジェダイ騎士団はドゥークー率いる分離派と戦っている.ドゥークーと2人の将軍のアサージ・ヴェントレスとグリーヴァス将軍は3つのアウターコロニーを攻撃した.ジェダイ騎士団はアウターコロニーを助けるために3人のジェダイを派遣した.ジェダイ がシス に勝つ勝率を とする:

を行列変数とする.ジェダイ がシス と戦う場合の は1でその他は0である.費用関数は で与えられる負けの期待数で,Inactive[Times]を使って構築される:

アウターコロニーははるか遠くにあるので,各ジェダイに1人のシスが割り当てられるだけかもしれない.また,は0か1なので である:

負けを最小にするための,シスに対する適切なジェダイを求める:

これは,オビ=ワン・ケノービがグリーヴァス将軍のもとに,メイス・ウィンドゥがアサージ・ヴェントレスのもとに,キ=アディ=ムンディがドゥークーのもとに送られることを意味する.期待される負けの数は以下である:

総重量を最小化する,2つの集合 の間の二部グラフマッチング問題を解く:

を行列変数とする,ただし,とマッチするとき1で,それ以外の場合は0である.マッチングの総重量は で与えられ,Inactive[Times]を使って構築される:

の列と行の合計は1で でなければならない:

LinearOptimizationを使ってこの問題を解く:

マッチング置換は行列 をグラフに変換することで抽出することができる.Roundを使ってメソッドによる数値誤差のために起こるかもしれない小さい値を切り捨てる:

隣接グラフを使って二部グラフを構築する:

在庫管理問題  (2)

費用を最小にするために小売店が1週間に発注しなければならない製品 についての在庫を求める.を週 の初めに利用可能な在庫とする.は週 の初めに問屋から受け取る仕入れ注文とする.問屋からの1単位の購入費用は$3である:

過剰または負の在庫の保存費用は単位あたり$1である.在庫費用はで,これは線形ではなく として表すことができる:

最小化する総費用は である:

を週 の初めの需要とする.52週間の需要は,についてで与えられる.店の在庫は となる:

週0に存在する在庫は 単位で仕入れ注文は 単位である.店は1週間に10単位を超えて問屋から購入することはできない:

費用を最小にするための,店に保存する最適な在庫と問屋からの注文を求める:

次は,在庫,仕入れ注文,需要のプロットである.これを見ると26週以降には在庫を抱える必要がなく,したがって在庫費用が最小化されることが分かる:

小売店が取り寄せ注文なしで費用を最小にするために注文すべき,1週間あたりの製品 の在庫を求める.を週 の初めに問屋から受け取る仕入れ注文とする.問屋からの1単位の仕入れ費用は$3である:

過剰あるいは負の在庫の保存費用は単位あたり$1である:

を週 の初めの需要とする.52週間の需要はについてで与えられる.店の在庫は である:

初期在庫はs 単位と 単位で,問屋からの最大購入量は10単位である:

この会社は,取り寄せ注文を確実になくしたい,つまり にしたい:

費用を最小にする店に保存する最適在庫と問屋への注文を求める:

次のプロットは,取り寄せ注文を回避するためには,需要に見合うように最初の数週に過剰在庫を購入すべきであることを示している.20週から21週には在庫費用がなくなる:

構造最適化問題  (2)

応力と変位の制約条件に従って,2ビームトラスの重量を最小にする:

重量は である.ただし, は密度,および は棒1と棒2の断面積である.この問題のために を仮定する:

棒1と棒2の軸に沿って働く力は以下の通りである:

応力 ,ただし は棒に沿って働く力で,指定された応力 より小さくなければならない:

自由ノードにおけるずれは.である.棒の軸に沿ったこのずれの成分はずれ と等しくなければならない.ただし, はヤング率である:

自由ノードの縦のずれは与えられた より小さくなければならない:

使用されている材料はアルミニウムである.設計パラメータは以下である:

ビームの最小重量と最適断面積を計算する:

トラスの重量が180kgを超えない角度と長さの範囲を求める:

2ビームトラスの重量を応力とずれの制約条件に従って最小にし,トラスの設計に大きく影響する制約条件を求める:

重量は である.ただし, は密度,および は棒1と棒2の断面積である.この問題のためにを仮定する:

棒に働く力による制約条件は以下である:

使用されている素材はアルミニウムである.設計パラメータは以下である:

棒の最適な断面積 を求めることでトラスの重量を最小にする:

大きい制約条件の感度値は設計に対する影響が大きいことを意味する:

設計に影響する重要な制約は,棒1に働く力の制約 である:

順次線形最適化  (1)

非線形制約条件 に従って非線形関数 を最小にする.最小化は のときの のときの としての制約条件を近似することで行える.これは,再帰的に解くことができる線形最小化問題になる.かつ である場合を考える:

最小化関数と制約条件の勾配は以下になる:

下位の問題は,に従って を最小化することで を求めることである:

初期の推測 から始めて繰り返す.次の繰返しは である,ただし,は制約条件が常に満足されることを確かにするステップ長である:

結果の収束を可視化する.最終結果は緑の点である:

数独ゲーム  (3)

次の数独パズルを解く:

を部分正方形の変数とし,をベクトル の要素 とする.のとき,には数 が入る.各 には1つの数字しか入らないので,には1つの非零の要素しか入らない.つまり,である:

各行にはすべての数がなければならない.つまり,である.ここで,は1の9次元のベクトルである:

各列にもすべての数がなければならない.つまり,である:

それぞれの3×3ブロックにはすべての数が入らなければならない.つまり,である:

これらを合わせると,任意の数独パズルの制約条件になる:

すべての変数を集める:

既知の値を制約条件に変換する.もし部分正方形 が入るのなら,である:

パズルを解く:

結果を可視化する:

最初の行をランダムに指定することで,ランダムな数独ボードを生成する.上で説明した手続きに従ってソルバ関数を定義する:

最初の行をランダムに生成する:

可能な解を求めて開始ボードと比較する:

ボードをランダムに生成し,一度に1つの要素を削除して数独パズルを生成する.数独パズルを解く関数を定義する.数独ボード上に負の数が指定されると,この関数はその数がその場所には入れられないと仮定する:

ボードの最初の行をランダムに指定することでランダムな参照数独ボードを生成する:

保存すべき最小要素数を指定する:

解の一意性を損なうことなしに削除できる要素がなくなるまで,ランダムに選択した要素を一度に1つずつボードから削除していく.この削除は,削除された要素が削除された数を持つことはできないという条件を加えて数独パズルを解くことで検証することができる.実行可能な解が求まったならば,その場所にあった数は一意的ではなく,その要素は残しておくことができる.それ以外の場合は,その要素がボードから削除される:

結果のパズルを可視化する:

結果のパズルを解いて参照数独ボードと比較する:

グラフ彩色問題  (1)

隣接する2つのノードが同じ色にならないようにしてグラフのノードを彩色するのに必要な最低の色数を求める.任意のグラフに必要な数以上の色から始める:

ランダムグラフを生成する:

グラフに関連付けられた隣接行列を抽出する.この行列は対称行列なので,行列の上三角部分だけを使う:

はノード に色 が割り当てられた場合に となるような行列であるとする. は,最終集合で色 が使われた場合に となるようなベクトルであるとする.各ノードに色が割り当てられなければならない:

2つのノードが辺を共有している場合は,この2つのノードに同じ色を割り当てることはできない:

ノード に色 が割り当てられると,色 は色の最終的な集合で使われる:

行列 とベクトル はバイナリ変数である:

グラフ彩色問題を解く:

使用される最小の色数は以下の通りである:

グラフを彩色する:

集合被覆問題  (3)

病院の救急救命室(ER)でリストにある処置を行うためにERに待機させなければならない医師の組合せを求める.各医師は特定数の処置しか行えないものとする:

各医師を待機させておくための費用は以下の通りである:

を医師 が待機している場合に となるような決定ベクトルとする.目的は費用を最小にすることである:

少なくとも一人の医師が処置 を行わなければならない:

待機させるべき医師の組合せを求める:

6つの地区からなる都市に,各地区から15分以内の場所に消防署があるようにするために建設しなければならない消防署の最低数を求める.ある地区から隣の地区までの運転時間は以下の通りである:

を,地区 に消防署が建設された場合に となるような決定ベクトルとする.目的は消防署の数を最低にすることである:

各地区から15分以内の場所に少なくとも1つの消防署がなければならない:

消防署を建設すべきである地区を求める:

ある会社がその6つの小売店に商品を供給するために建設しなければならない倉庫の最小数を求める.この会社は倉庫の候補地を5つ選んだ.各小売店に各倉庫から商品を供給するための費用は以下の通りである:

各倉庫の運営費用と建設費用は以下の通りである:

を,倉庫 が建設されたなら となる決定変数とする.は倉庫 が小売店 に供給する商品の割合を表す.目的は費用を最小にすることである:

倉庫 は選択された小売店にその商品のすべてを供給しなければならない:

5つの倉庫のどれを建設すべきかを求める:

建設する倉庫を求める:

巡回セールスマン問題  (1)

セールスマンが 都市を1回だけ通る最短経路を求める.場所を生成する:

都市 から都市 までの距離を とする. は,なら経路が都市 から都市 へ向かう決定変数である.目的は距離を最短にすることである:

セールスマンは厳密に1つの都市から来て厳密に1つの都市へ行くことができる:

セールスマンはある都市に来て同じ都市に行くことはできない:

セールスマンは1回のツアーですべての場所を回らなければならない:

決定変数ばバイナリ変数で,ダミー変数は である:

距離が最短となる経路を求める:

経路を抽出する:

移動距離は以下の通りである:

FindShortestTourを使ってより効率的に巡回セールスマン問題を解く:

特性と関係  (9)

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

Minimizeは,線形最適化問題の大域的厳密結果も与える:

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

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

LinearFractionalOptimizationは問題を解くためにLinearOptimizationを使う:

を使って目的関数を変換する:

逆変換を適用してもとの問題の解を得る:

QuadraticOptimizationLinearOptimizationの一般化である:

SecondOrderConeOptimizationLinearOptimizationの一般化である:

SemidefiniteOptimizationLinearOptimizationの一般化である:

ConicOptimizationLinearOptimizationの一般化である:

考えられる問題  (6)

狭義の不等式を使って指定された制約条件は満足されないかもしれない:

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

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

ミニマイザはIndeterminateである:

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

ミニマイザはIndeterminateである:

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

混合整数問題は機械精度でしか解くことができない:

複素数値を含む制約条件はベクトル不等式で指定する必要がある:

GreaterEqualだけを使ってもうまく行かない:

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

テキスト

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

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