Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 700359.doc
Скачиваний:
3
Добавлен:
01.05.2022
Размер:
3.57 Mб
Скачать

3.5. Моделирование производственных процессов с помощью сетей Петри

В 1960-х годах Kарл Петри (С.А.Petri) разработал обобщенное графическое представление для систем. Хольт (A.W. Holt) расширил работу Петри и назвал представление систем сетью Петри. Для представления сетей Петри используются ориентированные графы. Известны два основных подхода к моделированию объектов графами – «топографический» (граф соответствует структуре моделируемого объекта) и «событийный» (граф соответствует процессам, т.е. изменению состояний объекта).

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

Классическая сеть Петри базируется на двух основополагающих понятиях: событиях и условиях. События - это результаты действий, совершаемых системой. Возникновение событий определяется состоянием системы, характеризующимся множеством условий. Условия, предшествующие событию, называются предусловиями, а вытекающие из его совершения - постусловиями.

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

Основные определения сетей Петри. Сеть Петри формально представляется как набор вида N=(Р, Т, F, Н, μо), где Р - конечное непустое множество позиций (иначе состояний или мест); Т - конечное непустое множество переходов (событий); Fx Т → {0, 1, 2...}; Н:Т x Р→ {0, 1, 2...} - функции входных и выходных инциденций; μо:Р→{0, 1, 2,...} - начальная маркировка (разметка) сети.

Графическим изображением сети Петри является ориентированный мультиграф с двумя типами вершин (рис. 39).

Рис. 39. Графическое изображение сети Петри

Вершины p P изображаются кружками, а вершины t T - черточками (барьерами). Дуги соответствуют функциям инцидентности позиций и переходов. Множества входных и выходных позиций перехода t T обычно обозначают соответственно (t) и (t), а множества входных и выходных переходов для позиции p P обозначают соответственно (р) и (р).

При маркировке всем позициям сети Петри приписываются некоторые натуральные числа. На графе маркировка отражается наличием или отсутствием в кружках точек, называемых маркерами (метками, фишками). При этом число маркеров в позиции равно значению функции μо:Р→{0, 1, 2,...}. Если мощность множества Р равна n, то маркировку можно представить n-мерным вектором, значения координат которого равны числу маркеров в соответствующих позициях.

Переход от одной маркировки к другой осуществляется посредством срабатывания переходов. Переход t может сработать при маркировке μ, если он является активным (возбужденным), т. е.

μ(p) – F(p, t) ≥ 0, p P (17)

Это условие означает, что в каждой входной позиции перехода t число маркеров не меньше веса дуги, соединяющей эту позицию с переходом. В результате срабатывания перехода t, удовлетворяющего условию (17), маркировка μ заменяется маркировкой μ по следующему правилу:

μ(p)= μ(p) – F(p, t) + H(t, p), p P ,

т.е. в результате срабатывания из всех входных позиций перехода t изымается F(р, t) маркеров и в каждую выходную позицию добавляется H(t, р) маркеров. Это означает что маркировка μ непосредственно достижима из маркировки μ и обозначается μ—tμ. Функционирование сети Петри - это последовательная смена маркировок в результате срабатывания активных переходов. Состояние сети в данный момент времени определяется ее текущей маркировкой.

Важным понятием сети Петри является граф достижимости, с помощью которого описываются возможные варианты функционирования сети. Графом достижимости называется граф, вершинами которого являются возможные маркировки. Маркировки μ и μ соединяются направленной дугой, помеченной символом перехода t T, если μtμ. Если для некоторой маркировки ни один из переходов сработать не может, то такая маркировка называется тупиковой. Маркировка μ является достижимой из маркировки μ, если существует такая последовательность переходов τ =(t1, t2, …, tk), что .

Множество всех маркировок, достижимых из начальной, называется множеством достижимости сети Петри и обозначается R(N).

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

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

В зависимости от топологии сеть Петри называется:

- автономной сетью, если для каждого t T имеется не более одной входной и не более одной выходной позиции, т. е. |t| = |t| = 1;

- маркированным графом, если для каждого p P имеется только один входной и один выходной переходы, т.е. |р| = |p| = 1;

- сетью свободного выбора, если для каждого t T и для каждого , позиция pi является либо единственной входной позицией перехода ti, т. е. |р| = 1, либо этот переход имеет единственную входную позицию, т. е. |t| = 1 (если два перехода имеют общую входную позицию, то эта позиция единственна для каждого из них).

Различают также простые сети, в которых любая пара переходов ti , tj T имеет не более одной общей входной позиции (т. е. |t ∩ t| ≤ 1), и бесконфликтные сети, в которых для каждой позиции p P существует не более одной исходящей дуги |р| ≤ 1 либо для всех t T выполняется условие (т. е. любая позиция, являющаяся входной более чем для одного перехода, является также выходной для каждого такого перехода).

В качестве примера рассмотрим сеть Петри N=(Р, Т, F, Н, μо), где Р={р1, р2, р3, р4, р5}, Т={t1, t2, t3, t4}, μо (1, 1, 0, 0, 0).

Функции F и Н заданы матрицами:

p1

p2

p3

p4

p5

t1

0

0

1

2

0

H=

t2

1

0

0

0

1

t3

1

1

0

0

0

t4

0

0

0

1

0


t1

t2

t3

t4

p1

1

0

0

0

F =

p2

1

0

0

0

;

p3

0

1

0

0

p4

0

0

1

0

p5

0

0

0

1


Графическое изображение сети представлено на рис. 39, а фрагмент графа достижимости для данной сети на рис. 40.

Рис. 40. Фрагмент графа достижимости

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

Такое моделирование сводится к следующему.

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

В качестве таких отметок выполнения условий, которые могут присваиваться схематическим изображениям состояний либо сниматься с них, принято использовать маркеры-фишки (изображаемые точками внутри позиций), которые соответствуют рабочим состояниям системы на изображении сети Петри. Тогда последовательное «срабатывание» переходов, то есть развертывание событий моделируемого процесса во времени, будет имитироваться установкой и снятием маркеров, а также их движением по линиям (дугам) условий из одной позиции в другую.

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

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

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

Либо начало дуги совпадает с позицией и тогда конец этой дуги совпадает с переходом, либо наоборот.

На рис. 41 приведен пример, соответствующий этому ограничению, на рис. 42 - недопустимые примеры.

Рис. 41. Графическое изображение фрагмента сети Петри

Рис. 42. Недопустимые связи для сетей Петри

Еще одним понятием теории сетей Петри является «метка» («маркер» или «фишка»). Метки изображаются точками, расположенными внутри позиций. Каждой позиции сети ставится в соответствие натуральное число, указывающее количество меток в данной позиции. Это число называют разметкой позиции, а совокупность таких чисел для всех позиций сети называют разметкой сети. Позиция может и не содержать меток, т.е. иметь нулевую разметку. Пример сети с разметкой приведен на рис.43.

Рис. 43. Сеть Петри с разметкой

Функционирование сети Петри связано с понятием “срабатывание” переходов.

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

Например, на рис. 43 для перехода t1 входная позиция - p1, выходная - p3.

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

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

Например, при срабатывании перехода t1 на рис. 43 из позиции p1 изымается одна метка и увеличивается количество меток в позиции p3 на одну.

Для перехода t2 изымается одна метка из позиции p1 и помещается в позицию p2 две метки.

Переход t3 на рис. 43. не может сработать, поскольку в позиции p3 находится только одна метка, а дуг, связывающих p3 и t3 - две.

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

Так, на рис. 43 изображена сеть, в которой переход t3 не может сработать. Но если сработает переход t1, то количество меток в позиции p3 - увеличится и после этого t3 - сработает.

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

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

Пример функционирования сети Петри приведен на рис. 44.

Рис. 44. Графическое изображение сети Петри

В сети Петри, представленной на рис. 44 в стартовом состоянии маркер (показан черной точкой) имеется только в позиции р1. Работа сети (или процесса) тогда описывается последовательным срабатыванием переходов. Поскольку единственная входная позиция для перехода t1 содержит маркер, то этот переход становится активным и срабатывает. Вслед за срабатыванием t1 активизируются и срабатывают переходы t2 и t3. Далее становятся активными переходы t4 и t5, но срабатывает только один из этих переходов (но не оба вместе). Это приводит сеть к стартовому состоянию, и процесс может повториться сначала.

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

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

Конечные разметки сети. Одна из основных проблем в теории сетей Петри - задача о конечности функционирования сети (о достижении тупиковой разметки, «смертельные объятия» и т.д.).

Суть проблемы состоит в ответе на вопрос для данной конкретной сети - существует ли такая последовательность срабатывания переходов, которая приводит сеть к тупиковой разметке (т.е. разметке, при которой ни один переход не может сработать)?

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

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

Например, утверждение: «сеть на рис. 43 всегда останавливается, когда все маркеры собраны в позиции p2» - справедливо.

А похожее утверждение: «сеть на рис. 43 всегда останавливается, причем все маркеры собраны в позиции p2» - не верно.

Свойство достижения конечной разметки присуще далеко не всем сетям. Например, на рис. 45 (А) приведен фрагмент сети всегда приходящей к тупиковой разметке, на рис. 45 (Б) - сеть никогда не «попадает в тупик», на рис. 46 - сеть, которая в зависимости от порядка срабатывания переходов, может остановиться, а может и продолжать функционировать бесконечно.

Р ис. 45. Тупиковая разметка

Рис. 46. Остановка или бесконечность

Кроме графического представления, для описания сетей Петри используют и алгебраическую форму. При этом используются правила, каждое из которых соответствует единственному переходу и содержит наименования его входных и выходных позиций. Например, переход t4 (на рис. 44) может быть записан как р4 , р5 → р1.

Состояние сети в любой момент времени определяется множеством входных позиций. Только позиции, имеющие маркеры, включаются в описание состояния, и каждая входная позиция здесь появляется столько раз, сколько маркеров она имеет. Любое из представленных правил является активным, и, следовательно, оно может вызвать срабатывание. При этом маркеры переместятся из своих входных позиций в свои выходные позиции. Таким образом, из описания текущего состояния убираются входные позиции и добавляются к текущему состоянию выходные позиции. На рис. 44 маркер имеется только в позиции р1, и, следовательно запустить срабатывание может только правило р1 → р23. После этого могут срабатывать правила р2 → р4 и р3 → р5, таким образом маркеры продвигаются через сеть.

Рассмотрим пример модели функционирования элементов автоматизированной производственной системы (рис. 47).

Рис. 47. Сеть Петри при моделировании фрагмента

производственной системы

Здесь позиции р1, р2, р3 представляют состояния станка (станок свободен, установка детали, станок обрабатывает деталь), позиции р4, р5, р6, р7 представляют состояния промышленного робота (перенос детали, установка детали, движение к складу заготовок, взятие детали со склада), позиции р8, р9 представляют состояния погрузчика на автоматизированном складе (устройство свободно, погрузка детали).

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

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

Рис. 48. Состояния переходов

Все входные позиции для переходов t1 и t2 имеют маркеры, поэтому переходы t1 и t2 являются активными одновременно. Правило запуска, которое определяет, какой из переходов сработает, основывается на критерии, который может быть детерминированным или вероятностным. Если срабатывает t1, то убираются маркеры из р1 и р2 и один маркер помещается в р5. В результате переходы t1 и t2 попадают в режим ожидания. Переход t3 становится активным и срабатывает, что ведет к срабатыванию t4. В результате переходы t1 и t2 снова станут активными. Предположим, что следующим будет запущен t2. Тогда маркеры убираются из р2, р3 и р4 и один маркер попадает в р6. В результате переходы t1 и t2 находятся в состоянии ожидания. Какой из переходов будет запущен следующим, определяется из правил запуска.