Так это же динамическое программирование на основе математической индукции. |
Задача ГП без ограничений: двойственность
Решение задачи ГП при DOD>0
Покажем теперь, как двойственная задача с положительной степенью трудности ( ) может быть переформулирована в терминах базисных переменных.
Обозначим через степень трудности задачи ГП. Тогда можно найти базисные векторы , так, что решение системы ограничений двойственной задачи будет иметь вид
где - базисные переменные, удовлетворяющие условиям положительности
( 51) |
Вектор удовлетворяет условиям ортогональности:
( 52) |
а также удовлетворяет условию нормальности
( 53) |
Выразим двойственную функцию через базисные переменные:
Таким образом, получили двойственную задачу в терминах базисных переменных:
( 54) |
при ограничениях
( 55) |
( 56) |
( 57) |
Приведем теорему, доказательство которой можно найти, например, в [5].
Теорема 8 Множество оптимальных решений задачи (54)--(57) совпадает с множеством оптимальных решений задачи с целевой функцией, равной , при тех же ограничениях (55)--(57).
В качестве примера рассмотрим решение задачи ГП с , поскольку для больших степеней трудности нахождение векторов требует использования специальных численных методов.
Пример 30 Решим задачу ГП
Матрица экспонент позинома
Степень трудности задачи равна , следовательно, задача разрешима, но имеет не единственное решение. Двойственная задача может быть переформулирована в терминах базисных переменных. Поскольку , то имеется одна базисная переменная.
Двойственная задача имеет вид:
при ограничениях
( 58) |
Сначала получим формулу общего решения системы (58). Из первых двух уравнений системы следует, что , . В качестве базисной выберем переменную , тогда из третьего уравнения получаем .
Положим , тогда можно записать
( 59) |
Запишем теперь систему (59) в векторном виде. Ведем следующие обозначения:
Тогда общее решение двойственной задачи примет вид:
Проверим, что вектор удовлетворяет условию нормальности (53):
и условиям ортогональности (52):
Для должно выполняться условие положительности (51). Из системы (59) следует, что оно выполняется при .
Подставив в формулу для функции формулы (59), получим задачу максимизации функции от одной переменной :
при ограничении
Упростив получившуюся формулу для функции , получим задачу
при ограничении
По теореме 8 вместо этой задачи можно решать задачу:
при ограничении
Упростив целевую функцию , получим задачу:
при ограничении
Решим получившуюся задачу при помощи надстройки Solver (Поиск решения) в программе Excel. На рис. 4.1 показано как ввести данные задачи. После нажатия на кнопку Solve (Решить) получим оптимальное решение и значение целевой функции (рис. 4.2):
Из системы (59) находим оптимальное решение двойственной задачи:
Максимальное значение двойственной функции вычисляем по следующей формуле:
По теореме двойственности 7 справедливо равенство: .
Вычислим теперь оптимальные значения переменных прямой задачи: , . Воспользуемся формулой (39) для первых двух мономов:
Отсюда получаем оптимальные значения переменных задачи: , .
Краткие итоги
Сформулирована двойственная задача для задачи геометрического программирования без ограничений. Приведена формулировка теоремы двойственности. Введено понятие степени трудности задачи геометрического программирования. Все понятия и методы решения задачи ГП с помощью двойственной задачи продемонстрированы на примерах.