Text
                    ПРИКЛАДНАЯ МАТЕМАТИКА
для ВТУЗов
А. В. Пантелеев Т. А. Летова
Методы
оптимизации
в примерах
и задачах
ИЗДАНИЕ ВТОРОЕ, ИСПРАВЛЕННОЕ
Рекомендовано Учебно-методическим объединением
высших учебных заведений Российской Федерации
по образованию в области авиации, ракетостроения
и космоса в качестве учебного пособия для студентов
высших технических учебных заведений
Москва
«Высшая школа»
2005


УДК 519.8 ББК 22.14 П16 Рецензенты: кафедра «Автоматизация биотехнических систем» Московского государственного университета прикладной биотехнологии (зав. кафедрой—д-р техн. наук, проф. В. И. Попов); д-р техн. наук, проф., зам. директора Института проблем управления им. В. А. Трапезникова РАН Б. В.Павлов Пантелеев, А. В. П 16 Методы оптимизации в примерах и задачах: Учеб. пособие/А. В. Пантелеев, Т. А. Летова. — 2-е изд., исправл. — М.: Высш. шк., 2005. — 544 с: ил. ISBN 5-06-004137-9 Рассмотрены аналитические методы решения задач поиска экстремума " многих переменных на основе необходимых и достаточных условий. [ численные методы нулевого, первого и второго порядков решения задач безусловной минимизации, а также численные методы поиска условного экстремума. Описаны алгоритмы решения задач линейного программирования, целочисленного программирования, транспортных задач. Приведены методы решения задач поиска безусловного и условного экстремумов функционалов на основе метода вариаций. В каждом разделе кратко изложены основные теоретические сведения, приведены решения типовых примеров и задачи для самостоятельного решения. Для студентов высших технических учебных заведений. УДК 519.8 ББК 22.14 Учебное издание Пантелеев Андрей Владимирович, Летава Татьяна Александровна МЕТОДЫ ОПТИМИЗАЦИИ В ПРИМЕРАХ И ЗАДАЧАХ Художественный редактор Ю. Э. Иванова Лицензия ИД № 06236 от 09.11.01. Изд. № РЕНТ-300. Подл, в печать 17.01.05. Формат 60x90Vi4- Бум. офсетная. Гарннщ». Тайме. Печать офсетная. Объем 34,00 усл. печ. л., 34,50 усл. кр.-отт. Тираж 3000 экз. Заказ № 4751. ФГУП «Издательство «Высшая школа», 127994, Москва, ГСП-4, Неглинная ул., 29/14. Тел.; @95) 200-04-56. http://www.v-shkola.ru E-mail: info@v-shkola.ru Отдел реализации: @95) 200-07-69, 200-59-39, факс: @95) 200-03-01. ail: sale8@v-8hkola.ru Отпечатано на ФГУП ордена «Знак Почета» Смоленская областная типография им. В.И. Смирнова. 214000, г. Смоленск, пр-т им. Ю. Гагарина, 2. ISBN 5-06-004137-9 © ФГУП «Издательство «Высшая школа», 2005 Оригинал-макет данного цгадяигаг является собственностью издательства «Высшая школа», и его регфодуцирование (воспроизведение) любым способом без согласия издательства запрещается.
ОГЛАВЛЕНИЕ Глава I. Условия экстремума функций 6 § 1. Общая постановка задачи оптимизации и основные положения 6 § 2. Необходимые и достаточные условия безусловного экстремума 22 § 3. Необходимые и достаточные условия условного экстремума 35 3.1. Постановка задачи и основные определения 35 3.2. Условный экстремум при ограничениях типа равенств 38 3.3. Условный экстремум при ограничениях типа неравенств 53 3.4. Условный экстремум при смешанных ограничениях 81 Глава П. Численные методы поиска безусловного экстремума 101 § 4. Принципы построения численных методов поиска безусловного экстремума 101 § 5. Методы нулевого порядка 107 5.1. Методы одномерной минимизации 107 5.1.1. Постановка задачи и стратегии поиска 107 5.1.2. Метод равномерного поиска 110 5.1.3. Метод деления интервала пополам 112 5.1.4. Метод дихотомии 116 5.1.5. Метод золотого сечения 119 5.1.6. Метод Фибоначчи 124 5.1.7. Метод квадратичной интерполяции 127 5.2. Метод конфигураций 130 5.3. Метод деформируемого многогранника 138 5.4. Метод Розенброка 149 5.5. Метод сопряженных направлений 159 5.6. Методы случайного поиска 164 5.6.1. Адаптивный метод случайного поиска 164 5.6.2. Метод случайного поиска с возвратом при неудачном шаге 172 5.6.3. Метод наилучшей пробы 174 § 6. Методы первого порядка 178 6.1. Метод градиентного спуска с постоянным шагом 178 6.2. Метод наискорейшего градиентного спуска 184 6.3. Метод покоординатного спуска 189 6.4. Метод Гаусса-Зейделя 195 6.5. Метод Флетчера-Ривса 201 6.6. Метод Дэвидона-Флетчера-Пауэлла 207 6.7. Метод кубической интерполяции 212 § 7. Методы второго порядка 218 7.1. Метод Ньютона 218 7.2. Метод Ныотона-Рафсона 223 7.3. Метод Марквардта 227
Глава III. Численные методы поиска условного экстремума 235 § 8. Принципы построения численных методов поиска условного экстремума 235 § 9. Методы последовательной безусловной минимизации 242 9.1. Метод штрафов 242 9.2. Метод барьерных функций 254 9.3. Комбинированный метод штрафных функций 267 9.4. Метод множителей 275 9.5. Метод точных штрафных функций 283 § 10. Методы возможных направлений 293 10.1. Метод проекции градиента 293 10.2. Метод Зойтендейка 310 Глава IV. Задачи линейного программирования 317 § И. Методы решения задач линейного программирования 317 11.1. Симплекс-метод Данцига 317 11.1.L, Решение канонической задачи 317 11.1.2. Решение основной задачи 324 11.2. Двухфазный симплекс-метод 357 § 12. Методы решения задач линейного целочисленного программирования 367 12.1. Метод ветвей и границ 367 12.2. Метод Гомори 379 § 13. Методы решения транспортных задач 390 13.1. Постановка задачи и стратегия решения 390 13.2. Методы нахождения начального плана перевозок 392 13.2.1. Метод северо-западного угла 392 13.2.2. Метод минимального элемента 394 13.3. Метод потенциалов 395 Глава У. Задачи вариационного исчисления 405 § 14. Общая постановка задачи и основные положения 405 § 15. Вариационные задачи поиска безусловного экстремума 416 15.1. Метод вариаций в задачах с неподвижными границами 416 т 15.1.1. Функционалы J F(t9 x(t)9 x(t)) dt, зависящие от одной 'о функции 416 т - 15.1.2. Функционалы j F(t9xl(t)9...9xn(t)9x[(t)9...9x'n(t))dt9 зависящие от нескольких функций 447 т 15.1.3. Функционалы J F(t,x(t)9x'(t)9...9xM(t))dt9 зависящие от производных высшего порядка одной функции 452
т 15.1.4. Функционалы J зависящие от производных высшего порядка нескольких функций 458 15.2. Метод вариаций в задачах с подвижными границами 468 т 15.2.1. Функционалы J Fit, x(t), x(t)) dt, зависящие <b от одной функции. Случай гладких экстремалей 468 т 15.2.2. Функционалы J F(t, x(t), x(t)) dt, зависящие от одной функции. Случай негладких экстремалей 483 г 15.2.3. Функционалы \F(t9xx{t)^.9xn(t\x[(t)9...,xn(t))dt, зависящие от нескольких функций ., 488 т 15.2.4. Функционалы J Fit, x(t), x(t)) dt + G(T, x(T)), зависящие A) от одной функции 498 т 15.2.5. Функционалы JF(t9xl(t),...,xn(t),x{(t)9...,xn(t))<h + + G(T,Xi(T),...,xn(Г)), зависящие от нескольких функций 502 § 16. Вариационные задачи поиска условного экстремума 510 16.1. Задачи на условный экстремум с конечными связями 510 16.2. Задачи на условный экстремум с дифференциальными связями 521 16.3. Задачи на условный экстремум с интегральными связями. Изопериметрические задачи 530 Литература 543
Глава I. УСЛОВИЯ ЭКСТРЕМУМА ФУНКЦИЙ § 1. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ ОПТИМИЗАЦИИ И ОСНОВНЫЕ ПОЛОЖЕНИЯ Постановка задачи поиска минимума функций содержит: - целевую функцию /(*), где х^(хь...,хп)Т, определенную на л-мерном евклидовом пространстве R". Ее значения характеризуют степень достижения цели, во имя которой поставлена или решается задача; - множество допустимых решений X ^ Rn, среди элементов которого осуществляется поиск. Требуется найти такой вектор х* из множества допустимых решений, которому соответствует минимальное значение целевой функции на этом множестве: /(*•)-xmij/(*)- 0-1) Замечания 1.1. 1. Задача поиска максимума функции f(x) сводится к задаче поиска минимума путем замены знака перед функцией на противоположный (рис. 1.1): () -/(*) Рис. 1.1 2. Задача поиска минимума и максимума целевой функции f(x) называется задачей поиска экстремума: 3. Если множество допустимых решений X задается ограничениями (условиями), накладываемыми на вектор х , то решается задача поиска условного
экстремума. Если X = Rn, т.е. ограничения (условия) на вектор х отсутствуют, решается задача поиска безусловного экстремума. 4. Решением задачи поиска экстремума является пара (х*,/(х*и, включающая точку х* и значение целевой функции в ней. 5. Множество точек минимума (максимума) целевой функции f(x) на множестве X обозначим X*. Оно может содержать конечное число точек (в том числе одну), бесконечное число точек или быть пустым. Определение 1.1. Точка х* е X называется точкой глобального (абсолютного) минимума функции f(x) на множестве X, если функция достигает в этой точке своего наименьшего значения, т.е. /(**)</(*) VxeX. Определение 1.2. Точка х* е X называется точкой локального (относительного) минимума функции f(x) на множестве X, если существует е > 0, такое, что если х € X и Lc - х* < б, то fix*) < f(x). Здесь ||х|| = ух* + х\ +...+ х\ - евклидова норма вектора х. Замечания 1.2. 1. В определении 1.1 точка х* сравнивается по величине функции со всеми точками из множества допустимых решений I, ав определении 1.2 - только с принадлежащими ее е - окрестности (рис. 1.2). Рис. 1.2 2. Если в определениях 1.1 и 1.2 знак неравенства < заменить на г, то получатся определения глобального (абсолютного) и локального (относительного) максимумов. 3. Глобальный экстремум всегда является одновременно локальным, но не наоборот. Определение 1.3. Поверхностью уровня функции f(x) называется множество точек, в которых функция принимает постоянное значение, т.е. /(*) = const. Если л = 2, поверхность уровня изображается линией уровня на плоскости R2.
Пример 1.1. Построить линии уровня функций: а) /(*) = *?+х22; б) /(x) = ^L + x22; в) /(*) = х\ - х\; г) f(x{,x2) = х\. D Уравнения линий уровня имеют следующий вид: а) /(*) = х\ +*2 - const = г1 ' уравнение окружностей с центром в точке @,0)Г и радиусом, равным г (рис. 1.3, а); х2 б) f(x) = —^- + х2 = const - уравнение эллипса. Если const = 1, то а = 2, 4 ? = 1 - большая и малая полуоси (рис. 1.3, б); в) /(*) = *2 - х\ = const " уравнение гиперболы (рис. 1.3, в); г) /(х1,дг2) = х2 = const - уравнение двух параллельных оси Охх прямых (рис. 1.3, г), т /(х) = const = 4 /М-о /(*) = const = 1 Рис. 1.3
-1 -/(*) Рис. 1.3 (Окончание) Пример 1.2. На рис. 1.4 изображены линии уровня функции. Цифры указывают значение функции /(*) на соответствующей линии. Точкам А и В соответствуют значения функции f(A) = 10 и f(B) = 5. Требуется классифицировать точки экстремума. D Функция рассматривается на множестве R2, т.е. решается задача поиска безусловного экстремума. В точке А с координатами (\93)тдостигается локальный минимум; в точке В с координатами C,1)Г достигается локальный и глобальный минимум одновременно; в точке С нет ни минимума, ни максимума, так как по одним направлениям функция убывает, а по другим возрастает. Заметим, что изображенная структура линий уровня типична для так называемых многоэкстремальных задач. ¦
Рис. 1.4 Пример 1.3. На рис. 1.5 изображен график функции /(х), определенной на множестве X = R. Требуется классифицировать точки экстремума. ? Решается задача поиска безусловного экстремума. На рис, 1.5 выделим е-окрестности точек A,B,...,F и проверим выполнение определений 1.1 и 1.2 с учетом пп. 1, 2 замечаний 1.1, 1.2. В результате получаем: точка А - точка локального минимума; точки В9 Е - точки локального максимума; бесконечное множество точек из отрезка CD - точки локального минимума; точка F - точка локального и одновременно глобального минимума; глобальный максимум отсутствует. ¦ 10
Пример 1.4. Найти точки экстремума функций /(х) ¦ х? + х| и х2 /(*) = " + *2 на множестве R2. П Обе целевые функции имеют в точке х* = @,0)г локальный и одновременно глобальный минимум, а локальных и глобальных максимумов не имеют (см. рис. 1.3 а,б). ш Пример 1.5. Найти точки экстремума функции f(x) = х? + х\ на множестве { } D Решается задача поиска условного экстремума. Линии уровня функции /(х) представляются окружностями (см. рис. 1.3, а), а множество допустимых решений X - параболой с уравнением хх = х\ + 3. В точке х* = C,0)г, flxm) = 9 достигается глобальный минимум (рис. 1.6). Заметим, что эта точка является точкой касания линии уровня и кривой, описывающей множество X. Глобальный максимум на данном множестве не достигается. Бели поменять знак перед функцией на противоположный, то в точке х* функция f(x) = -x? -x\ будет достигать глобального максимума на множестве X, что соответствует п. 1 замечаний 1.1. ¦ Рис. 1.6 Пример 1.6. Найти точки экстремума функции /(х) = х\ + х\ на множестве D Решается задача поиска условного экстремума. Линии уровня функции /(х) представляются окружностями (см. рис. 1.3, а), а множество допустимых решений X - графиком прямой. В точке х* =A,1)г, f(x*\ = 2 достигается гло- 11
бальный минимум (рис. 1.7). Глобальный максимум на данном множестве не существует. Заметим, что, как и в# примере 1.5, в точке х* линии уровня касаются кривой, описывающей ограничения. ¦ /<*)«*12+*22 /М-2 Рис. 1.7 Пример 1.7. Найти точки экстремума функции /(х) = х2 + х\ на множестве D Решается задача поиска условного экстремума. Линии уровня функции f(x) представляются окружностяхш (см. рис. 1.3, а), а множество Х- гиперболой (рис. 1.8). Имеются две точки глобального минимума: В них выполняется свойство касания линий уровня и кривых, описывающих множество X, отмеченное при решении примеров 1.5, 1.6. Точки глобального и локального максимума отсутствуют. ¦ Пример 1.8. Найти точки экстремума функции /(дс) = X] на множестве допустимых решений X = {х | хх + х2 й 1, х{ 2.0, х2 ? 0}. ? Решается задача поиска условного экстремума. Линии уровня функции имеют уравнение f(x) = *i = const и представляются прямыми, параллельными оси 6Ьг2. Множество допустимых решений, где все ограничения выполняются одновременно, заштриховано на рис. 1.9. В точке С = A,0) , /(С) = 1 достигается глобальный максимум, на множестве точек отрезка АВ достигается глобальный минимум с значением целевой функции f(A) = f(B) = 0. ¦ 12
/(x) = -i Oil 2 Рис. 1.9 Пример 1.9. Найти точки экстремума функции f(x) = -х2 на множестве U Решается задача поиска условного экстремума. Глобальный максимум достигается в точке В при х = 0, f(B) = 0. Локальный минимум достигается в точке С при х = 1, /(С) = -1, а глобальный минимум - в точке А при дс = -2, = -4 (рис. 1.10). ¦ Пример 1.10. Найти точки экстремума функции f(x) = In* на множестве D Решается задача поиска условного экстремума. Функция не имеет точек локального и глобального экстремума, так как не выполняются определения 1.1 и 1.2 (рис 1.11). При приближении к левой границе значение функции стремится к /* = -во (функция является неограниченной снизу), а при приближении к правой границе функция возрастает, но не имеет максимума, так как точка х = 3 не принадлежит множеству X. ш А -2; ¦ i i i i 1 х/ / / f в с л^1 -1 -4 Рис. 1.10 Рис. 1.11 13
Определение 1.4. Градиентом V/(x) непрерывно дифференцируемой функции /(х) в точке х называется вектор-столбец, элементами которого являются частные производные первого порядка, вычисленные в данной точке: дх{ df(x) V/(x) = дх2 д/(х) Градиент функции направлен по нормали к поверхности уровня (см. определение 1.3), т.е. перпендикулярно к касательной плоскости, проведенной в точке х , в сторону наибольшего возрастания функции в данной точке. Определение 1.5. Матрицей Гессе Н(х) дважды непрерывно дифференцируемой в точке х функции f(x) называется матрица частных производных второго порядка, вычисленных в данной точке: дх2 d2f(x) d2tix) дх2дх„ d2f[x) дх„дх2 дх! h22 ••• h2n Al OXj OXj Замечания 1.З. 1. Матрица Гессе является симметрической размера (пхп). 2. Вместе с градиентом можно определить вектор антиградиента, равный по модулю вектору градиента, но противоположный по направлению. Он указывает в сторону наибольшего убывания функции в данной точке. 3. С помощью градиента и матрицы Гессе, используя разложение в ряд Тейлора, приращение функции f(x) в точке х может быть записано в форме Л/(х) = f(x + Ах) - f(x) = Щх)Т Ах + i Дхг#(х) Ах + о(||Дх|2), A.2) где о(|ах|2 ) - сумма всех членов разложения, имеющих порядок выше второго; АхтН(х) Ах - квадратичная форма. 14
Пример 1.11. Для функции f(x) = х\ + х\ необходимо: ( 1 1 \^ а) вычислить и построить градиент в точках х° =@,1) , х1 = .—,.— , х2 = A,0)г, х3 = @, - 1)г; б) найти матрицу Гессе. ? По определениям 1.4, 1.5 имеем: Заметим, что матрица Гессе квадратичной функции не зависит от х. На рис. 1.12 изображены найденные градиенты. ¦ -3 Рис. 1.12 Пример 1.12. Для функции f(x) = х% + х\ вычислить градиент и найти матрицу Гессе в точках х° = @,0)Г, х1 = A,1)Г. П Согласно определениям 1.4 и 1.5 имеем: Определение 1.6. Квадратичная форма АхтН(х)Ах (а также соответствующая матрица Гессе Н(х)) называется: положительно определенной (#(х)>0), если для любого ненулевого Ах выполняется неравенство АхТН(х)Ах > 0; 15
отрицательно определенной (#(х) < 0), если для любого ненулевого Ах выполняется неравенство АхТН(х)Ах < 0; положительно полуопределенной (#(х) ^ 0), если для любого Ах выполняется неравенство Дхг#(х)Дх ? 0 и имеется отличный от нуля вектор Ах, для которого Дхг#(х) Ах = 0; отрицательно полуопределенной (Н{х) <, 0), если для любого Ах выполняется неравенство АхТН(х)Ах ? 0 и имеется отличный от нуля вектор Ах, для которого Дхг#(х)Дх = 0; неопределенной (Я(х) ^0 ) , если существуют такие векторы Ах, Ах, что выполняются неравенства Дхг#(х)Дх > 0, АхгЯ(х)Дх < 0; тождественно равной нулю (#(х)зО), если для любого Ах выполняется Дхг#(х)Дх = 0. Пример 1.13. Классифицировать квадратичную форму и матрицу Гессе полученную в примере 1.11. D Выпишем квадратичную форму: Очевидно, АхгЯАх>0 для любого ненулевого Ах. Согласно определению 1.6 квадратичная форма (матрица Гессе) положительно определенная. ¦ Пример 1.14. Классифицировать квадратичную форму и матрицу Гессе полученную в примере 1.12. ? Выпишем квадратичную форму: «-G 3- Очевидно, АхгЯ(х) Дх ^ 0 для любого вектора Дх и Дхг#(х) Ах = 0 для Axj = 0 и любых Ах2 * 0. Согласно определению 1.6 квадратичная форма (матрица Гессе) положительно полуопределенная. ¦ Пример 1.15. Найти матрицу Гессе функции /(х) ¦ х\ - х\ и классифицировать ее. ? Следуя определению 1.5, получаем #(х) = 1 I. Выпишем соответствующую квадратичную форму: 16
При Ах{ = 0 и любых Ах2 ф О квадратичная форма отрицательна, а при Ах{ * О и Ах2 = 0 положительна. Согласно определению 1.6 квадратичная форма (матрица Гессе) неопределенная. ¦ Определение 1.7. Множество X q Rn называется выпуклым, если оно содержит всякий отрезок, концы которого принадлежат X , т.е. если для любых х1,*2 еХ и 0< А,?1 справедливо Хх1 +A-Х)дс2 еА\ Пример 1.16. Требуется выбрать выпуклые множества среди изображенных на рис. 1.13. ж 2 — 4751 17
? На рис. 1.13, Ог-г множества выпуклые, так как удовлетворяют определению 1.7, а остальные не являются выпуклыми. ¦ Образно говоря, выпуклыми являются множества, которые не содержат "вмятин", "дырок" и состоят из одного "куска". Примерами выпуклых множеств служат также само пространство В", отрезок, прямая, шар. Определение 1.8. Функция f(x), определенная на выпуклом множестве X, называется выпуклой, если fix х1 + A - X) х2) ? X fix1 \ + A - X) fix2 \ V*1, х2 е X, 0<А,<1. Определение 1.9. Функция f(x), определенная на выпуклом множестве X, называется строго выпуклой, если fix х1 + A - А,) х2) < A, fix1) + A - X) fix2) Vx!,x2 еХ, х1 *х2, 0< Л. < 1. Определение 1.10. Функция /(х), определенная на выпуклом множестве X, называется сильно выпуклой с константой / > 0 , если Vjc1,*2 eX, Xх *х2, 0<Л<;1. Замечания 1.4. 1. Функцию f(x) называют выпуклой, если она целиком лежит не выше отрезка, соединяющего две ее произвольные точки. Функцию называют строго выпуклой, если она целиком лежит ниже отрезка, соединяющего две ее произвольные, но не совпадающие точки. 2. Если функция сильно выпуклая, то она одновременно строго выпуклая и выпуклая. Если функция строго выпуклая, то она одновременно выпуклая. 3. Выпуклость функции можно определить по матрице Гессе: если Н(х) ? 0 Vx e Rn, то функция выпуклая; если Н(х) > О V* е R", то функция строго выпуклая; если Н(х) zlE Vx e Rn, где Е - единичная матрица, то функция сильно выпуклая. Пример 1.17. Дана функция f(x) = x2, определенная на множестве Ar = {x|-l<x<l} (рис. 1.14). Требуется исследовать ее на выпуклость. ? Функция является строго выпуклой согласно п. 1 замечаний 1.4, так как она целиком лежит ниже отрезка, соединяющего две ее произвольные, но не совпадающие точки (рис. 1.14). Более того, функция одновременно является сильно выпуклой, так как согласно п. 3 замечаний 1.4 выполняется условие Н(х) = f"{x) = 2 ? / при 0 < / ? 2. Очевидно, условия выпуклости и строгой выпуклости также выполняются (см. п.З замечаний 1.4), что иллюстрирует справедливость п.2 замечаний 1.4. ¦ 18
-1 Рис. 1.14 Пример 1.18. Дана функция /(*) = *, определенная на множестве X = {х | 0 < х й 1} (рис. 1.15). Требуется исследовать ее на выпуклость. D Согласно п. 1 замечаний 1.4 функция является выпуклой, так как она целиком лежит не выше отрезка, соединяющего две ее произвольные точки, но не является строго выпуклой и тем более сильно выпуклой. ¦ X 1 Рис. 1.15 Пример 1.19. Исследовать выпуклость функции f(x) = jq2 + x\ на множестве R2. П Согласно результату примера 1.11 матрица Гессе удовлетворяет условию Щх)= Iл лрМл ) ПРИ 0< J^2. Следуя п. 3 замечаний 1.4, можно сделать вывод о сильной выпуклости функции. Одновременно она является строго выпуклой и выпуклой (см. п. 2 замечаний 1.4). ¦ 19
Далее при решении примеров используются следующие свойства выпуклых функций. Утверждение 1.1. 1. Если f(x) выпуклая функция на выпуклом множестве X, то всякая точка локального минимума является точкой ее глобального минимума на X (см. пример 1.6). 2. Если выпуклая функция достигает своего минимума в двух различных точках, то она достигает минимума во всех точках отрезка, соединяющего эти две точки (см. пример 1.8). 3. Если f(x) строго выпуклая функция на выпуклом множестве X, то она может достигать своего глобального минимума на X не более чем в одной точке (см. пример 1.6). Определение 1.17. Функция /(х) удовлетворяет условию Липшица на отрезке [д, Ь], если существует такое число L > 0 (константа Липшица), что \f(x')-f(x")\lL\x'-x"\ A.3) для всех х' и х", принадлежащих [а,Ь] . Замечания 1.5. 1. Если неравенство A.3) выполняется с константой L, то оно справедливо для бесконечного множества констант, больших L. Как правило, представляет интерес минимальная из констант Липшица. 2. Из условия A.3) следует непрерывность функции f(x) на отрезке [а,Ь\. Если кроме того функция имеет на [а,Ь] непрерывную производную, то константа Липшица L = max \f\x) |. 3. Условие A.3) означает, что модуль углового коэффициента любой хорды графика функции f(x) не превосходит L. Пример 1.20. Проверить, удовлетворяют ли условию Липшица следующие функции: a) f(x) = 2x на отрезке [0,1]; б) /(x) = sinx на отрезке [0,я]; в)/(х) = V* на отрезке [0,1]. ? Воспользуемся определением 1.11 и п.2 замечаний 1.5: а) функция f(x)-2x удовлетворяет условию Липшица на отрезке [0,1] с константой L - 2; б) функция /(х) = sinx удовлетворяет условию Липшица на отрезке [0,я] с константой L = max I cos x I = 1; хе[0пУ ! в) функция f(x) = Vjc не удовлетворяет условию Липшица на отрезке [0,1], так как при х -> +0 угловой коэффициент касательной к графику неограниченно возрастает, а переходя в A.3) к пределу при | х - х" | -> 0, можно заключить, что если в некоторой точке существует касательная к графику функции /(*) , то модуль ее углового коэффициента не может превышать L. ¦ 20
Задачи для самостоятельного , и *_ л. г/ ч (*|~3J (х2+2J 1. Найти точки экстремума функции fix) = * + о на множс" ствеД2. Ответ: в точке х* = C,- 2)г- одновременно локальный и глобальный безусловный минимум. 2. Найти точки экстремума функции/(х) = - (xj +1J - 3 на множе- 16 стве Л2. Ответ: в точке х*=(-1,-4)г- одновременно локальный и глобальный безусловный максимум. 3. Найти точки экстремума функции /(х) = — на множестве ЛГ = {х|0<х<2}. Ответ: функция не имеет точек локального и глобального экстремума. 4. Найти точки экстремума функции fix) = (х{ -1J + (х2 -1J на множестве X = {х\ ху +х2 » 0}. Ответ: в точке х* = @,0)г- одновременно локальный и глобальный условный минимум. 5. Найти точки экстремума функции /(*)« хх2 - 4x^2 + 4х22 на множестве R2. Ответ: так как f(x) = (xj - 2х2J, то во всех точках прямой с уравнением х{ = 2х2 достигается одновременно локальный и глобальный минимум. 6. Проверить знакоопределенность матрицы Гессе целевой функции f(x) = х* + х23 - 3x^2 в точке @,0)г. Ответ: матрица Гессе и соответствующая квадратичная форма неопределенные. 7. Проверить знакоопределенность матрицы Гессе целевой функции х2 fix) = -1— + х2 . Исследовать ее на выпуклость. 4 Ответ: матрица Гессе положительно определенная. Функция является сильно выпуклой, так как Я(х) ? /? при 0 < / < - . 8. Проверить знакоопределенность матрицы Гессе целевой функции fix) = xj2 - 4xtx2 + 4х22 . Исследовать ее на выпуклость. Ответ: матрица Гессе положительно полуопределенная, функция выпуклая. 21
§ 2. НЕОБХОДИМЫЕ И ДОСТАТОЧНЫЕ УСЛОВИЯ БЕЗУСЛОВНОГО ЭКСТРЕМУМА Постановка задачи Дана дважды непрерывно дифференцируемая функция f(x), определенная на множестве X = Rn. Требуется исследовать функцию f{x) на экстремум, т.е. определить точки х* € Rn ее локальных минимумов и максимумов на Rn: /И = min /(*); /И = max f{x). B.1) xeRn xeRn Стратегия решения задачи Находятся точки х* локальных экстремумов с помощью необходимых условий первого и второго порядка (порядок условий определяется порядком используемых производных), а также достаточных условий безусловного локального экстремума. Вычисляются значения /(**) функции в найденных точках локальных экстремумов. Утверждение 2.1 (необходимые условия экстремума первого порядка). Пусть х* е R" есть точка локального минимума (максимума) функции f(x) на множестве Rn и f{x) дифференцируема в точке х*. Тогда градиент функции f(x) в точке х* равен нулю, т.е. V/(jc*) = 0 B.2) или 4ffclo. ,.,.....,,. B.3) dxi Определение 2.1. Точки х*, удовлетворяющие условию B.2) или B.3), называются стационарными. Утверждение 2.2 (необходимые условия экстремума второго порядка). Пусть точка х* есть точка локального минимума (максимума) функции f(x) на множестве Rn и функция f(x) дважды дифференцируема в этой точке. Тогда матрица Гессе н(х*\ функции /(*), вычисленная в точке х*, является положительно полуопределенной (отрицательно полуопределенной), т.е. *•);> 0, B.4) 22 •)* О). B.5)
Утверждение 2.3 (достаточные условия экстремума). Пусть функция f(x) в точке х* е R" дважды дифференцируема, ее градиент равен нулю, а матрица Гессе является положительно определенной (отрицательно определенной), т.е. V/(x*) = 0 и #(*')> О, B.6) (#(*¦)< О). B.7) Тогда точка х* есть точка локального минимума (максимума) функции f(x) на множестве Rn. Определение 2.2. Рассмотрим определитель матрицы Гессе н[х*\, вычисленной в стационарной точке ^22 •• hn К\ Кг 1. Определители А{ =ЛИ, Д2 *22 называются угловыми минорами. 2. Определители w-го порядка {тип), получающиеся из определителя матрицы Щх*) вычеркиванием каких-либо (п-т) строк и {п-т) столбцов с одними и теми же номерами, называются главными минорами. Для проверки выполнения достаточных условий экстремума и необходимых условий второго порядка используются два способа. Первый способ (с помощью угловых и главных миноров). А. Критерий проверки достаточных условий экстремума (критерий Сильвестра). 1. Для того чтобы матрица Гессе н(х*\ была положительно определенной (Н\х*\ > 0) и точка х* являлась точкой локального минимума, необходимо и достаточно, чтобы знаки угловых миноров были строго положительны: Д!>0, Д2>0,..., ДЛ>0. B.8) 2. Для того чтобы матрица Гессе Щх*) была отрицательно определенной (Н(х*\ < 0) и точка х* являлась точкой локального максимума, необходимо и достаточно, чтобы знаки угловых миноров чередовались, начиная с отрицательного: Аг < 0, Д2 > 0, Д3 < 0,..., (-1)яДл > 0. B.9) 23
Б. Критерий проверки необходимых условий экстремума второго порядка. 1. Для того чтобы матрица Гессе Щх] была положительно полуопределенной Шуе*) ^ 0J и точка х* может быть являлась точкой локального минимума, необходимо и достаточно, чтобы все главные миноры определителя матрицы Гессе были неотрицательны. 2. Для того чтобы матрица Гессе Н\х*\ была отрицательно полуопределенной [н\х*\ < 01 и точка х* может быть являлась точкой локального максимума, необходимо и достаточно, чтобы все главные миноры четного порядка были неотрицательны, а все главные миноры нечетного порядка - неположительны. Второй способ (с помощью собственных значений матрицы Гессе). Определение 2.3. Собственные значения Xh i = 1,...,л, матрицы н{х*\ размера (я х п) находятся как корни характеристического уравнения (алгебраического уравнения п -й степени): hn-X hn ••• hin B10) Кг Замечание 2.1. Собственные значения вещественной симметрической матрицы н{х*\ вещественны. Оба способа проверки достаточных и необходимых условий экстремума второго порядка приведены в табл. 2.1. Алгоритм решения задачи Шаг 1. Записать необходимые условия экстремума первого порядка в форме B.3) и найти стационарные точки х* в результате решения системы п в общем случае нелинейных алгебраических уравнений с п неизвестными. Для численного решения системы могут использоваться методы простой итерации, Зей- деля, Ньютона. Шаг 2. В найденных стационарных точках х* проверить выполнение достаточных, а если они не выполняются, то необходимых условий второго порядка с помощью одного из двух способов (см. табл. 2.1). Шаг 3. Вычислить значения /(**) в точках экстремума. Описанный алгоритм отображен на рис. 2.1, где показана последовательность действий в случаях выполнения и невыполнения соответствующих условий экстремума при применении первого способа. Замечания 2.2. 1. Продолжение исследований, которое требуется в ряде случаев, разобранных в табл. 2.1, при решении практических задач, как правило, не проводится, за исключением небольшого числа модельных примеров. 24
2. Если требуется определить глобальные экстремумы, то они находятся в результате сравнения значений функции в точках локальных минимумов и максимумов с учетом ограниченности функции на R". 3. Для случая функции f(x) одной переменной (п = 1) можно сформулировать правило, заменяющее п. 2 алгоритма: Если функция f{x) и ее производные непрерывны, то точка х* является точкой экстремума тогда и только тогда, когда число т - четное, где т - порядок первой не обращающейся в нуль в точке х* производной. Если Рт'(х*) > О, то в точке х* - локальный минимум, а если f^mHxj < 0, то в точке х* - локальный максимум. Если число т нечетное, в точке х* нет экстремума. 4. Часто на практике, особенно при применении численных методов поиска экстремума, рассматриваемых в последующих разделах, требуется проверить, выполняются ли необходимые и достаточные условия экстремума в некоторой точке. Такой анализ необходим, так как многие численные методы позволяют найти лишь стационарную точку, тип которой требует уточнения. Необходимые условия экстремума первого порядка Достаточные условия экстремума Нет экстремума Нет Вычислить значения функции в точках экстремума Необходимые условия экстремума второго порядка Да Продолжение исследований Нет экстремума Рис. 2.1 Пример 2.1. Найти экстремум функции f(x) = х\ + xf на множестве R2. П 1. Запишем необходимые условия экстремума первого порядка: °М.2х2=0. дх2 В результате решения системы получаем стационарную точку х* = @,0) . = 0; 25
Критерии проверки достаточных и необходимых условий второго порядка в задаче поиска безусловного экстремума Таблица 2.1 п/п 1 2 3 4 5 6 0 0 0 0 0 0 >0 <0 >0 ?0 = 0 Условия Достаточные условия экстремума Достаточные условия экстремума Необходимые условия экстремума второго порядка Необходимые условия экстремума второго порядка Необходимые условия экстремума второго порядка Необходимые условия экстремума второго порядка Первый способ Л1 > 0,Д2 > 0,...,Дя > 0 А1 <0,Д2 >0,...,(-1)йДй >0 Все главные миноры определителя матрицы Н\х*) неотрицательны Все главные миноры четного порядка неотрицательны, а нечетного порядка неположительны Матрица Гессе состоит из нулевых элементов Не выполняются условия п. 1-5 Второй способ \ > 0,...,А,л > 0 \ < 0,...Дя < 0 \ ;>о,...дя ;>о \ ?0,...Дл <0 х1 = о,...дй = о Xi имеют разные знаки Тип стационарной точки х* Локальный минимум Локальный максимум Может быть локальный минимум, требуется дополнительное исследование Может быть локальный максимум, требуется дополнительное исследование Требуется дополнительное исследование Нет экстремума
2. Проверим выполнение достаточных условий экстремума. Первый способ. Матрица Гессе имеет вид //ис*) = 1 I. Так как А1=Ли=2>0,А2= = 4 > 0, то в точке х* локальный минимум (строка 1 в табл. 2.1). Второй способ. Найдем собственные значения матрицы Гессе, используя B.10): 2-Х 0 0 2-Х • 0. Отсюда B - А.J = 0 и Х\ - Х2 = 2 > 0. Так как все собственные значения положительны, то в точке х* локальный минимум (строка 1 в табл. 2.1). Из примера 1.19 следует, что функция является строго выпуклой на множестве R2. Поэтому точка локального минимума является и точкой глобального минимума (см. п. 3 утверждения 1.1). 3. Вычислим значение функции в точке глобального минимума:/(**) = 0. ¦ Пример 2.2. Найти экстремум функции f(x) = х} - х\ на множестве R2. D 1. Запишем необходимые условия первого порядка: & ^1 дх{ 1 дх2 В результате решения системы получаем стационарную точку х* = @,0) . 2. Проверим выполнение достаточных условий экстремума и необходимых условий второго порядка. Первый способ. Матрица Гессе имеет вид #(**] = I 1. Так как 2>0, Д2 •• 2 0 :-4<0, то достаточные условия экстремума не 0 -2| выполняются (строки 1 и 2 в табл. 2.1). Согласно схеме (рис. 2.1)?проверим выполнение необходимых условий второго порядка. Главные миноры первого порядка (т = 1) получаются из Д2 в результате вычеркивания л-да=2-1=1 строк и столбцов с одинаковыми номерами: -2, 2. Главный минор второго порядка (т = 2) получается из А2 в результате вычеркивания п - т = 0 строк и столбцов, т.е. совпадает с А2: -4. Отсюда следует, что необходимые условия экстремума второго порядка не выполняются (строки 3 и 4 в табл. 2.1). Так как матрица Гессе не является нулевой, то можно сделать вывод о том, что в точке х* нет экстремума (строка 6 в табл. 2.1). Второй способ. Найдем собственные значения матрицы Гессе, используя B.10): | Отсюда Х{ = 2 > 0, Х2 = -2 < 0, т.е. собственные значения имеют разные знаки. Поэтому точка х* не является точкой минимума или максимума (строка 6 в табл. 2.1), а является седловой точкой (аналогична изображенной на рис. 1.3, в). 27
3. Так как экстремум не достигается ни в одной точке, /(**) не вычисляется. ¦ Пример 2.3. Найти экстремум функции /(х) = х2 + х\ на множестве R2. П 1. Запишем необходимые условия экстремума первого порядка: 2*. =0; 4хЬ0. дхх дх2 В результате решения системы получаем стационарную точку х* = @,0) . 2. Проверим выполнение достаточных и необходимых условий второго порядка. Матрица Гессе имеет вид #(**)= *2 = L п • Так как Л, = Лп = 2 > 0, А2 2 О л = 0, то достаточные условия экстремума не выполня- ются (строки 1 и 2 в табл. 2.1). Согласно схеме (рис. 2.1) проверим выполнение необходимых условий экстремума второго порядка. Аналогично решению примера 2.2 получаем главные миноры первого порядка: 2, 0 и главный минор второго порядка: 0. Так как все главные миноры неотрицательные, то в точке х* может быть минимум и требуется дополнительное исследование (строка 3 в табл. 2.1). 3. Вычислим значение целевой функции в точке х* : /(**) = 0 и рассмотрим е-окрестность точки х*, а также поведение функции f(x) на множестве R2. При любых xeR2 имеем: f(x)>f(x*\ = 0 (см. рис. 1.2), что соответствует не только определению 1.2, но и определению 1.1. Поэтому точка х* является точкой глобального минимума. ¦ Пример 2.4. Найти экстремум целевой функции f{x) = 2х2 + ххх2 + х\ на множестве R2. П 1. Запишем необходимые условия экстремума первого порядка: \ 2 В результате решения системы получаем стационарную точку х* = @,0) . 2. Проверим выполнение достаточных условий экстремума первым способом. Матрица Гессе имеет вид я(х*) = [ I. Так как Aj = 4 > 0, д2=8-1 = 7>0,то точка х* является точкой локального минимума (строка 1 в табл. 2.1) и н[х*\> 0. Согласно п. 3 замечаний 1.4 функция является строго выпуклой. Поэтому точка х* - точка глобального минимума (см. п. 3 утверждения 1.1). 3. Вычислим значение функции в точке глобального минимума: fix*) = 0. ¦ 28
Пример 2.5. Найти экстремум функции /(х) = (l-xjJ +ю(х2 -*?) на множестве R2. О 1. Запишем необходимые условия экстремума первого порядка: В результате решения системы получаем стационарную точку х* 2. Проверим вьшолнение достаточных условий экстремума первым способом. / (82 — 40^ Матрица Гессе имеет вид #(**) = I I. Так как А1=82>0, д2 = 82-20-402 = 1640-1600 = 40 >0, то в точке дс* локальный минимум (строка 1 в табл. 2.1) и Н\х*\ > 0. Согласно п. 3 замечаний 1.4 функция является строго выпуклой. Поэтому точка х* - точка глобального минимума (см. п. 3 утверждения 1.1). 3. Вычислим значение функции в точке глобального минимума:/(**) = 0. ¦ Пример 2.6. Найти экстремум функции /(дс) = -х* - х\ - х\ - хх + jcjjc2 + 2х3 на множестве R3. D 1. Запишем необходимые условия экстремума первого порядка: ( 2 1 \Т В результате решения системы получаем стационарную точку ** = I —,—,11 . 2. Проверим выполнение достаточных условий. (-2 1 0^ Первый способ. Матрица Гессе имеет ввд н(х*) =1 -2 0 . Так как -2<0, А2 = 0 0-2 -2 1 [ 1 -2 = 4-1 = 3>0, А3=(-2)-3 = -6<0, т.е. знаки угловых миноров чередуются, начиная с отрицательного, то точка х* - точка, локального максимума (строка 2 в табл. 2.1). Второй способ. Найдем собственные значения матрицы Гессе, используя B.10): -2-Я. 1 0 det{H-XE) = 1 -2-Х -2-Х = 0. 29
Отсюда (-2-A.)[(-2->.J-l] = 0 и Хг = -2<0Д2 » -1 <О, А.3 = -3 <0. Так как все собственные значения матрицы Гессе отрицательны, то в точке х* локальный максимум (строка 2 в табл. 2.1). 3. Вычислим значение функции в точке локального максимума: /(**) = — .¦ Пример 2.7. Найти экстремум функции /(*)= х\ + Х2 + хъ + Х2хг ~ 3*i + 6х2 + 2 на множестве R3. ? 1. Запишем необходимые условия экстремума первого порядка: дхх дх2 В результате решения системы получаем две стационарные точки: *1*«(lf-4,2)r> JC2*=(-l,-4,2)r. 2. Проверим выполнение достаточных и необходимых условий второго порядка в каждой стационарной точке двумя способами. Исследуем точку х1* = A,-4,2)г. Г6 О Первый способ. Матрица Гессе имеет вид н(х1*) = 10 2 1 1 2) . Так как Л, = 6 > 0, Л2 16 0 0 2 = 12 > 0, А3 = 18 > 0, то точка х1* является точкой локального минимума (строка 1 в табл. 2.1). Второй способ. Найдем собственные значения матрицы Гессе, используя B.10): 6-Х, 0 0 0 2-Х 1 0 1 2-3 Отсюда Х{ = 6 > 0, Х,2 = 3 > 0, Х3 = 1 > 0 и точка хи является точкой локального минимума (строка 1 в табл. 2.1). Исследуем точку х2* = (-1,-4,2) . (-6 0 ti\ Первый способ. Матрица Гессе имеет вид Я(х2*| = 0 2 1 Ю 1 2J . Так как А, =-6<0, А2 -6 0 0 2 = -12<0, А3=-18<0, то достаточные условия экстремума не выполняются (строки 1 и 2 в табл. 2.1). Согласно схеме (рис. 2.1) проверим необходимые условия экстремума второго порядка. Главные миноры 30
первого порядка (т = 1) получаются из А3 -6 0 0 0 2 1 0 1 2 в результате вычеркивания л-/и = 3-1 = 2 строк и 2 столбцов с одинаковыми номерами:-6, 2, 2. Главные миноры второго порядка (т = 2) получаются из А3 в результате вычеркивания л-/и = 3-2 = 1 строк и столбцов с одинаковыми номерами: 3, -12, -12. Главный минор третьего порядка (т = 3) получается из А3 в результате вычеркивания л-/и = 3-3 = 0 строк и столбцов, т.е. совпадает с А3 = -18. Отсюда следует, что необходимые условия экстремума второго порядка не выполняются (строки 3 и 4 в табл. 2.1). Так как матрица Гессе не является нулевой, то можно сделать вывод о том, что в точке х2* нет экстремума (строка 6 в табл. 2.1). Второй способ. Найдем собственные значения матрицы Гессе: -6-Я, О О о о 2-Я, 1 1 2-Я. Отсюда Я>! = -6 < 0, Я,2 = 3 > 0, Я,3 = 1 > 0, т.е. собственные значения имеют разные знаки. Поэтому в точке х2* нет экстремума (строка 6 в табл. 2.1). 3. Вычислим значение функции в точке х1* локального минимума: /(*'•)—12. ¦ Пример 2.8. Найти экстремум функции f(x) - -х\ + 2х^х2 -х\- Лх2 на множестве R*. D 1. Выпишем необходимые условия экстремума первого порядка: 2xl+2x20, 2х,2*,0, 8*,о. д Х\ дх2 д х3 В результате решения системы получаем бесконечное множество стационарных точек, удовлетворяющих соотношениям: *х{ = х\, х\ = 0. 2. Проверим выполнение достаточных и необходимых условий второго порядка. Первый способ. Матрица Гессе имеет вид #(**) = Так как = -2 < 0, А2 = -2 2 2 -2 О О экстремума не выполняются (строки 1 и 2 = 0, то достаточные условия -8 в табл. 2.1). Согласно схеме (см. рис.2.1) проверим необходимые условия второго порядка. Поступим аналогично решению примера 2.7. Главные миноры первого порядка получаются из А3 в результате вычеркивания двух строк и столбцов с одинаковыми номерами: -2,-2,-8. Главные миноры второго порядка получаются из А3 в результате вычеркивания по одной строке и столбцу с одинаковым номером: 16, 16, 0. Главный минор 31
третьего порядка совпадает с А3 = 0. Так как все главные миноры четного порядка неотрицательны, а все миноры нечетного порядка неположительны , то можно сделать вывод о том, что в исследуемых стационарных точках может быть максимум и требуется продолжение исследования (строка 4 в табл. 2.1). Второй способ. Найдем собственные значения матрицы Гессе: -2-Х 2 О 2 -2-Х О О О -8-А, Отсюда A,j = -8<О, А.2 = О, А,3=-4<0, т.е. собственные значения неположительны. Поэтому в стационарных точках может быть максимум (строка 4 в табл. 2.1). 3. Функция f(x) может быть записана в форме f(x) = -(xi -x2J ~^хъ • В каждой из найденной в п. 1 стационарной точке fix*) = 0. Исходя из структуры функции f(x) можно сделать вывод о том, что для любых х е R* справедливо: f(x) <, fix*) = 0. На основании определения 1.1 функция на множестве точек, удовлетворяющих условию: х* = х*>9 х$ = 0, достигает глобального максимума. ¦ Пример 2.9. Найти экстремум функции f(x) - хг - 2х2 + х +1 на множестве R. П 1. Выпишем необходимые условия экстремума первого порядка: = 3* dx Решая уравнение, получаем стационарные точки х1* = -, х2* = 1. 2. Проверяем достаточные условия экстремума. Так как п = 1, то матрица Гессе состоит из одного элемента: Лп =—=^^ = 6х-4. В точке х1* =- имеем dx2 3 Ai = -2 < 0, а в точке х2* = 1: Ах = 2 > 0. Поэтому в точке х1* - локальный максимум, а в точке х2* - локальный минимум (строки 1 и 2 в табл. 2.1). 3. Вычисляем значения функции в точках экстремума: Пример 2.10. Найти экстремум функции f(x) = (х -1N на множестве R. D 1. Запишем необходимые условия экстремума первого порядка: Отсюда стационарная точка х* = 1. 32
2. Проверим достаточные условия экстремума с учетом п. 3 замечаний 2.2. Первая не равная нулю производная имеет порядок т = 6: /' '(х) = 6! > 0. Так как т четное, то функция достигает в точке х* локального минимума. 3. Вычислим значение функции в точке минимума: /(**) = 0. ¦ Пример 2.11. Найти экстремум функции f(x) = 5х6 - Збх5 + —х4 - 60х3 + 36 на множестве R. D 1. Выпишем необходимое условие экстремума первого порядка: ЗОх5 - 180х4 + ЗЗОх3 - 180х2 = 30х2(х - l)(x - 2)(х - 3) = 0. dx Отсюда получаем стационарные точки: х1* = 0, х2* = 1, х3* = 2, х4* = 3. 2. Проверим выполнение достаточных условий экстремума: Ф 150х4 - 720х3 + 990х2 - ЗбОх; dx1 0, /"(х3*) = -120 < 0, /" Поэтому в точках х2*, х4* - локальный минимум, а в точке х3* - локальный максимум (см. строки 1 и 2 в табл. 2Л или п. 3 замечаний 2.2). В точке х1* достаточные условия не выполняются (строка 5 в табл. 2.1), поэтому вычислим третью производную: f®{xl*)= 600х3 - 2160х2 + 1980х-360 |xi*=0 = -360. Так как эта производная отлична от нуля и имеет нечетный порядок, то в точке х1* нет экстремума (см. п. 3 замечаний 2.2). ¦ Задачи для самостоятельного решения 1. Найти безусловный экстремум функции fix) = 4х{2 + Зх22 - 4xjx2 + х{. Ответ: в точке х* =(-т7»)Г" локальный и одновременно глобальный 16 о минимум. 2. Проверить, является ли точка х* = @,0,0)г точкой безусловного экстремума функции f{x) = Xi2 + 2х22 - Зх32 - 6xiX2 + 8xjx3 - 4х2х3. Ответ: не является, так как в ней не выполняются необходимые условия экстремума второго порядка. 3-4751 33
3. Найти безусловный экстремум функции fix) = 2х* + 4xjX22 - 10x^2 + х22. Ответ: в точке х* = AД)Г- локальный минимум; в точке х* =@,0)гнет экстремума, так как не выполняются необходимые условия экстремума второго порядка. 4. Найти безусловный экстремум функции f(x) = X!3 - XjX2 + Х22 - 2Xi + 3X2 " ^ • Ответ: в точке х* = (~,--)г- локальный минимум; в точке 2 4 15т х =(--,--) нет экстремума, так как не выполняются необходимые условия экстремума второго порядка. 5. Найти безусловный экстремум функции /(х) = (х! -1L + (х2 - ЗJ. Ответ: в точке х* = A3)Г выполняется необходимое условие экстремума второго порядка, т.е. #(х*)?0. Так как для любых хе/?2 справедливо: f(x*) = Quf(x), то по определению 1.1 точка х* является точкой глобального минимума. 6. Найти безусловный экстремум функции /(х)»(х2 - xj2J + A - XiJ. Ответ: в точке х* = AД)Г - локальный минимум. 7. Проверить, является ли точка х* »AД)Г точкой безусловного минимума ФУНКЦИИ /(X) = (Х2 -X!2J +A-Х!J +1О(Х2 -IJ. Ответ: является. 8. Найти безусловный экстремум функции fix) » 3X^2 - XjX22 - Х!2Х2. Ответ: в точке х* =AД)Г- локальный максимум; в точке х* =@,0)гнет экстремума. 9. Проверить, являются ли точки х* =@,0)г,х** =AД)Г, х*** = (-1,-1)г точками безусловного минимума функции /(х) = х/ + х24 - (хх + х2J. Ответ: в точке х* нет минимума, а в точках х** и х*** - локальный минимум. 10. Проверить, являются ли точки х* = B,0Д)г и х** в @,0,0)гточками экстремума функции fix) = Xj2 + 5х22 + Зх32 + 4xjx2 - 2х2х3 - 2xiX3 . Ответ: в точке х" = @Д0)г- локальный и одновременно глобальный минимум согласно п.1 утверждения 1.1, так как #(х)>0 и, следовательно, функция строго выпуклая и выпуклая. В точке х* = B,0Д)г нет экстремума, так как в ней не выполняются необходимые условия экстремума первого порядка. 34
§ 3. НЕОБХОДИМЫЕ И ДОСТАТОЧНЫЕ УСЛОВИЯ УСЛОВНОГО ЭКСТРЕМУМА 3.1. ПОСТАНОВКА ЗАДАЧИ И ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ Общая постановка задачи и основные положения изложены в § 1. Здесь мы рассмотрим случаи, когда множество допустимых решений X задается равенствами и неравенствами, т.е. C.1) где т<п , тир - числа; f(x) - целевая функция, gj(x)J = 1,...,/> - функции, задающие ограничения (условия). Будем считать функции /(*); gj{x)j = l,...,/> дважды непрерывно дифференцируемыми на множестве Rn, Примерами рассматриваемых задач являются примеры 1.5-1.8. При р = т задача C.1) со смешанными ограничениями (см. далее разд. 3.4) преобразуется в задачу с ограничениями типа равенств (см. разд. 3.2), а при т = 0в задачу с ограничениями типа неравенств (см. разд. 3.3). Определение 3.1. Функция jgj(x) C.2) называется обобщенной функцией Лагранжа, числа X0,Xi,...,Xp - множителями Лагранжа, X = (хь...,Хр} . Классической функцией Лагранжа называется функция /(*). C.3) 7=1 Определение 3.2. Градиентом обобщенной (классической) функции Лагранжа по х называется вектор-столбец, составленный из ее частных производных первого порядка по Xjг, i = 1,...,л: (dL(x,XQ,X)) дхг дхп C.4) VxL(x,X)- 'ъ_ ? Их, ах, gx. дх„ Щ / _ 35
Определение 3.3. Вторым дифференциалом обобщенной (классической) функции Лагранжа Цх9Х0,Х) [L(x,X)] называется функция /-1M Щах] Определение 3.4. Первым дифференциалом ограничения gj(x) называется функция Пример 3.1. Выписать функции C.2) - C.6) для задачи поиска условного экстремума функции /(х) = х2 + х2 на множестве Л'= {х|х2-X!+3 = 0 } (см. пример 1.5), заданном ограничением gi(x) = х\ - х{ + 3 = 0. D Обобщенная функция Лагранжа: 1(хД0,Xj) = Х0(х2 + х2) + Хх(х2 - *i + з). Классическая функция Лагранжа: ?(x,Xi) = х2 + х2 + A.i(x2 - хх + 3J. Градиент функций Лагранжа: Vx?(xyXoAi) = BXQXJ -Xt; 2Xqx2 + 2Х!Х2)Г; VxL(xtkx) = B^ -Хх; 2х2 + 2Х!Х2)Г. Второй дифференциал функций Лагранжа: 42Цх9Х0 М) = 2Х0 dx? + BХ0 + 2Xi)dk|; ^/21(хД1) = 2dx\ + B + 2^) dbcj. Первый дифференциал ограничения: dgx(x) = -dx{+ 2x2dx2 • ¦ Пример 3.2. Выписать функции C.2) - C.6) для задачи поиска условного экстремума функции /(х) = х2 на множестве X = {х | хх + х2 = 1, Xi ^ 0, х2 ^ 0 }. D Перепишем ограничения в каноническом виде C.1): Ф) = *1+х2-1 = 0, ^W = -^i^0, g3(x) = -x2u0. Функции Лагранжа: Цх, ХоД) = Хох? + Х1(х1 + х2 -1) + X^-Xt) + А.3(-х2); Цху X) = х? + Цх! + х2 -1) + Хг^) + А.3(-х2). Градиент функций Лагранжа: Ух?(хДоД) = BХ0Х! + Х{ - Х2; Xj - Х3)Т; Ух1(хД) = B^ + Хх - Х2\ Х{ - Хг)т. Второй дифференциал функций Лагранжа: 42I(x,XoAi) - 2Х0 axf; d2L(x,X) Первый дифференциал ограничений: () Определение 3.5. Ограничение gj(x)^0 называется активным в точке х*, если gj\xmj = 0. Если ^1^*) < 0, то ограничение называется пассивным. 36
Пример 3.3. Классифицировать ограничение gj(x) = хх + х2 - 2 ? 0 в точках D В точке х* gj(x*) = 0, т.е. неравенство превращается в равенство. Следовательно, ограничение является активным. В точке х справедливо gy(x) = -2 < О, поэтому ограничение в этой точке является пассивным. ¦ Определение 3.6. Градиенты ограничений gi(x),...,gw(x) являются линейно независимыми в точке х*, если равенство X1V$1(x*) + A.2Vg2(x*)+---+ *-mv?m(**) = ° выполняется только при Х\ = А,2 =...= А,да = 0. Если существуют числа А.1,...ДЛ одновременно не равные нулю, для которых равенство выполняется, то градиенты линейно зависимы. В этом случае один из них есть линейная комбинация остальных. Один вектор Vg^x*) тоже образует систему векторов: при Vgi(x*j * 0 линейно независимую, а при Vg^x*] = 0 линейно зависимую. Система векторов, содержащая нулевой вектор, всегда линейно зависима. Если rang>4 = rang(Vg1(x*jVg2(x*)...Vgm(x*n = m, то система векторов линейно независима. Если rang A < /и, то система линейно зависима. Пример 3.4. Исследовать градиенты активных ограничений в точках x*=(l,0f,x = @,0f для^(х) = -х1^0, g2(*) = -*2<0, g3(*) = *2 ~(l-*iK * 0. D Найдем градиенты: Vfcgjjf-----* у Рис. 3.1 В точке х*=A,0)г активны второе и третье ограничения: g2(**) = ?з(**) = 0; x*J = (O,-l) ; Vg3(x*j = @,l) . Так как rang! =l<2, то градиенты второго и третьего ограничений линейно зависимы. Действительно, 4@»-if + А,3@,1)г = 0, например, при Я,2 = 1,Я.3 = 1. В точке х = @,0)г активны первое и второе ограничения: g^x) = g2(x) = 0; Vg^x) = (-1,0O'; Vg2(x) = @,-l)r. Так как rangf ~ j = 2 = /я, то фадиенты линейно независимы (рис. 3.1). ¦ 37
3.2. УСЛОВНЫЙ ЭКСТРЕМУМ ПРИ ОГРАНИЧЕНИЯХ ТИПА РАВЕНСТВ Постановка задачи Даны дважды непрерывно дифференцируемые целевая функция /(х) = /(хь...,хи) и функции ограничений gj(x) = gj(xu...9xH) = 0J = l,...,m, определяющие множество допустимых решений X. Требуется исследовать функцию f(x) на экстремум, т.е. определить точки х* е X ее локальных минимумов и максимумов на множестве X: /(*•) = ту. f(x), /(**) = п^ах, /(*), C.7) где X = {x\gj(x) = 0, j = l,...,m; m<n]. Стратегия решения задачи Находятся точки х* локальных экстремумов с помощью необходимых и достаточных условий минимума и максимума первого и второго порядка при ограничениях типа равенств (порядок условий определяется порядком используемых производных). Вычисляются значения /(**) функции в найденных точках локального экстремума. Утверждение 3.1 (необходимые условия экстремума первого порядка). Пусть х* есть тонка локального экстремума в задаче C.7). Тогда найдутся числа X*Q,X\,...,X*m , не равные одновременно нулю и такие, что выполняются следующие условия: - условие стационарности обобщенной функции Лагранжа по х : () C.8а) - условие допустимости решения: 0, ; = 1,...,/и. C.8 6) Если при этом градиенты Vgjlx*),...,Vgm(jc*j в точке х* линейно независимы (выполняется условие регулярности), то Х*о *0. Замечания 3.1. 1. Условие C.8 а) можно записать в векторной форме: Vxl(x*XqX] = 0. 2. Система C.8) содержит п + т уравнений с п + т + 1 неизвестными Я,*о, X* =(*.*!,...Д*да) , х* =(xf,...,jcj) . Точки х* , удовлетворяющие системе при некоторых Х*о, X*, называются условно-стационарными. 38
3. При решении задач проверка условия регулярности затруднена, так как точка хт заранее не известна. Поэтому, как правило, рассматриваются два случая: А.*о = 0 и А,*о * 0. Если Х*о * 0, в системе C.8 а) полагают А.*о = 1. Это эквива- лентно делению системы уравнений C.8 а) на Х*о и замене -^- на X*j. При этом обобщенная функция Лагранжа становится классической, а сама система C.8) имеет вид fc) dxt 0, / = l,...,/i; C.9 a) У = 1,...,т. C.9 6) Здесь число уравнений равно числу неизвестных. 4. Система C.9) отражает тот факт, что антиградиент целевой функции в регулярной точке экстремума х* является линейной комбинацией градиентов ограничений. Действительно, с учетом C.3) можно переписать условие C.9 а) в форме Отсюда Ъ (ЗЛО) Рис. 3.2 Точка х* условного экстремума (максимума) является точкой касания линии уровня целевой функции и кривой, описывающей ограничение (рис. 3.2). В точке х возможно движение вдоль ограничения, связанное с увеличением функции. 39
5. Точка экстремума, удовлетворяющая системе C.8) при X*o * 0, называется регулярной, а при X*0 = 0 - нерегулярной. Случай Х*о = 0 отражает вырожденность ограничений. При этом в обобщенной функции Лагранжа исчезает член, содержащий целевую функцию, а в необходимых условиях экстремума не используется информация, представляемая градиентом целевой функции. 6. Условие допустимости решения, являющееся следствием постановки задачи C.7), включено в C.8),C.9) для удобства формирования алгоритма решения задачи. Утверждение 3.2 (необходимые условия экстремума второго порядка). Пусть х* - регулярная точка минимума (максимума) в задаче C.7) и имеется решение (х*,)С) системы C.9). Тогда второй дифференциал классической функции Лагранжа, вычисленный в точке (х*,Х*)> неотрицателен (неположителен): d2L(xmX) Z О (d2L(x*X) <, О) C.11) для всех dx eRn таких, что 4л/-0' У-1.....Л1. C.12) dxi Утверждение 3.3 (достаточные условия экстремума). Пусть имеется точка (х*уХ*)> удовлетворяющая системе C.9). Если в этой точке d2lix*X] > 0 u/2z/jc*,A,*) < Oj для всех ненулевых dx eRn таких, что Ы ОЛ1 то точка х* является точкой локального минимума (максимума) в задаче C.7). Замечание 3.2. Достаточные и необходимые условия экстремума второго порядка проверяются в условно-стационарных точках, которые удовлетворяют системе C.8) при Х*о * О или системе C.9), так как для практики безусловно представляет интерес случай, когда в функции Лагранжа присутствует целевая функция, экстремум которой ищется. Алгоритм решения задачи Шаг 1. Составить обобщенную функцию Лагранжа: т Цх,Х0,Х) = Хо f(x) + ? Xj gj(x). У-1 Шаг 2. Записать необходимые условия экстремума первого порядка: a) aZWoA*Lo> / = !,...,„; б), 40
Шаг 3. Решить систему для двух случаев: 1) А.*0=0; 2) А*о * 0 (при этом поделить условие "а" на Х*о и заменить -^- на Х*у). В результате найти условно-стационарные точки х*, выделив из них полученные при X*0 * 0 (они могут быть регулярными точками экстремума). Шаг 4. Для выделенных на шаге 3 точек проверить достаточные условия экстремума: а) записать выражение для второго дифференциала классической функции Лагранжа в точке (х*Д*|: б) записать систему C.12) в точке х*: ,() ?2й?1Л|.о, j = !,...,*; i=l dxi в) из предыдущей системы выразить любые т дифференциалов dxt через остальные (п - т) и подставить в d2llx*,А,*1; г) если rf2zLc* Д*1 > 0 при ненулевых dx, то в точке х* - условный локальный минимум. Если d2L\x*,}f) < 0 при ненулевых dx , то в точке х* - условный локальный максимум. Бели достаточные условия экстремума не выполняются, следует проверить выполнение необходимых условий второго порядка (см. утверждение 3.2), следуя аналогичной процедуре. Если они выполняются, то требуется дополнительное исследование, а если не выполняются, то в точке х* нет условного экстремума. Шаг 5. Вычислить значения функции в точках условного экстремума. Условия экстремума в задаче C.7) приведены в табл. 3.1. Замечания 3.3. 1. Иногда удается проверить условие линейной независимости градиентов ограничений на множестве X (см. определение 3.6.). Если оно выполняется, то на шаге 1 следует записать классическую функцию Лагранжа C.3), на шаге 2 можно записывать сразу систему C.9), а на шаге 3 отсутствует случай Х% = 0. 2. Графическое решение задачи (при п = 2,/и = 1) базируется на п. 4 замечаний 3.1. Для этого следует: а) построить множество допустимых решений X; б) построить семейство линий уровня целевой функции и найти точки их касания с кривыми, описывающими ограничения. Эти точки являются "подозрительными" на условный экстремум; в) исследовать поведение целевой функции при движении вдоль ограничения к исследуемой точке и от нее. Классифицировать точки, используя определение экстремума (см. определения 1.1 и 1.2). 41
Необходимые и достаточные условия в задаче поиска условного экстремума при ограничениях типа равенств Таблица 3.1 п/п 1 2 3 4 5 6 Vxl{x\^X) 0 0 0 0 0 0 gj(x*),j = l,...,m 0 0 0 0 0 0 d4(x*X) > 0 < 0 ? 0 ? 0 = 0 J = l,...,m 0, dx * 0 O^rfx * 0 0 0 0 0 Тип условно-стационарной точки jc* Условный локальный минимум Условный локальный максимум Может быть условный локальный минимум, требуется дополнительное исследование Может быть условный локальный максимум, требуется дополнительное исследование Требуется дополнительное исследование Нет экстремума
С4>С3>С2> С{ Рис. 3.3 На рис. 3.3 в точках 1-6 линии уровня касаются ограничения. Исследование поведения функции в этих точках при движении по стрелкам показывает, что в точках 1, 4, 6 - локальный максимум, так как при приближении к ним функция возрастает, а затем убывает; в точках 2, 5 - локальный минимум, так как при приближении к ним функция убывает, а затем возрастает; в точке 3 нет условного экстремума, так как при приближении к ней и удалении дальше от нее функция возрастает. 3. При решении примеров для упрощения записи на шагах 2 и 3 алгоритма будем опускать знак * , оставляя его только для значений х и Я., соответствующих условно-стационарным точкам. Пример 3.5. Найти экстремум функции f(x) = х} + х\ на множестве JT = {x|xi + х2-2 = 0}: f(x) = xi + х2 ->extr, gi(x) = xx +x2 -2 = 0. D Проверим условие регулярности. Так как Vg\(x) = A,1)г * 0, то условие выполняется (см. определение 3.6). Поэтому будем пользоваться классической функцией Лагранжа C.3). 1. Составим функцию Лагранжа: L(x,Х\) = х\ + х\ + A,j(jcj + Х2 - 2). 2. Выпишем необходимые условия экстремума первого порядка: ч dL(x,X\) л Xi dL(x9kt) ^ . л Xi дх\ 2 дх2 2 б) g1(x) = 3. Решение системы: х\ = х2 = 1, XJ ¦ -2 - условно-стационарная точка. 4. Проверим достаточные условия экстремума: ч ,2г/ ¦ *»\ ^j 2 ^^ 2 d2Z,(x,A,i) d2L(xfXi) - a) J2Lx ,^1 = 2^X1+2^5, так как ^ ' *^= ^ ' '^ = 2, v ; axf dxi d2L(x9Xx) J2UpcM) Q; дх2дх\ 43
в) выразим дифференциал dxx через dx2: dx{ = -dx2 и подставим в */2?; г) так как d2lIx*X\) = 4dx2 > 0 при dx2 * О, то в точке х* « A,1)Г - регулярный локальный условный минимум (строка 1 в табл. 3.1). Графическое решение задачи приведено на рис. 1.7. 5. Подсчитаем значение функции в точке условного экстремума:/(**) = 2.И Пример З.б. Найти условный экстремум в задаче /(х) = Xj + х2 -> extr, D Проверим условие регулярности. Так как Vg\(x) = Bхь2х2)Г * 0 для всех х € Jf, то условие выполняется (см. определение 3.6). Поэтому будем пользоваться классической функцией Лагранжа. 1. Составим функцию Лагранжа: ?(*Ai) = х{ + х2 + Ц*!2 + х\ - 2). 2. Выпишем необходимые условия экстремума первого порядка: a) 3. Решением системы являются две условно-стационарные точки: А. х\ - 1, xj - 1, Х.1 = -|; А X? - -1, х\ - -1, X*j - ~. 4. Проверим достаточные условия экстремума: a) d4[x\X\) = 2X1 dx\ + 2X1 <fr22, так как ^ б) *iH-2*fAi +2х5Л2 =0, так как ^2х„ ^ 2х2; ^ ' oXj 0X2 в) исследуем точку А Получаем dgx{A) = 2^ + 2dx2 = 0, откуда dxx = -dx2. С учетом полученного соотношения d2I^A) = -dx2 - dx2 = -2dx2 < 0 при dx2 *¦ 0. Поэтому в точке х* = A,1)Г - регулярный условный локальный максимум (строка 2 в табл. 3.1). Исследуем точку В. Получаем dg{(B) = -2dxx -2dx2 =0, откуда dxx = -dx2. С учетом полученного соотношения d2L(B)« dx2 + dx2 = 2dx2 > 0 при dx2 * 0. 44
Поэтому в точке х*=(-1,-1)г - регулярный условный локальный минимум (строка 1 в табл. 3.1). 5. Подсчитаем значения функции в точках экстремума: f(A) = 2,/B?) = -2. Графическое решение задачи соответствует п. 2 замечаний 3.3 и изображено на рис. 3.4. ¦ УЮ-о -2 Ху<*)«-2 Рис. 3.4 Пример 3.7. Найти условный экстремум в задаче /(x) = *i -»extr, ? Проверим условие регулярности. Так как Vg\(x) = (—Здс^,2х2) = 0 в точке х* =@,0)г, то условие не выполняется (см. определение 3.6). Будем пользоваться алгоритмом с использованием обобщенной функции Лагранжа. 1. Составим обобщенную функцию Лагранжа: Цх9Х0,Хх) = Хохх +A.i(x2 -*i3). 2. Выпишем необходимые условия экстремума первого порядка: а) О JC| л О Xi 3. Решим систему для двух случаев. В первом случае Х0 = 0. Тогда Хх ф 0, так как в утверждении 3.1 все множители Лафанжа не могут быть одновременно равны нулю. Отсюда х\ = х2 = О, Во втором случае А,о * 0. Поделим уравнения приведенной в п.2 системы на А,о с заменой — на Хх: Хо 45
2X^2=0; *2-X\f =0. Рассмотрим второе уравнение. Если Хх =0, то система несовместна. Бели х2 = 0, то jq = 0 и система тоже несовместна. Как видно, применение классической функции Лагранжа не дает результата. 4. Так как Х*о = 0, достаточные условия экстремума не проверяются. Точка х* со значением целевой функции /(**) - 0 является точкой нерегулярного локального и глобального минимума, как следует из рис. 3.5. ¦ /Ю-2 Рис. 3.5 Пример 3.8. Найти условный экстремум в задаче f{x) = xi +x| -> extr, D Будем следовать алгоритму, не проверяя условие регулярности. 1. Составим обобщенную функцию Лагранжа: [ -IJ +*2 -4]. 2. Выпишем необходимые условия экстремума первого порядка: ^l il т 2Хох2 3. Решим систему для двух случаев. В первом случае Хо = 0. Из п.2 следует: 2Х.,(х,-1) = 0, 2Х,д:2=0, Так как согласно утверждению 3.1 Х{ * 0, то из первых двух уравнений: хх = 1, х2 = 0. Однако при этом ограничение не выполняется: g\(x) = -4^0. Следовательно, система несовместна. 46
Во втором случае Я.о ф 0. Перепишем систему, приведенную в п.2, поделив уравнения на Хо с заменой — на C.13) Рассмотрим второе уравнение. Если х2 = 0, то из третьего уравнения следует хх = 3, хх = -1, а из первого Xj = —, Хх = — соответственно. Если Хх = -1, то первое уравнение имеет вид 2 = 0, т.е. система несовместна. Таким образом, найдены две условно-стационарные точки: 4. Проверим достаточные условия экстремума, используя C.13): а) d2l{x\X\) = 2(l + X\)dx? +2(l + X\)dxh б) dgx(x*) = 2(*Г - 1)Л! + 2xJ dbc2 = 0; в,г) исследуем точку А : dgi(A) = 4Л| +0 = 0 , откуда dxx = 0 и d2L(A)= -dx? -dx$ = — dbc2 < 0 при dx2 * 0. Поэтому в точке А - регулярный условный максимум (строка 2 в табл. 3.1). Исследуем точку В : dgi(B) = -4dxx +0 = 0 , откуда dxx=0 и d2L(B) = dx\ + dx\ = dx\ > 0 при Лс2 * 0. Поэтому в точке В - регулярный условный минимум (строка 1 в табл. 3.1). 5. Подсчитаем значения функции в точках экстремума: /(Л) = 9,/B?) = 1. Графическое решение задачи изображено на рис. 3.6 (см. п. 2 замечаний 3.3). ¦ fix) = 9 Рис. 3.6 47
Пример 3.9. Найти условный экстремум в задаче D 1. Составим обобщенную функцию Лагранжа: Цх,Хо,Х{) = Цх,2 -х|) + \х[х1 + х\ - 2. Запишем необходимые условия экстремума первого порядка: a) dLix>X<)>Xi) = 2Х0х, + 2Jl,Xl = 0, a4^oAi) ш_2XqX2 + ^ .0. д Х\ дх2 3. Решим систему для двух случаев. В первом случае Хо = 0. Тогда ^0в силу утверждения 3.1. Поэтому из первых двух уравнений следует: хх = х2 = 0. Однако условие "б" при этом не выполняется. Следовательно, система несовместна. Во втором случае Х,о * 0. Перепишем систему, приведенную в п.2, поделив уравнения на Хо с заменой —- на Хх: C.14) l = 0. Пусть Л,! = —1. Тогда х2=0, а ^=±1. Пусть Х,1=1. Тогда х^О, а х2 = ±1. Других решений система не имеет. Таким образом, имеем четыре условно-стационарные точки: A:xi=l9 xJ=0, Л.1 = -1; #xf=-l, x*2 = 0, Xl=-1; C:xf=0, хз=1, XI =1; ftxf=0, xj = -1, X\=l. 4. Проверим достаточные условия экстремума. Воспользуемся системой C.14): a) d4(x\X\) = 2(l + X\)dxl в,г) исследуем точку А : dgx(A) = 2dxi =0, откуда получаем ^=0 и d2L(A) = -4dx2 < 0 при rfx2 * 0. Поэтому в точке А - регулярный локальный условный максимум (строка 2 в табл. 3.1). Исследуем точку В: dg{(B) = -2dxj = 0, откуда ^=0и d2L(B) = -4dx2 <0 при dx2*0. Поэтому в точке В - регулярный локальный условный максимум (строка 2 в табл. 3.1). Исследуем точку С : dg{(C) = 2dx2 =0, откуда dx2 = 0 и d2L(C) = 4dxt2 > 0 при dbq * 0. Поэтому в точке С - регулярный локальный условный минимум (строка 1 в табл. 3.1). 48
Исследуем точку D : dgx(D) = -2dx2 = О, откуда dx2 « 0 и d2LJ(p) = 4dx2 > 0 при dxi * 0. Поэтому в точке D - регулярный локальный условный минимум (строка 1 в табл. 3.1). 5. Вычислим значения функции в точках условного экстремума: f(B) = 1; /(С) = f(D) = -1. Графическое решение приведено на рис. 3.7. ¦ Пример 3.10. Найти условный экстремум в задаче f(x) = х2 + х\ + xf -> extr, D 1. Составим обобщенную функцию Лагранжа: C2 :+Х2+Х3-< 2. Запишем необходимые условия экстремума первого порядка: а) —\ v I' м - 2Х0Х! + 2XjX! + Х2 = 0, : 2Я.0х2 0, 3. Решим систему для двух случаев. В первом случае Хо « 0. Тогда из п.2 следует: +х2 +х3 -4 = 0. 4 — 4751 49
Первые два уравнения системы перепишутся в виде Если Х{ = 0, то Х2 =0, что противоречит требованиям утверждения 3.1. Если Х\ * 0, то *i = —г,Х2 = —. Из двух последних уравнений получаем х3 ="~ и х3 = 4 - *! - х2 = 5, т.е. имеется противоречие, а система несовместна. Во втором случае Хо * 0. Перепишем систему, приведенную в п.2, поделив уравнения на Хо с заменой —Ц —2- на Xt, Х2: 0, Из первых трех уравнений имеем: Подставляя полученные соотношения в последние два уравнения и решая их, получаем: ^1 =т; ^2 =—tS Xl="T; Х2=~~ Таким образом, получены две условно-стационарные точки: Axf—2, дс5—1 xj=8, XI— 4. Проверим достаточные условия экстремума: а) d2b(x*Д1Д2)= 2(l + Xl)^2 + 2A + Xl)dx| б) dgx[x*} = 2xf dxx + 2x2 dx2 -dx3 = 0, *2(x*) = ^ + Лс2 + dx3 = 0; в) выразим дифференциалы dxx и dx3 через dx2: . 2(хГ-х2)^ I + 2х\ 50
г) исследуем точку A: dxx = - dx2, (Ьсъ = 0, d2L(A) = /l +11 (-dx2J + 2Г1 +11 dx| > 0 при dx2 * 0. Поэтому в точке А - регулярный локальный условный минимум (строка 1 в табл. 3.1). Исследуем точку В: dx{ = -dx2idx3 = 0, d2L(B)=2(l - у](-Лс2J + ф -— W < 0 при dx2 * 0. Поэтому в точке 2? - регулярный локальный условный максимум (строка 2 в табл. 3.1). 5. Значения функции в точках экстремума: f(A) = 6, f{B) = 72. ¦ Пример 3.11. Найти условный экстремум в задаче g](x) = -x[ +ax|=0 при различных а > 0. D Проверим условие регулярности. Так как V^1(x) = (-1, 2а л:2)Г * 0 ни в одной точке множества X , то условие выполняется (см. определение 3.6). Поэтому воспользуемся классической функцией Лагранжа. 1. Составим функцию Лагранжа: 2. Запишем необходимые условия экстремума первого порядка: б) 3. Из второго уравнения следует х2A + 2а Х{) = 0. Если х2 = 0, то Xj = 0, a = —1. Если Х{ = , то 2 При 0 < а < - решение не существует. Таким образом, имеются три условно- стационарные точки (рис. 3.8): А: х\ = О, х2 = 0, Х\ = -1; RX[~ 2а ' Х2~\ 2а2 ' ' "" 2а • ^ . 2а-1 • 2а-1 4. Проверим достаточные условия экстремума: а)< б) dg)\x*} = -dxx +2ax*2dx2 =0; 51
в) выразим из п."б" dxx: dxx = 2а х2 dx2; г) d2l(x\X\) ^4 8а2 Рис. 3.8 Исследуем точку A: d2lIx*X\) = A-2а)*&2- При 0<а<— получаем, что d2L\x*,X*\ J > 0 при dx2 * 0 и в точке А - условный локальный минимум (строка 1 в табл. 3.1). При а > — находим, что d2Llx*,)\\ < 0 при dx2 ^0 ив точке А - условный локальный максимум (строка 2 в табл. 3.1). При сх = — получаем, что d2L(x*X\) = 0 при любых dx2 и требуется дополнительное исследование (строка 5 в табл. 3.1). Для этого воспользуемся методом исключения переменных. Выразим из уравнения ограничения одну из координат: х\ =— х\ . Подставим полученное выражение в целевую функцию: /(*) = — — х| -1 ] +х2 =т*2+т*2+~- 2^2 ) J 8 2 2 Исследуем полученную функцию на безусловный экстремум, пользуясь п. 3 замечаний 2.2: -?- = — х\ +jc2 =0. Отсюда х?=0 - стационарная точка. В этой dx2 2 52
точке первая отличная от нуля производная /'4'(х*) = 3 > 0 - четная и положительная. Следовательно, в точке х\ = 0 - локальный минимум. С учетом связи х* =— \х2) =0 получаем, что в точке х* =@,0) - условный локальный минимум. Рассмотрим точки В и С: d2L[x*,X\)= 1ба2-^-у-*&2 =8Bа-1)Л|- При 2а а = — имеем х* = х*2 = 0 и d2lix* Д2) = 0 при всех dx2. Значит, требуется дополнительное исследование, которое уже было выполнено. При а > — имеем d2L(x*Xy)>Q при dx2*0 ив точках В и С условный локальный минимум (строка 1 в таблице 3.1). Графическое решение приведено на рис. 3.8. 5. Значения функции в точках экстремума: 1 + 4а-2 4а-1 = ~1аТ~ = 1аТ~ 3.3. УСЛОВНЫЙ ЭКСТРЕМУМ ПРИ ОГРАНИЧЕНИЯХ ТИПА НЕРАВЕНСТВ Постановка задачи Даны дважды непрерывно дифференцируемые целевая функция /(х) = /(х,,...,*„) и функции ограничений gy(x) = <gy(xl,...,xw)<0, у = 1,...,/я, определяющие множество допустимых решений X. Требуется исследовать функцию /(*) на экстремум, т.е. определить точки х* € X ее локальных минимумов и максимумов на множестве X: /(**) = ™п,/(*); /(*•) = тах,/(*), C.15) где X = {x\gj{x)$09 у = 1,...,т}. Стратегия решения задачи Находятся точки х* локального экстремума с помощью необходимых и достаточных условий минимума и максимума первого и второго порядка при ограничениях типа неравенств (порядок условий определяется порядком используемых производных). Вычисляются значения /(**) функции в найденных точках локального экстремума. 53
Утверждение 3.4 (необходимые условия минимума (максимума) первого порядка). Пусть х* - точка локального минимума (максимума) в задаче C.15). Тогда найдется такое число A,q > 0 и вектор X* = Ш,... Д*ш) , не равные одновременно нулю и такие, что выполняются следующие условия: - условие стационарности обобщенной функции Лагранжа по х : /-!,...,.; C.16 а) - условие допустимости решения: ?,(*')< О, У = 1,...,т; C.16 6) - условие неотрицательности для условного минимума: X*j>0, y = l,...,m C.16 в) (условие неположительности для условного максимума: Л*7 < 0 , j = 1,..., т ); - условие дополняющей нежесткости: х*) = О, У = 1 т. C.16 г) Если при этом градиенты активных в точке х* ограничений линейно независимы (выполняется условие регулярности), то Л.0 ^ 0. Замечания 3.4. 1. Точки х*, удовлетворяющие системе C.16), называются условно- стационарными. 2. В отличие от случая ограничений типа равенств необходимые условия экстремума первого порядка формулируются отдельно для максимума и минимума. Утверждение 3.4 было доказано Ф. Джоном (F. John), а при А.*о * О Куном и Таккером (H.W. Kuhn, A.W. Tucker). 3. Если в решаемой задаче ограничения записаны в форме gj(x)>0, то их необходимо переписать в виде, используемом в C.15): -gj(x) < 0. 4. Далее будем использовать множество индексов ограничений, активных в точке х*, которое обозначим через Ja. 5. При решении задач поиска условного максимума можно использовать необходимые и достаточные условия минимума, применяя преобразование, описанное в п.1 замечаний 1.1. 6. Так как точка х* заранее неизвестна, то проверка условия регулярности затруднена, поэтому рекомендуется следовать алгоритму, описанному в п.З замечания 3.1. 7. Точка экстремума, удовлетворяющая системе C.16) при А*о * 0, называется регулярной, а при А,*о = 0 - нерегулярной. Случай X*q = 0 отражает вырожденность ограничений. 54
8. Условие C.16 а) в регулярной точке экстремума х* отражает факт, что антиградиент целевой функции является неотрицательной (неположительной в случае максимума) линейной комбинацией градиентов функций, образующих активные ограничения в точке х*. Действительно, условие C.16 а) с учетом C.16 г) можно переписать в форме На рис. 3.9 в точке х* достигается минимум и выполняется приведенное равенство, а в точке х нет. - «з(*) = О C2>Ci f(x) = C2 /00 = с, Рис. 3.9 9. При \*0 * о справедливы два важных утверждения: 1) если функции /(*), ?/(*)> j' = 1,..,/и, выпуклые, то условия утверждения 3.4 являются одновременно и достаточными условиями глобального минимума; 2) если функции "-/(*)", ?/(*)> 7 = 1,...,т, выпуклые, то условия теоремы 3.4 являются одновременно и достаточными условиями глобального максимума. В обоих случаях множество допустимых решений X выпукло. 10. Условие допустимости решения, являющееся следствием постановки задачи C.15), включено в C.16) для удобства формирования алгоритма решения задачи. 11. Из условия дополняющей нежесткости следует, что если ограничение в точке х* пассивное, т.е. g;(x*)<0 , то А*;=0, а если - активное, т.е. gj(x*) = 0, то X*j ? 0 (для минимума) и Х*у- < 0 (для максимума). 55
Утвержцение 3.5 (достаточные условия минимума (максимума) первого порядка). Пусть имеется точка \х*Х\, удовлетворяющая системе C.16) при X*q *0, число активных ограничений в точке х* совпадает с числом п переменных (при этом условие регулярности выполняется). Если ХГу > 0 для всех j eJa, то точка х* - точка условного локального минимума. Если ЯГ, < 0 для всех j e Ja, то х* - точка условного локального максимума в задаче C.15). Утвержцение 3.6 (необходимое условие минимума (максимума) второго порядка). Пусть х* - регулярная точка минимума (максимума) в задаче C.15) и имеется решение [х* X) системы C.16). Тогда второй дифференциал классической функции Лагранжа, вычисленный в точке ix\Xj, неотрицателен (неположителен): d2L(x*X) > О [d2l\x* X) ^ О) C.17) для всех dx eRn таких, что 0, jeJa, A}-0. Утвержцение 3.7 (достаточные условия экстремума второго порядка). Пусть имеется точка (х*Х)> удовлетворяющая системе C.16) при A.Q *0. Если в этой точке d2llx*X) > 0 u/2z(x* Д*) < 01 для всех ненулевых dx e Rn таких, что dgj(x*)<0, jeJa, ^.=0, то точка х* является точкой локального минимума (максимума) в задаче C.15). Замечание 3.5. В рассматриваемой задаче замечания 3.2 и пп.1 и 3 замечаний 3.3 также справедливы с учетом замены C.9) на C.16). Алгоритм решения задачи Шаг 1. Составить обобщенную функцию Лагранжа: т Цх9Х0,\) = Хо f(x) + X Xj gj(x). 7-1 56
Шаг 2. Записать необходимые условия минимума (максимума) первого порядка: j б) gj(x*)<0, у = 1,...,ет; в) X*j > О, j = l,...,/w (для минимума), А!у < О, j = l,...,m (для максимума); г) Г, ?,(**) = О, у=1,...,/и. 3. Решить систему для двух случаев: 2) Х*о * 0 (при этом поделить условия, записанные на шаге 2, на Х*о и за- X*; менить -^- на Xj). Х*о В результате найти условно-стационарные точки х*, выделив из них полученные при А*о * 0 (°ни могут быть регулярными точками экстремума). В каждом из двух случаев следует начинать с рассмотрения 2т вариантов удовлетворения условия "г" дополняющей нежесткости. Шаг 4. Для выделенных на шаге 3 точек проверить достаточные условия экстремума первого или второго порядка. Для проверки достаточных условий первого порядка следует: а) определить число / активных в точке х* ограничений; б) если / = п и А,*? > 0 для всех j e Ja, то в точке х*- локальный минимум. Если / = ли^<0 для всех j e Ja, то в точке х* - локальный максимум. Если / < п или соответствующие множители Лагранжа не удовлетворяют достаточным условиям первого порядка, проверить достаточные условия второго порядка. Для проверки достаточных условий второго порядка следует: а) записать выражение для второго дифференциала классической функции Лагранжа в точке б) записать условия, накладываемые на первые дифференциалы активных ограничений: C.18) *>(**)"?—^-^dx/<0, ye/fl, X*j=O; ы\ dxi в) исследовать знак второго дифференциала функции Лагранжа для ненулевых ах , удовлетворяющих системе C.18). Если d2L\x*, A.*j > 0, то в точке х* - 57
Необходимые и достаточные условия первого порядка в задаче поиска условного экстремума при ограничениях типа неравенств Таблица 3.2 Необходимые условия первого порядка № п/п 1 2 vxz[x\x*ox); j = 1,...,/и 0 ' 0 j = 1,..., т < 0 < 0 х;>о, j = l,...,m > 0 < 0 Достаточные условия первого порядка (^ * 0) Число / активных ограничений п п > 0 < 0 Тип условно-стационарной точки х* Условный локальный минимум Условный локальный максимум Необходимые и достаточные условия второго порядка в задаче поиска условного экстремума при ограничениях типа неравенств Таблица 3.3 № п/п 1 2 3 4 5 6 7 8 d4(x*X] > 0 < 0 > 0 < 0 = 0 « 0 $о dgj(x% j € /д, TZj > 0 0,dx ^ 0 0 0 0 dgj(x-)j e /fl, 5Cy < 0 0,<&* 0 0 0 0 дгу.о ^ 0 < 0 <> 0 < 0 < 0 < 0 ? 0 < 0 Тип условно-стационарной точки х* Условный локальный минимум Условный локальный максимум Может быть условный локальный минимум, требуется дополнительное исследование Может быть условный локальный максимум, требуется дополнительное исследование Требуется дополнительное исследование Требуется дополнительное исследование Нет экстремума Нет экстремума
условный локальный минимум. Если d2ilx*X) <0, то в точке х* - условный локальный максимум. Если достаточные условия первого и второго порядка не выполняются, следует проверить выполнение необходимых условий второго порядка (утверждение 3.6), следуя аналогичной процедуре. Если они выполняются, то требуется дополнительное исследование, а если нет, то в точке х* нет условного экстремума. Шаг 5. Вычислить значения функции в точках условного экстремума. Условия экстремума в задаче C.15) приведены в табл. 3.2, 3.3. Пример 3.12. Найти условный экстремум в задаче f(x) = xj2 + x\ -> extr, ? 1. Составим обобщенную функцию Лагранжа: L(xtXQД,) = Хо(х? + х|] + X{(xi + х2 -2). 2. Выпишем необходимые условия первого порядка: а) ^МоД.) = 2М, +Xl =0, О^'М-аюха+Х, =0; д Х\ дХ2 б) х, + х2 - 2 < 0; в) X.J ^ 0 (для минимума), Хх < 0 (для максимума); г) *.,(*,+х2 - 2) = 0. 3. Решим систему для двух случаев. В первом случае Xq = 0. Тогда из условия "а" следует, что Xi = 0. Это противоречит требованию утверждения 3.4 о существовании ненулевого вектора (ХОД)Г. Во втором случае \0*0. Поделим систему, приведенную в п.2, на Хо и заменим —- на A.j. Обобщенная функция Лагранжа при этом заменяется клас- Хо сической: ч dL(x,X{) . . л ai(x,Xi) а) —^-^ = 2х! +Я.! =0, v U = 2x2 + X] =0; ОХ] О Х2 б) X] + х2 - 2 < 0; в) A.J ? 0 (для минимума), Xj < 0 (для максимума); г) Х,(х1+х2-2) = 0. Из условия "г" дополняющей нежесткости следует: 1) Х{ =0 (фактически решается задача поиска безусловного экстремума). Тогда х,* = х2 = 0, Х\ = 0 и условие "б" выполняется. Выполняются необходимые условия и для минимума, и для максимума (строки 1 и 2 в табл. 3.2). 2) Х{ * 0. Тогда из системы 2 = 0, 2xl+Xl=0> 2x2+^=0 59
получаем: *{" = х\ = 1; А,} = -2. Так как Х\ < 0, то необходимое условие минимума не выполняется (в точке A,1)Г нет минимума), но выполняется необходимое условие максимума. Таким образом, имеем две условно-стационарные точки. 4. Проверим выполнение достаточных условий экстремума. В точке х*=@,0)г ограничение не является активным, так как g\(x*) = -2 < 0, поэтому достаточные условия первого порядка не удовлетворяются (строки 1 и 2 в табл. 3.2). Проверим условия второго порядка. Так как d2b[x*X\ = 2dx2 +2dxl >0 при dx*0, то в точке х*=@,0)г регулярный локальный условный минимум (строка 1 в табл. 3.3), совпадающий в данной задаче с безусловным (рис. 3.10). С другой стороны, функция /(х) выпуклая (см. пример 1.19) и множество X также выпуклое (см. определение 1.7 и пример 1.16). Поэтому в точке х* =@,0)г достигается глобальный условный минимум (п. 9 замечаний 3.4), а достаточные условия первого и второго порядка можно было и не проверять. В точке х* =A,1O ограничение является активным, но / = 1<л = 2, поэтому достаточное условие первого порядка не выполняется. Проверим условие второго порядка. Имеем x*) = dx\ +dx2 =0 => dx\ = -dx2. Следовательно, d2llx*,Xj = Adx\ > 0 при dx2*0. Так как в этой точке Х\ = -2 < 0, то достаточное условие максимума не выполняется (строка 2 в табл. 3.3). Проверим необходимое условие максимума второго порядка. Так как d2lIx*X) = 4d*2 > 0 при любых dx2y то необходимое условие максимума не выполняется (строка 4 в табл. 3.3), поэтому в точке х* = A,1) максимума нет. 5. Вычислим значение функции в точке условного минимума: f(x*\ = 0. ¦ Рис. 3.10 60
Пример 3.13. Найти условный экстремум в задаче /(х) = хх + х2 -* extr, D 1. Составим обобщенную функцию Лагранжа: L(x,Хо,X.!) = Х0(х1 + х2) + Х|(х? + х| -1 2. Выпишем необходимые условия первого порядка: _ч dl{x9k09Xi) _^о^\ п дЦх9Х0,Хх) ^o^i п. а) = А.о + Zjc^! =0, Y ' = А0 + 2x2A-i = 0, ОХ\ 0X2 б) х,2 + х\ -1 < 0; в) А,| > 0 (для минимума), Х{ < О (для максимума); г) X,(xi2+x!-l)«:0. 3. Решим систему для двух случаев. В первом случае Хо = 0. Тогда согласно утверждению 3.4 требуется, чтобы X, 9t 0. При этом X! = х2 = 0 и не удовлетворяется условие "г" дополняющей нежесткости. Во втором случае А.о * 0. Поделим уравнения системы, приведенной в п.2, на Хо и заменим — на Х\: Х д Xj ,2+х| б)х,2+х|-1<0; в) Я,| > 0 (для минимума), Хх < 0 (для максимума); Из условия "г" дополняющей нежесткости следуют два варианта: 1) X) =0. Тогда условие "а" не выполняется; 2) Хх * 0. Тогда х2 +х2 -1 = 0 и система имеет два решения (рис. 3.11): точка А : xf = xj = , Х\ = — (в точке Л может быть минимум); L 2. 41 4г точка В: xt* = xj = —, Х\ = —— (в точке В может быть максимум). 4. Проверим достаточные условия экстремума. В точках Аи В ограничения являются активными, но / = 1 < л = 2. Поэтому условия первого порядка не выполняются. Проверим условия второго порядка: d2L[x* X) = 2X\ dx,2 + 2X\ dx\, аЦх*) = 2х\ dxx + 2x\ dx2 = 0. В точках А и В выполняется dxx =-dx2- Так как d2L(A) = 4Х\ дх\ = l4ldx\ > 0 при dx2 ^ 0 , то в точке А - регулярный локальный условный минимум (строка 1 в табл. 3.3). Так как d2L(B) = 4A.*, dx\ = -ijldxl < 0 при dx2 * 0, то в точке В - 61
регулярный локальный условный максимум (строка 2 в табл. 3.3). С другой стороны, функции f(x) и -/(*) = -Х\ -х2 - выпуклые и ограничение выпуклое (см. определения 1.7, 1.8 и пример 1.16), поэтому в точках А и В достигается глобальный экстремум (п. 9 замечаний 3.4). Достаточные условия первого и второго порядка проверялись для демонстрации методики. 5. Вычислим значение целевой функции в точках условного экстремума: Л / Пример 3.14. Найти условный максимум в задаче f(x) = xi -> max, D 1. Составим обобщенную функцию Лагранжа: L(x,X0iXuX2) = XQx{ + h{-x2) + Ц*2 "О -*l 2. Выпишем необходимые условия максимума первого порядка: 6)-x2<0, x2-(l-Xlfu0; в) X, <0, Х2<0; г)Х,(-х2) = 0, Х2[дс2-A-дс,K]-0. 3. Решим систему для двух случаев. В первом случае Хо = 0, тогда jcf = 1, а х2 = 0. При этом Х\ = Х2 < 0, например, Я.*1 = Х*2 = -1. Получили условно-стационарную точку х* = A,0)г ,Х*0 = 0. 62
На рис. 3.12 показано, что в точке х* =A,0) достигается нерегулярный локальный и глобальный максимум. В ней условие линейной независимости градиентов Vg,/x*) = @,-l)r, V?2(**) = @,l)r не выполняется (см. пример 3.4), и ан- тифадиент целевой функции не может быть представлен в виде неположительной линейной комбинации градиентов активных офаничений. Условие "а" выполняется только при Х*о = 0. Покажем это. Рис. 3.12 Во втором случае Хо * 0. Тогда поделим уравнения системы, приведенной в п.2, на Хо и заменим — на A — на Х2. Имеем: Х() -XiJ =0; -X! + Х2 = 0; -Х2<0, X2~{l-X{ Рассмотрим четыре варианта выполнения условия дополняющей нежесткости: 1) Х\ = Х2 = 0. Из первого уравнения следует, что система несовместна; 2) \{ ф 0, Х2 = 0. Из первого уравнения также следует, что система несовместна; 3) А.! = 0, Х2 * 0. Из второго уравнения получаем, что Xi = Х2 = 0, т.е. имеется противоречие; 4) Xj * 0, Х2 * 0. Тогда х2 - 0, х{ = 1 и первое уравнение не удовлетворяется. Новых условно-стационарных точек не найдено. Поэтому в задаче имеется только одна точка х* = A,0)г нерегулярного максимума с fix*) = 1. ¦ 63
Пример 3.15. Найти условный экстремум в задаче S,(x) = x2+xf-52<0. D 1. Составим обобщенную функцию Лагранжа: L(x,XQ,h) = Ц(х, - 2J + (х2 - ЗJ] + Х,[хх2 + х22 - 52]. 2. Выпишем необходимые условия первого порядка: 4W fe) 0X2 б) ^2 + х|-52<0; в) Xi > О (для минимума), Х{ < О (для максимума); г) Х1(х12+х^-52) = 0. 3. Решим систему для двух случаев. В первом случае Хо = 0. Тогда Хх * О согласно утверждению 3.4. Поэтому xj = 0, х2 = 0 и не выполняется условие "г" дополняющей нежесткости. Во втором случае Хо * О. Поделим уравнения системы, приведенной в п.2, на Хо и заменим — на Х\: > 0 (для минимума), Х{ < 0 (для максимума); Рассмотрим два варианта выполнения условия "г" : 1) Хх =0. Тогда X! =2,х2 =3 и выполняются необходимые условия и для минимума, и для максимума (строки 1 и 2 в табл. 3.2). Имеем условно- стационарную точку А: х\ = 2, xj = 3, Х\ = 0; 2) X.J * 0. Тогда х? + х\ - 52 = 0 и система имеет решение: точка В : х\ = 4, х? = 6> ^1 - — i точка С: х\ = - 4, xj = - 6, Х\ = --. Так как Х*1<0 в обеих точках, то в них минимума нет, но может быть максимум. 4. Проверим достаточные условия экстремума. В обеих условно- стационарных точках ограничение превращается в равенство, т.е. активно. Так как число активных ограничений / = 1<2 = л, то условия первого порядка не выполняются. Так как функция -/(х) = - (х! - 2) - (х2 - 3) не является выпуклой (см. определение 1.8), то необходимые условия не являются достаточными (п.9 замечаний 3.4). Проверим условия второго порядка: 64
d2dx В точке А ограничение не является активным. Так как XJ = 0, то I = 2dx2 + 2dx\ > 0 при dx*0. Поэтому в точке А - условный локальный минимум (строка 1 в табл. 3.3). Так как целевая функция f(x) выпуклая и множество допустимых решений выпукло (рис. 3.13), то можно заключить, что в данном случае необходимое условие минимума является достаточным. В точке А - глобальный минимум (п.9 замечаний 3.4). В точках В и С ограничение активно. Поэтому dgAx j = 2x\ dxi + 2x2 dx2 = 0. В точках В и С выполняется dxx = —dx2. Так как d2L(B) = I —\dx2 + dx\ > О при dx2 * О, а Х\ = — < 0, то достаточные условия максимума не выполняются (строка 2 в табл. 3.3). Так как d2L(B)>0 при всех dx2, то и необходимое условие максимума второго порядка в точке В не выполняется (строка 4 в табл. 3.3). Поэтому в ней нет экстремума. Так как d2L(C) = - — *йс2 - dx\ < 0 при dx2 * 0, то достаточные условия максимума выполняются. В точке С условный локальный максимум (строка 2 в табл. 3.3). 5. Вычислим значения функции в точках экстремума /D) = О, /(С) = 117. ¦ /(С) = 117 Рис. 3.13 Пример 3.16. Найти условный экстремум в задаче f(x) = (х{ - аJ + х\ -* extr, при а = 2, а = 1, а = —, а = 0, а = -1. 5-4751 65
? 1. Составим обобщенную функцию Лагранжа: ?(*ДоД) = Ц(*1 -аJ +*2] + Ц*? + *2 2. Выпишем необходимые условия экстремума второго порядка: б) х,2 + х| -1 < 0, -X! < 0; в) A,i > О, А,2 > О (для минимума); Xj < О, Х2 < 0 (для максимума); г) X,(jc,2+jc|-i) = O, X2(-x1) = 0. 3. Решим систему для двух случаев. В первом случае Xq = 0. Тогда из первых двух уравнений следует: 2А.,х2=0. Рассмотрим четыре варианта выполнения условия "г": 1) Х\ = О, Х2 = 0. Этот вариант противоречит утверждению 3.4; 2) A,j = 0, Х2 * 0. Из первого соотношения Х2 = 0, т.е. имеется противоречие; 3) Х{ * 0, А.2 = 0. Тогда xj = х2 = 0 и не выполняется первое из условий дополняющей нежесткости "г"; 4) Хх *0, Х2 *0. Тогда X! =0, а х2 =±1. При этом не удовлетворяется второе уравнение из условий "а". Во втором случае А.о * 0. Поделим уравнения системы, приведенной в п.2, на Хо и заменим — на X.J, — на Х2. Получим: Xq Xq -a)+2X[Xl -X2 =0, UU&I = 2x2 + 2Я,,х2 =0; 5 х2 б) xf + х| -1 < 0, -Xj < 0; в) Xi > 0, Я,2 ? 0 (для минимума); Xt ^ 0, Х2<0 (для максимума); г) X^+xJ-lj^O, M-*i)-°- Рассмотрим четыре варианта удовлетворения условия "г" : 1) Х{ = 0, Х2 = 0. Получаем условно-стационарную точку Л : Х!*=а, х^=0, Х*,=0, Г2 = 0; 2) Л.1 = 0, Х2*0. Тогда xj=0,x2=0, а Х2 = -2а. Получаем условно.^ стационарную точку В: xf = 0, х2 = 0, A,*i = О, Х*2 = -2а; 3) Xi ф0, Х2 = 0. Тогда х? + х^ -1 = 0, 2(х! - а) + 2Х,Х! = 0, 2х2A + Х{) = 0. Из третьего соотношения имеем: х2 = 0 или X,! = -1. При х2 = 0 получаем: х, =±1. Ограничению удовлетворяет *i =1. Тогда Х{ =а-1. Найдена условна? стационарная точка С : х^ = 1, х2 = 0, Х\ = а -1, Х*2 = 0. При А.*, = -1 параметр а 66
должен быть нулевым. Тогда имеется бесконечное множество условно-стационарных точек D , лежащих на полуокружности (рис. 3.14, г); 4) A.J *0, Х2 *0. Тогда xt =0, а х2 = ±1. При этом Xs =-1, а А,2 = -2а. Получаем еще две условно-стационарные точки: Е\ х\ = 0, х2 =1, А.*, =-1, Х*2 =-2а; F: xf = 0, х\ =-1, А.} =-1, Х2 =-2а. Таким образом, имеется шесть условно-стационарных точек. = 2 1 х, /М-4 Рис. 3.14 4. Проверим достаточные условия экстремума для различных значений параметра а (рис. 3.14, а - д). Исследуем точку А : xf = а, xj = 0, А.*, = 0, Х*2 = 0. При а = 2 точка А не лежит в множестве допустимых решений, так как xf =2, х2 = 0. При а = 1 имеем: х,* =1, х2 = 0, Х\ = Х*2 = 0. В точке Л активно первое ограничение. Так как число активных ограничений / = 1 < п = 2, то достаточные условия первого порядка не выполняются. Проверим условия второго порядка: 2<&,2 + 2dx\; d2L{A) = ( 0. 67
Получаем d2L(A) = 2dx2 > О при dx2 * 0. Поэтому в точке А - условный локальный минимум (строка 1 в табл. 3.3). При а = - имеем: xf =—, х2=0, X*, = Х2 = 0. Активных ограничений нет. Так как d2L{A) = 2dx\ + 2dx2 > 0 при dx: * 0, то в точке А - условный локальный минимум (строка 1 в табл. 3.3). При а = 0 имеем: х\ = 0, х2 = 0, X*j = Х*2 = 0. В точке Л активно второе ограничение: Так как d2L(A) = 2*&2 >0 ПРИ dx2#Q, то в точке Л - условный локальный минимум. При а = -1 имеем: xf = -1, х2 = 0, т.е. точка Л не лежит в множестве допустимых решений. Так как целевая функция выпуклая и множество допустимых решений X выпукло, то в случаях а = 1; —; 0 необходимые условия минимума являются и достаточными, а в точке А достигается глобальный минимум (п. 9 замечаний 3.4). Исследуем точку В : *Г = °» *2 = °» ^*i = °» ^*2 = ~2а * ° • Так ^к в этой точке активно только второе ограничение, то достаточные условия первого порядка не выполняются. Проверим условия второго порядка: d2L(B) = B + 2Х\) dx\ + B + 2Х\) dx\ = 2dx\ + 2dx\; Отсюда d2L(B) = 2dxl>Q при dx2*Q. Если а = 2,1,-, то ХГ2 = -2а<0 и не удовлетворяются ни достаточные условия второго порядка, ни необходимые (строки 2 и 4 в табл. 3.3). Поэтому в точке В для этих значений параметра нет экстремума. Если а = 0, то А.*2=0, что противоречит условию Х,*2*0. Если а = -1, то Х*2 > 0, и в точке В удовлетворяются достаточные условия локального минимума (строка 1 в табл. 3.3). Так как f{x) и множество X выпуклые, то в точке В при а = -1 достигается глобальный минимум (п. 9 замечаний 3.4). Исследуем точку С : х\ = 1, х2 = 0,^ = а -1 * 0, Х2 = 0. При а = 2 получаем X* = I > 0. Активно первое ограничение: d2L(C) = B + 2Х\) dx\ + B + 2Х\) dx\ = 4dxf dg{(C) = 2x1 <b\ + 2xJ <&2 = 2Л,- 0. Так как d2L(C) = 4rfx2 > 0 при dx2 ^ 0, то в точке С - локальный условный минимум (строка 1 в табл. 3.3). Так как f(x) и множество Xвыпуклые, то в точке С - одновременно глобальный минимум (п. 9 замечаний 3.4). При а = 1 получаем 68
Х\=0, что противоречит условию Х\фО. При а=-т получаем XJ =-—<(), Х*2 = 0. Активно первое ограничение: d2L(C)« B + 2^)^? +B + 2Я,*!)^2 = <**? 4gi(C) = 2х,* dbci + 2x2 dx2 = 2^ - 0. Так как d2L(C) = dx2>0, но Х\ = — <0, то не выполняются ни достаточные, ни необходимые условия второго порядка (строки 2 и 4 в табл. 3.3). В точке С нет экстремума. При а = 0 имеем Х\ = -1 < О, Х*2 = 0 и d2L(C) = B + 2X*Adx2 + ^2 + 2X\)dx2 ¦ 0 для любых dx . Поэтому требуется дополнительное исследование (строка 6 в табл. 3.3) на наличие максимума, так как необходимое условие максимума первого порядка выполняется. Рис. 3.14, г показывает, что в точке С - условный максимум (глобальный и локальный). При а = -1 получаем Х\ = -2 < О, Х*2 = 0 и dgl(C) = 2xf dxx + 2x\ dx2 = 2dxl=0. Так как d2L(C) = -dbcf < 0 при dx2 * 0, то в точке С - условный локальный максимум (строка 2 в табл. 3.3). Исследуем множество D при <х = 0. При этом Х\ =-1, Х*2 =0. Так как d2L(D) = B + 2Л.*! Wj2 +B + 2A.*i)dx2 ¦ 0, то требуется дополнительное исследование на наличие условного максимума (строка 6 в табл. 3.3). Рис. 3.14, г показывает, что на множестве D достигается глобальный максимум. Исследуем точки Е и R х\ = 0,х2 = ±1, Х\ = -1, Х*2 = -2а * 0. При а = 2,1,- получаем Х\ = -1 < 0, Х*2 = -4,- 2,-1 < 0. В точках Е и F два активных ограничения: / = 2 = л = 2. Так как Х\ < 0 и Х*2 < 0, то выполняются достаточные условия максимума первого порядка (строка 2 в табл. 3.2). В точках Е и F - локальный условный максимум. При а = 0 получаем Х*2=0, что противоречит условию Х*2 * 0. При а = -1 получаем A*j = -1 < 0, Х.*2 = 2 > 0. Так как не выполняются необходимые условия минимума и максимума, то в точках Е и F нет экстремума (строки 1 и 2 в табл. 3.2). 5. Вычислим значения функции в точках экстремума при различных а (рис. 3.14): а = 2: /(С) = 1,/(/Г) = /(/0 = 5; а = 1: /(Л) = 0,/(?) = f{F) = 2; ^ W ) |; a = 0: 69
Пример 3.17. Найти условный минимум в задаче f(x) = x?+(x2-2J () g3(x) = -^ ? 0. D 1. Составим обобщенную функцию Лагранжа: Цх,Х0,Х) = Цх? + (*2 " 2J] + Ц*12 + х\ -1] + Х2(-Х 2. Выпишем необходимые условия минимума первого порядка: дхх б) *2+х2 -1^0, —X! <0, -х2<0; в) Xt >0, Х2>09 Х3>0; 3. Решим систему для двух случаев. В первом случае А.о = 0. Тогда условия "а" запишутся в виде 2ХЛ-Х2-0, Рассмотрим восемь вариантов выполнения условий "г" дополняющей нежесткости: 1) Хх = 0, Х2 = 0, А,3 = 0. При этом не удовлетворяется требование утверждения 3.4; 2) Х{ * 0, А.2 = 0, Х3 = 0. Тогда jct = х2 = 0 из условия "а", но первое условие дополняющей нежесткости не удовлетворяется; 3) Х\ - 0, Х2 * 0, Я.з = 0. Тогда из первого уравнения в условии "а" имеем Х2 = 0, т.е. имеется противоречие; 4) А,! = 0, Х2 = 0, Х3 * 0. Тогда из второго уравнения в условии "а" имеем Я.з = 0, т.е. также имеется противоречие; 5) Х-1 * 0, Х2 ф 0, А.3 = 0. Тогда хх = 0 и из первого уравнения в условии "а" имеем Х2 = 0, т.е. имеется противоречие; 6) Xj * 0, Х2 = 0, Х3 * 0. Тогда х2 = 0 и из второго уравнения в условии "а" имеем А,3 = 0, т.е. также имеется противоречие; 1)ХХ = 0 Д2 * 0 Д3 ф 0. Тогда не выполняются оба уравнения в условии "а"; 8) А.! * 0, Х2 * 0, А,3 * 0. Тогда уравнения jq = х2 = 0, х2 +х2 -1 = 0, следующие из условия "г", вместе не выполняются. Условно-стационарных точек пока не найдено. 70
Во втором случае А.о ф О. Поделим уравнения системы, приведенной в п.2, на Xq и заменим — на Хх, — на Х2, — на А,3. Получаем: Xq Xq Xq а) Э1^Д) = 2х! +2М! -** =0. Э^хД) = 2(х2-2) + 2Х1х2 -Х3 =0; 5 Xj d x2 б) x^+xl-l^O, -xj<0, -х2<0; )!, 2, 3; г) Х,(х? + х? -1) = 0, ^(-дс!) = 0, А,3(-х2) = 0. Рассмотрим восемь вариантов выполнения условий дополняющей нежесткости: 1) Xi = 0, А,2 = 0, Х3 = 0. Тогда х{ = 0, х2 = 2 и не выполняется первое ограничение в условии "б"; 2) Х{ ф 0, Х2 = 0, Ь3 =0- ТогДа X!2 + х| -1 = 0, Если A,i = -1, то третье уравнение не удовлетворяется. Если jq = 0, то х2 = ±1. Ограничениям в условии "б" удовлетворяет х2 = 1. При этом A.j = 1. Получили условно-стационарную точку A: xf = 0, х2 = 1, А,! = 1, Х*2 = 0, Я,*3 = 0; 3) Х{ = 0, Х2 * 0, А.3 = 0. Тогда !2 , 2(х2-2)-0. Получаем Х2 = 2jcj = 0, что противоречит условию Х2 ф 0; 4) X] = 0, Х2 = 0, А* * 0- Тогда Получаем А.3 = -4 < 0, что противоречит условию "в"; 5) Х{ ф 0, А,2 ф 0, А-з = 0. Тогда 2х{ +2^^ -А.2 =0, 2(х2-2)+2Я.1х2=0. Из третьего соотношения следует, что Х2 = 0, т.е. имеется противоречие; 6) Х{ ф 0, А.2 = 0, А,3 ф 0. Тогда х2=0, 2хх + 2A.J*! = 0, 71
Из последнего соотношения следует, что Х3 = -4 < 0. Это противоречит условию "в"; 7) Х{ = 0, Х2 * 0, Хг * 0. Тогда х, =х2 =0, Из второго соотношения следует, что Х2 = 0. Это противоречит условию Х2 * 0; 8) ХХ*Ъ, Х2*0, Х3^0. Тогда х? + х\ -1 = 0. Из условия "г" следует: х{ = 0,х2 = 0. Эта система несовместна. 4. Проверим достаточные условия минимума. В точке А имеются два активных ограничения, т.е. / = 2 = п = 2 (рис. 3.15). Так как ^ = 1 > 0, Х*2 = 0, то достаточные условия минимума первого порядка не выполняются (строка 1 в табл. 3.2) ввиду того, что требуется строгая положительность соответствующих множителей Лагранжа. Проверим условия второго порядка: d2L(A) = B + 2k\}dxf +B + 2X\}dx\. Так как в точке два активных ограничения и для одного из них Х\ > 0, а для другого Х*2 =0, то применим условия C.18) (строка 1 в табл. 3.3): dg{(A) = 2x\ dx{ + 2x2 dx2 = 2dx2 =0, Х\ > 0; ()-<*!* 0, Х2=0. В результате d2L(A) = 4^2 > 0 при dxx 10 и ^ * 0. Поэтому в точке А - локальный условный минимум (строка 1 в табл. 3.3). С другой стороны, целевая функция и множество допустимых решений выпуклые. Поэтому в точке А достигается глобальный минимум (п. 9 замечаний 3.4). 5. Вычислим значение функции в точке глобального минимума: f(A) = 1. ¦ 72
Пример 3.18. Найти условный минимум в задаче /(х) = X\ + Х2 ^1(х) = -дс1 -х2-х3 +1^0, D 1. Составим обобщенную функцию Лагранжа: Цх, Хо Д) = Цх? + *2 + 2х32) + ^(-Х! - х2 - х3 +1) + Х2(-х, - Зх2 + 3). 2. Выпишем необходимые условия первого порядка: 4) () а) э4*АоА) = 2М[ _Х( _Хг =0> Э1(хДоД) = 2М2_Х[ _ЗХ2 =0, 5 Xj 5 х2 б) ~xt - х2 -х3 +1 < 0, -х{ - Зх2 + 3 ^ 0; в) X, >0, Х2^0; г) *.,(-*, -х2-х3 + 1) = 0, А.2(-.х,-Зх2+3) = 0. 3. Решим систему для двух случаев. В первом случае А,о = 0. Тогда A.J = 0 и Х,2 = 0, что противоречит утверждению 3.4. Во втором случае Ко ф 0. Поделим уравнения системы, приведенные в п.2, на Хо и заменим —- на Хг, — на Х2. Условия "а" запишутся в виде: дЦх,к) „ . . А дЬ(х^к) „ . _ л а^(хД) . . л —1-:-^=2х1 -A.J -Х2 =0, —1-2-^ = 2х2 -Xj -ЗА,2 =0, —^-^--^ = 4х3 -Х{ = 0. 6 X 5 х 5 х Рассмотрим четыре варианта удовлетворения условий "г" дополняющей нежесткости: 1) Я,1 = 0, Х2 = 0. Тогда из условия "а" следует: xj = х2 = х3 = 0. При этом ограничения "б" не выполняются; 2) Xi ф 0, Х2 = 0. Тогда gi(x) = 0 и справедливы уравнения: -Xi - х2 - х3 +1 = 0, 4х3-А.! =0 =>х3=Ь-. 4 2 1 Отсюда Х.1 = —>0, а Х| =х2 =— ,х3 =—. Второе неравенство в условии м не выполняется, так как +3 = — >0; 3) A.J = 0, Х2 * 0. Тогда ?2(х) = 0 и справедливы уравнения: 73
2^-Х 2х2-ЗХ 4х3 = -Зх2 2=0 2=0 0 + 3 = =>*! =>х2 =>х3 = ЗХ2 2 = 0. 3 3 9 В результате Х2 = - > 0 и *i = —» *2 - ""Т> *з = 0 • Первое неравенство в условии 3 9 1 "б" в данной точке выполняется, так как +1 = — <0. Имеем условно* 3 9 3 стационарную точку А: дгГ =7о"' Х^ =Т5"' *3* =°' ^ =°' Х* = V 4) Х\ ф 0, Х2 * 0. Тогда gj(x) = 0, g2(x) = 0 и справедливы равенства: -Xj - Х2 - Х3 + 1 = 0 , -*! -Зх2 +3 = 0, —. Подставляя в первые два соотношения, получаем: -5?11-8А.2+4 = 0, -2^-5X2+3 = 0. 4 7 Отсюда Xi = —, Х2 = —. Так как Xt < 0, то условие "в" не выполняется. 4. Проверим достаточные условия экстремума. В точке А одно активное ограничение, так как gi{^) = 0. Поэтому / = 1 < п = 3 и достаточное условие минимума первого порядка не выполняется (строка 1 в табл. 3.2). Поэтому проверим достаточные условия второго порядка: d2L(A) = 2dx\ + 2dx\ + 4dx32, dg2(A) = - dx{ - 3dx2 = 0. Отсюда dxl = -3dx2 и d2L(A) = 2 (- 3<?c2J + 1dx\ + 4г&? > 0 при dx * 0. Поэтому в точке Л - условный локальный минимум (строка 1 в табл. 3.3). С другой стороны, целевая функция и функции g\(x)tg2(x) выпуклые, так как ограничения линейные и для них Н{х) = 0, а для целевой функции матрица Гессе 2 0 Н(х) = О 2 0 >0, потому что Aj = 2 > О, Л2 = 4>О, А3 = 16 > 0 (см. п. 3 заме- 0 0 А) чаний 1.4). Поэтому в точке А - глобальный минимум (п. 9 замечаний 3.4). 5. Вычислим значение функции в точке условного минимума: 9 81 Л 9 _ 74
Пример 3.19. Найти условный минимум в задаче /(х) = х, -> min, ?i(x) = x2-x,3<;0, () D 1. Составим обобщенную функцию Лагранжа: L(x, Я.о, X) = Xqx, + X,(х2 - х? j + Х2(-х2 - *?) + Ц*? + Х2 2. Выпишем необходимые условия первого порядка: 4) = 0, 2 б)х2-х,3<0, -хг-xfiO, х,2 3. Решим систему для двух случаев. В первом случае Хо = 0. Рассмотрим восемь вариантов удовлетворения условий "г" дополняющей нежесткости: 1) Я.| = О, Х2 =0, А.3 =0. Не удовлетворяется требование утверждения 3.4 о существовании ненулевого вектора (A,o,A.*J; 2) Х{ ф 0, Х2 = 0, Х3 =0. Тогда х2-х,3=0, Имеется противоречие, так как ^ * 0; 3) А., = 0, Х2 * °» ^з = °- ТогДа Имеется противоречие, так как Х2 * 0 > 4) ^ = 0, Х2 = 0, Х3 ?t 0. Тогда 2А,3х2 = 0, Х!2+х|-1 = 0. Отсюда следует, что х{ = х2 = 0, но при этом не удовлетворяется третье уравнение; 5) X., ф 0, Х2 ф 0, А.3 * 0. Тогда 75
-Х2-*?=(), Система удовлетворяется при х{ - х2 = 0 и любых Хх = Х2 > О, например, равных единице. Имеем условно-стационарную точку А х[ = х2 = О, А.*о = О, Х\ = Х*2 = 1; 6) Х{ * О, Х2 = 0, А,3 ^ 0. Тогда Х2-Х!3=0, = 0, Получаем Xi = ~2А,3х2 = -2А.ЗХ!3. После подстановки в третье уравнение имеем 6A.3x? +2A.3X! =2Х3х1(Зх14 +lj = 0. Так как Х3 *0, то X! =0. Тогда х2 =0 и не удовлетворяется второе уравнение; 7) Х{ = 0, Х2 * 0, А.3 * 0. Тогда 0, -Х2 + 2Х$х2 = 0. Получаем Х2 = 2Х$х2 =-2Хъх\. Из третьего уравнения имеем вХг xf + 2X3 х2 = 2Л,3 х^Зх4 + lj = 0. Так как Х3 * 0, то х{ = 0 и х2 = 0. При этом не удовлетворяется второе уравнение; 8) A.J ф 0, Х2 5й 0, А.3 * 0- Из условия "г" следует система Х2-Х!3=0, -х2-х?=0, которая несовместна (рис. 3.16). Во втором случае Хо * 0. Поделим уравнения системы, приведенной в п.2, на Хо, заменяя — на Х{, — на Х2, — на Х3. При этом соотношения "б"-"г" Xq Xq Xq не изменяются, а условие "а" записывается в форме 1 - ЗА^х,2 - ЗХ2х? + 2А.3Х! = 0, Х{ - Х2 + 2А3х2 = 0. Рассмотрим восемь вариантов удовлетворения условия "г" дополняющей нежесткости: 1) Х{ = 0, Х2 = 0, Х3 = 0. Первое уравнение в условии "а" несовместно; 2) A.J * О, Х2 = О, А.З = 0. Тогда 76
Имеется противоречие, так как Х{ * 0; 3) X! = 0, Х2 * °> h = °- ТогДа -х2-х,3 = 1-ЗЛ.2Х? - -Х2=0. Имеется противоречие, так как Х2 * 0; 4) X, = 0, Х2 = 0, Х3 * 0. Тогда 1 + 2Хъхх = 0, 2Хгх2 =0. Так как Х-$ * 0, то х2 = 0, а х{ = ±1. Ограничениям "б" удовлетворяет При этом Х3 = — < 0, что не удовлетворяет условию "в"; 5) Х{ * 0, Х2 * 0, Хъ = 0. Тогда Первые два уравнения удовлетворяются только при jq =x2 =0 (рис. 3.16), но при этом третье уравнение несовместно; Рис. 3.16 77
6) X, *0, Х2 = 0, Х3 *0. Тогда х2-х,3=0, 1 - ЗХ^2 + 2Х3х, =0, Xj+2X3x2 =0. Отсюда А.! = -2Х3х2 - -2Х3х3 и l + 6X3xf+2Х3Х! =0. Так как гх^Зх^ +1) = -1 только при Х3 > 0, х{ < 0 (не лежит в множестве X, рис. 3.16) или Х3 < 0, xj > 0 (не удовлетворяется условие "в"), то система несовместна; 7) Xj = 0, Х2 * 0, Х3 * 0. Тогда -х2-х13=0, 0, -Х2 + 2Х3х2 = 0. Отсюда Х2 = 2Х3х2 = -2X3Xi3 и 1 + 6X3xf + 2Х3Х| = 0. Так как 2Х3х1(Зх4 +1) = -1 только при Х3 > 0, xj < 0 (не удовлетворяются ограничения "б") и Х3 < 0, xt > 0, (не удовлетворяется условие "в"), то система несовместна; 8) X, * 0, Х2 * 0, Х3 * 0. Из условий "г" следует: х2-х,3=0, Система несовместна (рис. 3.16). Таким образом, найдена единственная условно-стационарная точка А. 4. Так как Х*о =0, то достаточные условия не проверяются. Из рис. 3.16 следует, что в точке А достигается глобальный условный минимум. Точка А является нерегулярной точкой минимума. В этой точке нельзя представить антиградиент -V/(j4) = (-l,0)r в виде неотрицательной линейной комбинации градиентов активных ограничений: Vg\(A) = @,1)Г, Vg2(>4) = @,- l)r. 5. Значение функции в точке условного минимума f(A) = 0. ¦ Пример 3.20. Найти условный минимум в задаче /(х) = xj + х2 -» min, 78
D Как следует из рис. 3.17, глобальный минимум достигается в точке А. f{x)-0 В точке А все три ограничения активны и их градиенты линейно зависимы, так как Vgl(A) = @,-2)Г, Vg2(A) = (-l,0)r, Vg^A) = @-1)Г и 0-10 rang -2 0 - =2<т=3 (см. определение 3.6). Условие регулярности в утверждении 3.4 не выполняется. Условие "а" в нем имеет вид или Если Х0=0, то не существует таких неотрицательных А^А^Аз» чтобы сумма, стоящая справа, равнялась нулю. В этом случае условно-стационарных точек нет. Если Хо ф 0, можно поделить равенство на Хо, заменяя — на Хх, — на Xq Xq X2f — на Х3. При этом равенство будет справедливо при Х\ - ~Хг = !Д*з = О- Хо 2 Это свидетельствует о том, что первое и второе ограничения активны: g[(A) = 0,g2D) = 0, а третье не является активным. Заметим, что третье ограничение в задаче является "лишним", так как его добавление не меняет множества допустимых решений. Хотя условие регулярности в точке А не выполняется, она является точкой регулярного минимума, так как Х*о * 0. ¦ 79
Пример 3.21. Найти условный экстремум в задаче /(х) = X! -> extr, D 1. Составим обобщенную функцию Лагранжа: 1(хДоА) = ^0*1 + 4*1 + Х2 - 1) + *2 2. Выпишем необходимые условия экстремума первого порядка: dL{xtXOiX) dL(x,XOtX) а) = A,q + Ai -A,2 = О, »- = Aj-A3=U, 5 Xi С Х2 6)x1+x2~l<0, -X!<0, -x2<0; в) X{ > 0, X2 ? 0, Хг ? 0 (для минимума), ^ < 0, X,2 < 0, X3 < 0 (для максимума); г) Х{(хг + х2 -1) = 0, X2(-*i) = 0, А,3(-х2) = 0. 3. Решим систему для двух случаев. В первом случае Хо = 0. Тогда Ху = Х2 = Я,3. Если Х{ = 0, то Х.2 = Х3 = 0 и имеется противоречие утверждению 3.4. Если Х\ * 0, то Х2 * 0 и А.3 ^ 0. Тогда хх + х2 -1 = 0, -X! = 0, -х2 = 0. Последние три уравнения образуют несовместную систему. Во втором случае Х,о * 0. Поделим систему, приведенную в п.2, на Хо, заменяя —^- на Х\, — на Х2, — на Я.3. При этом соотношения "б"-"г" сохра- Xq Xq Xq няют вид, а условие "а" записывается в форме: Рассмотрим восемь вариантов удовлетворения условия "г" дополняющей нежесткости: 1) Х{ = 0, Х2 = 0, Я,3 = 0. Первое уравнение в условии "а" не удовлетворяется; 2) Xi ф 0,Х2 = 0, А,3 = 0. Из условия "a" A,t = 0, т.е. имеется противоречие; 3) Ху =0, Х2*0, А,3=0. Тогда А,2 = 1, X! =0, х{ +х2 -1 <0,-х2 <0. Получили бесконечное множество решений - точки отрезка АВ (см. рис. 1.9): х[ =0, 0 < х\ < 1, X*! =0, Х*2 = 1 > 0, А*3 = 0. Удовлетворяется необходимое условие минимума; 4) А,! = 0,Х2 - 0, Ху * 0. Из условия "а" А.3 = 0, т.е. имеется противоречие; 5) Х\ * 0, А.2 * 0, А,3 = 0. Тогда Xj = 0, т.е. также имеется противоречие; 6) Х{ф0, Х2 = 0, Х3*0. Тогда Х{ = -1 < 0, Х2 = ХХ = -1, jq+^-^O, -х2 = 0. Получили условно-стационарную точку С (см. рис. 1.9): х\ =1, jcj = 0, Х\ = Г3 = -1 < 0, Я.2 = 0. В ней удовлетворяются необходимые условия максимума; 7) Х\ = 0 Д2 * 0, Х3 ^ 0. Из условия "а" Я.3 = 0, т.е. имеется противоречие; 80
8) А., *0, А.2 *0, Х3 *0. Тогда X!+X2-l = 0, -*i=0, -*2=0. Последняя система несовместна. 4. Проверим достаточные условия экстремума. На множестве ЛВ активно одно ограничение, поэтому достаточные условия первого порядка не выполняются (строка 1 в табл. 3.2). Кроме того, d2L(A) = d2L(B) ж 0 и поэтому достаточные условия минимума второго порядка также не выполняются (строка 1 в табл. 3.3) и требуется дополнительное исследование (строка 5 в табл. 3.3). С другой стороны, целевая функция и ограничения выпуклые, поэтому на отрезке ЛВ достигается глобальный минимум (п. 9 замечаний 3.4). В точке С два ограничения активны: / = 2 = п = 2. Так как Х{ < О, А.3 < 0, то выполняется достаточное условие локального максимума первого порядка (строка 2 в табл. 3.2). Так как функция "-/(*)" = -*i и ограничения выпуклые, то в точке С - глобальный максимум (п. 9 замечаний 3.4). 5. Вычислим значение функции в точках условного экстремума: f(A) = f(B) = 0, /(С) = 1. ¦ 3.4. УСЛОВНЫЙ ЭКСТРЕМУМ ПРИ СМЕШАННЫХ ОГРАНИЧЕНИЯХ Постановка задачи Даны дважды непрерывно дифференцируемые целевая функция /(*) = /(*!,...,х„) и функции ограничений типа равенств и неравенств: gj (х) = 0, j' = 1,..., т; gj (х) ? 0, j = /и +1,..., р, определяющие множество допустимых решений X. Требуется исследовать функцию f(x) на экстремум, т.е. определить точки х* е X ее локальных минимумов и максимумов на множестве X: /(**) = ffijj /(*); /(**) = max /(*), C.19) где X = \x J) ; . ,(*)<0,7 = Стратегия решения задачи Находятся точки х* локального экстремума с помощью необходимых и достаточных условий минимума и максимума первого и второго порядка при смешанных ограничениях (порядок условий определяется порядком используемых производных). Вычисляются значения /(**) функции в найденных точках локального экстремума. 6-4751 81
Утверждение 3.8 (необходимые условия минимума (максимума) первого порядка). Пусть х* - точка локального минимума (максимума) в задаче C.19). Тогда найдется такое число X*0 > 0 и вектор X* = (яГь...Хр) , неравные одновременно нулю и такие, что выполняются следующие условия: - условие стационарности обобщенной функции Лагранжа по х : C.20а) - условие допустимости решения: *;(**)«0, j = l,...,m; gj(x*)*09 j = m + l,...,p; C.20 6) - условие неотрицательности для условного минимума: Х)>0, y=m + l,...,/? C.20 в) (условие неположительности для условного максимума: А,* -, < 0, j = т +1,..., р ); - условие дополняющей нежесткости: .,р. C.20г) Если при этом градиенты активных ограничений-неравенств и ограничений-равенств в точке х* линейно независимы (выполняется условие регулярности), то X*q * 0. Замечания З.б. 1. Пункты 1 - 7 замечаний 3.4 остаются справедливы и для данной задачи, если заменить C.16) на C.20), а утверждение 3.4 на 3.8. 2. Условие C.20 а) в регулярной точке экстремума (А.*о * 0) отражает факт, что антиградиент целевой функции является неотрицательной (неположительной в случае максимума) линейной комбинацией градиентов функций, образующих активные ограничения-неравенства в точке х* и ограничения-равенства (сравните с п. 5 замечаний 3.1 и п. 8 замечаний 3.4). 3. При Х*о ф 0 справедливы два важных утверждения: 1) если функции f(x), gj(x), j = т + !,...,/>, выпуклые, а функции gj(x), j = 1,...,/и, линейные, то условия утверждения 3.8 являются одновременно и достаточными условиями глобального минимума; 2) если функции "-/(*)" 8j(x)»J = т + Ъ — *Р> выпуклые, а функции gj(x), j = 1,...,/и, линейные, то условия утверждения 3.8 являются одновременно и достаточными условиями глобального максимума. В обоих случаях множество допустимых решений Л" выпукло. 4. Следует подчеркнуть, что условия дополняющей нежесткости и знакоопределенности множителей Лагранжа записываются только для ограничений-неравенств. 82
5. Условие допустимости решения, являющееся следствием постановки задачи C.19), включено в C.20) для удобства формирования алгоритма решения. 6. Из условия дополняющей нежесткости C.20 г) следует, что если ограничение-неравенство в точке х* пассивное, т.е. gj(x*) < 0 , то X*j = 0, а если - активное, т.е. gj(x*) = 0, то X*j > 0 (для минимума) и X*j < 0 (для максимума). Утверждение 3.9 (достаточные условия минимума (максимума) первого порядка). Пусть имеется точка (х*Х), удовлетворяющая системе C.20) при Х*о*0, суммарное число активных ограничений-неравенств в точке х* и ограничений- равенств совпадает с числом п переменных (при этом условие регулярности выполняется). Если }Cj > 0 для всех j eJa, то точка х* - точка условного локального минимума в задаче C.19). Если Х*у < 0 для всех j eJa, то х* - точка условного локального максимума. Утверждение ЗЛО (необходимые условия минимума (максимума) второго порядка). Пусть х* - регулярная точка минимума (максимума) в задаче C.19) и имеется решение (х*Х) системы C.20). Тогда второй дифференциал классической функции Лагранжа, вычисленный в точке [х*Х\, неотрицателен (неположителен): для всех dx eRn таких, что dgj(x*)<0, jeJa, Xj=O. Утверждение 3.11 (достаточные условия экстремума второго порядка). Пусть имеется точка (х*Х), удовлетворяющая системе C.20) при \*0 *0. Если в этой точке d2lix*X) > 0 Ы2Цх*Х) < 0) для всех ненулевых dx eRn таких, что d(*H, y-l,...,m к У€/в,Х*у>0(Я}<0); то точка х* является точкой локального минимума (максимума) в задаче C.19). Алгоритм решения задачи Шаг 1. Составить обобщенную функцию Лагранжа: 83
Шаг 2. Записать необходимые условия минимума (максимума) первого порядка: б) ?/(**) = О, у = 1,...,/я; в) A,*y>0, у =/я + 1,...,/> (для минимума), А,*у<0, j = т + \,...,р (для максимума); г) X) g,(x*) = 0, y = m + l,...,p. Шаг 3. Решить систему для двух случаев: 1) >ч>=0; 2) Х*о * 0 (при этом поделить условия "а", "в", "г" на Х*о и заменить В результате найти условно-стационарные точки х*, выделив из них полученные при А,*о ф 0 (они могут быть регулярными точками экстремума). В каждом из двух случаев следует начинать с рассмотрения 2р~т вариантов удовлетворения условия "г" дополняющей нежесткости. Шаг 4. Для выделенных на шаге 3 точек проверить достаточные условия экстремума первого или второго порядка. Для проверки достаточных условий первого порядка следует: а) определить число / ограничений-равенств и активных ограничений-неравенств; б) если / = я и А,*? > 0 для всех j e Ja, т.е. для всех активных ограничений- неравенств, то в точке х* - локальный минимум. Если / = п и А,*у- < 0 для всех j eJai то в точке х*- локальный максимум. Если 1<п или соответствующие множители Лагранжа не удовлетворяют достаточным условиям первого порядка, проверить достаточные условия второго порядка. Для проверки достаточных условий второго порядка следует: а) записать выражение для второго дифференциала классической функции Лагранжа в точке (x*,A*j: б) записать условия, накладываемые на первые дифференциалы ограничений-равенств и активных в точке х* ограничений-неравенств: C.21) 84
в) исследовать знак второго дифференциала функции Лагранжа для ненулевых dx , удовлетворяющих C.21). Если d2L(x*,X*)>0, то в точке х* - условный локальный минимум. Если d2b(x*X) < 0, то в точке х* - условный локальный максимум. Если достаточные условия экстремума не выполняются, следует проверить выполнение необходимых условий второго порядка (утверждение 3.10), следуя аналогичной процедуре. Если они выполняются, то требуется дополнительное исследование, а если нет, то в точке х* нет условного экстремума. Шаг 5. Вычислить значения функции в точках условного экстремума. Условия экстремума в задаче C.19) приведены в табл. 3.4, 3.5. Замечание 3.7. В рассматриваемой задаче замечание 3.2 и пп. 1 и 3 замечаний 3.3 также справедливы с учетом замены C.9) на C.20). Пример 3.22. Найти условный экстремум в задаче /(х) = х\ + х\ -> extr, ? 1. Составим обобщенную функцию Лагранжа: L(x,А,о Д) = Цх,2 + х|) + Xfa -1) + Х2(х} + *2 - 2). 2. Выпишем необходимые условия экстремума первого порядка: а) 2jLox1+x1+x20, д Xj д х2 б) х, -1 = 0, X! + х2-2^0; в) Х2 ? 0 (для минимума), Я.2 < 0 (для максимума); г) А,2(х1+х2-2) = 0. 3. Решим систему для двух случаев. В первом случае Хо = 0. Тогда Х{ = 0 и Х2 = 0, что противоречит утверждению 3.8. Во втором случае Хо ф 0. Поделим уравнения системы, приведенной в п.2, на А.о, заменяя — на Х{ и — на Х2. Условие "а" записывается в форме Xq Xq dL(x,X) - п аДхД) * *• = 2xj + Х\ + Х2 = и, ^ f = 2х2 + Х2 = 0. д Xj 5 х2 Остальные соотношения сохранят свой вид. Рассмотрим 2р~т = 2 варианта удовлетворения условия "г" дополняющей нежесткости: 1) Х2 = 0. Тогда х2 = 0. Из ограничения следует хх = 1 , а из условия "а" А.1 = -2. Имеем условно-стационарную точку Л : х{ = 1, х2 = 0, А.} = -2, А,2 = 0, в которой удовлетворяются необходимые условия и минимума, и максимума; 85
Необходимые и достаточные условия первого порядка 1 задаче поиска условного экстремума при смешанных ограничениях Таблица 3.4 Необходимые условия пе п/п 1 2 vxl(x\x*ox), >7*7(*")' j = т + 1,..., р 0 0 j = 1,..., т 0 0 рвого порядка Ф')> j = m + l,...,p < 0 < 0 а; >о, ? 0 ? 0 Достаточные условия первого порядка Число / ограничений^ равенств и активных ограничений-неравенств п п > 0 < 0 Тип условно= стационарной точки Условный локальный минимум Условный локальный максимум Необходимые и достаточные условия второго порядка i задаче поиска условного экстремума при смешанных ограничениях Таблица 3.5 N9 п/п 1 2 3 4 5 6 7 8 d4{x*X) > 0 < 0 > 0 <; 0 = 0 = 0 %о j = 1,..., т 0, дх ф 0 0, лбе * 0 0 0 0 0 0 0 *>•), J « 'a> 7Cj > 0 0,<&* 0 0 0 0 ?j < 0 0, rfx # 0 0 0 0 АГу = О ^ 0 < 0 < 0 <; 0 < 0 <; 0 ^ 0 < 0 Тип условно-стационарной точки х* Условный локальный минимум Условный локальный максимум Может быть условный локальный минимум, требуется дополнительное исследование Может быть условный локальный максимум, требуется дополнительное исследование Требуется дополнительное исследование Требуется дополнительное исследование Нет экстремума Нет экстремума
2) Х2 *0. Тогда X! +х2 -2 = 0, 2xi +кх +Х2 = 0, 2х2 +Х2 = 0, X! - 1 = 0. Получаем условно-стационарную точку В :хх = 1, х2 = 1, Ъ\ = 0, Х*2 = -2 < 0, в которой удовлетворяются необходимые условия максимума. 4. Проверим достаточные условия экстремума. Исследуем точку А . Ограничение-неравенство не является активным. Поэтому / = 1 < п = 2 и достаточные условия первого порядка не выполняются. Проверим условия второго порядка: d2L(A) = 2dx2 +2dx2. Так как ограничение g2(x) < 0 в точке А пассивно, то dg{(A) = dxx = 0 и d2L(A) = 2dx2 > 0 при dx2 * 0. Следовательно, в точке Л - условный локальный минимум (строка 1 в табл. 3.5). С другой стороны, целевая функция задачи выпуклая (см. пример 1.19), ограничение-равенство - линейное, ограничение-неравенство - выпуклое (см. определение 1.8). Поэтому в точке А достигается глобальный минимум (п.З замечаний 3.6), а достаточные условия второго порядка можно было не проверять. Если бы искался экстремум функции /(х) = -х2 - х2, то функция " -/(х)" была бы выпуклой, а в точке А достигался бы глобальный максимум (п.З замечаний 3.6). Исследуем точку В . Ограничение g2(x) < 0 является активным. Поэтому / = 2 = п = 2. Так как Х2 = -2 < 0, то в точке В выполняются достаточные условия максимума первого порядка (строка 2 в табл. 3.4) и она является точкой локального максимума. Из методических соображений проверим достаточные условия второго порядка: d2L(B) = 2dx2 + 2dx\ . В точке В ограничение g2(x) = 0 активно:dgx(B) = dxx= Q,dg2(B) = dxx+dx2=Q. Отсюда dxx = dx2 = 0 и d2L{B) = 0. Поэтому требуется дополнительное исследование (строка 6 в табл. 3.5). На рис. 3.18 видно, что в точке В - условный локальный максимум, так как при приближении к точке В вдоль множества X функция возрастает, а при движении от точки В убывает. Это подтверждает сделанный ранее вывод. *2 Рис. 3.18 5. Значения функции в точках экстремума: f(A) = 1, f(B) = 2. 87
Пример 3.23. Найти условный экстремум в задаче /(*) = Х1 ~ Х2 -> extr» -6 = 0, D 1. Составим обобщенную функцию Лагранжа: L(x,XOiX) = Цх? -х2) + Х{(х{ + х2 - 6) + А,2A -х,) + Х3(х,2 + х? - 2б). 2. Выпишем необходимые условия экстремума первого порядка: () () 2XoX[ +Xj Xj +2JtjXi 0> 0 X| О X2 в) A,2 ? 0, X3 > 0 (для минимума), Х2 < 0, Я.3 < 0 (для максимума); г) Х2A-Х!) = 0, Х3(х12+х|~2б) = 0. 3. Решим систему для двух случаев. В первом случае Хо = 0. Тогда условия "а" имеют вид А,, - Х2 + 2Х3Х! =0, Х} + 2Х3х2 - 0. Рассмотрим четыре варианта удовлетворения условия "г" дополняющей нежесткости: 1) Х2 = 0, А,3 = 0. Тогда Х{ = 0 и не удовлетворяется утверждение 3.8; 2) А,2 * 0, Х3 = 0. Тогда A,j = 0 и А,2 = 0, что противоречит условию Х2 ^0; 3) Х2 =0, Я.3 ^0. Тогда х,2+х|-26 = 0, Xj + х2 - 6 = 0, А-1 + 2Х3Х! « 0, A.J + 2А,3х2 « 0. Из двух последних уравнений следует: 2Х3(х2 -Xj) = 0. Так как А,3 * 0, то X! = х2. Из двух первых уравнений слезет: x1 = l,x2=5; X! = 5,х2 = 1; т.е. X] ^ х2. Поэтому система несовместна; 4) Х2 *0, А,3 ?t0. Тогда Х\ + х2 - 6 = 0. Система удовлетворяется в точке хх = 1, х2 = 5. Условия "а" примут вид Хх - Х2 + 2Х3 = 0, Отсюда Я.! = -10Я,3 и Х2 = -8Х3. Так как Х.3 ?ь 0, то Х2 и А.3 имеют разные знаки, что противоречит условию и минимума, и максимума. 88
Во втором случае А.о * 0. Поделим уравнения системы, приведенной в п.2, на Хо и заменим — на Xj, — на Х2, — на А-з. Условие "а" принимает форму Л-о ^о ^о 2хх + Хх - Х2 + 2A.3*i = 0, -1 + А.1 +2Х3х2 =0. Условия " - "г" сохраняют вид. Рассмотрим четыре варианта выполнения условий "г" дополняющей нежесткости: 1) Х2 = 0, Я-з = 0. Тогда A-i = 1, а х{ = —-, что не удовлетворяет ограничениям "б"; 2) Х2 * 0, А.З = 0. Тогда jq = 1, а х2 = 5,Xi = 1Д2 - ^- Получена условно- стационарная точка i4: xf = I,x2 = 5,Х\ = \,Х*2 = 3, в которой удовлетворяются необходимые условия минимума; 3) Х2 =0, А,3 *0. Тогда Х!2+х|-26 = 0, хх + х2 - 6 = 0, 0, =0. Отсюда получаем точки с координатами х{ = 1,х2 = 5 и xj = 5,х2 = 1. В первой точке имеем откуда Xi = Д3 = ~- Во второй точке 10 + А.! + К&з - 0, откуда Х} =—Д3 = • Получены условно-стационарные точка А1 : xf = 1, 4 8 Х2 = 5, A*i = , УС2 = 0, А.*з =—, в которой удовлетворяются необходимые условия 4 8 минимума, и точка А х\ = 5, х| = 1, Х\ =—, Х2 = 0, Х% = -—, в которой удовле- 4 8 творяются необходимые условия максимума; 4) Х2 *0, Х.3 ?t0. Тогда Xf + x2 - 6 = 0 выполняется в точке хх = 1, х2 = 5. Условие "а" принимает форму -1 + ^+10X3=0. Отсюда Х|=1-10Я,3 и 3-8Я.3~Х2=0. Так как Х2ф0 и Х$*0, а также они должны быть одного знака, то последнее равенство выполняется только при 89
Л-з > ОД2 > О, в частности, при А.3 = ОД; Х2 = 2,2. При этом Хх = 0. Получили ту же условно-стационарную точку A": xf1 = 1; xj = 5; X"J = 0; Х*2 = 2Д; А,3 = ОД. 4. Проверим достаточные условия экстремума первого порядка. Ограничение-равенство в точках А и В естественно выполняется. В точке А активно второе ограничение и, следовательно, / = 2 = п. Так как Х*2 = 3 > 0, то в точке А - условный локальный минимум (строка 1 в табл. 3.4). В точке А' активно третье ограничение и поэтому / = 2 = п. Так как Х.3 = - > 0, то в точке А* - условный ло- 8 кальный минимум. В точке В активно третье ограничение и, следовательно, / = 2 = п. Так как Я,3 = -— < 0, то в точке В - условный локальный максимум 8 (строка 2 в табл. 3.4). Проверим выполнение достаточных условий экстремума второго порядка из методических соображений: x* X) = В точке А активно второе ограничение: Отсюда dxx = dx2 = 0 и d2LJ(A) я 0. Поэтому требуется дополнительное исследование (строка 5 в табл. 3.5). В точке Л'активно третье ограничение: 2xf dXi + 2xJ <**2 = 2<&i + l0dx2 = 0. Отсюда dxl = dx2 = 0 и d2L(A) ш 0. Поэтому тоже требуется дополнительное исследование (строка 5 в табл. 3.5). В точке В активно третье ограничение: dg{{B) = dxx +dx2=0, dg3(B) = 2xf dxx + 2x2 dx2 = \0dx{ + 2dx2 = 0. Отсюда dxx = dx2 = 0 и d2L(B)= 0. Поэтому требуется дополнительное исследование (строка 6 в табл. 3.5). В точке А "активны второе и третье ограничения: dgx{A")=dxx+dx2=0, Поэтому dxx = dx2 = 0, d2L,(A") ш 0 и требуется дополнительное исследование (строка 5 в табл. 3.5). Из рис. 3.19 следует, что в точках А и В - соответственно глобальный минимум и максимум. 90
Рис. 3.19 Теперь исследуем свойства целевой функции и ограничений. Ограничение- равенство - линейное. Так как целевая функция и функции второго и третьего ограничений удовлетворяют условиям то они выпуклы (см. п. 3 замечаний 1.4 и примеры 1.13, 1.14, 2.1, 2.3). Поэтому в точке А - глобальный минимум (п.З замечаний 3.6). Так как функция -/(*) = -*\ + Х2 не является выпуклой, то вывода о глобальном максимуме с помощью необходимых условий первого порядка сделать нельзя (п.З замечаний 3.6). 5. Значения функции в точках условного экстремума:/(Л) = -4, f(B) = 24.¦ Пример 3.24. Найти условный экстремум в задаче f(x)=x{ -*2 ка: D 1. Составим обобщенную функцию Лагранжа: L(x,Хо Д) = Ц*! - х|) + Xx(xx - х2 -1) + \2{х\ + *2 - 5) • 2. Выпишем необходимые условия минимума и максимума первого поряда) 0, 0; б) X! -х2 -1 = 0, 91
в) Х2 ^ 0 (для минимума), Х2 ? 0 (для максимума); г) 3. Решим систему для двух случаев. В первом случае \0 = 0. Тогда условие "а" имеет вид Х{ + 2Х2хх = О, -%х + 2Х2х2 =0. Рассмотрим два варианта удовлетворения условия "г": 1) Х2 = 0. Тогда Xi = 0 и не удовлетворяется условие утверждения 3.8; 2) Х2 ф 0. Тогда система удовлетворяется в двух точках: хх = 2,х2 =1; хх = -1,дс2 = -2. Складывая два уравнения в условии "а", получаем 2А,2(х1 + х2) = 0. Так как Х2 * 0, то xj = -х2, что не удовлетворяется в обеих найденных точках. Во втором случае Хо ф 0. Поделим уравнения системы, приведенной в п.2, на Xq и заменим — на Хх, — на Х2. Условие "а" принимает форму А.о Хо 0, 2Х2 дх2 Остальные условия сохраняют вид. Рассмотрим два варианта удовлетворения условия "г": 1) Х2 =0. Имеем -2х2 - Х{ = 0, хх -х2 -1 = 0. Отсюда Xj =-1, х2 =—, Xj =—. Получили условно-стационарную точку Л : jcf =—, х2 =—, Х\ =-1, Х2 =0. В ней удовлетворяется необходимое условие и минимума, и максимума; 2) Х2 * 0. Имеем Х!2+х|-5 = 0, хх - х2 -1 = 0, 1 + Х{ + 2Х2х{ = 0, -2х2 -Х{ + 2Х2х2 = 0. Получаем условно-стационарные точки: Я:хГ=2, x2*=l,Xl=-|,r2=-i>0; С : xf = Ч xj = -2, Xl =|, Г2 =|>0. 3d 3d В них удовлетворяются необходимые условия минимума. 92
4. Проверим достаточные условия экстремума первого порядка. В точке А ограничение-неравенство не является активным, поэтому / = 1 < л = 2 и условия не выполняются (строки 1 и 2 в табл. 3.4). В точках В и С ограничение-неравенство активное, поэтому / = п = 2. В обеих точках Х*2 > О, поэтому в них достигается условный локальный минимум. Проверим достаточные условия экстремума второго порядка из методических соображений (в точке А это требуется обязательно). В точке А ограничение-неравенство не является активным: d2L(A) = 2Я.2 dx\ + B*2 - = &!-*2«0. -2dx\ , Отсюда dx\ = dx2 и d2L(A) = —2cbcf < 0 при dx\ ф О. Поэтому в точке Л - локальный условный максимум (строка 2 в табл. 3.5). В точках Ви С ограничение-неравенство активно. В точке В : dxl-dx2 = О, 2*!*^ + 2xm2dx2 = 4йЬс, + 2сЬс2 = 0. Отсюда dx]=dx2 = 0 и d2L(B) = 0. Требуется дополнительное исследование (строка 5 в табл. 3.5). В точке С: Отсюда Jxj = rfx2 = ^ и d2L(C) a 0. Требуется дополнительное исследование (строка 5 в табл. 3.5). С другой стороны, ограничение-равенство линейное, а функции "-/(*)"=-*i+*2 и ?г(*) = *? + *2 ~5 выпуклые, так как я/(*)в@ 2)~0' Я^2^ = (о 2 >0 (СМ< П* 3 замечаний {Л и Р^ 2)- Поэтому в точке А достигается условный глобальный максимум (п.З замечаний 3.6). Так как функция f(x) = xx-x2 не является выпуклой, то о точках В и С вывод сделать нельзя (п.З замечаний 3.6). Если бы в задаче исследовалась функция f(x) = -xj + х2, которая выпукла, то в точке А был бы глобальный минимум (п.З замечаний 3.6), а о точках Ви С вывод сделать нельзя. Из рис. 3.20 следует, что в точке В - условный локальный минимум, а в точке С - условный глобальный минимум. 5. Значения функции в точках экстремума: f(A) = -r,f(B) = 1,/(С) = -5. ¦ 93
Рис. 3.20 Пример 3.25. Найти условный экстремум в задаче f(x) = (xj - а) + х\ -> extr, /(х) = 1 /W-o —5 при а = 2,-1. D 1. Составим обобщенную функцию Лагранжа: Ц ] 2. Выпишем необходимые условия экстремума первого порядка: ОХ2 0; б) х,2+х|-1 = 0, -X! ?0; в) Х2 > 0 (для минимума), А,2 < 0 (для максимума); г) X2(-*i) = 0. 3. Решим систему для двух случаев. В первом случае Х.о = 0. Тогда условие "а* имеет вид 2кххх - Х2 = 0, 2Ххх2 =0. Рассмотрим два варианта удовлетворения условия "г". Если Х2 = 0, то при Xi = 0 не удовлетворяется утверждение 3.8, а при А., 5* 0 получаем: х{=х2=0. Тогда не удовлетворяется ограничение-равенство в условии " б". Если А.2 * 0, то х\ = 0 и Х2 = 0, т.е. имеется противоречие. Во втором случае \0 * 0. Поделим уравнения системы, приведенной в п.2, на А,о и заменим — на Х{, — на Х2. Условие "аи принимает форму 94
X20, ^ 2x2 0Х2 Рассмотрим два варианта удовлетворения условия "г": 2(xj -a)+2^!= О, 2х2 + 2^*2 = 2х2A + А.,) = О, Из второго уравнения следует: ^ = -1 или х2 = 0. При Xj = -1 первое уравнение несовместно, так как а * 0. При х2 = 0 получаем Xj = ±1. Ограничению "б" удовлетворяет х{ = 1. Тогда A.t = а -1. Получили условно-стационарную точку А : xi =1,^=0,^ =а-1,Г2=0; 2) Х2 * 0. Тогда X! = 0 и х2 = ±1. Из условия "а" следует Хх = -1, Х2 = -2а. Получили две условно-стационарные точки: В : *i = 0, xj = 1, Х\ = -1, Х2 = -2а; С: хГ = 0, х2 = -1, Х\ = -1, Х2 = -2а. При а > 0 в точках может быть максимум, так как Х2 < 0, а при а < 0 - минимум. 4. Проверим достаточные условия экстремума. Начнем с условий первого порядка. В точке А ограничение-неравенство не является активным, поэтому / = 1 < л = 2 и условия не выполняются. В точках В и С ограничение* неравенство активное: / = 2 = « . При а = 2 получаем А*2=-4<0 , поэтому в точках Вт С - условный локальный максимум (строка 2 табл. 3.4). При а = -1 получаем Х*2 = 2 > 0 и поэтому в точках В и С - условный локальный минимум (строка 1 в табл. 3.4). Проверим достаточные условия экстремума второго порядка. Исследуем точку А. В ней ограничение-неравенство не является активным: d2L(A) = B + 2Х\) dx,2 + B + 2X1) ^2 > dg{(A) = 2xf dxx + 2x2 dx2 = 2dxx = 0. Отсюда dxx=0 и rf2Z,(i4) = B + 2Xl)dx|. При а = 2 получаем X) = 1 и */21(Л) = 4dx2 > 0 при dx2 * 0, следовательно, в точке Л - условный локальный минимум (строка 1 в табл. 3.5). При а = -1 получаем Х\ = -2 и d2L{A) = -2dx2 <0 при dx2 * 0. Поэтому в точке Л - условный локальный максимум (строка 2 в табл. 3.5). Исследуем точки В и С (их можно было бы и не проверять, так как вывод уже сделан). В них ограничение-неравенство активное. Так как Х\ = -1, то d2L(B) = d2L(C) а 0. Требуется дополнительное исследование (строки 5 и 6 в табл. 3.5). Так как ограничение-равенство не является линейным, нельзя сделать вывод о глобальном минимуме и максимуме (п.З замечаний 3.6). Графическое решение свидетельствует о том, что в точках В и С при a = 2 достигается глобальный условный максимум, а при a = -1 - глобальный условный минимум (рис. 3.21). 95
<Х = 2 В Рис. 3.21 5. Значения функции в точках экстремума при () () () Задачи для самостоятельного решения 1. Найти условный экстремум в задаче /(х) = хх + х2 -> extr, Ответ: в точке х* = (-2,- 2)г - условный минимум, а в точке х*т = B,2)г условный максимум. 2. Проверить, является ли точка х* = (-2,2)^ решением задачи f(x) = Ответ: является. 3. Решить задачу Ответ: в точках х* = @,-2)г и х** = @,2)г- условный минимум. 4. Проверить, является ли точка х* = @,2)г решением задачи f(x) = хг2 + х22 -> min, Ответ: является. /(х) = X!2 + х22 -> min , = x2-x12-2 = 0. 96
5. Решить задачу fix) = х2 + х22 -» min, g\(x) = x22-xx =0. Ответ: в точке jc* = @,0)^ - условный минимум. 6. Решить задачу f(x) = 2х{2 - 4xt + х22 - 8х2 + 3 -> extr, Ответ: в точке х* = (-%,- {%)Т- условный минимум. 7. Решить задачу fix) = -4х2 -4*1 -х22 + 8х2 -5 -> extr, Ответ: в точке jc* = B,25;-1,5)г - условный максимум. 8. Найти условный экстремум в задаче /(х) = (*! +4J +(х2 -4J +1 -> extr, Ответ: в точке х* = @,4)^-условный минимум, а условного максимума нет. 9. Найти условный экстремум в задаче = (x1+2J+(x2-2J->extr, Ответ: в точке х* = @,0)г- условный минимум, а в точке х** условный максимум. 10. Решить задачу xj2 +x22 i X! >0, Х2 ^0 . Ответ: в точке х* = @,0)^- условный минимум. П. Решить задачу /(х) = х2 + х2 -> min, (х,-2J+4х22<16. Ответ: в точке х* = @,0)г~ условный минимум. 12. Решить задачу fix) = xj2 + x22 -> min, 2х12+(х2-4J<1. Ответ: в точке х* = @,3)Г- условный минимум. 13. Решить задачу fix) = X! + х2 -» min, 2х! + х2 < 4, xj >0, х2 >0 . Ответ: в точке х* = @,0)Т - условный минимум. 7-4751 97
14. Решить задачу /(х) = х,2 + (х2 - 4J -> min, Xi2 + х22 ? 4, 4xt2 + x22 ?4. Ответ: в точке х* = @,2)г- условный минимум. 15. Решить задачу /(х) = 2xj2 + х22 -> min, t2 !2 Ответ: в точках х* = A,0)Т и х** = (-1,0)г- условный минимум. 16. Проверить, является ли точка х* = @,4)т решением задачи f(x) = x{2-x22 ->min, Xj2+X22<16, Xj+X2^4. Ответ: является. 17. Проверить, является ли точка х* = @2)Т решением задачи /(х) = xj2 + (х2 - 2J -^ min, X!2 + 2(х2 - 2J < 8, X!2 + 2х22 < 8. Ответ: является. 18. Проверить, является ли точка х* = @,0)Т решением задачи /(х) = X!2 + 4х22 -> min, Xj2 + X!X2 + Х22 ^ 16 , Xi2 - X\X2 + Х22 < 16 . Ответ: является. 19. Проверить, является ли точка х* = @,0)Т решением задачи /(х) = Xjx2 -> min, х2+х22 <16, хх >0, х2 >0 . Ответ: является. 20. Проверить, является ли точка х* = @,0)Т решением задачи /(х) = xj2 + х22 -* min, xj2 + 2(x2 -2J <8, х,2 + (х2 - 2J > 1. Ответ: является. 21. Проверить, является ли точка х* = @,4)г решением задачи /(х) = х2 + (х2 - 4J -> min, Xi2+x22?l6, Xj2+x22^4. Ответ: является. 22. Решить задачу /(х) = (х{ - 2J + х22 -> extr, Xj + Х2 <, 1, х, ? 0, х2 ? 0 . Ответ: в точке Л = A,0)г - условный минимум, в точке В = @,1)г - условный максимум. 98
23. Решить задачу /(х) = х, - 2х22 + 4х2 -> max, -Зх,-2х2=6. Ответ: в точке Л = (-^о>%;)Г- условный максимум. 24. Найти условный экстремум в задаче fix) = (*, + ЗJ + (х2 + ЗJ + 2 -> extr, = х,2+х22-1<0, Ответ: в точке х* = (-1,0)^ - условный минимум, а в точке х* условный максимум. 25. Решить задачу fix) = -4xt2 -8xj + х2 + 3 -> max, -х,-х2=2. Ответ: в точке А = (-1,125;- 0,875)^- условный максимум. 26. Решить задачу /(х) = -xj - х2 - х3 -» max, xi2 + Х22 " хъ - 0> х3 < 2. Ответ: в точке А = (- l^,- J/, V6r - условный максимум. 27. Решить задачу /(х) = (xj -1J + (х2 - ЗJ -> min, Зх,2+2х22<21, 4х! + 5х2 < 20, Xj ^0, х2 >0 . Ответ: в точке А = (\?)Т - условный минимум. 28. Решить задачу /(х) = 3xi2 + 4xjX2 + 5x22 -> min, X! + Х2 > 4, X! >0, Х2 ^0 . Ответ: в точке А = C,1)Т - условный минимум. 29. Решить задачу /(х) = 4xj2 + 4х! + х22 - 8х2 + 5 -> min, Ответ: в точке А = B,25;- \?)Т- условный минимум. 30. Найти условный экстремум в задаче fix) = ix{ + 2J + (х2 + 2J -10 -+ extr, Ответ: в точке х* = @,0)г- условный минимум, а в точке х* - условный максимум. 99
31. Найти условный максимум в задаче Дх) = -8*!2 + Ахх - х22 +12*2 - 7 -» max, 2х\ + Зх2 = - 6. Ответ: в точке х* = (г^%%*-'*%фТ~ условный максимум. 32. Решить задачу /(x) = (x1+4J+(x2-4J->extr, 2х!-х2^2, xj ?0, х2 ?0 . Ответ: в точке А = @,4)г - условный минимум, условного максимума нет. 33. Найти условный экстремум в задаче /(х) = X!2 + х22 + х32 -> extr, Ответ: в точке х* =A,1,2)г- условный минимум, а в точке х** = (-2;- 2,8)г - условный максимум. 34. Решить задачу /(x) = (x1-3J+(x2-4J->extr, Зх! + 2х2 ^ 7, Юх! - х2 < 8, -18Х] +4х2 <12, Xj ^0, х2 >0 . Ответ: в точке Л = (^%01'4^10рГ~ Условный минимум, в точке •,12)г- условный м 35. Решить задачу В = B,12)г- условный максимум. /(х) = 6xj - Х|2 + х2 -+ max, 2х! +3х2 ^24, X! + 2х2 й 15, Зх! + 2х2 й 24, х2 < 4, х{ ? 0, х2 > 0 . Ответ: в точке В = C,4)г - условный максимум. 36. Решить задачу /(x) = (xl-4J+(x2-3J^extr, 2х! +3х2 >6, Зх! -2х2 ^18, ~х,+2х2<8, X! >0, Х2 >0 . Ответ: в точке А = D,3)г - условный минимум, в точке В = A3;10,5)г- условный максимум. 100
Глава II. ЧИСЛЕННЫЕ МЕТОДЫ ПОИСКА БЕЗУСЛОВНОГО ЭКСТРЕМУМА § 4. ПРИНЦИПЫ ПОСТРОЕНИЯ ЧИСЛЕННЫХ МЕТОДОВ ПОИСКА БЕЗУСЛОВНОГО ЭКСТРЕМУМА Применение необходимых и достаточных условий безусловного экстремума, изложенных во второй главе, эффективно для решения ограниченного числа примеров, в которых вытекающие из условий соотношения имеют аналитическое решение. Для решения большинства практических задач они не могут быть рекомендованы по следующим причинам. 1. Целевая функция /(х) может не иметь непрерывных производных до второго порядка включительно. 2. Использование необходимого условия первого порядка B.3) связано с решением системы п в общем случае нелинейных алгебраических уравнений, что представляет собой самостоятельную задачу, трудоемкость решения которой сравнима с трудоемкостью численного решения поставленной задачи поиска экстремума. 3. Возможны случаи, когда о целевой функции известно лишь то, что ее значение может быть вычислено с нужной точностью, а сама функция задана неявно. Подавляющее большинство численных методов оптимизации относится к классу итерационных, т.е. порождающих последовательность точек в соответствии с предписанным набором правил, включающим критерий окончания. При заданной начальной точке х° методы генерируют последовательность дс0,*1,*2,....Преобразование точки хк в xk+l представляет собой итерацию. Для определенности рассмотрим задачу поиска безусловного локального минимума: /(х*) = min /(*). D.1) Численное решение задачи D.1), как правило, связано с построением последовательности (x*J точек, обладающих свойством /(х*+1)</(**), к = 0,1,.... D.2) Общее правило построения последовательности (хЧ имеет вид х*+1=х*+/*</*, к = 0,1,..., D.3) где точка х° - начальная точка поиска; dk - приемлемое направление перехода из точки хк в точку х*+1, обеспечивающее выполнение условия D.2) и называемое направлением спуска; tk - величина шага. Начальная точка поиска х° задается, исходя из физического содержания решаемой задачи и наличия априорной информации о положении точек экстремума. 101
Приемлемое направление спуска dk должно удовлетворять условию (v/(x*),</*)<О, * = 0,1,... , D.4) обеспечивающему убывание функции f(x). Примером приемлемого направления является направление вектора антиградиента: dk = -V/ГхМ. Величина шага tk > О выбирается либо из условия D.2), либо из условия минимума функции вдоль направления спуска: f[xk + tkdk)^>m\n. D.5) Выбор шага tk из условия D.5) делает спуск в направлении dk наискорейшим. Определение 4.1. Последовательность lxk) называется минимизирующей, если lim /1**) = /*, т.е. последовательность сходится к нижней грани Определение 4.2. Последовательность [хк\ называется сходящейся к точке минимума х*, если хк - jc* -» 0 при к -> оо. Сходимость последовательности \хк\ при выборе приемлемого направления dk и величины шага tk из условия D.2) или D.5) зависит от характера функции f(x) и от выбора начальной точки х°. Пример 4.1. Классифицировать согласно определениям 4.1 и 4.2: а) последовательность \хк\ = к для функции /(х) = -; 1 ] 1 + х4 б) последовательность \xk\t заданную правилом хк+{ = хк -—V/(x*) для функции f(x) = х? + х\. П Воспользуемся определениями 4.1 и 4.2: а) для функции /(*) = т последовательность \хк\ = к, к = 1,2,... явля- 1 + х4 [ ' ется минимизирующей, так как lim /(fc) = 0 = /*, однако она не сходится к —>оо к точке минимума х* = 0; б) для функции f(x) = X[ +х% последовательность хк+х = хк -—Vf\xk) является не только минимизирующей, но и сходящейся к точке лс*=(О,О) , 102
В зависимости от наивысшего порядка частных производных функции /(х), используемых для формирования dk и tk, численные методы решения задачи безусловной минимизации D.1) принято делить на три группы. 1. Методы нулевого порядка, использующие только информацию о значении функции /(х). 2. Методы первого порядка, использующие информацию о первых производных функции /(х). 3. Методы второго порядка, требующие для своей реализации знания вторых производных функции /(х). Работоспособность метода еще не гарантирована доказательством сходимости соответствующей последовательности - нужна определенная скорость сходимости. Заметим, однако, что на практике следствия общей теории сходимости должны использоваться с большой осторожностью. Так, например, нельзя оценивать алгоритмы только по величинам теоретических скоростей сходимости генерируемых ими последовательностей - хотя эти скорости в определенной степени определяют эффективность методов, условия, при которых они достижимы, реализуются редко. Точно так же нельзя пренебрегать алгоритмом лишь по той причине, что теоремы о скорости его сходимости не доказаны: это может объясняться низким качеством метода, но не исключено, что доказательства нет просто потому, что провести его очень сложно [30]. Рассмотрим последовательность {х*[, сходящуюся к х*. Предположим, что все ее элементы различны и ни одна из точек хк не совпадает с х*. Наиболее эффективный способ оценивания скорости сходимости состоит в сопоставлении расстояния между хк+{ и х* и расстояния между хк их*. Определение 4.3. Последовательность \хк\ называется сходящейся с порядком г, если г - максимальное число, для которого 0 < lim Поскольку величина г определяется предельными свойствами |х*1, она называется асимптотической скоростью сходимости. Определение 4.4. Если последовательность (хМ сходящаяся с порядком г , то число с = . lim -и——¦ - называется асимптотическим параметром ошибки. Определение 4.5. Если г = 1, с < 1, то сходимость линейная', если г = 2, то сходимость квадратичная', если г > 1 или г = 1,с = 0, то сходимость сверхлинейная. Линейная сходимость является синонимом сходимости со скоростью геометрической профессии. ЮЗ
Пример 4.2. Определить порядок сходимости последовательности хк = сР ', ? = 0,1,2,... , где 0<а <1. ? Каждый следующий член этой последовательности равен квадрату предыдущего, а ее предел равен нулю. По определению 4.4 Jfc+1 id.. |х*-0|2 поэтому г = 2 и сходимость квадратичная. Квадратичная сходимость, грубо говоря, означает, что с каждым шагом число правильных цифр у хк удваивается. Первые четырнадцать членов последовательности с параметром а = 0,99 приведены во втором столбце табл. 4.1. Заметим, что удвоение числа правильных цифр начинается не сразу, а, точнее, при к > 1. ¦ Таблица 4.1 к 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 хк 0,99 0,9801 0,96059601 0,92274469 0,85145777 0,72498033 0,52559649 0,27625167 0,07631498 0,00582398 0,00003392 0Д1515 х 10~8 0,13236 х 107 0,17519 х 10~36 0,30692 х 102 2,2 1,4832397 1Д178833 1Д035775 1,0505130 1,0249453 1,0123958 1,0061788 1,0030847 1,0015411 1,0007703 1,0003851 1,0001925 1,0000963 1,0000481 zk 1,0 0,25 0,03703704 0,00390625 0,00032 0,00002143 0,00000121 0,0000000596 0,0000000026 - - - - - Пример 4.3. Определить порядок сходимости последовательностей: U-k\ а) ук =а{ ', ? = 0,1,... , где д>0; б) ук =1 + 2"*, А: = 0,1,... . ? Воспользуемся определениями 4.3 - 4.5: а) каждый следующий член этой последовательности является квадратным корнем предыдущего. Ее предел при любом а > 0 равен 1, причем hm а1 -\ lim 1 1 Поэтому г = 1 и сходимость линейная. Первые четырнадцать членов этой последовательности при а = 2,2 приведены в третьем столбце табл. 4.1. 104
б) последовательность {у*} = < 2, —, —, —, • • • [ сходится к х* = 1, причем Поэтому г = 1 и сходимость линейная. ¦ Пример 4.4. Определить порядок сходимости последовательности zk = —-, * = 1,2,... . D Предел \zk} равен нулю и lim к lim к = 0. **1-0 Так как г = 1 и с = 0, то сходимость сверхлинейная. Первые девять членов этой последовательности приведены в четвертом столбце табл. 4.1. ¦ Замечания 4.1. 1. На практике линейная сходимость может быть медленной, в то время как квадратичная или сверхлинейная сходимость является довольно быстрой. Реальное поведение итерационного процесса зависит от константы с , например, линейная сходимость с константой с = 0,001, вероятно, является вполне удовлетворительной, а с константой с = 0,9 - нет. 2. Одним из критериев сходимости, часто используемым при сравнении алгоритмов, является их способность эффективно минимизировать квадратичные функции. Это объясняется тем, что вблизи минимума квадратичная функция может быть достаточно хорошей аппроксимацией целевой функции. Таким образом, алгоритм, который не дает хороших результатов при минимизации квадратичной функции, вряд ли может быть с успехом использован в случае общей нелинейной функции, когда текущая точка находится в окрестности минимума. Излагаемые далее численные методы решения задачи D.1) иллюстрируются решениями примеров, связанных с минимизацией квадратичной функции двух переменных. В [42] приведены примеры применения этих методов и минимизации функций, имеющих специальную структуру линий уровня, и сделана попытка анализа эффективности этих методов в зависимости от характера целевой функции /(*). Задачи для самостоятельного решения 1. Классифицировать последовательность fX о о о Для функции /(jc) О У2 0 2х/-1 0 ° У( 2 - 15xj + х22 - х2 + Зх32 + 6х3 +10. -15 105
Ответ: последовательность является минимизирующей и сходящейся к точке минимума х* = A,5;0,5;- 1)Т. 2. Классифицировать последовательность (К о Уг\ 6х2к Ык +16 + 18 -4 у для функции /(дс) = Ахх2 + I6xt + 3jc22 +18*2 + *з2 - 4*3 + ^ • Ответ: последовательность является минимизирующей и сходящейся к точке минимума х* = (-2,-3,2)^. 3. Определить порядок сходимости последовательности хк =1 + 3"-*, А: = 0,1,... Ответ: последовательность сходится к х* = 1 линейно при С = У$ - 4. Определить порядок сходимости последовательности х*=1 + 2-2\ к =0,1,... Ответ: последовательность сходится кх*=1 квадратично при с = 1 . 5. Классифицировать последовательность хк =-3 + —^-, А: = 0,1,... к \ для функции /(х) = х2 + 6х +12. Ответ: последовательность минимизирующая и сходится к точке х* = -3 минимума функции. 6. Классифицировать последовательность хш =JC*_Iv/(x*), A: = 0,1,... 8 для функции /(х) = 4х2 - 8х + 7. Ответ: последовательность минимизирующая и сходится к точке х* = 1 минимума функции. 7. Классифицировать последовательность А: = 0,1,... Ответ: последовательность является сходящейся к точке х* = A,1)г. 106
§5. МЕТОДЫ НУЛЕВОГО ПОРЯДКА 5.1. МЕТОДЫ ОДНОМЕРНОЙ МИНИМИЗАЦИИ 5.1.1. Постановка задачи и стратегии поиска Постановка задачи Требуется найти безусловный минимум функции f(x) одной переменной, т.е. такую точку х* е /?, что fix*) = min f(x). Поставленная задача одномерной минимизации может быть решена с помощью необходимых и достаточных условий безусловного экстремума (см. § 2). Однако проблема получения решения уравнения ^ = О может оказаться ах весьма сложной. Более того, в практических задачах функция f(x) может быть не задана в аналитическом виде или часто неизвестно, является ли она дифференцируемой. Поэтому получение численного решения поставленной задачи является актуальным. Замечания 5.1. 1. Для методов одномерной минимизации типично задание априорной информации о положении точки минимума с помощью начального интервала неопределенности Iq-^o»^)] (Рис- 5.1). Предполагается, что точка минимума х* принадлежит интервалу Lq, но ее точное значение неизвестно. 2. Большинство известных методов одномерной минимизации применяется для класса унимодальных функций. Определение 5.1. Функция f(x) называется унимодальной на интервале Ц = [я<ъ^ь] > если она достигает глобального минимума на [tfo>^o] B единственной точке х*, причем слева от х* эта функция строго убывает, а справа от х* строго возрастает. Если а0 й у < z < х*, то f(y) > f(z), а если х* < у < z ^ Ьо, то f{y)<f(z)(pMC.5.l,a). f f Рис. 5.1 107
Отметим, что непрерывная строго выпуклая функция является унимодальной. Однако .определению 5.1 могут удовлетворять и функции, не являющиеся непрерывными и выпуклыми (рис. 5.1, б). 3. Методы одномерной минимизации широко применяются в методах первого и второго порядков для нахождения оптимальной величины шага (см. § 6 и 7). При этом левая граница начального интервала неопределенности, как правило, совпадает с началом координат, т.е. а0 = 0. Стратегии поиска Существуют две принципиально различные стратегии выбора точек, в которых производится вычисление значений функции. Если все точки задаются заранее, до начала вычислений, - это пассивная (параллельная) стратегия. Если эти точки выбираются последовательно в процессе поиска с учетом результатов предыдущих вычислений,- это последовательная стратегия. Примером реализации пассивной стратегии является метод равномерного поиска (см. разд. 5.1.1). Последовательную стратегию можно реализовать следующими способами: а) применением квадратичной и кубической интерполяции, где по нескольким вычисленным значениям функции строится интерполяционный полином, а его минимум указывает на очередное приближение искомой точки экстремума (см. разд. 5.1.7 и 6.7); б) построением последовательности вложенных друг в друга интервалов, каждый из которых содержит точку минимума (см. разд. 5.1.3 - 5.1.6). Стратегия поиска включает в себя три этапа: 1. Выбор начального интервала неопределенности. Границы до,Ь^ интервала должны быть такими, чтобы функция f(x) была унимодальной (см. определение 5.1). 2. Уменьшение интервала неопределенности. 3. Проверку условия окончания. Поиск заканчивается, когда длина текущего интервала неопределенности [я*,?*] оказывается меньше установленной величины. Ответом является множество точек, принадлежащих последнему интервалу неопределенности, среди которых каким-либо образом выбирается решение задачи х*. Замечания 5.2. 1. В некоторых методах заранее задается или находится количество N вычислений функции. В этом случае продолжительность поиска ограничена. 2. Для эвристического выбора начального интервала неопределенности можно применить алгоритм Свенна [Swann W.H.]: 1) задать произвольно следующие параметры: х° - некоторую точку, t > 0 - величину шага. Положить к = 0 ; 2) вычислить значение функции в трех точках: х° -1, х°, х° +1; 3) проверить условие окончания: а) если f(x° -n> f[x] ^ /(*° + п > то начальный интервал неопределенности найден: [до»^о] = \х° ~*,х°+А; 108
б) если fix0 -t\< f[x°) ^ /(*° + t\, то функция не является унимодальной (см. определение 5.1), а требуемый интервал неопределенности не может быть найден. Вычисления при этом прекращаются (рекомендуется задать другую начальную точку х°); в) если условие окончания не выполняется, то перейти к шагу 4; 4) определить величину А : xl=x° -f; а) если б) если f(x° - f) < /(x°) < /(х° + /), то 5) найти следующую точку х*+1 = хк + 2* А; 6) проверить условие убывания функции: а) если /(x*+1) < /(**) и А = г , то а0 = хк; если /fx*+11 </(**) и А = -^,то Ь$=хк\ в обоих случаях положить к = к + 1 и перейти к шагу 5; б) если f(xk+{\>flxk>j, процедура завершается. При А ; к = 1 ; положить Ьо = xk+l, а при А = -/ положить а0 = xk+l. В результате имеем [ао,Ьо\ - искомый начальный интервал неопределенности. 3. Уменьшение интервала неопределенности, осуществляемое при использовании последовательной стратегии, производится на основании вычисления функции в двух точках текущего интервала. Свойство унимодальности позволяет определить, в каком из возможных подынтервалов точка минимума отсутствует. Пусть в точках у и z интервала [a9b] вычислены значения функции: f{y) и f{z). Если f{y)>f{z)9 то х* е[а,у) и поэтому х* е[у,Ь] (рис. 5.2, а). Если f(y)<f(z), то х* e(z,b] и поэтому х* e[a,z] (рис. 5.2, б). Иными словами, в качестве нового интервала берется "гарантирующий интервал", наверняка содержащий точку минимума. Если f(y) = f(z), в качестве нового интервала можно взять любой из изображенных на рис. 5.2. /(у) № Новый интервал Текущий интервал Рис. 5.2 109
Для оценки эффективности алгоритмов уменьшения интервала неопределенности при заданном числе # вычислений функции введем критерий. Определение 5.2. Характеристикой R(N) относительного уменьшения начального интервала неопределенности называется отношение длины интервала, получаемого в результате N вычислений функции, к длине начального интервала не- \lN\ определенности: R(N) = \—р. ы Пример 5.1. Найти начальный интервал неопределенности для поиска минимума функции /(х) = (х - 5) . ? Воспользуемся алгоритмом Свенна. 1. Зададим х° = 1 и t = 1. Положим к = 0. 2°. Вычислим значения функции в точках х° - / = 0; х° = 1; х° + / = 2: /@) = 25, /A) = 16; /B) = 9. 3°. Условия окончания не выполняются. 4°.Таккак/@)>/A)>/B),то Л = 1, а0 = 1, х1 =х° + / = 2, к = \. 5°. Найдем следующую точку х2 = х1 + 2Д = 2 + 2 = 4. 6°. Так как fix2) = 1 < f(xl) и Л = 1, то а0 = х1 = 2. Положим к = 2 и перейдем к шагу 5. 51. Найдем следующую точку х3 = х2 + 4Л = 4 + 4 = 8. б1. Так как /(*3) = 9 > /(*2) = 1 и Л = / = 1, то поиск завершен и правая граница 1% = х3 = 8. Поэтому начальный интервал неопределенности имеет вид 5.1.2. Метод равномерного поиска Постановка задачи Требуется найти безусловный минимум функции /(х) одной переменной, т.е. такую точку х* е R, что fix*) = min f(x). х ' х gR Стратегия поиска Метод относится к пассивным стратегиям. Задается начальный интервал неопределенности Io=[flo»^)] и количество вычислений функции N. Вычисления производятся в N равноотстоящих друг от друга точках (при этом интервал Lo делится на N + 1 равных интервалов). Путем сравнения величин /(*/), / = 1,...,УУ находится точка хк, в которой значение функции наименьшее. Искомая точка минимума х* считается заключенной в интервале [х*-1>х*+|] (рис. 5.3). по
Алгоритм Шаг 1. Задать начальный интервал неопределенности 1о=[до,^], N - количество вычислений функции. Шаг 2. Вычислить точки xt = а0 + i равноотстоящие друг от друга. Шаг 3. Вычислить значения функции в N найденных точках: /(*,), Шаг 4. Среди точек xi9 i = 1,...tNt найти такую, в которой функция принимает наименьшее значение: f(xk) = min f(xf). Шаг 5. Точка минимума х* принадлежит интервалу, х* e[xk_{ixk+]] = LN, на котором в качестве приближенного решения может быть выбрана точка х* =хк. X! xN Рис. 5.3 Сходимость Для метода равномерного поиска характеристика относительного уменьшения начального интервала неопределенности находится по формуле R(N) = , где N - количество вычислений функции. N + \ Замечания 5.3. 1. Если задана величина R(N), то требуемое для достижения желаемой точности количество вычислений функции определяется как наименьшее целое число, удовлетворяющее условию N ? , > -1. R\Pi) 111
2. Разбиение интервала [до>^о] на ^ + 1 равных частей используется также в методе перебора. Для решения задачи этим методом следует: а) вычислить точки х, = а0 + i ~ ', i = 0,...,iV +1, равноотстоящие друг от друга; б) вычислить значения функции в найденных точках: /(дс,), / = 0,..., N +1; в) среди точек xl9 / = O,...,N + 1, найти такую, в которой функция принимает наименьшее значение: /(**)= min /(*/)• Погрешность Иакова /^ JV +1 ждения точки минимума методом перебора не превосходит ——— . Пример 5,2. Найти минимум функции f(x) = 2х2 - Их методом равномерного поиска. D Воспользуемся алгоритмом равномерного поиска. 1. Найдем начальный интервал неопределенности методом Свенна (см. п. 2 замечаний 5.2): а) зададим начальную точку х° = 5, шаг t = 5. Положим к = 0; б) вычислим значение функции в трех точках: х° - / = 0; х° = 5; х° + / = 10: /(х°-/)=0; /И=-10; /(х°+/)=80; в) так как f(x° - /) > f(x°\ < fU° +1\, то начальный интервал неопределенности найден: 1о = [О,Ш]. Зададим N = 9 так, чтобы Ц содержал N + 1 = 10 равных подынтервалов. 2. Определим точки вычисления функции: xt =0 + i \ "" ' = /, i = 1,...,9. 3. Вычислим значения функции в девяти точках: /A) = -10, /B) = -16, /C) = -18, /D) = -16, /E) = -10, /F) = 0, /G) = 14, /(8) = 32, /(9) - 54. 4. В точке х3 = 3 функция принимает наименьшее значение: /(*з) = -18- 5. Искомая точка минимума после девяти вычислений принадлежит интервалу: х* е[2,4] = Ц, в котором выбирается точка х* s х3 = 3. Заметим, что характеристика относительного уменьшения начального интервала неопределенности R(N) = |—г = TT~J7 = °»2 = -—-. ¦ 5.1.3. Метод деления интервала пополам Постановка задачи Требуется найти безусловный минимум функции f(x) одной переменной, т.е. такую точку х* е R, что fix*) = min f(x). v ; x eR 112
Стратегия поиска Метод относится к последовательным стратегиям и позволяет исключить из дальнейшего рассмотрения на каждой итерации в точности половину текущего интервала неопределенности. Задается начальный интервал неопределенности, а алгоритм уменьшения интервала, являясь, как и в общем случае, "гарантирующим" (см. рис. 5.2), основан на анализе величин функции в трех точках, равномерно распределенных на текущем интервале (делящих его на четыре равные части). Условия окончания процесса поиска стандартные: поиск заканчивается, когда длина текущего интервала неопределенности оказывается меньше установленной величины. Алгоритм Шаг 1. Задать начальный интервал неопределенности Lq = [а^,Ь0] и / > 0 - требуемую точность. Шаг 2. Положить к = О . Шаг 3. Вычислить среднюю точку хк = * * , \lqk\ ~^к -ак> /\хк)• 2 Шаг 4. Вычислить точки: ук =ак + -——, zk -bk -—j^ и f(yk), Заметим, что точки ук, хк> zk делят интервал [яЛ,6Л] на четыре равные части. Шаг 5. Сравнить значения f(yk) и f(xk\: а) если f(yk)< f(xk)> исключить интервал (х?,?>Л, положив Ьк+]=хк, ак+\=ак- Средней точкой нового интервала становится точка ук: дс?+1 = ук (рис. 5.4, а). Перейти к шагу 7; б) если f(yk) ^ /(**), перейти к шагу 6. Шаг 6. Сравнить f(zk) с /{хсЛ\ а) если f(zk)<f(xk), исключить интервал ffl*,x?J, положив ак+1=хк, bk+\=bk. Средней точкой нового интервала становится точка zk' хк+\ - zk (рис. 5.4, б). Перейти к шагу 7; б) если f(Zk)z f(xk)> исключить интервалы [aktyk)t (zk,bk], положив ак+\ =Ук> bk+\ -Zk- Средней точкой нового интервала останется хк: хк+1 = хк (рис. 5.4, в). Шаг 1. Вычислить |^(л+1)| = |^+i -a*+i| и проверить условие окончания: а) если |/>2(*+1)| -1 > процесс поиска завершается и х* е ^(/t+i) =[e*+i»^ui]- В качестве приближенного решения можно взять середину последнего интервала: v* - VC = ^к + \ , б) если |/^(^+i)| > /, то положить к = к +1 и перейти к шагу 4. 8-4751 ИЗ
Текущий интервал а Текущий интервал б Текущий интервал Рис. 5.4 Сходимость Для метода деления интервала пополам характеристика относительного уменьшения начального интервала неопределенности находится по формуле /?(#) = ——, где N - количество вычислений функции. 22 Замечания 5.4. 1. Средняя точка последовательно получаемых интервалов всегда совпадает с одной из трех пробных точек, найденных на предыдущей итерации. Следовательно, на каждой итерации требуются два новых вычисления функции. 2. Если задана величина R(N), то требуемое для достижения желаемой точности количество вычислений функции находится как наименьшее целое, удовлетворяющее условию N > In 0,5 114
3. Текущие интервалы имеют четные номера Lq,L2,L49..., где индекс указывает на сделанное количество вычислений функции. Пример 5.3. Найти минимум функции f(x) = 2x2 -\2х методом деления интервала пополам. D 1. Зададим начальный интервал неопределенности 1о=[О,1О] (см. п. 1 примера 5.2). Пусть / = 1. 2. Положим к = 0. 3°. Вычислим х§=^у^ = 5, |Хо| = |Ю — 0| = 10, /(xg)--10. 4°. Вычислим yo=flo+M = O + -j = 2,5; z0 =^ -™- 10-^ = 7,5; () 22,5. 5°. Сравним f(yQ) и /Щ. Так как /(у0) = -17^ < /(х§) = -10, то положим щ = а0 = 0, 1\ = х§ = 5, х{ = ^о = 2>5• 7°. Получим ^2 =[0>5], |Х2| = 5>/ = 1, А: = 1. Переходим к шагу 4. ^.Вычислим у{ =с1+^- = 0 + - = 1,25; ^ =^ - ^ = 5 -1 = 3,75; 51. Сравним f{y{) и /(*f) = /(у0) = -17,5. Так как Д^) = -11,875 > flxf) = -17,5, то перейдем к шагу 6. 61. Сравним f(zx) и /(xf). Так как f(zx) = -16,875 > /(xf) = -17,5, то положим: а2 = У1 = 1,25; ^ = ^l = 3»75 i Л2 = *f = W • 71. Получим L4 = [1,25; 3,75], |l4| = 3,75 -1,25 = 2,5 > / = 1. Положим Ь2и переходим к шагу 4. 42. Вычислим У2=а2 +Ы.и5+^.1Д75; z2 -^ -1^ = 3,75-^ = 3,125; /(у2) = -15,47; /(«2)а -17,97. 52. Сравним /(Л) с /(д^) = /(xf) = -17,5. Так как /(.Уг) = -15,47 > /(^г) = "-17»5» то переходим к шагу 6. 62. Сравним Д*2) с /(^)«-17,5. Так как f(z2) = -17,97 </(*$) = -17^; ТО ПОЛОЖИМ fl3 = *2 = 2»5 ; ^ = ^ = 3»75 J Х3 - *2 s 3Д25 • 72. Получим L6= [2,5;3,75], |4| = 3,75-2,5 = 1,25 >/ = 1. Положим к = 3 и переходим к шагу 4. 115
4 . Вычислим /(^з) =-17,93; /(*3) = -17,62. 53. Сравним Г(уъ) с /(х3с) = f{z2) = -17,97. Так как f(y3) = -17,93 > /(х?) = -17,97, то перейдем к шагу 6. б3. Сравним /(*3) с /(xf). Так как f(z3) = -17,63 > /(xf) = -17,97, то положим о4 = Уг = 2>81; ^4 = *з = 3»43; *4 = хз = 3Д25 • 73. Получим Ig= [2,81;3,43], \Ц = 3,43-2,81 = 0,62 </ = 1; х* elg, tf = 8. В качестве решения можно взять среднюю точку последнего интервала х* =хс4 =3,125. -20 Рис. 5.5 Первые итерации поиска изображены на рис. 5.5. 5.1.4. Метод дихотомии Постановка задачи Требуется найти безусловный минимум функции /(х) одной переменной, т.е. такую точку х* е R, что /(х*) = min /(x). v ; х eR 116
Стратегия поиска Метод относится к последовательным стратегиям. Задается начальный интервал неопределенности и требуемая точность. Алгоритм опирается на анализ значений функции в двух точках (см. рис. 5.2). Для их нахождения текущий интервал неопределенности делится пополам и в обе стороны от середины откладывается по — , где е - малое положительное число. Условия окончания процесса поиска стандартные: поиск заканчивается, когда длина текущего интервала неопределенности оказывается меньше установленной величины. Алгоритм Шаг 1. Задать начальный интервал неопределенности 1о=[до,?\)], s>0 - малое число, / > 0 - точность. Шаг 2. Положить к = 0. ШагЪ. Вычислить ук m , Д,,). Zk Шаг 4. Сравнить f(yk) с /(**): а) если /(Ук) ^ /(z*)> положить ак+{ = ак, bk+{ = zk (рис. 5.6, а) и перейти к шагу 5; б) если f(yk) > f(zk), положить ак+[ = ук, Ьк+{ = Ьк (рис. 5.6, б). Шаг 5. Вычислить |^2(*+i)| = \bk+\ -e*+i|H проверить условие окончания: а) если |^2(л+1)|^/, процесс поиска завершается и х* el^+i) =[^+b^fe+i]- В качестве приближенного решения можно взять середину последнего интервала: * - > /, положить к = к +1 и перейти к шагу 3. Текущий интервал а Текущий интервал б Рис. 5.6 117
Сходимость Для метода дихотомии характеристика относительного уменьшения начального интервала неопределенности находится по формуле R(N) = —, где N - 22 количество вычислений функции. Замечания 5.5. 1. Текущие интервалы неопределенности Ц^уЦ,... имеют четные номера, указывающие на количество сделанных вычислений функции, как и в методе деления интервала пополам. 2. Эффективность методов дихотомии и деления интервала пополам при малых е можно считать одинаковой. Пример 5.4. Найти минимум функции /(*) = 2х2 - \2х методом дихотомии. D 1. Зададим начальный интервал неопределенности: 1о=[О,1О] (см. п. 1 примера 5.2). Положим е = 0,2, / = 1. 2. Положим к = 0. 3°. Вычислим Др+бр-е 0 + 10-0,2 о. flo+fr)+s 0 +10 + 0,2 - Уо 2 = 7 "" ' *° ~ —2 ~ 2 " ' fl^frs 0 + 5,10,2 у{ = -* в = А^э, Z\ == 4°. Так как f(y0) < f(zQ), то ах = aQ = 0, 1\ = z0 = 5,1 (рис. 5.6, а), 5°. Получим Li = [0;5,1], |Z^| = 5,1 > / = 1. Положим к = 1 и перейдем к шагу 3. 31. Вычислим 0 + 5,1-0,2 fli+fr+e 0 + 5,1 + 0,2 .,.. = А^э, Z\ = = = доэ -17395; /(г,) = -17,755. 41. Так как f{yx) > f{zx), то а2 - ^ = 2,45; ^ = ^ = 5,1 (рис. 5.6, б). 51. Получим I4=[2»45;5,l], |A| = 5,1-2,45 = 2,65 >/ = 1. Положим Ь2и перейдем к шагу 3. 32. Вычислим а2+Ь2-г 2,45 + 5,1-0,2 .,-.. flfr+^+s 2,45 + 5,1 + 0,2 д,2 = = _ = 3,675, Zi = = = 3,875, /(у2) =-17,089; Д^2) =-16,469. 42. Так как f(y2) < f(z2), то аъ = а2 - 2,45; ^ = ^2 = 3»875 (рис. 5.6, а). 52. Получим Z^= [2,45;3,875], ^ = 3,875 - 2,45 = 1,425 >/ = 1. Положим к = 3 и перейдем к шагу 3. 118
Уз = З3. Вычислим оз+^з-g 2,45 + 3,875-0,2 j = 2 о3+*3+е 2,45 + 3,875 + 0,2 2 = 2 -17,86. 43. Так как /(у3) < /fe), то я4 = Лз = 2»45 ; *4 = *з = 3Д6 (рис. 5.6, а). 53. Получим Ig = [2,45;3,26], \Ц\ = 3,26-2,45 = 0,81 < / = 1; х* е [2,45; 3,26], // = 8, х* s 2>45 + 3'26 = 2,855. -10 " -20 ¦ Рис. 5.7 Первые итерации поиска изображены на рис. 5.7. ¦ 5.1.5. Метод золотого сечения Постановка задачи Требуется найти безусловный минимум функции f(x) одной переменной, т.е. такую точку х* е R, что fix*) = min f(x). v ' x eR Для построения конкретного метода одномерной минимизации, работающего по принципу последовательного сокращения интервала неопределенности, следует задать правило выбора на каждом шаге двух внутренних точек. Конечно, желательно, чтобы одна из них всегда использовалась в качестве внутренней и для следующего интервала. Тогда число вычислений функции сократится вдвое и одна итерация потребует расчета только одного нового значения функции. В методе золотого сечения в качестве двух внутренних точек выбираются точки золотого сечения. 119
Определение 5.3. Точка производит "золотое сечение" отрезка, если отношение длины всего отрезка к большей части равно отношению большей части к меньшей. На отрезке [aQibo\ имеются две симметричные относительно его концов точки у0 и zo" Ьр-ар _Ь0-у0 _Ь0-а0 bo-Уо Уо-ао Zo-a0 bo-zo 2 Кроме того, точка у0 производит золотое сечение отрезка [flp,*p], а точка z0 - отрезка [у0Л](рис. 5.8). 00 Уо Zo ^о Рис. 5.8 Стратегия поиска Метод относится к последовательным стратегиям. Задается начальный интервал неопределенности и требуемая точность. Алгоритм уменьшения интервала опирается на анализ значений функции в двух точках (см. рис. 5.2). В качестве точек вычисления функции выбираются точки золотого сечения. Тогда с учетом свойств золотого сечения на каждой итерации, кроме первой, требуется только одно новое вычисление функции. Условия окончания процесса поиска стандартные: поиск заканчивается, когда длина текущего интервала неопределенности оказывается меньше установленной величины. Алгоритм Шаг 1. Задать начальный интервал неопределенности Lq = [а01Ьр], точность />0. Шаг 2. Положить к = 0. Шаг 3. Вычислить ^T J = 0,38196. Шаг 4. Вычислить /(у^), f{Zk)> Шаг 5. Сравнить /{Ук) и /(г*): а) если f(yk) < f(zk) , то положить ак+1 = ак, bk+l = zk и Ук+\ = ак+1 + Ьк+{ - ук, zk+{ = ук (рис. 5.9, а). Перейти к шагу 6; б) если f(yk) > f(zk) , положить ак+{ = ук, Ъм = Ък и Ук+\ = Zk , Zk+{ = ak+l + bk+l - zk (рис. 5.9, б). Шаг 6. Вычислить А = | ak+i - bk+i | и проверить условие окончания: 120
а) если Д?/, процесс поиска завершается и х* е[я*+1,^+1]. В качестве приближенного решения можно взять середину последнего интервала: ¦ fl*+i+ ьк+1 . х = - , б) если А > /, положить к = к +1 и перейти к шагу 4. Текущий интервал *• х Текущий интервал Рис. 5.9 Сходимость Для метода золотого сечения характеристика относительного уменьшения начального интервала неопределенности находится по формуле /?GV) = @,618) 7 , где N - количество вычислений функции. Замечания 5.6. 1. Текущие интервалы неопределенности имеют следующий вид: Ц,Ь2,1ъ?Ц Они отражают тот факт, что на первой итерации производится два вычисления функции, а на последующих - по одному. 2. Сокращение длины интервала неопределенности постоянно: N N N_ 3. Если задана величина R(N), то требуемое для достижения желаемой точности количество вычислений функции находится как наименьшее целое число, удовлетворяющее условию N ? 1 + \т-^ - In 0,618 121
Пример 5.5. Найти минимум функции f(x) = 2х2 - \2х методом золотого сечения. D 1. Зададим начальный интервал неопределенности: Lq =[0,10] (см. п. 1 примера 5.2). Положим / = 1. 2. Положим к = 0. 3°. Вычислим Я, = а0 + 0,382 (Ао -а0)» 0 + 0,382 10 - 3,82; *0 = а0 + Ьц -у0 =0 + 10-3,82 = 6Д8. 4°. Вычислим /(у0)- -16,65; /(<0) = 2,22. 5°. Сравним /(у0) и /(го)« Так как /()>о) </fco) > то а\=<*0 = 0> bi=z0 =6,18 (рис. 5.9, а); ух = ах + ^ -у0 = 0 + 6,18-3,82 = 2,36; ^ = yo = 3,82. 6°. Получим /^ = [Ф 6,18], II2I = 6,18 > / = 1. Положим Ы и перейдем к шагу 4. 41. Вычислим /*(yj) = —17,18 (новое вычисление), f{z\) = /(уо) = -16,65 (уже было вычислено на шаге 4°). 51. Сравним f{yx) и f(z{). Так как f(y\)<f{z\)> то д2=д1=°» ^2=^1 =3,82; ^2=^2+^-^, =0 + 3,82-236 = 1,46; ^=^1=2,36. 61. Получим 1з = [0;3,82], \L$\ = 3,82 > / = 1. Положим к = 2 и перейдем к шагу 4. 42. Вычислим /(у2) = -13,25 (новое вычисление), /(^2) = /*(j/i) = -17,18 (уже было вычислено на шаге 41). 52. Сравним f(y2) и f{z2). Так как /(y2)>/fe)» то а3=у2 = \АЬ; ^ = h = 3,82; уз = z2 = 2,36; г3 =^3 + ^з -г2 = 1,46 + 3^2-2,362 = 2,92. 62. Получим Ц = [1,46; 3,82], |14| = 3,82 -1,46 = 2,36 > / = 1. Положим к = 3 и перейдем к шагу 4. 43. Вычислим /(з'з)-/(^2) = ""^48 (уже было вычислено на шаге 42), 53. Сравним f(y3) и f(z3). Так как f(y3)>f(z3), то д4=Уз = ^4 = ^ = 3,82; у4 = z^ = 2,92; ^4 = д4 + 64 - z3 = 2,36 + 3,82 - 2,92 = 3,26. 63. Получим Ц = [2,36;3,82], |JLs| = 3,82 - 2,36 = 1,46 > / = 1. Положим к = 4 и перейдем к шагу 4. 44. Вычислим /(у4) = /(*з) = -17,99 (было известно), /(г4) = -17,86. • 54. Сравним f(y4) и f(zA). Так как f(y4) < f(z4), то 05=я4 = ?5 =г4 =3,26; у5 =«5+ ^-ЗМ = 2,36 + 3,26-2,92 = 2,7; ^ =У4 =2,92. 64. Получим Z6= [2^6;3,26], |^| = 3,26-2,36 = 0,9 </ = 1, х* eL6, 122
Первые итерации поиска изображены на рис. 5.10. ¦ Пример 5.6. Найти минимум функции /(*) = —х2 х + 2 методом зо- 4 4 лотого сечения. ? 1. Найдем начальный интервал неопределенности, пользуясь алгоритмом Свенна: а) зададим точку х° = 0,25, величину шага / = 0,25. Положим к = 0; б) вычислим значения функции в трех точках: х°=0,25; jc°-/ = O; х°+/ = 0Д: /(х°) = 0,171; /(х°-/) = 2; f(x° + /) = 2,31; в) так как fix0 -t\> f(x°) < fix0 + tV то начальный интервал неопределенности найден: I© = [0;0,5]. Положим / = 0,15. 2. Положим к = 0. 3°. Вычислим у0 - «о + 0,382(fy _ а0) = 0 + 0,382.0,5 = 0Д91; Z0 = д0 + *Ь -Уо = 0 + 0,5-0,191 = 0,309. 4°. Вычислим /(уо) = О,245; /(zo) = O319. 5°. Так как Ду0) < f{zQ), то д, = д0 = 0; ^ = z0 = 0,309; ^ =flj +*j -yo =0 + 0,309-0,191=0,118; г, =у0 = 0,191. 6°. Получим I2 = [0; 0,309]; |Z^| = 0,309 > / = 0,15. Положим Ыи перейдем к шагу 4. 41. Вычислим f(yx) = 0,642; f(z\) = 0,245. 51. Так как f(yx)> /(*,), то а2 = ух = 0,118; ^ = ^ = 0^09; у2 = *i = 0,191; ^2 = а2 + ^2 - Z\ - 0,118 + 0309 - 0,191 = 0,236. 123
61. Получим ?з = [0,118; 0,309]; Щ = 0,191 > / = 0,15. Положим к = 2 и перейдем к шагу 4. 42. Вычислим /(j>2) = 0,245; /(г2) = 0Д69. 52. Так как f(y2) > f(z2), то аъ = у2 = 0,191; ^ = 62= 0,309; >>3 = Z2 = 0Д36; Zi = ^з + *з - z2 = 0,191 + 0,309 - 0,236 = 0,264. 62. Получим 14 = [0Д91;0,309]; \L4\ = ОД 18 < / = 0,15; х* е L4, N = 4, х.д 0,191 + 0,309 5.1.6. Метод Фибоначчи Постановка задачи Требуется найти безусловный минимум функции f(x) одной переменной, т.е. такую точку х* € Л, что /(**) = min /(x). v ; х eR Для построения эффективного метода одномерной минимизации, работающего по принципу последовательного сокращения интервала неопределенности, следует задать правило выбора на каждом шаге двух внутренних точек. Конечно, желательно, чтобы одна из них всегда использовалась в качестве внутренней и для следующего интервала. Тогда количество вычислений функции сократится вдвое и одна итерация потребует расчета только одного нового значения функции. В методе Фибоначчи реализована стратегия, обеспечивающая максимальное гарантированное сокращение интервала неопределенности при заданном количестве вычислений функции и претендующая на оптимальность. Эта стратегия опирается на числа Фибоначчи. Определение 5.4. Числа Фибоначчи определяются по формуле F0 = /i=l, Fk=Fk_x+Fk_2, к = 2,3,4,... . Последовательность чисел Фибоначчи имеет вид 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,... . Стратегия поиска Метод относится к последовательным стратегиям. Задается начальный интервал непределенности и количество N вычислений функции. Алгоритм уменьшения интервала опирается на анализ значений функции в двух точках (см. рис. 5.2). Точки вычисления функции находятся с использованием последовательности из N + \ чисел Фибоначчи. Как в методе золотого сечения, на первой итерации требуются два вычисления функции, а на каждой последующей - только по одному. Условия окончания процесса поиска стандартные: поиск заканчивается, когда длина текущего интервала неопределенности оказывается меньше установленной величины. 124
Алгоритм Шаг 1. Задать начальный интервал неопределенности Ц =[а0,^]; />0 - допустимую длину конечного интервала, е > 0 - константу различимости. Шаг 2. Найти количество N вычислений функции как наименьшее целое число, при котором удовлетворяется условие FN ^*-7"% и числа Фибоначчи №.. Шаг 3. Положить к = 0. F F Шаг 4. Вычислить у0 = а0 + %~2 (^ -oq); Zq = ^о -и ^f fa -°о)- Шаг 5. Вычислить f(yk), Шаг в. Сравнить f{yk) с а) если f(yk) ^ /{%к) > положить г» <*к+\ = в*; ^a+i = ik; ^+i = у к \ Ук+\ = «*+i + *-*-3 fa+1 - Перейти к шагу 7; б) если f(yk) > f(zk)» положить р Шаг 7. Проверить условие окончания и в случае необходимости сделать заключительное N-e вычисление функции для получения решения: а) если к * N - 3, положить к = к +1 и перейти к шагу 5; б) если к-N-3, то всегда yN_2 =*#-2 = ^ N-2)^ те отсутствует точка нового вычисления функции. Следует положить: у#_\ = у^^г = Zn-2 \ Zn-\ -yN-\ +e. В точках yN_i и *#_i вычисляются значения функции и находятся границы конечного интервала неопределенности: - если f(yN-X) < f(zN-\), положить aN_x = aN_2, bN_x = zN.\; - если f(yN-X)> f(zN-i), положить aN_x = yN.XibN.x - ^.2• Процесс поиска завершается и х* €[e^_if^_!]. В качестве приближенного решения можно взять любую точку последнего интервала, например, его середи- * a*i 1 + Ьы\ ну х =-^i ?L=Lm Сходимость Для метода Фибоначчи характеристика относительного уменьшения начального интервала неопределенности находится по формуле R(N) = , где N - количество вычислений функции. 125
Замечания 5.7. 1. При заданном количестве N вычислений функции метод Фибоначчи обеспечивает минимальную величину конечного интервала неопределенности по сравнению с методами, изложенными в разд. 5.1.2 - 5.1.5. 2. Нумерация интервалов неопределенности такая же, как в методе золотого сечения: Zo,^»^,^»- (см. п. 1 замечаний 5.6). 3. На к-й итерации длина интервала неопределенности сокращается по правилу N~k~l . FN-k Пример 5.7. Найти минимум функции f(x) = 2х2 - Их методом Фибоначчи. D 1. Зададим начальный интервал неопределенности: Хф=[0,10] (см. п. 1 примера 5.2). Пусть / = 1,е = 0,01; F6=13> — = — = 10, поэтому # = 6. 2. Найдем числа Фибоначчи: Fo « Fx = \,F2 =2,F3= 3, F4 = 5,FS = 8,F6 = 13. 3. Положим А: = 0. 4°. Вычислим Уо=«о+т-(^о-«о) = 0 + ^10 = 3,846; z0 = *b ^{bo -*o) = O+-~ 10 = 6,154. Fe 13 F6 13 5°. Вычислим f(yQ) = -16^7; f{z0) = 1,893. 6°. Сравним Ду0) с /(^о). Так как Ду0) < f(zo), то ^=^ = 0; 7°. Проверим условие окончания: fc = 0*7V-3 = 6-3 = 3; 1^= [0;6,154]. Положим к = 1 и перейдем к шагу 5. 51. Вычислим значение f(yx) = -17,04; f(z\) = -16^7 (уже было вычислено на шаге 5°). 61. Сравним f{yx) и f{z\). Так как f{y\)<f{z\), то д2=«1=0; b^zx =3,846; у2 =a2+%=*-{b2-a2) = 0 + j. 3,846 = 1,538; z2=y{ =2,308. Л5-2 5 7!. Проверим условие окончания: fc = l*JV-3 = 3; L^ =[0;3,846]. Положим к = 2 и перейдем к шагу 5. 52. Вычислим /(уг) = -13,73; f(z2) = -17,04 (было вычислено на шаге 51). 62. Сравним f(y2) с f(z2). Так как /(д>2)> f{z2), то bj = *2 = 3,846; у3 = ^2 = 2,308; *з = аъ + -^-fe " дз) = 1538 + 4. C,846 -1,538) = 3,077. h-ъ З 72. Проверим условие окончания: ? = 2*# = 3, 14= [1,538;3^46]. Положим ЬЗ и перейдем к шагу 5. 126
53. Вычислим /(уг) = f(z2) = -17,04 (уже было известно); /(z3) = -17,9884. б3. Сравним Диз) и /(г3). Так как f(y3) > Дг3), то «4=^3 = 2,308; 64 = ^=3,846; >>4 = *з = 3,077; Z4 = Ч + ^-{Ь4 -а4) = 2,308 + i • C,846 - 2,308) = 3,077. Л5-4 2 73. Проверим условие окончания: ? = 3 = #-3 = 3; 1$ = [2,308; 3,846]. Положим у5 = >>4 = ^4 = 3,077; *5 = У 5 + е = 3»077 + 0,01 = 3,087. Вычислим /(л) = -17,9884 (было вычислено на шаге 53); f(z$) = -17,985. Так как /Ы < f{zs)• то я5 = а4 = 2,308; ^ = ^5 = 3,087. Поэтому х* е L6 = [2,308;3,087]; 1161 = 3,087 - 2,308 = 0,78 < / = 1. Заметим, что Щ = 0»078 = — = — = 0,077. В ка- |А| 13 честве приближенного решения возьмем середину интервала Z,6: ¦ 2,308 + 3,087 х = = 2,697. ¦ 5.1.7. Метод квадратичной интерполяции Постановка задачи Требуется найти безусловный минимум функции f(x) одной переменной, т.е. такую точку х* е R, что fix*) = min f(x). v ' x eR Стратегия поиска Метод квадратичной интерполяции (метод Пауэлла [Powell M. J. D.]) относится к последовательным стратегиям. Задается начальная точка и с помощью пробного шага находятся три точки так, чтобы они были как можно ближе к искомой точке минимума. В полученных точках вычисляются значения функции. Затем строится интерполяционный полином второй степени, проходящий через имеющиеся три точки. В качестве приближения точки минимума берется точка минимума полинома. Процесс поиска заканчивается, когда полученная точка отличается от наилучшей из трех опорных точек не более чем на заданную величину. Алгоритм Шаг 1. Задать начальную точку Х\, величину шага Дх> 0, si и е2 - малые положительные числа, характеризующие точность. Шаг 2. Вычислить х2 = хх + Ах. Шаг 3. Вычислить f(x{) = /i и f(x2) = /2. 127
Шаг 4. Сравнить f(x{) с f(x2): а) если f(x\) > /(х2), положить х3 = Х] + 2Дх (рис. 5.11, о); б) если f(xx) < /(х2), положить х3 = хх - Ах (рис. 5.11, б). Я/дг 5. Вычислить Дх3) = /з • Шаг 6. Найти /^п = min{/,,/2,/3}, xmin = х, :/(х,) = Fmin. ZZ/лг 7. Вычислить точку минимума интерполяционного полинома, построенного по трем точкам: 1 ( 2 +(х3 - и величину функции /(Зс)(рис. 5.11). Если знаменатель в формуле для х на некоторой итерации обращается в нуль, то результатом интерполяции является прямая. В этом случае рекомендуется обозначить xj = xrain и перейти к шагу 2. Шаг 8. Проверить выполнение условий окончания: Тогда: <е2. а) если оба условия выполнены, процедура закончена и х* = х ; б) если хотя бы одно из условий не выполнено и х € [xj,x3], выбрать наилучшую точку (xmin или х) и две точки по обе стороны от нее. Обозначить эти точки в естественном порядке и перейти к шагу 6; _ в) если хотя бы одно из условий не выполнено и х ё [хьх3], то положить Х| = х и перейти к шагу 2. / т Ах х2 Ах х3 а х3 Ах Xj Ах х2 б Рис. 5.11 Замечания 5.8. 1. Более точный метод, использующий кубическую интерполяцию и информацию о величине производной, изложен в разд. 6.7. 2. Шаги 1-4 алгоритма позволяют выяснить направление убывания функции, а в некоторых случаях определить интервал, на котором функция является унимодальной. 128
Пример 5.8. Найти минимум функции /(х)=2х2+— методом квадратичной интерполяции. D 1°. Зададим начальную точку Xj = 1, величину шага Дх = 1, г{ = 0,003; б2=0,03. 2°. Вычислим х2 = X! + Дх = 2. 3°. Вычислим /(х,) = /, = 18; /(х2) = /2 = 16. 4°. Так как /(xt) > /(х2), положим х3 = хх + 2Дх = 1 + 2 = 3 (рис. 5.11, а). 5°. Вычислим /(х3) = /3 = 23,33. 6°. Найдем /^п = min{l8; 16;23,33} = 16; xmin = х2 = 2. 7°. Вычислим точку минимума интерполяционного полинома: у у р 1D-9I8 + (9-1Iб + A-4J3,33 2B-3)l8 + C-l)l6 + (l-2J3,33 ' * ' 8°. Проверим условия окончания: ——:— = 0,052 >ej =0,003 (не выполняется), х - наилучшая точка, слева от нее точка х{ = 1, а справа х2 = 2. Обозначим их в естественном порядке jcj = 1; х2 = х = 1,714; х3 = 2. Этим точкам соответствуют следующие значения функции: /j =18; /2 = 15,21; /з = 16. Перейдем к шагу 6. б1. Найдем Fmin = min{l8; 15,21; 16} = 15,21; xmin = х2 = 1,714. 71. Вычислим точку минимума интерполяционного полинома: -_ 1 (l,7142 -4)l8 + D-1I5,21 + (l-l,7142)l6 6 *~2 A,714-2) 18ч-B-1) 15,21 + A ~ 1,714) 16 ~ ' ' 81. Проверим условия окончания: | 15,21-15,142 = 0,0045 > 0,003 (не выполняется); | 15,142 х - наилучшая точка, слева от нее точка X] = 1, а справа х2 = 1,714. Обозначим их в естественном порядке: Xj = 1; х2 = 1,65; х3 = 1,714. Этим точкам соответствуют значения функции: /j =18; /2 =15,142; /3 = 15,21. Перейдем к шагу 6. б2. Найдем Fmin = min{18; 15,142; 15,21} = 15,142; xmin = х2 = 1,65. 72. Вычислим точку минимума интерполяционного полинома: - l(l,652-l,7142)l8 + (l,7142-l)l5,142 + (l-l,652)l5,21 2 A,65-1,714) 18+ A,714-1I5,142+ A-1,65) 15,21 " * ' 82. Проверим условия окончания: 15,142-15,123 = о,ОО13 <е, =0,003 (выполняется); 15,123 9 — 4751 129
°.°23 < 8i - °.°3 (выполняется). 1,6125 Поиск закончен. Решение х* s Зс = 1,6125. Найдем аналитически координату точки минимума с помощью необходимых условий безусловного экстремума: 4*4 0. dx х2 Отсюда х* = #4 = 1,5874. В этой точке /"(х*)= 4 + —— -12 > 0, т.е. достаточные условия безусловного минимума выполняются. ¦ Пример 5.9. Найти минимум функции f(x) ¦ -т-*2 - "Tt + 2 методом квадратичной интерполяции. D 1. Зададим начальную точку ^=0,25; величину шага Дх = 0,25; в, =0,02; е2 =0,05. 2. Вычислим дс2 = xi + Лх = 0^. 3. Вычислим /(*,) = /, = 0,171; f(x2) = f2= 2^1. 4. Так как f(xx) < f(x2), то х3 = xi - Ддс = 0. 5. Вычислим Дх3) = /з ¦ 2. 6. Найдем Fmin = min{0471;231;2} = 0Д71; х^ = хх = 0Д5. 7. Вычислим l@,50kl7u@0,25J,31 @>25>J ,^-016879 8. Проверим условия окончания: 0,171-0,16879 . - 0,013 < si ¦ 0,02 (выполняется); 0,25-0,2402 | QQ4 < в ш ад5 (выполняется)> 0,2402 I Поэтому х* г 0,2402. ¦ 5.2. МЕТОД КОНФИГУРАЦИЙ Постановка задачи Требуется найти безусловный минимум функции f(x) многих переменных, т.е. найти такую точку х* е R", что f(x*\ = min /(x). 130
Стратегия поиска Метод конфигураций (метод Хука-Дживса [R.Hooke, T.A. Jeeves]) представляет собой комбинацию исследующего поиска с циклическим изменением переменных и ускоряющего поиска по образцу. Исследующий поиск ориентирован на выявление локального поведения целевой функции и определение направления ее убывания вдоль "оврагов". Полученная информация используется при поиске по образцу при движении вдоль "оврагов" [4]. Исследующий поиск начинается в некоторой начальной точке х°, называемой старым базисом. В качестве множества направлений поиска выбирается множество координатных направлений. Задается величина шага, которая может быть различной для разных координатных направлений и переменной в процессе поиска. Фиксируется первое координатное направление и делается шаг в сторону увеличения соответствующей переменной. Если значение функции в пробной точке меньше значения функции в исходной точке, шаг считается удачным. В противном случае необходимо вернуться в предыдущую точку и сделать шаг в противоположном направлении с последующей проверкой поведения функции. После перебора всех координат исследующий поиск завершается. Полученная точка называется новым базисом (на рис. 5.12 в точке х° произведен исследующий поиск и получена точка х1 - новый базис). Если исследующий поиск с данной величиной шага неудачен, то она уменьшается и процедура продолжается. Поиск заканчивается, когда текущая величина шага станет меньше некоторой величины. 2+х22 (х,+1J+х22=4 ! i д. Г 2 15 Рис. 5.12 Поиск по образцу заключается в движении по направлению от старого базиса к новому (от точки х° через точку х1, из точки х1 через точку х2, из х2 через х3 на рис. 5.12). Величина ускоряющего шага задается ускоряющим множи- 131
тел ем X. Успех поиска по образцу определяется с помощью исследующего поиска из полученной точки (например, из точек 6, 11, 15 на рис. 5.12). Если при этом значение в наилучшей точке меньше, чем в точке предыдущего базиса, то поиск по образцу удачен (точки 6, И - результат удачного поиска по образцу, а точка 15 - неудачного). Если поиск по образцу неудачен, происходит возврат в новый базис, где продолжается исследующий поиск с уменьшенным шагом. На рис. 5.12 удачный поиск отображается сплошными линиями, а неудачный - пунктирными, числа соответствуют порождаемым алгоритмом точкам. Обозначим через dx,...?dn - координатные направления При поиске по направлению df меняется только переменная х,, а остальные переменные остаются зафиксированными. Алгоритм Шаг 1. Задать начальную точку л:0,число е>0 для остановки алгоритма, начальные величины шагов по координатным направлениям ДЬ...,ДЙ >б, ускоряющий множитель А, > 0, коэффициент уменьшения шага а > 1. Положить У =х°, / = 1, А: = 0. Шаг 2. Осуществить исследующий поиск по выбранному координатному направлению: а) если /(У +Д/<//)</(У),т.е. /(W,...^/+A/,...>>i)</(y{,...,<K//f...,^)f шаг считается удачным. В этом случае следует положить уг+[ = у1 + A/ d{ и перейти к шагу 3; б) если в п. "а" шаг неудачен, то делается шаг в противоположном направлении. Если /(У -Д/«/,)< /(У), т.е. /(у{,...,У-А/,...,У)</(У,...,У,...,у;), шаг считается удачным. В этом случае следует положить yl+l = у1 -А,-*/,- и перейти к шагу 3; в) если в пп. "а" и "б" шаги неудачны, положить /+| = у1. Шаг 3. Проверить условия: а) если i < п, то положить / = i + 1 и перейти к шагу 2 (продолжить исследующий поиск по оставшимся направлениям); б) если i = п, проверить успешность исследующего поиска: - если /(уй+1) < /(**)> перейти к шагу 4; - если Дуя+1 j ^ Лх)» перейти к шагу 5. Шаг 4. Провести поиск по образцу. Положить xk+l = yn+l, у1 = хк+х +xlxk+l -хк\, / = 1, к = к + \ и перейти к шагу 2. Шаг 5. Проверить условие окончания: 132
а) если все А, < е, то поиск закончить: х* = хк; б) для тех i, для которых А/ > е , уменьшить величину шага: А, = —^ . По- а ложить ух = хк, хк+х = хк9 к = к + 1, / = 1 и перейти к шагу 2. Замечания 5.9. 1. В алгоритме можно использовать одинаковую величину шага по координатным направлениям, т.е. вместо Д1,Д2,...,ДЛ применять А. 2. Существует модификация метода, где при исследующем поиске и поиске по образцу используется одномерная минимизация. Тогда если функция f(x) дифференцируема, метод сходится к стационарной точке [4]. Пример 5.10. Найти минимум функции f(x) = 4{x{ -5J +(х2 -бJ методом Хука - Дживса. D 1. На рис. 5.13 изображены линии уровня функции: семейство эллипсов, описываемое уравнением f(x) = 4(х, - 5J + (х2 - бJ = const. Если const = 4, имеем (jci -5J +— — = 1, т.е. я = 1,? = 2, Хю = 5,дс2о = 6• Зададим х° = (8,9)Г - старый базис; е = 0,3; A j = 1, А 2 = 2, а = 2Д = 1. Положим *=0,/ = 1,У =(8,9)г. 2°. Так как f[yx + Axd{) = /(9,9) = 73 > f(yl) = f(x°) = 45, то шаг неудачен. Так как f{yx - A,d{} = /G,9) = 25 < /(з^1) = /(х°) = 45, то этот шаг удачен: 3°. Поскольку / = 1<2 = л,то положим / = 2 и перейдем к шагу 2. 21. Так как f[y2 + A2 d2) = /G,И) = 41 > /(у2) = 25, то шаг неудачен. Так как fly2 ~ A2 d2) = /G,7) = 17 < fly2) = 25, то этот шаг удачен: 31. Поскольку i = 2 = п = 2 и /(у3) = 17 < /(^°) = 45, то перейдем к шагу 4. 4°. Положим хх = уъ = G,7)Г - новый базис, / = 1, А: = А: ч-1 = 1, найдем у' = х1 +1. [х{ - х°) = G,7)Г + [G,1)Т - (8,9)Г] = F,5)Г. Выполнен поиск по образцу. Перейдем к шагу 2. 22. Так как f[yx + А1 </,) = /G,5) = 17 > /(у1) = 5, то шаг неудачен. Так как /(/ - А, </,) = /E,5) = 1 < /(У) = 17, то шаг удачный: у2 = у1 - А, </, = E,5)г. 32. Поскольку 1 = 1 < 2 = л, то / = / + 1 = 2 и перейдем к шагу 2. 133
23. Так как f[y2 + A 2 d2) = /E,7) = 1 = /(у2) = /E,5) = 1, то шаг неудачен. Так как fly2 -Д2*/2) = /E,3) = 9>/(у2) = 1, то шаг неудачен. Поэтому () З3. Поскольку / = 2 = л = 2 и /(j>3) = 1 < /f*1) = 17, то поиск по образцу на шаге 4° успешен. Точка у3=E,5)г становится новым базисом, а точка jc1 = G,7) - старым базисом. Перейдем к шагу 4. 41. Положим х2 = у3 в E,5)г - новый базис, / = 1, it = A; +1 = 2; У =jc2+(x2-x1) = E,5O'+[E,5O'-G,7O'] = C,3f и перейдем к шагу 2. 24. Так как f[yx + А,«/,) = /D,3) = 13 < /(у1) = /C,3) = 25, то шаг удачен: 34. Поскольку i = 1 < 2 = п, то / = j +1 = 2 и перейдем к шагу 2. 25. Так как f[y2 + А 2 </2) = Д4»5) = 5 < /(у2) = 13, то шаг удачен: >>3=>;2+Д2</2=D,5)Г. 35. Поскольку i в л и /(^3) = 5 > /(*2) = 1, то поиск по образцу на шаге 41 неудачен. Переходим к шагу 5. 5°. Так как Д]=1>е, Д2=2>е,то уменьшим шаг: А, =-^- = 0,5; А2=-^=1. Положим у1 =х2-E,5)Г, х3 = х2 =E,5)Г, / = 1, к = к + 1 = 3 и перейдем к шагу 2. 26. Так как fly1 + А! dx\ = /E^;5) = 2 > /(у1) = 1, то шаг неудачен. Так как - А! dx j = /D^;5) = 2 > /(у1) = 1, то шаг неудачен. Поэтому у1 = У = E,5)Г. З6. Поскольку i = 1 < 2 = п, то положим / = / + 1 = 2 и перейдем к шагу 2. 27. Так как /(у2 + А2 d2) = /E,6) = 0 < f\y2j = /E,5) = 1, то шаг удачен: З7. Поскольку fly3) = 0 ^ /(*3) = 1» то переходим к шагу 4. Точка уг становится новым базисом, а точка х3 - старым. 42. Положим дс4 =у3 =E,6) - новый базис, / = 1, к = к + 1 = 4; у1 = х4 + (х4 - х3) = E,6)Г + [E,6)Г - E,5)г] = E,7)г. Перейдем к шагу 2. 134
2*. Так как f[yx + A, d{) = /E,5;7) = 2 > /(/) = /E;7) = 1, то шаг неудачен. Так как f\yl - A] dx} = /D,5; 7) = 2 > /(у1) -1, то шаг тоже неудачен. Тогда 38. Поскольку / = 1 < 2 = w, то / = / + 1 = 2 и переходим к шагу 2. 29. Так как /(у2 + А2 </2) - /E;8) = 4 > /E;7) = 1, то шаг неудачен. Так как /(у2 - А2 </2) = /E;6) = 0 < /E;7) = 1, то шаг удачен: уг=у2- А2 </2 = {5,€)т. 39. Поскольку / я 2 ¦ и = 2 и /(.у3) = /fx4) = /E,6) = 0, то поиск по образцу неудачен. Переходим к шагу 5. 51. Так как Ai >e и А2 >е, то уменьшим шаг Aj = -^- = 0,25; А2 =0,5. Положим у1 = х4 = E;6)Г, х5 « х4, к = А: +1 = 5, / = 1 и перейдем к шагу 2. 210. Так как f{yl + Ai </,) = /EД5;6) = 0,25 > f[yl) = 0, то шаг неудачен. Так как f(y{ - A! d\) ¦ /D,75; 6) = 0,25 > /fj'1) = 0, то шаг неудачен и У2=у[=E-6)Т. З10. Поскольку / = 1<2 = и,то / = / +1 = 2 и переходим к шагу 2. 2й. Так как f[y2 + A2 d2) = /E;6,5) = 0,25 > f{y2} = 0, то шаг неудачен. Так как f(y2 - А2 d2) = /E;5,5) = 0,25 > f(y2) = 0, то шаг неудачен: уъ = у2 = E;6)г. З1 ]. Поскольку 1 = 2 = п = 2 и /(у3) = 0 = /(х5) = 0, то исследующий поиск неудачен. Перейдем к шагу 5. 52. Так как A j = 0,25 < е = 03; А 2 = 0,5 > е , то уменьшим шаг А 2 : А! =0,25; А2 =^1 = 0,25. Положим у1 =х5= E,6)Г, х6=х5, Л = А: + 1 = 6, / = 1 и перейдем к шагу 2. 212. Так как f(y] + A! dx) = /E,25;6) = 0,25 > /(/) = 0 и f[yl - А,^) = /D,75;6) = 0,25 > /(у1) = 0, то шаги неудачные и у2 = у1 = E;6)г. 312. Поскольку / = 1 < 2 = л, то / = / +1 = 2 и переходим к шагу 2. 213. Так как f[y2 + A2 d2) = /E;6Д5) = 0,0625 > f(y2) = 0 и - А2 flf2) = /E;5,875) = 0,0625 > /(у2) = 0, шаги неудачны и^3=У2 = E;6)г. 313. Поскольку / = 2 = л = 2 и /(у3) = 0 = /(х6) = 0, то переходим к шагу 5. 53. Так как А1 = 0,25 < е = 0,3 и А 2 = 0,25 < б « 0,3, то поиск завершен: 13S
11 10 9 8 ¦ 7 ¦ 6 5 • 4 3 + 2 1 1 2 3 4 5 6 7 8 —i 1 1 1 1 1 1 ь 8 - 7 -¦ 6 - 5 - 4 - x2 3 4 5 6 7 б Рис. 5.13 24 22 9f 25 На рис. 5.13,д-в последовательно изображены полученные точки; сплошной линией отмечены удачные итерации, а пунктирной - неудачные. ¦ Пример 5.11. Найти минимум функции f(x) = 2х] + ххх2 + х\ методом Хука Дживса. D 1. Положим х° = @,5;1)г - старый базис; А, = 0,2; Л2 =0,4; е = 0,1; а = 4; \ = 1,5. Положим к = 0, / = 1, у1 = х° = @,5;1)г. 2°. Так как /(/ + Л, dx} = /@,7; 1) = 2,68 > /(у1) = 2, то шаг неудачен. 136
Так как f[y{ - А х dx \ = /@,3; 1) = 1,48 < f[yl) = 2, то шаг удачный: 3°. Поскольку i = 1 < 2 = п, то / = / +1 = 2 и переходим к шагу 2. 2!. Так как f[y2 + Д2 </2) = /(<Ш,4) = 2,56 > f\y2} = 1,48, то шаг неудачен. Так как f[y2 - Д2 </2) = /@,3;0,6) = 0,72 < /(у2) = 1,48, то шаг удачный: j/3=>>2-A2</2=@,3;0,6)r. 31. Поскольку / = 2 = п = 2 и /fy3) = 0,72 < f(x°\ = 2, перейдем к шагу 4. 4°. Положим уъ = х1 = @,3;0,6)Г - новый базис, / = 1, ? = ? + 1 = 1, найдем у1 =*' +U-(x! -х°) = @3;0,6)Г +1^.[@А0,6)Г -@А1O'] = @;0)г. Выполнен поиск по образцу. Перейдем к шагу 2. 22. Так как /(/ + А, </,) = /@,2;0) = 0,08 > /(>^1) = 0и /(у' - А, ^,) = /(- 0,2; 0) = 0,08 > /(у1) = 0, то шаги неудачные, а у2 = у{ = @;0)г. 32. Поскольку / = 1 < 2 = л, то / = / + 1 = 2 и переходим к шагу 2. 23. Так как /(у2 + А2 </2) = /@;0,4) = 0Д6 > /(у2) - 0 и f(y2 - А2 d2) = /@;- 0,4) = 0,16 > /(у2) = 0, то шаги неудачные и / = у2 = @;0)Г. 33. Поскольку i = 2 ¦ л и //у3) = 0 < /(х°) = 2, то поиск по образцу удачен. Перейдем к шагу 4. 41. Положим *2= у3 =@; of, /-1, ? = ? + 1 = 2, ^l =x2 +W-(x2 -х1) = @;0)Г +1^[@;0)г -@,3;0,6)Г] = (-0,45;-0,9)Г и перейдем к шагу 2. 24. Так как f[yl + Aj rf,) = /(-0,25;- 0,9) = 1Д6 < /(/) = 1,62, то шаг удачен: З4. Поскольку / = 1<2 = л,то / = / + 1 = 2 и перейдем к шагу 2. 25. Так как f{y2 + А 2 </2) = /(-0,25;- 0,5) = 0^ > /(у2) = 1,16, то шаг удачен: З5. Поскольку / = 2 = я « 2 и /fy3j = 0,5 > /(х2) = 0, то поиск по образцу неудачен. Осуществляется возврат в точку х2. Перейдем к шагу 5. 5°. Так как А! = 0,2 > € = 0,1; А 2 = 0,4 > €, то уменьшим шап А, =-^- = 0,05; 4 137
Положим у1 =х2=@;0)г; х3 = х2 »@;0)r; fc = * + l = 3; / = 1 и перейдем к шагу 2. 26. Так как /(у1 + Д, </,) = /@,05;0) = 5 • 10" >/(/) = 0и f[yl - А, </,) = /(-0,05;0) = 5 • 10 > /(у1) = 0, то шаги неудачны: у3 = у2 = @;0)г. 36. Поскольку / = 1 < 2 = л, то / = / + 1 = 2 и перейдем к шагу 2. 27. Так как f{y2 + A 2 d2) = /@;0,1) = 0,01 > /(у2) = 0 и /(у2 - А 2 <*2) = /(Ф- °Д) = °»01 > /(>^2) = 0, то шаги неудачны: уъ - у2 = @;0)г. 37. Поскольку / = 2 = п и /(.У3) = /(*3) = 0, то исследующий поиск неудачен. Перейдем к шагу 5. 51. Так как А х = 0,05 < s = ОД; А 2 = 0,1 й е » 0,1, то поиск закончен: д:*=х3=@;0)г. 9 14 8 / 12 67 10 -1 Рис. 5.14 -»*l На рис. 5.14 последовательно изображены полученные точки; сплошной линией отмечены удачные итерации, а неудачные пунктирной. ¦ 5.3. МЕТОД ДЕФОРМИРУЕМОГО МНОГОГРАННИКА Постановка задачи Требуется найти безусловный минимум функции f(x) многих переменных, т.е. найти такую точку х* е Rn, что fix*) ¦ min f(x). v ' xeRn 138
Стратегия поиска В основу метода деформируемого многогранника (метода Нелдера-Мида [J.A.Nelder, R.Mead]) положено построение последовательности систем я + 1 точек х'(к), / = l,...,/i + l , которые являются вершинами выпуклого многогранника. Точки системы х1 (к +1), / = 1,...,я +1 на к +1 итерации совпадают с точками системых1 (к), / = 1,...,л + 1, кроме / = л, где точка xh(k)~ наихудшая в системе х*(к), / = 1,...,л + 1, т.е. f(xh(k))= max f(x'(k)). Точка xh(k) заменяется на другую точку по специальным правилам, описанным ниже. В результате многогранники деформируются в зависимости от структуры линий уровня целевой функции, вытягиваясь вдоль длинных наклонных плоскостей, изменяя направление в изогнутых впадинах и сжимаясь в окрестности минимума. Построение последовательности многогранников заканчивается, когда значения функции в вершинах текущего многогранника отличаются от значения функции в центре тяжести системы xl(k), i = 1,... ,л +1; i' * я не более чем на е > 0. Алгоритм Шаг 1. Задать координаты вершин многогранника xi,...,jc/i+i; параметры отражения а, сжатия р, растяжения у; число б > 0 для остановки алгоритма. Положить к = 0 (последующие шаги 2-6 соответствуют текущему номеру к системы точек). Шаг 2. Среди вершин найти "наилучшую" х1 и "наихудшую" xh, соответствующие минимальному и максимальному значениям функции: /(*')=. min /И; /И=. max у = 1,...,и + 1 7 = 1,.. а также точку jc* , в которой достигается второе по величине после максимального значение функции /(**)• Шаг 3. Найти "центр тяжести" всех вершин многогранника за исключением наихудшей xh: Шаг 4. Проверить условие окончания: 1 а) если <т = < , процесс поиска можно завершить и в качестве приближенного решения взять наилучшую точку текущего многогранника: х* s x1; б) если а > е, продолжать процесс. Шаг 5. Выполнить операцию отражения наихудшей вершины через центр тяжести хп+2 (рис. 5.15, а): 139
Хя+3=Хя+2+а(хл+2-Хя). Шаг 6. Проверить выполнение условий: а) если f(xn+*)<> /(*'), выполнить операцию растяжения (рис. 5.15, б): хя+4=хя+2+у(хя+3-хй+2). Найти вершины нового многогранника: - если f(xn+4) < flxl\, то вершина xh заменяется на хп+А (при п = 2 многогранник будет содержать вершины х1,*3,*6). Затем следует положить к = к +1 и перейти к шагу 2; - если /(хл+4)^/(дс7), то вершина Xй заменяется на хл+3 (при л = 2 многогранник будет содержать вершины х1,*3,*5). Далее следует положить к = к + \ и перейти к шагу 2 ; хя+3=х5 б) если /(**) < /(*я+3) 5.15, в): хя+5=хя+2+р(хя-хя+2). Рис. 5.15 , то выполнить операцию сжатия (рис. 140
Следует заменить вершину Xй на хЛ+5, положить к = к + \ и перейти к шагу 2 (при п = 2 многогранник будет содержать вершины х!,х3,х7); в) если Л*7) < /(*я+3) ^ /(*/» то вершину хн заменить на хл+3. При этом следует положить к = & +1 и перейти к шагу 2; г) если Дхя+3)>/(хл1, выполнить операцию редукции (рис. 5.15, г). Формируется новый многогранник с уменьшенными вдвое сторонами и вершиной х': xJ =xl +0$(xj -х1}, При этом следует положить к = к +1 и перейти к шагу 2. Замечание 5.10. Нелдер и Мид рекомендуют использовать параметры а = 1;р = 0,5;у = 2; Павиани (fl.Paviani) - а = 1; 0,4 < р < 0,6; 2,8 < у < 3; Паркин- сон и Хатчинсон (J.M.Parkinson, D.Hutchinson) - а = 2; р = 0,25; у = 2,5. В последнем случае в рамках операции отражения фактически выполняется растяжение. Пример 5.12. Найти минимум функции /(х) = 4(xj - 5) + (х2 - 6) методом Нелдера - Мида. ? 1. Так как л = 2, зададим начальный треугольник с вершинами х1 =(8,9)Г; х2=A0,11)Г; хг =(8,1 \)Т. Положим а = 1;р = 0^;у = 2; е = 0,2; & = 0. 2°. Так как /(х1) = 45,/(х2) = 125,/(х3) = 61, то xl =jc!, xh=x2, xs = х\ 3°. Найдем центр тяжести вершин хх и х3 (середину стороны, противостоящей вершине хА): х4 =!•[*' +x»]-{.fc 9f +(8, Hf ]= 4°. Так как а = |—B5 + 5625 + 225)> = 44,25 > б , то процесс продолжается. 5°. Выполним отражение: х5 =х4 +(х4 -х2)=(8,10f +[(8, 10f -A0, llf ]=F, Э)т; /(х5) = /F,9) = 13. 6°. Так как /(*5) = 13 < f[xl\ = fix1 \ = 45, выполним растяжение: х6 = х4 +2.(х5 -х4)=(8,10)г +2.[F, 9)Г -(8,10)г]=D, 8)г; /(х6) = /D,8) = 8. Так как /U6) = 8 < f(xl\ = /(х1) = 45, то вершина х2 заменяется на х6. Новый многофанник содержит вершины х2,х3,х6. Положим к = к + \ = \ и перейдем к шагу 2. 21. Имеем вершины х1 =(8,9)Г, х2 =D,8)г, х3 =(8,11)Г; 141
45, /(x2) = 8; /(x3) = 61; xl = x2,xh = x3, xs = x1. 31. Найдем центр тяжести вершин х2их': 41. Так как о = |-C5,252 + 55,252 + 2,252I2 = 37 > е, процесс продолжается. 51. Выполним отражение х5 = х4 + 1-(х4 -х3) = F;8,5)т + [F;8,5)Г -(8Д1)Г] = D,6)Г; /(х5) = 4. б1. Так как /(*5) = 4 < fix1) = /(*2) = 8, выполним растяжение. х6 = х4 + 2{х5 -х4) = F;8,5)Г + 2{D;6)Г -F;8,5)Г] = B;3^)Г; /(х6) = /B;3,5) = 42,25. Так как /(х6) = 42,25 > flxl\ = fix2) = 8, то вершина хн = х3 заменяется на х5. Новый многогранник содержит вершины х!,х2,х5. Положим Л = 2 и перейдем к шагу 2. 22. Имеем вершины х1 = (8,9)Г, х2 = D,8)Г, х3 = D,6)Г; /(х1) = 45, /(х2) = 8, /(х3) = 4; х1 = х3,хЛ = х],х5 = х2. З2. Найдем центр тяжести вершин х2 и х3: 2 1 42. Так как а = j—D02 + З2 +1)> = 23,2 > г, процесс продолжается. 5 ^. Выполним отражение: 5=x4+(x4-x1)=D,7)r44'7O'-(8.9f]=@M)r; /(x5) = /@,5) = 101. б2. Так как /(*5) = 101 > f[xj = 45, выполним редукцию: x'=x'+0M.(x1-x')=D,6f+i.|8,9)r-D,6)r]=F;7,5f; 142
Положим ЬЗи перейдем к шагу 2. 23. Вычислим значения функции: fix1\ = 6,25, fix2) = 5, /(*3) = 4. Поэтому х' = х3,xh = x!,xs = х2. 33. Найдем центр тяжести вершин х2 и х3: х< =I.(x4x3)=i.[[4,7f +D,6f ]=D;6,5f; /(х<) = 4,25. 43. Так как а = |-D +1,252 + 0,252I2 = 1,369 > б , процесс продолжается. 53. Выполним отражение: х5 =х4+(х4-х1) = D;6^+[D;6^7'~F;7^7'] = B;5^)г; /(х5) = 36,25. б3. Так как fix5) = 36,25 > fix1) - fix1) = 6,25, то выполним редукцию: х1 =х' +0,5.(х* -хО=D, 6)т +I.j[6; 7,5f -D, 6)т ]=E;6,75)г; х2 =х' +0,5-(х2 -х^С^бO1 +|j[4,7f -D,6)г]= D; 6,5)г; х3 = х7=х3=D,6)Г. Положим к = к +1 = 4 и перейдем к шагу 2. 24. Вычислим значения функции: /(х!) = 0,5625;/(х2) = 4,25;/(х3) = 4. Поэтому х1 = х*,хЛ = х2,х5 = х3. 34. Найдем центр тяжести вершин х1 их3: .[[5; 6,75)т +D, 6)г]= DД 6,375)г; /(х4) = 1,14. х 44. Так как а = |-г@,33 + 9,67 + 8,17)Г = 2,46 > е, процесс продолжается. 54. Выполним отражение: х5 = х4 +(х4 -х2) = D^;6,375)г +[D^;6,375)г -D;6^O'] = E;6,25)г; /(х5) = 0,0625. б4. Так как fix5) < fix1) = 0,5625, выполним растяжение: х6 = х4 + 2(х5 -х4) = D^;6375)Г + 2{E;6,25)Г -D^;6^75)Г] = E^;6,125)Г; = 1,015. 143
Так как /(х6) = 1,015 > /(х') = /(х1) = 0,5625, то вершина хл = х2 заменяется на х5. Положим & = & +1 = 5 и перейдем к шагу 2. 25. Имеем х1 = E;6,75)Г,х2 = E;6,25)Г,х3 = D,6)Г; /(х1) = 0,5625;/(х2) = 0,0625;/(х3) = 4. Поэтому х1 = х2,хЛ = х\х* = х1. З5. Найдем центр тяжести вершин х1 их2: x4=i[x1+x2]=iJ5;6,75f+E;6,25)r]=E;6,5)r; /(х4) = 0,25. I 45. Так как or = -I—@,096 + 0,035 + 14,06I2 = 2,17 > е, процесс продолжается. 55. Выполним отражение: х5 = х4+(х4-х3) = E;6,5)Г+[E;6,5)Г-D,6)Г] = F,7)Г;/(х5) = 5. б5. Так как /(*5) > А***) - Ах*) = 4> выполним редукцию: х1 = х2 + 0^(х! -х2) = E;6,25)Г + 0^|E;6,75)Г -E;6,25)ГJ = (S^^O"; х2=х/=E;6,25)Г; х3 = х2 + 0^{х3 - х2) = E;6,25)Г + 0,5-[D,в)Т -E;6,25)Г] = D^;6,125)Г. Положим к = к +1 = 6 и перейдем к шагу 2. 26. Имеем /(х1) = 0,25;/(х2) = О,О625;/(х3) = 1,015. Поэтому V' .^ V* V* — V* Y ^ "V* З6. Найдем центр тяжести вершин х1 их2: н х2) = i. |5; 6,5)г + E; 6,25)г]= E; 6,375)т; /(х4) = 0,14. 1 46. Так как с = U@,01 + 0,006 + 0,765)i2 = 0,5 > б , процесс продолжается. 56. Выполним отражение: х5 = х4 + (х4 - х1) = E;6,375)Г + [E;6,375)Г - D,5;6,125)Г] = E,5;6,625)Г ; б6. Так как fix5) > /(*А) = 1,015, то выполним редукцию: -х') = E;6,25)Г + 0^[E;6,5)Г -E;6,25)Г] = E;6,375)Г; х1 = х1 + 144
х3 = х' + 0*{х3 - х') = E;6,25)Г + 0^[D^;6Д25)Г - E;6,25)г] = D,75;6,18)Г. Положим к - к + 1 = 7 и перейдем к шагу 2. 27. Так как /(х1) = 0Д4;/(х2) = 0,0625;/(х3) = 0,28, то получим х/=х2,х*=х3,х*=х|. З7. Найдем центр тяжести вершин х1 их2: х4 =i-(x' + х2)=±|E; 6,375)^5; ; /(х4) = 0,09. 47. Так как <т = Д @,025+ 0,0007+ 0,036I2 =0,14 <е =0,2, процесс закон- чен: х* = х1 = E;6,25)Г;/(*') = 0,0625. 1 23456789 10 Результаты расчетов до шага б2 приведены на рис. 5.16.И Пример 5.13. Найти минимум функции /(*) = 2х,2 +х,х2 +х22 методом Нелдера - Мида. П 1. Зададим вершины начального многогранника (треугольник, так как п = 2): х1 = @,5;1)Г,х2 = @;0^)Г,х3 = A;0,5)Г; а = 1, р = 0^; у = 2, е = 0,05; к = 0. 10 — 4751 145
2°. Так как /(х1) = 2, /(х2) = 0,25, /(х3) = 2,75, то х1 = х\хл = х3,х5 = х1. 3°. Найдем центр тяжести вершин х1 их2: *4 ^.[х1 +x2] = i[@,5;lO'+@;0,5KP]=@,25;0,75f; /(х4) = 0,875. I 4°. Так как а = Д A,265 + 0,39 + 3,51I2 = 1,31 > е = 0,03, процесс продолжается. 5°. Выполним отражение: х5 = х4 + (х4 -х3) = @,25;0,75)Г + Г@,25;0,75)Г -A;0,5)Г] = (-0,5; 1)Г; /(х5) = 1. 6°. Так как f(xl\ = 0,25 < /(х5) < flxs\ = 2, то вершина хЛ = х3 заменяется на х5. Положим к = к +1 = 1 и перейдем к шагу 2. 21. Имеем вершины х1 =@,5;lf,x2 =@;0,5)г,х3 =(-0,5;1O\ Так как = 2; /(х2) = 0,25; /(х3) = 1,то х^х2, хЛ=х!, х5=х3. З1. Найдем центр тяжести вершин х2, х3: 41. Так как а = J—B,25 + 0,0625 + 0,25)I2 = 0,924 > б = 0,03, процесс продолжается. 5!. Выполним отражение: =х4+(х4-х1) = (-0,25;0,75)Г+[(-0,25;0,75)г-@,5;1)г] = (-1;0^)Г; б1. Так как f[xs\ = 1 < /(*5) < А*1*) = 2, то выполним сжатие: х7 = х4 + 0,5 [х1 - х4] = (-0,25;0,75)Г + 0,51@,5;\)Т -(-0,25;0,75)г] = @,125;0,875)Г; Заменим вершину хЛ - х1 на вершину х7, положим к = к + 1 = 2 и перейдем к шагу 2. 22. Имеем вершины х1 = @,125;0,875)г,х2 = @;0,5)г,х3 =(-0^;1O'. Так как f(x]) = 0,9;/(х2) = 0,25;/(х3) = 1, то х' = х2,хЛ = х3,х5 = х1. З2. Найдем центр тяжести вершин х1 их2: 2]=|• [@,125; 0,875f + @; 0,5f]= @,0625; 0,687)г; /(х4) = 0^22. 1 • [х1 + х 146
х5 J 42. Так как or = J—@,144 + 0,073 + 0,23)l2 = 0,38 > s, процесс продолжается. 52. Выполним отражение: = x4 + (x4 -x3) = @,0625;0,687)Г + [@,0625; 0,687)r -(-0Д if] = @,625; 0,375)Г; /(х5) = 1Д56. б2. Так как /(*5) > /(*Л) = f(x*) = 1, то выполним редукцию: W+ij*1-*')=(<), 0,5f+i[@,125, 0,875f-@, 0,5f] = @,0625, 0,6875)г; х2=х'=@;0,5)г; х3 = xl + 0,5 (х3 - xl) = @;0,5f + 0^[(-0,5;lf - @;0^f ] = (-0,25;0,75)r. Положим ЬЗи перейдем к шагу 2. 23. Так как /(х1) = 0^2;/(х2) = 0,25;/(х3) = 0,5, то х1 = х2,хн = х\х* = х3. З3. Найдем центр тяжести вершин х2 и х3: 1.[@, 0,5Ы-0,25, 0,75f]= (-0,125, 0,625)г; х4) = 0,34375. 1 43. Так как су = |-@,032+ 0,008 +0,025I2 =0,145 >е = 0,03, процесс продолжается. 53. Выполним отражение: х5 = х4 + (х4 - х1) = (- 0,125; 0,625)Г + [(-0Д25;0,625)Г - @,0625; 0,687O] = = (-0,313;0,563f;/(x5) = 0,344. б3. Так как /(л:7) =/(х2) = 0,25 </(х5) </(х5) =/(х3) = 0,5, то заменим вершину xh = х1 на х5, положим к = к +1 = 4 и перейдем к шагу 2. 24. Имеем вершины х1 =(-0,313;0,563)Г,х2 =@;0,5)г,х3 =(-0,25;0,75)Г. Так как /(х1) = 0,344; /(х2) = 0,25; /(х3) = 0,5, то х1 = х2,хЛ = x\xs = х1. З4. Найдем центр тяжести вершин х1 и х2: |[(- 0,313; 0,563f + @;0,5f]=(- 0,156; 0,53)r; /(х4) = 0,248. x4=i Ю* 147
44. Так как а = Д(BИГ3J +(8,8.10J + B,52-ЮJ)!2 =0,154>s, процесс продолжается. 54. Выполним отражение: x5 = x4 + (x4 -*3) = (-0,156;0,531)Г + [(-ОД56;О^31)Г -(-0,25;0,75)T] = = (-0,063; 0,313)r, /(x5) = 0,086. б4. Так как f(x5) < f(xl) = 0,25, то выполним растяжение: x6 = x4 + 2-fx5 -х4] = (-0,156;0^31)Г +2-Г(-0,063;0,313)Г -(-0,156;0,531)Г1 = = @,031;0,094)г;/(х6) = 0,014. Так как f(xj < f(xj = f\xj= ^»^5, то заменим вершину х3 = хи на х6, положим к = к + 1 = 5 и перейдем к шагу 2. 25. Имеем вершины х1 =(-0,313;0,563)Г,х2 =@;0^O',х3 = @,031 ;0,094)Г. Так как /(х1) = 0,344;/(х2) = 0,25;/(х3) = 0,014, то х' = х3,хЛ = x\xs = х2. З5. Найдем центр тяжести вершин х2 и х3: х4 =- = -[@; 0,5f +@,031; 0,094f]= @,016; 0,297)r; /(x4) = 0,093. I Д(G,9 • 10J + A,57 • 10J + B,43 • ЮJ)!2 = 0,1 2i j 2i 45. Так как <т = ^—(G,9• 10J + A,57- 1OJ + B,43¦ Ю^)И =0,173 >e, процесс продолжается. 55. Выполним отражение: х5 = х4 +(х4 -х1) = @,016;0,297)Г +@,016;0,297)Г -(-0,313;0^63)Г = = @,344;0,031)г; /(х5) = 0,248. б5. Так как /(х7) = /(х3) = 0,014 < /(х5) < f(xs) = Дх2) = 0,25, то заменим хЛ = х1 на х5. Положим к = к +1 = 6 и перейдем к шагу 2. 26. Имеем вершины х1 = @,344;0,031)г,х2 = @;0,5)Г,х3 = @,031;0,094)г. Так как /(х1) = 0,248;/(х2) = 0,25;/(х3) = 0,014, то х' = х3,хЛ = х2,х5 = х1. З6. Найдем центр тяжести вершин х1 их3: х4 = i- [х1 + x3] = i- [@,031; 0,094f + @,344; 0,03if ]= @,188; 0,063f; /(x4) = 0,086. 148
46. Так как <т = Д(A,62 -10J + A,64 -10J + @,72 • 1ОJ)|2 = 0,133 > б = 0,05, то процесс продолжается. 56. Выполним отражение: х5 = х4 + (х4 - х2) = 2@,188;0,063)Г - @;0,5)Г = @,375;- 0,375)г ; /(х5) = 0,281. б6. Так как /(х5J > /(хЛ) = fix2) - 0,25, то выполним операцию редукции: х1 = х3 + 0,5 (х1 - х3) = @,031;0,094)г + 0,5. [@344;0,031)г - @,031;0,094)т] = = @,188; 0,063)г; х2 = х3 + 0,5(х2 - х3) = @,031;0,094)г + 0,5[@;0,5)г -@,031;0,094)г] = @,016;0,297)г; *3=х3= @,031; 0,094)г. Положим к = к +1 = 7 и перейдем к п. 2. 27. Имеем вершины х1 = @,188;0,063)Г, х2 = @,016;0,297)Г, х3 = @,031;0,094)г. Так как /(х1) = 0,086;/(х2) = 0,093;/(х3) = 0,014, то х7 = х3,хЛ = х2,х* = х1. З7. Найдем центр тяжести вершин х1 их3: 4 - - • [х1 + х3] = !. |[0,188; 0,063)г + @,031; 0,094)г] = @,109; 0,078)г; /(х4) = 0,039. х I 47. Так как а = ШD,7• 10J +E,4-ИГ2J + B,5-ЮJ)!2 = 0,044 <е, процесс завершается. В качестве приближенного решения выбирается наилучшая точка: х* = х' = х3 = @,031;0,094)г; /(х*) = 0,014. ¦ 5.4. МЕТОД РОЗЕНБРОКА Постановка задачи Требуется найти безусловный минимум функции /(х) многих переменных, т.е. найти такую точку х* е R", что /(х*) = min /(x). v ; xeRn Определение 5.5. Пусть йх,йъ...,йп - линейно независимые векторы, по норме равные единице. Они называются взаимно ортогональными, если для всех / = 1,... ,я справедливо условие dfdj = 0J' * i. 149
Стратегия поиска Суть метода Розенброка [Rosenbrock H.H.] состоит в следующем. Задается начальная точка. Из нее осуществляется итеративный поиск направления убывания функции с помощью изменяемых дискретных шагов вдоль п линейно независимых и ортогональных направлений. В случае удачного шага в исследуемом направлении его значение на следующей итерации увеличивается с помощью коэффициента растяжения, а в случае неудачи уменьшается за счет умножения на коэффициент сжатия (при этом направление поиска изменяется на противоположное). Поиск в системе текущих направлений проводится до тех пор, пока все возможности уменьшения функции не будут исчерпаны. Если по каждому направлению поиска имеет место неудача, строится новое множество линейно независимых и ортогональных направлений и циклический поиск по отдельным направлениям продолжается. Новые направления поворачиваются по отношению к предыдущим так, что они оказываются вытянутыми вдоль оврага (рис. 5.17). Рис. 5.17 Алгоритм Шаг 1. Задать начальную точку х°, число е > 0 для остановки алгоритма, коэффициенты растяжения а > 1 и сжатия -1 < р < 0, в качестве начальных линейно независимых и ортогональных направлений di,d2,...9dn выбрать координатные направления: 4 = начальную длину шага вдоль каждого из направлений поиска Л1°,...,ЛЛ°>0; N - максимальное число неудачных серий шагов по всем направлениям на одной итерации. Положить у1 = х°, к = О, / = 1, д, = А,0 для всех /. г 0 0 0" l о 0 0 i 150
Шаг 2. Сделать шаг по /-му направлению: а) если fly1 + A/ di\ < fly*), шаг считается удачным. В этом случае следует положить У+| = у' + A/ dit Л,- = а А, и перейти к шагу 3; б) если fly1 + A,- dj) ^/(у|, шаг считается неудачным. Тогда следует положить /+| = У, А, = р А, и перейти к шагу 3. Шаг 3. Проверить выполнение условий: а) если / < п, то положить / = / +1 и перейти к шагу 2 (сделать шаги по оставшимся направлениям); б) если / = п, проверить успешность поиска по текущим ортогональным направлениям: - если /гуй+11 < ЛУ1)» т-е- хотя бы один спуск по направлению на шаге 2 был успешным, положить: у{ = yn+\i = 1 и перейти к шагу 2; - если flyn+l) = fly1), т.е. каждый из п последних шагов был неудачным, оценить успешность поиска на текущей итерации: — если ДуЛ+1 )</(**), т.е. на к-ft итерации хотя бы один шаг удачный, то перейти к шагу 4; — если f(yn+]) = /(**)> те- не было ни одного удачного шага на к-ft итерации, процесс поиска приостановить. Если число / последовательно неудачных серий шагов по всем направлениям на текущей итерации не превышает N, проверить условие окончания, а иначе перейти к шагу 4. Проверяются величины А,, использованные во время последней серии шагов. Если |д,-| < е для всех /, то найдено приближенное решение задачи: х*=х*. Если |Д/|>е хотя бы для одного /, то положить ух = уп+], / = 1 и перейти к шагу 2. Шаг 4. Положить xk+l = yn+l и проверить условие окончания: а) если |**+1 - хк < г, то поиск завершить: х* = хк+]; б) если p*+I - х* > 6, вычислить длины шагов по каждому направлению п поиска на k-ft итерации \Х9...,Х„ из соотношения х*+| -хк = ?>., d(. Далее по- строить новый набор линейно независимых и взаимно ортогональных направлений поиска db...,dn с помощью процедуры Грама-Шмидта: d,, X,=0, Щ, 1 = 1, 151
Заметим, что если X, =0, то df = dh т.е. новые направления следует вычислять только для тех индексов, для которых А,, * 0. После нахождения новых направлений следует положить: df=dh A/=A/0 для всех / = 1,...,л, к = к + 1, у1 = xk+l, i = 1, и перейти к шагу 2. Замечания 5.11. 1. Если шаг 2 удачен, то Д, заменяется на а А,, т.е. величина шага увеличивается, так как а>1. Неудача приводит к сдвигу в обратном направлении вдоль /-го направления при следующей попытке, так как р < 0. 2. Розенброк рекомендовал следующие коэффициенты растяжения и сжатия: а = 3, р = - 0,5. 3. Дэвис, Свенн и Кемпи [Davies D., Swann W.H., Campey I.G.] модифицировали метод Розенброка, применив алгоритмы одномерной минимизации при поиске вдоль каждого направления dt [4,42 ]. Тогда, если функция f(x) дифференцируема, последовательность генерируемых точек сходится к стационарной точке. Пример 5.14. Найти минимум функции f(x) - Цх\ - 5) + [х2 - 6) методом Розенброка. ? 1. Зададим начальную точку х° = (8,9)Г, е = 0,6; а = 2, р = -0,5; dx = (l,0)r,//2 = @,1O; А!° = 1, А2° = 2, N = 3. Положим у1 = х° = (8,9)Г, к = 0, / = 1, А! =1, А2=2. 2°. Так как /(.у1 +А1€/1) = /(9,9) = 73 > /(у1) = /(8,9) = 45, шаг неудачен: 3°. Так как / = 1 < л = 2, то i = / +1 = 2 и перейдем к шагу 2. 21. Поскольку f(y2 + А 2 d2) = /(8,11) = 61 > f[y2} = 45, шаг неудачен: У3=У2=(8,9)Г, Д2=-0,5.2 = -1. 31. Так как / = 2 = л, f(ytt+l) = f(y3) = f(x°\, выполнена одна неудачная серия шагов: / = 1 < N = 3, но для выполненной серии шагов |Aj| = 1 >б = 0,6; |д2| = 2>е = 0,6, поэтому положим у1 = у3 =(8,9)Г,/ = 1 и перейдем к шагу 2. 22. Поскольку f[yx + Aj rf,) = /G,5;9) = 34 < /(у1) = /(8,9) = 45 , шаг удачен: у2=У+А,^=G^9)Г, А,-аД,=2(-О,5) = -1. 32. Так как / = 1 < п = 2, то / = i +1 = 2 и перейдем к шагу 2. 23. Поскольку f(y2 + А2 </2) = /G^;8) = 29 < /(у2) = 34, шаг удачен: /=j;2+A2</2=G,5;8)r, А2 = аА2 = 2(-1) =-2. 152
33. Так как / = 2 = п = 2, /(у3) = 29 < /(У) = 45, то положим у1 = у3 = G,5; 8) , / = 1 и перейдем к шагу 2. 24. Поскольку /(У + А1 dx) = /FД8) = 13 < /(у1) = /GД 8) = 29, шаг удачен: у2=У+Д,</1=FД8)Г, А,=аА1=2(-1) = -2. 34. Так как / = 1 < п - 2, то j = i +1 = 2 и перейдем к шагу 2. 25. Поскольку f[y2 + A2 d2) = /FД6) = 9 < f(y2) = /FД8) = 13, шаг удачен: уъ = y2+A2d2 =FД6)Г, А2 =<хД2 = 2(-2) = -4. 35. Так как / = 2 = л,/(у3) = 9 < /(У) = 29, положим у] = у3 = F^;6)Г,i = 1 и перейдем к шагу 2. 26. Поскольку /(у1 + А{ J,) = /D^; 6) = 1 < /(у1) = /FД 6) = 9, шаг удачен: 36. Так как / = 1 < п = 2, то / = / +1 = 2 и перейдем к шагу 2. 27. Поскольку /(у2 + А 2 rf2) = /DД2) = 17 > fly2) = 1, шаг неудачен: д;3 =д,2 =DД6)Г, А2 =рА2 =-0,5(-4) = 2. 37. Так как / = 2 = й, /(y3j = I </(yl) = /F^;6) = 9, то ух = у3 = D^;6)r, i = 1 и перейдем к шагу 2. 28. Поскольку f[yx + А, d{} = /@^;6) = 81 > /(у1 j = /DД6) = 1, шаг неудачен: у2=У=DД6)Г, А,=-0,5(-4) = 2. 38. Так как / = 1 < п = 2, то / = / + 1 = 2и перейдем к шагу 2. 29. Поскольку /(у2 + А1 d2) = /D,5;8) = 5 > /(у2) = 1, шаг неудачен: у3=у2 =DД6)Г, Л2 =-0,52 = -1. 39. Так как / = 2 = п = 2 и /(у3) = /(у1), но f(y3) = 1 < /(х°) = 45, перейдем к шагу 4. 4°. Положим х1 = уг = D,5; 6)Г. Так как ix1- = |(8, 9)г - D,5; 6)г| = V3,52+32 = 4,61 > е = 0,6 , то вычислим Хх,Х2 из гния х1 - х° = -т- ~""= ^ i^Moi ^2 ' ^тсю^а Х.| = -3,5; к2 = -3. Построим новый набор направлений поиска: соотношения х1 -х° = 153
Положим d{=dlt d2=d2, Д1 = Д1 =1, Д2 = Д2 =2, ? = * + 1 = 1, ух = хх = D,5;6)Г, / = 1 и перейдем к шагу 2. 210. Поскольку f[yx + Д, dx) = /C,74;5,35) = 6,766 > /(у1) = /D,5;6) = 1, шаг неудачен: у2 = ух »D,5; 6)г, Д j = -0,5 • 1 = -0,5. З10. Так как / = 1<л = 2,то i = i + 1 = 2. 2П. Поскольку /(у2 + Д2 d2) = /E,801;4,481) = 4,876 > /(у2) = 1, шаг неудачен: уг =у2 =D,5;6)Г,Д2 --0.5-2--1. 3м. Так как / = 2 = л, /(у3)= /\у1)= 1» то оценим успешность поиска на текущей итерации. Так как /(у3) = /f^1) = 1 > то на текущей итерации не было ни одного удачного шага. Поскольку / = 1 < N = 3, то проверим условие окончания. Имеем: |д2| = 1 > е = 0,6 и поэтому положим у1 - у3 = D,5;6) ,/ = 1 и перейдем к шагу 2. 212. Поскольку f[yx + Д, 4) = /D,880;6,325) = 0Д64 < /(у1) = /D,5;6) = 1, шаг удачен: у2 =ух +bldl = D,880; 6,325)Г,Д i =аД! =-0^-2 = -1. 312. Так как г = 1 < л = 2, то / = / + 1 = 2и перейдем к шагу 2. 213. Поскольку f[y2 + Д 2 d2) = /D,229;7,085) = 3,555 > fly2] = 0,164, шаг неудачен: уъ = у2 = D,880;6,325)Г, д2 =рд2 =-0,5(-1) = 0,5. 313. Так как /«2 = я , то проверим успешность поиска по текущим ортогональным направлениям: /(у3) = 0,164 < flyx) = 1- поиск успешный. Положим у1 = у3 = D,880; 6,325)Г, / = 1 и перейдем к шагу 2. 214. Поскольку справедливо неравенство f{yx + Д^,) = /E,639;6,976) = 2^86 > /(у1) = /D,880;6,325) = 0,164, шаг неудачен: у2 =/ = D,880;6,325)Г,Д! = -0,5-(-1)= 0,5. 314. Так как / = 1 < л = 2, то / = i +1 = 2 и перейдем к шагу 2. 154
215. Поскольку /(у2+А2^2) = /EД05;5546) = 0Д71>/(;;2) = 0,164, шаг неудачен: у3 = у2 = D,880; 6,325f, Д 2 = -0,5 • 0,5 = -0,25. З15. Так как i = 2 = п и Ау2) = ОД64 = Ау1) » то оценим успешность поиска на текущей итерации: /(з>3) = 0Д64</(х1] = 1- на текущей итерации был удачный шаг. Перейдем к шагу 4. 41. Положим х2 = у3 = D,880; 6,325)Г. Так как выполняется условие |х2 - х11 = ^D,880 - 4,5J + F,325 - бJ = 0,5 < е = 0,6, процесс поиска завершается: х* = х2 = D,880;6,325)Г;/(х*) = 0Д64. ¦ Пример 5.15. Найти минимум функции f(x) = 2х2 + ххх2 + х\ методом Ро- зенброка. D 1. Зададим начальную точку х° =@,5;1)Г, е = 0,075; а = 3, р = -0^; d{ =A,0)г,^2=@,1)Г;А1° = А20=0Д;ЛГ = 3. Положим у1 =х° = @^;1)Г, Л = 0, / = 1, А! = Д 2 = ОД. 2°. Поскольку /(у1 + А, d{) = /@,6;1)« 232 > f(yl) = /@^;1) = 2, шаг неудачен: у2 = у1, А, = -0^@Д) = -0,05. 3°. Так как / = 1 < п = 2, поэтому i = / + U2h перейдем к шагу 2. 21. Поскольку /(у2+А2^2) = /(оЛи) = 2Д6>/(^2) = 2, шаг неудачен: уг -У, А2 =-0^@,1) = -0,05. 31. Имеем / = 2 = л,/(у3) - /(у1), выполнена одна неудачная серия шагов: / = 1 < ЛГ = 3. На этой серии |ах| = ОД >е = 0,075; |д 2| = 0,1 >е =0,075, поэтому положим у1 = у3,/ = 1 и перейдем к шагу 2. 22. Поскольку f(yl + А! </,) = /@,45; 1) = 1,855 < /(у1) = /@,5; 1) = 2 , шаг удачен: у2 = @,45;1)Г, Д, = 3(-0,05) = -0Д5. 32. Имеем i = 1 < п = 2, поэтому i = i +1 = 2 и перейдем к шагу 2. 23. Поскольку /(у2+Д2^/2) = /@,45;0,95) = 1,735</(у2) = 1355, шаг удачен: у3 =@,45;0,95)Г,Д2 = 3 (-0,05) =-0,15. 33. Имеем / = 2 = nj[y3) = 1,735 < /(у1) = 2. Положим у1 = @,45;0,95)г,/ = 1 и перейдем к шагу 2. 24. Так как f(yl +A, ^) =/@,3;0,95) = U675 </(У) = Ш5, шаг удачен: у2 =/ +A,rf, =@3;0,95)Г, А2 =3(-0Д5) = -0,45. 34. Имеем i = 1 < л = 2, поэтому / = i +1 = 2 и перейдем к шагу 2. 155
25. Поскольку f{y2 + Д2 d2) = /@3;0,8) = 1,06 < /(у2) = 1,3675, шаг удачен: уъ = @,3;0,8)Г,Д 2 = 3(-0,15) = -0,45. 35. Имеем / = 2 = л, /(д/3) = 1,06 < /(у1) = 1,855. Положим ух = у3 = @3;0,8)г, / = 1 и перейдем к шагу 2. 26. Поскольку /(у1 + Л, d{) = /(- ОД 5;0,8) = 0,565 < f{yx) = 1,06, шаг удачен: у2 = (-0Д5;0,8)Г, А, = 3(-0,45) = -U5. 36. Имеем / = 1 < п = 2, поэтому i = / +1 = 2 и перейдем к шагу 2. 27. Так как /(у2 + А2 </2) - /(-0,15;0,35) = 0Д15 < f{y2) = 0,565, шаг удачен: у2 =(-0,15;0,35f,A2 = 3(-0,45) =-U5. 37. Имеем / = 2 = л, /(/) = ОД 15 < /(/)« 1,06. Положим у1 = у3 = (-0,15; 0,35)^1 = 1 и перейдем к шагу 2. 28. Поскольку /(/ + Aj dj) = /(-1,5; 0^5) = 4Д > /(у1) = ОД 15, шаг неудачен: ^2 =/ =(-0Д5;035)Г, А! =-0^(-1,35) = 0,675. 38. Имеем / = 1<я = 2, поэтому / = / + 1 = 2 и перейдем к шагу 2. 29. Так как f(y2 +Д2<*2) = /(-0Д5;-1) = 1,195 >/(у2) = 0,115, шаг неудачен: у3 = у1 = (-0Д5;0,35)Г,Д2 = -0^(-135) = 0,675. 39. Имеем / = 2 = п = 2, /(у3) = /(у1) = 0,115. Так как выполняется условие ЛуЪ\ = ОД 15 < f[x°) = 2, переходим к шагу 4. 4°. Положим х1 =уг = (-0Д5;0,35O\ Так как |х! - х°|| = V(" ОД5 - 0,5^ + @,35- if = 0,92 > е = 0,075, то вычислим | Д2 из соотношения х1 - х° = ' = Xj + Я,2 . Отсюда Х\ = Х2 = -0,65. V-0,65y vQ/ Ш Построим новый набор направлений поиска: 156
ws)-o'459l-o,7o7J ( 0,325 ^ 0.325 ^ - h [-0.325J f 0,707 d; d 'Щ=~^Г={М Положим dx = du d2 = d2, Д1 = A2 = Л<1 = д°2 = 0,1, fc = fc +1 = 1, У = x1 = (-0,15;0,35)r, / = 1 и перейдем к шагу 2. 210. Поскольку f(yl + Ai </,) = /(-0,22;0,28) = 0,114 < /(/) = ОД 15, шаг удачен: у2 = у1 + A] <*i = (-0,22; 0,28)r, А, = а А, = 3 0,1 =0,3. 310. Имеем / = 1 < п = 2, поэтому / = / + 1 = 2 и перейдем к шагу 2. 2й. Поскольку /(у2 + А2?/2) = /(-.ОД5;0,209) = 0,057</(у2) = 0,114, шаг удачен: у3 = (-0,15;0,209)Г,Д2 =30,1 = 0,3. 311. Имеем i = 2 = я, /(у3) = 0,057 < /(/) = 0,115. Положим у{ = у3 = (-0,15;0,209)Г,/ = 1 и перейдем к шагу 2. 212. Поскольку /(у1 +Д1</1) = /(-0^62;-0,004) = 0,264>/(/) = 0,057, шаг неудачен: у2 =у!, А, =-0,5@,3) =-0,015. 312. Имеем i = 1 < п = 2, поэтому / = / + 1 = 2 и перейдем к шагу 2. 213. Так как f(y2 + А2 </2) = /@,062;- 0,004) = 0,008 < f(y2) = 0,057, шаг удачен: у3 = @,062; - 0,004)Г, Д2 = 3 • 0,3 = 0,9. 313. Имеем / = 2 = п, /(у3) = 0,008 < f[yl) = 0,057. Положим у1 = у3 = @,062;-0,004)Г, / = 1 и перейдем к шагу 2. 214. Поскольку /(у1 + Aj ^) = /@,168; 0,103) = 0,084 > /(у1) = 0,008, шаг неудачен: у2 = у1 = @,062;- 0,004)Г, А! = -0,5 • (-0,015) = 0,0075. 314. Так как i = 1 < п = 2, то / = / +1 = 2 и перейдем к шагу 2. 215. Поскольку f[y2 + А2 </2) = /@,698;-0,216) = 0,719 > f[y2) = 0,008, шаг неудачен: у3 = у2, А 2 = - 0,5 • 0,9 = - 0,45. 315. Имеем / = 2 = л,/(у3) = 0,008 = /(у1) = 0,008. Так как /[уъ\ = 8 • 10 < /(х1) = 0,115, то перейдем к шагу 4. 41. Положим х2 = у3 =@,062;-4 101 . Так как справедливо ||д:2 - jc1 || = V @,062 - (- 0,15)J + (- 4 • 10 - 0,35^ = 0,41 > е = 0,075, то вычислим у у 2 1 Г 0,212 ^ (- 0,707^ Г 0,707 ^ Л Х,.Х2 из соотношения х2 -х1 -^J -Х^^ +ЦО^- Отсюда 157
0,1Д2 = 0,4. Построим новый набор направлений поиска: '4Uo,7O7j = U 0'707! Г 0Д828 ^ @,0853^ Г 0,0853>|. t U0,2828j U^/4U0,86j'l0,0504j'  " |^21" 0,099 Положим flf, =5"ь ^/2 =^2» А1 = А2 =А^ = Д^ =0,1; у1 = х2 =(о,О62;-4 1О) , & = & + 1 = 2, / = 1и перейдем к шагу 2. 216. Поскольку /(у1 + Л, i/j) = /@,Ш;-0,090) = 0,8 > /(/) = 8-10, шаг неудачен: у2 = у{ ,А х = -0,5.0,1 = -0,05. 316. Имеем / = 1 < п = 2, поэтому / = / + 1 = 2и перейдем к шагу 2. 217. Поскольку /(у2 + А2 </2) - /@Д48;0,047) = 0,06 > /(у1) = 8 • 10~3, шаг неудачен: у3 = у2,Д2 = -0,5 ОД = -0,05. 317. Имеем i = 2 = /1, /(у3) = /(у1) = 8 • 10~3, выполнена одна неудачная серия шагов: I = 1 < N = 3. На последней серии справедливы неравенства |Д! | = 0,1 > е = 0,075, |Д2| = 0,1 > б = 0,075. Поэтому положим у1 -уъ = fo,O62;-4• 10~3j ,/ = 1 и перейдем к шагу 2. 218. Поскольку /(у1 +Д1</1) = /@,036;0,039) = 5,5-10-3 < /(у1) = 8-НГ3, шаг удачен: у2 = @,036;0,039)Г,Д, = 2-(-0,05) = -0,1. 318. Имеем /' = 1 < п = 2, поэтому / = / + 1 = 2 и перейдем к шагу 2. 219. Так как /(у2 + Д2 d2) = /(-7 • 1О;О,О135) = 1,86 • 10 < /(у2) = 5,5 • 10, шаг удачен: у3 = (-7 • 10;0,0135)Г,А2 = 2(-0,05) = -0,1. 319. Имеем / = 2 = л, /(у3) = 1,86 • 10 < /(у1) = 8 • 10. Положим у1 = у3,/ = 1 и перейдем к шагу 2. 158
220. Поскольку f[yx + Д, dx) = /(-0,058;0,095) = 0,01 > /(/) = 1,86 • ИГ4, шаг неудачен: у2 = у1, Aj = - 0,5 (- ОД) = 0,05. 320. Имеем i = 1 < п = 2, поэтому / = / + 1 = 2 и перейдем к шагу 2. 221. Поскольку f(y2 + А2 d2) = /(-0,093;-0,0375) = 0,02 > f(y2) = 1,86 -10, шаг неудачен: уг = у2 = у1, А2 = - 0,5 (- ОД) = 0,05. 321. Имеем / = 2 = я, Ауг) = /(у1)- Так как справедливо условие /(у3)= 1,86-Ю < /(х2)= 8-НГ3, то перейдем к шагу 4. 42. Положим хг = уъ = (-7 • 1О";О,О135) . Так как |jc3 - х2 j = 1/ (- 7 • 10 - 0,062f + (o,O135 - (- 4 • 10 f = 0,071 < в = 0,075, то процесс поиска завершается: х* = xA = (-7 10-3;0,0135) \f[x*} = 1,86 • Ю. ¦ 5.5. МЕТОД СОПРЯЖЕННЫХ НАПРАВЛЕНИЙ Постановка задачи Требуется найти безусловный минимум функции /(х) многих переменных, т.е. найти такую точку х* е Rn, что fix*) = min fix). v ' xeRn Определение 5.6. Пусть Н - симметрическая матрица размера п х п. Векторы dvd2,...,dn называются Н-сопряженными или просто сопряженными, если d§THdj = 0 при всех i*j. Стратегия поиска В методе сопряженных направлений (методе Пауэлла [Powell M.J.D.] ) используется факт, что минимум квадратичной функции может быть найден не более чем за п шагов при условии, что поиск ведется вдоль сопряженных относительно матрицы Гессе направлений. Так как достаточно большой класс целевых функций может быть представлен в окрестности точки минимума своей квадратичной аппроксимацией, описанная идея применяется и для неквадратичных функций. Задается начальная точка и направления dl,d2,...,dny совпадающие с координатными. Находится минимум f(x) при последовательном движении по (и + 1) направлениям с помощью одного из методов одномерной минимизации (см. разд. 5.1). При этом полученная ранее точка минимума берется в качестве исходной для поиска по следующему направлению, а направление dn используется как при первом (d0 =dn), так и последнем поиске. Находится новое направление поиска, сопряженное с dn. Оно проходит через точки, полученные
при первом и последнем поиске. Заменяется dx на d2i d2 на d$ и т.д. Направление dn заменяется сопряженным направлением, после чего повторяется поиск по (п + \) направлениям, уже не содержащим старого направления dx. Для квадратичных функций последовательность п2 одномерных поисков приводит к точке минимума (если все операции выполнены точно). Построение сопряженного направления для квадратичной функции при я = 2 изображено на рис. 5.18. Оно проходит через точки 1 и 3. Рис. 5.18 Алгоритм Шаг 1. Задать начальную точку дс°, число г > 0 для окончания алгоритма, начальные направления поиска 0 А 1 0 X Положим d0 = dn, i = 0, у0 = х°, к = 0. Шаг 2. Найти У+1 = у1 +tjd;, где шаг /, находится в результате поиска минимума функции fly1 +tidi\ no /,• одним из методов одномерной минимизации. Шаг 3. Проверить выполнение условий: а) если / < п -1, положить i = / +1 и перейти к шагу 2; б) если i = п - 1, проверить успешность поиска по л первым направлениям. Если уп = у0, то поиск завершить: дс* =уп, иначе положить / = / +1 и перейти к шагу 2; 160
в) если i = п, проверить успешность поиска по п последним направлениям. Если уп*1 = у1, поиск завершить: х* s yn+l, иначе перейти к шагу 4 для построения сопряженного направления. Шаг 4. Положить xk+l = ул+| и проверить условие окончания: а) если р*+1 - хк И < е, то поиск завершить: х* = х*+1 ; б) иначе положить: d0 =dn= yn+l -у1 (новое направление); d, = du\, # = 1,...,я -1 (исключается старое направление). Если при этом rang [du...,dn}= n, то новая система направлений линейно независима. В этом случае положить: dt = dt, i = 0,1,..., /i; k = k + l, i = 0, y° = x*+1 и перейти к шагу 2. Если rang \dly...,dn)<n,TO новая система направлений линейно зависима. Тогда следует продолжать поиск в старых направлениях. Для этого положить: dj=di, i = 0,1,...,л; у0 = xk+l9 fc = fc + l, i = 0 и перейти к шагу 2. Замечание 5.12. Изложенный алгоритм соответствует описанному в [36]. Имеется также алгоритм Пауэлла, в котором не гарантируется линейная независимость направлений поиска, а в [4] модификация алгоритма Пауэлла, предложенная Зангвиллом [Zangwill W.I.]. Последняя модификация гарантирует линейную независимость направлений поиска и сходимость за конечное число шагов. Пример 5 Л б. Найти минимум функции /(*) = 4(*i - 5J + (jc2 - бJ методом Пауэлла. D 1°. Зададим начальную точку *° = (8,9)Г, dx = I \,d2 = I j,s = 0,1. Положим do=dn= d2; y° = x°9 i = 0, к = 0. 2°. Получаем у1 =/ +todo =(8,9)Г +tQ@,\)T =(8,9 + /0)Г- Найдем минимум функции /(8,9 + /0) = 36 + C + г0J по *0. Очевидно, t0 - -3, а у1 = (8,6)Г. 3°. Имеем i = 0 < 2 = п, поэтому / = / + 1 = 1 и перейдем к шагу 2. 21. Получаем >^2 =у! +t{ d{ =(8,6)Г +/i(l,0)r =(8 + /ь6)Г. Найдем минимум функции /(8 + f1,6) = 4C + /1J no fj. Очевидно, он достигается при tx =-3. Тогдау2=E,6)Г. 31. Имеем / = 1 = п -1, уй = У2 * У°, поэтому / = / + 1 = 2 и переходим к шагу 2. 22. Получаем у3 = у2 +t2d2 =E,6)r +/2@,1)Г =E,6 + Г2)Г. Найдем минимум функции /E,6 +12) = /| по /2 • Очевидно, t2 = 0, а уъ = >^2 = E,6)Г. 32. Имеем i = 2 = п, уг * у1. Перейдем к шагу 4. П—4751 161
4°. Находим xl=y3=E96)T, flx1 - х° | = V (8 - 5J + (9 - бJ = 4,24>е. По- ложим dQ=dn=d2=y3-yl =E,6)r-(8,6f=(-3,0)r; 4=</2=(°1. Так как Г-з (ft rang! I = 2 = п, то система векторов линейно независима. Положим и пе- ре идем к шагу 2. 23. Получаем / = у0 + /0 </0 = E,6)Г + *0 (-3,0)г = E - 3/0,6)Г. Найдем минимум функции /E - 3/0,6) = 36/q по /0. Так как t0 = 0, то у{ = E,в)Т = у0. 33. Имеем / = 0 < п-1 = 1, поэтому / = / + 1 = 1 и перейдем к шагу 2. 24. Получаем у2 = у1 +txd} =E,6)Г +fi(<U)r =E,6 + /,)r. Минимум функции /E,6 + fj) = /j2 по fj достигается при /j = 0. Тогда у2 = E,6) = у1 = у0. 34. Имеем / = 1 = п -1, у2 = у0 , поэтому поиск завершается: Пример 5Л7. Найти минимум функции f(x) = 2xx2+xlx2+x22 методом Пауэлла. D 1°. Зададим х° = @,5;lf, dx = г\ d2 = Г J, е = ОД. Положим 2°. Получаем у1 =/ +/0 <*о в@А1)Г + ф,\)Т = @,5;1 + /0)Г. Найдем минимум функции /(О,5;1 + *о) = О,5 + О,5A + /о) + A + /оJ по /о. Применим метод квадратичной интерполяции, так как минимизируемая функция квадратичная (см. разд. 5.1). Получим /0 =— (подробности опущены), у1 =@,5;-0,25)г. 3°. Имеем / = 0<я-1 = 1, поэтому / = / + 1 = 1 и переходим к шагу 2. 21. Получаем у2 = / +1{ dx = @,5;-0,25)Г + tx(l90)T = @,5 + /, ;-0,25)г. Найдем минимум функции /@,5 + /;; - 0,25) = 2 @^ + tx f - 0,25 @,5 + tx) + 0,0625 по tx. Аналогично шагу 2° получаем tx =—-, у2 = —,— I . 16 \\Ь 4) З1. Имеем / = 1 = п -1, у2 * у0. Поэтому / = / + 1 = 2 и переходим к шагу 2. 162
22. Получаем у3 = у2 + t2d2 «("jj.-j) +ФлУ ^'"^l • безусловный минимум функции /[—,/2 —т| = 7^Г + ~71 *2 -т1 + 1 *2 —I • Полу- \\Ь Л) 128 16^ 4; V 4J Най*см З2. Имеем / = 2 = п, у3 ф у1. Перейдем к шагу 4. 4°. Находим хх = >>3=[—, 1 . Так как \хх -х°| = 1,5 >s , положим ^16 32у ¦ ¦ 1, -Ъ S -У =(±:,-±j-(oz-oasf -(-JL, Г)т, J, -^ =Q. Так как rang о -— Г 32 J 2 = я, то новая система линейно независима. Положим ц = 09у»=х*=\^9-~\ и перейдем к шагу 2. 23. Получаем ( 1 7 1 7 ^ f 1 7 V Найдем минимум функции /I — —-/0,—т +—^о = 2 "Т—</о I + + ~7~~7/Ь I—^о +[—^о по 'о • Получаем /q =~> У1 =@,0)^. 33. Имеем j = 0 < п -1 = 1, поэтому / = / + 1 = 1 и перейдем к шагу 2. 24. Получаем у2 = у1 +t{ d{ =@,0)Г +/i@,l)r =@,^,)Г. Найдем минимум функции /@,^) = /2 по tx. В результате находим tx =0, ^2 = у1. 34. Имеем / = 1 = л -1, у2 * у0, поэтому / = / + 1 = 2 и перейдем к шагу 2. 25. Получаем у3 - у2 + /2</2 = @,0)г + '2(-у?,^) = (-^'2, ^2) • / 7 7 ^ 49 о 49 2 49 2 3 • 49 i Найдем минимум функции/^--/2)-/2J=— h -—h +—/2 =-j^^2 по t2 . Очевидно, t2=0 и уг = @,0)г. З5. Так как / = 2 = л, уъ = ух, то процесс поиска минимума завершается: 163
5.6. МЕТОДЫ СЛУЧАЙНОГО ПОИСКА Постановка задачи Требуется найти безусловный минимум функции f(x) многих переменных, т.е. найти такую точку jc* e Rn, что /I**) = min f(x). 5.6.1. Адаптивный метод случайного поиска Стратегия поиска Задается начальная точка х°. Каждая последующая точка находится по формуле где tk > 0 - величина шага; %к - случайный вектор единичной длины, определяющий направление поиска; к - номер итерации. На текущей итерации при помощи генерирования случайных векторов ?* получаются точки, лежащие на гиперсфере радиуса tk с центром в точке хк (рис. 5.19). Если значение функции в полученной точке не меньше, чем в центре, шаг считается неудачным (точки у\у2 при поиске из х°; ух,уг при поиске из х{). Если число неудачных шагов Рис. 5.19 из текущей точки достигает некоторого числа М , дальнейший поиск продолжается из той же точки, но с меньшим шагом до тех пор, пока он не станет меньше 164
заранее заданной величины R . Если же значение функции в полученной точке меньше, чем в центре, шаг считается удачным и в найденном направлении делается увеличенный шаг, играющий роль ускоряющего шага (как при поиске по образцу в методе конфигураций). Если при этом значение функции снова меньше, чем в центре, направление считается удачным и дальнейший поиск продолжается из этой точки (точки z3 = х1 при поиске из х°, z4 = х2 при поиске из х1). Если же значение функции стало не меньше, чем в центре, направление считается неудачным и поиск продолжается из старого центра (в точке у2 при поиске из хх функция меньше, чем в Дав точке z2 уже не меньше, поэтому направление U2 -хх\ неудачное). Алгоритм Шаг 1. Задать начальную точку х°, коэффициенты расширения а > 1 и сжатия 0 < р < 1, М - максимальное число неудачно выполненных испытаний на текущей итерации, f0 = 1 - начальную величину шага, R - минимальную величину шага, N - максимальное число итераций. Положить к = 0J = 1. Шаг 2. Получить случайный вектор %* = tay,...,?,/) , где %? - случайная величина, равномерно распределенная на интервале [-1,1]. Шаг 3. Вычислить yJ = хк + Шаг 4. Проверить выполнение условий: а) если f(yj) < /(**)» шаг удачный. Положить zJ = хк + a(yJ -xk\. Определить, является ли текущее направление yj - xk удачным: - если fUA < /(**)» направление поиска удачное. Положить хк+[ =zj, /*+i =<***» к = к + \ и проверить условие окончания. Если к <N, положить j = 1 и перейти к шагу 2. Если к = N, поиск завершить: х* = хк; - если f\Z*\ ^ /(**)> направление поиска неудачное, перейти к шагу 5; б) если f(yJ) ? /(**)> шаг неудачный и перейти к шагу 5. Шаг 5. Оценить число неудачных шагов из текущей точки: а) если j < М , следует положить j = j +1 и перейти к шагу 2; б) если j = М, проверить условие окончания: - если tk <, R, процесс закончить: х* = x*,/(x*j s /(х*); - если tk > R, положить tk = §tkj = 1 и перейти к шагу 2 Замечания 5.13. 1. Величина ?/, равномерно распределенная на интервале [-1,1], генерируется обычно с помошью датчиков псевдослучайных чисел на ЭВМ. Вырабаты- 165
вается случайная величина ц/, равномерно распределенная на [ОД], а затем используется линейное преобразование: %{ = 2tj/ -1. 2. Шумер и Стейглиц [Schumer М.А., Steiglitz К.] рекомендуют следующие параметры алгоритма: а = 1,618; р = 0,618; М = 3п. При а = 1 точка zJ на шаге 4 совпадает с yJ, т.е. аналог поиска по образцу не производится. Начальный шаг /0 > R можно задать произвольно [36] . 3. Если выполнено условие окончания tk й R , то в качестве ответа можно использовать любую точку внутри шара с радиусом tk и центром в точке хк. 4. Многочисленные варианты случайного поиска изложены в [8] и могут включать элементы обучения, при котором направления убывания функции становятся более вероятными, а другие направления - менее вероятными. Пример 5.18. Найти минимум функции f(x) = 4(*j - 5J + (х2 - 6) методом адаптивного случайного поиска. ? 1°. Зададим начальную точку дс°=(8,9)Г, а = 1,618;р = 0,618; N = 10; R = 0,8; t0 = 1; М = 3. Положим к = 0,у = 1. 2°. Получаем S1 = @,843; 0,374)Г. 3°. Вычисляем У =х° +<oi|r=(8, 9)T +i^^p)l = (8,914;9,4)Г 4°. Так как /(у1) = 72,83 > /(x°j = 45, шаг неудачен. 5°. Имеем j = 1 < М = 3. Положим 7=7 + 1 = 2 и перейдем к шагу 2. 21. Получаем %2 =@,239;0,954)Г. 31. Вычисляем у2 = х° + /0 J-. = (8, 9)г + ^ „VI', ' = &24' 9'97)Т • к I 0,983 41. Так как fly2) = 57,75 > flx°\ = 45, шаг неудачен. 51. Имеем j = 2 < М = 3. Положим у = у +1 = 3 и перейдем к шагу 2. 22. Получаем Z? =(-0,159;-0,402O'. 32. Вычисляем у3 =х° +/Oira = (8, 9f + ^°J59a; '^ =G,63; 8,07)г. 42. Так как /^3) = 31,95 < /(х°) = 45, шаг удачный. Положим 1Ъ = х° + а(д;3 -х°) = (8,9)Г + 1,618[G,63;8,07)Г -(8,9)Г] = G,4;7,49)Г, f[zz\ = 25,26 < f(x°\ = 45, направление удачное. Положим х1 = г3 = G,4;7,49)Г, >i =а^0 = 1,6181 = 1,618, А: = к + 1 = 1. Так как /: = 1 <# = 10, положим у =1 и перейдем к шагу 2. 166
23. Получаем %2 =@Д68;-0,727)Г. З3. Вычисляем У = *' +^ = G,4;7,49f +1,618 t0'168' ^f - G,67; Belli v 7 0747 v 43. Так как /(У) = 29Д9 > /(х1 ) = 25,26, шаг неудачный. 52. Имеем j = 1 < М = 3. Положим у = j +1 = 2 и перейдем к шагу 2. 24. Получаем ?2 =(-0,478;-0,214)г. З4. Вычисляем 44. Так как f[y2\ = 4,07 < f(x[\ = 25,26, шаг удачный. Положим Z2 = х1 + а[у2 -х1) = G,4;7,49)Г + 1,618[E,92;6,83)Г -G,4;7,49)Г] = E,005;6,42)Г, f[z2\ = 0,176 < f(xl) = 25,26, направление удачное. Положим х2 = z2 = E,005; 6,42)Г, /2 = а h = 2»618» * = ^ +1 = 1 Так как k = 2 < N = 10, положим у = 1 и перейдем к шагу 2. 25. Получаем S1 = (- 0,361; 0,112)Г. 3s. Вычисляем 45. Так как f(yl\ = 18,55 > fix2] = 0,176, шаг неудачен. 53. Имеем у = 1 < М = 3. Положим у = у +1 = 2 и перейдем к шагу 2. 26. Получаем Z? =@,674; 0,551)Г. З6. Вычисляем v2 = Г = *• + Г2 ^ - E,005; 6,42)г + 2,618 ^^fv = G,03; 8,08f. 46. Так как /(^1) ¦ 20,81 > /(х2) = 0,176, шаг неудачен. 54. Имеем у = 2 < М = 3. Положим у = у +1 = 3 и перейдем к шагу 2. 27. Получаем $3 = @,789;- 0,742O. З7. Вычисляем 167
47. Так как /(у3) = 14,73 > f[x2} = 0,176, шаг неудачен. 55. Имеем у =3 = Л/. Так как t2 = 2,618>Л = 03, положим /2 = 0,618 /2 = 0,618 • 2,618 = 1,618, у = 1 и перейдем к шагу 2. 28. Получаем 51 = (-0,824;- ОД 93)Г. З8. Вычисляем ^ = E,005; 6,42)% Ш&°™?*Г-ЬЪЮГ 48. Так как /(у1) * 9,86 > /(х2) = 0,176, шаг неудачен. 56. Имеем у = 1 < М = 3. Положим у = у +1 = 2 и перейдем к шагу 2. 29. Получаем t? =(-0,08; 0,917)г. З9. Вычисляем у2 я Х2 + ,ft e E>005; М2)г +1>618^0,08; 0,917; = ^ ^у 49. Так как f(y2) = 4,19 > fix2) = ОД76, шаг неудачен. 57. Имеем у = 2 < А/ = 3. Положим у = у +1 = 3 и перейдем к шагу 2. 210. Получаем %г =@,05; 0,17 if. З10. Вычисляем E,005; 6,42f + ifiWfSS^L = E,46; 7,97f 410. Так как /(у3) = 4,73 > /(x2j = 0,176, шаг неудачен. 58. Имеем j = 3 = М. Так как /2 = 1,618> R = 0,8, положим /2 = 0,61812 = 0,618 • 1,618 = 1, j = 1 и перейдем к шагу 2. 211. Получаем Z? =@Д51;-0,447)г. З1 х. Вычисляем jL - E,005; 6,42f 41 *. Так как /(у1 j = 1,21 > /(х2 J = 0,176, шаг неудачен. 59. Имеем j = 1 < М = 3. Положим j = у +1 = 2 и перейдем к шагу 2. 212. Получаем %2 =(-0,812;0Д02)Г. З12. Вычисляем ^ f (°8^0^ - D,01; € 168
412. Так как /(у2) = 4Д2 > /(х2) = ОД76, шаг неудачен. 510. Имеем j = 2 < М = 3. Положим j = j +1 = 3 и перейдем к шагу 2. 213. Получаем Z? = @,507; 0,537)г. З13. Вычисляем 413. Так как fly3) = 3,23 > fix2) = 0,176, шаг неудачен. 511. Имеем j = 3 = М. Так как t2 = 1 > R = 0,8, то положим /2 = 0,618*2 = 0,618, у = 1 и перейдем к шагу 2. 214. Получаем ^ = (-0,587; 0,46\)Т. З14. Вычисляем = E,005; 6,42f+0,1 414. Так как f(y1} = 1,56 > /(x2j = ОД 76, шаг неудачен. 512. Имеем j = 1 < М = 3. Положим у = j +1 = 2 и перейдем к шагу 2. 215. Получаем $2 = @,911; 0,018)г. З15. Вычисляем X» 415. Так как /(у2) = 1,72 > /(х2) = 0Д76, шаг неудачен. 513. Имеем j = 2 < М = 3. Положим у = у +1 = 3 и перейдем к шагу 2. 216. Получаем ?3 =(-0,07;-0,971)Г. З16. Вычисляем ^ = E,005; 6,42f +0,618i^^ii_ = D)96; 5,803)r. 416. Так как ЛуЪ) = 0,046 < fix2) = 0,176, шаг удачен. Положим Z3 = х2 +а(у3 -х2) = E,005;6,42O +1,618[D,96;5,803)Г -E,005;6,42)Г] = = D,93;5,42)г ,/(г3) = 0,356 > fix2) = 0,176, направление неудачное. Перейдем к шагу 5. 169
514. Имеем,/ = 3 = М, /2 = 0,618 < R = 0,8. Поэтому х* а х2 = E,005;6,42)Г, /(**) = 0,176 или, более точно, результат содержится в круге с радиусом t2 = 0,618 и центром в точке х2. ¦ Пример 5.19. Найти минимум функции /(х) = 2х2 + ххх2 + х2 методом адаптивного случайного поиска. ? 1°. Зададим начальную точку х°=@,5;1)г; а = 1;р = 0,5;Л/ = 3;# = 100; /? = 0,5; f0 = 1 • Положим к = 0,у = 1. Так как а = 1, согласно п. 2 замечаний 5.13 7 точка гу на шаге 4 не вычисляется. 2°. Получаем S1 = (- 0,875; - 0,436f. 3°. Вычисляем 4°. Так как /(/) = 0,399 </(х°) = 2, шаг удачный. Так как а -1, то Z1 = У1, f[zl) < fix0). Положим х1 = zl = у1 = (-0,395;0^53)Г,* = * +1 = 1, /, = а /0 = 'о = 1» У = 1 и перейдем к шагу 2. 21. Получаем Z,1 =@,199; 0,369)Г. 31. Вычисляем - = @,08;1,43)г. 41. Так как flyl\ = 2,17 > /lx{\ = 0,399, шаг неудачный. 5°. Имеем j = 1 < М = 3, поэтому j = у +1 = 2 и перейдем к шагу 2. 22. Получаем ?2 = @,287; 0,763)Г. 32. Вычисляем 42. Так как Ау2) = 0,16 < flx{\ = 0,399, шаг удачный. Так как <х = 1, то z2=y2, /(г2)</(х!). Положим х2 =г2 =у2 =(-0,04;~0г38)г, t2 = а /, = tx = 1, j = 1 и перейдем к шагу 2. 23. Получаем ^ =(-0,937; 0,83 if. 170
З3. Вычисляем У1 = *2 +'2 Af = (-0,04; -0,38f +1.Ь2^МС = (_о,79; 0,28)г. 43. Так как f(yl) = 1Д > /(*2) = 0Д6, шаг неудачный. 51. Имеем у = 1 < М = 3, поэтому у = у +1 = 2 и перейдем к шагу 2. 24. Получаем ?2 = @,692;-ОД 78)Г. З4. Вычисляем 44. Так как /{уЛ « 1,54 > f(x2\ = 0Д6, шаг неудачный. 52. Имеем у = 2 < М = 3, поэтому у = у +1 = 3 и перейдем к шагу 2. 25. Получаем 53 =@^96;-0,05)Г. 3s. Вычисляем 1^%'-^ =@,956; 0,463f. 45. Так как fly3) = 2,48 > /fx2) = 0Д6, шаг неудачный. 53. Имеем у = 3 = Л/, но /2=1>^ = 0^- Положим t2 =p/2 -ОДУ = 1 и перейдем к шагу 2. 26. Получаем §! = @,08; 0,97 if. З6. Вычисляем 46. Так как /(У) = 0,036 </(*2) = 0Д6, шаг удачный. Так как <х = 1, то zl-y\f(zl) </(*). Положим хъ = zx = у1 = @,08;0,118f Д = * +1 = 3, *3 = «'2 = ОД J = 1 и перейдем к шагу 2. 27. Получаем ^ =@,343; 0,512)Г. З7. Вычисляем й=@>08; од 18)Г+°'5<0|3шб12)Г=@>з58; 0>53)Г • 47. Так как f(yx\ = 0,727 > f(x*\ = 0,036, шаг неудачный. 54. Имеем j =» 1 < М « 3, поэтому у = у +1 = 2 и перейдем к шагу 2. 171
28. Получаем %2 = (-0,218;-0,491)Г. 38. Вычисляем .(- 0,123; -0,34f. 48. Так как f(y2] = 0,187 > /(х3) = 0,036, шаг неудачный. 55. Имеем j = 2 < М = 3, поэтому у = у +1 = 3 и перейдем к шагу 2. 29. Получаем $3 =(-0,715;0Д52)Г. 39. Вычисляем 1;0,284)г. 49. Так как /{уг\ = 0,275 > НхЛ = 0,036, шаг неудачный. 56. Имеем j' - 3 = А/, f3 = 0,5 = R. Поэтому процесс завершается: х* == х3 = @,08; 0,118)Г; /(х*) = 0,036. ¦ 5.6.2. Метод случайного поиска с возвратом при неудачном шаге Стратегия поиска Задается начальная точка х°. Каждая последующая точка находится по формуле X = X + t ь q , где tk > 0 - величина шага; ^ - случайный вектор единичной длины, определяющий направление поиска; к - номер итерации. На текущей итерации при помощи генерирования случайных векторов ^к получаются точки, лежащие на гиперсфере радиуса tk с центром в точке хк (рис. 5.20). Если значение функции в полученной точке не меньше, чем в центре, шаг считается неудачным (точки у\у2 при поиске из дс°; у{,у2,у* при поиске из х{) , происходит возврат в текущий центр и поиск продолжается. Если число неудачных шагов из текущей точки достигает некоторого числа М , дальнейший поиск продолжается из той же точки, но с меньшим шагом до тех пор, пока он не станет меньше заранее заданной величины R . Если же значение функции в полученной точке меньше, чем в центре, шаг считается удачным и дальнейший поиск продолжается из этой точки. 172
Рис. 5.20 Алгоритм Шаг 1. Задать начальную точку х°, коэффициент сжатия М - максимальное число неудачно выполненных испытаний на текущей итерации, t0 - начальную величину шага, R - минимальную величину шага, N - максимальное число итераций. Положить к = 0,j = \. Шаг 2. Получить случайный вектор tj = ( ?/,..., ?я7) , где ^ - случайная величина, равномерно распределенная на интервале [-1,1]. Шаг 3. Вычислить yJ = хк + tk Шаг 4. Проверить выполнение условий: а) если /1уЛ < /(**)> шаг Удачный. Положить хк+{ = yj, tk+{ - tk, к = к + \ и проверить условие окончания. Если к <N, положить j = 1 и перейти к шагу 2. Если к- N, поиск завершить: х* = хк; б) если f(yJ) ? /(**)> шаг неудачный и перейти к шагу 5. Шаг 5. Оценить число неудачных шагов из текущей точки: а) если J < М , следует положить j = j +1 и перейти к шагу 2; б) если j = М, проверить условие окончания: - если tk <,R9 процесс закончить: х* = xktf(x*\ = f[xk\\ - если /Л > R, положить tk = $tk>j = 1 и перейти к шагу 2. 173
5.6.3. Метод наилучшей пробы Стратегия поиска Задается начальная точка х°. Каждая последующая точка находится по формуле х = * + tk4> у где гк > О - величина шага; %к - случайный вектор единичной длины, определяющий направление поиска; к - номер итерации. На текущей итерации при помощи генерирования случайных векторов ?* получается М точек yl9...,yM, лежащих на гиперсфере радиуса tk с центром в точке хк (рис. 5.21). Среди полученных точек выбирается точка ут, в которой значение функции наименьшее. Если в выбранной точке значение функции меньше, чем в центре, то дальнейший поиск продолжается из этой точки. Иначе поиск продолжается из старого центра, но с меньшим шагом до тех пор, пока он не станет меньше заранее заданной величины R. Рис. 5.21 Алгоритм Шаг 1. Задать начальную точку х°, коэффициент сжатия 0<р<1, М - число испытаний на текущей итерации, /0 = 1 - начальную величину шага, R - минимальную величину шага, N - максимальное число итераций. Положить k Oj l 174
Шаг 2. Получить М реализаций случайного вектора $J =UXJ,...9%ЯА , j = 1,...,Л/ , где §/ - случайная величина, равномерно распределенная на интервале [-1,1]. Шаг 3. Вычислить Шаг 4. Найти ут из условия f(ym)= min f(yj). Проверить выполнение условий: а) если /(/")< /(**), шаг удачный. Положить xk+l = ут, tk+l =tk, k = k + l и проверить условие окончания. Если k<N9 положить j = 1 и перейти к шагу 2. Если к = N, поиск завершить: х* zxk; б) если /(ymJ? f\xk), шаг неудачный и перейти к шагу 5. Шаг 5. Проверить условие окончания: - если tk < R, процесс закончить: х* s xk,flx*\ = f(xk); - если tk > R, положить tk = fitkfj = 1 и перейти к шагу 2. Замечания 5.14. 1. Существуют варианты данного метода, в которых на шаге 4 полагают xk+l = ут. В этом случае становятся возможными шаги в направлении возрастания функции. Они могут позволить преодолевать локальные минимумы при поиске глобального экстремума. 2. Недостатком метода является учет только наилучшей пробной точки. В отбрасываемых точках содержится полезная информация о поведении целевой функции. 3. Одним из методов учета информации, содержащейся во всех сгенерированных точках, является алгоритм статистического градиента. Для каждой из Л/ реализаций ?*,...,%мслучайного вектора § , полученных в точке хк, вычисляются разности где /пр - пробное значение шага. В качестве направления поиска используется вектор статистического антиградиента dk = ^^Af7 или вектор «л—я-. Далее 'пр. у=1 |/*|| алгоритм решения совпадает с описанным выше. Задачи для самостоятельного решения 1. Решить задачу f(x) = X!3 + x-i" -3xj -2*2 + 2 -> min 175
методами конфигураций, деформированного многогранника, сопряженных направлений. Ответ: точное решение х* = AД)Г. 2. Решить задачу fix) = (х{ - 2J + (х2 - 5J + (х3 + 2J -* min методами конфигураций, деформированного многогранника, сопряженных направлений, Розенброка. Ответ: точное решение х* = B,5,- 2)Т. 3. Решить задачу f{x) = Х|4 + х24 + 2х2х2 - 4^! + 3 -> min методами конфигураций, деформированного многогранника, сопряженных направлений. Ответ: точное решение х* = A,0)Т. 4. Решить задачу fix) = (хх2 + х2 -11J + (*i + х22 - 7J -^ min методами конфигураций, деформированного многогранника, сопряженных направлений. Ответ: точное решение х* = C,2)Т. 5. Решить задачу f(x) = 1 - 2хх - 2х2 - 4х!Х2 +10*!2 + 2х22 -> min методами конфигураций, деформированного многогранника, сопряженных направлений, Розенброка. Ответ: точное решение х* = @^5; 0,75MГ. 6. Методом Свенна найти начальный интервал неопределенности для решения задачи f(x) = х2 - вх +14 -> min при х° =0; f = 1; f = 0Д; / = 0,01. Ответ: Lo = [1,7] при t = 1 ; Z,o = [U;63] при / = 0,1 ; Iq = [1,27;5,11] при г = 0,01. 7. Методом Свенна найти начальный интервал неопределенности для решения задачи fix) = х2 + 6х +12 -* min. 0/и*<?/и:1о=[-8;4] при x°=-10,f = 2; Zq =[-5,1] при х° = 1, / = 2; L0=[-6;0] прих° = 1,/ = 1; Iq =И;-1] при х° =0,/ = 1. 8. Методами равномерного поиска, деления интервала пополам, дихотомии решить задачу fix) = х2 - вх + 14 -> min,Io = [-2,4]. 176
Ответ : метод равномерного поиска при N = 10 - х* е [2,364; 3,455]; метод деления интервала пополам: при / = 1 х* € [2,50; 3,25]; при / = 0,1 х* е [2,969; 3,063]; метод дихотомии: при / = 1, е = 0,2 х* € L6 = [2,35; 3,275], при / = 1,6 = 0,1 х* € L6 = [2,425;3,263]; при / = ОД ,е = 0,01 х* е L{4 = [2,960;3,017]. 9. Методами равномерного поиска, деления интервала пополам, дихотомии, золотого сечения, Фибоначчи решить задачу x2+6x + 12->min, 10=[-4ДЬ Ответ: метод равномерного поиска при N = 10 : х* е L = [-3,545;- 2,636]; метод деления интервала пополам: при / = 1 х* eL6 =[-3375; -2,750]; метод дихотомии: при / = 1, е = 0,2 х* е Z,6 - [-3,4;- 2,6]; метод золотого сечения: при / = 1 х* € L5 = [-3,271; - 2,541]; при / = 0,1 х* е 110 = [-3,033; - 2,967]; метод Фибоначчи: при N = 5,6 = 0,1 х* е L5 = [-3,375; - 2,650]; при N = 5, 5 = 0,01 х* € L5 = [-3,375;- 2,740]. Точное решение х* = -3. 10. Сделать 3 итерации методом конфигураций в задаче f{x) = 4(xj - 5J + (jc2 - бJ -» min при х°=аЛГ, в = 0Д , А, =А2=0^ , а = 1,5 , Я.-1. Ответ: полученные точки AД2)Г,AД2ДГ, х1 =B;3)г,B^;3)г,B^;3,5)г, х2 =C^;4^O',D;4^)г, D;5)г, х3 =E,5;6,5)Т. Точное решение х* =E,6/. 11. Сделать 4 итерации методом деформируемого многогранника в задаче /(х) = 4(Х! - 5J + (х2 - бJ -> min при е = 0Д;а = 1;у = 2 и следующих вершинах начального многогранника: D,7)г, C,2)г, F,7)г. Ответ: в результате трех последовательных редукций получены треугольники, заданные своими вершинами. Первый треугольник: D,7)г, E,7)г, C,5;4,5O'; второй треугольник: D,5;7)г, E,7)г, D,25;5,75)г; третий треугольник: D,75;7)г, E,7)г, D,625;6,375)г. В результате четвертой итерации - растяжения - получен треугольник D,938; 6,063)Т, E,7)г, D,625;6,375)г. 12. Решить задачу методом сопряженных направлений f(x) = 4(Х! - 5J + (х2 - бJ -> min при х°=A,2)г,е = 0,1. Ответ: решение получено за две итерации: f0* = 4,001; A,000;6,00\)Т; t{ = 4,000; х* = E,000; 6,001)г. Точное решение х* = E,6)г. 12 — 4751 177
§ б. МЕТОДЫ ПЕРВОГО ПОРЯДКА 6.1. МЕТОД ГРАДИЕНТНОГО СПУСКА С ПОСТОЯННЫМ ШАГОМ Постановка задачи Пусть дана функция /(х) , ограниченная снизу на множестве Rn и имеющая непрерывные частные производные во всех его точках. Требуется найти локальный минимум функции /(х) на множестве допустимых решений X = Rn, т.е. найти такую точку х* е Rn, что И Стратегия поиска Стратегия решения задачи состоит в построении последовательности точек jx*}, к = 0,1,..., таких, что fUk+l)<f(xk\, Л; = 0,1,... . Точки последовательности \хк) вычисляются по правилу хк+{ = х* -tkVf(xk\ * = 0,1,... , F.1) где точка х° задается пользователем; V/(x*) - градиент функции f(x), вычисленный в точке х*; величина шага tk задается пользователем и остается постоянной до тех пор, пока функция убывает в точках последовательности, что контролируется путем проверки выполнения условия f(xk+l)-f(xk]<0 или f(xk+l)- f(xk)< -е| V/(x*)| ,0 < е < 1 [29]. Построение последовательности {хЧ заканчивается в точке хк, для которой |У/\**)|<б1» гДе ?i - заданное малое положительное число, или к> М, где М - предельное число итераций, или при двукратном одновременном выполнении двух неравенств юск+{ -**| < е2, /(х*+1)-Дх*) <е2, где s2 - малое положительное число. Вопрос о том, может ли точка хк рассматриваться как найденное приближение искомой точки минимума, решается путем проведения дополнительного исследования, которое описано ниже. Алгоритм Шаг 1. Задать х°, 0 < е < 1, ej > 0, 62>0,Af- предельное число итераций. I ) Найти градиент функции в произвольной точке V/(x) = ,..., I д*1 дх 178
Шаг 2. Положить к = 0. Шаг 3. Вычислить Vf[xk). Шаг 4. Проверить выполнение критерия окончания | V/(x* )I < гх: а) если критерий выполнен, расчет закончен, х* = хк; б) если критерий не выполнен, то перейти к шагу 5. Шаг 5. Проверить выполнение неравенства к> М: а) если неравенство выполнено, то расчет окончен: х* = хк; б) если нет, то перейти к шагу в. Шаг 6. Задать величину шага tk. Шаг 7. Вычислить хк+1 = хк - tk V/(x*). Шаг 8. Проверить выполнение условия **)<0 (или а) если условие выполнено, то перейти к шагу 9; б) если условие не выполнено, положить tk = -^ и перейти к шагу 7. Шаг 9. Проверить выполнение условий а) если оба условия выполнены при текущем значении к и к = к -1, то расчет окончен, х* = x*+i; б) если хотя бы одно из условий не выполнено, положить к = к + \ и перейти к шагу 3. Геометрическая интерпретация метода для п = 2 приведена на рис. 6.1. Q>C2> C3 Рис. 6.1 12* 179
Сходимость Утверждение 6.1. [29] Пусть функция f(x) дифференцируема и ограничена снизу на Rn у а ее градиент удовлетворяет условию Липшица || V/(x)- V/(y)I < LI x - у I, Vx,у е Rn, где L>0. Тогда при произвольной начальной точке х° € Rn для метода градиентного спуска с постоянным шагом имеем lim |v/(x*)| = 0. F.2) k " " Замечания 6.1. 1. Утверждение 6.1 гарантирует сходимость последовательности {хМ к стационарной точке х*, где V/(x*j = 0. Следовательно, найденная в результате применения метода точка х* нуждается в дополнительном исследовании с целью ее классификации. 2. Метод градиентного спуска гарантирует сходимость последовательности к точке минимума для сильно выпуклых функций [29]. 3. При решении примеров итерационный процесс подбора удачной величины tk отражается в индексации шагов 7 и 8. Первый индекс совпадает с номером к, а второй с числом делений текущей величины tk пополам. Скорость сходимости Оценки скорости сходимости получены только для сильно выпуклых функций, когда последовательность 1хк\ сходится к точке минимума f(x) со скоростью геометрической прогрессии: ))Ц* - ф с где q е @,1), С > 0 - константы [39]. Процедура решения задачи 1. Используя алгоритм градиентного спуска с постоянным шагом, найти точку хк, в которой выполнен по крайней мере один из критериев окончания расчетов. 2. Провести анализ точки хк с целью установить, является ли точка хк найденным приближением решения задачи. Процедура анализа определяется наличием у функции /(*) непрерывных вторых производных. Если f(x) e С2, то следует провести проверку выполнения достаточных условий минимума: Н\х*)>0. Если Н\хк)>0, то точка хк есть найденное приближение искомой точки х*. Если f(x) e С1, то следует провести проверку функции f(x) на выпуклость в Q-окрестности точки хк, используя критерий выпуклости для функций 180
/(х) еС1: функция /(х) выпукла (строго выпукла) в том и только в том случае, если f(x + y)bf{pc) + f?f(x),y), Vx,y eQ; (f(x + y)> /(x) + (v/(x),y)); (эквивалентное определение см. в § 1). Если функция /(х) выпукла (строго выпукла), то хк есть найденное приближение точки х*. Замечание 6.2. Если требуется найти глобальный минимум функции /(х), то для строго выпуклой /(х) решение этой задачи аналогично поиску локального минимума функции. В случае, когда /(х) имеет несколько локальных минимумов, поиск глобального минимума осуществляется в результате перебора всех локальных минимумов. Пример 6.1. Найти локальный минимум функции /(x) = 2xl2+x1x2+x22. D I. Определение точки хк, в которой выполнен по крайней мере один из критериев окончания расчетов. 1. Зададим х°, elf е2, М: хо=(О,5;1)г, е{ =0,1; s2 = 0Д5; М = 10. Найдем градиент функции в произвольной точке V/(x) = Dxi + х2; xj + 2х2)г. 2. Положим * = 0. 3°. Вычислим V/(x°): V/(x°) = C;2^i)r. 4°. Вычислим | V/(x°)|: | V/(x°)| = 3,9 > 0,1. Переходим к шагу 5. 5°. Проверим условие к>М: к = 0<10 = М. Переходим к шагу 6. 6°. Зададим /0 =0,5. 7°. Вычислим х1: х1 =@,5;1)г -0,5C;2,5)Г = (-l;-0,25)r; f(xl) = 2JL 8°. Сравним /(х1) с /(х°) = 2. Имеем /(х1) >/(х°). Вывод: условие flxk+l\ < f(xk) ДМ к = 0 не выполняется. Зададим /° = 0,25, переходим к повторению шагов 7, 8. 701. Вычислим х1: х1 =@,5;1)Г -0,25C; 2J5)T =(-0,25; 0,375)Г; /(x'j = 0,171. 801. Сравним /(х1) и /(х°). Вывод: /(х1) < /(х°). Переходим к шагу 9. 9°. Вычислим Цх1 -х°| и l/^1)-/^0)!"- Цх1 - х°| = 0,976 > 0,15; |/(х!)- /(х°)| = 1,829 > 0,15. Вывод: полагаем Ы и переходим к шагу 3. З1. Вычислим V/^x1): V^x1) = (-0,625; 0^1)Г. 41. Вычислим I V/(x! )||: | Vf(xl )|| = 0,81. Переходим к шагу 5. 51. Проверим условие к> М: к = !<№ = М. Переходим к шагу 6. 181
61. Зададим /j = 0,25. 71. Вычислим х2: х2 = (-0,25;0,375)Г -0Д5(-0,625;0,5f =(-0,094;0,25)Г; /(х2) = 0,056. 81. Сравним /(х2] с /(х1). Вывод: /(х2) < /(xl ). Переходим к шагу 9. 91. Вычислим ||х2 -ж1! и (/(к2)-/^1)!1 ||х2 - х1\ = 0,2 > 0,15; |/(х2)- f{xl)\ = 0,115 < 0,15. Вывод: полагаем к = 2 и переходим к шагу 3. 32. Вычислим V/(x2): V/(x2) = (-0Д26;0,406)Г. 42. Вычислим II V/(x2)|: | V/(x2)| = 0,425 > ОД. Переходим к шагу 5. 52. Проверим условие к>М: ? = 2<10=Af, переходим к шагу 6. 62. Зададим t2 =0,25. 72. Вычислим х3: х3 = (-0,094;0,25)Г-0,25(-ОД26;0,406)Г =(-0,063;0Д5)Г; /(х3) = 0,021. 82. Сравним /(х3) и /(*2)- Вывод: /(х3) < /(х2). Переходим к шагу 9. 92. Вычислим ||х3 -х2| и |/(^3)-/(х:2)|: |х3 - х2| = 0,105 < 0,15; |/(х3)- /(х2)| = 0,035 < 0,15. Вывод: полагаем к = 3 и переходим к шагу 3. 33. Вычислим V/(x3): V/(x3) = (-0,102;0,237)r. 43. Вычислим II V/(x3)|: II V/(x3)| = 0,257 > 0,1. Переходим к шагу 5. 53. Проверим условие к ^ М: ? = 3<10 = Л/, переходим к шагу 6. 63. Зададим /3 = 0,25. 73. Вычислим х4: х4 =(-0,063; 0Д5)Г - 0,25 (-0Д02; 0,237)Г =(-0,038; 0,09 if; /(х4) = 0,0076. 83. Сравним /(х4) и /(х3): /(х4)</(х3). 93. Вычислим |х4 -х3|, |/(х4)-/(х3)|: |х4 - х3| = 0,064 < 0,15; |/(х4)- /(x3)j = 0,015 < 0,15. Условия |х*+1 - х*| < б2 , /(x*+1)- f[xk) < s2 выполнены при к = 2,3. Расчет окончен. Найдена точка х4 =(- 0,038; 0,09 if; f(x4\ = 0,0076. 182
На рис. 6.2 полученные точки соединены пунктирной линией. Рис. 6.2 II. Анализ точки дс4. Функция f(x) = 2х2 + ххх2 + х2 является дважды дифференцируемой, поэтому проведем проверку достаточных условий минимума в точке х4. Для этого D Г| проанализируем матрицу Гессе Я = 1 I. Матрица постоянна и является положительно определенной (т.е. Н > 0) , так как оба ее угловых минора А х = 4 и А 2 = 7 положительны. Следовательно, точка х4 - (-0,038; 0,091)Г есть найденное приближение точки локального минимума х* = @,0)г, а значение fix4) = 0,0076 есть найденное приближение значения /(х*| = 0. Заметим, что условие #>0, есть одновременно условие строгой выпуклости функции /(х) = 2х{2 + Xjx2 + х22 на /?2 (см. § 1). Следовательно, х4 =(-0,038;0,091)г, /(^4) = 0,0076 есть найденные приближения точки глобального минимума f{x) и ее наименьшего значения на R2. Ш 183
6.2. МЕТОД НАИСКОРЕЙШЕГО ГРАДИЕНТНОГО СПУСКА Постановка задачи Пусть дана функция f(x) , ограниченная снизу на множестве R" и имеющая непрерывные частные производные во всех его точках. Требуется найти локальный минимум функции f(x) на множестве допустимых решений X = Rn, т.е. найти такую точку х* € Rn, что Стратегия поиска Стратегия решения задачи состоит в построении последовательности точек \хк\, к = 0,1,..., таких, что /6с*+1) < /(**)> * = 0,1,... . Точки последовательности 1хк\ вычисляются по правилу к {ky F.3) где точка х° задается пользователем; величина шага tk определяется для каждого значения к из условия ф('*) = /(** - h V/(x*)) -> nun. F.4) Решение задачи F.4) может осуществляться с использованием необходимого условия минимума —2- = 0 с последующей проверкой достаточного условия dtk минимума —%• > 0. Такой путь может быть использован либо при достаточно простой минимизируемой функции <p(f&), либо при предварительной аппроксимации достаточно сложной функции фк) =/\хк - tkVf(xkj\ полиномом P(tk) (как правило, второй или третьей степени), и тогда условие •— = 0 замещается dtk условием = 0, а условие —\ > 0 - условием —г > 0. dtk dtk2 dtk2 Другой путь решения задачи F.4) связан с использованием численных методов, когда ищется min ,<p(f*)= min f[xk -tk Vf(xk)) (см. разд. 5.1). Гра- tke[a9b\ tke[a,b\ \ v '/ ницы интервала [a,b\ задаются пользователем. При этом степень близости найденного значения tk к оптимальному значению t\, удовлетворяющему условиям 184
— = 0, —г > 0, зависит от задания интервала \а,Ь\ и точности методов одно- dtk dt2k мерной минимизации [28]. Построение последовательности \хк\ ,к = 0,1,..., заканчивается в точке хк, для которой УД* /|<сь гДе ei - заданное число, или, если k>M, M - предельное число итераций, или при двукратном одновременном выполнении неравенств |рс*+1 -х*|<е2, /(**+1 )-/(**) <е2» гДе е2 - малое положительное число. Вопрос о том, может ли точка хк рассматриваться как найденное приближение искомой точки локального минимума х* решается путем дополнительного исследования. Алгоритм Шаг 1. Задать х°, гх > 0, е2> 0, предельное число итераций М. Найти градиент функции в произвольной точке V/(x) = ,..., V дх\ дхп Шаг 2. Положить к = 0. ШагЪ. Вычислить Vf(xk\. Шаг 4. Проверить выполнение критерия окончания V/(x* )| < гх: а) если критерий выполнен, тох*=/; б) если критерий не выполнен, то перейти к шагу 5. Шаг 5. Проверить выполнение неравенства к>М: а) если неравенство выполнено, то х* = хк; б) если нет, то перейти к шагу 6. Шаг 6. Вычислить величину шага t\ из условия Шаг 1. Вычислить xk+l = хк - t*k Шаг 8. Проверить выполнение условий а) если оба условия выполнены при текущем значении к и к = к-\,то расчет окончен, х* = хк+1; б) если хотя бы одно из условий не выполнено, то положить к = к +1 и перейти к шагу 3. 185
Геометрическая интерпретация метода для п = 2 приведена на рис. 6.3. СХ>С2 .,0 Рис. 6.3 Сходимость Утверждение 6.2. Пусть функция f(x) удовлетворяет условиям утверждения 6.1. Тогда при произвольной начальной точке х° е Rn для метода наискорейшего градиентного спуска имеем | V/(x*) -» 0 при к -» оо [29]. Замечания 6.3. 1. Утверждение гарантирует сходимость последовательности (х*| к стационарной точке х*9 где V/(x*j = 0. Следовательно, найденная в результате применения метода точка х* нуждается в дополнительном исследовании с целью ее классификации. 2. Метод наискорейшего спуска гарантирует сходимость последовательности \хк\ к точке минимума для сильно выпуклых функций [29]. Скорость сходимости Оценки скорости сходимости получены только для сильно выпуклых функций, когда последовательность \хк\ сходится к точке минимума функции f(x) со скоростью геометрической прогрессии (линейная сходимость): 1хк+\ _хк ?_ х* -**|» где Ми т - оценки наибольшего и наименьшего И М + т " ¦ собственных значений матрицы Н(х) функции f(x) [29]. Замечания 6.4. 1. Процедура решения задачи совпадает с описанной в разд. 6.1. 2. Относительно процедуры поиска глобального минимума функции /(*) остается справедливым замечание 6.2. 186
Пример 6.2. Найти локальный минимум функции f(x) = 2xl2+xlx2+x22. Q I. Определение точки хк, в которой выполнен по крайней мере один из критериев окончания расчетов. 1. Зададим х°, е,, е2, М : х° = @,5;1)Г; е\ = ОД; е2 = 0,15; ^ - Ю. Найдем градиент функции в произвольной точке V/(x) = D^ + х2>хх + 2дс2)г. 2. Положим к = 0. 3°. Вычислим V/(x°): V/(x°) = C;2,5O\ 4°. Вычислим | V/(x°)|: | V/(x°)| = 3,9 > 0,1. Переходим к шагу 5. 5°. Проверим условие к^М: к = 0< 10 = М, переходим к шагу 6. 6°. Следующая точка находится по формуле хх = х° -/0V/(x°) = @,5; 1)г - МЗ; 2,5)г = @,5 - 310; 1 - 2,5. tof. Подставим полученные выражения х\ = 0,5 - 3/0 , х\ = 1 - 2,5 • /0 для координат в f{x)\ ф(/о) = 2.@,5-3/0J+@,5-3/0).A-2,5./о) + 0-2,5./0J- Найдем минимум функции ф(/0) по /0 с помощью необходимых условий безусловного экстремума: ^ = 4 • @,5 - 3/0) • (-3) + (-3) • A - 2,5*0) + (-2,5). @,5 - 3/0) + 2 • A - 2,5. /0) • (-2,5) = dtQ = -15,25 + 63,25 ¦ f0 = 0. Отсюда f0* = 0,24. Так как d ф^о) = 63,25 > 0, найденное значение шага обеспечивает минимум функции ф(*0) по tQ. Заметим, что можно получить формулу для вычисления наилучшей величины шага t\ на любой итерации из условия Имеем = 2(*,* - Из условия -2- = 0 получаем dtk 187
/;= D*/ + х2к I + jyt* + 2х2* f 4D*,* Определим /J: /J = 0,24. 7°. Найдем х1 =x°-/j V/(x°): х1 = @,5;1)г -0,24C; 2$f =(-0Д2;0,4)г. 8°. Вычислим Цх1 -х°|: Цх1 -х°| = 0,937 > 0,15. Вычислим ^(jc1)—у(х:0)|: /(х1)- /(х°) = 1,83 > 0,15. Вывод: полагаем к = 1 и переходим к шагу 3. 31. Вычислим Vf[xxy Vf(xl} = (-0f4&;0&)T. 41. Вычислим | V/(xl)| = 0,752 > 0,1. 51. Проверим условие к>М: it = 1 < 10 = Af. 61. Определим t\\ t{ = 0^46 (см. п. 6°). Iх. Найдем х2 = х1 -1{ V/(x!): х2 =(-0,22;0,4)Г - 0^46 (- 0,48; 0,58)Г =@,04; 0,08)Г. 81. Вычислим ||х2 -х1!), |/(х2)-/(х!)|: |х2 - х1! = 0,41 > 0,15; |/(х2)-/(xl)| = 0,156 > 0,15. Полагаем к = 2 и переходим к шагу 3. 32. Вычислим V/(x2): V/(x2) = @Д4;0,2)г. 42. Вычислим ||v/(x2)|: |V/(x2)| = 0,312>ОД. 52. Проверим условие kzM: fc = 2<10 = Af. 62. Определим t\\ t\ =0,24(см. п. 6°). 72. Найдем х3 = х2 -1\ V/(x2): хъ = @,04;0,08)г -0,24@,24;0,2)Г =(-0,0176;0,032)Т. 82. Вычислим |х3 -х2||, |/(х3)-/(х2)|: ||х3 - х2| = 0,0749 < 0,15; | /(х3)- /(х2)| = 0,0116 < 0,15. Полагаем к = 3 и переходим к шагу 3. 33. Вычислим V/(x3): V/(x3) = (-0,012;-0,0816)Т. 43. Вычислим |v/(jc3)|: | V/(x3) 11 = 0,082 < 0,1. Расчет окончен. Найдена точка х3 = (-0,0176;0,032)Г, /(х3) = 0,00127. На рис. 6.2 полученные точки выделены и соединены сплошной линией. 188
И. Анализ точки хъ. В примере 6.1 было показано, что функция f(x) является строго выпуклой и, следовательно, точка х3 является найденным приближением точки глобального минимума х*. ¦ 6.3. МЕТОД ПОКООРДИНАТНОГО СПУСКА Постановка задачи Пусть дана функция f(x) , ограниченная снизу на множестве Rn и имеющая непрерывные частные производные во всех его точках. Требуется найти локальный минимум функции f(x) на множестве допустимых решений X = Rn, т.е. найти такую точку х* е Rn, что Стратегия поиска Стратегия решения задачи состоит в построении последовательности точек ixk\, к = 0,1,..., таких, что f(xk+l) < /(**), А: = 0,1,.... Точки последовательности хл вычисляются по циклам в соответствии с правилом гдеу - номер цикла вычислений; j - 0,1,2,...; к - номер итерации внутри цикла, к = 0,1,...,л-1; ek+i, к = 0,1,...,и-1 - единичный вектор, (к +1)-я проекция которого равна Г, точка х00 задается пользователем, величина шага tk выбирается из условия (f^j ]/t*H или Если выбранное условие при текущем tk не выполняется, шаг уменьшается вдвое и точка х*к -tk\ * ' -еЛ+1 вычисляется заново. Легко видеть, что при фиксированном j за одну итерацию с номером к изменяется только одна проекция точки xJk, имеющая номер к +1, а в течение всего цикла с номером j , т.е. начиная с ЬОи кончая к - п -1, изменяются все п проекций точки ху0. После этого точке х'п присваивается номер хуЧ1>0 и она берется за начальную точку для вычислений в j +1 цикле. Расчет заканчивается в точке xjk при выполнении по крайней мере одного из трех критериев окончания счета: 189
или jtM, или двукратного выполнения неравенств Й Полученные в результате вычислений точки могут быть записаны как элементы последовательности р}, где l = nj + k - порядковый номер точки, т.е. {) {х° =х°°,х1 = хО1,...,хя = хОл = xio,x*+1 = хп,хл+2 =х12,...}. Алгоритм Шаг 1. Задать х00, е >0,е{ >0,е2 >0, предельное число М циклов счета, кратное л, где п - размерность вектора х. Найти градиент V/(x). Шаг 2. Задать номер цикла у = 0. Шаг 3. Проверить условие jtM: а) если jr ? М, то х* = х-**, расчет окончен; б) если нет, то перейти к шагу 4. Шаг А. Задать ? = 0. Шаг 5. Проверить условие ? ? я -1: а) если к й п -1, то перейти к шагу 6; б) если к = я, то положить у = у +1 и х7+1'* = х^1 и перейти к шагу 3. Шаг 6. Вычислить V/fx^M. Жяг 7. Проверить выполнение критерия окончания V/(x^j < z\: а) если критерий выполнен, х* = xJk, расчет окончен; б) если нет, то перейти к шагу 8. Шаг 8. Задать tk. Шаг 9. Вычислить точку xjk+l: xjk+l = xjk - f*| -^^| • ek+l Kdxk+l)x=sxJk Шаг 10. Проверить выполнение условия 0 (или а) если условие выполнено, то перейти к шагу 11; б) если нет, то положить tk - -^ и перейти к шагу 9. Шаг 11. Проверить выполнение условий а) если в двух последовательных циклах с номерами у и у -1 оба условия выполняются, то расчет в точке xJk+l окончен и х* = xJk+l; б) если хотя бы одно из условий не выполнено, положить к = к +1 и перейти к шагу 5. 190
Геометрическая интерпретация метода для п = 2 приведена на рис. 6.4. СХ>С2 00 .-V/(x00) Рис. 6.4 Замечания 6.5. 1. Если функция /(jc) удовлетворяет условиям утверждения 6.1, то построение последовательности \хк) по методу покоординатного спуска обеспечивает выполнение условия Vf[xk) -> 0 при Л -> оо [29]. 2. Найденная в результате применения метода точка х* нуждается в дополнительном исследовании с целью ее классификации. 3. Скорость сходимости метода оценивается как линейная (см. § 4). 4. Относительно процедуры решения задачи и поиска глобального минимума справедливо замечание 6.4. Пример 6.3. Найти локальный минимум функции f(x) = 2xl2+xlx2+x22. П I. Определение точки х^к, в которой выполнен по крайней мере один из критериев окончания расчетов. 1. Зададим х°°,е9ЕЬг2,М: х00 =@^;1)Г,е = 0, гх =0,l;e2 = 0tl5;M = 10. Найдем градиент функции в произвольной точке V/(x) = Dхх + х2; х{ + 2х2)т. 2. Зададим у = 0. 3°. Проверим выполнение условия J2.M: у = 0 < 10 = Л/. 4°. Зададим к = 0. 5°. Проверим выполнение условия кйп-1: к = 0 <1 = п-1. 6°. Вычислим V/(jc°°): V/(xoo) = C;2,5f. 7°. Проверим условие || V/-(xoo)|| < et: | V/(jcoo)| = 3,8 >0,l. 191
8°. 9°. !). Зададим /( )=0 Вычислим х01 = Dxj + х2) х00 ,5. _Yoo t( — *~ oi -2 + 1-3, >ех , где Отсюда х01 ах, 10°. Проверим условие /(х01) - /(х00) < 0: /(х01) - /(х00) = 2-2 = 0. Вывод: полагаем Ц = 0,25 и переходим к шагу 9. 901. Вычислим х01 с шагом t0 = 0,25: х01 = (-0,25;1)г. 1001. Проверим условие /(х01) -/(х00) < 0: /(х01) - /(х00) = 0,875 - 2 = -1,125 < 0. 11°. Проверим условия |х01 - х°°| < е2, | /(х01)- /(х00)| < е2: ||х01 - хоо| = 0,75 > 0,15, | /(х01)- /(х°°)| = 1,125 > 0,15. Полагаем к = 1 и переходим к шагу 5. 51. Проверим условие к <п-1: ? = 1 = л-1. б1. Вычислим V/(x01): V/(x01) = @;l,75)r. Iх. Проверим условие | V/(x01 )| < гх: | V/(x01 )| = 1,75 > 0,1. 81. Зададим А = 0,5. 91. Вычислим х02 = х01 -ь(&Щ • е2 , где е2 = @,1)Г; v ^2 Jx=Jcoi дАх°! = (Xj + 2х2) 01 = -0,25 + 2 = 1,75. Отсюда х02 = (-0,25;0Д25)Г. Ю1. Проверим условие /(*02) - f(x0[) < 0: f{x02) - f[x01) = 0,109 - 0,875 = - 0,766 < 0. И1. Проверим условия |х02 -хО1| <е2, |/(хО2)-/(хО1)| <е2: |х02 - хО1|| = 0,875 > 0,15, | /(х02)- /(хО1)| = 0,766 > 0,15. Полагаем к = 2, переходим к шагу 5. 52. Проверим условие кйп-l: к = 2>п-1. Зададим j = 1,х10 = х02, переходим к шагу 3. З1. Проверим условие j^M: j = 1 < 10 = М. 41. Зададим к = 0. 52. Проверим условие к ? л -1: ? 192
б2. Вычислим V/(x10): V/(xlo) = V/(xO2) = (-0,875;0,00)r. 72. Проверим условие | V/(x10)| < e,: | V/(x10)| = 0,875 > 0,1. 82. Зададим f0 = 0,25. 92. Вычислим xil = x10 -tJZlM] .ei: xn = (-0,03;0Д25)г. V дх\ Л-*10 102. Проверим условие /(x11) - /(x10) < 0: f{xl1)- /(*10) = °>01 ~ °>109 - -0,099 < 0. II2. Проверим условия |xn -xlo|<e2, |/(*и)-/(*10)| <E2- |xu - xlo| = 0,22 > 0,15, | /(x11)- /(xlo)| = 0,099 < 0,15. Полагаем Ыи переходим к шагу 5. 53. Проверим условие к<п-\: fc = 1 = л -1. б3. Вычислим V/(xn): V/(xu) = @,005;0,22)Г. 73. Проверим условия |Vf(xll)\<s\: | V/(xJl)|| = 0,22 >0,1. 83. Зададим /, =0,25. 93. Вычислим х12 = х1! - tS&&I • е2: хп = (- 0,03; 0,07)г. I дх2 )Хш^ 103. Проверим условие /(х12) - /(х11) < 0: /(х12) - /(х11) = 0,0046 -0,01 = - 0,0054 < 0. И3. Проверим условия |х12 -xll|<e2, | /(^12)-/(^И)| <€2: |х12 -х11| = 0,055 < 0,15, | /(*12)- f{xu)\ = 0,0054 < 0,15. Зададим к = 2 и переходим к шагу 5. 54. Проверим условие к < л -1: ? = 2>л-1. Полагаем j = 2,х20 = х12 и переходим к шагу 3. З2. Проверим условие jzM: j = 2 < 10 = М. 42. Зададим А: = 0. 54. Проверим условие к <п~1: Л = б4. Вычислим V/(x20): V/(x20) = Vf(xl2} 74. Проверим условие | V/(x20 )| < гх: | V/(x20 )| = 0,12 > 0,1. 13 — 4751 193
84. Зададим /0 94. Вычислим х21 = х20 - tS^Щ • е{: х21 = (- 0,02; 0,07)г. I дх1 )х.х» 104. Проверим условие /(х21) - /(х20) < 0: 0,0043 - 0,046 = - 0,0003 < 0, перейдем к шагу 11. 114. Проверим условия |х21 - х™\ < е2, | /(х2!)- /(х20)| < е2: |х21 - х20| = 0,01 < 0,15, | /(х21)- /(х20)! = 0,0003 < 0,15. Условия |х^+1 - xJkl < е2, /(х;*+1)- f\xJk) < е2 выполнены в двух последовательных циклах с номерами у = 2 и /-1 = 1. Расчет окончен, найдена точка х21 =(-0,02;0,07)г; /(х21) = 0,0043 . На рис. 6.5 полученные точки соединены пунктирной линией. И. Анализ точки х21. В примере 6.1 было показано, что функция /(х) строго выпукла, имеет единственный минимум и, следовательно, точка х21 =(-0,02; 0,07) является найденным приближением точки глобального минимума. ¦ 194
6.4. МЕТОД ГАУССА-ЗЕЙДЕЛЯ Постановка задачи Пусть дана функция /(х) , ограниченная снизу на множестве R" и имеющая непрерывные частные производные во всех его точках. Требуется найти локальный минимум функции /(х) на множестве допустимых решений X = Rn, т.е. найти такую точку х* е Rn, что Стратегия поиска Стратегия метода Гаусса-Зейделя [ Gauss-Seidel ] состоит в построении последовательности точек {* j, Л = 0,1,..., таких, что fixk+l\< /(**)» Л = 0,1,... . Точки последовательности (х*1 вычисляются по правилу .ем9 F.б) где У - номер цикла вычислений, у = 0,1,2,...; к - номер итерации внутри цикла, к = 0,1,...,я- 1; ek+i - единичный вектор, (& + 1)-я проекция которого равна 1; точка х00 задается пользователем, величина шага tk выбирается из условия > mm. Эта задача является задачей одномерной минимизации функции ) = / xjk - tk\ *\X? • ек+1 и может быть решена либо с использовани- ем условий —2- = 0, —2. > о, либо численно с использованием методов одно- dtk dtk2 мерной минимизации, как задача <р(^) -> min (см. разд. 5.1). Если уравнение •—?- = 0 имеет высокую степень и корни его трудно опре- dtk делить, можно аппроксимировать функцию <p(tk) полиномом P(tk) второй или третьей степени и определить t*k из условий = 0, —=- > 0. dtk dtk2 При численном решении задачи определения величины шага степень близости найденного значения tk к оптимальному значению t*k, удовлетворяющему 13* 195
условиям —2- = 0, —2. > о, зависит от задания интервала \а, Ь] и точности мето- <bk dtl L J дов одномерной минимизации [28]. Легко видеть, что при фиксированном j за одну итерацию с номером к изменяется только одна проекция точки х*к, имеющая номер к +1, а в течение всего цикла с номером j , т.е. начиная с ЬОи кончая к = п -1, изменяются все п проекций точки xJ0. После этого точке xJn присваивается номер хуЧ1>0 и она берется за начальную точку для вычислений в (j + 1)-м цикле. Расчет заканчивается в точке xJk при выполнении по крайней мере одного из трех критериев окончания счета: V/(x^) <8j, или к>М, или двукратного выполнения неравенств hcJk+l -xJk <ег» /(^*+1)~/г<^) <Е2- Здесь е!,82 - малые положительные числа, М - предельное число циклов итераций. Полученные в результате вычислений точки могут быть записаны как элементы последовательности рс J, где / = п- j + k - порядковый номер точки, т.е. {} Алгоритм Шаг 1. Задать х00, ех > 0, е2 > 0; предельное число М циклов счета, кратное п , где п - размерность вектора х . Найти градиент V/(jc). Шаг 2. Задать номер цикла j = 0. Шаг 3. Проверить условие jzM: а) если j ? М, то расчет окончен и х* = xJk; б) если j < М, то перейти к шагу 4. Шаг 4. Задать ? = 0. Ждг 5. Проверить условие к < п -1: а) если к <, п -1, то перейти к шагу 6; б) если ? = п, то положить j = у +1 и перейти к шагу 3. Шаг 6. Вычислить V/(x;*). Шаг 7. Проверить выполнение условия V/(x^j < ej: а) если условие выполнено, то расчет окончен их'= xJk; б) если нет, то перейти к шагу 8. Шаг 8. Вычислить t*k из условия • mm. Жаг 9. Вычислить x^*+1 = ж* - rjf^^) • et+1 196
Шаг 10. Проверить выполнение условий а) если оба условия выполнены в двух последовательных циклах с номерами у и j' -1, то расчет окончен, найдена точка х* = xJk+l; б) если не выполняется хотя бы одно условие, положить к = к +1 и перейти к шагу 5. Геометрическая интерпретация метода для л = 2 приведена на рис. 6.6. .00 Рис. 6.6 Замечания 6.6. 1. Относительно свойств последовательности \хк\, Л = 0,1,..., полученной по методу Гаусса-Зейделя, справедлив п.1 замечаний 6.5. 2. Процедура решения задачи совпадает с описанной в разд. 6.1. Пример 6.4. Найти локальный минимум функции f(x) = 2xl2+xlx2+x22. D I. Определение точки х^к, в которой выполнен хотя бы один из критериев окончания расчетов. 1. Зададим хоо,б1,е2,М: х00 =@^;1)г, в{ = ОД; е2 = 0Д5; М = 10. Найцем градиент функции в произвольной точке V/(jc) = Dх{ + х2; хх + 2х2)т. 2. Зададим j = 0. 3°. Проверим выполнение условия j zM: j = 0 < 10 = М. 4°. Зададим * = 0. 5°. Проверим выполнение условия к ? л - Г. & = 0<1 = л-1. 6°. Вычислим V/(x°°): V/(xoo) = C;2,5O\ 197
7°. Проверим условие | V/(x°° )|| < ej: | V/(x°° )| = 3,9 > ОД. 8°. Определим величину шага fj$ из условия Воспользуемся формулой F.6) при к = 0, j = 0: х01 = х00 - /0 ¦''** • е,. I дх\ Л=х°° Поскольку (?Д?) = 4x1+x2l xoo=2 + l V дх\ Л°° то х01 = @,5; 1)г - tQ .3 • A; 0)г = @,5 -3*0; 1)г или х?1 = 0^ - Зг0,х?1 = 1. Подставляя полученные выражения в /(х) , имеем ф(Г0) = 2@,5 - 3f0J + @,5 - 3f0) • 1 +1. Из необходимого условия экстремума *7 = 4 • @,5 - 3/0) • (-3) -3 = 0 или 36/0-9 = 0 находим *о =~• Так как —^^- = 36>0, то найденное значение 4 dt02 шага обеспечивает минимум функции q>(f0) по г0. Можно показать, что в силу структуры заданной функции /(х) величина шага в направлении - -е{ не зависит от хк, является постоянной и * 1 равной —. 4 9°. Определим х01 = х00 - /J f2Zfel) .«, : ,01 = / 025;tf 10°. Проверим условия |х01 -х°°|<?2, |/(хО1)-/(х°°)| <е2: |х01 -х°°| = 0,25 > 0,15, | /(х01)-/(х°°)| = 10,875 - 21 = 1,125 > 0,15. Полагаем к = 1, переходим к шагу 5. 51. Проверим условие кйп-\: & = 1 = я -1. б1. Вычислим V/(x01): V/(x01) = @;l,75)r. 71. Проверим условие | V/(x01 )|| < ег: | V/(xol)| = 1,75 > ОД. 81. Определим величину шага t{ из условия Воспользуемся формулой F.6) при к = 1,/ = 0: х02 =х01 -и \ а^(х) | I 3*2 J 198
Поскольку №j^\ = *i + 2*2|xejcoi = - 0,25 + 2 = 1,75, в2 = @; 1)г, то х02 = (- 0,25; 1)г -4 -1,75 - @; 1)г =(-0,25; 1-1,75 tx)T или х?2 =-0,25; х?2 = 1-1,75^. Подставляя полученные выражения в /(х) , имеем ФЙ) = 2(- 0,25J + (- 0,25) • A -1,75 • tx) + A -1,75 • Г,J. Из необходимого условия экстремума 0,25 • 1,75 + 2 • A -1,75 • tx). (-1,75) = 0 или 2 • 1,752^ -1,752 = 0 dt находим ff = —. Так как —^^ = 2 • 1,752 > 0, то найденное значение шага обес- . 2 dtx печивает минимум функции ф(^ ) по tx. Можно показать, что в силу структуры функции f(x) величина шага (df(x)) „ „ 1 в направлении - J v 7 • е2 остается постоянной и равной —. V дх2 )х=х* 2 91. Вычислим х02 = х01 -/,* B1Щ .е2: х02 = (-0,25;0Д25)Г. I дХ2 Л=х01 101. Проверим условия ||х02 - jco1|| < е2, | /(х02)- f(x01 )| < е2: ||х02 - хО1| = 0,875 > 0,15, | /(х02)- /(хО1)| = 10,12 - 0,8751 = 0,755 > 0,15. Полагаем к = 2, переходим к шагу 5. 52. Проверим условие к<п-\: к = 2 = п. Полагаем j = 1,х10 = х02, переходим к шагу 3. З1. Проверим условие j ^ М: у = 1<10 = Л/. 41. Зададим к = 0. 53. Проверим условие к<п-\\ Л; = 0<1 = л-1. б3. Вычислим V/(x10): V/(x10) = V/(x02) = (- 0,875; 0,00)Г. 73. Проверим условие | V/(xlo)| < г{: | V/(xlo)|| = 0,875 > 0,1. 83. Полагаем fj = 0,25 (см. п. 8°). 93. Вычислим х11 =х10-/0*(^^] ех : х11 =(-0,03;0Д25)г. 103. Проверим условия Цх11 - х10| < е2, | /(х11)- /(х10)| < е2: Цх11 - xl0|| = 0,22 > 0,15, |/(*п)- /(^10)| -10,013 - 0,13751 = 0,124 < 0,15. 199
Полагаем к = 1, переходим к шагу 5. 54. Проверим условие к <п-1: ? = 1 = /? -1. б4. Вычислим V/(xn): V/(jc11) = @,005;0,22)r. 74. Проверим условие | V/(x11 )| < е,: | V/(x11 )| = 0,22 > 0,1. 84. Зададим t\ = 0,5 (см. п. 81). 94. Вычислим х12 =х11 -ff p?i?2 -е2: х12 =(-0,03;0,015)Г. { дх2 )х=х\\ 104. Проверим условия |х12-хп| <е2, 1/(х12)-/(хи)| <е2: ||х12 -хи| = 0,11 < 0,15, | /(х12)-/(хп)| = 10,0015-0,013| = 0,0115 < 0,15. Полагаем к = 2 и переходим к шагу 5. 55. Проверим условие к<п-\: к = 2 = п. Полагаем j = 2, х20 = х12 и переходим к шагу 3. З2. Проверим условие j > М: j = 2 < 10 = М. 42. Зададим к = 0. 56. Проверим условие к <п-\: & = 0 < 1 = л -1. б5. Вычислим V/(x20): V/(x20) = (-0,105;0)Г. 75. Проверим условие | V/(x20)| < е,: || V/(x20)| = 0,105 > s,. 85. Зададим rj = 0,25 (см. п. 8°). 95. Вычислим х21 - х20 - to \fLUx±\ . ^: Х21 = / 0,004;0,015)Г. 105. Проверим условия |х21 -х20|<82, |/(^21)-/(х20)| <е2: ||х21 - х20| = 0,026 < 0,15, |/(х21)-/(х20)| = | 0,000197-0,00151 = 0,0013< 0,15. Условия х^+1 - х-'* < е2, I /\х->к+])- f\xJk) < е2 выполнены в двух последовательных циклах с номерами у = 2 и j -1 = I. Расчет окончен, найдена точка х21 =(- 0,004;0,015)Г; /(х21) = 0,000197. На рис. 6.5 полученные точки последовательности х00 -^ х01 -> х02 = х10 -> хп -> х12 = х20 -> х21 соединены сплошной линией. Очевидно, метод Гаусса-Зейделя сходится быстрее, чем метод покоординатного спуска. II. Анализ точки х21. Точка х21 является найденным приближением точки глобального минимума /(х), так как функция /(х) строго выпуклая (см. пример 6.1). ¦ 200
6.5. МЕТОД ФЛЕТЧЕРА-РИВСА Постановка задачи Пусть дана функция f{x) , ограниченная снизу на множестве Rn и имеющая непрерывные частные производные во всех его точках. Требуется найти локальный минимум функции f(x) на множестве допустимых решений X = Rn, т.е. найти такую точку х* eRn, что Стратегия поиска Стратегия метода Флетчера-Ривса [Fletcher R., Reeves СМ.] состоит в построении последовательности точек {**}, к = 0,1,..., таких, что f(xk+l\<f(xk)t к = 0,1,... . Точки последовательности \хк\ вычисляются по правилу: xk+l =xk +tkdk, k = 0,1,...; F.7) -1; F.8) F.9) Точка х° задается пользователем, величина шага tk определяется для каждого значения к из условия () (**) F.11) Решение задачи одномерной минимизации F.11) может осуществляться либо из условия —2- = 0, —тг > 0, либо численно, с использованием методов dtk dtk2 одномерной минимизации, когда решается задача <p(fj-* min . F.12) При численном решении задачи определения величины шага степень близости найденного значения tk к оптимальному значению t%, удовлетворяющему условиям -JL = о, —2. > о, зависит от задания интервала [а,Ь] и точности методов одномерной минимизации [28]. 201
Вычисление величины $k_i по формуле F.10) обеспечивает для квадратич- п п ной формы /(^) = XZflffx'xy построение последовательности Я-сопряженных направлений d°ydl,...,dk,..., для которых ldJ,Hd'\ = 0, V/,y = 0,1,...,*;/ * j. При этом в точках» последовательности {**} градиенты функции f(x) взаимно перпендикулярны, т.е. (v/(x*+1),V/(;c*)] = 0, A: = 0,1,... . Для квадратичных функций f(x) с матрицей Я > 0 метод Флетчера-Ривса является конечным и сходится за число шагов, не превышающее п - размерность вектора х . При минимизации неквадратичных функций метод не является конечным, при этом следует отметить, что погрешности в решении задачи F.11) приводят к нарушению не только перпендикулярности градиентов, но и Я-сопряженности направлений. Для неквадратичных функций, как правило, используется алгоритм Полоса-Рибьера [ Polak E., Ribiere G. ], когда в формулах F.7) - F.9) величина рл_, вычисляется следующим образом: 0, keJ, где / = {0,л,2л,...}. В отличие от алгоритма Флетчера-Ривса алгоритм Полака- Рибьера предусматривает использование итерации наискорейшего градиентного спуска через каждые п шагов. Построение последовательности \хк\ заканчивается в точке, для которой |v/(**)|<ei, где гх - заданное число, или при к > М, М - предельное число итераций, или при двукратном одновременном выполнении двух неравенств |х*+1-х* <е2, Д**+1 )-/(**) <е2, где е2 - малое положительное число. Вопрос о том, может ли точка хк рассматриваться как найденное приближение искомой точки минимума, решается путем проведения дополнительного исследования, которое было описано в разд. 6.1. Алгоритм Шаг 1. Задать х°, ej > 0, s2 > 0, М - предельное число итераций. Найти градиент V/(x). Шаг 2. Положить к = 0. Шаг 3. Вычислить V/(xM. 202
Шаг 4. Проверить выполнение критерия окончания I V/(x*)| < е^ а) если критерий выполняется, х* = хк, расчет окончен; б) если нет, то перейти к шагу 5. Шаг 5. Проверить условие к^М: а) если неравенство выполняется, то расчет окончен и х* = хк; б) если нет, то при к = 0 перейти к шагу 6, а при к ? 1 перейти к шагу 7. Шаг 6. Определить </° = - V/(x°). 7. Определить (у/М),[у/к)-у/ИI) р*-|- Р*-1 О, к € / Шаг%. Определить */* «-V/^J+p^iJ*. ДОдг 9. Найти fk из условия <p(f*) = f[xk +tkdk\-> min. *+1 = x* Шаг 10. Вычислить jc 11. Проверить выполнение условий а) в случае выполнения обоих условий в двух последовательных итерациях с номерами к и к-1 расчет окончен, найдена точка х* =xk+l; б) если не выполняется хотя бы одно из условий, полагаем к = к +1 и переходим к шагу 3. Геометрическая интерпретация метода для п = 2 изображена на рис. 6.7. Рис. 6.7 203
п п Сходимость Утверждение 6.3. Если квадратичная функция f(x) = ? ]?Л/у xixj c неотРи" цательно определенной матрицей Н достигает своего минимального значения на Rn, то метод Флетчера-Ривса обеспечивает отыскание точки минимума не более чем за п шагов [39]. Утверждение 6.4. Если функция f(x) ограничена снизу, а ее градиент удовлетворяет условию Липшица || V/(x) - V/(y) || й L | х - у || Vx, у е Rn, то в методе Полака-Рибьера lim I V/(x*)|| = 0 [29]. k -> оо" " Замечания 6.7. 1. Утверждение 6.4 гарантирует сходимость последовательности \хк) к стационарной точке x*t где V/fx*) = 0. Следовательно, найденная в результате применения метода точка х* нуждается в дополнительном исследовании с целью классификации этой точки. 2. Метод Полака-Рибьера гарантирует сходимость последовательности 1хк\ к точке минимума для сильно выпуклых функций. 3. Поиск глобального минимума /(х) может быть осуществлен в соответствии с замечанием 6.2. 4. Процедура решения задачи совпадает с описанной в разд. 6.1. Скорость сходимости Оценки скорости сходимости получены только для сильно выпуклых функций, когда последовательность 1хк) сходится к точке минимума f(x) со скоростью \хк+п -х*\ й С|х* - x*f, к е {0,л,2л,...} [39]. Пример 6.5. Найти локальный минимум функции f(x) = 2xl2+xlx2+x22. П I. Определение точки хк, в которой выполнен по крайней мере один из критериев окончания расчетов. 1. Зададим х°,*иг2,М: *° = @^;1)Г, ej = ОД;е2 = ОД5;ЛГ = 10. Найдем градиент функции в произвольной точке V/(x) = (Ахх + х2',х{ + 2х2)Т. 2. Положим к = 0. 3°. Вычислим V/(x°): V/(x°) = C;2,5)r. 4°. Проверим условие | V/(xr°)|| < е]: || V/(x°)|| = 3,9 > 0,1. 204
5°. Проверим условие к> М: ? = 0 < 10 = Л/. 6°. Определим d° = - V/(jc°): d° = ~(У,2?)Т. 9°. Определим fj из условия fix0 + t0 d°) -> min: t$ = 0,24 (см. пример 6.2, так как первая итерация выполняется по методу наискорейшего спуска). 10°. Вычислим х1 =x°+tQd°: хх =(-0,22;0,4)Г. 11°. Проверим условия |х1 - jc°| < е2, I f(xl)- /(х°)| < е2: \х{ -х°|| = 0,937 > 0,15; | f{x{)-f{x°)\ =|0,17-2| = 1,83 > 0,15. Полагаем к = 1, переходим к шагу 3. З1. Вычислим V/(x]): V/(xl) = (-0,48;0^8)r. 4!. Проверим условие | Vf(xx )|| < б1: | V/(x] )|| = 0,752 > 0,1. 51. Проверим условие kz М: к = \ <\0= М. Iх. Определим р0 = ' , Л,- Ро = 0,0373. 1^°)Г 81. Определим dl =-V/(x°)+poi/0: dx =-(-0,48;0^8)Г - 0,0373C; 2,5)r = @,368;- 0,673)Г. 91. Определим t\ из условия f(xl +t\ dl) -> min. Воспользуемся формулой х2 =xl +txdx = (-0,22; 0,4)r +/,@,368; -0,673)r = (-0,22 + 0,368 /,; 0,4 -0,673 Ц)т. Подставляя полученное выражение в f(x), имеем Ф(/,) = 2 • (- 0,22 + 0,368 /, J + (- 0,22 + 0,368 Г,) • @,4 - 0,673 г,) + @,4 - 0,673 Г, J. Применяя необходимое условие безусловного экстремума 4 • (- 0,22 + 0,368 tx) • 0,368 + 0,368 - @,4 - 0,673 /,) + dtx + (-0,22 + 0,368tx) -(-0,673) + 2 • @,4-0,6731{){-0,673) = 0 , находим t\ = 0,595. Поскольку —^— = 0,952226 > 0, найденное значение шага обеспечивает минимум функции ср^) по tx. 205
10l. Вычислим x2 = x1 +1{ dl: x2 = @,0010;0,000)r. II1. Проверим условия jx2 - x1 < e2, f\xJ- Д*1) < e2: |x2 - x'| = 0,456 > 0,15; | /(x2)- f^cl)\ = 0,17 > 0,15. Полагаем Ь2и переходим к шагу 3. З2. Вычислим V/(x2): V/(x2) = @,003; 0,006)Г. 42. Проверим условие |V/(x21 < ц: р/(х2| = 0,0067 < ОД. Расчет окончен. Найдена точка х2 = @,001; 0)г; f(x2\ = 210. На рис. 6.8 полученные точки соединены пунктирной линией. II. Анализ точки х2. Используем утверждение 6.1. Функция /(х) = 2xj2 + xtx2 + х22 есть квадратичная функция двух переменных, имеющая положительно определенную мат- [4 Л рицу вторых производных Н = . Это позволяет сделать вывод о том, что функция /(х) строго выпукла, следовательно, имеет единственный минимум, приближение которого х2 = @,001;0) найдено за две итерации. ¦ /<*>-! Рис. 6.8 206
6.6. МЕТОД ДЭВИДОНА-ФЛЕТЧЕРА-ПАУЭЛЛА Постановка задачи Пусть дана функция f(x) , ограниченная снизу на множестве Rn и имеющая непрерывные частные производные во всех его точках. Требуется найти локальный минимум функции f(x) на множестве допустимых решений X = Rn, т.е. найти такую точку х* eRn, что Стратегия поиска Стратегия метода Дэвидона-Флетчера-Пауэлла (Д-Ф-П) [ Davidon W.C., Fletcher R., Powell M.J.D.] состоит в построении последовательности точек \хк\, к = О,1,..., таких, что f(xk+l) < f(xk), к = 0,1 Точки последовательности > вычисляются по правилу х к+\ ^ к = 0>1) 9 F 1 где Ак есть матрица размера п х п, которая вычисляется по правилу Ак+1=Ак+Акс, А°=Е9 F.14) л Ахк(АхкТ AkAgk[AgkfAk с =т TF— ; л Ах(АхТ AAg[AgfA А с =т TF— ; vr » @.15) где Дх* =x*+1 -x*, Ag* = V/(x*+1)-V/(x*). Точка х° задается пользователем, величина шага tk определяется из условия 4(fk)-/И "М*V/(k*)-> min. F.16) h Решение задачи F.16) может осуществляться как из условий 0, dtk —2.>0 или из условий — = 0, —=->0» гДе Н*к) ' полином, аппроксими- dtk2 dtk dtk2 рующий функцию ф(^), так и численно, т.е. путем поиска решения задачи ф(/*)-> min методами одномерной минимизации. tke\atb] Формулы F.14), F.15) при аналитическом решении задачи F.16) обеспечивают построение последовательности \Ак\ положительно определенных матриц, таких, что Ак -> ^~1(^*) при к -»оо. Следствием этого для квадратичной функ- 207
ции /(х) = — (Нх, х) + (b, x), Я > 0, является тот факт, что направления dk, к = 0,1,..., будут Я-сопряженными и, следовательно, алгоритм Д-Ф-П сойдется не более чем за п шагов. Для неквадратичных функций /(х) алгоритм перестает быть конечным и его сходимость зависит от точности решения задачи F.16). Глобальную сходимость алгоритма можно гарантировать лишь при его обновлении через каждые п шагов, т.е. когда в формуле F.13) Построение последовательности {х*} заканчивается в точке хк, для которой | УДх*) < elt где ej - заданное число, или при к> М (М - предельное число итераций), или при двукратном одновременном выполнении двух неравенств х*+1-х* <е2> I/(¦**/-/(*/ <?2> гДе е2 " малое положительное число. Вопрос о том, может ли точка хк рассматриваться как найденное приближение искомой точки минимума, решается путем проведения дополнительного исследования, которое было описано в разд. 6.1. Алгоритм Шаг 1. Задать х°, Ei>0, s2>0, M - предельное число итераций. Найти градиент V/(x). Шаг 2. Положить к = 0,Л° = Е. Шаг 3. Вычислить V/(x* j. Шаг 4. Проверить критерий окончания УДх*) < zx: а) если критерий выполнен, то х* = хк, расчет закончен; б) если нет, то перейти к шагу 5. Шаг 5. Проверить условие к^ М: а) если неравенство выполнено, то х* = хк и расчет закончен; б) если нет, перейти при ЬОк шагу 10, а при к > 1 к шагу 6. Шаг в. Вычислить Agk = V/(x*+1)- V/(x*). Шаг 7. Вычислить Ахк = хк+{ -хк. Шаг 8. Вычислить Ак Ах*(ах*Г AkAgk{Agk)TAk C~k [AgkjAkAgk Шаг 9. Вычислить Аш = Ак + Ак с • 208
Шаг 10. Определить dk = -Ак V/(x*). Шаг 11. Вычислить tk* из условия (p(tk) = flxk - tkAk Vf[xk)) -* min. Шаг 12. Вычислить x*+1 = x* - f/Л* V/(x*). ZZ/яг 13. Проверить условия |x*+I -x*|<e2, |/(**+I)-/(x*)| <S2: а) если оба неравенства выполняются в двух последовательных итерациях с номерами к и к-19то расчет окончен и х* = хк+х; б) в противном случае положить к = к +1 и перейти к шагу 3. Сходимость Утверждение 6.5. Алгоритм метода Д-Ф-П в применении к квадратичной функции /(х) = — (Нх,х)+(Ь,х) с положительно определенной матрицей Гессе Н обеспечивает отыскание минимума х* = Н~ХЪ не более чем за п шагов [39]. Замечания 6.8. 1. Если минимизируемая функция f(x) не является квадратичной и удовлетворяет условиям утверждения 6.1, то последовательность lxk), построенная по методу Д-Ф-П с обновлением, такова, что УДх*) -» 0 при & -» оо, следовательно, найденная в результате применения метода точка х* нуждается в дополнительном исследовании с целью ее классификации. 2. Если f(x) дважды непрерывно дифференцируема и н(х*) > 0, то метод Д-Ф-П с обновлением сходится к точке локального минимума х* со сверхлинейной скоростью [39]. 3. Если в дополнение к условиям п. 2 справедливо || #(*)>> ||< А:||,у|| Vy eRn в окрестности точки х*, то последовательность lxk) сходится к точке х* с квадратичной скоростью [39]. 4. Поиск глобального минимума /(*) осуществляется в соответствии с замечанием 6.2. Процедура решения задачи совпадает с изложенной в разд. 6.1. Пример 6.6. Найти локальный минимум ? I. Определение точки хк, в которой выполнен по крайней мере один из критериев окончания расчетов. 1. Зададим х°,гье2,М: х° =@,5;l)r, e{ =0,1;e2 =0,15;Af = 10. Найдем градиент функции в произвольной точке V/(x) = Dxj + хг\хх + 2х2)Т. 14 — 4751 209
2. Положим к = О, А0 = Е. 3°. Вычислим V/(x°): V/(x°) = C; Iff. 4°. Проверим выполнение условия | V/(x°)[ < si: | V/(x° )| = 3,9 > 0,1. 5°. Проверим условие к>.М\ ? = 1 < 10 = Af; так как к = 0, переходим к шагу 10. 10°. Определим d° = -А0 • V/(x°): d° = -А0 . V/(x°) = -^V/(x°) = -V/(x0) = -C;2^)Г. 11°. Вычислим fjj из условия fix0 - - 3f0J + @,5 - 3/0)(l - 2,5/0) + A - 2,5*oJ - ф(/о)- Из условия — = 0 находим /J = 0Д4(см. пример 6.2, так как первая ите- Щ рация выполняется по методу наискорейшего спуска). 12°. Вычислим х1 = х° - Го V/(x°): х[ = (-0,22;0,4)Г. 13°. Проверим условия |х! -х°|<б2, [/(м-Дя/рвг: |х! -х°| = 0,94>0,15; [/(х1)-/^0)] = |0Д7-2| = 1,83>0,15. Полагаем к = 1, переходим к шагу 3. З1. Вычислим V/jx1): V/fx1) = (-0,48;0^8)Г. 41. Проверим условие | V/(xl )| < г{: | V/(x1 )| = 0,75 > 0,1. 51. Проверим условие к>М: к = 1<10 = М; переходим к шагу 6. 6°. Вычислим Ag° = V/jx^-V/jx0): Ag° = (-3,48;-1,92)Г. 7°. Вычислим Ах° =х1 -х°: Ах° =(-0,72;-0,6)Г. (- 0,72; - 0,6)(- 3,48; - 1,92)г (_ 3>48; _ 1>92)JJ 0 -(: -0,625 -0305") -0305 -0434J 210
101. Определим dl = -Ax • V/(x!): dl = @,356;- 0,648)Г. II1. Вычислим t\ из условия fix1 -t\Al V/fx1))-* min. Воспользуемся формулой x2 = x1 - tx A1 Vf(x{) = x1 + txdl = (-0,22; 0,4)r + /, @,356; - 0,648)r = = (- 0,22 + 0,356 • t\; 0,4 - 0,648 • Ц )T. Подставляя полученные выражения x,2 =-0,22 + 0,356^ , x\ =0,4-0,648^ в функцию/(х), получаем = 2. (- 0,22 + 0,356 • Г, J + (- 0,22 + 0,356 • tx) • @,4 - 0,648 • tx) + @,4 - 0,648 ¦ tx J. Применяя необходимое условие безусловного экстремума ^ = 4 • (- 0,22 + 0,356 • /,) - 0,356 + 0,356 • @,4 - 0,648 • /,) + dtx + (- 0,22 + 0,356 • /,) • (-0,648) - 2 • 0,648 • @,4 - 0,648 - tx) = 0 или 0,885376 • t{ - 0,54672 = 0, находим t{ s 0,618. Поскольку г^ = 0,885376 > 0, найденное значение шага обеспечивает минимум функции ПО t{. 121. Вычислим х2 = х1 -1\ А1 У/(х!): х2 = @,000; 0,000)Г. 131. Проверим условия lc2-xl|<S2, /l^2)""/^1) <e2: |х2 -х1^0,45>0,1; |/(х2)-/(х1)| = 0,17>0,15. Полагаем к = 2, переходим к шагу 3. З2. Вычислим V/(x2): V/(x2) = @,000;0,000)r. 42.Проверим условие V/(x2) < вх: V/(x2)| = 0 < 0,1. Расчет окончен в точке х2 = @;0) . На рис. 6.8 полученные точки соединены сплошной линией. II. Анализ точки х2. Используем утверждение 6.5. Функция /(х) = 2xj2 +xjx2 + x22 является Г4 П квадратичной формой с положительно определенной матрицей Гессе Н = . Следовательно, точка х2 есть найденное приближение точки минимума 211
6.7. МЕТОД КУБИЧЕСКОЙ ИНТЕРПОЛЯЦИИ Постановка задачи Требуется найти безусловный минимум функции f(x) одной переменной, т.е. такую точку х* е R, что fix*) = min f(x). v ' x eR Стратегия поиска Задается начальная точка и с помощью серии пробных шагов находятся две точки, первые производные в которых имеют противоположные знаки. По величине функции и ее первых производных в полученных точках строится интерполяционный полином третьей степени. В качестве приближения точки минимума берется точка минимума полинома. Процесс поиска заканчивается, если производная в точке минимума полинома достаточно мала или процедура становится неэффективной. Алгоритм Шаг 1. Задать начальную точку х°, величину шага А > 0 и малые положительные числа 8j и е2. Шаг 2. Вычислить производную /' (х°). Шаг 3. Проверить знак производной в точке х°: а) если /'(х°)<0, вычислить хк+1 =х* +2*А, к = 0,1,..., вплоть до точки хм, в которой f'(xM-l))f'lxM))<0; б) если /'(*°) > 0, вычислить хк+{ = хк -2*А, к = 0,1,..., вплоть до точки хм, в которой f'(xM~l))f'(xM))uQ. Шаг 4. Положить хх = хм~1, х2 = хм и вычислить /(х{) = fx, /' (xj) = f{, Шаг 5. Найти точку минимума кубического интерполяционного полинома по формуле *2> X = и значение f(x). 212
Шаг 6. Проверить условие убывания: а) если /Eс) < f{x\), перейти к шагу 7; б) если /(х)^ f(x{), вычислять х по формуле х = х -—(* -х{) до тех пор, пока не будет выполнено неравенство /(х)<. Шаг 7. Проверить выполнение условий окончания: X-Xj а) если оба условия выполнены, процедура закончена и х* s x ; б) если хотя бы одно из условий не выполнено, положить либо хх = х, х2 =xj, если //(х)/'(х1)<0, либо Xj =х, х2 =х2, если /'(х)/'(х2)<0. Перейти к шагу 5. Замечания 6.9. 1. На шагах 2 и 3 реализуется эвристическая процедура поиска границ интервала неопределенности, где изменение знака производной свидетельствует о переходе через точку минимума. 2. Формула, используемая на шаге 5, гарантирует, что точка х не выйдет за границы интервала [хьх2]. 3. На шаге 6 проверяется, действительно ли точка х является приближением к минимуму. 4. На шаге 7 из трех точек jq, x2, x выбираются две, в которых знаки первых производных различны, после чего процедура кубической интерполяции повторяется. 5. Интерполяционный полином третьей степени строится по двум точкам вместо обычных четырех, так как в каждой точке используется информация о производной. Пример 6.7. Найти минимум функции /(х)= 2х2 +— методом кубической интерполяции. ? 1. Зададим х° = 1; А = 1; г{ = 0,01; е2 = 0,03. 2. Вычислим /'(х) = 4х - -Ц-; /' (х°) = /' A) = -12 < 0. 3. Так как /'A)<0,то х1 =х° + А = 1 + 1 = 2. Вычислим /'(х1) = 4. Поэтому /'(х°И*1)<0> M = l- 4°. Положим х{ = хм'1 = х° = 1, х2 = хм = х1 = 2 и вычислим . Z, J \Х\ J = J1 = 1 о , V, /(х2)=/2=16. 213
5°. Вычислим 5 =522 =7,211; ^2ТЙ^Г /C?)= 15,1219. 6°. Проверим условие убывания. Так как /(х) = 15,219 < f{x\) = 18, то переходим к шагу 7. 7°. Проверим условие окончания: |/'(х)| = |/'(l,5657)| = |-0,264| >?! =0,01. Условие не выполняется. Так как справедливо /' (хх)/' (jc2) = - 0,264 • 4 < 0, то х{ = х = 1,5657; х2 = х2 = 2. Переходим к шагу 5. 51. Вычислим z = 3A5'12196) + (-0,264)+4 = -2,3296; 0,4343 -(-0,264).4]L^5462; ц = ^±?^b^L = 0,9486; х = 2 - 0,9486 B -1,5657) = 1,588; f(x) = /A,588) = 15,119. б1. Проверим условие убывания. Так как /(х)= 15,119 </{х\) = 15,1219, то переходим к шагу 7. 71. Проверим условия окончания: |/'(Зс)| =|/'A,588)| = 0,0072 <е, =0,01 (выполняется) и U2 ^ = 0,014 < 0,03 (выполняется). Поэтому расчет I 1,588 I окончен и х* = х = 1,588. Точная координата точки минимума х* = 1,588 (см. пример 5.8), откуда следует, что применение кубической интерполяции дало лучший результат, чем применение квадратичной интерполяции). ¦ Пример 6.8. Найти минимум функции /(*) = х2 х + 2 методом 4 4 кубической интерполяции. ? 1. Зададим х° = 0,5; А = 0,25; Б] = 0,02; е2 = 0,05. 2. Вычислим /'(х) = Ш.*-?1; /'(х°) = 16,5. 3. Так как /'(х°) > 0, то х1 = х° - Д = 0,5-0,25 = 0,25; /'(х,) = 0,625 > 0. Так как /'(х])/'(х0) > 0, то х2 = х1 -2Д = 0,25 - 0,5 = -0,25 ; = -ЗЦ25<0, Л/ = 2. Так как /'(х1)/'^2) <0, переходим к шагу 4. 214
4. Положим х, = х1 = 0,25; х2 = х2 = -0,25 и вычислим /(*,) = /,= 0,171; /,< = 0,625; /(х2) = /2 = 7,7968; /2' = -31,125. 5. Вычислим z = 3{°'Ш ~ 7?7968^ + 0,625 + (-31,125) = 15,2544; w = -[A5,2544J -(-31,125).0,625]2 =-15,874; xt >x2; /(х)= 0,1688. 6. Проверим условие убывания: /(х) = 0,1688 </(xj) = 0,171. Переходим к шагу 7. 7. Проверим условия окончания: | /'(?") | = | -0,011 < б, = 0,02 (выполняется); 0,24-0,25 X -Xi X 0,24 = 0,042 < 0,05 = s\ (выполняется). Поэтому х* = 0,24. ¦ Задачи для самостоятельного решения 1. Методами градиентного и наискорейшего градиентного спуска, методами Флетчера-Ривса и Д-Ф-П, методами покоординатного спуска и Гаусса- Зейделя решить задачу: /(х) = х,3 - х,х2 + х22 - 2х! + Зх2 - 4 -» min , х° = @,0)г. Ответ: точное решение х* = 2. Методами градиентного и наискорейшего градиентного спуска, методами Флетчера-Ривса и Д-Ф-П, методами покоординатного спуска и Гаусса- Зейделя решить задачу: /<*) = (*2 - ^12J + 0 - ххJ -> min, х° = @,0)г. Ответ: точное решение х* = A,1)г. 3. Методами градиентного и наискорейшего градиентного спуска, методами Флетчера-Ривса и Д-Ф-П, методами покоординатного спуска и Гаусса- Зейделя из начальных точек х° = @,5;0)г и х° = (-0,1;- 0,5)г решить задачу: /(х) = [(х2 ч-lJ +х12][х12 +(х2 -1J]-> min. Ответ: точное решение х*=@,1)гиз точки х°=@,5;0)г; х* = @;-1)гиз точки х° =(-0,1;-0^)г. 215
4. Методами градиентного и наискорейшего градиентного спуска, методами Флетчера-Ривса и Д-Ф-П, методами покоординатного спуска и Гаусса- Зейделя из начальных точек х° = @,3)т и х° = C,0)т решить задачу: Дх) = (х22 + хх2 -1J + (х, + х2 -1J -> min. Ответ: точное решение х* = (ОДO из точки х° = @,3)Т', х* = A,0)гиз точки х°=C,0)г. 5. Методами градиентного и наискорейшего фадиентного спуска, методами Флетчера-Ривса и Д-Ф-П, методами покоординатного спуска и Гаусса- Зейделя из начальных точки х° = @,1; 0,5)г решить задачу: f(x) = -xx2 ехр[1-х,2 -20,25(х, -х2J]-» min. Ответ: точное решение х* = AД)Г. 6. Методами фадиентного и наискорейшего фадиентного спуска, методами Флетчера-Ривса и Д-Ф-П, методами покоординатного спуска и Гаусса- Зейделя из начальной точки х° = @Д)г решить задачу: /(х) = -ххх2 • ехр[ - (х, + х2)] -> min . Ответ: точное решение х* = AДO*. 7. В задаче /(х) = Цх{ - 5J + (х2 - бJ -> min сделать 10 итераций фади- ентным методом с постоянным шагом f = 0,l из точки х° = (8,9)^, si = ОД; е2 =0,1; М = 10. Ответ: полученные точки х1 = E,6;8,4)г, х2 = EД2;7,92)Г, х3 = E,024; 7,536)г ,х4 = E,005; 7,229)Т ,х5 = E,001; 6,983)т ,х6 = E,000;6,786)т, х7 = E,000; 6,629)г,х8 = E,000; 6,503)г, х9 = E,000; 6,403)г,х10 = E,000; 6,322)г; V/(x10) = @,000;0,644O. 8. Решить задачу /(х) = 4(xj - 5J + (х2 - бJ -» min методом наискорейшего спуска из точки х° = (8,9)^ ;е] = ОД ;е2 = ОД. На каждой итерации величину шага определять методом перебора на интервале [ОД] с параметром N = 999. Повторить задание с N = 99 и сравнить результаты. Ответ: при N = 999 полученные значения шага и точки f0* =0,131; х1 = D,856; 8,214)Т, t{ = 0,42; х2 = E,34; 6,354)r, t2* = 0,131; х3 = D,984; 6,261)г , г3* = 0,425; х4 = E,039;6,039)r, tA* = 0,131; х5 = D,998; 6,029)т. Расчет закончен по фадиенту, так как V/(x5) = 0,0598 < 0,1. 9. В задаче /(х) = 4(xj - 5J + (х2 - бJ -> min сделать 10 итераций методом покоординатного спуска с шагом / = ОД из точки х° = (8,9)т, sj = ОД ;е2 = ОД ; М = 10. 216
Ответ: полученные точки jc1 = E,6;9)Т % х2 = E^;8,4)г^3 = EД20;8,400)г, х4 = E,120;7,920)г,х5 = E,024; 7,920)г,х6 = E,024;7^36)r,Jc7 = E,005 ;7,5 36)г, хн = E,005; 7,229)г ,х9 = E,001; 7,229)г ,х10 = E,001; 6,983)т ;| V/(x10) | = 1,9661. 10. Решить задачу /(х) = 4(х{ - 5J + (х2 - бJ -> min методом Гаусса- Зейделя из точки х° = (8,9)r;ej = 0,1 ;е2 = 0,1. На каждой итерации величину шага определять методом перебора на интервале [0,1] с параметром N = 999. Повторить задание с N = 99 и сравнить результаты. Ответ: при JV = 999 полученные значения шага и точки t0* = 0,125; х1 = E,00;9,00)г, /,* = 0,5; х* = х2 = E,00; 6,00)г. Расчет закончен по градиенту, так как | V/(x2)| = 0 < 0,1. 11. Решить задачу f(x) = 4(^ - 5J + (х2 - бJ -> min методом Д-Ф-П из точки х° = (8,9)г;е] = 0,1 ;е2 = ОД • На каждой итерации величину шага определять методом перебора на интервале [0,1] с параметром N = 999. Повторить задание с N = 99 и сравнить результаты. Ответ: при N = 999 полученные значения шага и точки f0* = 0,131; jc1 =D,856;8,214)r, fj* =0,494; x* = x2 =D,997;6,000)r. Расчет закончен по градиенту, так как | V/(x2) | = 0,0229 < 0,1. 12. Решить задачу f(x) = (хB + х2 -11J + (xj + х22 - 7J -> min методом наискорейшего градиентного спуска из точки х° = @,0)г ;ej = 0,1 ;е2 = 0,1. На каждой итерации величину шага определять методом перебора на интервале [0,1] с параметром N = 999. Ответ: точное решение х* = C,2)г; полученные значения шага и точки /0* = 0,127; х1 = A,778;2,794)r, t{* = 0,04; х2 = C,006; 2,042)Т; t{ = 0,014; х3 = B,988; 2,020)г ; *3* = W27; х* = х4 = C,001; 2,008)т. Расчет закончен по норме приращения аргумента и по модулю приращения величины функции, так как ||х4 - х3|| = 0,0177 < 0,1; | /(х4) - Дх3) | = 0,0059 < ОД. 13. Решить задачу /(х) = (xj2 + х2 -11J + (Х| + х22 - 7J -* min методом Д-Ф-П из точки х° = @,0)г ;ej = 0,1 ;е2 = 0,1. На каждой итерации величину шага определять методом перебора на интервале [0,1] с параметром N = 999. Ответ: точное решение х* = C,2)г; полученные значения шага и точки V = 0,127; хх = A,778; 2,794)т ,/!* = 0,024; х2 = B,252; 2,989)г ;/2* = 0,024; х3 =B,686; 1,929)г;/3* = 0,016; х4 =C,016; 1,909)Т ;t4* = 0,023; х5 = C,030; 1,969)т\ /5* = 0,03; х* = х6 = C,001; 2,000)г. Расчет закончен по градиенту, так как V/(jt6)| = 0,055 < 0,1. 217
§ 7. МЕТОДЫ ВТОРОГО ПОРЯДКА 7Л. МЕТОД НЬЮТОНА Постановка задачи Пусть дана функция /(*) , ограниченная снизу на множестве R" и имеющая непрерывные частные производные во всех его точках. Требуется найти локальный минимум функции /(х) на множестве допустимых решений X = Rn, т.е. найти такую точку х* е Rn, что Стратегия поиска Стратегия метода Ньютона [ Newton I. ] состоит в построении последовательности точек (х*},? = 0,1,..., таких, что /fx*+lJ < /(**)> Л = 0,1,... . Точки последовательности вычисляются по правилу xk+\ =xk +dkf fc = 0,l,... , G.1) где х° - задается пользователем, а направление спуска dk определяется для каждого значения к по формуле dk =-H-l(xk)vf(xk)). G.2) Выбор dk по формуле G.2) гарантирует выполнение требования f(xk+l\ < /(**) при условии, что Щхк J > 0. Формула G.2) получена из следующих соображений: 1. Функция /(х) аппроксимируется в каждой точке последовательности {х*} квадратичной функцией ?к = f(xk)+ipf(xk),dk)+-{dk,H(xk)dk). 2. Направление dk определяется из необходимого условия экстремума первого порядка: —1- = 0. Таким образом, при выполнении требования #(**)> 0 dd v ; последовательность является последовательностью точек минимумов квадратичных функций Fk, к - 0,1,... (рис. 7.1). Чтобы обеспечить выполнение требования f(xk*{\ </(**), к = 0,1,..., даже в тех случаях, когда для каких-либо значений матрица Гессе н(хк\ не окажется положительно определенной, рекомендуется для соответствующих значений к вычислить точку хк+] по методу градиентного спуска хк+х -хк-tkVf\xk\ с выбором величины шага tk из условия /(**-'*v/(**)) </(**).. 218
Построение последовательности ixk\ заканчивается в точке хк, для которой | V/(jc* )| < ei > где е\ - заданное малое положительное число, или при к> М (Л/ - предельное число итераций), или при двукратном одновременном выполнении двух неравенств |x*+1 -**i<s2, /(**+1)-/(* / <е2, где е2 - малое положительное число. Вопрос о том, может ли точка хк рассматриваться как найденное приближение искомой точки минимума, решается путем проведения дополнительного исследования, которое описано ниже. Рис. 7.1 Алгоритм Шаг 1. Задать х°, ej >0, е2 >0, М - предельное число итераций. Найти градиент V/(x) и матрицу Гессе Н(х). Шаг 2. Положить к = 0. Шаг 3. Вычислить Vf[xk\. Шаг 4. Проверить выполнение критерия окончания | V/(x* )| ? ei: а) если неравенство выполнено, то расчет окончен и х* = хк; б) в противном случае перейти к шагу 5. Шаг5. Проверить выполнение неравенства к^М: а) если неравенство выполнено, расчет окончен и х* = хк; б) если нет, перейти к шагу 6. Шаг 6. Вычислить матрицу н(хк\. 219
Шаг!. Вычислить матрицу Н~Чхк\. Шаг 8. Проверить выполнение условия Н~Чхк\ > 0: а) если Н~{(хк\ > 0, то перейти к шагу 9; б) если нет, то перейти к шагу 10, положив dk = -VfUk). Шаг 9. Определить dk = -Н~х{хк^/{хку Шаг 10. Найти точку хк+1 = хк + tk dk, положив tk = 1, если dk = -H'Hxk\vf(xk\ , или выбрав tk из условия /(х*+1) < /(**)» если dk = -Vf(xk\. Шаг 11. Проверить выполнение условий ||| |( а) если оба условия выполнены при текущем значении к и & = ? -1, то расчет окончен, х* = хк+{; б) в противном случае положить к = к +1 и перейти к шагу 3. Сходимость Утверждение 7,1. Пусть f(x) дважды непрерывно дифференцируемая сильно выпуклая функция с константой / > 0 на Rn и удовлетворяет условию где L > 0, а начальная точка такова, что I У/|х°I ^8—, т.е. ||V/(*O)|| = ^, G.3) где q <=@,1). Тогда последовательность \хк\ сходится к точке минимума с квадра- тинной скоростью \хк - х*\\? —— [39] . н и /, Замечания 7.1. 1. Сходимость метода Ньютона доказана лишь для сильно выпуклых функций и для достаточно хорошего начального приближения, определяемого условием G.3), практическое использование которого крайне затруднено, так как постоянные / и L, как правило, неизвестны или требуют трудоемкого исследования для их определения. Поэтому при практическом использовании метода Ньютона следует: а) анализировать матрицу н(хк\ на выполнение условия н(хк\>0 Vfc = 0,l,... и заменять формулу x*+1 =хк - H~l(xk)vf(xk) на формулу х*+1 = хк - tk Vf(xk) в случае его невыполнения; 220
б) производить анализ точки хк с целью выяснения, является ли она найденным приближением искомой точки х*. 2. При решении задачи поиска безусловного максимума формула G.2) не изменяется, так как в этом случае #fx*j < 0. Процедура решения задачи 1. Используя алгоритм Ньютона, найти точку хк, в которой выполняется по крайней мере один критерий окончания расчета. 2. Так как /(х) e С2, то осуществить проверку выполнения достаточных условий минимума Н\хк) > 0. Если условие выполнено, то точка хк может рассматриваться как найденное приближение точки минимума х*. Проверку выполнения достаточных условий минимума можно заменить проверкой функции /(х) на выпуклость. Пример 7.1. Найти локальный минимум функции /(х) = 2х12+х1х2+х22. ? I. Определение точки хк, в которой выполняется по крайней мере один критерий окончания расчетов. 1. Зададим х°,гьг2,М: х° = @,5;1)г; Sl = 0,1; е2 = 0,15; М = 10. Найдем градиент функции V/(x) = Dxi + х2;х{ + 2х2) и матрицу Гессе Н(х) - 2. Положим к = 0. 3°. Вычислим V/(x°): V/(x°) = C; 2,5)г. 4°. Проверим выполнение условия V/(x°) ?ej: V/(x°)| = 3,9 >0,1. Переходим к шагу 5. 5° .Проверим выполнение условия к> М: & = 0<10. Переходим к шагу 6. 6°. Вычислим Я(х°): я(х°) = f J lY 7°. Вычислим H-l(x°): H-l(x°)= 7 I 7 1 ) 2 8°. Проверим выполнение условия ?Г1(х°)>0. Так как Aj = — >0, k 2 = — > 0, то согласно критерию Сильвестра Н~1(х°\ > 0 (см. § 2). B 9°. Определим dQ =-Я-1(х°)у/-(х°)=~ I i 7 7; ад- 221
10°. Вычислим хх = \±, l) + [-1 -l) = @,0)т. 11°. Проверим выполнение условий Jx1 -x°l < е2, f[xl)- f\x°)\ < г2: |х» -х°| = 1,12>0,15; |/(х')-/(х°)| = 2>0,15 . Полагаем к = 1, переходим к шагу 3. З1. Вычислим Vf(xiy V/(x1) = @,0)r. 41. Проверим выполнение условия И V/(jcl)| < et: |v/(xl)| = 0<0,l. Расчет окончен. Заметим, что в точке х{ выполняется необходимое условие первого порядка, поэтому она является стационарной точкой. И. Анализ точки х1. Функция f(x) = 2х{2 + ххх2 + х22 является строго выпуклой, так как ее мат- рица вторых производных Н = I I > 0 в силу того, что Д]=4>0, A2=57>0. Найденная точка х1 =@,0)Г есть точка локального и одновременно глобального минимума f(x) . /W-2 Рис. 7.2 На рис. 7.2 траектория спуска изображена сплошной линией. 222
7.2. МЕТОД НЬЮТОНА-РАФСОНА Постановка задачи Пусть дана функция f(x) , ограниченная снизу на множестве Rn и имеющая непрерывные частные производные во всех его точках. Требуется найти локальный минимум функции f(x) на множестве допустимых решений X = Rn, т.е. найти такую точку х* е ЛЛ, что Стратегия поиска Стратегия метода Ньютона-Рафсона [ Newton- Raphson ] состоит в построении последовательности точек {x*J,fc = 0,1,..., таких, что /fx*+1J < /(**)> к = 0,1,... . Точки последовательности вычисляются по правилу хк+{ =хк -tk #-l(x*)v/(xA), A: = 0,1,... , G.4) где х° задается пользователем, а величина шага tk определяется из условия > min. G.5) Задача G.5) может решаться либо аналитически с использованием необходимого условия минимума —-*- = 0 с последующей проверкой достаточного усло- dtk вия —у > 0, либо численно как задача G.6) где интервал [д,?] задается пользователем. Если функция ф(/Л) достаточно сложна, то возможна ее замена полиномом P(tk) второй или третьей степени и тогда шаг tk может быть определен из условия — = 0 при выполнении условия —- > 0. dh dtk2 При численном решении задачи определения величины шага степень близости найденного значения tk к оптимальному значению t*k, удовлетворяющему условиям —2- = 0, —~. > о, зависит от задания интервала [д,6] и точности мето- d*k dtk лов одномерной минимизации [28]. 223
Построение последовательности {х*} заканчивается в точке хк, для которой И УДх*)| < еь где ej - заданное число, или при к > М (М - предельное число итераций), или при двукратном одновременном выполнении двух неравенств |х*+| -хк |<е2, I/(**/"/(*/ <е2» гДе е2 - малое положительное число. Вопрос о том, может ли точка хк рассматриваться как найденное приближение искомой точки минимума, решается путем проведения дополнительного исследования, которое описано ниже. Алгоритм Шаг 1. Задать х°, ъх > О, е2 > О, М - предельное число итераций. Найти градиент V/(x) и матрицу Гессе Н(х). Шаг 2. Положить к = 0. Шаг 3. Вычислить Vf(xk\. Шаг 4. Проверить выполнение условия I Vf\xk )| < г\: а) если неравенство выполнено, то расчет закончен, х* = хк; б) если нет, перейти к шагу 5. Шаг 5. Проверить выполнение условия к> М: а) если неравенство выполнено, расчет окончен, х* = хк; б) если нет, перейти к шагу 6. ДОлг 6. Вычислить матрицу н(хк\. Шаг 7. Вычислить матрицу Н~1(хк\. Шаг 8. Проверить выполнение условия Н~1(хк\ > 0: а) если условие выполняется, то найти dk = -H~l(xk)s7flxk); б) если нет, то положить dk = -V/(xM. Шаг 9. Определить хк+] =хк +tkdk. Шаг 10. Найти шаг t*k из условия <р(/л) = /(х* + ^ </*)-» min Шаг 11. Вычислить x*+1 =xk +t*kdk. Шаг 12. Проверить выполнение неравенств а) если оба условия выполнены при текущем значении к и ? = к -1, то расчет окончен, х* = х*+1; б) в противном случае положить к = к +1 и перейти к шагу 3. 224
Сходимость Утверждение 7.2. Пусть функция f(x) дважды непрерывно дифференцируема и сильно выпукла на Rn, а ее матрица Гессе Н(х) удовлетворяет условию Липшица [Н(х)-Н(у)[<ф-у1 \/x,yeRn. Тогда последовательность \хк\ сходится независимо от выбора начальной точки х° точке минимума х* с квадратичной скоростью х*+| - х* < — ||х* - х*|| , И II т II II где т - оценка наименьшего собственного значения матрицы [29]. Замечание 7.2. Сходимость к точке минимума метода Ньютона- Рафсона гарантируется независимо от выбора начального приближения лишь для сильно выпуклых функций. Поэтому при практическом использовании метода Ньютона-Рафсона следует: а) анализировать матрицу Гессе Н\хк\ на выполнение условия Н\хк) > 0, к = ОД,..., и заменять формулу xk+l = хк - tk Я (хк) Vf(xk \ на формулу метода градиентного спуска xk+l =xk -tk V/uc* J в случае его невыполнения; б) производить анализ точки хк с целью выяснения, является ли она найденным приближением искомой точки х*, Процедура решения задачи 1. Используя алгоритм Ньютона-Рафсона, построить точку хк, в которой выполняется по крайней мере один критерий окончания расчетов. 2. Так как f(x) e С2, то осуществить проверку выполнения достаточных условий минимума Н\хк\ > 0. Если условие выполнено, то точка хк может рассматриваться как найденное приближение точки минимума х*. Проверку выполнения достаточных условий минимума можно заменить проверкой функции f(x) на выпуклость. Пример 7.2. Найти локальный минимум функции f(x) = 2xj2 + x{x2 + х22. D I. Определение точки хк, в которой выполняется по крайней мере один критерий окончания расчетов. 1. Зададим х°,гиг2,М'. *° = @^;1)Г, е, = ОД; s2 = 0,15; М = 10. Найдем градиент функции V/(x) = Dxj + дс2;хх + 2х2)Ти матрицу Гессе Н(х) = 2. Положим к = 0. 3°. Вычислим V/(x°): V/(x°) = C;2^)Г. 4°. Проверим выполнение условия | V/(xo)| < е,: | V/(xo)| = 3,9 > 0,1. 15-4751 225
5°. Проверим выполнение условия к^М: к = 0 < 10. Переходим к шагу 6. 6°. Вычислим Я(х°): я(х°) = Г М. 7°. Вычислим Я-^х0): Я~1(х°)= \ i Г7 7; 8°. Проверим выполнение условия Я^0) > 0. Так как A t = - > 0, А2=->0,то согласно критерию Сильвестра Я'^х0) > 0. Поэтому найдем d° = -Я-1(х°)у/(х°): d° = ---1 (см. шаг 9° примера 7.1). (I Y ( 1 У" (\ 1 У 9°. Определим: х1 =х° +tQd° = -¦, 1 +/о-—,-1 = — "'оЛ-'о • 10°. Определим /q из условия <р(/о) = /(*° + ^о^°) -* ^и • Получаем Из условия — = 2 • 2 • A - f0) * (-1) = 0 находим rj = 1 • При этом —2. = 4 > 0 , т.е. найденная величина шага обеспечивает минимум функции ф(г0). 11°. Вычислим х!-х°+Й^°: х1 -(|-|-Ь 1-0 =(<>,0)г. 12°. Проверим выполнение условий их1 -х° <Е2, Д^1)-/(х°) <е2: |х1-х°|-Ц2>0Д5; | /(х1)- /(х° )| = 2 > 0,15. Положим к = 1 и перейдем к шагу 3. ^.Вычислим Vf(xl): Vf{xl)={Q;0)T. 41. Проверим выполнение условия Iv/^x1)!^]: Jv/(x1)J = O<O,l. Расчет окончен: х* = х1. II. Анализ точки х1. Точка х* = @;0)г - точка локального и одновременно глобального минимума /(х) (см. пример 7.1). На рис. 7.2 траектория спуска изображена штрихпунк- тирной линией. ¦ 226
7.3. МЕТОД МАРКВАРДТА Постановка задачи Пусть дана функция f(x) , ограниченная снизу на множестве Rn и имеющая непрерывные частные производные во всех его точках. Требуется найти локальный минимум функции f(x) на множестве допустимых решений X = Rn, т.е. найти такую точку х* eRn, что Стратегия поиска Стратегия метода Марквардта [Marquardt D.W.] состоит в построении последовательности точек {**}, к = 0,1,..., таких, что /fx*+1) < /(**), * = 0,1 Точки последовательности 1хк\ вычисляются по правилу х*+1 = хк -[#(**) + \ikEYlVf(xk), к = 0,1,... , G.7) где точка х° задается пользователем, Е - единичная матрица, ц* - последовательность положительных чисел, таких, что матрица [#(**)+ ц*2?| положительно определена. Как правило, число ц° назначается как минимум на порядок больше, чем самый большой элемент матрицы #(*°)> а в ряде стандартных программ полагается ц° = 104 [36] . Если fixk -(я(хЛ)+цЛ?')Г1у/'(хА:)|</(хА:), то [xk+l =—-. В противном случае ц*+1 = 2ц*. Легко видеть, что алгоритм Марквардта в зависимости от величины \ik на каждом шаге по своим свойствам либо приближается к алгоритму Ньютона, либо к алгоритму градиентного спуска. Построение последовательности 1хк\ заканчивается, когда либо **) < ei» либо число итераций к ? М, где sj - малое положительное число, а М - предельное число итераций. Вопрос о том, может ли точка хк рассматривается как найденное приближение искомой точки минимума, решается путем проведения дополнительного исследования, которое описано ниже. Алгоритм Шаг 1. Задать x°,sl>0y M - предельное число итераций. Найти градиент V/(x) и матрицу Гессе Н(х). 15* 227
Шаг 2. Положить к = 0, \хк « ц°. Л/аг З. Вычислить V/fx*V Л/ог 4. Проверить выполнение условия I V/(x* I < ъх: а) если неравенство выполнено, то расчет окончен, х* = хк; б) если нет, перейти к шагу 5. Шаг 5. Проверить выполнение условия Л ? М: а) если неравенство выполнено, расчет окончен, х* = х* ; б) если нет, перейти к шагу 6. Шаг 6. Вычислить н(хк\. Шаг 7. Вычислить #(**) + ц*?. Шаг 8. Вычислить [#(**) + ц^Г*. Д/аг9. Вычислить dk =-Шхк) + р*eY* Шаг 10. Вычислить x*+l = х* - 11. Проверить выполнение условия /(x*+1J < f(xk\: а) если неравенство выполняется, то перейти к шагу 12; б) если нет, перейти к шагу 13. Шаг 12. Положить к = к +1, ц*+1 = ^— и перейти к шагу 3. Шаг 13. Положить цк = 2ц* и перейти к шагу 7. Процедура решения задачи 1. Используя алгоритм Марквардта, построить точку хк, в которой выполняется по крайней мере один критерий окончания расчетов. 2. Так как f(x) e С2, то осуществить проверку выполнения достаточных условий минимума Н\хк J > 0. Если условие выполнено, то точка хк может рассматриваться как найденное приближение точки минимума х*. Проверку выполнения достаточных условий минимума можно заменить проверкой функции f(x) на выпуклость. Замечания 7.3. 1. Метод Марквардта за счет выбора ц* обеспечивает построение последовательности {х*}, такой, что /(х*+1) < /(**), к = 0,1,... [29]. 2. В окрестности точки минимума х* метод Марквардта обладает скоростью сходимости, близкой к квадратичной [29]. 228
Пример 7.3. Найти локальный минимум функции /(х) = 2хх2 + хххг + х22. П I. Определение точки хк, в которой выполняется по крайней мере один критерий окончания расчетов. 1. Зададим x°=@,5;l) ;ej = ОД;Л/= 10. Найдем фадиент функции V/(x) = Dх, +х2;*1 +2х2)ти матрицу Гессе #(х) = I. 2. Положим к = 0, ц° = 20. 3°. Вычислим V/(x°): V/(jc°) = C;2,5O\ 4°. Проверим выполнение условия | V/(jc° )| ? ъх: | V/(x° )| = 3,9 > 0,1. Переходим к шагу 5. 5°. Проверим выполнение условия к^М: ? = 0< 10. Переходим к шагу 6. 6°. Вычислим Н(х°): #( 7°. Вычислим * М. 9°. Вычислим J° = -^^J + n^l^V/^0): d° = (-0Д19;-0Д08)г. 10°.Вычислим х1 = jc° - \н[х°) + ц0^ V/(x°): х1 = @,38l;0,892O'. 11°.Проверим выполнение условия /(х1) < /(л:0): /(*1) = 1,438 < 2 = /(х°). о 12°.Полагаем Л = 1,ц1=~- = 10и переходим к шагу 3. З1. Вычислим Vf(xiy. V/(x1) = B,41;2,16)r. 4f. Проверим выполнение условия ^/(х1)!^: V/(x1)| = 3,18>0,l. Переходим к шагу 5. 51. Проверим выполнение условия к>М: ? = 1 < 10. Переходим к шагу 6. б1. Вычислим Я(х!): я(х!) = f^ *1. 71. Вычислим Я(х1) + \ilE: 81. Вычислим [^^ ц И'Н?] [0,0059 0,084 J- Г' Г °'072 -0,0059] =[-0,0 J 229
91. Вычислим dx = -\н{хх) + ц1еТ V/(x*): dl = (-0,160;-0,168)T. 10l. Вычислим x2 = x1 -[#(*') + ц1^] V/(xl): x2 = @,381;0,892)r -@,160;0Д68)Т = @,221;0,724)r. II1. Проверим выполнение условия fix2) < f(xl\: /(x2) = 0,791 < 1,438 = /(*')• 12l. Полагаем Ь2,ц2=^- = 5и переходим к шагу 3. З2. Вычислим V/(jc2) : V/(jc2) = A,60; 1,67)Г. 42. Проверим выполнение условия I V/(jc2)| < si: 1 V/(jc2 )| = 2,31 > 0,1. Переходим к шагу 5. 52. Проверим выполнение условия Л^М:^ = 2<10. Переходим к шагу 6. б2. Вычислимых2): #(*2) = Г Ч. 72. Вычислим Н(х2\ + \х2?: 82. Вычислим [я(х2) + ц2^]": 1-0,016 0,145 У 92. Вычислим d2 =-[я(х2) + ц2^Г!у/-(х2): d2 =(-0Д55;-0Л7)г. 102. Вычислим х3 =х2-[я(х2) + ц2?]У/(х2): х3 = @,221;0,724f - @Д55;0,217)Г = @,07;0,51)Г. 112. Проверим выполнение условия /(*3) < /(*2): /(х3) = 03 < 0,791 = /(х2). 122. Полагаем к = 3, ц3 = — = 2,5 и переходим к шагу 3. З3. Вычислим V/(x3): V/(x3) = @,79; 1,09)Г. 43. Проверим выполнение условия | V/(x3 )| < ъг: I V/(x3 )| = 1,34 > 0,1. Переходим к шагу 5. 53. Проверим выполнение условия к^М: к = 3 < 10. Переходим к шагу 6. 230
б3. Вычислим #(х3): #( 73. Вычислим Н(х3) + у?Е: Я (х3) + и3? = f6>5 * 83. Вычислим [#(х3) + ц3?]"': 93. Вычислим (/3 =~[я(х3) + ц3^Г1У/(х3): rf3 =(-0,078;-0,22)г. Ю3. Вычислим х4 = х3 - [я(х3) + ц3^] V/(x3): х4 = @,07;0,5 if -@,078;0,22)Г = (-0,008;0,29)Г. 113. Проверим выполнение условия /(*4) < /(*3): /(х4) = 0,082 < 0,3 = /(х3). 123. Полагаем к = 4, ц4 = — = 1,25 и переходим к шагу 3. З4. Вычислим V/(x4): V/(x4) = @,26; 44. Проверим выполнение условия | V/(x4) < гх: V/(x4 )| = 0,62 > 0,1. Переходим к шагу 5. 54. Проверим выполнение условия к^М\ & = 4<10. Переходим к шагу 6. б4. Вычислим Я(х4): #(x4) = f^ *)' 74. Вычислим Я(х4) + ц4?: я(х4) + »*Е = [5^ ^J. 84. Вычислим [я(х4) + ц4^: и( 4\ 4ЖГГ1 ( °>203 -0,0623"! 0,0623 0,327 J- 94. Вычислим dA =-[я(х4) + ц4?ГЧ/(х4): dA = (-0,017;-0,17)Г. 104. Вычислим х5 =х4-[я(х4) + ц4?]~ V/(x4): х5 =(-0,008;0,29)Г -@,017;0Д7)Г = (-0,025;0,12)Г. И4. Проверим выполнение условия /(х5)< Wx4): /(х5) = 0,012 < 0,082 = /(х4). 231
124. Полагаем к = 5, ц5 = ?— = 0,625 и переходим к шагу 3. З5. Вычислим V/(x5): V/(x5) - @,02;0Д2)Г. 45. Проверим выполнение условия |V/(x5)J<ei: Iv/(x5)| = 0,22 > 0,1. Переходим к шагу 5. 55. Проверим выполнение условияк> М: к = 5 <\0. Переходим к шагу 6. б5. Вычислимых5): #( 75. Вычислим #(х5) + ц5?: н(х5) + ц5Я = [^ Jj. 85. Вычислим Ых5) + ц5^]: 1-0,09 0,416,1 95. Вычислим d5 =-f#(x5) + n5?rV(x5): ds = @,015;-0,090)r. I05. Вычислим x6 = x5 -f#(x5) + )i5eY V/(x5) : x6 =(- 0,025; 0,12)r + @,015;-0,09)r «(-0,01;0,03)г. 115. Проверим выполнение условия /f*6) < /f*5): /(x6) = 0,0006 < 0,012 = /(x5). 125. Полагаем к = 6, ц6 = — » 0,311 и переходим к шагу 3. З6. Вычислим V/(x6): V/(x6) = (-0,01;0,05)г. 46. Проверим выполнение условия II V/(x6)| < ь{: I V/(x6)|( = 0,051 < 0,1. Расчет окончен. II. Анализ точки х6. Точка х6 = (-0,01; 0,03) (рис. 7.2) является найденным приближением точки минимума х*, так как функция /(х) = 2xj2 + Xix2 + x22 является строго выпуклой (см. пример 7.1). На рис. 7.2 полученная траектория спуска изображена пунктирной линией. ¦ Задачи для самостоятельного решения 1. Аппроксимируйте функцию /(х) = xjf + xtx2 - x|xj2 в точке х° = A;1)Г квадратичной функцией F. Ответ: F = 1 + 2xt - х2 + 2х\ -х\- 232
2. Будет ли удачной точка х° = A;2;1;1)г для решения задачи /(х) = \Х\ - х21 + (хз " ха) -* mm по методу Ньютона? Ответ: нет, так как матрица н(х°) не является положительно определенной. 3. После десяти итераций по методу Марквардта при решении задачи /(х) = [хх - х|) + A - ххJ -> min программа остановилась в точке х = (\;1)Т. Поясните причину остановки. Ответ: точка х = A;1)Г - точка минимума. 4. Методом Ныотона-Рафсона найдите точку минимума функции Ответ: точное решение х* = @;0)г. 5. В задаче /(х) = ЮОх? + х\ -> min, x°=@;10)r определите координаты точки х1 с помощью метода Ньютона. Ответ: х!=@;0)г. 6. Будет ли удачной минимизация функции /(х) = х? + xix2 + x^xf - Зх, методом Ньютона из точки х° = B;2)Г ? Ответ: нет, так как #f*°) не является положительно определенной. 7. Решается задача (х,+1J+х22 Укажите, из какой точки ее решение по методу Ньютона потребует не более одной итерации. Ответ: из любой начальной точки, если решать эту задачу как задачу поиска минимума функции -т-т = fa +1J + x\. / \Х) 8. В задаче /(х) = 100(х2 ~х12) + A-х1J -> min сделать 12 итераций из точки х° = B?)Т методом Ньютона. Ответ: полученные точки х1 = A,996;3,982)г, х2 = (-2,752;-14,969)Т, х3 =(-2,751;7^65)г,х4 = (-0,941;- 2,385) т9 х5 = (-0,938; 0,880)г, х6 = @,472;- 1,763)г ,х7 = @,473; 0,224)г ,х8 = (Ц23;0,84)г ,х9 = (Ц22;1Д59)Г, х|о= @,901;0,762)г, х11 = @,911;0,829)г, х12 = A,047; 1,079)г. Точное решение 9. Решить задачу /(х) = 100(х2 - Xj2) + A - х^2 -^ min методом Ньютона- Рафсона из точки х° = B,3)r ,sj = е2 = ОД. Ответ: на каждой итерации величина шага определялась методом перебора на интервале [ОД с параметром N = 1999. 233
Полученные шаги и точки: *о = °>991; х1 = A,996; 3,982)r, t{ = 0,034; х2 = A,834; 3,338)г, /J = 1,281; х3 = A,641;2,663)т, /3* = 2,535; х4 = A,387; 1,905)г, t\ = 1,885; х5 = A,212; 1,456)г, /5* =2,63; хв =A,047; 1,091)г, ^ =1,49; х1 = @,999; 0,999)г. Расчет закончен по градиенту, так как | V/(x7) | = 0,0607 < 0,1. 10. Решить задачу /(х) = 4{х{ - 5J + (х2 - бJ -> min методом Марквардта из точки х° = (8,9)г, ц° = 20; г{ = 0,1; е2 = ОД. Ответ: полученные точки х1 = G,143; 8,727)Т, х2 = FД90;8,273)г, х3 = E,458;7,623)г, х4 =E,109;6,902)г, х5 =E,015;6,347)г, х6 = E,001;6,083)г, х7= E,000; 6,011)г. Расчет закончен по градиенту, так как | V/(x7) I = 0,0223 < 0,1. 11. Решить задачу /(х) = (хх2 + х2 - ИJ + (хг + х22 - 7J -> min методом Ньютона-Рафсона из точки х° = @,0)г ,ег = s2 = 0,1. Ответ: на каждой итерации величина шага определялась методом перебора на интервале [0,2] с параметром N = 1999. Полученные шаги и точки: *2=ОД27; х1 =A,778;2,794)г, /f = 0,087; х2= B,943;2,487)r, t\ =1,299; х3 = B,979;2,009)г, t\ =0,989; х4 =C,00;2,00)Т. Расчет закончен по градиенту, так как I V/(x4) И = 0,001 < 0,1. 12. Решить задачу /(х) = 100(х2 - х^) + A - xjJ + 10,1(х2 -1J -> min методом Ньютона-Рафсона из точки х° = @,0)r ,8j = е2 = 0,1. Ответ: на каждой итерации величина шага определялась методом перебора на интервале [0,2] с параметром N = 1999. Полученные шаги и точки: /J = 0,249; х1 = @,251; 0,023)Т, t{ = 0,861; х2=@,64;0,31)г, /5=1,766; х3 =@,999; 1,001)т, t*3=U х4 =A,00; 1,00)г. Расчет закончен по градиенту, так как 1 V/(x4) | = 0,0004 < 0,1. 13. Решить задачу /(х) = (xj2 + х2 - ИJ + (х{ + х22 - 7J -> min методом Марквардта из точки х° = @,0)г, ц° = 120;si = 0,1 ;е2 = ОД . Ответ: полученные точки х1 = @,179;0,24)г, х2 = A,215; 0,971)г, х3 = A,905; 1,344)г, х* = C,189; 1,736)г, х5 = C,059; 1,901)г, х6 = C,011;U80)r, х7 =C,001;1,998O'. Расчет закончен по градиенту, так как I V/(x7) | = 0,073 < 0,1. 234
III. ЧИСЛЕННЫЕ МЕТОДЫ ПОИСКА УСЛОВНОГО ЭКСТРЕМУМА § 8. ПРИНЦИПЫ ПОСТРОЕНИЯ ЧИСЛЕННЫХ МЕТОДОВ ПОИСКА УСЛОВНОГО ЭКСТРЕМУМА Рассмотрим общую постановку задачи поиска условного экстремума со смешанными ограничениями. Даны дважды непрерывно дифференцируемые целевая функция /(*) = /(*!»...,*я) и функции ограничений gj(x) = 0, 7 = 1,...,m; gj(x)<0, у = /и + 1, ...,/*, определяющие множество допустимых решений X. Требуется найти локальный минимум целевой функции на множестве X , т.е. такую точку х* е X , что () , (8.1) где X = ix ( Применение необходимых и достаточных условий условного экстремума, изложенных в § 3 , эффективно для решения ограниченного числа примеров, в которых вытекающие из этих условий соотношения имеют аналитическое решение. Для решения большинства практических задач используются численные методы, которые делятся на две группы. 1. Методы, использующие преобразование задачи условной оптимизации в последовательность задач безусловной оптимизации путем введения в рассмотрение вспомогательных функций: методы последовательной безусловной минимизации. 2. Методы непосредственного решения задачи условной оптимизации, основанные на движении из одной допустимой точки, где выполнены все ограничения, к другой допустимой точке с лучшим значением целевой функции. Эти методы часто называются методами возможных направлений. Основная идея методов первой группы состоит в том, чтобы аппроксимировать исходную задачу условной оптимизации некоторой вспомогательной задачей, решение которой менее сложно, чем решение исходной. Естественно, что ограничившись одной вспомогательной задачей, можно получить, вообще говоря, лишь приближенное решение. Если же использовать последовательность задач, в определенном смысле "сходящихся" к исходной, то искомое точное решение в большинстве случаев окажется пределом соответствующей последовательности приближенных решений. Идея преобразования задачи с ограничениями в надлежащим образом построенную последовательность задач без ограничений представляется заманчивой главным образом в связи с наличием эффективных и надежных методов безусловной минимизации, рассмотренных в § 5-7. На первый взгляд кажется странным, что предлагается решать бесконечную последовательность задач оптимизации, а не всего одну задачу. Дело в том, что на практике для получения решения исходной задачи с требуемой точностью достаточно бывает решить конечное (относительно небольшое) число вспомога- 235
тельных задач. При этом нет необходимости решать их точно, а информацию, полученную в результате решения очередной вспомогательной задачи, обычно удается эффективно использовать для решения следующей. В рамках единой методологии можно выделить несколько подходов к решению задачи. Первый называется методом штрафов (внешних штрафов). В этом методе к целевой функции добавляется функция, интерпретируемая как штраф за нарушение каждого из ограничений. Метод генерирует последовательность точек, которая сходится к решению исходной задачи. Второй подход называется методом барьеров (внутренних штрафов). Здесь к целевой функции исходной задачи добавляется слагаемое, которое не позволяет генерируемым точкам выходить за пределы допустимой области. Третий подход связан с добавлением штрафной функции не к целевой функции, а к ее функции Лагранжа. В результате возникает модифицированная функция Лагранжа, а методы, использующие эту функцию, называются методами множителей. Четвертый подход базируется на введении так называемых тонных штрафных функций, позволяющих ограничиться решением лишь одной задачи безусловной минимизации. Методы непосредственного решения задачи условной оптимизации, образующие вторую группу, связаны с нахождением предела х* последовательности {**} допустимых точек при к -> «, таких, что /(x*+1j < /(**)> К = 0,1,... . Последовательность \хк\ строится по правилу хк+\ =xk +bxkf к = о,1,..., где вектор Ьхк определяется в зависимости от применяемого метода. К описанной группе методов относятся метод проекции градиента и метод возможных направлений Зойтендейка, излагаемые в § 10. В методе Зойтендейка на каждой итерации строится возможное направление спуска и затем проводится оптимизация вдоль этого направления. Определение 8.1. Ненулевой вектор d называется возможным направлением в точке х еХ, если существует такое 5 > 0, что х + td € X для всех / е@,5). Определение 8.2. Вектор d называется возможным направлением спуска в точке xeJf, если существует такое 5>0, что f(x + / d) < f(x) и x + td e X для всех / е@,5). Рассмотрим частный случай задачи поиска условного минимума: {\ Cx = e}, (8.2) где А - матрица размера (тх п)9 С - матрица размера (/хя), b - вектор (тх 1), е - вектор (/xl). 236
Утверждение 8.1 (о возможном направлении спуска в случае линейных ограничений). Пусть х - допустимая точка в задаче (8.2) и предположим, что = ЬХ, А2 х < Ь 2, где I 11 = А, 1 = Ь. Тогда ненулевой вектор d является возможным направлением в точке х в том и только в том случае, если А\ d <> О, Cd = 0. Если, кроме того, Vf{xfd < 0, то d является возможным направлением спуска [4]. Пример 8.1. В задаче -х{+2х2 <4, 3*! +2х2 ?12, 2 указать множество возможных направлений спуска в точке В = B,3) . ? Первые два ограничения являются активными в точке В = B,3)Г. Поэтому матрица >4| =1 I. Следовательно, вектор d является возможным направлением тогда и только тогда, когда А{ d <, 0, т.е. если -dl+2d2< 0, На рис. 8.1 изображена совокупность этих направлений, образующая конус возможных направлений. Отметим, что если сдвинуться на небольшое расстояние от точки х вдоль любого вектора dy удовлетворяющего двум приведенным выше неравенствам, то точка остается в допустимой области. Если вектор d удовлетворяет неравенству Wf(x)Td = -8^ +2d2 < 0, то он является направлением спуска. Таким образом, совокупность направлений спуска определяется открытым полупространством ^1^2)\-Щ +2d2 <o}. Пересечение конуса возможных направлений с этим полупространством задает множество всех возможных направлений спуска. На рис. 8.1 используются следующие условные обозначения: а - конус возможных направлений; р - полупространство направлений спуска; у - конус возможных направлений спуска. ¦ Замечание 8.1. Естественный подход к построению возможного направления спуска, как следует из утверждения 8.1, заключается в минимизации V/(x) d при условии AydйО, Cd = 0. Однако, если существует вектор d*, такой, что Vf(xfd* <0, A{d*<0, Cd* =0, то минимальное значение целевой функции в сформулированной задаче равно -оо, так как любой вектор Xd*, где ^ - сколь угодно большое число, удовлетворяет всем ограничениям. 237
Таким образом, в задачу должно быть включено условие, которое ограничивало бы вектор d . Поэтому для нахождения возможного направления спуска требуется решить задачу (8.3) /(*)-" Рис. 8.1 Рассмотрим задачу условной минимизации при ограничениях типа неравенств (8.4) Утверждение 8.2 (о возможном направлении спуска в случае нелинейных ограничений). Пусть х - допустимая тонка, a Ja - множество индексов активных в этой точке ограничений, то есть Jа = \j | gj{x)= 0 }. Предположим, что функции /(*); gj(x), j eJa дифференцируемы в х , а функции gj(x), j *Ja непрерывны в этой точке. Если V/(x) d < 0 и Vgy(x) d < 0 при j eJa, то вектор d является возможным направлением спуска [4] . 238
f(x) = const Рис. 8.2 На рис. 8.2 показана совокупность возможных направлений спуска в точке х . Вектор d , удовлетворяющий равенству Vgj(xfd = О, является касательным к множеству [х | gj(x) = 0}. Так как функции gj(x) не линейны, движение вдоль такого вектора может привести в недопустимую точку, что вынуждает требовать выполнения строгого неравенства Vgy(x) d <0. На рис. 8.2 используются следующие условные обозначения: 1 - первое ограничение; 2 - третье ограничение; 3 - четвертое ограничение; 4 - второе ограничение; 5 - возможные направления спуска; 6 - линии уровня функции. Замечания 8.2. 1. Чтобы найти вектор d , удовлетворяющий условиям утверждения 8.2, естественно минимизировать максимум из Vf(xfd и Vgj(x)Td для j eJa. Обозначим его через z • Кроме того, как и в случае линейных ограничений, введем ограничения на вектор d (см. замечание 8.1). Поэтому для нахождения возможного направления спуска требуется решить задачу min, (8.5) 239
Частным случаем задачи поиска условного экстремума является задача линейного программирования, в которой целевая функция и ограничения линейны по х . Эта особенность задачи отражается в специфике применяемых для ее решения методов, рассматриваемых в § 11. Область допустимых решений представляет собой выпуклый многогранник, имеющий конечное число вершин. Процедура поиска решения заключается в переходе от одной вершины к другой, так чтобы значение функции улучшалось. Процедура поиска завершается в случае, когда из текущей вершины будет невозможен переход, связанный с улучшением функции. Во многих практических задачах линейного программирования требуется, чтобы используемые в них переменные были целыми. Такие задачи называются задачами целочисленного линейного программирования и решаются методами, изложенными в § 12. 2. Если текущая точка близка к границе, определяемой одним из ограничений, и если это ограничение не используется в процессе нахождения направления поиска, то может случиться так, что удастся сделать только маленький шаг и точка окажется на границе, определяемой этим ограничением. Поэтому в качестве множества Ja активных ограничений следует брать совокупность индексов почти активных ограничений: Jа = [j | - е < gj(x) ? 0 }, где е > 0 - достаточно малое число. При этом решение задачи поиска возможного направления спуска даст вектор, который обеспечивает сравнительно большие возможности для движения в рамках допустимой области. Задачи дня самостоятельного 1. В задаче /(х) = 2х{2 + 2х22 - 2ххх2 - 4xi - 6х2 -> min, хх + х2 ? 2, Х| + 5х2 < 5, -Х!<0, указать возможное направление спуска в точке х° = @,0) . Ответ: в точке х° = @,0) имеем: V/(x°) = (- 4,- в)Т; активными являются только ограничения неотрицательности переменных. Согласно (8.3), задача нахождения направления спуска имеет вид -4</i -6d2 -+ min, -rf^O, -d2<Q, -1 ^ dx < 1, -1 ? d2 й 1. Решением этой задачи является вектор d = A,1)г. 240
2. В задаче /(х) = 2xj2 + 2х22 - 2х,х2 - 4х! - 6х2 -> min, Xj + х2 < 2, X! + 5х2 < 5, -х2<0 указать возможное направление спуска в точке х° = Ответ: в точкех° = C?,3?/ имеем: V/(x°) = (-7Л,-Щ)Т', активным яв- ляется второе ограничение. Согласно (8.3) задача нахождения направления спуска имеет вид dx + 5d2 < О, Решением 3. В этой задачи является задаче №-*? + -1 < d 2 < L вектор d = A,- 2х22 X! 2х -2х,х2-4. + 5х2 < 5, 1 ~ Х2 * °> - 6х2 -> min, -х2 <0 указать возможное направление спуска в точке х° = @^555; 0,8889) . Ответ: в точкех° =@,5555;0,8889)Г имеем: V/(x°) = (-3,5558;- 3,5554)г; активным является первое ограничение. Согласно (8.5) задача нахождения направления спуска имеет вид z -» min, -3,5558</, -3,5554</2 -*< 0, -1 < dx < 1, -1 < d2 < 1. Решением этой задачи является вектор d = A,0000;- 0,5325)г. 16 — 4751 241
§9. МЕТОДЫ ПОСЛЕДОВАТЕЛЬНОЙ БЕЗУСЛОВНОЙ МИНИМИЗАЦИИ 9.1. МЕТОД ШТРАФОВ Постановка задачи Даны дважды непрерывно дифференцируемые целевая функция /(*) = f(xu...,xn) и функции ограничений g,(x) = 0, y = l,...,m; gj(x)uO, j = m +1,..., p, определяющие множество допустимых решений X. Требуется найти локальный минимум целевой функции на множестве X, т.е. такую точку х* е X , что где л = < х gj(x)<0, у =/я+ !,...,/> Стратегия поиска Идея метода заключается в сведении задачи на условный минимум к решению последовательности задач поиска безусловного минимума вспомогательной функции: Flх,гk J = f(x) + Plx, rk) -> min , \ / \ / xgR" где Р(х,гМ - штрафная функция, rk - параметр штрафа, задаваемый на каждой k-й итерации. Это связано с возможностью применения эффективных и надежных методов поиска безусловного экстремума, изложенных в гл. 2. Штрафные функции конструируются, исходя из условий: при выполнении ограничений, О, при невыполнении ограничений, причем при невыполнении ограничений и гк -»оо, к -> оо справедливо Р(х,гк) -> оо. Чем больше гк, тем больше штраф за невыполнение ограничений. Как правило, для ограничений типа равенств используется квадратичный штраф (рис. 9.1, а), а для ограничений типа неравенств - квадрат срезки (рис. 9.1, б): + f где g){x) - срезка функции: 242
x)>Of Начальная точка поиска задается обычно вне множества допустимых ре- шений X. На каждой к-ft итерации ищется точка х*1гк) минимума вспомогательной функции flxtrk) при заданном параметре гк с помощью одного из методов безусловной минимизации. Полученная точка x*fr*J используется в качестве начальной на следующей итерации, выполняемой при возрастающем значении параметра штрафа. При неограниченном возрастании гк последовательность точек х*(г*1 стремится к точке условного минимума х*. P(x,rk) ri>ro Рис. 9.1 Алгоритм Шаг 1. Задать начальную точку х°; начальное значение параметра штрафа г0 > 0; число С > 1 для увеличения параметра; малое число е > 0 для остановки алгоритма. Положить к = 0. Шаг 2. Составить вспомогательную функцию /И гк \т 2 Ui Шаг 3. Найти точку х*{гк} безусловного минимума функции flx9rk\ no x с помощью какого-либо метода (нулевого, первого или второго порядка): При этом задать все требуемые выбранным методом параметры. В качестве начальной точки взять хк. Вычислить Puc'fr* ),/•*). 16* 243
Шаг 4. Проверить условие окончания: а) если P\x*(rk\rkJ ? е, процесс поиска закончить: *• = *•(,*), f(x')-f(xy)\, б) если />(x*(r*),r*j>e, положить: r*+1 = Сгк, хк+х = х*(гк\ к = к + \ и перейти к шагу 2. . Сходимость Утверждение 9.1. Пусть х* - локально единственное решение задачи поиска условного минимума, а функции f(x) и gj(x) непрерывно дифференцируемы в окрестности точки х*. Тогда для достаточно больших rk найдется точка x*(rk) локального минимума функции F(x,rk) в окрестности х* и x*(rk) -* х* при rk -+ оо [34]. Замечания 9.1. 1. Так как сходимость метода обеспечивается при rk -»оо, то возникает вопрос о том, нельзя ли получить решение исходной задачи в результате однократного поиска безусловного минимума вспомогательной функции с параметром rk, равным большому числу, например 1020. Однако такая замена последовательного решения вспомогательных задач не представляется возможной, так как с ростом rk функция F\x,rk) приобретает ярко выраженную овражную структуру. Поэтому скорость сходимости любого метода безусловной минимизации к решению х*1г*| резко падает, так что процесс его определения заканчивается, как правило, значительно раньше, чем будет достигнута заданная точность, и, следовательно, полученный результат не дает возможности судить об искомом решении х*. 2. Точки x*(rk\ в алгоритме - это точки локального минимума функции F(x,rk). Однако функция F\x,rk) может быть неограниченной снизу и процедуры методов безусловной минимизации могут расходиться. Это обстоятельство необходимо учитывать при программной реализации. 3. В методах штрафных функций имеется тесная связь между значениями параметров штрафа и множителями Лагранжа для регулярной точки минимума (см. разд. 3.4): ton X,(r*)=A.*, у = 1,...,яг, 244
4. Обычно выбирается г° = 0,01;0,1;1, а Се[4,10]. Иногда начинают с г° = 0, т.е. с задачи поиска безусловного минимума. 5. При решении задач процедура расчетов завершается при некотором конечном значении параметра штрафа гк. При этом приближенное решение, как правило, не лежит в множестве допустимых решений, т.е. ограничения задачи не выполняются. Это является одним из недостатков метода. С ростом параметра штрафа гк генерируемые алгоритмом точки приближаются к решению исходной задачи извне множества допустимых решений. Поэтому обсуждаемый метод иногда называют методом внешних штрафов. 6. На практике для получения решения исходной задачи с требуемой точностью достаточно бывает решить конечное (относительно небольшое) число вспомогательных задач. При этом нет необходимости решать их точно, а информацию, полученную в результате решения очередной вспомогательной задачи, обычно удается эффектно использовать для решения следующей. Пример 9.1. Найти минимум в задаче /(jc) = х2 - 4х -» min, ? 1. В поставленной задаче т = 0 (ограничения-равенства отсутствуют), р = 1. Решим задачу аналитически при произвольном параметре штрафа rk, a затем получим решение последовательности задач поиска безусловного минимума. 2. Составим вспомогательную функцию: f(x,rk)=x2-4x +—[max{0,(x-l)}]2. 3. Найдем безусловный минимум функции flx,rk\ no x с помощью необходимых и достаточных условий (см. § 2): dFJxtrk) дх Отсюда х* = 2, но при этом не удовлетворяется условие х* -1 ? 0, а также В табл. 9.1 приведены результаты расчетов при гк = 1,2,10,100,1000,со, а на рис. 9.2 дана графическая иллюстрация. 245
Таблица 9.1 к 0 1 2 3 4 5 г* 1 2 10 100 1000 00 'И 5 3 - = 1,1666 6 ^ = 1,0196 11=1,00199 1 -3,66 -3,5 -ЗД66 -3,019 -3,002 -3 x(r*) = rV(*V)) 2 3 1 10 6 100 51 1000 501 2 Так как минимума -4 Рис. 9.2 ь—* s 2 + гк > 0 при гк ? О , то достаточные условия 5х2 удовлетворяются. При гк -»<х> имеем lim 246
Приведем решение этой задачи с помощью необходимых и достаточных условий экстремума (см. разд. 3.3). Функция Лагранжа имеет вид Цх9к0Д,) = Х0(х2 - 4х) + Х{(х - 1). Необходимые условия минимума первого порядка: б) *-1<0; в) A.J >0; г)Цх-1) = 0. Решим систему для двух случаев. В первом случае А.0=0. Тогда из условия "а" получаем А., =0, что не удовлетворяет утверждению 3.4. Во втором случае Х,о *¦ 0. Поделим систему на Хо и заменим — на Х{: Хо 2х - 4 + А.| = 0. Из условия "г" имеем \\ = 0 или х = 1. При X] = 0 из "а" следует, что х = 2, но при этом не удовлетворяется "б". При х* = 1 имеем A.*j = 2. Достаточные условия минимума первого порядка удовлетворяются, так как X] = 2 > 0 и число активных ограничений / = 1 = п (строка 1 в табл. 3.2). Согласно п.З замечаний 9.1 получим к] = lim *.,(/•*)= lim rk max{o,[x*(r*)-l ]}= lim rk max10, —-Ц-1 = Гк -> oo Г* -> oo Гк -> oo [ 2 + rJ 2r* = lim -^-г = 2.и Пример 9.2. Найти минимум в задаче /(jc) = Xj2 + x\ -> min, ^lW55 Xi+X2-2 = O. D 1. В поставленной задаче т = \9 ограничения-неравенства отсутствуют. Решим ее аналитически. 2. Составим вспомогательную функцию: 3. Найдем безусловный минимум Flx,rk\ no x с помощью необходимых и достаточных условий: 2x2+r( 8X2 247
Вычитая из первого уравнения второе, получаем х{ = х2 и Х[[гк)=Х2\гк)= Г . В табл. 9.2 приведены результаты расчетов при 1,2,10,100,1000,00, а на рис. 9.3 дана графическая иллюстрация. Таблица 9.2 к 0 1 2 3 4 5 г* 1 2 10 100 1000 00 J_ 2 2 3 И) 11 100 101 1000 1001 1 1 1,333 1,81 1,98 1,998 2 Х,(г*)-гЦ*-(г*)) -1 ~3 20 11 200 101 2000 1001 -2 +Х2-2 Рис. 9.3 Так как матрица Гессе #(х*(г*),г*)= 2+/ г к >0 при г^>0, то достаточные условия минимума /fx,r*J удовлетворяются. При гк -> « имеем iim -rslzrx^xj; /1дс*) = 2. Множитель Лагранжа находится одновре- Гк-+ао 1 + Г* V 7 менно: = Шп к] = lim ) Г*->оо Результат совпадает с полученным в примере 3.5. 248
Пример 9.3. Найти минимум в задаче /(х) = х2 + х2 -* min, П 1. В задаче т = 1,/> = 2. Решим ее аналитически. 2. Составим вспомогательную функцию: 3. Найдем безусловный минимум f(x,rk\ no x с помощью необходимых и достаточных условий: дF[xfrk) Л j 2xj +r*(x| -l)+r*(xj +x2 -2), Х!+х2-2>0, dF(x,rk)_0 l2x7+rk(xt+x7-2)9 x,+x2-2>0, ах2 |2х2, х1+х2-2<0. Рассмотрим два случая. 1. Пусть Xj + х2 - 2 > 0. Вычитая из первого уравнения второе, получаем гк После подстановки в перюе уравнение имеем +6гк +4 [rkf +6гк +4 Однако при всех гк > 0 имеем х1*(гА:)+х2(гА:)-2 = ~ Г <0, что проти- [rkf +6rk +4 воречит условию Xj + х2 - 2 > 0 для рассматриваемого случая. 2. Пусть X! +х2 - 2 < 0. Тогда х*2 = 0, a xnr^U Г . В табл. 9.3 приведе- 2 +г* ны результаты расчетов, а на рис. 9.4 дана графическая иллюстрация. Так как матрица Гессе #(х*(гМ,гМ = +г >0 при всех гк >0, то достаточные условия минимума г(х,гк) удовлетворяются (строка 1 в табл. 2.1). При гк -» оо имеем х\ - lim г-= 1, х\ =0, /(**)= 1 • r*->oo2 + r* Множители Лагранжа находятся одновременно: Х-,= Km X,(r*)= Um Hk(r*)-l]}= lim [- оо гл->оо 249
Таблица 9.3 к 0 1 2 3 4 5 rk 1 2 10 100 1000 оо 1 3 1 2 5 6 50 51 500 501 1 0 0 0 0 0 0 5 9 3 4 35 36 2600 2601 251000 251001 1 2 3 -1 5 3 100 51 1000 501 -2 0 0 0 0 0 0 Рис. 9.4 Х-2- lim *2(r*)= lim = lim rk max] 0, хх + х2 - 2 = 0 lim r*max|o, 4 2f [ = 0. Г*->оо [ 2 + Г* J 2 +Г* Результаты совпадают с полученными в примере 3.22. Пример 9.4. Найти минимум в задаче f(x) = -х3 -> min, П1.В задаче т = 0,p = 1, функция /(х) не является выпуклой. 250
2. Составим вспомогательную функцию: 3. Найдем безусловный минимум функции f(x,rk) с помощью необходимых и достаточных условий: \Зх2+гк(х-1), х-\>0, дх -Зх2, Так как *) =-6 *0, Отсюда х*=0 или х*(гк)= Г* ** Г/ 12г* то в точке х* = 0 функция Fyx,rk\ не имеет экстремума (см. п.З замечаний 2.2): ;2-J = -fa+r*. Ъх1 Заметим, что стационарные точки, отличные от х* = 0, получаются только при г* > 12(рис. 9.5), причем при гк = 12 имеем х* = 2, а г *г / = о? \rk) = -6 ?ft 0, т.е. локального минимума нет. Если в формуле для х*(гк\ берется знак "+", то д х к)-\2гк <0, т.е. в стационарной точке - локальный максимум (строка 2 в табл.2.1). Если в формуле для х*(гк\ берется знак "-", то L.^—t = y[r*j -12г* >0 и в стационарной точке - локальный минимум, который нас интересует. Расчеты приведены в табл. 9.4. ¦ Таблица 9.4 к 0 1 2 3 4 5 6 гк 16 18 20 100 1000 104 00 -•и 4 3 1,267 1,225 1,032 1,003 1,0003 1 F\x\rk\rk) -1,48 -1,39 -1,33 -1,048 -1,004 -1,0004 -1 251
г1 =18 /w=- Рис. 9.5 Пример 9.5. Найти минимум в задаче D 1. В поставленной задаче т = 0,/? = 2. Решим ее аналитически. 2. Составим вспомогательную функцию: 3. Найдем безусловный минимум f(x,rk\ при фиксированном гк: = 0 = 2х,, A 2х,+r*(x,-l), A-х,)>0, х,+х2-2?0, 2х,+г*(х,+х2-2), 2х2, дх2 " |2x2+r*(x!+x2-2), Рассмотрим четыре случая: 1) A - х{) ? 0, X! + х2 - 2 ? 0. Имеем xt* = х2 = 0, но при этом не удовлетворяется первое неравенство g{(x) ? 0; 252
2xl+rk(xl+x2-2) = 0, 2)A-Х!)^0, Х|+х2-2>0. Имеем . [2х2 + гк(х{ + х2 - 2) = 0. Отсюда х, =х2 и х1\гк)=х2[гк)= г . Однако l-*i(r*)= ->0 при гк >0, что противоречит первому неравенству; 3) A -х,) > 0, х, + х2 - 2 < 0. Имеем J2*1 +_r*(*1 " ^ " °' Отсюда х2 =0, xf(r*)= r . Так как н(х*(гк\гк\= 2 + г ° >0, то доста- 2 +г V \ / / V. 0 2у точные условия локального минимума выполняются (строка 1 в табл. 2.1). Численные результаты приведены в табл. 9.3 и отражены на рис. 9.6; 4) l-xi>0, х,+х2-2>0.Имеем B*. + гк(х{ -1) + гк(хх + х2 - 2) = 0, Отсюда Xl ; *2(r* =7±-i 6*+4 [rkf +6r*+ Однако xif*)+x2(r*)-2= <0 при всех г*>0, т.е. второе нера- [rkf +6r*+4 венство не выполняется. 1 - X! = 0 Рис. 9.6 В результате получаем решение задачи х\ = lim 253
9.2. МЕТОД БАРЬЕРНЫХ ФУНКЦИЙ Постановка задачи Даны дважды непрерывно дифференцируемые целевая функция /(*) = /(*,,...,хи) и функции ограничений-неравенств #,(*)<0, у = 1,...,/и, определяющие множество допустимых решений X. Требуется найти локальный минимум целевой функции на множестве X, т.е. такую точку х* е X, что где X = {x\gj(x)<09 Стратегия поиска Идея метода заключается в сведении задачи на условный минимум к решению последовательности задач поиска минимума вспомогательной функции F[x,rk) = f(x) + Plx9rk\9 где plx9rk\ - штрафная функция, rk >0 - параметр штрафа. Как правило, используются: а) обратная штрафная функция Р\х, гk) = - rk ]Г—т-т (рис. 9.7, а); б) логарифмическая штрафная функция Р\х, /•*] = -/•*? In \-gj (x)\ (рис. 9.7, б). г'<г° Рис. 9.7 Обе штрафные функции определены и непрерывны внутри множества X , т.е. на множестве {х|#Дх)< 0, j = 1,...,/я}, и стремятся к бесконечности при 254
приближении к границе множества изнутри. Поэтому они называются барьерными функциями. При г* > О штрафная функция, задаваемая обратной функцией, положительна. Логарифмическая штрафная функция положительна при -1 < g(x) < 0 и отрицательна при g(x) < -1, т.е. внутренним точкам области отдается предпочтение перед граничными точками. Начальная точка задается только внутри множества X. На каждой k-ft итерации ищется точка x*lrk\ минимума вспомогательной функции f(x,rk\ при заданном параметре rk с помощью одного из методов безусловной минимизации. Полученная точка лс*1г*) используется в качестве начальной на следующей итерации, выполняемой при уменьшающемся значении параметра штрафа. При rk -> +0 последовательность точек x*lrk\ стремится к точке условного минимума х*. Барьерные функции как бы препятствуют выходу из множества X, а если решение задачи лежит на границе, то процедура метода приводит к движению изнутри области к границе. Заметим, что согласно описанной процедуре точки дмг*1 лежат внутри множества допустимых решений для каждого rk. Этим объясняется то, что метод барьерных функций иногда называется методом внутренних штрафов. Алгоритм Шаг 1. Задать начальную точку х° внутри области Х\ начальное значение параметра штрафа г* >0; число С > 1 для уменьшения параметра штрафа; малое число б > 0 для остановки алгоритма. Положить к = 0. Шаг 2. Составить вспомогательную функцию: Шаг 3. Найти точку дс*(г*| минимума функции F\x,rk\ с помощью какого-либо метода (нулевого, первого или второго порядка) поиска безусловного минимума с проверкой принадлежности текущей точки внутренности множества X . При этом задать все требуемые выбранным методом параметры. В качестве начальной точки взять хк. Вычислить: Шаг 4. Проверить выполнение условия окончания: а) если р(х*(г*),г*) <е, процесс поиска закончить: х*=х*(гк\, /(х«) = /D*)); б) если |/>(*•(/•*),/•*)(>е, положить rk+l =^-; хк+{ =х*(гк), к = к + \ и перейти к шагу 2. 255
Сходимость Утверждение 9.2. Пусть функции f(x)tgj(x)J ж 1,...,т, выпуклы и конечны, множество X* решений задачи поиска условного минимума не пусто и ограничено, существует точка х° е X такая, что gj(x°) < 0,у = 1,... ,/я. Тогда в методе барьерных функций Xi=ArgmnF(xtrk)*0, функции F(x,rk) выпуклы, последова- I. \ 00 х(г )\ _ , порожденная алгоритмом, ограничена и все ее предельные точки принадлежат Х\ причем f(x*(rk)) z /(х*),х* eX* [34]. Замечания 9.2. 1. Обычно выбирается г° = 1,10,100, а параметр С = 10; 12; 16. 2. При rk -»+0 обеспечивается сходимость, однако с уменьшением rk функция flx9rk\ становится все более овражной (см. п. 1 замечаний 9.1). Поэтому полагать г* малым числом сразу нецелесообразно. 3. Обратная штрафная функция была предложена Кэрролом [Carrol С. W.], а логарифмическая Фришем [Frisch К. R.]. 4. Так как большинство методов поиска безусловного экстремума использует дискретные шаги, то вблизи границы шаг может привести в точку вне допустимой области. Если в алгоритме отсутствует проверка на принадлежность точки множеству {x|gy(x)<0, j = 1,...,/и), то это может привести к ложному успеху, т.е. уменьшению вспомогательной функции в точке, где она теоретически не определена. Поэтому на шаге 3 алгоритма требуется явная проверка того, что точка не покинула допустимую область. Процедура поиска обычно завершается при некотором малом г*, отличном от нуля. Однако приближенное решение принадлежит множеству допустимых решений. Это одно из преимуществ метода барьерных функций. 5. Побочным продуктом вычислений в методе штрафных функций является вектор множителей Лагранжа: *-/v )= ,/ / fr\v, у = 1,...,m - для обратной штрафной функции; 8\Ar )) X ,(/•*)= 1 г . ц, j = 1,...,/я - для логарифмической штрафной функции; ФУ )) Х\ = lim J r^ Пример 9.6. Найти минимум в задаче f(x) = х2 - 4х -> min, D Решим ее с применением разных штрафных функций. А. Применение обратной штрафной функции. 256
1. В поставленной задаче /и = 1. Решим ее аналитически. 2. Составим вспомогательную штрафную функцию: -1 3. Найдем минимум F(x,rk) с помощью необходимых и достаточных условий: Так как рассматривается внутренность множества X t то х -1 < 0, а уравнение для нахождения стационарных точек имеет вид 2х3-8х2+1Ох + г-4 = О. Найдем корни по формуле Кардана. Уравнение, представленное в канонической форме ах3 + Ьх2 + сх + d = 0, запишем в виде у* + Ъру + 2q = 0, поделив на а и введя вместо х новую переменную у = х+—. При этом Зр = -—, За За2 2ЬЪ be d ^ * L о *п j л 4 2л= - г +—. Так как а = 2,6 = -8,с = 10,*/ = г-4, то у = х-~ и 27с3 Зй2 « 3 зуг2п^1^г2 1 rl у - — + = 0, Ър = —, 2$= и, следовательно, /? = -—, q= — . Дискриминант D = q2 + р3 =?--—?-. Если D > 0, уравнение имеет один дейст- 16 54 вительный корень; если D < 0, уравнение имеет три различных корня; если D = 0, уравнение имеет одно решение при р = q = 0 (три совпадающих нулевых корня) и два решения при ръ = -#2 * 0 (из трех действительных - два совпали). я я При гк >— имеем Z>>0, а при 0<гк <— получаем /)<0. Искомые корни находятся по формулам у\ = и + v, ^2 = ei м + Е2 v» Уз = Е2 м + si v» гДе v = y-q-iq2 +/>3 ; s12 «—±1—• При р<0 и /)<0 можно найти г = ±^\р\, знак г совпадает со знаком ^ . Находится вспомогательная величина <р: cosq> = -%, а затем г Положим r° = 1 > —. Тогда справедливы равенства: I,^=I-± = 0,213;W = ~0,151;v = 0,747;^ =-0,898; x*( 17-4751 257
Положим rl=0,l<-?-. Тогда р = -^ = -0,111; $=^-— = -0,012. Так как р < 0 и /) < 0, то r = -^|-0,lll|=-0,333;cos<p = —^21L. = o,324; Ф = 71°; ух = 0,666cosf^U 0,609; у2 = - 0,666 cos f 60° - ¦?•) = - 0,535; уъ = - 0,666 cos f 60° + il = - 0,07. Тогда X] = 1,94; x2 = 0,798; дс3 = 1,404. Корни xx и x3 не лежат внутри допустимой области. Поэтому jc*@,1) = х2 = 0,798. Положим г2 = 0,01 < —. Тогда р = - 0,111; q = -^ - — = - 0,0345. Так как 27 4 27 р<0, /)<0,то = -0,333; COS<P= ^0>034^ =0,934; ф = 21°; ух = 0,666cosW = 0,661; у2 = -0,666cosf60° --1 = -0,401; у3 = -0,666cosf60° + ?) = -0,259; л:, = 1,994; х2= 0,932; *3=1,07. Корни Х| и х3 не лежат внутри допустимой области. Поэтому 0,932. Положим г3 = 0,001. Тогда р = - 0,111; q = ^1 - ^ = - 0,03678. Так как 4 27 р < 0, Z) < 0, то °0367 0,993; Ф = 6°42/; у, = 0,666cosЩ = 0,666; з у2 = -0,666cosf60° --1 = -0,355; ^ = -0,666cosF0° + jl = -0,3098; *i=J>i+1=1,999; *2=у2 +| = 0,978; х3 =у3 +| = 1,023. Корни JC| и х3 не лежат внутри допустимой области. Поэтому х* @,001) = 0,978. Видно, что при гк -> +0 х*1гк\ -» 1. Кроме того, во всех точках х*(гк) d2FJx,rk) дх2 >0, т.е. достаточное условие безусловного минимума выполняется. Согласно п. 5 замечаний 9.2 найдем оценки множителя Лагранжа: При гк = 1;0,1;0,01;0,001 ^A) = ЗДЗ^^ОД) = 2,45;Х,@,01) = 2,16;^!@,001) = 2,066. 258
Очевидно, Xi(rk\ -> Х\ = 2 при гк -» +0 (см. пример 9.1). Результаты расчетов приведены в табл. 9.5 и отражены на рис. 9.8. Таблица 9.5 к 0 1 2 3 4 rk 1 0,1 0,01 0,001 0 0,435 0,798 0,932 0,978 1 F(x*(r* ),r*) 0,219 -2,06 -2,712 -2,91 -3 1,77 0,495 0,147 0,045 - г* *-и-.1! 3,13 2,45 2,16 2,066 2 Б. Применение логарифмической штрафной функции. 1. В поставленной задаче т = 1. Решим ее аналитически. 2. Составим вспомогательную функцию: 3. Найдем минимум ^(х,г^ j с помощью необходимых и достаточных условий: дх 1-х Так как рассматривается внутренность множества X, то х -1 < 0. Отсюда получаем уравнение 2х2 - 6х + 4 - гк = 0. Его решения имеют вид 17* 259
X =• 3 ± Корень х = • не лежит в области X, поэтому х*(г*)= 3 - V1 + 2г* Во всех точках дм г* j d2F{x'{rk),rk) = 2 + i [¦-•ИГ ' т.е. достаточное условие безусловного минимума выполняется. Таблица 9.6 к 0 1 2 3 4 гк 1 0,1 0,01 0,001 0 4*) 0,634 0,952 0,995 0,9995 1 -из -2,59 -2,937 -2,99 -3 ¦*) Р(х*(гк),> 1,005 0,303 0,053 0,0076 - ч И 2,73 2,08 2 2 2 г* г*)-1 Результаты расчетов приведены в табл. 9.6. Пример 9.7. Найти минимум в задаче /(дс) = х -» min, ? 1. Найдем решение аналитически с применением обратной штрафной функции. 2. Составим вспомогательную функцию: F\x, rk) = дс - гк . 2 - х Р(х,гк) 3. Найдем безусловный минимум F(x,rk\c помощью необходимых и достаточных условий: Так как внутри множества допустимых решений 2-х<0, то x = 2±vr* , a х* (гЛ) = 2 + Vr^. Достаточные условия минимума выполняются: 260
Таблица 9.7 к 0 1 2 3 4 rk 1 0,1 0,01 0,001 0 «•и 3 2.31 2 Л 2.03 2 4 2,63 2,2 2,063 2 1 0,32 0,1 0,033 - Рис. 9.9 Результаты численных расчетов приведены в табл. 9.7 и отражены на рис. 9.9. ¦ Пример 9.8. Найти минимум в задаче ftW - -*2 * о. D 1. Решим задачу аналитически с применением обратной штрафной функции. 261
2. Составим вспомогательную функцию: 3. Найдем безусловный минимум г(х,гк): dF{x,rk) { rk Q Решение этой системы, лежащее внутри множества допустимых решений, имеет вид *,*(/•*)= Vl+vr*, Jcj(r*)=Vr*. При г*-* 0 имеем х\{гк\ -> 1, х\\гк\-*Ъ. Поэтому х* = (l,of, /(**)=|. ¦ Пример 9.9. Найти минимум в задаче /(х) = X] + xi ~> min, О 1. В задаче т = 2. Решим ее аналитически с помощью логарифмической штрафной функции. 2. Составим вспомогательную функцию: 3. Найдем безусловный минимум flx9rk\: 2ххгк гк г* _0 Так как внутри множества допустимых решений х?-х2<0, — дс1 < 0, то дс2 = rK + jcj6, 1 + 2х| = 0. Отсюда 2х( + х{ - гк = 0 и хх = ^ . Ко- ^ 4 1JTTir ^ Л „ рень Xi = ь- не удовлетворяет требованию -хх < 0. Поэтому 4 J / \2rk+l-J7k При rk -» 0 имеем x\[rk\^> 0, x][rk\ -> 0. 262
Таблица 9.8 к 4') 0 100 6,828 146,6 1 10 2 14 2 5 1,35 6,82 3 2 0,78 2,6 4 1 0,5 1,25 5 0,1 0,085 0,107 6 0,01 0,0098 0,01 7 0,001 0,00098 0,001 8 0 0 0 Результаты приведены в табл. 9.8 и отображены на рис. 9.10, где видно, что х* = @,0)г является точкой условного минимума. ¦ Пример 9.10. Найти минимум в задаче D Решим задачу с применением разных штрафных функций. А. Применение обратной штрафной функции. 1. В поставленной задаче т = \. Решим ее аналитически. 2. Составим вспомогательную функцию: х\ P(xtrk) 3. Найдем безусловный минимум ах, -?-—'=2(x2-4)+- -r = 0. (х1+х2-5J (х1+х2-5J 263
Вычитая, имеем х1 » х2 и 4xj3 - Збх,2 +105*! -100+— = 0. При гк =100 получаем 4х? - Збх,2 +105*! - 50 = 0. Найдем корни по формуле Кардана (см. пример 9.6). Так как а - 4,Ь = -36,с = 105,</ = -50, то перепишем уравнение в виде у3 - 0J5y +12,25 ¦ 0, где у = Зх, - 3; Ър = - 0,75; 2q - 12,25. Отсюда /> = -0Д5; ? = 6Д25; Z> = ^r2 + рг = 37^ >0; w = -0J0845; v = -2,3050; У] =m + v = -2,4135; ^ =>;,+ 3 » 0^864. Результаты расчетов приведены в табл. 9.9, геометрическая интерпретация аналогична изображенной на рис. 9.11. Таблица 9.9 к 0 1 2 3 4 5 6 г* 100 1G 1 ол 0,01 0,001 0 *¦•('*)• 0,5864 1,7540 2,2340 2,4113 2,4714 2,4909 2,5 F(x*(r*y) 49,4341 16,7914 8,1172 5,6116 4,8480 4,6097 4,5 26,1288 6,7024 1,8797 0,5637 0,1748 0,0549 - «¦И'1 -3,8272 -1,4920 0,5320 0,1774 0,0572 0,0182 0 6,8271 4,4922 3,5332 3,1775 3,0564 3,0189 3 Б. Применение логарифмической штрафной функции. 1. В поставленной задаче т = 1. Решим ее аналитически. 2. Составим вспомогательную функцию: f{x,гк)«fa -4J + (х2 -4J- 3. Найдем минимум f(xtrk) с помощью необходимых и достаточных условий при фиксированном гк: ^¦*»-*?=?г, = 0, = 0. Вычитая, получаем хх =х2. С учетом этого имеем 2fa ~4) + = 0. Отсюда 5 — 2х, Г приходим к уравнению 2х, -13х,+20 = 0. Его корни х12=- 264
Корень x{ = х2 не удовлетворяет ограничению х, + х2 - 5 < 0 при - . Матрица Гессе 2 + - E-х,- E-х,-х2J Л так как 2 + - >0, Л2= 4г* >0, т.е. достаточные условия минимума выполняются (строка 1 в табл. 2.1). При г*-»0 имеем *,¦(/•*) = *;(/•*)=>*¦ =2,5; /(**) = 4,5. Численные результаты при различных гк приведены в табл. 9.10 и отображены на рис. 9.11. Таблица 9.10 к 0 1 2 3 4 5 6 100 10 1 0,1 0,01 0,001 0 -1,8059 1,5000 2,3486 2,4835 2,49833518 2,4998333 2,5000 -147,8963 5,5685 6,6489 4,9406 4,5669 4,5090 4,5000 -215,31 -6,9315 1,1947 0,3411 0,0570 0,0080 - -8,6118 -2,0000 -0,3028 -0,0330 -0,003329 -0,0003332 0,0000 гк 11,61 5 3,30 3,03 3,003 3,0003 3 В. Решим задачу с помощью необходимых и достаточных условий условного экстремума (см. разд. 3.3). 1. Составим обобщенную функцию Лагранжа: ifeXoAi)- Хо^Xl ~4^ +(^2 -4J)+^ (*, +х2 -5). 2. Выпишем необходимые условия минимума первого порядка: a) dLix'X^\) = 2хо(х, -4)+ X, = 0, а4*Д^) = 2Х0(х2 -4)+ X, = 0; 5 Х о х о х2 б) х, +х2-5<0; в) А,, >0; г) 265
/И = 4,5 х*A00) х\ + Х2 * ^ = О Рис. 9.11 Решим систему для двух случаев. В первом случае Хо = 0. Тогда Х{ = 0, что противоречит утверждению 3.4. Во втором случае Хо * 0 . Поделим систему на Хо и заменим — на Х{. Хо Условие "а" примет вид Из условия "г" дополняющей нежесткости следуют два случая: 1) Х{ = 0. Тогда хх = х2 = 4, но при этом не выполняется условие "б"; 2) Х{*0. Тогда дс| + *2 - 5 = 0, 2*! - 8 + Х{ = 0, 2*2-8 + 34 =0. Получаем xf = xj = 2,5; Х\ = 3 > 0. 3. Проверим достаточные условия минимума: Отсюда dxi=-dx2 и d2blxm9Х*) = 4dx| > 0 при dx2^0. Поэтому в точке х* = B,5;2,5)г условный минимум (строка 1 в табл.3.3). 4. Значение функции в точке условного минимума: fix*) = 4,5. ¦ 266
9.3. КОМБИНИРОВАННЫЙ МЕТОД ШТРАФНЫХ ФУНКЦИЙ Постановка задачи Даны дважды непрерывно дифференцируемые целевая функция /(*) = /(*!,...,*„) и функции ограничений gy(x) = 0, у = 1,...,/и; gj(x)z09 j = m +1,..., р, определяющие множество допустимых решений X. Требуется найти локальный минимум целевой функции на множестве X, т.е. такую точку х* е X , что ) = 0, y = l,...,m; m<n Стратегия поиска Для ограничений типа равенств применяется метод штрафов (внешних штрафов), а для ограничений-неравенств - метод барьерных функций (внутренних штрафов). Задача на условный минимум сводится к решению последовательности задач поиска минимума смешанной вспомогательной функции: ± ИЛИ где rk 10 - параметр штрафа. Начальная точка задается так, чтобы ограничения-неравенства строго выполнялись: gj(x)<0, J = m + I9...9p. На каждой k-ft итерации ищется точка x*(rk\ минимума смешанной вспомогательной функции при заданном параметре rk с помощью одного из методов безусловной минимизации. Полученная точка x*lrk) используется в качестве начальной на следующей итерации, выполняемой при уменьшающемся значении параметра штрафа. При rk -» +0 последовательность точек x*irk\ стремится к точке условного минимума х*. Алгоритм Шаг 1. Задать начальную точку х° так, чтобы gj(x) < 0, j = /и + 1,...,/>; начальное значение параметра штрафа г° > 0; число С > 1 для уменьшения параметра штрафа; малое число е для остановки алгоритма. Положить к = 0. 267
Шаг 2. Составить смешанную вспомогательную функцию f{x)^±[gj(x)]^rk ± -4l = f(x)+ ИЛИ 2rK jm\ Шаг 3. Найти точку x*(rk) минимума функции F\x,rk) с помощью какого-либо метода поиска безусловного минимума с проверкой выполнения справедливости неравенств: gj(x)<09 j = m + l,...,/>. При этом задать все требуемые выбранным методом параметры. В качестве начальной точки взять хк. Шаг 4. Вычислить p(x*(rk\rk J и проверить условие окончания: а) если /^хдг*),/'*) ? е, процесс поиска закончить: б) если |р(х*(г*),г*)|>е, положить r*+1 =^-, xk+l =x*(rk)t перейти к шагу 2. Замечания 9.3. 1. Метод предложен Фиакко А. и Мак-Кормиком Г. [Fiacco A.V., McCormick G.P.]. Они рекомендуют г° = 1, С = 4. Теорема о сходимости метода имеется в [42]. 2. Можно использовать разные параметры штрафа для внешних и внутренних штрафов. 3. Справедливы замечания 9.1 (для метода штрафа) и 9.2 (для барьерных функций). 4. Побочным продуктом вычислений является вектор множителей Лагран- жа: *)=7—, , «,2 » j = т + 1,...,р Сдля обратной штрафной функции); X,(г*) = ir I . », у = /я +1 ^ (для логарифмической штрафной функции); lim 268
Пример 9.11. Найти минимум в задаче /(х) = Х\ + х\ -> min, ft(x)«x,-l-O, g2(x) = x,+x2-2<;0. ? 1. В поставленной задаче т = 1,/> = 2. Решим ее аналитически. Положим 1, С = 4, 8 = 0,01. 2. Составим смешанную вспомогательную функцию: 3. Найдем безусловный минимум функции f(x,rk\. Используем необходимые условия экстремума первого порядка: df[x,rk) „ 1 / ,\ гк п * ' ' = 2xi + —r(xi -1) = 0, дхх г* Xj +х2-2 -2 Вычитая, имеем х2 = xi +—г-fa ~l)= ^ '—, а X! находится в результате решения уравнения К4._Г*=(К <j _ 1 г° = 1 имеем х2 = 1 или 75xi2 При г° = 1 имеем х2 = 1 или 7,5xi2 - 10xj +1^ = 0. Отсюда получаем х, = 1,161; х2 = 1,2415; х{ =0,1722; х2 =-0,2416. Для первой пары корней имеем хх + х2 = 2,4025 > 2, т.е. они не лежат в допустимой области. Поэтому xf(l) = 0,1722; х2A) = -0,2416. При г1 = - = 0,25 имеем х2 = 3xj - 2, 4 D + 12 + 8)x12-D + 20 + 16)x1+8 + 8-j = 0 или 24х?-40х,+15,75 = 0. Отсюда получаем Xi = 1,0287; х2 = 1,0861; X! =0,6378; х2 =-0,0866. Первая пара корней не лежит в допустимой области. Поэтому х,*@,25) = 0,6378; xJ@,25) = - 0,0866. 269
При г2 = — = 0,0625 имеем х2 = 9xi -8, 16 D + 48 + 128)х,2 -D + 80 + 256)^ +128 + 32 -— = 0 16 или 180х,2 - 340х, +159,9375 = 0. Отсюда получаем X! = 1,00304; х2 = 1,02736; х1= 0,8858; х2=-0,02737. Первая пара корней не лежит в допустимой области. Поэтому х*Ш = 0,8858; х2Ш = - 0,02737. \\Ь) \дб; При г3 = — = 0,015625 имеем х2 = ЗЗх! - 32, D +192 + 2048)xi2 - D + 320 + 4096)^ + 2048 +128 - -^ = 0 или 2244х,2 - 4420х, + 2175,984 = 0. Отсюда получаем Xi = 1,000229; х2 = 1,007557; х1= 0,96946; х2 =-0,00756. Первая пара корней не лежит в допустимой области. Поэтому = 0,96946; ^Ш = -0,0 *-Ш При г4 =-i- имеем х2 * 129х, -128, 25о D + 768 + 32768)*? - D +1280 + 65536)jci + 32768 + 512 —±- = 0 или 33540 х? - 66820 х, + 33279,996 = 0. Отсюда получаем х, = 1,000015; х2 = 1,001935; х,= 0,99223; х2 = -0,00198. Первая пара не лежит в допустимой области. Поэтому jcff—-] = 0,99223; х2\—-| = -0,00198. Так как в полученной точке V256; \256J р(х*(г4),г4) = 0,00768 < е = 0,01, то расчет завершается: х\ = 0,99223; х2 = - 0,00198; /(х*) = 0,9845. Легко показать, что достаточные условия безусловного минимума функции f(x,rk\ во всех найденных точках х*1гк) удовлетворяются. Оценки множителей Лагранжа вычисляются по формулам (см. п. 4 замечаний 9.3): 270
rk Таблица 9.11 0 1 2 3 4 г* 1 1 4 1 16 1 64 1 256 0,1722 0,6378 0,8858 0,9694 0,99223 -0,2416 -0,0866 -0,0273 -0,00756 -0,00198 -0,3846 0,16969 0,095 0,0299 0,00768 -0,8278 -1,4488 -1,8272 -1,9584 -1,9891 0,483 0,1725 0,0547 0,01505 0,0038 + x2 - 2 = 0 Рис. 9.12 Результаты расчетов приведены в табл. 9.11 и отражены на рис. 9.12. Они совпадают с полученными в примере 9.3. ¦ 271
Пример 9.12. Найти минимум в задаче П 1. В поставленной задаче т = \,р = 2. Положим г° = 1, С = 4, е = 0,01. 2. Составим смешанную вспомогательную фунющю: г(х,гк)=х{ +х2 + —(х? -x2J- rk 3. Найдем безусловный минимум Fix,rk\. Используем необходимые условия экстремума первого порядка: дF(x,rk) 2xtU-x2) r* 5^ k * Отсюда При г° = 1 получаем х{ = -1 и хх =—. Первый корень не лежит в допустимой области. Поэтому xf (l) = 0,5; xj(l) = —-. При г1 =— получаем х{ =0,1035 и хх =-0,6035. Второй корень не лежит в допустимой области. Поэтому *f (-] = 0,1035; xjf-] = - 0,2393. При г2 =— получаем х{ =0,0561 и х{ =-0^562. Второй корень не лежит 16 в допустимой области. Поэтому *Г[-т] = 0,0561; xjf—] = -0,0593. При г3 =— получаем х{ = 0,0152 и хх = - 0,5151. Второй корень не лежит 64 в допустимой области. Поэтому х\\ — | = 0,0152; xjf — | = - 0,0154. \64; V64; 272
При г4 = —- получаем jcj = 0,00387 и х{ = - 0,5038. Второй корень не ле- 256 жит в допустимой области. Поэтому х?|тУ -0,00387; х2\-|-] = -0,00389. y25oj \25oJ При г5 1024 получаем хх =0,000975 и хх =-0,5001. Второй корень не лежит в допустимой области. Поэтому хГ| 1 = 0,000975; х\ IJ024; Так как при этом p(x*(rs\r5\ = 0,0068 < е = 0,01, то процесс завершается: х,*= 0,000975; xj = 0,000976; /(**) = 0,001951. Оценки множителей Лагранжа находятся по формулам (см. п. 4 замечаний 9.3). Численные результаты приведены в табл. 9.12 и отражены на рис. 9.13. Таблица 9.12 к 0 1 2 3 4 5 1 1 16 64 1 256 1 1024 'Г) 0,5 0,1035 0,0561 0,0152 0,00387 0,000975 «и -0,75 -0,2393 -0,0593 -0,0154 -0,00389 -0,000976 р[хуу) 1,1931 0,5748 0,18012 0,0654 0,0217 0,0068 »+*) 1 1,00005 0,99915 1,00038 1,99967 1,00039 чИ 2 2,4154 1,114 1,0279 1,00936 1,0016 Найдем точное решение задачи с применением необходимых и достаточных условий условного минимума (см. разд.3.4). 1. Составим обобщенную функцию Лагранжа: x,\Q,X) = Х0(х{ + х2) + Цх? -х2) + Х2("Х{). 2. Выпишем необходимые условия минимума первого порядка: dL{xtXQ,X) а) = A.Q о Х\ -К2 =U, 0; 18 — 4751 273
б) Х!2~х2=О, -х^О; в) Х2;>0; г) Х2(-хх) = 0. Рассмотрим два случая. При Хо = О имеем A.j = Х2 « О, что противоречит утверждению 3.8. «•ш -1 Рис. 9.13 При Х0*0 поделим систему на Хо и заменим — на Хх и — на Х2. В ре- Xq Xq зультате уравнения "а" принимают вид: 1-A.j-O. Отсюда Х\ = 1. Из условия "г" следуют два случая. При Ь2 = 0 имеем х{ = — < 0, т.е. не удовлетворяется условие "б". При Х2 * 0 имеем х{ = 0, а А,2 = 1 > 0. Из первого уравнения в м имеем х2 = 0. Получили условно-стационарную точку xj1 = х\ = 0; A,*i = А.2 = 1. 3. Проверим выполнение достаточных условий минимума первого порядка. В точке х* = @,0)г оба ограничения активны, т.е. Ып-2. Так как А} = Хт2 > 0, то достаточные условия первого порядка выполняются (строка 1 в табл. 3.4). Результаты, приведенные в табл. 9.12, показывают, что при гк -> +0 получаем что отражено на рис. 9.13. i 274
9.4. МЕТОД МНОЖИТЕЛЕЙ Постановка задачи Даны дважды непрерывно дифференцируемые целевая функция /(х) = /(*!,...,*„) и функции ограничений gy(x) = 0, y = l,...,m; gj(x)&09 j = m +1,...,р, определяющие множество допустимых решений ЛГ. Требуется найти локальный минимум целевой функции на множестве X, т.е. такую точку х* е X , что Стратегия поиска Стратегия аналогична используемой в методе внешних штрафов, только штрафная функция добавляется не к целевой функции, а к классической функции Лагранжа. В результате задача на условный минимум сводится к решению последовательности задач поиска безусловного минимума модифицированной функции Лагранжа: +7F t IT IT jm где A* =(^,...,X*,) ,\xk =(ц«+1»-»Ир) - векторы множителей; rk - параметр штрафа; к - номер итерации. Задается начальная точка поиска х°. На каждой к-ft итерации ищется точка минимума модифицированной функции Лагранжа при заданных Я*,ц*,г* с помощью одного из методов безусловной минимизации. Полученная точка х*(кк,\1к,гк) используется в качестве начальной на следующей итерации, выполняемой при возрастающем значении параметра штрафа гк и пересчитанных определенным образом векторах множителей А*,ц*. Для достижения сходимости в отличие от метода внешних штрафов не требуется устремлять гк к бесконечности. Алгоритм .0. Шаг 1. Задать начальную точку х°; начальное значение параметра штрафа г° > 0; число С > 1 для увеличения параметра; начальные значения векторов множителей Х°,|л°; малое число е > 0 для остановки алгоритма. Положить к = 0. 18* 275
Шаг 2. Составить модифицированную функцию Лагранжа: IT ym+l Шаг 3. Найти точку x*lxk\\ik,rk\ безусловного минимума функции по х с помощью какого-либо метода (нулевого, первого или второго порядка): min При этом задать все требуемые выбранным методом параметры. В качестве начальной точки взять хк. Шаг А. Вычислить где проверить выполнение условия окончания: а) если Р[х* (я*, \хк, гк), \хк, гк) < г, процесс поиска закончить: б) если р(х*(х*,ц*,г*),цл,г*) >е, положить: гк+\ -.сгк (пересчет параметра штрафа); Xk+l = xk +rkglx*uJc,\ik,rk)\ (пересчет множителей для ограничений- равенств); \ik+l = max {о, \ik + rk gj^yf ,iik ,rk)}\ (пересчет множителей для ограничений-неравенств); xk+i = x*(xk9\ik9rk), к = к +1, и перейти к шагу 2. Сходимость Утверждение 9.3 (о сходимости метода множителей в задаче с ограничениями типа равенств). Пусть функции f(x)\gj(x)tj = l,...,m (p = m) непрерывны, последовательность \Хк\ ограничена, 0 < rk < rk+l при всех к , причем гк -юо, X* - компактное изолированное множество точек локального минимума в исходной задаче. Тогда найдется подпоследовательность \хк) , сходящаяся к некоторой точке х* еХ* и такая, что ее произвольный элемент xk,k eK является точкой локального минимума функции L(xtXk,/**). Если при этом X* состоит из единст- 276
венной точки х* , то можно указать последовательность lxk\ и номер к >0 такие, что хк -> х* и хк является точкой локального минимума функции L(x,Xk,rk) при k>k [7] . Замечания 9.4. 1. Сходимость метода множителей в задаче со смешанными ограничениями доказана в [7]. Там же показано, что при определенных дополнительных предположениях метод сходится не медленнее, чем линейно, если последовательность {/•*} ограничена, и сверхлинейно, если последовательность I r k\ неограниченно возрастающая. 2. На каждой итерации желательно, чтобы найденная точка локального минимума х*(хку\хк9гк\ была бы ближайшей к х*. Метод корректен, если начиная с некоторого к метод безусловной минимизации всякий раз приводит в окрестность одной и той же точки х* условного локального минимума. Описанная на шаге 3 преемственность задач позволяет на это надеяться. 3. Если дмА.*,цЛ,г*|-» х*, то через конечное число итераций те множители, которые соответствуют ограничениям, не являющимся активными в точке х*, обратятся в нуль. 4. Обычно г0 = 0,1; 1, а С е[4,10]. Целесообразно выбрать А.°,ц° близкими к А,\ц*, используя априорную информацию о решении. Иногда выбирают А0 = ц° = 0. В этом случае первая вспомогательная задача минимизации совпадает с решаемой в методе внешних штрафов. 5. Методом множителей удается найти условный минимум за меньшее число итераций, чем методом штрафов. При этом для достижения сходимости не требуется устремлять гк к бесконечности. Доказано, что минимум модифицированной функции Лагранжа, начиная с некоторого гк, совпадает с минимумом в исходной задаче. Это приводит также к тому, что проблема увеличения овраж- ности не является такой острой, как в методе штрафов. 6. Метод множителей был предложен Пауэллом [Powell M.J.D.] и Хестен- сом [Hestenes M.R.] и имеет многочисленные модификации [7,36]. 7. Найденная в результате точка х* удовлетворяет условиям Куна-Таккера (утверждение 3.8 при Хо * 0), а Хк -> X*,\хк -> ц* = (яГт+,,... А*р) [7]. Пример 9.13. Найти минимум в задаче f(x) = х2 - Ах -> min, ^,(х) = х-1<0. D 1. Решим задачу аналитически. Здесь т = 0,р = \. Положим ц? = 0, с = 0,001. Выберем для сравнения последовательность г*, используемую в примере 9.1. 2. Составим модифицированную функцию Лагранжа: 277
3. Найдем безусловный минимум llx,\xk,rk\ при фиксированных у *,/•*: 2JC-4, rf+r*(x Во втором случае х* = 2. Но при ц?=0, г* >0 всегда выполняется |if + гк\х* - 1J > 0, так как ц* в силу шага 4 алгоритма здесь не изменяется. Поэтому найденная точка не является решением. В первом случае имеем х 2+/ cP"I\x nk rk\ Кроме того, LiiLj—I = 2 + r* > 0, т.е. достаточные условия минимума вы- д2 дх2 полняются. Проведем расчеты при различных к . При * = 0 получаем г°=1, ц? = 0. Имеем jc*(p?,r°)= 4 + 1""° =|, *(rf, r°), ц?, г° j = 0,222 > s = 0,001, поэтому * - * +1 = 1; г1=2>г° = 1, 9 / X 1 При А: = 1 получаем г1 = 2, ц! =-. Имеем x^j.r^ ^ = 1,333, тах 0,333 >е = 0,001, поэтому * = * + 1 = 2; {о,ц}+г1[х*^|,г1)-1]}=тах|о;|+2-[1,333-1]| = 1,333. При к = 2 получаем г2 = 10, ц? = U33 и х*(р?,г2)= 4 + 1°-1»333 = 1,0555, *(ц?,г2),ц?,г2) = 0,0075 > е = 0,001, поэтому к = * +1 = 3; г3 = 100 > г2 = 10, ц? = maxkjii,2 +г2[х*(ц?,г2)-1]| = max{0;U33 +10- [1,0555-1]} = 1,888. При к = Ъ получаем г3 = 100, ц? = 1,888, х*(ц?,г3) = 4 + 100>888 = 1,00109, 2 +100 = 0,0021 >е = 0,001, поэтому fc = * + l = 4; г4 = 1000 > г3 = 100, И? = max JO, ^ + г3[х*(ц?,г3) - ill = max{0; 1,888 +100 • [1,00109 -1]} = 1,997. 278
При к = 4 имеем г4 « 1000, ц? = 1,997, Так как Р(х*(ц?,г4),ц4,г4) = 5,8 • 10" < 6 = 0,001, то процесс завершается: x*=x*(njV) = 1,0000029; /(х*) = -3. Таблица 9.13 к 0 1 2 3 4 rk 1 2 10 100 1000 0 2 3 1,333 1,888 1,997 5 3 1,333 1,0555 1,00109 1,0000029 -3,66 -3,2218 -ЗДОО -3,00006 -3,00000 2 3 0,333 0,0555 0,00109 0,0000029 0,222 0,333 0,0075 0,0021 0,0000058 Численные результаты расчетов приведены в табл. 9.13, из которой следует, что метод множителей сходится быстрее метода штрафов (см. табл. 9.1 из примера 9.1). ¦ Пример 9.14. Найти минимум в задаче /(*) = х\ + Х2 П 1. В поставленной задаче т = 1. Зададим 8 = 0,001. 2. Составим модифицированную функцию Лафанжа: +х2 - у(х, +х2 -2J 3. Найдем минимум функции L(x9Xk9rk\: -I -* к) *—¦* = 2xt + X,* + г*(х! дхх дх2 ^J = 2x2+^+r*(x1+x2-2) = 0. 279
г*~ Вычитая, имеем х] = х2 и *f (**, г* )=*2 (*-*,>•*)= j2_. Достаточные условия гк минимума удовлетворяются, так как матрица Гессе Н > 0 в силу того, что А! =2 +г* >0,А2 =4 + 4г* >0 при гк >0. Формула пересчета множителей имеет вид 1* гк Численные результаты для последовательности rk, используемой в примере 9.2, и различных начальных значениях Х°{ приведены в табл. 9.14. Таблица 9.14 к 0 1 2 3 гк 1 2 10 100 А 0 -1 -1,666 -1,969 0,5 0,8333 0,9848 0,9998 0,5 0,444 0,058 0,000795 -1 -1333 -1,9853 0,75 0,91666 0,9924 0,999927 0,625 0,2777 0,0289 0,00029 Расчеты остановлены при р(х*1хк,гк\хк,гк\<в = 0,001. Заметим, что если Х°{ ближе к X] = -2 (см. пример 9.2), сходимость быстрее. Если X°i = Х\ = -2, то j ? решение находится на первой итерации: jcf = х\ = »- = 1. ¦ Пример 9.15. Найти минимум в задаче f(x) = j min, П1.В поставленной задаче w = 1,/э = 2. Положим е = 0,001. 2. Составим модифицированную функцию Лагранжа: *? +xj +X*(x, -lj+^fo -IJ + 280
дх* 3. Найдем безусловный минимум функции Цх9Хк9\ik9гк\: 2хх + А* + гк(х{ -1), \хк + гк{х{ +х2- 0 + гк(х{ +х2- 2), \ik + г*(х, + х2 - 2х2, ц* +/**(*! +дс2~2)<0, 5х2 2х2 + \ik + r*(xj + х2 -2), \ik Формулы для пересчета множителей имеют вид ' = 0=4 ц*+1 = max JO, \ik +rk\xi[Xk,\xk yi Рассмотрим два случая: 1. Пусть и*+гЛ(х1+л:2-2)<0.Тогда xJ=0, *,*(а*,r*) = «^ 2. Пусть ц* + гк(хх + х2 - 2) > 0. Тогда 2 +г* *2 Положим Я.0 = 0, ц° = 1, г° = 1. По формуле для первого случая При этом условие выполняется. По формуле для второго случая ... „И_ 2-2-0-0 + 1 1 0H909. ^о>цо>г0).<М>909.3-ь0-1__аз<з6- ) т.е. При этом ц° + г°[хГ(х.0^0,г0) + х;(х°,ц°,г0)- 2] = 1 +1 • (-2Д7) = -1,27 < 0, что противоречит условию. При этом X1 = Я.0 +r°[x,*(xV,ro)-l] = 0 + 1-@,333-1) = -0,666; ц1 = maxjo, ц° + г°[хГ(хо,ц°,г0) + х5(х.°,цо,г°) - 2]j = тах{0,1 +1 ¦ [0333- 2]} = = max{0,-0,667} =0. 281
Можно проверить, что аналогичная ситуация имеет место при других значениях параметров, используемых при расчетах в данном примере. Численные результаты приведены в табл. 9.15. Таблица 9.15 к 0 1 2 3 4 г* 1 2 10 100 1000 А* 0 -0,666 -1,334 -1,889 -1,999 И* 1 0 0 0 0 *;(i'.,v) 0,333 0,666 0,9445 0,9989 0,99999 0 0 0 0 0 Мх*\кк,\1к,гк),Хк,11к9гк\ -0,277 0,333 0,0894 0,00213 0,0005 Сравнивая с примером 9.3, можно сделать вывод о том, что метод множителей сходится быстрее метода штрафов, а Х*->^=-2, ц* -> А.2 = 0. ¦ Пример 9.16. Найти минимум в задаче D Найдем сначала точное решение задачи методом исключения: х{ = 1 - х2. Подставляя в /(*), имеем: 2 х" "z/ 6 z 2 l 3 2 з * 3 Отсюда х2 = - = 0,75; *f = 1 - х\ = 0,25. 4 Теперь составим модифицированную функцию Лагранжа: / к к) 1 2 1 2 * Г* и найдем ее минимум: = Хг + Г Эх, Получаем х*{(кк9гк)= Г ~\ 1. При эти формулы соответствуют методу внешних штрафов. Формула пересчета множителя имеет вид 282
Положим Аг=О. Параметр штрафа вычисляется по формуле rk+l=Crk, где г° = 0,1; С = 2,4,8. В табл. 9.16 приведены результаты решения рассматриваемой задачи методами внешнего штрафа и множителей. Как видно из табл. 9.16, методом множителей искомую точку минимума удается найти за меньшее число итераций. В обоих методах требуемое число итераций тем меньше, чем с большей скоростью увеличивается параметр штрафа. Следует, однако, иметь в виду, что быстрое увеличение параметра на практике влечет затруднение решения вспомогательных задач. ¦ Таблица 9.16 к 0 ] 2 3 4 5 6 7 8 9 10 п 12 13 14 15 гк = 0,1 • 2* Метод штрафа *1 0,0714 0,1111 0.1538 0.1904 0.2162 0,2318 0.2406 0,2452 0.2475 0.2487 0.2493 0.2496 0.2498 0.2499 0.2499 0,2499 х2 0.2142 0.3333 0.4615 0.5714 0.6486 0.6956 0.7218 0.7356 0.7427 0.7463 0.7481 0.7490 0.7495 0.7497 0.7498 .Д7?99 Метод множителей „к х\ 0.0714 0.1507 0.2118 0.2409 0.2487 0.2499 0.2499 ^к Х2 0.2142 0.4523 0.6355 0.7225 0.7463 0.7497 0.7499 гк = ОД • 4* Метод штрафа *1 0,0714 0.1538 0.2162 0,2406 0,2475 0.2493 0,2498 0.2499 0,2499 „к Х2 0.2142 0.4615 0.6486 0.7218 0.7427 0.7481 0.7495 0.7498 0.7499 Метод множителей х\ 0.0714 0.1813 0.2407 0.2496 0.2499 4 0.2142 0.5439 0.7221 0.7489 0.7499 гк = ОД • 8* Метод штрафа „к *1 0.0714 0,1904 0J406 0,2487 0,2498 0.2499 ^к Х2 0.2142 0.5714 0.7218 0.7463 0.7495 0.7499 Метод множителей х\ 0.0714 0.2074 0.2824 0.2499 Х2 0.2142 0.6224 0.7452 0.7499 9.5. МЕТОД ТОЧНЫХ ШТРАФНЫХ ФУНКЦИЙ Постановка задачи Даны дважцы непрерывно дифференцируемые целевая функция /(*) =/(*,,...,*„) и функции ограничений gy(x) = 0, y = l,...,m; gj\x)*0$ j" = m +1,..., p, определяющие множество допустимых решений X. Требуется найти локальный минимум целевой функции на множестве X, т.е. такую точку х* е X , что И где X: Стратегия поиска Идея заключается в таком построении вспомогательных функций, что для выбранных соответствующим образом параметров штрафа однократная безуслов- 283
ная оптимизация дает решение исходной задачи. При построении вспомогательных функций могут использоваться: 1) недифференцируемые точные штрафные функции, безусловный минимум которых по х ищется при фиксированном значении параметра штрафа: |,...,|gw(x)|,gOT+1D...,^W}^ min ; (9.1) X € J\ 2) дифференцируемые точные штрафные функции (для задач с ограничениями типа равенств): т где г*,а*>0 - параметры штрафа, Цх,Х)- f(x)+ ?kj' 8j(x) ' классическая функция Лагранжа; (*)[()]4W2 min (9.3) где Х(х) = -|Vg(x)rVg(x)l Vg(x)TVf(x)f rk > 0 - параметр штрафа. Для минимизации недифференцируемых вспомогательных функций можно применять методы нулевого порядка, а для дифференцируемых - также методы, использующие производные. Увеличивать параметр штрафа г* до бесконечности не требуется: существует конечное пороговое значение г, такое, что х* будет точкой безусловного минимума F(x,rk\ при любом rk >г. Параметр а* задается достаточно малым положительным числом. Алгоритм Шаг 1. Задать начальную точку х°; начальное значение параметров штрафа г° > 0, а0 > 0; число С > 1 для изменения параметров штрафа; максимальное число решаемых задач безусловной минимизации N; малое число е > 0 для остановки алгоритма. Положить к = 0. Шаг 2. Составить вспомогательную функцию вида (9.1) или (9.2), или (9.3) в зависимости от типа решаемой задачи. Шаг 3. Найти точку х*[гк\ или (х*(г^а*),А,*(г*,а*)) безусловного минимума вспомогательной функции по х для (9.1), (9.3) и по х,Х для (9.2). В качестве начальной точки взять хк. Предусмотреть прекращение процесса минимизации, если вспомогательная функция не ограничена снизу. Шаг 4. Вычислить абсолютное значение соответствующей штрафной функции: 284
2 h [ дх, и проверить выполнение условия окончания: а) если вычисленное значение меньше или равно е, процесс поиска закончить: /-/(г*) или х*=х*(г*,сс*); б) если оно больше е и к = N -1, процесс закончить и выдать сообщение о неудаче; в) если вычисленное значение больше е и к < N -1, положить rk+l = Cr*,ct*+1 =Ccc*, xk+l = х*(гк) или xk+l = x*(r*,a*), *«* + l и перейти к шагу 2. Замечания 9.5. 1. Идея применения недифференцируемых точных штрафов была предложена Эблоу и Брайхемом [Ablow СМ., Brigham G.], развивалась Петшиковским [Pietrzykowski Т.], Зангвиллом [Zangwill W.I.] и др. Дифференцируемая точная штрафная функция F(x,rk) предложена Флетчером [R. Fletcher], а функция F(x,\,rk,ak\ Ди Пилло и Гриппо [Di Pillo G., Grippo L.]. Систематизированное описание этих подходов имеется в монографии [7]. 2. Приведенные здесь дифференцируемые точные штрафные функции могут рассматриваться как модифицированные функции Лагранжа (см. разд. 9.4). Известно также обобщение функций (9.2), (9.3) на класс задач с ограничениями- неравенствами [7]. Проблема овражности при решении вспомогательных задач является здесь не такой острой, как при применении обычных штрафных функций (см. разд. 9.1). 3. Пороговые значения параметров штрафа г зависят от величин, связанных с х* и, следовательно, заранее неизвестных. Поэтому для выбора удачных значений параметров приходится применять их корректировку конечное число раз. Если значение гк занижено, вспомогательная функция может оказаться неограниченной снизу, либо "область притяжения" точки х* будет очень малой. Если же взять гк слишком большим, вспомогательная задача может иметь плохое решение из-за овражности. Сходимость Утверждение 9.4 (сходимость метода недифференцируемых точных штрафных функций). Пусть х* - точка строгого локального минимума в задаче C.19), удовлетворяющая достаточным условиям второго порядка {утверждение 3.11), причем выполнены условия строгой дополняющей нежесткости, т.е. если 285
точка Х* gj(x*\ = O, то X) >0,j = m + l,...9p. Тогда при гк >':=XU*J,| + 1LX*J >1 У=1И+1 является точкой безусловного строгого локального минимума функции Flx9rk\ [7] . Утверждение 9.5 (сходимость метода точных дифференцируемых штрафных функций вида (9.2)). Пусть функции f(x)9g(x) еСг в Rn, т.е. трижды непрерывно дифференцируемы. Если х* - точка строгого локального минимума задачи с ограничениями-равенствами, удовлетворяющая вместе с вектором множителей Лагранжа достаточным условиям минимума второго порядка (см. утверждение 3.3), то для любого а* > О существует такое число г(а*)>0, что для всех г* >г(а*) точка [х*Х\ доставляет безусловный локальный минимум функции f(x9X9rk,ak\ [7] . Можно также показать, что точка локального минимума в задаче с ограничениями-равенствами, удовлетворяющая достаточным условиям второго порядка, не может доставлять безусловный локальный минимум функции f(x9X9rk9ak\9 если параметр а* выбран достаточно малым. Утверждение 9.6 (сходимость метода точных дифференцируемых штрафных функций вида (9.3)). Пусть X - компактное подмножество множества X* = {х\ rangVg(x) = m}, a x* eX - точка безусловного локального минимума функции f(x>rk]. Тогда существует такое число г >0, что х* является точкой локального условного минимума в поставленной задаче при всяком rk >г [7] . Пример 9.17. Найти минимум в задаче f{x) = х -> min, ^(х) = 2-х<0. ? Используем недифференцируемую точную штрафную функцию (9.1): flx9rk\ = f(x) + rk тах{0,^(х)} = х + rk max{0,2 - х) -> min. При г* > 1 функция Flx9rk\ имеет безусловный минимум в точке х* = 2, являющейся решением поставленной задачи (рис. 9.14). При rk <\ функция F\x,rk\ не имеет локального минимума и вообще не ограничена снизу. ¦ 286
F(x;2) F{x;QJ5) Рис. 9.14 Пример 9.18. Найти минимум в задаче f(x) = х2 - Ах -* min, gl(x) = x-\<>Q. П Используем недифференцируемую точную штрафную функцию (9.1): F(x,rk) = /(jc) + гЛ тах{0,^(х)} = х2 - 4х + г* тах{0,х -1}. Как следует из примера 9.4, точное решение этой задачи: х* = !>/(**) ¦ ~3- При этом Л*, = 2. Как следует из утверждения 9.4, параметр штрафа должен удовлетворять условию: гк >Т = \\ =2. Тогда х* является точкой локального минимума Flx,rk\. Например, при г* =3 имеем Очевидно, эта функция имеет безусловный минимум в точке х* = 1 (рис. 9.15). f(x\F(xtrk) /-(x>3 Рис. 9.15 287
Заметим, что при неудачном выборе г*, например при г* = 1, вспомогательная задача не обладает желаемым свойством, так как функция F(x,l) имеет безусловный минимум в точке х =—, не совпадающий с х* (рис. 9.15). ¦ Пример 9.19. Найти минимум в задаче D Для аналитического решения задачи используем дифференцируемые точные штрафные функции двух видов. А. Составим вспомогательную функцию (9.2): ]2 = *,2 + х\ + Х(дс, + х2 - 2) + ^ + х2 -2J2 +^-[Bх, + XJ Найдем ее минимум по х,Х. при фиксированных гк,ак: _ 2)+ 2о* О, Вычитая из первого уравнения второе, имеем X! =х2. Из третьего уравнения 1 - х{ - 2а**! . Тогда из первого уравнения следует ¦ 2а*+1-2а*г* 2<х*+1-2а*г* 1. При этом X* = -2. Матрица Гессе функции г(х,\9гк,ак\ в точке х* = A,1) : Н 2х*{+гк+4ак тк 2а*+1 при г* 2а*+1 2xJ+r*+4a* 2a*+1 2а*+1 2а* \2 >0 +4а* >0, А2=B + 4а*) + 4г* + 8а*г* >0, А3=1б(а*Jг*+8а*г*-4-1б(а*J-1ба*>0. 288
к л к 4(а*J+4а*+1 к л к 4(а)+4а+1 Все неравенства выполняются, если а* > 0, г* > * ' , напри- (*+2а* мер, если а* = 1, то гк > —. Тогда функция F(x,\,rk,<xM имеет локальный минимум в точке х* = A,1)Г. Б. Составим вспомогательную функцию (9.3): ,г*)-х? +х22 -(х, +х2)(х, +х2 -2) + y(xt +x2 -2J. Найдем минимум Z'/x.r*] no x при фиксированном гк: дх2 Вычитая из первого уравнения второе, имеем х\ = х2. Тогда из первого уравне- гк-\ г-\ ния х{ = х2 = -г = 1. гК -1 Матрица Гессе функции flx9rk\: rk-2 rk при Л i = rk > О, А 2 = И/ - И) + 4(г*) - 4 > 0, т.е. когда г* > 1. Полученные результаты совпадают с найденными в примерах 9.2, 9.14. ¦ Пример 9.20. Найти минимум в задаче f(x) = Xi + х2 -> min, D Используем дифференцируемые точные штрафные функции двух видов. А. Составим вспомогательную функцию (9.2): х, +х2 +х(х? +х22 -2)+^-(х,2 +х22 -2f +^[A + 2>.х1J +A + 2Я.х2J]. 19-4751 289
Найдем ее минимум по х,Х: дхх дх2 дХ Вычитая из первого уравнения второе, имеем хх-х2. Тогда из третьего 1 „ 2 __ 'у к у ' —L уравнения X . После подстановки в первое уравнение получаем Гессе 4aKxf -1, X* Достаточные условия локального минимума выполняются, если матрица решение х\ = х\ = -1, X* = —. Н 4rk -2-2 4rk l+4r*+a* -2-2 8a* -2-2^ -1 -2а* т.е. д, = 1 + 4гк + а* > 0, Д2 = (l + 4rk + а*J -Drkf > 0, Д3 =[б4а* +64(а*J1г* -8-1бо* -8(а*J >0. Все неравенства выполняются при о* >0, г* > —f—г^-, например 8a*+8(a*) при а* = 1, г* > —. Тогда функция Flx,X,rk,ак) достигает локального минимума в точке х" = (-•;-1) • Б. Составим вспомогательную функцию (9.3): + X9 290
Найдем безусловный минимум функции flx,rk\ no x: + г * (х,2+х22-2J^=0, df{x9rk) { 1 ^2 2 Вычитая из первого уравнения второе, получаем х{=х2. Подставляя это соотношение в первое уравнение, имеем х2 = х2 = 1. Очевидно, функция F(x,rk) достигает минимума при xj = х2 = -1. При этом Я,(х*)=¦- = А.*. Полученное двумя способами решение совпадает с найденным в примере 3.6. ¦ Задачи для самостоятельного решения 1. Методом штрафов решить задачу /(х) = X! - 2х22 + 4х2 -> max, -Зх,-2х2=6. Ответ: в точке А = (-2%>%)Г- условный максимум. 2. Методом штрафов решить задачу /(х) = -4xi2 -8x1 + х2 + 3 -> max, -х,-х2=2. Ответ: в точке А »(-1Д25;- 0,875)г - условный максимум. 3. Методом барьерных функций (внутренних штрафов) решить задачу /(*) = з(Xl +1K * *2 ~*min' х{ -1 ^ 0, х2 ^ 0. Ответ: в точке А = A,0)г- условный минимум. 19* 291
4. Методом барьерных функций (внутренних штрафов) решить задачу f(x) = —+— + jci + х2 -> mm, хх хг l Xl + Х2 й 6, JCi ^ 0, Х2 ? 0. Ответ: в точке Л = B,3)Г- условный минимум. 5. Методом штрафов решить задачу f(x) = 4х{2 + 4хх + х22 - 8х2 + 5 -> min, 2х{-х2=6. Ответ: в точке А = B,25;-1^)^- условный минимум. 6. Методом штрафов решить задачу f(x) ж -8х!2 + 4х{ - х22 + 12х2 - 7 -> max, 2хх +3х2 =-6. Ответ: в точке х* = (-^о» - ^Vv^ " Уловный максимум. 7. Методом штрафов решить задачу (x1+4J+(x2-4J->extr, Ответ: в точке >4 = @,4)г - условный минимум, условного максимума нет. 8. Методом штрафов решить задачу /(х) ж -8xi2 + 4xj -х22 + 12х2 - 7 -> max, 2х! + Зх2 = -6. Ответ: в точке х* = (-^g» "^У\^' условный максимум. 9. Методом штрафов решить задачу /(x) = (xI+4J+(x2-4J-»min, 2х!-х2<2, Х!>0, х2^0. Ответ: в точке А = @,4)г - условный минимум. 10. Комбинированным методом штрафных функций решить задачу /(х) = In х{ - х2 -> min, Ответ: в точке А = A,4b)T - условный минимум. 292
§ 10. МЕТОДЫ ВОЗМОЖНЫХ НАПРАВЛЕНИЙ ЮЛ. МЕТОД ПРОЕКЦИИ ГРАДИЕНТА Метод проекции градиента (метод Розена [ Rozen J.6. ]) применяется в задачах поиска условного экстремума с ограничениями типа равенств и неравенств. 1. Применение метода в задаче с ограничениями типа равенств. Постановка задачи Найти минимум дифференцируемой функции /(*) = f(xx,...,xn) при ограничениях gj(x) = 0, j = 1,.,.,/и, т.е. такую точку х* еХ, что /(**) = ^/(х), A0.1) X = 1 х I gj ух) = 0, j = 1,..., m\ m < n j, где функции gj(x) = 0,у = l,...,yw, являются дифференцируемым^функциями х. Стратегия поиска Стратегия поиска решения задачи A0.1) методом проекции градиента состоит в построении последовательности точек 1хк\, вычисляемых по правилу хк+х =х* +Ьхк, fc = 0,l,... , A0.2) где Ьхк есть вектор, вычисляемый для каждого значения к . Приращение Ьхк определяется из условия проекции вектора -tk V/(x*), A: = 0,1,..., на аппроксимирующую плоскость, задаваемую уравнением Akbx = iki A0.3) которая аппроксимирует в точке хк, к = 0,1,..., поверхность, задаваемую уравнениями gj(x) = 0, j = l,...,m. Здесь Ак - матрица размера тхп вида .. л ...,, , (ю.4) dgm(x) дхх '" дхп п Jx=xk атг вектор столбец, хк = -ш(хк),...,?«(**)) • На рис. 10.1 в точке хк =A;0^)^ построена аппроксимирующая прямая для задачи fix) = (хх - 4J + (х2 - 5J -> min, gx(x) = хх2 + 4х22 -16 = 0. 293
Ее уравнение х, + 2х2 = 9, так как Ак = B^; 8х2). ^жA;05)Г = B,4); Ъх = (х, - х/ ;х2 -х2к)т ш (х{ - 1;х2 - 0,5)г; АкЬх = хк = -gi(x*) и, следовательно, 2(х, -1) + 4(х2-0^ = 14. Вектор 5х* определяется по формуле 5х* =6,х*+62х*, A0.5) где 6\Хк называется градиентной составляющей приращения; она равна 6,х* = -t^E-АТк(АкАТк)'ХАк^V/(x*) = -/, Ах* A0.6) и обладает следующим свойством: градиентная составляющая приращения 5^* в линейном приближении не меняет вектор невязки условий связи. Это означает, что под действием градиентной составляющей точка хк движется параллельно или по плоскости Akbx = ik (рис. 10.1). Составляющая 52х* называется компенсационной составляющей приращения и равна 52х* = AklAkAk\ xk. Эта составляющая обладает, в линейном приближении, свойством компенсировать вектор невязки условий связи на величину т*. Под действием составляющей 52х* осуществляется проекция точки х* на плоскость АкЪх = хк (рис. 10.1). Ах2 х, + 2х2 - 9 (*1-4J+(х2-5J=/(х*) Рис. 10.1 Величина шага tk может выбираться как из условия убывания /(х) при переходе из точки хк в точку хк -tk\Е-AkLikAk) Ak Wf(xk\, так и из условия A0.7) 294
Задача A0.7) может решаться либо с использованием необходимых и достаточных условий минимума: ф'(^) = 0, <р"(**) > 0, применяемых непосредственно к функции ф(^) или к аппроксимирующим ее полиномам, либо с использованием численных методов. Расчет заканчивается в точке хк, в которой II Ахк < е , Ъ2хк < е, где 8 - заданное число. В полученной точке хк требуется обязательная проверка выполнения достаточных условий минимума функции в задаче A0.1). Точное равенство 5JJC* = -tk\E-Ak(AkAk) Ак v/(x*) = 0 свидетельствует о точном выполнении необходимых условий экстремума, при этом вектор множителей Лагранжа определяется по формуле Xk=-(AkATk)'lAkVf(xk). A0.8) Знание приближения Хк вектора X*, определяемого формулой A0.8), позволит осуществить проверку достаточных условий в точке хк. Замечание 10.1. Если в задаче A0.1) ограничения линейны, т.е. име- п ют вид Y*aiixj ==^> * = !»••• >*и, то матрица А постоянна. Это означает, что в силу свойства компенсационной составляющей 52** она вычисляется единственный раз в точке х°. При этом начальная точ*ка попадает в область допустимых решений за одну итерацию. Дальнейший процесс построения последовательности 1хк) связан с вычислением составляющей Ьухк. Алгоритм Шаг 1. Задать х°, е ? 0, число итераций М. Шаг 2. Положить к = 0. Шаг 3. Проверить выполнение условия ktM: а) если неравенство выполнено, то расчет окончен. Вычислить Хк, проверить необходимые и достаточные условия минимума и оценить результат; б) если неравенство не выполнено, то перейти к шагу 4. Шаг 4. Вычислить матрицу ( дхх '" дхп Эх, "¦ дхп Шаг 5. Вычислить тк = -?(**) = -fft(^),...»i Шаг 6. Вычислить Ъ2хк = Ак[АкАк) тк. 295
Шаг 7. Вычислить 1 62х* И. Шаг 8. Вычислить Vf(xk\. Шаг 9. Вычислить Дх* =-[^-. Шаг 10. Проверить выполнение условий ! Ах* II й е и 152х* 1 й е : а) если I Ах* | < е и 152х* I < е, то расчет окончен. Перейти к вычислению Хк по формуле A0.8) и проверке достаточных условий минимума; б) если |Дх* >е, 162х* 1 <s, то положить 62х* =0 и перейти к шагу 11; в) если I Дх* I < е , 162х* I > б , то положить Дх* = 0 и перейти к шагу 13; г) если 1Дх* >е , |б2х* I >е, перейти к шагу 11. Шаг 11. Получить точку хк +tk Axk. Шаг 12. Определить t\ из условия f(xk + tk Дх*) -> min. Шаг 13. Вычислить х*+! = хк +1\ Дх* + б2х*. Положить к = к +1 и перейти к шагу 3. Замечание 10.2. Если ограничения в задаче линейны, то при к > 1 на шаге 3 переходим к шагу 8. На шаге 10 следует положить 152х* | = 0. Сходимость Так как проекция вектора -tkVf{xk\ осуществляется для каждого значения к на множество Q = {х \Ак (х - хк) = тк, х е Rn }, то алгоритм метода проекции градиента сходится для выпуклых, дифференцируемых на Rn функций /(х), градиент которых удовлетворяет, условию Липшица (см. определение 1.11). Утверждение ЮЛ. Пусть /(х) выпуклая, дифференцируемая на R" функция, градиент которой удовлетворяет на множестве Q условию Липшица с константой L . Пусть множество Q - выпуклое и замкнутое, множество решений задачи X* = Arg min fix) не пусто, а 0 < tk <—. Тогда хк -> х* € X* и, если /(х) силъ- х eQ L но выпукла, хк -> х* со скоростью геометрической прогрессии [34]. Пример 10.1. Найти минимум в задаче /(x) = (x1-4J+(x2-5J^min, 296
Рис. 10.2 -5J =/(*') D Задача имеет следующую особенность: ограничение является линейным (рис. 10.2). 1. Задаем х° =@;0)г;е = 0\М = 5. 2. Полагаем ? = 0. 3°. Проверяем условие к>М: к = 0<5 = М. 4°. Вычисляем матрицу Aq: Aq =(l 1). 5°. Вычисляем т0 = - Si(*°): х0 = 1 • 6°. Находим 52х°: 52х° = A;1)г • 0,5 • 1 = @,5;0,5)Г. 7°. Вычисляем 152х° |: 152х° | = 0,707. 8°. Вычисляем V/(x°): V/(x°) = (-8;- 10)r. 10°. Проверяем выполнение условий I Ах° | < е, || 52х° < е: ЦЛх° Ц = 1,41 > б = 0, |б2х° | = 0,707 >е = 0. Переходим к шагу И. 11°. Получаем точку х° + /q Ах°: х° + *5 Ах° = (-rj,rj)r. 12°. Определяем % из условия /(х° + fj Ax°j = min fix0 +10 Ax°): /JJ = 0^. 13°. Вычисляем x1 = x° + fj Ax° + 62x°: x1 = @;0)r +(-0^;0^)r +@^;0^)r = @;l)r. Полагаем к = 1 и переходим к шагу 3. З1. Проверяем условие к^М: ? = 1 <5 = М. 81. Вычисляем V^x1): V/(xJ) = (- 8; - 8)г. 91. Вычисляем Ах1: Ах1 =@;0O. 101. Проверяем выполнение условий Ах11 < е , 52х] | < е: 297
Дх11 = 0 = 8, I 62X1 = 0 = е. Расчет окончен. Вычисляем множитель Лагранжа X*: X* = - [АцДУ Aq V/(xj ) = - @,5;0,5)(- 8; - 8)г = 8. Проверяем достаточные условия минимума. Второй дифференциал функции Лагранжа равен d2L = 2dx\ + 2dx\. Дополнительное условие: dxx + dx2 = 0, откуда dxx = - dx2. Подставляя в d2L, имеем d2L = 4dx2 >0. Вывод: точка х{ =A;0)г = х* - точка минимума (строка 1 табл. 3.1). ¦ Пример 10.2. Найти минимум в задаче /(*) = (*!-4L (*j-5J-* min, П 1. Зададим х° = @;0)Г;е = 0,05;М = 5. 2. Зададим ? = 0. 3°. Проверяем условие к> М: 0 < 5. 4°. Вычисляем матрицу Aq: Aq =(l 2x2)xo =(l О). 5°. Вычисляем т0: т0 = -@ + 0 -4) = 4. 6°. Получаем Ь2х°: 52jc° = A; 0)г • 1.4 = D; 0)г. 7°. Вычисляем II 52Х° |: 152*° II = 4 • 8°. Вычисляем V/(x°): V/(x°) = (-8;-10)г. . 10°. Проверяем выполнение условий Ах° < е, 82х° 11 < е : | Ах° | = 10 > б = 0,05; 182х° | = 4 > е = 0,05. 11°. Получаем точку х° + % Ах°: х° + $ Ах° = @;10/j)r. 12°. Определяем 4 из условия fix0 + /J Ах°) = min fix0 +10 Ax°): /J = 0,5. 13°. Вычисляем х1 = х° + % Ах° + Ь2х°: х1 = @;0)г + @;5)Г + D;0)г = D;5)Г (рис. 10.3). Полагаем к = 1, переходим к шагу 3. З1. Проверяем условие к>М\ k = l<5 = M. 41. Вычисляем Ах: Ах =A;10)г. 51. Вычисляем т^ ix - -D + 25 - 4) = -25. б1. Получаем Ь2х1: Ъ2х1 =(- 0,248; 2,48)г. 71. Вычисляем Цб^11: js2xl || = 2,49. 81. Вычисляем V/^1): 298
(х,-4J+(*2-5J _| 1 1 ) 1 1 > Х 1 2 3 /4 5 6 ! -4 = 0 Рис. 10.3 91. Вычисляем Дх1: Дх1 =@,0)г. 101 .Проверяем выполнение условий I Дх11| ^ е, 62х{ ре: || Дх11 = 0 < е = 0,05, 162х! | = 2,49 > е - 0,05, переходим к шагу 13. 131. Вычисляем х2 = х1 + бгх1: х2 = D,5)г + (-0,248; - 2,48)г = C,752; (рис. 10.3). Полагаем к = 2, переходим к шагу 3. З2. Проверяем условие к^М: к = 2<5 = М. 42. Вычисляем А2: А2 =A; 5,04). 52. Вычисляем т2: т2 « -C,752 + 632 - 4)« -6,07. б2. Получаем 62х2: 62х2 = (-0,23; - Ц6)г. 72. Вычисляем 152х2 I: 162х2 | = 1,18. 82. Вычисляем V/(x2): V/(x2) = (-0,496;- 4,96)г. 92. Вычисляем Дх2: 0,1911 Г-0,496] _ _ ГГ1 0] [0,038 0,19 ^[0,962 -О,19]Г-О,4961 = Г-0,475 + 0,95] _ Г-0,475] [-0,19 0,04 JL-4,96 J [°ДО5-0,198J " [ 0,103 J' 299
_ _ Г- 0,475 + 0,95] _ Г- 0,475] [о,О95-ОД98] [ 0,103 J' 102. Проверяем выполнение условий | Ах2 И й г, I Ь2х2 | ? б : | Дх2| = 0,486 > е = 0,05; 182х2 | = 1,18 > б = 0,05. Переходим к шагу 11. 112. Получаем х2 +1\ Дх2: х2 +1\ Ах2 = C,752 -t\ • 0,475; 2,52 +1\ • ОД03) 122. Определяем t\\ t\ = ?I2| = 0,585. 0,236 132. Вычисляем х3 = х2 +f2 Дх2 +б2х2: х3 = C,752; 2,52)Г + 0^85 (-0,475;ОД03)г +(-0ДЗ;-1Д6)Г = C,244; 1,42)г (рис. 10.3). Полагаем к = 3, переходим к шагу 3. З3. Проверяем условие kt M: ? = 3<5 = М. 43. Вычисляем А2: Лъ =A; 2^4). 53. Вычисляем т3: т3 = -C,244 + 2,02 - 4) = -1,26. б3. Находим 82х3: 82х3 =(-ОД39;-О,394)г. 73. Вычисляем 182х31: 152х3 | = 0,41. 83. Вычисляем V/(x3): V/(x3) = (-1,512;- 7Д60)Г. 93. Вычисляем Ах3: о,89 -0314]Г-и12] Г-и5 + 2,24] Г-0,89 -0314 0Д1 JL [][ 103. Проверяем выполнение условий | А х3 | ^ s, 152х3 I ^ б : | Ах3 | = 0,94 > б = 0,05; 152х31 = 0,41 > б ¦ 0,05. Переходим к шагу 11 И3. Получаем точку x3+/J Д^3- х3+Г?Ах3 =(з,244-0,89/з; 0 445 123. Определяем %: /3* - ^^ - 0^. 0,89 133. Вычисляем х4 =х3 +/3 Ах3 +б2х3: х4 = C,244; 1,42)Г +0^(-039;0,314)Г +(-0,139;-0,394)Г = B,66; 1Д8)Г (рис. 10.3). Полагаем к = 4, переходим к шагу 3. З4. Проверяем условие к^М: к = 4<5 = М. 44. Вычисляем ЛЦ: АА =A; 2,36). 54. Вычисляем х4: х4 = - B,66 +1,39 - 4) = - 0,05. б4. Получаем б2х4: 52х4 =(-0,0076;-0,018)Г. 74. Вычисляем 182х4 |: 182х4 | - 0,019. 300
84. Вычисляем V/(jc4): V/(x4) = (-2,72;-7,64O\ 91 Вычисляем Аде4: 4 = [0,848 -0,36]Г-2,72] _ Г-2,3 + 2,75] = Г-0,45] [-0,36 0,152J[-7,64J [O,98-1,16J [ 0Д8 J 104. Проверяем выполнение условий I Аде4 1^8,152х4 ? е: | Ах4 II = 0,48 > е = 0,05, I 62х4 I = 0,019 < б = 0,05. Положим 82х4 = 0 и переходим к шагу И. II4. Получаем точку х4 + Г4 Ах4: х4 +1\ Ах4 = B,66 - 0,45 Г4;Ц8 + 0Д8 t^f. 124. Определяем ф t% = ^- = 0,39. 134. Вычисляем х5 = х4 +/4 д*4 +82^4» гДе §2^4 = 0: х5 =B,66;Ц8O +039(-0,45;0Д8)Г = B,48; 1Д5)Г (рис. 10.3). Полагаем к = 5, переходим к шагу 3. З5. Проверяем kzM: k = 5 = M. Расчет окончен, переходим к вычислению X5 и проверке необходимых и достаточных условий минимума. Находим Выпишем необходимые условия экстремума (см. разд. 3.2) с учетом вида функции Лагранжа 1(хД) = (хх - 4J + (х2 - 5J + A.(*i + х22 - 4): 2(х,-4) + Я. = 0, =0, х\ +*22-4 = 0. Будем считать, что необходимые условия экстремума выполнены, если абсолютная величина невязки любого из этих равенств не превышает 0,1. В результате подстановки точки х5 и Xs получаем 2 B,48-4)+ 2,96 = -0,08; 2A,25 - 5) + 2 • 1,25 • 2,96 = - ОД; 2,48 + 1,252-4 = 0,04. Отсюда следует, что необходимые условия выполняются. Проверим достаточные условия экстремума. Получаем d2L: d2L = 2dx\ + 2 A + X)dx\ = 2 dx\ + 7,92 dx\. Дополнительное условие dxy + 2x2 dx2 - 0. Отсюда d2L = 20,42 dx\ > 0. Вывод: точка х5 =B,48;1,25)г есть найденное приближение точки минимума х* (строка 1 табл. 3.1). ¦ 301
2. Применение метода в задаче с ограничениями типа неравенств. Постановка задачи Найти минимум дифференцируемой функции /(х)= /(хь...,х„) при ограничениях gj(x) < 0, j = 1,...,/и, т.е. такую точку х* е X, что /(x*) = min/(x), A0.9) хел X = {x\gj(x)<09 У-1 «}, где функции gj (x), j = 1,..., т, являются дифференцируемыми функциями х . Стратегия поиска Стратегия поиска решения задачи A0.9) учитывает тот факт, что решение х* может лежать как внутри, так и на границе множества допустимых решений (рис. 10.4, а, б). \^ -Xl-x2+2<:0 ¦•-(u)r ¦ % Рис. 10.4 Для определения приближения решения х* строится последовательность точек (х* : хк+{ = хк +Ьхк9 А: = 0,1,... , где приращение Ьхк определяется в каждой точке хк в зависимости от того, где ведется поиск - внутри или на границе множества допустимых решений. Решение задачи начинается с обхода границы допустимой области. Обход границ множества допустимых решений связан с выявлением активных в точке хк ограничений gA = (g\,.,gp)T> аппроксимацией их плоскостью АкЬх = хк, A0.10) где Ак = —L - матрица размера р х п, р<>п\ хк = -?л(х*), и проек- цией на нее вектора -tk V/(xM. Для выявления неравенств, активных в точке хк , задается погрешность определения активных ограничений 0. Активны- 302
ми считаются те ограничения, для которых вх < gj(x) <, 0. Число р ограничений, активных в точке хк, не должно превышать п - размерности вектора х . Поиск ограничений, активных в точке хк, рассматривается как самостоятельная задача, которая может быть решена путем последовательных приближений. Задается точка хки вычисляется gj{x),j = 1,...,/я. Если gj(x) < е{, то выбираются любые р ограничений с наименьшими по абсолютной величине невязками р/ = gj(xk) в точке хк, строится матрица Ак, вычисляется тк и находится точка - xk+l=xk+Al(AkAl]~\k, A0.11) затем снова вычисляются невязки выбранных р ограничений. Уточнение по формуле A0.11) осуществляется до тех пор, пока не будет найдена точка хк, в которой е{ ?gj(x)<Q. Проекция вектора -tk Vfixk\ в точке хк, в которой активны р ограничений, определяется точкой x*+1 =** -tk\E-Al(AkAl)-lAk\ff(xky A0.12) где приращение Ъхк = -tk \Е - Ак(АкАк) Ак V/(x* \ осуществляет движение по плоскости АкЪх = хк в направлении убывания f(x). Величина tk выбирается так: tk = min \tk > 0, ^max ^ 0 J> где fk есть шаг, при котором /(** -Гк[Е-АЦАкА1)-1Аку(х»)) = min/(x* - а h max " наименьший шаг, при котором где s2- заданное достадля всех ограничений, которые не были активными в точке хк. Разумеется, невязка ограничений в точке хк*1 изменяется, и поэтому вычислению точки х*+2 должна предшествовать процедура выбора активных ограничений, описанная выше. Процедура вычисления точек последовательности 1хк\ обеспечивает последовательное движение вдоль границы допустимой области. При выполнении неравенства Ахк = I -\Е- Ак[АкАк Г ЛЫ VAx*) и и || i j точно малое положительное число, вычисляется приближение Хк вектора множителей Лагранжа Я.*: Хк = -{АкАтк\ХAkVf(xk). A0.13) Если Хк > 0, то в точке хк выполнены необходимые условия минимума и в ней должны быть проверены достаточные условия. Если среди множителей Хк 303
есть отрицательные, то это означает, что хк не является приближением точки х*, так как в ней не выполнены необходимые условия минимума f(x) при ограничениях gj(x)<0, j = 1,...,т(см. утверждение 3.4). Однако выбор шага tk позволяет говорить о том, что значение f(x) не может быть уменьшено при заданном составе активных ограничений и, следовательно, процесс минимизации f(x) необходимо продолжить, уменьшив их число: в число пассивных переводится то из ограничений, которому соответствует наибольший по абсолютному значению отрицательный множитель X*. Такая процедура поиска позволяет отыскать решение, лежащее как на границе, так и внутри множества допустимых решений. Алгоритм Шаг 1. Задать х°, в{ < О, г 2 > 0, число итераций М. Шаг 2. Положить к = 0. Шаг 3. Проверить выполнение условия к> М: а) если неравенство выполнено, то расчет окончен, перейти к вычислению Хк и оценке результата; б) в противном случае перейти к шагу 4. Шаг 4. Вычислить gj [хк), j = 1,..., т. Шаг 5. Проверить выполнение условий е{ < gjUk) < 0 ,7 = 1,... ,/и: а) если неравенство выполнено хотя бы для одного у , вычислить V/(x*J. Если V/(x* )* 0, перейти к шагу 7. Если V/(x* )= 0 при к > 0, перейти к шагу 9, а если v/(x°)= 0, то следует проверить точку х° на принадлежность области допустимых решений. Если х° е X, перейти к шагу 9. В противном случае задать заново точку х° и перейти к шагу 4; б) если ни одно из условий не выполнено, перейти к шагу 6. Шаг 6. Вычислить точку jcv, в которой будет выполнено условие ej < gj(xv)<0, по крайней мере для одного значения У * *V = хк + А[\ЛкА[\ ik. Положить хк = jcv и перейти к шагу 7. Шаг 7. Вычислить Ахк -\е - Al Шаг 8. Проверить условие Дх* 1 < е2: а) если неравенство выполняется, перейти к шагу 9; б) если нет - к шагу 10. Шаг 9. Вычислить,вектор кк - -1лкАк\ AkWf(xk\. Если Хк >0, то расчет окончен, проверить достаточные условия минимума. Если нет, то исключить из состава активных ограничение (оно переводится в пассивные), которому соответствует наибольший по модулю отрицательный множитель, и перейти к шагу 7 304
(при этом из матрицы Ак удаляется строка, соответствующая исключаемому ограничению). Шаг 10. Получить точку хк + tk Ахк. Шаг 11. Определить tk. Для этого следует: а) вычислить tk из условия f(xk + tkkxk)-> min; б) для всех пассивных в точке хк ограничений, кроме переведенных в пассивные на шаге 9 , определить величину tkJ из условий gj(xk +tk&xk) = 0, tk >0 (если условие gj(xk + tkAxk)-0 выполняется только при tk <0, то tk* не вычисляется); в) найти величину tkmax = min \tkj }; г) вычислить значение tk = min {***,'* max)- Шаг 12. Вычислить xk+l = xk +tk Axk. Положить к - к +1 и перейти к шагу 3. Сходимость Утверждение 10.2. Пусть f(x) выпуклая дифференцируемая на R" функция, градиент которой удовлетворяет на множестве Q условию Липшица с константой L . Пусть множество Q - выпуклое и замкнутое, множество X* = Arg min f(x) не Q пусто, а величина tk удовлетворяет условию 0 < tk <—. Тогда хк -+ х* еХ* и, ее- ли f(x) сильно выпукла, то хк -> х* со скоростью геометрической прогрессии [34]. Пример 10.3. Найти минимум в задаче ?!(*) = *!+Х2-1<0, ?2 (х) = -хг < 0, П 1. Задаем х° = @;0)Г, Sl = 0, s2 = 0, М = 5. 2. Полагаем ? = 0. 3°. Проверяем условие к>М: к = 0 < 5 = М. 4°. Вычислим gj(x°)j = 1,2,3: ^(х°) = -1<0, 5°. В точке х° активны ограничения ?2(*°)^0> ^з(х°)^0» °ни формируют матрицу Aq . Так как V/(x°) = (-8, - 10)г * 0, переходим к шагу 7. 20 — 4751 305
8°. Проверяем условие Ах° I <, е2: Ах° = 0, переходим к шагу 9. [-1 0\ (-%\ (-&\ II 1=1 I, удаляем третье ограничение -х2 <0 (оно переходит в пассивные), которому соответствует наибольший по модулю отрицательный множитель -10 , и переходим к шагу 7 (при этом исключается вторая строка из матрицы Aq). V. Вычисляем Д*°: A*°=- 0 10j' так как V0 I) Ш v * ~'J К-\0) 81. Проверяем условие | Дх° < ?2: I Ajc° = 10 > zi = 0. 10°. Получаем точку х° + t0 Ах°: х° +10 Ах° = (О;1Ого)г. 11°. Определяем ^о = minro>^Omax): величину ^ находим из условия f(x° + $Ах°) = min/(x° +/0Ajc°): fj = 0^; так как первое ограничение пассивно 1 в точке jc , то из условий 10 tQ -1=0 и t0 ^ 0 находим /0 = —» третье ограничение в аналогичной процедуре не участвует, поскольку переведено в пассивные только на шаге 9 ; fOmax = m?n {V }= jfi'* h = ™in | -,— | = —. 12°. Вычисляем xl =x°+t0Ax°: xx =@;0)r +^@;10)r =@;l)r (рис. 10.5). Полагаем к = 1 и переходим к шагу 3. t X2 Рис. 10.5 З1. Проверяем условие к> М: к = \ <5 - ^ 41. Вычисляем gj[xx\j = 1,2,3: gx(x{) = 0; 51. Проверяем условия 6j <gy(xM<0: g{(x] Активны первое и второе ограничения, они формируют матрицу Ах, V/(x') ^ 0. 306
Л Вычисляем Дх'-.Дж'^ J) {"*) -(J), так как Л, =[_\ J 82. Проверяем условие I Аде11 < е2: Ах1 = 0, переходим к шагу 9. А.1! =8, Я.2 = 0. Необходимые условия минимума выполнены. Проверяем достаточные условия минимума: d2L = 2dx\ + 2dx\. Дополнительные условия dxi + dx2 = 0, -dx\ <0. Отсюда dx\ =-dx2 >0. Следовательно, d2L = 4dx2 > 0. Точка x1 = @;l)r - точка минимума /(x) (строка 1 табл. 3.3). ¦ Пример 10.4. Найти минимум в задаче 2 П 1. Зададим х° = @;0)г; е, = -0,1; е2 = 0,1;Л/ = 5. 2. Зададим Л: = 0. 3°. Проверим условие к^М: 0<5. 4°. Вычисляем gj{x0)j = 1,2,3: а(хо)«4; ft(*°)-0; 5°. Проверяем 8, < gj(x°) < 0: g[(x°) > 0, s, < g2(x°) = 0, e, < g3(x°) = 0. Активны второе и третье ограничения, они формируют матрицу Aq ; V/(x°) ф 0. 7о. Вычисляем А* Л,» ~(J J-^ -(J . -как * - ("' _°J . 8°. Проверяем условие | Ах° I й е2: А х° = 0, переходим к шагу 9. 9°. Вычисляем Х°: Х° = -[J J) .(-1 _°J .(^J = [^, удаляем третье ог- раничение -х2 <0 (оно переходит в пассивные), которому соответствует наибольший по модулю множитель -10, и переходим к шагу 7 (при этом из матрицы Aq удаляется вторая строка). 7'. Вычисляем Ax°:A*°=-(jJ J) {^J = Щ , так как Ло = (-1 0). 81. Проверяем условие | Ах° | < е2: I Ах° | = 10 > е2 = 0,1. 10°. Находим точку х° +/0 Дх°: х° + tQ Ax° = @;10/0)Г- 11°. Определяем /0: 'о = W; так как первое ограничение пассивно в точке х°, то из условий -100102 + 4 = 0 и tQ>0 находим /0J = -; третье ограничение 20* 307
в аналогичной процедуре не участвует, поскольку переведено в пассивные только на шаге 9; /Отах = т|п {t0J }=-; tQ = ттЦ,М=|. | {0 } 12°. Вычисляем xl=x°+tQbx°: х1 =@;2)г(рис. 10.6). Полагаем к = 1 и переходим к шагу 3. Рис. 10.6 З1. Проверяем условие к> М: Л^ = 1 < 5 = Л/. 4». Вычисляем gj(xl),j = 1,2,3 : g,(xl) = 0; g 51. Проверяем условие 8! < g/f*1) ^ 0: 0, 6, Активны первое и второе офаничения, поэтому 72. Вычисляем Лх1: = ; V/(xl) ^0. дх._ [f1 °1_Н -l)±.(l -n.f  A* ""[[о lj [-4 oj 16^-1 17j Ul 0. 82. Проверяем условие I Ax1 Ue2: Ax11 = 0. ••X" 1б[-1 17JI-1 0 J l-sj- 30 4 . Удаляем первое ограничение (оно переходит в пассивные), которому соответствует наибольший по модулю отрицательный множитель, и переходим к шагу 7 (при этом из матрицы Aq исключается первая строка). 308
7». Вычисляем Дх1: Ах1--. , -L И °) N J=U- так как 4Н ) 83. Проверяем условие Ах11 < е2: I Ах1 II = 6 > е2- 101. Получаем точку х1 + /j Дх1: х1 +t} Ax1 =@;2 + 6t})T. И1. Определяем tx: t\ = 0,5; так как третье ограничение пассивно в точке х1, но условие -B + 6/1) = 0 выполняется только при tx <0, поэтому /3 не вычисляется; первое ограничение в аналогичной процедуре не участвует, поскольку переведено в пассивные только на шаге 9; следовательно, /lmax не вычисляется и /j = /j* =0,5. 121. Вычисляем х2=х1+/1Дх1: х2 = @;5)Г(рис. 10.6). Полагаем Ь2 и переходим к шагу 3. 32. Проверяем условие к> М: к = 2 < 5 = М . 42. Вычислимых2),; = 1,2,3: ?,(х2) = -21; ?2(х2) = 0; ?з(*2) = . 52. Проверяем условие 8j < gj(x2) ^0: Si(*2)<ei, ti<g2(x2) = Q, g3(x2)<e,. Активно второе ограничение, оно формирует матрицу А2; V/(x2) = (-8, 0)т ф 0. 74. Вычисляем А х2: А х2 = Г J . Г 8J = Г J , так как А2 = (-1 0). 84. Проверяем условие I Дх2 I < е2 '• &х2 1 = 0. 1 = - 8. Удаляем второе ограничение g2 ^ ° и переходим к шагу 7. 75. Вычисляем Дх2: Дх2 =-?V/(x2) = (8;0)Г. 85. Проверяем условие | Дх2 | ? е2: | Дх2 | = 8 > е2. 102. Получаем точку х2 +12 Ах2: х2 +12 Ах2 = (8*2;5)г. 112. Вычисляем t2: /2 = /2 = 0,5. 122. Вычисляем х3=х2+*2Дх2: х3 =D;5)г(рис. 10.6). Полагаем Л = 3 и переходим к шагу 3. 33. Проверяем условие к>М: к = \<5 = М . 43. Вычислим gj(x*)j = 1,2,3: ^(х3) = -25; ^2(х3) = -4; *3(*3) = -5. 53. Проверяем условие 6j^g7(x3)^0: gi(^3) < е!,?2(х3) < е,,^^3) <ei • Вычисляем V/(x3): V/(x3) = @;0)r. 309
93. Вычисляем А,3: X3, = 0, к\ =0, Л33 = 0. Проверяем достаточные условия: d2L = 2dx\ + 2dx\ > 0. Дополнительные условия отсутствуют, так как все три ограничения в точке х3 пассивны. Точка х3 = х* - точка минимума (строка 1 табл. 3.3). ¦ 10.2. МЕТОД ЗОЙТЕНДЕЙКА Постановка задачи Найти минимум дважды непрерывно дифференцируемой функции /(х) при условии, что вектор х € Rn удовлетворяет ограничениям gj(x) < 0, j = 1,...,/я, в которых функции gj(x), j = l,...,m есть также дважды непрерывно дифференцируемые функции х , т.е. такую точку х* € X, что /(х*)=пт^/(х), A0.14) * = {х|*,(х)<0, у = 1,...,/я}. Стратегия поиска Стратегия решения задачи A0.14) методом Зойтендейка [ Zoutendijk G.] состоит в построении последовательности допустимых точек |х*1, таких, что /(х*+|) < /(**), к = 0,1,... . Правило построения точек последовательности jx*j: xk+l =xk +7kdk9 A: = 0,1,... , A0.15) где точка хк - допустимая и такова, что -e*<?;(x*)<0, jeJa9 A0.16) Ja - множество индексов j активных ограничений, для которых выполнено условие A0.16); величина шага tk >0 находится в результате решения задачи одномерной минимизации: A0.17) gj(xk+tkdk)<0, y = l,...,m. A0.18) Задача A0.17), A0.18) может быть решена с использованием алгоритма применения необходимых и достаточных условий условного минимума, описанных в разд. 3.3. Иначе величину 1к следует выбирать из соотношения 7к = min {t\ ? 0, tk*m z 0}, A0.19) 310
где величина t\ определяется из условия f(xk +/J dk\ = min/(x* +tkdk), а ве- личина tk* =min{// }, t[ удовлетворяет условиям gj[xk + tkdk)=O, tk>Q. Направление спуска dk удовлетворяет системе неравенств Vf\xk)jTdk <0, A0.20) Vg,(x*)V<0, JeJa. A0.21) Возможное направление спуска dk, удовлетворяющее условиям A0.20), A0.21), определяется из решения задачи линейного программирования (см. § 8) min, Vf(xkfdk<z, A0.22) Wgj{xkfd k<z, Если решение z* задачи A0.22) меньше -ък, то для поиска нового возможного направления спуска dk*1 полагают zk+\ = ек. Если же z ^ -е^, то расчет по усмотрению пользователя либо следует закончить, так как в точке хк с точностью до гк выполняются условия минимума в задаче A0.14), либо продолжить, с целью добиться более высокой точности, положив ек+\ = qzk, где 0 < q < 1. Алгоритм Шаг 1. Задать е0, предельное число итераций М, допустимую начальную точку jc° € X, в которой V/(x°) * 0. Шаг 2. Положить к = 0. Шаг 3. Проверить выполнение условия к<М: а) если к-М, расчет закончен; б) если к <М, перейти к шагу 4. Шаг 4. Вычислить gj lxk), j - 1,..., т. Шаг 5. Проверить выполнение условия ~ък < gj[xk\ ? 0, j = l,...,m. Сформировать множество /й индексов j , для которых условие выполнено. Если условие выполнено хотя бы для одного j e Ja, то перейти к шагу 6. В противном случае положить ек = 2гк и повторить вычисления на шаге 5. Шаг 6. Записать систему неравенств Odk <о, 311
Шаг 7. Сформировать задачу линейного программирования: min, Vgj(xkfdk<z, jeJa, Шаг 8. Решить задачу линейного программирования, сформированную на шаге 7. В результате находится искомое возможное направление спуска dk и z* - минимальное значение z . Шаг 9. Вычислить шаг 7к, решив задачу f(xk + tkdk\-+ min, gj(xk +/*</*)< 0, у = 1,...,/я; либо из соотношения A0.19), для чего следует: а) найти величину t*k из условия f\xk +t*kdk)= min/(jc* + tkdk); б) определить величину tk\j = l,...,m, из условий gj(xk + tkAxk) = 0, tk > 0 (если условие gy(x* +/ЛДхЛ) = 0 выполняется только при tk <0, то /ЛУ не вычисляется). Если в точке хк ограничение с номером J активно и tk = 0 , то значение /*у не вычисляется; в) найти tk** = min \tk*\ ; г) вычислить значение tk = Шаг 10. Найти точку хк+{ = хк +7к dk. Шаг 11. Вычислить величину /fx*+1). Шаг 12. Проверить условие окончания: а) если z ^ - бл , то расчет может быть либо закончен, если точность &к удовлетворительна, либо продолжен при е^+1=^еЛ, 0 < ? < 1. В первом случае xk+l - искомое приближенное решение задачи A0.14), во втором - следует перейти к шагу 3; б) если z* < -е*, то положить ък+х = гк, к = к +1 и перейти к шагу 3. Замечания 10.3. 1. Если задача A0.14) не является задачей выпуклого программирования, в которой все функции /(х); gj(x), y = l,...,m, выпуклые, то алгоритм Зойтен- дейка сходится к точке х*, удовлетворяющей с точностью гк необходимым условиям минимума функции многих переменных при ограничениях типа неравенств (см. разд. 3.3) [29] . Следовательно, в точке х* должны быть проверены достаточные условия минимума. 312
2. Если задача A0.14) - задача выпуклого программирования и ее множество допустимых решений X = [х \ х е Rn, gj{x)< 0, j = 1,...,/и J имеет внутренние точки, то найденная по алгоритму Зойтендейка точка х* есть решение задачи A0.14) [29] . 3. Скорость сходимости алгоритма Зойтендейка оценивается как низкая по числу итераций [29]. Пример 10.5. Найти минимум в задаче f(x) = (х{ - 4J + (х2 - 5J -> min, gi{x) = -*i ^ 0, S3(x) = -x2<0. D I. Нахождение приближения точки х*. 1. Зададим х° = @;0,95)r,V/(jc°)ф0;e0 = 0,03;M = 10. 2. Положим к = 0. 3°. Проверим условие к^М: ? = 0<Л/ = 10. 4°. Вычислим gj(x°)j = 1,2,3: gl(jc°) = 0 + 0,95-1 = -0,05; g2(x°) = 0; g3(x°) = 5°. Проверяем выполнение условия -zk ? ?/(**) ^ 0, у = 1,...,/я: g,(x°) = -0,05 < -6О = -0,03; ^2(jc°) = 0; ?3(*°) = -0,95 < -е0 = -0,03. Активным является ограничение gi(x) --хх < 0,у = 2 € Ja. 6°. Записываем систему неравенств: V/(x°)V<0, Vg2(x°fd0<0. Имеем V/(x°) = (-8;-8,lO';Vg2(x0) = (-l;0)r и 7°. Записываем задачу линейного программирования z -> min, 8°. Решаем задачу линейного программирования. Для этого приводим ее к каноническому виду (см. §11), вводя следующие обозначения: x3-xA; z = x5~x6; xu...,x6>0. 313
Имеем х5 - х$ -> min, - 8xj + 8х2 - 8Дх3 + 8Дх4 - 1х5 + 1х6 + 1х7 = О, -1хг + 1х2 + 0*3 + 0х4 - 1*5 + 1*6 + 1*8 = О, 1хх - 1х2 + Ох3 + 0*4 + 0*5 + 0*6 + 1*9 = 1> -lxi + 1х2 + 0х3 + 0х4 + Ох5 + 0х6 +1*10 = 1» О*! + 0х2 + 1*3 ~ 1*4 + 0*5 + 0х6 +1хи = 1, (Ц + Ох2 - Ъс3 + 1*4 + 0*5 + 0х6 + 1х12 = 1, xj >0, У = 1, ..,12. Решение задачи линейного программирования с использованием симплекс- метода (см. § 11) имеет вид х{ = 1; х2 = 0; х3 = 1; х4 = 0; х5 =0; х6 = 0; х7 = 8,1; х8 =0; х9 = 0; х10 = 1; хи =0; х12 = 2. Поэтому ^° = 1; d\ = 1; z =0. 9°. Вычислим шаг Fo из условия A0.19). Имеем а) /(х° + *0 ^°) - ('о ~ 4J + (ГО - 4,05J -> min, = 0; /5=4,025; ^f dtl б) g\ х°+/0йГ) = f0 + 0,95+ f0-l = 2fo-O,O5 = 0, t0 >0; tQl =0,025; g2ix° +10 d°) = - t0 = 0, /0 > 0; поскольку второе ограничение активно и /0 = 0, величина t02 не вычисляется; ?з(*° + 'о d°) = ~ (^о + 0,95) = 0, t0 > 0; так как равенство выполняется только при ?0 = ~0,95 < 0, величина /q3 не вычисляется; в) Го** =min{^ }= 0,025; г) Fo = min {/о, t0**}= 0,025. 10°. Находим точку х1 = х° + to(l;l)T: х1 =@;0,95)Г + 0,025 A;1)Г =@,025; 0,975)Г. 11°. Вычисляем /(х1): /(х1) = 31,8 < 32,4 = /(х°). 12°. Проверяем условие окончания. Так как z = 0 > -0,03 = -е0, то расчет окончен, точка х1 есть найденное приближение точки х* = @;1)Г. II. Анализ точки х1. Так как решаемая задача есть задача выпуклого программирования, а множество X - [х | х е Л2, X! + х2 < 1, хх > 0, х2 > 0 } имеет внутренние точки, то х1 есть найденное приближенное решение задачи (см. п.2 замечаний 10.3). ¦ 314
Пример 10.6. Найти минимум в задаче /(x) = (x1-4J+(x2-5J^min, D I. Нахождение приближения точки х*. 1. Зададим х° = @;0,95)r, V/(x°)ф0;е0 = 0,03;М = 10. 2. Положим к = 0. 3°. Проверим выполнение условия к<М: Л: = 0< Л/ = 10. 4°. Вычислим ?;(х°), ] = 1,2,3: ^(х0) = 0^025 + 0 -1 = - 0,0975; g2(x°) = 0; Цх0) = -0,95. 5°. Проверим условия -ек ? ?/(**) ^ 0» У = 1,...,«: Л(х°) = -0,0975 <-бо = -0,03; *2(х0)«0; ^°) = -0,95 <-е0 =-0,03. Активным является ограничение g2(x) = -xj < 0, j = 2 € /Л. 6°. Запишем систему неравенств V/(x°)V<0, Wg2(x°fd0<0. Имеем V/(x°) = (-8;-8,lf; Vg2(x°) = (-l;0)r и 7°. Запишем задачу линейного программирования 8°. Решим задачу линейного профаммирования. Приведем ее к каноническому виду, вводя обозначения: df = хх - х2; d2 = х3 - х4; г = х5 - х6; Х!,...,х6 >0. Имеем Х5 ~ *6 -> И^» -8х, +8х2 -8Дх3 + 8Дх4 -1х5 +1х6 +1х7 =0, -1х! + 1х2 + 0х3 + 0х4 - 1х5 + 1х6 + 1х8 = 0, 1х! - 1х2 + 0х3 + 0х4 + 0х5 + 0х6 + 1х9 = 1, -1х! + 1х2 + 0х3 + 0х4 + 0х5 + 0хб + 1х10 = 1, 0xt + 0х2 + 1х3 - 1х4 + 0х5 + 0х6 + 1хи = 1, Oxj + 0х2 - 1х3 + 1х4 + 0х5 + 0х6 + 1х12 = 1, х,2>0, У-1 12. 315
С использованием симплекс-метода получаем следующее решение задачи линейного программирования: Х!=1; х2=0; *з = 1; x4=Q; jc5 = 0; Хб=0; х7=8,1; х% = 0; х9 = 0; х10 =1; хи = 0; х12 = 2. Следовательно, d% = 1; ^/§ =1; z* = 0. 9°. Вычислим величину Fo из условия A0.19). Имеем a) /(х° +tod°) = (to -4J +(*0-4,05J -> min, ^ 2(f04)+2(/04,05) 0; < =4,025; «о +ro-l = O,/o^O; /</=0,033; g2(x° +tQd°) = -tQ=O, t0>0; поскольку второе ограничение активно и ;0 = 0, величина /02 не вычисляется; ^з(^° + ^о^°) = -(^о + 0^5) = 0, tQ^O; так как равенство выполняется только при t0 = -0,95 < 0, величина /03 не вычисляется; в) /0" - min {*,/ )=0,033; г) 70 = min {r0*, *о"}= min {4,025; 0,033} = 0,033. 10°. Находим точку х1: х1 =@;0,95)г +0,033 A;1)г =@,033; 0,983)г. 11°. Вычислим /(jc1): /(x1) = 31,87 < 32,4 =/(jc°). 12°. Проверим условие окончания. Так как z = 0 > -0,03 = -е0, то расчет окончен, точка х1 есть найденное приближение точки х* = @;1)г. II. Анализ точки х1. Так как данная задача есть задача выпуклого программирования и множество X = \х\хе Я2,Х2 + х{ -1 < 0, jq ?0, х2 >0} имеет внутренние точки, то точка х1 есть найденное приближенное решение задачи (см. п.2 замечаний 10.3). ¦ Задачи для самостоятельного решения Методами проекции градиента и Зойтендейка решить задачи: 1. f(x) = 3х{2 + 4*1 х2 + 5х22 -> min, хх ? 0, х2 ^ 0, X! + jc2 > 4. Ответ: точное решение х* = (ЗД)Г. 2. f(x) = (х, - 4J + (х2 - 2J -+ min, Xj + х2 ^ 3, xi 10, х2 ^ 0, xt + 2x2 й 4. Ответ: точное решение х* = (^о.КO • 3. /(х) = -X! - х2 -> min, 316 Ответ: точное решение х* = @*%, А)Т •
Глава IV. ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ § 11. МЕТОДЫ РЕШЕНИЯ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ 11.1. СИМПЛЕКС-МЕТОД ДАНЦИГА 11.1.1. Решение канонической задачи Постановка задачи Найти максимум функции л при ограничениях п ^Ojj Xj = fy, i = l,...,m; m<n, (П-2) x,>0, y = l,...,п. A1.3) Задача (ИЛ)-(П.З) называется канонической, а искомое решение х* = (xf,...,x*)^ называется оптимальным. Замечания 11.1. 1. Максимизируемая функция и ограничения линейны по х,, у = 1,...,я. 2. Задача содержит ограничения A1.3) на неотрицательность переменных, присутствие которых диктуется процедурой описанного ниже симплекс-метода. Если по физической постановке задачи какая-либо переменная, например хп, неограничена по знаку, то ее можно представить в виде хп - хя+! - хп+2, где 3. Будем считать, что в ограничениях A1.2) все числа fy>0, i = l,...,m. Этого можно добиться, умножая ограничения, где bt < 0, на " -1". Стратегия поиска Стратегия метода Данцига [Dantzig G.B.] решения задачи A1.1) - A1.3) основана на особенностях постановки этой задачи. Множество jaijxj=bi', / = l,...,m; xeRn9 Xj >0; j = l,..., л допустимых решений задачи, определяемое ограничениями A1.2), A1.3), есть выпуклое множество, которое геометрически представляет собой выпуклый политоп, имеющий конечное число крайних точек. 317
Крайней точкой выпуклого множества X называется точка х е X, которая не может быть выражена в виде выпуклой комбинации других точек у е X, х*у. Классический метод Гаусса-Жордана решения систем линейных уравнений A1.2) состоит в приведении их к виду Ч +okm+lxm+l+...+ aksxs+...^aknxn =bk, A1.4) Переменные хь...,хт, входящие только в одно из уравнений системы A1.4) с коэффициентами 1, а во все остальные уравнения с коэффициентами, равными нулю, называются базисными, в то время как остальные п-т переменных называются небазисными (свободными). Базисным решением системы A1.4) называется решение х, Д, / = 1 «; хт+{ = ...= *„ =0. Базисное решение называется допустимым, если х, > 0, i - 1,...,/и. Базисное решение называется невырожденным, если х( >0, / = 1,...,/я. Множество крайних точек политопа X , определяемого ограничениями A1.2), A1.3), соответствует множеству допустимых базисных решений системы A1.2), и при этом одному базисному решению соответствует одна крайняя точка. Утверждение 11.1. Если функция f(x) в задаче A1.1) - A1.3) достигает максимума на политопе X, определяемом ограничениями A1.2), A1.3), то она достигает его по крайней мере в одной крайней точке этого политопа. Если она достигает его в нескольких крайних точках, то она достигает его на любой выпуклой комбинации этих крайних точек [28]. Теорема определяет стратегию решения задачи, реализованную с помощью симплекс-метода, - это направленный перебор базисных решений, определяющих крайние точки политопа. Направленность перебора предполагает следующую организацию вычислительного процесса. 1. Нахождение начального базисного решения. 2. Переход от одного базисного решения к другому таким образом, чтобы обеспечить возрастание f(x). Способы нахождения начального базисного решения. Первый способ. Начальное базисное решение в симплекс-методе Данцига определяется по следующему правилу: за начальные базисные переменные берутся те т переменных, при которых коэффициенты в уравнениях A1.2) образуют единичную матрицу. Такой ситуации можно добиться, используя преобразования Гаусса-Жордана, приводя систему A1.2) к виду A1.4), и тогда начальное базисное решение имеет вид хт+1 =. =0. 318
Второй способ. Осуществляется переход к Л/-задаче. Задача A1.1) - A1.3) записывается в расширенной форме, когда в каждое из уравнений A1.2) записывается по одной новой переменной, которые называются искусственными: +i ¦* maX ' < И.5) ^j = l,...,m; A1.6) Xj >0, j = l,...,w; xn+l>0, i = l,...,/w. A1.7) где "пц - ujj, bj = ty. Верхняя черта в A1.6) поставлена с целью унификации обозначений с A1.4). Задача A1.5) - A1.7) называется М-задачей. Целевая функция т A1.5) содержит дополнительное слагаемое -M^Xn+i > гДе М > 0 - достаточно i=i большое число. Назначение этого слагаемого состоит в том, чтобы в ходе решения задачи A1.5) - A1.7) вывести искусственные переменные из состава базисных. Если в результате решения задачи окажется, что искусственные переменные входят в состав базисных и их значения не равны нулю, то это означает, что ограничения A1.2) несовместны. Переменные xn+i являются базисными и начальное базисное решение имеет вид xn+i =*V> 1 = 1,....да; х{ =...= *„ =0. A1.8) Геометрически решению A1.8) соответствует начало координат в пространстве Rn исходных переменных задачи A1.1) - A1.3). Переход от одного базисного решения к другому. Он соответствует переходу от одной вершины политопа к другой в направлении возрастания функции f(x). Процедура расчетов связана с использованием симплекс-таблиц, каждая из которых соответствует текущему базисному решению (табл. 11.1). Пропуск вершины при описанном переходе будет исключен, если состав базисных переменных нового и старого решения будет отличаться только на одну координату. Выбор координаты, которая должна быть введена в число базисных, определяется из требования максимального прироста функции при переходе от одного решения к другому. Прирост целевой функции при введении в базис координаты Xj из числа небазисных характеризуется относительной оценкой Ау: АУ =CJ -ILWU =CJ -Zj> Zj = f>fa/>f /=1 /=i где cj - коэффициент целевой функции при переменной Xj; iB - индекс базисной переменной, расположенной в /-м уравнении (/-й строке симплекс- таблицы); ciB - коэффициенты целевой функции при текущих базисных переменных; Tijj - элементы столбца коэффициентов при переменной Xj в системе Уравнений, соответствующей текущему базису. 319
Таблица 11.1 БП БР *\ «11 Z\ Ai *2 ап <*т2 Z2 А2 -Л/ 0 1 Zn+m CJ БР Zj AJ min ¦=*. \=г Обозначения имеют следующий смысл: БП - базисные переменные, БР - базисное решение. При переходе в базис вводится та переменная хг, для которой Ar - max &j> где JH - множество индексов небазисных переменных. Столбец, j *jh соответствующий выбранной оценке, в таблице помечается знаком ® . Новая переменная хг вводится на место переменной xSg, удаляемой из числа базисных, номер которой sg, а также номер 5 соответствующей строки таблицы, определяются из условия A1.9) где xiB - значение координаты текущего базисного решения, соответствующей / -й строке; a~ir - коэффициент при координате хг в / -й строке. Рассматриваются только неотрицательные отношения (если коэффициент "air отрицателен или равен нулю, то отношение не подсчитывается и на его месте в приведенных далее таблицах ставится знак "--")• Строка, соответствующая выбранному отношению, в таблице помечается знаком <В>. Вместо координаты х$в в состав базисных вводится координата х,. , значение которой находится по формуле ягг=^-. A1.10) Элемент "asr называется разрешающим и выделяется в таблице прямоугольником. Координата xSg становится небазисной и равной нулю. Новое базисное решение определяется на основании текущего базисного решения по формулам Процесс перехода заканчивается, когда найдено такое базисное решение, что все относительные оценки Ау, j = 1,...,/я + я, становятся неположительными. Это базисное решение и является оптимальным. 320
Алгоритм решения канонической задачи Шаг 1. Найти начальное базисное решение. а) записать исходную каноническую задачу одним из двух способов: - в форме A1.1),(П.4),A1.3) при помощи линейных преобразований; - в расширенной форме A1.5)—A1.7) с помощью перехода к М -задаче; б) выделить базисные переменные (их можно подчеркнуть), входящие только в одно из уравнений системы A1.4) или A1.6) с коэффициентами 1, а во все остальные с коэффициентами, равными нулю; в) выделить свободные переменные (все остальные, кроме базисных); г) найти начальное базисное решение, полагая свободные переменные равными нулю. Шаг 2. Заполнить табл. 11.1: а) столбец базисных переменных {БП)\ б) столбец базисного решения (БР); в) строку Cj и столбец cig коэффициентов функции A1.1) или A1.5). В столбец ci& записываются коэффициенты, соответствующие базисным переменным; г) совокупность коэффициентов <я)у систем A1.4) или A1.6). Шаг 3. Вычислить относительные оценки т т ду = cj ~ Т*с*в*и = CJ " ZJ > ZJ = Ъ%*и ' J = *' •'т + п ' и записать их в таблицу. Заметим, что для базисных переменных оценки равны нулю. Этот факт можно использовать как для проверки правильности заполнения таблицы, так и для сокращения вычислений. Шаг 4. Проанализировать относительные оценки: а) если все оценки Л у неположительны, т.е. то расчет закончен и следует найти полученное базисное решение. Значения базисных переменных содержатся в столбце БР, а остальные переменные полагаются равными нулю, как свободные. Проанализировать полученное базисное решение: - если число нулевых оценок Лу =0 равно числу базисных переменных, задача имеет единственное решение. Если число нулевых оценок Aj = 0 превышает число базисных переменных, то задача имеет бесконечное множество решений', - если все Ду неположительны, но базисное решение содержит хотя бы одну искусственную переменную, не равную нулю, то ограничения задачи несовместны; 21-4751 321
б) если среди оценок есть положительные, то следует найти среди них максимальную: Аг = max Ду, J где J н - множество индексов небазисных переменных, и проанализировать коэффициенты столбца таблицы, которому соответствует максимальная положительная оценка (если таких оценок несколько, принято выбирать оценку с наименьшим номером). Если этот столбец содержит хотя бы один положительный коэффициент, то номер столбца обозначается через г и переменная, соответствующая ему, должна быть введена в число базисных. Если среди коэффициентов этого столбца нет ни одного положительного коэффициента, то это означает, что множество допустимых решений задачи не ограничено, функция f(x) не ограничена сверху и задача решения не имеет. Столбец, соответствующий выбранной оценке, помечается <8> . Он называется разрешающим. Шаг 5. Поделить элементы столбца базисных решений (БР) на соответствующие элементы разрешающего столбца и среди полученных частных выбрать наименьшее. Строка, соответствующая выбранному отношению, помечается <8> . Она называется разрешающей. Таким образом, новая переменная хг вводится на место переменной xSg, удаляемой из числа базисных, номер которой sBi а также номер s соответствующей строки таблицы, определяются из условия mm •=*- =-=И-, l/[j asr где XjB - значение координаты текущего базисного решения, соответствующей / -и строке; Ъ~1Г - коэффициент при координате хг в / -й строке. Если таких переменных окажется больше одной, то из базиса выводится та переменная, которая имеет больший номер. Заметим, что рассматриваются только неотрицательные отношения, т.е. если коэффициент a~ir отрицателен или равен нулю, то отношение не подсчитывается и на его месте в приведенных далее таблицах ставится знак "--". Элемент "asr , расположенный на пересечении разрешающей строки и разрешающего столбца, называется разрешающим и выделяется в таблице прямоугольником. Удобно использовать следующее правило: из числа базисных выводится переменная, соответствующая разрешающей строке, а на ее место вводится переменная, соответствующая разрешающему столбцу. Шаг 6. Вычислить новое базисное решение, осуществив пересчет таблицы: а) вместо координаты xSg в состав базисных ввести координату хг , значение которой находится по формуле _ и пересчитать 5-ю строку , в которой произошли изменения по базису: 322
asj =-=г asr Таким образом, каждый элемент строки, отмеченной ® , делится на разрешающий элемент "asr; б) вычислить все остальные коэффициенты: Новое базисное решение определить на основании текущего базисного решения по формулам Для упрощения вычислений по приведенным формулам используется "правило прямоугольника'1. Пусть подсчитывается значение я|у. Следует соединить элемент "а^ в пре! дыдущей таблице с разрешающим элементом!^. . Получена одна из диагоналей прямоугольника. Вторую диагональ образует соединение элементов "air и <75у . Далее из текущего значения 2)у вычитается произведение элементов ~air и ~asj, деленное на разрешающий элемент <^г(рис. 11.1). asyair -—тг Рис. 11.1 Перейти к шагу 3. Замечания 11.2. 1. Если в задаче A1.1)—A1.3) в каждом уравнении имеется базисная переменная, то на шаге 1 нет необходимости делать линейные преобразования или вводить искусственные переменные. 2. Если решается задача поиска минимума, то стратегия симплекс-метода аналогична, только в базис вводится переменная, которой соответствует наименьшая отрицательная оценка Дг. Процесс перехода заканчивается, когда найдено такое базисное решение, что все относительные оценки Ау, у = 1,...,ж +л становятся неотрицательными: Лу > 0, у = 1,...,/я + л. Сходимость Утверждение 11.2. При условии невырожденности симплекс-метод сходится за конечное число шагов [28]. Утверждение базируется на том, что число вершин выпуклого политопа конечно, а требование строгого возрастания функции при переходе от вершины к вершине исключает прохождение одной и той же вершины дважды. 323
xs В вырожденном случае, когда х5в = 0 и соответственно хг = -тг2- = 0, про- asr исходит замена индексов базисных координат, но не их значений. В ряде случаев в результате некоторого числа таких замен базиса процедура может прийти к зацикливанию. Предотвратить зацикливание можно используя ряд приемов: например, с помощью лексикографической процедуры, описанной в [29]. 11.1.2. Решение основной задачи Постановка задачи Найти максимум функции при ограничениях п ^ajjXjZbt, / = 1,...,/и; A1.13) ?,uj ,р; A1.14) XjbQ, У-1 л. A1.15) Задача A1.12>—A1.15> называется основной. Предполагается, что fy^O, / = 1,...,/>. Стратегия поиска Для решения основной задачи симплекс-методом она должна быть приведена к канонической задаче путем введения в каждое ограничение по одной дополнительной переменной: в каждое ограничение-неравенство со знаком < вводится дополнительная переменная со знаком "+"(она становится базисной), а в каждое ограничение-неравенство со знаком ? вводится дополнительная переменная со знаком "-". Каноническая задача записывается следующим образом п f(x) = 2 cj xj -» max, A1.16) n ?-*,,+/ =bi9 / = l,...,m; A1.17) i = m + l,...,/>; A1.18) b0. A1.19) 324
Так как в общем случае в уравнениях A1.17) нет базисных переменных, то для того, чтобы можно было применить симплекс-метод, делается переход к М- задаче. В каждое из т уравнений A1.17) вводится искусственная переменная со знаком " + "(она становится базисной), а к целевой функции добавляется сумма искусственных переменных, умноженная на "- М ". В результате получаем задачу в расширенной форме: /(*) = I cjxj - М ? xn+p+i -> max, A1.20) 7-1 ,Р\ (П.22) xi*O,...,xH+p+mbQ. A1.23) Замечания 11.3. 1. Если решается задача поиска минимума целевой функции A1.12), то при переходе к М - задаче перед числом Мъ A1.20) ставится знак "+ ". 2. В случае двух переменных задача линейного программирования имеет простую геометрическую интерпретацию и может быть решена графически с помощью следующего алгоритма. Алгоритм 1. Построить множество допустимых решений. В общем случае оно представляет собой выпуклый многоугольник. Если ограничения в задаче несовместны, множество допустимых решений является пустым множеством, а задача поиска экстремума не имеет смысла. 2. Найти градиент целевой функции. В силу ее линейности градиент постоянен и может быть построен в любой точке координатной плоскости (как правило, он строится в начале координат). 3. Провести линию уровня функции, перпендикулярную градиенту. 4. Передвигать линию уровня параллельно самой себе до касания с множеством допустимых решений. Точки касания являются точками экстремума. 5. Классифицировать точки касания с использованием свойств градиента. В случае непустого множества допустимых решений возможны три типовых ситуации: а) задача имеет единственное решение (линия уровня касается множества допустимых решений в одной точке); б) задача имеет бесконечное множество решений (линия уровня касается множества допустимых решений вдоль стороны многоугольника); в) задача не имеет решения (множество допустимых решений не ограничено). 325
Заметим, что графически можно решать и задачи с ограничениями типа равенств, если число ограничений на единицу или на два меньше числа переменных. Способ решения: сведение к задаче с одной или двумя переменными соответственно. Для этого следует выразить целевую функцию и базисные переменные через свободные и воспользоваться условием неотрицательности, типичным для задач линейного программирования. Далее следует пользоваться приведенным алгоритмом графического решения задач линейного программирования. Пример 11.1. Решить графически следующие задачи линейного программирования: а) /(х) = -хх + х2 ->extr, б) f(x) = xj ->extr, в) f(x) = -хх -х2 ->extr, *! + х2 < 1, *i + х2 - *» jci ^ 1, jc2 ^ 1. х{ ?0, х2 ?0; хх >0, х2 ?0; П Воспользуемся алгоритмом. В задаче "а" (рис. 11.2,с) в точке А = @; 1)г достигается максимум, а в точке В = A; ОO- минимум. Очевидно, и минимум, и максимум единственные. В задаче "б"(рис. 11.2,6) в точке С =<1; 0)г достигается максимум, а на отрезке АВ - минимум, т.е. имеется бесконечное множество решений. Рис. 11.2 В задаче "в" (рис. 11.2,*) в точке А = A; 1)г достигается максимум, а минимума нет, так как множество допустимых решений в направлении антиградиента (наискорейшего убывания функции) не ограничено. ¦ 326
Пример 11.2. Найти максимум и минимум в задаче /(х) = -хх + 2х2 - х3 - х4 -+ extr, = 2, Х1 + Х2 + Х4 - 4» XjZO, 7 = 1,...,4. D Решается каноническая задача. Переменные х3 и jc4 являются базисными, так как они входят только в одно уравнение, причем с коэффициентом +1. Сначала решим задачу графически согласно п.2 замечаний 11.3: а) выразим базисные переменные через небазисные (свободные) и используем условие Xj > О, j = 1,... ,4: х3 = 2 + хх - х2 > 0, х4 = 4 - xj - х2 ? О, х, > 0, х2 > 0; б) выразим целевую функцию через небазисные (свободные) переменные: /(х) = -xi + 2х2 -2-Х|+х2-4 + х1+х2=-'6-Х1+ 4х2; в) решим полученную задачу линейного программирования /(х) = - 6 - х{ + 4х2 -> extr, 2 + Xi - х2 > 0, 4 - xj - х2 > 0, X! ? 0, Х2 ^ 0. Для этого построим соответствующее множество допустимых решений X. Затем найдем градиент: V/(x) = (-1;4)г, проведем линию уровня функции перпендикулярно градиенту и будем передвигать ее параллельно самой себе до касания с множеством допустимых решений. 4 - X! - х2 = О 327
Так как градиент направлен в сторону наискорейшего возрастания функции в данной точке, то в точке С = A3)^достигается максимум (рис. 11.3). Значения остальных переменных находятся из условий связи: *з =2 + 1-3 = 0; х4 =4-1-3 = 0. В результате получаем ответ в исходной зада- Заметим, что минимум достигается в точке D = D,0)г. При этом х3 =2 + 4-0 = 6; ходной задаче x х4 =4-4-0 = 0. В результате получаем точку минимума в исn = D,0,6,0)г. Решим поставленную каноническую задачу симплекс-методом. 1. Найдем начальное базисное решение: а) согласно п.1 замечаний 11.2 нет необходимости вводить искусственные переменные, так как в каждом уравнении уже есть базисная переменная; б) подчеркнем базисные переменные х3 и х4 в уравнениях, описывающих ограничения; в) свободными переменными являются Xj и х2; г) начальное базисное решение находится при приравнивании нулю свободных переменных: хх = х2 = 0. Тогда хъ = 2, х4 = 4. Начальное базисное решение х = @; 0; 2; 4)т. Ему соответствует точка А на рис. 11.3. 2. Заполняем табл. 11.2 согласно алгоритму с учетом результатов п.1. Таблица 11.2 -1 -1 БП БР 2 4 -1 *i -1 1 2 *2 1 1 -1 1 0 -1 *4 0 1 ci БР air </ З1. Вычислим относительные оценки Д^, у = 1 4 : Д, =-1-[(-1)(-1) + (-1I] = -1, г,=(-1)(-1) + Д2=2-[(-1I + (-1).1] = 4, г2=(-1I + (-1 и занесем их в табл. 11.3. 328
Таблица 11.3 -1 -1 БП хъ хл БР 2 4 -1 *i -1 1 0 -1 2 1 1 -2 4 -1 *з 1 0 -1 0 -1 Х4 0 1 -1 0 БР */ 41. Проанализируем относительные оценки. Оценка А 2 = 4 > 0 наибольшая положительная. Анализируем столбец х2. Все коэффициенты положительны, г = 2. Вводим в базис переменную х2. 51. Определим переменную, выводимую из базиса. Для этого вычислим БР наименьшее из неотрицательных отношений •=—, оно равно 2 (табл. 11.4). По- этому выводим переменную х3. Таблица 11.4 -1 -1 БП *3 БР 2 4 -1 -1 1 0 -1 2 ш 1 -2 4 -1 *з 1 0 -1 0 -1 Х4 0 1 -1 0 с/ БР К = 2 • ^ = 4 ^; б1. Вычисляем новое базисное решение. Результаты пересчета табл. 11.4 приведены в табл. 11.5. Таблица 11.5 2 -1 БП Х2 Х4 БР 2 2 -1 *1 -1 2 2 1 0 -1 *з 1 -1 -1 Х4 0 1 БР Oir *J В табл. 11.5 в столбец БП введена переменная х2 вместо х3 (табл. 11.4). Первой пересчитывается строка, соответствующая введенной переменной дс2. Она получается в результате деления каждого элемента разрешающей строки 329
табл. 11.4, помеченной ®, на разрешающий элемент, равный 1. Остальные элементы пересчитываются по "правилу прямоугольника". Для второй строки табл. 11.4 имеем: 1- 1 1 Переходим к шагу 3. З2. Вычислим относительные оценки А,, у = 1,...,4 . Строка Ду пересчи- тывается по табл. 11.4 также по "правилу прямоугольника" (табл. 11.6): 4 • (-1) 4-1 4-1 0.4 A|=_l_±-L2>=3, A2.4-iji-0, Aj-O-5-i —4, Д4=0-^ = 0. Таблица 11.6 2 -1 БП *2 ХА БР 2 2 -1 *\ -1 2 -4 3 2 *2 1 0 2 0 -1 *з 1 -1 3 -4 -1 0 1 -1 0 CJ БР *1 42. Проанализируем относительные оценки и, как следствие, текущее базисное решение х2 = 2,х4 = 2, Xj = х3 = 0 . Ему соответствует точка 2? на рис. 11.3. Оценка A i = 3 > 0 наибольшая положительная. Следовательно, исследуемое решение не является оптимальным. Анализируем столбец х{. Среди его коэффициентов есть положительный, г = 1. Вводим в базис переменную xv 52. Определяем переменную, которая должна быть выведена из базиса. Для БР этого вычислим наименьшее из неотрицательных отношений •=—. Оно единству венно и равно единице (табл. 11.7). Следовательно, в базисе переменная хх заменяется переменной х4. Таблица 11.7 2 1 БП *2 Х4 БР 2 2 -1 *i -1 ш -4 3 2 *2 1 0 2 0 -1 *з 1 -1 3 -4 -1 *4 0 1 -1 0 с/ БР - % = 1 * Д7 330
б2. Вычисляем новое базисное решение. Результаты пересчета табл. 11.7 приведены в табл. 11.8. Таблица 11.8 % 2 -1 БП *2 х\ БР 3 1 -1 *i 0 1 2 *г 1 0 -1 хъ 1/2 -1/2 -1 1/2 1/2 cj БР */ В табл. 11.8 в столбец БП на место х4 введена переменная хх. Первой пе- ресчитывается строка, соответствующая введенной переменной х{. Она получается в результате деления каждого элемента разрешающей строки табл. 11.7, помеченной 0, на разрешающий элемент, равный 2. Остальные элементы пересчи- тываются по "правилу прямоугольника". Для первой строки имеем: 2 2 2 2 2 2 2 Переходим к шагу 3. З3. Вычисляем относительные оценки Лу, j = 1,...,4 . Строка Ду пересчи- тывается по табл. 11.7 по "правилу прямоугольника*' (табл. 11.9): д -з Д1 -J— Д2=0-^ = 0, Д3=-4-; 31 3 2 2 Таблица 11.9 2 -1 БП *2 *[ БР 3 1 -1 \ 0 1 -1 0 2 1 0 2 0 -1 *з 1/2 -1/2 3/2 -5/2 -1 *4 1/2 1/2 1/2 -3/2 ci БР h 43. Проанализируем относительные оценки и, как следствие, текущее базисное решение х2 = 3, хх = 1, хъ = дс4 = 0 . Так как все Ау- < 0, на текущем базисном решении достигается максимум. Так как число нулевых оценок равно числу базисных переменных, то решение единственное. Этому решению соответствует точка С на рис. 11.3. Таким образом, в процессе применения процедуры симплекс-метода произошел направленный перебор вершин множества допустимых решений. Переход из вершины Л в вершину В , а затем в С связан с последовательным увеличением значения целевой функции. 331
Найдем минимум в поставленной задаче. Используем табл. 11.3, т.е. будем считать, что шаги 1-3 алгоритма реализованы (табл. 11.10). Таблица 11.10 -1 -I БП *з БР 2 4 -1 *i -1 ш 0 -1 2 1 1 -2 4 -1 *з 1 0 -1 0 -1 *4 0 1 -1 0 БР Я/г — 41. Проанализируем относительные оценки. Поскольку ищется минимум, то согласно п.2 замечаний 11.2 условием окончания процесса является неотрицательность всех относительных оценок, а при выборе разрешающего столбца следует найти наименьшую отрицательную относительную оценку. Оценка Aj = -1 - наименьшая отрицательная. Анализируем столбец хх. Среди коэффициентов есть положительный, поэтому г = 1. Вводим в базис переменную х\. 51. Определяем переменную, которая должна быть выведена из базиса. Для - БР гь этого вычислим наименьшее из неотрицательных отношении •=—. Оно единству вен но и равно 4 (табл. 11.10). Следовательно, s = 2 и в базисе переменная х4 заменяется переменной Xj, расположенной во второй строке. б1. Вычисляем новое базисное решение. Результаты пересчета табл. 11.10 приведены в табл. 11.11. % -1 — 1 БП *з БР 6 4 -1 0 1 2 2 1 -1 1 0 -1 *4 1 1 Таблица 11.11 cj БР Zj А/ В табл. 11.11 в столбец 2>/7на место х4 введена переменная Х\. Первой пе- ресчитывается строка, соответствующая введенной переменной х{. Она получается в результате деления каждого элемента разрешающей строки табл. 11.10, помеченной ®, на разрешающий элемент, равный 1. Остальные элементы пере- считываются по "правилу прямоугольника". Для первой строки имеем: 332
Переходим к шагу 3. З2. Вычисляем относительные оценки Лу, j = 1,...,4 . Строка Лу пересчи- тывается по табл. 11.10 по "правилу прямоугольника" (табл. 11.12): Таблица 11.12 -1 -1 БП *з БР 6 4 -1 *i 0 1 -1 0 2 *2 2 1 -3 5 -1 *з 1 0 -1 0 -1 1 1 -2 1 ci БР Zj 42. Проанализируем относительные оценки и, как следствие, текущее базисное решение х3 = 6, хх = 4, х2 = х4 = 0 . Так как все оценки Ау > 0, на текущем базисном решении достигается минимум. Так как число нулевых оценок равно числу базисных переменных, то решение единственное. Этому решению соответствует точка D на рис. 11.3. ¦ Пример 11.3. Найти максимум в задаче /(х) = X] + 4х2 -10*3 2хх + Зх2 3xj + 9*2 ¦ niax, D 1. Найдем начальное базисное решение: а) записываем поставленную каноническую задачу в расширенной форме (П.5МП.7) fix) - Х\ + 4дс2 - Юх3 - М • (х4 + х5)-> max, 2jcj + Зх2 + 4х3 + 1х4 + 0х5 =18, 3xj + 9х2 + х3 + 0х4 + 1х5 = 54, ху>0, у = 1,...,5; б) подчеркнем базисные переменные х4 и х5 в уравнениях, описывающих ограничения; в) свободными переменными являются хьх2,хз; г) начальное базисное решение находится при приравнивании нулю свободных переменных: Xj = х2 = х3 = 0. Тогда х4 = 18, х5 = 54. Начальное базисное решение х = @,0,0,18,54)г. 333
2. Заполняем табл. 11.13 согласно алгоритму с учетом результатов п.1 Таблица 11.13 -м -м БП Х4 Х5 БР 18 54 1 *i 2 3 4 *2 3 9 -10 *з 4 1 -М Х4 1 0 -м Х5 0 1 с( БР *ir *f З1. Вычислим оценки А., j = 1,...,5, и занесем их в табл.11.14. Таблица 11.14 -м -м БП Х4 Х5 БР 18 54 1 *i 2 3 -5М 1 + 5М 4 3 9 -им 4+12М -10 хг 4 1 -5Л/ -10 + 5А/ -Л/ Х4 1 0 -м 0 -м Х5 0 1 -Л/ 0 cf ZJ 41. Проанализируем относительные оценки. Оценки AbA2»A3 >0> из них Л 2 >0 наибольшая. Анализируем столбец х2. Все коэффициенты положительны, г = 2. Вводим в базис переменную jc2. 5!. Определим переменную, выводимую из базиса. Для этого вычислим наименьшее из неотрицательных отношений SL, оно равно 6 (табл. 11.15). По- скольку оба отношения одинаковы, то выводим переменную х5, имеющую наибольший номер. Таблица 11.15 -М БП Х4 Х5 БР 18 54 1 *i 2 3 ~5М 1 + 5М 4 3 -12М 4+ 12Л/ -10 ^3 4 1 -5М -10 + 5М -Л/ *4 1 0 -м 0 -Л/ *5 0 1 -м 0 6 6 б1. Вычисляем новое базисное решение. Результаты пересчета табл. 11.15 приведены в табл. 11.16. 334
Таблица 11.16 -м 4 БП х4 БР 0 6 1 *i 1 1 3 4 х2 0 1 -10 *з 11 3 1 9 -М *4 1 0 -Л/ *5 1 " 3 1 9 ЯР «/г */ Переходим к шагу 3. З2. Вычислим оценки Л7, j = 1,...,5, и занесем их в табл. 11.17. Таблица 11.17 с'в -М 4 БП Х4 Х2 БР 0 6 м м 1 \ 1 1 4- 4 3 1 3 4 *г 0 1 4 0 -10 Хз И 3 1 9 им 3 1Ш 3 4 + 9 94 9 -М 1 0 -Л/ 0 -Л/ 1 " 3 1 9 М 3 + 4Л/ з ¦ 4 9 4 9 с. ?Р в/г «У ДУ 42. Проанализируем относительные оценки. Оценки Aj>0, А3>0,из них Л з - наибольшая. Анализируем столбец хъ. Его коэффициенты положительны, г = 3. Вводим в базис переменную х3. 52. Определяем переменную, которая должна быть выведена из базиса. БР Наименьшее из неотрицательных отношений •=— равно нулю (табл. 11.18). а,г -м 4 БП Х4 Х2 БР 0 6 1 *i 1 1 3 Л/4- 4 —М + о «-I 4 ^2 0 1 4 0 -10 *з 3 1 9 НА/ " 3 им 3 " 4 + 9 94 9 -М 1 0 -Л/ 0 Таблица -М Х5 1 3 1 9 М 4 3 + 9 4Л/ 4 " 3 " 9 11.18 cj БР air 0<8) 54 h ЛУ 335
Следовательно, в базисе переменная хА заменяется переменной х3. б2. Вычисляем новое базисное решение. Результаты пересчета табл. 11.18 приведены в табл. 11.19. Таблица 11.19 с*в -10 4 БП хъ Х2 БР 0 6 1 *1 3 11 10 33 4 0 1 -10 хз 1 0 -м Х4 3 11 1 " 33 -м Х5 1 11 12 99 с, БР Переходим к шагу 3. З3. Вычисляем оценки Ау, j = 1,...,5, и заносим их в табл. 11 20. -10 4 БП хз Х2 БР 0 6 1 3 11 10 33 50 " 33 83 33 4 0 1 4 0 -10 *з 1 0 -10 0 -Л/ ХА 3 11 1 33 94 " 33 -л/+ || Таблица -М Х5 1 И 12 99 138 99 м 138 11.20 Cj БР z; 43. Проанализируем относительные оценки. Оценка А, > 0, значит, текущее базисное решение не является оптимальным. Анализируем коэффициенты столбца X!. Они положительны, г = 1. Следовательно, вводим в базис переменную х,. 53. Определяем переменную, которая должна быть выведена из базиса. Для этого вычисляем наименьшее из неотрицательных соотношений ¦=—. Оно равно нулю (табл. 11.21). 336
-10 4 БП хг БР 0 6 1 * 11 10 33 50 33 83 33 4 -г 0 1 4 0 -10 *з 1 0 -10 0 -м *4 3 11 1 ~ 33 94 " 33 94 Таблица -Л/ *5 1 11 12 99 138 99 11.21 CJ БР 0® 198 10 ZJ AJ Следовательно, заменяем переменную х3 переменной хх. б3. Вычисляем новое базисное решение. Результаты пересчета табл. приведены в табл. 11.22. 11.21 Таблица 11.22 с*в 1 4 БП *\ Х2 БР 0 6 1 *i 1 0 4 х2 0 1 -10 *з 11 3 по " 99 -М *4 1 11 33 -м Х5 1 " 3 22 "99" БР *,- Переходим к шагу 3. З4. Вычисляем оценки Ау, j = 1,...,5, и определяем, является ли решение х2 = 6 , X| = х3 = х4 = jc5 = 0 оптимальным. Таблица 11.23 1 4 БП хх х2 БР 0 6 1 1 0 1 0 4 0 1 4 0 -10 *з 11 3 НО 99 77 99 913 99 -Л/ *4 1 И 33 и ~ 33 -Л/ + -У- -м Х5 1 " 3 22 99 55 -99 -м - 99 БР ZJ 22 — 4751 337
44.Все оценки А, <0, следовательно, базисное решение х,* =0, х2* =6, *з* = Х4* = Х5* = ° является оптимальным. Решение примера 11.3 получается путем отбрасывания искусственных переменных x4ix5: x* = @,6,0)г. Заметим, что базисные решения, полученные в табл. 11.19 и 11.23, являются одинаковыми в количественном отношении и отличаются лишь составом базисных переменных, но не их значением. Такая ситуация вызвана тем, что оба базисных решения являются вырожденными. ¦ Пример 11.4. Найти максимум в задаче f(x) = Xi-x2-> max, -хх +2x2 <4, 3xj +2x2 <14, x[9x2>0. П 1. Согласно разд. 11.1.2 приведем поставленную основную задачу к канонической. Так как оба неравенства имеют знак <, то вводим дополнительные переменные хъ и хА со знаком "+" (они становятся базисными). В итоге получаем каноническую задачу: - ljq + 2х2 +1*3 + 0дс4 = 4, 3xj + 2х2 + 0х3 +1*4 = 14, xj,...,x4>0. Решаем ее симплекс-методом. 1. Находим начальное базисное решение: х{ = х2 = 0 (так как бодные переменные), дс3 = 4, х4 = 14. 2. Заполняем табл. 11.24 согласно алгоритму. j , х2 - своТаблица 11.24 0 0 БП *4 БР 4 14 1 *i -1 3 2 2 0 *з 1 0 0 *4 0 1 CJ БР */ З1. Вычисляем оценки Ду, j = 1,...,4, и заносим их в табл. 11.25. Выясним, является ли текущее базисное решение оптимальным. 338
Таблица 11.25 % 0 0 БП БР 4 14 1 *i -1 3 0 1 -1 2 2 0 -1 0 *з 1 0 0 0 0 *4 0 1 0 0 с/ БР *# 41. Проанализируем относительные оценки. Очевидно, только Aj =l>0, поэтому анализируем коэффициенты столбца, в котором стоят коэффициенты при переменной хх. Столбец содержит один положительный коэффициент и, следовательно, г = 1, т.е. переменная хх вводится в число базисных. 51. Определяем переменную, выводимую из базиса. Для этого вычисляем БР 14 наименьшее из неотрицательных отношений •=—. Оно равно — (табл. 11.26). air 3 Следовательно, переменная дс4 должна быть заменена переменной хх. Таблица 11.26 0 0 БП *з *4 БР 4 14 1 *i -1 ш 0 1 -1 2 2 ' 0 -1 0 *з 1 0 0 0 0 *4 0 1 0 0 с/ БР ~ б1. Находим новое базисное решение ( результаты пересчета в табл. 11.27). Таблица 11.27 0 1 БП хг *\ БР 26 3 11 3 1 *i 0 1 -1 3 2 3 0 *з 1 0 0 *4 3 1 3 е1 БР h Переходим к шагу 3. 22* 339
З2. Вычисляем оценки А^, j = 1,...,4, и определяем, является ли базисное решение х3 = —, хх = —-, х2 = х4 = О оптимальным (табл. 11.28). Таблица 11.28 0 1 БП хъ х\ БР 26 3 14 3 1 0 1 1 0 -1 х2 8 3 2 3 2 3 5 3 0 1 0 0 0 0 ХА 1 3 1 3 1 3 1 3 т J А, Все оценки не положительны, следовательно, решение сформированной канонической задачи Xj =—, х2 =0, х$ = —, х4 = 0 является оптимальным. Решение примера 11.4 получается путем отбрасывания дополнительных переменных • 14 * Л х Х ° А*) «о Зх, + 2х2 = 14 14 Графически решению xj* = —, х2* = 0 соответствует вершина х* на рис. 11.4. 340
Пример 11.5. Найти максимум в задаче f(x) = хх - х2 -* max, -lx{ +2х2 >4, Зх, +2х2 <14, хьх2>0. ? Согласно разд. 11.1.2 приведем поставленную основную задачу к канонической. Так как первое неравенство имеет знак > , вводим дополнительную переменную x3 со знаком "-". Поскольку во втором неравенстве знак <, то вводим дополнительную переменную хА со знаком "+" (она становится базисной). В итоге получаем каноническую задачу: f(x) = х{ - х2 -> max, -х{ +2x2-x3 =4, Зх\ + 2х2 + ^4 = 14, Так как в первом уравнении нет базисных переменных, то перейдем к М - задаче. Для этого введем искусственную переменную х$ и добавим ее к целевой функции с коэффициентом " - М ". В результате получаем задачу в расширенной форме: f(x) = Xj - х2 - М х5 -> max , - Ijcj + 2х2 - 1*з + 0*4 +1*5 = 4, ЗХ\ + 2*2 + 0*3 + 1*4 Применим алгоритм симплекс-метода. 1. Найдем начальное базисное решение. Базисными переменными являются x5,x4, а свободными хх,х2,х3. Приравняем свободные переменные нулю. Тогда х{ = х2 = х3 = 0 и х4 = 14, х5 = 4. Начальное базисное решение @; 0; 0; 14; 4)г. Начальному базисному решению соответствует начало координат на рис. 11.5. 2. Заполняем табл. 11.29 согласно алгоритму. -м 0 БП Х5 *4 БР 4 14 1 *i -1 3 -1 2 2 0 *з -1 0 0 ХА 0 1 Таблица 1 0 i 11.29 с( БР Zj 341
-X! + 2х2 = 4 /W = 0^1"v/ \зх1+2х2=14 Рис. 11.5 З1. Вычисляем относительные оценки Ау, j = 1,...,5 : Л, =1-[НЮ Результаты заполняем в табл. 11.30. -м 0 БП *4 БР 4 14 1 *1 -1 3 м 1-М -1 2 2 -2АГ -1 + 2М 0 *з -1 0 М 0 0 1 0 0 Таблица -ЛГ 1 0 -м 0 11.30 БР *i 41. Проанализируем относительные оценки. Оценка Л2 = -1 + 2М > 0 , так как М > 0 , и, следовательно, текущее базисное решение хА = 14, jc5 = 4, л:, = jc2 = х3 = 0 не оптимально. Анализируем коэффициенты столбца при переменной х2. Так как оба коэффициента положительны, то г = 2 и переменная х2 должна быть введена в число базисных. 342
51. Определяем переменную, выводимую из базиса. Для этого вычисляем БР 4 14 отношения ¦=-. Имеем —,— (см. табл. 11.31). Выбираем наименьшее значение. air 2 2 Следовательно, из числа базисных должна быть удалена переменная х5 и заменена переменной х2. Таблица 11.31 -М 0 БП Х5 ХА БР 4 14 1 *i -1 3 М 1- М -1 111 2 -2М -1 + 2М 0 хъ -1 0 м 0 ХА 0 1 0 0 -м Х5 1 0 -м 0 CJ БР 2® 7 б1. Вычисляем новое базисное решение, занося результаты пересчета табл. 11.31 в табл. 11.32. Таблица 11.32 -1 0 БП *2 ХА БР 2 10 1 1 4 -1 1 0 0 *з 2 1 0 Х4 0 1 Х5 2 -1 <7 БР В табл. 11.32 в столбец БП введена переменная х2 вместо х5. Первой пере- считывается строка, соответствующая введенной переменной х2. Она получается в результате деления каждого элемента разрешающей строки табл. 11.31, помеченной (8), на разрешающий элемент, равный 2. Остальные элементы пересчиты- ваются по "правилу прямоугольника". Для второй строки имеем: Переходим к шагу 3. З2. Вычисляем оценки Ду-, J = 1,...,5. Строка Ду пересчитывается по табл. 11.31 также по "правилу прямоугольника": 343
Ц, Д2=0) Д4 .о.(-и1Ю-о.о. A, Таблица 11.39 -1 0 БП *2 ХА БР 2 10 1 *i 1 " 2 4 1 2 1 2 -1 *! 1 0 -1 0 0 *з 1 2 1 1 2 1 ~ 2 0 0 1 0 0 Х5 1 2 -1 1 ~ 2 БР Ъг ZJ 42. Проанализируем относительные оценки и, как следствие, текущее базисное решение х2=2, х4 = \0, Х!=дсз=х5=0. Оценка Л! = —>0, поэтому анализируем коэффициенты столбца при переменной х{. Так как этот столбец содержит один положительный коэффициент, то г = 1 и переменная хх должна быть введена в число базисных переменных. 52. Определяем переменную, выводимую из базиса. Для этого вычисляем БР 10 наименьшее из неотрицательных отношений ¦=-. Оно равно —- (см. табл. 11.40). air 4 Следовательно, из базиса должна быть удалена переменная х4 и заменена переменной xj. Таблица 11.40 -1 0 БП Х4 БР 2 10 1 *i 141 1 2 1 2 х2 1 0 -1 0 0 1 2 1 1 2 1 2 0 *4 0 1 0 0 -м 1 2 -1 1 2 БР — «у ДУ 344
б2. Вычисляем новое базисное решение. Результат пересчета табл. 11.40 записываем в табл. 11.41. Таблица 11.41 -1 1 БП *2 БР 26 8 10 4 1 *1 0 1 -1 1 0 0 *з 3 " 8 1 4 0 Х4 8 1 4 -М Х5 3 8 1 4 Я/г h Переходим к шагу 3. З3. Вычисляем оценки 1,...,5, и определяем, является ли решение —, х2 = —, х3 = х4 = х5 = 0 оптимальным (табл. 11.42). 4 8 Таблица 11.42 _J 1 БП *2 х\ БР 26 8 10 4 1 0 1 1 0 -1 Х2 1 0 -1 0 0 3 8 1 4 5 8 5 " 8 0 *4 1 8 1 • 4 1 8 1 8 -М Х5 3 8 1 4 5 -т 5 -Л/ + у с; БР z J Д. J Все оценки Л, не положительны, следовательно, решение Xi = —, J 4 х2 =—, дс3 = х4 = JC5 = 0 является оптимальным. Решение исходной задачи 8 *,* =—, х2* -— получается путем отбрасывания дополнительных переменных 4 о *3,х4 и искУсственнои переменной х5 • Графически оно соответствует точке х* (рис. 11.5). ¦ 345
Пример 11.6. Найти максимум в задаче /(х) = X! - х2 -* max, -х1 + 2х2 > 4, 3xi + 2х2 > 14, х„х2>0. П Согласно разд. 11.1.2 приведем поставленную основную задачу к канонической. Так как оба ограничения-неравенства имеют знак > , вводим дополнительные переменные х3 и Х4 со знаком "-". В итоге получаем каноническую задачу: /(х) = х,-х2-»тах, - х{ + 2х2 - Ху = 4, 3jcj + 2x2 - х4 =14 хь...,х4 >0. Так как в обоих уравнениях нет базисных переменных, то перейдем к М - задаче. Для этого введем искусственные переменные jc5 и х$ в соответствующие уравнения со знаком "+", а их сумму добавим к целевой функции с коэффициентом "- М ". В результате получаем задачу в расширенной форме: f(x) - Х2 - М • + 2х2 - 1*з + 0*4 + 1*5 + 2X2 тах» Применим алгоритм симплекс-метода. 1. Найдем начальное базисное решение. Базисными переменными являются х5,х6, а свободными Х1,х2,хз,х4. Приравняем свободные переменные нулю. Тогда xj = х2 = х3 = х4 = 0 и х5 = 4,х6 = 14. Начальное базисное решение @; 0; 0; 0;4;14)г. Начальному базисному решению соответствует начало координат на рис. 11.5. 2. Заполняем табл. 11.43 согласно алгоритму. -М -М БП Х5 хь БР 4 14 1 *i -1 3 -1 х2 2 2 0 хъ -1 0 0 0 -1 -м Х5 1 0 -м Х6 0 1 Таблица 11.43 ci БР air *i А, 346
З1. Вычисляем оценки Aj9 у = 1,...,6, и определяем, является ли базисное решение х5 = 4, х6 = 14, х{ = х2= х$ = х4 =0 оптимальным (табл. 11.44). Таблица 11.44 -М -м БП Х5 Хв БР 4 14 1 *i -1 3 -2М 1 + 2М -1 *2 2 2 -AM -1 + ЛМ 0 *з -1 0 м -М 0 *4 0 -1 м -М -м Х5 1 0 -Л/ 0 -Л/ *6 0 1 -м 0 С/ БР h 41. Проанализируем относительные оценки. Положительными являются Д ! = 1 + 2М и А 2 = -1 + 4М, так как Л/ > 0, но наибольшей оценкой является д 2 • Следовательно, текущее базисное решение не является оптимальным. Анализируем коэффициенты столбца х2. Они положительны. Значит, г = 2, в базис должна быть введена переменная х2. 51. Определяем номер переменной, которая должна быть выведена из бази- БР са. Для этого вычисляем наименьшее из неотрицательных соотношений ¦=—. 4 Оно равно — =2 (табл. 11.45). Следовательно, из базиса выводится переменная х5 и заменяется переменной х2. Таблица 11.45 % -м -м БП Х5 Х6 БР 4 14 1 *\ -1 3 -2М 1 + 2М -1 Х2 Ш 2 -4М -1 + 4Л/ 0 -1 0 М -м 0 0 -1 м -м -м Х5 1 0 -м 0 -м хь 0 1 -м 0 БР - = 2 ® 14 7 2 ~7 «у А/ 347
б1. Вычисляем новое базисное решение. Результаты пересчета табл. 11.45 содержатся в табл. 11.46. Таблица 11.46 -1 -М БП Х2 Х6 БР 2 10 1 *i 1 2 4 -1 1 0 0 *з 1 2 1 0 0 -1 -м Х5 1 2 -1 -М Х6 0 1 БР h Переходим к шагу 3. З2. Вычисляем оценки Л7, у = 1,...,6, и определяем, является ли базисное решение х2 = 2,х6 = 10, jq = jc3 = х4 = jc5 = 0 оптимальным (табл. 11.47). Таблица 11.47 -1 -М БП Х2 Х6 БР 2 10 1 *i 1 " 2 • 4 ~-4Л/ -1 1 0 -1 0 0 хз 1 2 1 0 *4 0 -1 л/ -м Х5 1 2 -1 М - у -л/ 0 1 -Af 0 БР ZJ 42. Проанализируем относительные оценки. Оценки Д j, A 3 положительны, причем наибольшая Ль так как содержит больший коэффициент при М. Следовательно, текущее базисное решение оптимальным не является. Анализируем коэффициенты столбца xj. Один из коэффициентов является положительным, г = 1, в базис вводим переменную Х\. 52. Определяем переменную, которая должна быть выведена из базиса, вычисляя наименьшее из отношений •=-. Оно равно — (табл. 11.48). Из базиса air 4 выводится переменная х6 и заменяется переменной хх. 348
-1 -М БП Х2 Хв БР 2 10 1 2 1 1 1 2 LU -4Л/ + 4Л/ -1 Х2 1 0 -1 0 0 х3 1 " 2 1 2_; м-- 1 2 0 0 -1 М -М А 1 2 -М Х5 1 2 -1 '-7 - 2Л/ Таблица -Л/ 0 1 -А/ 0 11.48 Cj БР — б2. Вычисляем новое базисное решение. Результаты пересчета табл. 11.48 приведены в табл. 11.49. Таблица 11.49 с'в -1 1 БП Х2 Х\ БР 26 8 10 4 1 \ 0 1 -1 Х2 1 0 0 *з 3 8 1 4 0 Х4 1 "8 1 4 -М х5 3 8 1 " 4 -М Х6 1 8 1 4 с/ БР Переходим к шагу 3. З3. Вычисляем оценки Aj9 у = 1,...,6, и определяем, является ли базисное решение Xj = — ,х2 = — ,х3 = х4 = х5 = х6 = 0 оптимальным (табл. 11.50). 4 8 Таблица 11.50 -1 1 БП Х2 Х\ БР 26 8 10 4 1 0 1 1 0 -1 х2 1 0 -1 0 0 хг 3 " 8 1 4 5 8 5 8 0 Х4 1 ~ 8 1 4 1 8 -М Х5 3 8 1 4 5 8 {-Л/ -Л/ *б 1 8 1 4 1 8 с,. БР ZJ 349
+ 2х2=14 -хх + 2х2 = 4 Рис. 11.6 43. Оценка А 4 > 0, значит, решение Xi = —,х2 = —, х3 = х4 = х5 = х6 = О 4 8 оптимальным не является. Анализируем коэффициенты столбца х4. Они отрицательны. Следовательно, множество допустимых решений задачи не ограничено, на нем функция /(х) не ограничена сверху, т.е. задача 11.6 не имеет решения (рис. 11.6). ¦ Пример 11.7. Найти максимум в задаче /(х) = х, - х2 -> max, -4xj + 2х2 > 16, Зх! +2х2 < 14, х,,х2>0. D Согласно разд. 11.1.2 приведем поставленную основную задачу к канонической. Так как первое ограничение-неравенство имеет знак > , вводим дополнительную переменную х3 со знаком "-". Второе ограничение-неравенство имеет знак < , поэтому вводим дополнительную переменную х4 со знаком "+". В итоге получаем каноническую задачу: j +2x2 -х3 =16, +2x2 + х4 =14, Так как в первом уравнении нет базисной переменной, вводим искусственную переменную х5 и добавим ее к целевой функции с коэффициентом " - Л/ ". В результате получаем задачу в расширенной форме: 350
f(x) = x{ - x2 - M x5 -> max, - 4xl + 2x2 - lx3 + Ox4 + lx5 = 16, 3jt| + 2*2 + Охз + lx4 + 0x5 = 14, + lx4 + 0x5 xl9...,xs >0. Применим алгоритм симплекс-метода. 1. Найдем начальное базисное решение. Базисными переменными являются х5,х4, а свободными Xi,x2,x$. Приравняем свободные переменные нулю. Тогда Xj = х2 = х3 = О и х5 = 16 ,х4 = 14. Начальное базисное решение @; 0; 0; 14; \6)т. Начальному базисному решению соответствует начало координат на рис. 11.7. 2. Заполняем табл. 11.51 согласно алгоритму. Таблица 11.51 -м 0 БП Х5 *4 БР 16 14 1 хх -4 3 -1 2 2 0 *з -1 0 0 *4 0 1 -м Х5 1 0 CJ БР Я/г <у З1. Вычисляем оценки Ду, у = 1,...,5, и определяем, является ли решение х4 = 14, х5 = 16, Xi = х2 = хз = 0 оптимальным (табл. 11.52). Таблица 11.52 -м 0 БП Х5 *4 БР 16 14 1 *i -4 3 AM 1- 4М -1 *2 2 2 -2М -1 + 2М 0 хз -1 0 М -М 0 *4 0 1 0 0 -м Х5 1 0 -м 0 с, БР *ir 41. Проанализируем относительные оценки. Оценка Д 2 = -1 + 2Л/ > 0, исследуемое решение оптимальным не является. Анализируем столбец х2. Его коэффициенты положительны, г = 2. Вводим в базис переменную х2. 51. Определяем переменную, которая должна быть выведена из базиса, вы- БР числяя наименьшее из неотрицательных отношений •=—. Оно равно 7 (табл. 11.53). Из базиса выводится переменная х4 и заменяется переменной х2. 351
-м 0 БП Х5 *4 БР 16 14 1 *i -4 3 4М 1 -4ЛГ -1 х2 2 Ш -2АГ -1 + 2М 0 *з -1 0 Л/ -л/ 0 Х4 0 1 0 0 Таблица -М Х5 1 0 -м 0 11.53 ci БР 8 7® Af б1. Вычисляем новое базисное решение. Результаты пересчета табл. 11.53 приведены в табл. 11.54. Таблица 11.54 -м -1 БП Х5 Х2 БР 2 7 1 *i -7 3 2 -1 Х2 0 1 0 *з -1 0 0 *4 -1 1 2 -Л/ 1 0 CJ БР air Переходим к шагу 3. З2. Вычисляем оценки Лу, j = 1,...,5, и занесем их в табл. 11.55. Таблица 11.55 -м -1 БП Х5 Х2 БР 2 1 1 х\ -1 3 2 -пмЛ -1 Х2 0 1 -1 0 0 *з 0 Л/ -м 0 Х4 -1 1 2 М - j -М +j -м Х5 1 0 -м 0 БР ZJ 42. Все Ау, j = 1,...,5, неположительны, но в состав исследуемого базисного решения @,7,0,0,2)^ входит искусственная переменная х5, не равная нулю. Следовательно, ограничения исходной задачи несовместны (рис. 11.7). ¦ 352
/00 Рис. 11.7 Пример 11.8» Найти максимум в задаче /(х) = -2х, + 4х2 -> max, -х{ + 2х2 < 4, Зх| + 2х2 й 14, х,,х2>0. D Согласно разд. 11.1.2 приведем поставленную основную задачу к канонической. Так как оба неравенства имеют знак <, то вводим дополнительные переменные х3 и ха со знаком "+" (они становятся базисными). В итоге получаем каноническую задачу: /(х) = -2*1 + 4х2 -» max, - lxj + 2х2 + 1х3 + 0х4 = 4, 3xj + 2х2 + 0х3 + 1х4 = 14, хьх2,х3,х4 ^0. Решаем ее симплекс-методом. 1. Находим начальное базисное решение: х{ = х2 = 0 (так как бодные переменные), х3 = 4, х4 = 14. 2. Заполняем табл. 11.56 согласно алгоритму. \, х2 - сво- 23 — 4751 353
Таблица 11.56 0 0 БП *4 БР 4 14 -2 *i -1 3 4 *2 2 2 0 *з 1 0 0 *4 0 1 cj БР З1. Вычисляем оценки Д;, j = 1,...,4, и определяем, является ли базисное решение х3 - 4,х4 = 14, хх = х2 = 0 оптимальным (табл. 11.57). Таблица 11.57 0 0 БП хъ Х4 БР 4 14 -2 *i -1 3 0 -2 4 2 2 0 4 0 *з 1 0 0 0 0 *4 0 1 0 0 CJ БР h 41. Проанализируем относительные оценки. Оценка Д2>0, поэтому исследуемое решение оптимальным не является. Анализируем столбец x2. Его коэффициенты положительны, г = 2. Вводим в базис переменную х2. 51. Определяем переменную, которая должна быть выведена из базиса, вы- ЕР числяя наименьшее из неотрицательных отношений •=—. Оно равно 2 (табл. 11.58). Следовательно, из базиса выводится переменная х3 и заменяется переменной х2. Таблица 11.58 % 0 0 БП *з *4 БР 4 14 -2 *i -1 3 0 -2 4 х2 ш 2 0 4 0 *з 1 0 0 0 0 *4 0 1 0 0 CJ БР °ir 2 <8) 7 */ 354
б1. Вычисляем новое базисное решение. Результаты пересчета табл. 11.58 приведены в табл. 11.59. Таблица 11.59 % 4 0 БП х2 БР 2 10 -2 *i 1 " 2 4 4 1 0 0 *з 1 2 -1 0 0 1 БР h Переходим к шагу 3. З2. Вычисляем оценки Ду, у = 1,...,4, и определяем, является ли решение дс2 = 2,jc4 = 10,X] = jc3 = 0 оптимальным (табл. 11.60). Таблица 11.60 4 0 БП *4 БР 2 10 -2 *i 1 2 4 -2 0 4 1 0 4 0 0 *з 1 2 -1 2 -2 0 *4 0 1 0 0 42. Все оценки Ay, j = 1,...,4, неположительны, значит, исследуемое решение х2* = 2,х4* = 10,*i* = Хз* =0 оптимально. Значение целевой функции в точке максимума /тах = 8. Найденному решению соответствует вершина А на рис. 11.8. Однако, как следует из геометрической интерпретации исходной задачи, она имеет бесконечное множество решений, лежащих на ребре АВ. В этом легко убедиться с помощью симплекс-метода, если ввести в базис переменную Х\ вместо переменной х4, которой соответствует оценка А 4 = 0. Соответствующие расчеты приведены в табл. 11.61. Заметим, что равенство нулю оценки А( для небазисной переменной хх также свидетельствует о наличии бесконечного множества решений. 23* 355
-Xi + 2x2 = 4 Таблица 11.61 4 -2 БП Х\ БР 26 8 10 4 -2 *i 0 1 -2 0 4 1 0 4 0 0 *з 3 8 1 4 7 8 7 ~ 8 0 *4 1 8 1 4 0 0 CJ БР h Все оценки Ау, j = 1,...,4 неположительны, значит, исследуемое базисное решение jc2* =—>х\* ~—>хз* = ха = О оптимально. Значение целевой функции в 8 4 точке максимума /„^ =8. Полученному решению соответствует вершина В на рис. 11.8. Равенство нулю оценки Л4 для небазисной переменной хА в табл. 11.61 свидетельствует о наличии бесконечного множества решений. ¦ 356
11.2. ДВУХФАЗНЫЙ СИМПЛЕКС-МЕТОД Постановка задачи Найти максимум функции f(x)=?cjXj A1.24) >1 при ограничениях л Y,aijxj'=*/» i = h.,m\ m<n\ A1.25) A1.26) Стратегия поиска Двухфазный симплекс-метод использует двухэтапную процедуру решения задачи A1.24) - A1.26), минуя решение М-задачи. Первая фаза. Определение начального базисного решения для задачи A1.24) - A1.26). Каноническая задача A1.24) - A1.26) записывается в расширенной форме ? A1.27) %аих]+хп-и>=*/> / = 1,...,«; (П.28) 7=1 х, >0,...,хл+т>0. A1.29) Начальное базисное решение ищется в результате решения вспомогательной задачи т min, A1.30) ?*,,*;+**+!== */> / = l,...,w; A1.31) X! >0,...,хя+т;>0 A1.32) с использованием симплекс-метода. Так как решением задачи A1.30) - A1.32) будет хя+/ =0, i =s l,...,m, то значения Ху J - 1,...,л, могут рассматриваться, как начальное базисное решение задачи A1.24) - A1.26). Вторая фаза. Решение задачи A1.24) - A1.26) при найденном начальном базисном решении с использованием симплекс-метода. 357
Алгоритм Шаг 1. Записать решаемую каноническую задачу 7-1 л Y,aijxj =*/t / = 1,.., 7-1 Xy ?0, у = 1,...,/!, в расширенной форме: п ^CjXj ->max, 7-i Шаг 2. Решить вспомогательную задачу с использованием процедуры симплекс-метода, описанной в разд. 11.1. Шаг 3. Принять оптимальное решение вспомогательной задачи, полученное на втором шаге, за начальное базисное решение для решения исходной канонической задачи п /(*)= ?су*у ->тах, ху^0, 7 = 1,...,/!, и решить ее, используя процедуру симплекс-метода. Вид ограничений решаемой канонической задачи определяется элементами таблицы, соответствующей полученному решению вспомогательной задачи. Сходимость Сходимость двухфазного симплекс-метода гарантируется утверждением 11.2. 35*
Пример 11.9. Двухфазным симплекс-методом найти максимум в задаче f(x) = xl-x2^> max, - х{ + 2х2 - х3 = 4, 3*1 +2х2 + Х4_= 14» хх >0,...,х4 ^°- D 1. Запишем задачу в расширенной форме: f(x) = JC] - х2 -> max, - Ijcj + 2х2 - 1*з + 0*4 + 1*5 = 4» Зх] + 2jc2 + 0х3 + 1л:4 + 0х5 = 14, 2. Для нахождения начального базисного решения рассмотрим вспомогательную задачу f(x)=xs -»min, - lxj + 2х2 - 1*з + 0*4 Результаты пошагового решения представлены в табл. 11.62,11-63. Таблица 11.62 1 0 БП Х5 Х4 БР 4 14 0 *i -1 3 -1 1 0 Х2 2 2 -2 0 ^3 -1 0 -1 1 0 *4 0 1 0 0 1 1 0 1 0 БР Чг 2(8) 7 Таблица 11.63 % 0 0 БП Х2 Х4 БР 2 10 0 *i 1 2 4 0 0 0 х2 1 0 0 0 0 *з 1 " 2 1 0 0 0 Х4 0 1 0 0 1 Х5 1 2 -1 0 1 БР ^г Zj 359
Так как оценки Ду ? 0 , то решение вспомогательной задачи закончено. Получено оптимальное решение х2 = 2, х4 = 10, х{ = х3 = х5 = 0. 3. Принимаем решение хх = х3 = 0, х2 = 2, х4 = 10 за начальное базисное решение исходной задачи, ограничения которой записываются с учетом табл. 11.63: 4*1 + Х3 + *4J= 10 , Результаты ее решения симплекс-методом представлены в табл. 11.64,11.65. Таблица 11.64 -1 0 БП *4 БР 2 10 1 *i 1 2 ш 1 2 2 -1 1 0 -1 0 0 *з 1  1 J_ 2 1 " 2 0 *4 0 1 0 0 CJ БР — 7е *¦} Таблица 11.65 % -1 1 БП х2 БР 26 8 10 4 1 0 1 1 0 -1 1 0 -1 0 0 3 8 1 4 5 8 5 " 8 0 Х4 1 8 1 4 1 8 1 "" 8 с/ БР Zj 360
Все относительные оценки Ду неположительны, следовательно, решение х\ = —, х2 = —, х3 = х4 = 0 является оптимальным. Заметим, что решенная за- 4 о дача возникала в процессе решения примера 11.5. Там она была решена с помощью перехода к М -задаче. Описанный здесь путь решения является альтернативным. ¦ Пример 11.10. Найти максимум в задаче f(x) = х{+ 4х2 - 2х, + Зх2 тах» D I. Записываем задачу в расширенной форме: f(x) = х{+ 4х2 - Юх3 -> max, 2xj + 3jc2 + 4х3 + lx4 + 0х5 = 18, 3xj + 9х2 + 1х3 + 0х4 +1х5 = 54, Х!,Х2,Х3>0. 2. Решаем вспомогательную задачу > min, + Зх2 + 4х3 + 1х4 + 0х5 = 18, + 9х2 + 1хз + 0х4 + 1x5 = 54, Для этого записываем решаемую задачу как задачу поиска максимума: -х4 - х5 -> max, 2х! +3х2+4х3 + 1х? + 0х5 =18, 3xj + 9х2 + 1х3 +0х4 + 1x5 = 54, Результаты пошагового решения записанной задачи представлены в табл. 11.66-11.68. Таблица 11.66 -1 -1 БП ХА Х5 БР 18 54 0 *i 2 3 -5 5 0 3 GO -12 12 0 *з 4 1 -5 5 -1 1 0 -1 0 -1 0 1 -1 0 БР 6 6® zi 361
Вводим в базис переменную х2, выводим из базиса переменную х5. Таблица 11.67 с'в -Г 0 БП Х4 *2 БР 0 6 0 1 1 3 -1 1 0 0 1 0 0 0 11 1 1 9 11 3 11 3 -1 хл 1 0 -1 0 -1 Х5 1 "" 3 1 9 1 3 4 ~ 3 с. БР 0® 54 ZJ АУ Вводим в базис переменную х3, выводим из базиса переменную х4. Таблица 11.68 0 0 БП хз • Х2 БР 0 6 0 *1 3 11 10 33 0 0 0 0 1 0 0 0 *3 1 0 0 0 -1 хА 3 11 1 " 33 0 -1 -1 1 " 11 12 99 0 -1 БР Все оценки Ау < 0, решение вспомогательной задачи закончено, оптимальное решение хх = 0,х2 = 6,х3 = 0,х4 = 0»^5 = 0- 3. Принимаем решение х\ = 0,х2 = 6,х3 = 0 за начальное базисное решение исходной задачи, ограничения которой выписываются с учетом табл. 11.68: f(x) = Xj + 4x2 - 10х3 -> max, Xi +Xa =0, И1 -1 10 33 Xi,x2,x3 ^ 0, 10 33*1 и решаем ее симплекс-методом. Результаты пошагового решения приведены в табл. 11.69,11.70. 362
Таблица 11.69 -10 4 • БП *з *2 БР 0 6 1 *i J_ Н 10 33 50 " 33 83 33 4 0 1 4 0 -10 *з 1 0 -10 0 БР 0 <8> 198 10 ZJ Вводим в базис переменную х{, выводим из базиса переменную х3. Таблица 11.70 с* 1 4 БП x2 БР 0 6 1 1 0 1 0 4 0 1 4 0 -10 11 3 но " 99 77 " 99 913 " 99 <7 БР ZJ Все оценки Ау < 0, решение исходной задачи закончено, оптимальное решение V = 0»*2* = Мз* =0, /„их = 24. ¦ Задачи для cai Решить симплекс-методом следующие задачи. 1. /U) = ~3xj - 4x3 -> max, блс; + 6x2 + Xj = 36, 4х, + Sxj + х4 = 32, ху ^0,у = 1,'...,4. Ответ: хх = 0,х2 = 0,х3 = 36, х4 = 32. 363
2. /(х) = Зхх - 4х2 -* max, 6xj + 6x2 ? 36, 4x! + 8x2 ?32, x,,x2 ^0- Ответ: Xj = 6,^ = 0. 3. /(*) = 2Xj - 14x2 -> max, x, + 2x2 й 16, 5xj + 2xj ? 40, Ответ: x{ = 8, *2 = 0. 4. /(*) = ^ + *2 "* max» 2x, + Xj + X3 = 16, ^ - *2 ^ 2, xy ;> 0,y = 1,...,3. Ответ: Xj = 0,x2 = 16,x3 « 0. 5. /(x) = 15Qx, + 35xj -> max, 150x, + 200X2 г 200, 14xj + 4x2 ? 4, Ответ: x, = 0^ = 1. 6. f(x) = x, - ЗХ2 -> max, Зх, - 2xj ? 3, -5xj - 4xj <, -9, 2x, + X2 ^ -5, x1,x2>0. Ответ: задача не имеет решения. 7. /(х) = 1(Ц + Xj -^ max, 2xj + 1Ц ^ 33, Xj + Xj = 7, 4xj - 5xj ? 5, Xj,^ ^ 0. Ответ: х{ - 7, x2 = 0. 364
8. fix) = 35jCj + 50x2 -> max, 200x, + 150x2 ;> 200, 14xj + 4x2 <? 14, x,,x2 Z 0. 14 Ответ: xx = 0,x2 =—. 9. f{x) = -3xj + 12x2 -* max, Xj + 4x2 ^ 16, x, - x2 Z 2, 3x, - 5x2 < 8, xl,x2 * 0. ^ 24 14 Ответ: xt =—,x2 =—• 10. f(x) « 3xj - Xj ^ max, Зх, - 2x, * 3, -5x, - 4x2 ^ 10, 2x, + x2 ^ 5, x^x^O. Ответ: задача не имеет решения. Графически и симплекс-методом решить задачи. И. /(х) = хх + 2х2 -х3 + х4 -> extr, xt + 2х2 + х4 = 4, Х!+Х2+Х3 =8, х1,х2,х3,х4^0. Ответ: Л = @,0,8,4)г - точка минимума, В = D,0,4,0)г - точка максимума. 12. fix) = -х{ + 2х2 - х3 + х4 -> extr, -хх + 2х3 + х4 = 5, х,+х2-х3=4, хьх2,х3,х4 ^0. Ответ: Л = A3Д9,0)г - точка минимума, В - iQ^fiJSO - точка максимума. 365
13. /(х) = 4xj + 3x2 - *з - JC| + 2x2 + X3 = 8, x2 +2jc3 + x4 =6, Ответ: А = @, ^, % ,0)г -точка минимума, 5 = (8,0,0,6)r -точка максимума. 14. /(x) = xx- 2x2 + 2x3 - x4 -> extr, Xj + X3 - ЗХ4 = 3 , 8, Ответ: A = @,83,0)r - точка минимума, В = @,0,27,8)г - точка максимума. 15. f(x)«X! +2х2 -х3 +2х4 -»extr, Xi +ЗХ3 +Х4 =10, 2х3 =7, Ответ: А = Dj^ ,0, ^ ,0)г -точка минимума, В = @,7,0Д0)г -точка максимума. 16. f(x) ж -3xi + 2x2 -> max, -2xj +3x2 ^6, Х\ + 4х2 ? 16, х,,х2?0. Ответ: В = @,4)г - точка максимума. 17. /(х) = -4х| -»тах, 4х! +3х2 ^2, 3xj + 2х2 й 12, xi,x22>0. Ответ: имеется бесконечное число точек максимума, лежащих на прямой, соединяющей точку А «@,~)г и точку В = @,6)г. 18. /(х) = -Зх2 -> max, 4х, +3х2 ^2, Зх! +2х2 ^12, хьх2 ^0. Ответ: имеется бесконечное число точек максимума, лежащих на прямой, соединяющей точку А = (j^ ,0)r и точку В = D,0)г. 366
§ 12. МЕТОДЫ РЕШЕНИЯ ЗАДАЧ ЛИНЕЙНОГО ЦЕЛОЧИСЛЕННОГО ПРОГРАММИРОВАНИЯ 12.1. МЕТОД ВЕТВЕЙ И ГРАНИЦ Постановка задачи Найти максимум функции f(*)-?eJxJ <12Л> при ограничениях i,a9xj*b,9 /-1,...,«; A2.2) xj > О, целые, J = 1,...,л. A2.3) Замечание 12.1. Задача A2.1) - A2.3) является задачей линейного целочисленного программирования. Ограничения, связанные с целочисленностыо, могут быть наложены не на все переменные, а лишь на их часть. Стратегия поиска Задача A2.1) - A2.3), обозначим ее ЗЛП-0, решается симплекс-методом без учета ограничений на целочисленность переменных. Считается, что она имеет решение. На оптимальном решении х°* = (хР*,..., дс®* j вычисляется значение целевой функции /(*0*)- Если решение х°* является целочисленным, то поставленная задача решена. Если решение х°* оказывается нецелочисленным, то значение /(*0*) является верхней границей возможных оптимальных значений f(x) на целочисленных решениях. При нецелочисленном решении дальнейшая процедура решения задачи A2. 1) - A2.3) состоит в ее ветвлении на две: ЗЛП-1 и ЗЛП-2 (рис.12.1). Целью этого ветвления является разбиение множества допустимых решений, определяемого ограничениями A2.2), A2.3), на два подмножества путем построения дополнительных ограничений таким образом, чтобы исключить нецелочисленную точку х°* и сделать решение по крайней мере одной из задач целочисленным по одной выбранной координате хк. Координатой хк может быть [36]: 1. Нецелочисленная координата с наименьшим или наибольшим индексом. 2. Нецелочисленная координата с наименьшей или наибольшей дробной частью. 367
3. Нецелочисленная координата, которой соответствует наибольший коэффициент в целевой функции. 4. Нецелочисленная координата, выбранная на основании приоритетов, определяемых физическим содержанием задачи. Рис. 12.1 Для построения дополнительных ограничений выделяется целая часть Ып значения координаты х°*. Дополнительные ограничения имеют вид хк Задачи ЗЛП-1 и ЗЛП-2 записываются в следующем виде: ЗЛТТ-1 ЗЛ1Ы /(*) bi> ' = l,...,w, Построение дополнительных ограничений позволило исключить из рассмотрения оптимальное нецелочисленное решение х°* и обеспечить целочис- ленность значений координаты хк. 368
Задачи ЗЛП-1 и ЗЛП-2 решаются самостоятельно симплекс-методом без учета требований на целочисленность значений координат Xj, у = 1,...,л. Вычисляются значения функции f(x) на оптимальных решениях обеих задач. Если ни одна из них не имеет целочисленного решения, то выбирается задача для приоритетного дальнейшего ветвления по установленному правилу: например, приоритетному ветвлению подлежит та задача, в которой значение f{x) на оптимальном нецелочисленном решении максимально. Допустим, что f(x) > А*2*) и задача ЗЛП-1 первой ветвится на ЗЛП-3 и ЗЛП-4, которые решаются симплекс-методом без учета требований на целочисленность с последующим анализом решений. Если ни одна из задач ЗЛП-3 и ЗЛП-4 не имеет целочисленного решения, приступают к ветвлению задачи ЗЛП-2. Процесс ветвления продолжается до тех пор, пока не будет получено в одной из ветвей целочисленное решение. Пусть задача ЗЛП-4 (рис. 12.1) имеет целочисленное решение. Обозначим / - значение функции на первом целочисленном решении: / = /(х4*). Соответствующее целочисленное решение включается в множество X* возможных оптимальных решений исходной задачи. После того, как найдено первое целочисленное решение, вопрос о дальнейшем ветвлении других задач решается на основании сравнения значений /(***) на оптимальных нецелочисленных решениях в оставшихся ветвях со значением / . Если /(***)</ для всех оставшихся к , то расчет закончен. Решениями исходной задачи являются те целочисленные решения хк* , для которых f(xk*) = /. Если /(***)>/ , то соответствующая этому номеру к задача ветвится далее. Так на рис. 12.1 имеем f[x2*)>f и Дх3*)< /. Задача ЗЛП-2 подлежит ветвлению на ЗЛП-5,ЗЛП-6, а задача ЗЛП-3 не подлежит. Задача ЗЛП-6 не имеет решения, так как множество допустимых решений пустое, и далее не рассматривается. Задача ЗЛП-5 имеет нецелочисленное решение х5*,/(х5*). Если Дх5*)</ , то решение задачи закончено и х* =х4*, /(**) = /. В противном случае задача ЗЛП-5 ветвится дальше. Если в одной из задач получено целочисленное решение, то ее ветвление далее не производится. Если соответствующее значение целевой функции не меньше /, решение считается принадлежащим множеству X* возможных оптимальных решений исходной задачи. Если значение целевой функции меньше /, целочисленное решение не включается в множество X*. Таким образом, ветвление какой-либо задачи заканчивается, если выполняется одно из условий: решение целочисленное; значение целевой функции данной задачи не больше /; множество допустимых решений пустое. Если ветвление всех задач закончено, то в множестве X* выбирается решение (решения), которому соответствует наибольшее значение целевой функции. Оно является решением исходной задачи. Если множество X* пустое, то исходная задача не имеет решения. 24 — 4751 369
Алгоритм Шаг 1. Положить к = О, решить задачу ЗЛП-0 без учета требований на це- лочисленность переменных и определить х°*, /(*0*)- Проверить целочислен- ность решения: а) если решение целочисленное, то расчет закончен: х*=х°%/(**) = А*0'); б) если решение х°* нецелочисленное, включить к = 0 в множество / = {к} номеров задач, подлежащих дальнейшему ветвлению, и перейти к шагу 2. Шаг 2. Выбрать задачу для приоритетного ветвления: а) если к = 0 , выбрать для ветвления задачу ЗЛП-0 , исключить номер к = 0 из множества J = {к} и перейти к шагу 3; б) если к ф О и / * 0, выбрать номер задачи к е /, которому соответствует максимальное значение целевой функции на оптимальном решении хк*, исключить номер к из множества J = {к) и перейти к шагу 3; в) если ЬОи / = 0 , перейти к шагу 7. Шаг 3. Осуществить ветвление задачи ЗЛП-fc. Для этого выбрать нецелочисленную координату X1- * по установленному правилу и сформировать: а) два дополнительных ограничения: Xj ? |х**1, Xj ? [ху*1 +1; б) две задачи ЗЛП- 2к + /, / = 1,2: ЗЛП-2& + 1 , получаемую в результате добавления к задаче ЗЛП-/: дополнительного ограничения Xj й \xj * 1; ЗЛП- 2к + 2 t получаемую в результате добавления к задаче ЗЛП-/: дополнительного ограничения Xj ? [***] +1. Положить / = 1 и перейти к шагу 4. Шаг 4. Решить задачу ЗЛП- 2к + /: а) если множество допустимых решений задачи пустое, то исключить задачу из рассмотрения и перейти к шагу 6; б) если множество допустимых решений задачи не пустое, определить x2k+i\f{x2k+i*) и перейти к шагу 5. Шаг 5. Проверить решение x2k+i* на целочисленность: а) если решение x2k+l* целочисленное и получено первым при ветвлении задач, имеющих нецелочисленное решение, положить / = /(х2*+'*)и включить решение x2k+i* в множество X* возможных оптимальных решений исходной задачи. Сравнить значения f(xk*)9k eJ с / для нецелочисленных решений, полученных ранее, чем первое целочисленное решение: 370
- если /(***)?/ , исключить номер к из множества /; - если /(***) > / , оставить задачу с номером к в множестве / для дальнейшего ветвления; Перейти к шагу 6; б) если решение x2k+l* целочисленное, значение / уже найдено и /(*2*+/*)>/, то включить решение x2k+l* в множество X* возможных оптимальных решений исходной задачи. Если f(x2k+i*) </ , не включать решение x2k+i* в множество X*'. Перейти к шагу 6; в) если решение x2k+i* нецелочисленное и значение / еще не найдено, включить номер 2k + i в множество / и перейти к шагу 6; г) если решение x2k+l* нецелочисленное, значение / уже найдено и /(х2*+/*)>/, то включить номер 2k + i в множество /. В противном случае исключить номер 2к + / из рассмотрения. Перейти к шагу 6; Шаг 6. Проверить условие i < 2: а) если / < 2, положить / = 2 и перейти к шагу 4; б) если i = 2, перейти к шагу 2. Шаг 7. В множестве X* выбрать решение (решения), которому соответствует наибольшее значение целевой функции. Оно является решением х* исходной задачи. Если множество X* пустое, то исходная задача не имеет решения. Замечание 12.2. Существует модификация метода ветвей и границ, в которой на шаге 5 среди решений, принадлежащих множеству X* , ищется решение х, которому соответствует наибольшее значение функции (наилучшее текущее целочисленное решение), и находится новое значение / = f(x) . Тогда на шаге 7 полагается х* = Зс, /(х*) = /. Сходимость Алгоритм является конечным, если множество \х I Y h / = l,...,m; xeRn9 xj ?0, Xj -целые, у = 1,...,л является ограниченным [28,36]. Пример 12.1. Найти оптимальное решение задачи /(*) = *!-х2-> max, Зхх +2х2 хх,х2 ?0, целые. D 1. Положим к = 0. Решаем исходную задачу ЗЛП-0: 24* 371
f(x) = xx - x2 -> max, -xi +2x2 >4, 3x!+2x2 ?14, x,,x2 >0 без учета требования целочисленности симплекс-методом. Результаты пошагового решения приведены в табл. 12.1-12.3. Таблица 12.1 % -м 0 БП Х5 ХА БР 4 14 1 *i -1 3 м 1-М -1 Ш 2 -2М -1 + 2М 0 *з -1 0 м -м 0 *4 0 1 0 0 -м Х5 1 0 -м 0 БР Чг 2® 7 */ А/ Вводим в базис переменную х2, выводим х5. Таблица 12.2 -1 0 БП Х2 ХА БР 2 10 1 *i 1 2 L4J 1 2 J_ 2 -1 1 0 -1 0 0 *з 1 2 1 1 2 J^ 2 0 *4 0 1 0 0 -м Х5 1 2 -1 2 ci БР тф Ду Вводим в базис переменную хх, выводим х4. Таблица 12.3 -1 1 БП Х2 Х\ БР 26 8 10 4 1 0 1 1 0 -1 1 0 -1 0 0 хъ 3 8 1 4 5 8 5 "I 0 Х4 1 8 1 4 1 8 1 8 -М Х5 1 1 4 5 4 5 Zy 372
Оптимальное решение х?* =—, х2* =— (рис. 12.2) целочисленным не 4 8 является, /(х°*)= —j. Включаем ЬО в множество / номеров задач, подлежащих ветвлению, и переходим к шагу 2. /(х) = 0 Рис. 12.2 2°. Так как к = 0 , выбираем для ветвления задачу ЗЛП-0 , исключаем к = О из множества / = {0} и переходим к шагу 3. 3°. Осуществим ветвление задачи ЗЛП-0. Выбираем координату Xj, так как ее значение xf* = — имеет наибольшую дробную часть, и сформируем: 4 а) дополнительные ограничения х, < — =2, Xi > — +1 = 3; б) две задачи ЗЛП- 2к + /, к = 0; / = 1,2: ЗЛП-2 /(х) = Xj - х2 -> max, - х, + 2x2 > 4, Зх, +2х2 <14, Х| Иь 2, X], х2 ^ 0; Xj ^ 3, Х|, х2 ^ и. Перепишем их в расширенной форме (см. § 11.1): ЗЛП-1 3JHL2 /(х) = хх - х2 - М х6 -> max, /(х) = xi - х2 - М х6 - М х7 -> max, - X! + 2х2 - х3 + х^ = 4, - х, + 2х2 - х3 + х$ = 4, 3xj + 2х2 + х4 = 14, 3xj + 2х2 + х4 = 14, X! + х5 = 2, хх - х5 + х7 = 3, ЗЛП-1 /(х) = Xj - х2 -» max, - Xi + 2х2 ^ 4, Зх, + 2х2 й 14, 373
Полагаем i = 1 и переходим к шагу 4. 4°. Решаем задачу ЗЛП-1. Результаты пошагового решения задачи ЗЛП-1 приведены в табл. 12.4-12.6. -м 0 0 БП хь Х4 Х5 БР 4V 14 2 1 *i -1 3 1 м 1 - М -1 L2J 2 0 -2Л/ -1 + 2М 0 *3 -1 0 0 м 0 *4 0 1 0 0 0 0 Х5 0 0 1 0 0 Таблица 12.4 -Л/ *б 1 0 0 -м 0 е, БР 2® 7 — Вводим в 6 -1 0 0 БП Х2 Х4 Х5 азис БР 2 10 2 переменную х2, выводим х6. 1 2 ш 1 2* -1 х2 1 0 0 -1 0 0 *3 1 2 1 0 2* ~ 0 *4 0 1 0 0 0 0 Х5 0 0 1 0 0 Таблица 12.5 -М хв 1 2 -1 0 1 2 --* БР — .5 2® г; ДУ Вводим в базис переменную х}, выводим х5. Таблица 12.6 -1 0 1 БП Х2 Х4 Х1 БР 3 6 2 1 0 0 1 1 0 -1 х2 1 0 0 -1 0 0 1 2 1 0 1 1 2 0 Х4 0 1 0 0 0 0 Х5 1 2 -2 1 ю|- 2 -Л/ ч 1 -1 0 1 2 -«4 с, д/ 374
Оптимальное решение х\* = 2,хх{ = 3,/Сх:1*) = -1 (точка х]* на рис. 12.2) Переходим к шагу 5. 5°. Решение дс1*- первое целочисленное. Полагаем / = /(х1*) = -1 и включаем решение х1* в множество X*. Так как J = 0 , то сравнивать значение / не с чем. Перейдем к шагу 6. 6°. Проверим выполнение условия / < 2: / = 1 < 2. Полагаем / = 2 и переходим к шагу 4. 41. Решаем задачу ЗЛП-2. Результаты ее пошагового решения приведены в табл. 12.7-12.9. Таблица 12.7 -м 0 БП *7 БР 4 14 3 1 *i -1 3 1 0 1 -1 т 2 0 -2М -1 + 2М 0 *з -1 0 0 м -М 0 0 1 0 0 0 0 0 0 -1 м -м -м хь 1 0 0 -л/ 0 -м Х1 0 0 1 -м 0 CJ БР 2® 7 - Вводим в базис переменную х2, выводим хь. Таблица 12.8 -1 0 БП Х2 *4 Х1 БР 2 10 3 1 2 И 1 -1 1 0 0 1 0 0 *з 1 2 1 0 J_ 2 1 2 0 *4 0 1 0 0 0 0 0 0 -1 м -м -м *6 1 2 -1 0 1 2 -Л/ *7 0 0 1 -Л/ 0 CJ БР -- 7® 3 г; ДУ Вводим в базис переменную х{, выводим х4. 375
-1 1 -м БП Х2 Х1 Х1 БР 26 8 ]0 4 1 4 1 *i 0 1 0 1 0 -1 1 0 0 -1 0 0 3 8 4 4 М 5 М 5 4 8 0 ? 1 4 4 М 1 Т+8 М 1 " 4 8* 0 0 0 -1 м -м Таблица 0 хв 3 8 1 4 J_ 4 Л/ 5 " 8 ЗЛ/ 5 "Г +8 -М Х7 0 0 1 -м 0 12.9 <7 др О/г гу Решение закончено (Ау ^ 0), но из табл. 12.9 следует, что ограничения задачи ЗЛП-2 несовместны - множество допустимых решений пусто (рис. 12.2), потому что искусственная переменная х7 в оптимальном решении не равна нулю. Исключаем задачу ЗЛП-2 из рассмотрения. Переходим к шагу 6. б1. Проверим выполнение условия i <,2: i = 2. Переходим к шагу 2. 21. Так как множество J = 0, переходим к шагу 7. 7°. Так как множество X* содержит единственное целочисленное решение, то х* = х1* = B,3)г,/(**) = / = -1 - решение исходной задачи. ¦ Пример 12.2. Найти оптимальное решение задачи f(x) = х2 < 2,8, Xj ,x2 ? 0, целые. ? 1. Положим ? = 0. Решаем ЗЛП-0 , т.е. исходную задачу без учета требования целочисленности, графически. Как следует из рис. 12.3,я, максимум достигается в точке А = х°* =A,2;2,8)г,/(х°*) = 6,8. Решение не является целочисленным. Включаем номер к = 0 в множество J и переходим к шагу 2. 2°. Так как к = 0, выбираем для ветвления задачу ЗЛП-0 , исключаем к = 0 из множества / и переходим к шагу 3. 3°. Осуществим ветвление задачи ЗЛП-0. Выберем нецелочисленную координату с наименьшим индексом: xf" -1,2. Сформируем: а) дополнительные ограничения: X! ? [1Д] = 1, xxz [1,2] + 1 = 2; б) две задачи ЗЛП-2А: + / , к = 0; / = 1,2: ЗЛП-1 ЗЛП-2 /(х) = X] -I- 2х2 -> max, /(х) = Xj + 2х2 -» max, X! + Х2 ? 4, X! + Х2 < 4, х2 < 2,8, х2 <, 2,8, хьх2>0, xj?l; хьх2?0, х^2. 376
4 ЗЛП-0 А х2 = 23 N = 4 1 2 3 а ЗЛП-2 •Г 2 -; у/ = 1 ЗЛП-1 1 2 3 *\ б ЗЛП-3 i 2 0 чтг \ / /v/ 1 ч^ N 2 С = 2 *2 V N 3 = 2,8 :\ + х2 = 4 V *2' N 3 2 1 0 Ч /у/ 1 = 1 \ \ 2 х2=2,8 N^Xj +Х2 =4 'з *ч J \ 2 0 \ /v/ 1 ЗЛП-4 х,=1 \ 2 3 Х2 = *2 = \ 4К ,з 23 \ Полагаем Рис. 12.3 и переходим к шагу 4. 377
4°. Решаем задачу ЗЛП-1 графически (рис. 12.3,6). Максимум достигается в точке х1* = В = A;2,8)г, /(х1*) = 6,6. Переходим к шагу 5. 5°. Решение х1* - нецелочисленное, и значение / еще не найдено. Поэтому включаем номер к = 1 в множество / и переходим к шагу 6. 6°. Проверим выполнение условия / < 2: i = 1 < 2. Полагаем / = 2 и переходим к шагу 4. 41. Решаем задачу ЗЛП-2 графически (рис. 12.3,в). Получаем решение в точке х2* = С = B;2)г, /(х2*) = 6. Переходим к шагу 5. 51. Решение х2* - первое целочисленное. Полагаем / = /(х2*) = 6. Включаем решение х2* в множество X*. Сравним значение /(х1*) с /. Так как /(х1*) = 6,6 > / = 6, оставляем задачу ЗЛП-1 для дальнейшего ветвления и переходим к шагу 6. б1. Проверим выполнение условия / < 2: / = 2. Переходим к шагу 2. 21. Имеем к = \ и / = {1} * 0. Выбираем задачу ЗЛП-1 для ветвления. Исключаем к = 1 из множества / и переходим к шагу 3. З1. Осуществим ветвление задачи ЗЛП-1. Выберем нецелочисленную координату с наименьшим индексом: х2* = 2,8. Сформируем: а) дополнительные ограничения: х2 < [2,8] = 2, х2> [2,8] + 1 = 3; б) две задачи ЗЛП-2* + / , к = 1; / = 1,2: ЗЛП-3 ЗЛП-4 /(х) = xj + 2х2 -> max, /(x) = Xj + 2x2 -> max, хх + х2 < 4, Х| + х2 < 4, х2 < 2,8 х2 < 2,8 Xj,x2 > 0, Xj < 1, xl5x2 > 0, Xi ^ 1, х2 ^ 2; х2 > 3. Полагаем / = 1 и переходим к шагу 4. 42. Решаем задачу ЗЛП-3 графически. Максимум достигается в точке х3* = D = A;2)г, /(х3*) = 5 (рис. 12.3,г). Переходим к шагу 5. 52. Решение х3* - целочисленное. Так как значение / уже найдено, то сравним /(х3*) = 5 с /. Имеем /(х3*) = 5 < / = 6, поэтому не включаем решение х3* в множество X* возможных оптимальных решений исходной задачи. Задача ЗЛП-3 исключается из дальнейшего рассмотрения. Переходим к шагу 6. 61. Проверим выполнение условия / < 2: / = 1 < 2. Полагаем / = 2 и переходим к шагу 4. 43. Решаем задачу ЗЛП-4 графически. В этой задаче ограничения не совместны (рис. 12,3,д), множество допустимых решений пустое. Исключаем задачу ЗЛП-4 из дальнейшего рассмотрения. Переходим к шагу 6. 62. Проверим выполнение условия / < 2: i = 2. Переходим к шагу 2. 22. Так как множество к ф 0 и / = 0, переходим к шагу 7. 378
Рис. 12.4 7°. Так как множество X* содержит единственное целочисленное решение, то х* =х2* = B,2)г,/(х*) шения отражен на рис. 12.4. - решение исходной задачи. Процесс ре- 12.2. МЕТОД ГОМОРИ Постановка задачи Найти максимум функции при ограничениях , целые, j = 1,...,я. A2.4) A2.5) A2.6) Замечание 12.3. Требование целочисленности могут быть наложены не на все переменные Xj, а лишь на их часть. 379
Стратегия Задача A2.4) - A2.6) решается симплекс-методом без учета требований на целочисленность переменных. Если полученное решение х* =Л*,*,...,**) является целочисленным, то решение задачи окончено. В противном случае стратегия дальнейших действий состоит в формировании путем построения дополнительных ограничений нового множества X' допустимых решений, которое: 1. Содержало бы все целочисленные точки множества допустимых решений л = \х Y.ajjXj <bh 1 = 1,...>/я; xeRn9 х. >0, х. -целые,у = \,...,п\. A2.7) A2.8) A2.9) 2. He содержало бы оптимальное нецелочисленное решение х* Например, в задаче f(x) = 2*i + х2 -> max, 3 6 48 хх,х2 ?0, целые, множество допустимых решений Xесть АОВС (рис. 12.5,я), а множество X' есть &ОВ'С (рис. 12.5,6). Легко видеть, что множество X' содержит все целочисленные точки множества X, но не содержит точки С, которой соответствует решение задачи A2.7) - A2.9) без учета требования целочисленное™. Множество X' получено путем добавления дополнительного ограничения - отсекающей прямой В'С'. На новом множестве *Х' задача имеет целочисленное решение, соответствующее точке С'. Метод Гомори [Gomory R.] позволяет построить множество X', последовательно добавляя к ограничениям A2.5), A2.6) по одному новому дополнительному ограничению. Процедуру построения таких ограничений покажем сначала на примере A2.7) - A2.9). Рис. 12.5 Решение примера проведем в следующей последовательности [16]. 1. Преобразуем ограничение A2.8) так, чтобы его коэффициенты стали целочисленными. Имеем 15xi + 30х2 ^ 96. 380
2. Решим симплекс-методом задачу /(х) = 2xj + х2 -> max, хьх2>0. Приводя задачу к расширенной форме, получим /(х) = 2jcj + х2 -> max, 15jcj +30*2 Процедура решения приведена в табл. 12.10,12.11. Таблица 12.10 0 БП БР 96 2 [И 0 2 1 30 0 1 0 *з 1 0 0 ci БР 6|® h Таблица 12.11 с<в 2 БП БР 96 15 2 1 2 0 1 *2 2 4 -3 0 *з 1 15 2 15 2 15 с; БР <*ir z; Оптимальное решение х{ =6-r,xJ =0 - нецелочисленное. Переходим к построению дополнительного ограничения. 3. Нецелочисленной оказалась координата х{. Выписываем из табл. 12.11 уравнение, которому удовлетворяет координата х{: "Тхз= — • A2.10) Отсюда х{=Ц-2х2-—хг. A2.11) Уравнение A2.10) справедливо для всех допустимых значений XjJ = 1,2,3, в том числе и для целочисленных. Обозначим переменную Ху, принимающую 381
целочисленные значения, x'j. Тогда на основании A2.11) для целочисленных *i,jc2>*3 имеем , 96 ., 1 , Так как х[ - целое число, то -|| + 2х2+^з=шг, A2.12) где через int обозначено целое число. Поскольку в A2.12) x2ix3- целые числа, то прибавление к коэффициентам при них и к свободному члену выражения каких- нибудь целых чисел не нарушит целочисленное™ выражения. Значит - Г— ± intl + B ± int) X2 + (—± intlxj = int. A2.13) 4. Будем в выражении A2.13) производить такие изменения его коэффициентов и свободного члена, что в результате получатся наименьшие неотрицательные числа, т.е. 1 л 1 л 1 96 90 6 — 2=0, — — 0=^, — — «— = —. '15 15' 15 15 15 Тогда из A2.13) получим или ^*3=int+?. A2.15) Но в выражении A2.15) х'3>09 следовательно, целое число int в правой части может быть равно 0,1,2,... . Значит, вместо A2Л5) можно записать Ограничение A2.16) и есть новое дополнительное ограничение на координату хз > 0. Если рассмотреть ограничения 15xi + 30х2 + *з ¦ 96, 1 6 7Г3*75' то легко видеть, что на плоскости переменных х{,х2 имеем ограничение jci + 2х2 < 6, которое в совокупности с ограничениями х{ > 0,х2 ^0 определяет АОВ'С' (рис. 12.5,6). Переходя от A2.6) к ограничению типа равенств и опуская штрихи, получаем 382
5. Ограничение A2.17) может быть использовано для решения задачи начиная с табл. 12.11, которая должна быть увеличена на одну строку и расширена на один столбец. В результате получается табл. 12.12, из которой находится базисная переменная для ограничения A2.17). Таблица 12.12 2 БП ? БР 96 15 15 2 *1 1 0 1 0 1 2 0 4 -3 0 *з 1 15 1 15 2 5 2 15 0 0 -1 0 0 БР ZJ Включим в число базисных переменную х3 из числа старых небазисных переменных, так как она входит в дополнительное ограничение с положительным коэффициентом в отличие от переменной хА . Заметим, что переменной хг соответствует наименьшая по модулю отрицательная оценка Ду , так как поиск целочисленного решения связан с движением внутрь множества допустимых решений (убыванием функции). Осуществляя пересчет, получаем табл. 12.13. Таблица 12.13 2 0 БП БР 6 6 2 *i 1 0 2 0 1 2 0 4 -3 0 *з 0 1 0 0 0 1 -15 2 -2 с; БР 7ir */ Получено целочисленное решение х\ = 6,jc5 = 0,xJ = 6,дс} = 0. Это решение является искомым для задачи A2.7) - A2.9) (точка О на рис. 12.5,6). Формализация процедуры построения дополнительного офаничения требует сформулировать правило выбора переменной, целочисленность которой необходимо обеспечить. Практика решения задач утверждает: следует выбирать ту переменную, которая имеет в оптимальном значении х* наибольшую дробную часть (x*J. Операция отыскания дробной части данного вещественного числа а равнозначна отысканию такого наименьшего положительного числа Ь, чтобы разность а - Ь была целым числом. Используя определение вещественных чисел, сравнимых по модулю 1, можно сформулировать определение дробной части вещественного числа иначе. 383
Определение 12.1. Два числа an b называются сравнимыми по модулю 1, если с а-Ь - целое число. Обозначение: а&Ь. Тогда дробной частью вещественного числа а называется наименьшее неотрицательное число, сравнимое с а [20]. Например: D) = 0, (?)-2, (^Л, (-1)Л, (-3,4) = 0,6 и т.д. Алгоритм Шаг 1. Преобразовать исходные ограничения ЗЛП к целочисленному виду. Шаг 2. Решить ЗЛП симплекс-методом без учета требований на целочис- ленность переменных. Если решение задачи целочисленно, то вычисления окончены. В противном случае перейти к шагу 3. Шаг 3. Выбрать в оптимальной таблице нецелую переменную xt с максимальной дробной частью (х*). Под оптимальной таблицей понимается таблица симплекс-метода, содержащая нецелочисленное оптимальное решение. Шаг 4. Записать, пользуясь оптимальной таблицей, уравнение */ = */ - Z aik Ч > где х* - оптимальное нецелое значение х(, 1НБ - множество индексов небазисных переменных в оптимальном нецелочисленном решении. Шаг 5. Так как х, должно быть целым, записать Шаг 6. Взять дробные части всех коэффициентов а1к и jc* и записать Шаг 7. Записать новое ограничение ?К)** 8. Записать новое ограничение в виде равенства где jcv - дополнительная переменная. Шаг 9. Расширить оптимальную таблицу на одну строку и один столбец; записать в нее дополнительное ограничение. Шаг 10. Выбрать за дополнительную базисную переменную в новом ограничении ту переменную из числа старых небазисных, которой соответствует наименьшая по модулю из неположительных оценка Ау, и перейти к шагу 2. Сходимость Алгоритм Гомори является конечным, если множество допустимых решений задачи ограничено [28]. 384
Пример 12.3. Найти максимум в задаче -хх + 2х2 ^4, 3jcj + 2х2 <14, хьх2 >0, целые. ? 1. Задача имеет ограничения с целочисленными коэффициентами в левой и правой частях. Переходим к шагу 2. 2. Решаем задачу без учета требований на целочисленность переменных. Решение представлено в табл. 12.14 - 12.16. Оптимальное решение х\ =—, 4 26 х\ = — целочисленным не является (рис. 12.6, точка С). Переходим к шагу 3. о -хх + 2х2 = 4 Рис. 12.6 -м 0 БП Х5 х4 БР 4 14 1 -1 3 м 1- М -1 х2 L2J 2 -2М -1 + 2Л/ 0 *3 -1 0 м -м 0 ХА 0 1 0 0 Таблица -М Х5 1 0 -м 0 12.14 с/ 2® 7 «у 25 — 4751 385
Таблица 12.15 -1 0 -1 1 БЛ *4 БЛ Х2 БР 2 10 БР 26 8 20 4 1 -\ 1 1 ® 1 0 1 1 0 -1 1 0 -1 0 -1 1 0 -1 0 0 1 1 1 2 i 0 3 ~8 1 4 5 8 5 ~ 8 0 ХА 0 1 0 0 0 Х4 1 8 1 4 1 8 1 "" 8 -Л/ *5 1 2 -1 1 Таблт Х5 1 1 ~ 4 5 -Л/ + - Cj БР ~ т АУ га 12.16 БР h 3. Выбираем координату с максимальной дробной частью - это х{. 4. Записываем уравнение, пользуясь оптимальной табл. 12.16: -11-L I I 5. Так как значение х{ должно быть целым, получаем L L L ш— 6. Берем дробные части всех коэффициентов справа и слева: I Lx +2 Ц 7. Новое ограничение имеет вид 1 1 3 2 386
8. Записываем ограничение в виде равенства 1 7 4 3 7 4 2 4 9. Строим расширенную табл. 12.17 на базе табл. 12.16. -1 1 БП -г БР 26 8 10 4 2 4 1 0 1 0 -1 0 -1 1 0 0 -1 0 0 *з 3 8 4 4* I 5 8 0 *4 1 8 4 1 ± ? 1 8 -М *5 1 1 4 2 4 "i Таблица 0 ч 0 0 -1 12.17 CJ БР ZJ AJ В базис вводим переменную х4, так как ей соответствует наименьшая по модулю отрицательная оценка Д. . Переходим к шагу 2. 21. Решаем задачу с дополнительными ограничениями (табл. 12.18). -1 1 0 БП *г ХА БР 3 2 2 1 0 1 0 1 0 -1 1 0 0 1 0 0 *3 ]_ 2 0 1 J_ 2 J_ 2 0 *4 0 0 1 0 0 -Af 8 -1 3 11 8 ЖА 13 Таблица 0 *б J. 2 1 -4 J^ 2 j_ 2 12.18 ci БР ZJ Решение закончено. Оптимальное решение целочисленно: xf=2,xj 2,jcJ = xf = xl = 0. Оптимальное решение исходной задачи: Xj* = 2,х\ = 3. 25* 387
Задачи для самостоятельного решения Найти целочисленное решение методом Гомори. 1. /(х) = х\ "* тах» Х!-2х2^0, X! + Х2 ? 2 , хьх2 ?0, целые. Ответ: х\ = 1,х2 =1. 2. fix) = х, - хьх2 ?0, целые. Ответ: х{ =0,х2 =1. 3. /(х) = IOxj + х2 -+ max, 4xi ¦+ 5х2 < 20, 1 1 2 xbx2 ?0, целые. Ответ: х\ = 2, х2 = 0. 4. /(х) = Зх! + 2х2 -> max, -xj +2x2 <4, ЗХ] + 5х2 < 15, Xj,x2 > 0, целые. Ответ: х\ = 3,xJ = 1. Найти целочисленное решение методом ветвей и границ. 5. /(х) = 2xt - 8х2 -> max, X! +2х2 ^16, 6х! +2х2 <40, xj,x2 > 0, целые. Ответ: х[ = 6,х2 = 0. 388
6. Ответ: Х\ = 1,Х2 7. Ответ: х{ = 2,xJ 8. Ответ: х\ =l,xj 9. Ответ: х\ = 1, xj 10. X! - Х2 ^ -1, X! г 0,75, xj,x2 ?0, целые. = 1. /(х) = 2х1-х2->тах, хх-х2*-\> Х\ + Х2 ? 3,2, xj,x2 ^0, целые. = 1. /(х) * Юх, + х2 -> max, 1 2xj + х2 й 6, хих2 ^0, целые. = 4. /(х) = -х2 ->min, 3xj + 2х2 й 6, - 3xj + 2х2 ^ 0, хьх2 ^0, целые. = 1. fix) = -3xi - x-i -> min. Ответ: х\ 11. Ответ: х\ 12. 1. !,х2 >0, целые. /(х) = 2xj + 4х2 -> max, X! + Зх2 ? 10 , xbx2 ^0, целые, /(x) = X! + x2 -> max, 1 2 2 2' 2x! + x2 й 6, xj,x2 ^0, целые. Ответ: х\
§ 13. МЕТОДЫ РЕШЕНИЯ ТРАНСПОРТНЫХ ЗАДАЧ 13.1. ПОСТАНОВКА ЗАДАЧИ И СТРАТЕГИЯ РЕШЕНИЯ Предположим, что в пунктах А\,Аъ..^Ат хранится однородный груз в количестве а{)а2,...,ат единиц. Этот груз следует доставить в п заданных пунктов назначения Bi,B2,...tBn , причем в каждый из них требуется завезти соответственно 6|,б2,...,?л единиц этого груза. Обозначим с|у стоимость перевозки единицы груза из пункта Af в пункт Bj. Транспортные задачи делятся на две группы. 1. Задачи, удовлетворяющие условию баланса /-1 7=1 означающему, что общий запас груза на всех пунктах хранения равен суммарной потребности всех пунктов назначения. 2. Задачи с нарушенным балансом, среди которых выделяются два случая: т п а) ?fl/ > ?*/ (суммарные запасы больше суммарных потребностей); от л б) ]Гв, < ^bj (суммарные запасы меньше суммарных потребностей). #-1 7=1 Рассмотрим формализацию транспортной задачи, удовлетворяющей условию баланса. Обозначим Ху - количество груза, перевозимого из пункта At в пункт Bj. Тогда суммарная стоимость перевозок имеет вид /=17=1 Ограничения представляются уравнениями вывоза и привоза груза: хп + хп +... + xin = at, i = 1,2,..., т; A3.2) *\j + X2j + - + xmj = bj, j = 1,2,..., л; A3.3) xiy>0, / = l,2,...,m; y = l,2,...,«. A3.4) Уравнение A3.2) означает, что из каждого пункта хранения А{ вывозится весь груз, а уравнение A3.3) описывает факт удовлетворения всех потребностей в пункте Bj. Условие A3.4) свидетельствует о том, что груз либо вывозится из пункта Aj в пункт Bj, и тогда x(J > 0, либо нет, и в этом случае лс/у =0. 390
Решение дс/;, / = l,2,...,m; у = 1,2,...,л, системы A3.2) - A3.4) называется планом перевозки. Требуется найти такой план перевозок, чтобы их суммарная стоимость была минимальной, т.е. min. A3.5) Условия задачи удобно записывать в виде матрицы перевозок (табл. 13.1). Таблица 13.1 Пункты Ах А2 Ai Ат Потребности *м <Vl Ьх Вг СП 'ml щ cv сч Вп с2» Ъп К Запасы «1 «2 Я/ Сумма Заметим, что с помощью линейных преобразований можно показать зависимость одного из уравнений в системе A3.2),A3.3) от остальных, т.е. в этой системе имеется (т + п -1) независимых уравнений. Лишнее уравнение может быть исключено из системы уравнений-ограничений. В матрице перевозок хранится текущий план перевозок х/7, / = 1,2,...,т; 7 = 1,2,...,/*. Стратегия решения задачи Так как поставленная задача является частным случаем задачи линейного программирования, то стратегия решения аналогична: 1. Находится начальный план перевозок. 2. Производится улучшение начального плана, т.е. последовательный переход от одного плана к другому, связанный с уменьшением суммарной стоимости перевозок. 391
13.2. МЕТОДЫ НАХОЖДЕНИЯ НАЧАЛЬНОГО ПЛАНА ПЕРЕВОЗОК Клетки матрицы перевозок, где xtJ >0, называются базисными, а остальные, где хц =0, - свободными. В матрице имеется (т + п -1) базисных клеток. Их число совпадает с числом независимых уравнений-ограничений. Значение х^ в матрице перевозок находится по формуле . f остаток груза в пункте А», хи = mm \ I J [ неудовлетворенные потребности в пункте Bj. A3.6) Значение х|у = 0 в свободной клетке не пишется явно, а вместо этого в ней ставится точка. 13.2.1. Метод северо-западного угла Вычисления осуществляются по формуле A3.6), начиная с элемента хи, стоящего в северо-западном углу матрицы перевозок. Пример 13.1. Найти начальный план перевозок в транспортной задаче, заданной матрицей (табл. 13.2). Таблица 13.2 Пункты А А2 Потребности 2 10 10 В2 3 10 2 10 20 5 30 30 Запасы 20 40 60 D Начинаем с северо-западного угла, т.е. хц = min [20,10] = 10. Тогда в пункте Вх потребности удовлетворены и, следовательно, х21 = 0 (в табл. 13.2 ставится точка). Первый столбец выбывает из рассмотрения. Продолжаем с северо-западного угла, т.е. xj2 = min [ B0 -10), 20 ] = = min [10, 20] = 10. Тогда запасы в пункте А\ исчерпаны и х13 = 0 (в табл. 13.2 ставится точка). При этом первая строка выбывает из рассмотрения. Продолжаем с северо-западного угла: х22 = min [40,B0-10)] = min [40,10] = 10. Потребности в пункте В2 удовлетворены, и второй столбец выбывает из рассмотрения. Заполняем последний элемент, находящийся в северо-западном углу: х23 = min [D0 -10), 30] = 30. Таким образом, получен начальный план перевозок: *п =1°» х\г =10» *13 =0> / *21 = °> *22 = 1°> *23 = 30 с суммарной стоимостью / = 210 + 310 + 40 + 1 -0 + 2-10 + 5-30» 220. Число базисных клеток, очевидно, равно /и + л-1 = 2 + 3-1 = 4.и 392
Замечание 13.1. При нахождении начального плана перевозок возможен случай вырождения, когда в результате вычислений значения Хц получается, что потребности в пункте Bj удовлетворены, а запасы в пункте At исчерпаны. Тогда одновременно из рассмотрения выбывают строка и столбец. В этом случае рекомендуется поставить в одну из клеток выбывающих строки и столбца (лучше в клетку с наименьшей стоимостью) так называемый базисный нуль. Клетка с базисным нулем считается базисной (в ней пишется 0 ), а общее число базисных клеток остается равным (т + п -1). Пример 13.2. Методом северо-западного угла найти начальный план перевозок в транспортной задаче, заданной матрицей перевозок (табл. 13.3). Таблица 13.3 Пункты л2 Потребности 1 4 1 вх 30 • • 30 2 1 2 в2 20 0 • 20 3 1 5 *3 • 40 10 50 5 2 10 ВА • • 50 50 Запасы 50 40 60 150 ¦ Начинаем заполнение таблицы с северо-западного угла: *1! = min [ 50, 30 ] = 30; х21 = *31 = 0 (ставится точка). Далее снова продолжаем с северо-западного угла: х,2 = min [E0 -30), 20] = min [20, 20] = 20 (это случай вырождения, так как выбывают первая строка и второй столбец: х13 = х14 = х22 = х32 = 0. Базисный нуль поставим в клетку B,2) с наименьшей стоимостью, равной min [ 3; 5; 1; 2 ] = 1. В остальных выбывающих клетках ставятся точки. Продолжаем с северо-западного угла: х2з = min [ 40, 50 ] = 40; х24 = 0 (ставится точка). Из рассмотрения выбывает вторая строка. Продолжаем с северо-западного угла: x33=min[60,E0-40)] = 10 и х34 = min [ F0 -10), 50 ] = 50. Таким образом, получен начальный план перевозок хп=30, х12=20, х13=х14=0, *21 = *22 = 0, х23 = 40, х2Л = 0, *31 = *32 = 0, *33 = Ю, х34 = 50 с суммарной стоимостью / = 30 + 40 + 40 + 50 + 500 = 660. Число базисных клеток с учетом базисного нуля, очевидно, равно 393
Пример 13.3. Методом северо-западного угла найти начальный план перевозок в транспортной задаче, заданной матрицей перевозок (табл. 13.4). Таблица 13.4 Пункты А л2 М А4 Потребности вх 3 40 2 % 3 # 2 9 40 В2 4 # 5 30 1 # з # 30 ^3 5 # 6 10 2 # 5 # 10 вА 1 0 1 10 з # 6 # 10 в5 1 # 1 0 4 50 10 10 60 Запасы 40 50 50 10 150 D Решаем аналогично примеру 13.2: а) хп = min [40,40] = 40 (случай вырождения); хп = *13 = *14 * *15 - Х2\ = Х31 = Х41 = ° (базисный нуль ставится в клетку A,4) с наименьшей стоимостью, а в остальные ставятся точки); б) *22 = min t50» 30] = 30, jc32 = jc42 = 0 (ставятся точки); в) дс2з = mm1 E0 - 30)> Ю1 - Ю, *зз = Х43 ¦ 0 (ставятся точки); г) х24 = min [ E0 - 30 -10), 10 ] = min [ 10,10 ] = 10 (случай вырождения); *25 = 0 (ставится базисный нуль, так как это клетка с наименьшей стоимостью среди выбывающих клеток), хзд = Х44 = 0 (ставятся точки); д) х35 = min [50,60] = 50; е) x45=min[10,F0-50)] = 10. Таким образом, начальный план перевозок содержит два базисных нуля, следовательно, число базисных клеток равно 51 8 13.2.2. Метод i Получаемый методом северо-западного угла начальный план перевозок не зависит от их стоимости и поэтому в общем случае далек от наилучшего. В методе минимального элемента учитываются затраты на перевозку. Как следствие, соответствующий начальный план, как правило, позволяет обеспечить меньшую суммарную стоимость, более близкую к оптимальной. В этом методе по формуле A3.6) последовательно заполняются клетки с наименьшей стоимостью перевозок. Если имеется несколько клеток с наименьшей стоимостью, то из них выбирается любая. Пример 13.4. Найти начальный план перевозок в транспортной задаче, заданной матрицей (табл. 13.5). Таблица 13.5_ Пункты А А2 Потребности 2 1 В[ • 10 10 3 2 В2 • 20 20 4 5 Вг 20 10 30 Запасы 20 40 60 394
D Заполняем клетку с наименьшей стоимостью, равной 1: x2l =min[40,10] = 10. Тогда потребности в пункте Вх удовлетворены и jcm =0 (в табл. 13.5 ставится точка), первый столбец выбывает из рассмотрения. Из оставшихся клеток ищем клетку с наименьшей стоимостью и заполняем ее: х22 = min[D0-10),20] = 20. Тогда jcj2=O(b табл. 13.5 ставится точка), потребности в пункте В2 удовлетворены и выбывает второй столбец. Из оставшихся двух клеток заполняем клетку с наименьшей стоимостью: Х|3 = min[20,30] = 20. Тогда первая строка выбывает (запасы в пункте Лх исчерпаны) и х23 = min [ D0 - 30), C0 - 20) ] = 10. Таким образом, получен начальный план перевозок *п=0, *12=0, *п=20, *21 = Ю, х22 = 20, х2з = Ю с суммарной стоимостью / »2-0+ 3-0 + 4-20+ 1-10+ 2-20+ 5-10 = 180. Заметим, что она меньше полученной с помощью метода северо-западного угла (см. пример 13.1). Число базисных клеток, очевидно, равно /я + л-1 = 2 + 3-1 = 4. В примере 13.6 будет показано, что найденный план перевозок оптимален. ¦ 13.3. МЕТОД ПОТЕНЦИАЛОВ Метод обеспечивает улучшение начального плана перевозок. При этом происходит переход от одного плана перевозок к другому (от одной матрицы перевозок к другой) до тех пор, пока уменьшение суммарной стоимости перевозок станет невозможным. Введем следующие понятия. 1. Цикл - замкнутая ломаная с вершинами в клетках и звеньями, расположенными вдоль строк и столбцов матрицы перевозок. В каждой вершине встречаются два звена, причем одно из них располагается по строке, а другое - по столбцу. Число вершин цикла четно. Циклом может быть самопересекающаяся ломаная, но точки ее самопересечения не могут быть вершинами цикла. 2. Означенный цикл - цикл, в котором некоторой вершине приписан знак "+", а затем при обходе цикла в каком-либо направлении знаки чередуются. 3. Сдвиг по циклу на число G > 0. При этом значения х^, стоящие в положительных вершинах цикла, увеличиваются на число 0, а стоящие в отрицательных вершинах, уменьшаются на число 0. 4. Потенциалы - числа а,,/ = 1,2,...,/и; ру,У = 1,2,...,л. Каждому пункту хранения Aj ставится в соответствие число а,-, пункту потребления Bj - число р7. 395
Алгоритм Шаг 1. Найти начальный план перевозок методом северо-западного угла или методом минимального элемента. Шаг 2. Для каждой базисной клетки составить уравнение а, +Р, =си. Так как эти уравнения образуют систему (т + п -1) уравнений с (т + п) неизвестными (она имеет бесконечное множество решений), то для определенности следует положить а\ = 0. Тогда все остальные потенциалы находятся однозначно. Шаг 3. Для каждой свободной клетки вычислить относительные оценки: Шаг 4. Проанализировать относительные оценки: а) если все относительные оценки неотрицательны, т.е. А,;* О, то задача решена, и следует выписать полученный оптимальный план перевозок из последней матрицы, подсчитать его стоимость; б) если среди оценок А/у есть отрицательные, найти среди них наименьшую отрицательную оценку и пометить знаком ®. Шаг 5. Для свободной клетки (ij) с выбранной оценкой Д,у, помеченной ®, построить означенный цикл. Все его вершины, кроме расположенной в клетке (/, J), должны находиться в базисных клетках. Свободная клетка берется со знаком "+". Шаг 6. Выполнить сдвиг по построенному на шаге 5 циклу на величину е, равную наименьшему из чисел, стоящих в отрицательных вершинах. При этом числа, стоящие в положительных вершинах, увеличить на 0, а числа, стоящие в отрицательных вершинах, уменьшить на 9. Если наименьшее значение в достигается в нескольких отрицательных вершинах цикла, то при сдвиге следует поставить базисный нуль во всех таких вершинах, кроме одной. Тогда число базисных клеток сохранится и будет равно (т + п -1), что необходимо проверять при расчетах. Элементы матрицы, не входящие в цикл, остаются без изменений. Перейти к шагу 2. Замечания 13.2. 1. При решении задач может возникнуть ситуация, в которой 0 = 0. Тогда при сдвиге свободная клетка становится базисной (точка заменяется на базисный нуль). 2. Значения суммарной стоимости перевозок при переходе от одной матрицы к другой связаны соотношением где к - номер итерации, 0 и Д,у находятся на шагах 3 и 6 соответственно. 396
Пример 13.5. Решить транспортную задачу (табл. 13.6). Таблица 13.6 Пункты л2 Аз Потребности 1 ©30 3 j 1 е * 30 в2 •2 то® 2 зЬ -4- 300 70 Запасы 40 30 30 100 а2=0 а3 =2 Pi =1 ? Решаем по алгоритму. 1. Найдем начальный план перевозок методом северо-западного угла: хп = min [40, 30] = 30; х2\ = х31 = 0 (в табл. 13.6 ставятся точки); x12=min[D0-30),70] = 10, x22=miri[30,G0-10)]=:30, *32 = min [30,G0-10-30)] = 30. Его стоимость / = 30 + 20 + 60 +120 = 230. 21. Найдем потенциалы, составляя для каждой базисной клетки уравнение Положим aj = 0. Тогда для базисных клеток A,1) и A,2) получаем «l+Pi =1, <Х] +р2 = 2. Отсюда 01=1, Р2 =2. Далее для базисных клеток B,2) и C,2) «2+02=2, а3+Р2=4. Отсюда <х2 =0, а3 =2. З1. Для каждой свободной клетки вычислим относительные оценки: Д21 =c21-(a2+p1) = 3-@ + l) = 2>0, А31 =с31 -(а3+р,) = 1-B + 1) = -2<0. (8> 41. Проанализируем относительные оценки. Так как условие окончания Ац > 0 не выполнено, то найдем наименьшую отрицательную оценку: Д3!. 397
51. Для клетки C,1) построим означенный цикл. Все его вершины, кроме данной, находятся в базисных клетках. Знак "+" ставится в свободной клетке C,1). б1. Найдем число 9 = min [30,30] = 30, равное наименьшему из чисел, стоящих в отрицательных вершинах цикла. Выполним сдвиг по циклу на число 0 = 30 : числа, стоящие в положительных вершинах, увеличиваются на 30, а числа, стоящие в отрицательных вершинах, уменьшаются на 30. Так как наименьшее значение в = 30 достигается в двух отрицательных вершинах, то в клетку C,2) ставится точка, а в клетку A,1) с наименьшей стоимостью - базисный нуль. Элементы матрицы, не входящие в цикл, остаются без изменений. Результат сдвига представлен в табл. 13.7. Перейдем к шагу 2. Таблица 13.7 Пункты А А2 М Потребности 1 0 1 30 30 2 40 2 30 4 70 Запасы 40 30 30 100 а, =0 а2=0 а3 =0 Pi =1 22. Найдем потенциалы. Для базисных клеток A,1) и A,2) получаем ai + Pi * 1, а,+р2=2. Поскольку cti=0,To Pi=l,p2=2. Для базисной клетки B,2) имеем <х2 + р2 = 2, откуда <х2 = 0. Для базисной клетки C,1) а3 + Pi = 1. Отсюда <х3 = 0. З2. Для каждой свободной клетки вычислим относительные оценки: 42. Поскольку все А/у > 0, задача решена. Оптимальный план перевозок: х„=0, х,2=40, *21 = 0, *22 = 30 , *3i=3O, л:32=0 имеет суммарную стоимость / = 80 + 60 + 30 = 170 .¦ 398
Пример 13.6. Решить транспортную задачу, заданную матрицей перевозок (табл. 13.8). Таблица 13.8 Пункты Потребности 2 1 10 в2 3 2 20 Въ 4 5 30 Запасы 20 40 60 D Решим задачу по алгоритму аналогично примеру 13.5. Начальный план перевозок методом северо-западного угла найден в примере 13.1 (табл. 13.2). Последовательный переход от матрицы к матрице отображен в табл. 13.9 - 13.11. Таблица 13.9 ах =0 сх2=-1 Пункты А2 Потребности 2 10 10 в2 3 0 10" 2 Ф10- 20 Въ л # е •5 -3iO0 30 Запасы 20 40 60 Pi Рг - 3 Рз = 6 / = 20 + 30 + 20 + 150 = 220; *2l =c2i-(a2 min[10,30] = 10. Таблица 13.10 Д|3=с13-(а, +р3) = 4-@ + 6) = -2<0; Л21 =с21 -(а2 +р,) = 1-(-1 + 2) = 0; а, =0 а2=1 Пункты А2 Потребности В\ 2010 1 ф ; 10 В2 •* v •2-20 20 Въ •4 шф •5 200 30 Запасы 20 40 60 Pi «2 Р2 = 1 Р3=4 / = 20 + 40 + 40 + 100 = 200; Л12=3-@ + 1) = 2>0, Д21 =1-A + e = min[10,201 = 10. = -2<0; Таблица 13.11 Пункты Потребности 1 10 10 в2 з ¦ 2 20 20 4 20 5 10 30 Запасы 20 40 60 а! =0 а2 = 1 Pi = 0 Рг=1 Рз=4 / = 80 + 10 + 40 + 50 = 180; Лп = 2-@ + 0) = 2>0; Л12 =3-@н 399
Условие окончания выполнено, получен оптимальный план перевозок *и = *12 = О, *13 = 20, х21 = 10, х22 = 20, х23 = 10 с суммарной стоимостью 180. Заметим, что этот же план получен методом минимального элемента в примере 13.4.В Замечания 13.Э. 1. Задачи с нарушенным балансом решаются путем сведения к задачам, удовлетворяющим условию баланса. Далее применяется метод потенциалов. Оптимальный план перевозок новой задачи содержит оптимальный план перевозок исходной задачи. Как отмечено в разд. 13.1, здесь могут быть два случая. Первый случай. Суммарные запасы больше суммарных потребностей, т.е. 1=1 У=1 В этом случае следует: - ввести фиктивный пункт потребления Bn+i с потребностью - положить стоимости перевозок единицы груза в фиктивный пункт потребления равными нулю: cin+l =0, i = 1,2,...,/и. Второй случай. Суммарные запасы меньше суммарных потребностей, т.е. 2>EV /=1 7=1 В данном случае следует: - ввести фиктивный пункт хранения Ат+{ с запасом груза, равным 2 7-1 /-1 - положить стоимости перевозок единицы груза из фиктивного пункта хранения равными нулю: cm+Xj =0, j = 1,2,...,/?. 2. В задачах с нарушенным балансом может встречаться дополнительное требование к оптимальному плану перевозок. В первом случае: полностью вывезти продукцию из заданного пункта хранения, а во втором - полностью удовлетворить потребности заданного пункта потребления. В обоих случаях действия аналогичны описанным в п.1 замечаний 13.3, только стоимости перевозок единицы груза для заданных пунктов следует положить равными М, где М - достаточно большое положительное число. 400
Пример 13.7. Решить транспортную задачу, заданную матрицей перевозок (табл. 13.12). Таблица 13.12 Пункты М Потребности Bi 1 2 30 2 3 30 Въ 3 3 20 Запасы 20 40 80\60 D Поставленная задача является задачей с нарушенным балансом. Поскольку суммарные запасы меньше суммарных потребностей, то вводится фиктивный пункт хранения Л3 с запасами, равными 80 - 60 = 20 единиц груза. Стоимость перевозок из фиктивного пункта хранения полагается равной нулю (см. п.1 замечаний 13.3). В результате переходим к задаче, в которой выполняется условие баланса. Решаем ее методом потенциалов. Начальный план перевозок найдем методом минимального элемента. Результаты решения содержатся в табл. 13.13- 13.15. Таблица 13.13 Пункты А\ Аг Аъ Потребности 1 2 0 Ф Ю :• 0 20 30 2- 3 0 в2 ю о 20 4 ф 30 3 3 0 Въ • 20 • 20 Запасы 20 40 20 80 а, =0 а2 = 1 а3=-1 Pi =1 Д13 =3-@- Д32=0-(-1 + 2) Р2=2 Рз=2 Д2|=2-A- -1® , Д33=0-(-1+2) = -1, min[10,20] = 10. Таблица 13.14 Пункты А\ А2 Аз Потребности в{ 1 20 2 е 9 0 0 Г0 30 в2 2 -3 -200 •° -ЮФ 30 *з 3 3 20 0 20 Запасы 20 40 20 80 а3=-1 Р,=1 Р2=1 Рз=1 Д12=2-@ + 1) = 1, Д13=3-@ + 1) = 2, Д2| =2-B+1) = -1® , Д33=0-(-1 + 1) = e = min[10,20] = 10. 26 — 4751 401
Таблица 13.15 Пункты А Аг Потребности 1 2 0 20 10 • 30 2 3 0 в7 • 10 20 30 3 3 0 Вг • 20 • 20 Запасы 20 40 20 80 сц =0 а2 = 1 а3 =-2 Р, = 1 р2 = 2 Р3 = 2 Д12 =2-@ + 2) = 0, А13 = 3-@ + 2) = 1, д31 = 0-(-2 + 1) = 1, Д33 =0-(-2 + 2) = 0. Поскольку Aij > 0 , условие окончания выполнено. Оптимальный план перевозок исходной задачи содержится в найденном оптимальном плане: jcn = 20, хп = *п = 0, х2{ = 10, х22 = 10, х23 = 20. Значение х32 = 20 свидетельствует о том, что в п. В2 на эту величину не удовлетворены потребности.» Пример 13.8. Решить транспортную задачу, заданную матрицей перевозок (табл. 13.16), при дополнительном требовании полного вывоза груза из п. А2, Таблица 13.16 Пункты А2 Потребности Вх 1 3 10 В2 2 4 20 Запасы 25 15 30\40 D Так как в поставленной задаче нарушен баланс и суммарные запасы больше суммарных потребностей, то согласно п.1 и п.2 замечаний 13.3: - введем фиктивный пункт потребления ?3 с потребностью, равной 40-30 = 10; - положим стоимости перевозки единицы груза в фиктивный пункт потребления равными: q3 = 0(из пункта А\), с23 = М (из пункта А2, из которого требуется обеспечить полный вывоз груза). В результате получается задача, удовлетворяющая условию баланса. Решим ее методом потенциалов. Начальный план перевозок найдем методом северозападного угла (табл. 13.17). Последовательный переход от матрицы к матрице отображен в табл. 13.17, 13.18. 402
Таблица 13.17 Пункты А\ А2 Потребности 1 3 В\ 10 10 2 4 В2 Ql5. е & 20 о м .лйо 10 Запасы 25 15 40 =0 = 2 Pi = 1 р2 = 2 Рз = м - 2 Получаем Д13 =0-@ + Л/-2) = -Л/ + 2<0 ® (поскольку Л/- достаточно большое положительное число), Д2j = 3 - B +1) = 0; 0 = min [ 10,15 ] = 10. Таблица 13.18 Пункты А А2 Потребности Д 1 10 10 в, 2 5 4 15 20 Вг 0 10 м . 10 Запасы 25 15 40 =0 = 2 Э1 =1 Р3=0 Получаем A2i =3-B + 1) = 0, Д23 = Af-B + 0) = М-2>0(поскольку JI/- достаточно большое положительное число). Условие окончания Д,-, > 0 выполнено, решение исходной задачи содержится в оптимальном плане решенной задачи: хц = 10, jc12 =5,X2i =0,дс22 =15. Очевидно, из пункта /42 весь груз вывозится, а значение х13 = 10 свидетельствует об остающемся грузе в пункте Ах М Задачи для самостоятельного решения Решить транспортные задачи, 1. Пункты А Л2 Аъ Потребности В\ 1 2 3 30 2 3 2 Вг 30 заданные Вз А 1 4 10 матрицами перевозок. Ва 1 5 4 20 Запасы 50 30 10 90 Ответ: х* 2. '30 0 0 0 20 10 0 10 0 20 0 0 Пункты А2 Лг Потребности Bi 1 4 3 130 В2 7 2 8 220 *3 9 6 1 60 Ва 5 8 2 70 Запасы 120 280 160 480 \ 560 26* 403
Ответ: х* 3. (по о о о ^ О 220 О О 10 0 60 70 Пункты м л2 Потребности 2 5 2 70 В2 3 3 1 30 4 1 4 20 *4 3 2 2 40 Запасы 90 30 40 160 Ответ: х* = 1 70 ° 0 0 0 30 0 20 0 20 10 10 4. Пункты А А2 Потребности Вх 3 1 30 в2 2 2 4 70 Запасы 40 30 30 100 Ответ: х* = '0 0 30 40 30 0 5. Пункты Л\ А2 Аъ Потребности В\ 1 1 2 50 В2 2 3 2 60 Въ 4 4 3 10 Запасы 90 30 40 120 ПО 10 О Ответ: х* = 40 О О [о 50 10 6. Пункты А А2 Потребности 1 3 25 В2 2 4 15 Запасы 10 20 40\30 при дополнительном требовании удовлетворения потребностей в п. В2 ГЮ Ответ: х* = 5 15 , в п. Вх не удовлетворены потребности в 10 единиц. 404
Глава V. ЗАДАЧИ ВАРИАЦИОННОГО ИСЧИСЛЕНИЯ § 14. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ И ОСНОВНЫЕ ПОЛОЖЕНИЯ На практике существуют задачи оптимизации, в которых не удается описать качество выбранного решения с помощью целевой функции. В этих задачах критерий качества зависит от функции, определить которую необходимо так, чтобы критерий принял минимальное или максимальное значение. Вариационными задачами называются задачи о поиске экстремума функционалов, т.е. величин, численное значение которых определяется выбором одной или нескольких функций. Пример 14.1. На плоскости (t,x) заданы две точки (/о»*о)> G\*г)- Требуется соединить эти две точки гладкой кривой, имеющей наименьшую длину (рис. 14.1). Рис. 14.1 D Длина кривой, соединяющей две заданные точки, находится по формуле Таким образом, решение задачи сводится к определению такой непрерывной функции x*(t) , имеющей на отрезке [to,T] непрерывную производную и удовлетворяющей заданным граничным условиям x(to) = xo, x(T)=xT, на которой критерий /[х@] примет минимальное значение. Критерий зависит от функции x(t) и представляет собой функционал. Очевидно, решением является прямая x*(t)9 соединяющая две заданные точки. ¦ Переменная /[*(')] называется функционалом, зависящим от функции x(t), если каждой кривой из заданного класса функций Ж соответствует вполне определенное действительное значение /, т.е. функции x(t) соответствует число. 405
Пример 14.2. Найти значения функционала /[*(/)] = \x(t)dt на следующих о кривых, образующих класс Я/: x{(t) = t, x2(r) = /2, x3(t) = -(t-lJ +1 (рис. 14.2). Рис. 14.2 ? Заметим, что все кривые проходят через две точки @;0), (l;l), т.е. удовлетворяют граничным условиям х@) = 0, x(l) = 1. Найдем значения функционала, соответствующие каждой кривой из класса Л/: 4l 4; 1 1о z В данном примере функционал имеет простой физический смысл - площадь под кривой x(t). Каждой кривой из класса М поставлено в соответствие число, равное площади. Очевидно, может быть сформулирована задача о нахождении такой кривой из класса М, площадь под которой была бы минимальна (максимальна). ¦ Функционал I[x(t)] называется непрерывным, если малому приращению функции x(t) соответствует малое изменение функционала. Будем полагать, что функционал I[x{t)] определен на элементах x(t) линейного нормированного пространства функций, в котором каждому элементу x(t) поставлено в соответствие действительное число ||х| , называемое нормой элемента, при этом выполняются следующие условия: 1) ||х|| > 0 и |х|| = 0 тогда и только тогда, когда х = 0@ - нулевой элемент); 2) |Х*|-|х|-|х|; для любых элементов х9у, принадлежащих пространству, и любого действительного числа X. 406
Предметом нашего рассмотрения являются пространства С0,С1. Пространство С°([/о,Т]) состоит из непрерывных функций (кривых) *(/), определенных на отрезке [tOtT]. В пространстве С°([/0,Г]) норма вводится следующим образом |х||0 = max | x(t) | . Пусть x*(t)e С°([/0,Г]) и е > 0 - произвольное число. г-окрестностью нулевого порядка кривой x*(t) называется совокупность кривых x(t)e С°([*0,Г]), такая, что Это означает, что расстояние от кривой **(/) до кривых x(t) мало (рис. 14.3). х ' хТ О •и Рис. 14.3 Пространство С1 ([*<>> Л) состоит из непрерывных функций (кривых) x(t) , определенных на отрезке [t$9T] и имеющих на этом отрезке непрерывную производную. В пространстве С1 ([*<>» Л) норма вводится следующим образом: Пусть х*(/)е С1 (['о, Л) и ? > 0 - произвольное число, s - окрестностью первого порядка кривой **(/) называется совокупность кривых х@ € С1 ([/0, Л) > такая, что \x~x'l -,3S 407
Это означает, что у кривых x(t) и кривой x*(t) близки не только ординаты, но и значения производных (рис. 1.4). Отсюда следует, что кривая, принадлежащая е-окрестности первого порядка, принадлежит и е - окрестности нулевого порядка (рис. 14.3), но не наоборот. Аналогично вводится норма в пространстве Cm([t0,T]) функций, имеющих непрерывные производные до порядка т включительно, т.е. X '' хт 0 у У* с О Р 8 т t Рис. 14.4 Пример 14.3. Найти расстояния |дс-х*1 , |*-* | между кривыми x(t) =/2их»=г3,Гб[0,1] в пространствах С°([0,1]) и С1 ([0,1]). D Найдем расстояние в пространстве С0 ([0,1]): |х-х*|| = max |/2-f3|. Из необходимого условия экстремума (/2 - Г3)' = 0 получаем 2/-3/2=0 и / = 0, t = —. Вторая производная (t2 —г3)" = 2-6/ в точке / = — отрицательна, поэтому в ней достигается локальный максимум. На концах промежутка [0, l] функция и2 - /3 обращается в нуль. Следовательно, в точке f = глобальный максимум и можно подсчитать значение расстояния в этой точке, равное Но 27 Найдем расстояние в пространстве С!([0,1]): 408
Ix - х*И = max 1t2 -13 I + max I It - 3t2 I. ni r€[O,i]l I /€[O,ip I Так как максимум первого слагаемого уже известен, то исследуем второе слагаемое. Необходимое условие экстремума B* - З/2)' = 2 - 6/ = 0 дает t = -. Так как вторая производная Bf-3f2)" = -6 отрицательна, то в точке / = локальный максимум. Значения функции |2/-Зг2| на границе равны: 0 и 1, а значение в точке - равно —. Поэтому максимум функции 2/-3/2 достигается в точке / = 1 и равен 1. Отсюда I *-**[= — + * = —•¦ Пример 14.4. Найти число N, начиная с которого все функции x(t) = ¦ п2 принадлежат е -окрестности нулевого порядка функции x*(t) = Q, если /е[0,я], г = 0,01. ? Воспользуемся определением е - окрестности нулевого порядка и оцен- ?—т-<г. Отсюда следует, что тре- кой функции sin/i/: Lc-jc* = max И Ho /€[0,я п буемое свойство выполняется при /i>^V Кривые х(г), на которых сравниваются значения функционала, называются допустимыми кривыми или кривыми сравнения. Обозначим через x*(t) допустимую кривую, на которой функционал достигает экстремума, а через x(t) произвольную допустимую кривую. Разность x(t) - х* (/) = 6x(t) называется вариацией кривой x*(t). Вариация 6x(t) есть функция t и принадлежит тому же функциональному пространству, что и функция x(t). Используя вариацию 6x(t) , можно представить любую допустимую кривую x(t) в виде A4.3) Однако нами используется и другая запись x(t)=x*(t)+a&x(t) . A4.4) В выражении A.4) Sx(t) - фиксированная функция, а а - числовой параметр. Очевидно, что при а = 0 справедливо x(t)= x*(t) . Назовем приращением функционала А/ разность А/ = I[x(t)] - I[x\t)] = /[**<*) + abx(t)] - I[x*(t)l A4.5) 409
Линейным функционалам называется функционал /[*(/)], удовлетворяющий следующим условиям: где с — произвольная постоянная, и Дадим определение первой вариации функционала с использованием A4.3). Если приращение функционала Д/ = /[*(/)+ &r(f)]-/[x(O] можно представить в виде Д/ = 6/[х(/), 6х]+р[х(/), 8х] • max |бх|, где 6/[x(/),Sx] - линейный по отношению к Sx(f) функционал, тах|бх| - максимальное значение |йх| и p[x(f),5x]-» 0 при max |&с| -> 0, то главная, линейная по отношению к Ьх часть приращения функционала, т.е. 5/[х(^),5х], называется первой вариацией функционала [44]. Можно дать другое определение первой вариации, используя A4.4). Так как I[x*(t)+abx(t)] есть функция <р(а) числового параметра а, то, разложив эту функцию в ряд Тейлора в окрестности точки а = 0 по степеням а , найдем а2 2 где и называется первой вариацией функционала, 2 5/= 7? ' 7? и называется второй вариацией функционала и т.д. Замечания 14.1. 1. Мы привели два определения вариации функционала. Покажем их связь [44]. Если функционал имеет вариацию в смысле главной линейной части приращения, то это приращение имеет вид Л/ С другой стороны, d da 0 .. Д/ .. А/ lim — slim — да->о Да а-»о а 410
_ bl[x(t)y g&x] + p[x(/), otfoc] |a| max | a->0 + ш a-*0 a a-»0 a так как 5/[x(f),a&r] = аб/[х(/),&с] в силу линейности, а о->0 а потому что р[х(/),а6х]-^ 0 при а -» 0. Следовательно, если существует вариация в смысле главной линейной части приращения функционала, то существует вариация в смысле производной по параметру и эти определения эквивалентны. 2. В литературе вместо I[x(t)] часто используется обозначение /[*(•)], чтобы явно различить элемент х() соответствующего функционального пространства и значение функции x(t) при фиксированном /. Пример 14.5. Найти первую вариацию функционала I[x(t)]=jx2(t)dt. я D Первый способ. Запишем приращение функционала А/ = Но J[S ,)|MI ь - 1 [JC(O + оХ\ а *0>P*«J[ а |&с||. Тогда ь ь [t)]2dt- \x2(t)dt = \2x(t)• bx(t)dt + a a max |&c(f)| ]2Л = [ max |&x(/)| ]2(^ - a) = (^ - a) • d Ц, где р при 5/ |6jcJ -> 0. Поэтому можно выписать выражение для первой вариации функциона- ь ла: 5/= J2jc(/)&c(/)<#. а Второй способ. Воспользуемся формулой A4.7): ь f[x(t) + a 8x(/)] = J [x(t) + a Sx(t)]2dt, a ft b = f 2 [x@ + a &c@1 &c@ Л | o=0 = f 2x@ 8*(') * • as=0 a a Очевидно, оба способа приводят к одному результату. ¦ 411
Говорят, что функционал I[x(t)], определенный на классе At кривых достигает на кривой **(/) глобального минимума (максимума), если [l[x\t)]>I[x(t)\ Пример 14.6. Найти глобальные максимум и минимум функционала из примера 14.2. D Очевидно, на заданном классе Ж допустимых кривых функции Х2(*) = *2 соответствует наименьшее значение функционала (ей соответствует наименьшая площадь под кривой на рис. 14.2), а кривой х3@-наибольшее значение (ей соответствует наибольшая площадь под кривой на рис. 14.2). ¦ Пример 14.7. Доказать, что на кривой x*(t) = t функционал 1 I[x(t)] = \х \t)dt, х@) = 0, хA) = 1 о достигает глобального минимума. ? Очевидно, функция х* (t) = t e С1 ([0,1]). Рассмотрим вариации 6х@ е С1 ([0,1]), удовлетворяющие условиям 5х@) = 5лгA) = 0. Исследуем приращение функционала: I[x\t) + bx(t)) - Дх* @1 = J [x\t) + bx\t)]2dt - J [x01 (t)]2dt = о о 1 1 1 = 2 J x*'(tNx(t)dt + J [&c'@]2<# =f [bx\t)\2dt * 0, 0 0 0 1 так как х*' (t) = 1, J x*' (/) bx'(t) dt = &x(l) - &c@) = 0 . Поскольку кривая о x(t) = x*(t) + bx(t)eCl([09\}) произвольна и I[x(t)] = I[x\t) + bx(t))> I[x\t)] , то на функции x*(t) = t достигается глобальный минимум.¦ Понятие локального минимума ( максимума ) связано с исследованием поведения функционала на близких кривых. Различают сильный и слабый локальный минимум ( максимум ). Говорят, что функционал /[*(*)] достигает на кривой x*(t) сильного минимума (максимума), если I[x*(t)] < I[x(t)] [ I[x*(t)] ? I[x(t)] J в е-окрестности нулевого порядка кривой x*(t). Говорят, что функционал /[*(')] достигает на кривой x*(t) слабого минимума (максимума), если f[x*(t)]<I[x(t)] [I[x*(t)]> I[x(t)]\ в е-окрестности первого порядка кривой x*(t). Локальные минимумы и максимумы функционала называются его локальными экстремумами. 412
Замечание 14.2. Всякий сильный экстремум функционала является и слабым, а обратное, вообще говоря, неверно, так как сильный экстремум - это экстремум по отношению к более широкому классу кривых. Пример 14.8. Доказать, что на кривой x*(t) & О функционал /МО] = J x2(t) [3 - х 2(t)] dt, х@) = х(п) = О о достигает слабого минимума. ? Так как 7[лс*@] = 0, то согласно определению требуется доказать, что существует е > 0, такое, что для всех x(t), удовлетворяющих условию max [О] шах |х'@-**'@|= max |*@|+ max \x(t)\ справедливо неравенство I[x(t)] > I[x*(t)] = 0. Пусть 6 = 1, тогда для всех кривых из s -окрестности первого порядка кривой x*(t) ¦ 0 выполняются условия: max I x(i) I < е = 1, max I x\t) I < e = 1. /€[0,nl ' ' te\Otn]' ' n Поэтому 0<;jc2(O<1, 3-jc'2(/)>0 и I[x(t)]= Jx2(O[3-x'2(/)]<fr>0, что и тре- о бовалось доказать. Следовательно, на кривой x*(t) = 0 функционал достигает слабого минимума. Исследуем функционал на наличие сильного минимума. При 8 = 1 6-окрестность нулевого порядка кривой х*(/)гО образуют кривые, удовлетворяющие условию max \x(t)-x*(t) = max |х@|<е = 1. Но среди них можно /ejO.itJI I feJO,*]1 ' подобрать такую функцию, например x(t) = sin5/, что выражение [3-x'2(t)] может быть отрицательным, так как x(t) = 5 cos 5/. Поэтому условие I[x(t)]> /[**(/)] = 0 на некоторых функциях из е-окрестности нулевого порядка кривой x*@s0 может не выполняться. Аналогичные рассуждения справедливы при других значениях е. Следовательно, на кривой х*(г) = 0 функционал не достигает сильного минимума. ¦ Необходимые условия локального минимума ( максимума ) одинаковы для сильного и слабого минимума ( максимума ) и определяются следующей теоремой [44]. Теорема 1.1 (необходимые условия локального экстремума). Если функционал l[x(t)]f имеющий вариацию, достигает минимума или максимума на кривой x*(t), где x*(t) есть внутренняя точка области определения функционала, то при x(t) = x*(t) первая вариация функционала равна нулю: 5/ = 0. A4.8) 413
Замечания 14.3. 1. Доказательство необходимых условий экстремума функционала опирается на тот факт, что при фиксированных x*(t) и &с(/) функционал /[х*@ + а&с@] = <р(а) является функцией параметра а. При а = 0 функционал достигает экстремального значения /[**(/)]. Заметим, что а может принимать в окрестности точки а = 0 как положительные, так и отрицательные значения (при этом x*(t) является внутренней точкой в области определения функционала). Так как точка а = 0 является точкой локального экстремума функции <р(а), то, применяя необходимые условия локального экстремума функций (см. § 2), получаем или -р/[Л0 + а5х@]| =0. A4.9) • а=0 2. Различие между сильным и слабым экстремумами не имеет существенного значения при выводе необходимого условия экстремума, но весьма существенно при выводе и применении достаточных условий экстремума. При выводе необходимых условий экстремума для различных постановок вариационных задач применяется следующая важная теорема [44]. Теорема 14.2 (основная лемма вариационного исчисления). Если для каждой непрерывной функции r\(t) т A4.10) о где функция a(t) непрерывна на отрезке [*о,Г], то a{t) = 0 на том же отрезке. Замечания 14.4. 1. Утверждение основной леммы вариационного исчисления и ее доказательство не изменятся, если на функцию ti(/) наложить следующие ограничения: ф) имеет непрерывную производную; r\(t0) = т|G") = 0. 2. Все изложенное в этом разделе без изменения переносится на функционалы l[x(t)]= l[xl(t\...,xn(t)], зависящие от вектор-функции *(/) = = (х,(/),...,xn(t))T одной переменной или зависящие от функций нескольких переменных. Для таких функционалов вариация также определяется как главная линейная часть приращения функционала и доказывается, что на функциях (вектор-функциях), на которых реализуется экстремум, вариация равна нулю. Задачи для самостоятельного решения 1 1. Вычислить значения функционала I[x(t)]= jx2(t)dt на кривых x{(t) = t, о Ответ: 1Х = —, li = — (е2 -1). 414
2. Найти расстояние между функциями x(t) = t2, x*(t)-t в пространстве С°([0,1]). Ответ: |*-**| = —• 3. Найти расстояние между функциями *(/) = /, x*(t) = \nt в пространстве С'(?,*]). Ответ: ||х-**|| = 2(е-1). 4. Пользуясь определением, доказать, что на кривой x*(t) = t3 -t2 функ- 1 ционал I[x(t)] = ]У'2(г)Л, jc(O) = х'@) = хA) = 0,х'A) = 1, достигает глобального о минимума. 5. Доказать, что на кривой x*(t) э 0 функционал /МО] = )x2(t)[x'(t) - 1]2А, x(-7i) = х(п) = О, -я достигает сильного минимума. 6. Найти первую вариацию функционала l[x(t)] = J [x:2(/)+ x'2(t)\dt, о х@) = 0, хA)=1. Ответ: 6/ = J [2x{t)~ 2x"(t)] bx(t)dt. о 7. Найти первую вариацию функционала l[x(t)] = J [ 12/ x(t) -x'2(t) \dt, -l *(-l)=l, x@)=0. о б/= J [ 12/+ 2x"( 8. Найти первую вариацию функционала l[x(t)] = J [x 2{f) - дс2(/) |Л, о x@)=l, x[i] = O. J [ - Ответ: Ы = о 415
§ 15. ВАРИАЦИОННЫЕ ЗАДАЧИ ПОИСКА БЕЗУСЛОВНОГО ЭКСТРЕМУМА 15.1. МЕТОД ВАРИАЦИЙ В ЗАДАЧАХ С НЕПОДВИЖНЫМИ ГРАНИЦАМИ 15.1.1. Функционалы | f(t, x(t), x(t))dt, зависящие от одной функции Постановка задачи Рассмотрим множество Ж допустимых функций (кривых) x(t), удовлетворяющих следующим условиям (см. рис. 14.3): а) функции x(t) определены и непрерывно дифференцируемы на отрезке [/о,Г], где /оиГ заданы, т.е. x(t)eCl([t0,T]); б) функции x(t) удовлетворяют граничным условиям х(/0) = х0, х(Т) = хт, A5.1) где значения хо,хт заданы, т.е. кривые проходят через две закрепленные граничные точки. На множестве Ж задан функционал /[*(/)]= \F{ux(t\At))dt9 A5.2) 'о где подынтегральная функция F(t,x,x) имеет непрерывные частные производные до второго порядка включительно по всем переменным. Среди допустимых кривых x(t) , принадлежащих множеству Ж, требуется найти кривую x*(t) , на которой функционал B.2) достигает экстремума, т.е. /[**(/)]= fxtr \F{ux(tU(t))dt. A5.3) *0 Так как на кривые x(t) , образующие множество Ж, не наложено дополнительных условий, кроме граничных, задача A5.3) называется задачей поиска безусловного экстремума. Этому классу задач посвящен §15. В §16 рассматриваются задачи поиска условного экстремума, когда на искомые функции кроме граничных условий накладываются дополнительные конечные, интегральные или дифференциальные условия. Стратегия поиска решения задачи Стратегия поиска решения задачи A5.3) состоит в определении первой вариации 5/ функционала /[*(/)] и приравнивании ее к нулю согласно теоре- 416
ме 14.1 о необходимом условии экстремума функционала. В результате получаются соотношения, позволяющие найти кривые, "подозрительные" на наличие экстремума функционала. С помощью анализа второй вариации функционала выводятся различные достаточные условия экстремума, позволяющие сделать вывод о достижении сильного или слабого минимума или максимума. Необходимые условия экстремума функционала в задаче A5.3) Обозначим х*(/) - кривую, на которой достигается экстремум функционала. Тогда допустимая кривая определяется по формуле A.4): х(/) = х*(/) + oc$x(f) , а ее производная x'(t) = x*'(t) + abx'(t) , где 8х(/) - фиксированная вариация кривой, 5х'@ = (bx(t)f - производная вариации, а- числовой параметр. Заметим, что bx(t) € С1 ([/о, Т]), 8х(/0) = 0, Ьх(Т) = 0. Тогда I[x\t) + aSx(')] = \F{t,x\t) + <х6х@, x*'(t) + a6x'(t))dt = <p(a), A5.4) к где cp(a) - функция числового параметра a. Используя формулу A4.7) для вычисления первой вариации функционала, имеем . </cp(a) d ы = ——¦¦ = ——¦ {* ос л о ос а=0 % - | [^^*@ + а6х@,х*'@ + а8х'(/))|а о6х(/)- т г , = J [Fx(t,x\t),x*'(t)Nx(t) + FAt,x\t),x*t(t»bx'{t)\dt9 A5.5) где Fx =—ь-2—•—L, F>=—^ ; l - соответствующие производные подын- 5х х дх тегральной функции. В выражении A5.5) проинтегрируем второе слагаемое по частям, учи- , т т тывая, что bx'(t) = (бх@) , и = F*, dv = bx\t)dt = (&x(/)) dt, Jw rfv = u • v | - J v du. d Отсюда du = — 7^' a/, v = 5x(/) и 27 — 4751 417
т т 8/ = [Fx' 8x@]I + f I Fx —-J-^y \bx{t)dt. A5.6) Так как &с(/о)=О, &с(Г) = О, то 5/= jfa-^W)*- A5.7) Необходимое условие экстремума A.8) в данном случае имеет вид б/ = J \fx - A5.8) К выражению A5.8) применима основная лемма вариационного исчисления (теорема 14.2), так как в силу наложенных ограничений на кривой x*(t) функция Fx ——Fx* является непрерывной, а вариация &х(/) - at произвольной непрерывно дифференцируемой функцией, удовлетворяющей условиям 5х(/0) = 0, 8х(Г) = 0 (см. п. 1 замечаний 14.4). Следовательно, кривая x*(t), на которой достигается экстремум функционала, удовлетворяет уравнению Fx-—Fx=0. A5.9) Уравнение A5.9) называется уравнением Эйлера. В развернутой форме уравнение A5.9) имеет вид F -F >< - F -х-F "х" = 0 (\5 10) X Xt XX XX \ ¦•/•***/ и при Fxy * 0 представляет собой обыкновенное дифференциальное уравнение второго порядка. Его общее решение x-x{f,C\9C2) зависит от двух произвольных постоянных С, и С2 и определяет двухпараметрическое семейство экстремалей. Два граничных условия x(to) = xo и х(Т)=хТ позволяют найти Cj и С2 и, как следствие, кривую **(*), на которой может достигаться экстремум функционала. Только на удовлетворяющих граничным условиям экстремалях может реализовываться экстремум. Чтобы выяснить, достигается ли на экстремали экстремум функционала, а если да, то какой (минимум или максимум), следует использовать достаточные условия (см. стр. 436). Теорема 15.1 (необходимые условия экстремума в задаче A5.3)). Если на кривой x*(t)eC*([to,T]), удовлетворяющей граничным условиям x*(to)=xo, x*(T)=xt, достигается слабый экстремум функционала в задаче A5.3), то она удовлетворяет уравнению Эйлера 418
Замечания 15.1. 1. Краевая задача A5.9), A5.1) не всегда имеет решение, а если решение существует, то оно может быть не единственным. 2. Во многих практических задачах существование решения очевидно, и если решение задачи A5.9), A5.1) единственно, то экстремаль будет решением поставленной задачи. 3. Можно указать условия, при которых можно гарантировать существование непрерывной второй производной у экстремали х*(/) . Теорема 15.2 [11]. Пусть х = х*'(*)-решение уравнения Эйлера Fx--—F =0. Если функция at F\f,x,x) имеет непрерывные частные производные до второго порядка включительно, то во всех точках (f,x*j, где Fxx>\(,x*(t\x*'(t))*Q функция х = х*(/) имеет непрерывную вторую производную. 4. Уравнение Эйлера интегрируется в квадратурах лишь в исключительных случаях. Приведем некоторые простейшие случаи интегрируемости уравнения Эйлера. Первый случай. Функция F(t,x,x) не зависит от х явно: /\/,х,х') = F\t,x). Уравнение Эйлера A5.9) принимает вид --/у=0 и, следовательно, at FX=CX. A5.11) Соотношение A5.11) называется первым интегралом уравнения Эйлера. Второй случай. Функция F(t9x,x) не зависит от t и х явно: F(/,x,x')= F(x). Уравнение Эйлера A5.10) записывается в форме Fxx> • х" = 0. Его общее решение имеет вид х(г) = С!/ + С2, A5.12) так как х" = 0, а условие Fxx'=0 дает обыкновенное дифференциальное уравнение первого порядка. Если уравнение Fxx>(x') = 0 имеет один или несколько действительных корней вида х = kt, то получаем однопараметрические семейства прямых x(t) = kt t + C, содержащиеся в двухпараметрическом семействе A5.12). Третий случай. Функция ,р(/,х,х') не зависит от / и х явно: F(t,x,x)= F(x) или не зависит от х явно: F(f,x,x')= F(t,x). Задача A5.3) в общем случае решения не имеет, так как уравнение Эйлера A5.9) принимает вид Fx=0 A5.13) и не является дифференциальным, т.е. его решение не содержит элементов произвола и поэтому не удовлетворяет граничным условиям. Однако, если решение уравнения Fx=0 проходит через граничные точки (*о,*о) и (Г, ху-), экстремаль существует. 27* 419
Четвертый случай. Функция имеет вид f(t,х,х) = P(t,х) + Q(t,x)x . Уравнение Эйлера записывается в форме 2?-5?-0. A5.14) дх dt Это уравнение не является дифференциальным. Если его решение удовлетво- дР дО ряет граничным условиям, то экстремаль существует. Если s—^, то дх dt под знаком интеграла A5.2) находится полный дифференциал и, следовательно, величина интеграла не зависит от пути интегрирования, а вариационная задача теряет смысл. Пятый случай. Функция F(t,x,x') не зависит от / явно: F(f, х9 х) = f(x, x). Уравнение Эйлера A5.10) имеет вид так как Fx>t=0. Если умножить левую и правую части уравнения на х, то левая часть превращается в производную —[F-jc'/y]. Действительно, ±[F - x'Fx.} =Fxx' + Fx, x" - x" Fj - x FA x - x' F^ x" = x [Fx - Fxxx - FxVx"]. Поэтому уравнение Эйлера может быть записано в виде —[F-x'Fx'] = 0 и имеет первый интеграл /?-х'^=С,. A5.15) Заметим, что часто непосредственное применение уравнения Эйлера A5.9) оказывается проще использования первых интегралов. Алгоритм применения необходимых условий экстремума в задаче A5.3) d It1 L Найти Fxi Fx>9 —Fx> и записать уравнение Эйлера Fx-4Fx=0. х dt x Если функция /*(/,*, дс') соответствует какому-либо случаю интегрируемости, можно использовать соотношения A5.11)-A5.15). 2. Найти общее решение уравнения Эйлера х = х(/,С|,С2), где С\ и С2 - произвольные постоянные. 3. Определить постоянные С\ и С2 из граничных условий, решая систему ^о,С1,С2) = хо, х(Т,СиС2)=хТ. В результате получить экстремаль **(*)» на которой может достигаться экстремум функционала. 420
Пример 15.1. Найти экстремаль функционала удовлетворяющую граничным условиям х@)=0, x(l) = l. П 1. Запишем уравнение Эйлера A5.9). Так как F = x2 + х'2, Fx=2x, /у=2х\ j fo }= 2х^ то получаем 2х-2х" = О или х"-х = 0. 2. Найдем общее решение уравнения Эйлера. Оно является однородным с постоянными коэффициентами, поэтому составим характеристическое уравнение X2 -1 = 0. Его корни Х{ = 1, Х2 = -1 - действительные разные. Общее решение однородного уравнения имеет вид [33] x(t) = С,ех»' + С2ех* = С,е 3. Определим коэффициенты Сх и С2 из граничных условий: 0, Отсюда , С2 В результате получаем экстремаль Пример 15.2. Найти экстремаль функционала -1 удовлетворяющую граничным условиям х(-1) = 1, х@) = 0. D 1. Составим уравнение Эйлера A5.9). Так как /г = 12/х-х'2, /^=12/, Fx'--2x\ ^fe} = -2x", то получаем 12/-(-2х")= 0 илих" = -6/. Рис. 15.2 421
2. Найдем общее решение уравнения Эйлера, интегрируя дважды левую и правые части уравнения х" =-6/ : х' = -3/2+С1э x(f)=-f3 + 3. Определим коэффициенты Сх и С2 из граничных условий: Отсюда Q =С2 =0. В результате получаем экстремаль **(/) =-Г3 (рис. 15.1) Пример 15.3. Найти экстремаль функционала о удовлетворяющую граничным условиям х@)=1, дп^| = 0. D Решим задачу двумя способами. Первый способ. 1. Составим уравнение Эйлера A5.9). Так как F = x'2-x2, Fx=-2x, Fx=2x, — {Fx>}= 2x", то получаем -2jc-2jc"=*0 или х" + х = 0. dt 2. Найдем общее решение уравнения Эйлера. Поскольку оно является однородным с постоянными коэффициентами, то составим характеристическое уравнение X2 +1 = 0. Его корни х{2 = а±pi = ±/ - комплексные разные (а = 0, р = 1). Поэтому общее решение однородного уравнения имеет вид [33] х(/) = eat(C{ cosp*+ C2 sinp/) = C, cosf+ C2 sin/. 3. Определим коэффициенты Сх и С2 из граничных условий: Отсюда получаем экстремаль **(/)= cos/ (рис 15.2). Второй способ. 1. Заметим, что подынтегральная функция F = x'2-x2 не зависит явно от /, следовательно, соответствует пятому случаю интегрируемости. Уравнение Эйлера имеет первый интеграл A5.15): F-x'Fx> =х'2 -х2 -х {2x') = Ci или х2 +х2 =-Сх =С2. 2. Найдем общее решение дифференциального уравнения. Сделаем замену переменной: х'= — = т. Отсюда х2 =С2-т2 и x = Jc2-x2 , dbc = т ^ Л 2i/c^7 . Проинтегрировав обе части, получим / = -arcsin~ 422
Тогда arcsin-7 = C2 -/, — = sin(C2-/), T = Csin(C2-f). Поэтому с* с» x(t) = Jc2 -т2 = Vc2 -C2sin2(C2-/) - Сcos(C2 - f) - общее решение уравнения Эйлера. 3. Определим коэффициенты С и С2 из граничных условий: jc@)=CcosC2=1, Отсюда С = 1, С2=0. В результате получена экстремаль x*(f) = cos/. Заметим, что в данной задаче непосредственное применение уравнения Эйлера A5.9) приводит к более простому дифференциальному уравнению.¦ Пример 15.4. Найти экстремаль функционала I[x(t)]=)[44t)-x'4t)+\2tx(t)]dt9 о удовлетворяющую граничным условиям х@)=1, x(l) = 4. ? 1. Запишем уравнение Эйлера A5.9). Так как /* = 4дс-х'2 + 12/х', /^=4, ^=-2У + 12/, ^-{^} = -2jc" + 12,to 4 + 2jc"-12 = 0 или х" = 4. 2. Найдем общее решение уравнения Эйлера, интегрируя последовательно обе части: 3. Определим коэффициенты С] и С2 из граничных условий: Отсюда С|=1, С2=1. В результате находим экстремаль **(*)= 2f2 +t + \M Пример 15.5. Найти экстремаль функционала In 2 j о удовлетворяющую граничным условиям дс@)=хAп2) = 0. П 1. Запишем уравнение Эйлера A5.9). Так как F = (х'2 +2х2 +2х)е~', Fx = Dх + 2)е~*, /у » 2х# е~*, j {^} = 2х" е~* - 2х' е~', то получаем или 423
2. Найдем общее решение уравнения Эйлера: а) определим общее решение однородного уравнения х" - х - 2х » 0. Корни характеристического уравнения Я2 - X - 2 = О - действительные разные: А.! = 2, Х2 = -1, поэтому xo(t) = Cie2t + С2е~*; б) подберем частное решение неоднородного уравнения в виде x4(t)=A. Подставляя в уравнение, получаем -2Л = 1 или А = —; в) найдем общее решение неоднородного уравнения как сумму результатов пп. "а" и "б": х(/) = С1е2/+С2е"/--. 3. Определим постоянные С{ и С2 из граничных условий: C2e-|n2-i = C1^ln4+C2i?ln2-I = 4C1+ic2-i = 0. Отсюда С] = —, С2 = - и, следовательно, получаем экстремаль Пример 15.6. Найти экстремаль функционала О удовлетворяющую граничным условиям дс(О) = О, x(l) = 0. D 1. Запишем уравнение Эйлера A5.9). Так как F = x2 +x2 +2хе*, Fx=2x + 2e', Fx>=2x, 4 iFx'} = 2х"» то получаем ш гх'^о или х"-х = ег. 2. Найдем общее решение уравнения Эйлера: а) определим общее решение однородного уравнения х"-х = 0. Корни характеристического уравнения Л? — 1 = 0 — действительные разные: А,| = 1, Х2 = -1. Поэтому jco(/) = CxeXl* + C2eXj/ = C^r + C2e~*; б) подберем частное решение неоднородного уравнения в виде *„(/)= Лг^, где А -неизвестный параметр [33]. Тогда x'4(t) = Ae' + Ate*f х'$)=2Ае* + Ate*. Подставляя в неоднородное уравнение, получаем 2Ае* +Ate* -Ate* те*. Приравнивая коэффициенты при одинаковых функциях от /, имеем 2Л = 1 или А = -. Поэтому x4(t) = -е*\ 424
в) найдем общее решение неоднородного уравнения как сумму результатов пп. "а" и "б": x{t) = C{e' + С2е~' +т«'- 3. Определяем постоянные Сг и С2 из граничных условий: х@)=С1+С2=:0, и, как следствие, экстремаль Пример 15.7. Найти экстремаль функционала 2 /[*(')]= j[ltx'5(t)-5x(t)x' 4(t)]dt9 1 удовлетворяющую граничным условиям x(l) = 1, дсB) = 4. D 1. Запишем уравнение Эйлера A5.9). Так как / = 3/х'5-5дсх'4, Fx=-5x4, /у =15Гх'4-20хх'3; j{Fx>}=l5x'4 +60/x'V-20a:'4 -60xjc'V, 'V = 0 или х 2х"(х-tx) = 0. то -5/4-15jc'4 2. Найдем общее решение уравнения Эйлера. Оно распадается на три уравнения. Первое уравнение х'2=0 имеет решение x(f)=C. Прямые этого семейства не принадлежат классу допустимых кривых, так как не удовлетворяют граничным условиям. Второе уравнение х" = 0 имеет решение x(t) = Cyt + C2> Третье уравнение х - tx = 0 является уравнением с разделяющимися переменными [33] : — = —. Оно имеет решение x(t) = Ct, которое включается в семейство x(t) = C} 3. Найдем коэффициенты Сх и С2 из граничных условий: хA) = С!+С2=1, Отсюда Cj = 3, С2 = -2, x*(t) = 31 - 2 - экстремаль.¦ 425
Пример 15.8. Найти экстремаль функционала ()] Л, удовлетворяющую граничным условиям х@)=1, jd— =-1. D 1. Составим уравнение Эйлера A5.9). Так как F «х2 -37дсдс'-81х2, Fx = -Ъ1х -162*, /^ - 2х - 37х, — {/у} - 2х" - 37х', то уравнение имеет вид at или 2. Найдем общее решение уравнения Эйлера. Аналогично п.2 примера 15.3 получаем Л.2 +81 = О, Я,1J=±9/, x(t)-Cx 3. Определим коэффициенты Сх и С2 из граничных условий: В результате получаем экстремаль х*(г) = cos9/-sin9/.¦ Пример 15.9. Найти экстремаль функционала О удовлетворяющую граничным условиям х@) = 0, хB)=0. D 1. Запишем уравнение Эйлера. Подынтегральная функция F = х 2 + /х' не зависит от х явно и, следовательно, соответствует первому случаю интегрируемости. Уравнение Эйлера имеет первый интеграл A5.11): С — t С t 2. Решим уравнение Эйлера х'=—*— = -^——. Интегрируя, получаем 3. Определим коэффициенты С] и С2 из граничных условий: Отсюда Ci = 1, С2=0.В результате получаем экстремаль **(*) = — . 2 4 426
Пример 15.10. Найти экстремаль функционала удовлетворяющую граничным условиям x(l)=3 + V3, xB)=3. D 1. Запишем уравнение Эйлера. Подынтегральная функция F = не зависит от х и, следовательно, соответствует первому случаю интегрируемости. Уравнение Эйлера имеет первый интеграл A5.11): 2. Найдем общее решение уравнения Эйлера. Имеем лаем подстановку х = — = tg т: / = —т^— = С sin т. Найдем дифференциал: dt 1 COST dt = Ccosxrfr. С учетом равенства dx = tgxdt получаем dx = tgx • С • coszdx = = Csinxrfc. Интегрируя, имеем x(/)=-Ccost + C2. Из системы / = CsinT, x(t)-C2 =-Ccost, возводя в квадрат каждое уравнение и складывая, находим г2 + МО-^гJ =С2 - общий интеграл уравнения Эйлера. 3. Определим коэффициенты С и С2 из граничных условий: 1 + (з+1/з-с2J=с2, 4 + C-С2J=С2. Отсюда С2=3, С2 =4. В результате получаем экстремаль t2 +(**(/)-з)г =4. Так как x(l) = 3 + V3, экстремум может достигаться лишь на кривой Jc*(r) = 3 + V4-/2, te[l92]m Пример 15.11. Найти экстремаль функционала J J о удовлетворяющую граничным условиям х@)=0, хB) = 4. П 1,2. Запишем уравнение Эйлера. Подынтегральная функция F = x'4+x'3 не зависит от / и х явно и, следовательно, соответствует второму случаю интегрируемости. Общее решение уравнения Эйлера имеет вид A5.12): x(/)=C,* + C2. 427
3. Определим коэффициенты С, и С2 из граничных условий: xB)-2Ci+C2-4. Отсюда С, =2, С2=0. В результате получаем экстремаль **(/) = 2*. Пример 15.12. Найти экстремаль функционала ) 1 удовлетворяющую граничным условиям x(l)=2, xC) = 0. П 1,2. Запишем уравнение Эйлера и его общее решение. Подынтегральная функция F = Jl + x2 не зависит от / и х явно. Общее решение уравнения Эйлера, соответствующее второму случаю интегрируемости, имеет вид A5.12): x(t)=Clt + C2. 3. Определим коэффициенты Сх и С2 из граничных условий: х&)-С1+С2-2, хC)=ЗС1+С2=0. Отсюда С{ = -1, С2 = 3. В результате получаем экстремаль х* (t) - - г + 3. Заметим, что тем самым получено решение примера 14.1 о поиске гладкой кривой, соединяющей две точки и имеющей наименьшую длину.в Пример 15.13. Найти экстремаль функционала I[x(t)]=)[x*(t)+x(t)]dtt ! удовлетворяющую граничным условиям хA) = 0, дгB) = 1. D Запишем уравнение Эйлера и решим его. Подынтегральная функция F = х2 + х не зависит от f и х . Она соответствует третьему случаю интегрируемости. Уравнение Эйлера имеет вид A5.13): /rJC=2x + l = 0. Отсюда *(/)=—. Поставленная задача не имеет решения, так как кривая x(t)=— не удовлетворяет заданным граничным условиям x(l) = 0, хB) = 1. Заметим, что решение существует, если граничные условия другие, а именно: x(l) = —, jcB) = — .¦ Пример 15.14. Найти экстремаль функционала удовлетворяющую граничным условиям дс(/0) = х0, х(Т)=хт. 428
Q Запишем уравнение Эйлера и решим его. Подынтегральная функция F = х2 + 2tx не зависит от х' и соответствует третьему случаю интегрируемости. Уравнение Эйлера имеет вид A5.13): Fx =2x + 2t = О или x(/)=-f. Задача имеет решение, если найденная прямая проходит через граничные точки, т.е. при x(to) = -to = jc0, x(T) = -T = хт.Ш Пример 15.15. Найти экстремаль функционала о удовлетворяющую граничным условиям х@) = 0, хB) = 1. D Запишем уравнение Эйлера и решим его. Подынтегральная функция F(t,x,x)= P(t9x)+Q(t,x)x =x2 +tx , т.е. P(t,x) = x2, (?(*,*)=/ (четвертый случай интегрируемости). Уравнение Эйлера A5.14) принимает форму 2дс-1 = 0. Отсюда x(t) = —. Задача не имеет решения, так как полученная функция не удовлетворяет граничным условиям.! Пример 15.16. Найти экстремаль функционала О удовлетворяющую граничным условиям х@) = 0, х(\) = хт. D Запишем уравнение Эйлера и решим его. Подынтегральная функция F(t,x,x)= P(t,x)+Q(t,x)x =2х3 +3t2x, т.е. />(*,*)= 2jc3, Q(t,x)=3t2 (четвертый случай интегрируемости). Уравнение Эйлера A5.14) принимает форму 6х2 -6t = 0 или х2 = t. Граничное условие х@) = 0 удовлетворяется, а условие x(l) = xT выполняется при х\ = 1. Таким образом, экстремаль существует только тогда, когда хт =1 или хт =-1.И Пример 15.17. Найти экстремаль функционала l[x(t)] = J [ JC2(r)cosf + 2x{t)x(t) sin / \dt, n 6 удовлетворяющую граничным условиям x ~ I = i f x — I = 2. D Подынтегральная функция имеет вид F = x2 cost+ 2xsintx =P(t9x)+Q(t9x)x\ т.е. P(tyx)=x2 cost, Q(tix)=2xsint. Так как —±2^- = 2xcostt — = 2xcos/, то as—2ь.. Выражение под зна- дх dt дх dt ком интеграла является полным дифференциалом функции х2sin/. Величина 429
функционала не зависит от пути интегрирования,. а вариационная задача не имеет смысла (см. четвертый случай). Значение функционала равно .4-1-1. 2 2 Пример 15.18. Найти экстремаль функционала удовлетворяющую граничным условиям х@)=1, jc(l) = 3/4. П 1. Запишем уравнение Эйлера. Подынтегральная функция F = xx'2 не зависит от / явно (пятый случай интефируемости). Уравнение Эйлера имеет первый интеграл A5.15): хх2 -2ххх=С{ или хх'2 =-Cj =C. 2. Найдем общее решение уравнения Эйлера. Введем подстановку х' — = т. Тогда уравнение хх2 =С имеет вид хт2=С. Отсюда х = — . dt dt Найдем дифференциал dx: = —-т-dx. Тогда х3 dt= — = —т^1* Отсюда т х4 - общее решение. 3. Определим коэффициенты С и С2 из граничных условий: Отсюда | + 2С2 -1 = 0. Окончательно имеем: C2=-l, C=-; C2=i С = 4. В результате получаем две экстремали: x*( 430
Пример 15.19. Найти экстремаль функционала 4 j -4 удовлетворяющую граничным условиям х(-4) = 5, хD)=5. D 1. Запишем уравнение Эйлера. Подынтегральная функция F = у х[\+х'2] не зависит от / явно (пятый случай интегрируемости). Уравнение Эйлера имеет первый интеграл A5.15): J'V t2] -' ** Г или х = Сц/*[1 + *'2]; x2=C| Vx[l + x'2] х*0. Сокращая на х, получаем x = c(l + x'2), где С = С2. 2. Найдем общее решение уравнения Эйлера. Обозначим х = — = т, о/ поэтому x = c(l + t2), dbc = 2Ctrft. С другой стороны, имеем dt = — = 2— = 2СЛ. Интегрируя обе части, получаем / = 2Ст + С2, т т L э т2 - л и- ш в результате находим 3. Определим коэффициенты С и С2 из граничных условий: 4С " АС ' Отсюда D + С2J=D-С2J и С2=0. Тогда 4E-С)С = 16, С2-5С + 4 = 0, С*=1, С** =4. В результате получаем две экстремали 4 Id Пример 15.20. Найти семейство экстремалей функционала П 1. Запишем уравнение Эйлера. Поскольку F(/, x, х') не зависит от явно, уравнение Эйлера имеет первый интеграл A5.15). Так как F = ; 431
\ + х'2-х2 xJ\+x2 xJl + x'2 xJ\ + x то F-x'F> 2. Найдем общее решение уравнения Эйлера. Уравнение = С{ является уравнением первого порядка, не разрешенным 1 относительно х . Вводим замену х = — = т , и тогда dt Интегрируя обе части равенства dt = — = - Т С,^+х'Г находим / = - f ut = -2 + С2. Отсюда получаем C^{l + x2f C,VT + t* C.Vl + x2 , Т , =(Q-02 и х2=С,2| С,2A+т2) Рассмотрим два равенства i2 [l-Ci(C2-tJ\=Ci(C2-tJ, x2 = -t? I — — • Сх A + т ) Так как 1 + т2 = 1 + -, то или \-Cl{C2-t? l-C?(C2-tf С? В результате получаем семейство экстремалей: Приведем решение двух классических задач [44]. Пример 15.21 (задача о линии быстрейшего ската - брахистохроне). Среди всех гладких кривых, соединяющих точки Л@,0) и B{y{iz\), найти ту, по которой материальная Точка, двигаясь под действием силы тяжести из точки А с нулевой начальной скоростью, достигнет точки В за кратчайшее время. D Формализуем задачу. Для этого проведем через точки А и В плоскость и возьмем произвольную гладкую кривую z(y), причем z@) = 0, l(yx) = z{ (рис. 15.3). Для произвольной точки М на основании закона „2 сохранения энергии получаем mv* •-mgz, где т- масса точки, v-скорость, 432
g- ускорение свободного падения. Отсюда v = J 2gz. С другой стороны, dS Jl + Z2(y) dy Jo v = —= - 7-^—, где dS- элемент длины дуги, /-время. Поэтому at at dt = , dy и время, затрачиваемое на движение из точки А в 1 у\ Jl + z'2(y) точку В, находится по формуле / = . [ -—=====—dy или, переходя J2g о Jz(y) к обычным обозначениям = y: m9 x@) = 0, Так как коэффициент Рис. 15.3 влияет только на величину функционала и не влияет на процесс нахождения решения, учитывать его не будем. Решим сформулированную задачу, пользуясь алгоритмом. 1. Составим уравнение Эйлера. Так как подынтегральная функция J\ + x F = -—=— не зависит от / явно (пятый случай интегрируемости), то уравнение Эйлера имеет первый интеграл A5.15): 2х' -с. После упрощений имеем 2. Найдем общее решение уравнения Эйлера. Введем параметр х, полагая — = x' = ctgT. Тогда х = r- = Csin2T, dx = 2Сsinтcostdx; dt 1 + ctg^x 28 — 4751 433
Следовательно, уравнение искомой линии в параметрической форме имеет вид х(т) = С sin2 т = — A-cos 2т), ) = —Bx-sin2T)+C2. 3. Поскольку х@) = 0, то С2 = 0. Обозначая р = 2т, получаем уравнение семейства циклоид: С С / = _-(/>-sin p), *=y(l-cosp), С где —--радиус катящегося круга, который определяется из условия прохождения циклоиды через точку ВМ Пример 15.22 (задача о наименьшей площади поверхности вращения). Среди всех плоских гладких кривых, соединяющих точки A(tOyxo) и В(Т,хт), найти ту, которая при вращении вокруг оси абсцисс образует поверхность наименьшей площади (рис. 2.4). D Как известно, площадь поверхности вращения находится по фор- т . муле /[*(/)] = 2я J x(t)yl + х 2(/)dt. Поставленная задача сводится к определено нию гладкой кривой x(t), удовлетворяющей граничным условиям х(/0) = х0, ) = хт, на которой достигается минимум функционала /[*(/)]. X Рис. 15.4 Решим задачу, пользуясь алгоритмом. 1. Составим уравнение Эйлера. Подынтегральная функция не зависит от t явно (пятый случай интегрируемости). Уравнение Эйлера имеет первый интеграл A5.15): F-x'Fx. -Сг. 434
После упрощений получаем -== = С,. VI + х'2 2. Найдем общее решение дифференциального уравнения. Полагая — = x' = shx, имеем x = Cichx; dx^CiShxdx; dt=—г = —l— = Cxdx, Таким образом, искомая поверхность образуется вращением линии, уравнение которой в параметрической форме имеет вид Исключая параметр т, получаем х = С{ ch———-семейство цепных линий, Ч от вращения которых образуются поверхности, называемые катеноидами, 3. Постоянные Сх и С2 находятся из граничных условий: В зависимости от положения точек Л и В может существовать одно, два или не существовать ни одного решения. ¦ Пример 15.23. Показать, что уравнение горизонтального движения шарика, соединенного пружиной с некоторой точкой О, является уравнением Эйлера для действия - интеграла от разности кинетической и потенциальной энергий. D Перемещение шарика задает функцию x(t), где х - координата в момент времени /. Функция x(t) удовлетворяет второму закону Ньютона: mx"(t) = -kx{t), так как действующая на шарик сила по закону Гука пропорциональна (с коэффициентом к) перемещению и направлена противоположно ему. „ „ mxt2(t) Кинетическая энергия шарика определяется выражением Т = " , а kx2(t) потенциальная U = ^. Тогда действие - интеграл от разности кинетической и потенциальной энергии имеет вид где /0, T - моменты начала и окончания движения. Запишем уравнение Эйлера для действия. Так как F Fx =-kx, Fx> =mx , —Fx* =тх",то ^x-~r^x' =-kx-mx" = 0 или mx" = -kx. /их'2 кх1 2 " 2 ' Таким образом, уравнение второго закона Ньютона - это уравнение Эйлера для действия. Иными словами, законы природы имеют двойное описание - физическое и экстремальное. ¦ 28* 435
Достаточные условия экстремума функционала в задаче A5.3) Для формулировки достаточных условий экстремума используются следующие понятия. 1. Условие Якоби. Оно выполняется если, уравнение Якобы A5.16) где Fxx, Fja', Fxx> - соответствующие производные подынтегральной функции, вычисленные на экстремали x*(t), удовлетворяющей уравнению Эйлера A5.9) и граничным условиям, имеет нетривиальное решение w(f)#0, которое: а) удовлетворяет условию u(t0) = 0; б) не обращается в нуль ни при каких значениях te(to,t{]. Условие Якоби является условием включения экстремали x*(t) в центральное поле экстремалей с центром в точке A(to,xQ). Центральным полем экстремалей называется семейство экстремалей х = х(/,С), которые покрывают некоторую область и нигде не пересекаются в этой области, кроме центра. Предполагается, что при некотором значении С семейство x = x(t,C) содержит экстремаль **(/), которая не имеет общих точек с границами области за исключением, быть может, точек А и В(Т,хТ). Угловой коэффициент p(t,x) касательной к кривой семейства x = x(t9C)9 проходящей через точку (t,x)9 называется наклоном поля в точке (/,*). На рис. 15.5,0 показан случай, когда семейство экстремалей, включающее экстремаль АВ, образует центральное поле, а на рис. 15.5,? - семейство, не образующее центральное поле, поскольку экстремали, близкие к АВ, пересекаются. JC' О to 2. Функция Рис. 15.5 E{t,x9x',p)= F{t9x,x')~F(t9x,p)-{x -/>)• Fp{t9x,p) называется функцией Вейерштрасса. A5.17) 436
3. Условие Fxx> > О (FXX> < О) называется условием Лежаидра, а условие Fxx' > О (FXX> < О) - усиленным условием Лежандра. При этом предполагается, что функция /"(г, х, х) трижды дифференцируема по х для любых х . Уравнение Эйлера является необходимым условием как сильного, так и слабого экстремума функционала в задаче A5.3). Достаточные условия сильного и слабого экстремума различны. Достаточные условия слабого минимума Если на экстремали x*(t), удовлетворяющей уравнению Эйлера A5.9) и граничным условиям, выполняются: а) условие Якоби; б) либо условие Вейерштрасса: функция Вейерштрасса E(t9 х, х\ р) > 0 для точек (f,x), близких к точкам на экстремали x*(t), и для х , близких к р\ либо усиленное условие Лежандра: Fxx> > О на экстремали х*(/), то на х (t) достигается слабый минимум. Замечания 15.2. 1. Если в условии Вейерштрасса E(t, х, х\ р) < О, а в усиленном условии Лежандра Fx>x> < 0, то сформулированные условия являются достаточными условиями слабого максимума. 2. Условие Якоби в отдельности является необходимым условием слабого экстремума, т.е. если решение уравнения Якоби u(t) обращается в нуль при каком-либо значении t из интервала (*o,/i), то на экстремали x*(t) слабый экстремум не достигается. 3. Условие Вейерштрасса в отдельности является необходимым, т.е. если функция Вейерштрасса в точках экстремали при х , близких к р, имеет противоположные знаки, слабый экстремум не достигается. 4. Исследование знака функции Вейерштрасса часто сопряжено с некоторыми затруднениями. В случае когда функция F(t,x,x) трижды дифференцируема по х , условие Вейерштрасса можно заменить легко проверяемым усиленным условием Лежандра. Достаточные условия сильного минимума Если на экстремали **(/), удовлетворяющей уравнению Эйлера A5.9) и граничным условиям, выполняются: а) условие Якоби; б) либо условие Вейерштрасса. функция Вейерштрасса E(t, x9 х', р)>0 для точек (t,x), близких к точкам на экстремали **(/), и для произвольных значений х ; либо условие Лежандра: Fxx< (t, х, х) > 0 для точек (t, x), близких к точкам на исследуемой экстремали х*(/), и для произвольных значений х , то на x*(t) достигается сильный минимум. 437
Замечания 15.3. 1. Если в условии Вейерштрасса E[t, х, х\ р) ? 0, а в условии Лежандра Fxx> (/, х, х) < О, то сформулированные условия являются достаточными условиями сильного максимума. 2. Условие Якоби в отдельности является необходимым условием сильного экстремума, т.е. если решение уравнения Якоби u(t) обращается в нуль при каком-либо значении t из интервала (/o>*i), TO на экстремали x*(t) сильный экстремум не достигается. 3. Условие Вейерштрасса в отдельности является необходимым, т.е. если функция Вейерштрасса в точках экстремали при некоторых х имеет противоположные знаки, сильный экстремум не достигается. 4. В случае когда функция f(/,x,x') трижды дифференцируема по х', условие Вейерштрасса можно заменить легко проверяемым условием Лежандра. На основании изложенных необходимых и достаточных условий экстремума функционала опишем общую схему нахождения экстремума функционала. Алгоритм нахождения экстремума в задаче A5.3) 1. Найти экстремаль (экстремали) x*(t), удовлетворяющую уравнению Эйлера и заданным граничным условиям. 2. Проверить достаточные условия сильного и слабого экстремума на найденной в п.1 экстремали. Если достаточные условия выполняются, сделать вывод о достижении сильного или слабого минимума или максимума. Если достаточные условия не выполняются, учесть пп.2 и 3 замечаний 15.2 и 15.3. В случае невыполнения условий Лежандра вывод об отсутствии экстремума сделать нельзя. Если достаточные условия экстремума выполняются, вычислить значение функционала на найденном решении (в случае, если это требуется). Пример 15.24. Найти экстремум функционала 2 /[*(')]= J[x'{t)+2x'2(t))dt9 x(l)=2, хB)=6. 1 ? 1. Найдем экстремаль x*(f), удовлетворяющую уравнению Эйлера и граничным условиям. Так как подынтегральная функция F = х' + 2х'3 не зависит от tux явно, то уравнение Эйлера имеет общее решение х(/) = С^ + С2. Из граничных условий хA) = С, +С2 =2, находим С| = 4, С2 = -2. В результате получаем экстремаль x*(t) = At - 2. 2. Проверим достаточные условия сильного экстремума: а) для проверки условия Якоби составим уравнение Якоби A5.16). Так как на экстремали х*(/) = 4*-2 производная равна x(t)=A и /^=0, /^=0, = 12х' = 48, то уравнение A5.16) имеет вид —D8м') = 0. Отсюда u"(t) = 0 х (/) dt 438
и u(t)=Ci t + C2. Из условия w(l) = 0 получаем «0) = С, + С2 =0 и С2 =-Cj. Так как нетривиальное решение (С{ * 0) уравнения Якоби u(t) =Cxt-Cx = C|(r-1)^ 0 при t € A; 2], то условие Якоби выполняется; б) так как функция f(t, х, х) = х + 2х'ъ трижды дифференцируема по х , то применим условие Лежандра. Поскольку Fx>x> = \2x не сохраняет знака при любых х , то достаточные условия сильного максимума и минимума не выполняются, а вопрос о наличии сильного экстремума остается открытым. Проверим достаточные условия слабого экстремума: а) условие Якоби выполняется; б) применим усиленное условие Лежандра. Так как F \ =48>0 на \х @ экстремали x*(t) = 4/ - 2, то на ней достигается слабый минимум. Найдем значение функционала: 2 /[**(')]= |[4 + 2-43]Л = 132.И 1 Пример 15.25. Найти экстремум функционала /[х@]=/[х2(/)+У2(/)]Л, *@)=0, хA) = 1. о D 1. Найдем экстремаль x*(t), удовлетворяющую уравнению Эйлера и граничным условиям: х*(/) = -т е* + ге~' (см. пример 15.1). е1 -1 1-е1 2. Проверим достаточные условия сильного экстремума: а) для проверки условия Якоби составим уравнение Якоби A5.16). Так как F = x2+x'2, Fxx=2, /^'=0, /уу=2, то уравнение A5.16) имеет вид 2и {2и } = 0. Отсюда и" - и = 0 и u(t) = Схе* + С2е~* - общее решение (см. dt пример 15.1). Из условия t4p) = C\ +C2 =0 получаем С2 =-С| и м^^С^е' -в"'). Так как нетривиальное решение (С\ ^0) уравнения Якоби u(t) = C{(e* -e~{)*0 при / е @; 1], то условие Якоби выполняется; б) так как функция F(t,х9х) = х2 +х2 трижды дифференцируема по х , то применим условие Лежандра. Поскольку Fx>x» = 2 > 0 при любых х , то на кривой x*(t) достигается сильный минимум. Очевидно, на этой же кривой достигается и слабый минимум. ¦ Пример 15.26. Найти экстремум функционала о /[*(*)]= Ill2tx{t)-x2(t))dt9 jc(- 1) = 1, х@) = 0. -1 ? 1. Экстремаль **(/) найдена в примере 15.2: x*(t) = -r3. 439
2. Проверим достаточные условия сильного экстремума: а) для проверки условия Якоби составим уравнение Якоби A5.16). Так как Fxx=0, /^'=0, Fyx=-2, то уравнение A5.16) имеет вид: — [2и'] = 0 или at и" = 0. Отсюда u(t) = Cit + C2. Из условия u(-\)=-Cl+C2 =0 следует Сх =С2. Так как нетривиальное решение (С} *0) уравнения Якоби «(/) = Q (/ +1) * О при t € (-1; 0], то условие Якоби выполняется; б) так как функция F -\2tx-x2 трижды дифференцируема по х, то применим условие Лежандра. Поскольку Fx>x> = -2 < 0 при любых х , то функционал на экстремали х*(/)=-/3 имеет сильный максимум. Следовательно, на этой же кривой достигается и слабый максимум. Подсчитаем максимальное зна- 0 ( \ /5 ° 21 чение функционала /[**(/)]= J[12/-(-/3)-9/4]<// = -21 -- =-—. ¦ Пример 15.27. Найти экстремум функционала D 1. Найдем экстремаль x*(t), удовлетворяющую уравнению Эйлера и граничным условиям: а) поскольку F = 9х2 + 2хх -х2, Fx=\&x + 2х , /у = 2х-2х', — Fx> = 2х' - 2х", то уравнение Эйлера имеет вид at Fx Fx> = 18х + 2х - 2х + 2х" = 0 или х" + 9х = 0; б) так как характеристическое уравнение А.2 + 9 = 0 имеет комплексные сопряженные корни \Х1 = ± 3/, то общее решение уравнения Эйлера записывается в форме *(/) = Cj cos 3t + С2 sin 3f; в) определим коэффициенты С\ и С2 из граничных условий: Отсюда получаем экстремаль х*(/) = cos3/. 2. Проверим достаточные условия сильного экстремума: а) для проверки условия Якоби составим уравнение Якоби A5.16). Так как Fjn = 18, Fxx=2, Fx'x> « -2, то уравнение A5.16) имеет вид B)и-А[(_2)и']:=0 или 440
Его общее решение: u(t)=C} cos3/ + C2sin3/. Из условия «@) = ^ =0 получаем u(t) = С2 sin Зг. Так как нетривиальное решение (С2 * 0) u(t) = C2 sin 3/ * 0 при ' е @; — ], то условие Якоби выполняется; 6 б) так как функция F трижды дифференцируема по х , то проверим условие Лежандра. Поскольку Fxx> = -2 < 0 при всех х , то на экстремали x*(t) достигается сильный максимум. ¦ Пример 15.28. Найти экстремум функционала ^Мтты*' *A)=1>хB)=4* D 1. Найдем экстремаль x*(t), удовлетворяющую уравнению Эйлера и гра- ничным условиям. Так как функция F = —рг не зависит от х явно, то уравнение х2 Эйлера имеет первый интеграл: Fx* = -2—- = Сх или х 3 = -тг/3 = С3*3 • Отсюда х3 Ч t2 х =Ct и х(/) = С— + С2. Из граничных условий получаем С = 2, С2 = 0. В результате найдена экстремаль x*(t) = /2. 2. Проверим достаточные условия сильного экстремума: а) для проверки условия Якоби составим уравнение Якоби A5.16). Так как Fjb =0, F^ =0, Fx'x> =—г" и на экстремали jc*(r)=/2 производная х*'@ = 2/, х 4 I _i?L_J_ \x'(t) 24t4 Bt' то f >\ = -^-- = —, а уравнение A5.16) имеет вид ^-«1 = 0 или -|-и'=С, и' = С,Л *2 \ Г* Тогда м(/) = С,— + С2. Из условия иA) = С1~ + С2 =0 получаем С2 =—к ^ .2 .Z С4 ( Так как нетривиальное решение (С^фО) уравнения Якоби и(/) = — (/2 - 441
/3 б) так как функция F =—г имеет разрыв при х =0, условие Лежандра х2 использовать нельзя. Исследуем знак функции Вейерштрасса A5.17): х1 р2 При / е [l; 2] имеем /3 > 0, но выражение Bх' + р) при произвольных х может быть и положительным, и отрицательным. Поэтому функция E(t,x,x\p) не сохраняет знак и достаточное условие сильного экстремума не выполняется. Но согласно п. 2 замечаний 15.3 условие Вейерштрасса в отдельности является необходимым, поэтому можно сделать вывод о том, что на экстремали x*(t) = t2 сильный экстремум не достигается. Проверим достаточные условия слабого экстремума: а) условие Якоби выполняется; б) так как на экстремали Fxx>\ т = — > 0 , поскольку t e [l; 2], то выполняется усиленное условие Лежандра. Поэтому на экстремали х*(/) = /2 достигается слабый минимум. Получаем минимальное значение функционала: "у 1 э |2 Пример 15.29. Исследовать на экстремум функционал )-0, х(а)=Ь J о при различных значениях параметров а > 0, b > 0. О 1. Найдем экстремаль, удовлетворяющую уравнению Эйлера и граничным условиям. Так как подынтегральная функция F = лс'3 не зависит от f и х явно, уравнение Эйлера имеет общее решение x{t) = Cxt + C2- Из граничных условий х@) = С2 = 0, х(а) = С{а + С2=Ь получаем Сх = —, С2 = 0. Таким обра- а зом, экстремаль дс*(г) = —/. а 2. Проверим достаточные условия сильного экстремума: а) экстремаль х*(/) = — t может быть включена а малей х(/)= С\ t с центром в точке Л@;0) (рис. 15.6). 442 а) экстремаль x*(t) = —t может быть включена в центральное поле экстре- а
Рис. 15.6 Для проверки условия Якоби составим уравнение Якоби A5.16). Так как Fa = 0, F^ « 0, Fxx> = вх (на экстремали x*(t) = —f производная дс*' (/) = —, а а Fxx> =—), то —\—и 1 = 0 или и" = 0. Отсюда w(/) = Q / + С2. Из условия a at [ а ) и@) = С2 =0 получаем «(f) = Ci *• Так как нетривиальное решение (СХ *0) уравнения Якоби u(t) = Q / * 0 при f € @, д] , условие Якоби выполняется; б) так как функция F трижды дифференцируема по х , то проверим условие Лежандра. Поскольку Fx*x* = 6х для любых х не сохраняет знак, то условие Лежандра не выполняется. Проверим условие Вейерштрасса. Функция Вейерштрасса не сохраняет знак, поскольку выражение (х + 2р) при произвольных х может иметь любой знак. Следовательно, условие Вейерштрасса для сильного экстремума не выполняется, а так как оно согласно п. 3 замечаний 15.3. является необходимым, можно сделать вывод: на прямой x*(f) = — t сильный экстремум а не достигается. Проверим достаточные условия слабого экстремума: а) условия Якоби выполняются; б) так как подынтегральная функция трижды дифференцируема по х\ проверим усиленное условие Лежандра. Поскольку на экстремали **(/)=— / а справедливо F>> = — >0, то на ней достигается слабый минимум. а 3. Подсчитаем минимальное значение функционала 443
Пример 15.30. Исследовать на экстремум функционал f lx'2(t)-x2(t)}dt, х@) = 0, х(а) = 0 о при различных значениях параметра a>Q; a*nk, keZ. П 1. Найдем экстремаль, удовлетворяющую уравнению Эйлера и граничным условиям. Общее решение уравнения Эйлера получено в примере 15.3: x(f)= Cx cos/ + C2 sinf. Из граничных условий х(а) = Ci cose + С2 sin a = 0 получаем С{ = 0, C2 =0 и x*(/)sO. 2. Проверим достаточные условия сильного экстремума: а) для проверки условия Якоби составим уравнение Якоби. Так как = -2, F^ = 0, jF + и = 0. Отсюда = 2, то уравнение A5.16) имеет вид - 2и-—Bи) = 0 или ) = C1cos/ + C2sinf (см. пример 15.3) Из условия «(О) = С\ = 0 получаем !/(/) = С2 sin г. При 0<а<п нетривиальное решение (С2 * 0) уравнения Якоби и(?) = С2 sin / * 0 при t e @9 а] и условие Якоби выполняется. При а>% нетривиальное решение уравнения Якоби w(/) = C2sin/ = 0 по крайней мере при / = п. В данном случае условие Якоби не выполняется. Так как согласно п. 2 замечаний 15.2 и 15.3 условие Якоби в отдельности является необходимым, то при оя на экстремали x*(t) = 0 не достигается ни сильный, ни слабый экстремум. Выполнение условия Якоби при 0 < а < п подтверждает возможность включения экстремали **(/) = 0 в центральное поле экстремалей (рис. 15.7,л). а > п Рис. 15.7 Очевидно, в случае а>% экстремаль x*(/)s0 не может быть включена в центральное поле экстремалей, так как экстремали пересекаются не только в центре Л, но и в точке t = n (рис. 15.7,6);
б) проверим условие Лежандра при 0 < а < п, так как функция F = х'2 - х2 трижды дифференцируема по х . Поскольку Fx>x> = 2 > 0 для любых х , то на экстремали x*(/)sO достигается сильный минимум. Минимальное значение функционала Дх*(/)| = О.и Пример 15.31. Исследовать на экстремум функционал Л*«] = J 16х§2@-х 4(*)+ x(t)x(t)]dt, х@) = 0, х(а) = Ь о при различных значениях параметров а > 0, 6 > 0. D 1. Найдем экстремаль, удовлетворяющую уравнению Эйлера. Так как \ Fx=xy iy =12x'-4jc'3+jc, ^{Fx>} = 12x"-12x'V + x, то уравнение B.9) имеет вид ,РЛ -—{Fy} = х -12У + 12х'V - jc' «0 или х"(х'2 -l)= 0. ш Общее решение уравнения х" = 0: х(/) = C\t + C2. Решение уравнения х'2 = 1 может быть включено в семейство х(/) = Q f + С2. Из граничных условий х@) = С2 = 0, х(а) = Cia + C2=b получаем Сх = —, С2 = 0 и экстремаль 2. Проверим достаточные условия сильного экстремума: а) для проверки условия Якоби составим уравнение Якоби. Так как = 0, Fjg/ = 1, Fxx* = 12 - 12хг 2 (на экстремали х*(/) = — / производная а b а х v*/t\ Л2 12 - 12-у ), то уравнение A5.16) имеет вид x\t) a A)]и[A212\)и'] = 0 или dt at a2 Отсюда u{f) = Cxt + C2. Из условия «@) = С2=0 получаем u(t) = C{t. Так как нетривиальное решение (Q ^0) уравнения Якоби и(/) = С^^0 при te@,a]9 то условие Якоби выполняется. Выполнение условия Якоби подтверждает возможность включения экстремали х*(/) = —г в центральное поле х(*)=С\/ с центром а в точке А@,0) (см. рис. 15.6); б) проверим условие Лежандра. Так как Fxx> = 12 - 12х'2 при произвольных х не сохраняет знак, то условие Лежандра не выполняется. 445
Проверим условие Вейерштрасса. Функция Вейерштрасса A5.17) имеет вид Е{г,х,х\р) = 6х'2-х'4+хх -6р2 +рА -хр-{х -p){l2p-4p3 +х) = = -{х'-рУЛх'2+2рх'-F-Зр2)]. Ее знак противоположен знаку последнего сомножителя. Последний сомножитель может обращаться в нуль при х = -р ± V 6 - 2р2 . Бели 6 - 2р2 ? 0, т.е. р > VJ (рассматриваются положительные значения наклона поля р в силу рис. 2.6), при любом х имеем [х2 + 2/>дс'-F-3/>2)]>0 и i?(/,x,x',p)<0. Поэтому при р = — >4ъ на экстремали дс*(г) = — t достигается а а сильный максимум. Если 6 - 2р2 > О, т.е. p<4b, знак выражения [х2 +2рх -F- Ър2)] зависит от х . Поэтому при р= — <4ъ условие Вейерштрасса не выполняется и а согласно п. 3 замечаний 15.2 и 15.3 на экстремали не достигается ни сильный максимум, ни сильный минимум. Проверим достаточные условия слабого экстремума: а) условие Якоби выполняется; б) так как функция F трижды дифференцируема по х , проверим усиленное условие Лежандра. Поскольку на экстремали Fxy =12-12—, то при а1 — = р > 1 имеем F^ < 0, т.е. достигается слабый максимум. При — = р < 1 име- а а ем Fxx- > 0, т.е. на экстремали достигается слабый минимум. При — = р = 1 F х> = 0 и усиленное условие Лежандра не выполняется. а Рассмотрим функцию Вейерштрасса при р = \: Так как х = 1 является простым корнем уравнения х*2 + 2х - 3 = 0, то это означает, что при значениях х , близких к р = 1, функция Е не сохраняет знак и, следовательно, условие Вейерштрасса не выполняется. Так как оно в отдельности является необходимым, то при р = 1 на экстремали не достигается ни слабый минимум, ни слабый максимум. Экстремальное значение функционала 446
т 15.1.2. Функционалы $F(ttxl(t\...ixn(t)tx[(t)i...ix'n(t))dt9 зависящие от нескольких функций Постановка задачи Рассмотрим множество Ж допустимых вектор-функций х(/) = (xi (t\..., х„ (t)Y, удовлетворяющих следующим условиям: а) функции *,(/), i=l,...,л, определены и непрерывно дифференцируемы на отрезке [/0,Г], где /0,Г - заданы, т.е. xt(t)e С1 (fob Л)» ' = h—,n; б) функции X;(t) удовлетворяют граничным условиям: „ А \ ^Т\ v » 1 и /1^ 1 Q\ ¦*# vO/ " *jQ , Xj[I ) = Л/у7, I — 1,..., /I, ^ 1J. 1 oj где х/0, xiT, / = 1,...,л, заданы, т.е. каждая из кривых хД/) проходит через две закрепленные граничные точки. На множестве Ж задан функционал 1 где подынтегральная функция />(/,х1,...,дсй,*{,...,*),) имеет непрерывные частные производные до второго порядка включительно по всем переменным. Среди допустимых вектор-функций *(/), принадлежащих множеству Л/, требуется найти вектор-функцию х*(/) = (д^*(*),...,х*(/)| , на которой функционал A5.19) достигает экстремума, т.е. lf(lM\(^X()) A5.20) Стратегия поиска решения задачи Стратегия поиска решения задачи A5.20) опирается на теорему 14.1 0 необходимом условии экстремума функционала: 5/ = 0 на экстремали x*(t). Поскольку эта проблема сформулирована для скалярной функции x(t)y применим ее к функционалу A5.19), варьируя лишь функцию xk(t), а остальные оставляя неизменными. При этом функционал будет зависеть лишь от одной функции Пусть */*(*), i = l,...,л, - компоненты вектор-функции x*(t), на которой достигается экстремум функционала в задаче A5.20). Тогда, полагая 6х,@ = 0, 1 = 1,...,Л-1,А: + 1,...,л, имеем 447
x*k(t)+a&xk{t), где ^(ОеСЧ^О'Л) - фиксированная вариация, удовлетворяющая условиям: Ьхк (t0) = Ьхк (Т) = 0; а - числовой параметр. Подставляя х,(/), г = 1,..., л, в функционал, имеем А) Отсюда аналогично разд. 15.1.1 получаем формулу для первой вариации: . A5.22) «*/- f K 'о Интегрируя по частям, применяя необходимое условие экстремума и основную лемму вариационного исчисления (подробно см. в разд. 15.1.1), получаем уравнение Эйлера: Так как в качестве варьируемой компоненты xk(t) может быть взята любая из */(/), / = 1,...,л, то искомая вектор-функция jc*(t) = (jci*(/),...,х*п(t)) должна удовлетворять системе уравнений Эйлера F^-jjF^-O, / = l,...,/i. A5.23) Заметим, что первая вариация функционала представляется в виде Так как вариации &сД/), i = l,...,/i, произвольны, то из условия 5/ = 0 и основной леммы вариационного исчисления следует система A5.23). Общее решение этой системы xt =х&Съ...,Сгп)> ' = 1,.,я, содержит 2л произвольных постоянных, которые определяются из 2л граничных условий () () Сформулируем описанный результат в виде теоремы. Теорема 15.Э (необходимые условия экстремума в задаче A5.20)). Если на вектор-функции x*{t) = (xt{t),..., x*n{ttf, где x*(t)eCl([t09T)), xt (tQ ) = jc/o, Xj (Г) = Xjt , i = 1,..., n, функционал A5.19) достигает слабого экстремума, то функции хj*(/),...,х*(г) удовлетворяют системе уравнений Эйлера 448
Алгоритм применения необходимых условий экстремума в задаче A5.20) 1. Составить систему уравнений Эйлера: 2. Найти общее решение системы уравнений Эйлера: х, -дс/(/,С1,...,С2л), ,..., п. 3. Определить постоянные Сь...,С2п из граничных условий Записать выражения для компонент x*(t\...,x*n(t) экстремали Пример 15.32. Найти экстремаль функционала удовлетворяющую граничным условиям: хДО) = х2@) = 0, хх — ] = 1, *2 -"Ч = -1. П 1. Записываем систему уравнений Эйлера Fx —-F» =0, / = 1,2. Так 1 dt *' KajcF*^2+xi2+2x,x2, fX| =2х2, ^-2хь Fx{^2xXi F^ = 2х2> ^(^)я 2х\ > —- {fx^ } = 2*2» то система имеет вид ИЛИ Х\ = Х2, Х2 = Xi. 2. Решаем систему, сводя ее к одному уравнению относительно переменной х{. Получаем xj''= x2i х{4) = х2 , х}4) = Xj или х{4) - X! = 0. Так как характеристическое уравнение А.4 -1 = 0 или (х2 -l)(x.2 +l)=0 имеет корни 5ц =1, \2 =-1, Х3,4 =±/, то общее решение полученного однородного уравнения записывается в форме [33] : x{(t) = Cie' +C2e~* +C3 cos*+ C4 sin/. Тогда х2(/) = xJ'(O = С{е* + С2е~* - С3 cost - С4 sin /. 29-4751 449
3. Определяем постоянные Cx,C2,C-i,Ci из граничных условий: х,@)-С,+С2+С3-0, { С1+С2-С3 =0, Имеем: Сх = С2 = С3 = 0, С4 = 1. Записываем компоненты экстремали Пример 15.33. Найти экстремаль функционала п 0 удовлетворяющую граничным условиям: х\ @) = Х2 @) = 0, xj I — = Х21 — = 1. П 1. Записываем систему уравнений Эйлера Fx. ^-0, / = 1,2. Поскольку Г = х[х2-х{х29 FXl =-x2, FX2 =-*,, /^; =х^, ^ =дс|, — Fx[ =x2y —Fx. = х", то система записывается в форме: at 2 ИЛИ X2+JC2=0» xj'+Xi=0. 2. Решаем систему уравнений. Имеем (см. пример 1S.3) *!(/) = С, cos* + C2 sin Г, x2(t) = C3 cos/ + C4 sin/. 3. Определяем С|,С2,Сз,С4 из граничных условий: С, =0, В результате получаем экстремаль **(/) = (х^ х^/)/ : х^/) = sin t, x^/) = sin / 450
Пример 15.34. Найти экстремаль функционала 1 удовлетворяющую граничным условиям: ) = O, x2(l)=2, П 1. Запишем систему уравнений Эйлера. Для этого найдем F = 12/ хг + х[2 + х22 + 2х2хг + *з2 + 2х3х2, F4 = 12/, ^ = 2хз, Fxi=2x[, Fxi=2x'2+2xs, Fxi = 2x2 + 2x'3, В результате получаем систему ИЛИ 2. Найдем общее решение системы: 3. Определяем постоянные С{,...,С6 из граничных условий: +С2 =0, дс,B) = 8 + 2С! +С2 =6, 3+С4=2, х2B)=2С3+С4=3, Отсюда Сх --1, С2 =0, С3 =1, С4 =1, С5 =2, С6 =-2. В результате получаем экстремаль x\t)=(xl(t\x2(t\xl(tf: x^^f-t, xJ(/)=/ + l, x3*(/)=2/-2. ¦ 29* 451
15.1.3. Функционалы J f(t, x(t\ x'(t\..., *М(/))Л, зависящие от производных 'о высшего порядка одной функции Постановка задачи Рассмотрим множество Ж допустимых функций (кривых) x(t)9 удовлетворяющих следующим условиям: а) функции x(t) определены и т раз непрерывно дифференцируемы на отрезке [/0,Г], где t0 и Т заданы, т.е. x(t)eCm([t0,T]); б) функции x(t) удовлетворяют граничным условиям x(to)=xO9 A5.25) х(Т)=хт, х«(Г)=х?>, * = 1,...,т-1, где xOtx$\xT,xip заданы. На множестве М задан функционал ^(и^>)ф A5.26) где функция Fy, х, х9..., x^w)) дифференцируема (/и + 2) раза по всем аргументам. Среди допустимых кривых x(t), принадлежащих множеству М, требуется найти кривую **(/), на которой функционал A5.26) достигает экстремума, т.е. J ((UWW(^ A5.27) «Л Стратегия поиска решения задачи Стратегия поиска решения задачи опирается на теорему 14.1 о необходимом условии экстремума функционала. Запишем первую вариацию функционала 6/ в задаче A5.27). Пусть x*(t)eCm([t0,T)] - кривая, на которой достигается экстремум функционала /. Тогда допустимая кривая x(t) и ее производные ), i = l,...,w, представляются в виде где &x(t) - фиксированная вариация, удовлетворяющая нулевым граничным условиям: 8*(/„) = Ъх(Т)= 8х'('о) = 6х'(Т) =... = 8>-»)(/0) = 8х("-')(Г) = 0. 452
По определению A4.7) = -?-Ы/,х'(О+а йен г Т to la-0 a«0 J [Fx 8x(/)+ Fx- 5x'(')+ - + *>) ЬсЩ] dt. A5.28) o Интегрируем по частям второе слагаемое в правой части A5.28) один раз: J Fx. 6x'{t)dt = Fx. 5x@ J - J ^fy 8х(/)Л, третье слагаемое два раза: ] Fx» bx"(t)dt = J^ 5х'(/)Г - Г^/> &с(гIГ + J^ ft*)*. и т.д. до последнего слагаемого, которое интегрируем по частям т раз: Учитывая, что вариация и ее производные удовлетворяют нулевым начальным условиям, записываем необходимые условия экстремума: «-][*-? Так как вариация 6x(t) может быть выбрана произвольно, а выражение в квадратных скобках является непрерывной функцией t на кривой x*(t), то по основной лемме вариационного исчисления имеем ^с -4Л' +4т*> +». + (- 1Г^»=0. A5.29) 453
Уравнение A5.29) имеет порядок 2/и и называется уравнением Эйлера- Пуассона, а его интегральные кривые называются экстремалями. Общее решение этого уравнения дс = *(/,(?!,С2,...,С2т) содержит 2т произвольных постоянных, которые могут быть определены из 2т граничных условий. Сформулируем описанный результат в виде теоремы. Теорема 15.4 (необходимые условия экстремума в задаче A5.27)). Если на функции x*(t)eCm([tQ,T]), удовлетворяющей граничным условиям x{tQ)=x0, х(Г)=хг, х%>)«д#>, жЮ(Г)-дДО, / = 1,...,т-1, функционал A5.26) достигает экстремума, то функция x*(t) удовлетворяет уравнению Эйлера- Пуассона: Алгоритм применения необходимых условий экстремума в задаче A5.27) 1. Записать уравнение Эйлера-Пуассона. 2. Найти общее решение уравнения х = x(tiCuC2f...tC2m). 3. Определить постоянные С!,С2,..мС2да из граничных условий и записать выражение для экстремали x*(t). Пример 15.35. Найти экстремаль функционала j2 j о удовлетворяющую граничным условиям: х@) = х'@) = х'(\) = 0, х(\) = 1. D 1. Записываем уравнение Эйлера-Пуассона. Так как F = x, Fx = 0, х"-j- at /у = 0, Fx> = 2х", -j-^y - °. ^-7Fx" » 2лD)» то имеем at dt dt * dt2 2. Решаем уравнение Эйлера-Пуассона: общее решение. 3. Определяем СХ,...,С^ из граничных условий: Отсюда имеем Сх = -12, С2 = 6, С3 = 0, С4 = 0 и записываем уравнение экстремали: х*@=-2/3+3*2Л 454
Пример 15.36. Найти экстремаль функционала О удовлетворяющую граничным условиям: х@) = 1, х'@) = - 4, x(l) = x'(l) = 0. D 1. Записываем уравнение Эйлера-Пуассона. Имеем ^48 /0 F2x\ ^° ^F xFx+Fx 48 + 2x 0 или *W = 24. 2. Решаем уравнение Эйлера-Пуассона. Имеем 24, x'"(t) = 24Г + Сх, х"(/) = 12Г2 + Cxt + С2, x'(t) = 4Г3 + ^/2 + С2Г + С3, с* с x(t) ш /4 + -^- /3 + -2- /2 + С3/ + С4 - общее решение. 6 2 3. Определим С1,...,С4 из граничных условий: х@)=С4=1, х'@)=С3=-4, Отсюда С, =-24, С2=12, С3=-4, С4=1. Записываем уравнение экстремали: x*(t) = г4 - 4/3 + 6г2 - 4/ +1 .¦ Пример 15.37. Найти экстремаль функционала I[x{?)\=)e-'xt)dt, о удовлетворяющую граничным условиям х@) = х@) = 1, jc(l) = x'(l) = e. D 1. Записываем уравнение Эйлера-Пуассона. Имеем / = *-'х, ^-0, Fx.=0, Fx^2xf>e^t j-fFx. =0, 4*> = 2*^ -2xe, ? dt dr В результате получаем Fx -4-Fx' +^jFx» = 2x<V' -4x'"e-/ + 2х"в-' = 2<т'.[x^ -2x" + x']= 0. Отсюда 455
2. Решаем уравнение Эйлера-Пуассона: а) характеристическое уравнение X,4 - 2А? + X2 = Л,2(а.2 - 2Х +1) = 0 имеет кратные действительные корни Х12 = 0, А,3,4 = 1 > б) х(/) = С1! + C2f + C3er + C4t e* - общее решение [33]. 3. Определяем постоянные Ci,...,C4 из граничных условий с учетом того, что *'(/) = С2 + С3е' + С4е' + C4f ех: jc(O) = Q +C3 = 1, х'@)= С2 +С3 +С4 = 1, хA) = С{ + С2 + С3 е + С4 в = е, х'A) = С2 + С3 е + 2 С4 « = в. Отсюда получаем С, = С2 = С4 = 0, С3 = 1 и экстремаль x*(t) = ег М Пример 15.38. Найти экстремаль функционала 71 удовлетворяющую граничным условиям: х@) = 1, х — = 0, х'@) = 0, х 4 = -2. D 1. Запишем уравнение Эйлера-Пуассона. Так как F = x -16jc2 + te~*, at at Fx - j/*y +^7^x" = -32х + 2xW =0 или jcW -16* = 0. 2. Находим общее решение уравнения Эйлера - Пуассона. Так как характеристическое уравнение X4 -16 = (х2 -4ДХ2 + 4)= (X - 2)(Х + 2ДА2 + 4J = 0 имеет корни Xt =2, Х2=-2, X3>4=±2i,to ^jaC^ +C2e/ +C3cos2f+ C4sin2f. 3. Определим коэффициенты С{9...,С4 из граничных условий с учетом того, что x'(t) = 2 Cxe2t - 2 С2е/ - 2 С3 sin 2/ + 2 С4 cos 2/: х@)=С1+С2+С3=1, п * +С4=0, Отсюда находим Сх = С2 = С4 = 0, С3 = 1 и экстремаль х*(/) = cos2f . 456
Пример 15.39. Найти семейство экстремалей функционала т j к ? 1. Запишем уравнение Эйлера-Пуассона. Так как T2', /х=120/ + 64, Fx> =0, то уравнение имеет вид -LF%, +4-Fx» ~^jFx.» = 120/4-64 + 8xW-2x® =0 или xW 2. Найдем общее решение уравнения Эйлера-Пуассона а) определяем общее решение однородного уравнения х'6' - 4х^ = 0. Так как характеристическое уравнение X.6 — 4Л.4 = Л,4 (л.2 — 4j = 0 имеет корни Ч2Д4 = 0, Х5 = 2, Х6 = -2, то хо(/) = Cj + С2Г + С3/2 + СА? + С5е2' + C6e~2t; б) найдем частное решение неоднородного уравнения. Будем искать его в виде x4(t) = t4(At + B), где А и В - неизвестные коэффициенты [33]. Тогда /4 +4Bt\ x,;(t)=20At3+l2Bt2, х;"(/) = 6(Ш2 +245/, Подставим полученные выражения в неоднородное уравнение: Приравнивая коэффициенты при одинаковых степенях /, получаем л 60 1 и 32 1 п /5 /4 в) общее решение неоднородного уравнения находим в ввде суммы результатов пп. "а" и "б": jc(/)=Ci +С2/ + С3/2 +С4/3 +С5е2' +С6е/ - — - —. 8 3 Это и есть искомое семейство экстремалей.и 457
15.1.4. Функционалы зависящие от производных высшего порядка нескольких функций Постановка задачи Рассмотрим множество М допустимых вектор-функций *(f удовлетворяющих следующим условиям: а) функции x,(f), i = 1,...,л, определены и т раз непрерывно дифференцируемы на отрезке [tQ,T]t где /0 и Т заданы, т.е. xt(t)e Cm([t0tT])9 i = l,...,/i; б) функции xf(t) удовлетворяют граничным условиям: A5.30) где х/0,х}^х/Т,х}у),/ = 1,...,л, * = 1,...,/я-1, заданы. На множестве М задан функционал (^х^...^^ A5.31) где функция /*(/, х,, х[,..., х[т\..., хл, хя,..., xjM) дифференцируема (т + 2) раза по всем переменным. Среди допустимых вектор-функций x(t), принадлежащих множеству Ж, требуется найти вектор-функцию x*(/) = (x1*(r),...,x*(/)j , на которой функционал B.31) достигает экстремума, т.е. т 4Г(^...,х;(г)]= exti¦ [F(t,xl(t\--,xiT)(t\...,xM--^)(t))dt. A5.32) X\t)GJa Стратегия поиска решения задачи Стратегия поиска решения задачи опирается на использование необходимого условия экстремума функционала: б/ = 0. Поскольку функционал зависит от п переменных x,(f), то будем варьировать лишь одну из них xk(t), оставляя неизменными все остальные. Тогда функционал зависит от одной функции и применение необходимого условия экстремума приводит к уравнению Эйлера - Пуассона (см. разд. 15.1.3): 458
Так как в качестве функции xk(t) может быть взята любая из х{(/),...,хп(t), то вектор-функция **(/) = {х{(/),...,x*(/)f должна удовлетворять системе уравнений Эйлера-Пуассона-. ^-^+^+-+(-1Г^-'=0- '=1>-и- A533) Общее решение этой системы зависит от 2тп произвольных постоянных: х, =х/(г,С,,...,С2дал), 1 = 1,...,л, которые определяются из 2тп граничных условий. Сформулируем описанный результат в виде теоремы. Теорема 15.5 (необходимые условия экстремума в задаче A5.32)). Если на вектор-функции x*(t)=(x{(t\...,x*n{tf, где x*{t)eCm([t0,T])t / = 1,...,л; ? = 1,...,/и-1, функционал A5.31) достигает экстремума, то функции x{(t),...,x*n(t) удовлетворяют системе уравнений Эйлера-Пуассона A5.33). Заметим, что порядки старших производных функций xi(t\...9xn(t) в задаче A5.32) могут быть различны. Это приводит к различным порядкам уравнений в системе A5.33). Количество заданных граничных условий для каждой функции соответствует порядку ее старшей производной в подынтефальном выражении функционала A5.31). Алгоритм применения необходимых условий экстремума в задаче A5.32) 1. Записать систему уравнений Эйлера-Пуассона A5.33). 2. Найти общее решение системы A5.33): xt = Х/(*,С1,...,С2оти), i - 1,...,я. 3. Определить постоянные Си...,С2тп из граничных условий и записать выражения для экстремали x*(t)^\xl(t\...txl(iff . Пример 15.40. Найти экстремаль функционала о удовлетворяющую граничным условиям: 1, D 1. Запишем систему уравнений Эйлера-Пуассона. Учтем, что порядок старшей производной функции x,(f) равен двум, а функции x2(t) - трем. Так как 459
x+xZ2, FX|=0) то получаем 2 dt ** dt2 г dt3 2 2. Решим систему уравнений Эйлера-Пуассона: Решаем уравнение l(t + l^xj4^ +12(/ + lJxj" +12(/ +1) xj' = 0. Заметим, что оно имеет вид —- Fx» = — -т^" = 0 и поэтому может быть переписано в форме dt2 l dtyat н) Отсюда 6(t + l^xj' + 2(f + l^xj" = С,. Обозначим у = xj'. Тогда имеем Это линейное неоднородное дифференциальное уравнение. Поэтому сначала решаем соответствующее однородное уравнение: Очевидно, оно является уравнением с разделяющимися переменными [33]: у ~~7+Т 460
Интегрируя обе части уравнения, получаем 1пМ = -31п|* + 1| + 1пС или Л<0-—?—. Найдем общее решение неоднородного уравнения методом вариации произвольной постоянной [33]: si Подстановка у и у в неоднородное уравнение (t +1K/ + 3(/ +1J^ = -^- дает - С (С Интегрируя, получаем C(t) = -±t + C2. Отсюда y{t) = \-^t + C2\ г 2 V2 ; (t + If -?-t + C2 \- г = —1 ~. Отсюда 2 J(' + l) 2(f + l)J 3. Определим постоянные интегрирования из граничных условий: д?@)«С4-0, ^@) = С5=0, х2@)=С6=0, отсюда Q =С^ =Q =^5 eQ =°» Q =6- Находим постоянные интегрирования ^,...,04 из условий: Имеем: Q =0, С2=2, С3=0, С4=0. Запишем уравнение экстремали 461
Задачи для самостоятельного решения Найти экстремали функционалов, зависящих от одной функции. 1. I[x(t)} = \x2{t)du хф) = 0, хA) = 1. о Ответ: x*(t) = t. о Ответ: x*(t) = -—f + 1. Ответ: x*(t) 4. [()] ) Ответ: x 5. 1 Ответ: х*(/) = /3. 6. /[*(/)]= J(/-4xJ А, хD)=1, х(8)=2. 4 Ответ: дс* (/) = —. 4 7. ){tx'<(t)-2x(t)x3(t))dt, 2 Ответ: x*(f)-2/-3. 8. /[x(r)]= j о Ответ: х*{t)=t + 4. 9. /[*(*)]= j[x'2(/)+4x2(/)+2x@e2']rf/, x@) = 0, хA) = 0. —^ 462
10. /[х@]=][[х'2@-9х2@+12х@со83/]л, x@) = -l, *(f)«l + J- Ответ: x*(f) = (l + f)sin3f-cos3f. 11. 7[x(/)]= j[x/2(/) + 3x(/)x'@+24/2x(/)]^, x@)=l, x(l) = 0. о Ответ: x*(t)«tA - It +1. 12. /[*(/)]= J [зУ2(/) + о Ответ: х*(/)= 2sh2/. 13. ) 2 Ответ: вариационная задача не имеет смысла. 14. /[*(*)]= J [x(t)t2 -x(t) + tx2x(t)]dt, 1 J 1 Ответ: х*(/)-/2=-1. is. wfljT^n Ответ x*(t)-t + l. Ответ: x*(f)=3/-l. 17. l[x(t)] = J *зу\ ' *^ = ~3> x^ = ~8' l * v) Ответ: x*(t)=2-5t. l f , 18. /[x(/)]= J[6rV(/)+Jc#2(/)Jift, x@)=0, x(l)=-l. о Ответ: x* (^) = - f3. */\ 2 1 20. 7[x(/)] = J *l + X ^dt9 x{2) = 2, xC) = VJ. 2 x (/-2J+x2=4.
Исследовать функционалы на экстремум с помощью необходимых и достаточных условий. 2 21. /[x(f)]= f [/х'(/)+х'2(/)]Л, х@) = 1, хB) = 0. о Ответ: сильный минимум на кривой x*(t) = -— +1. я 22. J[x(f)] = JDx2(/)-x'2(/)+8x(/)]?#, х@)=-1, x(-J = O. Ответ: сильный максимум на кривой х* (t) = sin 2/ -1. 2 23. /[x(/)l= J-ттт, ^@) = 0, хB) = 1. о ху> Ответ: слабый минимум на кривой **(/) = -. 2 24. /[х(/)]= J[6x'2(/)-x/4(/) + x(/)x'(f)]#, x@)=0, хB)=3. о Ответ: слабый максимум на кривой x*(f) =—t. 2 25. /[x(f)]= |[/2х'2(/)+12х2(/)]Л, x(l) = l, xB)=8. 1 Ответ: сильный минимум на кривой х*(?) = Г3. 2 26. /[х(/)]= J[/x'4(/)-2x(/)x'3(/)]#, x(l) = 0, хB)=1. 1 Ответ: слабый минимум на кривой х*(/) = t -1 . Найти экстремали функционалов, зависящих от нескольких функций: 3 , Ответ: 4 28. /Ы/Ы/ЫОЬ J 2 *iB)«lf х2B) = 2, х3B) = 5, х,D)=3, х2D)=4, х3D) Ответ: Xj*(/)=/-l, x2(/)=/, Хз( 464
29. Ответ: xf (f) = sin t, x2(f) = sin /. 30. /fo@tx2@] 0 x,@)=x2@) = 0(x,(l)=x2(l) = l. Ответ: x{ (t) =tA, x2 (r) = t3. 31. /hDx2(r)]= х1@)=х2@)=1,х,A) = |, Ответ: xj(/) =—+1, x2(?) = l. Найти семейства экстремалей функционалов. 32. /Ы*Ы/Я- / Ответ: x2{t) = (Cx +C2/)sin/ + (C3 +C4/)cos/-H-er, Ответ: Xi(t) = (Cj + C2/)sin/ + (C3 + C4f)cos/ + 2/2 -6, х2(/) = /2-хГ(/). 34. I[x{{t\x2(t)] = J[xJ2W+ Д42W + «»i@*2W-2х,(/)е']л. 'о Ответ: x2{t) = Cxe2t + Сге' + C3 sin It + C4 cos It +—e*, 30 — 4751
35. /tx.W^-f Ответ: xl{f)=Cle' + C2e~' +C3sin/ + C4cos/+ f *2(') =*!'(')• 36. i[Xl(tUi('U(t Ответ: Xj (f) = C^e' + Сге"*1 + C3 sin / + C4 cos /, x2{t) = Clet +C2e~' -C3 sinr-C4 cost, 37. Ответ: (C5 + C6f)sin / ч- (C7 + C8r)cos /. Найти экстремали функционалов, зависящих от производных высшег порядка одной функции. 38. /[*@]= )[3x(t)x'(t)+x(t)]dt9 о Ответ: x*(t)=t3 +t2. 39. 7[x(/)]=j о Ответ: x*(f)=f4. 40. /[*@]=J[*@-x(/)]a, x@) = x@)=1, ^] = i, Ответ: x*(/) = r + cos/. 466
41. I[x(t Ответ: 42. I[x{t Ответ: •1-J.-V 0 1 0 *'@=<4. , x'(O)=l, l, x'(l)=4, x"( 43. I[x(t)] = )[x'(t)-x(t)]dt9 x(O)=x'(O) = x"(O) = O, x(*) = *, х'(тс)=2, Ответ: x*(t) = t-sint. 44. /[x(f)]=/[l + fJ+2x" 0 x(O) = l, x(l)=2, x'@)=0, x'(l) = 6, x"@) = ~2, x"(l)=22. Ответе: x*(/) = 2/4 - Г2 +1. Найти семейства экстремалей функционалов. 45. /[х(/)]= l[c"'2(t)+24Otx(t)]dt. Ответ: x(t) = —t7 + Q/5 + С2Г4 + С3/3 + CAt2 + С5Г + С6. 42 Ответ: x(t) = -2 sin / + C{t7 + C2t6 + C3/5 + С4Г4 + C5f3 + C6/2 + C7t + C8. 47. 7[x@] = J [x@- 2x'2(/)+ x2(*)+ 3x(tW]dt. Ответ: x(t)- (Cxt + C2)sint + (C3/ + C4)cos/ —e'. 8 30* 467
15.2. МЕТОД ВАРИАЦИЙ В ЗАДАЧАХ С ПОДВИЖНЫМИ ГРАНИЦАМИ т 15.2.1. Функционалы J F(t,x(t),x'(t))dt, зависящие от одной функции. Случай гладких экстремалей Постановка задачи Рассмотрим множество JM допустимых функций (кривых) x(t), удовлетворяющих следующим условиям (рис. 15.8): а) функции x(t) непрерывно дифференцируемые, т.е. x(t)eCl(A)9 где А - некоторый конечный отрезок, внутренними точками которого являются значения t0 и Т, которые заранее не заданы; б) значения *0,лс0 =x(t0) и Г, хт =х(Г), определяющие концы допустимых кривых, удовлетворяют граничным условиям: о) = О> <рG\хг) = 0, A534) где y(t,x) , <р(/, х) - заданные непрерывно дифференцируемые функции. На множестве Ж задан функционал т I[x(t)] = J F(t, *(/), x\t)) dt, A5.35) где функция F(t,xtx) имеет непрерывные частные производные до второго порядка включительно по всем переменным. Среди допустимых кривых x(t), принадлежащих множеству Ж, требуется найти кривую x*(t), на которой функционал A5.35) достигает экстремума , т.е. «]= extr J F(t,x{t),xXt))dt. A5.36) Замечания 15.4. 1. Условия A5.34) определяют подвижные границы (рис. 15.8). Таким образом, экстремум в поставленной задаче ищется в классе гладких кривых, концы которых скользят по двум заданным линиям. 468
'0 T' Рис. 15.8 Можно выделить следующие частные случаи общей постановки задачи. А. Концы допустимых кривых скользят по двум заданным вертикальным прямым, описываемым уравнениями t -10 , t = T (рис. 15.9). X ' 0 'о x'(t) T T t Рис. 15.9 Б. Концы допустимых кривых скользят по двум заданным кривым, описываемым уравнениями х = у@, х = ф@. A5.37) Рисунок аналогичен рис. 15.8. 469
В рамках рассматриваемого частного случая выделим задачу, в которой заданные кривые являются прямыми линиями, параллельными оси абсцисс: х = х0, х = хт (рис. 15.10). 0 хт X = Х-р Рис. 15.10 2. В поставленной задаче наряду с поиском кривой x*{t) производится выбор значений fo* и Г* (рис. 15.8 и рис. 15.10), т.е. ищется тройка (x*(t)ttQ*,T*). При этом ее е-окрестность первого порядка (е>0) образуется тройками (x(t),to,T)y удовлетворяющими условию Функционал A5.35) точнее записывается в форме т Функционал достигает на тройке (х*(/),/0*,Г*) слабого минимума, если 1[х(*)»'о»Т\ *. 1[х* (t), /0*, Т* J be- окрестности первого порядка. Стратегия поиска задачи Стратегия поиска решения задачи A5.36) строится на использовании необходимого условия экстремума функционала: 8/ = 0. Пусть на тройке (х*(/),/0*,Г*) функционал A5.35) достигает экстремума. Тогда допустимые кривые определяются соотношениям x(t) = х* @ + а 6х@, x(t) = х*' @ + а bx(t), где а- числовой параметр, 6х(/)- фиксированная вариация, а допустимые значения пределов интегрирования - формулами /0 = 'о* + а 5'о> Т = Т* + а ЬТ. 470
Найдем первую вариацию функционала. Для этого воспользуемся определением: . Г*+а6Г Воспользуемся формулой дифференцирования интеграла по параметру: Тогда получаем 8/ = ,x"@ + a Sx'(Q) ^ 1 J a &:@,x"@ + о 8x'(t))\,. t •Fx.bx\t)]dt + F{T ,x (Г )tx0t(T*))bT-F(to ,x*(t0 ),xm'(t0 ))bt0. <ь Вычислив второе слагаемое в интеграле по частям (см. разд. 15.1.1), запишем необходимое условие экстремума в виде Г d Г i I 5/= \[FX -~rFx>]bx(t)dt + Fx>ЬхЩ +F\. r-bT-F\ .-6/0=0. A5.38) %* * ^ |/=' Из выражения A5.38) видно, что вариация функционала 6/ состоит из интегральной части, которая определяется вариацией кривой &ф) при фиксированных значениях Го* и Г* , и трех слагаемых, зависящих от вариаций 5/0,5Г концов интервала интегрирования и вариаций 6х@ концов экстремали при / = /о*» t = T*(рис. 15.11). Из условия Ы = 0 следуют два равенства: 471
т' А 1 f [*«-4 \ at т.е. экстремаль x"{t) в задаче A5.36) должна быть решением уравнения Эйлера F* ~^tFx' S° (СМ' раЗД* 15ЛЛ)* 2. Fx,bx@\ +^ | - A5.39) Заметим, что &х(/)|/и7* не совпадает с &xj-, а 5х@г_- • не совпадает с &с0 (рис. 15 Л1). Рис. 15.11 На рис. 15 1 A5.40) Заметим, что приближенное равенство справедливо с точностью до бесконечно малых более высокого порядка. 472
Аналогично bx(t) . = бх0 - x'(t0* ) • б*0. Поэтому равенство A5.39) можно переписать в форме F*{t' ¦**г+Р-х'ЫЪяг-*Г-Ъ\,шЧ--**о-Р-х'Ъ]\Ы1;-*Ь =0. A5.41) Заметим, что с учетом замены A5.39) на A5.41) вариация функционала и соответствующее необходимое условие экстремума A5.38) записываются в форме Г dt A5.42) В силу наличия граничных условий A5.34) вариации Ьхт и 57\ а также 5х0 и б/о связаны : A5.43) Однако вариации &сг, 5Г не связаны с вариациями бх0, бго. Поэтому равенство A5.41) можно переписать в форме A5.44) Условия A5.44),A5.43) называются условиями щрансверк Сформулируем описанные результаты в виде теоремы. Теорема 15.6 (необходимые условия экстремума функционала в задаче A5.36)). Если на функции x*(t)eC[(&), удовлетворяющей граничным условиям чК'о>хо) = О> ч(Т,хТ) = 0, функционал A5.35) достигает слабого экстремума, то она удовлетворяет: а) уравнению Эйлера Fx-—Fx» =0; at б) условиям трансверсальности A5.44),A5.43). 473
Замечания 15.5. 1. Если один из концов допустимых кривых закреплен, то условия трансверсальности для этого конца не выписываются, поскольку в этом случае соответствующие вариации в A5.43) и A5.44) равны нулю. 2. Если рассматривается задача, в которой концы кривых скользят по двум заданным вертикальным прямым t-tQ , t = T (см. рис. 15.9), то поскольку /0 и Т заданы, то вариации 8/0 = 0, 5Г = 0. Следовательно, условия трансверсальности имеют вид 1 .. -°« ^Ц--°- <15-45> , Условия A5.43) выполняются, так как уравнения прямых можно записать в форме 4>('о)->о -'о* -0, ф(Г) = Т-Т* =0. 3. Если концы допустимых кривых скользят по двум заданным кривым х = \|/@ и х = <р(/), то условия A5.34) можно записать в виде o.*ь) - *о - V('o) = 0, <рG\ хт) ш хт - <p(D = 0. Следовательно, из A5.43) получаем '* -6*0+1-5*о=О, -8Г + Ьбхг =0 или 5хо=^о*)-5/0, Ьхт =ф'(Г*)-57\ Тогда из A5.44) следует В силу произвольности вариаций ЬТ и 5/0 получаем условия трансверсальности для данного случая: A5.46) %. -0. 474
Если рассматривается случай задания кривых в виде х = х0 = у(/) = const, х = хт = ср(/) = const, то <р'@ ш 0, \\f\t) б 0, а условия A5.46) упрощаются: [F-x'Fj]\tmJ, = 0, И7-*'^]^ =0- A5.47) 4. Если условия A5.34) отсутствуют, то вариации 5хг, 87\ 6xq , 5f0 произвольны. Тогда из A5.44) следует A5.48) 5. Если условия A5.34) записаны в форме х(*0) = *о , х(Т) = хг, т.е. рассматривается задача с неподвижными границами, то, поскольку вариации 5/0 = ЪТ = Ьх0 = 5*7* = 0, условия трансверсальности A5.44) выполняются, а произвольные постоянные в общем решении уравнения Эйлера определяются граничными условиями. Алгоритм решения задачи A5.36) 1. Записать уравнение Эйлера (см. разд. 15.1.1) F,-4^-0. А х 2. Найти общее решение уравнения Эйлера: х = x(t,Cl9Ci)- 3. Записать условия трансверсальности (в зависимости от вида условий A5.34)) в форме A5.44), A5.43) или A5.45), или A5.46) и граничные условия A5.34). 4. Определить СьС2,/о*>Т* и получить уравнение экстремали x*(t). Пример 15.41. Найти кривую, на которой функционал 2 /[x(/)J= J [2tx(t) + x(t)x'(t) + x2(t)]dt о может достигать экстремума, если левый конец ее фиксирован в точке Л@,0), а правый лежит на прямой t = Т = 2 (рис. 15.12). D 1. Составим уравнение Эйлера. Так как r at 475
то уравнение A5.9) имеет вид 2t + x'-x-2x" = Q или x" = t. 2. Интегрируя, найдем общее решение уравнения Эйлера: Z О 3. Запишем условия трансверсальности A5.45) на правом конце и граничные условия на левом конце: Fx>\r=2 = х + 2х |г»2 = *B) + 2х'B) = 0. 4. Найдем постоянные Сх, С2: 0. Отсюда С2 = 0, (рис. 15.12). ¦ -—. В результате получаем экстремаль х* (/)=-- 3 6 3 X 0 А {' \ S \ \ х'A) 1 ¦ 1,5 t- = 2 2 , t -1,34 Рис. 15.12 Рис. 15.13 476
Пример 15.42. Найти кривую, на которой функционал J2 может достигать экстремума, если правый конец ее фиксирован в точке В(Щ, а левый лежит на прямой t = О (рис. 15.13). D 1. Записываем уравнение Эйлера. Так как /* = х'2+х, Fx=l, F.=2x\ 4jF*'=2*">TO l-2x" = 0. at 2. Найдем общее решение уравнения Эйлера: *"(>) = |, *'(') = \t + С,, *(/) = |/2 + Q/ + С2. 3. Записываем условие трансверсальности A5.45) на левом конце и граничное условие на правом конце: 4. Найдем постоянные С} и С2: + C1+C20. 4 Отсюда Cj=O, C2=—J-. В результате получаем экстремаль x*(f) = — (^2-l) (рис. 15.13). ¦ Пример 15.43. Среди всех гладких кривых, соединяющих точку >4@,0) с прямой х = 1, найти кривую, на которой функционал \ 2 \ о может достигать экстремума (рис. 15.14). D 1. Запишем уравнение Эйлера. Так как F = t.x' + x'2y Fx=0, /v=/ + 2jc', ~/ то уравнение A5.9) имеет вид -1 - 2х" = 0. 2. Найдем общее решение уравнения Эйлера: | 1 + С Jc(O 477
3. Запишем условие трансверсальности A5.47) на правом конце (правый конец лежит на прямой х = <р@ = 1) и граничные условия: F-х Fx]ta 0 или jc(O) 4. Найдем Си С1ьТ*\ IL ' 4 Отсюда Г Г —, — = 1, С2 =0 или Г = ±2, Сх ш±\9 С2 =0. Таким обра- 2 2 зом, получены две экстремали x{*(t) = + /, х2*(/) = —- -1 (рис. 15.14)J 4 4 -2 Пример 15.44. Найти кривую, на которой функционал J3 может достигать экстремума, если ее левый конец фиксирован в точке /4@,0), а правый находится на прямой х(Т) = 1 - Т (рис. 15.15). D 1,2. Так как подынтегральная функция F = х'3 не зависит от / и jc , то уравнение Эйлера имеет общее решение (см. разд. 15.1.1): x(t) ^ 478
3. Поскольку правый конец лежит на кривой с уравнением х = <p(f) = 1 - /, запишем условие трансверсальности A5.46): F + W -x)Fj\tm и граничные условия: *@) = 0, 4. Найдем С{, С2,Т* из двух систем: -A + х')-Зх'2|,в7- =~х'2 [2х +3]\tsT = 0 или х'(Г) = 0, х'С !, Из первой системы находим Сх = С2 = 0, Т* = 1, а из второй С\ = —, С2 = 0, Т* = -2. В результате получены две экстремали: x\*(t) в 0, х2*(/) = —/ (рис. 15.15).и 479
Пример 15.45. Найти кривую, на которой функционал может достигать экстремума, если ее левый конец лежит на кривой *(/) = у(/) = t2 + 2, а правый конец - на кривой х(Г) = q>(f) = Г. ? 1,2. Так как подынтегральная функция ^ = у1 + х'2 не зависит явно от t и х , то уравнение Эйлера имеет общее решение (см. разд. 15.1.1): 3. Выпишем условия трансверсальности A5.46) и граничные условия : 2 ^ =0, = 0, = Сх Т + С2 = ф(Г) = Г. 4. Найдем С], С2, /о*»Т*» упростив систему, записанную в п.З : С1 =0, 0, Отсюда Cj = — 1, tQ* = — C2 =—, Г* =—.В результате подучаем 2 4 8 экстремаль х @ = -/ + — . Геометрический смысл примера состоит в нахождении гладкой кривой минимальной длины, соединяющей две заданные кривые (рис. 15.16). Она опреде- u — 8. I jj2 ляется величиной функционала /[x*(f)l = f yl + (—lJdt = .¦ l 8 480
Рис. 15.16 Пример 15.46. Найти кривую, на которой функционал j 2 достигает экстремума, если ее левый конец скользит по окружности, описываемой уравнением х2 +t2 =1, а правый конец скользит по окружности х2+(/-10J=4 (рис. 15.17). ? 1,2. Так как подынтегральная функция F = у 1 + х2 не зависит от г и х, то уравнение Эйлера имеет общее решение (см. разд. 15.1.1): x(t) = Cxt + C2. 3. Поскольку граничные условия имеют вид то запишем условия трансверсальности и граничные условия в форме A5.44), A5.43): -6X0=0, 0, X -8,0 .8,0 =0, 31—4751 481
или хт2+(Т* -10J-4 = 0 Ci-Sxo+5/o =0, Отсюда следуют соотношения ЪТ — — С\ bXf, 8 =0, [-(Г* =0. Рис. 15.17 Так как 6х0 и 6хт в последних равенствах произвольны, то х0 = Q t$, (Г* -10) Cj и справедливо х0 =Q /0* +С2 -С, /J, хг =СХТ* +С2 -(Г* -Ю)СЬ (С, /о +С2J +<2 -1 = °» (Q7* +С2J +(Г* -10J -4 = 0. 4. Определим CltC2,t0*,Т*: из первого уравнения С2=0, из второго Cj = 0, из третьего /q = ±1, из четвертого Т* = 10 ± 2. Отсюда x*(t) ¦ 0. Поскольку функционал имеет смысл длины, то минимальное расстояние между точками, лежащими на заданных окружностях, достигается на прямой x*(t) з 0, tQ* ш 1, Т* = 8, а максимальное - на прямой х*@ = 0, /0* = -1, 74* = 12 (рис. 15.17).и 482
15.2.2. Функционалы J F(t,x{t),x\t))dt y зависящие от одной функции. Случай негладких экстремалей Постановка задачи Рассмотрим множество Ж допустимых функций (кривых) x(t), удовлетворяющих следующим условиям (рис. 15.18): а) функции x(t) определены и непрерывны на отрезке [*о,Л> где /0 и Т заданы; б) функции x(t) удовлетворяют граничным условиям: x(to) = xo, x(T) = xT, A5.49) где jc0, xT заданы, т.е. проходят через две закрепленные граничные точки А и В ; в) функции x(t) являются кусочно-гладкими, причем непрерывность производной может нарушаться в некоторой заранее неизвестной точке tx (точке излома). Функции x(t) образуются двумя гладкими функциями xAC(t) и xCB(t), имеющими общую точку С, т.е. xAC(t) е Cl([tQ,t\)) и xCB(t) € Cl((tuT]). На множестве Ж задан функционал т /МО] = J F(t9x(t),x'(t))dt, A5.50) 'о где функция F(t,x,x) имеет непрерывные частные производные до второго порядка включительно по всем переменным. В Рис. 15.18 Среди допустимых кривых x(t), принадлежащих множеству М, требуется найти кривую x*(t) , на которой функционал A5.50) достигает экстремума , т.е. 31* 483
:\0j- e№ jF(r,x@,x'<O)*. A5.51) Замечания 15.6. 1. Могут рассматриваться задачи, в которых несколько точек излома. 2. В [11] доказано, что в задаче A5.51) поиска экстремума функционала излом возможен в точке, где Fxy = О. 3. Во многих практических задачах требование непрерывности производной является неестественным, так как решение достигается на экстремалях, имеющих точки излома. Поэтому рассматриваемая здесь задача актуальна. Стратегия пояска решения задачи Стратегия поиска решения задачи A5.51) на семействе негладких допустимых кривых, имеющих одну точку излома при t = tx , состоит в том, что функционал A5.50) представляется в виде суммы: к ] F(t,x(t),x'(t))dt+ A5.52) Запись A5.52) позволяет видеть, что задача A5.51) распадается на две: 1) поиск кривых АС и СВ (рис. 15.18), составляющих искомую кривую А#; 2) определение значения t\. Для решения обеих задач запишем первую вариацию функционала A5.52), учитывая, что (рис. 16.19): а) значение Ц не задано ; б) правый конец кривой АС и левый конец кривой СВ подвижны; в) левый конец кривой АС и правый конец кривой СВ закреплены (вариации 5х0 = Ъхт = 0, 5/0 = ЬТ = 0). 0 t0 h Рис. 15.19 484
Применяя A5.42), получаем Из условия 5/ = 0 следует 5/ V F Так как вариации dx(t)y6xubt] произвольны, то по основной лемме вариационного исчисления получаем Fx ~~rFx' =Q, /б[?о,/]), J A5.53) Fx-jtFx,=b te(tbT], ^Ц_0=^'Ц+0, A554) [F-xFx>]\t=tQ=[F-x'Fx.]\t=t+0. A5.55) Таким образом, кривые АС и СВ являются интегральными кривыми уравнения Эйлера A5.53), т.е. экстремалями. Условия A5.54), A5.55) называются условиями Вейерштрасса-Эрдмана. Решения уравнений Эйлера A5.53) зависят от четырех произвольных постоянных: ХАС@ = ХАС(*»^1»^2)» ХСВ @ = ХСВ(*»^3»^4 ) • Для нахождения этих постоянных и величины Ц используются два условия Вейерштрасса-Эрдмана, два фаничных условия A5.49) и условие непрерывности искомой экстремали в точке tx : хАс(*\) =xcbW- Сформулируем описанный результат в виде теоремы. Теорема 15.7 (необходимые условия экстремума в задаче A5.51)). Если на непрерывной функции x*(t), непрерывно дифференцируемой на промежутках [t$,t\) и (t\,T] , где tx - тонка излома производной, и удовлетворяющей граничным условиям x(to) = хо,х(Т) = хТ, функционал A5.50) достигает экстремума, то она удовлетворяет: а) уравнению Эйлера на каждом из промежутков [t09t\) и (t^T] ; б) условиям Вейерштрасса-Эрдмана A5.54), A5.55). 485
Замечания 15.7. 1. Если точек излома производной несколько, то к каждой из них применимы те же рассуждения. 2. Если из условий Вейерштрасса-Эрдмана следует условие т.е. условие непрерывности производной в точке /j , то это означает, что точки излома нет, а экстремум функционала может достигаться лишь на гладких кривых. Алгоритм применения необходимых условий экстремума в задаче A5.51) 1. Выписать условия Вейерштрасса-Эрдмана. Если из них следует условие непрерывности первой производной x\t\ - 0) = x\t\ + 0), воспользоваться алгоритмом нахождения гладких экстремалей (см. разд. 15.1.1). 2. Записать уравнение Эйлера и найти его общее решение на промежутках fob'i) и (/,,П : хАС«) = хАС«9СьС2), xCB(t) = xCB(t,C3,C4). 3. Определить Ci,C2,C3,C4,fi из граничных условий х(/0) = х0,х(Г) = хт, условия непрерывности xAC(t\) - хсв(*г) и условий Вейерштрасса-Эрдмана. В результате получить экстремаль x*(t). Пример 15.47. Найти экстремаль функционала I[x(t)]=jx'2(t)lx(t)-2]2dt, о удовлетворяющую граничным условиям х@) = 0 , хD) = 4. D I. Запишем условия Вейерштрасса-Эрдмана : ^Ц_о - 2х'(х')Bх'I'"'.-о - 2Ах>-2)Bх>- F-x'FAt.,,-o =x'2(x'-2)B-3x')|f=,1.o =x'V-2)B-3x')|,,,1+0 = F-х'^.Ц^. Отсюда следуют варианты: Вариант "а" соответствует случаю поиска гладких экстремалей. Так как подынтегральная функция не зависит от х и t явно, то общее решение уравне- 486
ния Эйлера имеет вид x(t) = Cit + C2. Из граничных условий х@) = С2=0 хD) = 4С| + С2 =4 находим Cj =1, С2=0 и экстремаль x*(t) = /. 2. Решение уравнения Эйлера на промежутках [0,^) и (гь 4] имеет вид *лс@ = С^ + С2, xCB(t) = С^ + С4. 3. Определим Сх, С2, С3, С4, tx из фаничных условий: из условия непрерывности: из условий Вейерштрасса-Эрдмана (см.п.1). Варианту "б" соответствуют условия: Ah -0) = *;,c<'i -0) = С, =0, xVi +0) = ^^ +0) = С3 =2. Тогда получаем С4 = 4 -4С3 = -4, С31\ + С4 = 0, t{ = 2. В результате получена экстремаль ^с@«0 при /е[0;2] , хс^@!=2/-4 при / € [2;4] (рис. 15.20). Варианту "в" соответствуют условия: x'('i -0) = xAC{tx -0) = С{ = 2, x'(/i +0) = xbM + 0) = С3 = 0. Тогда получаем С4 = 4 - 4С3 = 4, 2^ = С4, /j = 2. В результате получена экстремаль х^с@ = Ъ при Г € [0; 2] , Хсв@ = 4 при / е [2;4] (рис. 15.20). Рис. 15.20 Таким образом, в поставленной задаче имеются три экстремали: одна гладкая и две негладкие. На негладких экстремалях /|jc*(oJ=0, (очевидно, на ней минимум не достигается).¦ а на гладкой / = 4 487
Пример 15.48. Найти экстремаль функционала п I[x(t)]=\[x'2{t)-x2(t)]dt, о удовлетворяющую граничным условиям х@) = 1, х — = 0. ? 1. Запишем условия Вейерштрасса-Эрдмана (F = х2 - х2 ): г 'г I V2 »2| V2 »2| г ' г» I Очевидно, из них следует условие непрерывности первой производной : Поэтому решение существует только в классе гладких экстремалей. 2. Решение уравнения Эйлера, удовлетворяющее граничным условиям, имеет вид x*(t) = cost (см. пример 15.3).и г 15.2.3. Функционалы J/X',*i(O, •,*„('),*i@,...,xH(t))dt9 to зависящие от нескольких функций Постановка задачи Рассмотрим множество М допустимых вектор-функций х(/)=(Х|(г),.. удовлетворяющих следующим условиям: а) функции Xj(t)9 i = 1,...,л, непрерывно дифференцируемые, т.е. Xj(t) € С](А), где А - некоторый конечный отрезок, внутренними точками которого являются значения t0 и Т, которые заранее не заданы; б) значения tQ,xl0 = х{(^),...ухп0 = xn(tQ) и Г,х1Г = х{(Т),.^хяТ =х„(Т), определяющие концы вектор-функций, удовлетворяют граничным условиям: A5.56) 488
где yj(t,xli...,xn)i <ру(*,*!,...,xn) - заданные непрерывно дифференцируемые функции. На множестве Ж задан функционал т /[х1(/),...,хя@] = J /Х',*1('),...,*Л(О,*1ЧО,. ..,xn(!))dt, A5.57) где функция F(t,x{i...9xn9x[,...,xn) имеет непрерывные частные производные до второго порядка включительно по всем переменным. Среди вектор-функций, принадлежащих множеству Ж, требуется найти вектор-функцию х* (/) = (xj*(/),..., хя* (t))T, на которой достигается экстремум функционала A5.57), т.е. т f[x{'(t),...,xn\t)]= extr IF(t,xllt)9...9xu(t)9x[(t)9...X@)<b- A558) Стратегия поиска решения задачи Стратегия поиска решения задачи опирается на применение необходимого условия экстремума:б/=0. Поскольку функционал зависит от п переменных л:,(/),...,хЛ@, то будем варьировать лишь одну из них xk(t), оставляя неизменными все остальные. Тогда выражение для первой вариации функционала совпадает с A5.42): = \[FXk -j;Fx,k }bxk{t)dt + Fx,\t_r .ЬхкТ + 'о* A5.59) В результате Z^^4 г A5.60) Из условия 5/ = 0 с учетом независимости вариаций бхД/),/ = 1,-...л, между собой и от бдс/г, 6Г, 5х,-о, б*о получаем, что вектор-функция х*(/) = (х!*(/),...,хЛ*(/))г должна удовлетворять: 489
а) системе уравнений Эйлера F --F б) условиям трансверсальности A5.61) . A5.62) В силу наличия граничных условий A5.56) вариации Ьх,т и 67\ а также 5х/0 и 5/0 связаны : A5.63) 0' Однако вариации bxiT,6T в силу A5.63) не связаны с вариациями Sx/0,6*о . Поэтому равенство A5.62) можно переписать в виде A5.64) трансверсальноСоотношения A5.64), A5.63) также называются уел Сформулируем описанные результаты в виде теоремы. Теорема 15.8 (необходимые условия экстремума функционала в задаче A5.58)). Если на вектор-функции x*(t) = (х,* (/),..., xn*(t))T, где x*(t) e С!(А) > / = !,...,/!, удовлетворяющей граничным условиям Уу('о>х1О»—>*ло) = О> У = Ь...,/я, Ф^(Г,х1т',..,хЯ7') = 0, у = 1,...,р, функционал A5.57) достигает слабого экстремума, то функции X] (/),...,хЛ (f) удовлетворяют: а) системе уравнений Эйлера A5.61); б) условиям трансверсальности A5.64), A5.63). Замечания 15.8. 1. Если один из концов допустимых вектор-функций закреплен, то условия трансверсальности для этого конца не выписываются, поскольку в этом случае соответствующие вариации в A5.64) равны нулю. 490
A5.65) 3. Если концы допустимых кривых удовлетворяют соотношениям */ = V/@i * = 1,-,л; х, = фД/), / = 1,...,л, то из A5.63) получаем - ViVo*) «о +1 • S*/o =0» ' =1,-».«> Подставляя полученные соотношения в A5.64), в силу произвольности вариации Ыо и ЬТ имеем 1-1 A5.66) 4. Справедлив п.2 замечаний 15.4, где под x(t) следует понимать вектор- функцию. 5. Если условия A5.56) при фиксированных г0 и Т заданы в форме х/(/0) = х/0,х/(Г) = х/г,/= 1,...,л, т.е. рассматривается задача с неподвижными границами, то, поскольку вариации 6ГО = 5Г = 5xf0 = bxiT - О, условия трансверсальности выполняются, а произвольные постоянные в общем решении системы уравнений Эйлера определяются граничными условиями. Алгоритм применения необходимых условий экстремума в задаче A5.58) 1. Записать систему уравнений Эйлера A5.61). 2. Найти общее решение системы */(') = х&,СьС29...9С2п), i = 1,..., л • 3. Записать условия трансверсальности (в зависимости от вида граничных условий) и граничные условия. 4. Определить Cl9...tC2n,to*,T* и выписать экстремаль 491
Пример 15.49. Найти экстремаль функционала 1 О удовлетворяющую граничным условиям: TO D 1. Запишем систему уравнений Эйлера. Так как F = xlx2+6txx+12tx29 FXi=6t9 Fx[=x2, ^- FXl m 12/, FXi = x|, — Fx% = x['9 '*-?'«-»'-*T-o ИЛИ 2. Найдем общее решение системы. Интегрируя два раза каждое из уравнений, получаем x[(t) = 6t2 + Сь х^(/) = 312 + С3 , *t@ = 2/3 + Cxt + C2, х2(/) = гг + С3/ + С4. 3. Так как левый конец допустимых вектор-функций закреплен, то условие трансверсальности записывается только на правом конце. Поскольку Т = 1, т.е. значение Т задано, то ЪТ = 0, а условие A5.64) имеет вид ИЛИ Перепишем граничное условие хх(Т) + х2(Т) = 4 в виде A5.56) У\(Т9х1Т,х2Т) = ххт + х2Т - 4 = 0. 492
Тогда условие B.63) запишется в форме 1 • 8х1Т +1 • 6х2Т ¦ 0. Отсюда Ьх{Т = -Ьх2т и -х'2(Т)Ьх2Т + х[(Т)Ьх2Т =1х[(Т)-х2(Т)]Ьх2Т = 0. Поскольку вариация Ъх2Т произвольна, то имеем Кроме соотношений, следующих из условий трансверсальности, используем граничные условия: 4. Определим СиС2,С3,СА : или С3-С{ =3, Отсюда С\ = -1, С2 = С4 = 0, С3 = 2. В результате получаем экстремаль Пример 15.50. Найти экстремаль функционала т о удовлетворяющую граничным условиям: ? 1. Запишем систему уравнений Эйлера. Так как F = x[x'2+6tx]+l2t2x2, ^=6r, Fx[=x'2i -^ TO 493
или 2. Найдем общее решение системы, интегрируя оба уравнения два раза: 3. Так как левый конец допустимых вектор-функций закреплен, то условие трансверсальности записывается только на правом конце. Перепишем граничное условие Xi(T) + х2(Т) = 0 в форме y\(T,XiTjc2T) = х\т +Х2Т = 0. Из A5.64) имеем i +I2t2 х2-х\х2-х'2х[]ЬТ\ы1* =0. Из условия A5.63) и Ф^Г.хц-^гг)= х\т +ДС2Г = ^ получаем 1-&С17« +1-6Х27' = 0 ИЛИ бХ17=-6Х27'. С учетом последнего соотношения перепишем условия трансверсальности (знак * для упрощения обозначений опустим) Так как 5х27- и 6Г произвольны, то отсюда имеем вТ • х,(Г) + 12Г2 • х2(Г) - х{(Т) х2(Т) = 0. Кроме условий трансверсальности выпишем граничные условия: * +СХТ + ТЪ 494.
4. Определим СъСъСг,С^%'. Имеем 6Т(Т4 + С{Г) + 12Т2[Т3 + С3Л - DГ3 + СхЮТ2 + С3) = 0, Из первого и третьего уравнений получаем Отсюда 2С, = 2Г2 -5Г3, С, = Г2 -|г3, С3 = С, -ЗГ2 +4Г3 = -2Г2 +|г3. Подставляя выражения для С| и С3 во второе уравнение, имеем 6Г[Г4 +Г3 -|г4] + 12Г2[Г3 -2Г3 +|г4]- -[4Г3 +Г2 -|г3] [ЗГ2 -2Г2 +^Г3] = 0 или —Г2-247Ч5 = 0. 4 Решая полученное квадратное уравнение, находим корни: т 24±У576-315 48±2У2бГ иди Гг1275- Г «025 Тогда для корня 63 "" 63 1 - , , 2 - , . 2 Ту = 1,275 вычисляем постоянные С] г -3,56; С3 s -0,14, а для корня Г2* г 0,25 соответственно Сх s 0,023; С3 s-0,1. В результате получаем две экстремали: 1) V</) = tA - 3,56/; х2*(/) = /3 - 0,14/, Г* = 1,275; 2) х,*(/) = /4 + 0,023/; х2*(/) = /3 - 0,1/, Г* = 0,25 .¦ 495
Пример 15.51. Найти экстремаль функционала f о удовлетворяющую граничным условиям: D 1. Запишем систему уравнений Эйлера. Так как F-xixi, ^=0, J^-xi, j;Fxi= *l> ^FX2S X" TO ИЛИ 2. Найдем общее решение полученной системы: 3. Левый конец допустимых вектор-функций закреплен, поэтому запиь условия трансверсальности на правом конце. Перепишем граничные условия Xi(T) = Г2 +1, х2(Т) = -2 в форме Так как <p'i(f) = 2/, <р'2(')* 0, то условия B.66) принимают вид = 0 .Г или 496
Запишем граничные условия: С37ЧС4=-2. 4. Определим С^С^Сз^,Т*. Из условия трансверсальности следуют два варианта: 2) х,'(Г) = С, = 27\ Рассмотрим первый вариант: С2=-3, Очевидно, система не имеет решения. Рассмотрим второй вариант: С2=-3, С4=2, Отсюда Т* =±2, Q =±4, С3 =Т2. В результате получаем две экстремали x*(t) = (xi*(t)9x2*(t))r, т.е. * V Г* =2 Г =-2, на которых может достигаться экстремум функционала. ¦ 32 — 4751 497
15.2.4.Функционалы J F(t, x{t),x(t))dt + G(T, x(T))> зависящие от одной функции к Постановка задачи Рассмотрим множество Ж допустимых функций (кривых) *(/), удовлетворяющих следующим условиям: а) функции x(t) непрерывно дифференцируемы, т.е. x(t)e С!(л), где Л некоторый конечный отрезок, значение /0 задано, а Т не задано и является внутренней точкой отрезка Л; б) левый конец кривых закреплен, т.е. х(*0) = х0, где х0 задано; правый конец удовлетворяет граничному условию <р(Г,хг) = 0, A5.67) где хт = х(Г), а <р(/,х) - заданная непрерывно дифференцируемая функция. На множестве Ж задан функционал т l[x(t)]= JF(t9x(t\x(t))dt + G(T9x(T))9 A5.68) 'о где функция F(t,x,x) имеет непрерывные частные производные до второго порядка включительно по всем переменным, функция G(t,x) непрерывно дифференцируема по всем переменным. Среди всех допустимых кривых, принадлежащих множеству Ж, требуется найти кривую jc*(O, на которой функционал достигает экстремума, т.е. A5.69) Замечания 15.9. 1. Функционал A5.68) называется функционалом Больца. Кроме интегрального члена он содержит терминальный член G(Г,х(Г)). 2. В рассматриваемой задаче для простоты изложения полагается, что левый конец допустимых кривых закреплен. В качестве обобщений могут быть изучены задачи с подвижным левым концом, удовлетворяющим условию \|/(/о,дсо) = 0 (см. разд. 15.2.1), а также функционалы с терминальным членом x{T))^Q(tQ9x{t0)) или б{Т,х(фо,х{ь)). 3. В поставленной задаче A5.69) фактически ищется пара [x*(t),T*}9 на которой функционал достигает экстремума (см. п.2 замечаний 15.4). Стратегия поиска решения задачи Стратегия поиска решения задачи Больца опирается на применение теоремы о необходимых условиях экстремума функционала: 6/ = 0. Так как рассмат- 498
риваемая задача отличается от изложенной в разд. 15.1.1 только наличием терминального члена и отсутствием условия vj/(/o,jco) = O, то найдем вклад терминального члена в выражение для первой вариации функционала: dG - - Ьх7 dt дх Добавим 6G к выражению A5.42) для 5/, учитывая, что 5f0 =0, 6х0 =0, поскольку левый конец допустимых кривых закреплен: Из равенства 6/ = 0 и произвольности вариации dx(t) получаем, что экстремаль x*(t) должна удовлетворять: а) уравнению Эйлера б) условию трансверсальности \%]\ 0- A570) В силу наличия граничного условия A5.67) вариации Ъхт и ЬТ связаны: бхг=0 . A5.71) dt |rV(r.) дх Сформулируем описанные результаты в виде теоремы. Теорема 15.9 (необходимые условия экстремума функционала в задаче Больца A5.69)). Если на функции х*(/)еС1(д), удовлетворяющей граничным условиям х*(/0)=*0, <р(Г*,х*(Г*))=0, функционал A5.68) достигает слабого экстремума, то она удовлетворяет: а) уравнению Эйлера; б) условиям трансверсальности A5.70), A5.71). Замечания 15.10. 1. Если Т задано, т.е. правый конец допустимых кривых скользит по прямой, описываемой уравнением t = T, то, поскольку 5Г = 0, а Ъхт произвольно, условие трансверсальности A5.70) принимает вид /у+-||| =0. A5.72) 2. Если правый конец допустимых кривых скользит по кривой с уравнением х = ф(г), то граничное условие можно записать в виде <р(Т, хт) = хт - (р(Т) = 0. Тогда из A5.71) получаем 32* 499
0 или Ьхт = Подставляя полученную связь между вариациями в A5.70) и учитывая произвольность 87\ находим ^ y)^]\ =0. A5.73) 3. Если граничное условие <рG,хг) = 0 отсутствует, то вариации 8хт и 8Г произвольны. Поэтому из условия AS.70) следует rv(r) A5.74) = 0. \F + - x'l Алгоритм применения необходимых условий экстремума в задаче A5.69) 1. Записать уравнение Эйлера. 2. Найти общее решение уравнения Эйлера: х = х(г,СьС2). 3. Записать условие трансверсальности и граничные условия. 4. Определить СХ,С2,Т* и записать уравнение экстремали x*(t). Пример 15.52. Найти экстремаль функционала f2 2 f о удовлетворяющую граничному условию х@) = 1. D 1,2. Так как подынтегральная функция F = х2 не зависит от t и х явно, уравнение Эйлера имеет общее решение x(t) = С^ + С2. 3. Правый конец скользит по прямой / = 1, поэтому воспользуемся A5.72) при (j=5jc2: Fx>+—\ =2x' + 10jcL , =2х'A)+Юл:A) = 0. Используя граничное условие, получаем х@)« С2 = 1. 4. Определим С{. Поскольку С2 = 1, то = 2С{ + ЮС, +10 = 0. Отсюда С, = —. Таким образом, получена экстремаль x*(f) = —1 + \M 6 6 500
Пример 15.53. Найти экстремаль функционала О удовлетворяющую граничному условию х@) = 0. П 1. Запишем уравнение Эйлера. Так как F = x'2 + 12/x, Fx=\2t, F' = 2х , — F' = 2х", то Fx -—F < = 12/ -2х" = 0 или х" = 6/. at dt x 2. Дважды интегрируя левую и правую части уравнения, находим общее решение уравнения Эйлера: *'(/) = 312 + Сх, *(/) = Р + Cxt + С2. 3. Запишем условия трансверсальности A5.74). Так как G(t,x)= -x, то Применяя граничное условие, получаем лс(О) = С2 = 0, jc(/) = /3 + C\t. 4. Определим С^Г*: ^/ ,ч Из первого уравнения Сх = — ЗГ* и после подстановки во второе соотношение: 24Г* - 6Т* + — = 0. Обозначим Т* = р. Тогда найдем корни 4 ^_^_ о. 2 г 1Л 6±У36-24 6±1^2 6±2Уз 3±Уз _#2 уравнения 24р2-6/, + - = 0: Л<а ^ = __ = __ = ^Г- = Г . Отсюда Г .^—-.d-^-S.-^—5-. В результате найдены экстремали ? 501
Пример 15.54. Найти экстремаль функционала * о удовлетворяющую граничным условиям х@) = 0, х(Г)+ Т = 1. П 1,2. Так как функция F = — х'2 не зависит от t и х, то общее решение уравнение Эйлера имеет вид х(/) = ( 3. Запишем граничные условия и условие трансверсальности A5.73) с учетом G(/,х) = х2, так как граничное условие х(Г)+Г = 1 означает, что правый конец скользит по кривой с уравнением х = <p(f) = 1 - /: x@) = C2=0, x(f) :_±х'2_х'_2х =0. 4. Определим СиС29Т : r = qTT' ^. Отсюда С,=0 или — Q+1 + = 0, С2 +3^+6 = 0. Последнее уравнение 2 С i +1 не имеет действительных корней. Поэтому 71* = 1 ив результате найдена экстремаль x*(t) ж 0 при / е [0,1]. ¦ 15.2.5. Функционалы | зависящие от нескольких функций Постановка задачи Рассмотрим множество Ж допустимых вектор-функций x(t)=(xl(t\...yxn(t))Tt удовлетворяющих следующим условиям: а) функции X/(f), / = 1,..., л, непрерывно дифференцируемы, т.е. х,(/)е С1 (а), где Д - некоторый конечный отрезок, значение /0 задано, а значение Т не задано и является внутренней точкой А; б) левый конец кривых закреплен, т.е. x(fo) = xo = (х10,...,хя0)г, где х/0, / = l,...,/i, заданы; правый конец удовлетворяет граничным условиям: 502
A5.75) где х/г=х,(Г); yj{t,xb...,xn), 7 = 1,...,р, - заданные непрерывно дифференцируемые функции. На множестве Ж задан функционал где функция ^(г,Х1,...9х„,х1,...,х„) имеет непрерывные производные до второго порядка включительно по всем переменным, а функция G(t,xu...,xn) непрерывно дифференцируема по всем переменным. Среди всех вектор-функций, принадлежащих множеству Ж, требуется найти вектор-функцию x*(t)=[x[(t\...,x*n(i)f , на которой достигается экстремум функционала A5.76), т.е. f ^(fV.^to^ A5.77) Замечания 15.11. 1. Функционал A5.76) называется функционалом Больца. Кроме интегрального члена, он содержит терминальный член &(Т9х{(Т\...,хп(Т)). 2. В рассматриваемой задаче для простоты изложения полагается, что левый конец допустимых кривых закреплен. В качестве обобщений могут быть изучены вариационные задачи с подвижным левым концом, удовлетворяющим условию \1/у(/о>*нь—>*ло) = О, j = \,...,m (см. разд. 15.2.3), а также функционалом с терминальным членом G(T,xl(T\...ixn(T))+Q(tOyxl(to)t...,xn(t0)) или Стратегия поиска решения задачи Стратегия поиска решения задачи опирается на применение необходимого условия экстремума: б/ = 0. Так как рассматриваемая задача отличается от изложенной в разд. 15.2.3 наличием терминального члена и отсутствием условия () o>./ = 1>- •»w» то найдем вклад терминального члена в выраже- ние для первой вариации функционала: 6G =— «™ . чп dt dxi Добавим 5G к выражению A5.60) для 5/, учитывая, что 6/0 =0, &с/0 =0, 1 = 1,...,л, поскольку левый конец допустимых функций закреплен: 503
Из равенства 5/ =0 и произвольности вариаций &*,(/), / = 1,...,/? получаем, что вектор-функция **(/)= (х|*(*),...,х*(/)| должна удовлетворять: а) системе уравнений Эйлера ^,—^;=0, /-U.it; A5.79) б) условиям трансверсальности k^ll 8Г = 0- A580) В силу наличия граничных условий A5.75) вариации 5х,т и б Г связаны: 5х/Т=0, у = 1,...,/>. A5.81) ') Сформулируем описанные результаты в виде теоремы. Теорема 15.10 (необходимые условия экстремума функционала в задаче A5.77)). Если на вектор-функции x*(t)-(xl(t),...9x*n(t)) , где Xj*(t)eCl(A), удовлетворяющей граничным условиям х*(/о)=Хо> q>jlf\xt(Tm)9...,x*n(T*))=O, y = l,...,p, функционал A5.76) достигает слабого экстремума, то функции х[(/),...,x*n{t) удовлетворяют: а) системе уравнений Эйлера A5.79); б) условиям трансверсальности A5.80), A5.81). Замечания 15.12. 1. Если значение Т задано, а правый конец допустимых кривых скользит по прямой с уравнением / = Г, то вариация ЪТ = 0. В силу произвольности вариаций bxiT\ i = 1,...,я, из A5.80) получаем /х;+|? =0, t-U...9n. A5.82) dxi T,x(T) 2. Если правый конец допустимых кривых удовлетворяет соотношениям Xj =ф,-(/), I = 1,...,л, то из A5.81) и ф/(/,х1,...,хя) = х/ -фД/) = О получаем §х|Т =0, / = 1,...,л. Подставим полученные соотношения в A5.80) и в силу произвольности 5 Г будем иметь = 0. A5.83) v(r) 504
Алгоритм применения необходимых условий экстремума в задаче A5.77) 1. Записать систему уравнений Эйлера A5.79). 2. Найти общее решение системы х( = xi(ttC\iC2,...,C2n), i = 1,...,л. 3. Записать условия трансверсальности (в зависимости от вида фаничных условий) и фаничные условия. 4. Определить С1,...,С2и,71* и выписать экстремаль **(/)= \х\(/),...,х*п( Пример 15.55. Найти экстремаль функционала 'M'W')]=j Ы w*i(o+* @*2 (Ф+x, о удовлетворяющую граничным условиям: *i@) = jc2@) = 0. D 1. Запишем систему уравнений Эйлера. Так как F = х\ х2 + х1х2, Fxt = Х2. Fx\ = Х2 9 ^Fx\ = *2» Fx2 = *i» ^ = х\» ^^2 = xi ' то 2. Найдем общее решение системы х'{ - х{ = 0, х2 - х2 = 0: Х| (tf) = С\В + С2с , дс2[tf = C3e + O4e 3. Запишем условия трансверсальности A5.82), учитывая, что значение Т = 1 задано, a Xj(l) и x2(l) произвольны. Поскольку G{f,xbx2)=xx +x2, то JJl\ 17=1 dG F' + ** дх2 Используем граничные условия: x2@)=C3 +C4 =0. 4. Определим Cj,C2,C3,C4. Имеем Q = -C2, C3 = -C4, 505
Отсюда С2 = - = --?—., d =—^—, С4 = -^—•, С3 =—^—. В результате е +  е2+1 е2 + 1 е2 + 1 е2+1 получаем экстремаль х*(/)=(х^х?(*))Г: *Г@=^@ = —Г—*' +*^Г—е~*м е2 + \ е2+\ Пример 15.56. Найти экстремаль функционала о удовлетворяющую граничным условиям: Xj@) = х2@) = 0, х{(\)-х2(\) = 4. D I. Запишем систему уравнений Эйлера. Так как F = х[ х'2, FX] - FX2 = 0, Fx\ = ^2. ^ = х'\ > JtFx, = *2 . "^^ = ХГ. то получаем 2. Найдем общее решение системы: хх (t) = C{ t + С2, х2(/) = С3 / + С4. 3. Запишем граничные условия и условия трансверсальности A5.80), A5.81). Учитывая, что G = Xi+x2, ф^^г^гг)- х\т ~Х2Т ~4==^» 6Г = 0 поскольку значение Г = 1 задано, имеем: =0. 4. Определим Clv..,C4. Имеем (С3 + lJSxj^ + (Q + 1)бх2т- = 0, bx^f ^, С, - С3 = 4. Поэтому (С] + С3 + 2M^:^ = 0. Так как вариация Ьх2Т произвольна, то получаем С\ + С3 + 2 = 0, Cj - С3 = 4. Тогда С| = 1, С3 = -3. В п.З найдены значения С2 =С4 =0. В результате получена экстремаль х*(/)= (xj*(/),x2(r)) , где () @ Пример 15.57. Найти экстремаль функционала [] J о удовлетворяющую граничным условиям: xj @) = х2 @) = 0, хх (Т) + х2(Т) = - 6. 506
D 1. Запишем систему уравнений Эйлера. Так как F = х\х2 + хх, FX{ =1, 0 ^ * F * F х F ИЛИ ^Г г2 2. Находим общее решение системы: х{(/) = Cxt + C2i x2{t) = — + C3r + С4. 3. Запишем граничные условия: г2 Так как G = хх -х2, yfr,Х\т>х2т)= xir + ^г + 6 = 0, то условие A5.81) имеет вид 5ф = 1 • 5*17- +1 • Ъх2т - 0 или Ьхур = -dx2f. Из последнего соотношения следует, что 5Г не зависит от 5х1Г, 6х27- и произвольно. Поэтому из условия трансверсальности A5.80) следуют два уравнения: С учетом связи 6x17-=-Sx2r из первого уравнения получаем [xj(r*)-x2(r*)-2J-5x2r =0. Так как Ъх2Т произвольно, то х[{г*)= х'2\Г*)+2. Из второго уравнения следует х1(г*)-хцГ*)х2G1*)= 0. 4. Определим С{у...,С4,Т*. Опустив знак *, запишем систему для нахождения оставшихся неизвестных: 507
Из второго уравнения следует С\С$ = 0. Рассмотрим два варианта: Т2 1) С1=0. Тогда С3=-Г-2, ^- + (-Г-2)Г = -6 или Г2+4Г-12 = 0. В результате Г* = 2, С3 = -4 или Г* = -6, С3 = 4. Получаем две экстремали: *Г(')-0, ^(/Ьу-4/, Г*=2; х;(г)-О, xJ(f)e? + 4#, Г* =-6 . Заметим, что в практических задачах аргумент / часто имеет смысл времени. Тогда значение Г* должно быть положительным, и имеется одна экстремаль; 2) С3=0. Тогда С1=Г + 2, (Г + 2)Г + ^- = -6 или ЗГ2+4Г + 12 = 0 и решений нет.и Зяцачи для самостоятельного решения Найти экстремали функционалов. 1. I[x(t)] = )[xl2(t)-x2(t)]dt, x@) = l, r=i о Ответ: x*(t) = cos/ + sin/. т 2. /[*(/)]= jx'2(t)dt, x@) о Ответ: х* (/) = -2/, Г* = 1. г ___ 3. /[*(/)] = JV1 + *'2 W А» л(А>) = '(Л x(^) = ^ - 5. 23 4. Ответ: **(/) = у2-(/-1J, Г* =2. 508
5. I[x(t)]=j{x'(t)[x(t)-t]}dtf fo=O, о Ответ: x*(t) = — Ответ. f/-il + (х_2J= —. 7. t х(О) = О, (х(Г)-1J + (Г-5J -4 = О. Ответ. x*(t) = + 5. 4 8. /МО] Ответ: (t-2J +(x-lJ =5. 9. Ответ: x*(t) 10. Найти кратчайшее расстояние между кривыми x(f) = /2 и / -1. 4 2 11. Найти экстремаль функционала 2 J2 8 удовлетворяющую граничным условиям х@) = 0 , хB) = 1. Ответ: x}*(t) а 0 при / € [0,1], xx*(t) = t -1 при / € [1,2]; x2*(t) = t при / g [0,1], x2\t) = 1 при t € [1,2]; *^ /€[0,2]. 509
§ 16. ВАРИАЦИОННЫЕ ЗАДАЧИ ПОИСКА УСЛОВНОГО ЭКСТРЕМУМА 16.1. ЗАДАЧИ НА УСЛОВНЫЙ ЭКСТРЕМУМ С КОНЕЧНЫМИ СВЯЗЯМИ Постановка задачи Рассмотрим множество М допустимых вектор-функций x(f)=(xi(f),...jcn(t))T> удовлетворяющих следующим условиям: а) функции Xj(t) определены и непрерывно дифференцируемы на отрезке [/0,Г], где to,T заданы, т.е. x,(t)eCl([t0,T])9 i = l,...,«; б) функции хД/) удовлетворяют граничным условиям: *,т> / = 1,...,и, A6.1) где xiOixiT,i = l,...,n, заданы, т.е. каждая из кривых xf(t) проходит через две закрепленные граничные точки; в) функции Х/(г) при всех t е [to,T] удовлетворяют конечным связям: Ф./('.*1@»».,*я@) = 0, J = 1,...,/и, т< п, A6.2) где функции <Py(f»*i»»..*n)j j = l,...,m, непрерывно дифференцируемы по всем переменным. Предполагается, что уравнения A6.2) независимы, т.е. rang дхх дхп дх{ '" дхп ¦т, а также связи A6.2) согласованы с граничными условиями A6.1). Последнее означает, что координаты граничных точек должны удовлетворять уравнениям A6.2) при t = t0 и / = Т. На множестве Л/ задан функционал | = J F(tiXl(t)y...txn(t)iX[(t),,..,xn(O)dt, A6.3) 510
где функция F(t,Xi,...,xn,x[,...,x'n) имеет непрерывные частные производные до второго порядка включительно по всем переменным. Среди допустимых вектор-функций x(t), принадлежащих множеству Ж, требуется найти вектор-функцию х*(t) = (x{*(t),...,xn*(t))T, на которой функционал A6.3) достигает экстремума, т.е. т 7[x1*@,...,V(/)]= extr \F(t9xl(t)9...,xk(t),x[(t)9...X(t))u- 06-4) Поставленная задача относится к задачам поиска условного экстремума функционалов, так как кроме граничных условий на искомые функции наложены дополнительные условия, в данном случае конечные. В разд. 16 рассматриваются еше задачи с интегральными и дифференциальными условиями (связями). Стратегия поиска решения задачи Стратегия опирается на применение необходимого условия экстремума: Ы = 0. Задача A6.4) отличается от задачи A5.20) (см. разд. 15.1.2) только наличием условий A6.2). Поэтому воспользуемся выражением A5.24) для первой вариации функционала: i[^] A6.5) Так как функции *,(/) должны удовлетворять конечным связям A6.2), то их вариации bxt{t) не являются произвольными. Поэтому на данном этапе нельзя применить основную лемму вариационного исчисления. Связь между вариациями находится путем варьирования уравнений A6.2) : ^iL0' V = l,.,m, A6.6) где x*(t)- кривая, на которой достигается экстремум функционала, вариация 5<ру вычислена при фиксированном значении t e[to,T]. Следовательно, только (л-/и) вариаций 8х,(/) можно считать произвольными, например, &xm+{(t),...,6xn(f), а остальные определяются из A6.6). Умножая почленно каждое из уравнений в A6.6) на некоторую функцию Xj(t) и интегрируя в пределах от tQ до Т, получаем JM') 1^-^/@^ = 0, y = l,...,m. A6.7) t0 ы\дх1 Суммируя почленно A6.5) и A6.7), находим 511
A6.8) Бели ввести обозначение F*(t,x,x'Mt)) = F(t,x,x) + ? Л//)-?у(/,х), A6.9) 7-1 где F*(t,x,x',X(t)) называется функцией Лагранжа, а функции Xj(t), j = l,...,m, - множителями Лагранжа, X(t) = (X{(t),...yXm(t))T, последнее уравнение перепишется в виде [^l O. A6.10) Выберем /и множителей Xi(f)»—Лт(/) так, чтобы они вместе с кривой x*(t) удовлетворяли т уравнениям Эйлера F*i"IF*>=0) / = 1)*> т' A6И) Это можно сделать, так как система A6.11), записанная с учетом A6.9), имеет вид Она является линейной относительно Xj(t) с определителем, отличным от нуля (согласно п. "в" постановки задачи) и, следовательно, имеет решение При осуществленном выборе множителей Лагранжа Xj(/),...,^m(/) условие A6.10) принимает вид J Z k-4^;W/(O^ = o, A6.12) где вариации bxm+i(t),...,8xn(t) независимы. Тогда по основной лемме вариационного исчисления (для ее применения следует положить по очереди равными нулю все вариации, кроме одной, считаемой произвольной) имеем /?-^*2я0' *-* + и,я. A6.13) Учитывая A6.11) и A6.13), можно сделать вывод о том, что кривая x*(t) и множители Лагранжа должны удовлетворять системе уравнений Эйлера F^-jjF^-O, / = !,..., л. A6.14) 512
Таким образом, из (я + да) уравнений A6.14) и A6.2) с 2л граничными условиями A6.1) находится вектор-функция x\t) = (x{*(t)9...,xn*(t))T и множители Лагранжа Xx(t),...9Xm(t). Сформулируем описанный результат в виде теоремы. Теорема 16.1 (необходимые условия экстремума в задаче A6.4)). Если на вектор-функции! x\t) = (xi(t),...txM*(t))T, где x*(t)eCl([tQtT]), удовлетворяющей граничным условиям A6.1) и конечным связям A6.2), функционал A6.3) достигает экстремума, то функции Xi*(t),...9xtt*(t) удовлетворяют системе уравнений Эйлера составленной для функционала Замечания 16.1. 1. На основании теоремы 16.1 решение задачи A6.4) об условном экстремуме функционала сводится к исследованию экстремалей функционала I*[x\(t),...,*„(/)] при отсутствии уравнений связи. 2. Приведенный способ, связанный с идеей снятия ограничений, аналогичен методу множителей Лагранжа для решения задач поиска условного экстремума функций [26]. 3. В механике связи вида A6.2) называются голономными. 4. В общем случае используется обобщенная функция Лагранжа F*(t9x9x'Mt)) = Х0@ F(t9x9x')+ ]Г \j(t При этом рассматриваются два случая: Я,0(/)г0 и Х0(/)*0. Такая методика аналогична применяемой при условной минимизации функций [26]. Алгоритм применения необходимых условий экстремума в задаче A6.4) 1. Составить функцию Лагранжа F\t9x9x Д(/)) = F(t9x9x ) + ? Х/0-Фу(/,х), где функции Xj(t)9 j = l,...,m, - множители Лагранжа. 33 — 4751 513
2. Записать систему уравнений Эйлера A6.14) и условия связи A6.2) : ,@,...,хя@) = 0, j = 1,...,«. 3. Найти общее решение системы x,(f) = х&9С\,..,С2п)> i = I .,л, и выражения для множителей Лагранжа A,i(/),...,Xm(t). 4. Определить постоянные Сх,...,С2п из граничных условий: и выписать выражение для экстремали х*(/) = (xi*(t),...,xn*(t))T. Пример 16.1. Найти экстремаль функционала о удовлетворяющую граничным условиям: V ((\\ — 1 V {(W — 1 V I mmL 1—1 V I «-L 1 — 1 и уравнению связи Xi - х2 - 2 cos t = 0. D 1. Составим функцию Лагранжа. Так как F = x2 +x22 -xI2~x22, <p!(/,x) = xi -x2 -2cosr, /и = 1, то 2. Запишем систему уравнений Эйлера и уравнение связи. Так как 514
то х{ -*2-2cos/ = 0. 3. Найдем общее решение системы. Складывая первые два уравнения системы, получаем или, вводя обозначение х{+х2 = у, имеем Так как характеристическое уравнение А,2 +1 = 0 имеет корни Я.12 = ± /, то y(t) = C\ cos/ + C2 sin f = Xj + jc2 . С другой стороны, из третьего уравнения системы следует 2cos/ « хх -х2- Складывая два последних уравнения, получаем 2х{ =СХ cos/ + C2sin/ + 2cos/ С С или jC(/) ^cos/ + ^sin/ + cos/ или Тогда x2(/)«x,(/)-2cos/, 4. Определим произвольные постоянные из граничных условий: Отсюда С1=0,С2=2и JC!'(/) 2sin / - 2cos/ - 2sin / + 2cos/ = 0. 33* 515
Заметим, что граничные условия и уравнения связи в задаче, очевидш согласованы, так как x1@)-x2@)-2cos0 = 0, Этот факт следует проверять перед решением задачи. Таким образом, в задаче найдена экстремаль x*(t) = (xi*(t)9x2*(t))T : x*(t) = sin / + cos/, x2*@ = sin t - cos t M Пример 16.2. Найти экстремаль функционала Л«1@,Х2@1-J[»I2@ + 2xi@«iW + X22@]*, о удовлетворяющую граничным условиям: jc!(O) = 1, х2@) = 1, Х!A) = е, x2O) = j и уравнению связи jcj - х2 - е* + еГ* = 0. П 1. Составим функцию Лагранжа. Так как F = х\2 + 2x^2 + дс^2, <pi(/,x)* х, -х2 -V +e"r, m = 1, то F* = F + M0-9i(f.*) -^[2 +2х^2 +jci2 +Я.1@-[х1 -х2 -в' +е-г]. 2. Запишем систему уравнений Эйлера и уравнение связи. Так как /5-2x1, j*$-2xi\ TO 516
3. Найдем общее решение системы и выражение для МО- Складывая первые два уравнения, получаем или, вводя обозначение хх + х2 = у, имеем Так как характеристическое уравнение X2 -1 = 0 имеет корни 1, Х2 =-1,то Из третьего уравнения е* - е~* =х{-х2. Складывая два последних уравнения, получаем 2хх =С{е* +С2е~* +е* -е~* или Тогда 4. Определим произвольные постоянные из граничных условий: /ЛЧ С,+1 С2-1 , <0) ^+^1 Отсюда Q =1,С2 =1. В результате найдена экстремаль x*(t) При этом X, @ = 2е* - 2е"г .¦ 517
Пример 16.3. Найти кратчайшее расстояние между точками Л@;-1;1) и ?A;0;-1), лежащими на плоскости с уравнением t + x{ +x2 =0. D Формализуем задачу, как вариационную. Требуется найти экстремаль функционала удовлетворяющую граничным условиям: -l, *2<0) = и уравнению связи t + x{+x2=0. Решим сформулированную задачу, пользуясь алгоритмом. 1. Составим функцию Лагранжа. Так как то j^Tx^ +X, (/) 2. Запишем систему уравнений Эйлера и уравнение связи. Так как то t + X| 0. S18
3. Найдем общее решение системы и выражение для МО- Вычитая из второго уравнения первое, получаем Отсюда */ _ ^ г = С. Дифференцируя уравнение связи, имеем х[ = -хг -1. Подставляя найденное соотношение в последнее уравнение и возводя результат подстановки в квадрат, получаем или D-2C2)*22+D-2C2)*i+l-2C2=0. Очевидно, решением полученного квадратного уравнения является некоторая константа: х2 = Сх = const. Отсюда x2(t) = C{t + C2, xx@ = -дс2(О -1 = -Ci/ - С2 - /. 4. Определим Сь С2 из граничных условий: Поэтому Cj=-2, С2=1 и в результате получаем экстремаль = <*Г('),*2*('))Г: *,•(')« При этом 7[х*(/)] = V6, 519
Задача длм самостоятеяыюго Найти экстремали функционалов. 1 j о *i@) = l, х2@) 2х, -х2-3/ = 0 Ответ: xx*(t) = 2. Лх,(О,х2(/)]= J о -1, х2@) = 0, х х, + х2 - 2/2 + / +1 = 0. Ответ: x{*(t) = t2 - / -1, l о х, + jc2 - 2r2 = 0. Ответ: xx*(t) = /2 + /, х2*(/) = /2 -1. 4. J2 2 Ответ: x{*(t) = 2 - /, х2*@ = / +1. 520
16.2. ЗАДАЧИ НА УСЛОВНЫЙ ЭКСТРЕМУМ С ДИФФЕРЕНЦИАЛЬНЫМИ СВЯЗЯМИ Постановка задачи Рассмотрим множество Ж допустимых вектор-функций х(/) = = (xi(t),...,xH(t))T, удовлетворяющих следующим условиям: а) функции хДО определены и непрерывно дифференцируемы на отрезке [Г0,Г], где /0,Г заданы, т.е. х&)еС1ф0,Т])> / = 1,...,л; б) функции Xj(t) удовлетворяют граничным условиям **('о) - *ю. xi(T) - */г> ' - 1.-.я , A615) где х|0, х,г, / = 1,. ., л, заданы, т.е. каждая из кривых проходит через две закрепленные граничные точки; в) функции х,(/) при всех te[to,T] удовлетворяют дифференциальным связям ,...9xn(t)) =0, j = l,...,/w, m< n, A6.16) где функции фу^Х!,...^^,...^;),у = 1,...,/я, непрерывно дифференцируемы по всем переменным. Предполагается, что уравнения A6.16) независимы, т.е. rang - дх'„ "' ах; =/п. На множестве М задан функционал т J A6.17) где функция F(tyxXi...jcnjc\y...jcn) имеет непрерывные частные производные до второго порядка включительно по всем переменным. Среди допустимых вектор функций x(t) , принадлежащих множеству М, требуется найти вектор-функцию x*@ = (xj*@,.,xw*@)r» на которой функционал A6.17) достигает экстремума, т.е. Поставленная задача называется задачей Лагра 521
Стратегия поиска решения задачи Стратегия поиска решения задачи опирается на применение необходимого условия экстремума: 6/ = 0 . Задача A6.18) отличается от задачи A6.4) наличием производных х[9...ух'п в уравнениях связи A6.16). Как и в задаче A6.4), выражение для первой вариации функционала имеет вид |Ч ^] A6.19) 5/= JI |Ч -- где вариации 5х,@ не являются произвольными в силу наличия дифференциальных связей A6.16). Связь между вариациями находится путем варьирования уравнений A6.16) при фиксированном значении / е [/<> Л • *Ру = Е 4^**/('> + ? ^Ц-to'M = °> J- U,«. A6.20) i=l dxi Ы\ dxi где частные производные вычисляются на кривой **(/) , на которой достигается экстремум функционала A6.17). Умножая почленно каждое из уравнений в A6.20) на некоторый пока неизвестный множитель Xj(t) и интегрируя в пределах от /0 до Г , получаем A6.21) • Интегрируя каждое слагаемое второго интеграла по частям и учитывая, что 5дс,@) = 6дс,(Г) = 0,/" = 1,...,л (так как границы закреплены), имеем (процедуру интегрирования см. подробнее в разд. 15.1.1) Суммируя A6.22) и условие 57 = 0, где 5/определяется выражением A6.19), получаем JmX dX dt\ ** a^JJ Если ввести обозначение f; A6.24) y где F*(t,x,x\\(t)) называется функцией Лагранжа, a \j(t) - Лагранжа, \(t) = §.\(t),...tXm(t))T, то уравнение A6.23) перепишется в виде 522
\ -JFx'f **/(')<*-0. A6.25) Выберем т множителей X.,(/),...,Хт(/) так, чтобы они вместе с кривой x\t) удовлетворяли т уравнениям Эйлера К, -^;; =0, / = l,...,m. A6.26) Если записать эти уравнения в развернутом виде (см. выражение в фигурных скобках в A6.23)), то они представляют собой систему линейных дифференциальных уравнений относительно \x(t),...,\m(t), которая при сделанных предположениях (см. п. "в" постановки задачи) имеет решение. При таком выборе множителей Лагранжа условие A6.25) принимает вид J X \К~'-^{]**/(')<*-0, A6.27) где вариации 6дст+1@,...,Бхя@ независимы. Полагая все вариации 5х/(/) тождественно равными нулю, кроме какой- либо одной, считающейся произвольной, и применяя основную лемму вариационного исчисления, получаем ?,-^;;=0, 1 = /л + 1,...,л. A6.28) Учитывая A6.26) и A6.28), можно сделать вывод о том, что кривая x*(t) и множители Лагранжа должны удовлетворять системе уравнений Эйлера F*. -—F*. = 0, 1 = 1,...,л. A6.29) Таким образом, из (п + т) уравнений A6.29) и A6.16) с 2л граничными условиями A6.15) находится вектор-функция **(/) = (*i*@»—,*я*@)Г и множители Лагранжа X| (t),..., А.т (/). Сформулируем описанный результат в виде теоремы. Теорема 16.2 (необходимые условия экстремума в задаче A6.18)). Если на вектор-функции x*(t) = (x{\t)f...,xtt\t))T, где х/ЮбСЧРо.Л), удовлетворяющей граничным условиям A6.15) и дифференциальным связям A6.16), функционал A6.17) достигает экстремума, то функции Xi*(t),...,xn*{t) удовлетворяют системе уравнений Эйлера составленной для функционала 323
т JF 'о >=1 Замечания 16.2. 1. На основании теоремы 16.2 решение задачи A6.18) об условном экстремуме функционала сводится к исследованию экстремалей функционала I*[xi(t)9...,xn(t)] при отсутствии уравнений связи. 2. В механике связи вида A6.16) называются неголономными. 3. В общем случае применяется обобщенная функция Лагранжа (см. п.4 замечаний 16.1). Алгоритм применения необходимых условий экстремума в задаче A6.18) 1. Составить функцию Лагранжа где Xj(f), j as 1,..., m, - множители Лагранжа. 2. Записать систему уравнений Эйлера A6.29) и уравнения связи A6.16): .»x;(o)=o, j=u,m. 3. Найти общее решение системы х, =^(^,С1,...,С2я), / = 1,...,л, и выражения для множителей Лагранжа \\(t),...Дж(/). 4. Определить постоянные Сь...,С2п из граничных условий: и выписать выражение для экстремали x*(t) = (xi(f)9...,xn*(t))T. Пример 16.4. Найти экстремаль функционала l2 2 l о удовлетворяющую граничным условиям: l, x2(l) = 2shl 524
и дифференциальной связи х[ - х2 = 0. D 1. Составим функцию Лагранжа. Так как то ТО F\t,x,x'Mt)) = х[2 + х22 +Xl(t)[xl - х2]. 2. Запишем систему уравнений Эйлера и уравнение связи. Так как x|-x2=0. 3. Найдем общее решение системы. Из первых двух уравнений получаем МО = x1 М @ = -2xif; 2x['=-X\(t) = 2xi". Из третьего уравнения х[ = х2, х{ = х2. Тогда 2x|'=2jci =2x2' или Характеристическое уравнение Я,3 - X = Я.(А.2 -1) = 0 имеет корни Х{ = 0, Х.2 = 1, Х3 = -1. Поэтому 525
4. Определим постоянные С],...,С4 из фаничных условий: хх(\) = С^ - С^ + С3 + С4 = 2chl = 2 ~—, ч + С3 = 2shl = 2 .^у—. Отсюда Cj =1, С2=-1, С3 =С4=0. В результате получаем экстремаль х*(/) = (*1*@»*2*@)Г: При этом МО = - 2х2@ = - Ъ? + 2е~' М Пример 16.5. Найти экстремаль функционала /[*i@,*i<01 - Jt^i2(O + 2х[2(/) + x'22(t))dt, о удовлетворяющую граничным условиям: и дифференциальной связи х\ - х2 = 0. D 1. Составим функцию Лагранжа. Так как F(t9x,x) = X!2 +2xJ2 +x22, 9i(/9x,x') = xj -x2, m = 1, то f*(/,x,x'A(f)) = xj2 + 2х;2 + х^2 + XjW• [х; -х2]. 2. Запишем систему уравнений Эйлера и уравнение связи. Так как —МО. то 526
x[-x2=0. 3. Найдем общее решение системы. Начиная с третьего уравнения, имеем *2 = Х\, ДС2 = Xj , Х,(/) = -2X2 = -2х|',' X\(t) = -2х/4), 2jc, -4jc|'+ 2x,D) = 0 или Характеристическое уравнение X4 - 27? +1 = (А,2 -1J = 0 имеет кратные корни Х{ = 1, к = 2; Я.2 = -1, /г = 2, где & - кратность. Тогда общее решение однородного уравнения имеет вид [33] : *1<0 = № +С2/) • +(С3 Поэтому x2(t) = x[(t) = (Ci+C2t 4. Определим постоянные Ci,...,C4 из граничных условий: *1<0)-С,+Сз-1, Отсюда С| =0, С2 «1, С3 = 1, С4 = 0. В результате получаем экстремаль **(/) = (*i*(f),x2*(/))r» тс* При этом А,! (О * -2x2(О = -2(/ + 3) е* + 2с .¦ Пример 16.6. Найти экстремаль функционала 527
удовлетворяющую граничным условиям: xrfO) «1, х2@) = -1, x^j.^+i, x2^ = i—1, и дифференциальной связи х[ + х2 - 4Г = 0. D 1. Составим функцию Лагранжа. Так как ') = х[2 F(t,x,x') = х[2 + х^2 + 2xjX2, ф!(/,х,х') = х\ + х2 -4*, т = 1, то F* (Г, х, *', Х(/)) = х\2 + х22 + 2ххх2 + h @ • [х[ +х2- 4/]. 2. Запишем систему уравнений Эйлера и уравнение связи. Поскольку TO x[+x2-4t=Q. 3. Найдем общее решение системы. Вычитая из второго уравнения первое, получаем Обозначая z = х{ - х2, имеем z" + z - 0. Так как характеристическое уравнение X.2 +1 = 0 имеет корни Х.12 = ± /\ то г@ = С{ cos ^ + С2 sin / = Xj (/) - х2@. Продифференцируем левую и правую части полученного равенства: Так как из третьего уравнения системы х2 = 4/ - xj, то - С\ sin / + С2 cos t = xj (/) - 4/ + хj = 2x| - 4/. Отсюда х{ @ = 2/ —L sin / + —2. COs /. Интегрируя, получаем 528
С С4 х, (/) = t2 + -у cos / + -^-sin t + C3, X2@ = xl(t)-Cl cosf-C2sinf = /2 — 4. Определим постоянные СЬС29 С3 из граничных условий: Отсюда С{ = 2, С2 = 2, С3 = 0. В результате получаем экстремаль = (xi*@,x2*(/))r, т.е. xx*(t) = t2 + cos/ + sin/, x2*(/) = /2 - cos/ - sin / .¦ Задачи для самостоятельного Найти экстремали функционалов. 1 Ответ: Xj (/) = /, х2(/) = 1. *г »2 ^; о Ответ: х{(t) = -sin /, x2(/) = i(sin/ - /cost). Г '2 'J о x,@) Ответ: xx (t) = -sin f, x2(/) = -(/cos t - sin 0. 34 — 4751 529
16.3. ЗАДАЧИ НА УСЛОВНЫЙ ЭКСТРЕМУМ С ИНТЕГРАЛЬНЫМИ СВЯЗЯМИ. ИЗОПЕРИМЕТРИЧЕСКИЕ ЗАДАЧИ Постановка задачи Рассмотрим множество М допустимых вектор-функций x(t) = = (x{(t)9...9xH(t))T, удовлетворяющих следующим условиям: а) функции х,@ определены и непрерывно дифференцируемы на отрезке [го,Г], где tQ,T заданы, т.е. х#)еС1([Г0,Т])9 / = 1,...,л; б) функции Xj(t) удовлетворяют граничным условиям дс|Т, i = l,...,/i, A6.30) где х/0, xiT, / = 1,..., п, заданы, т.е. каждая из кривых хДг) проходит через две закрепленные граничные точки; в) функции Xjit) удовлетворяют интегральным связям т \ A6.31) где функции Fj(t9x{>...,xn9xu...,x'n) непрерывно дифференцируемы по всем переменным, Lj - заданные числа. Количество интегральных связей m может быть меньше, равно или больше п. На множестве М задан функционал т /[*1@,..,хй(/)]= f F(t9x{(t)9^xn(t)tx[(t)9...txtt(t))dt9 A6.32) где функция /r(/,jc,,...,xn,xj,...,xj1) имеет непрерывные частные производные до второго порядка включительно по всем переменным. Среди допустимых вектор-функций x(t), принадлежащих множеству М, требуется найти вектор-функцию **(/) = (xf (О*—>x*(t))T y на которой функционал A6.32) достигает экстремума, т.е. extr \F(t,xl(t),...,xH(t),xx(f),...,x>n{t))dt- A6.33) Стратегия поиска решения задачи Рассматриваемая задача может быть сведена к задаче, описанной в разд. 16.2, путем введения новых неизвестных функций. 530
Введем следующие обозначения: Тоща Z;(/0) = 0, Zj(T) = LJ9 j = l,...,m. Дифференцируя Z;(/) по /, получаем Тем самым интегральные связи A6.31) заменены дифференциальными вида и граничными условиями Zj(to) = O,Zj(T) = Lj, у = 1,...,/я. Поэтому для решения задачи воспользуемся алгоритмом, изложенным в разд. 16.2 : а) составим функцию Лагранжа: Г&х9х\Щ) = F(t,x,x)+ f; Xy(O-[Fyftx,xf)-Z;]. б) запишем систему уравнений Эйлера: *•;,-~*-;;= о, i=i,...,/i, Из второй группы уравнений следует —Xj@ = 0 или Xj(t) = Я.у = const, j = 1,..., т . Первые /I уравнений совпадают с уравнениями Эйлера для функционала (с учетом того, что все Xj постоянны) Т J i6 L У-1 Сформулируем изложенный результат в виде теоремы. Теорема 16.3 (необходимые условия экстремума в задаче A6.33)). Если на вектор-функции x*(t) = (xl(t),...X(*)f, где x*(t) e C{([t0,T])f удов- летворяющей граничным условиям A6.30) и интегральным связям A6.31), функционал A6.32) достигает экстремума, то функции xi(t),...,x*(t) удовлетворяют системе уравнений Эйлера 34* 531
составленной для функционала 7- J[ Замечания 16.3. 1. Интегральные связи A6.31) не накладывают столь жестких ограничений, как дифференциальные или конечные связи. Например, из условий типа A6.31), вообще говоря, нельзя выразить некоторые из функций jq (/),..., хя (г) через остальные. Поэтому число интегральных связей не обязательно должно быть меньше п. 2. Изопериметрическими задачами в узком смысле называются задачи об отыскании геометрической фигуры максимальной площади при заданном периметре. В настоящее время к изопериметрическим относят значительно более общий класс задач A6.33). 3. В общем случае применяется обобщенная функция Лагранжа (см. п.4 замечаний 16.1). Алгоритм применения необходимых условий экстремума в задаче A6.33) 1. Составить функцию Лагранжа F*(t9x9x9k) = /*(/,х,х) + X kj •/)(/, х,х'), где kj9 j = l,...,/w, - множители Лагранжа (постоянные). 2. Записать систему уравнений Эйлера и уравнения связи A6.31): т J /}(/,х1(о,...,хя(/)эх;(/),...,х;(/))л = lJ9 j = i,...,w. 'о 3. Найти общее решение системы х, =х|(*,С1,...,С2я), / = 1,...,л и выражения для множителей Лагранжа k\9...9km. 4. Определить постоянные Сь...,С2п из граничных условий: Xi(tQ9Cu...,C2n) = х/0, i = 1,...,л, x,(rfClf...,C2jI)-xir, / = 1,...,л. Выписать выражение для экстремали x*(t) * (xf (/),...,x*n(t))T. 532
Пример 16.7. Найти экстремаль функционала о удовлетворяющую граничным условиям х@) = 1, хA) = 6 и интегральной связи о ? 1. Составим функцию Лагранжа. Так как F « х 2, т = 1, F\ = x, то /*(/,дс,х',Х) = х'2 + Х-дс, где индекс "Г* у множителя Xj для упрощения записи здесь и далее в задачах с одной интегральной связью опущен. 2. Запишем уравнение Эйлера и уравнение связи. Поскольку F* = X, * t d • м . 1 /*; --2-F* = X -2х" = 0, f x(t)dt = 3. Ш X. •*• О 3. Найдем общее решение уравнения и выражение для X. Имеем п X , X г X/2 2* 2 Ь 4 oL-r j A2 2 012 2 4. Определим СЬС2,Х из граничных условий и уравнения связи: *<0) = С2=1, Отсюда С2=1, X. 5-С, 5-С, С, В результате получаем экстремаль x*(f) = 312 + 2/ +1. 533
Пример 16.8. Найти экстремаль функционала 1С /[*(*)]= J*@ sin/Л, о удовлетворяющую граничным условиям х@) = 0, х(п) = я и интегральной связи Jx (t)dt-—. D 1. Составим функцию Лагранжа. Так как F = xsinf, F{ = х'2, то 2. Запишем уравнение Эйлера и уравнение связи. Поскольку F* =sin/, F*.=2\x\ 4'K=2Xx">TO at /г;_^;,=8ш,_2Хх" = 0 или at ^ 3. Найдем общее решение уравнения Эйлера и выражение для к. Дважды интегрируя левую и правую части дифференциального уравнения, получаем Из уравнения связи имеем *с\ 2 Qcosf t sin2/ 8X2 16Л2 тс 8A.2 2 4. Определим СЬС2Д из граничных условий и уравнения связи: х@) = С2=0, х(п) = 1 8?i2 2 Отсюда С2=0, Q=l, X2=i X = ±i. 4 2 В результате получаем экстремали х{ (/) = - sin t + r, xj (/) = sin / + г. 534
Пример 16.9. Найти экстремаль функционала J2 удовлетворяющую граничным условиям х@) = 0, хA) = 5 и интефальной связи 1 jtx(t)dt = l. о о '2 ? 1. Составим функцию Лагранжа. Так как F = х'2, F{ = tx, то F*(t,x,x,X) = x2 +Я./Х. 2. Запишем уравнение Эйлера и уравнение связи. Поскольку F* = X /, 1 J О 3. Найдем общее решение уравнения Эйлера и выражение для X. Имеем х"@ 60 3 2 4. Определим С[,С2,Х из граничных условий и уравнения связи: *@) = С2=0, 60 3 2 Отсюда С2 = 0, Cj = 0, X = 60. В результате получаем экстремаль = 5/3. ¦ 535
Пример 16.10. Найти экстремаль функционала , х\ ~ = 0 и удовлетворяющую граничным условиям х@) = 1, х\ ~ = 0 и интегральной связи 1С \2x(t)dt = L о D 1. Составим функцию Лагранжа. Так как F = х'2 - 9х2, F\ = 2х, то Fm(t9xtx,X) = х2 -9х2 + X • 2х. 2. Запишем уравнение Эйлера и уравнение связи. Поскольку F; = -18* + 2А., /5 = 2х9 4-Fx' = 2х"> то ш я И ^ /У -—Fy = -18x + 2Х - 2х" = 0 , f 2x@* = 1. * о 3. Найдем общее решение уравнения Эйлера и выражение для X. Имеем х" + 9х = Х. Так как характеристическое уравнение А? + 9 = 0 имеет корни Х{у2 = ± 3/, то общее решение однородного уравнения х" + 9х = 0 имеет вид = Сх cos3r + C2 sin 3/. Частное решение неоднородного уравнения ищем в форме x4(t) = A. щьтате подстановки в уравнение получаем А = — Тогда общее решение неоднородного уравнения В результате подстановки в уравнение получаем А = — или x4(t) = —. xo(t) + x4(t) = Cj cos3f + C2 sin3/ + -. Из уравнения связи 27 536
4. Определим С19С2Д из граничных условий и уравнения связи: 2С, 2С, Хя , 1 Ti-5 9 Отсюда С2 = , С\ = -, Х = -. В результате получаем я-4 71-4 тс —4 экстремаль х'СН^^тсовЗ/ ~-sin3/ + —Ц-. ¦ я-4 тс-4 я-4 Пример 16.11. Найти экстремаль функционала l[x(t)]=\x'2(t)dt9 о удовлетворяющую граничным условиям х@) г хA) = 0 и интегральным связям 1 1 о о ? 1. Составим функцию Лагранжа. Так как F = x2, /г1=дс, F2=/x, т = 2, то 2. Запишем уравнение Эйлера и уравнения связей. Поскольку at 3. Найдем общее решение уравнения Эйлера и выражения для Хь Х2. Имеем * W= 2 + 2 ' Х()= 2 + Из уравнений связей получаем ^ / ч ^1 ^ ^2 ^ ^ 537
16 60 3 2 о ~"l6 + 60+3+2~* 4. Определим СиСъХх Д2 из граничных условий и уравнений связи: + + 12 48 2 16 60 3 2 Отсюда С, = 36, С2 =0, Хх = -384, Я,2 = 720. В результате получаем экстремаль x*(t) = 60 f3 -96/2 +36/. ¦ Пример 16.12. Найти экстремаль функционала удовлетворяющую граничным условиям jt!@) = x2@) = *|A) = 0, х2A) = 1 и 1 1 интегральным связям J xx (t) dt = l, J x2(t)dt = 0. о о ? 1. Составим функцию Лагранжа. Так как F = х[ х2, F\ = хь F2 ¦ х2, то • JC2 . 2. Запишем систему уравнений Эйлера и уравнения связей. Поскольку 538
J / О О 3. Найдем общее решение системы и выражения для Х.ь Хг. Имеем 4. Определим С,,...,С4Д1 Д2 из граничных условий и уравнений связей: *i@) = C4=0, *2@)=С2=0, = 0. 6 2 Отсюда Сх = -2, С2=С4= 0, С3 =6, A.j ж 6, Х2 = -12. В результате получаем экстремаль **(') = (*Г@,*2('))Г. где Пример 16.13. Среди кривых длины / = 10arcsin-, соединяющих точки А(-3;0) и 2?C;О) и лежащих выше оси абсцисс, определить ту, которая вместе с отрезком АВ этой оси ограничивает наибольшую площадь. ? Формализуем задачу. Площадь, ограниченная кривой x(t) и отрезком АВ, вычисляется по формуле /[*(')]= \x(t)dt, -3 539
где x(t) удовлетворяет граничным условиям х(-3) = хC) = 0 и интегральной з J з . 3 связи J у1 + х 2@ dt ш L ж 10arcsin-. -з 5 Требуется найти максимальное значение функционала /[*(/)]. 1. Составим функцию Лагранжа. Так как F = х, F{ = V1 + х 2, то 2. Запишем уравнение Эйлера и уравнение связи. Так как F* не зависит от / явно, то уравнение имеет первый интеграл: р* "Г г Г /if т'2 т' кх или jc-Cj: X 1 + х'2 Зг У ГТ- 3 IV1 + х (/) dt = 10 arcsin—. -з 5 3. Найдем общее решение. Для этого введем параметр х = tgx. Тогда х-С{ =-Xcosx, — = tgx. Из последнего уравнения получаем dt-—. Но из x-Cj =-Xcosx tgx имеем dx = Xsm.xdx. Поэтому dt- — = =Xcosxdx. Отсюда tgx tgx t = X sin x + C2 и в результате получаем уравнение семейства экстремалей в параметрической форме: t — С2 = X sin х, x-Ci =-A,cosx. Исключая параметр х, имеем уравнение окружности 4. Определим СЬС2,Х из граничных условий и уравнения связи. Получаем С,2+(-3-С2J=А,2, Вычитая из второго уравнения первое, находим C-С2J-(-3-С2J=-12С2=0 или С2=0. 540
Учитывая, что С2 = 0 и искомая область лежит над осью абсцисс, преобразуем уравнение окружности *(*) = Сх ± Jk2 -t2 , х 10. Найдем x(t) = ^-7= з I ^2 3 1 / Ы1+-Т—ТЛ= f i <ft = >,arcsin- _3l А. -/ _3VX.2-r Л Отсюда Х = 5, С!2+9 = 25, ^=±4. и подставим в интегральную связь: 3 -3 2Х arcsin — = 10 arcsin—. Рис. 16.1 В результате получаем уравнения двух окружностей (экстремалей): Второй из них соответствует площадь, изображенная на рис. 16.1. На ней достигается максимум функционала в решаемой задаче. Первой экстремали соответствует область под осью абсцисс. ¦ Задачи для самостоятельного решения Найти экстремали функционалов. Ответ. 2. I[x(t)]= \x>2(t)dtf x@) = 0, о \tx(t)dt 541
Ответ: *•(/).|/3-2*. 3. l[x(t)] = ]x'2(t)dt9 jc(O) = O, х(я) = 1, о Ответ: х* (t) = - (/ - 2 sin /). 4. /[*(*)] =* J*'2@*, х@) = 0, хA) = 2, f x2(t)dt = 4. о о Ответ: х*(*) = —. shl 5. [()] о Ответ: jcf(/ 6. I[x(t)]-i J х'2(/)Ж, х@) - x(l) = 0, J/х'(/)Л = 2. 20 0 l l 7. /[*(/)] = Jx 2(t)dt9 x@) = x(l) = 0, Jx(t)dt = -1. о о Ответ: x*{t) = 6/ (/ -1). l 8. /fo<0,*2(/)] = J x|@*J(I)* *i@) = x2@) = x,0) = 1, x2(l) = 1, 0 jtXl(t)dt = O, \tx2(t)dt = O. о о Ответ: x*{(t) -0, xJ(O = -/3 -2/. l 9. /fo@,*2«]- f /h@ -х2@]Лр *i(O) = x2@) = x2(l) = 0, x{(\) = 2, о J7 0 D Ответ: x{(t) = -t3 +3/, xjW88^3-' и 10. [()] Ответ: экстремали нет.
ЛИТЕРАТУРА 1. Акулич И.Л. Математическое программирование в примерах и задачах. - М.: Высшая школа, 1986. 2. Алексеев В.М., Галеев Э.М., Тихомиров В.М. Сборник задач по оптимизации. - М.: Наука, 1984. 3. Аоки М. Введение в методы оптимизации. - М.: Мир, 1977. 4. Базара М., Шетти К Нелинейное программирование. Теория и алгоритмы. - М.: Мир, 1982. 5. Банды Б. Методы оптимизации. Вводный курс. - М.: Радио и связь, 1988. 6. Банды Б. Основы линейного программирования. - М.: Радио и связь, 1989. 7. Бертсекас Д. Условная оптимизация и методы множителей Лагранжа. - М.: Радио и связь, 1987. 8. Васильев Ф.П. Численные методы решения экстремальных задач. - М.: Наука, 1980. 9. Волгин Л.Н. Принцип согласованного оптимума. - М.: Сов. Радио, 1977. 10. Габасов Р., Кириллова Ф.М. Методы оптимизации. - Минск: Изд-во БГУ, 1981. 11. Гельфанд ИМ., Фомин СВ. Вариационное исчисление. - М.: Физматгиз, 1961. 12. Гилл Ф., Мюррей У., Райт М. Практическая оптимизация. - М.: Мир, 1985. 13. Гноенский Л.С., Каменский Г.А., Эльсгольц Л.Э. Математические основы теории управляемых систем. - М.: Наука, 1969. 14. Гюнтер М.Л., Кузьмин P.O. Сборник задач по высшей математике. - М.: Наука, 1951. 15. Данко П.Е., Попов А.Г., Кожевникова Т.Я. Высшая математика в упражнениях и задачах: Учеб. пособие для студентов втузов. В 2-х ч. Ч. И.- М.: Высшая школа, 1986. 16. Демьянов В.Ф., Васильев Л.В. Недифференцируемая оптимизация. - М.: Наука, 1983. 17. Дэннис Дж., Шнабелъ Р. Численные методы безусловной оптимизации и решения нелинейных уравнений. - М.: Мир, 1988. 18. Евтушенко Ю.Г. Методы решения экстремальных задач и их применение в системах оптимизации. - М.: Наука, 1982. 19. Жиглявский А.А., Жилинскас А.Г. Методы поиска глобального экстремума. - М.: Наука, 1991. 20. Карр Ч, Хоув Ч. Принятие количественных решений в экономике. - М.: Мир, 1966. 21. Карлин С. Математические методы в теории игр, программировании и экономике. -М.: Мир, 1964. 543
22. Карманов В.Г. Математическое программирование. - М: Наука, 1975. 23. Карташов Л.П., Рождественский Б.Л. Обыкновенные дифференциальные уравнения и основы вариационного исчисления. - М: Наука, 1986. 24. Краснов М.Л., Макаренко Г.И., Киселев А.И. Вариационное исчисление. - М.: Наука, 1973. 25. Лесин В.В., Лисовец Ю.П. Основы методов оптимизации. - М.: Изд-во МАИ, 1995. 26. Летова Т.А., Пантелеев А.В. Экстремум функций в примерах и задачах. - М.: Изд-во МАИ, 1998. 27. Мак Кинси Дж. Введение в теорию игр. - М.: Физматгиз, 1960. 28. Мину М. Математическое программирование. Теория и алгоритмы. - М.: Наука, 1990. 29. Моисеев Н.Н., Иванилов Ю.П,, Столярова КМ. Методы оптимизации. - М.: Наука, 1978. 30. Пантелеев А.В. Вариационное исчисление в примерах и задачах. - М.: Изд-во МАИ, 2000. 31. Пантелеев А.В., Бортаковский А.С. Теория управления в примерах и задачах. - М.: Высшая школа, 2002. 32. Пантелеев А.В., Бортаковский А.С., Летова ТА. Оптимальное управление в примерах и задачах. - М.: Изд-во МАИ, 1996. 33. Пантелеев А.В., Якимова АС, Босов А.В. Обыкновенные дифференциальные уравнения в примерах и задачах. - М.: Высшая школа, 2001. 34. Поляк Б.Т. Введение в оптимизацию. - М.: Наука, 1983. 35. Пшеничный Б.Н., Данилин Ю.М. Численные методы в экстремальных задачах. - М.: Наука, 1975. 36. Реклейтис Г., Рейвиндран А., Рэгсдел К Оптимизация в технике. Т. 1 и 2, в 2-х т. - М.: Мир, 1986. 37. Сборник задач по математике для втузов. Методы оптимизации. Уравнения в частных производных. Интегральные уравнения / Под ред. А.В. Ефимова. - М.: Наука, 1990. 38. Сборник задач по математике для втузов. Специальные курсы / Под ред. А.В. Ефимова. - М.: Наука, 1984. 39. Сухарев А.Г., Тимохов А.В., Федоров В.В. Курс методов оптимизации. - М.: Наука, 1986. 40. Федоров В.В. Численные методы максимина. - М.: Наука, 1979. 41. Фиакко А., Мак-Кормик Г. Нелинейное программирование. Методы последовательной безусловной минимизации. - М.: Мир, 1972. 42. Химмельблау Д. Прикладное нелинейное программирование. - М.: Мир, 1975. 43. Численные методы условной оптимизации / Под ред. Ф. Гилла, У. Мюррея. - М.: Мир, 1977. 44. Эльсгольц Л.Э. Дифференциальные уравнения и вариационное исчисление. - М.: Наука, 1969. 544