我正在为一个MILP创建目标函数上下限的演变图,我使用gurobi来生成这些图。
当我创建日志文件时,无论是.log、.txt还是.csv,似乎文件中的值都被四舍五入到4位小数,而且我不能检索原始值(只能直接从Python控制台检索)。有没有办法将这些值打印在一个有更多小数的日志文件中?我的模型是用Pyomo编程的。
最诚挚的问候。
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
0 0 2.5500e+08 0 194 3.2154e+08 2.5500e+08 20.7% - 1s
0 0 2.5502e+08 0 193 3.2154e+08 2.5502e+08 20.7% - 1s
这个问题已经在 Gurobi官方社区论坛:
不幸的是,没有办法像这样提高日志精度。但是,你可以通过程序化的方式,用以下方法获取这些下限和上限
MIPNODE_OBJBST
和MIPNODE_OBJBND
回调(见 此处). 这应该会让绘图变得更容易,因为你不必花时间从日志中提取这些值。Pyomo是一个第三方API,但我相信他们支持这样的回调。