使用 Pyomo ( Traceback ) 并行解决优化子实例

Solving optimisation sub-instances in Parallel, using Pyomo ( Traceback )

我正在尝试使用 Benders 分解求解能量模型。

在模型中,我们正在创建一个主模型和几个子模型。

而且我想并行求解子模型,看到一个例子here

这是我在代码中使用的:

from pyomo.opt.base import SolverFactory
from pyomo.opt.parallel import SolverManagerFactory
from pyomo.opt.parallel.manager import solve_all_instances

subs = []
for m in range(0, len(supportsteps)-1):
    subs.append(urbs.create_model(data,
                        range(supportsteps[m], supportsteps[m+1]+1),
                        supportsteps, type=1))

solver_manager = SolverManagerFactory("pyro")

solve_all_instances(solver_manager, 'gurobi', subs)

其中给出错误:

Error Message

那我哪里做错了?

或者,不能并行求解吗?

您看到的错误消息表示 SolverManagerFactory("pyro") 给了您 Nonepyro 可能未安装或未在您的 PATH 上。

尝试安装 Pyomo extras:conda install -c conda-forge pyomo.extraspyomo install-extras