Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Порядок выполнения работы. Моделирование работы инструментальной кладовой






Моделирование работы инструментальной кладовой

 

Постановка задачи

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

 

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

• число посещений рабочими кладовой в течение смены;

• среднее время для взятия инструмента в кладовой;

• коэффициент использования (загрузки) учетчика;

• максимальную длину очереди в кладовой;

• среднюю длину очереди в кладовой;

• число входов в кладовую без ожидания;

• процент входов в кладовую без ожидания;

• среднее время учета взятого инструмента.

Выявление основных особенностей

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

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

Изобразим графически процесс функционирования системы «Рабочие–кладовая» (рис. 4.35).

 

Создание имитационной модели процесса

 

Построение имитационной модели начнем с создания заголовка модели, который

может быть представлен, например, в таком виде:

; GPSSW Inst_clad.GPS

**********************************************************

* Ì î ä å ë è ð î â à í è å ñ è ñ ò å ì û «Ð à á î ÷ è å -ê ë à ä î â à ÿ» *

**********************************************************

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

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

В модели эту функцию можно записать в таком виде:

INST1 FUNCTION RN1, D5

0.2, 2/0.4, 3/0.6, 4/0.8, 5/1, 6

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

В модели эту функцию можно записать в таком виде:

INST2 FUNCTION RN1, D3

0.33, 1/0.66, 2/1, 3

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

T_OBSL FVARIABLE (FN$INST1+FN$INST2)#1.2

Второй сектор начинается с моделирования потока рабочих в инструментальную кладовую. Это можно выполнить с помощью оператора GENERATE (Генерировать). В нашем примере он будет выглядеть так:

GENERATE 8, 2

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

Пришедшие в кладовую рабочие с вероятность 0, 645 будут брать инструменты с первого стеллажа, а остальные – со второго. Это действие можно промоделировать с помощью оператора TRANSFER (Передать), используемого в режиме перехода к заданному оператору с указанной вероятностью. В нашей задаче он будет выглядеть так:

TRANSFER.355,, STEL2

Такая запись означает, что рабочий с вероятностью 0, 355, указанной в поле операнда А, пойдет к оператору, имя метки которого определено в поле операнда С, и с вероятностью 1 – 0, 355 = 0, 645 пойдет к оператору, следующему сразу же за оператором TRANSFER. Таким образом, данный оператор направляет рабочих к первому или ко второму стеллажу. Сразу же после оператора TRANSFER должен быть оператор, моделирующий время поиска нужных инструментов на первом стеллаже. Это время составляет 10±4 мин с равномерным законом распределения. Для этого можно использовать оператор ADVANCE (Задержать), который в нашей задаче запишется так:

ADVANCE 10, 4

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

STEL2 TRANSFER.221,, KLAD

Такая запись означает, что рабочий с вероятностью 0, 221, указанной в поле операнда А, пойдет к оператору, имя метки которого определено в поле операнда С, и с вероятностью 1 – 0, 221 = 0, 779 пойдет к оператору, следующему сразу же за оператором TRANSFER. Таким образом, данный оператор направляет рабочих ко второму стеллажу или к учетчику – кладовщику.

В операторе TRANSFER имеется метка STEL2 – по ней к этому оператору направляются рабочие, которым не нужны инструменты с первого стеллажа. Сразу же после оператора TRANSFER должен быть оператор, моделирующий время поиска нужных инструментов на втором стеллаже. Это время составляет 12±2 мин с равномерным законом распределения. Для этого можно использовать оператор ADVANCE, который в нашей задаче запишется так:

ADVANCE 12, 2

Рабочий, взявший все необходимые инструменты, встает в очередь к учетчику, если она есть. Это можно промоделировать оператором QUEUE (Очередь), который только в совокупности с оператором DEPART (Выйти) собирает статистическую информацию о работе моделируемой очереди. В нашем примере оператор QUEUE будет выглядеть так:

KLAD QUEUE UCHET

В поле операнда А дается символьное или числовое имя очереди. Таких очередей в системе может быть очень много. В нашей задаче дадим очереди имя UCHET.

Желательно, чтобы присваиваемое имя отражало суть описываемого элемента системы.

В операторе QUEUE имеется метка KLAD – по ней к этому оператору направляются рабочие, которым не нужны инструменты со второго стеллажа. Следуя логике, рабочий может выйти из очереди только тогда, когда освободится учетчик (объект). Для этого вводится оператор SEIZE (Занять), который определяет занятость объекта, и при его освобождении очередное требование выходит из очереди и идет в канал на обслуживание. Это может выглядеть так:

SEIZE CLAD

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

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

DEPART UCHET

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

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

ADVANCE V$T_OBSL

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

(FN$INST1+FN$INST2)#1.2

Как вы видите, в состав выражения входят значения двух функций FN$INST1 и FN$INST2, которые необходимо предварительно определить.

Число инструментов с первого стеллажа, взятых рабочим, определяется следующим образом. С помощью датчика псевдослучайных чисел RN1 генерируется случайное число. Допустим, оно равно 0, 468, тогда, согласно заданным значениям дискретной функции Inst1 (см. рис. 4.36), число взятых инструментов будет равно 4.

Число инструментов со второго стеллажа, взятых рабочим, определяется аналогично. С помощью датчика псевдослучайных чисел RN2 генерируется случайное число. Допустим, что оно равно 0, 588, тогда, согласно заданным значениям дискретной функции Inst2 (см. рис. 4.37), число инструментов, взятых со второго стеллажа, будет равно 2.

В нашем примере рабочий взял 6 инструментов. Это число умножается на коэффициент 1, 2, чтобы определить время учета взятых инструментов.

После обслуживания рабочего учетчиком должно быть послано сообщение об освобождении объекта. Это моделируется оператором RELEASE:

RELEASE CLAD

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

После обслуживания учетчиком рабочий покидает инструментальную кладовую. Это действие может быть представлено оператором TERMINATE (Завершить):

TERMINATE

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

моделирования системы будет равно 8 × 60 = 480 мин. Этот сегмент будет выглядеть так:

GENERATE 480

TERMINATE 1

START 1

 

Представление имитационной модели

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

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

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

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

Вызвать окно для представления имитационной модели в системе GPSSW

можно также, нажав комбинацию клавиш Ctrl+Alt+S.

 

Моделирование системы

После создания имитационную модель необходимо оттранслировать и запустить

на выполнение. Для этого:

• щелкните по пункту Command главного меню системы или нажмите комбинацию клавиш Alt+C. Появится выпадающее меню;

• щелкните по пункту Create Simulation (Создать выполняемую модель) выпадающего меню.

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

 

Подготовка к моделированию

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

• щелкните по пункту Edit (Правка) главного меню системы или нажмите комбинацию клавиш Alt+E. Появится выпадающее меню;

• щелкните по пункту Settings (Установки) выпадающего меню. Появится диалоговое окно SETTINGS для данной модели, в котором можно установить нужные выходные данные, например, так, как показано на рис. 4.39.

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

• Queues (Очереди);

• Facilities (Каналы обслуживания).

Для начала моделирования:

• щелкните по пункту Command главного меню системы или нажмите комбинацию клавиш Alt+C. Появится выпадающее меню;

• щелкните по пункту Create Simulation выпадающего меню. Появится окно JOURNAL (Журнал) с выводом сообщений о времени выполнения тех или иных действий, а затем – окно REPORT (Отчет) с результатами моделирования (рис. 4.40).

В верхней строке указывается:

• START TIME (Начальное время) – 0.000;

• END TIME (Время окончания) – 480.000

BLOCKS (Число блоков) – 15;

• FACILITIES (Число каналов обслуживания) – 1;

• STORAGES (Число накопителей) – 0.

Ниже указываются результаты моделирования канала обслуживания под назначенным именем CLAD:

• ENTRIES (Число входов) – 57;

• UTIL. (Коэффициент использования) – 0.807;

• AVE. TIME (Среднее время обслуживания) – 6.794;

• AVAIL. (Доступность) – 1;

• OWNER (Возможное число входов) – 57;

• PEND – 0;

• INTER – 0;

• RETRY (Повтор) – 0;

• DELAY (Отказ) – 0.

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

именем UCHET:

• MAX (Максимальное содержание) – 3;

• CONT. (Текущее содержание) – 0;

• ENTRY (Число входов) – 57;

• ENTRY(0) (Число нулевых входов) – 17;

• AVE.CONT. (Среднее число входов) – 0.517;

• AVE.TIME – 4.352;

• AVE.(–0) – 6.201;

• RETRY – 0.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.