АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Градиентный метод с дроблением шага

Читайте также:
  1. ABC-аналіз як метод оптимізації абсолютної величини затрат підприємства
  2. I. ПРЕДМЕТ И МЕТОД
  3. I.ЗАГАЛЬНІ МЕТОДИЧНІ ВКАЗІВКИ
  4. II. Документация как элемент метода бухгалтерского учета
  5. II. МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ДЛЯ СТУДЕНТОВ
  6. II. Методична робота.
  7. II. МЕТОДЫ, ПОДХОДЫ И ПРОЦЕДУРЫ ДИАГНОСТИКИ И ЛЕЧЕНИЯ
  8. II. МЕТОДЫ, ПОДХОДЫ И ПРОЦЕДУРЫ ДИАГНОСТИКИ И ЛЕЧЕНИЯ
  9. III. Mix-методики.
  10. III. ЗАГАЛЬНІ МЕТОДИЧНІ ВКАЗІВКИ ДО ВИКОНАННЯ КОНТРОЛЬНИХ РОБІТ .
  11. III. ИНФОРМАЦИОННО-МЕТОДИЧЕСКАЯ ЧАСТЬ
  12. III. Методы оценки функции почек

В методе градиентного спуска с дроблением шага величина шага aк выбирается так, чтобы было выполнено неравенство:

f(xk-ak )-f(xk)£-dak|| ||2,

где 0<d<1 – произвольно выбранная постоянная (одна и та же для всех итераций). Это требование на выбор шага aк более жесткое, чем условие убывания, но имеет тот же смысл: функция должна убывать от итерации к итерации. Однако при выполнении неравенства функция будет уменьшаться на гарантированную величину, определяемую правой частью неравенства.

Процесс выбора шага протекает следующим образом. Выбираем число a>0, одно и то же для всех итераций. На к-й итерации проверяем выполнение неравенства при aк=a. Если оно выполнено, полагаем aк=a и переходим к следующей итерации. Если нет, то шаг aк дробим, например, уменьшаем каждый раз в два раза, до тех пор, пока оно не выполнится.

 

Схема алгоритма

Шаг 1.

Задаются х0, e3, d и начальное значение шага a. Вычисляется значение градиента – направление поиска. Присваивается к=0.

 

Шаг 2.

Проверяется условие:

f(xk-a )£-da|| ||2.

Если выполняется, то переходим к шагу 3, иначе дробим значение a (a=a/2) и повторяем шаг 2.

 

Шаг 3.

Определяется точка очередного эксперимента: хк+1 = хк - a .

 

Шаг 4.

Вычисляется значение градиента в точке хк+1: .

 

Шаг 5.

Если || ||£e3, то поиск заканчивается, при этом:

 
 

Иначе к=к+1 и переходим к шагу 2.

3. Метод наискорейшего спуска.

 

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

 
 

называется методом наискорейшего спуска. Разумеется, этот способ выбора aк сложнее ранее рассмотренных вариантов.

Реализация метода наискорейшего спуска предполагает решение на каждой итерации довольно трудоемкой вспомогательной задачи одномерной минимизации. Как правило, метод наискорейшего спуска, тем не менее, дает выигрыш в числе машинных операций, поскольку обеспечивает движение с самым выгодным шагом, ибо решение задачи одномерной минимизации связано с дополнительными вычислениями только самой функции f(x), тогда как основное машинное время тратится на вычисление ее градиента .

Следует иметь в виду, что одномерную минимизацию можно производить любым методом одномерной оптимизации, что порождает различные варианты метода наискорейшего спуска.

 

Схема алгоритма

Шаг 1.

Задаются х0, e3. Вычисляется градиент , направление поиска.

Присваивается к=0.

Шаг 2.

Определяется точка очередного эксперимента:

хк+1 = хк - aк ,

 
 

где aк – минимум задачи одномерной минимизации:

Шаг 3.

Вычисляется значение градиента в точке хк+1: .

Шаг 4.

 
 

Если || ||£e3, то поиск точки минимума заканчивается и полагается:

 

Иначе к=к+1 и переход к шагу 2.

 

 

Задание 1. Составить программы, реализующие методы многомерной безусловной минимизации: градиентный метод и метод наискорейшего спуска.

Задание 2. Найти точку минимума целевой функции f(x)=f(x1, x2) с заданной точностью e указанными методами. Начальное приближение x0 и точность e приводятся в условие задачи. Сравнить результаты, полученные разными методами для одной и той же целевой функции (в частности, сравнить число вычислении целевой функции и её производных, понадобившихся для получения заданной точности).

Целевая функция f(x)=f(x1, x2) зависит от двух аргументов.

 

1) Функция f(x) следующего вида: f(x)=ax1+bx2+e c x1+d x2

 

Целевая функция Начальное приближение Точность решения Группа
a b c d
    -1,4 0,01 0,11 (1;0) 0,0001  
    -1,3 0,04 0,12 (0;1) 0,00005  
    -0,5 0,94 0,2 (0;0) 0,0001  

 

2) f(x)=18 x12+12х1+15x22+17 x2+10

Начальное приближение [5; 5], точность решения 0,001. Шаг алгоритма равен 0.001.

 


1 | 2 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)