Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Боровский Г.С..doc
Скачиваний:
3
Добавлен:
14.08.2019
Размер:
14.82 Mб
Скачать

5.2 Методы определения локального экстремума функции нескольких переменных

а) Метод Гаусса – Зейделя

Метод поочередного изменения параметров (переменных), или метод покоординатного спуска (подъема).

Суть метода: поочередная оптимизация последовательно по каждой переменной.

Обрабатывается функция n переменных. По каждой переменной задана область изменения. Случайным образом выбирается т. А1 .

А112, х3′ ,…, хn′ => f(х12, х3′,…, хn)

=

х1 рассматривается в целевой функции, а другие переменные фиксируются. Применяется один из рассмотренных ранее методов. Затем находится т.А2.

А1122, х3′ ,…, хn′ => f(х12 , х2, х3′,…, хn)

=

Берется следующая переменная – х2. Целевую функцию рассматриваем как функцию переменной х2 ,остальные переменные фиксируются. Используем один из методов для функции одной переменной и получаем т. А3.

А3=:х1222, х3′ ,…, хn′ и т.д. процесс повторяется.

Характерные черты метода: Спираль выбранных точек имеет прямые углы. Метод обеспечивает поиск только локального экстремума. Результаты анализа целевой функции зависят от первоначально выбранной точки.

Преимущество: простота алгоритмизации. Алгоритм останавливается, когда разница между значениями целевой функции достаточно мала (она задается).

б) Метод градиента(наиболее распространен)

Суть метода: нахождение направления движения, в котором целевая функция наибольшим образом изменяется и осуществление следующего шага в этом направлении.

Градиент функции – вектор, который характеризует направление наибольшего возрастания функции.

Антиградиент – уменьшение функции. grad fN12, ...,хn)=(∂ fN/∂ х1, fN/∂ х2,..., fN/∂ хn ), вычисленный в точке N

fN/∂ х1 = tgα > 0(≤α < 90 *) - значит ∂ fN/∂ х1 = tgα <0 - значит нужно шагать вправо(увеличивать х). нужно шагать вправо(увеличивать х).

fN/∂ х2 = tgβ< 0(≤α > 90 *) - ∂ fN/∂ х2 = tgβ> 0 - значит нужно шагать влево.

значит нужно шагать влево (уменьшать х).

( уменьшить х).

Для max следующая точка хN+1 = xN+ (∂ fN/∂ хn) ∙ h

h- вспомогательная величина.

Если ∂ fN/∂ хn =0 , то в этой точке экстремум.

Для min следующая точка хN+1 = xN- (∂ fN/∂ хn) ∙ h

В случае n- мерного пространства:

_

хi N+1=xiN+(∂fN/∂хin)∙h; i=1,n – max

_ (1)

хi N+1 = xiN - (∂ fN/∂ хi n) ∙ h; i=1, n - min

Алгоритм метода

Случайно выбираемся точка с некоторыми координатами. Затем по формуле (1) рассчитывается следующая точка.

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

Модуль рабочего шага

b=h

Преимущества:

-метод сходится быстрее.

Недостаток:

-необходимость вычислять частные производные.

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

Представляет собой ускоренный метод градиента

При поиске min

f(x1, x2, … xm)- целевая функция

xiN+1=xiN – t ∂f/∂xiN = x(t) i=1, … m

будем считать t – переменной

f(x1(t), x2(t), . . .,xm(t)) = (t), в этом случае целевая функция есть функция одной переменной t.

Составим уравнение =0, найдем t*.

xiN+1=xiN – t* ∂f/∂xiN

чем ближе к min – тем меньше , тем меньше шаг надо делать.

30

- -