- •А.В. Аттетков, С.В. Галкин, В.С. Зарубин
- •ПРЕДИСЛОВИЕ
- •Задания для самопроверки
- •ОСНОВНЫЕ ОБОЗНАЧЕНИЯ
- •Буквы латинского алфавита
- •Буквы греческого алфавита
- •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
- •Аттетков Александр Владимирович Галкин Сергей Владимирович Зарубин Владимир Степанович
- •МЕТОДЫ ОПТИМИЗАЦИИ
Получим систему трех уравнений
Mi(3 + Mi - / i s ) = 0 ,
{^ 2 ( 3 Н- М2 — Мз) = о ,
Мз(2+ Mi Ч-/Х2 —2рг) —0.
Рассматривая различные варианты, находим семь решений |
|||||||
системы (табл. 7.1). |
|
|
|
|
|
Таблица 7.1 |
|
|
|
|
|
|
|
||
Номер решения |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Mi |
0 |
0 - 3 |
- 3 |
0 |
0 - 4 |
||
М2 |
0 |
- 3 |
0 |
-3 . |
0 - 4 |
0 |
|
Мз |
0 |
0 |
0 |
0 |
1 |
- 1 |
- 1 |
Xl |
3 |
3 |
0 |
0 |
2 |
4 |
0 |
Х2 |
3 |
0 |
3 |
0 |
2 |
0 |
4 |
Первое решение соответствует точке локального минимума целевой функции, причем эта точка не попадает в допусти мое множество П. Второе, третье и пятое решения соответ ствуют точкам условного локального минимума на сторонах треугольника, ограничивающего допустимое множество. На конец, четвертое, шестое и седьмое решения соответствуют трем угловым точкам множества (вершинам треугольника). Сравнение значений функции показывает, что единственным решением рассматриваемой задачи является точка А5 с коорди натами xi = Х2 = 2. К этим выводам легко прийти, если учесть, что значением целевой функции в точке (ц , тг) является ква драт расстояния от этой точки до точки (3, 3). #
7.4. Седловая точка функции Лагранжа
Рассмотрим задачу нелинейного программирования
Г/о(х) -мш п;
(7.12)
|&(х)<0, г = 1, m,
в которой нет ограничений типа равенства. Предполагаем, что функции /о(ж) и рДж), г = 1 , m, определенные в Кп, могут быть недифференцируемыми. Как и выше, сформируем функцию Лагранжа
|
т |
|
(7.13) |
где /л= |
(ц1, ..., Цт) Е R™, R™ — неотрицательный ортант |
в R771. |
Мы будем рассматривать функцию Лагранжа как |
функцию всей совокупности переменных х и \х. Отметим, что в данном случае в функцию Лагранжа не включен множитель Ао.
Определение 7.1. Точку (ж*, /х*), где х* Е fi, /х Е R™, на зывают седловой точкой функции Лагранжа £(ж,^х), если
Ь(х*,ц) ^ Ь(х*,ц*) ^ L(cc,/z*), ж Е fi, /X ER™. |
(7.14) |
Теорема 7.7. Если (ж*, /LX*) — седловая точка функции Ла гранжа L(ж,/х), то ж* — точка наименьшего значения функции /о (х) на множестве
П = { х € М": 9i(x) < 0, i = 1 , m } .
◄Из определения функции Лагранжа вытекает, что для любых х Е fi и fi Е R™ выполняется неравенство L(ж,/х) ^ /о (ж), так как Higi(x) ^ 0, г = 1, га, ж Е fi. При этом указанное неравенство превращается в равенство, если /х = 0, т.е. Ь(ж,0) = /о(ж). Поэтому если (ж*, /2*) — седловая точка функции Лагранжа, то для любой точки ж Е fi
f 0(x*) = L (x\ 0) ^ L(x V ) < L(x,tM*) < /o(x). |
► |
Доказанная теорема указывает метод решения задачи не линейного программирования (7.12). Достаточно определить седловую точку функции Лагранжа, чтобы прийти к реше нию задачи нелинейного программирования. Следующая тео рема устанавливает критерий для седловых точек функции Ла гранжа.
Теорема 7.8. Точка (ж*,/л*), х* G fi, ц* = (ци •••■, Pm) €
ЕШ™, является седловой для функции Лагранжа L ( X ,/J ) в том
итолько в том случае, если выполнены условия
L(x*,n*) = minL(x,fM*), |
(7-15) |
^i9i(x *)= 0, г = 1 ,т. |
(7.16) |
◄ Если (х*, fj,*) — седловая точка функции Лагранжа, причем х* Е Q, (л* в RJ1, то соотношение (7.15) верно в силу определения седловой точки. Кроме того, согласно этому определению, Ь(х*,/л*) ^ L(x*,0), что равносильно неравенству
771
/о(**) + |
> /(>(**)• |
|
|
2— 1 |
|
Таким образом, |
|
|
т |
|
|
Х |
> ?й (® *)> 0. |
(7.17) |
2=1
Но из условия ж* Е вытекает, что gi{x*) ^ 0, а условие /х* Е Ш™ означает, что /х* ^ 0, г = 1 , га. Следовательно, каждое слагаемое суммы в неравенстве (7.17) неположительно. Поэтому и сумма, и каждое ее слагаемое равны нулю, т.е. верны соотношения (7.16).
Теперь предположим, что выполнены условия (7.15) и (7.16). Тогда Ь(х*ф*) = /о (ж*) и в то же время 1/(ж*,/х) ^ /о(ж*) дл* любого Е R™, откуда 1/(ж*,/х) ^ 1/(ж*,/х*). Это вместе с (7.15) приводит к неравенствам (7.14), т.е. к утверждению, что (ж*, (л*) — седловая точка функции Лагранжа. ►
Теорему 7.7 можно использовать в широком круге задач не линейного программирования. При этом на функции /о (ж) и gi(ж), г = 1 , т , не накладываются никакие ограничения. Од нако следует иметь в виду, что достаточное условие, которое устанавливается теоремой 7.7, лишь заменяет одну задачу ми нимизации другой, которая в некоторых случаях может быть