dalsegno

dalsegno · 線形計画法の表形式シンプレックス法

シンプレックス法tableauを用いて標準形の線形計画問題を解きます:まずBig‑Mを用いてスラック変数(≤)、超過変数・人工変数(≥、=)を追加し、最負の縮小費用で入る列と最小比で出る行を選び、ピボット(ガウス・ジョルダン)を適用して最適性または実行不能・非有界を検出するまで反復します。

シンプレックス法とは?

シンプレックス法は線形計画問題を解くアルゴリズムです。George Dantzigにより開発され、実行可能領域の頂点を移動しながら各ステップで目的関数の値を改善し、最適解に到達するか、非有界・実行不能を検出するまでの手続きです。

標準形。シンプレックス法は標準形の問題を扱います:最大化(または最小化を最大化に変換)、等式制約、非負変数。不等式はスラック変数(≤)、超過変数人工変数(≥、=)で変換されます。

Big-M法。≥や=の制約がある場合、人工変数を追加し目的関数で-M(最大化時)の係数でペナルティを与え基底から追い出します。これにより初期実行可能基底を得るか、実行不能を検出します。

Tableauとピボット。アルゴリズムは現在の基底に対する標準形のシステムを表すtableauに適用されます。各反復で入る変数(最も負の縮小費用)と出る変数(最小比の規則)を選び、ガウス・ジョルダン・ピボットを実行します。負の縮小費用がなくなる(最適)、出る行がない(非有界)、人工変数が基底に残る(実行不能)で終了します。

問題を定式化

目的関数と制約条件を入力してください。2変数の場合は実行可能領域と最適解を表示し、3変数以上ではシンプレックス法を使用し、該当する場合はx₁、x₂への投影を表示します。

問題エディター

「変更を適用」でスナップショット(元に戻す/やり直し)を作成します。

Enterキーを押すか、外側をクリックして更新。

変数ごとの境界

形式 a ≤ xᵢ ≤ b。空欄 = 境界なし(∞ または −∞)。デフォルト:0 ≤ xᵢ。

x1
x2

目的関数

z =
x1 +
x2

制約条件

x1 +
x2
x1 +
x2
x1 +
x2
表示:

結果

状態: 最適
最適値
z* = 10.000000
x* = (2.000000, 2.000000)
x1* = 2.000000; x2* = 2.000000

実行可能領域と最適解