单纯的日志

单纯的日志

单纯形测井可分为三段:预求解段、单纯形进度段和总结段。

Presolve节

当优化模型时,Gurobi优化器做的第一件事是应用一个presolve算法以简化模型。Gurobi日志的第一部分提供了关于presolve在这方面成功程度的信息。考虑以下来自NETLIB模型的示例输出dfl001

预解时间:0.12秒。预解:3690行,8883列,31075非零
示例输出显示presolve能够删除2381行和3347列,它需要0.12秒。预解部分的最后一行显示了预解后模型的尺寸。这是传递给单纯形优化器的模型的大小。请注意,为这个模型计算的解在单纯形完成后(在一个通常称为uncrushing),但是这个uncrush步骤是透明的,不会产生日志输出。

进展部分

Gurobi单纯形输出的第二部分提供了关于单纯形法进展的信息:

迭代目标原始Inf. Dual Inf. Time 0 1.7748600e+04 6.627132e+03 0.000000e+00 0s 9643 1.1574611e+07 1.418653e+03 0.000000e+00 5s 14440 1.1607748e+07 4.793500e+00 0.000000e+00 10s 15213 1.1266396e+07 0.000000e+00 11s
每个输出行中的五列显示到该点执行的单纯形迭代的次数,当前基的客观值,当前基的原始不可行性的大小(计算为所有约束和边界违规的绝对值之和),双重不可行性的大小(计算为所有双重约束违反的绝对值之和),以及到该点所花费的时间(使用挂钟时间测量)。Gurobi求解器中默认的单纯形算法是对偶单纯形,它试图在执行单纯形轴心时保持对偶可行性手机万博登录,以提高目标。因此,一旦对偶单纯形算法找到了一个初始的对偶可行基,你通常会看到一个为零的对偶不可行值。当原不可行和对偶不可行均为零时,基是最优的,优化是完整的。

默认情况下,Gurobi优化器每5秒生成一个日志行。日志记录的频率可通过修改DisplayInterval参数(见参数本文档的章节以获取更多信息)。

总结部分

simplex日志的第三部分提供了摘要信息。它提供了simplex算法执行的工作的总结,包括迭代计数和运行时,并提供了关于优化结果的信息。被求解为最优性的模型的总结如下:

经过15213次迭代和10.86秒求解,最优目标1.126639605e+07
其他终止状态产生不同的摘要。例如,用户中断会生成如下的摘要:
停止在7482次迭代和3.41秒解决中断
达到时间限制将产生如下的总结:
停止在9221次迭代和5.00秒超过时间限制