我正在尝试根据python中的以下公式在Gurobi中创建一个约束,但是不知道怎么做?
总和(工作日(J至J3)+休息日(J4)+工作日(J5))<= 5
-
-
-
答案 0 :(得分:0)
假设我们从数据开始;
# Data
workdays = [0, 1, 2, 3, 5] # (or whatever work days data you have)
days_off = [4] # (or whatever day off data you have)
days = workdays + days_off
然后首先您需要创建一个模型
from gurobipy import Model
model = Model()
然后是其中的每一天的变量,这是假设每一天都是一个具有值的变量,这意味着您可以选择执行操作或执行多少操作。
# Variables
day_vars = {
day: model.addVar()
for day in days
}
例如,您想使用model.addConstr
添加约束,并使用quicksum
对变量求和
from gurobipy import quicksum
# Constraints
model.addConstr(
(
quicksum(
day_vars[workday]
for workday in workdays
) + quicksum(
day_vars[day_off]
for day_off in days_off
)
) <= 5
)
希望有帮助!