在二次规划中将变量约束为两个不相交的范围之一

时间:2017-05-24 00:15:25

标签: mathematical-optimization quadratic-programming

如何解决具有以下约束的二次优化问题:

最小化(1/2)X ^ TQX + C ^ TX

受制于-0.01&lt; x_i&lt; 0.01或0.05 < x_i&lt; 0.20,对于X中的任何x_i

其中Q是矩阵,C,X是向量。

似乎我不能将上述约束重新表述为标准约束约束或不等式约束

1 个答案:

答案 0 :(得分:1)

注意这里的可行区域是非凸的 - 如果我们有一个可行解x_1 = 0.01而另一个x_1 = 0.05,那么这两个解的任何合适的凸组合将是不可行的。因此,仅使用连续变量将该问题重新表述为标准二次规划是不可能的。

相反,您需要求助于使用二进制变量。例如,我们可以引入二进制变量y_i(每个x_i变量一个)并将问题重新表述为:

Minimize (1/2)X^TQX + C^TX
Subject to -0.01 + 0.06y_i <= x_i <= 0.01 + 0.19y_i, for any x_i in X
y_i binary

注意,现在对于y_i = 0的任何变量,你有-0.01&lt; = x_i&lt; = 0.01,对于任何y_i = 1的变量,你有0.05&lt; = x_i&lt; = 0.20。