Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 1549

.pdf
Скачиваний:
4
Добавлен:
30.04.2022
Размер:
1.36 Mб
Скачать

5. МЕТОДЫ ПРЯМОГО ПОИСКА ДЛЯ ФУНКЦИИ НЕСКОЛЬКИХ ПЕРЕМЕННЫХ

При использовании методов прямого поиска экстремума функции нескольких переменных используются только значения функции. Таких методов разработано достаточно много, однако ниже будут рассмотрены два из них, применение которых дает наилучшие результаты при исследовании технологических процессов.

Если существует функция двух переменных, график которой может быть представлен в виде поверхности, имеющей минимум или максимум при некоторых значениях переменных x и y (рис. 5.1), то можно построить линии постоянного уровня (рис. 5.2), а экстремум функции при этом будет находиться в точке с координатами (x*, y*).При этом линией постоянного уровня называется кривая (замкнутая или нет) в двухмерном сечении трехмерного пространства, значение функции на которой - величина постоянная.

Простейшим методом прямого поиска экстремума функции является метод покоординатного спуска. В этом случае некоторая точка А на плоскости (x; y) и из нее производится поиск экстремума в направлении одной из осей (в нашем случае это ось x). Таким образом определяется точка В, в которой касательная к линии постоянного уровня z1 параллельна оси x (рис. 5.2). Из точки В производится поиск экстремума в направлении другой оси. Т.о. определяют точку С, из которой определяется точка О и т.д. Процесс поиска продолжается до тех пор пока не будет достигнута точка экстремума zэкст. Для такого способа поиска экстремума вдоль оси может быть применен любой метод, описанный выше. Однако, как показывает практика, данный подход эффективен лишь при единственном экстремуме функции. Поэтому было разработано несколько методов, которые обеспечивают более эффективный способ поиска на основе уже полученных ранее значений функции.

Следует отметить, что проверку эффективности работы таких методов производят на нескольких "тестовых" функциях:

1) функция Розенборка

 

 

 

 

 

 

 

z

f (x; y)

100( y

 

x 2 )

(1

x) 2

 

 

 

 

 

(5.1)

zэкст = (1; 1); это ряд значений от 0,1 до 1 с шагом 0,1;

 

 

 

 

2) функция Пауэлла

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z f (x ; x

2

; x

3

; x

4

)

(x

10x

2

)2

5(x

3

x

4

)2

(x

2

2x

3

)

4 10(x

x

4

) 4

(5.2)

1

 

 

 

1

 

 

 

 

 

 

 

 

1

 

 

 

zэкст наблюдается в точке с координатами (0; 0; 0; 0);

 

 

 

 

3) экспоненциальная функция

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

z f (x; y)

(e ax

e ay ) (e a

 

e 10a )

,

 

 

 

(5.3)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

0,1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где а = 0,1;1) с шагом 0,1.

Экстремум наблюдается в точке (1;10).

2

Рис.5.1. Поверхность, описываемая функцией двух переменных. 1 - линии постоянного уровня.

2

Рис.5.2.График функции z = f(x, y) в виде линий постоянного уровня.

5.1. Метод поиска по образцу

Данный метод, разработанный около 40 лет назад, до сих пор представляет один из наиболее эффективных способов поиска экстремальных решений. Метод заключается в поиске экстремума вокруг базисной точки и если он дает положительные результаты, то дальше происходит поиск по образцу. Метод заключается в выполнении следующих вычислений:

1. Если происходит поиск экстремума функции n переменных y = f(x1, x2,...xn), то на первом этапе определяется базисная или начальная точка A1 и шаг li для каждой переменной xi, i [1; n]. При этом следует отметить, что шаг li может быть как различным, так и одинаковым для переменных xi.

2. Прводится исследование поведения функции y = f(x) в базисной точке A1 и ее окрестностях. Для этого:

2.1.Вычисляется значение функции в базисной точке y = f(A1).

2.2.Каждая переменная xi изменяется на величину шага, т.е. вычисляется значение функции:

f(A1 + l1e1)

(5.4)

где l1 - величина шага вдоль направления оси X1;

При этом исследуется поведение функции в окрестностях базисной точки и применяется решение о переносе базисной точки, которое зависит от характера определяемого экстремума (табл. 5.1).

2.3. Если на предыдущем этапе не удалось найти вторую базисную точку A2, т.е. A2 = A1, то исследование функции повторяется вокруг базисной точки A1 (п.2.1. и 2.2), но при этом длину шага li; уменьшают в 10 раз.

 

 

 

Таблица 5.1.

 

Выбор базисной точки по выражению (5.4)

Определяется максимум функции

Определяется минимум функции

1. Если f(A1)

f(A1 + l1e1), то А1 заменяется

1. Если f(A1)

f(A1 + l1e1), то А1 заменяется

на A2 = A1 + l1e1.

на A2 = A1 + l1e1.

2. Если f(A1)

f(A1 + l1e1), то производится

2. Если f(A1)

f(A1 + l1e1), то производится

вычисление f(A1 - l1e1). При этом, если f(A1)

вычисление f(A1 - l1e1). При этом, если f(A1)

f(A1 - l1e1), то в качестве базисной точки

f(A1 - l1e1), то в качестве базисной точки

выбирается A2 = A1 - l1e1.

выбирается A2 = A1 - l1e1.

3. Если по пп. 1 и 2 не удается найти путь

3. Если по пп. 1 и 2 не удается найти путь

увеличения функции, то A1 остается неиз-

уменьшения функции, то A1 остается неиз-

менной; производится исследование функ-

менной; производится исследование функ-

ции вдоль оси Х2 (вычисляются значения

ции вдоль оси Х2 (вычисляются значения

f(A1 + l2e2) и т.д. до получения искомого ре-

f(A1 + l2e2) и т.д. до получения положитель-

зультата).

 

ного результата).

4. Процесс исследования заканчивается как

4. Процесс исследования заканчивается как

только определено положение второй ба-

только определено положение второй ба-

зисной точки А2, в направлении которой

зисной точки А2, в направлении которой

происходит увеличение функции.

происходит увеличение функции.

3. После определения второй базисной точки A2 проводится "поиск по образцу", при котором используется информация, полученная в п. 2. Экстремум функции ищется в направлении, которое задано образцом.

3.1. Вычисляется значение функции в направлении A2 - A1. Точку для исследований называют точкой образца. Она определяется как:

P1 = A1 + 2(A2 - A1)

(5.5)

или в общем случае:

 

Pi = Ai + 2(Ai+1 - Ai)

(5.6)

3.2.На этом этапе продолжают исследования вокруг точки P1 или Pi; 3.3.Если при поиске минимума наименьшее значение функции по п. 3.2.

меньше значения в базисной точке A2 (или Ai+1), то получают новую базисную точку A3 (или Ai+2), после этого повторяют п.3.1. В противном случае поиск по образцу из точки A2 (или Ai+1) не производится, а исследовани6е продолжается в точке A2 (Ai+1). Если определяется максимум функции, то в случае если наибольшее значение функции по п. 3.2. больше значения в базисной точке A2 (Ai+1), то переходим к новой базисной точке A3 (Ai+2) и повторяем вычисления по п. 3.1. В противном случае поиск по образцу из точки A2 (Ai+1) не производим, а исследования продолжаем в базисной точке A2 (Ai+1).

4. Процесс поиска экстремума функции прекращается, когда длина шага li, или длина шагов, будут равны заданному малому значению h.

6.ЛАБОРАТОРНЫЙ ПРАКТИКУМ

6.1.Лабораторная работа № 1. Определение экстремума функции одной переменной

Цель работы. Теоретическое изучение и получение практических навыков в определении экстремумов функции одной переменной классическим методом.

ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Функция f(x) действительной переменной x имеет локальный минимум в точке xo, если существует некоторая положительная величина , такая, что если x-xo < , то f(x) f(xо), т.е. если существует окрестность точки xo, такая, что для всех значений x в этой окрестности величина f(x) больше f(xo). Функция f(x) имеет глобальный минимум в точке xmin, если для всех x справедливо неравенство f(x) f(xmin). С другой стороны функция f(x) имеет локальный максимум в точке xk, если существует некоторая положительная величина , такая, что x-xo < , то f(x) f(xk) , т.е. если существует окрестность точки xk, для которой при всех значениях x в этой окрестности величина f(x) меньше f(xk). Функция f(x) имеет глобальный максимум в точке xmax, если для всех x справедливо неравенство f(x) f(xmax).

На рис. 6.1. дано графическое представление функции f(x), которая имеет локальный минимум в точке xo и глобальный минимум в точке xmin.

На рис.6.2. дано графическое отображение функции f(x), имеющей локальный и глобальный максимумы в точках xk, xmax.

Классический метод нахождения точек экстремума (точки xo, xmin, x на рис. 6.1 и точки xk, xmax, xi на рис.6.2) заключается в поиске уравнений, решением которых являются эти точки. Функции f(x), представленные на рис. 6.1 и 6.2, и их производные непрерывны, а в точках экстремума первая производная f (x) равна нулю. Т.о. точки экстремума функции f(x) являются решениями

уравнения:

 

f (x) = 0

(6.1)

При этом необходимо отметить, что решением уравнения (6.1) являются не только точки минимума и максимума функции f(x) (xo, xmin, xi на рис.6.1), но и точка горизонтального перегиба функции xc. Отсюда видно, что уравнение (6.1) является только необходимым условием экстремума, но не является достаточным.

Для определения характера экстремума возникает необходимость рассмотрения более высоких производных функции f(x). В точках локального и глобального минимума (рис. 6.1) xo, xmin первая производная функции f`(x) меняет знак с отрицательного на положительный; в точке xi (рис. 6.1) - с положительного на отрицательный, а в точке xc знак производной не меняется. Т.о. можно сделать вывод о том, что первая производная в минимуме является воз-

растающей функцией, а так как степень возрастания f`(x) измеряется второй производной, то для минимума функции f(x) справедливо неравенство f (xo)>0 , f (xmin) > 0. Аналогично, для точки максимума xi функции f(x): f (xi) < 0.

Рис.6.1. Графическое представление функции f(x) имеющей локальные и глобальные минимумы в xo и xmin и локальный максимум в xi.

Рис.6.2. Функция f(x) с локальным в xk и глобальным в xmax максимумами и локальным минимумом в xi.

Для определения различия между локальными и глобальными экстремумами необходимо сравнивать значения функции в точках минимума и макси-

мума f(x0) , f(xmin) , f(xi) (рис. 6.1).

Аналогично, данную задачу можно решить, используя разложение функции в ряд Тейлора в окрестностях точки экстремума x0 (xmin, xi) (рис.6.1). Для точки x0 функции f(x) можно записать:

 

 

 

 

h2

h3

 

f (x h)

f (x0 )

hf (x0 )

 

 

f (x0 )

 

f (x0 )

... , (6.2)

2!

3!

 

 

 

 

 

 

При этом если в т. x0

достигается минимум, то левая часть уравнения

(6.2) отвечает неравенству f(x0 + h) - f(x0)

0 для любого достаточно малого

значения h: /h/< .

 

 

 

 

 

 

 

 

Неравенство для случая, если в т. x0

достигается максимум.

Выглядит

следующим образом: (x0 +h) - f(x0)

0.

 

 

 

 

 

 

Можно сформулировать следующее правило определения характера экстремума функции:

Если функция f(x) и ее производные непрерывны, то точка x0 является точкой экстремума только в том случае, если порядок первой не обращающей-

ся в нуль в точке производной n - четное число. При этом если f(x0) > 0, то в т. x0 достигается максимум, а если f(x0) > 0 - минимум.

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ 1.Задание на лабораторную работу студент выбирает из таблицы 6.1 в со-

ответствии со своим порядковым номером в списке группы.

2.Опираясь на теоретические сведения, приведенные выше, студент вычисляет первую производную исходной функции и определяет значение точек экстремума из уравнения (1).

3.Производится вычисление второй производной функции и определяется характер точек экстремума.

4.Определяются точки глобального минимума и максимума функции. Все результаты расчетов по п. 1 - 4 сводятся в табл.6.2.

5.Составляется алгоритм вычисления 1-й и 2-й производной исходной функции и поиска точек экстремума. Блок-схема алгоритма приводится в отчете.

6.Составляется программа на языке программирования для построения кривой исходной функции. Производится проверка результатов, полученных в п. 3-4.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 6.1

 

 

 

 

 

 

 

Исходные функции

 

 

 

 

 

 

 

 

№ п/п

 

Функция

 

№ п/п

Функция

 

1

4x3

 

4x2

 

x 1

15

x4 14x3

 

60x2 16

 

2

x3

6x2

4x 5

16

2x4

7x3

4x2

 

3

x3

 

2x2

 

x 1

17

5x 2

lg x

 

 

4

x4 x3

 

2x2

 

18

x 3

x lg x

 

5

2x4

2x3

6x2

1

19

 

x2

 

e x

 

 

6

x

2x

 

5x

 

7

20

 

x 2

1

 

 

 

 

4

 

 

3

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e x

 

 

7

x3

 

3,5x 2 4x

21

1

x lg x

e x

 

8

0,3x 3

3,5x 2

 

12x

7,1

22

 

e

x sh(

x

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

9

0,2x 3

1,6x 2

8,4x

0,5

23

e x

Sinx

 

10

x 3

6x 2

 

28x

3,1

24

e x

Cosx

 

11

0,3x3

 

6x 2

 

10x

5

25

 

x(x 1)3

 

 

12

0,3x3

 

6x 2

 

10x

5

26

3x2

Sin2 x

 

13

 

x(x

1) 2

 

 

27

2x

Cosx

 

14

 

 

 

x

 

 

 

 

28

1

Sin2 x

 

 

 

 

 

x 2

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 6.2

 

 

 

 

 

Результаты расчетов

 

 

 

 

 

f(x)

f'(x

f"(x)

 

 

Точки минимума

Точки максимума

 

 

)

 

x1min

x2min

ximin

f(x1min)

f(x2min )

f(ximin )

x1max

x2max

ximax

f(ximax )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

СОДЕРЖАНИЕ ОТЧЕТА Отчет оформляется в тетради для лабораторных работ грамотно и акку-

ратно. Он должен содержать следующие разделы:

1.Название и цель работы, краткие теоретические сведения о классическом методе поиска экстремума функции одной переменной.

2.Исходная функция, ее первые и вторые производные, точки экстремума (табл.6.2).

3.Блок-схема алгоритма.

4.Распечатка программы вычисления производных и построения графика функции и результаты расчета.

5.Сравнение результатов расчета "вручную" и на ЭВМ.

6.Выводы по работе.

КОНТРОЛЬНЫЕ ВОПРОСЫ

1.Сформулируйте правило поиска экстремума функции классическим методом.

2.Необходимое и достаточное условие экстремума функции.

3.Для какого типа переменных и функций применим данный метод.

6.2. Лабораторная работа № 2. Определение экстремума функции методом Ньютона

Цель работы: Теоретическое изучение и получение практических навыков численного решения дифференциальных уравнений методом Ньютона. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Если существует функция f(x) действительной переменной x непрерывная в каждой точке своей области определения и ее производная f’(x), то для приближенного решения уравнения f’(x) = 0 (т.е. для нахождения точек экстремума) можно построить приблизительный эскиз кривой y = f’(x). При этом можно найти два значения а и в, таких, что f`(a), f`(b) имеют противоположные знаки, то тогда в силу непрерывности функции и ее производной, существует корень С уравнения f`(x) = 0, отвечающий условию:

a < c < b (6.3)

Это утверждение можно проиллюстрировать рисунком 6.3.

В прямоугольной системе координат изобразим график функции y = f`(x) (рис.6.4). Решением уравнения y = f’(x) = 0 является точка К с координатами (xk,0), которые необходимо определить. В точке Р, принадлежащей кривой f’(x), проведем касательную к этой кривой - прямую РТ. Проекцией точки Р на ось абсцисс является точка А с координатами (x0,0). Можно сказать, что точка

А является аппроксимацией точки К, а значение координаты x0 - аппроксимацией корня уравнения y = f’(x) = 0. Однако из анализа рис. 6.4. можно сделать вывод, что точка Т с координатами (x1,0) аппроксимирует корень, лежащий в точке К лучше, чем точка А.

Для точки Т можно записать следующее равенство:

 

OT = OA - TA = x0 – TA

(6.4)

С другой стороны для касательной РТ к кривой f`(x) справедливо

 

 

PA

tg f (x 0 )

(6.5)

 

 

 

TA

 

 

 

Рис.6.3. Определение корня уравнения кривой y = f’(x).

Рис.6.4. Аппроксимация корня дифференциального уравнения Проведя преобразования выражения (6.5) можно записать:

TA

 

PA

 

 

f (x

0 )

(6.6)

 

f (x0 )

 

f (x

0 )

 

 

 

 

В равенстве (6.4), заменив длину отрезка ОТ на координаты точки Т, по-

лучим:

 

 

 

 

 

 

 

 

 

 

x1 = x0 - TA

 

(6.7)

Подставив в (6.7) выражение (6.6), имеем:

 

 

x1

 

x0

 

f (x0 )

 

 

(6.8)

 

 

f

(x0 )

 

 

 

 

 

 

 

Как видно из выражения (6.8) можно определить координату точки Т, являющейся аппроксимацией корня К с определенной точностью.

Для повышения точности аппроксимации в точке Т восстанавливают перпендикуляр к оси абсцисс (рис.6.4), который пересекается с кривой y = f`(x) в точке P1 . В этой точке строят вторую касательную к кривой f`(x), которая пересекает ось абсцисс в точке T1. После этого вся последовательность аппроксимации повторяется:

x 2

x1

f (x1 )

(6.9)

f

(x1 )

 

 

 

Количество аппроксимаций зависит от требуемой степени точности результата и в общем виде записывается как:

xi

xi 1

f (xi 1 )

(6.10)

f

(xi 1 )

 

 

 

Точность аппроксимаций определяется требуемой точностью результата по соотношению:

e xi x i 1

где e - требуемая точность результата.

Если начальная аппроксимация корня выбрана расхождение результата аппроксимаций (рис. 6.5)

(6.11)

неудачно, то возможно

Y

 

 

 

 

P

 

y = f'(x)

 

P2

 

 

0

 

T1

 

 

 

0

T0

T2

X

P1

 

 

 

Рис.6.5. Расходящаяся аппроксимация

После того как было найдено решение xk уравнения f`(x) = 0 определяется знак второй производной f``(x) в этой точке: