close

Вход

Забыли?

вход по аккаунту

?

поясн записка (3)

код для вставкиСкачать
Федеральное агентство по образованию
Государственное образовательное учреждение
высшего профессионального образования
САМАРСКИЙ ГОСУДАРСТВЕННЫЙ
АЭРОКОСМИЧЕСКИЙ УНИВЕРСИТЕТ
имени академика С.П. КОРОЛЕВА (НИУ)
Факультет летательных аппаратов
Кафедра летательных аппаратов
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
К индивидуальному заданию по профессионально-ознакомительной практике
Выполнил студент группы 1308
Резинкина В.А.
Проверил__________________
Оценка____________________
Самара 2011
ЗАДАНИЕ
Разработать вычислительный алгоритм метода «Наискорейшего спуска»
с тестированием на функции Розенброка.
1. Разработать программный продукт, реализующий данный алгоритм в
среде DELPHI.
2. Разработать интерфейс пользователя.
3. Разработать модуль графического отображения поиска решения.
4. Апробировать алгоритм на тестовых примерах.
5. Записать программный продукт на диск.
6. Оформить описание разработки в соответствии с СТП СГАУ.
2
РЕФЕРАТ
Пояснительная записка 13 страниц, 4 рисунка, 2 источника.
ГРАДИЕНТ, МЕТОД КВАДРАТИЧНОЙ ИНТЕРПОЛЯЦИИ,
МНОЖИТЕЛИ ЛАГРАНЖА, МЕТОД ОДНОМЕРНОГО ПОИСКА.
Цель работы: разработать программу поиска экстремума
функции, спомощью метода наискорейшего спуска. Разработать
пользовательский интерфейс и модуль графического отображения
поиска решения.
3
СОДЕРЖАНИЕ
Введение..................................................................................................5
1 Математическая часть задачи.............................................................6
2 Алгоритм работы программы.............................................................8
3 Руководство пользователя................................................................11
Заключение............................................................................................12
Список использованных источников..................................................13
4
ВВЕДЕНИЕ
Целью работы является создание программы, находящей экстремум
функции с помощью метода наискорейшего спуска.
Градиентный спуск — метод нахождения локального минимума (максимума)
функции с помощью движения вдоль градиента. Для минимизации функции
в направлении градиента используются методы одномерной оптимизации,
например, метод золотого сечения. Также можно искать не наилучшую точку
в направлении градиента, а какую-либо лучше текущей.
Сходимость
метода
градиентного
спуска
зависит
от
отношения
максимального и минимального собственных чисел матрицы Гессе в
окрестности минимума (максимума). Чем больше это отношение, тем хуже
сходимость метода.
Методом наискорейшего спуска может быть найден минимум функции
n переменных F(x1, . . . ,xn) или найдены решения системы уравнений вида:
Fi(x1,x2, . . .,xn)=0, i=1, . . ,n.
Алгоритм наискорейшего спуска реализует итерационную процедуру
движения к минимуму из произвольно выбранной точки начального
приближения в направлении наиболее сильного уменьшения функции,
определенном в окрестности текущего значения аргумента минимизируемой
функции. Такое направление противоположно направлению, задаваемому
вектором градиента минимизируемой функции F(x1, . . . ,xn)
5
1 МАТЕМАТИЧЕСКОЕ ОПИСАНИЕ
Основной
целью
программы
является
вычисление
экстремума
функции.
В
методе наискорейшего спуска в качестве направления поиска
минимума заданной функции выбирается вектор, направление которого
противоположно направлению вектора градиента функции F(X), где X=x1,
x2, x3, … xn. Координаты этого вектора :
 dF dF
dF 

gradF( X )  
,
,...,
dxn 
 dx1 dx2
В математическом анализе доказывается, что вектор gradF(X)
характеризует направление наиболее быстрого возрастания функции.
Поэтому вектор – gradF(X) (антиградиента) является направлением наиболее
быстрого ее убывания. Каждое последующее приближение получается из
предыдущего смещением в направлении антиградиента функции F(X)
(смотри рис.1).
Рис. 1
Задавшись
начальным
приближением
X0
ищется
приближение с помощью реккурентного соотношения вида:
X i1  X i  i  gradF( X i )
6
, i=0,1,2…
следующее
Приведенное соотношение не определяет алгоритм однозначно,
поскольку ничего не сказано о выборе параметра i. Например его можно
определять из условия минимума величины:
min F ( X i  i  gradF( X i )
i
Рассматриваемая функция является функцией одного параметра  и ее
минимум находится или методами одномерной минимизации или решением
уравнения, которое имеет вид:
dF( X i  i  gradF( X i ))
0
d
,
минимальный неотрицательный корень этого уравнения и является искомым значением
 i.
Поиск прекращается при выполнении условия
gradf ( X i )  
, так как
градиент в точке минимума функции = 0, а при приближенных вычислениях
 .
7
2 АЛГОРИТМ РАБОТЫ ПРОГРАММЫ
Общий алгоритм работы программы представлен в виде блок-схемы на
рисунке 2.
Начать из точки
Xi ( i= 0 )
Положить
Di = - q(xi)
Найти значение λi ,
минимизирующее
функцию f(xi+λdi)
Положить i = i+1
нет
Положить xi+1=xi+λidi
xi+1
-точка минимума
да
Положить x*=xi+1
стоп
Рисунок 2 – Блок-схема программы
8
Подробный алгоритм работы программы представлен в виде блк-схемы на
рисунке3.
2
1
9
2
1
Рисунок 3 - Подробная блок-схема программы.
10
3 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ
До начала работы программы нужно ввести начальные значения:
начальный шаг, необходимую точность, число требуемых итераций и
начальное приближение (рисунок 4).
Рисунок 4 – Панель ввода данных.
Далее нажать кнопку «Рассчитать». Программа отображает на графике
процесс поиска решения и выводит требуемые данные.
Рисунок 5 – Окно программы
11
ЗАКЛЮЧЕНИЕ
При выполнении индивидуального задания была разработана
программа нахождения экстремума функции Розенброка.
Программа обеспечивает нахождение экстремума с помощью
метода
наискорейшего
отображение
введенных
спуска
.
В
начальных
программе
данных
и
учитывается
найденного
экстремума, график отображающий поиск решения, а также
справка.
12
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Б. Банди, «Методы оптимизации» стр. 51 – 56.
2. В. В. Салмин, «Методы оптимального управления».
13
Документ
Категория
Программирование, Базы данных
Просмотров
10
Размер файла
464 Кб
Теги
поясн, записка
1/--страниц
Пожаловаться на содержимое документа