【问题标题】:model conditional constraint in GurobiGurobi中的模型条件约束
【发布时间】:2022-06-15 14:40:37
【问题描述】:

我正在尝试在 Guuobi python 中为条件约束建模:

如果 a>= b 则 c == 1,否则 c == 0

a 和 c 都是模型变量,c 是二进制的

我有以下基于How do I model conditional statements in Gurobi? 的代码,但有些地方不正确,因为我无法获得最佳答案。我的代码是:

Constraint4 = LP.addConstrs((a[i,j] >= b[j] + eps - M * (1 - c[i,j])
                             for j in items
                             for i in months
                             if i == months[2]), name="BigM1")

Constraint5 = LP.addConstrs((a[i,j] <= b[j] + M * c[i,j]
                             for j in items
                             for i in months
                             if i == months[2]), name="BigM2") 

【问题讨论】:

    标签: python mathematical-optimization linear-programming gurobi


    【解决方案1】:

    我认为您缺少 b 的索引。它也应该是 j 的索引。

    Constraint4 = LP.addConstrs((a[i,j] >= b[i,j] + eps - M * (1 - c[i,j])
                                 for j in items
                                 for i in months
                                 if i == months[2]), name="BigM1")
    
    Constraint5 = LP.addConstrs((a[i,j] <= b[i, j] + M * c[i,j]
                                 for j in items
                                 for i in months
                                 if i == months[2]), name="BigM2") 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-05
      • 1970-01-01
      • 2015-07-31
      • 2020-03-28
      • 1970-01-01
      • 2017-09-26
      • 2015-12-08
      • 1970-01-01
      相关资源
      最近更新 更多