在pycharm中使用gurobi(不用anaconda)

首先因为我在电脑上安装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路径内找到,可自行选择查看

  • 12
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
PyCharm调用Gurobi需要按照以下步骤进行操作: 1. 首先,在Gurobi官方网站上下载并安装Gurobi Optimizer。确保已经获得了有效的许可证。安装过程会要求设置环境变量,确保将Gurobi添加到系统的PATH。 2. 在PyCharm创建一个新的Python项目,并在项目创建一个新的Python文件。 3. 在文件顶部导入`gurobipy`,如下所示: ```python import gurobipy as gp from gurobipy import GRB ``` 4. 确定您的问题是一个线性规划、整数规划还是混合整数规划,并创建一个模型对象: ```python model = gp.Model("my_model") # 替换 "my_model" 为您自己的模型名称 ``` 5. 定义决策变量和约束条件,并添加到模型。例如,创建一个二元决策变量和一个简单的约束条件: ```python x = model.addVar(vtype=GRB.BINARY, name="x") # 创建一个二元决策变量 x model.addConstr(2 * x <= 1, "constraint") # 创建约束条件 2*x <= 1 ``` 6. 定义模型的目标函数,并设置为最大化或最小化。例如,将目标函数设置为最大化决策变量 x 的值: ```python model.setObjective(x, GRB.MAXIMIZE) # 将目标函数设置为最大化决策变量 x 的值 ``` 7. 调用`model.optimize()`方法来解决模型: ```python model.optimize() # 解决模型 ``` 8. 使用`model.getVarByName()`和`model.getConstrByName()`方法来获取决策变量和约束条件的解。例如,获取决策变量 x 的最优解: ```python opt_x = model.getVarByName("x").X # 获取决策变量 x 的最优解 ``` 9. 最后,根据需要,您可以打印出最优解、最优目标值以及其他关键信息: ```python print("Optimal solution:", opt_x) # 打印最优解 print("Optimal objective value:", model.objVal) # 打印最优目标值 ``` 以上是在PyCharm调用Gurobi的基本步骤和示例代码。根据具体问题的复杂程度和要求,还可以使用Gurobi的其他功能和特性来进行更高级的优化建模和求解。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值