我会尽量使我的问题简短明了。如果你需要更多的信息,请告诉我。在
我有一个MIP,在Python中用PuLP包实现。(大约100个变量和约束)问题的数学公式来自一篇研究论文。本文还进行了数值研究。然而,我的结果与作者的结果不同。在
我的问题变量是prob
prob = LpProblem("Replenishment_Policy", LpMinimize)
我用prob.solve()
来解决这个问题
LpStatus
返回Optimal
当我把一些最优(论文)结果作为约束条件加起来,我得到了一个稍微好一点的客观值。将objeve函数约束为略低的值也是如此。LpStatus保持Optimal
。在
我的假设是纸浆的解算器近似解。计算很快,但显然不是很准确。有没有方法可以提高纸浆求解器的精确度?我在找这样的东西:prob.solve(accuracy=100%).
我看了一下documentation,但不知道该怎么办。你有什么想法吗?在
感谢任何帮助。谢谢。在
我的问题的答案是由ayhan给出的:要指定解算器的精度,可以使用所选解算器的
fracGap
参数。在然而,我提出的问题与我所面临的问题并不一致。结果的偏差确实不是求解器的精度问题(正如sascha在评论中指出的那样)。在
我的问题的原因: 我所实现的算法是在非平稳随机需求下,对a(Rn,Sn)策略的订货策略参数进行优化。上述文件为: 塔里木,S.A.,和金斯曼,B.G.(2006)。非平稳随机需求库存系统的建模与计算策略。欧洲运筹学杂志,174(1),581-599。
该算法有两个二进制变量}。以下两个约束只允许
^{pr2}$delta[t]
和{P[t][j]
的值为0和1,只要delta[t]
被定义为二进制。在由于
P[t][j]
只能取0或1的值,因此是一个二进制变量,因此我声明如下:最小化的目标值返回:
1704.20
在研究了一段时间的解决方案后,我注意到论文的一部分内容是:
因此,我将
P[t][j]
变量的cat
参数改为cat="Continuous"
。在不改变任何其他条件的情况下,我得到了较低的目标值1702.81
。结果的状态显示在这两种情况下:Optimal
我仍然不确定所有这些方面是如何相互关联的,但我想这对我来说是有效的。对于其他人谁是直接指向这个问题,可能会找到必要的帮助与答案在这篇文章的顶部。在
相关问题 更多 >
编程相关推荐