2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PulpでのFiberSCIPの使用(Windows)

Last updated at Posted at 2023-02-18

背景

SCIPがv8.0.3からApache2.0となり、無償での商用利用が可能になったみたいですね。
(参考 https://qiita.com/samuelladoco/items/703bf78ea66e8369c455)
色々調べてみると並列化(FiberSCIP 略称FSCIPと呼ばれているようです。)が
可能なようなのでメモ程度に使用方法を記載しておきます。
(基本的なPulpの使用方法などは、他の文献を参照ください)

環境

・python 3.8.16
・pulp 2.7.0
・SCIP 8.0.3

使用方法

1. SCIP Optimization Suiteから、v8.0.3をダウンロードする。

適度な場所(以下Aとします。)においてください。

2. Githubを参考に、Pulpをインストールする。

pip install -U git+https://github.com/coin-or/pulp

Condaや通常のPipによるインストールだと、下記(4.)で使用するFSCIP_CMDが用意されていないようです。

3. コードの一部修正

starts_withをstartswithに置換

/pulp/apis/scip_api.py
-            if option.starts_with("-"):
+            if option.startswith("-"):            

修正しない場合、FSCIP_CMDで使用するoptionsを指定する際、エラーが発生します。
(修正依頼のやり方がいまいち分からず…)

4. Solverにpulp.FSCIP_CMDを使用します。

引数のpathにはA/bin/fscip.exeを指定してください。

    solver=pulp.FSCIP_CMD(path=r"(A)\SCIPOptSuite 8.0.3\bin\fscip.exe",
                        options=["TimeLimit=300"])

FSCIP_CMDの引数として、timeLimitが存在しますが、どうやらうまく作動しないようです。(2023/2/18現在)
よって、optionsにて直接渡しています。(そのために3.にて修正しました)

まとめ

PulpでのFiberSCIPの使用(Windows)方法をお伝えしました。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?