Gurobi设计是确定的。你总是得到相同的结果相同的输入(模型和参数)在同一台计算机上使用相同的Gurobi版本。Gurobi也是确定性并行优化:你总是用多个线程得到相同的结果。然而,如果你改变任何输入,包括微小的变化
- 参数值
- 舍入的系数
- 的变量或约束
- 开始的解决方案
然后你可能会得到不同的结果,即使一切是相同的。
Gurobi可能不确定性和时间行为如
- 的期限参数,时间可以随当前机器的工作量,
- 的NoRelHeurTime参数相同的原因,
- 并发优化(方法= 3)和并发MIP (ConcurrentMIP> 1),它也是时间。
一个确定性的替代品期限参数是WorkLimit参数。相应的参数来控制NoRel启发式NoRelHeurWork。
为了确保可重复的结果,代码,构建模型来解决Gurobi也应该是确定的。一些数据结构,如集在Python中,不确定性,可能导致不同序变量和约束的模型,即使运行相同的代码与相同的数据。检查如果两个模型是相同的,比较他们的指纹。
评论
0评论
文章是关闭了评论。