Смекни!
smekni.com

Метод динамічного програмування (стр. 1 из 4)

МЕТОД ДИНАМІЧНОГО ПРОГРАМУВАННЯ


1 Принцип оптимальності

Оптимальне керування в будь-який момент часу не залежить від передісторії процесу і визначається тільки станом системи в поточний момент і метою керування. Якщо в якийсь період часу керування було неоптимальним, то наслідки цього в майбутньому виправити вже не можна. Під метою керування розуміються вимоги, яким повинна задовольняти керована система, наприклад, це може бути приведення системи в заданий стан або забезпечення певних умов руху протягом заданого періоду часу.

Отже, принцип оптимальності характеризує наступний за заданим станом рух системи, але він може не мати місця для траєкторії, що передує цьому стану.

2 Метод динамічного програмування

Розглянемо застосування методу динамічного програмування до розв’язання неперервних задач оптимального керування. У цьому випадку треба виконати дискретизацію початкової задачі, тобто початкову задачу потрібно замінити близькою їй дискретною задачею. Розглянемо динамічну систему, закон руху якої описується автономним диференціальним рівнянням

,(1)

де

,
– кусково-неперервні функції.

Припустимо, що початковий стан системи

заданий, а на керування накладено обмеження
. Вважатимемо, що час руху
фіксований. Цільовий функціонал задачі в цьому випадку матиме вигляд:

.(2)

Для дискретизації неперервної задачі (1) – (2) розіб'ємо відрізок

на
інтервалів довжиною

кожний, де

– натуральне число . Значення функцій
і
будемо далі визначати лише в дискретні моменти часу
, де
. Для цього введемо позначення
,
, і замінимо диференціальне рівняння (1) різницевим, апроксимуючи першу похідну значеннями в дискретні моменти часу:

.

З останнього співвідношення випливає, що

,
.(3)

Інтегральному цільовому функціоналу (2) відповідає інтегральна сума

.(4)

Отже, ми перейшли до дискретної задачі, у якій потрібно знайти такі керування

, що задовольняють обмеженню
,
, і мінімізують функціонал (4) за початкових умов
. Очевидно, що результати розв’язання цієї задачі будуть тим точніше апроксимувати початкову неперервну задачу, чим більше
.

Розглянемо співвідношення

,
,

де

, …,
визначаються за рекурентними формулами (3), і позначимо

.

Величина

– це частина інтегральної суми (4), що відноситься до моментів часу

,

і залежить від стану

системи в момент часу

.

Відповідно до принципу оптимальності, керування

на останньому етапі треба обирати так, щоб

.

Далі будемо розглядати лише задачі, у яких зазначений мінімум досягається в єдиній точці.

На наступному етапі визначимо керування

, для якого

,

де

,

а

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

, в якому перебуватиме система на момент часу

.

Повторюючи цю процедуру, на

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

(5)

де

відповідно до (3). Співвідношення (5) називаються рекурентними співвідношеннями Беллмана.

Після того, як на останньому етапі буде знайдено значення

і оптимальне керування
, то за відомим значенням
можна визначити послідовно
,
, …,
,
,
. При цьому значення
відповідає мінімальному значенню функціонала (4).

Наведений алгоритм розв’язання задачі оптимального керування методом динамічного програмування можна перенести на загальний випадок задачі керування з векторним законом руху (1), тобто якщо

,
.

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

Розглянемо автономну систему

,(6)

з цільовим функціоналом

,(7)

у якому початковий і кінцевий моменти часу

і
задані, і заданий початковий стан
.

Починаючи з будь-якого моменту часу

, відрізок оптимальної траєкторії
,
від точки
до точки
також є оптимальною траєкторією.

Відносно початкового відрізка оптимальної траєкторії до точки

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