- •А.В. Аттетков, С.В. Галкин, В.С. Зарубин
- •ПРЕДИСЛОВИЕ
- •Задания для самопроверки
- •ОСНОВНЫЕ ОБОЗНАЧЕНИЯ
- •Буквы латинского алфавита
- •Буквы греческого алфавита
- •1. ЗАДАЧИ ОПТИМИЗАЦИИ
- •1.1. Основные понятия
- •1.2. Некоторые простые примеры
- •1.3. Задачи оптимального проектирования
- •1.4. Задачи оптимального планирования
- •1.5. Классы задач оптимизации
- •Вопросы и задачи
- •2. МЕТОДЫ ОДНОМЕРНОЙ МИНИМИЗАЦИИ
- •2.1. Предварительные замечания
- •2.3. Оптимальный пассивный поиск
- •2.4. Методы последовательного поиска
- •2.5. Сравнение методов последовательного поиска
- •2.6. Методы полиномиальной аппроксимации
- •2.7. Методы с использованием производных
- •Вопросы и задачи
- •3. МИНИМИЗАЦИЯ ВЫПУКЛЫХ ФУНКЦИЙ
- •3.2. Выпуклые функции
- •3.4. Условия минимума выпуклых функций
- •3.5. Сильно выпуклые функции
- •ф{t) = (grad/(а; + th), h)
- •3.6. Примеры минимизации квадратичных функций
- •3.7. Минимизация позиномов
- •Qj = '%2aijci = Q> J = !.*»•
- •Вопросы и задачи
- •4. ЧИСЛЕННЫЕ МЕТОДЫ БЕЗУСЛОВНОЙ МИНИМИЗАЦИИ
- •4.1. Релаксационная последовательность
- •4.2. Методы спуска
- •4.4. Минимизация квадратичной функции
- •4.5. Сопряженные направления спуска
- •5. АЛГОРИТМЫ МЕТОДОВ ПЕРВОГО И ВТОРОГО ПОРЯДКОВ
- •|iufc|
- •5.3. Метод Ньютона
- •5.4. Модификации метода Ньютона
- •5.5. Квазиньютоновские методы
- •Вопросы и задачи
- •6. АЛГОРИТМЫ ПРЯМОГО ПОИСКА
- •6.1. Особенности прямого поиска минимума
- •6.2. Использование регулярного симплекса
- •6.4. Циклический покоординатный спуск
- •6.5. Метод Хука — Дживса
- •Щ + bjej,
- •6.6. Методы Розенброка и Пауэлла
- •Вопросы и задачи
- •7. АНАЛИТИЧЕСКИЕ МЕТОДЫ НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
- •7.2. Минимизация при ограничениях типа равенства
- •7.4. Седловая точка функции Лагранжа
- •7.5. Двойственная функция
- •7.6. Геометрическое программирование
- •Вопросы и задачи
- •8. ЧИСЛЕННЫЕ МЕТОДЫ НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
- •8.1. Метод условного градиента
- •8.2. Использование приведенного градиента
- •8.5. Метод проекции антиградиента
- •СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ
- •ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
- •ОГЛАВЛЕНИЕ
- •Математика в техническом университете Выпуск XIV
- •Аттетков Александр Владимирович Галкин Сергей Владимирович Зарубин Владимир Степанович
- •МЕТОДЫ ОПТИМИЗАЦИИ
Таблица 2.5
k |
Интервал |
%kl |
/(*fci) |
2 |
/fate) |
|
|
неопределенности |
|
Xk |
|||
|
|
|
|
|
||
i |
(0,000, |
0,000) |
0,385 |
2,0125 |
0,615 |
14,0625 |
2 |
(0,000, |
0,615) |
0,231 |
0,0081 |
0,385 |
2,0125 |
3 |
(0,000, |
0,385) |
0,154 |
0,7396 |
0,231 |
0,0081 |
4 |
(0,154, |
0,385) |
0,231 |
0,0081 |
0,308 |
0,4624 |
5 |
(0,154, |
0,308) |
0,231 |
0,0081 |
0,232 |
0,0064 |
6 |
(0,231, |
0,308) |
|
|
|
|
применение оптимального пассивного поиска в данном случае потребовало бы вычисления этой функции в 19 точках.
Из приведенных таблиц видно, что результаты расчетов подтверждают теоретические выводы о скорости сходимости различных методов.
2.6.Методы полиномиальной аппроксимации
Вметодах прямого поиска мы не имели никакой инфор мации о минимизируемой функции за исключением ее значе ний в выбранных нами точках и предположения, что она не прерывна и является унимодальной функцией на рассматрива емом отрезке. Если функцию в некоторой окрестности точ ки ее минимума можно достаточно точно заменить (аппрокси мировать) многочленом, то для ее минимизации целесообраз но использовать так называемые методы полиномиальной аппроксимации. Их общая особенность состоит в вычисле нии коэффициентов многочлена по известным значениям функ ции в отдельных точках и последующем нахождении минимума ^того многочлена с использованием необходимых и достаточ ных условий экстремума. Ограничимся рассмотрением мето да квадратичной аппроксимации минимизируемой функ ции /(я ), в котором график этой функции приближенно заменя
ет параболой, проходящей через три известные точки (xi, / г),
* = 1» 2>3. где fi = f(xi).
Известно [II], что через три различные точки, не лежащие на одной прямой, можно провести только одну параболу у = = ах2 + Ьх + с, аф 0. Коэффициенты а, 6, с удовлетворяют системе линейных алгебраических уравнений (СЛАУ)
|
axf + bxi + с = /г, г = |
1,2,3. |
||
Определитель этой СЛАУ |
|
|||
х\ |
XI |
1 |
|
|
х\ |
х 2 |
1 |
= (si - x2)(xi - |
х3)(х2 - х3) |
х3 |
х3 |
1 |
|
|
представляет собой определитель Вандермонда* и отличен от нуля, когда х\, х2, х3 попарно различны. В этом случае СЛАУ имеет решение, и притом единственное. Его можно записать в виде
(xi - x2)(xi - х3) + (х2 - xi)(x2 - х3) + (х3 - xi)(x3 - х2) ’
fl(X2 +X з) |
/2(яз+Ж1) |
| |
/з(ж! + х 2) |
{х\ —х2 )(х3 —х\) |
{х2 - х {){х 3 - х 2) |
|
{х3 -х \ ){х 2 - х 3) ’ |
f \ x 2x 3 |
/2Д?ЗД1 |
|
/зД?1Д?2 |
( Ж 1 - Х 2) ( Т 1 -Т з) |
(Х2 — X i ) ( x 2 — х3) |
|
{х3 -х\ ){х 3 - х 2у |
Если найденные выражения для коэффициентов о и Ъпод |
|||
ставить в необходимое |
условие у' = 2 ах + 6 = 0 экстремума |
функции, то получим ее единственную стационарную точку
Ь_ _ 1 fir23 + / 2Г31 + / 3Г12
2а 2 / 1 S23 + / 2З31 + / 3 S12 ’
где rij = х? — X? и Sij = Xi — Xj, i, j = 1, 2, 3. Так как у" = 2a = = const, то в точке x* при a > 0 имеем минимум функции у(х), а при a < 0 — максимум.
*А.Т. Вандермонд (1735-1796) — французский математик.
Если известен отрезок, на котором минимизируемая функ ция унимодальна, то нет необходимости вычислять значение коэффициента а. Достаточно этот отрезок принять в качестве отрезка [xi, хз], а точку хг € (xi, Х3) выбрать произвольно в ин тервале (xi, хз). В этом случае имеем /1 ^ /2 и /3 ^ / 2, откуда X* 6 [xi, х3].
На первом шаге метода квадратичной аппроксимации при
помощи (2.18) вычисляют xi1^ и затем |
|
Для |
~ (1) |
и |
г = |
вычислении на втором шаге из четырех точек х; |
||
( 2 ) |
|
|
= 1 , 2, 3, выбирают новую тройку точек х] ’ по следующему правилу:
б) если xi1^€ [х2, хз] и > / 2, то х ^ = xi, х ^ = xi1^, х ^ =
г) если xiX) G [xi, Х2] и |
> / 2, то х ^ = хЦЯ, Хд2^= хз, х ^ = |
2•
Далее из (2.18) находят xi2\ а затем описанную процедуру Повторяют на третьем шаге и так далее до тех пор, пока длина
интервала неопределенности, в котором гарантированно леЯсит искомая точка х* минимума функции /(х ), не станет мень ше заданного наибольшего допустимого значения е*. Отметим, Что подтверждением приближения к точке х* и правильности вычислений может служить уменьшение значения функции у(х)
в найденной точке х{к^по сравнению со значением у(х[к~^) на предыдущем шаге.
Пример 2.4. Найдем методом квадратичной аппрокси мации минимум функции /(х ) — х2 + 16/х, унимодальной на отрезке [1, 4]. График этой функции приведен на рис. 2.11.
Выберем три точки х\ = 1 , хг = 3, хз = 4 и вычислим в них
значения функции |
f(x): |
= /( |
х i) = 17, /2 = f(x 2) « 14,333, |
/(хз) = /(хз) = 20. |
Из (2.18) на |
первом шаге метода квадра |
тичной аппроксимации найдем xi1^~ 2,286 и затем вычислим
значение |
= /( х ^ ) « |
12,225. |
|
|
|
|
|
|
Так как х ^ € [xi, Х2] и |
< / 2, то по указанному выше |
|||||||
правилу х ^ = x i, Xg2^= Х2 и х ^ |
= xi1^ Выбранным точкам со |
|||||||
ответствуют значения |
= /( х ^ ) = 17, |
= /( х ^ ) ~ 12,225 |
||||||
и / 2^ = /(х£2)) и 14,333. |
Используя (2.18), получим xi2^« |
2,200 |
||||||
и / Я |
= /(x i2)) « 12,113. |
|
|
|
|
|
|
|
Поскольку х|Я е [х[2\ х ^ ] и /J 2^< /з2\ то на третьем шаге |
||||||||
имеем х^ = х^2\ х{3^= х!2^и х^* = xi2\ т.е. |
|
= 1, х^ « 2,200 |
||||||
и Хд |
« 2,286. |
|
|
|
|
|
(3) |
— 17, |
Этим точкам соответствуют значения /{ |
||||||||
/ 2^ « |
|
р(3) |
|
|
|
(2.18) |
находим |
|
12,113 и /д'5,1 а; 12,225. В соответствии с |
||||||||
х (3) |
‘ 2,087 и затем /*(3) = /(х£3)) » 12,022. |
Г(з) |
. /(3) |
|
|
|||
|
|
|
|
|
Поэтому |
|||
Снова оказалось, что х£3^€ [х[3\ х ^ ] и /У1 |
< f\0> |
для вычислений на четвертом шаге получаем х ^ |
= х£3\ Хд4^= |
|||||||
- |
" (3) |
- |
~(4) = |
х£3), т.е. |
х(!4) = 1, х<4) и |
2,087, |
х^4) и |
2,200 и |
= |
Х'2 ' |
и х |
|
|
|
|
|
|
|
= |
17, |
« |
12,022, /д4^« 12,113. В |
соответствии |
с (2.18) |
||
имеем х£4^и 2,054 и f j 4^« |
12,009. |
|
|
|
Из проведенных расчетов вытекает, что искомая точка
х* минимума функции /(х ) лежит в интервале (xi1^, xi3^) = = (1, 2,054). Дальнейшие вычисления приводят к незначитель ному уменьшению интервала неопределенности, так как ка ждая очередная точка будет правее точки 2.
Используя необходимое условие экстремума функции f'(x) =
= 0, заключаем, что х* = 2 и /(х*) = 12. |
Таким образом, в |
|
~ ( к ) |
приближается к |
|
данном случае последовательность точек х; |
|
|
точке минимума х*, монотонно убывая. |
|
|
Степень приближения текущей точки к точке минимума можно оценить следующим образом. Согласно формуле Тейло ра, в окрестности точки минимума х* целевой функции имеем
/( x i ) ~ /(х * ) -Ь х*)^, /(х 2) « / ( х »)4 (**\х2 - х , ) 2
Вычисляя разность двух приближенных равенств, находим:
f"(x |
) |
2х») « |
f { x i) - /( х 2) ~ — Y 1 |
(xi - x2)(xi + х2 - |
« /"(х ,)(х 1 - x2)(xi - х*).
В результате получаем приближенную формулу
|
| /( x i) - /( x 2)| |
|
|
|
|
|xi -х*| « |
|
|
|
|
\ x i-x 2 \f"(x*)' |
|
||
|
_ 4 3 ) |
x<i = |
4 4 ) |
имеем |
В данном случае при выборе х\ = х |
х\ 1 |
|||
43) |
12,022- 12,009 |
|
|
|
|
|
= 0,066, |
||
|
(2,087-2,054)-6 |
|
|
|
что согласуется с полученными результатами. |
# |
Метод квадратичной аппроксимации удобно применять по сле локализации точки минимума методом золотого сечения или методом Фибоначчи. Это объясняется тем, что для два жды дифференцируемой функции многочлен второго порядка
достаточно хорошо аппроксимирует функцию в окрестности точки минимума.
В одной из модификаций метода квадратичной аппроксима ции на к-м шаге, к > 1, в тройку точек х^к\ i = 1, 2, 3, включают
найденную на предыдущем шаге точку х; |
(как точку х£ ), |
одну из точек х^к~1\ ближайшую к xik |
и точку, симметрич |
ную включенной точке х\к~^ относительно х{к ^ Последняя
точка новая, и в ней перед вычислением х£^ необходимо опре делять значение минимизируемой функции.
|
Такой выбор тройки точек |
приводит к равенству |
— |
||||
— |
= х ^ |
—х ^ |
= Д*., что упрощает (2.18): |
|
|||
|
(к) _ (к) |
|
Да: |
____ f { x 1 |
,(*h |
|
|
|
+ |
f (x3 0 |
(2.19) |
||||
|
X* |
— XI |
2 |
/( 4 A)) - 2 /( 4 fc)) + /( 4 fcJ) |
|||
|
|
|
|
|
Процесс последовательных приближений к искомой точке т* минимума унимодальной функции f(x) прекращают, если по лученные на двух последовательных шагах значения f(x[k~
и f(x ^ ) близки или если проведенные расчеты позволяют ука зать интервал неопределенности, длина которого меньше за данного наибольшего допустимого значения £*.
Отметим, что в данном случае точка х{к\ найденная на к-м
шаге, может оказаться за пределами отрезка г W M iJ, в то
[х\ \х\*
время как в методе квадратичной аппроксимации принадлежность точки х\ ' указанному отрезку гарантирована.
Пример 2.5. Применим описанную модификацию метода квадратичной аппроксимации для нахождения минимума функ ции
/(х ) = (х —1 )2(х — З)2
на отрезке [2, 8]. График этой функции приведен на рис. 2.12. Процесс итераций закончим, если длина интервала неопреде ленности не будет превышать 0,15. На первом шаге выберем
х[1^= 2, х ^ = 5 и х ^ = 8. Результаты вычислений с учетом (2.19) сведены в табл. 2.6.
После выполнения пятого шага приходим к заключению, что точка х* минимума функции f(x) расположена в интервале (2,949, 3,076) длины 0,127. Точное значение х+ = 3 соответству ет минимальному значению f(x t) = 0.
Таблица 2.6
к |
1 |
2 |
3 |
4 |
5 |
4 к) |
2 |
2 |
2,030 |
2,679 |
2,949 |
М Р ) |
1 |
1 |
0,998 |
0,290 |
0,010 |
х{к) |
5 |
3,328 |
2,679 |
2,814 |
3,076 |
х 2 |
|
|
|
|
|
н 4 к)) |
64 |
0,583 |
0,290 |
0,114 |
0,025 |
тю |
8 |
4,656 |
3,328 |
2,949 |
3,203 |
/(4**) |
1225 |
36,655 |
0,583 |
0,010 |
0,200 |
х{к) |
3,328 |
2,679 |
2,814 |
3,076 |
3,001 |
f(xik)) |
0,583 |
0,290 |
0,114 |
0,025 |
0,000 |