gpt4 book ai didi

python - Gurobi 的多处理兼容性问题

转载 作者:行者123 更新时间:2023-12-01 09:24:12 26 4
gpt4 key购买 nike

以下简单的平方函数多重处理效果很好:

from multiprocessing import Pool

class A(object):

def square(self, x):
return x * x

def test(self):
pool = Pool()
result = pool.map(self.square, range(5))
return result

但是当我像这样在类中添加 Gurobi 模型的初始化时,

from multiprocessing import Pool
from gurobipy import *

class A(object):

def __init__(self):
self.b = Model()

def square(self, x):
return x * x

def test(self):
pool = Pool()
result = pool.map(self.square, range(5))
return result

A().test()

它返回以下错误:

File "model.pxi", line 290, in gurobipy.Model.__getattr__ (../../src/python/gurobipy.c:53411)
KeyError: '__getstate__'

Gurobi 的串行版本工作正常:

from gurobipy import *

class A(object):

def __init__(self):
self.b = Model()

def square(self, x):
return x * x

def test(self):
res = [self.square(i) for i in range(5)]
return res

A().test()

最佳答案

Gurobi API 不支持跨多个进程或线程共享单个 Gurobi 环境。如果要在多个进程或线程中解决多个模块,则必须在每个进程或线程中显式创建多个Gurobi环境。

关于python - Gurobi 的多处理兼容性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50571191/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com