- •Элементы линейнОй и нелинейнОй
- •Оптимизации
- •Москва, 2005
- •Введение
- •1. Производственная задача или задача планирования
- •2. Типы задач линейного программирования и их преобразование
- •3. Геометрическая трактовка основной задачи
- •4. Методы решения задач линейного программирования
- •4.1. Графический метод
- •4.2. Табличный симплекс-метод решения задачи линейного
- •4.2.1. Метод единичных векторов
- •4.2.2. Расширенная задача и метод искусственного базиса
- •5. Двойственные задачи линейного программирования
- •5.1.Прямая и двойственная задача
- •5.2. Геометрическая интерпретация двойственной задачи. Леммы и теоремы двойственности
- •5.3. Нахождение решений двойственных задач
- •5.4. Параметрическая устойчивость задачи линейного программирования и физическая трактовка двойственной задачи
- •6. Транспортная задача линейного программирования
- •6.1. Математическая постановка задачи
- •6.2. Нахождение опорного плана транспортной задачи
- •6.3. Оценка опорного плана транспортной задачи на оптимальность
- •7. Элементы теории игр
- •7.1. Предмет теории игр
- •7.2. Терминология и классификация игр
- •7.4. Смешанные стратегии
- •7.5. Геометрический метод решения игр
- •II. Нелинейное программирование
- •1. Задачи нелинейного программирования
- •2. Геометрическая интерпретация задач
- •3. Некоторые проблемы решения задач нелинейного
- •4. Решение задач условной оптимизации методом Лагранжа
- •5. Градиентные методы решения задач динамического
- •5.1. Метод наискорейшего спуска
- •5.2. Метод штрафных функций
- •5.3. Симплекс-метод поиска глобального экстремума
- •Контрольные вопросы к курсу «Методы оптимизации»
5. Градиентные методы решения задач динамического
программирования
Градиентные методы относятся к прямым методам нахождения экстремума. Кроме того, они применяются как при наличии ограничения, так и при их отсутствии. Все градиентные методы – итерационные. Процесс нахождения решения задачи с помощью градиентных методов состоит в том, что, начиная с некоторой точки Х(к), осуществляется последовательный переход к некоторым другим точкам до тех пор, пока не выявляется приемлемое решение исходной задачи.
Очевидно, что при таком подходе важны следующие обстоятельства :
- выбор первоначальной точки отсчета;
- направление, в котором следует перемещаться в ходе реализации
последовательного перемещения по опорным точкам;
- скорость перемещения исследуемой точки в заданном направлении;
- результат будет иметь приближенное значение с наперед заданной
точностью.
Кроме того, к этому процессу добавляется наличие и вид области допустимых решений, т.е. каким образом итерационный процесс должен учитывать наличие или отсутствие ОДР. В связи с этим градиентные методы могут быть подразделены на две группы.
К первой группе относятся методы, при использовании которых исследуемые точки не выходят за пределы ОДР. Наиболее распространенным из таких методов при наличии ограничений является метод Франка-Вульфа.
Ко второй группе относятся методы, при использовании которых исследуемые точки могут как принадлежать, так и не принадлежать (временно) ОДР. Однако в результате итерационного процесса в конечном итоге находится точка ОДР, определяющая приемлемое решение. Из таких методов наиболее часто используется метод штрафных функций или метод Эрроу-Гурвица.
При нахождении решения ЗНП градиентными методами итерационный процесс осуществляют до того момента, пока градиент функции в очередной точке Х(к+1) не станет равным нулю или же пока , где ε – достаточно малое положительное число, характеризующее точность полученного решения.
Общим в рассматриваемых методах является понятие о градиенте функции. Если имеется функция и каждой переменной, входящей в данную функцию, дано приращение Δх=dx (т.е. приращение аргумента всегда равно его дифференциалу), то очевидно, что функция также будет иметь приращение, определяемое из равенства:
.
Пользуясь правилами векторной алгебры, запишем:
,
где вектор-строка
носит название градиента функции z.
Градиент функции – вектор-строка, элементы которой состоят из частных производных функции, т.е. тангенсов углов касательных, проведенных к поверхности отклика в плоскости, параллельной данной оси.
Интегрально это обобщенная величина направления, по которому функция изменяется наиболее динамично.
5.1. Метод наискорейшего спуска
Название метода можно было бы понимать буквально, если бы речь шла о минимизации функции цели. Тем не менее по традиции такое название используется и при решении задачи на максимум. Метод в основном применяется для нахождения глобального экстремума в условиях отсутствия ограничений. Идея данного метода основана на том, что градиент функции указывает направление ее наиболее быстрого возрастания в окрестности той точки, в которой он вычислен. Поэтому, если из некоторой текущей точки перемещаться в направлении вектора , то функция f будет возрастать, по крайней мере, в некоторой окрестности . Следовательно, можно записать такую рекуррентную формулу
, (29)
где - шаг итерации. Его выбор представляет самостоятельную задачу. Но достаточно часто его назначают в пределах и затем уточняют.
Метод реализуется по следующей схеме:
1) задают первоначальную точку отсчета (для успешного решения задачи
начальная точка должна быть максимально приближена к предполагае-
мому экстремуму);
2) находят частные производные функционала (значения частных
производных в начальной точке);
3) находят значение функции в начальной точке;
4) по параметрам начальной точки вычисляют градиент функции;
5) по формуле (29) находят параметры новой точки;
6) если удовлетворяются условия уравнения , то
процесс прекращают, в противном случае возвращаются к пункту 2.
З а д а ч а 28. Найти максимальное значение функции
при точности вычислений .
Р е ш е н и е. Найдем градиент функции:
;
Возьмем в качестве первого приближения , т.е. . Тогда значение функции , а вектор-строка градиента функции равен . Выберем шаг итерации и рассчитаем параметры следующей точки :
,
.
Вычислим значение функции цели в новой точке и определим степень приближения:
.
Так как заданная точность не достигнута, продолжим итерационный процесс. Градиент функции в новой точке будет определяться вектор-строкой . Рассчитаем параметры следующей точки:
,
.
Значение функции цели в исследуемой точке и степень приближения равны:
,
.
Продолжим вычисления. В точке градиент функции будет иметь следующий вектор-строку: . Рассчитываем параметры третьей точки итерации:
,
.
Функция цели в третьей точке примет значение
.
Соответственно полученная точность:
.
Тогда в пределах заданной точности ответ следующий:
, .
Если точность недостаточна, процесс итерации следует продолжить. Теоретическое решение данной задачи : , .
В градиентных методах успех решения и достигаемая точность существенно зависит от двух основных факторов:
- параметров начальной точки движения (она должна быть максимально приближена к предполагаемому экстремуму);
- величины множителя λ.
Если нарушается требование по начальной точке движения, то в этом случае метод может увести процесс итерации от ожидаемого экстремума и задача вообще не будет решена. Если же наблюдается несоответствие по второму требованию, т.е. λ будет слишком велико, то задача также может не иметь решения, так как зона нахождения экстремума «не замечается». Однако стремление иметь λ как можно меньше существенно увеличивает объем расчетного процесса.