シンプレックス法

曖昧さ回避 この項目では、線型計画問題を解くアルゴリズムについて説明しています。非線型最適化問題のNelderとMeadによる滑降シンプレックス法 (downhill simplex method)については「ネルダー–ミード法」をご覧ください。

シンプレックス法英語: simplex method単体法)は、1947年ジョージ・ダンツィークが提案した、線型計画問題を解くアルゴリズムの中で最も広く使用されている方法である。線型計画法の1つ。

シンプレックス法は、実行可能解 (超多面体の頂点) の1つから出発して目的関数の値をなるべく大きく (小さく) するようなところに移動させていく動作を繰り返して最適解を見つけ出す方法である。各ステップで必ず目的関数の値は改善される。

このアルゴリズムは、実用上は高速であり、変数の数・条件式の数の大きな方のオーダーの回数だけ反復を繰り返せばほとんど常に最適解に達する。このことは、1982年スティーヴン・スメイル (Stephen Smale) が証明した。シンプレックス法は、用いるピボット規則により性能が左右される。有限回のピヴォットで終了することが保証されている規則として、Blandの提案した最小添字規則が知られている。Dantzigの提案したピボット規則は問題の規模にたいして指数時間かかる問題例があることが知られている。現在のところ、線型計画問題を多項式時間で解くピボット規則の存在性は未解決問題である。

単体法という名前は、Dantzig が提案した特殊な図解法においては、アルゴリズムの進行に従って単体が下に落ちていくように見えることに由来する。

アルゴリズム

一般的な流れは以下のとおりである。

  1. 線型計画問題を制限標準型に変形する。
    1. スラック変数を加え、標準型に変形する。制約条件のうち、不等式を含む物がなくなり、全て等式となる。
    2. 人工変数を加え、制限標準型に変形する。等式化された問題の目的関数を z とおく。z を最大化 (最小化) する線型計画問題にする。
  2. ここまで行った作業を基にシンプレックス表 (Simplex Tableau、線型計画問題の係数を表にまとめたもの) を作成する。
  3. 式の数だけ基底変数を定める。目的関数zは必ず基底変数に選ばなければならない。
  4. 初期の基底変数から得られた連立方程式の解が最適かどうかを調べる。最適とみなすことができた場合は終了。終了しなかった場合は以下の作業をおこなう。
  5. 基底変数と非基底変数の組合せを変更する。
    1. 新たに基底変数にできそうな変数を非基底変数の中から選ぶ。複数存在する場合は、最も効果の高い変数を基底に選ぶ。(ピボット列の決定)
    2. 基底から追い出す変数を決める。増加限界 (定数項の値から新たに基底に入れる変数の係数を割ったもの) によって変数を決めることが多い。(ピボット行の決定)
    3. 新しい基底変数での連立方程式を解く。具体的にはピボットを中心に掃き出し法などで新たな実行可能解を求める。実行後は4.に戻り、同様の処理を繰り返す。

参考文献

  • William H. Press(著)、William T. Vetterling(著)、Saul A. Teukolsky(著)、Brian P. Flannery(著)、丹慶 勝市(翻訳)、佐藤 俊郎(翻訳)、奥村 晴彦(翻訳)『ニューメリカルレシピ・イン・シー 日本語版―C言語による数値計算のレシピ』技術評論社、1993年6月1日。ISBN 978-4874085608。 
  • 水野 眞治, 『シンプレックス法の巡回とその回避』, http://www.me.titech.ac.jp/~mizu_lab/text/PDF-LP/LP3A-simplex.pdf 
  • 松井 知己, 『Bland の最小添字規則の有限性 -単体法の非巡回ピヴォット規則- 』, http://tomomi.my.coocan.jp/text/bland7.pdf 

外部リンク

  • ASCII.jpデジタル用語辞典『シンプレックス法』 - コトバンク
  • 世界大百科事典『線形計画法』 - コトバンク
  • ブリタニカ国際大百科事典 小項目事典『ダンツィーク』 - コトバンク
ソート
比較ソート
線形時間ソート
並行ソート
非効率的
グラフ
探索
リスト
木・グラフ
文字列
最短経路問題
最小全域木
最大フロー問題
最小カット問題
線型計画問題
順序統計量
計算幾何学
種類
その他
カテゴリ
非線形(無制約)
… 関数 
勾配法
収束性
準ニュートン法
その他の求解法
ヘッセ行列
  • 最適化におけるニュートン法(英語版)
The graph of a strictly concave quadratic function is shown in blue, with its unique maximum shown as a red dot. Below the graph appears the contours of the function: The level sets are nested ellipses.
Optimization computes maxima and minima.
非線形(制約付き)
一般
微分可能
凸最適化
凸縮小化
  • 切除平面法(英語版、デンマーク語版、ドイツ語版、スペイン語版)
  • 簡約勾配法
  • 劣勾配法(英語版)
線型 および
二次
内点法
ベイズ-交換
  • 単体法
  • 改訂シンプレックス法(英語版)
  • 十字法(英語版)
  • レムケの主ピボット操作法(英語版)
組合せ最適化
系列範例
(Paradigms)
グラフ理論
最小全域木
最大フロー問題
メタヒューリスティクス
  • カテゴリ(最適化 • アルゴリズム) • ソフトウェア(英語版)
典拠管理データベース: 国立図書館 ウィキデータを編集
  • ドイツ
  • イスラエル
  • アメリカ
  • 表示
  • 編集
スタブアイコン

この項目は、数学に関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めています(プロジェクト:数学/Portal:数学)。

  • 表示
  • 編集