在使用 Gurobi 求解混合整数规划(MIP)模型时,通常不需要对变量进行单独赋值。相反,您只需定义变量并设置它们的类型(连续、整数或二进制),然后将它们添加到模型中。Gurobi 将根据您的模型定义自动找到最优解。
通常,您需要做的是:
- 定义变量:您可以使用 Gurobi 提供的变量创建函数来定义变量,并指定它们的类型和范围。
- 定义约束:将约束添加到模型中,以限制变量之间的关系。
- 定义目标函数:指定您要最小化或最大化的目标,并将其添加到模型中。
- 求解模型:调用 Gurobi 的求解器来找到最优解。
例如,在 Python 中使用 Gurobi 进行混合整数规划的简单示例代码如下:
import gurobipy as gp
# 创建模型
model = gp.Model("MIP_example")
# 定义变量
x = model.addVar(lb=0, ub=1, vtype=gp.GRB.INTEGER, name="x")
y = model.addVar(lb=0, ub=1, vtype=gp.GRB.INTEGER, name="y")
# 添加约束
model.addConstr(x + 2 * y <= 2, "c0")
model.addConstr(2 * x + y <= 3, "c1")
# 定义目标函数
model.setObjective(x + y, gp.GRB.MAXIMIZE)
# 求解模型
model.optimize()
# 打印最优解
if model.status == gp.GRB.OPTIMAL:
print('Optimal objective value:', model.objVal)
for v in model.getVars():
print(v.varName, v.x)
在这个例子中,您只需定义变量的类型和范围,然后将其添加到模型中。Gurobi 将自动找到最优解,您无需为变量单独赋值。