
- •Программирование численных методов в экстремальных задачах
- •Предисловие
- •Практическое занятие 1. Исследование методов одномерного поиска минимума унимодальных функций
- •1.1. Требования задания
- •1.2. Контрольные вопросы
- •1.3. Содержание отчета
- •Практическое занятие 2. Исследование методов полиномиальной интерполяции для поиска минимума целевых функций
- •2.1. Требования задания
- •2.2. Контрольные вопросы
- •2.3. Содержание отчета
- •Практическое занятие 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. Контрольные вопросы
- •9.3. Содержание отчета
- •Практическое занятие 10. Исследование алгоритмов случайного поиска
- •10.1. Требования задания
- •10.2. Контрольные вопросы
- •10.3. Содержание отчета
- •Практическое занятие 11. Исследование методов нелинейного программирования
- •11.1. Требования задания
- •11.2. Контрольные вопросы
- •11.3. Содержание отчета
- •Список литературы
- •1. Метод средней точки (метод Больцано)
- •2. Метод трехточечного поиска на равных интервалах
- •3. Метод Ньютона
- •4. Метод линейной интерполяции (метод секущих)
- •5. Метод кубической интерполяции для одномерной минимизации
- •6. Метод Фибоначчи
- •7. Метод Хука–Дживса с одномерной минимизацией
- •8. Метод Зангвилла
- •9. АлгоритмLPτ-поиска
- •10. Формулы методов переменной метрики
- •11. Минимизация целевых функций в MicrosoftExcel97
- •12. Тестовые функции
- •Содержание
- •197376, С.-Петербург, ул. Проф. Попова, 5
4.2. Контрольные вопросы
Представить первую итерацию аналитического решения задачи Вашего варианта задания.
Сравнить методы М4 – М7 с точки зрения организации поиска.
Дана функция y(x) =x12+x22+x32– 4x1– 8x2– 12x3+ 100. Исследовать характер стационарной точки.
Аналитическим методом найти минимум функции y(x) = (x2– –x1)2+ (1 –x1)2.
Аналитическим методом найти точку экстремума функции y(x1,х2,x3) =x12+ 2x22+ 5x32– 2x1x2– 4x2x3– 2x3.
4.3. Содержание отчета
Цель работы и требования задания.
Краткое описание метода оптимизации на основании материала лекционного курса и описание схемы пошагового выполнения вычислительного алгоритма.
Укрупненнаяблок-схема программы с пояснением основных ее частей.
Спецификация программы, раскрывающая смысл входных и выходных данных, основных переменных и функций.
Текст программы с детальными комментариями ведущих операторов программы.
Результаты тестирования программы на наборе целевых функций с указанием числа итераций и количества вычислений функций. Таблица, иллюстрирующая вычислительный процесс и изменение ключевых переменных.
Ответы на контрольные вопросы.
Выводы по работе.
Практическое занятие 5. Проектирование программы оптимизации
5.1. Требования задания
Цель работы– изучение современной технологии разработки программ оптимизации, ориентированных на языкC++, и модификация программы, разработанной в лабораторной работе 4.
Модифицированная программа должна обеспечивать:
оптимизацию целевых функций с любымчислом переменных;
численноедифференцирование минимизируемых функций;
задание с клавиатуры критерия останова (норма градиента и число итераций) и продолжение решения после внесения дополнительных уточнений в текущую точку и критерий останова;
возможность ввода с клавиатуры аналитического описания функции многих переменных, содержащего скобки, операции +, –, /, *, ^n (возведение в степеньn) и основные математические функции (sin,cos,ln,exp).
Программа должна быть дружественной пользователю:
содержать необходимые заставки и сообщения, характеризующие программу, используемый метод, характер выводимой информации, допущенную ошибку при вводе данных и т. д.;
содержать блокировку ошибочных действий при вводе данных и обеспечивать простоту исправления ошибки;
обеспечивать в демонстрационном режиме возможность выбора одной из нескольких (трех-пяти) тестовых функций и запуск на поиск решения без ввода вида функции с клавиатуры.
При составлении программы предусмотреть:
структурирование программы в соответствии с объектно-ориентированным подходом к разработке программного обеспечения;
использование класса векторадля представления в программе математического понятия вектора;
возможность сравнения по числу итераций двух способов описания производных – численного ианалитического;
выбор по требованию пользователя способа организации линейного поиска: 1) с использованием класса вектораи матричных операций, 2) с использованием в явном виде зависимости целевой функции от шага, доставляющего минимум в заданном направлении.