【发布时间】:2019-08-05 12:26:03
【问题描述】:
在两台不同的计算机上运行相同版本的 Julia 中的优化代码是否有可能给出不同的解决方案? 例如在笔记本电脑上运行了一段代码,得到了这两种解决方案
[712.0, 645.0], [1515.39, 322.625], "R", "V")
([1515.4, 322.5], [1683.3, 0.0], "R", "V")
代码在更强大的 PC 上运行,但解决方案如下:
([712.0, 645.0], [NaN, 322.625], "R", "V")
([1515.4, 322.5], [1683.3, 0.0], "R", "V")
请你帮我看看这怎么可能,以及如何解决这个问题。在这段代码中,NaN 是如何发生的?有什么方法可以让第一个解决方案在 pc 中也获得收益? 感谢您的热心帮助。
【问题讨论】:
-
这里有很多可能的答案,如果不了解更多有关您在做什么的信息,就不可能知道是哪种情况。一些优化库每次都从随机位置开始。其他人在每次迭代时使用数据的随机子集。您的停止条件可能是基于时间的,因此较快的 PC 能够使其步数小到除以零。或者更多...
-
代码太长了,我不能放在这里。但是库是相同的
JuMP,CPLEX,CPUTime,Plots。请你帮我如何删除它?是否可以类似地设置两台计算机的精度? -
确实应该有可能,但是这里没有足够的信息来形成任何有用的答案。鉴于您使用的是 CPLEX,您可以调查手动设置其众多基于时间和/或热启动标志之一。 discourse.julialang.org/t/…
标签: julia cplex julia-jump