Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методы оптимизации.doc
Скачиваний:
271
Добавлен:
09.04.2015
Размер:
2.34 Mб
Скачать

5. Градиентные методы решения задач динамического

программирования

Градиентные методы относятся к прямым методам нахождения экстремума. Кроме того, они применяются как при наличии ограничения, так и при их отсутствии. Все градиентные методы – итерационные. Процесс нахождения решения задачи с помощью градиентных методов состоит в том, что, начиная с некоторой точки Х(к), осуществляется последовательный переход к некоторым другим точкам до тех пор, пока не выявляется приемлемое решение исходной задачи.

Очевидно, что при таком подходе важны следующие обстоятельства :

- выбор первоначальной точки отсчета;

- направление, в котором следует перемещаться в ходе реализации

последовательного перемещения по опорным точкам;

- скорость перемещения исследуемой точки в заданном направлении;

- результат будет иметь приближенное значение с наперед заданной

точностью.

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

К первой группе относятся методы, при использовании которых исследуемые точки не выходят за пределы ОДР. Наиболее распространенным из таких методов при наличии ограничений является метод Франка-Вульфа.

Ко второй группе относятся методы, при использовании которых исследуемые точки могут как принадлежать, так и не принадлежать (временно) ОДР. Однако в результате итерационного процесса в конечном итоге находится точка ОДР, определяющая приемлемое решение. Из таких методов наиболее часто используется метод штрафных функций или метод Эрроу-Гурвица.

При нахождении решения ЗНП градиентными методами итерационный процесс осуществляют до того момента, пока градиент функции в очередной точке Х(к+1) не станет равным нулю или же пока , где ε – достаточно малое положительное число, характеризующее точность полученного решения.

Общим в рассматриваемых методах является понятие о градиенте функции. Если имеется функция и каждой переменной, входящей в данную функцию, дано приращение Δх=dx (т.е. приращение аргумента всегда равно его дифференциалу), то очевидно, что функция также будет иметь приращение, определяемое из равенства:

.

Пользуясь правилами векторной алгебры, запишем:

,

где вектор-строка

носит название градиента функции z.

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

Интегрально это обобщенная величина направления, по которому функция изменяется наиболее динамично.

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

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

, (29)

где - шаг итерации. Его выбор представляет самостоятельную задачу. Но достаточно часто его назначают в пределах и затем уточняют.

Метод реализуется по следующей схеме:

1) задают первоначальную точку отсчета (для успешного решения задачи

начальная точка должна быть максимально приближена к предполагае-

мому экстремуму);

2) находят частные производные функционала (значения частных

производных в начальной точке);

3) находят значение функции в начальной точке;

4) по параметрам начальной точки вычисляют градиент функции;

5) по формуле (29) находят параметры новой точки;

6) если удовлетворяются условия уравнения , то

процесс прекращают, в противном случае возвращаются к пункту 2.

З а д а ч а 28. Найти максимальное значение функции

при точности вычислений .

Р е ш е н и е. Найдем градиент функции:

;

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

,

.

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

.

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

,

.

Значение функции цели в исследуемой точке и степень приближения равны:

,

.

Продолжим вычисления. В точке градиент функции будет иметь следующий вектор-строку: . Рассчитываем параметры третьей точки итерации:

,

.

Функция цели в третьей точке примет значение

.

Соответственно полученная точность:

.

Тогда в пределах заданной точности ответ следующий:

, .

Если точность недостаточна, процесс итерации следует продолжить. Теоретическое решение данной задачи : , .

В градиентных методах успех решения и достигаемая точность существенно зависит от двух основных факторов:

- параметров начальной точки движения (она должна быть максимально приближена к предполагаемому экстремуму);

- величины множителя λ.

Если нарушается требование по начальной точке движения, то в этом случае метод может увести процесс итерации от ожидаемого экстремума и задача вообще не будет решена. Если же наблюдается несоответствие по второму требованию, т.е. λ будет слишком велико, то задача также может не иметь решения, так как зона нахождения экстремума «не замечается». Однако стремление иметь λ как можно меньше существенно увеличивает объем расчетного процесса.