Геометричне програмування

розділ математичного програмування

Геометричне програмування — розділ математичного програмування, що вивчає підхід до розв'язування нелінійних задач оптимізації спеціальної структури. Термін вперше ввели 1967 року Р. Даффін[en], Е. Пітерсон і К. Зенер. Назва дисципліни пов'язана з тим, що однією з основних у викладаній теорії є нерівність між середнім геометричним і середнім арифметичним і її узагальнення. Передумовою до розвитку геометричного програмування стали деякі геометричні задачі і методи їх розв'язування. Базовим поняттям геометричного програмування є позіном.

Формулювання задачі геометричного програмування ред.

Знайти найменше значення функції   за обмежень:

 

і

 .

Тут

 ,

де

 

і

 .

Функції   — позіноми.

Приклади задач геометричного програмування ред.

Приклад 1 ред.

Знайти довжини сторін прямокутника заданого периметра, що має найбільшу площу. Те саме для трикутника.

Приклад 2 ред.

 

за обмежень

 

де  

Розв'язком задачі є вектор   з компонентами   де  

Програмні засоби ред.

Існує декілька пакунків програм, які допомагають формулювати та розв'язувати задачі геометричного програмування.

  • MOSEK [Архівовано 28 жовтня 2020 у Wayback Machine.] — це комерційний розв'язувач, здатний розв'язувати задачі геометричного програмування, а також інші задачі нелінійної оптимізації.
  • CVXOPT [Архівовано 28 жовтня 2020 у Wayback Machine.] — це розв'язувач із відкритим кодом для опуклих задач оптимізації.
  • GPkit [Архівовано 4 жовтня 2020 у Wayback Machine.] — це пакунок Python для чіткого визначення та маніпулювання моделями геометричними програмування. Містить низку прикладів моделей геометричного програмування, написаних разом із цим пакетом.
  • GGPLAB [Архівовано 26 вересня 2020 у Wayback Machine.] — це набір інструментів MATLAB для постановки та вирішення задач геометричного програмування (ГП) та узагальнених задач геометричного програмування (УГП).
  • CVXPY [Архівовано 28 жовтня 2020 у Wayback Machine.] — це вбудована в Python мова моделювання для визначення та розв'язування опуклих задач оптимізації, включано з ГП, УГП та LLCP[1].

Див. також ред.

Примітки ред.

  1. A. Agrawal, S. Diamond, and S. Boyd. Disciplined Geometric Programming. [Архівовано 28 жовтня 2020 у Wayback Machine.] Retrieved 8 January 2019.

Література ред.

  • Richard J. Duffin, Elmor L. Peterson, Clarence Zener. Geometric Programming. — John Wiley and Sons, 1967. — P. 278. — ISBN 0-471-22370-0.
  • Р. Даффин, Э. Питерсон, К. Зенер. Геометрическое программирование. — М. : Мир, 1972. — 311 с.