
- •Определения
- •Общие понятия
- •Классификация моделей
- •Классификация систем
- •Модель типа «черный ящик»
- •Классификация систем массового обслуживания
- •Одноканальная смо с неограниченной очередью
- •Формулы Литтла
- •Многоканальная смо с неограниченной очередью
- •Показатели эффективности смо
- •Смо замкнутого типа
- •Применение метода Монте-Карло для решения задач, связанных с теорией массового обслуживания
- •Структура алгоритма, моделирующего процесс обслуживания заявок
- •Структура сети Петри
- •Графы сетей Петри
- •Маркировка сетей Петри
- •Правила выполнения сетей Петри
- •Пространство состояний сети Петри
- •События и условия
- •Эвм с конвейерной обработкой
- •Задача о взаимном исключении
- •Задача о производителе/потребителе
- •Безопасность
- •Ограниченность
- •Методы анализа
- •Дерево достижимости
- •Матричные уравнения
- •7. Моделирование производственных процессов
- •7.1. Дискретные производственные процессы (дпп)
- •7.2. Математическое описание операции обработки
- •7.3. Математическое описание процессов сборки и управления
- •7.4. Организация очереди и подсчет средней длины очереди
- •8. Программная реализация алгоритмов имитационного моделирования систем
- •8.1. Формирование и обработка наборов данных имитационного моделирования
- •8.2. Общая характеристика языка gpss
- •8.3. Описание и применение языка gpss
Методы анализа
В этом разделе мы представим два основных метода анализа сетей Петри, которые описывают механизмы решения некоторых из уже перечисленных задач. Первый метод анализа, используемый для сетей Петри, – это дерево достижимости, второй метод связан с. матричными уравнениями. Обсудим каждый из них.
Дерево достижимости
Дерево достижимости представляет множество достижимости сети Петри. Рассмотрим, например, маркированную сеть Петри на рис.5.17. Начальная маркировка ее – (1, 0, 0). В этой начальной маркировке разрешены два перехода: t1 и t2. Поскольку мы хотим рассмотреть все множества достижимости, определим новые вершины в дереве достижимости для (достижимых) маркировок, получающихся в результате запуска каждого из этих двух переходов. Дуга, помеченная запускаемым переходом, приводит из начальной маркировки к каждой из новых маркировок (рис.5.18). Это (частичное) дерево показывает все маркировки, непосредственно достижимые из начальной маркировки.
Рис.5.17.
Рис.5.18
Заметим, что маркировка (0, 0, 1) пассивная; никакой переход в ней не является разрешенным, поэтому никакие новые маркировки из этой пассивной маркировки в дереве порождаться не будут. Кроме того, необходимо отметить, что маркировка (0, 1,1), порождаемая запуском t3 в (0, 2, 1), была уже порождена непосредственно из начальной маркировки запуском t2.
Рис.5.19.
Если эту процедуру повторять снова и снова, каждая достижимая маркировка окажется порожденной. Однако получившееся дерево достижимости может оказаться бесконечным. Будет порождена каждая маркировка из множества достижимости, поэтому для любой сети Петри с бесконечным множеством достижимости соответствующее дерево также должно быть бесконечным. Даже сеть Петри с конечным множеством достижимости может иметь бесконечное дерево (рис.5.21).
Рис.5.21.
Простая сеть Петри с бесконечным
деревом.
Приведение к конечному представлению осуществляется несколькими способами. Нам необходимо найти те средства, которые ограничивают введение новых маркировок (называемых граничными вершинами) на каждом шаге. Здесь могут помочь пассивные маркировки – маркировки, в которых нет разрешенных переходов. Эти пассивные маркировки называются терминальными вершинами. Другой класс маркировок – это маркировки, ранее встречавшиеся в дереве. Такие дублирующие маркировки называются дублирующими вершинами; никакие последующие маркировки рассматривать нет нужды – все они будут порождены из места первого появления дублирующей маркировки в дереве.
В сети Петри на рис.5.16, например, можно запустить переход t1 столько раз, сколько необходимо для того, чтобы получить произвольное число фишек в p2.
Представим бесконечное число маркировок, получающихся из циклов такого типа, с помощью специального символа , который обозначает «бесконечность». Для любого постоянного a определим
Для построения дерева достижимости необходимы только эти операции над .
Теперь можно точно сформулировать действительный алгоритм построения дерева достижимости. Каждая вершина i дерева связывается с расширенной маркировкой [i]; в расширенной маркировке число фишек в позиции может быть либо неотрицательным целым, либо . Каждая вершина классифицируется или как граничная вершина, терминальная вершина, дублирующая вершина, или как внутренняя вершина. Граничными являются вершины, которые еще не обработаны алгоритмом; алгоритм превратит их в терминальные, дублирующие или внутренние вершины.
Рис.5.22.
Пусть х – граничная вершина, которую необходимо обработать.
1. Если в дереве имеется другая вершина у, не являющаяся граничной, и с ней связана та же маркировка, [х] = [y], то вершина х – дублирующая.
2. Если для маркировки [х] ни один из переходов не разрешен (т. е. ([x], tj) не определено для всех tj T), то х – терминальная вершина.
3. Для всякого перехода tj T, разрешенного в [х] (т. е. ([х], tj) определено), создать новую вершину z дерева достижимости. Маркировка [z], связанная с этой вершиной, определяется для каждой позиции pi следующим образом:
а) Если .[x]i = , то [z]i = .
б) Если на пути от корневой вершины к х существует вершина у с [y] < (lxl, tj) и [y]i < ([x], tj)i, то [z]i = .
в) В противном случае [z]i = ([х], tj)i.
Дуга, помеченная tj, направлена от вершины х к вершине z. Вершина х переопределяется как внутренняя, вершина z становится граничной.
Когда все вершины дерева – терминальные, дублирующие или внутренние, алгоритм останавливается.
На рис.5.22 представлено дерево достижимости для сети Петри на рис.5.16.