2016-10-12 5 views
1

私はPythonで制約プログラミングを学習していますが、問題解決のためにSCIPソルバーを使用することになっています。私はMistral、Mistral2、Toulbar2、MipWrapper、SatWrapper、MiniSat、Walksatソルバを含むGithubの魔女からNumberjack標準パッケージをインストールしました。 、私はすでに 'scipoptsuite-3.1.0' でmakeを走り、 'SCIP-3.2.1' にPython3.5 Numberjack(OSX)にSCIPソルバーをインストール

Traceback (most recent call last): 
    File "/Users/angelocoelho/anaconda3/lib/python3.5/site-packages/Numberjack/__init__.py", line 910, in load 
    lib = __import__(solverstring, fromlist=[solverspkg]) 
ImportError: No module named 'Numberjack.solvers.SCIP' 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "grafosdefluxos.py", line 42, in <module> 
    solver = model.load('SCIP') 
    File "/Users/angelocoelho/anaconda3/lib/python3.5/site-packages/Numberjack/__init__.py", line 915, in load 
    solvername) 
ImportError: ERROR: Failed during import, wrong module name? (SCIP) 

Numberjack-をインストール:自分のコードを実行する

は、私は次のエラーを得ましたこれを試しマスター「S 'setup.py' と:

python setup.py -solver SCIP

魔女がERを返さror

Error: the solver 'SCIP' is not known, please use one of: Mistral, SatWrapper, Toulbar2, Walksat, MipWrapper, MiniSat, Mistral2 

私はNumberjackフォルダの内側と内側にSCIPフォルダを持っています。 READMEファイルとINSTALLファイルのすべてのコマンドを読んで実行しましたが、このソルバーをどのように設定することができたのですが、正しく取得できませんでした。 Numberjackの問題を解決するためにSCIPを入手するにはどうすればよいですか?

+0

Numberjackのセットアップルーチンが壊れているようです。 'python setup.py build'を実行すると、他のソルバーが指定されていても常にCPLEXが検索されます。アップデートのためにhttps://github.com/eomahony/Numberjack/issues/47を参照してください。 – mattmilten

答えて

2

助手先生と話した後、私はこの問題の答えを得ました。

Numberjack/SCIPがインストールされていたフォルダは、想定されていたフォルダではありませんでした。したがって、実際にはソルバーリストには含まれていませんでした。 python setup.py buildpython setup.py installインストールが完了したら、私はpython setup.py build -solver SCIPを実行し、端末のフィードバックは

Successfully built solver interfaces for MipWrapper, SCIP

を述べた。しかしjupyterのノートブックはソルバーを認識しませんでした。アナコンダ(python3.5)が既にインストール持つ動作するはずですどのような解決策

  1. Numberjack(ファイル "Numberjack-master.zip")をダウンロードして解凍します。
  2. SCIPをダウンロードし、ダウンロードしたファイルscipoptsuite-3.1.0.tgzをコピーします。それにを貼り付けます。 Numberjack-masterアンパックされたディレクトリ。そのパスは~/Downloads/Numberjack-master/scipoptsuite-3.1.0.tgzである必要があります。
  3. 端末実行時cd ~/Downloads/Numberjack-master(またはNumberjack-masterディレクトリパス)。
  4. 次に、python3.5 setup.py install --userを実行します。 Jupyterが ~/anaconda3/lib/python3.5/site-packages/Numberjack/でソルバーを探していた私の場合は

    と彼らはそこにインストールされていない た代わりにpythonを使用しての私のアナコンダは、Python 3.5のパッケージだったので、私はpython3.5を使用しました。

1

なぜscip-3.2.1ディレクトリがありますか? SCIP Opt Suite 3.1.0にはSCIP 3.1.0が含まれています。 Numberjack install pageに記載されているように、すべてのセットアップを実行し、コマンドを正確ににする必要があります。

+0

Numberjackインストールページに記載されているすべてのことを行いました。 python setup.py installコマンドを使用すると、jupyter noteboookが検索していないディレクトリにインストールされました。ありがとうございました。 – user3676951

関連する問題