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

Teoriya avtomatichnogo keruvannya

.pdf
Скачиваний:
79
Добавлен:
02.03.2016
Размер:
9.97 Mб
Скачать

Глава 11 ОПТИМАЛЬНІ СИСТЕМИ АВТОМАТИЧНОГО КЕРУВАННЯ

11.5

Линамічнє програмування

Метод динамічного програмування розроблено американським математиком Р. Беллманом на початку 50-х років. Цей метод дає можливість розв'язувати задачі оп-

тимального керування, тобто є одним із способів розв'язування варіаційних задач. Крім того, за допомогою динамічного програмування можна розв'язувати задачі, що за своєю природою є дискретними (не перетвореними з відповідних безперервних задач). Це має велике значення для найрізноманітніших галузей техніки та економіки, по- в'язаних із дискретними процесами виробництва.

Метод динамічного програмування базується на принципі опти-

мальності:

І

будь-яка кінцева ділянка оптимальної траєкторії є також оптимальною траєкто-

|

рією, тобто оптимальна стратегія не залежить від попереднього стану системи, а

І

визначається лише її станом у момент часу, що розглядається.

Нехай, наприклад, відома оптимальна траєкторія, що переводить систему, яка описується рівняннями

СІХ\ /сіі = Ф , ( х , , х 2

, ц / ) ,

(11.92)

сіх2 /сіі = ф2 ( х , , х 2 , и, /),

зі стану х1 0), х2 (/0) в стан х, (/,), х2 (/,). Цю траєкторію зображено на рис 11.8. їй відповідає мінімум функціонала

 

 

де и(хІ, х 2 , /)— відоме оптимальне

1

х(0

керування.

 

 

 

 

Поділимо оптимальну траєкто-

 

 

 

 

рію на дві ділянки

7 і 2.

Принцип

 

 

оптимальності

встановлює:

якщо

 

х(^)

вся траєкторія

оптимальна,

то й

 

 

ділянка 2 також оптимальна.

 

0

 

Обгрунтування

принципу оп-

 

 

тимальності

досить

очевидне.

 

Рис. 11.8

Припустимо, що ділянка 2 не оп-

 

тимальна. Тоді

має існувати

інша

 

 

 

 

5 9 0

 

 

 

 

1 1 . 5 .

Динамічне програмування

ділянка 2', що починається в точці х, (Ґ), х2(Ґ), на якій функціонал (11.93) набуває меншого значення, ніж на ділянці 2. В цьому разі значення функціонала на траєкторії 1 - 2 ' буде меншим, ніж на тратторії 7 - 2 , тобто траєкторія 1-2 не оптимальна, що суперечить вихідному припущенню про те, що траєкторія 1 - 2 оптимальна.

Принцип оптимальності дає можливість покрокової організації процесу відшукування оптимального керування, починаючи, наприклад, з останнього кроку. Це істотно спрощує задачу оптимізації, тому що можна оптимізувати керування на кожному кроці окремо.

Формальним записом принципу оптимальності є функціональне рівняння Беллмана. Зокрема для системи другого порядку (11.92) воно

має вигляд

Г'о +д'

 

 

 

 

 

і , [ х 1 ( / 0 ) , х 2 ( / 0 ) , / 0 ] = т і п

| ф 0 [ х 1 ( і ) , х 2 ( і ) , и ( і ) ] с і і +

 

 

1

 

(11.94)

+ 5[х{0

+ ДО, * 2 ('о + ДО, і о

+ Д>]|-

 

У цьому рівнянні використано такі позначення для функціонала

на оптимальних траєкторіях:

 

 

 

 

 

 

5[х10),х2(10),10]

= т і п [ ф

0 [ х , ( 0 , х 2 ( / ) ,

и(і)]сії;

(11.95)

 

и

 

 

$[Х ] ((0

+ А ґ),х2 ((0 + Д/),/0 + Д/] =

 

= т іип / 0 )+^МФ 0 [ х і ( { ) , х 2 ( 1 ) , и ( і ) ] с 1 { .

( 1 1 % )

Граничне значення £ при і = і{

дорівнює нулю.

 

Функціональне рівняння Беллмана дає гіо

суті рекурентні спів-

відношення для розв'язування задач оптимізації числовим методом. Розглянемо процедуру застосування рівняння Беллмана для відшукування оптимального керування на такому простому прикладі.

Нехай динаміка об'єкта описується рівнянням першого порядку

сіх/сіі = (х, ьі), (11.97)

де х — єдина координата об'єкта; и — єдина керуюча дія, яка має об-

меження \и\<ит л х . Відомі початкові умови х(ґ0) = х0

і функціонал,

що мінімізується,

 

/ = } ф „ ( х , и)сіі.

( 1 1 . 9 8 )

 

591

Г л а в а 11

 

ОПТИМАЛЬНІ СИСТЕМИ АВТОМАТИЧНОГО КЕРУВАННЯ

Поділимо

інтервал часу Г,

- /0 на т

рівних частин тривалістю

д/1 =

{ ) )/т. Тоді

рівняння

(11.97) можна записати в скінченних

різницях

 

 

 

 

 

 

*[(* +

1)Д,] - х(Ш)] = ^

и { Ш ) ]

або

 

 

А і

 

 

 

 

 

 

 

де

 

 

+1 к - /(хк 5

(11.99)

 

 

 

 

 

Дх к , Щ ) = /і (**, %

аінтеграл (11.98) замінити сумою:

т - І

пі—

1

 

/ = X Ф о [ * и ( Щ ) \ М = ^ { х к , и к ) .

(11.100)

к =0

к=0

 

 

Задача тепер полягає у визначенні послідовності дискретних значень керуючої ДІЇ Щ , Щ , ..., И_ , для кожного А/, що мінімізують суму (11.100) при умові (11.99) й обмеженні \и\< ипглх. Сформульована задача є задачею знаходження мінімуму складної функції багатьох змінних. Метод динамічного програмування дає можливість звести цю задачу до простішої — до послідовної мінімізації деяких функцій лише однієї змінної.

Розв'язування задачі зручно починати з кінця процесу, тобто з моменту часу і = , і просуватися до його початку і = Г0, оскільки при

г =

функціонал дорівнює нулю.

 

 

На початку останнього етапу процес характеризується значення-

ми

координати хт_х і керуючої дії ит _,. Згідно з принципом опти-

мальності керування ит_х

не залежить від попереднього стану систе-

ми,

а визначається лише

значенням хт_х і

метою керування. На

останньому кроці траєкторії від Іт_х до іт = іх

вибір керуючої дії ит_х

впливає лише на останній доданок суми (11.100)

 

/„,_! = ф(*,„_і, ит .\ )•

(11.101)

 

Оптимальне керування ит_х на т - 1-му кроці повинно мінімізу-

вати величину Іт _х . Позначимо мінімальну

величину функціонала

Іт_х

через 5 т _ х . З виразу (11. 101) видно, що 5т _х залежить від хт_х,

тобто від стану системи в момент ґт_х. Тому можна записати

 

1 (*«-,) =

т і п /,„_, = т і п [ф(х,„_,, ит_,)].

592

1 1 . 5 . Динамічне програмування

Для визначення 5т _{ потрібно мінімізувати Іт _] лише за однією змінною ит_х. Виконавши цей процес, знайдемо значення 5т _{ і відповідні їм оптимальні керування ит_{ як функції змінної хт_{. Значення Зт_1 і иЛ_, для різних хш_{ необхідно занести до пам'яті ЕОМ перш ніж переходити до наступних етапів розв'язування.

Переходимо тепер до передостанньої ділянки часу від іт_2 до іт. Для неї матимемо

Зт-2ІХт-2)=

™ П / Л _ 2

=

 

 

Ї-»

 

 

(11.102)

= тіп[ф(хЛ _2 , ит _2 )] + 5

т _ 1 т _1 ).

 

"т- 2

 

 

 

 

З урахуванням (11.99) запишемо

 

 

 

Хт-І = Хт-2 +

/(Хт-2 »

^/и-2 )>

 

годі з (11.102) дістанемо

 

 

 

 

^ « - 2 ( ^ - 2 ) = пзіп{ф(х/;,_2,

и„,_2) +

 

 

- 2

 

 

 

Мінімізація тут виконується також за однією змінною

і при

цьому визначається оптимальне значення керування ит_2 та мінімум (функції Іт _ 2, що дорівнює 5 т _ 2 . Для кожного фіксованого х/;;_2 знайдене оптимальне значення ит_2 мінімізує всю величину 8т_2, а не лише її перший доданок. При цьому для кожного ит_2 за формулою (11.99) обчислюється координата хт_,, знайдена на попередньому кроці. Внаслідок мінімізації Іт_ 2 дістанемо залежності 8т_ 2 т_ 2) і ит_2т_2), які заносяться до пам'яті ЕОМ.

Аналогічно виконуючи переходи до чергових кроків, записуємо

рекурентну формулу

 

 

 

Зт-кт-к)=

тіп{<р(хт_*, ит _к )

+

+ $т-(к -1)

\-Хт-к

+ /(Хт-к> Ііт-к )]}•

За цією формулою можна визначити оптимальне значення функ-

ціонала на будь-якому кроці.

(11.103) 8т_к

 

Обчислюючи за формулою

послідовно для

к = 1, 2,..., /77, визначаємо, нарешті, м(0), тобто керуючу дію, яка необхідна в початковий момент часу. Одночасно з визначенням м(0) дістаємо також £(0), тобто мінімальне значення функціонала при оптимальному керуванні.

593

Глава 11 ОПТИМАЛЬНІ СИСТЕМИ АВТОМАТИЧНОГО КЕРУВАННЯ

Розглянуту процедуру можна застосувати також у загальному випадку, коли об'єкт керування описується рівнянням

х = ф(х, и, і),

 

а функціонал, що мінімізується, має вигляд

 

 

/ = |ф(х, и)<іІ.

 

 

Розв'язування починаємо з кінцевого моменту і =

. Визначаємо

і запам'ятовуємо оптимальне значення керування и(т -

1)на початку

останнього інтервалу для кожного можливого дискретного значення х(/?7 — І) в границях обмежень на змінні стану системи. Одночасно запам'ятовуємо відповідний приріст 5 ( т - 1) функціонала, що мінімізується. Потім переходимо до передостаннього (/77- 2)-го кроку і визначаємо мінімум функціонала 5 ( т - 2) за два останніх кроки і відповідне оптимальне значення и ( ш - 2 ) як функцію х ( ш - 2 ) . Мінімальне значення £(/77-2) для конкретного значення х(т- 2) знаходимо варіюванням и(/77- 2). При цьому для кожного и(/77- 2) спочатку визначаємо приріст функціонала за другий крок і значення х (/77 - 1) в кінці другого кроку. Після цього, використовуючи раніше знайдену залежність 8(т - 1) від х(т - 1), визначаємо повний приріст функціонала 5 { т - 2 ) за два кроки. Переходячи далі до початку - 3}-го кроку і т. д., нарешті потрапляємо в початкову точку х(ї0), визначивши при цьому оптимальне керування и(0,єам оптимальний процес х(ї) і сумарну величину критерію оптимальності.

Описана процедура лише в найпростіших випадках дає можливість знайти розв'язок в аналітичній формі. У загальному випадку метод динамічного програмування слід розглядати як метод складання програми для числового розв'язування задач за допомогою ЕОМ.

Метод динамічного програмування можна використовувати також без подання задачі оптимального керування в дискретній формі.

Для цього застосовується диференціальне рівняння Беллмана

а ^ О = т , п | ф ( ) ( х >

и, „|, (11.104)

де х — //-вимірний вектор змінних стану об'єкта; и — /77-вимірний вектор керування.

594

1 1 . 5 . Динамічне програмування

Якщо система стаціонарна, то Л'не залежить від г, тобто дЗ/дї = 0, і рівняння (11.104) матиме вигляд

тіп| Ф о (х, «)+ Х ^ ф Д х , и)| - 0.

(11.105)

Якщо прийняти ф = 1,то від загальної задачі можна перейти до задачі про максимальну швидкодію. Рівняння (11.104) у цьому разі

дЗ(х,і)

 

. \л

1 +

X

з

,

.]

ді

= т і п

Ф/(х» и ' ')[•

 

»

[

^

дх,

 

\

Для стаціонарної системи дЗ/ді = 0 і

 

 

 

.

Л З ^ ( х )

,

ч

,

 

 

т п ^ — ^ ф Д х , и)=

-1.

 

 

и

/ = і

дх.

 

 

 

 

Якщо ввести функцію У(х) = -3(х), яку називають твірною, то

 

^ а к (

х )

,

ч .

шах У

 

у

'фДх, и) = 1.

и

/Ті

дх,

 

 

Це рівняння є рівнянням Беллмана в задачі про максимальну швидкодію.

Якщо відомо, що оптимальне керування належить множині IIабо подібні обмеження взагалі відсутні, то рівняння (11.105) можна подати як сукупність рівнянь у частинних похідних:

Фо(х, и)+ У ^ ^ ф Д х , и)=0,

і -І дХ:

(11.106)

9фр(х, ц) + у 85(х)9ф,.(х, ц) = 0

дик

£ дх,

дик

де / = 1, 2,..., п\ к = 1, 2,..., т Отже, щоб розв'язати задачу оптимального керування, необхідно

розв'язати систему (11.106) з т + \ рівнянь у частинних похідних. У найпростішому випадку для системи першого порядку, що має одну керуючу дію, рівняння Беллмана мають вигляд

Фо (х, и) +

 

ф(х, и) = 0,

 

д х

(11.107)

дфо(х, и)

дЗ(х) 9ф(х, и) = 0

ди

дх

ди

595

Г л а в а 11 ОПТИМАЛЬНІ СИСТЕМИ АВТОМАТИЧНОГО КЕРУВАННЯ

Приклад 11.3. Для об'єкта, що описується рівнянням

сіх/сії = сіх + Ьи = ф (х, і/)

знайти оптимальне керування и, при якому мінімізується функціонал

/= І ^ Х 2 + С2І?)СІЇ = 0 (х,

Ро з в ' я з а н н я . Рівняння (11.107) мають вигляд

с.х2 + с21? + (<ах + Ьи)— = 0; дх

2 см + Ь— = 0.

2 дх

Вилучивши з цих рівнянь д5/дх, дістанемо

с> Ьи1 + 2ас^ их - Ьс{у? = 0,

звідки визначимо керування и як функцію х

и = - х

а

2 с,

= -кх

 

Ь

Су

 

Розв'язок з мінусом перед коренем відкидаємо як такий, що не відповідає вимогам стійкості.

Отже, шуканий оптимальний закон керування є лінійним.

11.6

Аналітичне конструювання оптимальних регуляторів

Методика синтезу оптимального керування и(х) для відомого об'єкта при заданих критерії оптимальності та обмеженнях називається аналітичним конструюванням

регуляторів.

Одним із методів аналітичного конструювання регуляторів, що базується на застосуванні методу динамічного програмування для певного класу систем, є метод Льотова.

Розглянемо об'єкт керування, що описується лінійними диференціальними рівняннями зі сталими коефіцієнтами

596

1 1 . 6 . Аналітичне конструювання оптимальних регуляторів

сіхі /сіі = ^ аі} х} + Ь{ и,

/ = 1, 2 , . . . , п,

7=1

і має одну керуючу дію и.

 

Треба

визначити оптимальне

мінімізує

функціонал

 

 

і = ] x с

' х і

 

0 V = 1

 

керування и(х{, х 2 , х п ) , що

+ с о 1

СІІ,

(11.108)

де с, > 0; с() >0,

/' = 1, 2,..., й, при переведенні системи з початково-

і о стану х(0) = х0

в кінцевий х(оо) = 0.

 

Для цієї задачі рівняння (11.104) має вигляд

 

ді

тіп|ф 0 (х, и) +

£ ~ Ф , ( х , и)1,

 

« [

 

дх,

 

 

Фо = Е

сух? + с0 «2 ;

 

 

/ = і

 

 

 

 

Ф, = Е "гх'/

 

 

і = І

 

 

Введемо твірну функцію К = -6і. Для стаціонарного об'єкта функція ^ залежить лише від початкового положення зображуючої точки в просторі станів, тому

 

_

дУ

_

 

 

 

ді

~

ді

~

 

 

 

"

"

д УІ

"

= 0.

(11.109)

І/е=с1'хі + с о"2

 

 

 

 

, = І ОХ ,

x= І

аахі + а "

то вираз

Якщо прийняти, що керування

и

не має обмежень,

(11.109) набуває мінімуму в точці, де похідна дорівнює нулю, тобто

Т V А д У п

и =

1

А

,

дУ

.

(І 1.110)

0

>

Ьі

 

 

/г(

 

дх,

 

 

597

Глава 11 ОПТИМАЛЬНІ СИСТЕМИ АВТОМАТИЧНОГО КЕРУВАННЯ

Підставивши знайдене значення и у вираз (11.109), дістанемо рівняння для визначення твірної функції

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

д У ^ 2

 

 

 

 

 

 

V

 

 

2

+

1

 

>

А

 

 

 

 

 

 

 

>

С:Х•

ЛС

Ь:

 

 

 

 

 

 

 

^

'

 

1

 

 

^

1

Ріу

 

 

 

 

 

 

/ = і

 

 

 

 

 

чс

о V' = і

 

0 Х /< у

 

 

 

 

 

 

 

 

 

 

а,Х: +

 

 

 

У

Ь:

= 0

 

 

->

3 Ч

 

V

>

 

Ь і

 

 

 

 

V

 

 

 

 

 

 

 

 

 

V

А

 

 

 

 

/ = 1 дх( = і

 

 

0 / = 1

дхі ' у

 

 

або

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

\2

 

V

д У

V

 

 

 

 

 

V

 

2

 

 

 

1

І V А

= 0.

(11.111)

/Ті

ах,.

У = 1

 

 

 

 

і = 1

 

 

 

0

 

 

 

Рівняння (11.111) є нелінійним рівнянням у частинних похідних відносно функції V. Розв'язок цього рівняння відшукується у вигляді квадратичної форми від змінних стану системи, тобто

к = 1 г = 1

Якщо прийняти, щ о / % = тгк,то частинні похідні Кматимуть вигляд

дУ

(11.112)

ах,- гг!

Підставивши ці похідні в (11.111), дістанемо рівняння

п п II

x x x тікаихкхі +

/ = 1 к = 1 7=1

 

п

п

x

x

о V = і * = і

x

С/Х/2

 

/ = І

(11.113)

\ 2

 

у

= 0.

 

 

 

Цей вираз становить квадратичну форму змінних х{, х 2 , х п . Він тотожно дорівнюватиме нулю за умови, що всі його коефіцієнти дорівнюють нулю. Тому, прирівнявши нулю сукупність коефіцієнтів при добутках хкхі і врахувавши, що хіхк = хкхі, дістанемо систему з п(п + 1)/2 алгебричних рівнянь для визначення коефіцієнтів тік\

598

1 1 . 6 . Аналітичне конструювання оптимальних регуляторів

І (тікаіі + тиаік )

 

X ^ X Ьіти

= 0

с/ *

/ = і

 

 

- 0 і = І

 

 

(11.114)

 

 

І

 

 

 

 

таік

£

Ь'тік

= 0

(у = /с).

к

 

 

 

1* = |

 

 

 

Ці р і в н я н н я

є

алгебричними

рівняннями

Ріккаті.

 

Визначивши

коефіцієнти

 

і використавши

вирази (11.110)

(11.112), знайдемо оптимальне керування

 

 

 

 

и =

 

1

к^к •>

 

(11.115)

 

 

'0 к =1

 

 

 

 

 

 

де

або

і= 1

Востанньому виразі а, є коефіцієнтами зворотних зв'язків за змінними стану системи.

Отже, регулятор лінійний і для оптимального керування необхідно мати зворотні зв'язки за всіма змінними стану системи, оскільки всі коефіцієнти а, не дорівнюють нулю.

Приклад 11.4. Передаточна функція об'єкта

К

= и(р)

р(Т?і?+ 2$Т{р+ 1)

Скласти рівняння Ріккаті для визначення коефіцієнтів квадратичної форми твірної функції.

Р о з в ' я з а н н я . Рівняння динаміки об'єкта

грі сігх

+ 2 ^

СІ X СІХ

= Ки

 

 

запишемо у формі Коил, прийнявши х, = х; х^ = сіх/с1ї\ х3 = с12х/с1і2. Повна форма рівнянь така:

сіх{ /сії = д,,х, + а12х2 + я13х3 + Ьхи\ с1х2/с1і = #2|х, + #22х2 + #23х3 + Ь2 а; г/х3Д// = д31х, + д32х2 + я33х3 + £3 и.

599

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]