Процес постановки конкретного завдання оптимального управління включає в себе ряд етапів:
побудова систем математичних співвідношень, що описують керований об'єкт;
визначення керуючого впливу;
складання цільової функції і вказівка напряму її оптимізації;
накладення обмежень на траєкторію зміни системи і керуючий вплив;
визначення періоду оптимізації.
Залежно від виду даного явища і бажаного ступеня деталізації для побудови математичної моделі можуть використовуватися різні типи рівнянь: звичайні, диференціальні, рівняння з післядією, стохастичні рівняння, рівняння в приватних похідних і т.д.
Стан об'єкта залежить від управління. Оптимальне керування вибирається так, щоб оптимізувати цільову функцію завдання.
Необхідно відзначити, що завдання оптимізації розвитку соціально-економічних систем будуть ставитися до класу дискретних динамічних задач управління. При цьому в якості кроку може виступати місяць або рік, залежно від поставленого завдання і наявності ретроспективних даних.
Нелінійна задача оптимального управління
У загальному вигляді нелінійну задачу оптимального управління можна представити таким чином: стан керованого об'єкта в момент часу t описується вектором фазових координат х (t) і управлінням u (t). Таким чином, процес повністю визначений, якщо задано управління u (t) (при t> t 0, де t 0 - початковий момент часу) і початкове фазовий стан x 0 = x (t 0).
Вхідні параметри:
T. Період оптимізації;
X (t). Вектор фазових змінних {x i (t)}. Кожна змінна описується структурою виду:
F i (t). Вираз для обчислення значення x i (t) на весь період від 1 до T. У загальному випадку, F i (t) залежить від X (1), ..., X (t -1) і U (1), ..., U (t);
x _ Lb i (t), x _ Ub i (t). Обмеження на діапазон допустимих значень змінної на весь період від 1 до T;
R i (t). Ретроспективні значення фазової змінної на періоді від 0, -1, -2, ..., - MaxLag.
U (t). Вектор керуючих змінних {u j (t)}, кожна змінна описується структурою виду:
u _ Lb j (t), u _ Ub j (t). Обмеження на діапазон допустимих значень керуючої змінної на весь період від 1 до T;
R j (t). Ретроспективні значення керуючої змінної на періоді від 0, -1, -2, ... - MaxLag;
Init i (t). Початкове наближення на кожен момент часу t = 1 ... T.
Exp. Дізнатися про обмеження зв'язку фазових і керуючих змінних:
Exp k (X (t), U (t)). Основна частина виразу;
e _ Lb (t), e _ Ub (t). Верхнє і нижнє обмеження для t-го вираження t = 1 ... T.
ObjFun (X (t), U (t)). Цільова функція;
напрямок оптимізації.
параметри, що описують технічні деталі обчислення:
тип рекуррентного обчислення виразів (рекуррентная підстановка значень, підстановка виразів);
набір параметрів для методу оптимізації (метод оптимізації, точність, максимальне число ітерацій).
Вихідні параметри:
оптимальне значення цільової функції;
Ũ (t). Значення керуючих змінних, що відповідають оптимальному значенню цільової функції;
X (t). Значення фазових змінних, що відповідають оптимальному управлінню Ũ (t).
Розглянемо на прикладі простої завдання для Т = 4.
фазові змінні:
керуючі змінні:
Обмеження: -1000 <x 1 [t] * x 2 [t] + u [t] * v [t] <1000;
цільова функція: ObjFun (X (4), U (4)) = х 1 [4] 2 + х 2 [4] 2.
Рішення: завдання зводиться до задачі нелінійного програмування. Рішення може бути знайдено двома способами:
за допомогою рекурентної підстановки значень. Для отримання значення цільової функції, послідовно обчислюються значення фазових змінних х 1 [t] і х 2 [t] від t = 1 до t = T. Рекуррентную процедуру від t = 1 до t = T потрібно виконувати кожного разу, коли змінюються значення керуючих змінних;
за допомогою підстановки виразів. Для отримання значення цільової функції, послідовно виражаються значення фазових змінних х 1 [t] і х 2 [t] від t = 1 до t = T. На останньому кроці виражаються x 1 [4] і x 2 [4]. Отримані вирази підставляються в цільову функцію.
Описаний процес виконується один раз на початку обчислень. В результаті з завдання виключаються фазові змінні і залишаються тільки керуючі змінні. Недолік такого підходу: дуже швидке зростання розмірів виразів при збільшенні кількості змінних періоду управління T.
Оптимізація: отримана завдання задовольняє умовам задачі нелінійного програмування щодо керуючих змінних U. У ній є цільова функція і змінні, пов'язані обмеженнями довільного виду. Реалізовано три методи оптимізації:
Пошук по сітці. Дуже трудомісткий метод. Може використовуватися на завданнях маленької розмірності;
Нелінійний симплекс. Не враховує нелінійні умови на змінні, тому також може використовуватися тільки в обмеженому числі випадків;
Метод послідовного квадратичного програмування. Метод вирішення завдань нелінійного програмування. Вимагає завдання початкових наближень, по усім значним змінним. Дозволяє врахувати нелінійні обмеження на керуючі змінні.
Лінійна задача оптимального управління
Є окремим випадком нелінійної задачі з тією різницею, що в лінійній задачі всі вирази є лінійними. Це дозволяє застосовувати для вирішення лінійні методи оптимізації.
Аналогічно нелінійної задачі, лінійна задача складається з цільової функції, набору рівнянь, що описують динаміку і стан фазових змінних, обмежень, що накладаються на фазові і керовані змінні.
Введемо позначення:
X (t) - (k × 1). Вектор, що описує стан системи в момент часу t;
U (t) - (l × 1). Вектор, керуючих змінних в момент часу t;
k. Кількість фазових змінних;
l. Кількість керуючих змінних.
Динаміка системи описується системою авторегресійних рівнянь:
X (t) = A 1 X (t -1) + ··· + A p X (t - p) + B 0 U (t) + B 1 U (t -1) + ··· + B q U (t - q), де t = 1 ... T
Стан системи в момент часу t залежить від p попередніх станів, поточного управління U (t) і від q попередніх управлінь.
Потрібно оптимізувати лінійну функцію F (X T, U T) → extr при обмеженнях:
І заданих початкових значеннях: X (0), X (-1), ..., X (- p +1), U (0), U (-1), ..., U (- q +1)
Відповідно до цільової функцією оптимізація відбувається за рахунок пошуку значень керуючих змінних, що забезпечують мінімум цільової функції.
Див. також:
Бібліотека методів і моделей | ICpLinearOptimization | ICpNonLinearOptimization