- •Лабораторная работа № 1
- •Варианты заданий
- •Лабораторная работа № 2
- •Лабораторная работа № 3
- •Лабораторная работа № 6 Интерполирование функций
- •Лабораторная работа № 7 Интерполирование функций двух переменных
- •Лабораторная работа № 8 Метод золотого сечения
- •Лабораторная работа № 9 Метод Куммера
- •Варианты заданий
- •Лабораторная работа № 10 Решение систем нелинейных уравнений методом Ньютона Пусть задана система двух нелинейных уравнений с двумя неизвестными
- •Лабораторная работа № 11 Решение систем нелинейных уравнений методом итерации
- •Лабораторная работа № 12 Решение систем линейных уравнений методом Гаусса
- •Лабораторная работа № 13 Метод прогонки
- •Варианты заданий
- •Варианты заданий
- •Лабораторная работа № 20 Метод Милна
- •Лабораторная работа № 21 Метод Адамса
- •Лабораторная работа № 23 Решение систем дифференциальных уравнений методом Рунге—Кутта
- •Лабораторная работа № 24 Задача линейного программирования
- •Лабораторная работа № 25 Транспортная задача
- •Лабораторная работа № 26 Метод наискорейшего спуска
- •Лабораторная работа № 27 Метод дробления шага
- •Лабораторная работа № 28 Метод покоординатного спуска
- •Лабораторная работа № 29 Метод случайного поиска
- •Лабораторная работа № 30 Эмпирические формулы. Линейная зависимость
- •Лабораторная работа № 31 Решение краевой задачи методом сеток
- •Лабораторная работа № 35 Динамическое программирование
- •Корни нелинейных уравнений
- •Интерполирование функций
- •Двумерная интерполяция
- •Метод золотого сечения (лабораторная работа № 8)
- •Решение систем нелинейных уравнений (лабораторные работы №10— 11)
- •Решение систем линейных уравнений
- •Решение систем линейных уравнений методом прогонки
- •Приближенные значения интегралов
- •Приближенные решения системы дифференциальных уравнений
- •Задача линейного программирования
- •Максимальная прибыль
- •Транспортная задача
- •Значения функции в точке минимума
- •Динамическое программирование
- •Список литературы
Лабораторная работа № 27 Метод дробления шага
В методе дробления шага вычислительный процесс протекает следующим образом. Выбирается некоторое начальное значение Затем выбирается некоторое значение k = = const. Следующее значение вектора решения определяется по формуле
(k = 0,1,2,...).
Процесс движения по данному направлению производится с шагом до тех пор, пока будет выполняться соотношение f() < f(). Если это условие не выполняется, то шаг уменьшается в несколько раз и из точки (отступаем на два шага назад) снова пытаемся продвигаться в том же направлении и т. д. Затем направление изменяется, и снова с начальным шагом пытаемся продвигаться в измененном направлении. Аналогичным способом производится дробление шага. Процесс решения задачи заканчивается таким же образом, как и в методе наискорейшего спуска.
Пример. Найти минимум функции
f(x1,x2)=2x1 - 3x2 + exp(x12 + x24).
Решение. Задачу решим методом дробления шага. Возьмем = 0,001. В качестве начального выберем вектор (0) = (0; 0). В нашем случае
grad f = + grad
grad 3,60555.
Составим функцию
которую нужно минимизировать по параметру . В нашем случае
x1 - = x1 - (2 + 2x1 exp(x12 + x24)),
x2 - = x2 - (-3 + 4x23exp(x12 + x24)).
Применяя метод дробления шага при начальном значении = 0 и начальном шаге, равном 0,1, а при следующих итерациях уменьшая его в десять раз, получим:
= 0,2526; Ф() = = -1,4880;
= (0-0,25262; 0+0,25263) = (-0,5052; 0,7578).
Исходя из точки = (-0,5052; 0,7578) выполняем следующие шаги решения задачи. Результаты вычислений занесены в табл. 5. Можно считать, что минимум функции достигается в точке = (-0,547; 0,743) и равен - 1,493638.
Таблица 5
k |
|||||
0 |
(0; 0) |
1 |
2 |
-3 |
3,60555 |
1 |
(-0,5052; 0,7578) |
-1,4880 |
0,18634 |
0,12455 |
0,22413 |
2 |
(-0,53524; 0,73772) |
-1,492828 |
0,082972 |
-0,124028 |
0,149222 |
3 |
(-0,540326; 0,745323) |
-1,493519 |
0,029861 |
0,019288 |
0,035548 |
4 |
(-0,545178; 0,742189) |
-1,493622 |
0,011953 |
-0,018324 |
0,021872 |
5 |
(-0,545895; 0,743288) |
-1,493636 |
0,004188 |
0,002696 |
0,004983 |
6 |
(-0,546532; 0,742878) |
-1,493638 |
0,001814 |
-0,002198 |
0,002850 |
7 |
(-0,546647; 0,743018) |
-1,493638 |
0,000683 |
0,000563 |
0,000885 |
Задание. Методом дробления шага найти минимум функции где k — номер фамилии студента в журнале преподавателя. Значения х1 и х2, в которых функция достигает минимума, найти с точностью = 0,0001. Начальное приближение найти методом случайного поиска.