Основные понятия моделирования СМО



Определим основные понятия, которые используются при моделировании СМО.

Объект –любой элемент или компонент СМО, который должен быть заданным явно в модели СМО (например, устройство для обслуживания, машина).

Список – множество (постоянное или временное) связанных между собой объектов, упорядоченное согласно с определенным логичным правилом (например, все требования, которые находятся в определенное время в очереди, упорядочены по принципу «первым пришел – первым обслужили» или по приоритету).

Событие – мгновенное изменение состояния системы, например, поступление нового требования, или окончание обслуживания требования в системе.

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

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

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

Задержка – протяженность неопределенного промежутка времени, для которого неизвестно загодя, когда он оканчивается (например, задержка требования в очереди по правилу «последний пришел – первым обслужили», для которого начало обслуживания зависит от будущих поступлений).

Модельное время – положительная возрастающая величина, которая отображает течение времени в имитационной модели.

Часы – переменная, которая отображает переменную модельного времени, в примерах – часы (CLOCK).

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

Пространство состояний СМО

Рассмотрим диаграмму состояний СМО с одним устройством для обслуживания. На вход системы в моменты времени  ( ) поступают требования. Момент начала обслуживания требования устройством обозначим как , а момент завершения – . Момент выхода требования из системы  совпадает с моментом завершения обслуживания требования устройством . Если в момент поступления требования в систему устройство для обслуживания занято, то оно должно ожидать обслуживания в очереди, как, например, требования под номерами 2, 4,5,6,7,8. Состояние очереди определяется количеством требований и позицией каждого из них в очереди. Во время освобождения устройства первое требование из очереди поступает для обслуживания. Таким образом, пространство состояний СМО определяется состояниями устройства для обслуживания и очереди. Изменение состояний системы связано с событиями поступления нового требования и занятости или освобождения устройства для обслуживания. Состояние очереди также зависит от состояния устройства для обслуживания. С каждым требованием j ассоциировано несколько событий: появление требования – , начало обслуживания – , конец обслуживания – . Тогда упорядоченное множество событий  в модельном времени t описывает поведение СМО.

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

Если во время изменения модельного времени каждый раз проверять множество условий

для каждого требования j, чтобы начать некоторое действие из множества

,

то пары  также будут описывать поведение СМО.

Пример построения модели СМО

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

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

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

Название параметра

Значение по номеру покупателя

  1 2 3 4 5 6 7 8
Время поступления 2 2 7 3 2 3 1 1,5
Время обслуживания 4 2 6 5 3 2 2 1

Параметры СМО

Алгоритм моделирования СМО

Основой построения модели является объектный подход, который предусматривает создание модели системы как множества объектов, которые взаимодействуют между собой. В этой модели можно выделить объекты – требования (покупатели) и некоторый ресурс (R) – устройство для обслуживания (продавец).

Объекты Опис ание
требования покупатели
устройство обслуживания продавец
очередь “первым пришел – первым обслужили”

Если требование претендует на ресурс, занятый в данный момент времени, то оно становится в очередь. Очередь также является отдельным объектом – списком, связанным с ресурсом. Для системы обслуживания введем также правило обслуживания “первым пришел – первым обслужили”.

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

Для создания модели воспользуемся системой GPSS World – универсальной средой моделирования как дискретных, так и непрерывных процессов.

Объекты языка GPSS Опис ание
блок GENERATE создание объектов (“покупатель”)
блок SEIZE запрос и назначение ресурса
блок ADVANCE обслуживание требования
блок RELEASE освобождение ресурса
блок TERMINATE уничтожение требования
ПКМ запускает процесс моделирования и контролирует перемещение каждого требования

Для создания объектов покупатель используется специальная подпрограмма (GENERATE) в языке GPSS. Алгоритм её работы.

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

2. Запланировать следующее событие для покупателя  – запрос-назначение ресурса  (продавец) на момент времени . Запланировать приход следующего объекта – покупатель +1.

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

Первая – это подпрограмма запроса и назначения ресурса  требованию  (SEIZE) в языке GPSS. Алгоритм её работы:

1. Если ресурс  (объект продавец) может быть сразу предназначенным для требования , то изменить состояние ресурса  на «занятый». Запомнить момент начала обслуживания требования .

2. Если ресурс  занят, то поставить требование  в очередь к ресурсу .

Вторая – это подпрограмма обслуживания требования  (ADVANSE) в языке GPSS. Алгоритм её работы очень простой. Она должна определить событие, которое наступает после завершения обслуживания требования :   (где  время обслуживания в устройстве), т.е. создание сообщения о событии в СБС, для того, чтобы передать руководство подпрограмме освобождения ресурса  требованием .

Третья – подпрограмма освобождения ресурса  требованием  (RELEASE) в языке GPSS. Алгоритм её работы:

1. Изменить состояние ресурса  на «свободный». Передать руководство подпрограмме уничтожения требования.

2. Передать наличие в очереди требования к ресурсу . Если они имеются, то выбрать требование из очереди и запланировать для неё событие запроса и назначения ресурса .

Подпрограмма уничтожения требования (TERMINATE в языке GPSS ) нужна для уничтожения структуры данных, которая создается для каждого требования.

Также нужна программа руководства всем процессом моделирования (ПКМ), которая запускает процесс моделирования и контролирует передвижение каждого требования («жизненный цикл») во время моделирования путем вызова подпрограмм обработки отдельных событий. Другое назначение этой программы – вести список упорядоченных во времени событий – СБС и продвигать часы модельного времени от события к событию. В языке GPSS функции ПКМ выполняет программа интерпретатор.

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

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


Дата добавления: 2021-07-19; просмотров: 65; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!