如何减少二进制变量的总和整数线性规划

时间:2019-02-25 14:15:50

标签: optimization mathematical-optimization linear-programming

我正在处理一个具有3个索引的变量的优化问题

二进制变量:Viup <-i代表否。任务,u是机器,p是时间

整数变量:Xi <-每个任务的成本i

我试图施加一个约束,以使执行任务的成本不应超过固定数量(此处为“预算”),即使每个任务由多台机器执行,每个任务的成本也应仅计算一次多次。

我想对Viup中的值求和,使得对于i的每个值,总和不应大于1或可以为0,这样我就可以形成一个方程式,如

Viup总数* Xi <=预算

学习公式化ILP方程式请帮忙

1 个答案:

答案 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