2017-02-24 229 views
0

有人可以告訴我如何安裝SCIP模塊到Spyder(Python 3.6)。順便說一句,這與anaconda有關。我一直試圖讓這個模塊進入這個python 3.6最近兩天,我沒有得到任何地方。這令人沮喪。如何安裝SCIP到Spyder(Python 3.6)

我需要它解決一個混合整數規劃問題。

老實說,我不在乎我們用什麼編程語言,只要我能解決我的MIP問題。但是,如果SCIP被安裝到Spyder(Python 3.6)中,那麼這將是最好的,因爲我熟悉該語言。

請告訴我這樣做的最快和最簡單的方法。我也下載並安裝了獨立的python 3.6。我真的很感激,如果有人能幫助我。

謝謝!

我試圖運行下面的代碼:

from zibopt import scip 
solver = scip.solver() 

# All variables have default lower bounds of 0 
x1 = solver.variable(scip.INTEGER) 
x2 = solver.variable(scip.INTEGER) 
x3 = solver.variable(scip.INTEGER) 

# x1 has an upper bound of 2 
solver += x1 <= 2 

# Add a constraint such that: x1 + x2 + 3*x3 <= 3 
solver += x1 + x2 + 3*x3 <= 3 

# The objective function is: z = x1 + x2 + 2*x3 
solution = solver.maximize(objective=x1 + x2 + 2*x3) 

# Print the optimal solution if it is feasible. 
if solution: 
    print('z =', solution.objective) 
    print('x1 =', solution[x1]) 
    print('x3 =', solution[x2]) 
    print('x2 =', solution[x3]) 
else: 
    print('invalid problem') 

錯誤我得到:

from zibopt import scip 

ModuleNotFoundError: No module named 'zibopt' 

我已經放在上海化學工業區的文件夾到站點包文件夾中的C:驅動器,希望它能奏效。我還有其他的東西,但我不記得他們是什麼。

+0

評論不適用於擴展討論;這個對話已經[轉移到聊天](http://chat.stackoverflow.com/rooms/136688/discussion-on-question-by-bob-how-to-install-scip-into-spyder-python-3- 6)。 –

回答

1

如果你想使用SCIP在Python,你應該使用這個接口:https://github.com/SCIP-Interfaces/PySCIPOpt

我甚至不知道你是怎麼找到老zibopt包沒有絆倒PySCIPOpt。如果你只想解決一個混合整數程序,你可以簡單地下載一個二進制/可執行文件SCIP作爲你選擇的平臺。然後您需要以某種方式模擬您的問題,例如使用ZIMPL或簡單地將其作爲.lp文件(格式描述見here)。

+0

我很高興你在幫助我,因爲我看到你是PySCIPOpt的一員。我想你會是幫助我解決問題的最佳人選。在此之前,我想知道我可以在哪裏下載Python以將SCIP或ZIMPL加入其中。我有Spyder(Python 3.6),但我不認爲有人熟悉這一點。這就是我想要使用的,但如果我不能那麼就沒關係。但是,那我該用什麼?如果你能幫助我,我準備從頭開始。我對使用安裝所有這些模塊和庫毫無頭緒。如果你能指導我,我將不勝感激。謝謝! – DD1

+0

所有這些文件夾對我來說都是一樣的。我已經下載了PySCIPOpt,PuLP,SCIP,Gurobi,ZIMPL。解壓後我做了什麼是我的問題。我只是想簡單的指示遵循。我根本就不是這方面的專家。這是我第一次這樣做。是的,我只想解決MIP問題。 – DD1

+0

你需要讓自己更熟悉你想使用的工具。 Python是一種編程語言,Spyder是一個用於Python和SCIP的IDE,ZIMPL和Gurobi是用於建模和解決(其中包括)混合整數程序的C工具。正如我上面所說,不需要構建或安裝任何這些工具。只需從我上面提到的鏈接下載二進制文件並運行它們即可。哦,請不要忘記標記我的答案'接受'關閉此主題。 – mattmilten