我怎样才能用古洛比写一个包含最小值的约束呢?

2024-10-03 00:30:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我遇到了这个限制的问题:

E_i1,…,i<;=min{x1,…,xi}其中i来自一组9个数字,称为i。x和E是变量和二进制

我试过:

for i in I:

    f = model.addConstr(E[i] <= min((x[i])) , name = "f")

    print(x[i])

    print(E[I])

但是它给所有的E赋值,因为它只计算所有的x

目标函数应为:

(∑Pijk*xi)∑(pi1jk*..*pi)*Ei

这意味着它应该用第二个p来计算第一个p,E的值将基于这两个p的x值。前任: P1jk*1+P2jk*1+P3jk*0-((P1jkP2jk)(1))-((P2jkP3jk)(0))

对于第一个(P1jk*P2jk)(1),E=1,因为{x1,x2}之间的最小值是1

对于第二个(P2jk*P3jk)(0),E=0,因为{x2,x3}之间的最小值是0


Tags: inltformodel二进制数字minprint