книги / Моделирование систем управления. Исследование нелинейных моделей
.pdfМинистерство образования и науки Российской Федерации Федеральное агентство по образованию
Пермский государственный технический университет
T. С. Леготкина
М О Д Е Л И Р О В А Н И Е С И С Т Е М У П Р А В Л Е Н И Я . И С С Л Е Д О В А Н И Е Н Е Л И Н Е Й Н Ы Х М О Д Е Л Е Й
Утверждено Редакционно-издательским советом университета в качестве учебно-методического пособия к лабораторным работам для студентов заочного отделения специальности «Автоматика и телемеханика»
Пермь 2004
УДК 621.311
ЛЗЗ
Рецензенты:
д-р техн. наук, проф. О.Б. Низамутдинов (Государственный научно-исследовательский институт управляющих машин и систем, г. Пермь),
канд. техн. наук, доц. В.А. Панов (Пермский государственный технический университет)
Леготкина T. С.
ЛЗЗ Моделирование систем управления. Исследование нелинейных моделей: Учебно-метод. пособие к лаборат. работам для студ. заочн. отд. спец. «Автоматика и телемеханика» / Перм. гос. техн. ун-т. - Пермь, 2004. - 29 с.
Математическое моделирование линейных и нелинейных систем, описываемых алгебраическими и дифференциальными уравнениями, - один из разделов теории моделирования. В результате моделирования определяются параметры уравнений, а также точностные характеристики этих параметров.
В данном пособии описываются методы поиска параметров уравнений нелинейных моделей.
УДК 621.311
© Пермский государственный технический университет, 2004
ЛАБОРАТОРНАЯ РАБОТА № 1
ОЦЕНИВАНИЕ ПАРАМЕТРОВ НЕЛИНЕЙНЫХ МОДЕЛЕЙ СИСТЕМ УПРАВЛЕНИЯ МЕТОДОМ ПРЯМОГО ПОИСКА И СИМПЛЕКСНЫМ МЕТОДОМ
Цель работы: исследование методов определения оценок парамет ров статических нелинейных моделей без производных; определение меры рассеяния этих оценок, а также меры рассеяния предсказываемых значе ний зависимых переменных.
Теоретические положения
Пусть дана некоторая случайная наблюдаемая зависимая переменная или отклик, Yj или Yit i —1,2, ..., я, в соответствии с тем, проводились или
нет повторные наблюдения (Y{ - среднее значение для /-го момента вре мени в случае повторных наблюдений).
Чаще всего используется Yh а не Yt , т.к. при работе с нелинейными моделями весьма редко проводятся повторные наблюдения.
Также имеется несколько неслучайных независимых (контролируе
мых) переменныхXki к - |
1, 2, ..., q. |
|
|
|
Предполагается, что как У„ так и Хк непрерывны, т.е. принимают |
||||
действительные значения из некоторого конечного интервала. |
||||
Пусть Ру J = 1,2,..., /я, будут параметрами модели |
||||
Л = |
Ц (Х \9 . . . , X q\ P i, Рг» • •., Pm) |
|||
или в матричном виде |
|
|
|
|
где |
Л = Л(*Р)> |
|
||
|
|
V |
||
' |
Х п х п .•• |
*14 ' |
||
р=Р2 |
||||
х = |
х л Х„1 ... |
, |
||
|
х щ_ |
.р„. |
||
|
|
|
и п>т.
Каждое наблюдаемое значение Yit соответствующее данному набору переменных Лу = (Хц9Ха, Xiq)9связано с математическим ожиданием величины Yt соотношением
^•=Л/+е..
где т|/ = Е (У/1 Xj) - математическое ожидание величины У,-; е,- - ненаблю даемая ошибка какого-либо типа.
Можно различать ошибки двух типов - ошибку в измерении экспе риментальной зависимой переменной У, и ошибку модели.
Хотя всегда целесообразно исследование поведения е/, но на практи ке часто предполагают, что справедливы следующие основные предпосыл ки (независимо от того, выполняются они или нет в реальном эксперименте):
1.Ошибка 8/ имеет нормальное распределение.
2.Дисперсия У/ при данном Xj постоянна (или, возможно, является некоторой функцией Xj).
Для определения параметров модели будем использовать метод наи меньших квадратов.
Минимизируется функция суммы квадратов отклонений F:
1=1
где со,- - соответствующие веса (определяющие точность /-го измерения), возможно, равные 1; У/ - единичное наблюдение в точке Л}.
Для решения задачи нелинейного оценивания могут использоваться метод прямого поиска и симплексный метод.
Метод прямого поиска
Метод прямого поиска не требует вычисления производных; проце дура хорошо укладывается в логическую схему.
Однако метод недостаточно быстро приводит к результату, особенно когда число параметров велико.
Рассмотрим алгоритм прямого поиска. Для всех параметров ру выбираются начальные значения вместе с некоторыми начальными при
ращениями |
+ А . Сначала функция F (сумма квадратов отклонений) |
|
вычисляется в начальной точке Ь®\ Затем каждое значение |
из набора |
$ ) последовательно заменяется на bj°* + Abj0^. Если при этом значение F
улучшается (становится меньше), то в качестве новой оценки
bj ^ ~bj^ + Д£у°\ Если значение F не улучшается, то испытанию подверга
ется величина Ь ^ - АЬ^ . Если для каждого из значений |
± А Ь ^ ни |
|
какого улучшения не наблюдается, то Ь^р = |
. Этот процесс повторяется |
|
для всех параметров bj. |
|
|
Новые оценки параметров образуют новый вектор в пространстве параметров, который задает направление, ведущее к уменьшению F. Вдоль этого направления осуществляется ряд рабочих шагов до тех пор, пока значение F не перестанет уменьшаться.
Если пробные шаги не уменьшают F (не выявляют нового направле ния), приращения Abj постепенно уменьшаются до тех пор, пока не будет найдено новое направление или пока каждое из приращений не станет меньше некоторого предварительно выбранного допустимого отклонения. Невозможность улучшить значение F при очень малых Abj указывает на то, что достигнуто локальное оптимальное значение.
Валгоритм вводятся две основные проверки:
-проверка размера шага АЬ/,
-сравнение изменения значения F с заданным.
Вычисления прекращают, когда на заданном числе циклов обе про верки дают положительный результат.
Скорость решения зависит от начального приближения искомых па раметров. Для определения начальных значений может быть использован эвристический метод. Он работает следующим образом (рассмотрим на примере двух параметров): создается область поиска начальных значений, эта область заполняется сеткой, вычисляется функция ошибки в каждой ячейке сетки и выбирается та ячейка, в которой значение функции ошибки будет минимальным. Так как каждая ячейка соответствует своему сочета нию параметров, то начальные значения параметров найдены.
Симплексный метод
Симплексный метод эффективен при большом числе параметров. Для случая двух параметров правильным симплексом является равносто ронний треугольник (рис. 1,д), для трех параметров - правильный тетраэдр (4 вершины) (рис. 1,6).
3
а |
б |
Рис. 1
При поиске минимума суммы квадратов отклонений F = ^(Yj - ri,-)2
(Yi - измеренные значения, т|,* - значения, определяемые выбранной моде лью) в качестве пробных значений параметров модели можно выбрать точки в пространстве параметров, расположенные в вершинах симплекса.
В каждой вершине симплекса подсчитывается сумма квадратов от клонений и определяется точка с наибольшим значением целевой функции F (например, точка А). Далее строится прямая, проходящая через центр тяжести симплекса и точку А. На этой прямой определяется новая точка В (этот процесс называют отбрасыванием точки А) и образуется новый сим плекс, называемый отражением, который составляют оставшиеся точки (2,3) и новая точка В.
Таким образом, происходит повторение этой процедуры, в которой всегда отбрасывается точка, соответствующая наибольшему значению F, с соблюдением правил уменьшения размера симплекса и предотвращения колебаний в окрестности экстремума.
Итак, требуется минимизировать величину F.
F - функция, зависящая от параметров, которые необходимо опреде
лить:
F =F(b), Ь = [Ь,,Ьг,...,ЬтУ .
Обозначим через b, = [bu,b2j,--,bmlY - вектор, определяемый в пространстве параметров координатами bu b2, ...» Ътвершины с номером /. Симплекс имеет {т + 1) вершину, каждой вершине соответствует некото рый вектор Ь,. Ft - значение целевой функции в вершине с номером i.
Исходный симплекс - правильный симплекс (не обязательно), вер шина 1 которого принята за начало координат. Доказано, что координаты других вершин могут быть получены по соотношениям, указанным в табл. 1.
|
|
|
|
Таблица 1 |
Вершины |
|
|
Координаты |
Ьmi |
|
Ьи |
Ь2, |
Ьт-М |
|
1 |
0 |
0 |
0 |
0 |
2 |
щ |
л |
л |
л |
3 |
п |
.,. |
л |
л |
т |
..т |
|
... |
|
п |
л |
|
л |
|
т+ 1 |
% |
л |
л |
щ |
В этой таблице
%1 = ■a-= (-Jm+ l + т - 1);
а - расстояние между двумя вершинами. |
|
|
Пример. Для т = 2 а= 1 (табл. 2). |
|
|
|
|
Таблица 2 |
Вершины |
Координаты |
|
1 |
Ьи |
Ъъ |
0 |
0 |
|
2 |
0,965 |
0,259 |
3 |
0,259 |
0,965 |
Обозначим Fu = max(f}) |
для соответствующего вектора Ь/ = Ьм и |
|
/ |
|
|
Fe = min(/}) для соответствующего вектора Ь/ = Ь*, пусть точка С - центр I
тяжести всех точек симплекса с i Ф и (т.е. исключая наихудшую точку).
Метод состоит в последовательной замене вершины bu новой вер шиной согласно следующей схеме:
1.Осуществляют отражение
ь’ = (1+уг) С - г гЬи,
где уг - коэффициент отражения, который задается исследователем (на
пример, уг = 1).
Пусть Fib*) = F*.
После того, как осуществлено отражение Ьш производят проверку: а) если Fс < F* < FUi то Ьм заменяют b \ Полученный симплекс ис
пользуют в качестве исходного для первого этапа;
б) если F* < Fe, то производят растяжение, преобразуя Ь* в Ь*\ bw =Yeb*+ (l“ Ye)C,
где уе- коэффициент растяжения (например, уе= 2).
Если F*' < Fe, то Ъизаменяют b** и снова начинают 1-й эУап.
Если F*9 > Fet то растяжение ухудшает ситуацию, тогда Ьм заменяют Ь* и снова начинают 1-й этап;
в) если F* >Fe для всех i * м, т.е. замена вектора Ьм вектором Ь* по казывает, что Ь4соответствует точке, дающей максимум F, то определяют некоторый новый вектор Ьш равный либо старому вектору Ьм, либо b \ ко
торый дает более низкое значение F. Затем осуществляют сжатие, преоб разуя bu в Ь*\
Ьм = уА + ( 1 - Ус)С,
где ускоэффициент сжатия (ус = 1/2); 0 <ус< 1.
Вектор Ьи заменяют b * и снова повторяют 1-й этап, если только вер шина, полученная при сжатии, не приводит к худшему результату, чем max(F(bu), F(b*)), т.е. если F*' > min(Fu>F1*). В последнем случае все векто
ры b,• заменяют ^(by + be) и возвращаются к 1-му этапу.
2.Поиск прекращают, когда
Е№ - ^ ) 2
-s e ,
где б - произвольно выбранное малое число; F - среднее значение F.
Выполнение работы
Для расчета параметров нелинейных моделей методом прямого по иска и симплексным методом разработан пакет программ. Пакет программ можно также использовать для выполнения соответствующей лаборатор ной работы. Описание пакета программ приведено на рис.2.
При запуске программы открывается основное окно, которое можно разделить на несколько блоков:
1.Исходные данные для расчета.
Вэтом блоке задаются:
-вид модели идентифицируемого объекта;
-количество измерений;
-входX - значения величин, которые подаются на вход объекта;
-выход Y- значения величин на выходе объекта;
-a,b,c,d - начальные коэффициенты для метода прямого поиска;
-А- максимальное приращение погрешности.
Рис. 2
2.Расчетные данные:
-a, bt с, ^-рассчитанные коэффициенты;
-количество шагов (итераций), полученных при решении каждым методом;
-значения, полученные на выходе модели;
-дисперсия для каждого метода.
Вэтом же блоке производится выбор методов, с помощью которых будет производиться расчет.
Примечание. В качестве разделителя установлены для русской рас кладки запятая, для английской - точка.
3.Клавиши управления:
Расчет - при нажатии этой клавиши происходит расчет выбранными методами;
Графики - при нажатии этой клавиши происходит вызов окна гра фиков;
Сброс - при нажатии этой клавиши происходит сбрасывание всех исходных и рассчитанных величин;
Выход - при нажатии этой клавиши происходит выход из програм
мы.
В нижней части окна расположен индикатор отображения хода про цесса, который заполняется во время расчета.
Для просмотра необходимого графика следует выбрать соответст вующую закладку в окне графиков (рис.З).
1Характеристика|| Метем пропетопоиска} Ов.уц»каьЛметод|
Реальная и промоделировать» херактерислем
| — Реальная |
— Оаагоюксныйметод — Гаммойметод |
|
Закрыть |
Рис.З
На экране монитора отображаются при нажатии закладки: Характеристика - реальная и промоделированные характеристики
объекта (по горизонтальной оси откладываются значения на входе, по вер тикальной - на выходе), рис. 3;
Метод прямого поиска - процесс поиска оптимальных коэффициен тов методом прямого поиска (по горизонтальной оси откладывается номер шага, по вертикальной - значение коэффициента на этом шаге), рис. 4;
Симплексный метод - процесс поиска оптимальных коэффициен тов симплексным методом, а также действия на каждом шаге.
Так как метод прямого поиска недостаточно быстро приводит к ре зультату, то в целях экономии памяти компьютера (а также улучшения на глядности) при отображении графиков поиска коэффициентов этим мето дом выводятся данные только для первых 5000 шагов.