Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Моделирование вычислительных систем arrow
Модель Цементный Завод

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


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

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

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

  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. В появившемся окне нужно обратить внимание на поле параметровArrivalData.

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

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

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

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

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

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

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

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

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

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

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

 
Оригинал текста доступен для загрузки на странице содержания
 

Предметы
Геология
Информатика
История
Культура. Искусство
Математика
Медицина
Механика
Политология. Социология
Право
Промышленность
Психология
Религия. Логика. Этика. Философия
Сельское хозяйство. Биология. Ветеринария.
Строительство
Физика
Финансы. Экономика
Химия
Экология
Электротехника
Языки
Прочее