Отсутствие универсального метода решения общей задачи нелинейного программирования послужило причиной появления множества узкоспециализированных методов, приспособленных к решению отдельных задач. К таким методам относится и метод геометрического программирования, возникший и получивший развитие в связи с задачами инженерного проектирования.
Основное требование метода геометрического программирования состоит в том, чтобы и целевая функция, и ограничения были выражены в виде так называемых позиномов, имеющих вид:
(2.22)
где - произвольные вещественные числа.
Анализ известных формул расчета деталей машин, а также всевозможных условий прочности, жесткости, устойчивости и др., показывает, что большая часть из них выражается зависимостями вида (2.22). Именно это обстоятельство позволяет считать метод геометрического программирования удачным для решения задач оптимального проектирования объектов машиностроения.
По сравнению с другими методами оптимизации геометрическое программирование имеет следующие преимущества:
- позволяет выявить достаточно полную картину сравнительной значимости проекта и отдельных слагаемых частей целевой функции;
- минимальное значение целевой функции находится до определения оптимальных значений параметров;
- исходная задача с нелинейными целевой функцией и ограничениями сводится к двойственной задаче с нелинейной целевой функцией, но линейными ограничениями, решить которую легче, чем исходную задачу;
- имеется возможность количественной оценки степени трудности решаемой задачи;
- для реализации метода с применением ЭВМ можно разработать универсальный программный комплекс.
В общем случае исходную задачу геометрического программирования формулируют следующим образом: найти минимальное значение целевой функции f(x) при ограничениях , причем f(x) и левые части ограничений являются позиномами (2.22).
Одна из важнейших характеристик - степень трудности решаемой исходной задачи геометрического программирования – определяется из выражения
d = n-(m+1),
где п - общее число слагаемых членов во всех позиномах (в целевой функции и ограничениях); m - число оптимизируемых параметров.
Степень трудности решаемой задачи характеризуется:
- при d = 0 – сложностью решения системы n линейных уравнений;
- при d = 1 – сложностью решения одного нелинейного и системы n линейных уравнений;
- при d > 0 – сложностью решения системы d нелинейных алгебраических уравнений и n линейных уравнений.
Подход к оптимизации позиномиальных функций основан на неравенстве между средним арифметическим и средним геометрическим, согласно которому среднее геометрическое не превосходит среднее арифметическое. Использование неравенства для средних привело к появлению термина геометрического программирования.
Проиллюстрируем метод геометрического программирования (ГП) в случае линейных ограничений.
Неравенство для средних позволяет заключить, что для произвольных положительных чисел и таких чисел , что , имеет место соотношение
, (2.23)
причем равенство достигается в случае . Полагая , можно переписать выражение (2.23) для любых величин и , :
.
Неравенство обращается в равенство только тогда, когда .
Пусть . Тогда ЦФ f(x) = .
Следовательно, .
Неравенство имеет место при любых , таких, что . Предположим, что имеет место соотношение: . Тогда неравенство сводится к системе соотношений: для всех при и . Поскольку неравенство может обращаться в равенство, можно получить
1) , система неравенств называется условием неотрицательности;
2) , данное уравнение называется условием нормализации; следует учесть в дальнейшем, что оно составляется только для позиномов, входящих в ЦФ;
3) , указанная система уравнений называется условием ортогональности и составляется для всех позиномов; причем коэффициенты - вещественные числа, элементы матрицы экспонент ( или показателей) исходной задачи.