Научная статья на тему 'Описание библиотеки компьютерных подпрограмм для моделирования решения задачи апостериорного минимаксного оценивания'

Описание библиотеки компьютерных подпрограмм для моделирования решения задачи апостериорного минимаксного оценивания Текст научной статьи по специальности «Математика»

CC BY
117
43
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Journal of new economy
ВАК
Область наук

Аннотация научной статьи по математике, автор научной работы — Шориков Андрей Федорович, Тюлюкин Владимир Александрович

В статье представлено описание библиотеки подпрограмм на языке Pascal, позволяющих моделировать на компьютере решение задачи апостериорного минимаксного оценивания фазовых векторов для динамической системы, состоящей из двух управляемых объектов. Предполагается, что динамика наблюдаемого объекта описывается векторным линейным дискретным уравнением, а объекта, с которого ведется наблюдение, векторным нелинейным дискретным уравнением. Действие измерителя сигнала моделируется соотношением, которое линейно зависит от фазового состояния наблюдаемого объекта и (через матрицу преобразования) от фазового состояния другого объекта, управляемого наблюдателем. Предполагается также, что известны множества, ограничивающие изменение всех априори неопределенных параметров системы, имеющие вид выпуклых, замкнутых и ограниченных многогранников (с конечным числом вершин) в соответствующих евклидовых пространствах. Результаты, полученные в данной статье, могут быть использованы для компьютерного моделирования динамических процессов в экономике.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Шориков Андрей Федорович, Тюлюкин Владимир Александрович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Описание библиотеки компьютерных подпрограмм для моделирования решения задачи апостериорного минимаксного оценивания»

Андрей Федорович Шориков

Доктор физико-математических наук, профессор, зав . кафедрой информационных систем в экономике Уральского государственного экономического

университета------------------------------

Владимир Александрович Тюлюкин

Кандидат физико-математических наук,

доцент кафедры информационных систем в экономике Уральского государственного

экономического университета

ОПИСАНИЕ БИБЛИОТЕКИ КОМПЬЮТЕРНЫХ ПОДПРОГРАММ ДЛЯ МОДЕЛИРОВАНИЯ РЕШЕНИЯ ЗАДАЧИ АПОСТЕРИОРНОГО МИНИМАКСНОГО ОЦЕНИВАНИЯ

Экономико-математические методы находят все более широкое применение в решении задач количественного анализа и компьютерном моделировании процессов, реализующихся в различных экономических структурах. При этом если в начальный период исследований разрабатывались и использовались статические оптимизационные модели, то в настоящее время для решения задач оценивания параметров систем и прогнозирования изменения их во времени используются динамические модели. В данной работе описывается программное обеспечение для персонального компьютера, которое позволяет осуществлять как экономико-математическое моделирование, так и моделирование технических объектов с учетом наличия динамики реализуемых процессов и неполноты информации о параметрах рассматриваемых систем. (Работа поддержана грантом РФФИ, проект 97-01-00161.)

Авторами представлено описание библиотеки подпрограмм на языке Pascal, позволяющих моделировать на компьютере решение задачи апостериорной минимаксной обработки данных измерений [1-5] в динамической системе, состоящей из двух управляемых объектов. Предполагается, что динамика наблюдаемого объекта описывается векторным линейным дискретным уравнением, а объекта, с которого ведется наблюдение, - векторным нелинейным дискретным уравнением. Действие измерителя сигнала моделируется соотношением, которое линейно зависит от фазового состояния наблюдаемого объекта и, через матрицу преобразования, от фазового состояния другого объекта, управляемого наблюдателем. При этом в рассматриваемой системе не требуется наличия памяти о реализациях измеряемых по ходу процесса параметров. Предполагается также, что известны множества, ограничивающие изменение всех априори неопределенных параметров системы, имеющие вид выпуклых, замкнутых и ограниченных многогранников (с конечным числом вершин) в соответствующих евклидовых пространствах. При

предположениях, сделанных в соответствии с результатами работ [1, 2, 5], в статье [3] формулируется задача апостериорного минимаксного оценивания фазовых состояний наблюдаемого объекта в форме нелинейного фильтра. Для ее решения в работах [3, 4] предложен численный рекуррентный алгоритм, который исходную многошаговую задачу сводит к решению последовательности одношаговых оптимизационных задач линейного и выпуклого математического программирования. Этот алгоритм использует также результаты работ [6-11].

В данной статье описание алгоритма реализовано в виде комплекса стандартных подпрограмм для персонального компьютера IBM PC/AT на алгоритмическом языке Pascal. Отметим, что ограничениями на размерность рассматриваемой динамической системы и число шагов процесса оценивания для моделируемого алгоритма являются только ограничения на ресурсы памяти и быстродействие компьютера. Представленный программный комплекс может быть использован при разработке моделирующих систем автоматического управления подвижными объектами и при решении задач экономико-математического моделирования. Математические модели таких систем рассмотрены, например, в работах [1-7].

Статья состоит из трех разделов: в первом приводится краткая инструкция по

использованию библиотеки подпрограмм, во втором - функциональные описания подпрограмм и в третьем - краткое описание структуры и использования головной программы.

1. Инструкция по использованию библиотеки подпрограмм

Данная библиотека подпрограмм состоит из модуля BTULSHOR. В модуле BTULSHOR описываются типы массивов, используемых библиотекой подпрограмм. Эти описания доступны основной программе FILTR (краткое описание представлено в разд. 3), поскольку они расположены в интерфейсной секции модуля. Массивы, описанные в основной программе, должны соответствовать типу массивов, входящих в задействованные подпрограммы. В некоторых подпрограммах создаются массивы, использующие динамическую память, длина которой зависит от памяти ОЗУ вашего ПК. Не забывайте выделять место для динамической памяти!

Для использования данной библиотеки подпрограмм в основной программе FILTR после строки PROGRAM . . . ; должна присутствовать строка USES BTULSHOR;. Заметим, что модуль BTULSHOR должен быть расположен в каталоге, соответствующем настройке вашего TurboPascal .

В заключение отметим, что все массивы, используемые в подпрограммах, являются одномерными. Запись «А - матрица A(k)» следует понимать так: в одномерном массиве А сначала расположен первый столбец матрицы A(k), затем - второй и т.д.

2. Описание библиотеки подпрограмм

1. Подпрограмма REACH: «Построение множества всех вершин области достижимости для линейных дискретных систем».

Математическое описание. Для линейной дискретной системы вида x(t +1) = A(t)x(t) + B(t)u(t) (1)

при заданных ограничениях

x(t) e X(t), u(t) e P(t), (2)

где момент времени t e N; фазовый вектор x e Rn ; управляющее воздействие u e Rp (n, p e N);

N - множество всех натуральных чисел; для k e N, Rk - k -мерное евклидово пространство, элементы которого будем представлять в виде векторов-столбцов, даже если из экономии места они записаны в строку; A(t) и B(t) - известные действительные матрицы размера (n х n) и (n х p) соответственно; X(t) и P(t) - выпуклые, замкнутые и ограниченные многогранники (с конечным числом вершин) из Rn и Rp соответственно. Множество всех вершин области достижимости [1] G(t,X(t),t + 1), отвечающей паре (t,X(t)) е N х 2R , на момент времени t +1 строится согласно следующему обобщенному алгоритму.

Алгоритм 1

Шаг 1. Сформировать множество Гп (X(t)) всех вершин многогранника X(t).

Шаг 2. Сформировать множество Г (P(t)) всех вершин многогранника P(t).

Шаг 3. Сформировать следующие множества:

X(t + 1) = (it(t + 1): x(t +1) e Rn, x(t + 1) = A(t)x(t), x(t) e Tn (X(t))},

Y(t + 1) = (y(t + 1): y(t + 1) e Rn, y(t +1) = B(t)u(t), u(t) e rp(P(t))}

G(t + 1) = (x(t +1): x(t +1) e Rn, x(t +1) = x(t + 1) + y(t + 1), x(t +1) e X(t +1), y(t +1) e Y(t +1)}.

Шаг 4. Для сформированного дискретного множества точек G(t +1) = {х(i)(t + сG(t,X(t),t +1) (m eN)

определить все его крайние вершины, которые находятся с помощью подпрограммы (п/п) КРАВЕР. Эти крайние вершины и будут множеством всех вершин области достижимости

G(t,X (t),t +1) на момент времени t +1, являющейся выпуклым, замкнутым и ограниченным

многогранником (с конечным числом вершин) из Rn .

Конец алгоритма 1.

Использование:

REACH (n, nr, nx, np, А, В, ВЕХ, ВЕР, nxp, BERG) ;

Входные параметры:

n - размерность фазового пространства (тип: integer); nr - размерность пространства управлений (тип: integer); nx - число всех вершин многогранника X(t) (тип: integer); np - число всех вершин многогранника P(t) (тип: integer);

А - матрица A(t) (тип: array [1..n х n] of real; type: t1);

В - матрица B(t) (тип: array [1..n х nr] of real; type: t2);

ВЕХ - массив, содержащий координаты всех вершин многогранника X(t) (тип: array [1..n х nx] of real; type: t7);

ВЕР - массив, содержащий координаты всех вершин многогранника P(t) (тип: array [1..n х np] of real; type: t6).

Выходные параметры:

nxp - число всех вершин области достижимости (тип: integer);

BERG - массив, содержащий координаты всех вершин области достижимости (тип: array [1..n х nx х nr х np + 3 х nx х nr х np] of real; type: t7).

Замечания по использованию:

1) строит область достижимости на один шаг вперед;

2) в п/п создается рабочий массив: Х (тип: array [1. .n] of real; type: t8);

3) используется п/п КРАВЕР.

2. Подпрограмма КРАВЕР: «Поиск множества всех вершин выпуклого, замкнутого и ограниченного многогранника по его дискретному подмножеству».

Математическое описание. Пусть x(1),x(2),---x(m)(m e N) есть дискретное множество точек G, являющееся подмножеством некоторого выпуклого, замкнутого и ограниченного многогранника (с конечным числом вершин) G из Rn , содержащее все его вершины. Тогда поиск

множества всех вершин многогранника G по заданному дискретному множеству G сводится к решению следующей задачи математического программирования.

Задача 1. Для фиксированного i e 1, m и набора переменных Xj е R1 ,j e 1,m, j Ф i

требуется определить совместность следующей системы линейных соотношений:

x(j) = x(' \

Решение этой задачи находится с помощью модифицированного симплекс-метода (см., например, [10, 11]), который применяется для задачи линейного программирования с

ограничениями (3) и поиска минимума целевой функции g: Rm ^ R1 достаточно произвольного вида, например

g(-) = j.

где j е 1, m, j ^ '.

Отметим, что такой выбор целевой функции значительно упрощает процесс проверки условий совместности ограничений (3), происходящий на первом этапе реализации модифицированного симплекс-метода. При этом из свойств системы (3) следует, что если она

совместна, то точка x(') не является вершиной многогранника conG - выпуклой оболочки

множества G. В противном случае имеем x(') е Гп (conG).

Тогда, решив задачу 1 для всех значений параметра ' е 1, m, найдем все вершины

многогранника Гп (conG) и, следовательно, все вершины многогранника G, так как имеет место

равенство Гп (G) = Гп (conG).

Использование:

КРАВЕР (n,m,l,A); .

Входные параметры:

n - размерность фазового пространства (тип: integer); m - число всех точек множества G (тип: integer);

А - массив, содержащий координаты всех точек множества G (тип: array [1.. n х m + 3 х m ] of real; type: t7).

Выходные параметры:

l - число всех вершин многогранника G (тип: integer);

А - массив, содержащий координаты всех вершин многогранника G.

Замечания по использованию:

1) в п/п создаются рабочие массивы: Х (тип: array [1. . n+3] of real; type: t12), NB (тип: array

[1. . n+3] of integer; type: t13), К (тип: array [1. . n] of integer; type: t5);

2) используется п/п MODIF.

3. Подпрограмма MODIF: «Решение задачи линейного программирования

модифицированным симплекс-методом».

Математическое описание.

Задача 2. Требуется решить задачу линейного программирования

(с', x)----> min (max)

при условиях Ax= b, x > 0 ,

где A - матрица размерности m х n (m,n е N); x е Rn; c е Rn; b е Rm .

Для решения этой задачи используется модифицированный симплекс-метод. Исходная информация задается в виде расширенной матрицы

(

a11 a12 • a1n

am1 am 2 ' amn

C1 2 О • Cn

а11 ai 2 ain

Л

где 1 = m + 2, a'j (' е 1,m, j е 1,n) - элементы матрицы A, a1j = -(a1j +a2j +... + amj) для j е 1, n;

вектор b дополняется двумя компонентами bm+1 = 0 и b1 = -(b1 + b 2 + . + bm ).

Точность вычислений характеризуется величиной невязки вида

r = b1 - (ai1x1 + ai2x2 + . + ainxn ).

Использование:

MODIF (A, i, n, eps, p, X, NB) ; .

Входные параметры:

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

A - матрица A1 (тип: array [1 ....i х n] of real; t^pe: t7);

i - число строк матрицы A1 (тип: integer);

n - число столбцов матрицы A1 (тип: integer);

eps - заданная абсолютная погрешность вычислений (тип: real);

p - числовой параметр такой, что p = 1, если требуется найти максимум, и (р < 1) v (p > 1), если требуется найти минимум целевой функции (тип: integer);

Х - вектор b (тип: array [1.. i] of real; type: t12).

Выходные параметры:

p - числовой параметр такой, что p = 1, если найдено решение; p = 2, если система ограничений несовместна; p = 3 , если значение целевой функции неограниченно;

Х - в X('),' е 1,i - 2 находятся ненулевые координаты вектора-решения; в X(i -1)-минимальное (максимальное) значение целевой функции; в X(i) - значение величины невязки;

NB - массив, содержащий номера ненулевых координат вектора-решения (тип: array [1. .i] of integer; type: t13).

Замечания по использованию:

1) задача должна быть приведена к виду, в котором координаты вектора b неотрицательны;

2) в п/п создаются рабочие массивы, использующие динамическую память: U (тип: а^ау [1.. i х 2 ] of real; type: t11), XK (тип: ап^ау [1. .i] of real; type: t12); в конце выполнения п/п указанные динамические переменные уничтожаются.

4. Подпрограмма GIPBER: «Нахождение вершин выпуклого, замкнутого и ограниченного многогранника, заданного системой неравенств».

Математическое описание. Пусть задана система неравенств вида

ai1x1 +.+ ainxn - ai,n+1 ^ 0 j е 1 m (^ n е N) ,

где aji е Я1 (1 е 1,п +1) - ья координата нормального вектора j-й крайней опорной гиперплоскости; xi е Я1 - набор действительных переменных, которые определяют выпуклый, замкнутый и

ограниченный многогранник (с конечным числом вершин) G из Яп . Требуется найти множество Гп всех вершин многогранника G.

Для решения этой задачи используется следующая обобщенная схема.

Сформируем систему уравнений

а^х1 + . . . + ^хп - а^п+1Хп+1 = ^ ,

- Хп+1 = ит+1 ,

j е1, m,

где и1 е Я1 (1 е 1, т +1) - неотрицательные числовые параметры. Тогда, применив к этой системе алгоритм Г аусса для исключения неизвестных, получим

X = ^1и1 + ... + ^тЛ^ ]е1, п +1; (4)

Г11и1 + . + Г1,т+1ит+1 = 0, 1 е п + 2, т + 1, (5)

где Sjk е Я1 (к е 1,т + 1) и г1| е Я1 (1 е 1,т + 1) есть фиксированные числовые параметры. Применив к (5) вычислительную схему Н.В. Черниковой [9], получим

где p' е Ri (' е 1, k) - произвольные неотрицательные числа; qj' е R1- фиксированные числовые

параметры.

Подставив выражения из (6) в (4), получим

xj = bj1p1 +■■■+ bjkpk, j е1, n +1,

где bj' е R1 (' e1,k) есть фиксированные числовые параметры. Тогда для bn+n ^ 0 выражение

bj'/bn+1,' является значением j-й координаты i-й вершины многогранника G, т.е. таким образом

определяется все искомое множество Гп (G) .

Использование:

GIPBER (A, n, m, 'm, C1);.

Входные параметры:

А - массив координат нормальных векторов и свободных членов, определяющих систему неравенств, описывающую многогранник G (тип: array [ 1 ..m х (n + m) ] of real; type: t7); n - размерность фазового пространства + 1 (тип: integer); m - число исходных неравенств + 1 (тип: integer).

Выходные параметры:

'm - число всех вершин многогранника G (тип: integer);

С1 - массив, содержащий координаты всех вершин многогранника G (тип: array [1..n х'm ] of real; type: t7).

Замечания по использованию:

1) данная п/п работает при условии m > n; в противном случае необходимо продублировать одно из неравенств до выполнения этого условия;

2) в п/п создаются рабочие массивы, использующие динамическую память: B (type: t10), C (type: t10); размеры массивов В и С рекомендуется задавать максимально возможными; в конце выполнения п/п указанные переменные уничтожаются;

3) используются п/п TABLEX и MATRB;

4) в п/п MATRB создается массив IR (тип: а^ау [ 1 ..m ] of integer; type: t9).

5. Подпрограмма CRAPOV: «Нахождение крайних опорных гиперплоскостей выпуклого, замкнутого и ограниченного многогранника по его заданным вершинам».

Математическое описание. Пусть Z есть выпуклый, замкнутый и ограниченный многогранник (с конечным числом вершин) из Rn . Тогда, зная Гп (Z) = {Z(')}. — - множество

всех вершин многогранника Z, требуется найти множество всех его крайних опорных гиперплоскостей (m е N) .

Для решения этой задачи применяется следующий обобщенный алгоритм.

Алгоритм 2

Шаг 1. Сформировать систему линейных уравнений

Z1'Z1 + Z21Z2 +■+ Zn'Zn + Zn+1 = pi, ' е 1 m (^ n е N), (7)

где Zj' - j-я координата (j е 1, n) i-й вершины многогранника Z; m - число вершин этого многогранника; p' - неотрицательные числовые параметры; zk - действительные переменные (k е 1, n +1) .

Шаг 2. Преобразовать систему уравнений (7), применив алгоритм Гаусса для исключения неизвестных, к виду

Z =^1 +^2'p2 +■■■+*<r'pr +^r+1,'Zr+1 +■■■+*<n+1,iZn+1, ' е1, Г; (8)

^1 + а2jp2 +.+ аmjpm = 0, j е Г + 1, m, где r е N и является рангом системы (7).

Шаг 3. Преобразовать систему (9), применив вычислительную схему Н.В.Черниковой [9], к

виду

Р] = Рц У1 + Р 2 ] У 2 +---+Р Ч У к , ] е1,т, (10)

где у., 1 е 1, к - произвольные неотрицательные числа (к е N .

Шаг 4. Подставить (10) в (8), тогда получим

г. = ©11У1 + 0 21У 2 +• • •+ © к1 У к + Х г+1,12г+1 +• • •+ Х п+1,12п+1, 1 е 1 г

Отсюда крайние опорные гиперплоскости многогранника Z определяются соотношениями

Г< (0;,~ >= о,

]л~ = о,

где 1 е 1,к; (Э. = (0ц,© 12,_,© 1Г,0,0,...,0)'е Rn+1;

N IS ,... Zn,1)' € Rn+1 , X r+1,1 X r+1,2 (n+1-r) X r+1,r 1 0...0 N

— X r+1,1 X r+1,2 . • — X r+1,r — 1 (n+1—r) 0.0

Л = X r+2,1 X r+2,2 X r+2,r 0 1...0

— X r+ 2,1 — X лг+ 2,2 • — X r+2,r 0 —1.0

X n+1,1 X n+1,2 X n+1,r 0 0. 1

- X ^ n+1,1 — X n+1,2 . — X n+1,r 0 0.— 1 J

Конец алгоритма 2.

Использование:

CRAPOV (A, n, m, mj, mi, C1); .

Входные параметры:

A - массив, содержащий координаты всех вершин заданного многогранника Z (тип: аггау [

1..m х (n + m) ] of real; type: t7);

{Структура массива А: сначала расположены первые координаты m вершин многогранника Z, а затем - вторые и т. д.};

n - размерность фазового пространства + 1 (тип: integer);

m - число всех вершин заданного многогранника Z (тип: integer);

mj - число крайних опорных гиперплоскостей других множеств, находящихся в массиве С1 (тип: integer).

Выходные параметры:

mi - число всех крайних опорных гиперплоскостей многогранника Z (тип: integer);

C1 - массив, содержащий координаты нормальных векторов и свободных членов, определяющих все крайние опорные гиперплоскости многогранника Z (тип: array [1..n х mi] of real; type: t7).

Замечания по использованию:

1) данная п/п работает без условия телесности заданного многогранника Z;

2) в п/п создаются рабочие массивы, использующие динамическую память: B (type: t 10), C (type: t10); размеры массивов В и С рекомендуется задавать максимально возможными; в конце выполнения п/п указанные переменные уничтожаются;

3) в п/п создаются рабочие массивы: IK, IM (тип: агау [1..n] of integer; type: t4);

4) используются п/п TABLEX и MATRB;

5) в п/п MATRB создается массив IR (тип: а^ау [1..m] of integer; type: t9).

6. Подпрограмма CHEBR: «Нахождение чебышевского центра и значения величины чебышевского радиуса выпуклого, замкнутого и ограниченного многогранника».

Математическое описание. Пусть для заданного выпуклого, замкнутого и ограниченного многогранника (с конечным числом вершин) Z из Яп известно дискретное множество

Гп (Z) = {z(i)} ,е— всех его вершин. Требуется найти чебышевский центр и значение величины

чебышевского радиуса [2,5] многогранника Z.

Решение этой задачи осуществляется с помощью следующей обобщенной схемы.

1. На основе множества Гп (Z) = {z(i)}ie1-m всех вершин многогранника Z формируются функционалы

дi: Rn------>R1,

значения которых для z = (z1,z2,.,zn)'е Rn определяются по формулам д i (z) = z — z(i) (i е1, m) ,

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

n

где || • || - символ евклидовой нормы в Rn .

2. Вводится дополнительная действительная переменная zn+1, и формируется система выпуклых неравенств

Дi (z) < zn+1, т. е. система

Z,n+1 : (Z (zj — z(i))2)^^ — zn+1 < 0 (i е 1 m).

,(i^2'

(zj — 7

j=1

3. Формируется задача математического программирования

zn+1 ----> min ___

при условиях дi (z) — zn+1 < 0 (i е 1, m).

Для решения этой задачи используется итерационный градиентный алгоритм метода Зойтендейка (случай нелинейных ограничений-неравенств) (см., например, [10]). Тогда для части

координат сформированного значения вектора z(^ = (z(e),z(2e),..,zne),z^^/е Z| n+1, где z(ne+)1 -

решение задачи математического программирования), будет выполняться (с заданной точностью) следующее соотношение:

min max д. (z) = max д. (z(e)) = z П‘+)1 = r(n) (Z),

zeZ ie1,m ie1,m

т.е. z(e) = (z(e), z2e),., zne))) е Rn является чебышевским центром множества Z (его минимаксной оценкой), а z^^ = r(n)(Z) е R1 есть значение величины его чебышевского радиуса.

Использование:

CHEBR (n, m, C, X); .

Входные параметры:

n - размерность фазового пространства (тип: integer); m - число всех вершин многогранника Z (тип: integer);

С - массив, содержащий координаты всех вершин многогранника Z (тип: а1тау [1..n х m] of real; type: t7).

Выходные параметры:

Х - в X(i), i е 1, n находятся координаты чебышевского центра многогранника Z, в X(n+1) - значение величины чебышевского радиуса многогранника Z (тип: array [1. . n+1] of real; type: 13). Замечания по использованию:

1) в п/п создаются рабочие массивы: А (тип: ап^ау [1. . (m + 4) х (2 х (n + m + 9)) ] of real; type: t7), NI (тип: array [l . . m] of integer; type: tl4), SI (тип: array [ 1. . m] of real; type: t15), D (тип: array [1. .n+1] of real; type: t3), NB (тип: ап-ау [1. . m+4] of integer; type: t13), ХХ (тип: ап-ау [1. . m+4] of real; type: tl2);

2) используется п/п MODIF.

7. Подпрограмма HSG: «Построение в фазовом пространстве информационного

множества, совместимого с заданным сигналом, и при наличии ошибок измерений».

Математическое описание. Пусть G(t) есть выпуклый, замкнутый и ограниченный многогранник (с конечным числом вершин) возможных фазовых состояний г(1) е Rn (п е наблюдаемого объекта в момент времени t е N. За этим объектом ведется наблюдение, в результате которого измеряется сигнал ш(1) е Rm (т е N т < п) . Этот сигнал формируется в соответствии с векторным уравнением

ш(t) = С(у(0)г(0 + D(t)£(t) (11)

при заданных ограничениях

z(t) е G(t), еН(1), (12)

где фазовый вектор наблюдателя у(1) е Rk (к е N ; ошибка измерения сигнала ^(1) е Rl (1 е N; С(у(1)) и D(t) - действительные матрицы размера (т х п) и (т х 1) соответственно, и матрица С(у(1)) имеет ранг, равный т; 5(1) - выпуклый, замкнутый и ограниченный многогранник (с конечным числом вершин) из Я.1 допустимых ошибок измерений. Множества С(1) и 5(1) заданы соответственно множествами Гп(С(1)) и Г! (Е(1)) всех своих вершин каждое.

Требуется найти множество Гп^(1)) с Яп всех вершин множества Ж(1) ^ Яп , которое есть множество всех возможных фазовых состояний наблюдаемого объекта в момент времени 1, совместимых с сигналом ш(1) и имеющейся информацией об элементах системы (11), (12), т.е. Z(t) - информационное множество [1, 2] для данной системы. Отметим, что искомое информационное множество Z(t) представляет собой выпуклый, замкнутый и ограниченный многогранник (с конечным числом вершин) из Яп .

Решение сформулированной задачи может быть найдено с помощью следующего обобщенного алгоритма.

Алгоритм 3

Шаг 1. Сформировать следующее дискретное множество:

Н(1) = {х(0 : х(0 е Ят, х( 1) = СР(0[ш(0 - D(t)S(t)],

§(1) еГ1 (Е(1))},

где СР(1) есть матрица размера т х т, являющаяся обратной матрицей к матрице, соответствующей базисному минору матрицы С(у(1)).

Шаг 2. Для сформированного дискретного множества Н(1) найти множество Гт(0Ст(Н(1)) всех вершин множества сотН(1) , которое определяется с помощью п/п КРАВЕР.

Шаг 3. На основе сформированного множества Гт(сот(Н(1)) определить все крайние опорные гиперплоскости множества сотН(1), которые находятся с помощью п/п С1РВЕЯ. Пусть Ь^ - j-я координата нормального вектора i-й крайней опорной гиперплоскости

У е 1, т, 1 е 1, s ; s - число всех гиперплоскостей, s е N), а Ьт+и - свободный член >й

гиперплоскости. Если т = п, то перейти на шаг 6; иначе, на шаг 4.

Шаг 4. Построить следующие т векторов:

g1 = (1, 0,..., 0,Р1,т+1 ,...,Pln)', g 2 = (0, 1,..., 0,Р 2,т+1 ,...,Р 2п )^

..............................., (13)

gm = ф,0,. • • ,1, рт,т+1 , .",ртп ) .

Здесь для любого 1 е 1, т координаты вектора gi являются i-й строкой матрицы, которая есть произведение матриц СР(1) и С(у(1)). В (13) приведен случай, когда базисный минор матрицы С(у(1)) находится в левом верхнем углу. В общем случае расположение элементов этой матрицы произвольно.

Шаг 5. В пространстве Яп (случай т < п) определить крайние опорные гиперплоскости множества соп (Н(1)), которые находятся следующим образом:

т

hji = b1ig1 + ... + bmigm , hn+1,i = Ь m+1,i

(j е 1, n, i е 1, s; s е N),

где hji - j-я координата нормального вектора i-й крайней опорной гиперплоскости, a hn+1i - ее свободный член.

Шаг 6. На основе множества Гп (G(t)) сформировать с помощью п/п GIPBER множество всех крайних опорных гиперплоскостей множества G(t).

Шаг 7. С помощью п/п CRAPOV найти множество всех вершин пересечения множеств COn (H(t)) и G(t), которое и будет искомым множеством Tn(Z(t)) - множеством всех вершин информационного множества Z(t) = con (H(t)) П G(t) для системы (11), (12).

Конец алгоритма 3.

Использование:

HSG (n, m, l, ng, lk, G, S, KS, w, D, np, GG);

Входные параметры:

n - размерность фазового пространства (тип: integer); m - размерность сигнала ra(t) (тип: integer); l - размерность ошибки измерения сигнала ^(t) (тип: integer); ng - число всех вершин многогранника G(t) (тип: integer); lk - число всех вершин многогранника S(t) (тип: integer);

G - массив, содержащий координаты всех вершин многогранника G(t) (тип: array [

1.. n х ng ] of real; type: t7);

S - матрица C(y(t)) (тип: array [1.. m х n ] of real; type: t1);

KS - массив, содержащий координаты всех вершин многогранника S(t) (тип: а1тау [

1.. l х lk ] of real; type: t6);

w - массив, содержащий координаты сигнала ffl(t) (тип: а1тау [1. .m] of real; type: t3);

D - матрица D(t) (тип: атау [1.. m х 1] of real; type: t2).

Выходные параметры:

np - число всех вершин многогранника Z(t) (тип: integer);

GG - массив, содержащий координаты всех вершин многогранника Z(t) (тип: а1тау [1..(n+1) х np] of real; type: t7).

Замечания по использованию:

1) если ранг матрицы C(y(t)) меньше m, то выдается соответствующее сообщение, и выполнение основной программы прерывается;

2) в п/п создаются рабочие массивы, использующие динамическую память: B(type: t10), C(type: t10); размеры массивов В и С рекомендуется задавать максимально возможными; в конце выполнения п/п указанные переменные уничтожаются;

3) используются п/п MTRAB, CRAPOV, OBREACH и GIPBER.

3. О головной программе FILTR

Моделирование решения задачи апостериорного минимаксного оценивания для дискретной динамической системы из [3] осуществляется в соответствии с алгоритмом, предложенным в работе [4], и реализуется с помощью головной программы FILTR, написанной на языке программирования Turbo-Pascal для персонального компьютера IBM PC/AT. Эта программа оформлена в виде модуля BTULSHOR.TPU и использует библиотеку стандартных подпрограмм, описанную в разд. 2.

ЛИТЕРАТУРА

1. Красовский Н.Н. Теория управления движением. М.: Наука, 1968.

2. Куржанский А.Б. Управление и наблюдение в условиях неопределенности. М.: Наука,

1977.

3. Шориков А.Ф. Алгоритм решения задачи апостериорного минимаксного оценивания состояний дискретных динамических систем. I // Автоматика и телемеханика. 1996. № 7.

4. Шориков А.Ф. Алгоритм решения задачи апостериорного минимаксного оценивания состояний дискретных динамических систем. II // Автоматика и телемеханика. 1996. № 9.

5. Шориков А.Ф. Минимаксные фильтры для нелинейных дискретных систем // Кибернетика. 1990. № 4.

6. Лотов А.В. Численный метод построения множеств достижимости для линейных управляемых систем с фазовыми ограничениями // Журн. вычисл. математики и мат. физики. 1975. Т.15. № 1.

7. Лотов А.В. Введение в экономико-математическое моделирование. М.: Наука, 1984.

8. Черников С.Н. Линейные неравенства. М.: Наука, 1968.

9. Черникова Н.В. Алгоритм для нахождения общей формулы неотрицательных решений системы линейных уравнений // Журн. вычисл. математики и мат. физики. 1964. Т.4. № 4.

10. Базара М., Шетти К. Нелинейное программирование. Теория и алгоритмы. М.: Мир,

1982.

11. Юдин Д.Б., Гольштейн Е.Г. Линейное программирование. М.: Наука, 1969.

i Надоели баннеры? Вы всегда можете отключить рекламу.