Научная статья на тему 'СТРУКТУРНЫЙ АНАЛИЗ МОДЕЛЕЙ ПРОЦЕССОВ И ВЫЯВЛЕНИЕ ЦИКЛИЧЕСКИХ СТРУКТУР'

СТРУКТУРНЫЙ АНАЛИЗ МОДЕЛЕЙ ПРОЦЕССОВ И ВЫЯВЛЕНИЕ ЦИКЛИЧЕСКИХ СТРУКТУР Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
91
22
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СЕТИ ПЕТРИ / МОДЕЛИРОВАНИЕ / ПРОИЗВОДСТВЕННЫЙ ПРОЦЕСС / СТРУКТУРА ПРОЦЕССА / АНАЛИЗ / ЦИКЛЫ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Крюков Олег Сергеевич

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

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

STRUCTURAL ANALYSIS OF PROCESS MODELS AND IDENTIFICATION OF CYCLIC STRUCTURES

The paper deals with the problem of optimization of production processes using the extended Petri nets methodology. An approach is proposed for determining cyclic structures in the process, taking into account branching.

Текст научной работы на тему «СТРУКТУРНЫЙ АНАЛИЗ МОДЕЛЕЙ ПРОЦЕССОВ И ВЫЯВЛЕНИЕ ЦИКЛИЧЕСКИХ СТРУКТУР»

СИСТЕМНЫЙ АНАЛИЗ, УПРАВЛЕНИЕ И ОБРАБОТКА ИНФОРМАЦИИ

УДК 005.591.6 Б01: 10.24412/2071-6168-2021-4-322-330

СТРУКТУРНЫЙ АНАЛИЗ МОДЕЛЕЙ ПРОЦЕССОВ И ВЫЯВЛЕНИЕ

ЦИКЛИЧЕСКИХ СТРУКТУР

О. С. Крюков

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

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

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

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

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

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

Обзор литературы. Наиболее подробная систематизация методов моделирования процессов представлена в работе [1], где кратко представлены достоинства и недостатки различных методов, однако нет рекомендаций для их применения на различных уровнях рассмотрения процессов и для различных этапов жизненного цикла.

Много как российских, так и зарубежных исследований затрагивают вопросы эффективности и возможности применения отдельных методов моделирования процессов, таких как: многоагентное моделирование [3], использование структурно-функциональных методов моделирования [4], нейросетевые модели [5, 6], применение

сетей Петри и их модификаций: иерархические раскрашенные временные сети [7], объектно-ориентированные сети [8], нечеткие стохастические сети [9], вложенные сети [10-12], в том числе и раскрашенные временные [13] и прочие.

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

Вопросам выявления циклов в сетях Петри посвящены работы [18-22]. Данные работы описывают выявление циклов в сети как в рамках ее декомпозиции, так и для верификации структуры. Но в описанных методиках не производится учет такой структуры как ветвление, что при анализе сети может привести к некорректному результату. Следовательно, необходимо сформировать метод выявления циклов в сетях Петри с учетом ветвлений.

Расширенные сети Петри с семантическими связями. Простейшая расширенная сеть Петри с семантическими связями (РСПСС) может задаваться следующим множеством:

П = {А,{2С, Я С, Я С , Я 5, Я 5 }},

где А = {аца),..., а^ (а),..., aJ (а)} - конечное множество позиций;

С С С С

2 = {г п г п г п } - конечное множество переходов по управлению;

1( г )' ' ] (г )' ' J (г ) ~ С С

Я - матрица смежности размером J(а) X J(г ), отображающая множество позиций в

Л С С

множество переходов по управлению; Я - матрица смежности размером J(г ) XJ(а)

, отображающая множество переходов по управлению в множество позиций;

5 5 5 5

2 = {г „ г <■> г } - конечное множество переходов по семантическим

1(г5)""' j(гS)""' J(г5У связям; Я - матрица смежности размером J(а) X J(г ), отображающая множество

позиций в множество переходов по семантическим связям; Я - матрица смежности 5

размером J(г )XJ(а), отображающая множество переходов по семантическим связям в множество позиций.

Кроме того, задаются следующие функции переходов: входная функция переходов по управлению:

1А) = {/А(г< сЛ.¡А(гС( сЛ. 1А(г< с))};

1( г ) j (г ) J (г )

выходная функция переходов по управлению:

О А (2С ) = {Оа (г<<( С)),., Оа (гС( <Л-, Оа (г<( с ))У;

1(г ) j (г ) J(г )

входная функция переходов по семантическим связям:

/А) = {IА(г5 „ ),..., 1А(г5 „ ),..., 1А(г5 „ )};

А 1 I А 1(г5у' Аv j(гSУ' А J(г5)" выходная функция переходов по семантическим связям:

ОА () = {ОА (^ г5)),., ОА ()Х-. ОА ^ )»■

Между позициями сети выполняется отношение предшествования по управлению. Позиция а считается предшествующей по управлению для а, (задается как

а! <с aJ ), если существует такой путь по управлению из стартовой позиции процесса

в позицию аJ , что он включает в себя позицию а'.

Для стартовой позиции процесса справедливо:

с с с с

сЛ(1А(*С с,)) = аз^гС с,(°А, с,) = аз)

'Сг ) '(г ) J(г ) J(г )

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

Ьп = (аг(а)}, |Ьп| > 1;

цикл:

с = {аеБ, (аеопс1, аоШ ), сР} , где асБ - начальная позиция, асопс - условие (ЬгапеИ-позиция), аои( - внешняя позиция, в которую передается управление из цикла, сР - тело цикла; ветвление:

Бг = {ахБ ,{Бx1,•••, Бxn}, ахе}, где ахБ - начальная позиция ветвления, Бх' - ветви ветвления, ахе - конечная позиция

ветвления.

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

с с с

$2.г сЛ(°А(2.( с,) = асБ А 1А(с,) = а1(а)) I асБ <с а1(а) 1(г ) 1(г ) 1(г )

7с 7°

с с с

> 1 сЛ е 7° (1А(2.{ с,) = асопС) А0$Щ (ахБ = асопс1) 1(г ) 1(г )

с с с

с,(1А(* сЛ) = асопС А °А(* сЛ) = аои1)| аои1 * сР А аои1 ф асБ

В рамках работы выделим следующие формы циклов: цикл с предусловием (рис. 1 а):

асопс = асБ ; цикл с постусловием (рис. 1 б):

с с с

$2.г сч(1А (г.. с,) = асопС А °А (г.. с,) = асБ). 1(2 ) 1(2 ) 1(2 )

Кроме того, определим следующие формы вложенности циклов:

простая вложенности (рис. 2, а):

$с1(с)(3с^(с)(с^(с) е ср1 (с) А с^(с) ^ ср1 (с))) ;

вложенность с пересечением (рис. 2, б):

$с1(с)(3су(с)(асБкс) = асБ(с) А с](с) е ср1(с))) .

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

Рис. 1. Примеры циклов: а — с предусловием, б — с постусловием

Рис. 2. Примеры вложенности циклов: а — простая вложенность; б — вложенность с пересечением

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

1. Поиск стартовой позиции сети .

2. Поиск начальных позиций циклов.

3. Поиск начальных позиций ветвлений:

C C C C

I ZOi I > 1 Vz, C, е ZOi (IA(z, C,) = axB) А 0$Ci (acB = axB) А j(z ) i(z )

C C C

0$z V C4 e ZOi (OA(z .. C,) = ai(a)) 1 ai(a) <C axB ' j(z ) J(z )

4. Определение условий циклов и вложенности с пересечением.

5. Заполнение содержимого ветвей каждого из ветвлений.

6. Заполнения тела каждого из циклов.

Определение условий циклов и вложенности с пересечением выполняется по алгоритму, описанному ниже, в соответствии с обозначениями: Ci(C) - рассматриваемый цикл;

Conds - множество позиций, являющихся возможными условиями для Ci(C);

7° - множество переходов, в которые ведет асБ ;

1 (с)

ес - множество уже рассмотренных циклов, начало которых совпадает с с^с); рагс - множество циклов, в которые может быть вложен с^с). Алгоритм выполнятся для каждого найденного цикла.

Алгоритм ФормированиеЦикла(с1(с)) Начало

с с с

сопс* = {а1(а)} 1 асВ((с) <с а1(а) а $2н7с )(!А (г гс)) = а1 (а) А °А (г с)) = асБ1 (с)) ;

C C

ZO = {zC C } \IA (zC C ) = acB,^ O 1 i(ZC у 1 A i(ZC у cBi(C)

if |Conds| = 1 then

if ¡ZO| > 1 then

acondj(c) = acBt(c);

C C C

aouti(C) = ai(a) \$z.(Zc)(IA (z.(Zc)) = acB(C) A OA (z,(zc)) = ai(a)) A ai(a) * CPi(C);

else

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

acondi{C) = Condso;

C C C

aouti(C) = ai(a) \ $zi(Zc)(IA (z.{zC)) = acondi(C) A OA (z Zс)) = ai(a)) A ai(a) * acBi{cy

end else

eC = {Cj(C)} \ acondj(C) = acBi(C) v acondj(C) e Conds ; if \eC\ = 0 and |ZO| > 1 then

acondi(C) = acBi(C);

C C C

aoutt(C) = ai(a) \$zi(Zc)(IA (zi(Zc)) = acB(C) A OA (zi(Zc)) = ai(a)) A ai(a) * CPi(C);

else

CC Conds = CondS \ ai (a) \ | Zor\ = 1 VzC) e ZOr (IA (z(ZC)) = ai(a)) ;

Conds = Conds \ ai(a) \ $Cj(C) (acondj(C) = ai(a));

acondi(C) = ai(a) \ ai(a) e Conds A "aj(a) e Conds(aj(a) <C ai(a)); C C C

V)IA (Z(ZC)) = acondi(C) A 0a (Zi(Zc ) if \eC\ = 1 then

CpeC0 = CpeC0 u Ci (C); else

parC = {Cj(C)} \Cj(C) e eC A acondj(C) * acBj(C);

CPj(C) = CPj(C) ^ Ci(C) \Cj(C) e ParC A "Ck(C) e ParC(acondj(C) <C acondk(C));

end end

end Конец.

aouti(C) = ai(a) \ $zi(ZC)IA (zi(ZC)) = acondt(C) A OA (zi(ZC)) = ai(a) A ai(a) * acBi(C);

Заполнение тела циклов выполняется по алгоритмам ниже со следующими обозначения:

Q(C) " рассматриваемый цикл;

inC - вложенный в Сг(с) цикл, начинающийся в ;

p - рассматриваемая позиция;

Ln - формируемый линейный участок;

np - следующая рассматриваемая позиция.

Алгоритмы поочерёдно выполняются для каждого из еще нерассмотренных

циклов.

Алгоритм АнализЦикла(С(с)) Начало

inC = Cj(С) I acBj(с) = acBi(с) А Cj(С) е Cpi(C); if inC Ф 0 then

АнализТелаЦикла(Сг(с), aout. с ,0); else

С С С

Р = ai(a) |3Zi(ZC)(IA(ZJ(ZC)) = acBi(С) А (^с)) = ai(a)) А

0$Cj(C)(Ci(C) e Cpj(С) А aoutj(C) = ai(a)) А ai(a) Ф aouti(C);

АнализТелаЦикла(Ci(с), p,0); end

Конец.

Алгоритм АнализТелаЦикла(Ci(с), p, Ln) Начало

if acBi(c) = p 0r W,(C) = p then if Ln Ф0 then

Cpi(C) = Cpi(C) ^ Ln ;

end

return;

end

if$B^i(Br)(axBi{Br) = p) then Cpi(C) = Cpi(C) ^ Bri(Br); np = aouti(Br);

if \Ln\ Ф0 then

Cpi(C) = Cpi(C) ^ Ln ; end

АнализТелаЦикла(Ci(с), np, 0);

return; end

if3Cj (C) (acBj (с) = p) then

if Cj (С) e Cpi(c) then Cpi(C) = Cpi(C) u Cj(С);

end

np = aouti(c ); if \Ln\ ^0 then

CPi(C) = CPi(C) u Ln ; end

АнализТeлаЦикла(Ci(c ), np,0) ;

return; end

Ln = Ln u p ;

C C C

nP = ai(a) 1 $zi(Zc )(IA (zi(Zc)) = P A OA (zi(zc)) = ai(a)) ;

АнализТeлаЦикла(Ci(c), np, Ln) ; Конец.

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

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

Исследование выполнено при финансовой поддержке гранта Президента Российской Федерации для государственной поддержки молодых российских ученых -кандидатов наук МК-1160.2020.9.

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

1. Сироткин М.Е. Методы моделирования производственных процессов предприятия машиностроения // Машиностроение и компьютерные технологии. 2011. №. 8. 14 с.

2. Дидманидзе Р.Н. Обоснование методов оптимального моделирования производственных процессов // Международный технико-экономический журнал. 2018. №. 2. С. 66-71.

3. Kuhn W. Digital factory-simulation enhancing the product and production engineering process // Proceedings of the 2006 winter simulation conference. IEEE, 2006. С. 1899-1906.

4. Затонский А.В., Уфимцева В.Н. Разработка объектных средств имитационного и многоагентного моделирования производственных процессов // Вестник Астраханского государственного технического университета. Серия: Управление, вычислительная техника и информатика. 2018. №. 4. С. 56 - 62.

5. Куликов Г.Г., Ризванов К. А., Петров Ю.Е. Системный подход к построению структуры организационно-функциональной модели цифрового моделирования производственных процессов // Вестник Южно-Уральского государственного университета. Серия: Компьютерные технологии, управление, радиоэлектроника. 2018. Т. 18. № 2. С. 60 - 68.

6. De Filippis, Luigi Alberto Ciro, et al. ANN Modelling to Optimize Manufacturing Process // Advanced Applications for Artificial Neural Networks. IntechOpen, 2017. P. 201 -225.

7. Westkamper E., Schmidt T., Wiendahl H. H. Production planning and control with learning technologies: Simulation and optimization of complex production processes // Knowledge-based systems. Academic Press, 2000. С. 839-887.

8. Седых И.А., Аникеев Е.С. Представление цементного производства иерархическими раскрашенными временными сетями Петри на основе окрестностных моделей // Вестник Липецкого государственного технического университета. 2017. № 1. C. 83 - 89.

9. Dong M., Chen F.F. Process modeling and analysis of manufacturing supply chain networks using object-oriented Petri nets // Robotics and Computer-Integrated Manufacturing. 2001. Т. 17. № 1-2. С. 121-129.

10. Wang J. et al. Modelling a remanufacturing reverse logistics system using fuzzy stochastic Petri net // International Journal of Industrial and Systems Engineering. 2015. Т. 19. № 3. С. 311-325.

11. Ломазова И. А. Вложенные сети Петри и моделирование распределенных систем // Труды международной конференции «Программные системы: теория и приложения», Переславль-Залесский. М.: Физматлит. 2004. С. 337 - 352

12. Van Hee K. M. et al. Nested nets for adaptive systems // International Conference on Application and Theory of Petri Nets. Springer, Berlin, Heidelberg, 2006. С. 241260.

13. Zhang L., Rodrigues B. Nested coloured timed Petri nets for production configuration of product families // International journal of production research. 2010. Т. 48. №. 6. С. 1805-1833.

14. Волошко А.Г., Ивутин А.Н., Крюков О.С. Методы моделирования и анализа производственных процессов для разработки стратегии модернизации предприятия // Известия Тульского государственного университета. Технические науки. 2020. Вып. 12. С.36-43.

15. Ivutin A.N., Troshina A.G., Semantic Petri-Markov nets for automotive algorithms transformations // 2018 28th International Conference Radioelektronika (RADIOELEKTRONIKA). IEEE, 2018. С. 1-6.

16. Ивутин А.Н., Трошина А.Г. Метод формальной верификации параллельных программ с использованием сетей петри. // Вестник Рязанского государственного радиотехнического университета 70 (2019). 2019. С. 15-26.

17. Волошко А.Г., Крюков О.С. Extended Petri Nets Based Approach for Simulation of Distributed Manufacturing Processes // The 9th Mediterranean Conference on Embedded Computing (MECO 2020). 2020. С. 508-511.

18. Кулагин В.П., Цветков В .Я. Философия сетей Петри // Вестник МГТУ МИРЭА 2014 г, № 4. 2014. С. 18-38.

19. Козюра В.Е. Реализация системы проверки моделей раскрашенных сетей Петри с использованием разверток. Новосибирск, 2002. [Электронный ресурс] URL: https://static.freereferats.ru/_avtoreferats/01002631845.pdf (дата обращения: 10.02.2021).

20. Рудаков И.В., Пащенкова А.В. Программный комплекс верификации алгоритмов программного обеспечения с помощью иерархических сетей Петри // Инженерный журнал: наука и инновации. 2013. №2. С. 1 - 10.

21. Wil M P. van der Aalst, Arthur H.M. ter Hofstede. Verification Of Workflow Task Structures: A Petri-net-baset Approach // Information Systems, Volume 25, Issue 1. 2000. P. 43-69.

22. D. Lefebvre and C. Delherm. Diagnosis of DES with Petri Net Models // IEEE Transactions on Automation Science and Engineering, vol. 4, no. 1, 2007. P. 114118.

Крюков Олег Сергеевич, студент, [email protected], Россия, Тула, Тульский государственный университет

STRUCTURAL ANALYSIS OF PROCESS MODELS AND IDENTIFICATION

OF CYCLIC STRUCTURES

O.S. Kryukov

The paper deals with the problem of optimization of production processes using the extended Petri nets methodology. An approach is proposed for determining cyclic structures in the process, taking into account branching.

Key words: Petri nets, simulation, manufacturing process, process structure, analysis, cycles.

Kryukov Oleg Sergeevich, student, [email protected], Russia, Tula, Tula State University

УДК 621.865.8 Б01: 10.24412/2071-6168-2021-4-330-338

СИСТЕМА УПРАВЛЕНИЯ РОБОТОМ ВЕРТИКАЛЬНОГО ПЕРЕМЕЩЕНИЯ

П.А. Груничев, С.А. Воротников, А.С. Самойлова

Рассмотрена система управления роботом вертикального перемещения (РВП) для движения по наклонной опорной поверхности. Показаны основные аспекты реализации системы управления модели РВП в программной среде У-РЕР. Представлены результаты моделирования различных вариантов походки по ровной вертикальной поверхности. Выполнена оценка результатов путем сравнения параметра отклонения РВП от заданного курса для различных вариантов походки. Предложен способ коррекции движения РВП.

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

В настоящее время роботы вертикального перемещения (РВП) составляют отдельный класс робототехнических систем, предназначенных для самостоятельного выполнения различных технологических операций на сложных вертикальных и наклонных поверхностях [1]. К таким технологическим операциям относятся: дефектоскопия сварных швов и элементов строительных сооружений; чистка и покраска корпусов судов; контрольно-измерительные и инспекционные операции; опасные для человека аварийные работы и т.д. [2]. В частности, диагностика поверхностей зданий позволяет находить трещины и другие дефекты на ранних стадиях развития и предотвращать возможные аварии и разрушения [3]. Кинематические схемы роботов, используемых для данного типа работ, представлены в основном в виде шагающих механизмов, а для удерживания на вертикальной поверхности применяются управляемые вакуумные присоски [4, 5].

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

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