Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Модель Цементный завод / Модель Цементный Завод

.doc
Скачиваний:
23
Добавлен:
01.05.2014
Размер:
123.9 Кб
Скачать

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

Модель «Цементный завод» состоит из нескольких крупных функциональных блоков:

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

  2. Блок DCOUNT («Параметризация пути»)– служит для расчета коэффициентов понижения средней скорости движения цементовоза, учитывая день движения, сезон и время суток. Погода в данной модели не учитывается, но может задаваться аналогичным образом.

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

  4. Блок TRACK («Дорога»)– служит для моделирования прохождения цементовозом пути до объекта, разгрузки на объекте (или на месте аварийной разгрузки) и возвращения его на завод.

  5. Блок SCHEDULE (На схеме отдельно не обозначен, принадлежит блоку «завод») – служит для ограничения длины «рабочего дня» завода. Блок настроен на 10 часовой рабочий день и 14 часов простоя. Нужно обратить внимание на то, что при запуске модели время считается с начала рабочего дня, а не от начала суток.

Рассмотрим используемые для моделирования глобальные переменные:

Обозначение переменной

Смысл переменной

Начальное значение и область определения

G_SPEED

Средняя скорость цементовоза с учетом коэффициента замедления

Нет, рассчитывается для каждой машины на каждом отрезке пути

G_TIME

Время, затраченное на прохождения отрезка пути от завода до объекта или обратно

Нет, рассчитывается для каждой машины на каждом отрезке пути

KZ

Коэффициент замедления

0, рассчитывается для каждой машины на каждом отрезке пути

L

Длина пути от завода до объекта, км

70

LENGTH_Q

Максимальная длина очереди цементовозов на погрузку до перераспределения

3

MVAR

Минимальное опорное время аварийной разгрузки, мин.

15

MVNR

Минимальное опорное время обычной разгрузки, мин.

5

MVSC

Минимальное опорное время смены вида цемента, мин.

5

MODUL_L

1 строка - номера модулей,

2 строка – текущий тип бетона

3 строка – ориентировочный тип бетона для цементовозов

Массив из трех строк и N столбцов, где N – число погрузочных модулей

SCDAYTIME

Время суток, с которого начинается моделирование

8

8:00 (Утро)

SCSEASONDAY

Номер дня в году, с которого начинается моделирование

125

5 Мая (Весна)

SVAR

Среднее время аварийной разгрузки, мин.

25

SVNR

Среднее время обычной разгрузки, мин.

25

SVP

Среднее время погрузки, мин.

20

SVSC

Среднее время смены вида цемента, мин.

15

T0

Время застывания цемента в неспециализированном бетоновозе, мин

120

T1

Время застывания цемента в специализированном бетоновозе, мин.

180

VP

Вариация времени погрузки бетона, мин.

2

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

Обозначение атрибута

Смысл переменной

Начальное значение и область определения

CURDAY

Текущий день года в модели, дни

Используется для расчета коэффициента замедления

CURTIME

Текущее время суток модели, часы

Используется для расчета коэффициента замедления

KDAYTIME

Коэффициент замедления для времени дня

Используется для расчета коэффициента замедления

KSEASON

Коэффициент замедления для сезона года

Используется для расчета коэффициента замедления

Length_Av

Расстояние, пройденное до точки аварийной разгрузки, км

0

LOAD

Текущая загрузка цементовоза, т.

0

LOAD_MAX

Максимально возможная загрузка цементовоза, т.

Зависит от конкретного типа цементовоза

SPEED

Крейсерская скорость цементовоза

Зависит от конкретного типа цементовоза

TYP_B

Тип погруженного бетона

0

TYP_Z

Тип заказанного бетона

0

VECH

Тип кузова цементовоза

1-Специальный

2-Обычный

Рассмотрим детальнее блок «Инициализация».

Это самый простой из всех блоков, но его роль в модели очень велика. Он создает входящий поток сущностей, задает длительность эксперимента и условия его завершения. Кроме того, здесь вводятся переменные даты и времени модели. Рассмотрим процесс настройки входного потока детальнее:

Для этого откройте свойства модуля Arrive. В появившемся окне нужно обратить внимание на поле параметров Arrival Data.

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

  • First Creation - время создания первого пакета сущностей (прибытия первого грузовика). Это поле можно использовать для изменения настроек старта моделирования (начала рабочего дня).

  • Time Between – интервал между прибывающими грузовиками. Если значение равно 0, значит, грузовики прибывают все сразу.

  • Max Batches – количество создаваемых грузовиков.

Для того, чтобы настроить список атрибутов, принадлежащих грузовикам, воспользуйтесь кнопкой Assign…

Рассмотрим детальнее блок «Блок». Используем этот блок, как пример построения логических конструкций в «Арена».

  • Для поиска погрузочного модуля с нужным типом бетона используется матрица MODUL_L и оператор поиска индекса FINDJ, о котором говорится в презентации.

Принцип работы блока очень простой. Существует глобальная системная переменная J, задачей блока является приравнять значение которой к искомому значению индекса матрицы. Индекс ищется исходя из условия поиска Search Condition. Правила указания условий смотрите в главе «Операторы». Поля Start of Range и End of Range – являются границей диапазона поиска. В случае если ни одно из значений не удовлетворяет критерию поиска, индекс J приравнивается к 0.

  • Для нахождения очереди с минимальной загрузкой используется модуль PICKSTATION, который анализирует длину очередей перед погрузочными модулями. Обратите внимание на настройки модуля, он может оценивать множество различных системных переменных, но в данный момент отмечена одна Number in Queue, т.е. длина очереди. Кроме того, каждая переменная анализируется на минимальное/максимальное значение. Что и является критерием отбора. Каждой проверяемой переменной ставится в соответствие станция назначения, название которой будет присвоено атрибуту «PickStation 1_att». Это системный атрибут, означающий направление дальнейшего движения сущности (цементовоза). После работы данного модуля, для изменения движения цементовоза, нам достаточно будет установить блок проверки значения атрибута «PickStation 1_att» CHOOSE.

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

В случае, когда процесс можно отразить элементарной задержкой, используются стандартные модули Server или «тройка» Enter, Process, Leave. Но в случае логической разветвленности процесса этот вариант не подходит. Следующая конструкция решает проблему механизма блокировки: