- •2005 Г Содержание:
- •1. Цель работы и требования задания :
- •2. Спецификация программы, раскрывающая смысл входных и выходных данных, основных переменных, функций и классов.
- •2.1. Входные данные :
- •2.2. Выходные данные :
- •2.4. Класс Cvector:
- •3.Текст программы с детальными комментариями ведущих операторов программы.
- •4. Описание интерфейса пользователя программы.
- •5. Результаты сравнения двух способов вычисления производных – численного и аналитического.
- •8.Ответы на контрольные вопросы.
- •9.Вывод
Санкт-Петербургский государственный электротехнический
университет имени В.И. Ульянова (Ленина) "ЛЭТИ"
Отчёт
по лабораторной работе №5
“ Проектирование программы оптимизации”.
Вариант 9
Выполнили: Кохтенко Н.В.
Мифтахетдинов Э.В
Группа: 3371
Преподаватель: Выборнов Д.М.
Санкт- Петербург.
2005 Г Содержание:
Цель работы и требования задания.
Спецификация программы, раскрывающая смысл входных и выходных данных, основных переменных, функций и классов.
Текст программы с детальными комментариями ведущих операторов программы.
Описание интерфейса пользователя программы.
Результаты сравнения двух способов вычисления производных – численного и аналитического.
Результаты сравнения двух способов организации линейного поиска (с использованием класса вектораи использованием явной зависимостиy(α)).
Результаты сравнения работы программы с результатами работы Matlabи надстройки «Поиск решения» вMSExcel[9].
Ответы на контрольные вопросы.
Выводы по работе.
1. Цель работы и требования задания :
Цель работы: изучение современной технологии разработки программ оптимизации, ориентированных на язык C++, и модификация программы, разработанной в лабораторной работе 4.
Требования задания:
Модифицированная программа должна обеспечивать:
оптимизацию целевых функций с любымчислом переменных;
численноедифференцирование минимизируемых функций;
задание с клавиатуры критерия останова (норма градиента и число итераций) и продолжение решения после внесения дополнительных уточнений в текущую точку и критерий останова;
возможность ввода с клавиатуры аналитического описания функции многих переменных, содержащего скобки, операции +, –, /, *, ^n (возведение в степеньn) и основные математические функции (sin,cos,ln,exp).
Программа должна быть дружественной пользователю:
содержать необходимые заставки и сообщения, характеризующие программу, используемый метод, характер выводимой информации, допущенную ошибку при вводе данных и т. д.;
содержать блокировку ошибочных действий при вводе данных и обеспечивать простоту исправления ошибки;
обеспечивать в демонстрационном режиме возможность выбора одной из нескольких (трех-пяти) тестовых функций и запуск на поиск решения без ввода вида функции с клавиатуры.
При составлении программы предусмотреть:
структурирование программы в соответствии с объектно-ориентированным подходом к разработке программного обеспечения;
использование класса векторадля представления в программе математического понятия вектора;
возможность сравнения по числу итераций двух способов описания производных – численного ианалитического;
выбор по требованию пользователя способа организации линейного поиска: 1) с использованием класса вектораи матричных операций, 2) с использованием в явном виде зависимости целевой функции от шага, доставляющего минимум в заданном направлении
2. Спецификация программы, раскрывающая смысл входных и выходных данных, основных переменных, функций и классов.
2.1. Входные данные :
Функция
Начальная точка x1
Критерий останова
Норма градиента
2.2. Выходные данные :
- Значение минимумаx*