Как использовать SCIP в ORTOOLS для MILP [python]

Недавно я начал использовать Ortools для решения проблемы MILP.

Я пробовал CBC, но он не предоставляет глобальных оптимальных решений, только локальных (похоже, есть ошибка, о которой сообщается в https://groups.google.com/forum/#!topic/or-tools-discuss/WYZrd-B7Esc)

Я пробую SCIP (как предлагается в некоторых статьях), устанавливая http://scip.zib.de/ и используя следующую команду (python)

solver = pywraplp.Solver('L1', pywraplp.Solver.SCIP_MIXED_INTEGER_PROGRAMMING)

Однако я получил следующее сообщение об ошибке:

type object 'Solver' has no attribute 'SCIP_MIXED_INTEGER_PROGRAMMING'

Похоже, я должен сообщить Ortools, что на моем компьютере установлен этот решатель.

Может кто-нибудь мне помочь?

заранее спасибо


person rapha123    schedule 06.07.2019    source источник


Ответы (1)


Вам нужно перекомпилировать из исходников.

На какой платформе вы работаете (ОС, версия, компилятор)?

person Laurent Perron    schedule 06.07.2019
comment
Хорошо, загрузите двоичные файлы сборки win64, добавьте путь к нему как WINDOWS_SCIP_DIR в Makefile.local, скопируйте scip dll в PATH, затем tools \ make clean; tools \ make python (для этого вам понадобятся ortools). и прочтите перед тем, как . - person Laurent Perron; 08.07.2019