为下面的情况形成约束的想法

时间:2017-11-14 09:09:33

标签: linear-programming gurobi

我必须根据一些约束为A队,B队和C队分配资源。由于约束团队A,B或C可以或不能获得资源,这是完全可以接受的解决方案。

如果所有团队至少分配了一些资源,我们需要在团队之间保持一些资源差异。

(1)A队与B队100队(A组资源应比B队少100) (2)A队与C队50队(A队资源应比队长c少50) (3)B队与C队70队(B队资源应比队长c少70)

如果A队没有分配资源,可以忽略约束(1)和(2)。 如果B队没有分配资源,则可以忽略约束(1)和(3)。 如果Team C没有分配资源,则可以忽略constraint(2)和(3)。

如何建模条件,以这种方式分配最大资源并满足条件。

1 个答案:

答案 0 :(得分:0)

  

Ra,Rb,Rc变量继续或整数(> = 0)分别为团队A,B,T的资源;   分别为A,B,T的Xa,Xb,Xc二元变量;   如果A队已经分配了资源,则Xa = 1,否则Xa = 0。   如果B队已分配资源,则Xb = 1,否则Xb = 0。   如果C队已经分配了资源,则Xc = 1,否则Xc = 0。   Ma1,Ma2,Ma4,Mb1,Mb3,Mb4,Mc2,Mc3,Mc4是大参数。   对比:Ra + 100 <= Rb + Ma1(1-Xa)+ Mb1(1-Xb)                Ra + 50 <= Rc + Ma2(1-Xa)+ Mc2(1-Xc)                Rb + 70 <= Rc + Mb3(1-Xb)+ Mc3(1-Xc)                Xa&lt; = Ra,Xb&lt; = Rb,Xc&lt; = Rc                Ra&lt; = Ma4Xa,Rb&lt; = Mb4Xb,Rc&lt; = Mc4Xc                max(Ra + Rb + Rc)