Метод градиентного спуска. - раздел Математика, Обзор возможностей математических пакетов MathCAD 2000, MathLAB 5.0, Mathematica Общая Задача Нелинейного Программирования Без Ограничений Состоит В Минимизац...
Общая задача нелинейного программирования без ограничений состоит в минимизации функции f(x)=f(x1, x2, ..., xп}, заданной во всем n-мерном евклидовом пространстве. Функция f(х) называется целевой функцией [10].
Как правило, численные методы отыскания экстремума состоят в построении последовательности векторов {х(k)}, удовлетворяющих условию f(х(0))>f(х(1))>…>f(х(n)). Методы построения таких последовательностей называются методами спуска. В этих методах элементы последовательности {х(k)} вычисляются по формуле
(2.60)
где p(k) – направление спуска; ak – длина шага в этом направлении.
Как известно, градиент функции в некоторой точке х(k) направлен в сторону наискорейшего локального возрастания функции. Следовательно, спускаться нужно в направлении, противоположном градиенту. Вектор, противоположный градиенту, называется антиградиентом. Выбирая антиградиент в качестве направления спуска, приходят к итерационному процессу вида
(2.61)
Все методы спуска, в которых вектор р(k) совпадает с антиградиентом, называются градиентными методами. Они отличаются друг от друга только способом выбора шага. Наиболее употребительны метод наискорейшего спуска и метод дробления шага. В методе наискорейшего спуска величина ak определяется из условия
,
т. е. на каждом шаге решается одномерная задача минимизации. Геометрическая интерпретация этого метода достаточно проста (рис. 2.7). Заметим, что на двух последовательных шагах направления спуска ортогональны [10].
Рис. 2.7.
Если f(х) – ограниченная снизу непрерывно дифференцируемая функция и для некоторой начальной точки х(0) множество {х:f(х)<f(х(0))} также ограничено, то для метода наискорейшего спуска последовательность {х(k)} либо сходится к точке минимума при k®¥, либо достигает точки минимума за конечное число шагов.
В данной лабораторной работе для минимизации функции использован метод градиентного спуска с дроблением шага. Процесс (2.61) с дроблением шага протекает следующим образом. Выбираем некоторое начальное значение х(0). Общих правил выбора х(0) нет; если есть информация об области расположения искомой точки минимума, то точку х(0) выбираем в этой области. Затем выбираем некоторое ak = a = const и на каждом шаге процесса (2.61) проверяем условие монотонности f(х(k+1)) <f(х(k)). Если это условие нарушается, то a дробим до тех пор, пока монотонность не восстановится. Для окончания счета можно использовать различные критерии. В данной работе итерации прекращаем, если
.
В этом случае полагаем хmin = х(k+1). Здесь
Описанный алгоритм реализован в виде подпрограммы Minim (f, xy, grad, k, h, eps), где
f – исходная функция,
xy – вектор с координатами x и y,
grad – подпрограмма, вычисляющая координаты градиента,
k – число итераций,
h – шаг,
eps – погрешность.
Задание.
Используя подпрограмму Minim, минимизировать заданную целевую функцию.
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ:
Метод градиентного спуска.
Что будем делать с полученным материалом:
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Входной язык системы MathCAD.
Уникальное свойство MathCAD — возможность описания математических алгоритмов в естественной математической форме с применением общепринятой символики для математических знаков, таких, например, как
Формульный редактор.
Фактически система MathCAD интегрирует три редактора: формульный, текстовый и графический. Для запуска формульного редактора достаточно установить курсор мыши в любом свободном месте окна редактиро
Наборные панели и шаблоны.
Подготовка вычислительных блоков облегчается благодаря выводу шаблона при задании того или иного оператора. Для этого в MathCAD служат наборные панели с шаблонами различных математических символов
Возможности символьного процессора (Symbolic)
Системы компьютерной алгебры снабжаются специальным процессором для выполнения аналитических (символьных) вычислений. Его основой является ядро, хранящее всю совокупность формул и формульных преобр
Назначение системы SmartMath.
Система SmartMath более полно использует ядро символьных операций, чем символьные вычисления из подменю позицииSymbolics главного меню, и снимает некоторые ограничения на их выполн
Инструментальная панель
Инструментальная панель командного окна системы MATLAB позволяет обеспечить простой доступ к операциям над М-файлами (рис. 1.4)
Программирование в среде Matlab 5.
Файлы, которые содержат коды языка MATLAB, называются M-файлами. Для создания M-файла используется текстовый редактор; вызову М-файла предшествует присваивание значений входным аргументам; результа
Алгебра.
Одной из самых важных задач, рассматриваемых в алгебре, является нахождение корней многочленов. Пусть, например, требуется найти корни уравнения третьей степени
Анализ.
Наряду с алгебраическими преобразованиями "Математика'' позволяет выполнять операции математического анализа. Базовыми являются операции интегрирования Integrate и дифференцирования D. Проинте
Численные методы.
Значения элементарных функций и многочисленных специальных математических функций в вещественных и комплексных точках с вещественными координатами, можно найти, просто вычислив соответствующие выра
Формульный редактор.
Фактически система MathCAD интегрирует три редактора: формульный, текстовый и графический. Для запуска формульного редактора достаточно установить курсор мыши в любом свободном месте окна редактиро
Наборные панели и шаблоны.
Подготовка вычислительных блоков облегчается благодаря выводу шаблона при задании того или иного оператора. Для этого в MathCAD служат наборные панели с шаблонами различных математических символов.
Возможности символьного процессора (Symbolic)
Системы компьютерной алгебры снабжаются специальным процессором для выполнения аналитических (символьных) вычислений. Его основой является ядро, хранящее всю совокупность формул и формульных преобр
Общая формула для оценки главной части погрешности.
При численном решении математических и прикладных задач почти неизбежно появление на том или ином этапе их решения погрешностей следующих трех типов [1].
а) Погрешность задачи
Графы вычислительных процессов.
Рассмотрим более удобный способ подсчёта распространения ошибки в каком-либо арифметическом вычислении [6].
С этой целью мы будем, изображать последовательность операций в вычислении с пом
Деление
Если выполняется деление a1/a2, то стрелка от a1 к косой черте в кружке получает коэффициент +1, а стрелка от a2 к косой черте в кру
Метод простых итераций.
Метод простых итераций (метод последовательных приближений) решения уравнения f(x) = 0 состоит в замене исходного уравнения эквивалентным ему уравнением x = j(x) и построении последовательности x
Порядок выполнения лабораторной работы с помощью метода Ньютона
1. Графически или аналитически отделить корень уравнения f(x) = 0. Убедиться, что на найденном отрезке [a,b] функция f(x) удовлетворяет условиям сходимости метода Ньютона.
2. Выбрать начал
Метод Вегстейна.
При выводе метода Вегстейна решения задачи о неподвижной точке x=φ(x) будем использовать как аналитические, так и геометрические соображения [1].
Пусть уже найдены:
Метод Чебышева.
Требуется найти вещественный корень уравнения f(x) = 0, изолированный в интервале (a, b). Функция f(x) предполагается непрерывной вместе с производными до n-го порядка включительно, причём в интерв
Метод Данко.
Для отыскания действительного корня уравнения f(x)=0, изолированного в интервале (a, b), рассматривается кривая [5]
Метод простых итераций.
Рассмотрим произвольную нелинейную систему уравнений в Rn [10].
или в более к
Метод Ньютона.
Рассмотрим систему n нелинейных уравнений с n неизвестными
или в векторной форме
f
Метод наискорейшего спуска.
Общий недостаток всех рассмотренных выше методов решения систем нелинейных уравнений – это сугубо локальный характер сходимости, затрудняющий их применение в случаях, когда имеются проблемы с выбор
Аппроксимация с помощью кубического сплайна.
Специальным видом кусочной интерполяции является интерполяция с помощью сплайн-функции. Образованные в процессе такой интерполяции кривые обладают достаточным приближением и образуют кусочно-кубиче
Тригонометрическая интерполяция.
Пусть функция f(х) задана на отрезке [0,2p] таблицей значении f(xi) в равноотстоящих узлах (i=1, 2, ..., 2N
Минимизация функции методом Нелдера-Мида.
В лабораторных предыдущих работах описаны градиентные методы отыскания локального минимума функции нескольких переменных. В настоящей работе рассматривается один из методов минимизации, в котором в
Порядок выполнения лабораторной работы.
1. Составить подпрограмму-функцию для вычисления значений целевой функции.
2. Составить программу-функцию для нахождения экстремума целевой функции методом Нелдера-Мида.
3. Провес
Метод Эйлера.
Пусть требуется найти приближенное решение дифференциального уравнения y'=f(x,у), удовлетворяющее начальному условию у(х0)=у0. Численное решение задачи состоит
Метод Рунге-Кутта.
Пусть требуется найти решение дифференциального уравнения y¢=f(x, y), удовлетворяющее начальному условию y(x0) = y0.
Численное решение задачи состоит в построени
Решение одной из задач.
В качестве примера возьмём задачу разложения функции в ряд Тейлора (задача №1).
Поскольку ЭВМ способна непосредственно вычислять только функции, содержащие арифметические операции (полином
Экономизация.
Экономизация ряда заключается в уменьшении числа арифметических операций при условии сохранения заданной точности вычисления функции. Данный приём использует свойство полиномов Чебышева сводить к м
Моделирование сплайн-интерполяции.
Для исследования сплайн-интерполяции составим программу, вычисляющую сплайн-коэффициенты по граничному условию А.
Функция Spline реализует алгоритм вычисления сплайн-коэффициентов с учётом
Хотите получать на электронную почту самые свежие новости?
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Новости и инфо для студентов