Лекции по методам оптимизации Учебное пособие В пособии описаны различные методы решения задач безусловной оптимизации функций многих переменных, задачи нелинейного программирования при ограничениях типа неравенств Министерство образования и науки Российской федерации Федеральное государственное бюджетное образовательное учреждение высшего образования "Карачаево-Черкесский государственный университет имени У.Д. Алиева" Физико-математический факультет Кафедра информатики и вычислительной математики Лекции по методам оптимизации Учебное пособие В пособии описаны различные методы решения задач безусловной оптимизации функций многих переменных, задачи нелинейного программирования при ограничениях типа неравенств Пособие подготовлено для студентов, обучающихся по направлению подготовки: 01.03.02 «Прикладная математика и информатика», направленность подготовки (профиль): «Прикладная математика и информатика» и 09.03.03 «Прикладная информатика», направленность подготовки (профиль) «Прикладная информатика в экономике» Квалификация: бакалавр 2 СОДЕРЖАНИЕ ......................................................................................................... Тема 1.Основные понятия и определения ............................................................ 4 Тема 2. Постановка задачи оптимизации ............................................................. 8 Тема 3. Задачи поиска безусловного экстремума ФМП ................................... 11 Тема 4. Прямые методы поиска безусловного экстремума ФМП ................... 14 Тема 5. Методы второго порядка ........................................................................ 27 Тема 6. Задачи нелинейного программирования при ограничениях типа равенств .................................................................................................................. 29 Методические указания решения задач нелинейного программирования ..... 39 Список литературы ............................................................................................... 51 3 Тема 1.Основные понятия и определения Рассмотрим f ( X ) - функция многих переменных, здесь X ( x1 ,..., xn ) T вектор переменных. Множество допустимых решений, на котором ищется решение задач, обозначается - X . Определение 1. Поверхностью уровня функции геометрическое место точек, такое что f (X ) называют f ( X ) С const . В случае 2-х переменных поверхность уровня называют линий уровня. Определение 2. Линия уровня функции f ( x1 , x2 ) - спроецированная на плоскость переменных x1 , x2 сечение графика функции плоскостью f ( X ) С const . Для построения линий уровня функции f ( X ) через заданную точку X 0 ( x10 , x20 ) необходимо вычислить значение функции в точке f ( X 0 ) C0 , затем записать уравнение линии уровня – уравнение плоской кривой в неявном виде f ( X ) C0 и построить соответствующий график. Пример 1. Построить линию уровня функции f ( X ) x12 x22 , проходящую через точку X 0 (3,4) . 4 Последовательность действий: 1. Вычислим значение функции в точке f ( X 0 ) 32 4 2 25 . 2. запишем уравнение линии уровня: x12 x22 25 - это уравнение окружности с центром в точке (0,0) и радиусом 5 . 3. Построим чертеж линии уровня. Определение 3. Градиентом функции многих переменных f (X ) называется вектор, составленный из первых частных производных функции по всем переменным: f f f f ( X ) , ,..., xn x1 x2 T Градиент – это вектор – столбец размерности (n 1) , где n - число переменных функции. Свойства градиента: (1) Градиент функции перпендикулярен касательной к линии уровня функции f ( X ) ; (2) Направление градиента есть направление наиболее быстрого роста функции. Для построения градиента функции двух переменных f ( X ) в заданной точке X 0 ( x10 , x20 ) необходимо: 5 найти частные производные функции f ( X ) и записать градиент T f f функции f ( X ) , ; x1 x2 вычислить значения частных производных функции в точке X 0 и составить полученный вектор градиента T f f ; f ( X 0 ) , x1 0 x 0 2 x x x x построить полученный вектор на координатной плоскости из точки (0,0) и затем перенести его в заданную точку X 0 . Пример 2. Построить градиент функции f ( X ) x12 3x22 в точке X 0 (0.5,0.5) . Последовательность действий: 1. Построим линию уровня функции в точке Получим f ( X 0 ) 0.52 3 0.52 1 , значит, уравнение линии уровня: X 0 (0.5,0.5) . x12 3x22 1 - это уравнение эллипса с центром в точке (0,0) . 2. Составим градиент функции. Получим 3. f f 2 x1 ; 6x2 , следовательно f ( X ) (2 x1 ,6 x2 )T . x1 x2 Вычислим значение частных производных функции в точке X 0 (0.5,0.5) : f x1 f x2 2 0.5 1 x 0 6 0.5 3 x 0 Следовательно f ( X 0 ) (1,3)T . 4. Построим полученный вектор на координатной плоскости из точки (0,0) и затем перенесем его в заданную точку X 0 . 6 Определение 4. Матрицей Гессе называется квадратная матрица, составленная из вторых частных производных функции f ( X ) по всем переменным, матрица имеет размерность (n n) , где n - число переменных функции: 2 f 2 x1 2 f H ( X ) x x 2 1 ..... 2 f x x n 1 Определение 5. Собственные 2 f 2 f x1 x2 ...... x1 xn 2 f ..... 2 f x22 ..... x1 xn ..... ..... 2 f ..... 2 f xn x2 xn2 числа матриц A- это корни характеристического уравнения вида: det( A E ) 0 7 Определение 6. положительно положительны определенной A 0 j 0 Матрица отрицательно отрицательны A называется определенной A 0 если собственные положительно полуопределенной A 0 числа j 0 неотрицательны j 0 отрицательно неположительны полуопределенной A 0 j 0 знаконеопределенной Разного знака A 0 Критерий Сильвеста (критерий знакоопределенности матрицы). Матрица a11 a12 ... a1n a21 a22 ... a2 n A ... ... ... ... a a ... a nn n1 n 2 является положительной, если все ее диагональные миноры положительны: отрицательно определенной, если они чередуют знак, начиная с «-». Здесь диагональные миноры: a11 a12 ... a1n 1 а11 2 a11 a12 a21 a22 .... n a21 a22 ... a2 n ... ... ... ... an1 an 2 ... ann Тема 2. Постановка задачи оптимизации Постановка задачи оптимизации подразумевает: 1. Формулировку цели, ради которой ставится задача. 2. Определение критерия отбора путей достижения цели. 3. Задание множества путей достижения цели: множества допустимых решений (МДР). 8 Задание оптимизации формулируется следующим образом: найти среди всех путей, ведущих в цели, наилучший, для которого критерий принимает оптимальное значение. Пример. Рассчитать оптимальные размеры цилиндрического контейнера для размещения радиоаппаратуры, при условии что площадь поверхности контейнера задана. Цель: Рассчитываемый контейнер должен обладать наибольшим (максимальным) объемом. Критерий: V S осн h R 2 h max , где R и h - неизвестны и должны быть определены. МДР: S пов 2 S осн S бок 2 R 2 2 R y L , где L - известная заданная величина. Как правило множество допустимых решений содержит огромное (чаще бесконечное) число возможных путей решения задач (в примере – это различные значения R и h , удовлетворяющих условию S пов L ), поэтому перебор, как способ решения, автоматически исключается, и возникает необходимость в оптимизационных применении методов, которые специальных работают математических с определенными математическими моделями задач. В данной работе будут рассматриваться так называемые задачи математического программирования. Постановка задачи математического программирования: 1. Задается целевая функция многих переменных X ( x1 ,..., xn ) T , определенная на n -мерном f (X ) , евклидовом пространстве R n . 2. Определяется критерий: най2ти минимальное значение функции, максимальное значение функции, найти значение переменных, при котором функция примет конкретное значение и т.д. 9 3. Задается МДР: X Rn , среди элементов которого осуществляется поиск решения. Таким образом, задача математического программирования формулируется следующим образом: найти такой вектор X из множества допустимых решений X , которому соответствует требуемое, с точки зрения цели, значение функции на этом множестве: Определение 1. Точка X X называется точкой локального минимума (локальный максимума) функции f ( X ) , если найдется 0 , такое что: f ( X * ) f ( X ) при X X * ( f ( X * ) f ( X ) при X X * ) . Определение 2. Точка XX называется точкой глобального минимума (глобального максимума) f ( X ) на X , если: f (X *) f (X ) X X ( f ( X * ) f ( X ) X X ) На рисунке точки x1 и x 4 являются точками локальных минимумов; точка x 3 - локальный максимум. кроме того, точка x 4 является также и глобальным минимумом. Определение 3. Задача поиска всех минимумов и максимумов целевой функции называется задачей поиска экстремума. Решением задачи поиска экстремума являются пары ( X * , f ( X * )), включающие точки и значение целевой функции в них. 10 Множество точек экстремума может содержать конечное число точек (в том числе и одну), бесконечное число точек или быть пустым. Если множество допустимых решений задается ограничениями (условиями), накладываемым на вектор X * , то решается задача поиска условного экстремума. Если, ограничения (условия) на вектор X* отсутствуют, решается задача поиска безусловного экстремума. Замечание. Задачи поиска максимума функции f ( X ) сводится к задачам поиска минимума путем замены знака перед функцией на противоположный: f ( X * ) max f ( X ) min[ f ( X )] . Тема 3. Задачи поиска безусловного экстремума ФМП Задачи поиска безусловного экстремума имеют огромное значение в теории оптимизации, т.к. большинство задач на условный экстремум сводятся, путем замены целевой функции, к задачам поиска безусловного экстремума. Теорема о необходимых условиях экстремума (НУ). Если точка X * является точкой безусловного локального экстремума (минимума или максимума) f ( X ) , и функция f ( X ) непрерывно дифференцируема в ней, то f ( X 0) . Замечание. Точки, в которых выполняются необходимые условия безусловного экстремума функции, f ( X 0) называются стационарными точками функции, среди них могут быть минимумы, максимумы, а также другие точки, не являющиеся экстремумами функции. Теорема о необходимых условиях экстремума 2-го порядка (НУ 2го порядка). Если точка X * является точкой безусловного локального минимума (максимума) f (X ) , и функция f (X ) дважды непрерывно дифференцируема в ней, то H ( X * ) 0 ( H ( X ) 0). 11 Теорема о достаточных условиях безусловного экстремума (ДУ). Если функция f ( X ) дважды непрерывно дифференцируема в X * , f ( X ) 0 и H ( X * ) 0 , то X * - точка локального максимума функции f ( X ) . Алгоритм решения задачи на безусловный экстремум с использованием необходимых и достаточных условий. Необходимые условия экстремума 1. Записать градиент функции f (X ) : T f ( X ) f ( X ) f ( X ) ,..., xn x1 2. Записать необходимые условия безусловного экстремума – составить систему алгебраических уравнений вид: f ( X ) 0, x i 3. Найти i 1,..., n . стационарные точки функции X*, решив 4. Составить матрицу Гессе H ( X ) . 5. Вычислить матрицу Гессе в точках X * . 6. Проверить знакоопределенность матрицы H ( X * ) для каждой точки: H ( X * ) 0 - X * - локальный минимум функции (ДУ) H ( X ) 0 - X * - локальный максимум функции (ДУ) H ( X * ) 0 - требуется дополнительная проверка на локальный минимум функции (НУ 2-го порядка) 2-го порядка Достаточные условия экстремума и необходимые условия полученную систему. H ( X * ) 0 - требуется дополнительная проверка на локальный максимум функции (НУ 2-го порядка) H ( X * ) 0 -в точке X * нет экстремума. Исследование знакоопределенности матрицы H ( X * ) : 12 H ( X * ) 0 - либо по критерию Сильвестра, либо на основании определения ( все j 0 ) H ( X * ) 0 - либо по критерию Сильвестра, либо на основании определения (все j 0 ) H ( X * ) 0 - на основании определения (все j 0 ), либо из условия, что все главные миноры матрицы неотрицательны. H ( X * ) 0 - на основании определения (все j 0 ),либо из условия, что все главные миноры матрицы неположительны. H ( X * ) 0 - на основании определения ( j разных знаков). Пример 1. Дано: f ( X ) 3x13 x22 9 x1 4 x2 extr Решение: 1. f f 2 x2 4 9 x12 9 x2 x1 f ( X ) (9 x12 9;2 x2 4)T 9 x12 9 0 2 x2 4 0 2. 3. Решаем систему: x1 1 9 x 9 0 x 1 0 x2 2 2 x2 4 0 x2 2 x1 1 x2 2 2 1 2 1 Таким образом получены 2 стационарные точки функции: A (1,2); B (1,2) 4. 2 f 2 f 2 f 0 18x 1 x1x2 x2 x1 x12 18 0 0 2 5. H (A) 18 x 2 f 2 H ( X ) 1 2 x1 0 0 2 18 0 H (B) 0 2 6. Исследуем знакоопределенность матриц по критерию Сильвестра: 13 В точке A : 1 18 0 2 18 2 0 36 0, значит H ( A) 0, следовательно, A - локальный минимум. В точке B : 1 18 0 2 18 2 0 36 0, значит не выполняются достаточные условия экстремума. Проверим необходимые условия экстремума 2-го порядка, вычислив собственные числа: 18 0 0 0 (18 ) (2 ) 0 0 1 18 0 2 2 0 2 Значит матрица H ( B) 0 , следовательно в B экстремума нет. Тема 4. Прямые методы поиска безусловного экстремума ФМП Решение задачи о поиске безусловного экстремума f ( X ) с помощью необходимых и достаточных условий, приводит к необходимости решить систему n нелинейных уравнений с n неизвестными, с последующей проверкой знакоопределенности H ( X * ) . Как правило, для достаточно сложных функций такая процедура решения задачи достаточно трудоемка и подразумевает численное решение нескольких задач. Поэтому возникает необходимость использовать так называемые прямые или численные методы безусловной оптимизации, которые позволяют найти стационарные точки функции, не используя аппарат необходимых и достаточных условий экстремума. Замечание. Во всех прямых методах рассматривается задача о поиске минимума функции f ( X ) , задача поиска максимума функции f ( X ) может быть решена заменой целевой функции на f ( X ) . Все прямые методы ищут точки как предел последовательности точек X k при k . Определение 1. минимизирующей, если Последовательность lim f ( X k X k называется ) f ( X ) , т.е. последовательность сходится k к нижней грани функции f ( X ) . 14 Не всякая минимизирующая последовательность дает возможность найти искомую точку минимума. Определение 2. Последовательность X k называется сходящейся к точке минимума, если lim X k X . k Все прямые методы имеют один и тот же алгоритм: X k 1 X k t k d k , где X k - текущая точка последовательности, причем X 0 - задается из физического содержания задачи или произвольно; X k 1 - последующая точка последовательности; d k - приемлемое направление перехода из точки в точку – направление спуска. Приемлемым при решении задач поиска функции будет f ( X k 1 ) f ( X k ) , только что то направление, обеспечивается для выполнением которого условия (f ( X k ), d k ) 0; t k - шаг (число 0 ). Процесс преобразования точки X k в точку X k 1 называется итерацией, а сам процесс построения последовательности точек по определенному правилу, оканчивающийся согласно выполнению критерия окончания – итерационным. Все прямые методы отличаются друг от друга способом задания d k и выбором t k . В зависимости от наивысшего порядка частных производных функции f ( X ) , используемых для формирования направления d k , численные методы решения задачи безусловной минимизации принято делить на три группы: 1. Методы первого порядка, использующие информацию о 1-х производных функции f ( X ) . 2. Методы второго порядка, использующие для своей реализации информацию о 1-х и 2-х производных функции f ( X ) . 15 Методы нулевого порядка, использующие информацию только о значении функции f ( X ) . 4.1.Методы первого порядка (1) Метод градиентного спуска Алгоритм метода: X k 1 X k t k f ( x k ) здесь: d k f ( x k ) - направление антиградиента функции; t k - шаг выбирается из условия убывания функции в точках последовательности: f ( X k 1 ) f ( x k ) . Геометрическая интерпретация метода: Основной критерий окончания метода: Построение последовательности заканчивается в точке, для которой: f ( X k ) ε, где ε- заданное малое положительное число. Дополнительные критерии окончания метода: при выполнении предельного числа итераций: k M 16 при однократном или двукратном одновременном выполнении двух условий: X k 1 X k ~ f ( X k 1 ) f ( X k ) ~ , где ~ - малое положительное число. (2) Метод градиентного наискорейшего спуска Алгоритм метода: X k 1 X k t k f ( x k ) здесь: d k f ( x k ) - направление антиградиента функции; t k - шаг вычисляется из условия наибольшего убывания функции в точках последовательности, построенной по закону (2.1): t k arg min[ f ( X k 1 )] Геометрическая интерпретация метода Как видно из чертежа, точка X 1 принимает на направлении спуска d 0 f ( X 0 ) предельное положение, которое характеризуется тем, что линия уровня, проходящая через точку X 1 касается направления спуска, а, следовательно, в точках минимизирующей последовательности, построенной по методу градиентного наискорейшего спуска выполняется условие: f ( X k ) f ( X k 1 ) (f ( X k ), f ( X k 1 )) 0 Критерии окончания метода такие же, как и в методе градиентного спуска. 17 Вычисление шага t k может быть выполнено тремя способами: Способ А, заключается в вычислении функции f ( X k 1 ) , эта функция оказывается последующем функцией одной использовании f ( X k 1 ) (t k ) , переменной tk , т.е. необходимых и достаточных безусловного экстремума этой функции: и условий d (t k ) d 2 (t k ) 0; 0; . Этот способ dt k d 2t k может быть использован в случаях, когда функция f ( X ) достаточно просто. Способ В, заключается в использовании условия (2.3) для вычисления шага. Способ также может быть использован в случаях, когда функция f ( X ) достаточно проста. Способ С, предполагает численное решение задачи f ( X k 1 ) (t k ) min методом дихотомии на отрезке [a, b] с заданной точностью. (3) Метод покоординатного спуска Алгоритм метода: X k 1 X k t k f ( x k )пр на xi здесь: d k f ( x k )пр на xi - проекция на ось xi антиградиента функции; t k - шаг выбирается из условия убывания функции в точках последовательности: f ( X k 1 ) f ( X k ) . Геометрическая интерпретация метода 18 Критерии окончания метода такие же, как и в методе градиентного спуска. (4) Метод Гаусса-Зейделя (наискорейшего покоординатного спуска) Алгоритм метода: X k 1 X k t k f ( x k )пр на xi . здесь: d k f ( x k )пр на xi - проекция на ось xi антиградиента функции; t k - шаг вычисляется из условия наибольшего убывания функции в точках последовательности, построенной по закону (4.1): t k arg min[ f ( X k 1 )] . Геометрическая интерпретация метода 19 Критерии окончания метода такие же, как и в методе градиента спуска. Вычисление шага t k может быть выполнено способами А и С, описанными в методе градиентного наискорейшего спуска. Сходимость метода градиентного спуска (градиентного наискорейшего спуска, покоординатного спуска и метода Гаусса-Зейделя) регламентируется теоремой. Теорема. Если функция f (X ) ограничена снизу, а ее градиент удовлетворяет условию Липшица: f ( X ) f (Y ) L X Y , X , Y R n , L 0, то метод градиентного спуска гарантирует f ( X k ) 0 при k . Поскольку критерий окончания гарантирует выполнение в точке X * lim X k только необходимых условий минимума, но не достаточных, k можно утверждать, что метод обеспечивает сходимость к стационарной точке функции, в которой необходимо проверить достаточные условия минимума. Сходимость именно к точке минимума гарантируется только для выпуклых функций. (5) Метод сопряженных градиентов (Флетчера – Ривса) 20 Алгоритм метода: X k 1 X k t k d k здесь: d 0 f ( X 0 ) d k f ( X k ) k 1d k 1 k 1 f ( X k ) f ( X k 1 ) 2 2 t k - шаг вычисляется из условия наибольшего убывания функции в точках последовательности, построенной по закону (5.1): t k arg min[ f ( X k 1 )] . Из формул (5.2) и (5.5) следует, что первая итерация метода спряженных градиентов совпадает с первой итерацией метода наискорейшего спуска. Геометрическая интерпретация метода. Критерии окончания метода такие же, как и в методе градиентного спуска. Вычисление шага t k может быть выполнено способами А и С, описанными в методе градиентного наискорейшего спуска. Для квадратичных функций метод сопряженных градиентов называется методом Флетчера – Ривса. 21 Доказано, что для функций, имеющих минимум, метод Флетчера – Ривса сходится за конечное число шагов, не превышающее число переменных функции f ( X ) . Для не квадратичных функций, используется модификация метода сопряженных градиентов. Называемая методом Полака – Рибьера. Пример 1. Дано: f ( X ) x12 3x22 Сделать 2 итерации методом градиентного спуска из начальной точки X 0 (0.5,0.5) Решение: Найдем градиент функции f ( X ) (2 x1 ;6 x2 )T Итерация 0 алгоритм (соответствует начальной точке) 0.5 X 0 ; 0.5 Итерация 1 алгоритм (k 0) X 1 X 0 t 0 f ( X 0 ) Зададим шаг t 0 0.1,тогда: 0.5 1 0.4 X 1 0.1 0.5 3 0.2 Вычислим значение функции в точке X 1 : f ( X 1 ) 0.4 2 3 0.2 2 0.28 Т.к. f ( X 1 ) f ( X 0 ) шаг выбран удачно 0.8 f ( X 1 ) ; 1.2 f ( X 1 ) 0.82 1.2 2 1.4422 Итерация 2 алгоритм (k 1) X 2 X 1 t1f ( X 1 ) Зададим шаг t1 0.1 , тогда: 0.4 0.8 0.32 X 2 0.1 0.2 1.2 0.08 Вычислим значение функции в точке X 2 : f ( X 2 ) 0.32 2 3 0.082 0.1216 Т.к. f ( X 2 ) f ( X 1 ) шаг выбран удачно 22 0.64 ; f ( X 2 ) 0.48 f ( X 2 ) 0.64 2 0.48 2 0.8 Пример 2. Дано: f ( X ) x12 3x22 Сделать 1 итерацию методом наискорейшего градиентного спуска из начальной точки X 0 (0.5,0.5) Решение: Итерация 0 алгоритм (соответствует начальной точке) – см. пример 1. Итерация 1 алгоритма (k 0) X 1 X 0 t 0 f ( X 0 ) 0.5 1 0.5 t 0 X 1 t 0 0.5 3 0.5 3t 0 Способ А вычисления шага t 0 . Вычислим значение функции в точке X 1 : f ( X 1 ) (0.5 t 0 ) 2 3 (0.5 3t 0 ) 2 0.25 t 0 t 02 0.75 9t 0 27t 02 28t 02 10t 0 1 Как видно функция в точке f ( X 1 ) зависит от величины шага t 0 , следовательно, можно записать: f ( X 1 ) (t 0 ) 28t 02 10t 0 1 Найдем минимум функции (t0 ) : d (t 0 ) 56t 0 10 0 dt 20 t 0 0.17857 - значение шага d 2 (t 0 ) 56 0 - значит, функция (t 0 ) f ( X 1 ) принимает минимальное dt 20 значение. Окончательно: 0.5 1 0.3214 ; X 1 0.17857 0.5 3 0.0357 0.6429 ; f ( X 1 ) 0.2143 f ( X 1 ) 0.3214 2 3 (0.0357) 2 0.1071 ; f ( X 1 ) 0.6429 2 (0.2143) 2 0.6776 Способ В вычисления шага t 0 : Вычислим градиент функции в точке X 1 : 23 2(0.5 t 0 ) ; f ( X 1 ) 6(0.5 3t 0 ) Воспользуемся условием f ( X 0 ) f ( X 1 ) : 1 2(0.5 t 0 ) 3 6(0.5 3t 0 ) 0 1 2t 0 9 54t 0 0 10 56t 0 0 t0 0.17857 Окончательно: 0.5 1 0.3214 ; X 1 0.17857 0.5 3 0.0357 0.6429 ; f ( X 1 ) 0.2143 f ( X 1 ) 0.3214 2 3 (0.0357) 2 0.1071 f ( X 1 ) 0.6429 2 (0.2143) 2 0.6776 Пример 3 Дано: f ( X ) x12 3x22 Сделать 2 итерации методом покоординатного спуска из начальной точки X 0 (0.5,0.5) Решение: Итерация 0 алгоритм (соответствует начальной точке) –см. пример 1. Итерация 1 алгоритма (k 0) X 1 X 0 t 0 f ( X 0 )пр на x2 Для проекции градиента выберем направление оси x2 . Зададим шаг t0 0.1 , тогда: 0.5 0 0.5 X 1 0.1 0.5 3 0.2 Вычислим значение функции в точке X 1 : f ( X 1 ) 0.52 3 0.22 0.37 Т.к. f ( X 0 ) f ( X 1 ) шаг выбран удачно 1 f ( X 1 ) ; 1.2 f ( X 1 ) 12 1.2 2 1.5621 24 Итерация 2 алгоритма (k 1) X 2 X 1 t1 f ( X 1 )пр на x1 Для проекции градиента выберем направление оси x1 . Зададим шаг t1 0.5 , тогда: 0.5 1 0 X 2 0.5 0.5 0 0.2 Вычислим значение функции в точке X 2 : f ( X 2 ) 02 3 0.22 0.12 Т.к. f ( X 2 ) f ( X 1 ) шаг выбран удачно 0 f ( X 2 ) ; 1.2 f ( X 2 ) 0 2 1.2 2 1.2 Пример 4 Дано: f ( X ) x12 3x22 Сделать 1 итерацию методом Гаусса – Зейделя из начальной точки X 0 (0.5,0.5) Решение: Итерация 0 алгоритма (соответствующей начальной точке) – см. пример1. Итерация 1 алгоритма (k 0) X 1 X 0 t 0 f ( X 0 )пр на x2 Для проекции градиента выбирается направление оси x2 . 0.5 0 0.5 X 1 t0 0.5 3 0.5 3t0 Используем способ А вычисления шага t 0 : Вычислим значение функции в точке X 1 : f ( X 1 ) 0.52 3 (0.5 3t0 ) 2 0.25 0.75 9t0 27t02 27t02 9t0 1 Как видно функция в точке f ( X 1 ) зависит только от величины шага t 0 , следовательно, можно записать: f ( X 1 ) (t0 ) 27t02 9t0 1 . 25 Найдем минимум функции (t0 ) : d (t0 ) 1 54t0 9 0 t 0 - значение шага 2 6 dt 0 d 2 (t0 ) 54 0 -значит, функция (t0 ) f ( X 1 ) принимает минимальное 2 dt 0 значение Окончательно: 0.5 1 0 0.5 X 1 ; 0.5 6 3 0. 1 f ( X 1 ) ; 0 f ( X 1 ) 0.52 3 02 0.25 f ( X 1 ) 12 0 2 1 . Пример 5 Дано: f ( X ) x12 3x22 Сделать 2 итерации методом сопряженных градиентов из начальной точки X 0 (0.5,0.5) Решение: Итерация 0 алгоритма (соответствует начальной точке) – см. пример 1. Итерация 1 алгоритма (k 0) Результаты итерации совпадают с 1-й итерацией метода наискорейшего градиентного спуска – см. пример 2. 0.5 1 0.3214 ; X 1 0.17857 0.5 3 0.0357 0.6429 ; f ( X 1 ) 0.2143 f ( X 1 ) 0.3214 2 3 (0.0357) 2 0.1071 f ( X 1 ) 0.6429 2 (0.2143) 2 0.6776 Итерация 2 алгоритма (k 1) X 2 X 1 t1d 1 d 1 f ( X 1 ) 0 d 0 0 f ( X 1 ) 2 f ( X 0 ) 2 0.6776 2 0.0459 3.16232 0.6429 1 0.6888 0.0459 d 1 0.2143 3 0.0766 26 0.3214 0.6888 0.3214 0.6888t1 t1 X 2 0.0357 0.0766 0.0357 0.0766t 1 Используем способ А вычисления шага t1 : Вычислим значение функции в точке X 2 : f ( X 2 ) (0.3214 0,6888t1 ) 2 (0.0357 0.0766t1 ) 2 0.492t12 0.4592t1 0.10711 f ( X 2 ) (t1 ) 0.492t12 0.4592t1 0.10711 Найдем минимум функции (t1 ) : 7 d (t1 ) 0.984t1 0.4592 0 t1 0.46666 - значение шага 15 dt1 d 2 (t1 ) 0.984 0 - значит, функция (t1 ) f ( X 2 ) принимает минимальное 2 dt1 значение Окончательно: 0.3214 7 0.6888 0.00004 ; X 2 0.0357 15 0.0766 0.00005 0.00008 ; f ( X 2 ) 0.0003 f (X 2) 0 f ( X 2 ) 0.0003 Очевидно, что на 2-й итерации найдены координаты стационарной точки с точностью 0.0005 . Тема 5. Методы второго порядка Метод Ньютона Алгоритм метода: X k 1 X k H 1 ( X k )f ( X k ) здесь: d k H 1 ( X k )f ( X k ) - направление спуска tk 1 Особенностью метода Ньютона является то, что при H ( X 0 ) 0 метод позволяет отыскать минимум квадратичной функции за одну итерацию. Геометрическая итерация метода для квадратичной функции: 27 Критерии окончания метода такие же, как и в методе градиентного спуска. Сходимость метода Ньютона. Сходимость метода Ньютона доказана только для сильно выпуклых функций и существенно зависит от выбора начальной точки X 0 Можно утверждать, что метод Ньютона обеспечивает сходимость к точке минимума функции, только при условии выполнения условия H ( X k ) 0 в каждой точке последовательности X k . Пример 6 Дано: f ( X ) x12 3x22 Сделать 1 итерацию методом Ньютона из начальной точки X 0 (0.5,0.5) Решение: Итерация 0 алгоритма (соответствует начальной точке) 0.5 X 1 ; 0.5 f ( X 0 ) 0.55 3 0.52 1 1 f ( X 0 ) ; 3 2 0 H ( X 0 ) 0 6 f ( X 0 ) 12 32 3.1623 H 1 ( X 0 ) 1 6 0 1 2 0 12 0 2 0 1 6 Итерация 1 алгоритма (k 0) X 1 X 0 H 1 ( X 0 )f ( X 0 ) 28 0.5 1 2 0 1 0 X 1 0.5 0 1 6 3 0 0 f ( X 1 ) ; 0 f ( X 1 ) 0 Очевидно, что 1-й итерации найдены координаты стационарной точки. Тема 6. Задачи нелинейного программирования при ограничениях типа равенств Постановка задачи: Решается задача: f ( X ) ext1 X X X X : j ( X ) 0, j 1..m n Особенностью решения задачи является то, что допустимые решения, на которых ищется экстремум функции, являются решением уравнений j ( X ) 0, j 1..m. Графически, экстремумы функции представляют собой точки касания линии уровня функции и поверхности, задаваемой пересечением ограничений. 29 Пример 1. f ( X ) x12 x22 extr 1 ( X ) ( x1 1) 2 x22 4 0 2 f (B) 0 4 1 ( B) 0 Здесь точка A - условный максимум, точка B - условный минимум Пример 2. f ( X ) x12 x22 extr 1 ( X ) x1 x2 2 0 2 1 f (A) 1 ( A) 1 2 Здесь точка A - условный минимум. Как видно из чертежа, точки касания обладают следующими свойствами: точка касания принадлежит поверхности, определяемой пересечением ограничений; Градиент функции и поверхности, определяемой пересечением ограничений, в точке касания являются линейно-зависимыми. Последовательность графического решения задачи: 30 1. Построить ограничения и определить множество допустимых решений X . 2. Вычислить точку касания, пользуясь условиями касания. 3. Вычислить функцию в точке касания, определить конфигурацию и построить соответствующую линию уровня. Если система ограничений j ( X ) 0, j 1..m. разрешить относительно любых m переменных, то решение задачи может быть получено методом исключений. (1) Метод исключений Допустим, что система ограничений j ( X ) 0, j 1..m. может быть разрешена относительно некоторых m переменных: x1 1 ( xm1 , xm2 ,..., xn ) x2 2 ( xm1 , xm2 ,..., xn ) x3 3 ( xm1 , xm2 ,..., xn ) ..... xm m ( xm1 , xm2 ,..., xn ) тогда можно утверждать, что переменные xm1 , xm2 ,..., xn является независимыми (свободными для выбора), а это означает, что решение задачи (*) может быть сведено к решению задачи на безусловный экстремум. Подставим выражение в исходную функцию, получим: f ( X ) f ( x1 , x2 ,..., xm , xm1 ,..., xn ) f (1 ( xm1 , xm2 ,..., xn ), 2 ( xm1 , xm2 ,..., xn ),..., xm1 ,..., xn ) f ( xm1 , xm2 ,..., xn ) Получена новая функция переменных xm1 , xm2 ,..., xn экстремум которой требует найти. Поскольку переменные xm1 , xm2 ,..., xn являются независимыми, будем искать безусловный экстремум. Оптимальные значения зависимых переменных x1 , x2 ,..., xm могут быть получены из соотношений (1.1). Алгоритм решения задачи методом исключений: 31 1. Разрешить систему ограничений относительно любых m переменных. 2. Подставить полученные выражения в исходную функцию и перейти к задаче безусловной оптимизации. 3. Решить полученную задачу безусловной оптимизации – найти стационарные точки и проверить достаточные условия . 4. Вернуться к исходной задаче и, используя решение задачи безусловной оптимизации, найти значения недостающих переменных. Возможности применения метода исключения ограничены тем, что система ограничений в большинстве задач носит нелинейный характер, а, следовательно, неразрешима относительно нужного числа переменных. (2) Метод множителей Лагранжа (аппарат необходимых и достаточных условий) Определение 1. m Функция L( X , ) f ( X ) j j ( X ) называется классической функцией j 1 Лагранжа. Функция L( X , ) зависит от n m переменных: n штук xi и m штук j называемых множителями Лагранжа. Определение 2. Вторым дифференциалом функции Лагранжа называется функция: n 2L dxi dx j j 1 xi x j n d 2 L( X , ) i 1 Определение 3. Первым дифференциалом n j ( X ) i 1 x i d j ( X ) ограничения j (X ) называется функция: dx i 32 Теорема 1. (о необходимых условиях экстремума). Пусть X есть точка локального условного экстремума в задаче (*), и при этом j ( X * ) , j 1..m являются линейно-независимыми, то найдутся такие *j , что: L( X , * ) 0 , i 1..n (условие стационарности функции Лагранжа по X ) xi j ( X * ) 0 , j 1..m (условие допустимости решения) Теорема 2. (о достаточных условиях экстремума). Если в точке ( X , * ) выполняются необходимые условия экстремума и d 2 L( X *, * ) 0 при всех ненулевых dxi , таких, что d j ( X * ) 0 , j 1..m , то X * - точка условного локального минимума функции, если же при всех тех же условиях d 2 L( X *, * ) 0 , то X * - точка условного локального максимума функции. Алгоритм решения задачи методом множителей Лагранжа: 1. Записать классическую функцию Лагранжа: m L( X , ) f ( X ) j j ( X ) j 1 2. Записать необходимые условия экстремума ФМП при ограничениях типа равенств: j ( X ) L( X , ) f ( X ) m j 0 xi xi xi j 1 j ( X ) 0, i 1..n , j 1..m 3. Решить полученную систему. Решение системы – условно- стационарные точки ( X *, * ) . 4. Проверить достаточные условия экстремума в каждой точке ( X *, * ) , для этого Записать второй n дифференциал функции Лагранжа: 2L dxi dx j j 1 xi x j n d 2 L( X , ) i 1 n j ( X ) i 1 x i Записать дифференциалы ограничений: d j ( X ) dx i В каждой точке ( X *, * ) 33 4.1. Вычислить второй дифференциал d 2 L( X *, * ) . 4.2. Записать условия равенства 0 дифференциалов ограничений в каждой точке X * : n j d j ( X * ) i 1 xi Используя dxi 0 , j 1..m 4 x* уравнения из п. 4.2, выразить любые m дифференциалов переменных через оставшиеся (n m) и подставить их в выражение для d 2 L( X *, * ) . Определить знак d 2 L( X *, * ) : если d 2 L( X *, * ) 0 при dxi 0 , то точка X * - точка условного локального минимума в задаче; если d 2 L( X *, * ) 0 при dxi 0 , то точка X * - точка условного локального максимума в задаче. (3) Метод штрафных функции Метод штрафных функции относится к численным методам решения задач (*). Метод штрафных функции предусматривает поиск решения задач в результате решения последовательности задач безусловной минимизации вида: F ( X , r k ) f ( X ) ( X , r k ) min , X R n здесь F ( X , r k ) - штрафная функция ( X , r k ) - штраф r k 0 - штрафной параметр, при решении каждой задачи (3.1) фиксируется. Функция штрафа конструируется из условия: 0, j ( X ) 0 0, ( X ) 0 (X , r k ) 34 причем, чем больше j ( X ) , тем больше штраф. Кроме того, штраф должен быть таким, чтобы при r k штраф ( X , r k ) при невыполнении ограничений, т.е. становился тем больше, чем больше не выполняются ограничения. Обычно, (X ,r k ) rk 2 в качестве штрафа используют функцию вида: m j 1 2 j (X ) . Идея метода штрафной функции: при каждом значении k ищется точка X (r k ) минимум в задаче (3.1) при заданном значении параметра r k с помощью одного из методов безусловной минимизации. Полученная точка X (r k ) используется в качестве начальной в следующей задаче (3.1) при возрастающем значении параметра r k . Доказано, что при X (r k ) стремится к r k , последовательность получаемых точек X *: lim X * (r k ) X * r k Существует связь между значением параметра штрафа rk и множителями Лагранжа: j (r k ) r k j ( X (r k )) j * lim j (r k ) r k Замечание. В случае поиска условного экстремума квадратичной функции при линейном ограничении задача (3.1) может быть решена аналитически. Алгоритм аналитического решения задачи методом штрафной функции: 1. Записать штрафную функцию: F ( X , r ) f ( X ) r m 2 j ( X ) 2 j 1 2. Записать необходимые условия экстремума для штрафной функции: 35 F ( X , r ) 0 xi i 1..n 3. Найти решение полученной системы: X (r ) . Решение системы зависит от параметра r . 4. Найти условно-стационарную точку в задаче: X * lim X * (r ) . r k 5. Составить матрицу Гессе для штрафной функции: 2 F ( X , r) H ( X * (r )) x x i 1.. n i j j 1.. n 6. Исследовать знакоопределенность матрицы при r k по критерию Сильвестра. 7. Записать оценку множителей Лагранжа: *j lim r j ( X * (r )) j 1..m r Рассмотрим решение Примера 2 различными методами: Дано: f ( X ) x12 x22 extr 1 ( X ) x1 x2 2 Найдем решение задачи методом исключений: Решение: 1. Выразим одну из переменных из ограничения: x1 2 x2 2. Подставим полученное выражение в функцию: ~ f ( X ) (2 x2 ) 2 x22 4 4 x2 2 x22 f ( x2 ) 3. Найдем экстремум полученной функции: ~ f ( x2 ) 4 4 x2 2 x22 extr ~ df * 4 4 x2 0 x2 1 dx2 ~ d2 f 4 0 min d ( x2 ) 2 4. Найдем значение оставшейся переменной: x1* 2 x2 * 2 1 1 Ответ: получена точка A (1,1) - условный локальный минимум. Найдем решение задачи методом множителей Лагранжа: 36 Решение: 1. Запишем функцию Лагранжа: L( X , ) x12 x22 1 ( x1 x 2 2) 2. Запишем необходимые условия экстремума L 2 x1 1 0 x1 L 2 x2 1 0 x1 x1 x2 2 0 3. Найдем координаты условно-стационарных точек 2 x1 1 0 2 x1 1 0 2 x2 1 0 x1 x2 0 x x 2 0 x x 2 0 2 1 2 1 x1* 1 * x2 1 * 2 2 Получена условно-стационарная точка A (1,1,2) 4. Установим тип полученной точки с помощью достаточных условий экстремума. Составляем второй дифференциал функции Лагранжа: 2L 2 x12 2L 2L 0 x1x2 x1x2 2L 2 x22 2 L( X , ) 2(x1 ) 2 2(x2 ) 2 Составляем дифференциал ограничения: 1 1 x1 1 1 x 2 1 ( X ) dx1 dx2 В точке A (1,1,2) имеем: 2 L( A) 2(dx1 ) 2 2(dx2 ) 2 при условии 1 ( A) dx1 dx2 0 . Значит dx1 dx2 , тогда получим 2 L( A) 4(dx2 ) 2 0 при dx2 0 , следовательно точка A - условный локальный минимум. Ответ: получена точка A (1,1) - условный локальный минимум. Найдем решение задачи методом штрафной функции: Решение: r 2 1. Запишем штрафную функцию: F ( X , r k ) x12 x22 ( x1 x 2 2) 2 37 2. Запишем необходимые условия экстремума F ( X , r ) 2 x1 r ( x1 x2 2) 0 x1 F ( X , r ) 2 x1 r ( x1 x2 2) 0 x1 3. Найдем координаты стационарных точек штрафной функции: 4r * x1 4 4r (2 r ) x1 r x2 2r 4r r x1 (2 r ) x2 2r x2* 4 4r Получена условно-стационарная точка X (r ) 4r 4r 4 4r 4 4r 4. Найдем координаты условно-стационарных точек. 4r 1, r 4 4 r x1* x2* lim следовательно получена условно- штрафной функции: стационарная точка A (1,1) 5. Составим матрицу Гессе для r 2 r H ( X * (r )) 2 r r 6. По критерию Сильвестра: 1 2 r 0 при r 2 4 4r 0 при r значит матрица H ( X * (r )) 0 и точка A (1,1) - условный минимум. 7. Запишем оценку множителя Лагранжа: 4r 4r 8r 2(4 4r ) 8 8r ) 2 lim r r r lim lim 2 r r r 4 4r 4 4r 4 4r 4 4r 4 4r Ответ: получена точка A (1,1) - условного локальный минимум. 1 lim r r 38 Методические указания решения задач нелинейного программирования Этап №1 Методы безусловной минимизации функции многих переменных Дано: f ( X ) 2 x 2 2 y 2 2 x y 20 x 10 y 10 extr Решение: а) Аналитически отыскать экстремум функции двух переменных (с использованием аппарата необходимых и достаточных условий экстремума). Запишем градиент функции: 4 x 2 y 20 f ( x) 4 y 2 x 10 Запишем необходимые условия экстремума и вычислим координаты стационарных точек: 4 x 2 y 20 0 4 x 2 y 20 0 4 x 20 0 x 5 6y 0 4 y 2 x 10 0 y0 y0 Получена стационарная точка функции X * (5,0) Составим матрицу Гессе: 2 f 4; x 2 2 f 2; xy 2 f 2; xy 2 f 4; y 2 4 2 H ( X ) 2 4 Вычислим матрицу Гессе в полученной стационарной точке: 4 2 H ( X * ) 2 4 Определим характер полученной стационарной точки, используя критерий Сильвестра: 1 4 0 2 4 4 2 2 12 0 Так как все диагональные миноры матрицы положительны, матрица Гессе является положительно-определенной, и, следовательно, точка X * (5,0) является точкой локального минимума функции. 39 б) Сделать три итерации методом градиентного спуска из начальной точки X 0 (0,0) в направлении экстремума Внимание! Для пунктов б) - д): если при аналитическом решении задачи найден локальный максимум функции, то для численного решения задачи необходимо умножить исходную функцию на (-10 и перейти к задаче поиска минимума, при этом нужно пересчитать градиента и матрицу Гессе для новой функции. В результирующих таблицах значение функции нужно умножить на (-1). Итерация 0 0 X 0 0 f ( X 0 ) 2 0 2 2 0 2 2 0 0 20 0 10 0 10 10 4 0 2 0 20 20 f ( X 0 ) 4 0 2 0 10 10 f ( X 0 ) 20 2 10 2 22,3607 Итерация 1 Вычислим точку X 1 по формуле: X 1 X 0 t 0 f ( X 0 ) . Зададим шаг t 0 0.1 0 20 2 X 1 0.1 0 10 1 f ( X 1 ) 2 (2) 2 2 (1) 2 2 (2) (1) 20(20) 10(1) 10 26 f ( X 1 ) f ( X 0 ) , следовательно, шаг выбран удачно 4 (2) 2 (1) 20 10 f ( X 1 ) 4 (1) 2 (2) 10 2 f ( X 1 ) 10 2 2 2 10.1980 Итерация 2 Вычислим точку X 2 по формуле: X 2 X 1 t1f ( X 1 ) . Зададим шаг t1 0.1 2 10 3 X 2 0.1 1 2 1.2 40 f ( X 2 ) 2 (3) 2 2 (1.2) 2 2 (3) (1.2) 20(3) 10(1.2) 10 33.92 f ( X 2 ) f ( X 1 ) , следовательно, шаг выбран удачно. 4 (3) 2 (1.2) 20 5.6 f ( X 2 ) 4 (1.2) 2 (3) 10 0.8 f ( X 2 ) 5.6 2 (0.8) 2 5.6569 Итерация 3 Вычислим точку X 3 по формуле: X 3 X 2 t 2f ( X 2 ) . Зададим шаг t 2 0.1 3 5.6 3.56 0.1 X 3 1.2 0.8 1.12 f ( X 3 ) 2 (3.56) 2 2 (1.12) 2 2 (3.56) (1.12) 20(3.56) 10(1.12) 10 36.5696 f ( X 3 ) f ( X 2 ) , следовательно, шаг выбран удачно. 4 (3.56) 2 (1.12) 20 3.52 f ( X 3 ) 4 (1.12) 2 (3.56) 10 1.6 f ( X 3 ) 3.52 2 (1.6) 2 3.8666 Приведенные вычисления представим в виде таблицы №; y x y x t f f (X ) 0 0 0 - 20 10 10 22.3607 1 -2 -1 0.1 10 2 -26 10.198 3 -3 -1.2 0.1 5.6 -0.8 -33.92 5.6569 4 -3.56 -1.12 0.1 3.52 -1.6 -36.5696 3.8666 в) Сделать одну итерацию методом наискорейшего спуска из начальной точки X 0 (0,0) в направлении экстремума Итерация 0. Итерация 0 совпадает с 0-ой итерацией метода градиентного спуска. Итерация 1. Вычислим точку X1 по формуле: X 1 X 0 t 0 f ( X 0 ) . 0 20 20 t 0 X 1 t 0 0 10 10 t 0 41 Вычислим шаг t 0 : f ( X 1 ) 2 (20 t 0 ) 2 2 (10 t 0 ) 2 2 (20 t 0 ) (10 t 0 ) 20(20 t 0 ) 10(10 t 0 ) 10 800 t 02 200 t 02 400 t 02 400 t 0 100 t 0 10 1400 t 02 500 t 0 10 500 df ( X 1 ) 0.17857 2800 t 0 500 0 t 0 2800 dt 0 20 0.17857 3.7514 X 1 10 0.17857 1.7857 f ( X 1 ) 1400 0.17857 2 500 0.17857 10 34.6429 4 (3.5714) 2 (1.7857) 20 2.1429 f ( X 1 ) 4 (1.7857) 2 (3.5714) 10 4.2857 f ( X 1 ) 2.1429 2 (4.2857) 2 4.7916 Приведем вычисления представим в идее таблицы №; y x y x t 0 0 0 - 20 1 -3.5714 -1.7857 0.17857 2.1429 f (X ) f 10 10 22.3607 -4.2857 -34.6429 4.7916 г) Сделать две итерации методом спряженных градиентов из начальной точки X 0 (0,0) в направлении экстремума Итерация 0. Итерация 0 совпадает с 0-ой итерацией метода градиентного спуска. Итерация 1. Итерация 1 совпадает с 1-й итерацией метода наискорейшего спуска. Итерация 2. Вычислим точку X 2 по формулам: X 2 X 1 t1d 1 d 1 f ( X 1 ) 0 d 0 , 0 d 0 f ( X 0 ) f ( X 1 ) 2 f ( X 0 ) 2 42 0 4.7916 2 0.04592 22.3607 2 2.1429 20 3.0612 0.04592 d 1 4.2857 10 3.8265 3.5714 3.0612 3.5714 3.0612 t1 t1 X 2 1 . 7857 3 . 8265 t 1 . 7857 3 . 8265 1 Вычислим шаг t1 : f ( X 2 ) 2 (3.5714 3.0612 t1 ) 2 2 (1.7857 3.8265 t1 ) 2 2 (3.5714 3.0612 t1 ) (1.4857 3.8265 t1 ) 20 (3.5714 3.0612 t1 ) 10 (1.7857 3.8265 t1 ) 10 2 (12.7548 21.8655 t1 9.3709 t1 ) 2 (3.1887 13.6659 t1 146421 t1 ) 2 2 2 (6.3774 13.6659 t1 5.4663 t1 11.7136 t1 ) 71.428 61.224 t1 17.857 38.265 t1 10 2 25.5096 43.731 t1 18.7418 t1 6.3774 27.3318 t1 29.2842 t1 2 2 12.7548 16.3992 t1 23.4272 t1 71.428 61.224 t1 17.857 38.265 t1 10 2 24.5988 t1 22.959 t1 34.6432 2 22.959 f ( X 2 ) 0.46666 49.1976 t1 22.959 0 t1 49.1976 t1 3.5714 3.0612 0.46666 4.99993 5 X 2 1.7857 3.8265 0.46666 0.00003 0 f ( X 2 ) 24.5988 0.46666 2 22.959 0.46666 34.6432 40.00032 40 4 (4.99993) 2 (0.00003) 20 0.0002 0 f ( X 2 ) 4 (0.00003) 2 (4.99993) 10 0.00002 0 f ( X 2 ) 0.0002 2 0.00002 2 0.0002 0 0 0 Т.к. в точке X 2 градиент функции f ( X 2 ) , то X 2 - стационарная точка функции! Приведенные вычисления представим в виде таблицы №; x y t x y f f (X ) 0 0 0 - 20 10 10 22.3607 dx dy 43 1 2 - -20 -10 x y t x y f f (X ) -3.5714 -1.7857 0.17857 2.1429 -4.2857 -34.6429 4.7916 dx dy 0.04592 -3.0612 3.8265 x y t x y f f (X ) -5 0 0.46666 0 0 -40 0 д) Сделать одну итерацию методом Ньютона из начальной точки X 0 (0,0) в направлении экстремума Итерация 0. Итерация 0 совпадает с 0-ой итерацией метода градиентного спуска. Итерация 1. Вычислим точку X 1 по формуле: X 1 X 0 H 1 ( X 0 )f ( X 0 ) Вычислим матрицу обратную к матрице Гессе, вычисленной в точке X0: 4 2 H ( X 0 ) 2 4 13 H 1 ( X 0 ) 1 6 H 1 ( X 0 ) 1 4 2 12 2 4 1 6 1 3 Тогда 0 1 3 1 6 20 0 20 3 10 6 0 5 5 X 1 0 1 6 1 3 10 0 20 6 10 3 0 0 0 f ( X 1 ) 2 (5) 2 2 0 2 2 (5) 0 20 (5) 10 0 10 40 4 (5) 2 0 20 0 f ( X 1 ) 4 0 2 (5) 10 0 f ( X 1 ) 0 2 0 2 0 0 0 Т.к. в точке X 1 градиент функции f ( X 1 ) , то X 1 - стационарная точка функции! 44 Приведенные вычисления представим в виде таблицы №; x y x y f f (X ) 0 0 0 20 10 10 22.3607 1 -5 0 0 0 -40 0 Этап №2 Методы решения ЗНП при ограничениях типа равенства Дано: f ( X ) x12 2 x22 2 x1 6 x2 12 extr 2x1 x2 1 Решение: Преобразуем ограничение к виду; j ( X ) 0 2x1 x2 1 2x1 x2 1 0 j ( X ) 2 x1 x2 1 а) Решить задачу графически Решение задачи есть точка касания ограничения линии уровня функции f 0 , где 0 const . Искомая точка касания обладает следующими свойствами: точка касания принадлежит ограничению: 2 x1 Кас x2 Кас 1 в точке касания градиент функции и ограничения линейно зависимы: f ( X Кас ) a 1 ( X Кас Кас Кас 2 x1 Кас 2 2 2 x1 2 4 x2 6 a ) Кас 2 1 1 4 x2 6 Воспользовавшись условиями касания, составим систему уравнений и найдем координаты решения: 2 x1 x2 1 2 x x 1 1 2 x1 1 4 x2 6 x1 4 x2 5 (1) 2( 2 ) 2 x1 x2 1 x1 1 9 x2 9 x2 1 Найдено решение задачи – точка X * (1,1) - точка касания ограничения и линии уровня функции f (1) 2 2 12 2 (1) 6 1 12 13 . Построим графическую иллюстрацию решения. Ограничение в задаче – прямая с уравнением x2 1 2x1 . Определим конфигурацию линии уровня функции f 13 , вычислив инвариант: 45 D 1 0 0 2 2 т.к. D 0 , то искомая линия уровня эллипс. Запишем уравнение линии уровня: x12 2 x22 2 x1 6 x2 12 13 x12 2 x22 2 x1 6 x2 1 Приведем уравнение линии уровня к каноническому виду, выделив полные квадраты: x12 2 x1 2( x22 3x2 ) 1 x12 2 x1 1 1 2( x 22 2 3 2 x2 9 4 9 4 _ 1 ( x1 1) 2 1 2(( x2 3 2) 2 9 4) 1 ( x1 1) 2 2(( x2 3 2) 2 1 1 9 2 ( x1 1) 2 ( x2 3 2) 2 1 - каноническая уравнение эллипса 92 94 Центр эллипса – точка с координатами (1, 3 2) . Главные диагонали эллипса прямые с уравнениями: x1 1 и x2 3 2 . Найдем точки пересечения эллипса с главными диагоналями: x1 1 x 3 ( x2 3 2) 2 1 ( x2 3 2) 2 9 4 x2 3 2 3 2 2 x2 0 94 Получены точки с координатами: (1,0) и (1,3) x2 3 2 ( x1 1) 2 1 ( x1 1) 2 9 2 x1 1 3 92 2 x2 3.1213 x1 1.1213 Получены точки с координатами: (1.1213, 3 2) и (3.1213, 3 2) Найдем еще несколько точек для построения эллипса, выразив x1 из канонического уравнения эллипса: x1 1 ( x2 3 2) 2 9 2 1 94 x2 x1 x1 0 1 1 0.5 2.5811 -0.5811 46 1 3 -1 1.5 3.1213 -1.1213 2 3 -1 2.5 2.5811 -0.5811 3 1 1 Построим на чертеже ограничение и линию уровня f 13 . б) Решить задачу методом множителей Лагранжа ( аналитически отыскать экстремум функции при ограничениях типа равенства, используя аппарат необходимых и достаточных условий) Запишем классическую функцию Лагранжа: L( X , ) x12 2 x22 2 x1 6 x2 12 1 (2 x1 x2 1) Запишем необходимые условия экстремума функции при ограничениях типа равенства: 47 L( X , ) 2 x1 2 21 0 x 1 L( X , ) 4 x1 6 1 0 x 2 1 ( X ) 2 x1 x 2 1 0 Решим полученную систему: 2 x1 2 21 0 2 x1 21 2 4 x1 6 1 0 4 x1 1 6 2x x 1 0 2 x x 1 2 1 2 1 1 2 91 18 6 1 4 x2 1 6 x 2 4 2 x x 1 1 x2 2 1 x 1 2 (1) ( 3) x2 21 3 4 x2 1 6 2 x x 1 2 1 4 (1) ( 2 ) 1 2 x2 1 x 1 1 Таким образом, получено решение системы – точка с координатами ( X , ) (1,1,2) - условно-стационарная точка функции. Определим характер полученной точки с помощью достаточных условий экстремума. Запишем второй дифференциал функции Лагранжа: 2 L( X , ) 2 L( X , ) 2 L( X , ) 1 0 x1x2 x2 x1 x12 2 L( X , ) 4 x22 2 L( X , ) 2(dx1 ) 2 (dx2 ) 2 Запишем дифференциал ограничения 1 : 1 ( X ) 2 x1 1 ( X ) 1 1 ( X ) 2 dx1 1 dx2 x2 В точке X * (1,1,2) имеем: d 2 L( X ) 2(dx1 ) 2 a(dx2 ) 2 при условии d1 ( X ) 2 dx1 1 dx 2 0 получим: dx1 2dx2 d 2 L( X ) 18(dx1 ) 2 0 при dx1 0 Следовательно. в точке X * (1,1) выполнены достаточные условия локального условного минимума. в) Найти решение задачи методом исключений 48 Разрешим ограничение относительно переменной x2 : x2 1 2x1 , и подставим выражение для x2 в исходную функцию: ~ f ( X ) f ( x1 ) x12 2(1 2 x1 ) 2 2 x1 6(1 2 x1 ) 12 x12 2(1 4 x1 4 x12 ) 2 x1 6 12 x1 12 9 x12 18x1 4 ~ Найдем безусловный экстремум функции f ( x1 : ~ f ( x1 ) 18 x1 18 18 x1 18 0 x1* 1 dx1 ~ 2 f ( x1 ) ~ 18 0 функция f ( x1 ) имеет минимум при x1* 1 2 d ( x1 ) Найдем оптимальное значение x2 * : x2 * 1 2 (1) 1 Окончательно, найдена точка условного минимума функции f ( X ) с координатами X * (1,1) г) Найти решение задачи методом штрафной функции Составим штрафную функцию: r F ( X , r ) x12 2 x 22 2 x1 6 x 2 12 (2 x1 x 2 1) 2 2 Внимание ! В случае поиска условного максимума, используют штрафную функцию вида: F ( X , r ) f ( X ) r m 2 j ( X ) 2 j 1 Запишем необходимые условия безусловного минимума штрафной функции: F ( X , r ) 2 x1 2 r (2 x1 x 2 1) 2 0 x1 F ( X , r ) 4 x 2 6 r (2 x1 x 2 1) 0 x 2 (2 4r ) x1 2r x2 2 2r (2r x1 (4 r ) x2 6 r Преобразуем исходную систему к виду: Разрешим полученную систему относительно переменных x1 , x2 методом Крамера: 49 2 4r 2r 2r 4r 2 4r 1 2 2r 2r 4r 2 4r 2r (2 4r ) (4r r ) 4r 2 8 16r 2r 4r 2 4r 2 18r 8 (2 2r ) (4r r ) 2r (6 r ) 8 8r 2r 2r 2 12r 2r 2 18r 8 (2 4r ) (6 r ) 2r (2 2r ) 12 24r 2r 4r 2 4r 4r 2 18r 12 6r 18r 8 x1* (r ) 18r 8 - стационарная точка штрафной функции. Тогда 18r 12 * x 2 (r ) 18r 8 2r Найдем координаты условного экстремума исходной задачи как предел решения задачи поиска безусловного экстремума штрафной функции: x1* lim r 18r 8 1, 18r 8 x 2* lim r 18r 12 1 18r 8 Получена точка X * (1,1) - точка условного экстремума исходной задачи. 2 4r 2 r 4 r 2r Запишем матрицу Гессе для штрафной функции: Í ( X , r ) 1 2 4r 0 при r 0 2 (2 4r )(4 r ) 4r 2 8 16r 2r 4r 2 4r 2 8 18r 0 при r 0 Следовательно, по критерию Сильвестра, достаточные условия минимума функции F ( X , r ) выполняются, и значит полученная точка X * (1,1) - точка условного локального минимума функции f ( X ) . Запищим оценку 1* : 1* lim r 2 r 18r 8 18r 12 36r 16 18r 12 18r 8 1 lim r 18r 8 18r 8 18r 8 r 36 lim r 2 r 18r 8 Внимание! В случае поиска условного максимума, используют формулу: 1* lim r ( X * (r )) . r 50 Список литературы 1. Ашманов, С. А. Теория оптимизации в задачах и упражнениях / С. А. Ашманов, А. В. Тимохов. - 2-е изд., стереотипное. - СПб.: Лань, 2012. - 448 с. // http://e.lanbook.com/books/element.php?pl1_cid=25&pl1_id=3799 2. Бахвалов, Н. С. Численные методы: учеб. пособие для вузов / Н. С. Бахвалов, Н. П. Жидков, Г. М. Кобельников.- 7-е изд.- М.: Бином. Лаборатория Знаний, 2011. - 636 с. 3. Крутиков, В. Н. Методы оптимизации: учеб. пособие / В. Н. Крутиков; Кемеровский гос. ун-т. – Кемерово, 2011. – 91 с. 4. Лесин, В. В. Основы методов оптимизации / В. В. Лесин, Ю. П. Лисовец. - 3-е изд., испр. - СПб.: Лань, 2011. - 352 с. // http://e.lanbook.com/books/element.php?pl1_cid=25&pl1_id=1552 б) дополнительная учебная литература 1. Алексеев, В. М. Сборник задач по оптимизации. Теория. Примеры. Задачи: учеб. пособие / В. М. Алексеев, Э. М. Галеев, В. М. Тихомиров. - 2-е изд., перераб. и доп. - М.: Физматлит, 2007. - 255 с. 2. Андреева, Е. А. Вариационное исчисление и методы оптимизации: учеб. пособие / 3. Е. А. Андреева, В. М. Цирулева. - М.: Высшая школа, 2006. - 584 с. 4. Аттетков, А. В. Методы оптимизации: учебник для вузов / А. В. Аттетков, С. В. Галкин, В. С. Зарубин. - 2-е изд., стер. - М.: Изд-во МГТУ им. Н. Э. Баумана, 2003. - 440 с. 5. Ашманов, С. А. Линейное программирование / С. А. Ашманов. - М.: Наука, 1981. - 304 с. 6. Базара, М. Нелинейное программирование. Теория и алгоритмы / М. Базара, К. Шетти. - М.: Мир, 1982. - 583 с. 7. Глебов, Н. И. Методы оптимизации: учеб. пособие / Н. И. Глебов, Ю. А. Кочетов, А. В. Плясунов. - Новосибирск: Изд-во Новосибирского ун-та, 2000. - 106 с. 51 8. Гончаров, В. А. Методы оптимизации: учеб. пособие для вузов / В. А. Гончаров.- М.: Юрайт Высшее образование, 2010. - 191 с. 9. Карманов, В. Г. Математическое программирование: учеб. пособие / В. Г. Карманов. - 5-е изд., стер. - М.: Физматлит, 2001. - 263 c. 10.Крутиков, В. Н. Обучающиеся методы безусловной оптимизации и их применение / В. Н. Крутиков.- Томск: Изд-во Томского гос. пед. ун-та, 2008. 263 с. 11.Ларин, Р. М. Методы оптимизации. Примеры и задачи: учеб. пособие / Р. М. Ларин, А. В. Плясунов, А. В. Пяткин; Новосиб. гос. ун-т. - Новосибирск: Издво НГУ, 2003. - 120 с. 12.Лутманов, С. В. Курс лекций по методам оптимизации: учеб. пособие для вузов / С. В. Лутманов. - Ижевск: Регулярная и хаотическая динамика, 2001. 363 c. 13.Моисеев, Н.Н. Методы оптимизации / Н. Н. Моисеев, Ю. П. Иванилов, Е. М. Столярова. - М.: Наука: Физматлит, 1978. - 352 с. 14.Пантелеев, А. В. Методы оптимизации в примерах и задачах: учебное пособие / А. В. Пантелеев, Т. А. Летова.- 3-е изд., стер.- М.: Высшая школа, 2008. - 544 с. 15.Поляк, Б. Т. Введение в оптимизацию / Б. Т. Поляк. - 2-е изд., стер. - М.: Наука: Физматлит, 1983. - 384 с. в) ресурсы ЭБС 1.Оптимизация / Российское образование (федеральный портал) – URL: // http://window.edu.ru/library/resources?p_sort=1&p_rubr=2.2.74.12.51 (дата обращения 15.01.2014) 2. Компьютеры и математика / Новая электронная библиотека – http://www.newlibrary.ru/genre/nauka/matematika/kompyutery_i_matematika/ (дата обращения 10.04.2015) 52