Аннотация
Данный курсовой проект на тему «Оптимизация многомерной нелинейной функции. Слепой поиск». Необходимо было разработать программную модель числового метода поиска экстремума функции двух переменных. Предусмотреть ввод исходных данных и вывод с сохранением. Исследовать ограничения на вводимую функцию, обусловленные методом поиска и средствами моделирования.
Проект содержит 24 листа, включая приложение, листинг программы и таблицу – 1.
Введение
Прикладные науки развиваются своим путем, используя существующий математический аппарат для решения возникающих проблем, и даже своими потребностями стимулируют в развитие некоторых разделов математики. Но в них нередко царят своя терминология, свои частные приемы решения задач, свои исходные предпосылки и цели. Имеют место ситуации, когда некорректно примененные прикладниками методы, тем не менее, позволяют получать полезные практические результаты. Дисциплина «Математическое моделирование» давно сформировалась, как прикладная наука и включена в подготовку специалистов почти по всем экономическим техническим направлениям.
Математическое моделирование как инструмент познания завоевывает все новые и новые позиции в различных областях деятельности человека. Эта наука широко проникла в различные области науки: экономические, социальные, биологические и многие другие, на первый взгляд, далекие от математики.
Основная задача моделирования различного рода процессов и систем с целью исследования объектов, прогнозирования их поведения или поиска наилучших условий функционирования сводится к расчету анализируемых показателей по математической модели при тех или иных значениях (функциях) входных величин. Важное значение при этом приобретают вычислительные алгоритмы, с помощью которых можно получить при моделировании решение конкретной математической задачи.
Знакомству с идеями и алгоритмами решения наиболее распространенных задач вычислительной математики, применяющихся при математическом моделировании, получению практических навыков их применения.
Оно включает в себя следующие основные темы.
· Интерполяция
· Аппроксимация
· Решение нелинейных уравнений и их систем
· Решение систем линейных уравнений
· Вычисление интегралов
· Основы решения дифференциальных уравнений
· Метод оптимизации.
1. Постановка задачи
1.1 Теоретическое приложение
Концепция методов
В методах случайного поиска величина шага
В данном разделе рассматриваются следующие методы:
· Слепой поиск
· Метод случайных направлений
· Метод поиска с «наказанием случайностью»
· Блуждающий поиск
В целом случайные методы поиска предпочтительнее регулярных в задачах высокой размерности
1.2 Основные методы
1. Метод случайных направлений.
Из текущей (или заданной начальной) точки делается шаг в случайном направлении
Поиск заканчивают, когда за заданное число попыток
Существуют модификации метода, в одной из которых после серии неудачных попыток
Существует также модификация метода с обратным шагом. Отличительной ее особенностью является то, что при неудачном шаге
2. Метод поиска с «наказанием случайностью».
Метод является аналогом метода наискорейшего спуска, только направление локального поиска не градиентное, а случайное. Как и в предыдущем методе, из текущей точки делают случайные шаги до тех пор, пока не будет найдена точка с лучшим значением критерия оптимальности. Затем в этом направлении регулярным методом одномерного поиска ищут оптимум. В точке оптимума по направлению опять случайным образом ищут новое направление и т.д.
Условием окончания обычно является невозможность получения лучшей точки из текущей за предварительно заданное число попыток
3. Метод с «блуждающим поиском».
Данный метод является статистическим расширением градиентного метода и реализуется в соответствии с алгоритмом
где
Чаще в формуле для
Теоретически доказывается, что данный алгоритм наиболее вероятно приведет к глобальному экстремуму. В алгоритме могут использоваться алгоритмы коррекции шага
Стратегия поиска может предусматривать не постоянное, а периодическое добавление случайного вектора к градиентному шагу. Частота случайных «скачков» должна уменьшаться по мере приближения к оптимуму и увеличиваться вдали от него. Для этого существуют специальные алгоритмы самообучения, например:
где