Почему Python может упростить процесс принятия решений

от Мохсен Моарефдоост

Если вы имеете дело со сложными, крупномасштабными и многоуровневыми системами, вы можете в конечном итоге анализировать и решать несколько, даже вложенных, задач оптимизации (линейные LP-программы, MIP-смешанные целочисленные программы, QP-квадратичные программы и т. д.) в своей программе. Процесс принятия решения. Итак, вам нужно разработать аналитический алгоритм, который несколько раз вызывает задачи оптимизации, использует вывод одной и передает его другой задаче, и, возможно, потребуется обновить пару из них и решить их снова.

Этот процесс невозможно (или нелегко) реализовать и выполнить в таких языках моделирования, как GAMS и AMPL. Вам необходимо использовать язык программирования, такой как C/C++, C#, Java или Python, для реализации вашего алгоритма и моделирования задач математической оптимизации в алгоритме. Вам также нужен решатель для решения задач оптимизации. Я рекомендую Python, потому что он прост, мощен и содержит много полезной онлайн-справки.

Более того, многие коммерческие и открытые программы оптимизации имеют интерфейс Python. Я работал с Gurobipy, интерфейсом Python для Gurobi. С помощью Python легко моделировать задачи LP/MIP и QP и многократно вызывать задачи с высокой гибкостью. Его синтаксис для создания моделей математического программирования прост, повествователен и очень близок к математическим формулировкам. Однако у вас должна быть лицензия Gurobi. Если у вас нет лицензии Gurobi, вы можете использовать один из пакетов математического моделирования Python для моделирования моделей оптимизации и вызова любого решателя, к которому у вас есть доступ.

К счастью, существует множество мощных пакетов и библиотек с открытым исходным кодом для разработки и анализа приложений оптимизации. Мои предложения Pyomo и PuLP. Эти библиотеки имеют прекрасную документацию и примеры, и их легко изучать и применять.

___________________________________________________________________

Если вам понравился этот пост в блоге, ознакомьтесь с другими нашими работами, следите за нами в социальных сетях (Twitter, LinkedIn и Facebook) или присоединяйтесь к нам на бесплатных ежемесячных вебинарах Академии. .