В работах [1,2] рассмотрена задача управления линейными стохастическими системами с Марковскими переключениями при использовании квадратического функционала стоимости. В настоящей статье рассмотрен алгоритм расчета оптимального управления такими системами.
Рис.1. Блок-схема основной программы
В основной программе задаются n- размерность вектора состояний x системы, m - размерность вектора управлений u, l- размерность вектора помех w, N1-количество шагов, N*- количество возможных состояний Марковского процесса, -математическое ожидание и
- ковариация для начального состояния системы
. Задаётся матрица вероятностей переходов P марковского процесса, матрицы
,
, определяющие стоимость управления J. Вводятся матрицы
,
,
, описывающие линейную динамическую систему. Затем вызывается процедура Schet_K() вычисления вспомогательных матриц
. Вызывается процедура Schet_L() вычисления матриц
, которые сохраняются в памяти. Затем рассчитываются и выводятся оптимальное управление
(в процедуре Schet_u()) и минимальная стоимость управления
(в процедуре Schet_J()).
Рис. 2 Блок-схема процедуры Schet_K()
На рис.2. представлена блок-схема процедуры Schet_K(), в которой вычисляются вспомогательные матрицы . На последнем шаге матрица совпадает с заданной матрицей
и не зависит от состояния Марковского процесса i2, а на предыдущих – вычисляются по рекурсивной формуле. При этом используются циклы по состояниям Марковского процесса
.
Рис.3. Блок-схема процедуры Schet_u()
На рис.3. изображена блок-схема процедуры Schet_u() расчета оптимального управления на j3 шаге по состоянию системы
и состоянию Марковского процесса
с помощью вспомогательной матрицы
. Вводится начальное состояние системы
. Затем в цикле по номеру шага j3 вводится состояние Марковского процесса
и вычисляется оптимальное управление на этом шаге
и состояние системы на следующем шаге
.
Рис.4. Блок-схема процедуры Schet_L()
На рис.4. приведена блок-схема процедуры Schet_L() подсчета матриц . При этом используются внешний цикл по номеру шага j4 и внутренний – по состояниям Марковского процесса
.
Рис.5. Блок-схема функции Schet_MK(j,i)
На рис.5. представлена блок-схема функции Schet_MK(j,i) подсчёта условного математического ожидания для при условии
. Сначала матрице S1 присваивается нулевое значение. Затем в цикле по возможным значениям
на каждом шаге текущее значение S1 складывается с произведением
, после цикла из функции возвращается полученная матрица S1.
Рис.6. Блок-схема процедуры Schet_J()
На рис.6. приведена блок-схема процедуры Schet_J() подсчета минимальной стоимости управления. Сначала в переменных S и tr1 хранятся произведения матриц. Затем в цикле по строкам j6 к переменной S добавляются диагональные элементы матрицы tr1. После этого в цикле по номеру шага на каждом шаге матрице S3 присваивается нулевое значение. Во внутреннем цикле по возможным значениям марковского процесса k2 вычисляется математическое ожидание для
. Затем S суммируется со скалярным произведением
и переходим к следующему шагу внешнего цикла по j7. по окончании внешнего цикла присваиваем найденную минимальную стоимость управления переменной
.
В дальнейшем предполагается программная реализация полученного алгоритма.
Библиографический список
- Fragoso M.D. Discrete-time jump LOG problem / M.D. Fragoso // International journal of System Science.-1989.- Vol.20.Iissue 12.- pg. 2539-2545.
- Короткова Н.Н. Linear quadratic gaussian problem for discrete-time markovian jump linear systems [Электронный ресурс] / Короткова Н.Н., Моженков В.В., Беляков Е.В. // Modern scientific research and their practical application : e-journal. – 2013. – № 4, vol. J11309/May. – C. Режим доступа : http://www.sworld.com.ua/index.php/ru/e-journal/the-content-of-journal/j113/18463-j11309.