Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №5.doc
Скачиваний:
8
Добавлен:
01.05.2014
Размер:
150.02 Кб
Скачать

Санкт-Петербургский государственный электротехнический

университет имени В.И. Ульянова (Ленина) "ЛЭТИ"

Отчёт

по лабораторной работе №5

Проектирование программы оптимизации”.

Вариант 9

Выполнили: Кохтенко Н.В.

Мифтахетдинов Э.В

Группа: 3371

Преподаватель: Выборнов Д.М.

Санкт- Петербург.

2005 Г Содержание:

  1. Цель работы и требования задания.

  2. Спецификация программы, раскрывающая смысл входных и выходных данных, основных переменных, функций и классов.

  3. Текст программы с детальными комментариями ведущих операторов программы.

  4. Описание интерфейса пользователя программы.

  5. Результаты сравнения двух способов вычисления производных – численного и аналитического.

  6. Результаты сравнения двух способов организации линейного поиска (с использованием класса вектораи использованием явной зависимостиy(α)).

  7. Результаты сравнения работы программы с результатами работы Matlabи надстройки «Поиск решения» вMSExcel[9].

  8. Ответы на контрольные вопросы.

  9. Выводы по работе.

1. Цель работы и требования задания :

Цель работы: изучение современной технологии разработки программ оптимизации, ориентированных на язык C++, и модификация программы, разработанной в лабораторной работе 4.

Требования задания:

Модифицированная программа должна обеспечивать:

  • оптимизацию целевых функций с любымчислом переменных;

  • численноедифференцирование минимизируемых функций;

  • задание с клавиатуры критерия останова (норма градиента и число итераций) и продолжение решения после внесения дополнительных уточнений в текущую точку и критерий останова;

  • возможность ввода с клавиатуры аналитического описания функции многих переменных, содержащего скобки, операции +, –, /, *, ^(возведение в степеньn) и основные математические функции (sin,cos,ln,exp).

Программа должна быть дружественной пользователю:

  • содержать необходимые заставки и сообщения, характеризующие программу, используемый метод, характер выводимой информации, допущенную ошибку при вводе данных и т. д.;

  • содержать блокировку ошибочных действий при вводе данных и обеспечивать простоту исправления ошибки;

  • обеспечивать в демонстрационном режиме возможность выбора одной из нескольких (трех-пяти) тестовых функций и запуск на поиск решения без ввода вида функции с клавиатуры.

При составлении программы предусмотреть:

  • структурирование программы в соответствии с объектно-ориентированным подходом к разработке программного обеспечения;

  • использование класса векторадля представления в программе математического понятия вектора;

  • возможность сравнения по числу итераций двух способов описания производных – численного ианалитического;

  • выбор по требованию пользователя способа организации линейного поиска: 1) с использованием класса вектораи матричных операций, 2) с использованием в явном виде зависимости целевой функции от шага, доставляющего минимум в заданном направлении

2. Спецификация программы, раскрывающая смысл входных и выходных данных, основных переменных, функций и классов.

2.1. Входные данные :

  • Функция

  • Начальная точка x1

  • Критерий останова

  • Норма градиента

2.2. Выходные данные :

- Значение минимумаx*