Задача 3.
Постановка задачи. Cоставить алгоритм нахождения с требуемой точностью экстремума функции f(X) двух переменной градиентным методом с адаптацией шага.
Рис. 2.3. Содержание ячеек при реализации симплекс-метода
Продолжение рис. 2.3
Рис. 2.4. Результаты реализации симплекс-метода
Алгоритм метода.
1. Начальный этап. Задают начальную точку X(0), начальный шаг (0), k = 0.
2. Расчет параметров метода на k-ой итерации. Рассчитываются значения функции, первых производных. Определяются единичные направления по выражению
, .
Определяется текущее направление движения Napr по таблице
s1 | s2 | Napr |
>0 | >0 | ArcTn(s2/s1)/180 |
>0 | <0 | ArcTn(s2/s1)/180+360 |
<0 | >0 | ArcTn(s2/s1)/180+180 |
<0 | <0 | ArcTn(s2/s1)/180+180 |
Если k = 0, то переход к этапу 4, иначе к этапу 3.
3. Проверка условия окончания метода и адаптация шага.
Если |f(X(k)) - f(X(k-1))| , то переход к этапу 5.
Определение угла между направлениями на k-ом и (k-1)-ом шагах = |Napr(k) - Napr(k-1)|.
Расчет коэффициента шага , например по следующей таблице
| |
<90 | 2 - /90 |
>90 | 0,5 + (180 - )/900,5 |
Определение шага (k) = (k-1)
4. Определение координат новой точки. Производится по формуле
X(k+1) = X(k) + (k)S(k)
Установить k = k + 1 и перейти к этапу 2.
5. Вывод результатов. За оптимальное решение принять X(k) точку.
Реализация метода. На рис. 2.5 приведено содержание ячеек рабочего листа, используемых для осуществления первых двух итераций при нахождении данным методом минимума функции f(X) = (x1 - 2)4 + (x1 - 2x2)2 при начальной длине шага, равной 0,5, и точности поиска 0,001.
Рис. 2.5. Содержание ячеек при реализации градиентного метода
Результаты решения задачи для условий, описанных выше, приведены на рис. 2.6.