赞
踩
首先因为我在电脑上安装anaconda总是出问题,并且有些电子洁癖,所以放弃anaconda,直接用pycharm调用gurobi。
注意,此方法目前仅在windows上测试有效,且不论你电脑上有没有提前装python,都不影响。
首先,安装gurobi的教程我不再赘述,各大教学都有。正常安装就可以。
gurobi完成授权后,去D:\gurobi\gurobi_exe\win64这个目录下,注意路径中间部分可能有些区别,取决于你安装在哪个盘的哪个文件夹下,可以看到有setup.py这个文件。
shift+鼠标右键点击空白处,选择打开Powershell
输入命令,python setup.py install
等待安装完成
然后打开提前安装好的pycharm,注意新建项目的时候选择python编译器时,选取gurobi文件夹里面的python编译器,具体步骤如图所示
ok之后,点击创建就完成了,然后可以跑一下测试代码
- # This example formulates and solves the following simple MIP model:
- # maximize
- # x + y + 2 z
- # subject to
- # x + 2 y + 3 z <= 4
- # x + y >= 1
- # x, y, z binary
-
- from gurobipy import *
-
- try:
-
- # Create a new model
- m = Model("mip1")
-
- # Create variables
- x = m.addVar(vtype=GRB.BINARY, name="x") # default bounds for continuous type is [0, infinite]
- y = m.addVar(vtype=GRB.BINARY, name="y")
- z = m.addVar(vtype=GRB.BINARY, name="z")
-
- # Set objective
- m.setObjective(x + y + 2 * z, GRB.MAXIMIZE)
-
- # Add constraint: x + 2 y + 3 z <= 4
- m.addConstr(x + 2 * y + 3 * z <= 4, "c0")
-
- # Add constraint: x + y >= 1
- m.addConstr(x + y >= 1, "c1")
-
- m.optimize()
-
- for v in m.getVars():
- print('%s %g' % (v.varName, v.x))
-
- print('Obj: %g' % m.objVal)
-
- except GurobiError as e:
- print('Error code ' + str(e.errno) + ": " + str(e))
-
- except AttributeError:
- print('Encountered an attribute error')
预期结果
注意,你可能观察到引入的包 from gurobipy import *是灰色的并且给你提醒,或者 Model 以及GRB的一些表达有红色下划线感叹号,如果预期结果正确就不用管。
另:其他gurobi案例可以在gurobi文件夹下的gurobi_exe\win64\examples路径内找到,可自行选择查看
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。