- •Лабораторная работа 1. Исследование методов одномерного поиска минимума унимодальных функций
- •Лабораторная работа 2. Исследование методов полиномиальной интерполяции для поиска минимума целевых функций
- •Лабораторная работа 3. Исследование методов линейного поиска
- •3.1 Требования задания
- •3.2 Контрольные вопросы
- •3.3 Содержание отчета
- •Лабораторная работа 4. Исследование градиентных методов
- •4.1 Требования задания
- •4.2 Контрольные вопросы
- •4.3 Содержание отчета
- •Лабораторная работа 5. Проектирование программы оптимизации
- •5.1 Требования задания
- •5.2 Контрольные вопросы
- •5.3 Содержание отчета
- •Лабораторная работа 6. Исследование модификаций ньютоновских оптимизационных процессов
- •6.1 Требования задания
- •6.2 Контрольные вопросы
- •6.3 Содержание отчета
- •Лабораторная работа 7. Исследование методов безусловной оптимизации первого порядка
- •7.1 Требования задания
- •7.2 Контрольные вопросы
- •7.3 Содержание отчета
- •Лабораторная работа 8. Исследование методов безусловной оптимизации нулевого порядка
- •8.1 Требования задания
- •8.2 Контрольные вопросы
- •8.3 Содержание отчета
- •Лабораторная работа 9. Исследование алгоритмов случайного поиска
- •9.1 Требования задания
- •9.2 Контрольные вопросы
- •8.3 Содержание отчета
- •Приложения Приложение 1. Метод средней точки (метод Больцано)
- •Приложение 2. Метод трехточечного поиска на равных интервалах
- •Приложение 3. Метод Ньютона
- •Приложение 4. Метод линейной интерполяции (метод секущих)
- •Приложение 5. Метод кубической интерполяции для одномерной минимизации
- •Приложение 6. Метод Фибоначчи
- •Приложение 7. Метод Зангвилла
- •Приложение 8. Алгоритм lPтпоиска
- •Приложение 9. Минимизация целевых функций в MicrosoftEcxel8.0
- •Приложение 10. Тестовые функции
- •Список рекомендуемой литературы
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. Цель работы и требования задания.
Краткое описание метода оптимизации на основании материала лекционного курса и описание схемы пошагового выполнения вычислительного алгоритма.
Блок-схема программы с пояснением основных ее частей.
Спецификация программы, раскрывающая смысл входных и выходных данных, основных переменных и функций.
Текст программы с детальными комментариями ведущих операторов программы.
Результаты тестирования программы на наборе целевых функций с указанием числа итераций и числа вычислений функций. Таблица, иллюстрирующая вычислительный процесс и изменение ключевых переменных.
Результаты сравнения по числу итераций заданных методов оптимизации при использовании различных критериев окончания поиска, при выборе разных начальных точек x1и при задании различных значений погрешности локализации минимума.
Ответы на контрольные вопросы.
Выводы по работе.
Лабораторная работа 5. Проектирование программы оптимизации
5.1 Требования задания
Целью работы является изучение современной технологии разработки программ оптимизации, ориентированных на язык C++.
Программа должна допускать:
оптимизацию целевых функций с числом переменных n≤5.
численное дифференцирование минимизируемых функций.
задание с клавиатуры критерий останова (норма градиента и число итераций) и продолжать решение после внесения дополнительных уточнений в текущую точку и критерий останова.
Программа должна быть дружественной пользователю:
содержать необходимые заставки и сообщения, характеризующие программу, используемый метод, характер выводимой информации, допущенную ошибку при вводе данных и т.д.;
содержать блокировку ошибочных действий при вводе данных и обеспечивать простоту исправления ошибки;
желательно, чтобы при демонстрационном режиме была возможность выбора одной и нескольких (трех-пяти) тестовых функций и запуск на поиск решения без ввода вида функции с клавиатуры.
При составлении программы предусмотреть:
структурирование программы в соответствии с объектно-ориентированным подходом к разработке программного обеспечения;
использование класса вектор для представления в программе математического понятия вектора;
возможность сравнения по числу итераций двух способов описания производных – численного и аналитического [3];
выбор по требованию пользователя способа организации линейного поиска: 1) с использованием классов векторов и матричных операций, 2) с использованием в явном виде зависимости целевой функции от шага, доставляющего минимум в заданном направлении.