Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
74
Добавлен:
16.04.2013
Размер:
476.24 Кб
Скачать

Лабораторная работа 6

Градиентные методы минимизации функций в задачах с ограничениями

Рассматривается обобщение градиентных методов минимизации на задачи выпуклого программирования:

(*)

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

Метод условного градиента

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

,

и линейная функция

является приближением с точностью до в некоторой окрестности . Вспомогательная задача

(**)

относится к классу задач линейного программирования поскольку линейные. Для ее решения следует воспользоваться встроенной в MATLAB функцией linprog

(linprog(gradfxk,A,b,[],[],xl,xr)), которая выполнит минимизацию при условиях (написанные неравенства для векторов означают неравенства соответствующих компонент векторов). Следующее приближение к точке минимума находится по формуле , где решение (**), а . Понятно, что , т.к. U выпуклое. После этого проверяется условие

. (***)

Если оно выполнено, то , если не выполнено, то выбирают и проверяют неравенство (***). Условие окончания . Здесь величина определяет точность решения задачи. Полагая , найдем решение с заданной точностью.

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

На каждой итерации этого метода предусмотрена процедура возврата очередного приближения градиентного спуска на допустимое множество, если . Такой возврат производится проектированием точки на множество .

Проекцией точки xRn на замкнутое множество U Rn называется ближайшая к x точка U, т.е.

.

Будем обозначать . Необходимым и достаточным условием того, чтобы была решением задачи (*) является равенство для всех .

Таким образом, в методе проекции градиента приближение к точке вычисляется по формуле

k=0,1,…, (****)

где выбирается согласно методу градиентного спуска (наискорейшего спуска).

В случае линейных ограничений проекция x находится следующим образом:

Соседние файлы в папке Разработки