
ФЕДЕРАЛЬНОЕ
АГЕНСТВО ПО ОБРАЗОВАНИЮ.
Государственное образовательное учреждение высшего профессионального образования.
«Санкт-Петербургский государственный электротехнический университет «лэти» имени в.И. Ульянова (Ленина)»
(СПБГЭТУ)

Кафедра ВТ
Практическая работа №5
«Проектирование программы оптимизации»
Выполнил: ст. группы 9307 Джабаров Р.Р.
Проверил: проф. Дмитревич Г.Д.
Санкт-Петербург
2014 г.
Задание 2
Спецификация программы 3
Описание методов оптимизации 3
Текст программы 4
Результаты тестирования программы 12
Ответы на вопросы 13
Вывод 13
Задание
Целью работы является изучение современной технологии разработки программ оптимизации, ориентированных на язык C++.
Реализовать на языке С++ программу оптимизации. Протестировать программу и сравнить результаты работы заданных методов оптимизации при использовании различных критериев окончания поиска и при задании различных значений погрешности локализации минимума. Сделать выводы.
Спецификация программы
Программа построена таким образом, чтобы пользователь имел возможность оказывать определяющее воздействие на ход выполнения программы и алгоритмы поиска решений. Для этого в основной функции, решающей задачу нахождения минимума выбранной функции, реализована возможность определения максимального количества итераций, определения интересующей точности вычислений. В программе предусмотрена возможность повторного запуска процесса вычисления с корректирующими значениями начальной точки, максимального количества итераций и интересующей точности.
Основным объектом, которым пользуются все функции программы, является объект «Вектор», который представлен в программе классом Vector. В классе реализованы все процедуры обработки объектов класса Vector, необходимые для работы программы. Основная расчетная функция возвращает именно объект класса Vector.
В программе пользователю предоставляется возможность выбрать тестовую функцию по своему усмотрению.
Функция y(x) |
Начальная точка (x1) t |
Направление поиска p t |
Значение минимума (x*)t |
x12 + 3x22 + 2x1x2 |
( 1 ; 1) |
( 2 ; 3) |
( 0.2558 ; -0.1163) |
Функция y(x) |
Начальная точка (x1) t |
Значение минимума (x*)t |
100(x2 -x12)2 + (1-x1)2 + 90(x4-x32)2 + (1-x3)3 + 10.1[(x2-1)2+(x4-1)2]+19.8(x2-1)(x4-1)
|
(-3;-1;-3;-1) |
( 1 ; 1 ; 1; 1 ) |
(x1 - 1)2 + (x2 - 3)2 + 4(x3 + 5)2 |
( 4 ; -1 ; 2 ) |
( 1 ; 3 ; -5) |
Описание методов оптимизации
Метод Гаусса Зейделя
Шаг 1
Выполнить n покоординатных спусков из точки Х1 в точку Х(1+n)
-
компонента градиента в заданной точке
Хк
расчёт альфа с помощью 3-ей лаб.работы.
Расчёт координаты новой точки
Шаг 2
Проверить КОП (норма градиента «у» должна быть меньше «е»)
Если КОП не выполняется то возвращаемся на Шаг 1