Московский государственный университет путей сообщения (МИИТ)
Кафедра «Управление и информатика в технических системах»
В.Г. Сидоренко
Реализация алгоритмов решения задач при проектировании САУ с использованием объектно-ориентированного языка программирования C++
Рекомендовано редакционно-издательским советом университета в качестве методических указаний
для студентов специальности
«УПРАВЛЕНИЕ И ИНФОРМАТИКА В ТЕХНИЧЕСКИХ СИСТЕМАХ»
Москва - 2008
Московский государственный университет путей сообщения (МИИТ)
Кафедра «Управление и информатика в технических системах»
В.Г. Сидоренко
Реализация алгоритмов решения задач при проектировании САУ с использованием объектно-ориентированного языка программирования C++
Методические указания к курсовой работе
для студентов специальности
«Управление и информатика в технических системах»
Москва - 2008
УДК 378:656.2:681.3
C-34
Сидоренко В.Г. Методические указания к курсовой работе «Реализация алгоритмов решения задач при проектировании САУ с использованием объектно-ориентированного языка программирования C++» для студентов специальности «Управление и информатика в технических системах». – М.: МИИТ. 2008. – 38 с.
В методических указаниях излагаются задания, структура и основные этапы выполнения курсовой работы по дисциплинам «Алгоритмы решения задач при проектировании САУ» и «Вычислительные алгоритмы при исследовании систем управления» для специальности 210100 «Управление и информатика в технических системах».
© Московский государственный
университет путей сообщения
(МИИТ), 2008
Введение
Решение задач проектирования и исследования систем управления напрямую связано с решением оптимизационных задач, а именно задач определения таких параметров системы, при которых выбранный критерий оптимальности достигает своего минимального значения. Существует множество методов решения оптимизационных задач для функций одной и многих переменных, каждый из которых обладает как преимуществами, так и недостатками по сравнению с другими. Современный уровень развития вычислительной техники позволяет автоматизировать процесс решения оптимизационных задач, использовать для их решения как стандартные программные продукты, так и создавать собственные специализированные. Необходимой составляющей систем автоматизированного проектирования является блок решения оптимизационных задач. Это определяет актуальность данной курсовой работы.
1 ЦЕЛЬ КУРСОВОЙ РАБОТЫ
Целью курсовой работы является формирование у студентов практических навыков решения оптимизационных задач при проектировании и исследовании систем управления с использованием программных средств.
2 Методы одномерной оптимизации
Постановка задачи:
Задана непрерывная унимодальная целевая функция
, определенная в интервале . Найти минимальное значение целевой функции.Рассмотрим следующие методы одномерной оптимизации [1, 3, 6-9, 14]:
– метод равномерного поиска или перебора;
– половинного деления;
– поразрядного поиска;
– золотого сечения;
– Фибоначчи;
– метод средней точки;
– метод Ньютона.
Два последних из перечисленных методов являются методами первого порядка. Их преимущество состоит в том, что они не требуют проведения трудоемких и объемных вычислений. Недостатком является требование задания целевой функции в аналитическом виде, унимодальности целевой функции в заданном интервале изменения переменной, дифференцируемости целевой функции.
2.1 Метод равномерного поиска
1. Задать допустимую погрешность вычислений точки экстремума
.2. Определить число итераций
(циклов вычисления): .3. Вычислить значения независимой переменной в пробных точках:
.4. Найти значения целевой функции в пробных точках
.5. Определить минимальное значение целевой функции путем сравнения значений функции в пробных точках
Метод равномерного поиска требует выполнения большого числа вычислений.
2.2 Метод дихотомии (половинного деления)
1. Задать численные значения
и , где – достаточно малое число, характеризующее отступление от точки половины интервала и составляющее 5%-10% от его величины.2. Определить значения пробных точек
и по формулам: , .3. Вычислить значения
и .4. Сравнить
и . Если , то необходимо перейти к интервалу , положив ; иначе перейти к интервалу , положив .5. Определить полученную (достигнутую) погрешность
по формуле: ,где
– число итераций.6. Если
, то перейти к следующей итерации вернувшись к п. 2. Если , то завершить поиск и перейти к п.7.7. Положить
, .2.3 Метод поразрядного поиска
1. Задать допустимую погрешность определения точки экстремума
.2. Выбрать начальный шаг:
.3. Положить начальную пробную точку
, вычислить значение функции .4. Положить следующую пробную точку
и вычислить .5. Сравнить
и .6. Если
, то перейти к п.7 иначе к п.8.7. Положить
и , проверить условие , если это условие выполняется, то перейти к п.4, иначе к п.8.8. Проверка окончания поиска: если
, то решение найдено, , а , иначе – переход к п.9.9. Изменить направление и шаг поиска положив
; ; и перейти к п.4.2.4 Метод Фибоначчи
Если необходимо определить минимум функции с наименьшим возможным интервалом неопределенности, но при этом выполнить только n вычислений функции, используют метод Фибоначчи. В этом случае значения функции, полученные в предыдущих шагах, определяют положение последующих точек. Поиск методом Фибоначчи, названный так ввиду появления при поиске чисел Фибоначчи, является итерационной процедурой и состоит в следующем.