Метод покоординатного спуска в задачах без ограничений


Это задача безусловной минимизации, т. е. задача минимизации целевой функции у = f (х1, х2,…, хn) на всем пространстве переменных (на всем евклидовом пространстве). Если требуется решить задачу максимизации, то выражение целевой функции умножают на (– 1) и снова решается задача минимизации.

Суть данного метода заключается в построении последовательности точек х(0), х(1), х(2),…, х(n), монотонно уменьшающих значение целевой функции f (х(0)) ³ f (х(1)) ³ f (х(2)) ³ … ³ f (х(n)).

Согласно этому методу направления спуска выбирается параллельно координатным осям, т. е. сначала спуск осуществляется вдоль первой оси 1 затем вдоль второй оси 2 и т. д. до последней оси n.

Пусть х(0) – начальная точка (рис. 3.11), a – некоторое положительное число. Вычисляют значение целевой функции в этой точке – f (х(0)). Далее вычисляют значение целевой функции при х = х(0) + а и проверяют выполнение неравенства

f (х(0) + а) < f (х(0)).

Если это неравенство справедливо, то вдоль направления оси 0X1 значение функции f уменьшилось, и поэтому полагают x(1) = x(0) + a. Если неравенство не выполняется, то делают шаг в противоположном направлении и проверяют выполнение неравенства

f (х(0)а) < f (х(0)).

В случае выполнения этого неравенства полагают x(1) = x(0) – a. Если оба неравенства не выполняются, то x(1) = x(0).

 

Рис. 3.11. Графическая иллюстрация поиска точки минимума методом
покоординатного спуска

 

Второй шаг производят вдоль координатной оси OX2. Вычисляют значение функции в точке (x(1) + a) и сравнивают его с предыдущим значением, т. е. проверяют выполнение неравенства

f (х(1) + а) < f (х(1)).

Если это неравенство выполняется, то полагают x(2) = x(1) + a. Если оно не выполняется, то делают шаг в противоположном направлении и проверяют выполнение неравенства

f (х(1)а) < f (х(1)).

В случае выполнения последнего неравенства считают, что x(2) = x(1)a. Если оба предыдущих неравенства не выполняются, то принимают x(2) = x(1).

Так перебирают все n направлений координатных осей. На этом первая итерация закончена. На n-м шаге будет получена некоторая точка x(n). Если x(n) ¹ x(0), то аналогично, начиная с x(n) осуществляют вторую итерацию. Если же x(n) = x(0) (это имеет место, если на каждом шаге ни одно из пары неравенств не окажется выполненным), то величину шага нужно уменьшить, взяв, например, an+1 = an/2, и в следующей итерации использовать новое значение величины шага.

Последующие итерации выполняют аналогично. На практике вычисления прекращают при выполнении какого-либо условия окончания счета, например

½f (х)(k + 1)f (х)(k)½< d,

где f (x)(k + 1) – значение целевой функции на (k + 1) итерации; f (x)(k) – значение целевой функции на k-ой итерации; d – некоторое положительное число, характеризующее точность решения исходной задачи минимизации целевой функции.



Дата добавления: 2018-11-26; просмотров: 892;


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

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.