有人可以告诉我如何将SCIP模块安装到Spyder(Python 3.6)中。顺便说一句,这与蟒蛇有关。我一直试图让这个模块进入这个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'
我已将scip文件夹放入C:驱动器中的site-packages文件夹中,并希望它能正常工作。我还有其他一些东西,但我不记得它们是什么。
答案 0 :(得分:1)
如果你想在Python中使用SCIP,你应该使用这个界面:SCIP
我甚至不知道你是如何找到旧的zibopt软件包而不会绊倒PySCIPOpt的。
顺便说一句,如果您只想解决混合整数程序,只需为您选择的平台下载ZIMPL的二进制/可执行文件即可。然后,您需要以某种方式对问题进行建模,例如:使用here或仅使用普通null layout
文件(有关格式说明,请参阅{{3}})。
答案 1 :(得分:-1)
您可以简单地下载并安装 Gusek (https://sourceforge.net/projects/gusek/) 并在 MathProg 中为问题建模(在 gusek IDE 中剪切并粘贴以下文本,保存并运行):
/*# All variables have default lower bounds of 0*/
var x1 integer, >=0;
var x2 integer, >=0;
var x3 integer, >=0;
/*# x1 has an upper bound of 2*/
s.t. upx1: x1 <= 2;
/*# Add a constraint such that: x1 + x2 + 3*x3 <= 3*/
s.t. c1: x1 + x2 + 3*x3 <= 3;
/*# The objective function is: z = x1 + x2 + 2*x3*/
maximize FunObj:x1 + x2 + 2*x3;
solve;
end;
您还可以使用 gusek(gusek IDE 中的 Ctrl-2)生成 *.lp(CPLEX 格式)并使用独立 SCIP 解决它。