回答:
CPLEXの「父」であるBixbyの論文を強くお勧めします。この論文は、(改訂された)シンプレックスアルゴリズムの実装だけでなく、Robert E. Bixby、現実世界の線形プログラムの解決:A Decade and More of Progress、Operations研究(50)2002、3-15。
シンプレックスアルゴリズムはPにはありません。したがって、CLRSは、実際には「うまく」機能しているにもかかわらず、アルゴリズムを指数関数的に実行する入力がいくつかあると述べています。これは、その実装ではなく、アルゴリズムに厳密に関連しています。アルゴリズムの実装方法とは無関係に、これに直面します。ただし、LPはPにあります。これは1979年にKhachianによって証明されましたが、彼の楕円アルゴリズムは実用的ではありません。現在、内点法が広く使用されています。最初のものは、1984年にKarmarkarによって発見されました。
実際の実装に興味がある場合は、以下をご覧ください。
アカデミック版の無料のGUROBIは、現在利用可能な最適なオプティマイザーです(シーケンシャルバージョンと共有メモリパラレルバージョンの両方)。
GLPKライブラリ:
http://www.gnu.org/software/glpk/
これは、以下の実装を提供するオープンソースプロジェクトです。
Vanderbeiの線形プログラミングの本は、低レベルの詳細の多くを詳しく説明しています...しかし、他の回答/コメントが示唆するように、LPソルバーの実装は困難であり、感謝のないタスクです。市販のソルバーはおそらく行く方法です...(オープンソースのLPソルバーもいくつかあります...)
指数関数的な時間で動作するのは、単純な実装だけではありません。実際、既知の決定論的およびランダム化されたルールはすべて、スーパー多項式の最悪ケースの入力を持っていると思います。この最悪の場合の動作を引き起こす既知の入力のほとんどは高度に構造化されており、関連する質問です。
ただし、実際にはSMはうまく機能します。これは、入力がわずかに乱れた基本的に最悪のケースの分析である平滑化分析の導入によって形式化されました。この分析では、SMはポリタイムです。つまり、すべての入力(病理学的入力を含む)に対して、わずかな摂動が存在するため、アルゴリズムが良好に機能します。この洞察は、ポリタイムで実行されるランダム化アルゴリズムに変換されました。ただし、私が理解している限り、このアルゴリズムが「真の」シンプレックスアルゴリズムとして適格であるかどうかについては、まだ議論があります。また、標準パッケージがこれに沿って何かを実装するかどうかは知りませんが、5歳以上であるため、検索するといくつかの実装を見つけることができるはずです。