Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы оптимизации в пакетах прикладных программ и их применение в решении задач НЛП в системах автоматического управления. Учебно-методическое пособи

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
МИНИСТЕРСТВО ТРАНСПОРТА
РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО
ОБРАЗОВАНИЯ
«РОССИЙСКИЙ УНИВЕРСИТЕТ ТРАНСПОРТА»
Кафедра «Управление и защита информации»
МЕТОДЫ ОПТИМИЗАЦИИ В ПАКЕТАХ ПРИКЛАДНЫХ
ПРОГРАММ И ИХ ПРИМЕНЕНИЕ В РЕШЕНИИ ЗАДАЧ НЛП В
СИСТЕМАХ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ
Учебно-методическое пособие
для студентов направления
«Управление в технических системах» специализация
«Системы, методы и средства цифровизации и управления»
очно-заочной формы обучения
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]