二进制整数线性规划(BLP)转化为二次规划(QP)的方法问询
二进制整数线性规划(BLP)转化为二次规划(QP)的方法问询
最近我了解到一种将二进制整数线性规划(BLP)转化为二次规划(QP)的方法,这里把相关的原问题和转化思路整理出来,和大家探讨一下:
原BLP问题
$$
\begin{align}
\max &\quad 3x_1+2x_2-x_3\
\text{s.t.} &\quad x_1+x_2+x_3\leq2,\
&\quad x_1-x_2+x_3\leq1,\
&\quad x_1,x_2,x_3\in{0,1}.
\end{align}
$$
原作者的转化过程分为四个步骤,具体如下:
- 第一步:将二进制整数变量改写为取值范围在0到1之间的连续变量,也就是把$x_i \in {0,1}$替换为$0 \leq x_i \leq 1$,先让变量符合连续规划的形式要求。
- 第二步:为每个二进制变量$x_i$引入新的变量$y_i$,满足$y_i = x_i(1-x_i)$。利用二进制变量的特性,当$x_i$取0或1时,$y_i$的值必然为0;如果$x_i$是0到1之间的非整数连续值,$y_i$就会大于0,后续可以通过约束$y_i=0$来
相关产品推荐
相关产品推荐

