我尝试用PuLP和CBC解决MILP问题。
除了问题的其余部分,我遇到了一组正整数变量的问题。我有一个松弛约束,这意味着正整数变量中的一些变量由于约束而没有固定到某个值。
所以,改写,在一组正整数约束中,有些由于约束而获得值,但是当放宽相同的约束(大M松弛)时,其余变量不必获得某个值。
CBC要为他们提供价值。他们中的大多数都是0,但其中一些得到了变量上限的值1440.为什么? CBC是否特意将这些值赋予这些变量?是否有任何规则,如此遵循?
如果你不明白的东西让我知道所以我可以添加信息或改述,我是新手。谢谢。
答案 0 :(得分:1)
我相信CBC解算器通常会进行“标准”B& B搜索,在搜索树时解决一系列LP松弛问题。如果您使用其中一种单纯形法解决LP,那么通常该LP的搜索过程是围绕可行空间的表面移动,因此对于其他欠约束变量来说,通常采用其上限或下限值