Задача оптимального измерения с учетом резонансов: алгоритм программы и вычислительный эксперимент

Бесплатный доступ

В статье описана программа, реализующая алгоритм численного метода решения задачи оптимального измерения с учетом резонансов - задачи восстановления динамически искаженного сигнала с учетом инерционности измерительного устройства и его механических резонансов, решаемой с использованием методов теории оптимального управления. Основной идеей алгоритма численного решения является представление компонент измерения тригонометрическими полиномами, которое позволяет свести задачу оптимального управления к задаче выпуклого программирования относительно неизвестных коэффициентов многочленов. Использование стандартных методов, например, градиентных, при решении задачи выпуклого программирования, в силу сложности функционала качества, приводит к неудовлетворительным результатам. Поэтому предлагается иной, более простой метод, который вместе с тем более трудоемок. В статье представлен ряд решений, позволяющих повысить скорость вычислений, блок-схема основной процедуры программы, написанной на языке С++. Для конкретной модели датчика приводятся результаты вычислительного эксперимента.

Еще

Задача оптимального измерения, оптимальное управление, системы леонтьевского типа, численное решение, алгоритм программы

Короткий адрес: https://sciup.org/147159152

IDR: 147159152   |   УДК: 517.9

Текст научной статьи Задача оптимального измерения с учетом резонансов: алгоритм программы и вычислительный эксперимент

Динамические измерения приобретают все большее распространение в технике и научных исследованиях. Изменение требований к результатам измерений является следствием выдвигаемых требований к качеству испытаний и эффективности производства. Так, одной из наиболее значимых в теории динамических измерений является проблема восстановления измеряемого сигнала. Отметим, что эта задача математически некорректна, поэтому для ее решения А.Л. Шестаковым и его учениками были предложены технически обоснованные гипотезы [1 – 3], решения которых были воплощены в металл . Затем А.Л. Шестаковым и Г.А. Свиридюком впервые для решения задачи восстановления динамически искаженого сигнала было предложено использовать методы теории оптимального управления [4], а полученную задачу называть задачей оптимального измерения . Полученная математическая модель – модель Шестакова-Свиридюка – позволила начать численные исследования задачи оптимального измерения [5, 6].

Однако искажение измеряемого сигнала часто случается не только из-за механической инерционности ИУ, но и в следствие механических же резонансов. В реальной ситуации в ИУ встраиваются фильтры, которые вырезают резонирующие частоты измеряемого сигнала. Иногда эти фильтры тоже резонируют, но уже на другие частоты, поэтому устанавливают дополнительные фильтры, которые устраняют возникшие резонансные частоты и т.д. В [7] А.Л. Шестаковым и Г.А. Свиридюком предложена модель оптимального измерения, где измерительное устройство обладает не только механической инерцией, но и резонансами. Итак, рассмотрим модель Шестакова – Свиридюка с учетом резонансов.

Пусть № = {x G L2((0,t), Rn : x 6 L2((0,t), Rn)} - пространство состояний, U = {u G L2((0,t), Rn) : u(p+1) G L2((0,t), Rn)} - пространство измерений и Y = C[№] - пространство наблюдений при некотором фиксированном т G R .. Выделим в U замкнутое и выпуклое подмножество U∂ – множество допустимых измерений. Требуется найти оптимальное измерение v G Ud почти всюду на (0,т), удовлетворяющую системе леонтьевского типа

Lx = Mx + Du(1)

y = Nx(2)

при начальных условиях Шоуолтера – Сидорова

[(^L - M)-1 L]p+1 (x(0) - xo) = O, минимизирующую значение функционала

  • 1    Tll                       112 P+1 T

    J(v) = min J(u) = min u U ∂         u U


E / | s“ ( t ) - y 0,q' t ) dt + E /(F q u (q )W,u (q) ( t»dt

. q=0 0q=

Здесь x = ( x i , X 2 ,..., x n ) и X = ( X i ,X 2 ,...,X n ) — вектор-функции состояния и скорости изменения состояния измерительного устройства соответственно; u = ( u i , U 2 ,..., u n ) и У = (y 1 ,y 2 ,... ,y n ) — вектор-функции измерений и наблюдений измерительного устройства соответственно; y 0 ( t ) = ( У 01 ( t ) , У 02 ( t ) , • • • , y 0n ( t )) — наблюдение, полученное в ходе натурного эксперимента; n – число параметров состояний системы; L и M – квадратные матрицы порядка n, представляющие собой взаимовлияние скоростей состояния и состояния измерительного устройства соответственно, D и N – квадратные матрицы порядка n, характеризующие взаимовлияние параметров измерения и связь между состоянием системы и наблюдением соответственно, u : [0 ,T ] ^ R n , F q G L ( U ) — самосопряженные положительно определенные операторы, q = 0 , 1 , ..., p +1 , || • || и (• , •) — евклидовы норма и скалярное произведение в R n соответственено.

Заметим, что системы леонтьевского типа являются конечномерным частным случаем уравнений соболевского типа . Поэтому, при изучении их мы будем использовать идеи, методы и результаты общей теории [8], адаптированные к конечномерной ситуации. В общем случае det L = 0 , матрица M - ( L, р ) -регулярна, т.е. существует число a G C такое, что det( aL M ) = 0 , существует число p G { 0 } U N равное нулю, если в точке С5О L-резольвента ( ^L M ) -1 матрицы M имеет устранимую особую точку; и равное порядку полюса в точке С5О матриц-функции ( ^L M ) -1 в противном случае.

Несколько слов о начальном условии Шоуолтера-Сидорова (3), рассматривается оно при некоторых X 0 G R n , где a G p L (M ) = { д G C : det (^L M ) = 0 } , R ^ (M ) = ( aL M ) -1 L - правая L -резольвента матрицы M . В случае det L = 0 оно совпадает с начальным условием Коши. Однако использование условия Шоуолтера – Сидорова при численных исследованиях прикладных задач, сводящихся к системам леонтьевского типа или использующих их, позволяет снять ограничения на размер матриц, входящих в состав системы [9, 10]. При использовании начального условия Коши необходимо согласование начальных данных, проверка которых вызывает значительные трудности и накладывает ограничения при численном решении как начальных задач, так и задач оптимального управления. Кроме того, по мнению ряда авторов [11, 12], задача Шоуолтера – Сидорова более естественна для уравнений соболевского типа, чем задача Коши, наконец, укажем еще полезное обобщение [13] задачи Шоуолтера – Сидорова.

Функционал качества состоит из двух слагаемых, его минимизация позволяет находить такое оптимальное измерение, при котором 1) достигается наименьшее расхождение как значения выходного сигнала к выходному сигналу модели датчика, так и их производных,

  • 2) нивелируется воздействие резонанса. Таким образом, второе слагаемое играет роль резонансных фильтров.

Для проведения вычислительных экспериментов авторами предлагается использовать следующий вид функционала качества:

1 T                      „                  в т

J ( u )= в £ / \ \ y ( q ) (t) - у <^) | | dt + (1 - в ) £ ( f . u^(t),u ( q\t)}dt,        (5)

q=0 О                                  q=0 0

где в E [0 , 1] и 1 в — весовые коэффициенты двух целей функционала качества, вариация которых позволит оценить взаимосвязь точности измерений и нивелирования резонансов, 0 p +1 . Возможность использования величины 0 показана в [14].

Статья, кроме введения, содержит две части и список литературы, который не претендует на полноту, а отражает лишь вкусы и пристрастия авторов. В первой части статьи описан алгоритм программы нахождения решения задачи оптимального измерения с учетом резонанса, а во второй – представлены результаты вычислительного эксперимента.

  • 1.    Алгоритм программы

Программа предназначена для нахождения решения задачи оптимального измерения с учетом резонансов, написана на языке C++ с использованием компилятора visual studio. Он является современным языком программирования, позволяющим удобно писать эффективные программы. Большинство известных компиляторов других языков значительно проигрывают в скорости выполнения программ известным компиляторам C++.

В основе программы лежат методы решения задач оптимального управления для систем леонтьевского типа с начальным условием Шоуолтера-Сидорова [9]. Прежде всего заметим, что по построению пространство U сепарабельно. Значит, существует последовательность {U1} конечномерных подпространств Ul С U монотонно исчерпывающих пространство U, м т.е. Ul С Ul+1 и U Ul плотно в U. Поэтому ulk = ulk(t) будем искать среди векторов вида

1=1

l

l

l

ul = col    £ a ji sin jt, £ a j 2 sin jt, ..., £ a jn sin jt ,

j =0

j =0

j =0

где l E N , l > p . Для простоты алгоритм излагается в предположении о том, что существует точно одна частота ω , при которой измерительное устройство (ИУ) резонирует (заметим, что как алгоритм, так и программа позволяют рассматривать несколько частот). Пусть амплитуда резонанса ИУ равна A ω (амплитуда A ω снимается с реального ИУ, поэтому считаем A w E (0 , +^о)). Теперь построим одно из слагаемых функционала J из формулы (5)

( F o ul,ul ) = ( col I £ a ji sin jt + A w a wi sin wt,

\ j=0 j =w

£ a j2 sin jt + А ш a w2 sin wt, ..., £ a jn sin jt + A w a wn sin wt I , ul ) .

j =0                                        j =0                                  I

  • j = w                              j = w

Опишем логическую структуру программы. В ее состав входят следующие модули: – ввод данных;

– расчет решения;

– операции над матрицами.

Для представления чисел используется вещественный тип двойной точности (double). Для величин такого типа под порядок и мантиссу отвводится 11 и 52 разряда соответственно, длина мантиссы определяет точность числа, а длина порядка – его диапазон.

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

  • –    индекс выбранной задачи управления, т.е. определяется вид функционала качества, который будет принят для рассчета;

  • –    имена файлов, в которых записаны массивы, входящие в состав системы и функционала качества - матрицы L , M , B , C , F q , q = 1 , 2 , ...,p + 1 , размера n х n , матрицы коэффициентов тригонометрических многочленов u ( t ) , число строк которых равно числу компонент n, а число столбцов равно l + 1 , массив данных наблюдения Y 0 , массив X q начальных значений состояния системы, значения амплитуды резонанса A ω и частоты резонанса ω ;

  • –    значения параметров расчета – минимальный h min и максимальный h max шаги изменения элементов матрицы (a ij ) вектор-многочленов ul(t) , r — коэффициент изменения шага;

  • – константы β – весовой коэффициент в функционале качества задачи оптимального управления, τ – правая граница отрезка, на котором рассматривается задача, η – порядок квадратурной формулы Гаусса, θ – параметр второго слагаемого функционала качества, d – радиус шара в пространстве R l+1 , взятый в качестве U l .

На рис. 1 представлена обобщенная схема алгоритма решения.

Рис. 1. Обобщенная схема алгоритма расчета решения задачи оптимального измерения

В схеме расчет s j и ω j представляет собой обращение к библиотеке класса С++ для расчета узлов и весов квадратурной формулы Гаусса.

При интерполировании y o ( t ) использован метод Лагранжа.

Приближенное значение состояния измерительного устройства, в предположении (L,p)-регулярности матрицы M и det M = 0, находится по формуле p                           m ττ

τ

2 s j ' c j ,

Xk(t)=£HM-1(In-Qk) (Duk)(q)(t)+Ukxo + 2£r| — 2sjQkDuk(T + q=0                                         j=0

где S j и C j - узлы и веса квадратурной формулы Гаусса соответственно, S j [0 , T ] , j = 0 , m, m + 1 - количество узлов, H k = M —1 (Q k - I n ) L — нильпотентная матрица со степенью нильпотентности p ,

/ /         t        \ —1 \ k( p +1)

° k=( (l - k. M) l)     • Qk = ^M1 )) p+1 -

// т т X -1 \k (P +1 )-V     т т X -1

R —2sj = L-~sm} L) L- -      m} k y\   k(p +1) / J \   k(p + 1) J причем k = max {k1, k2}, где

n k1 > - £ |ai| + 1, l=q+1

t [0 , т ] , a >  max

1q - k2 > |aq| (n - q)n-q Ц0 ।al । (n - q + 1Г l + 1, Itl < 1

{1,Ы-1 (£Ja^L

Далее при условии, что все коэффициенты тригонометрических многочленов в (6) равны нулю, т.е. u = col(0,..., 0), находятся значения вектор-функций состояния измерительного устройства x в каждой из m + 1 точек, затем вычисляются соответствующие им значения у и, наконец, значение J при найденном y и начальном u. Процедура оптимизации подробно представлена на рис. 2. Отметим используемые в блок-схеме обозначения:

о a - матрица коэффициентов многочленов из (6), используемая в начале циклов;

о A - матрица, аналогичная а , создаваемая для промежуточных расчетов внутри циклов;

о A j - матрица, аналогичная а , для элементов которой в цикле достигается минимум функционала при изменении коэффициента с индексами (i,j ) ;

о A ik - матрица, аналогичная а , для элементов которой в строке i достигается наименьшее значение функционала, при этом фиксируется номер столбца k в этой строке;

о J ( A ) , J ( а ) - значения функционала при коэффициентах полиномов из (6), образующих соответственно матрицы A и a ;

о h max , h min , А - максимальный, минимальный и промежуточные шаги оптимизации.

В результате реализации процедуры оптимизации определяется значение измеряемого сигнала v и значение функционала J .

При создании программы были использованы методы оптимизации кода и вычислений. Для упрощения написания программного кода была использована такая возможность языка программирования С++ как перегрузка операций. Создав класс с собственным типом

Рис. 2. Блок-схема процедуры оптимизации данных, по сути содержащий в себе двумерный массив как представление матрицы, получили возможность скрыть в классе реализацию математических операций над матрицами. Таким образом формулы расчета в тексте программы выглядят наиболее естественно, что сказывается на понимании программного кода и легкости его модификации.

Так же программа была подвергнута оптимизации скорости вычислений. Вследствие того, что при вычислении многих процедур программы значения функции необходимо получать не для бесконечного количества значений переменных, а в основном только для узлов интегрирования, то с учетом максимум двойного интеграла в формуле функционала качества достаточно сохранить для m 2 количества значений, где m + 1 количество узлов интегрирования. При выборе даже 101 точки получаем порядка 10000 значений, умножив которое на 8 байтовое представление числа, получим около 80 Кбайт на один кэш. В основной процедуре рассчитываются до 20 функций, максимальный кэш для функции интегрирования составляет 212 Мбайт, а суммарный кэш примерно составляет 0,5 Гбайт оперативной памяти. При современном оснащении компьютеров такой расход памяти и является допустимым, а в то же время позволяет на порядок повысить производительность расчетов. Для реализации кэша в языке С++ была использована возможность статического объявления переменных, когда они размещаются не в стеке, а в отдельно выделенной для нее памяти, и доступна на все время выполнения программы.

Программа эксплуатируется на персональном компьютере платформы Intel ( 80 х 86 ), работает под управлением Microsoft Windows. Вывод результатов расчета осуществляется в текстовый файл. Кроме того в ходе работы программы выводится подробный протокол расчета.

2. Вычислительный эксперимент

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

W              80000000000

W d ( p ) = ( p 2 + 140 p + 10000) ( p + 200) 3 .

Тогда, модель измерительного устройства будет представлена системой

/ о          1           о х =      0         0           1 х + (0 02 • 106) и,(1)

\-2 10 6 - 3 , 8 10 4 - 3 , 4 102/

У = (1 0 0) х,(2)

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

Представим систему (3.1)-(3.2) в виде системы уравнений (1.1)-(1.2), построив матрицы L , M , N и D следующим образом

/ 1 0 0 \             /

L = 0 1 0 , M = 001        -

/ 1 0 0 \

N = 0 0 0 , 000

Кроме того, пусть известна частота ω =

Реализовав первый шаг алгоритма при l

0           1            0      \

0             0              1 ,

2 10 6 - 3 , 8 10 4 - 3 , 4 102/

/ 0  0    0 \

D =  0  0    0     .

У0  0  2 106/

4000 и амплитуда A = 0 . 03 резонанса. = 31 , получили p = 0 , K = 88796 .

Рис. 3. Восстановленный сигнал v = v ( t ) и значения наблюдения y 0 = y o ( t )

Построим множество U l . Вектор измерений u полностью определяется своей третей компонентой, следовательно, для его нахождения можно ограничиться пространством R l +1 . Пусть, далее, имеется информация, что значения измеряемого сигнала не превосходят 2, поэтому в качестве U d можно взять замкнутый шар в пространстве R l +1 радиуса 2 с центром в начале координат. График функции восстановленного сигнала и значения выходного сигнала, полученного в результате натурного эксперимента, представлены на рис. 3.

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

Список литературы Задача оптимального измерения с учетом резонансов: алгоритм программы и вычислительный эксперимент

  • Шестаков, А.Л. Измерительный преобразователь динамических параметров с итерационным принципом восстановления сигнала/А.Л. Шестаков//Приборы и системы управления. -1992. -№10. -С. 23-24.
  • Шестаков, А.Л. Восстановление динамически искаженных сигналов испытательноизмерительных систем методом скользящих режимов/А.Л. Шестаков, М.Н. Бизяев//Известия РАН. «Энергетика». -2004. -№ 6. -С. 119-130.
  • Шестаков, А.Л. Нейросетевая динамическая модель измерительной системы с фильтрацией восстанавливаемого сигнала/А.Л. Шестаков, А.С. Волосников//Вестник Южно-Урал. гос ун-та. Серия «Компьютерные технологии, управление, радиоэлектроника». -2006. -№ 14 (69), вып. 4. -С. 16-20.
  • Шестаков, А.Л. Новый подход к измерению динамически искаженных сигналов/А.Л. Шестаков, Г.А. Свиридюк//Вестник Южно-Урал. гос. ун-та. Серия «Математическое моделирование и программирование». -2010. -№ 16(192), вып. 5. -С. 116-120.
  • Шестаков, А.Л. Численное решение задачи оптимального измерения/А.Л. Шестаков, А.В. Келлер, Е.И. Назарова//Автоматика и телемеханика. -2012. -№ 1. -С. 107-115.
  • Келлер, А.В. Задача оптимального измерения: численное решение, алгоритм программы/А.В. Келлер, Е.И. Назарова//Изв. Иркут. гос. ун-та. Серия «Математика». -2011. -Т. 4, № 3. -С.74-82.
  • Шестаков, А.Л. Оптимальное измерение динамически искаженных сигналов/А.Л. Шестаков, Г.А. Свиридюк//Вестн. Юж-Урал. гос ун-та. Серия «Математическое моделирование и программирование». -2011. -№ 17(234), вып. 8. -С. 70-75.
  • Sviridyuk G.A. Linear Sobolev Type Equations and Degenerate Semi-groups of Operators/G.A. Sviridyuk, V.E. Fedorov. -Utrecht; Boston; Koln; Tokyo: VSP, 2003.
  • Келлер, А.В. Об алгоритме решения задач оптимального и жесткого управления/А.В. Келлер//Программные продукты и системы. -2011. -№ 3. -С. 170-174.
  • Келлер, А.В. Численное решение задачи стартового жесткого управления для моделей леонтьевского типа. Вычислительный эксперимент/А.В. Келлер//Естественные и технические науки. -2011. -№ 4. -С. 476-482.
  • Свиридюк, Г.А. Задача Шоуолтера -Сидорова как феномен уравнений соболевского типа/Г.А. Свиридюк, С.А. Загребина//Изв. Иркут. гос. ун-та. Серия «Математика». -2010. -Т. 3, № 1. -С.104-125.
  • Замышляева, А.А. Начально-конечная задача для уравнения Буссинеска-Лява/А.А. Замышляева, А.В. Юзеева//Вестн. Юж-Урал. гос ун-та. Серия «Математическое моделирование и программирование». -2010. -№16 (192), вып. 5. -С. 23-31.
  • Загребина, С.А. О задаче Шоуолтера-Сидорова/С.А. Загребина//Изв. ВУЗ. Матем. -2007. -№ 3. -С. 22-28.
  • Манакова, Н.А. Об одной задаче оптимального управления с функционалом качества общего вида/Н.А. Манакова, А.Г. Дыльков//Вестн. Сам. гос. техн. ун-та. Серия «Физ.-мат. науки». -2011. -№ 4(25). -С.18-24.
Еще