「シンプレックス法」の版間の差分
表示
削除された内容 追加された内容
"Dantzig"の綴りを修正。 (変更前: Danzig) |
Template:Weblio廃止のためテンプレート除去 / 参考文献節に外部リンク出典の使用要請COがあったが、現在の出典明示方法(WP:GENREF)と合わないので除去した。 |
||
1行目: | 1行目: | ||
{{Otheruses|線型計画問題を解くアルゴリズム|非線型最適化問題のNelderとMeadによる滑降シンプレックス法(downhill simplex method)|Nelder-Mead法}} |
{{Otheruses|線型計画問題を解くアルゴリズム|非線型最適化問題のNelderとMeadによる滑降シンプレックス法(downhill simplex method)|Nelder-Mead法}} |
||
{{複数の問題 |
|||
|出典の明記=2015年10月 |
|||
|脚注の不足=2017年11月1日 (水) 04:10 (UTC) |
|||
}} |
|||
'''シンプレックス法''' |
'''シンプレックス法'''({{Lang-en-short|simplex method}}、'''単体法''')は、[[1947年]]に{{仮リンク|ジョージ・ダンツィーク|en|George Dantzig|de|George Dantzig|fr|George Dantzig|es|George Dantzig|af|George Dantzig|ar|جورج دانتزغ|cs|George Dantzig|eu|George Dantzig|ht|George Dantzig|it|George Dantzig|ko|조지 댄치그|nl|George Dantzig|no|George Dantzig|pl|George Dantzig|pt|George Dantzig|ro|George Dantzig|ru|Данциг, Джордж|sk|George Dantzig|sv|George Dantzig|ta|ஜார்ஜ் டாண்ட்சிக்|uk|Джордж Данціг|vi|George Dantzig|zh|喬治·伯納德·丹齊格}}(George B. Dantzig)が提案した、[[線型計画問題]]を解く[[アルゴリズム]]の中で最も広く使用されている方法である。[[線型計画法]]の1つ。 |
||
==概要== |
==概要== |
||
26行目: | 29行目: | ||
==参考文献== |
==参考文献== |
||
<!-- ◆実際に本文中で参考として使用した出典情報源以外の「参考になりそうな書籍」をここに追記列挙してはならない。--> |
|||
{{節stub|date=2015年10月}} |
|||
* {{Cite book |和書 |title=ニューメリカルレシピ・イン・シー 日本語版―C言語による数値計算のレシピ |publisher=[[技術評論社]] |author=William H. Press(著)、William T. Vetterling(著)、Saul A. Teukolsky(著)、Brian P. Flannery(著)、丹慶 勝市(翻訳)、佐藤 俊郎(翻訳)、奥村 晴彦(翻訳)|date=1993-6-1 |isbn=978-4874085608 }} |
|||
<!--{{Refbegin}}と{{Refend}}の間に{{Cite book}}などを用いて書誌を列挙し、{{Sfn}}や{{Harv}},{{Harvnb}}で本文に紐付けすること。--> |
|||
⚫ | |||
このアルゴリズムを解説した書籍は多数ある。たとえば、Numerical Recipes in C (ISBN 4874085601) などにソースコード付きで解説が載っている。 |
|||
⚫ | |||
⚫ | |||
== 外部リンク == |
== 外部リンク == |
||
{{Refbegin|2}} |
|||
*{{Weblio|シンプレックス法|2=OR事典}} |
|||
*{{Kotobank|シンプレックス法|2=ASCII.jpデジタル用語辞典}} |
*{{Kotobank|シンプレックス法|2=ASCII.jpデジタル用語辞典}} |
||
*{{Kotobank|線形計画法|2=世界大百科事典}} |
*{{Kotobank|線形計画法|2=世界大百科事典}} |
||
*{{Kotobank|ダンツィーク|2=ブリタニカ国際大百科事典 小項目事典}} |
*{{Kotobank|ダンツィーク|2=ブリタニカ国際大百科事典 小項目事典}} |
||
{{Refend}} |
|||
⚫ | |||
⚫ | |||
⚫ | |||
{{アルゴリズム}} |
{{アルゴリズム}} |
2017年11月1日 (水) 04:10時点における版
シンプレックス法(英: simplex method、単体法)は、1947年にジョージ・ダンツィーク(George B. Dantzig)が提案した、線型計画問題を解くアルゴリズムの中で最も広く使用されている方法である。線型計画法の1つ。
概要
シンプレックス法は、実行可能解(超多面体の頂点)の1つから出発して目的関数の値をなるべく大きく(小さく)するようなところに移動させていく動作を繰り返して最適解を見つけ出す方法である。各ステップで必ず目的関数の値は改善される。
このアルゴリズムは、実用上は高速。ほとんど常に、変数の数・条件式の数の大きな方のオーダーの回数だけ反復を繰り返せば解ける。そのことは、1982年に スティーヴン・スメイル(Stephen Smale) が証明した。しかし、Dantzig が提唱したもの(ピボット規則)は多項式時間で終了しない問題例がある。常に多項式時間で解が得られるピボット規則の存在性は、現在も未解決問題である。
単体法という名前は、Dantzig が提案した特殊な図解法においては、アルゴリズムの進行に従って単体が下に落ちていくように見えることに由来する。
アルゴリズム
この節の加筆が望まれています。 |
一般的な流れは以下のとおりである。
- 線型計画問題を制限標準型に変形する。
- スラック変数を加え、標準型に変形する。制約条件のうち、不等式を含む物がなくなり、全て等式となる。
- 人工変数を加え、制限標準型に変形する。等式化された問題の目的関数をzとおく。zを最大化(最小化)する線型計画問題にする。
- ここまで行った作業を基にシンプレックス表(Simplex Tableau、線型計画問題の係数を表にまとめたもの)を作成する。
- 式の数だけ基底変数を定める。目的関数zは必ず基底変数に選ばなければならない。
- 初期の基底変数から得られた連立方程式の解が最適かどうかを調べる。最適とみなすことができた場合は終了。終了しなかった場合は以下の作業をおこなう。
- 基底変数と非基底変数の組合せを変更する。
参考文献
- William H. Press(著)、William T. Vetterling(著)、Saul A. Teukolsky(著)、Brian P. Flannery(著)、丹慶 勝市(翻訳)、佐藤 俊郎(翻訳)、奥村 晴彦(翻訳)『ニューメリカルレシピ・イン・シー 日本語版―C言語による数値計算のレシピ』技術評論社、1993年6月1日。ISBN 978-4874085608。