我想使用在Bonmin中实现的可行性泵(通过Pyomo进行访问)获得MINLP的可行点(我使用参数SolutionLimit = 1
)。
但是,对于某些问题,该方法在30分钟的时限内没有得出这样的结论,我希望确定原因。
查看日志文件,似乎原因是Cbc无法解决第一个辅助MILP。实际上,对于MINLPLib中的问题du-opt,经过一段时间后,MILP(?)的求解似乎不再有进展,并且在日志中重复以下几行:
OCbc0014I切割生成器0(探测)-0行切割平均0.0个元素, 0.000秒内进行0列削减(0有效)-新频率为-100
OCbc0014I切割生成器1(高模)-1行平均切割20.0个元素, 0.000秒内进行0列削减(0有效)-新频率为-100
OCbc0014I剪切生成器2(背包)-0行平均剪切0.0 元素,在0.000秒内进行0列切割(活动的0)-新频率 是-100
OCbc0014I切割生成器3(组)-0行切割平均0.0个元素, 0.000秒内进行0列削减(0有效)-新频率为-100
OCbc0014I剪切生成器4(FlowCover)-0行平均剪切0.0 元素,在0.000秒内进行0列切割(活动的0)-新频率 是-100
OCbc0014I剪切生成器5(MixedIntegerRounding2)-平均0行剪切 0.0个元素,在0.000秒内进行0列切割(活动的0)-新频率为-100
OCbc0010I 0个节点之后,树上1个,1e + 50最佳解决方案,最好 -189(0.02秒) OCbc0012I -189的整数解是通过2次迭代和1个节点(0.02秒)后的舍入而发现的
OCbc0001I搜索完成-最佳目标-189,进行了2次迭代 和1个节点(0.02秒)
OCbc0032I强分支完成了4次(10次 迭代),fathomed 0节点和固定0变量OCbc0035I最大值 深度0,固定了0个变量以降低成本
OCbc0031I已添加1行 20 OCbc0013I的平均密度在根节点处,有1个切割更改了目标 从2遍从-189到-189
这与以下事实相吻合:该问题的唯一非线性源是目标函数,因此该方法在寻找任何可行点时都不会出现问题-除非最初的MILP难以解决。所以基本上,我的问题如下。