Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МЕТОДЫ ОПТИМИЗАЦИИ.doc
Скачиваний:
61
Добавлен:
01.05.2014
Размер:
2.4 Mб
Скачать

4.2 Контрольные вопросы

1. Представьте один шаг аналитического решения задачи Вашего варианта задания.

2. Сравните методы М4 - М7 с точки зрения организации поиска.

3. Дана функция y(x) = x12+ x22+ x32- 4x1- 8x2- 12x3+ 100.

Исследовать характер стационарной точки.

4. Найти минимум функции y(x) = (x2- x1)2+ (1 - x1)2.

5. Найти точку экстремума функции y(x1, х2, x3) = x12+ 2x22+ 5x32- 2x1x2– 4x2x3– 2x3.

4.3 Содержание отчета

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

  1. Краткое описание метода оптимизации на основании материала лекционного курса и описание схемы пошагового выполнения вычислительного алгоритма.

  2. Блок-схема программы с пояснением основных ее частей.

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

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

  5. Результаты тестирования программы на наборе целевых функций с указанием числа итераций и числа вычислений функций. Таблица, иллюстрирующая вычислительный процесс и изменение ключевых переменных.

  6. Результаты сравнения по числу итераций заданных методов оптимизации при использовании различных критериев окончания поиска, при выборе разных начальных точек x1и при задании различных значений погрешности локализации минимума.

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

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

Лабораторная работа 5. Проектирование программы оптимизации

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

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

Программа должна допускать:

  • оптимизацию целевых функций с числом переменных n≤5.

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

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

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

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

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

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

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

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

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

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

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