将 0-1 变量的乘积转化成线性

偶尔在 Gurobi 的讲座中听到了这个技巧,假如两个 0-1 变量 x i x_i xi​, y j y_j yj​,它们的乘积

z i j = x i y j z_{ij}=x_iy_j zij​=xi​yj​

这是一个非线性表达式,但可以通过下面的约束条件线性化:
z i j = x i z i j = x j z i j ≥ x i + x j − 1 \begin{aligned} z_{ij}&=x_i\\ z_{ij}&=x_j\\ z_{ij}&\geq x_i+x_j-1 \end{aligned} zij​zij​zij​​=xi​=xj​≥xi​+xj​−1​

上一篇:OpenCV(C++/Python)中的图像对齐(ECC)


下一篇:凸优化1:什么是凸优化问题