首页 > 解决方案 > 添加约束规则 pyomo

问题描述

我一直在尝试根据某个条件创建一个约束,该条件是我的函数的二进制输出('Check_Condition')。约束的类型只是一个基本的“冲突”约束,以避免选择两个冲突的变量。尽管我没有收到任何错误,但该约束似乎被忽略了(我将 print 语句作为检查包含在内)。这是代码。我不想使用嵌套循环,因为它们会大大减慢代码的速度。谢谢!

model.n = RangeSet(n_operations)
model.triangular = Set(within=model.n * model.n, filter=lambda i, j: j < i)

def con(model, i, j):
        if Check_Condition(operations[i],operations[j])==1:
            print('added constraint')
            return model.x[i] + model.x[j] <= 1
        else:
            return Constraint.Skip

model.OverlapConst = Constraint(model.triangular, rule=con)

标签: constraintsrulespyomo

解决方案


推荐阅读