我如何将以下方程式表示为Gurobi中的约束条件

问题描述 投票:0回答:1

我正在尝试根据python中的以下公式在Gurobi中创建一个约束,但是不知道如何,任何想法?

总和(工作日(J至J3)+休假(J4)+工作日(J5))<= 5

  • J是任何月份中的特定日期

-

-

-

optimization gurobi
1个回答
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
)

希望有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.