LinearProgramming

LinearProgrammingはバージョン13.0でLinearOptimizationに置き換えられた.

LinearProgramming[c,m,b]

m.xb および x0の制約条件の下で,量 c.x を最小にするベクトル x を求める.

LinearProgramming[c,m,{{b1,s1},{b2,s2},}]

x0であり,行列 m{bi,si}のペアによって指定される線形制約条件の下で c.x を最小にするベクトル x を求める.m の各行 mi の対応する条件は,si==1の場合は mi.xbisi==0の場合は mi.x==bisi==-1の場合は mi.xbi である.

LinearProgramming[c,m,b,l]

mb,および xl によって指定される制約条件の下で c.x を最小にする.

LinearProgramming[c,m,b,{l1,l2,}]

mb,および xili によって指定される制約条件の下で c.x を最小にする.

LinearProgramming[c,m,b,{{l1,u1},{l2,u2},}]

mb,および lixiui によって指定される制約条件の下で c.x を最小にする.

LinearProgramming[c,m,b,lu,dom]

x の要素が,RealsIntegersのどちらかの領域 dom にあるものとする.

LinearProgramming[c,m,b,lu,{dom1,dom2,}]

xi が領域 domi にあるものとする.

詳細とオプション

  • ベクトル c b そして行列 m のすべての要素が実数であることが要求される.
  • 境界 liuiは,実数,Infinityまたは-Infinityでなければならない.
  • Noneは境界を指定しないことに等しい.
  • LinearProgrammingは,入力が厳密な有理数である場合は,厳密な有理数または整数の結果を返す.
  • 解が求められないときは,LinearProgrammingは未評価で返される.
  • 入力に近似数が含まれるとき,LinearProgrammingは近似数値解を出す.オプションToleranceは内部比較で使用する許容率を指定する.デフォルト値はTolerance->Automaticである.これは厳密数には厳密な比較を行い,近似数には許容率を使う.
  • LinearProgrammingSparseArrayオブジェクトを使うことができる.
  • Method->"InteriorPoint"とすると,LinearProgrammingは内点法を使う.

例題

すべて開くすべて閉じる

  (3)

と暗示的な非負という条件下で を最小化する:

LinearProgrammingLinearOptimizationに置き換えられた:

方程式の制約条件 と暗示的な非負という制約条件下で問題を解く:

LinearOptimizationを使って問題を解く:

方程式の制約条件 と暗示的な非負という制約条件下で問題を解く:

LinearOptimizationを使って問題を解く:

スコープ  (6)

と下界 , という制約条件に従って を最小化する:

と下界, という制約条件に従って を最小化する:

と上界 , という制約条件に従って を最小化する:

と暗示的な非負という制約条件に従って を最小化する:

という境界条件のみで を最小化する:

両変数を整数として同様の問題を解く:

最初の変数を整数として同じ問題を解く:

より規模の大きいLP.この場合は変数が200,000個で制約条件が10,000個のものを解く:

オプション  (2)

Method  (1)

"InteriorPoint"は,機械精度の問題でしか使えないが,"Simplex""RevisedSimplex"より速い:

Tolerance  (1)

近似的な解で十分な場合は,ルーズなToleranceオプションを使って解の処理を速めることができる:

特性と関係  (2)

線形計画法問題はMinimizeを使って解くこともできる:

NMinimizeまたはFindMinimumを使って厳密ではない線形計画法の問題を解いてもよい:

考えられる問題  (4)

整数計画法のアルゴリズムは機械数の問題でしか使えない:

"InteriorPoint"(内点)法は機械数にしか使えない:

"InteriorPoint"法は最適解群の中央の解を返すことがある:

"InteriorPoint"(シンプレックス)法は,常に最適解の角の解を返す:

この場合,最適解群はからまでの線分上のすべての点である:

"InteriorPoint"法は,問題が実行不可能かあるいは境界を持たないかどうかを常に見分けられる訳ではない:

おもしろい例題  (1)

次は,次元nのKleeMinty問題をLinearProgramming構文で表している:

スケーリングが内部的に適用されているので,シンプレックス法は非常に速く収束する:

Wolfram Research (1991), LinearProgramming, Wolfram言語関数, https://reference.wolfram.com/language/ref/LinearProgramming.html (2007年に更新).

テキスト

Wolfram Research (1991), LinearProgramming, Wolfram言語関数, https://reference.wolfram.com/language/ref/LinearProgramming.html (2007年に更新).

CMS

Wolfram Language. 1991. "LinearProgramming." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2007. https://reference.wolfram.com/language/ref/LinearProgramming.html.

APA

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

BibTeX

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

BibLaTeX

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