Геометрическое программирование
редактировать
A геометрическая программа (GP) - это задача оптимизации вида
где являются отождествлениями и являются одночленами. В контексте геометрического программирования (в отличие от стандартной математики) моном - это функция от до определяется как
где и . Позином - это любая сумма одночленов.
Геометрическое программирование тесно связано с выпуклой оптимизацией : любой GP можно сделать выпуклым путем замены переменных. GP имеют множество приложений, включая определение размеров компонентов в конструкции IC, конструкции самолета, оценка максимального правдоподобия для логистическая регрессия в статистика и настройка параметров положительной линейной системы основы в теории управления.
Содержание
- 1 Выпуклая форма
- 2 Программное обеспечение
- 3 См. также
- 4 Ссылки
Выпуклая форма
Геометрические программы не в общих задачах выпуклой оптимизации, но они могут быть преобразованы в выпуклые задачи заменой переменных и преобразованием функций цели и ограничений. В частности, после замены переменных и регистрации цели и функции ограничения, функции , т. е. положительные числа, преобразуются в функции log-sum-exp, которые являются выпуклыми, и функции , т. е. одночлены, становятся аффинными. Следовательно, это преобразование превращает каждый GP в эквивалентную выпуклую программу. Фактически, это преобразование журнала в журнал можно использовать для преобразования более широкого класса проблем, известных как (LLCP), в эквивалентную выпуклую форму.
Программное обеспечение
Существует несколько пакетов программного обеспечения, помогающих с формулированием и решением геометрических программ.
- MOSEK - коммерческий решатель, способный решать геометрические программы, а также другие задачи нелинейной оптимизации.
- CVXOPT - решатель с открытым исходным кодом для задач выпуклой оптимизации.
- GPkit - это пакет Python для точного определения и управления моделями геометрического программирования. Есть несколько примеров моделей GP, написанных с помощью этого пакета , здесь.
- GGPLAB - это набор инструментов MATLAB для задания и решения геометрических программ (GP) и обобщенных геометрических программ (GGP).
- CVXPY - это встроенный в Python язык моделирования для определения и решения задач выпуклой оптимизации, включая GP, GGP и LLCP.
См. Также
Ссылки