Моделирование динамических взаимодействующих процессов с применением нечетких временных сетей Петри

Data PROCESSiNG FACiUTiES AND SYSTEMS

Талибов Н. Г. Ш1Ьау N. G.

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

Гусейнов А. Г. Husseynov А. Н.

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

Мустафаев В. А. Mustafaev V. А.

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

Салманова М. Н. Salmanova М. N.

аспирант кафедры «Информатика», Сумгаитский государственный университет, г. Сумгаит, Азербайджанская Республика

УДК 519.95

МОДЕЛИРОВАНИЕ ДИНАМИЧЕСКИХ

ВЗАИМОДЕЙСТВУЮЩИХ ПРОЦЕССОВ С ПРИМЕНЕНИЕМ НЕЧЕТКИХ ВРЕМЕННЫХ СЕТЕЙ ПЕТРИ

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

Ключевые слова: модель, алгоритм, треугольное нечеткое число, нечеткие временные сети Петри, робототехнологический комплекс.

MODELING OF DYNAMIC INTERACTING PROCESSES USING FUZZY TIMED PETRI NETS

The modelling of dynamic interacting processes is examined in the thesis which shows the operation of complex objects in the condition of uncertainty. The models of dynamic processes are presented in the form specific to fuzzy timed Petri Nets. It describes that the principles of triggering rules of transition fully show the functioning process of fuzzy timed Petri Nets in the example of robotic complex which is characterized by circular motion.

Key words: model, algorithm, triangular fuzzy number, fuzzy timed Petri Nets, robotic complex.

Введение

Одной из основных задач нечеткого моделирования является исследование параллельных динамических взаимодействующих процессов, функционирующих в условиях неопределенности, обусловленной нечеткостью временных, ресурсных и других ограничений [1—3]. Структурные связи, функциональные и причинно-следственные отношения между элементами системы, характеризующимися неопределенными параметрами, усложняют решение задачи.

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

Представление модели динамических процессов в виде нечеткой временной сети Петри и определение правила срабатывания переходов

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

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

Треугольным нечетким числом (ТНЧ) называют такое нормальное нечеткое число, функция принадлежности которого может быть задана треугольной функцией. В этом случае ТНЧ представляют в виде кортежа из трех чисел: А = {а,а,0), где а — модальное значение ТНЧ; а и в — левый и правый коэффициенты нечеткости ТНЧ [4].

Для решения задач нечеткого моделирования необходимо определить некоторые операции над ТНЧ, аналогичные арифметическим операциям над обычными числами и интервалами. Для определения аналогов обычных арифметических операций над нечеткими числами и нечеткими интервалами используется принцип обобщения [5].

Модель динамических взаимодействующих процессов представляется в виде НВСП.

Нечёткая временная сеть Петри определяется выражением

где N = (Р,Т,1,0) — структура НВСП: Р = {р^ (г' = 1,...,и; п — число позиций) — множество позиций; Г = {*у-}, (у' = 1,...,т; т — число переходов) — множество переходов; I: РхТ {ОД}; 0:ГхР-»{0,1} — соответственно входная и выходная функции переходов;

Мо =(М1>М2 >•••>>"„) — вектор начальной маркировки, каждый компонент $ представляет собой треугольное нечеткое число

= {и•••«})

г = (гиг2,...,гп) — вектор параметров временных задержек маркеров в позициях НВСП, каждый компонент г,, представляет собой ТНЧ:

= {2и > , ), 0' е {1,2,..., и}).

Data PROCESSiNG FACILITIES AND SYSTEMS

s = (si,s2,...,sm) — вектор параметров времен срабатывания разрешенных переходов НВСП, каждый компонент Sj представляет собой ТНЧ:

s j = (sy, s2j, s3j ), (J € {1,2,..., m}).

Текущее состояние НВСП определяется вектором ß = {jly,fl2,...,/in), компоненты которого представляют собой ТНЧ щ =(ßu,ju2i>M3i), (г'е {l,2,...,n}) и интерпретируются как значения функции принадлежности нечеткого наличия одного маркера в соответствующих позициях pi е Р относительно времени, отсчитываемого от момента запуска данной НВСП.

Переход tkeT НВСП называется разрешенным при некоторой доступной маркировке р, если выполнено следующее условие:

Mi = {Ми > Ми > Мзi ) > 0 HyPi еР)Л (I(Pi, h ) > 0).

Если переход the.T НВСП разрешен при некоторой доступной маркировке р, то нечеткое срабатывание данного перехода, осуществляемое за время sk = (snc,s2k,s'ik), приводит к новой маркировке Мк, компоненты вектора которой определяются следующим образом:

— для каждой из входных позиций Р, для которых I(pj,tk) > 0, по формуле:

Мк =(/4>/4г>/4) =

=

— для каждой из выходных позиций Pj g Р, для которых 0(tk,pj) > 0, по формуле:

И) = гшп{тах{рг}+,уьру} ,

0 е {1,2,... и}) л I(pi , ^ ) > 0),

о/р j eP)a (0(tk ,Pj)> 0) л (jUj Ф (0,0,0)),

где max, min - расширенная операция максимума и минимума для ТНЧ, а «+» — операция сложения ТНЧ;

— для каждой позиции р{ е Р, не являющейся входным и выходным, по формуле:

Mi = (К, м'и, Мы ) = (Ми> Ми,Ми ),

(УPi е P)*{i(Pi,tk) = 0)A(O(tk,pj) = 0).

Если некоторые из позиций pj е Р являются одновременно входными и выходными для разрешенного перехода tk е Т, то для них компоненты вектора новой маркировки рассчитываются последовательно; вначале по формуле (1), затем по формуле (2).

После нечеткого срабатывания перехода соответствующие маркеры становятся доступными только после окончания действия временных задержек, которые определяют доступную маркировку ц^ по формуле: = М1 + г,- /(Ур,- с Р) л тк ,Р])> >0)л(ру. *(0,0,0)). Для выходных позиций Р] перехода г^, для которых р, = (0,0,0), по определению м) = (0,0,0).

Алгоритм вычисления структурных элементов нечетких временных сетей Петри

При решении практических задач удобно использовать матричное представление структуры НВСП. Элементы матриц входных с1й, выходных с1и позиций и инциденций с1ц

У У У

определяются так [6]:

dï =

4 =

Г1, если р^ /ОД ;

[0, если Р1 <2 7(гД

|1, если р^О^]),

[0, если р^О«^;

-1, если р1 е 1(), р1 <£ 0( ),

1, если

0, если р1<£1^]),р1£О0]),

Начало алгоритма

Шаг 1. Создание входных и выходных матриц, представляющих входную и выходную функции НВСП в размерности тХп :с!у,с1у (г = 1 ,п\] = 1,ти).

Шаг 2. Определение размерности и ввод структурных элементов НВСП: Цу, г у (г = 1, к; ] = 1, и); ^ (г = 1, к; у = 1, т).

Шаг 3. Полагают: к = 1.

Шаг 4. Полагают: у = 1;<7 = 1;г = 0.

Шаг 5. Индекс г увеличивается на единицу: 1 = 1+1.

Шаг 6. Если выполняется условие г < п, то осуществляется переход к шагу 7, в противном случае — к шагу 15.

Шаг 7. Создание промежуточной матрицы ц\ = Цц ; (/ = 1,3).

Шаг 8. Если выполняется условие (/4 = 0) а (/¿2; = 0) л (//|г- = 0), то осуществляется переход к шагу 5, в противном случае — к шагу 9. _

Шаг 9. Вычисляют: = ¡1ц + (I = 1,3).

Шаг 10. Если выполняется условие 1 = (1ц, то осуществляется переход к шагу 11, в противном случае — к шагу 5.

Шаг 11. Если j = 1, то полагают: {таха таха =/4;таХ/, } и осуществляется переход к шагу 12, в противном случае — к шагу 13.

Шаг 12. Обнуление элементов матрицы /4 =0(1 = 1,3) индекс j увеличивается на единицу: j =j+1 и осуществляется переход к шагу 5.

Шаг 13. Полагают: aj = maxa; а2 = fj\i

Шаг 14. Если выполняется условие а^ >а2, то maxg = аь в противном случае тах^ = а2;

14.1 полагают: а\=гаа^а\а2=^21; Рх =тахд; р2 = /¿зг-; вычисляют: а{ = ах -щ; а'2=а2- а2;

14.2 если выполняется условие а[ > а2, то тах^ = а[, в противном случае тах^ = аг2;

14.3 вычисляют: maxa = max^-max^;

14.4 если выполняется условие Р[ > Р2, то тахд = Р[, в противном случае тах^ = /?2;

14.5 вычисляют: max^ =max^-max^, осуществляется переход к шагу 12.

Шаг 15. Полагают: i = 1.

Шаг 16. Если выполняется условие i < п, то осуществляется переход к шагу 17, в противном случае — переход к шагу 25.

Шаг 17. Если выполняется условие i = dkq, то осуществляется переход к шагу 18, в противном случае индекс i увеличивается на единицу: i = i+1 и осуществляется переход к шагу 16.

Шаг 18. Создание промежуточной матрицы ц^: вычисляют: {//{;• =maxa+,sliS.;

Hl¡ = maxa+s2k; = max p+szk\

Шаг 19. Если выполняется условие (/4 =0)л (jí\¡ =0)л(/4 =0), то осуществляется переход к шагу 20, в противном случае — переход к шагу 21.

Шаг 20. Полагают: /4 = = 1,3); индекс i увеличивается на единицу: i = i+1 и осуществляется переход к шагу 16.

Шаг 21. Если выполняется условие q = 1, то полагают: {mina=¡j¡^\mina= jul¡;max^ = ju^ } и осуществляется переход к шагу 22, в противном случае — переход к шагу 23.

Шаг 22. Полагают {//^ = mina; ju\¡ = mina; fj-li -rnrnp }; значение q увеличивается на единицу: q=q+1 и осуществляется переход к шагу 17.

. 2

Шаг 23. Полагают: a¡ = mina; а2 - Цц.

Шаг 24. Если выполняется условие а^<а2, то тата - аь в противном случае тт^ = а2;

24.1 полагают: ах = тша; а2 = Мы ; Д=1шп^; Р2=Цзг-; вычисляют: а[=ах-ах\ а2=а2-а2;

24.2 если выполняется условие а[ < а'2, то шта = а[, в противном случае тш'й = а2;

24.3 вычисляют: ттй=шш'(!-тт'а; р; = а1+р1;р'2=а2+р2;

24.4 если выполняется условие Р[ < р2, то гат'р = Р[, в противном случае тт^ = /?2;

24.5 вычисляют: тт.р = тт^-тш'а и осуществляется переход к шагу 22.

Шаг 25. Новая маркировка принимается за текущую: щг =^Г;(1 = ЩГ = Цг).

Шаг 26. Значение к увеличивается на единицу: к=к+1. Если к<т, то осуществляется переход к шагу 4.

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

Модель робототехнологического комплекса циклического действия

Рассмотрим НВСП, представляющую робототехнологический комплекс циклического действия, в состав которого входят прокатный стан, две транспортные системы (ТС) (одна подает прокатному стану, а другая принимает снятые со стана после холодной сварки заготовки), два промышленных робота (ПР), выполняющих операции перемещения заготовки из буферного накопителя на выход прокатного стана, установленного на принимающей ТС, и перемещения пакета, доставленного подающей ТС к прокатному стану.

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

Множество позиций и переходов сети интерпретируются следующим образом: р} — прокатный стан осуществляет холодную сварку; р2 — пакет находится в приемной позиции прокатного стана; р3 — заготовка находится в буферной выходной позиции прокатного стана; р4 — рабочая позиция прокатного стана свободна; р5 — приемная позиция прокатного стана свободна; р6 — выходная буферная позиция про-

катного стана свободна; р7 — ПР свободен; р8 — в приемной позиции ТС установлена заготовка; р9 — приемная позиция ТС неза-гружена; р — ПР загружает пакет в приемную позицию прокатного стана; р — ПР из буферного накопителя на выходе прокатного стана загружает заготовку на приемной позиции ТС; t1 — выполнение загрузки в приемную позицию прокатного стана; t2 — загрузка в приемную позицию прокатного стана закончена; t3 — выполнение операции холодной сварки; t4 — операция холодной сварки закончена; t5 — ПР выполняет загрузку из буферного накопителя на выходе прокатного стана на приемную позицию ТС; t6 — отправка заготовки и освобождение всех выходных приемных позиций.

Входные, выходные и матрица инциден-ций НВСП имеют вид:

00001011000 . 00000000010 01010000000 10000100000 00100010100 00000000001

00000000010 0 1 0 0 0 0 1 1 0 1 0 10001000000 001 10000000 00000000001 00000110100

сГ =

d+ =

0 0 0 0 -1 0 -1 -1 0 1 о 0100001 10 -1 0

1 -1 0 -1 1 000000 -1 01 10 -1 00000 0 0 -1 0 0 0 -1 0 -1 0 1 000001 1010 -1

Элементы вектора начальной маркировки:

М? =М°2 =М! =Мго =Мп = (0.0,0), А =(1-0.4, 0.3), ц\ = (0.5,0.3, 0.4), Мб = (1-5, 0.4, 0.2), //7° = (1.3,0.5, 0.2), ¡4 = (0.5,0.2, 0.3), М09 = (0.7,0.2, 0.2).

Элементы вектора параметров временных задержек маркеров в позициях:

= (1, 0.3, 0.3), г2 = (1, 0, 0.4), = (1, 0.2, 0.2),

= (0.5, 0.3,1), г5 = (1, 0.2, 0), = (1, 0.2,1),

г7= (0, 0, 0), г%= (1, 0.3,1),г9= (1, 0, 0), г10 = (1, 0.2,1), *„= (1,0,1).

Элементы вектора параметров времен срабатывания разрешенных переходов:

^=(0.4, 0.3, 0.1), 52 = (0.7, 0, 0.2), ¿3= (1, 0.2, 0.1), 54 = (0.6, 0.1, 0), *5 = (1, 0.3, 0), з6= (1, 0.5, 0.5).

Маркировка //0 соответствует состоянию готовности робототехнологического комплекса к работе. Задержки в позициях сети имитируют время исполнения производственной операции; z1 — время выполнения операции холодной сварки на прокатном стане; zs — время ожидания прибытия ТС с пакетом; — время ожидания прибытия

Рисунок 1. Граф-схема функционирования робототехнологического комплекса циклического действия

приемного ТС; z10 и z — время перемещения пакета и его установки в приемную позицию прокатного стана и соответственно время перемещения заготовки из буферного накопителя и установки заготовки в приемную позицию ТС. Время перехода ПР со входа на выход прокатного стана и обратно считается малым, не учитывается и приравнивается нулю.

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

Маркировка, полученная при срабатывании перехода t1:

м\ =м\ =м\ =м\ =м\ = м\ = м\ 1 = (0,0,0),

ц\ = (1.5, 0.7,1.3), ц\ = (2.5, 0.6,1.2), ц\ =(1.7, 0.2, 0.2), /¿'о =(1.9, 0.8, 0.8).

Маркировка, полученная при срабатывании перехода t :

fil = fil = ц\ = Mio = Ml1 = (0,0,0), ni = (3.6,1, 2),

= (2, 1, 2.3), = (3.5, 0.8, 2.2), ni = (3-6,1, 2), М1=(3.6,1,2),р92=(2.7, 0.2,0.2).

Маркировка, полученная при срабатывании перехода t3:

fil = м! = Ml = Mio = Ми = (0,0,0), Mi = (5.6,1.2, 2.5), fi\ = (5.6, 1.2, 2.5), ц1 = (4.5,1, 3.2), rf = (3-6,1, 2), /4 = (4.6,1.3, 3),/4 = (3.7, 0.2, 0.2).

Маркировка, полученная при срабатывании перехода t4:

Mi = Ml = Ml = Mm = Mu = (0,0,0), ц\ = (7-2,1.6, 2.8), fi\ = (7.2, 1.6, 2.8), M\ = (6-6,1.4, 2.5), Hi = (3.6,1, 2), p84 = (5.6,1.6, 4), p94 = (4.7, 0.2, 0.2)..

Маркировка, полученная при срабатывании перехода t5:

Mi = Ml = Ml = Ml = Мп =м1 = А5о = (0,0,0),

= (7.7,1.9, 3.8), ц\ = (7.6, 1.6, 2.5), ¡4 = (6.6,1.9, 5), ^=(9.2,2.1,3).

Процесс продолжается до получения искомой маркировки.

Выводы

Разработанный алгоритм вычисления структурных элементов НВСП обеспечивает

— удобные преобразования внешних данных во внутренний формат, используемый в среде моделирования;

— эффективную форму представления структуры, динамики состояния модели, пространства достижимых состояний и последовательности срабатывания переходов в виде совокупности векторов и матриц;

— упрощение и ускорение процесса моделирования, выявление тупиковых состояний.

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

Список литературы

1. Егоров А.С., Шайкин А.Н. Логическое моделирование в условиях неопределенности на базе нечетких интервальных сетей Петри // Изв. РАН. Теория и системы управления. 2002. № 2. С. 134-139.

2. Ding Z., Zhou Y., Zhou M. A Polynomial Algorithm to Performance Analysis of Concurrent Systems Via Petri Nets and Ordinary Differential Equations // IEEE Transactions on Automation Science and Engineering. 2015. V. 12, № 1. P. 295-308.

3. Гусейнов А.Г., Талыбов Н.Г., Мана-фова Х.И. Разработка средства автоматизации моделирования интеллектуальной

системы управления гибкой производственной системой // Проблемы сбора, подготовки и транспорта нефти и нефтепродуктов. 2017. Вып. 2 (108). С. 104-110.

4. Борисов В.В., Круглов В.В., Фе-дулов А.С. Нечеткие модели и сети. М.: Телеком, 2012. 284 с.

5. Леоненков А.В. Нечеткое моделирование в среде MATLAB и fuzzy TECH. СПб.: БХВ-Петербург, 2005. 717 с.

6. Akhmedov M.A., Mustafayev V.A. Development of Fuzzy Model for Investigation Functioning Active Elements of the Flexible Manufacture Module // Proc. 9th Intern. Conf. on Application of Fuzzy Systems and Soft

Computing (ICAFS - 2010). Prague, Czech Republic, 26-27 Aug., 2010. Kaufering: b-Quadrat Verlag, 2010.

References

1. Egorov A.S., Shajkin A.N. Logical Modeling in Conditions of Uncertainty Based on Fuzzy Interval Petri Nets // Izv. RA of Science, Theory and Control Management. 2002. № 2. P. 134-139. [in Russian language].

2. Ding Z., Zhou Y., Zhou M. A Polynomial Algorithm to Performance Analysis of Concurrent Systems Via Petri Nets and Ordinary Differential Equations. IEEE Transactions on Automation Science and Engineering. 2015. V. 12, № 1. P. 295 -308.

Husseynov A.H., Talibov N.H., Manafova X.I. Development of Automation Modeling Means of Intelligent Control System by Flexible Production System // Problemy

sbora, podgotovki i transporta nefti i nefte-produktov — Problems of Gathering, Treatment and Transportation of Oil and Oil Products, 2016, Issue 2 (108), Pp. 104-110. [in Russian language].

3. Borisov V.V., Kruglov VV., Fedulov A.S. Fuzzy Models and Networks. M.: Telekom, 2012. 284 p. [in Russian language].

4. Leonenkov A.V. Fuzzy Modeling in Environments MATLAB and Fuzzy TECH. SPb.: BHV-Peterburg, 2005. 717 p. [in Russian language].

5. Akhmedov M.A., Mustafayev V.A. Development of Fuzzy Model for Investigation Functioning Active Elements of the Flexible Manufacture Module // Proc. 9th Intern. Conf. on Application of Fuzzy Systems and Soft Computing (ICAFS-2010). Prague, Czech Republic, 26-27 Aug., 2010. Kaufering: b-Quadrat Verlag, 2010.