我有一个混合整数二次规划(MIQP),我想用SCIP解决。该程序的形式使得在修复整数变量时,问题结果是线性程序。在修复连续变量时,它就变成了整数程序。一个简单的例子:
最大。 \ Sigma_ {i} n_i * f_i(x_i)
这样
n_1 * x_1 + n2 * x_2< Ť
n_3 * x_1 + n2 * x_2<米
。
。
n_i和x_i中的许多随机二次约束
等等
这里f_i是一个凹的分段线性函数
x_i是连续变量(它们取实数值)
n_i是整数变量
我能够使用SCIP解决问题。但是对于大量变量的问题,SCIP需要花费大量时间才能找到解决方案。我特别注意到它找不到很多原始解决方案。因此,上限降低的速度非常慢。但是,通过设置启发式强调攻击性,我可以获得更好的结果
如果有人能引导我提出以下问题,那就太棒了:
1)是否有任何特定的算法/软件包解决了如上所述完全符合模型的问题?
2)关于如何提高找到原始解决方案的速度的建议
3)我可以用什么类型的分支来获得更好的结果?
4)任何提高绩效的指导都会非常有用。
我也可以放宽整数约束。
由于
答案 0 :(得分:1)
1)SCIP中的算法应该适合您的问题。还有其他软件包实现了类似的算法,例如BARON和ANTIGONE。
2)看看哪些原始启发式算法在您的运行中成功并更改其参数以更频繁地运行它们。
3)不知道。默认应该没问题。
4)确保您的变量具有良好的界限。更严格的界限允许更紧密的放松。
如果你可以在某个地方发布你的问题实例,或者SCIP运行的日志,包括最后的详细统计数据,也许有人可以提供更多关于改进的提示。