DoCplex MILP问题:运行折边和分支并绑定平行

问题描述

我正在研究MILP模型(在DoCplex中),求解器有时会使用Benders方法更快地到达解决方案,有时会使用Branch&Bound。是否有一种简单的方法可以并行运行两个求解方法,而无需在同一模型上更改变量名称(克隆模型)。并使用求解之一的输出。

解决方法

不能同时使用两种算法来求解同一模型。但是,应该容易地两次创建相同的模型,然后在两个不同的线程或进程中同时求解它。为此,您将必须使用threadingmultiprocessing Python模块。

在类似Unix的操作系统(例如Linux或MacOS)上,一种非常简单方便的方法是使用os.fork()为每个解决方案创建一个新过程,然后从初始过程进行控制。 fork()隐式地克隆了模型,因此可以节省一些编程时间。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...