Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metody_optimizatsii_Ekz_vopr_2014_2015.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
192.51 Кб
Скачать

11. Поиск экстремума функции нескольких переменных. Метод Хука-Дживса: стратегия поиска и алгоритм.

Метод включает два этапа: исследующий поиск вокруг базисной точки и поиск по образцу в направлении, выбранном для минимизации. В исследующем поиске задается начальное приближение X(1) и приращения по координатам DX. Рассчитывается значение f(X(1)) в базисной точке. Затем в циклическом порядке совершаются пробные шаги. Если приращение улучшает целевую функцию, то шаг считается удачным. По этой переменной значение изменяется на величину шага и дается приращение по другой переменной Иначе - неудачным и делается шаг в противоположном направлении. И если он тоже оказался неудачным, то значение этой переменной оставляют без изменения, и дается приращение по другой переменой и т.д. пока не будут изменены все независимые переменные. На этом завершается первый исследующий поиск, найдена точка X(2). Поиск по образцу осуществляется вдоль направления, соединяющего X(2) и X(1). Совершается один или несколько шагов до тех пор, пока шаги являются удачными.

Алгоритм:

Шаг 1: Определяются координаты начальной точки  ;

Величина приращения переменных

Коэффициент уменьшения шага 

Параметр окончания цикла 

Шаг 2:Выполнить процедуру исследующего поиска. Поиск начинается из начальной точки, поочередно изменяется одна изvarпеременных. Значение остальных фиксируется напрежнемуровне. Если значение целевой функции в пробной точке оказывается меньше, чем в исходной, то шаг поиска по этой переменной рассматривают как успешный, в противном случае необходимо вернуться в предыдущую точку и сделать шаг в противоположном направлении, с последующей проверкой значения целевой функции. После последовательного перебора всехvarпеременных, исследование точек завершается. Полученную в результате него точку в пространствеvarпарам называют базовой точкой. Если поиск новой базовой точки оказался удачным, осуществляется переход к выполнению шага 4, в противном случае к шагу 3.

Шаг 3:Производится проверка на завершение поиска экстремума, с этой целью выполняет.проверка рав-ва:  –норма приращвект

Если оно выполняется, то поиск прекращается, иначе приращение всех переменных уменьшается по формуле: 

После чего осуществляется переход к шагу 2.

Шаг 4:Выполняется поиск по образцу. Заключающийся в реализации единственного шага из полученной базовой точки вдоль прямой, соединяющей эту точку с предыдущей базовой точкой. Новая точка образуется в соотв со след формулой: 

Шаг 5:Выполняется исследование точек, в котором   используется в качестве базовой точки. Пусть  , полученная в рещзультате такого поиска новая базовая точка.

Шаг 6:Проверяется выполнение рав-ва Если выполняется, то просится переиндексация  После чего осуществляется переход к шагу 4. Если не выполняется, осуществляется переход к шагу 3, минуя операцию переиндексации.

12. Поиск экстремума функции нескольких переменных. Адаптивный метод случайного поиска: стратегия поиска и алгоритм

Стратегия поиска

Задается начальная точка x0. Каждая последующая точка находится по формуле:

xk+1= xk + tk ξk

где tk > 0 – величина шага; xk – случайный вектор единичной длины (определяется в n-мерном пространстве и предполагается, что он с равной степенью вероятности может принимать любое направление в этом пространстве), определяющий направление поиска; k– номер итерации. На текущей итерации при помощи генерирования случайных векторов xk получаются точки, лежащие на гиперсфере радиуса tk с центром в точке xk (рисунок 1). Если значение функции в полученной точке не меньше, чем в центре, шаг считается неудачным (точки y1, y2 при поиске из x0; y1, y3 при поиске из x1). Если число неудачных шагов из текущей точки достигает некоторого числа М, дальнейший поиск продолжается из той же точки, но с меньшим шагом до тех пор, пока он не станет меньше заранее заданной величины R. Если же значение функции в полученной точке меньше, чем в центре, шаг считается и в найденном направлении делается увеличенный шаг, играющий роль ускоряющего шага. Если при этом значение функции снова меньше, чем в центре, направление считается удачным и дальнейший поиск продолжается из этой точки (точки z3 = x1 при поиске из x0, z4 = x2 при поиске из x1). Если же значение функции стало не меньше, чем в центре, направление считается неудачным и поиск продолжается из старого центра (в точке y2 при поиске из x1 функция меньше, чем в x1, а в точке z2 уже не меньше, поэтому направление (z2 – x1) неудачное).

Алгоритм

Шаг 1. Задаем начальную точку x0, коэффициенты расширения a≥1 и 0<b<1, M – максимальное число неудачно выполненных испытаний на текущей итерации, t0 = 1 – начальную величину шага, R – минимальную величину шага, N – максимальное число итераций. Полагаем k=0, j=1.

Шаг 2. Получаем случайный вектор

 где xij – случайная величина, равномерно распределенная на интервале [–1, 1].

Шаг 3. Вычисляем

Шаг 4. Проверяем выполнение условий

а) если f(yj) < f(xk), шаг удачный. Полагаем zj = xk + a(yjxk). Определяем, является ли текущее направление yjxk удачным:

-  если f(zj) < f(xk), направление поиска удачное. Полагаем xk+1 = zj, tk+1 = atk, k=k+1 и проверяем условие окончания. Если k<N, полагаем j=1 и переходим к шагу 2. Если k=N, поиск завершаем: x*xk;

-  если f(zj) ≥ f(xk), направление поиска неудачное, переходим к шагу 5;

б) если f(yj) ≥ f(xk), шаг неудачный и переходим к шагу 5.

Шаг 5. Оцениваем число неудачных шагов из текущей точки:

а) если j<М, полагаем j= j + 1 и переходим к шагу 2;

б) если j=М, проверяем условие окончания:

-  если tkR, процесс заканчивается: x*xk, f(x*) ≈ f(xk);

-  если tk> R, полагаем tk= btk, j=1 и переходим к шагу 2.

Замечания:

1. Величина xij, равномерно распределенная на интервале [–1, 1], генерируется обычно с помощью датчиков псевдослучайных чисел на ЭВМ. Вырабатывается случайная величина hij, равномерно распределенная на интервале [0, 1], а затем используется линейное преобразование: xij = 2hij – 1.

2. Рекомендуются следующие параметры алгоритма: a = 1,618; b = 0,618; М = 3n. Начальный шаг t0R можно задать произвольно.

3. Если выполнено условие окончания tkR, то в качестве ответа можно использовать любую точку внутри шара с радиусом tk и центром в точке xk

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]