40834

МЕТОДЫ НАХОЖДЕНИЯ МИНИМУМА ФУНКЦИИ ОДНОЙ ПЕРЕМЕННОЙ

Лекция

Математика и математический анализ

Постановка задачи Задача нахождения минимума функции одной переменной minfx нередко возникает в практических приложениях. Кроме того многие методы решения задачи минимизации функции многих переменных сводятся к многократному поиску одномерного минимума. Задача ставится следующим образом: требуется найти такое значение xm из отрезка [ b] при котором достигается минимум функции ym=fxm т.

Русский

2013-10-22

869.5 KB

93 чел.

ТЕМА 6. МЕТОДЫ НАХОЖДЕНИЯ МИНИМУМА ФУНКЦИИ ОДНОЙ ПЕРЕМЕННОЙ

6.1. Постановка задачи

Задача нахождения минимума функции одной переменной minf(x) нередко возникает в практических приложениях. Кроме того, многие методы решения задачи минимизации функции многих переменных сводятся к многократному поиску одномерного минимума. Поэтому разработка все новых, более эффективных одномерных методов оптимизации продолжается и сейчас, несмотря на кажущуюся простоту задачи.

Наиболее часто используемые методы можно разбить на два класса:

1) методы уточнения минимума на заданном интервале [a, b] (метод деления пополам, метод золотого сечения);

2) методы спуска к минимуму из некоторой начальной точки x0 (метод последовательного перебора, метод квадратичной параболы, метод кубической параболы).

Методы из класса 1 предназначены для нахождения условного минимума. Задача ставится следующим образом: требуется найти такое значение xm из отрезка [a, b], при котором достигается минимум функции ym=f(xm), т.е. для любого  выполняется условие .

 Методы из класса 2 предназначены для поиска и уточнения безусловного локального минимума. Задача ставится следующим образом: требуется найти такое значение  при котором достигается локальный минимум , т.е. для любого x из некоторой окрестности  выполняется     ym    f(x). В этом случае при нахождении точки  обычно нет достаточно точной информации о ее положении, более того, локальных минимумов может быть несколько. Поэтому из соображений физического характера задают некоторое начальное приближение x0, с которого начинают спуск к точке минимума.

Нахождение требуемого минимума функции осуществляется в два этапа.

1. Приближенное определение местоположения минимума из анализа таблицы значений функции.

2. Вычисление точки минимума xm c заданной точностью одним из нижеприведенных методов.

6.2. Какие методы минимизации используются?

Метод деления отрезка пополам (MDP)

Задается интервал [a, b] и погрешность e. Вычисляются значения функции в двух точках вблизи середины интервала и отбрасывается та часть интервала, которая содержит точку с большим значением функции. Расчет происходит до тех пор, пока длина интервала не станет меньше заданной погрешности e. Схе

ма алгоритма представлена на рис. 6.1.

В среднем за одно вычисление функции отрезок, на котором находится x, уменьшается примерно в 1.33 раза. Этот метод прост в реализации, позволяет находить минимум разрывной функции, однако требует большого числа вычислений функции для обеспечения заданной точности.

Метод золотого сечения (MZS)

Золотое сечение – это такое деление отрезка [a, b] на две неравные части        [a,  x] и [x, b], при котором имеет место следующее соотношение:

Алгоритм поиска минимума аналогичен вышеописанному MDP и отличается тем, что вначале точки x1 и x2 выбираются так, чтобы выполнялось золотое отношение, и вычисляются значения функции в этих точках.

Затем, после очередного сокращения интервала путем отбрасывания неблагоприятной крайней точки на оставшемся отрезке уже имеется точка, делящая его в золотом отношении (точка x1 на рис. 6.3), известно и значение функции в этой точке. Остается лишь выбрать ей симметричную и вычислить значение функции в этой точке для того, чтобы решить, какую из крайних точек отбросить. Схема алгоритма представлена на рис. 6.2.

За одно вычисление функции отрезок, на котором находится xm, уменьшается в 1-  1.61 раза, т.е. быстрее чем МДР. Данный метод является наилучшим среди методов класса 1.

Метод последовательного перебора (MPP)

 Идея этого метода состоит в том, что, спускаясь из точки x0 с заданным шагом h в направлении уменьшения функции, устанавливают интервал длиной h, на котором находится минимум, и затем его уточняют. Уточнение можно осуществить либо методом золотого сечения, либо повторяя спуск из последней точки, уменьшив шаг и изменив его знак. Алгоритм последнего варианта приведен на рис. 6.4.

Скорость сходимости данного метода существенно зависит от удачного выбора начального приближения x0 и шага h. Шаг h следует выбирать как половину оценки расстояния от x0 до предполагаемого минимума xm.

Метод квадратичной параболы (MP2)

Для ускорения спуска к минимуму из некоторой точки x0 используют локальные свойства функции вблизи этой точки. Так, скорость и направление убывания можно определить по величине и знаку первой производной. Вторая производная характеризует направление выпуклости: если f'' > 0, то функция имеет выпуклость вниз, иначе – вверх. Вблизи локального безусловного минимума дважды дифференцируемая функция всегда выпукла вниз. Поэтому, если вблизи точки минимума функцию аппроксимировать квадратичной параболой, то она будет иметь минимум. Это свойство и используется в методе квадратичной параболы, суть которого в следующем.

Вблизи точки x0 выбираются три точки x1, x2, x3. Вычисляются значения y1, y2, y3. Через эти точки проводится квадратичная парабола: 

   

             (6.1)

  .

Если p>0, то парабола имеет минимум в точке . Следовательно, можно аппроксимировать положение минимума функции значением  и, если точность не достигнута, следующий спуск производить, используя эту новую точку и две предыдущие. Получается последовательность  , сходящаяся к точке . Схема алгоритма представлена на рис. 6.5.

Данный метод сходится очень быстро и является одним из наилучших методов спуска. Следует отметить, однако, что вблизи минимума расчет по приведенным здесь формулам для p и q приводит к накоплению погрешности из-за потери значащих цифр при вычитании близких чисел. Поэтому разные авторы предлагают свои эквивалентные формулы, счет по которым более устойчив. Кроме того, в алгоритм вносятся некоторые поправки, позволяющие предусмотреть различные неприятные ситуации – переполнение, деление на 0, уход от корня.

Метод кубической параболы (MP3)

Данный метод аналогичен предыдущему, но за счет использования аппроксимации кубической параболой имеет более высокую сходимость, если функция допускает простое вычисление производной. При его использовании вблизи точки x0 выбираются две точки x1 и x2 (обычно x1 = x2), вычисляются значения функции y1, y2 и ее производной . Затем через эти точки проводится кубическая парабола, коэффициенты которой определяются таким образом, чтобы совпадали значения производных параболы и функции:

.

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

,

Известно, что кубическая парабола имеет минимум в точке

.

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

Следует отметить, что вблизи точки минимума расчет по приведенным здесь простейшим формулам для p, q не всегда устойчив из-за ошибок округления, поэтому различные авторы рекомендуют использовать несколько преобразованные формулы.

6.3. Варианты заданий

В соответствии со схемой (рис. 6.7) требуется отладить программу определения минимума указанной в таблице функции заданным методом. Сначала на экране выдается таблица значений функции и делается запрос на ввод начального приближения (, или x0, h) для вычисления требуемого локального минимума. В качестве функции Fun использовать метод в соответствии с заданным вариантом. Расчет функции, а также метод нахождения минимума оформить в виде отдельных подпрограмм. Выбрать m и по усмотрению. Все функции из табл. 6.1 на указанном интервале имеют три локальных минимума.

После выполнения расчетов построить график исследуемой функции и проанализировать зависимость количества итераций от ( =10-2, =10-3, =10-4, =10-5 ), для чего встроить в алгоритм счетчик количества вычислений функции.

Таблица 6.1

N вар.

Минимизируемая функция f(x)

Интервал

метод

а

b

1

–3

6

MDP

2

6

3

MZS

3

2

11

MPP

4

0.2

12

MP2

5

4

20

MP3

6

2

10

MDP

7

1

9

MZS

8

9

1

MPP

9

6

10

MP2

10

6

6

MP3

11

2

11

MDP

12

4

4

MZS

13

4

9

MPP

14

8

24

MP2

15

2

18

MP3

6.4. Контрольные вопросы

1. Что такое условный и локальный минимумы, в чем их отличие?

2. В чем суть метода последовательного перебора?

3. Объясните графически, почему метод золотого сечения эффективнее метода деления пополам?

4. Дайте геометрическую интерпретацию методов квадратичной и кубической парабол.

PAGE  56


 

А также другие работы, которые могут Вас заинтересовать

41326. Лабораторная работа Определение скорости полета пули методом баллистического маятника 461 KB
  Приборы: пули свинцовые 5 штук; пневматическое ружье; баллистический маятник; аналитические весы 0001 г; технические весы 1 г; линейка 1 см; секундомер 01 с. где d расстояние от зеркальца до шкалы; n отклонение “зайчика†по шкале; расстояние от оси вращения до точки удара пули; l расстояние от оси вращения до центра тяжести; h высота поднятия цента тяжести;  угол отклонения; масса пули m.
41327. Основные закономерности движения простых колебательных систем. Изучение вынужденных колебаний 123 KB
  Найдем коэффициент возвращающей силы К и модуль Юнга Е. Теперь найдем добротность Q логарифмический декремент затухания  коэффициент затухания  коэффициент трения r частота резонанса Wрез: Итак подытожим результат: Е = 54 109  05 109 с1; К = 58  01 кгс1; W0 = Wрез= 622 с1; Q = 2074;  = 002;  = 02; r = 06.
41328. Измерение ускорения силы тяжести при помощи оборотного маятника Катера и механического секундомера 33.5 KB
  Положение ножа Х см Время с Период с1 67 71 142 84 168 82 915 183 91 183 Примерное значение А  81 см. Проведем измерения при нескольких значениях Х лежащих вблизи А: Положение ножа Х см Период Т1 с1 Период Т2 с1 825 184 183 820 184 181 815 183 181 810 183 180 805 182 179 800 182 179 795 182 179 Установим и измерим расстояние а между подшипниками: а = 8546 42 = 8504 мм. Определим центр инерции: а1 = 225 88 = 137 см Измерение периода колебаний Т I положение маятника: N1 = 100; t1 = 181 c.; N3...
41329. Измерение токов и напряжений 188.76 KB
  Цель работы: сравнение две возможные схемы включения амперметра и вольтметра; определение сопротивления амперметра и вольтметра. Приборы: три реостата (30 Ом, 5А; 30 Ом, 5А; 100 Ом, 2А), амперметр (класс точности 0.2; цена деления 0,05 А), вольтметр (точность 0.2; цена деления 1.5 В), выключатель и два переключателя
41330. Измерение токов и напряжений. Дополнение к лабораторной работе 40.5 KB
  Гадуировка шкалы – до 100 В; установка – до 150 В, относительно всей шкалы. Тогда одно деление равно 150/100 = 1,5 В. Vотсч = 0,5 * 1,5 = 0,75 В
41331. Определение отношения e/m при помощи фокусировки электронного пучка в продольном магнитном поле 219 KB
  Приборы: потенциометр 100 Ом 2А вольтметр градуировка 600 В вся шкала 1200 В класс точности 10 амперметр градуировка 150 А вся шкала 3 А класс точности 05. а Ищем Vград Класс точности = 10; Vград Vномин = 001; Vград = 1200 001 = 12 В Vград = 12 В б Ищем Vотсч Градуировка шкалы до 600 В; установка до 1200 В относительно всей шкалы. Общая формула: а Ищем Iград Класс точности = 05; Iград Iномин = 0005; Iград = 3 0005 = 0015 А Iград = 0015 А б Ищем Iотсч Градуировка шкалы до 150 А; установка до 3...
41332. Определение моментов инерции тела 329.5 KB
  Отчет по работе № 90 “Определение моментов инерции тела” студента 12 группы I курса Василькова Сергея Дмитриевича. Приборы: штангенциркуль (0,05 мм); весы (гиревые) (1 г); секундомер (0,1 с). Изучаемый прибор...
41334. Определение моментов инерции тела. Дополнение к отчету по работе 37 KB
  Момент инерции для известного тела: К = К2 К1 = 0028 0002 кгм2 Параметры известного тела: s = 21375 мм; p = 175 мм; l = 25 мм Аналитическое вычисление:.