我一直在研究优化算法,遇到了一些我找不到答案的问题。
a)CP是否比LP快?与MILP相比又如何?
b)CP和MILP是否可以提供相同的目标函数值?
c)什么时候应该使用CP代替MILP? (如果我有一个混合整数线性问题)
谢谢。
答案 0 :(得分:1)
曾经与CP和LP / MILP一起工作过,也许我可以对您的查询提供一些见解。 CP和LP唯一的共同点是“编程”。
a)CP是否比LP快?在大多数情况下,我会认为CP较慢,因为CP中没有显式算法。它依赖于搜索。但是,CP模型往往需要较少的变量。仅具有线性约束,就需要更多的变量进行建模(例如,使用大型M方程)。
b)CP和MILP给出相同的目标函数值-如果约束条件都是线性的,并且所有变量都是整数,那么使用CP来解决问题就不会很有趣,因为CP的性能较低。 / p>
c)当问题约束在CP方程中表达得很好,和/或在朝向最佳收敛性不好或缓慢的线性(大M)方程中表达不充分时,我们应该使用CP。