Uploaded by aza.semenova

Лекции по методам оптимизации

advertisement
Лекции по
методам
оптимизации
Учебное пособие
В пособии описаны различные методы
решения задач безусловной оптимизации
функций
многих переменных, задачи
нелинейного
программирования
при
ограничениях типа неравенств
Министерство образования и науки
Российской федерации
Федеральное государственное бюджетное образовательное учреждение
высшего образования
"Карачаево-Черкесский государственный университет имени У.Д. Алиева"
Физико-математический факультет
Кафедра информатики и вычислительной математики
Лекции по методам
оптимизации
Учебное пособие
В пособии описаны различные методы решения задач безусловной
оптимизации функций многих переменных, задачи нелинейного
программирования при ограничениях типа неравенств
Пособие подготовлено для студентов, обучающихся по направлению
подготовки: 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. Точка
XX
называется
точкой
глобального
минимума (глобального максимума) 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
x1x2 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  t1f ( 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 ( xm1 , xm2 ,..., xn )
x2  2 ( xm1 , xm2 ,..., xn )
x3  3 ( xm1 , xm2 ,..., xn )
.....
xm  m ( xm1 , xm2 ,..., xn )
тогда
можно
утверждать,
что
переменные
xm1 , xm2 ,..., xn
является
независимыми (свободными для выбора), а это означает, что решение задачи
(*) может быть сведено к решению задачи на безусловный экстремум.
Подставим выражение в исходную функцию, получим:
f ( X )  f ( x1 , x2 ,..., xm , xm1 ,..., xn )  f (1 ( xm1 , xm2 ,..., xn ), 2 ( xm1 , xm2 ,..., xn ),..., xm1 ,..., xn ) 
 f ( xm1 , xm2 ,..., xn )
Получена новая функция переменных xm1 , xm2 ,..., xn экстремум которой
требует найти. Поскольку переменные xm1 , xm2 ,..., 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
x1x2 x1x2
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

 y0
 y0
Получена стационарная точка функции X *  (5,0)
Составим матрицу Гессе:
2 f
 4;
x 2
2 f
 2;
xy
2 f
 2;
xy
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  t1f ( 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 2f ( 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  21  0
 x
1

 L( X ,  )
 4 x1  6  1  0

 x 2
  1 ( X )  2 x1  x 2  1  0

Решим полученную систему:
2 x1  2  21  0
2 x1  21  2


 4 x1  6  1  0   4 x1  1  6
 2x  x  1  0
2 x  x  1
2
 1 2
 1

 1  2
 91  18

6  1

 4 x2  1  6   x 2 
4

2 x  x  1

1

x2
2
 1
x 
1

2

(1)  ( 3)
 x2  21  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
x1x2
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 при условии d1 ( 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
4r
2  4r
1 
2 
2r
2r
4r
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
6r
 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
Download