Optimization 约束规划与线性规划:解的速度和质量
我一直在研究优化算法,我遇到了一些我找不到答案的问题 a) CP比LP快吗?它与牛奶相比怎么样?Optimization 约束规划与线性规划:解的速度和质量,optimization,linear-programming,constraint-programming,mixed-integer-programming,Optimization,Linear Programming,Constraint Programming,Mixed Integer Programming,我一直在研究优化算法,我遇到了一些我找不到答案的问题 a) CP比LP快吗?它与牛奶相比怎么样? b) CP和MILP将提供相同的目标函数值? c) 我什么时候应该使用CP来代替MILP?(如果我有一个混合整数线性问题) 谢谢。与CP和LP/MILP合作后,也许我可以就您的问题提供一些见解。CP和LP唯一的共同点是“编程”一词 变量类型不同(CP=离散整数值/LP=连续 值/MILP=一些是离散的,而其他变量是连续的) 处理的约束类型不同(CP涉及非线性,LP为 当然,使用的变量是线性的)
b) CP和MILP将提供相同的目标函数值?
c) 我什么时候应该使用CP来代替MILP?(如果我有一个混合整数线性问题)
谢谢。与CP和LP/MILP合作后,也许我可以就您的问题提供一些见解。CP和LP唯一的共同点是“编程”一词
- 变量类型不同(CP=离散整数值/LP=连续 值/MILP=一些是离散的,而其他变量是连续的)
- 处理的约束类型不同(CP涉及非线性,LP为 当然,使用的变量是线性的)
看看这个。将这两种方法结合起来的一些研究工作产生了开放源代码软件,如。因此,可能不是提出这一问题的合适地方(不完全是关于编程;非常广泛;非常固执己见)。这是一个非常复杂的问题,每个答案都以“视情况而定”开头,这并不奇怪,因为两种方法都能解决大多数问题,这是np难的。有一些一般性的事情可以争论(关于他们的证明系统,他们的局部/全局观点),但如果没有广泛的背景,这只不过是一个没有太多欢乐的评论。我建议抓住van Hentenryck/Milano的
混合优化。正如前面的评论者所写,它间接地回答了这个问题,这要看情况而定,因此不可能回答。特别是,这不仅关系到要解决的问题和解决问题所使用的技术,还取决于所使用的公式对特定技术的效果如何。当直接移植到CP时,为MIP所做的模型通常不是很好。我建议使用Minizing编写高级模型(不是MIP样式),该模型可以自动转换为CP,并且MIP.CP通常不是连续LPs的替代方案。许多CP和SAT解算器仅对离散变量有效(或效果最佳)。因此,如果问题是100%离散的,CP和MIP是直接的“竞争对手”(尽管最好的MIP配方可能与最好的CP配方非常不同)。如果模型是离散变量和连续变量的组合,根据情况,MIP可能更简单(尽管有时我们会离散,使模型更适合CP和SAT解算器)。