
- •Содержание
- •Лекция № 1 понятие о численных методах. Решение нелинейных уравнений
- •Понятие о численных методах.
- •1.2 Решение нелинейных уравнений с одним неизвестным.
- •1.2.1. Отделение корня
- •1.2.2. Уточнение корня.
- •1.2.2.1 Метод деления отрезка пополам
- •Пример 1.1
- •1.2.2.2 Метод ньютона (метод касательных)
- •1.2.2.3 Метод итераций (простых)
- •Лекция №2 решение систем линейных алгебраических уравнений
- •2.1 Правило Крамера
- •2.2 Метод обратной матрицы.
- •2.3 Метод Гаусса
- •2.4 Итерационный метод гаусса – зейделя
- •Лекция 3. Интерполирование и аппроксимация функций
- •3.1 Линейная и квадратичная интерполяция
- •3.2 Интерполяция по лагранжу
- •3.3 Апроксимация многочленом по методу наименьших квадратов
- •Лекция № 4. Численное интегрирование
- •4.1 Метод прямоугольников
- •4.2 Метод трапеций
- •4.3 Метод симпсона
- •Если же подынтегральную функциюf(X)проинтерполировать полиномом Лагранжа 2-ойстепени (на отрезке [x0, x2] ):
- •4.4 Метод монте – карло
- •Лекция 5. Численное решение дифференциальных уравнений
- •5.1 Метод эйлера
- •5.2 Метод рунге—кутта
- •5.3 Метод прогноза и коррекции
- •Лекция 6. Методы оптимизации
- •6.1 Метод катящегося шарика
- •6.2 Метод золотого сечения
- •6.3 Метод градиентного спуска (уже для нескольких переменных)
- •6.4 Задача линейного программирования
- •Литература:
- •Вопросы к экзамену по численным методам.
6.2 Метод золотого сечения
Он состоит в построении последовательности отрезков [a0,b0], [a1,b1], … стягивающихся к точке минимума функции f(x). На каждом шаге, за исключением первого, вычисления выполняются только раз в точке называемой золотым сечением, выбираемой специальным образом.
Рассмотрим геометрически.
Внутри [a0,b0] выбираем две внутренние точки x1 , x2 и вычисляем f(x1) и f(x2). Из рис. очевидно, что минимум лежит на отрезке [a0,x2], который теперь назовем [a1,b1]: a0 =a1 , x2=b1. Отрезок [a1,b1] теперь также рассматриваем, а именно берем две точки: x1 (которая уже есть) и x3 , находим f(x3). Вновь отбрасываем [a1,x3] и получаем [a2,b2], где a2=x3, b2=b1
Как же выбираются эти внутренние точки на [a1,b1] ? Так, чтобы отношение длины большего подотрезка к длине всего отрезка равнялось отношению длины меньшего отрезка к длине большего отрезка:
l1
l2
l
Отсюда l12 =l2l = l2(l1+l2) =l2l1 +l22
l2l1 +l22 — l12 = 0 |: l12
Решая квадратное уравнение, получим:
Оставляя положительное значение (плюс в числителе) получаем:
l 2/l1 0,618.
Итак, l1 0,618 l , l 2 0,382 l.
Поскольку заранее не известно, в какой последовательности (l 1 и l2 или l 2 и l1 ) делить интервал неопределенности, то рассматривают внутренние точки, соответствующие двум этим способам деления.
Окончательно нетрудно получить, что координаты точек деления y и z отрезка [ak, bk] на k+1 -м шаге оптимизации (y<z) имеют вид:
y = 0,618ak + 0,382bk
z = 0,382ak + 0,618bk
При этом длина неопределенности равна dk = bk – ak = 0,618k d0,
где d0 = (b0 – a0).
Процесс оптимизации заканчивают при dk< , где — заданная точность.
Рассмотренные методы можно применить к функции нескольких переменных, если проводить покоординатно.
6.3 Метод градиентного спуска (уже для нескольких переменных)
Известно: направление наибольшего возрастания функции двух переменных U=f(x,y) характеризуется ее градиентом:
гдеe1
и e2
— единичные
орты в направлении координатных осей.
Следовательно, направление, противоположное градиентному, укажет путь, ведущий вниз вдоль наиболее крутой линии.
Суть метода:
Выбираем некоторую точку и вычисляем в ней градиент рассматриваемой функции
Делаем шаг в направлении, обратном градиентному
Вычисляем функцию в этой точке (ее значение здесь, как правило, меньше предыдущего); если же не меньше, то нужно уменьшить шаг
В новой точке вычисляем градиент и снова шаг в обратном направлении
И т.д.
Окончание процесса: когда движение из полученной точки с любым (достаточно малым) шагом приводит к возрастанию функции.
Очевидно, что для вычисления частных производных необходимо знать аналитический вид исследуемой функции. Если же функция задана "точками", то — с помощью приближенной формулы:
где i =1,2,…,n
6.4 Задача линейного программирования
Это задача оптимизации, в которой оптимизируемая функция является линейной функцией исследуемых параметров, а ограничения задаются в виде линейных уравнений и неравенств.
Постановка задачи
Следует найти значения переменных x1, x2,…, xn, которые:
у
довлетворяют системе линейных уравнений:
являются неотрицательными, т.е.
x10, x2, …, xn0
обеспечивают наименьшее значение линейной целевой функции
f(x1, x2,…, xn)=c0 + c1x1 + c2x2 + …+ cnxn
Пример. Транспортная задача.
Автобаза обслуживает 3 овощных магазина, причем товар доставляется с двух баз. Спланировать перевозки так, чтобы их общая стоимость была минимальной, если
с 1-й базы ежедневно вывозиться 12 т
со 2-й базы ежедневно вывозиться 15 т
завозится в 1-й магазин 8 т
завозится во 2-й магазин 9 т
завозится в 3-й магазин 10 т
стоимость перевозки 1 т товара (в руб.) c баз в магазин дается таблицей:
-
базы
магазины
1
2
3
I
0,8
1,1
0,9
II
1
0,7
1,2
Решение
Пусть x1, x2, x3 — количество товара с 1-й базы соответственно в 1-й, 2-й и 3-й магазины, а x4, x5, x6 — со 2-й соответственно в 1-й, 2-й и 3-й магазины.
Тогда
А также
xi0, i =1,2,…,6
f =0,8x1 + 1,1x2 +0,9 x3+ x4 +0,7 x5 + 1,2x6
Нужно обеспечить минимум f — стоимости перевозок. Нетрудно видеть, что 5-е уравнение есть комбинация других: если сложить 1-е и 2-е и вычесть 3-е и 4-е, то получим 5-е уравнение.
Итак,
Число неизвестных на 2 больше числа уравнений. Выразим через x1 и x2 все остальные неизвестные.
Но т.к. xi0, то
Или в более компактной форме:
0 x1 8, 0 x2 9, 2 x1+x2 12
Подставим x3, x4, x5 , x6 в f и получим:
f = 22,7 + 0,1 x1 + 0,7 x2
Ясно, что чем меньше x1 и x2 , тем меньше f. Так как
x1 +x2 2 x1 +x2 = 2 — наименьшее, x2 = 2 — x1 , тогда
f = 24,1 — 0,6 x1
Итак, чем больше x1, тем меньше f . Так как 0 x1 8 и x1 +x2 = 2, значит, x1=2 — наиболее допустимое значение, следовательно, x2=0.
Итак, f = 24,1 — 1,2 =22,9 (руб)
При этом значения параметров:
x1=2, x2=0, x3=12—2=10, x4=8—2=6, x5=9—0=9, x6=0
Таким образом, схема доставки:
2
I
база 10
1-й магазин 2-й магазин 3-й магазин
6
9
II база