Разработка имитационной модели грузового терминала

Федеральное агентство по образованию

ГОУ ВПО Тольяттинский государственный университет

Институт финансов, экономики и управления

Кафедра Менеджмент организации























Курсовая работа

По дисциплине: Моделирование систем управления





Выполнил: Банкетова К.

Группа: УК-302

Проверил: Ярыгин О. Н.













Тольятти 2009


Формулировка задания:

У компании ОАО «МОЛОКО» отгрузка заказов потребителям организована следующим образом. Грузовые автомобили начинают прибывать на погрузку на терминал в 5 часов 00 минут утра с экспоненциально распределенными интервалами времени между прибытиями со средним значением 3 мин. Причем под погрузку прибывают автомобили различного типа (грузоподъемности):

	10% из них — крупнотоннажные автомобили (свыше 6.0 т);

	20% — среднетоннажные автомобили (свыше 1,5 до 6,0 т):

	70% — малотоннажные автомобили (до 1,5 т).

Каждый грузовой автомобиль проходит диспетчера и пост погрузки. Оформление товаросопроводительных документов у диспетчера происходит параллельно с погрузкой автомобиля и не требует дополнительных затрат времени. Время погрузки грузового автомобиля зависит от его типа (грузоподъемности) и равномерно распределено в интервале:

	для крупнотоннажных автомобилей (св. 6,0 т) — от 40 до 60 минут:

		для среднетоннажных автомобилей (св. 1.5 до 6.0 т) — от 30 до 40 мл нут;

	для малотоннажных автомобилей (до 1,5 т) — от 20 до 30 минут.

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

Требуется разработать имитационную модель грузового терминала. Выполнить пять прогонов имитационной модели для 120 минут (планируемое время погрузки автомобилей с 5 часов 00 минут до 7 часов 00 минут утр и вычислить среднее количество занятых постов погрузки, среднее время задержки автомобилей на терминале и средний коэффициент использования каждого участка погрузки. Достаточно ли для эффективной работ терминала выделение под погрузку крупнотоннажных, среднетоннажных и малотоннажных грузовиков двух, пяти и восьми параллельных постов соответственно?

Ход работы:

Для создания модели были использованы блоки

	Activity, Multiple, Executive, Exit (4), Catch, Generator, Set Attribute, Queue, FIFO и Throw библиотеки Discrete Event;

	Input Random Number библиотеки Generic;

	Buffer библиотеки Manufacturing;

	Plotter, Discrete Event библиотеки Plotter.

Рассмотрим подробнее предназначение о особенности каждого из них:

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





Рисунок 1 – Блок Executive


Вторым создаем блок Generator (рисунок 2). Этот блок генерирует транзакты для процесса моделирования в указанные интервалы времени.





Рисунок 2 - Блок Generator



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



Рисунок 3.



Рисунок 3 – Задание параметров для блока Generator



Транзакты, созданные в модели попадают в блок Set Attribute (рисунок4).



Рисунок 4 - Блок Set Attribute



Устанавливает признаки пунктов, проходящих через блок. Возможно до семи названий различных атрибутов. Для каждого признака определяется количество вариантов. Название атрибута выбирается из списка, который появляется после создания разветвления в модели. Отладку этого блока проведем позже. Чтобы задать вероятность идентифицирования приходящих из блока Generator транзактов, как принадлежащих к каждому конкретному типу атрибута, создадим блок Input Random Number (рисунок 5).





Рисунок 5 – Блок Input Random Number



Блок производит случайные целые числа или действительные числа, основанные на выбранном распределении. Для нашей модели используем эмпирическое рапределение в котором вероятности заданы при помощи эмпирической таблицы. Настроим блок следующим образом – рисунок 6.





Рисунок 6 – Настройка блока Input Random Number


После прохождения блока Set Attribute транзакты попадают в блок Buffer (рисунок 7). По подобию очереди типа «first in – first out» моделирует накопление транзактов для того, чтобы буферизовать пункты, необходимые последующим операциями моделирования. Максимальная длина, определяемая количеством пунктов в очереди может быть установлена в диалоговом окне.





Рисунок 7 – Блок Buffer



Мгновенная буферная длина и время ожидания, время может быть проверено в L и соединителях W соответственно.

Когда буфер заполнен он перестает принимать транзакты, пока транзакты не будут удалены; или конец моделирования может быть определен как момент заполнения буфера. В диалоговом окне так же можем рассмотреть среднюю и максимальную длину очереди и время ожидания, число пунктов, которые вошли и вышли из буфера. Настройки, установленные в блоке  по умолчанию удовлетворяют условиям нашей модели (рисунок 8).





Рисунок 8 – Настройка блока Buffer


Из буфера транзакты попадают в блок Throw (рисунок 9). Этот блок позволяет создать разветвление в схеме, чтобы разделить обработку транзактов разного типа. Этот блок "бросает" транзакты в блок Catch (рисунок 10), не используя соединители или линии связи. Связь между блоками Throw  и Catch определяется лейбл и номер блока Catch в его диалоговом окне. Такие блоки можно использовать и не создавая разветвлений в цепи.





Рисунок 9 – Блок  Throw





Рисунок 10 – Блок Catch



Чтобы «бросить» транзакт необходимо создать связи, основанные на значении атрибута. Для этого сначала настроим блоки принимающие  транзакты (рисунок 11). Для каждого блока Catch присвоим имя (тип 1, тип 2, и тип 3).





Рисунок 11 – Настройка блока Catch


После этого перейдем к настройке блока Throw. Устанавливаем отметку Specify CatcСпециализированные блоки Приема в зависимости от атрибутов и заполняем таблицу.  В строку Attribute name вводим имя атрибута: Machine tipe. И заполняем таблицу построчно, выбирая Catch block из ниспадающего списка (в этом списке будут названия, присвоенные каждому из таких блоков).





Рисунок 12 – Диалоговое окно блока Throw



После настройки работы этого блока вернемся к блоку Set Attributes и в его диалоговом окне выберем предложенное имя атрибута. Заданное количество вариаций равно трем – три типа прибывающих машин.





Рисунок 13 – Диалоговое окно блока Set Attributes


Таким образом предыдущие блоки разделяют приходящие в систему транзакты в соответствии с их типом и теперь для каждого типа создаем отдельную очередь типа first in – first out (рисунок 14).





Рисунок 14 – Блок организующий очередь



Затем создадим блоки, которые будут проводить обработку транзактов. Для того, чтобы задать время обработки создает блок Input Random Number. Минимальное и максимальное время погрузки среднетоннажных и малотоннажных автомобилей заносится в соответствующие поля блоков Input Random Number, связанных с блоками Activity, Multiple, моделирующих задержку среднетоннажных и малотоннажных автомобилей при погрузке (рисунок 15).





Рисунок 15 - Диалоговое окно блока Input Random Number



В диалоговых окнах Activity, Multiple в поле Maximum number in activity необходимо занести количество постов погрузки, предназначенных для обслуживания автомобилей данного типа, т.е. 2, 5 и 8 для крупнотоннажных, среднетоннажных и малотоннажных автомобилей соответственно.





Рисунок 16 - Диалоговое окно блока Activity



Последним создадим блок Exit(4) (рисунок 17). Он дает возможность регистрировать значения выходов для каждого типа машин.





Рисунок 17 – Блок Exit(4)



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





Рисунок 18 – Схема модели




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





Рисунок 19 – Схема данных о процессе моделирования



Результаты моделирования, которые приведены далее на рис. 20— 22 показывают:

	среднее количество занятых постов погрузки крупнотоннажных автомобилей — 0,48 поста, среднее время погрузки крупнотоннажных автомобилей — 57,8 минуты (рисунок 20);

	среднее количество занятых постов погрузки среднетоннажных автомобилей — 1,7 поста, среднее время погрузки среднетоннажных автомобилей — 36,4 минуты (рисунок 21);

	среднее количество занятых постов погрузки малотоннажных автомобилей — 4,33 поста, среднее время погрузки малотоннажных автомобилей — 24,9 минуты (рисунок 22);

	средний коэффициент использования постов погрузки крупнотоннажных автомобилей — 0,24, средний коэффициент использования постов погрузки среднетоннажных автомобилей — 0,34, а средний коэффициент использования постов погрузки малотоннажных автомобилей — 0,54 (рисунок 20, 21, 22).

	



Рисунок 20 – Результаты моделирования для участка крупнотоннажных автомобилей





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





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




Проведенный эксперимент с моделью наглядно показывает, что количество постов погрузки достаточно для эффективной работы грузового терминала при условии, что интенсивность прибытия автомобилей под погрузку не увеличится. В данной системе массового обслуживания практически отсутствуют очереди, в чем можно убедиться, открыв в диалоговых окнах Queue, FIFO закладку Results. Но значения коэффициентов использования средств обслуживания (т. е. участков погрузки) достаточно велики. Поэтому при увеличении интенсивности поступления автомобилей под погрузку велика вероятность появления очередей, соответственно, снижения пропускной способности грузового терминала.