- •Новочеркасск
- •Введение
- •Моделирование систем массового обслуживания. Алгоритмизация по схеме событий
- •Алгоритм моделирования простейшей смо
- •Лабораторная работа №2 построение моделеи экономических систем с использованием объектно-ориентированной системы моделирования pilgrim
- •Технологический процесс построения модели. Пример моделируемого процесса
- •Лабораторная работа №3 особености построения замкнутых систем в pilgrim. Модель «минимизация производственных затрат»
- •Текст модели
- •Методические указания по разработке модели
- •Текст базовой модели
- •Литература
- •Заключение
- •Лабораторный практикум по курсу «имитационное моделирование
- •346428, Г.Новочеркасск, ул. Просвещения, 132
Лабораторная работа №3 особености построения замкнутых систем в pilgrim. Модель «минимизация производственных затрат»
Цель работы: выработка навыков разработки моделей замкнутых систем с помощью объектно-ориентированной системы моделирования Pilgrim.
Оборудование и программные средства: персональный компьютер с системой программирования Microsoft Visual С++( 6.0 или .NET), модули системы моделирования Pilgrim.
Продолжительность выполнения работы – 4 часа в лаборатории.
План работы:
-
С помощью графического конструктора Pilgrim построить граф модели.
-
Настроить параметры всех узлов.
-
Сгенерировать код модели на языке С++.
-
Произвести сборку проекта модели в оболочке Visual Studio.
-
Провести вычислительные эксперименты с моделью для различных вариантов параметров
-
Сделать выводы по результатам имитационных экспериментов.
Содержание отчета:
1. Цель работы.
2. Оборудование и программные средства.
3. Описание моделируемой системы (описание моделируемой предметной области).
4. Описание особенностей моделирования замкнутых систем в Pilgrim – описание работы схемы зарядки.
5. Построение графа модели в терминах узлов Pilgrim.
6. Результаты вычислительных экспериментов с моделью в виде таблиц, расчет суммарных ежедневных затрат на производство при различных значениях числа наладчиков и количества арендуемых швейных машин. Их анализ и формулировка выводов.
7. Листинг программы.
Защита работы производится перед началом выполнения следующей работы.
Методические указания по разработке модели
Описание предметной области. Имеется некоторая швейная фабрика, на которой есть швейный цех. В цеху 50 рабочих мест со швейными машинами. Машины выходят из строя и требуют ремонта. Поэтому на фабрике есть ремонтный цех, в котором работают специалисты – наладчики машин.
Среднее время безотказной работы одной машины 157,0 час. Это случайная величина, распределенная по экспоненциальному закону. Среднее время ремонта машины равно 7,0 час., среднеквадратическое отклонение времени ремонта – 3,0ч. В соответствии с центральной предельной теоремой считаем, что время ремонта, состоящего из многих последовательных элементарных операций, распределено по нормальному закону.
Необходимо определить: сколько нужно арендовать резервных машин j (дополнительно к 50 собственным) и сколько необходимо нанять наладчиков i, чтобы сделать минимальными затраты на производство, связанные с ремонтом и наладкой машин. В таблице 7 приведены все исходные данные для решения поставленной задачи.
Табл. 2
Исходные параметры производства
№ п.п. |
Параметр производства |
Значение параметра |
1 |
Заработная плата одного наладчика (в час) |
3,75 у.е. |
2 |
Оплата за аренду одной швейной машины (в день) |
30,0 у.е. |
3 |
Убыток из-за простоя одного рабочего места по причине неисправности швейной машины (в час) |
20,0 у.е. |
4 |
Среднее время безотказной работы одной швейной машины |
157,0 ч |
5 |
Среднее время ремонта (наладки) одной машины |
7,0 ч |
6 |
Среднеквадратичное отклонение времени ремонта (наладки) одной машины |
3,0ч |
7 |
Продолжительность одного рабочего дня |
8,0ч |
8 |
Число рабочих часов в неделю |
40,0ч |
9 |
Число рабочих недель в одном году |
52 недели |
Введем в рассмотрение следующие переменные, которые далее будем использовать в модели:
Nowon – количество рабочих мест в швейном цехе и сответственно количество собственных швейных машин;
Arend – число арендуемых дополнительных машин для замены вышедших из строя;
Men – количество наладчиков, производящих ремонт (наадку) швейных машин.
В начальный момент времени решено арендовать Arend машин. Эти машины должны некоторое время находиться в каком-то помещении и «ждать», пока не выйдет из строя машина в цехе. Далее в процессе выхода из строя и восстановления машин в этом помещении будут находиться машины, число которых – случайная величина. Пребывание машин в этом помещении является состоянием 1. Пребывание машин в швейном цехе в исправности – состояние 2.
Если какая-либо машина выходит из строя, то она поступит в ремонт только в том случае, если хотя бы один наладчик свободен (не занят ремонтом другой машины). Вероятность такого события, естественно , не равна 1. Поэтому неисправные машины в ожидании ремонта направляются в другое помещение. Пребывание в этом помещении является состоянием 3.
Если подходит очередь ремонта неисправной машины, она поступает в ремонтный цех. Ремонт – состояние 4 каждой машины.
Таким образом, в табл. 3 представлены все значимые для задержек состояния.
Табл. 3.
Состояния швейных машин
Номер состояния |
Состояние |
Тип узла модели |
Число каналов |
1 |
Помещение, где находятся исправные швейные машины (их начальное число Arend=j) |
– |
|
2 |
Швейный цех, в котором имеется Nowon рабочих мест для Nowon=50 швейных машин |
Nowon |
|
3 |
Помещение, где находятся неисправные швейные машины, ожидающие ремонта |
– |
|
4 |
Ремонтный цех, в котором работают специалисты-наладчики, число которых Men=i |
Men |
Структурная схема модели для решения задачи минимизации производственных затрат приведена на рис. 8.
Наиболее рациональное решение – выбрать швейные машины в качестве транзактов. Количество каналов узла serv в состоянии 2 равно Nowon, а число каналов узла serv в состоянии 4 – это значение Men.
Схема зарядки рассматриваемой замкнутой модели– узлы 5, 6, 7. Генератор 5 в течение единицы модельного времени генерирует один транзакт, который попадает в узел create (узел 2) в качестве порождающего. Узел генерирует (порождает) семейство транзактов количеством Nowon+Arend, которые поступят в узел 1. Порождающий транзакт-родитель из узла create попадет в терминатор. В этом узле перед уничтожением транзакта выполнится операция cheg для перенастройки генератора ag. Эта операция установит время генерации второго транзакта равное Protime. Учитывая, что с начала запуска модели уже прошло время, равное единице модельного времени, момент генерации второго транзакта будет равен Protime+1.0 (т.е. после выполнения модели). Значит второй транзакт не выйдет из генератора во время моделирования, т.е. генератор «выключается».
Порожденные транзакты из узла create попадут в узел queue 1. Первые Nowon транзактов без задержки пройдут этот узел и поступят в узел 2. Каждый транзакт-машина займет свой канал, т.е. рабочее место. Остальные Arend транзактов останутся ждать в узле queue 1.
Рис. 8. Структурная схема модели для решения задачи минимизации производственных затрат