我正在处理一个具有3个索引的变量的优化问题
二进制变量:Viup <-i代表否。任务,u是机器,p是时间
整数变量:Xi <-每个任务的成本i
我试图施加一个约束,以使执行任务的成本不应超过固定数量(此处为“预算”),即使每个任务由多台机器执行,每个任务的成本也应仅计算一次多次。
我想对Viup中的值求和,使得对于i的每个值,总和不应大于1或可以为0,这样我就可以形成一个方程式,如
Viup总数* Xi <=预算
学习公式化ILP方程式请帮忙
答案 0 :(得分:0)
如果我理解正确,那么您需要知道在所有Viup
中,固定u,p
的{{1}}中的任何一个是否为1。
如果要执行最小化,一种方法是引入二进制指示符变量i
和新的约束条件
d_i
其中sum_i(V_iup)-B*d_i<=0
是一个常数,是B
的上限。现在,如果为sum_i(V_iup)
,则为d_i=1
;否则,如果为sum_i(V_iup)>=0
,则为d_i=0
。
您现在可以将预算总和重写为:
sum_i(V_iup)=0