PuLP и OR-Tools Альтернативы
В настоящее время у меня есть модель MIP, сформулированная в Python API Gurobi, но недавно я изучал такие инструменты, как PuLP и OR-Tools, которые позволяют мне строить модель и передавать ее нескольким различным оптимизаторам. Одной из особенностей Gurobi, широко используемой в моей модели, является возможность иметь ограничения, использующие такие функции, как и, или, min, max и abs. Однако кажется, что PuLP и OR-Tools не поддерживают их. Есть ли альтернативы, которые поддерживают это? Или мне придется переформулировать мою модель, если я хочу использовать что-то подобное?
2 ответа
Для инструментов or-tools мы предоставляем только минимальный API для линейного решателя. Если ваша проблема более структурирована (планирование, маршрутизация, CP-подобные ограничения), вы можете взглянуть на интерфейс CP-SAT:
- https://developers.google.com/optimization/
- https://github.com/google/or-tools/blob/master/ortools/sat/doc/index.md
Примеры Python здесь:
Вы также можете взглянуть на Pyomo. Он поддерживает различные инструменты моделирования и может вызывать разные решатели.