如何解决如何与 Gurobi 同时求解多个 Pyomo 模型?
我已将一个优化模型分解为三个独立的模型,我想同时解决它们。在我尝试之前,我想看看我是否可以通过使用 multiprocessing
并将两个 ConcreteModel()
对象传递给目标函数来同时解决两个简单的 pyomo 模型,这些对象基本上具有解决(模型)命令来使用 { {1}}。这是概念:
Gurobi
当我运行这个时,我收到以下错误:
model = ConcreteModel()
model2= ConcreteModel()
...
etc
...
opt = SolverFactory('gurobi')
def solveit(x):
opt.solve(x)
if __name__ == '__main__':
p1 = Process(target=solveit,args=(model,))
p2 = Process(target=solveit,args=(model2,))
p1.start()
p2.start()
p1.join()
p2.join()
我对 Pyomo/multiprocessing 的理解很肤浅,我无法弄清楚错误意味着什么。请注意,我使用函数来创建这样的目标和约束:
PicklingError: Can't pickle <function obj_rule at 0x00000177FA7E7310>: it's not the same object as
__main__.obj_rule
那个错误是什么意思?你建议我做什么来实现我的目标?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。