Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТВ. ГОЛЬДШТЕЙН А.Л. ТПР.doc
Скачиваний:
6
Добавлен:
01.04.2025
Размер:
2 Мб
Скачать
☆

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

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

При линейных ограничениях могут возникать проблемы поиска лишь при очень малых значениях градиентов функций ограничений и совпадении их направлений. В случае нелинейных ограничений движение на основе линейной аппроксимации нарушает равенства.

Метод штрафных функций

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

Метод барьерных функций

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

16. Методы случайного поиска и генетические алгоритмы.

8.8.7. Методы случайного поиска

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

Случайный механизм выбора направления реализуется с помощью датчика случайных чисел , равномерно распределенных на интервале [-b, b]. Направление задается случайным вектором

 = (1, 2, 3, ..., n),

компоненты которого вычисляются по формуле

,

где n случайных чисел i генерируются датчиком. Очевидно, что такой случайный вектор имеет единичную длину и определяет только направление. При этом все направления равновероятны.

Приведем несколько простых алгоритмов случайного поиска.

Алгоритм с возвратом при неудачном шаге

  1. Задать начальный шаг h0, число проб s n и точность .

  2. Сгенерировать или задать начальную точку X0 и вычислить в ней функцию f; положить i=1 (i – счетчик проб).

  3. Сгенерировать случайный вектор направления  .

  4. На направлении определить точку Xk+1 = Xk + hkk и вычислить в ней функцию f.

  5. Проверить: а) если f(Xk+1)<f(Xk), положить k=k+1, i=1 и вернуться на 3; б) если f(Xk+1)f(Xk) и i<s, положить i= i+1 и вернуться на 3; в) если f(Xk+1)f(Xk), i=s и hk >, положить hk= hk/2, i=1 и вернуться на 3. г) если f(Xk+1)f(Xk), i=s и hk, поиск закончить, приняв Xk за точку минимума.▲

Т аким образом, поиск останавливается, если в текущей точке s направлений, сгенерированных подряд, оказались неудачными при шаге, меньшем заданной точности. На рис. 8.38 показан характер движения при поиске по данному алгоритму (жирной линией выделены успешные шаги).