使用 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")
给了您 None
。 pyro
可能未安装或未在您的 PATH 上。
尝试安装 Pyomo extras:conda install -c conda-forge pyomo.extras
或 pyomo install-extras
我正在尝试使用 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)
其中给出错误:
那我哪里做错了?
或者,不能并行求解吗?
您看到的错误消息表示 SolverManagerFactory("pyro")
给了您 None
。 pyro
可能未安装或未在您的 PATH 上。
尝试安装 Pyomo extras:conda install -c conda-forge pyomo.extras
或 pyomo install-extras