УДК 512.25
А.Н. Куцемако
СВЕДЕНИЕ НЕКОТОРЫХ ЗАДАЧ ОПТИМИЗАЦИИ К ЗАДАЧЕ ГЕОМЕТРИЧЕСКОГО ПРОГРАММИРОВАНИЯ
Задачи, не имеющие явно выраженную позиномиальную форму, непосредственно не могут быть решены методами геометрического программирования. Но в некоторых случаях они могут быть сведены к задаче геометрического программирования.
Задачи оптимизации, геометрическое программирование
A.N. Kutsemako
TRANSFORMING OPTIMIZATION TASKS INTO GEOMETRIC PROGRAMMING TASKS
Functions without any particular posinomial shape can not be resolved by means of geometric programming methods. However in a number of cases they can be resolved as tasks related to geometric programming.
Optimization problem, geometric programming
Возможность решения задач с ограничениями показывает, что геометрическое программирование не является лишь удачным приемом для решения частных задач, а представляет собой метод, применимый к решению широкого класса задач [2].
Некоторые ограничения возникают естественным образом [1], в других случаях возможность рассмотрения задач с ограничениями позволяет получать решения задач, которые прямо не могли бы быть решены геометрическим программированием.
1. Введение дополнительных переменных
Для приведения некоторых задач оптимизации используются различные приемы. Самый простой из них - введение дополнительных переменных.
Допустим, что наша задача заключается в минимизации функции
go(t) = (t- + t2)n(ti + t-2, (1.1)
которая не является позиномом, поэтому геометрическое программирование прямо неприменимо. Однако есть возможность заменить эту задачу эквивалентной задачей минимизации функции
go(t)=t^t; (i.2)
при ограничениях
t3 > t- +12 и t4 > t1 +t-2. (1.3)
Эта новая задача после введения дополнительных переменных t3 и t4 может быть сформули-
рована как задача геометрического программирования.
Минимизировать
go(t)=t3It; (1.4)
при ограничениях
g1(t)=77+7 < 1 (1.5)
и g2(t) = tj~ + -1- < 1. (1.6)
t t t
I; l2l4
Имеем
степень трудности = 5 членов - 4 переменных -1=0.
Если степень трудности прямой задачи равна нулю, решение двойственной задачи, а следовательно, и решение прямой задачи, сводится решению системы линейных уравнений. Запишем вид двойственной функции:
у(5) =
(1
Ч62У
V 83 у
(82 + 63)62+83
(1 \ьч л У5
(84 +85)8
(1.7)
Так как g0(f) — одночленный позином, условие нормализации будет 61 = 1. Выпишем условия ортогональности:
82 +84
= 0,
8.
3 265 = 0,
3 = 0,
64 65 = 0.
(1.8)
п61 — 62 — 83 вЪ,
Из условий нормализации (1.7) и ортогональности (1.8) составим систему уравнений для нахождения точки максимума двойственной функции:
'61 =1,
= 0,
63
п61 — 62 — 83 в61 — 64 — 65 = 0,
62 +64
->3 285 = 0,
= 0,
Л —Ц
61 = 1,
62 = 2в — п, ^ 63 = 2(п — в), 64 = 2в — п,
(1.9)
65 = п — в.
Здесь и далее штрих у векторов и их компонентов означает, что они дают максимум и минимум двойственной и прямой функций соответственно.
При полученных значениях весовых множителей вычислим максимум двойственной функции, который равен минимуму прямой функции go(t/) в минимизирующей точке. Для этого подставим (1.9) в (1.7)
у(5') =
1
2в — п
2в—п /
1
Л
2(п—в)
1
2(п — в)
V 2(2в—п) .
п
1
2в — п у V п — в
1
в=
2в — п
п—в
3(п—е^ 1 ^2(п—е) 2
(1.10)
Найдем минимизирующий вектор ^. Для этого применим формулы, которые используют по-зиномы, входящие в ограничения. Тогда получим
6,
f 2f 1214
62 +63
6 2 +63
6 4 +65
64 +65
2в — п п
2(п — в) п
2в — п
в
п—в
12 =
4(п — в)3
(2в — п)3
(2в — п)2
2(п — в)2
п(2в — п)2
4(п —в)3
4в(п —в)3
(1.11)
в
(2в — п)4
2
4+65
22^
п—в
f
3
6
3
6
4
4
6
1
5
Итак, минимум g0(t/) равен значению максимума двойственной функции (1.10) и достигается в минимизирующей точке, компоненты которой есть (1.11).
Для сравнительной оценки вычислительных затрат и трудностей, возникающих при решении задач, приведем решение задачи обычным методом, использующим понятие экстремума функции. Несмотря на то, что исходная функция - функция двух независимых переменных, при отыскании
стационарных точек экстремума возникают определенные трудности с решением полученной нелинейной системы. Еще большие вычислительные трудности - при использовании какого-либо достаточного условия существования экстремума в критической точке.
Найти минимум функции
(
£ (0 =
1
7+'2 *1
V ( і у
V *і + 7
V *2 У
Необходимое условие существования экстремума
д Я (t) д *
= 0,
д Я (t) д ґ,,
=0
(1.12)
примет вид
п
у-1( 1 V
V Л
ґ1 + “2
+ е
-2 У
У
V
п
+ е
1
/1 + 7,
V *2 У
У ( 1
= 0,
V *2 У
= 0.
(1.13)
Преобразуем (1.13), выделив в каждом уравнении сомножители:
у
--------------+ Ї.
V *1
V
1
У
*1 + 7
У V *2 у
(
1
\
*1 + 7
V *2 У
+ е
1
— + *2
V *1
Л
п-1
------------+ X.
*1
1
У
*1 + ~
У V *2 у
п
1
Л
*1 + ~
V *2 у
2е
,3
— + *2
.*1
= 0,
= 0.
(1.14)
Так как по условию задачи ^ > 0 и f2 > 0, в каждом уравнении системы (1.14) можно сократить на множители, стоящие в круглых скобках. Тогда получим
п
(
1
/1 + 7,
V *2 У
(
+ е
\
п
V *1 + *2
V *2 У
2е
л
= 0,
= 0.
(1.15)
Из первого уравнения системы (1.15) выразим ^ +— и подставим во второе уравнение, тогда
f
после элементарных преобразований получим
Откуда
^ = л/^ .
Подставим (1.17) в первое уравнение системы (1.15)
-*21 12/з + V, I + е
2/ + *
/2 + *2
V У
= 0.
(1.16)
(1.17)
(1.18) (1.19)
Г* - (2в — п)2 /Л 4(п — в)3
Откуда найдем f2 =----------- и, используя (1.16), получим f1 =----------3 .
2(п — в) (2в — п)
Из-за сложности выкладок использование достаточного условия существования экстремума опускаем, а находим сразу значение исходной функции в найденной критической точке, которое сравним с полученным минимумом при решении задачи методом геометрического программирования.
2
*1
п
1
*
1
1
2
2
*1
*1
2
2
2
Поэтому
£ (у *2 ) = £
4(п - е)3 (2е - п)2
(2е - п)3 2(п- е)2
(2е - п)3 + (2е - п)2
4(п- е)3 2(п- е)2
4(п - е)3 + 4(п - е)4
(2е - п) (2е - п)
(1.20)
(2е - п)2 2(п - е)2
2е - п
2(п - е)
+1
4(п- е)3 (2е -п)3
1+
п-е 2е - п
После элементарных преобразований найдем
£ (*1, *2) = ппее
1
2е - п
2(2е-п)
п-е
3( п-е)
2(п-е)
(1.21)
которое достигается при
*1 =
4(п - е)3 (2е -п)3
и *2 =
(2е - п)2 2(п - е)2
2. Задачи, не имеющие явно выраженную позиномиальную форму
Пусть требуется минимизировать функцию
О(1) = / (t) + [д(1)]ак(1),
(2.1)
где /(1 ),д(1)к(1) — позиномы от векторного переменного t = (f1,..., fm) и а > 0.
Рассмотрим функцию
и ограничение
£ (Т) = / (t) + X0aЙ(t)
Xo1q(t) < 1,
(2.2)
(2.3)
где ^ - дополнительное независимое переменное, а т = (f0,f1,..., fm). Из построения g(т) и данного ограничения ясно, что (^,t2,...,/т) минимизирует О(1) тогда и только тогда, когда (#(0,^,f2,...,/т) минимизирует g (т) при данном ограничении.
Также ясно, что условный минимум g(т) равен минимальному значению О(1). Следовательно, мы преобразовали задачу минимизации функции О(1), которая не обязательно является позиномом, в эквивалентную задачу минимизации позинома g(т) при одном ограничении.
Рассмотрим конкретную задачу такого типа. Допустим, что нужно минимизировать функцию
4 12 % 2 у3
2 + /Ъ і_________+/5 +
G(t) = */2*/8 +1 -*/2*2/3 +-%(% |
5
5
Это не позином, но геометрическое программирование можно применять к эквивалентной задаче минимизации позинома
-1/ -1/ 1/ 1/ 1/
£ (0 = *1 /2*2/8 + *0 *1 *2-/2
(2.4)
при ограничении
Двойственная функция этой задачи имеет вид
у(8) =
1
8Г
1
V ^2 у
V 53 у
( і У4
V 5 4 У
(63 + 54)53 +64.
(2.5)
(2.6)
Условия нормализации и ортогональности приводят к линейной системе
е
е
п
1
5j +52 -1,
2
К 52 —53 —54 — 0,
К 51 + >4 52 + X ^4 — 0, ( )
2wi 1 /4 2 /3 4
>8 — >2 52 + 53 + 84 — 0.
'8 1 /2"2 /3 (20 21 15 3 ^ _
которая имеет единственное решение I —,—,—,— I. Следовательно, минимальное значение G(t)
^ 41 41 82 41)
равно
Г *21,15^ — 2.048. (2.8)
^41 41 82 41)
Отметим, что метод геометрического программирования дает минимальное значение позино-ма g0(t) без предварительного определения минимизирующей точки (t'^,/2,...,t'm). Этим он существенно отличается от обычного похода к задаче минимизации. В методе геометрического программирования в первую очередь определяется точка (51,52,...,8'п), которая максимизирует двойственную функцию v(5) при условиях ортогональности и нормализации.
Замечание. Так как минимальное значение прямой функции равно максимальному значению двойственной функции [1], [2], это общее оптимальное значение может быть аппроксимировано с произвольной заданной точностью.
Двойственная задача не только является математическим построением, а имеет определенную техническую интерпретацию. Между весами 5; и членами позиномов прямой задачи имеется взаимно однозначное соответствие, при этом в точке оптимума веса 5't представляют собой относительные величины этих членов.
Кроме того, двойственная задача имеет некоторые внутренние особенности, которые дают качественную информацию о прямой задаче. Эта информация может быть получена из постоянных, которые называются базисными постоянными и появляются при переформулировке двойственной задачи. Более того, эта информация может быть получена сразу, до выполнения численной оптимизации.
По существу, базисные постоянные дают размерностный анализ прямой задачи. Из этого анализа можно определить все возможные коэффициенты, которые дают то же минимальное значение.
Может быть получена формула для вариации минимального значения при глобальных изменениях некоторых коэффициентов. Если известны оптимальные значения параметров при некоторых значениях коэффициентов, то могут быть определены вариации оптимальных значений параметров при малых изменениях этих коэффициентов.
Эти формальные свойства двойственной программы помогают инженеру понять важность как фиксированных, так и управляемых параметров задачи оптимизации.
ЛИТЕРАТУРА
1. Бекишев Г. А. Элементарное введение в геометрическое программирование / Г. А. Бекишев, Н.И. Кратко. М.: Наука,1980. 143 с.
2. Даффин Р. Геометрическое программирование / Р. Даффин, Э. Питерсон, К. Зенер. М.: Мир, 1972. 311 с.
3. Куцемако А.Н. Геометрическое программирование / А.Н. Куцемако. Саратов: СГТУ, 2003.
70 с.
Куцемако Анатолий Николаевич - Anatoly N. Kutsemako -
доктор технических наук, профессор Dr. Sc., Professor
кафедры «Математика и моделирование» Department of Mathematics and Modeling,
Саратовского государственного технического Yu. Gagarin Saratov State Technical University
университета имени Гагарина Ю.А.
Статья поступила в редакцию 26.10.11, принята к опубликованию 15.11.11