close

Вход

Забыли?

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

?

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

код для вставкиСкачать
Федеральное агентство по образованию
Государственное образовательное учреждение
высшего профессионального образования
САМАРСКИЙ ГОСУДАРСТВЕННЫЙ
АЭРОКОСМИЧЕСКИЙ УНИВЕРСИТЕТ
имени академика С.П. КОРОЛЕВА (НИУ)
Факультет летательных аппаратов
Кафедра летательных аппаратов
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
К индивидуальному заданию по профессионально-ознакомительной практике
Выполнил студент группы 1308
Резинкина В.А.
Проверил__________________
Оценка____________________
Самара 2011
ЗАДАНИЕ
Разработать вычислительный алгоритм метода «Наискорейшего спуска»
с тестированием на функции Розенброка.
1. Разработать программный продукт, реализующий данный алгоритм в
среде DELPHI.
2. Разработать интерфейс пользователя.
3. Разработать модуль графического отображения поиска решения.
4. Апробировать алгоритм на тестовых примерах.
5. Записать программный продукт на диск.
6. Оформить описание разработки в соответствии с СТП СГАУ.
2
РЕФЕРАТ
Пояснительная записка ??? страниц, ??? рисунков, 1 источник.
ГРАДИЕНТ, МЕТОД КВАДРАТИЧНОЙ ИНТЕРПОЛЯЦИИ,
МНОЖИТЕЛИ ЛАГРАНЖА, МЕТОД ОДНОМЕРНОГО ПОИСКА.
Цель работы: разработать программу поиска экстремума функции,
спомощью метода наискорейшего спуска. Разработать пользовательский
интерфейс и модуль графического отображения поиска решения.
3
СОДЕРЖАНИЕ
Введение...................................................................................................................5
1 Математическая часть задачи..............................................................................6
2 Алгоритм работы программы.............................................................................7
3 Руководство пользователя..................................................................................8
Заключение..............................................................................................................9
Список использованных источников...................................................................10
Приложение А........................................................................................................11
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 ) , i=0,1,2…
6
следующее
Приведенное соотношение не определяет алгоритм однозначно, поскольку
ничего не сказано о выборе параметра 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 АЛГОРИТМ РАБОТЫ ПРОГРАММЫ
Общий алгоритм работы программы представлен в виде блок-схемы на
рисунке 1.
Начать из точки
Xi ( i= 0 )
Положить
Di = - q(xi)
Найти значение λi ,
минимизирующее
функцию f(xi+λdi)
Положить i = i+1
нет
Положить xi+1=xi+λidi
xi+1
-точка минимума
да
Положить x*=xi+1
стоп
Рисунок 1 – Блок-схема программы
8
9
10
3 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ
До начала работы программы нужно ввести начальные значения: начальный
шаг, необходимую точность, число требуемых итераций и начальное
приближение. Далее нажать кнопку «Рассчитать». Программа отображает на
графике процесс поиска решения и выводит требуемые данные.
При необходимости тестирования программы на других функциях, следует
изменить данные в function f
.
Рисунок 2 – Окно программы
11
ЗАКЛЮЧЕНИЕ
При выполнении индивидуального задания была разработана программа
нахождения экстремума функции.
Программа обеспечивает нахождение экстремума с помощью метода
наискорейшего спуска . В программе учитывается отображение
промежуточных значений переменных и график отображающий поиск
решения, а также справка.
12
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Б. Банди, «Методы оптимизации» стр. 51 – 56.
2. В. В. Салмин, «Методы оптимального управления»
13
Документ
Категория
Программирование, Базы данных
Просмотров
6
Размер файла
436 Кб
Теги
поясн, записка
1/--страниц
Пожаловаться на содержимое документа