ИМИТАЦИЯ СИСТЕМЫ МАССОВОГО ОБСЛУЖИВАНИЯ С ДВУМЯ УСТРОЙСТВАМИ СОЕДИНЕННЫМИ ПАРАЛЛЕЛЬНО
Постановка задачи: Предприятие производит некоторую однородную продукцию и имеет собственный магазин по ее продаже с 2 продавцами, а так же склад для ее хранения. Часть запасов продукции со склада поступает в собственный магазин, другая часть в торговые организации. Продукция со склада или магазина доставляется клиентам автомобильными транспортными средствами одинаковой грузоподъемностью
Требуется: Проанализировать работу магазина (задача СМО для двух устройств(два продавца), которые соединины параллельны); учесть время работы, количество посетителей в день/час (для интенсивности); изучить предметную область для корректного подбора параметров; посчитать различные оценки интенсивности (среднее число времени в очереди, среднее число времени в устройстве и т.д.); определить наилучший маршрут доставки продукции клиентам
- Постановка задачи
- Алгоритм
- Пример вычисления оценок и гистограмма
- Верификация программы
- Сама программа
Моделирование системы массового обслуживания будет осуществлено для Уфимского хлебобулочного завода №7. Данный завод производит однородную продукцию – хлебобулочные изделия. У завода имеется свой склад и магазин. В среднем в сутки завод вырабатывает 220,8 продукции. 30% от продукции поставляется оптовым агентам, остальную часть вырабатывает в магазине. Магазин при заводе имеет следующий график: Время работы магазина – ежедневно с 8:00 до 19:00 (11 часов)
Устройство обслуживает клиентов в том порядке, в каком они прибывают (FIFO) Имеется фиксированное время T, после которого не допускается прибытие новых клиентов в систему, но те клиенты, которые ко времени T уже были в системе, должны быть обслужены. Время обслуживания клиента – случайная переменная (независимая от всех других времен обслуживания и от процесса прибытия клиентов), подчиненная закону распределения G.
functions.py - здесь просто функции, генерация неоднородного процесса, времени обслуживания, лямбда(т) и лямбда (лямбды для каждого должны быть свои)model.py - здесь код на моделирование одного дня с принтами хода работы программы, может помочь разобраться
model(v1).py - здесь основа та же что и в model.py, только здесь можно рассчитывать множество дней (в цикле for ставьте нужное кол-во дней моделирования)
Verification.py - здесь всё та же основа, просто тут есть вывод таблицы для верификации (рекомендую позапускать до того момента как в системе будет 6 клиентов и хотя-бы один будет в очереди, и на этих данных делать верификацию). Этот код может выдавать ошибку, но только из-за того что какое-то устройство не было задействовано, так что перезапускайте если видите её
И еще, в каждой модели есть свои параметры time_start и time_end, их меняйте как вам нужно