我会尽量让我的问题简短而简单。如果您需要任何进一步的信息,请告诉我。
我有一个 MIP,在 Python 中使用包 PuLP 实现。(大约 100 个变量和约束)问题的数学公式来自一篇研究论文。本文还包括一项数值研究。但是,我的结果与作者的结果不同。
我的问题变量被称为prob
prob = LpProblem("Replenishment_Policy", LpMinimize)
我解决prob.solve()
LpStatus
退货问题Optimal
当我添加一些最佳(论文)结果作为约束时,我得到了一个稍微好一点的客观值。将目标函数限制为稍低的值也是如此。LpStatus 仍然存在Optimal
。
original objective value: total = 1704.20
decision variable: stock[1] = 370
adding constraints: prob += stock[1] == 379
new objective value: 1704.09
adding constraints: prob += prob.objective <= 1704
new objective value: 1702.81
我的假设是 PuLP 的求解器近似于解决方案。计算速度非常快,但显然不是很准确。有没有办法可以提高 PuLP 正在使用的求解器的准确性?我正在寻找类似的东西:prob.solve(accuracy=100%).
我查看了文档,但不知道该怎么做。有什么想法可能是什么问题?
任何帮助表示赞赏。谢谢。