Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Методы оптимизации в пакетах прикладных программ и их применение в решении задач НЛП в системах автоматического управления. Учебно-методическое пособи
.pdf
МИНИСТЕРСТВО ТРАНСПОРТА
РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО
ОБРАЗОВАНИЯ
«РОССИЙСКИЙ УНИВЕРСИТЕТ ТРАНСПОРТА»
Кафедра «Управление и защита информации»
О.И. МОНАХОВ
МЕТОДЫ ОПТИМИЗАЦИИ В ПАКЕТАХ ПРИКЛАДНЫХ
ПРОГРАММ И ИХ ПРИМЕНЕНИЕ В РЕШЕНИИ ЗАДАЧ НЛП В
СИСТЕМАХ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ
Учебно-методическое пособие
для студентов направления
«Управление в технических системах» специализация
«Системы, методы и средства цифровизации и управления»
очно-заочной формы обучения
27.03.04 (бакалавриат)
Москва – 2021

УДК 681.5
М-77
Монахов О.И. Методы оптимизации в пакетах прикладных
программ и их применение в решении задач НЛП в системах
автоматического управления: Учебно-методическое пособие к
практическим занятиям и курсовому проекту по дисциплине «Методы
оптимизации». – М: РУТ (МИИТ), 2021. – 63 с.
В учебно-методическом пособии рассматриваются вопросы
использования методов нелинейного программирования для решения
задач теории автоматического управления.
Подробно рассмотрено несколько поисковых алгоритмов для
оптимизации тестовых функций и динамики САУ.
Описана методика работы с пакетами Mathcad/Matlab в рамках решения
задачи синтеза систем автоматического управления.
Приведены варианты заданий для лабораторных работ и курсового
проекта по дисциплине «Методы оптимизации».
Рекомендовано для направления «Управление в технических
системах» специализация «Системы, методы и средства цифровизации и
управления» 27.03.04 (бакалавриат) очно-заочной формы обучения.
Рецензент д. т. н., профессор, заведующий кафедрой «Электропоезда
и локомотивы» РУТ (МИИТ) Пудовиков О.Е.
© РУТ (МИИТ), 2021
2

1.
ЦЕЛИ И ЗАДАЧИ ДИСЦИПЛИНЫ «МЕТОДЫ ОПТИМИЗАЦИИ»
Целью преподавания дисциплины для обучающихся по специальности
«Управление в технических системах» является применение методов
нелинейного программирования для решения задач оптимизации,
возникающих в различных отраслях науки и техники.
Основными задачами курса являются – освоение методов нелинейного
программирования и умение применять их для решения конкретных задач в
науке и производстве.
В последние годы возрос интерес к использованию инструментальных
программных комплексов, таких как Mathcad, Matlab, МВТУ, Vissim, Skilab и
др. и имеющих в своем составе различные методы оптимизации. По мнению
автора, задачей обучающихся является применение вышеупомянутых
программных комплексов для решения задач проектирования систем
автоматического управления.
Данное учебно-методическое пособие посвящено описанию методов
оптимизации, используемых для решения ряда задач теории автоматического
управления (ТАУ) при выполнении бакалаврами НИР, курсовых проектов,
лабораторных работ и практических занятий по дисциплине «Методы
оптимизации».
Основное внимание уделено вычислительным аспектам методов
нелинейного программирования (НЛП), эффективности их использования в
решении задач моделирования и оптимизации систем управления.
Учебно-методическое пособие построено на материалах,
использованных О.И. Монаховым в Российском университете транспорта при
чтении курса лекций, при выполнении лабораторных занятий и курсового
проектирования по дисциплине «Методы оптимизации» с использованием
различных инструментальных систем [1 – 5].
Автор исходил из того, что для будущих бакалавров и магистров важно
понять суть методов и алгоритмов их реализации, условий их применения на
ЭВМ и получить навыки решения типовых задач оптимизации [6].
Описанию методов оптимизации посвящено большое количество работ
[7 – 9]. Попытка систематизации работ в этой области сделана в работе [10].
3

В данном пособии приводится описание задач, для решения которых
№ n/n
Виды занятий
Запланировано в
часах
1.
Практические занятия.
8 час.
2.
Лабораторные занятие.
Консультации
16 час.
4 час.
3.
Курсовая работа (проект)
29 час
4.
Промежуточный контроль
ПК1, ПК2
2 час.
5.
Зачет
3 час.
6.
∑
62 час.
используются методы оптимизации, реализованные в различных
программных комплексах, и проводится сопоставительный анализ
эффективности методов при решении как тестовых задач, так и задач
оптимального проектирования систем автоматического управления,
встречающихся в системах автоматизированного проектирования (САПР) [11
– 13].
2.
РАСПРЕДЕЛЕНИЕ ТРУДОЕМКОСТИ ДИСЦИПЛИНЫ ПО
ВИДАМ ЗАНЯТИЙ
В 2020/2021 учебном году в группе ВУИ-311, где обучающиеся изучают
дисциплину «Методы оптимизации» учебным планом предусмотрено:
2.1. Тематика практических занятий (8 час.)
Решение тестовых задач оптимизации для функции 2-х переменных
различными методами «вручную»:
1) Метод покоординатного спуска.
2) Метод градиентный или наискорейшего спуска.
3) Метод случайного поиска (с возвратом, с пересчетом, смешанная тактика).
Описание методов оптимизации можно найти, например, в рекомендованной
методичке [25], а также в книге [17].
В книге [17], помимо методов оптимизации приводятся примеры решения
задач, которые предлагается решить обучающимся. Также, на просторах
интернета можно найти множество решений подобного рода задач с
4

подробными объяснениями (см. приложение к учебно-методическому
пособию).
2.2. Тематика лабораторных занятий (16+4 час.)
1) Методы оптимизации в Mathcad.
2) Методы оптимизации в Matlab Simulink.
3) Методы оптимизации в МВТУ.
4) Методы оптимизации в среде VisSim.
5) Методы оптимизации в среде Skilab.
Объектом оптимизации в лабораторных работах является:
1. Тестовые функции, описанные в [17,25].
2. САУ с ПИД-регулятором, коэффициенты последнего K1, K2, K3 для
различных объектов определяются в результате решения задачи НЛП в
среде различных пакетов прикладных программ Mathcad, Matlab и др.
Оформление отчетов по лабораторным работам производится в
соответствии с требованиями, приведенными в разделе 5.
2.3. Курсовой проект по дисциплине «Методы оптимизации». (29
час.)
Задача проектирования САУ с заданными динамическими свойствами на
примерах:
а) Коррекция САУ, связанная с синтезом параметров корректирующего
устройства следящей системы с использованием методов НЛП.
б) Синтез САУ с ПИД – регулятором с заданными динамическими свойствами
на основе применения методов НЛП, используемых для подбора
коэффициентов регулятора K1, K2, K3 для различных объектов регулирования
(например,
) и т д.
Оформление результатов расчетов по тематике курсового проекта
произвести в соответствии с примерами оформления приведенными,
например, в [2,5].
3.
МЕТОДЫ ОПТИМИЗАЦИИ
В настоящее время нет недостатка в литературе, описывающей
многочисленные методы, предназначенные для решения задач оптимизации с
параметрическими или функциональными ограничениями на область поиска [6
– 13]. Как уже указывалось, для учащихся (бакалавров) помимо знаний об
алгоритмах важнее уметь решать многочисленные задачи оптимизации,
возникающие в различных областях науки и техники [11 – 14]. Причём при
5

решении этих задач необходимо уметь применять те или иные эффективные
вычислительные средства как зарубежных (MATLAB, LabVIEW и др.), так и
отечественных программных комплексов (МВТУ) [14] на основе широкого
использования ЭВМ. При изучении дисциплины «Численные методы в
инженерных расчётах» учащиеся подробно разбирают алгоритмы решения
систем уравнений, методы численного интегрирования дифференциальных
уравнений (методы Эйлера, Рунге-Кутты), методы линейного
программирования с последующей разработкой программ, реализующих эти
методы на том или ином алгоритмическом языке, изучаемом в предшествующих
курсах в рамках учебного плана по специальности
«Управление в технических системах».
Следующим этапом после формирования структуры и начальных
параметров корректирующего устройства, определения устойчивости и
качества переходных процессов в САУ является параметрическая
оптимизация, являющаяся в общем случае задачей НЛП и осуществляющаяся
различными поисковыми алгоритмами на ЭВМ.
Перечислим специфические свойства, присущие целевым функциям в
процедурах поиска при оптимизации параметров САУ: характеристики
качества, даже для линейных систем, зависят от параметров поиска
нелинейно; целевая функция (критерий оптимальности) – неявная функция
параметров системы – имеет локальные экстремумы, «гребни» и «овраги»
и т.д. Отсюда следует невозможность выбора какого-либо одного метода
поиска, справляющегося со всеми вышеперечисленными трудностями [11].
При реализации нижеописанных методов поиска в общем случае
используется рекуррентные формулы:
где
приращение,
поиска,
– текущая точка,
– рабочий шаг поиска,
– масштаб. В начале поиска задаётся начальная точка, затем
(3.1)
– предыдущая точка,
– вектор направления
–
начинается перемещение в пространстве независимых переменных в
соответствии с данной формулой. При этом шаг считается удачным при
выполнении условия уменьшения значения целевой функции,
, в противном случае шаг считается неудачным. В зависимости от
ситуации при неудачном шаге производится изменение величины шага, либо
вектора направления поиска, причём для каждого из методов поиска
вектор
определяется по-своему. Масштаб определяется один раз в
начале поиска с целью учёта допустимого диапазона изменения переменных
(границ). Рабочий шаг поиска возможно изменять с каждым новым шагом в
зависимости от успешности предыдущего или каких-либо других условий.
6

Ниже приведено описание некоторых методов случайного поиска [18],
которые хорошо зарекомендовали себя при определении как локального, так
и глобального экстремума. Часто локальный случайный поиск хорошо
дополняют детерминированные методы поиска (градиентный, метод
координатного спуска и др.), ускоряя их на начальных этапах.
3.1. МЕТОДЫ СЛУЧАЙНОГО ПОИСКА
3.1.1. Локальный случайный поиск с возвратом
В данном методе первоначально производится фиксированный шаг в
случайно выбранном направлении. Если значение критерия оптимальности в
новом состоянии превышает исходное значение или
остаётся неизменным, т.е. шаг оказался неудачным, то происходит возврат в
исходное состояние
направлении. Если значение
, откуда осуществляется случайный шаг в новом
уменьшилось,
то следующий
случайный шаг делается уже из точки [18].
Алгоритм поиска можно записать в следующем рекуррентном виде:
где – рабочий шаг поиска,
на отрезке
[ - 1 ; 1 ]
.
– случайный вектор, равномерно распределённый
, (3.2)
Иллюстрация работы данного метода для функции двух переменных
представлена на рисунке 3.1. Здесь – действительная точка минимума,
– начальная точка поиска. Пунктирными линиями показаны неудачные шаги,
не приводящие к уменьшению значения целевой функции. Из рисунка видно,
что из семи пройденных шагов лишь два оказались удачными, а оставшиеся
пять – неудачными.
Рисунок 3.1. Иллюстрация работы метода случайного поиска с возвратом [6]
7

Алгоритм может быть дополнен элементами адаптации шага:
, (3.3)
где
– эмпирические коэффициенты, значения, которых
подбираются в диапазонах:
Алгоритм эффективен даже в случае нестационарных функций,
изменяющихся во времени по тем или иным причинам.
3.1.2. Локальный случайный поиск с пересчётом
Этот метод поиска отличается от предыдущего тем, что система не
возвращается при неудачном шаге назад в исходное состояние, а делает
«пересчитанный» случайный шаг в новое состояние, при котором
учитывается исходное состояние.
Алгоритм поиска записывается в виде следующей рекуррентной
формулы:
где
– наименьшее значение критерия
, (3.4)
оптимальности за предыдущих шагов поиска.
Этот алгоритм используется для случаев стационарной функции
качества, сокращая при этом объём вычислений.
3.1.3. Случайный поиск со смешанной тактикой
В процессе случайного поиска необходимо менять шаг поиска, иначе
эффективность вблизи экстремума падает. Одним из способов вариации
является смена тактики поиска.
Априори определяется некоторое значение
, до достижения которого
ведётся поиск типа (1) (стадия I):
, (3.5)
8

Как только система нашла меньшие границы значений
, считается, что
она находится в зоне притяжения экстремума и соответственно переходим к
стадии II:
1) резко уменьшаем шаг поиска (в 10 30 раз);
2) переходим к алгоритму с линейной тактикой (удачный шаг
повторяется)
, (3.6)
В случае если определённое число шагов не привело к выполнению
условия окончания поиска, делается большой случайный шаг и
осуществляется переход к стадии I (3.5). При достижении границ смены
тактики
– переход к (3.6) и т.д. Алгоритм может быть дополнен
элементами адаптации шага. В примере при оптимизации тестовой функции
При , , ,, через 100 шагов
поиска, из которых было 33 удачных и 67 неудачных, функция качества
достигла значения , .
3.2. МЕТОД ПОКООРДИНАТНОГО СПУСКА (МЕТОД
ГАУССА-ЗЕЙДЕЛЯ)
Этот метод заключается в последовательной минимизации целевой
функции
базисного вектора (орта), затем второго –
минимизации по направлению последнего базисного вектора
повторяется. [6]
с интенсивным спуском сначала по направлению первого
и так далее. После окончания
цикл
Алгоритм можно представить в виде следующей рекуррентной
формулы:
(3.7)
где
. При этом на каждом шаге происходит
приращение только одной координаты, индекс которой соответствует индексу
единичной компоненты вектора
.
9

Рисунок 3.2. Иллюстрация работы
метода покоординатного спуска [7]
Для примера, изображённого
на рисунке 3.2, вектор направления
поиска вначале имеет вид
, то есть осуществляется
перемещение по координате
.
После удачных шагов целевая
функция перестаёт уменьшаться, и
вектор приобретает вид
, то есть начинается
перемещение по координате
. Оно
продолжается в течение удачных
шагов, в результате чего поиск
приводит нас в точку
, которая
соответствует окончанию первого
цикла покоординатного спуска.
Затем начинается следующий цикл,
аналогичный первому, который
приводит нас в точку
движение продолжается до тех пор,
. Подобное
пока мы не попадём в точку
локального минимума
.
Она обладает следующим свойством: куда бы мы ни двинулись из неё вдоль
координатных осей, будет происходить увеличение значения целевой
функции
.
Алгоритм дополняется элементами адаптации шага:
, (3.8)
где
Рассмотренный алгоритм прост в реализации, но эффективен, как
правило, в случаях, когда оптимизируемая функция является сепарабельной,
т.е. представляет собой сумму функций, каждая из которых зависит лишь от
одной переменной.
3.3. ГРАДИЕНТНЫЕ МЕТОДЫ ПОИСКА
В градиентных методах оптимизации направление движения от
итерации
определяется градиентом (антиградиентом). Частные
производные критерия оптимальности (представляющие собой координаты
вектора градиента) рассчитываются с помощью отношений разности
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
