| Webサイト | コインオー |
|---|---|
オペレーションズ リサーチの計算インフラストラクチャ( COIN-OR ) は、「数学理論におけるオープン文献と同じものを数学ソフトウェアに作成する」ことを目的としたプロジェクトです。オープン文献 (研究ジャーナルなど) は、オペレーションズ リサーチ(OR) コミュニティにピア レビュー プロセスとアーカイブを提供します。数学理論に関するオペレーションズ リサーチ ジャーナルの論文には、計算研究による数値結果が裏付けられていることがよくあります。数値結果を生成するために使用されたソフトウェア実装、モデル、およびデータは、通常公開されません。現状では、研究者が計算結果を再現し、公正な比較を行い、最先端の技術を拡張することが妨げられていました。
Linux、Apache、およびその他のプロジェクトの成功により、ソフトウェア開発および配布のオープンソース モデルが普及しました。IBM Research のグループは、ソフトウェア、モデル、およびデータを公開するための類似した実行可能な手段としてオープンソースを提案しました。COIN-OR は、計算オペレーションズ リサーチ コミュニティでオープンソースを促進し、他の人が独自のオープンソース ソフトウェアプロジェクトを実行できるようにするために必要なオンライン リソースとホスティング サービスを提供するイニシアチブとして考案されました。
COIN-ORのウェブサイトは、2000年にジョージア州アトランタで開催された第17回国際数学プログラミングシンポジウムに合わせて実験的に立ち上げられました。2007年には、COIN-ORには25のアプリケーションプロジェクトがありました[1]。これには、線形計画法(COIN-OR CLPなど)、非線形計画法(IPOPTなど)、整数計画法(CBC、Bcp、COIN-OR SYMPHONYなど)、代数モデリング言語(Cooprなど)などのツールが含まれています。2011年までに、これは48のプロジェクトにまで成長しました[2] 。COIN -ORは、オペレーションズリサーチおよび経営科学研究所(INFORMS)によってホストされ、教育的、非営利のCOIN-OR財団によって運営されています。
プロジェクト
CLPI の
COIN-OR LP (CLP または Clp) は、C++で書かれたオープンソースの線形計画法 ソルバーです。これはCommon Public Licenseの下で公開されているため、 GNU General Public Licenseの制限なしにプロプライエタリソフトウェアで使用できます。CLP は主に呼び出し可能なライブラリとして使用することを目的としていますが、スタンドアロンの実行可能バージョンを構築することもできます。これは、数倍遅いものの、商用ソルバーと同等の信頼性を備え、[3]非常に大きな問題に取り組めるように設計されています。
CLP は次のような線形計画問題を解決するように設計されています。
- 最小化する
- 次の形式の問題の制約に従う
- および非負の変数
最大数百万の変数および/または制約を持ちます。主なアルゴリズムは単体アルゴリズムです。
CLP は、SYMPHONY、Branch Cut and Price (BCP)、COIN-OR Branch and Cut (CBC) などの他の COIN-OR プロジェクトでも使用されます。
CBC
COIN-OR分岐カット(CBC または Cbc) は、C++で書かれたオープンソースの混合整数計画ソルバーです。スタンドアロンの実行可能ファイルとしても、呼び出し可能なライブラリとしても使用できます ( A Mathematical Programming Language ( AMPL ) [ネイティブ]、General Algebraic Modeling System (GAMS) [ COIN-OR Optimization Services (OS) およびGAMSlinksプロジェクトによって提供されるリンクを使用]、MPL [ CoinMPプロジェクト経由]、AIMMS [ AIMMSlinksプロジェクト経由]、PuLP、CMPL、[4] OpenSolver for Excel、[5] JuMP、[6]または MiniZinc)。長年オープンソースの MIP ソルバーとして人気がありましたが、そのパフォーマンスは HiGHS に比べて大幅に劣っています。[7] [8]
交響曲
ネットワーク上のシングルまたはマルチプロセス 最適化(SYMPHONY)は、異種ネットワーク上の混合整数計画(MIP)を解くためのオープンソースのブランチアンドカットフレームワーク です。 [9] CLP、 CPLEX、XPRESS、またはその他の線形計画ソルバーを使用して、基礎となる線形計画を解くこと ができます。
SYMPHONY は、MILP を解決するための分岐、カット、価格のシーケンシャル バージョンと並列バージョンの両方を実装する呼び出し可能なライブラリです。分岐、カット、価格アルゴリズムは、分岐限定アルゴリズムに似ていますが、切断面法と価格アルゴリズムが追加されています。ライブラリのユーザーは、カスタム データ ファイルの読み込み、アプリケーション固有の切断面の生成、カスタム分岐ルールの適用を行うアプリケーション固有のサブルーチンを提供することで、さまざまな方法でアルゴリズムをカスタマイズできます。その結果、カスタマイズされた分岐およびカット アルゴリズムが作成されます。アルゴリズムのほとんどのコンポーネント (検索ツリー管理、線形計画法ソリューションの管理、カット プール管理、通信管理など) はライブラリ内部にあり、ユーザーが変更する必要はありません。実行ファイルは、完全にシーケンシャルなものから、独立して機能するカット ジェネレータ、カット プール、LP ソルバーを備えた完全に並列なものまで、さまざまな構成でビルドできます。分散バージョンは現在、PVMメッセージ パッシング プロトコルでサポートされているすべての環境で実行できます。同じソース コードは、任意のOpenMP準拠コンパイラを使用して共有メモリ アーキテクチャ用にコンパイルすることもできます。
SYMPHONY はMPS (COIN-OR MPS リーダー経由) およびGNU MathProgファイルを読み取ります。SYMPHONY には独自の LP ソルバーはありませんが、Osi インターフェース経由で Clp、Cplex、Xpress などのソルバーとともに使用できます。カットは COIN のカット生成ライブラリ CGL を使用して生成されます。SYMPHONY には、巡回セールスマン問題、車両ルーティング問題、集合分割問題、混合郵便配達員問題などの問題に対する構造固有の実装もあります。SYMPHONY には対話型シェルもあり、ユーザーはそこでコマンドを入力してプログラムを実行および制御できます。
パルプ
PuLPはPythonで書かれたLP/IPモデラーです。[10] MPSまたはLPファイルを生成し、GLPK、CLP/CBC、CPLEXを呼び出して線形問題を解くことができます。PuLPはSolverStudio for Excelのデフォルトの最適化ツールです。
スミ
SMIはC++で書かれた確率的計画法モデラーおよびソルバーです。 [11]確率的MPSを読み取り、確率的プログラムを構築するための直接的なインターフェースを提供します。決定論的等価線形計画法を生成し、それを解き、シナリオソリューションにアクセスするためのインターフェースを提供します。
参照
- COIN-OR ソルバーは、JuMP、AIMMS、AMPL、GAMS、およびFortSPモデリング システムで使用できます。また、OpenSolver およびSolverStudioアドインを介してExcel内から使用することもできます。
参考文献
- ^ 「COIN-OR Annual Report, 2007」(PDF) 。 2008年5月15日時点のオリジナルよりアーカイブ(PDF) 。 2008年3月28日閲覧。
- ^ 「COIN-OR Annual Report, 2011」(PDF) 。 2016年4月29日時点のオリジナルよりアーカイブ(PDF) 。 2016年7月5日閲覧。
- ^ 「シンプレックス LP ソルバーのベンチマーク」。2021 年 11 月 11 日時点のオリジナルよりアーカイブ。2021 年 11 月 11 日閲覧。
- ^ coin-or/Cmpl、COIN-OR Foundation、2024-01-20、2024-04-13にオリジナルからアーカイブ、2024-06-20に取得
- ^ 「OpenSolver for Excel – Excel 用オープンソース最適化ソルバー」opensolver.org。 2024 年 6 月 10 日時点のオリジナルよりアーカイブ。2024 年 6 月 20 日閲覧。
- ^ jump-dev/JuMP.jl、JuMP-dev、2024-06-19、2024-05-15にオリジナルからアーカイブ、2024-06-20に取得
- ^ 「HiGHS - 高性能並列線形最適化ソフトウェア」www.highs.dev。 2024年6月17日時点のオリジナルよりアーカイブ。2024年6月20日閲覧。
- ^ 「MIPLIB2017 ベンチマークインスタンス」。2021年10月30日時点のオリジナルよりアーカイブ。2021年11月11日閲覧。
- ^ “SYMPHONY”. 2014年2月28日時点のオリジナルよりアーカイブ。2013年11月14日閲覧。
- ^ “PuLP”. 2013年12月20日時点のオリジナルよりアーカイブ。2013年11月14日閲覧。
- ^ “SMI”. 2014年10月15日時点のオリジナルよりアーカイブ。2014年1月3日閲覧。
さらに読む
- JT Linderoth および TK Ralphs:混合整数線形計画法の非商用ソフトウェア。Integer Programming: Theory and Practice、John Karlof (ed.)、CRC Press Operations Research Series、2005、253-303。(ワーキング ペーパー バージョン)
- T. Ralphs: COIN-OR 最適化スイートの紹介: 最適化モデルの構築と解決のためのオープン ソース ツール。Optimization Days、モントリオール、2013 年 5 月 7 日。(プレゼンテーション スライド)
外部リンク
- オペレーションズ・リサーチのための計算インフラストラクチャ COIN-OR の公式ウェブサイト
