Завдання оптимального управління з урахуванням обмежень

  1. Нелінійна задача оптимального управління
  2. Лінійна задача оптимального управління

Процес постановки конкретного завдання оптимального управління включає в себе ряд етапів:

  • побудова систем математичних співвідношень, що описують керований об'єкт;

  • визначення керуючого впливу;

  • складання цільової функції і вказівка ​​напряму її оптимізації;

  • накладення обмежень на траєкторію зміни системи і керуючий вплив;

  • визначення періоду оптимізації.

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

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

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

Нелінійна задача оптимального управління

У загальному вигляді нелінійну задачу оптимального управління можна представити таким чином: стан керованого об'єкта в момент часу 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 при обмеженнях:

Потрібно оптимізувати лінійну функцію F (X T, U T) → extr при обмеженнях:

І заданих початкових значеннях: X (0), X (-1), ..., X (- p +1), U (0), U (-1), ..., U (- q +1)

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

Див. також:

Бібліотека методів і моделей | ICpLinearOptimization | ICpNonLinearOptimization