Как использовать многопроцессорность при создании ограничения в ORTool - PullRequest
0 голосов
/ 01 июня 2018

Я использую ORTools для решения проблемы оптимизации.Поскольку число моих ограничений очень много и на это нужно много времени, я решил использовать многопроцессорность для их создания и определения.это часть моего кода:

def constraint_saz(constraints,i):
    constraints[i] = solver.Constraint(1,10)
    "creating constraints[i].SetCoefficient"


if __name__ == '__main__':

    manager = Manager()
    constraints = manager.list(range(N))

    for i in range(N):
        p = Process(target=constraint_saz, args=(constraints,i))
        p.start()
        p.join() 

Но я получил эту ошибку:

TypeError: can't pickle SwigPyObject objects

Что не так и как я могу это исправить?

1 Ответ

0 голосов
/ 23 марта 2019

Это зависит от:

  • Линейный решатель : Возможно, но в настоящее время API для этого нет.
  • Оригинальный решатель CP и библиотека маршрутизации : недоступно
  • CP-SAT : параметр указывает, сколько потоков использовать (num_search_workers).
...