Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
чм.doc
Скачиваний:
26
Добавлен:
09.02.2015
Размер:
2.48 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. Цель работы и требования задания.

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

  3. Укрупненнаяблок-схема программы с пояснением основных ее частей.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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