Популярные услуги

Любая задача по линалу
КМ-3 Важнейшие аспекты теории графов - любой вариант за 3 суток!
Любая задача по математическому анализу и по интегралам и дифференциальным уравнениям
Решу любую задачу
Любая задача по Линейной алгебре и аналитической геометрии
НОМОТЕХ
Предельные теоремы и математическая статистика
Повышение уникальности твоей работе
Любая задача из Демидовича
Сдам любой тест по дискретке в течение суток на положительную оценку!
Главная » Лекции » Математика » Вычислительные методы в информатике » Приближённые методы поиска экстремальных значений функций нескольких переменных

Приближённые методы поиска экстремальных значений функций нескольких переменных

2021-03-09СтудИзба

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

Ограничимся  рассмотрением  функций  двух  переменных  вида  z = f(x,y)которую  будем  считать  имеющей  вторые  частные  производные  по  каждой  независимой  переменной.  Определение  глобальных  и  локальных  экстремумов  для  такой  функции  аналогично  приведенным  выше  определениям  для  функции  одной  переменной.  Отличием  является  то,  что  экстремум  ищется  не  на  отрезке  (как  в  случае  однгой  переменной),  а  в  области  G  изменения  двух  переменных  -  xÎ[ax, bx],  yÎ[ay, by].

Необходимым  условием  наличия  в  некоторой  точке  локального  экстремума  функции   z = f(x,y)  является  равенство  нулю  ее  обеих  частных  производных,  т.е.  требуется,  чтобы  координаты  этой  точки  были  решениями  системы  уранений 

                               .                                                                                             (8.1)

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

                    .                                                         (8.2)

Из  условия    следует  утверждение,  что  знаки    совпадают.

Рекомендуемые материалы

При  этом,   

· функция  имеет  минимум,  если   в  подозрительной  на  экстремум  точке  значение   положительно

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

Если  значение    в  подозрительной  на  экстремум  точке  равно  нулю  -  для  решения  вопроса  о  наличии  в  ней  экстемума  необходимы  более  сложные  исследования.

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

· для  поска  локального  минимума  необходимо  выбирать  область,  внутри  которой  определитель  матрицы  D  является  положительным  и  значение   положительно

· для  поска  локального  максимума  необходимо  выбирать  область,  внутри  которой  определитель  матрицы  D  является  положительным  и  значение   отрицательно.

Метод  сетки   предназначен  для  поиска  глобального  экстремума  функции  в  заданной  области.  Суть  метода  состоит  в  том,  что  вся  область G   {xÎ[ax, bx],  yÎ[ay, by]}  по  каждой  координате  покрывается  “сеткой”  -  множеством  точек,  удаленных  друг  от  друге  на  более  чем  на  величину  заданной  точности  e>0.  Таким  образом,  вся  прямоугольная  область  G  окажется  прокрытой  прямоугольной  сеткой  с  шириной  каждой  ее  ячейки  не  более  величины  e а  затем  в  каждом  узле  такой  сетки  вычисляются  значения  функции.  Далее  из  них  выбирается  минимальное  (или  максимальное),  которое  (вместе  с  соответствующими  ей  значениями  переменных  x  и  y)  и  будет  принято  в  качестве  искомого  значения  глобального  экстремума  заданной  функции  в  заданной  области.  Выбор  шага  разбивки  интервалов  изменения  каждой  независимой  переменной  производится  аналогично  ранее  описанному  случаю  одной  независой  переменной.

Метод  покоординатного  спуска предназначен  для  поиска  локального  экстремума  функции  z=f(x,y)  в  заданной  области.  Для  начала  поиска  необходимо  найти  начальное  приближение  искомой  точки  (x0, y0).   Затем  производится  фиксация  значения  переменной  y  на  значении y  и  поиск  экстремума  функции 

                                            z = f(x, y0) = j(x)                                                                           (8.3)

как  функции  одной  переменной  x.   Ее  экстремум  (в  заданной  области)  находят  в  точке  x1.  Дальше  производится фиксация  значения  переменной  x  на  значении  x1    и  поиск  экстремума  функции

                                           z = f(x1, y) = y(y)                                                                            (8.4)

как  функции  одной  переменной  y.   Ее  экстремум  (в  заданной  области)  находят  в  точке  y1Таким  образом,  от  исходной  точки  (x0, y0)  в  два  этапа  произведен  переход  к  точке  (x1, y1).  Значение  функции  в  ней  ближе  к  искомому  экстремальному  значению.  Повторяя  снова  те  же  действия,  можно  получить  новые  точки  (xi, yi)  (i=2, 3, …),  значения  функции  в  которых  постепенно  и  монотонно  будет  стремиться  к  экстремальному.  Процесс  завершается,  если

                                           max(|xi+1- xi|, |yi+1 - yi|)                                                                    (8.5)

 станет  меньше  заданной  точности.   

Процес  поиска  значения  экстремума  этим  методом  удобно  проводить  с  занесением  результатов   расчетов  в  таблицу  следующего  вида   (в  ней  введено  обозначение  D= Max(| xi+1- xi|, | yi+1- yi|)

i

xi

yi

j( xi+1)=f(xi+1, yi)

xi+1

y( yi+1)=f(xi+1, yi+1)

yi+1

D

0

1

При  использовании  для  расчетов  Excel  для  поиска  минимумов  функций  и  удобно  использовать  опцию  Поиск  решения  из  меню  Сервис.

Пример 2.  Вычислить  методом  покоординатного  спуска  минимум  функции  двух  переменных    z = f(x, y) = 2(x-0.2)2 + (y-0.8)2 + 3   в  области G   {xÎ[0, 4],  yÎ[0, 2]}  с  точностью  0.01.

Анализ заданной  функции  на  наличие  локального  минимума  в  заданной  области  мы  произвели  в  примере  1.  За  начальное  приближение  искомой  точки  минимума  примем  средину  заданной  области.  Таким  образом  имеем  (x0, y0)= (2, 1).

Результаты  расчетов  в  Excel  приведены  в  виде  таблицы

I

xi

yi

jimin

xi+1

ymin

      yi+1

Delta

0

2

1

3,0400

0,2000

3

0,8000

1,8

1

0,2

0,8

3

0,2

3

0,8

0

Решение  найдено  за  два  шага  -  минимум  функции      fmin = 3.000  и  достигается  он  в  точке   xmin = 0.2000  и  ymin =0.8000.

Пример 3.  Вычислить  методом  покоординатного  спуска  минимум  функции  двух  переменных   z = f(x, y) = 2(x+0.1y-0.1)2 + Sin2(0.5x+y-0.5)   в  области  G   {xÎ[0, 1],  yÎ[0, 0.75]}  с  точностью  0.01.

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

                      fx(x,y)=4(x+0.1y-0.1)+0.5Sin(x+2y-1)

                      fy(x,y)=0.4(x+0.1y-0.1)+Sin(x+2y-1)

                      fxx’’(x,y)=4+0.5Cos(x+2y-1)

                      fxy’’(x,y)=0.4+Cos(x+2y-1)

                      fyy’’(x,y)=0.04+Cos(x+2y-1)

                     D= fxx’’ fyy’’-( fyy’’)2=3.22Cos(x+2y-1) – 0.5 Cos2 (x+2y-1)>0

                      fxx’’>0.

Следовательно,  в  области  G   {xÎ[0, 1],  yÎ[0, 0.75]}  заданная  функция  имеет  локальный  минимум.  За  начальное  приближение  искомой  точки  минимума  примем  левый  нижний  угол  этой  области,  т.е.  (x0, y0)= (0, 0).

Результаты  расчетов  в  Excel  приведены  в  виде  таблицы

I

xi

yi

jimin n

xi+1

ymin

       yi+1

Delta

0

0,0000

0,0000

0,1715

0,1905

0,0336

0,3791

0,3791

1

0,1905

0,3791

0,0072

0,0820

0,0015

0,4535

0,1085

2

0,0820

0,4535

0,0003

0,0589

0,0001

0,4694

0,0231

3

0,0589

0,4694

0,0000

0,0540

0,0000

0,4728

0,0049

Решение  найдено  за  четыре  шага  -  минимум  функции  fmin = 0.000  и  достигается  он  в  точке   xmin = 0.0540  и  ymin = 0.4728.

Метод  найскорейшего  спуска  предназначен  для  поиска  локального  экстремума  функции  z = f(x,y)  в  заданной  области.  В  отличие  от  метода  покоординатного  спуска,  движение  к  точке  экстремума  ведется  не  по  координатным  линиям,  а  по  направлению  наиболешего  изменения  значения  функции.  Такое  направление  задается  вектором,  называемым  градиентом  функции.  Этот  вектор,  обозначаемый  ,  состоит  из  двух  компонент.  Они  равны  значениям  частных  производных  функции  f  по  каждой  из  двух  независимых  переменных,  т.е.

                                                      .                                                                  (8.6)

Движение  в  направлении  этого  вектора  (градиента)  производит  к  наиболее  быстрому  возрастанию  значений  функции,  а  в  протовоположном  направлении  (в  направлении  антиградиента,  т.е.  вектора  -)  -  к  наиболее  быстрому  убыванию  ее  значений.  Обозначим  через   вектор  задающий  напрвление  наиюолее  быстрого  движения  к  экструмуму  (т.е.  градиент  или  антиградиент).

 Для  начала  поиска  необходимо  найти  начальное  приближение  искомой  точки,  которое  представим  в  виде  вектора   с  координатами  (x0, y0)Т.  Затем  вычислим  в этой  точке  значения  координат   вектора    и   вектор  движения  вдоль  него  в  сторону  экстремума  с  точки   (x0, y0).  Это  направление  зададим  вектором    следующего  вида

                                             ,                                                                   (8.7)

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

                .        (8.8)

В  этой  формуле  знак   “±”   необходимо  заменить  на  “+”  при  поиске  максимума,   и  на  “-“  при  поиске  минимума.   Подставляя  полученные  таким  образом  выражения  для  координат  x  и  y  в  исходную  функцию,  получим

           .                                  (8.9)

Таким  образом,  мы  получили  функцию  от  одной  переменной  t.   Найдя  ее  экстремум  (минимум  или  максимум,   исходя  из  задания),  мы  найдем  точку  достижения  этого  экстремума  и  обозначим  ее  через  t1.  Подставляя  затем  это  значение  t = t1  в  формулу  (8.8),  получим  следующее  приближение   с  координатами  (x1, y1)Т

                                      .                                          (8.10)

Таким  образом,  от  исходной  точки  (x0, y0)  произведен  переход  к  точке  (x1, y1).  Значение  функции  в  ней  ближе  к  искомому  экстремальному  значению.

Аналогично  вышеописаному,  в  точке     снова  найдем  значение  градиента  функции,  вычислим  координаты  вектора    и  координаты  вектора  движения  вдоль  него.   Затем  подставим  их  в  заданную  функцию  и  приведем  ее  к  функции  одной  независимой  переменной.  Найдем  ее  экстремум  в  точке  t2   и  найдем  точку  (x2, y2).  Повторяя  снова  те  же  действия,  можно  получить  новые  точки  (xi, yi)  (i=3, 4, …),  значения  функции  в  которых  постепенно  и  монотонно  будет  стремиться  к  экстремальному.  Этот  процесс  завершается,  если  следующая  точка  будет  мало  отличаться  от  предыдущей.  Точнее  это  можно  выразить  так,  что  должно  быть  max(|xi+1 - xi|, |yi+1 - yi|)  меньше  заданной  точности.  Результаты  расчетов  удобно  представлять  в  виде,  приведенном  в  нижеследующем  примере.

Пример 4.  Вычислить  методом  найскорейшего  спуска  минимум  функции  двух  переменных   z = f(x, y) = x2 + 5y2   в  области  G   {xÎ[-1, 1],  yÎ[-2, 3]}  с  точностью  0.01.

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

                      fx(x,y)=2x;                  fy(x,y)=10y;

                      fxx’’(x,y)=2;            fxy’’(x,y)=0;              fyy’’(x,y)=10.

                     D= fxx’’ fyy’’-( fyy’’)2=20>0;

                      fxx’’>0.

Следовательно,  в  области  G   {xÎ[-1, 1],  yÎ[-2, 3]}  заданная  функция  имеет  локальный  минимум.  За  начальное  приближение  искомой  точки  минимума  примем  правый  верхний  угол  области  -  (x0, y0)= (1, 3).

Результаты  расчетов  в  Excel  приведены  в  виде  таблицы

i

xi

yi

fx'(xi,yi)

fy'(xi,yi)

Фmin

ti+1

xi+1

yi+1

Delta

0

1

3

2,0000

30,0000

0,6394

0,10036

0,7993

-0,0107

3,01066

1

0,7993

-0,0107

1,5986

-0,1066

0,0089

0,49130

0,0139

0,0417

0,78539

2

0,0139

0,0417

0,0278

0,4170

0,0001

0,10036

0,0111

-0,0001

0,04185

3

0,0111

-0,0001

0,0222

-0,0015

0,0000

0,49130

0,0002

0,0006

0,01092

4

0,0002

0,0006

0,0004

0,0058

0,0000

"8 - Использование алгоритмов" - тут тоже много полезного для Вас.

0,10036

0,0002

0,0000

0,00058

Решение  найдено  за  пять  шагов  -  минимум  функции   fmin = 0.000  и  достигается  он  в  точке   xmin = 0.0002  и  ymin = 0.0000.

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5167
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее