- •Практическая работа № 1 Метод оценки преимуществ альтернатив (promethee-метод)
- •Практическая работа № 2 Метод аналитической иерархии
- •Практическая работа № 3 Мультипликативный метод аналитической иерархии
- •Практическая работа № 4 Метод теории полезности со многими критериями (maut-метод)
- •Практическая работа № 5 Оптимизация качества
- •Практическая работа № 6 Модели оптимизации надежности сложных систем
- •Практическая работа № 7 Построение интегральных критериев в q-нормальной форме
- •Практическая работа № 8 Градиентные методы оптимизации
Практическая работа № 8 Градиентные методы оптимизации
Цель: Изучение методов многокритериальной оптимизации.
Градиентные методы относятся к группе методов спуска, являющихся численными методами решения задач безусловной минимизации:
Исходя из заданной начальной точки x(0) методы спуска позволяют строить последовательность точек x(1), x(2), …, удовлетворяющих условию
f(x(k)) < f(x(k-1)), k = 1, 2, … (8.1)
В общей схеме методов спуска последовательность x(0), x(1), x(2),… приближений к точке минимума x* выбирается по правилу
x(k) = x(k-1) + kh(k), k = 1, 2, …,
где h(k) – вектор, определяющий направление убывания функции f(x) (направление спуска) в точке x(k-1);
k – скаляр, определяющий длину шага вдоль h(k).
Название метода спуска определяется способом выбора h(k), а его различные варианты связываются с различными способами выбора k.
Градиентные методы основаны на идее замены минимизируемой функции в окрестности очередной точки x(k) линейной частью ее разложения в ряд Тейлора. В градиентных методах в качестве направления спуска h(k) выбирается антиградиент функции f(x) в точке x(k-1), то есть
x(k) = x(k-1) – kf´(x(k-1)), k = 1, 2, …
Градиентные методы отличаются друг от друга способами выбора параметра k: метод с дроблением шага, метод наискорейшего спуска.
Метод с дроблением шага
В качестве h(k) используют нормированный антиградиент , то есть x(k) определяют как .
Величину k выбирают исходя из условий (8.1).
Выбирают константы > 0 и 0 < < 1 (часто ).
На k-й, k=1, 2, ..., итерации проверяется выполнение условия (8.1) при k = . Если оно не выполняется, то производят дробление шага, то есть полагают k = и вновь проверяют выполнение условия (8.1). Процесс дробления, то есть умножение текущего значения на продолжают до тех пор, пока условие (8.1) не окажется выполненным.
Алгоритм решения задачи безусловной минимизации методом с дроблением шага заключается в следующем.
1. Задают , , , x(0); вычисляют f(x(0)), f´(x(0)), ||f´(x(0))||, полагают k = 1.
2. Полагают k = .
3. Вычисляют x(k) = x(k-1) + x(k), f(x(k)).
4. Проверяют условие выбора k: f(x(k)) < f(x(k-1)).
Если оно выполняется, то осуществляют переход к пункту 5. Если условие не выполняется, то полагается k= k и осуществляют переход к пункту 3.
5. Вычисляют f´(x(k)), ||f´(x(k))||.
6. Проверяют условие окончания вычислений ||f´(x(k))|| ε. Если оно выполняется, то полагают x* x(k), f* f(x(k)) и вычисления завершают. Если условие не выполняется, то полагают k = k + 1 и осуществляют переход к пункту 2.
Помимо рассмотренного применяют алгоритм, в котором в качестве начального значения k используют конечное значение k-1 При этом в пункте 1 рассмотренного алгоритма добавляют определение 0: полагают 0 = ; в пункте 2 алгоритма заменяют определение k: полагают k = k-1.
Пример
Решить методом с дроблением шага задачу безусловной минимизации при = 1, = 1/2, = 0,3, x(0) = (1, 0).
Решение
Находят первые частные производные f(x):
Используют второй (упрощенный) вариант метода с дроблением шага. Результаты вычислений заносят в табл. 8.1. Поскольку условие окончания вычислений выполнено.
Так как ||f´(x(3))|| = 0,188 < = 0,3, то вычисления завершают. В результате решения задачи безусловной минимизации получают:
x* x(3) = (2; –0,547), f* f(x(3)) = –4,496.
Ответ: x* (2; –0,547), f* –4,496.
Метод наискорейшего спуска
На каждой итерации шаг k выбирается из условия минимума функции f(x) в направлении движения, то есть
f(x(k-1)) – kf´(x(k-1)) = , где () = f(x(k-1)) – kf´(x(k-1)).
Таблица 8.1. Метод с дроблением шага
Номер итерации |
|
x1 |
x2 |
x1 |
x2 |
f(x) |
|
|
||f´|| |
0 |
|
|
|
1 |
0 |
–3 |
–2 |
2 |
2,83 |
1 |
1 |
0,707 |
–0,707 |
1,71 |
–0,707 |
–4,32 |
–0,586 |
–0,828 |
1,01 |
2 |
1 |
0,580 |
0,820 |
2,29 |
0,113 |
–3,67 |
|
|
|
f(x(2)) > f(x(1)) = = 0,5 |
|||||||||
2 |
0,5 |
0,29 |
0,410 |
2,00 |
–0,297 |
–4,42 |
0 |
0,812 |
0,812 |
3 |
0,5 |
0 |
–0,5 |
2,00 |
–0,797 |
–4,32 |
|
|
|
f(x(3)) > f(x(2)) = = 0,25 |
|||||||||
3 |
0,25 |
0 |
–0,25 |
2,00 |
–0,547 |
–4,96 |
0 |
–0,188 |
0,188 |
Такой способ выбора k требует меньшего числа итераций, чем предыдущий, поскольку он обеспечивает достижение наименьшего значения функции вдоль заданного направления. Однако в этом варианте градиентного метода на каждой итерации требуется решать задачу одномерной минимизации, что приводит к увеличению трудоемкости итерации. Метод наискорейшего спуска требует меньшего числа итераций, чем метод с дроблением шага, но каждая итерация сложнее реализуется.
Алгоритм решения задачи безусловной минимизации методом наискорейшего спуска заключается в следующем.
1. Задают , x(0); вычисляют f(x(0)), f´(x(0)), ||f´(x(0))||, полагают k = 1.
2. Определяют k.
3. Вычисляют x(k) = –kf´(x(k-1)), x(k) = x(k-1) + x(k), f(x(k)), f´(x(k)), ||f´(x(k))||.
4. Проверяют условие окончания вычислений ||f´(x(k))|| . Если оно выполняется, то x* x(k), f* f(x(k)) и вычисления завершают. Если условие не выполняется, то полагают k = k + 1 и осуществляют переход к пункту 2.
Пример
Решить методом наискорейшего спуска задачу безусловной минимизации:
при = 0,3, x(0) = (1, 0).
Решение
Находят первые частные производные f(x):
Первая итерация. Определяют 1:
() = f(x(0) – f´(x(0))) = (1 + 2)2 + 2(–2)2 – 4(1 + 2) + 2(–2);
´() = 2(1 + 2)2 + 4(–2)(–2) – 8 – 4;
´() = 0 24 – 8 > 0 = 1/3.
Поскольку ´´() = 0 24 > 0, то = 1/3 является точкой минимума (). Следовательно, 1 = 1/3 = 0,333.
Вторая итерация. Определяют 2:
() = f(x(1) – f´(x(1))) = (1,667 + 0,667)2 + 2(–0,667 + 0,667)2 –
– 4(1,667 +0,667) + 2(–0,667 + 0,667);
´() = 2(1,667 + 0,667)0,667 +
+ 4(–0,667 + 0,667)0,667 – 40,667 + 20,667 = 2,667 – 0,886;
´() = 0 2,667 – 0,886 = 0 = 0,332.
Поскольку ´´() = 2,667 > 0, то = 0,332 является точкой минимума (). Следовательно, 2 = 0,332.
Третья итерация. Определяют 3:
() = f(x(2) – f´(x(2))) = (1,89 + 0,22)2 + 2(–0,445 + 0,22)2 –
– 4(1,89 + 0,22) + 2(–0,445 + 0,22);
´() = 2(1,89 + 0,22)0,22 + 4(–0,445 + 0,22)(–0,22) –
– 40,22 + 2(–0,22) = 0,29 – 0,0968;
´() = 0 0,29 – 0,0968 = 0 = 0,333.
Поскольку ´´() = 0,29 > 0, то = 0,333 является точкой минимума (). Следовательно, 3 = 0,333.
Результаты вычислений заносят в табл. 8.2.
Поскольку условие окончания вычислений выполнено
||f´(x(3))|| = 0,105 < = 0,3,
то вычисления завершаются. В результате решения задачи безусловной минимизации получаем x* x(3) = (1,96; –0,518), f* f(x(3)) = –4,5.
Ответ: x* (1,96; –0,518), f* –4,5.
Таблица 8.2. Результаты итераций
Номер итерации |
|
x1 |
x2 |
x1 |
x2 |
f(x) |
|
|
||f´|| |
1 |
|
|
|
1 |
0 |
–3 |
–2 |
2 |
2,283 |
2 |
0,333 |
0,667 |
–0,667 |
1,67 |
–0,667 |
–4,33 |
–0,667 |
–0,667 |
0,943 |
3 |
0,333 |
0,222 |
0,222 |
1,89 |
–0,445 |
–4,48 |
–0,22 |
0,22 |
0,311 |
4 |
0,333 |
0,074 |
–0,074 |
1,96 |
–0,518 |
–4,5 |
–0,074 |
–0,074 |
0,105 |
Внешний вид минимизируемой функции в трехмерном пространстве (x1, x2, f(x)) изображен на рис. 8.1.
Рис. 8.1. Внешний вид минимизируемой функции
Задание
1. В соответствии с заданным вариантом решить задачу безусловной минимизации градиентным методом с дроблением шага.
2. В соответствии с заданным вариантом решить задачу безусловной минимизации градиентным методом наискорейшего спуска.
Содержание отчета
1. Расчет задачи безусловной минимизации градиентным методом с дроблением шага.
2. Расчет задачи безусловной минимизации градиентным методом наискорейшего спуска.
3. Таблицы 8.1 и 8.2.
4. Внешний вид минимизируемой функции (рис. 8.1).
Вопросы
1. Какие методы относятся к градиентным?
2. Опишите метод с дроблением шага.
3. Опишите метод наискорейшего спуска.
4. Какие методы минимизации существуют?
5. По какому признаку определяется название методов градиентной оптимизации?
6. Назовите основную идею, лежащую в основе градиентных методов.
Библиографический список:
1. Арсеньев Ю.Н., Шелобаев С.И., Давыдова Т.Ю. Принятие решений. Интегрированные интеллектуальные системы: Учеб. пособие для вузов. – М: ЮНИТИ-ДАНА, 2003. – 270 с.
2. Ларичев О.И. Теория и методы принятия решений, а также Хроника событий в Волшебных Странах: Учеб. пособие для вузов. Издание второе. – М.: Логос, 2002. – 329 с.
3. Николаев В.И., Брук В.М. Системотехника: Методы и приложения. – Л.: Машиностроение, 1985. – 199 с.
4. Харчистов Б.Ф. Методы оптимизации: Учеб. пособие. – Таганрог: Изд-во ТРТУ, 2004. – 140 с.
1 * - сравнение не проводится