Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Имитационное моделирование бизнес-процессов.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
9 Мб
Скачать
☆

1.3.1 Решение задачи имитационным методом

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

Рисунок 2 – Графическое изображение функционирования одноканальной замкнутой системы

Рассмотрим все события, происходящие в одноканальной замкнутой системе:

  1. Генерирование требований, входящих в систему (GENERATE - Генериро­вать).

  2. Доставка требования в очередь (ADVANCE - Продвинуть).

  3. Вход требования в очередь (QUEUE - Очередь).

  4. Проверка занятости канала обслуживания (SEIZE - Захватить).

  5. Выход требования из очереди (DEPART - Выйти).

  6. Обслуживание требования (ADVANCE - Продвинуть).

  7. Освобождение канала обслуживания (RELEASE - Освободить).

  8. Возвращение требования в систему (TRANSFER - Передать).

Поскольку требования возвращаются в систему, то мы имеем одноканальную замкнутую систему. Для имитационной модели рассмотрим одну из распростра­ненных систем - «Кран-машины».

1.3.2 Создание имитационной модели

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

* GPSSW KRANM_e.GPS

* Моделирование одноканальной *

* замкнутой системы *

* с пуассоновскими потоками *

Допустим, что в нашей задаче число машин, обслуживаемых краном, может изменяться. Тогда целесообразно использовать переменную, которая будет пред­ставлять число обслуживаемых машин, например сохраняемую величину под именем X$MASH.

Первоначальное значение X$MASH определяется оператором INITIAL:

INITIAL X$MASH,5

1.3.3 Особенности моделирования системы

Особенности моделирования данной системы заключаются в следующем:

  1. Оператор GENERATE используется только для формирования числа машин, которые обслуживает кран. Этот режим использования оператора GENERATE предполагает, что поля А, В; С остаются пустыми, то есть ставятся соответ­ственно три запятые, затем в поле Е указывается число машин, которые дол­жен обслуживать кран.

  2. Машины после доставки груза в пункт назначения снова возвращаются в систему для погрузки. Возвращение машины в систему происходит при вхождении ее в оператор TRANSFER, который используется в режиме без­ условной передачи.

  1. Время обращения машины моделируется следующим оператором:

AVTO ADVANCE (Exponential(1, 0 ,10) )

К нему направляются машины от оператора TRANSFER ,AVTO.

4. Возвращение машин в систему происходит до тех пор, пока время моделиро­вания не превысит время моделирования системы. Определение времени мо­делирования основано на использовании простой модели измерения време­ни, состоящей из трех операторов:

GENERATE 480

TERMINATE I

START 1

Этот сектор моделирует время работы системы в течение рабочей смены, рав­ной 480 мин.

Моделирование потока машин в количестве X$MASH начинается с помощью оператора GENERATE - в нем определяется число машин, которые будут рабо­тать в системе. В нашем примере он будет выглядеть так:

GENERATE ,,,X$MASH

Число работающих машин указывается в поле операнда D с помощью сохраня­емой величины X$MASH. Машина, пришедшая в систему, сначала попадает в опе­ратор ADVANCE, который моделирует время ее приезда к каналу обслуживания (к крану). Он может быть записан так:

AVTO ADVANCE (Exponential(1,0,10))

В поле операнда А указывается средний интервал времени между прибытием к крану (каналу обслуживания) двух идущих одна за другой машин (требова­ний, транзактов). В нашем примере среднее время прибытия требований состав­ляет 20 мин. В поле операнда В дано отклонение времени поступления машин от среднего. В нашем примере отклонение от среднего времени прибытия машин на погрузку составляет 4 мин.

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

В нашем примере оператор QUEUE будет выглядеть так:

QUEUE POGR

В поле операнда А дается символьное или числовое имя очереди. Дадим нашей очереди имя POGR (Погрузка). Желательно, чтобы присваиваемое имя отражало суть описываемого элемента системы.

Следуя логике, машина может выйти из очереди только тогда, когда освободит­ся кран (канал обслуживания). Для этого вводится оператор SEIZE, который определяет занятость канала обслуживания, и при освобождении последнего на­ходящееся впереди требование выходит из очереди и идет в канал на обслужива­ние. Это может выглядеть так:

SEIZE KRAN

В поле операнда А дается символьное или числовое имя канала обслуживания. В нашей задаче каналу дано имя KRAN (Кран). Желательно, чтобы присваиваемое имя отражало суть описываемого элемента системы.

Выход машины из очереди на погрузку к крану фиксируется оператором DEPART с соответствующим названием очереди. В нашем примере это будет выглядеть так:

DEPART POGR

Далее должно быть промоделировано время погрузки машины, непосредствен­но обслуживаемой краном. Для моделирования этого процесса используется опе­ратор ADVANCE, который в нашей задаче будет выглядеть так:

ADVANCE (Exponential(1,0,2.1))

В поле операнда А выполняется обращение к встроенному в систему экспонен­циальному распределению с указанием среднего времени обслуживания маши­ны -2,1 мин. После обслуживания машины краном системе должно быть послано сообщение об освобождении канала обслуживания. Это делается с помощью опе­ратора RELEASE, который в нашей задаче записывается так:

RELEASE KRAN

Следует особо подчеркнуть, что парные операторы QUEUE и DEPART для каждой очереди должны иметь одно и то же, но свое уникальное имя. Это же от­носится и к операторам SEIZE и RELEASE.

После погрузки краном машина направляется к месту разгрузки. Это может быть промоделировано оператором TRANSFER, например, так:

TRANSFER ,AVTO

Метка AVTO определяет оператор, к которому направляется требование. В нашей задаче это оператор ADVANCE, который уже был использован ранее. И в нашем примере он был представлен так:

AVTO ADVANCE (Exponential(1,0,10))

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

Окончательно наша программа будет выглядеть так, как показано на рис.3.

Рисунок 3 – Окно имитационной модели одноканальной замкнутой системы с простейшими потоками

Далее выполните следующие действия:

• щелкните по пункту File главного меню системы. Появится выпадающее меню;

  • щелкните по пункту New (Создать) выпадающего меню. Появится диалого­вое окно Новый документ;

  • выделите пункт Model и щелкните по кнопке ОК. Появится окно модели, в котором введите данную программу.

Чтобы вызвать окно для представления имитационной модели в системе GPSSW, можно также нажать комбинацию клавиш Ctrl+Alt+S.