- •Федеральное агентство по образованию
- •А.Ю. Кузьмин, к.Т.Н., доц. Кафедры прикладных исследований инновационных проектов и единой документации цф Российской академии права
- •Введение
- •1.2. Описание моделируемого процесса
- •1.3. Пример решения
- •1.4. Задание и алгоритм выполнения лабораторной работы
- •1.5. Отчет о выполнении работы
- •Контрольные вопросы
- •2.3. Пример решения
- •2.4. Задание и алгоритм выполнения лабораторной работы
- •2.5. Отчет о выполнении работы
- •Контрольные вопросы
- •Моделирование клапана с таймером
- •3.3. Пример решения
- •3.4. Задание и алгоритм выполнения лабораторной работы
- •3.5. Отчет о проделанной работе
- •Контрольные вопросы
- •Как производится управление модельным временем?
- •Литература
- •Лабораторная работа №4 моделирование замкнутой корпоративной информационной системы
- •4.1. Цель работы
- •4.2. Описание моделируемого процесса
- •4.3. Пример решения
- •4.4. Задание и алгоритм выполнения лабораторной работы
- •4.5. Отчет о проделанной работе
- •Контрольные вопросы
- •Лабораторная работа № 5
- •5.3. Пример решения
- •5.4. Задание и алгоритм выполнения лабораторной работы
- •5.5. Отчет о проделанной работе
- •Контрольные вопросы
- •Литература
- •Заключение
- •Библиографический список Рекомендуемой литературЫ
- •Технологический процесс построения имитационной модели
- •1.1. Вербальное описание моделируемого процесса
- •Этапы построения модели.
- •1.2. Построение графа модели
- •Инициализация модели (рис. П 1.4)
- •Описание узлов модели
- •Установление очереди заявок (рис. П. 1.5)
- •1.6. Использование узла «Ключ» (рис. П. 1.6, п. 1.7)
- •2. Создание выполняемого файла модели
- •2.7.2. Теперь можно приступать к эксперименту (рис. П. 1.13).
- •Приложение 2 образец титульного листа для выполнения лабораторной работы
- •Приложение 3 варианты построения объектных кодов имитационных моделей
- •Вариант объектного кода модели для выполнения лабораторной работы № 1
- •Int Forw; /* Номер следующего узла */
- •Int Dist; /* Закон распределения времени обслуживания */
- •Вариант объектного кода модели для выполнения лабораторной работы № 2
- •Вариант объектного кода модели для выполнения лабораторной работы № 3
- •Вариант объектного кода модели для выполнения лабораторной работы № 4
- •Int Next_top; /* Номер следующего узла */
- •Вариант объектного кода модели для выполнения лабораторной работы № 5
5.3. Пример решения
Рассмотрим структурную схему модели организации производства (рис.5.1). Формирование схемы модели производится с помощью конструктора Gem-1.0. Описание каждого узла, а также операторов moodbeg и moodend выполняется в соответствии с алгоритмом, изложенным в прил. 1.
Рис. 5.1. Структурная схема модели для решения задачи
минимизации производственных затрат
Машины в производственном цехе находятся в четырех состояниях, перечисленных в табл. 5.2.
Таблица 5.2
Состояния машин
Номер фазы |
Практический смысл фазы |
Тип узла в модели |
Число каналов |
1 |
Помещение, где находятся исправные швейные машины (их начальное число Arend=j) |
queue |
- |
2 |
Швейный цех, в котором имеется Nowon рабочих мест для =50 швейных машин |
serv |
Nowon |
3 |
Помещение, где находятся неисправные швейные машины, ожидающие ремонта |
queue |
- |
4 |
Ремонтный цех, в котором работают специалисты-наладчики, число которых Men=i |
serv |
Men |
Введем в рассмотрение следующие переменные, которые далее будут использоваться в модели:
Nowon - количество рабочих мест в швейном цехе и соответственно количество собственных швейных машин;
Arend - число арендуемых дополнительных машин для замены вышедших из строя;
Men - количество наладчиков, производящих ремонт (наладку) швейных машин.
В начальный момент решено арендовать Arend машин. Эти машины должны некоторое время находиться в каком-то помещении и «ждать», пока не выйдет из строя машина в цехе. Далее в случае выхода из строя и ремонта машин в этом помещении будут находиться машины, число которых - случайная величина. Пребывание машин в этом помещении является состоянием 1. Вышедшая из строя машина поступит в ремонт при условии, что наладчик свободен. Вероятность такого события, естественно, не равна единице. Поэтому неисправные машины в ожидании ремонта направляются в другое помещение. Пребывание в этом помещении является состоянием 3. Если подходит очередь ремонта неисправной машины, она поступает в ремонтный цех. Ремонт - состояние 4 каждой машины.
Далее начнем строить имитационную модель. Наиболее рациональное решение заключается в том, чтобы выбрать машины в качестве транзактов. В табл. 5.2 приведены типы узлов, имитирующих соответствующие состояния. Количество каналов узла serv в состоянии 2 равно Nowon, а число каналов узла serv в состоянии 4 - это значение Men.
Для решения проблемы отсутствия транзактов в модели введем специальную часть, которая называется схемой зарядки.
Узлы с номерами 1 (queue), 2 (serv), 3 (queue) и 4 (serv) имитируют пребывание машин в состояниях с соответствующими номерами. Эта замкнутая схема не требует дальнейших комментариев.
Далее рассмотрим схему зарядки, которая состоит из трех узлов: узел 5 (генератор ag), узел 6 (транзактно-управляемый генератор creat) и узел 7 (терминатор term со вспомогательным оператором cheg). Модельное время, в течение которого будем осуществлять эксперимент, задается переменной Protime. Если мы хотим, чтобы это время составляло 3 года, а единицей измерения установим 1 ч, то это время равно 6240,0 ч. Узел ag генерирует первый транзакт через какой-либо заданный или случайный интервал времени tbeg.. Этот интервал можно назвать временем подготовки производства. Сгенерированный первый транзакт (назовем его прародителем) войдет в узел creat. В результате из этого узла выйдут Nowon + Arend транзактов, которые поступят в узел 1. Первые Nowon транзактов без задержки пройдут этот узел и поступят в узел 2; причем каждый транзакт - машина займет свой канал, т.е. рабочее место. Остальные Arend транзактов останутся в узле 1.
Что касается транзакта - прародителя, то он выйдет из узла creat и войдет в узел term. В этом узле перед уничтожением транзакт - прародитель выполнит операцию cheg для перенастройки генератора ag. Эта операция установит время генерации второго транзакта, равное Protime. Учитывая, что с начала запуска модели уже прошло время tbeg, момент генерации второго транзакта будет равен Protime + tbeg (т.е. после выполнения модели). Это означает, что второй транзакт не выйдет из генератора во время моделирования.
Далее перейдем к планированию имитационного эксперимента для определения рационального количества резервных машин и числа специалистов-наладчиков. Возможность существования оптимального решения вытекает из следующих предпосылок.
Если число наладчиков мало или равно нулю, то машины в основном будут неисправны, а затраты на производство - велики из-за простоя рабочих мест. Если же число наладчиков очень велико, то будут большими затраты на заработную плату. Но при отсутствии наладчиков машины постепенно выйдут из строя, а затраты из-за простоя рабочих мест будут велики. Что касается резервных машин, то, если их число мало или равно нулю, затраты на производство будут велики из-за простоя рабочих мест. Если же число арендуемых машин очень велико, то будут большими затраты на их аренду.
Необходимо найти минимальное значение на поверхности затрат Еij и соответственно значения координат iopt (переменная Men) и jорt (переменная Arend). Задача решается методом перебора, так как число возможных вариантов, которые необходимо сравнить, невелико.
Первое, что нужно сделать при проведении имитационного эксперимента, - это привести все времена и темпы затрат к одним единицам измерения. С помощью табл. 5.1 получим статьи ежедневных расходов на производство, представленные в табл. 5.3. Обозначим значения, указанные в каждой строке, как Аk ,k = 1,2,3.
Таблица 5.3
Статьи ежедневных расходов Ak (k=1,2,3)
Номер строки |
Вид ежедневных расходов |
Стоимость расходов, $ |
1 |
Дневная заработная плата одного наладчика |
30 |
2 |
Дневная аренда одной машины |
30 |
3 |
Убыток из-за простоя рабочего места |
160 |
С помощью имитационной модели необходимо получить значения загрузки рабочих мест.
Построим матрицу загрузок для различных значений числа наладчиков i и количества швейных машину. Элементы такой матрицы, полученные в ходе имитационного эксперимента, обозначим Bij (табл. 5.4). Поиск оптимальных значений i и j можно начать со значений i = 3 и j = 3, пропустив меньшие значения (i - число наладчиков, i = 3, 4, 5; j - число арендуемых швейных машин, j = 3,4, 5).
Таблица 5.4
Загрузка рабочих мест Вij
Число наладчиков |
Число арендуемых резервных машин |
||
3 |
4 |
5 |
|
3 |
0,951 |
0,974 |
0,964 |
4 |
0,986 |
0,979 |
0,978 |
5 |
0,978 |
0,984 |
0,979 |
Далее определим ежедневные затраты на оплату труда наладчиков и аренду резервных машин. Для этого создадим еще одну матрицу (табл. 5.5) элементов Сij с той же размерностью, какая существует в табл. 5.4. Элементы этой матрицы определяются с помощью табл. 5.3 из соотношения
Таблица 5.5
Затраты на оплату труда наладчиков и аренду резервных машин Сij
Число наладчиков |
Число арендуемых резервных машин |
||
3 |
4 |
5 |
|
3 |
180 |
210 |
240 |
4 |
210 |
240 |
270 |
5 |
240 |
270 |
300 |
Перейдем к определению потерь из-за снижения объемов производства по причине простоя рабочих мест. Для этого построим матрицу (табл. 5.6) элементов Dij с той же размерностью. Элементы этой матрицы определяются с помощью табл. 5.3 и 5.4. Элементы Bij, представленные в табл. 5.4 - это загрузка оборудования ρ при конкретных значениях i и j. Поэтому справедливо следующее соотношение:
Таблица 5.6
Потери из-за снижения объемов производства Dij
Число наладчиков |
Число арендуемых резервных машин |
||
3 |
4 |
5 |
|
3 |
392 |
208 |
288 |
4 |
112 |
168 |
176 |
5 |
176 |
128 |
168 |
Последнее, что нужно сделать, - это определить суммарные ежедневные затраты на производство. Для этого построим матрицу с той же размерностью (табл. 5.7). Элементы матрицы обозначаются Еij и определяются поэлементным суммированием данных табл. 5.5 и 5.6:
Таблица 5.7
Суммарные ежедневные затраты на производство Еij
Число наладчиков |
Число арендуемых резервных машин |
||
3 |
4 |
5 |
|
3 |
571 |
418 |
528 |
4 |
322 |
408 |
446 |
5 |
416 |
398 |
468 |
Из полученных значений табл. 5.7 определяются следующие оптимальные значения:
количество нанимаемых наладчиков iopt= 4;
число арендуемых резервных швейных машин.
Если бы мы выбрали ранее ошибочно рассчитанные значения iopt= 3 jорt= 3, то затраты ежедневно составляли бы не 322, а 571 долл. Различие в результатах в данном случае весьма значительно.
В табл.5.8 представлен стандартный набор выходных данных, автоматически полученных во время прогона варианта имитационной модели с конкретными значениями исходных данных.
Таблица 5.8
Результаты моделирования
НАЗВАНИЕ МОДЕЛИ: Мануфактура Ко Лист:1 ВРЕМЯ МОДЕЛИРОВАНИЯ: 6241.0 |
|||||||
Номер узла |
Наименова- ние узла |
Тип узла |
Точка |
Загрузка, % Путь,км |
M(t) среднее |
С2(t) квадрат коэфф. вариации |
Счетчик входов |
1 |
Резерв машин |
queue |
- |
- |
2,6 |
2,63 |
1973 |
2 |
Машины в работе |
sert |
- |
%=98,6 |
154,9 |
1,03 |
1971 |
3 |
Ожидание ремонта |
queue |
- |
_ |
2,9 |
2,9 |
1921 |
4 |
Машины в ремонте |
sert |
- |
%=69,7 |
7,1 |
0,17 |
1921 |
5 |
Подготовка производства |
ag |
- |
_ |
1,0 |
0,00 |
2 |
6 |
Подготовка машин |
creat |
_ |
_ |
0,0 |
1,00 |
53 |
7 |
Производство подготовлено |
term |
_ |
_ |
0,0 |
1,00 |
2 |
Вариант объектного кода модели представлен в прил. 3 (пункт 5).