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

книги / Моделирование систем управления

..pdf
Скачиваний:
4
Добавлен:
12.11.2023
Размер:
6.82 Mб
Скачать

Вершины

 

 

 

 

Таблица 4.3

Ьи

ь*

Координаты

 

— ^-----------

...

Ьт-и

bmi

1

0

0

 

0

0

2

Я|

я

 

я

я

3

я

Я,

 

я

я

т

я

я

 

Я|

я

т+ 1

я

я

 

я

ÎTl

В данной таблице щ =— j=(Vm +1 + т

 

рас-

 

ты2

 

 

 

 

стояние между двумя вершинами.

 

 

 

Пример. Для т = 2, а = 1 (табл. 4.4):

Таблица 4.4

 

 

 

 

 

Вершины

 

Ьи

Ьц

 

 

1

 

0

.0

 

 

2

 

0,965

0,259

 

 

3

 

0,259

0,965

 

Обозначим

Fu =max(Fi)

для соответствующего

вектора 6, = Ьи

к Fc = min(^J) для соответствующего вектора Ьг = Ье, и пусть точка С - центр

/

тяжести всех точек симплекса c i* и (т.е. исключаем наихудшую точку). Алгоритм состоит в последовательной замене вершины Ъи на новую

вершину согласно следующей схеме.

1.Осуществляется отражение

i* = ( l + yr ) C - ^

где уг - коэффициент отражения, который задается исследователем (напри-

мер,Тг=1)-

Пусть F(b ) = F . После того, как произведено отражение Ьиуосуществ­ ляется следующее:

а) если Fe < F* < Fu, то bu заменяют на b \ Полученный симплекс ис­ пользуют в качестве исходного для первого этапа (возвращаются к

пункту 1);

,

б) если F

< Fe, то производят растяжение, преобразуя b

в b .

*м » г Ж + 0 - ъ ) С , где уе- коэффициент растяжения (например, уе= 2).

Определяют F** =F(b**).

Ебли F** < Fei то Ъизаменяют на b" и снова возвращаются к пункту 1. Если F " > Fet т.е. растяжение ухудшает ситуацию, то Ьизаменяют на b'

ивозвращаются к пункту 1;

в) если F* > Ft для всех / * и, т.е. замена на Ь* показывает, что Ь* ответствует точке, дающей максимум F, то определяют некоторый новый вектор Ьюравный либо старому вектору Ьи, либо b \ который дает более низ­ кое значение F. Затем осуществляют сжатие, преобразуя Ьи в Ь*\

^ = г А + ( 1 - У с ) С ,

где ус - коэффициент сжатия (ус = —); 0 < ус ^ 1.

Вектор Ъизаменяют на bм и снова повторяют первый этап, если только вершина, полученная при сжатии, не приводит к результату, худшему, чем тах(Д£„), F(b*)), т.е. если F** > max(jFu, F*). В последнем случае все векторы

biзаменяют на ^(bi +be) и возвращаются к первому пункту (этапу).

2.Поиск прекращают, когда

ш- п 2

где Е - произвольно выбранное малое число; F - среднее значение функции ошибок для всех вершин симплекса.

4.5.4. Методы с производными. Метод Гаусса-Зайделя

Идея метода состоит в том, чтобы линеаризовать модель с помощью отрезка ряда Тейлора с целью применить линейный анализ и получить иско­ мый минимум суммы квадратов отклонений посредством итерационных расчетов.

Вводятся начальные предположения о параметрах. Вычисления повто­ ряют до тех пор, пока критерий сходимости не будет удовлетворен.

Проведем разложение соотношения для модели г\ в ряд Тейлора отно­ сительно значения £(0- начального приближения вектора (3. Исходное значе­ ние Pj обозначается через 6(0)у.

F - t W - n f ,

1=1

где Wi - вес измерений; т|/ - соответствует вектору i-ro набора данных X/; У, - измеренные значения зависимой переменной.

Минимизируя F, можно найти улучшенную оценку ру (если функция ц действительно линейна, для достижения минимума F необходимо осущест­ вить лишь один этап расчета).

Разложим функцию ц следующим образом:

« г - р , Ло означает, что эта функция вычисляется в точке Ь® \... £(0)да.

 

Э 2 Х

,,

т

 

dF

^ ~ СТ1|)о ~ £

 

/=1

 

;=1 ар о

 

д(АЬ ^)

 

 

=0,

 

 

а(д*50>)

 

 

 

 

^*'М1 г](ж! ^ > й (|А(§А ♦

М V^PlJoV^Pl/o

/=1 V^JoV^PlJo

где £,-0> = У, ~(г|, )о-

Эту систему нужно решить относительно Abj.

Запишем эту систему в более компактной форме:

[Х,у] =

- , где i = 1,2,..., и; j = 1,2,..., от;

эр,-

Z(0,=(XTWE)<0,=

(XTW X)<0)B(0,= (XT W Е)(0),

А(о) в (0) = z «»

В(0)= (A*0*)'1z(i).

После того как вычислен вектор В(0), можно получить новые оценки для каждого из параметров Р;, повторяя предыдущие вычисления, причем вместо b®j подставляются b{X)j - улучшенные оценки Ру.

Для вычисления используется рекуррентная формула:

b f*4 =bijtt) +h<?bbf,

где hj - ускоряющий множитель, предназначенный для ускорения поиска ми­ нимума F.

Действительно, значения Abj определяют направление поиска мини­

мума F в пространстве параметров.

В методе Гаусса полагают hj = 1. Можно подсчитать более эффективное значение hj. Введение корректирующего множителя объясняется тем, что оп­ ределение минимума можно автоматически ускорить или замедлить, увели­ чивая скорость приближения к минимуму F на начальной стадии поиска, а также уменьшая ее в конце, чтобы избежать излишних колебаний.

Практические трудности при использовании метода Гаусса-Зайделя

1. Выбор начальных оценок, особенно в случае нескольких минимумов, достаточно сложен.

Одно из предложений, позволяющих сделать различные начальные предположения о ру, состоит в том, чтобы представить отклик в виде функ­ ции одной переменной, полагая другие переменные фиксированными, и взять некоторое асимптотическое значение 6(0у. Начальные значения других пара­ метров можно выбрать на основе этих полученных значений.

Часто известны приближенные значения из физических соображений. Можно использовать несколько исходных векторов б(0) из некоторого

разумного интервала и убедиться, что все ведут к одному и тому же значению F.

2. Целевая функция или ее первые частные производные в области по­ иска минимума F могут стать неограниченными. Преодолеть эту трудность можно лишь шраничивая область поиска (3,.

3. Матрица А(0) может стать вырожденной из-за избыточности данных или почти вырожденной при одном или нескольких р в процессе поиска. Эта трудность может быть преодолена, например, выбором формы представления независимой переменной.

4.

Метод итераций на некоторой стадии может привести к увеличен

F, а не к уменьшению (в случае нескольких минимумов).

Эта ситуация исправляется с помощью логической операции, такой как

проверка на каждом цикле неравенства F<nfl) < i^w), и если оно нарушено,

уменьшение множителя hj в заданное число раз.

 

Задача: Даны результаты эксперимента (табл. 4.5). В выходную вели­

чину у

замешана ошибка со средним значением 0 и с дисперсией 0,01.

 

 

 

Таблица 4.5

 

Х\

*2

У

 

0

0

2,93

 

0

1

1,95

 

0

2

0,81

 

0

3

0,58

 

1

0

5,90

 

1

1

4,74

 

1

2

4,18

 

1

2

4,05

 

2

0

9,03

 

2

1

7,85

 

2

2

7,22

 

2,5

2

8,50

 

2,9

1,8

9,81

п ~ 13.

 

 

Пусть задана модель в виде

 

 

 

П = Р л + Р 2еМ г-

 

Запишем функцию ошибок:

 

Выбираем начальные оценки 6(0)ь 6(0)2, è(0)3:

например, Ь{0\ = Ь{0\ =

= Ь% = 1, или Ъ®\ = 6(0)г -

6(0)з = 0.

 

Можно исследовать модель и получить более хорошее начальное при­

ближение.

 

 

Если *2поддерживается постоянной, то получим прямую с у г л о в ы м к о -

эффициентом 'ÜLU■Pi-

 

 

 

кдх,

 

 

Выделим строки для хг - 0:

 

 

*, = 0,

у = 2,93;

 

 

*1 = 1.

у = 5,9;

 

 

*1 = 2,

>> = 9,03.

 

Тогда

 

 

5,9-2,93 = 2,97,

 

 

 

an

 

 

 

 

obcj x2=

const

 

1 -0

 

 

 

 

 

an

 

9,03-5,9 = 3,13.

 

 

 

dxx

 

 

2-1

 

 

 

 

 

1x2= const

 

 

 

 

 

 

В этом случае за значение b{0\

можно принять среднее арифметическое,

т.е. Ь{0\ =3,1. Для получения Ь^\ и Ь{0\

запишем:

 

 

 

 

(Л -3 ,Ц ) = Р2еМ

,

 

 

 

 

и = ln(n - 3,1*, ) = Inр2 + р3*2.

 

 

Определяем

В

соответствии

с

графиком (рис.

4.3)

 

 

I

n

= ln(n - ЗД*, ) при т] = 2,93, *,

= 0

 

 

находим Ь{0)2 = 2,93.

 

 

 

 

 

 

 

 

а**

3 *

 

 

 

Ь{0) _> ( 2 ,93-3,10)-1п(4,18-3,1)

52

 

 

 

3

 

 

0 - 2

. ~

*

 

 

 

 

Пусть вес W, = 1. Окончание вы-

 

 

числений: ■ ^

^

< е .

 

Например, 8= КГ6.

 

 

 

 

 

 

 

 

Определяем частные производные.

 

 

 

 

 

 

 

I

S

S

' "

*

Ь

"

 

" i S Ï

= e -°'5J0= l

 

 

U P 2J0

 

 

àn2 '

J

=*2I=0

 

 

s! e-0,52’1= 0,594

 

 

ePiJo

ePi

 

 

 

 

f *

L . .

 

f ^ - l

= e“°’5W = 0,353

U P J

O

31

le p 2J0

 

 

S r i—

еРгЛ

= e"0,52'3 = 0,21

 

 

!*41;

 

^U .1

 

 

 

 

 

 

f e n s '

= *51 =1

 

I ^1s I

_--0.52.0_,

 

lap ,

 

 

 

UJ.

 

 

I S ” '"-

= 2,9-0-e_o,52°= O

l ^ - j = 2,9 - l- e '0-521 =1.723

= 2,9- 2 -e-0'52'2 =2,05

fj^ -j = 2,9 • 3 • e*0,52’3 = 1,827

apJ o

= 2 - 0 - P*0520

о

2,9 0 e

- 0

 

( ^Пб J

—Y

—1

 

я Г

 

“ *61

 

1Ф 1JO

 

 

(^^П7. 1I

. Y

- I

 

---

 

-X 71 -1

I#, Jo'

 

 

 

'0

 

 

M = * 8,= i

U P J O

 

 

 

5ü£

 

*91 = 2

 

SP) Уо

 

 

 

 

5Л|о)

_

 

 

3P.

Jo

*ioi = 2

 

 

 

t

ЗЛ и)

= д:ц, = 2

3P. Jo

 

 

f

e

l

*121 = 2,5

"

“ '= 2’5

($ * -1

= e-0,52'1= 0,594

( $

4

= 2,9-1 .e-°'32,==1,723

 

13P2J„

 

 

 

v ЗРэ J0

 

 

( f ^

l

=e-°'522 = 0,353

1 а

 

Р

зJo

= 2,9 • 2 • e~0,52 2 = 2,05

 

l3 P 2J„

 

 

 

 

 

 

 

 

 

= e 'W2'2 =0,353

 

f a illi

= 2,9 • 2 • e~0,52'2 ==2,05

 

l3P2J0

 

 

 

15Р

з

J

o

 

 

[ ^ 9

I

_ „-0,52 0

= 1

 

( ^ Ы

 

= 2,9'0-e‘°'520 =

0

 

UP2J0”

 

 

 

U

P

3

J „

 

^10 )

= e '0,52'1= 0,594

 

ÊUlo)

_9Q .1.p-0.52J _ 1,723

^P2 Jo

 

 

4 >,J.

 

 

 

 

= e"0,52'2 = 0,353

 

^

Р

■)

= 2,9 • 2 • e“0,52'2 = 2.05

 

3p2 Jo

 

 

З

з

J

o

 

 

f e

)

. ‘ e-0'522 = 0,353

 

З

Р

зJ0

= 2,.9 2 •e"0,52"2 =

2.05

 

^ L il

= g-0,521,8 _ 0 391

Ê üll)

= 2,9-1,8-e'0'52-1*8 = 2,04

 

ЗР2 J„

 

 

 

5Р

з

J o

 

 

 

 

 

0

1

 

0

 

 

 

 

 

 

 

 

 

0

0,594

1,723

 

 

 

 

 

 

 

 

 

0

0,353

2,05

 

 

 

 

 

 

 

 

 

0

0,21

1,827

 

 

 

 

 

 

 

 

 

1

1

 

0

 

 

 

 

 

 

 

 

 

1

0,594

 

1,723

 

 

 

 

 

 

 

r (0) =

1

0,353

 

2,05

 

 

 

 

 

 

 

 

 

1

0,353

 

2,05

 

 

 

 

 

 

 

 

 

2

1

 

0

 

 

 

 

 

 

 

 

 

2

0,594

 

1,723

 

 

 

 

 

 

 

 

 

2

0,353

 

2,05

 

 

 

 

 

 

 

 

 

2,5

0,353

 

2,05

 

 

 

 

 

 

 

 

 

2,9

0,391

 

2,04

 

 

 

 

 

 

о À

 

 

/П\

‘30,66

8,21

 

24,44'

 

 

II о к'

— 8,21

 

4,88

 

7,87

 

 

К \v )

 

 

 

 

 

 

 

 

24,44

7,87

 

37,42

 

 

£ f0) = * -(л,)о = У ,-(з.1*п + 2,9e"°'52jr'2 )= 2,93 - (з,1 0 + 2,9е

£f 1= 1,95- (з,1 • 0+ 2,9e41-521)= 0,23,

£3< ) = 0,81- (з,1 ■0+2,9e'0'522)= -0,2137,

£'0) = 0,58- (з,1 • 0+2,9e41'52'3)= -0,029,

£j0) =5,9- (з,1 •1 +2,9е'°'520)= -0,1,

£(°>= 4,74 - (з,1 •1+2,9е"°'52|)= -0,083,

£70) =4,18- (з,1 • 1+2,9е~°'522)= 0,056,

£|(0) = 4,05- (з,1 ■1+2,9е"°'52-2)= -0,074, £$0) = 9,03—(з,1 •2+2,9е'°'520)= -0,07, £/0) = 7,85- (з,1• 2+ 2,9е'°’!2|)= -0,073,

£,(0) = 7,22 - (з,1 • 2 + 2,9е'0,52'2)= -0,0037,

£|(0> = 8,5 - (з,1 • 2,5+2,9е'0'52 2)= -0,274,

£}з) = 9,81- (з,1 • 2,9+2,9е'0'52'•*)=-0,314.

 

 

-2,0 9

 

 

(х(0))ТЕ(0) =Z(0) = -0,405

,

 

 

 

-1,61

 

 

 

0,085

-0,081

-0,038'

 

 

-0,081

0,381

-0,029

 

И Г --0,038

-0,029

0,058

 

в (0) =

Д6,(0Г

в<°> =

-0,0258'

 

Д6<0)

0,0617

 

 

Д6<°>

 

- 0,0022

 

 

B (0) = [A C°)]-1 .Z (0).

 

 

b,0) = 6,(0) + Д6<°> = 3,1 - 0,0258 = 3,0742,

 

 

 

è f =b f } + Д6<0) = 2,93 + 0,0617 = 2,9917,

 

 

 

6® = fc<0) + Д6<0) = -0,52 - 0,0022=-0,5222.

 

 

Результаты последующих итераций приведены в табл. 4.6.

 

 

 

 

 

 

Таблица 4.6

Номер итерации

Ь\

Ьг

Г

ъ

Ф

0 (начальное

3,1

2,9

 

-0,52

0,1981

приближение)

 

1

3,074

2,9617

 

-0,5222

0,1573

2

3,017

2,958

 

-0,5220

0,1574 __

3

3,017

v m

 

-0,5220

0,1574

4.5.5. Метод линеаризации целевой функции

Другой способ достижения минимума суммы квадратов отклонений F состоит в том, чтобы линеаризировать саму целевую функцию. К таким ме­ тодам относится метод наискорейшего спуска.

Градиент функции F - gradF или VF представляет собой вектор, пер­ пендикулярный к контурам поверхности F в пространстве параметров, кото­ рый указывает направление наибольшего возрастания F в данной точке.

Противоположный вектор задает направление наискорейшего спуска. Пусть функция F разложена в ряд Тейлора относительно Ь(0):

Величины составляющих вектора (-VF), вычисленные в точке 6(0), сов­ падают с соответствующими членами разложения F. Эти составляющие ис­ пользуются в методе наискорейшего спуска для определения направления поиска.

Предположим, что функция F является однозначной, непрерывной и в области поиска имеет один минимум. Тогда, определяя составляющие вектора (-VF), можно с помощью некоторой итерационной процедуры при­ вести значение F к минимуму.

 

Алгоритм

1. Вычисляют значения составляющих вектора (-VF) в точке Ь(0). Оп-

ределяют единичный i

направление поиска.

2. Составляющие вектора г — -т, подсчитанные в точке Ь(0), задают на-

правление поиска минимума F. Величина Ь(п) для каждого нового цикла ^(п+1)= 6 и + л (/0д6(п)

3. Итерационную процедуру продолжают до тех пор, пока величина F не станет меньше некоторого заданного значения, или пока процесс не станет расходящимся, или не приведет к колебаниям, так что дальнейшее уменьше­ ние Покажется невозможным.

Любой из методов минимизации суммы квадратов отклонений может не обнаружить абсолютный минимум из-за неверных начальных предполо­ жений о параметрах или неограниченности целевой функции.

4.6. Оценивание процессов, представленных обыкновенными дифференциальными уравнениями

Оценивание параметров моделей в значительной степени зависит от качества экспериментальных данных, а следовательно, и от самих экспери­ ментов. Эксперименты следует проводить в соответствии с хорошим планом, который должен быть составлен таким образом, чтобы ошибки при измере­ нии были независимыми, а модель, коэффициенты которой требуется оце­ нить, была адекватной.

Простейшая модель, которую следует рассмотреть, представляет одно скалярное линейное (по зависимой переменной) обыкновенное дифференци­ альное уравнение первого порядка с постоянными коэффициентами:

dy(t)

= ау(/)+ *(/), № = У 0'

Решение его имеет вид:

Я<)=Л -е"+ fx(x)ea('~,)A >

о

где у - зависимая переменная; а - коэффициент (параметр); î - независимая переменная; x(t) - детерминированная входная функция.

Для того чтобы получить наблюдаемую зависимую переменную 7(0, нужно ку(0 добавить ненаблюдаемую ошибку

Д0=У(0+ б(0,

7(/i)=XA) +B(//).

непрерывная система

дискретная система

Если точное значение параметра а

(неизвестное) заменить на оцен­

ку а , то остаточная ошибка £(/) = 7 (f)-?(f).

Целью оценивания является получение наилучшей оценки параметра а с помощью наблюдений 7(Г/) или 7(0-

Более общей моделью является модель, содержащая систему линейных обыкновенных дифференциальных уравнений первого порядка с постоянны­

ми коэффициентами

 

 

dy

V

Уг(0)=ук>,

г - 1,2,..., v , s = l,...,v .

dt

+ * г(0 ,

5=1

 

 

В матричных обозначениях

 

 

^ a Y

+ X(t),

К(0) = У0.

Соседние файлы в папке книги