【问题标题】:DoCplex MILP problem: Running Benders & Branch and Bound ParallelDoCplex MILP 问题:并行运行 Benders & Branch and Bound
【发布时间】:2020-08-24 23:52:05
【问题描述】:

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

【问题讨论】:

    标签: python linear-programming cplex mixed-integer-programming docplex


    【解决方案1】:

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-17
    • 2021-08-21
    相关资源
    最近更新 更多