Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Метод циклического покоординатного спуска



Этот метод заключается в последовательной минимизации целе­вой функции f (x) сначала по направлению первого базисного вектора е1, затем второго — е2 и т.д. После окончания минимизации по направ­лению последнего базисного вектора е n цикл повторяется.

Опишем этот алгоритм.

Шаг 0. Выбрать х Î E n,критерий достижения точности (напри­мер, (3.28) или (3.29)), величину e. Найти f(x), положить j= 1.

Шаг 1. Решить задачу одномерной минимизации Ф(a) = f(х + aеj)® min, a Î R, т.е. найти a*. Положить = х +a*еj, вычис­лить f(х).

Шаг 2. Если j < п, то положить х = , j = j +1 и перейти к шагу 1, иначе — перейти к шагу 3.

Шаг 3. Проверить условие достижения точности ||х- || < e

или | f (x) - f ()| <e. Если оно выполняется, то положить х* = , f *=f() и закончить поиск. Иначе — положитьх = , f(х) = f(), j = 1 и перейти к шагу 1.

Замечание. Для приближенного решения вспомогательной задачи одномерной минимизации на шаге 1 алгоритма на практике, как правило, используют метод поразрядного поиска (см. разд. 2.2.2).

Эффективность метода циклического покоординатного спуска существенно зависит от свойств целевой функции.

Пример 3.5. Решить задачу f (x) =x 21 22 ® min, х Î Е 2 методом циклического покоординатного спуска.

Линии уровня этой целевой функции — окружности с центром в начале координат (рис. 3.7). Выберем произвольную начальную точку х, например х=(3,3). Очевидно, два шага исчерпывающего спуска сначала по направлению е1, затем — е2 приведут в точку минимума х* = (0,0).

В примере 3.5 точку минимума функции удалось найти точно за конечное число шагов. Это скорее исключение, чем правило.

Пример 3.6. Решить задачу f (x) = 5 x 21 + 5 х 22 +8 x 1 х 2® min, х Î Е 2 методом циклического покоординатного спуска.

Сначала заметим, что поворот системы координат на угол - 45° (замена переменных x 1 =(y 1+ y 2) / и x 1 =(- y 1+ y 2) / приводит функцию к виду f 1(y) = y 21+9 y 22. Очевидно, линии уровня целевой функции — эллипсы y 21/9+ y 22=c2 (рис. 3.8). Результаты расчетов по приведенному выше алгоритму представлены в табл. 3.2.

Рис. 3.7. К примеру 3.5. Рис. 3.8. К примеру 3.6.

Тaблицa 3.2

Номер итерации   x 1   x 2 f (x)  
    5  
  -4   5  
  -4   3,2   28,8  
  -2,56   3,2   18,43  
  -2,56   2,05   11,8  
5'   -1,64   2,05   7,55  
  -1,64   1,31   4,83  
  -1,05   1,31   3,09  
  -1,05   0,84   1,98  
  -0,67   0,84   1,27  
  -0,67   0,54   0,81  

Из табл. 3.2 и рис. 3.8 видно, что минимизирующая последовательность {х k } сходится к точке минимума х* = (0,0). Однако в отличие от решения за­дачи из примера 3.5 достижение точки минимума за конечное число шагов не гарантируется. Траектория поиска точки минимума в данной задаче имеет ярко выраженный зигзагообразный характер.

Из примера 3.6 видно, что эффективность решения задачи методом циклического покоординатного спуска можно повысить, если дополнить его алгоритм периодически повторяющимся поиском точки минимума в направлениях p i = x i -x i- 1 из точек x i. Так, например, если из точки х4 провести исчерпывающий спуск в направлении p4 = х4 - х2 (координаты точек см. в табл. 3.2), то получим точку (-2,2 ×10-5; 5,6 × 10-3), распо­ложенную значительно ближе к точке минимума х*=(0,0), чем точки х5, х6, х7.

Такой подход, состоящий в последовательном нахождении на­правлений убывания функции и минимизации ее по этим направлени­ям, лежит в основе ряда алгоритмов. Рассмотрим один из них.





Дата публикования: 2015-04-07; Прочитано: 2108 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...