
Курсовая работа
.docxМИНИстерство науки и высшего образования РФ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра ИС
Курсовая работа
по дисциплине «Моделирование систем массового обслуживания»
Вариант 8
Студент гр. |
|
|
Преподаватель |
|
Татарникова Т. М. |
Санкт-Петербург
2023
Задание на курсовую работу
Студент:
Группа:
Тема работы: Моделирование системы массового обслуживания
Исходные данные:
На комплектовочный конвейер сборочного цеха каждые 5 ± 1 мин поступают 5 изделий первого типа и каждые 20 ± 7 мин поступают 20 изделий второго типа. Конвейер состоит из секций, вмещающих по 10 изделий каждого типа. Комплектация начинается только при наличии деталей обоих типов в требуемом количестве и длится 10 мин. При нехватке деталей секция конвейера остаётся пустой.
Смоделировать работу конвейера сборочного цеха в течение 8 ч. Определить вероятность пропуска секции, средние и максимальные очереди по каждому типу изделий. Определить экономическую целесообразность перехода на секции по 20 изделий с временем комплектации 20 мин.
Содержание пояснительной записки:
«Введение», «Построение концептуальной модели», «Разработка имитационной модели», «Проведение экспериментов», «Анализ результатов».
Дата выдачи задания: 01.09.2022
Дата сдачи задания: 25.12.2022
Студент гр |
|
|
Преподаватель |
|
Татарникова Т. М. |
СодержаниеY
Введение 5
1. Построение концептуальной модели 6
2. Разработка имитационной модели 7
3. Проведение экспериментов 11
4. Анализ результатов 13
Введение 5
1. Построение концептуальной модели 6
2. Разработка имитационной модели 7
3. Проведение экспериментов 11
4. Анализ результатов 13
Введение
Возникновение проблем в работе сборочного цеха может негативно повлиять на работу других отделов предприятия и привести к снижению количества выпускаемой продукции. Для анализа возможных ситуаций и для оценки экономических показателей эффективности следует построить имитационную модель.
1. Построение концептуальной модели
Составим структурную схему процесса функционирования системы.
Рис. 1 – Структурная схема функционирования модели
Возникновение очереди возможно в двух случаях: в самой секции (перед отправкой на комплектацию) и перед ней, если она полностью заполнена. Очередь формируется по правилу FIFO (первый пришёл — первый вышел). В работе будет оцениваться средняя и максимальная длины очереди по каждому из изделий.
Построим Q-схему рассматриваемой модели.
Рис. 2 – Q-схема системы
Детали поступают на конвейер, который распределяет детали по секциям, вместимостью по 10 деталей. Но по условию задачи, если количество деталей меньше 10, секция остается пустой, то есть деталь сразу попадает на узел комплектации.
На
вход системы поступает два потока
деталей по времени с равномерным
распределением (
).
Время сборки постоянно и равно 10 минутам.
2. Разработка имитационной модели
Для разработки имитационной модели воспользуемся программой AnyLogic.
Рис. 3 – Схема имитационной модели
«assembler» – сборщик с накоплением деталей, «source1» и «source2» источники деталей первого и второго типов, генерирующих их за случайное равномерно распределённое время.
Рис. 4 – Свойства объекта «source1»
В отличие от «source1» объект «source2» генерирует 20 агентов «Тип2» со временем между прибытием, равным uniform(13, 27) мин.
Оба источника отправляют своих агентов в бесконечную очередь конвейера - «conveyor».
Затем агенты попадают в объект «Распределитель», который распределяет агентов в зависимости от их типа по двум разным очередям. Это делается с помощью условия agent instanceof Тип1.
Рис. 5 – Свойства объекта «selectOutput1»
В следующих двух узлах выполняется проверка на то, следует ли деталь поместить в секцию или сразу отправить ее сборщику. Эти объекты определяют наполненность объекта «assembler» соответствующим типом детали. Если «assembler» свободен, то деталь отправляется в него, иначе она поступает в очередь «section1» или «section2» с вместимостью 10 каждая и ожидает там. Условия, которые реализуют вышеописанное выглядят следующим образом:
assembler.queueSize(1) < 10
assembler.queueSize(2) < 10
Для нахождения вероятности пропуска секций используются объекты сбора статистики «section1skip» и «section2skip», которые вычисляют основную статистическую информацию для последовательности измеренных значений. При отправке детали в секцию в статистическую информацию добавляется 0 (section1skip.add(0)), при отправке в сборщик — 1 (section1skip.add(1)).
Рис. 6 – Свойства объекта «selectOutput1»
У «selectOutput2» также, только для второй секции и второго типа деталей.
Затем идут сами секции. Для подсчета их длин очередей созданы две столбиковые диаграммы. В одной из них считается средняя длина очереди с помощью section1.statsSize.mean() и section2.statsSize.mean(). Во второй — максимальная длина с помощью section1.statsSize.max() и section2.statsSize.max().
Рис. 7 – Свойства объекта «assembler»
Объект сборщика требует для сборки одной объединённой детали по 10 деталей каждого типа, и сборка занимает 10 минут. После комплектации моделируемый процесс заканчивается.
3. Проведение экспериментов
Рис. 8 – Состояние модели спустя 8 часов симуляционного времени
Рис. 9 – Состояние модели спустя 1 день
Перейдём на секции по 20 изделий с временем комплектации 20 минут:
Рис. 10 – Состояние изменённой модели после симуляции в течение 8 часов
Рис. 11 – Состояние изменённой модели после симуляции в течение 1 дня
4. Анализ результатов
Результаты системы после 8 часов работы:
вероятность пропуска секции:
для первого типа — 0,941,
для второго типа — 0,98;
средняя очередь секции:
для первого типа — 0,24,
для второго типа — 0,02;
максимальная очередь секции:
для первого типа — 5,
для второго типа — 10.
После запуска модели на 24 часа длина очереди для деталей первого типа со временем незначительно возрастает (на 0,04), и, соответственно, вероятность пропуска секции тоже снижается (на 0,066). Столь малые изменения в характеристиках говорят о стабильности системы.
Как видно по результатам, эффективность цеха при другом режиме работы практически не изменяется, что говорит о нецелесообразности перехода на него.