上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.1.1 两个或多个0-1变量相乘
设x1和x2为两个0-1决策变量,若在数学规划模型的目标函数或者约束条件中出现二者相乘的项,即x1x2,该如何将其线性化?
实际上,x1x2等价于对两个0-1变量x1和x2做逻辑与运算。根据2.2.2节的介绍,x1x2的线性化方案如下:
其中,y表示x1x2的取值。上述约束可以保证下面的几种情形均成立:
·若x1=0,x2=0,则有-1≤y≤0,又因为y∈{0,1},所以y=0=x1x2;
·若x1=1,x2=1,则有1≤y≤1,即y=1=x1x2;
·若x1或x2中恰好有一个为0,则有0≤y≤0,即y=0=x1x2。
综上,在所有可能的情形下,y的取值均等于x1x2,因此约束式(3.1)~约束式(3.4)是非线性项x1x2的等价线性化方案。
3个及以上的0-1变量相乘可以等价为对所有参与相乘运算的变量做逻辑与运算,其等价线性化方案为式(2.5)~式(2.7)。
【拓展】0-1变量乘以整数变量和整数变量乘以整数变量也可以进行等价线性化。例如,考虑表达式xy,其中x∈{0,1},y∈Z,且0≤y≤5。引入5个0-1变量:zi∈{0,1},∀i=1,…,5。令,则原式可以等价地转换为xy=xz1+xz2+xz3+xz4+xz5。转换后的表达式可以利用2个0-1变量相乘的线性化方法进行等价线性化。这样一来,0-1变量乘以整数变量就实现了等价线性化。整数变量乘以整数变量的等价线性化方法与此类似。