Методы оптимизации. Учебное пособие-2
.pdf
Пример 12. Найти точки экстремума функции z = x4 + y2.
Решение. Определим стационарные точки функции. Найдем частные производные функции z(x,y) по переменным x и y
z |
4x3, |
z |
2y. |
|
x |
y |
|||
|
|
Приравнивая частные производные к нулю, получим систему уравнений
4x3 = 0
2y = 0
Решая систему, находим точку (0, 0). Проверим, выполняются ли в этой точке достаточные условия экстремума. Для этого найдем вторые производные функции в этой точке.
|
|
2 z |
|
|
2 |
|
|
|(0,0) x2 |
|(0,0) 12x |
|
|(0,0) 0, |
||||
fxx |
|
||||||
|
|
2 z |
|
|
|
|
|
|(0,0) y2 |
|(0,0) 2 |(0,0) 2, |
||||||
f yy |
|||||||
|
|
2 z |
|
|
|
|
|
|(0,0) x y |(0,0) 0. |
|
|
|||||
fxy |
|
|
|||||
Поскольку |
|
|
|
2 |
0 в точке (0, 0), то в этой точке не |
fxx |
f yy |
( fxy ) |
|
выполняются условия теоремы 7, поэтому необходимо применить другие методы исследования. Функция z = x4 + y2 неотрицательна во всей области определения и равна 0 только в точке (0, 0), следовательно, в точке (0,0) функция имеет локальный минимум.
Ответ. Точка (0, 0) – точка локального минимума.
21
2.1.4.Нахождение наибольшего и наименьшего значений функции на замкнутом ограниченном множестве
Пусть функция z = f(x, y) определена и непрерывна в ограниченной замкнутой области D, и требуется найти наименьшее (наибольшее) значение этой функции в области D. По теореме Вейрштрасса найдется принадлежащая области D точка M такая, что в ней функция принимает свое наименьшее (наибольшее) значение. Если точка M лежит внутри области D , то в этой точке функция имеет локальный минимум (максимум), и, следовательно, эта точка является критической точкой функции z = f(x, y). Однако, функция может принимать наименьшее (наибольшее) значение на границе области D. Таким образом, приходим к следующему алгоритму решения рассматриваемой задачи.
Алгоритм нахождения наибольшего и наименьшего значений функции на замкнутом ограниченном множестве D:
1)найти критические точки функции, лежащие внутри ограниченной замкнутой области D;
2)вычислить значения функции в найденных точках;
3)найти наибольшее и наименьшее значения функции на границе области D;
4)среди всех найденных значений выбрать наибольшее и наименьшее значения функции.
Пример 13. Найти наибольшее и наименьшее значения функции z = x2 + 2xy – 3y2 + y в области D, задаваемой системой неравенств
0 ≤ x ≤ 1; 0 ≤ y ≤ 1.
Решение. Область D – квадрат с вершинами A(0; 0), B(0; 1),
C(1; 1), D(1;0) (см. рис. 4).
22
y
C
B
A |
D |
x |
Рис. 4
Найдем критические точки функции, лежащие внутри квадрата. Функция имеет частные производные во всей области определения, поэтому критическими точками будут точки, в которых первые частные производные равны нулю. Найдем частные производные и приравняем их к нулю.
z |
2x 2y; |
z |
2x 6y 1. |
|
x |
y |
|||
|
|
Получим систему для нахождения координат критических точек.
2(x y) 0
2x 6y 1 0
Единственная критическая точка функции имеет координаты (–0,125, 0,125), она не принадлежит области. Поскольку внутри области D нет критических точек, функция принимает наибольшее и наименьшее значения на границе области. Переходим к пункту 3), исследуем функцию на границе области.
Граница области состоит из четырех отрезков – сторон квадрата. Исследуем функцию на каждом участке границы отдельно.
23
Отрезок AB задается уравнением x = 0 и двойным неравенством 0 ≤ y ≤ 1. В силу условия x = 0, функция z = x2 + 2xy – 3y2 + y принимает вид z = –3y2 + y. Найдем наибольшее и наименьшее значения этой функции на отрезке 0 ≤ y ≤ 1. Для этого сначала найдем критические точки функции z = – 3y2 + y на (0, 1).
z´ = – 6y + 1 = 0; y = 1/6.
Точка принадлежит отрезку (0, 1). Вычислим значения функции в этой точке и на концах отрезка:
z(0, 16) 121 ; z(0, 0) = 0; z(0, 1) = –2.
Отрезок BC задается уравнением y = 1 и неравенствами 0 ≤ x ≤ 1. На этом отрезке функция z = x2 + 2xy – 3y2 + y принимает вид z = x2 + + 2x – 2. Найдем наибольшее и наименьшее значения этой функции на отрезке 0 ≤ x ≤ 1. Для этого найдем критические точки функции z(x) = x2 + 2x – 2 на интервале (0, 1).
z´(x) = 2x + 2 = 0; x = –1.
Точка x = –1 не принадлежит отрезку [0,1]. Вычислим значения функции на концах отрезка: z(0, 1) = –2, z(1, 1) = 1.
Отрезок CD задается уравнением x = 1 и неравенствами 0 ≤ y ≤ 1. На этом отрезке функция z = x2 + 2xy – 3y2 + y равна z = – 3y2 +3y +1. Найдем наибольшее и наименьшее значения этой функции на отрезке 0 ≤ y ≤ 1.
z´(y) = – 6y + 3 = 0; y = ½ .
Точка y = ½ принадлежит интервалу (0, 1). Вычислим значения функции в этой точке и на концах отрезка:
z(1, ½) =7/4; z(1, 1) = 1; z(1, 0) = 1.
Наконец, четвертая сторона квадрата – отрезок AD задается уравнением y = 0 и неравенствами 0 ≤ x ≤ 1. Исходная функция z =
24
= x2 + 2xy – 3y2 + y на этом отрезке примет вид z(x) = x2. Найдем наибольшее и наименьшее значения функции z(x) одной переменной x на этом отрезке также как и выше.
z´(x) = 2x = 0; x = 0.
Точка x = 0 принадлежит отрезку [0, 1] и совпадает с концом отрезка. Вычислим значения функции на концах отрезка:
z(0, 0) = 0; z(1, 0) = 1.
Сравнивая вычисленные значения функции, выбираем из них наибольшее 1,75 и наименьшее –2.
Ответ. Наибольшее значение функции равно z(1, 0,5) = 1,75; наименьшее значение функции равно z(0, 1) = –2.
25
2.2. Условный экстремум. Метод множителей Лагранжа
Рассмотрим задачу нахождения условного экстремума функции двух аргументов. Она состоит в нахождении локального максимума (минимума) функции z = f(x, y) при условии, что независимые переменные x, y удовлетворяют следующему ограничению: g(x,y) = 0.
f(x, y) → max |
f(x, y) → min |
g(x,y) = 0. |
|
Эта задача называется задачей на условный экстремум, функция z = f(x, y) называется целевой функцией, функция g(x, y) называется функцией, задающей ограничения.
Определение 9. Точка M0(x0, y0) называется точкой условного максимума (минимума) функции z = f(x, y), если g(x0, y0) = 0 и сущест-
вует такая окрестность этой точки, что для всех точек (x, y) из этой окрестности, удовлетворяющих равенству g(x, y) = 0, выполняется неравенство
f(x0, y0) ≥ f(x, y) (соответственно, f(x0, y0) ≤ f(x, y).
Решение задачи об условном экстремуме может быть найдено методом множителей Лагранжа, который позволяет свести задачу нахождения условного экстремума к задаче нахождения экстремума функции многих переменных.
Метод состоит в построении функции Лагранжа, зависящей от трех аргументов x, y, λ
L(x, y, λ) = f(x, y) + λg(x, y).
(функция Лагранжа равна сумме целевой функции и произведения новой независимой переменной λ, называемой множителем Лагранжа, на функцию ограничений) и нахождении ее экстремума (см. п. 2.1.2). Справедлива следующая теорема.
26
Теорема 8. Пусть функции f(x, y) и g(x, y) непрерывны и имеют непрерывные частные производные первого порядка по переменным x и y. Тогда, если M0(x0, y0) – точка условного экстремума функции f(x, y) и gradf(x0, y0) ≠ 0, то существует единственное число λ0 такое, что в точке (x0, y0, λ0) справедливы равенства:
L(x, y, ) |
0 , |
L(x, y, ) |
0 , |
L(x, y, ) |
0 . |
x |
|
y |
|
|
|
Алгоритм нахождения условного экстремума таков:
1)построить функцию Лагранжа;
2)найти частные производные функции Лагранжа;
3)найти критические точки функции Лагранжа (x0, y0, λ0) как решения системы уравнений:
L(x, y, ) |
0 , |
L(x, y, ) |
0 , |
L(x, y, ) |
0 ; |
x |
|
y |
|
|
|
4)определить является ли точка (x0, y0) точкой условного экстремума.
Пример 14. Найти условный экстремум функции z = (x – 1)2 + + (y + 1)4 + 2 при условии x – 2y – 3 = 0.
Решение. В данной задаче f(x, y) = (x – 1)2 + (y + 1)4 + 2, g(x, y) = x – 2y – 3 = 0.
1) функция Лагранжа имеет вид:
f(x, y) + λg(x, y) = (x – 1)2 + (y + 1)4 + 2 + λ(x – 2y – 3); 2) найдем частные производные функции Лагранжа
L(x, y, ) 2(x 1)x
L(x, y, ) 4( y 1)3 2
y
27
L(x, y, ) (x 2y 3);
3) критическая точка (x0, y0, λ0) находится как решение системы уравнений
2(x – 1) + λ = 0 4(y + 1)3 – 2λ = 0 x – 2y – 3 = 0
Решая указанную систему, получаем x0 = 1, y0 = –1, λ0 = 0;
4) определим, является ли найденная точка (x0, y0) точкой экстремума. Функция f(x, y) = (x – 1)2 + (y + 1)4 + 2 ≥ 2, во всей области определения. В найденной точке: f(1, –1) = 2, следовательно, точка x0 = 1, y0 = –1 является точкой условного минимума.
Ответ: x0 = 1, y0 = –1 – точка условного экстремума, f(1, –1) = 2.
28
2.3. Методы нахождения экстремумов функций многих переменных. Градиентный метод
и метод покоординатного спуска
Рассмотрим задачу о нахождении минимума функции нескольких переменных f(x1, x2,… xn). Одним из методов решения этой задачи является метод покоординатного спуска.
|
Пусть |
из |
некоторых соображений известно, что точка |
|||
(x0 |
, x0 ,... x0 ) |
находится в некоторой |
окрестности искомой точки |
|||
1 |
2 |
n |
|
|
|
|
минимума |
~ |
~ |
~ |
|
|
|
(x1 |
, x2 |
,... xn ) . Метод покоординатного спуска состоит в |
||||
следующем. Рассмотрим точку (x0 |
, x0 |
,... x0 ) . Зафиксируем коорди- |
||||
|
|
|
|
1 |
2 |
n |
наты x2, x3,… |
xn, |
т.е. положим их равными x02 , x30 ,...,xn0 , и будем |
||||
рассматривать функцию f(x1, x2,… xn) как функцию одной перемен-
ной x1. Определим при фиксированных значениях x2 x20 , x3 |
x30 ,... |
||||||||||||||||||||
x |
n |
x0 |
значение x1 |
координаты |
x1, |
|
при |
котором |
функция |
||||||||||||
|
|
n |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
f (x , x0 |
,..., x0 ) |
достигает своего минимума как |
функция |
одной |
|||||||||||||||||
|
|
|
1 |
2 |
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
переменной x1. Далее фиксируем значения |
x |
x1, x |
3 |
x0 |
,... |
x |
n |
x0 |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
1 |
3 |
|
|
n |
||
и ищем точку минимума функции |
f (x1 , x |
2 |
, x0 |
..., x0 ) |
по переменной |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
1 |
|
3 |
|
n |
|
|
|
|
|
|
|
x2, |
|
обзначим ее |
x12 . Проведя эту процедуру n раз, |
|
получим точку |
||||||||||||||||
(x1 |
, x1 |
,..., x1 ) . Значение функции f(x1, x2,… xn) в этой точке меньше, |
|||||||||||||||||||
|
|
1 |
2 |
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
чем зачение в |
|
исходной точке |
(x0 , x0 ,..., x0 ) . |
Теперь в качестве |
|||||||||||||||||
|
|
|
|
|
|
|
|
|
1 |
2 |
|
|
n |
|
|
|
|
|
|
|
|
исходной точки возьмем вместо |
(x0 |
, x0 |
,..., x0 ) |
полученную точку |
|||||||||||||||||
|
|
|
|
|
|
|
|
|
1 |
2 |
|
|
n |
|
|
|
|
|
|
|
|
(x1 |
, x1 |
,..., x1 ) |
и повторим описанную процедуру. |
Получим точку |
|||||||||||||||||
|
|
1 |
2 |
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(x2 |
, x2 |
,...,x2 ) , |
в которой функция |
f(x1, |
|
x2,… |
xn) |
принимает еще |
|||||||||||||
|
1 |
2 |
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
меньшее значение. Определяя последовательно точки (xk |
, xk |
,..., xk ) |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
2 |
|
|
n |
для k = 1, 2, … мы шаг за шагом приближаемся к минимуму функции f (x1, x2 ,... xn ) .
29
Пример 15. Найти минимум функции трех переменных f(x, y, z) = x2 + y2 + z2 (здесь x1 = x, x2 = y, x3 = z).
В качестве исходной точки (x0, y0, z0) возьмем точку (1, 1, 1). Фиксируем значения второй и третьей переменной y = y0 = 1, z = z0 = 1 и ищем точку минимума функции f(x, 1, 1) = x2 + 2. Очевидно, минимум достигается при x = 0, отсюда имеем x1 = 0, Фиксируем теперь x = x1 =0, z = z0 =1 и ищем точку минимума функции f(0, y, 1). Функция имеет минимум при y = 0, т.е. y1 = 0. Наконец, фиксируем x = x1 =0, y = y1 = 0 и находим точку минимума функции f(x1, y1, z) = = f(0, 0, z) = z2 как функции z. Имеем z = 0 и (x1, y1, z1) = (0, 0, 0). Из того, что функция f(x, y, z) = x2 + y2 + z2 является неотрицательной, следует, что найденная точка(x1, y1, z1) = (0, 0, 0) является точкой минимума функции трех переменных f(x, y, z).
В рассмотренном примере мы получили точные координаты точки минимума уже после первого шага метода покоординатного спуска. На практике решение вопроса о минимуме функции одной переменной часто является довольно сложным. Поэтому вместо точного значения координаты xi, i = 1, 2,… n, при котором функция f (x1k , x2k ,..., xik 1, xi , xik 1,..., xnk ) k 1,2,3,... достигает своего минимума, часто берут некоторое приближенное значение, а процедуру покоординатного спуска применяют несколько раз.
Рассмотрим случай функции двух переменных.
Определение 10. Линией уровня функции двух переменных f(x, y) называется кривая, лежащая в плоскости Oxy и задаваемая уравнением f(x, y) = C, где C – некоторая константа, принадлежащая области значений функции f(x, y).
Пример 16. Пусть f(x, y) = (x – 2)2 + (y – 1)2. Область значений функции – полупрямая [0, +∞). Линией уровня для константы C > 0 будет кривая, задаваемая соотношением (x – 2)2 + (y – 1)2 = C, т.е.
окружность с центром в точке (2, 1) и радиусом
C (см. рис. 5).
30
