介绍
Gurobi允许您制定非线性优化模型。如果这些模型坚持特定的属性,他们被称为凸。这是一个重要的属性了解当解决一个优化模型,因为凸性可以通过算法利用模型来解决得更快。
然而,它可能发生,当一个凸模型制定,Gurobi会声称非凸模型。
发生了什么?
这可能有两个原因:
- 一般来说,凸性是一个困难的财产证明。Gurobi承认许多凸凸问题结构,但不是全部。
- 可以影响模型的凸性和聚合发生的presolve阶段。具体来说,Gurobi presolve可能凸模型转化为一个非凸模型。
那么我能做些什么呢?
Gurobi需要特别注意保持凸性对于某些已知凸的数学结构,尤其是标准二阶锥约束表单的\ x (x ^ \ \ leq y ^ 2 \),在那里\ (x \ \ mathbb {R} ^ n \) \ (y \组0 \)。因此,最好的选择是将您的模型到这样一个标准形式。
如果这不是一个选项,然后禁用presolve也可以帮助,如Gurobi不会执行新处方可凸模型转化为一个非凸模型。然而,禁用presolve经常对性能有严重不良影响。
评论
0评论
请登录留下你的评论。