Cbc
とはオープンソースの混合整数線形計画(mixed integer liner program)ソルバーです。混合整数線形計画問題とは線形計画問題の中に連続変数と、整数変数が混合している問題のことになります。
そのCbcソルバーで並列処理を行えるようにするには、下記のようにインストールの際にオプションを指定する必要があります。
インストール方法
homebrew
brew tap coin-or-tools/coinor brew install cbc --with-parallel
ソースコード
1.ソースコードを
svn checkout https://projects.coin-or.org/svn/Cbc/releases/2.9.8 Cbc-2.9.8
の実行でダウンロード (2.9.8はCbcのバージョンです。最新版のバージョンは GitHub - coin-or/Cbc: COIN-OR Branch-and-Cut solver でチェックしてください)
2.オプション付きでconfigureする
cd Cbc-2.9.8 ./configure --enable-cbc-parallel
そのあとは
make; make install
してPATHを通せばok
実行方法
cbc -sec [全スレッド合計の秒数] -threads [スレッド数] -import [LPファイル] -solve -solution [出力ファイル]
-sec : 時間制限(*実際の時間ではない。時間制限は各スレッドが使っている時間の合計時間に適用される)
-threads : 用いるスレッド数
-import : LPファイルやMPSファイルの読み込み
-solution : 最適解(または時間切れの場合 暫定最適解)の出力先