Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на вопросы по СА и ИО1.doc
Скачиваний:
14
Добавлен:
01.03.2025
Размер:
6.8 Mб
Скачать

Алгоритм с обратным шагом

Он построен путем модификации предыдущего алгоритма с целью уменьшить число розыгрышей направлений. Внесено следующее изменение: если сгенерированное направление неудачное, то после возврата в исходную точку Xk делается шаг в противоположном направлении; если же и оно неудачное, то генерируется новое направление из точки Xk. Логика действия очевидна: если в данном направлении функция ухудшается, то можно ожидать, что в противоположном направлении она улучшится. Понятно, что эффект модернизации алгоритма тем выше, чем ближе функция в текущей области к линейной.

Алгоритм наилучшей пробы

Здесь используются два шага: пробный и рабочий h. Величина пробного шага соответствует необходимой точности. Задается также число пробных шагов m, меньшее числа переменных n, причем разница между m и n увеличивается с ростом n.

В текущей точке генерируются m направлений j и на них делаются пробные шаги. Вычисляются изменения функции .

В направлении с наименьшим (отрицательным) приращением fj выполняется рабочий шаг: . Поиск заканчивается, если .

По аналогии с предыдущим алгоритмом можно рассматривать и неудачные направления: вычислить . Если максимум соответствует положительному приращению fj, то рабочий шаг делается в противоположном направлении.

Алгоритм статистического градиента

Все параметры и начальные действия такие же, как в предыдущем алгоритме. Отличие состоит в выборе направления движения. Оно определяется с учетом всех разыгранных направлений: . Направление y называется статистическим градиентом. В пределе (m) он стремится к градиенту f. Но определение y требует меньше вычислений, чем f, и тем в большей степени, чем сильнее неравенство m<n.

каждый компонент вектора у вычисляется по формуле .

Новая точка находится перемещением на рабочий шаг h в направлении статистического антиградиента: .

Поиск завершается при выполнении условия или

Эффективность рассмотренных алгоритмов можно повысить за счет незначительных изменений их отдельных элементов или шагов. Так, при успешном шаге можно продолжать шаги в найденном направлении до тех пор, пока функция улучшается (использование идеи одномерной минимизации).

Их эффективность выше вдали от экстремума и снижается по мере приближения к нему, так как падает вероятность выпадения удачных направлений.

Целесообразность применения случайного поиска возрастает с увеличением числа переменных, а при средней и большой размерности он становится практически безальтернативным. В отличие от методов, использующих производные, алгоритмы случайного поиска, как и прямые методы, могут применяться в условиях помех (погрешностей вычислений).

44. Метод проектирования градиентов.

Г радиент дает направление, в котором функция возрастает с наибольшей скоростью. Однако при условной оптимизации оно, как правило, не является возможным направлением. Поэтому используют не сам градиент (антиградиент), а его проекцию на поверхность ограничений, точнее, на плоскость, аппроксимирующую эту поверхность в текущей точке. Очевидно, что проекция градиента определяет направление наискорейшего изменения функции на поверхности ограничений. Метод применим, если целевая функция и все функции ограничений дифференцируемы. Пусть ограничения заданы в виде (5). Найдем возможное направление l, на кот. скорость изм-я целевой ф-и макс. (1):

В допустимой области D функции j постоянны. Поэтому искомое направление должно удовлетворять системе равенств (2):

Из связи направления с координатами: или (3)

Для нахождения наилучшего возможного направления необходимо решить задачу оптимизации (1) – (3). Т.к условия имеют вид =, а ф-и дифференцируемы, для решения этой вспомогательной задачи воспользуемся методом Лагранжа. Функция Лагранжа:

. Неизвестные - векторы и . Возьмем и приравняем к 0:

Отсюда выразим компоненты искомого вектора:

->

-> ↓

Т ак как направление ищется в конкретной точке, то все производные в последней формуле (4) – известные константы. Поэтому система уравнений (4) является линейной системой относительно j. Ее решение не вызывает затруднений (при условии, что матрица системы не является особенной). Найдя значения j, получаем компоненты проекции градиента. Движение осуществляется в направлении, противоположном проекции. Аналогично градиентному методу новая точка вычисляется по формуле (6):

Алгоритм.

  1. Задать начальную точку, удовлетворяющую системе (5), начальное значение h0 и точность по величине проекции градиента .

  2. В текущей точке вычислить градиенты всех функций (f и j) и решить систему (4).

  3. Вычислить проекцию градиента.

  4. Проверить: если завершить поиск.

  5. Вычислить новую точку по формуле (6).

  6. Проверить: если значение целевой функции улучшилось, перейти на шаг 2, иначе уменьшить hk в два раза и перейти на шаг 5.

К ачественный характер работы алгоритма иллюстрирует рис. Здесь функции зависят от 2-х переменных, поэтому в каждой точке на линии ограничения может быть всего 2 направления, лучшее из которых определяет проекция градиента. В многомерной задаче таких направлений бесконечное множество. При ли­ней­ных ограни­чениях могут возник­ать проб­лемы поиска лишь при очень малых значе­ниях градиен­тов функций ограничений и совпадении их направлений, так как это приводит к вырожденности матрицы системы (4).