- •А.В. Аттетков, С.В. Галкин, В.С. Зарубин
- •ПРЕДИСЛОВИЕ
- •Задания для самопроверки
- •ОСНОВНЫЕ ОБОЗНАЧЕНИЯ
- •Буквы латинского алфавита
- •Буквы греческого алфавита
- •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.3 штриховой линией показан график функции, для которой этот подход не позволяет обнаружить искомый отрезок.
2.3. Оптимальный пассивный поиск
Пусть требуется путем пассивного поиска найти точку ж» Е € [0, 1], в которой унимодальная на отрезке [0, 1] функция /(ж) достигает наименьшего значения /* = / (ж»). Минимаксный ме тод поиска, в котором информация о значениях функции, вы численных в предшествующих точках, не может быть использо вана, называют оптимальным пассивным поиском. Рас смотрим алгоритм такого поиска при различном числе N точек, выбираемых на отрезке [0, 1].
У |
|
|
|
/(1/2) .......... -f1 |
|
||
|
1 |
|
|
|
1 |
1 |
|
_ |
Д1 _ L А* |
||
1 |
|||
0 |
I |
1 |
|
1/2 |
1 х |
Если N = 1, то единственную точ ку целесообразно выбрать в середи не отрезка, т.е. принять х[ = 1/2 (рис. 2.4). В этом случае вследствие унимодальности функции /.(ж) име ем /* < /(1/2). Поэтому наименьшая возможная длина интервала неопре
деленности равна l\ = 1 и можно га
Рис. 2.4
рантировать, что выбор в качестве точки х, € [0, 1] точки х\ = 1/2 приведет к погрешности не более A j = 1\/2 = 1/ 2. При любом ином положении точки х\ погрешность при выборе ж* = х\ будет Ai > А*, так как в действительности точка ж* может лежать на большей части отрезка [0, 1].
Если при N = 2 (рис. 2.5) две точки расположить на отрезке [0, 1] так, чтобы они делили его на равные части, т.е. выбрать х\ = 1/3 и Х2 = 2/3, то точка ж* 6 [0,1] будет найдена с точно стью Д$ = 1/3, а наименьшая длина интервала неопределенно сти составит Щ= 2Aj = 2/3. В самом деле, если /(1 /3 ) < /(2 /3 ) (рис. 2.5, а), то в силу унимодальности функции /(ж) отрезок
У1 |
|
|
|
У. |
----------+ |
|
|
|
/ ( 2 / 3 ) |
|
1 |
/ ( 1 /3 ) |
|
|
|||
|
|
1 |
|
|
||||
|
--------- 4 |
,1 |
/ ( 2 /3 ) |
|
1 |
|
|
|
/ ( 1 / 3 ) |
|
1 |
1 |
|
||||
1 |
1 |
|
|
|
1 |
|
||
|
, д 2 , : , д 2 , 1 |
|
|
|
! , Д г, j, Л2 , |
|||
|
1 |
1 |
|
|
|
■ |
1 |
1 |
|
1 |
1 |
|
|
|
1 |
1 |
1 |
|
|
|
|
|
|
1 |
• |
1 |
0 |
1 / 3 |
2 / 3 |
1 X |
0 |
|
1 /3 |
2 /3 |
1 х |
|
|
а |
|
|
|
|
б |
|
|
|
|
Рис. 2.5 |
|
|
|
|
|
[2/3,1] можно исключить и считать, |
что |
ж» € [0, 2/3]. |
Тогда |
при выборе ж* = 1/3 наибольшая погрешность равна Д2 = 1/3 и /* яг /(1/3). Если же окажется, что /(1 /3 ) > /(2 /3 ) (рис. 2.5, 6), то можно исключить отрезок [0,1/3] и считать, что ж* 6 [1/3,1]. И в этом случае выбор ж* = 2/3 приведет к погрешности не бо лее Д2 = 1/3, а /* яг /(2/3). Заметим, что при /(1 /3 ) = /(2 /3 ) можно исключить любой из указанных отрезков, гарантируя ту же точность нахождения точки ж* G [0,1]. При ином деле нии отрезка [0, 1] на части двумя точками длина какой-то из его частей будет больше 1/3 и в действительности точка ж» может принадлежать именно этой части, так что получим по грешность Д2 > Д2 = 1/3.
Рассуждая аналогично, можно заключить, что при N = 3 нужно также выбирать точки равномерно на отрезке [0, 1]:
xi = 1/4, ж2 = 2/4, |
жз = 3/4, |
обеспечив точность |
Дд = |
1/4 |
нахождения точки |
ж* 6 [0, 1] |
и наименьшую длину |
= |
1/2 |
интервала неопределенности. |
В случае произвольного N G N |
|||
по тем же соображениям надо выбирать точки |
|
|
||
а* = jvTT е [°. Ч, >== T N , |
(2.4) |
обеспечивая точность Ддг = 1/(N + 1 ) нахождения точки ж* и наименьшую возможную длину
I. - |
2 |
(2.5) |
1n~ N + 1
интервала неопределенности. Таким образом, оптимальный пассивный поиск состоит в выборе точек, равномерно распо ложенных на отрезке. При этом (2.5) дает оценку скорости сходимости пассивного поиска с ростом числа N точек, так как скорость сходимости любого метода прямого поиска можно характеризовать скоростью уменьшения интервала неопреде ленности с возрастанием N.
Пример 2 .2 . При заданной наибольшей допустимой длине е* = 0,2 интервала неопределенности, используя оптимальный пассивный поиск, найдем точку х* 6 [0, 1], в которой унимо дальная на отрезке [0, 1] функция /(х ) = х3 — х + е~х достигает наименьшего на этом отрезке значения* Из (2.5) следует, что для этого необходимо принять N = 9 и в соответствии с (2.4) вычислить значения функции f(x) в точках х^ = к/10, к = 1,9:
X |
0,1 |
0,2 |
0,3 |
0,4 |
0,5 |
0,6 |
0,7 |
0,8 |
0,9 |
/(я ) |
0,81 |
0,63 |
0,47 |
0,33 |
0,23 |
0,17 |
0,14 |
0,16 |
0,18 |
Из представленных результатов вычислений можно сделать вывод, что интервалом неопределенности является интервал (0,6, 0,8), а х* = 0,7 ± 0,1 . Отметим, что при £* = 0,01 потре буется принять N = 199. #
Рассуждения, проведенные выше, попутно обосновывают
процедуру исключения отрезка, которую используют во всех методах прямого поиска точки минимума унимодальной функции одного переменного. Эта процедура состоит в следу ющем. Пусть на отрезке [а, 5] числовой прямой расположены две точки си d, а < с < d <b, и известны (или вычислены) зна чения /(с) и f(d) унимодальной на [а, 5] функции /(х ). Если /(с) < 1 (d) (рис. 2.6, о), то в силу унимодальности функции /(х ) имеем х» € [a, rf], а отрезок [d, 6] можно исключить из дальней шего рассмотрения. Наоборот, если }(с) ^ f(d) (рис. 2.6, б), то х, е [с, 6], а отрезок [а, с] далее можно не рассматривать.
'С м .: Амосов А.А., Дубинский Ю .А., Копченова Н.В.