Ответ на загадку про кассовые аппараты
Автор: Bayram Annakov
Вот и прошло 2 недели с тех пор, как я загадал вам загадку о приобретении кассовых аппаратов, и настало время раскрыть истину.Спешу сообщить, что докупить нужно всего 1 кассовый аппарат. Почему?Давайте смоделируем ситуацию, используя системную динамику и продукт iThink. Для начала прикинем, какие у нас будут резервуары: по идее, каждый посетитель магазина сначала попадает в торговый зал, далее встает в очередь в кассу (если на кассе кто-либо есть), ожидает своей очереди, пробивает товар и оплачивает покупки. Я выделил 3 резервуара:
- Посетители в торговом зале
- Посетители в очереди в кассу
- Посетители на кассе
Этих 3х резервуаров должно быть достаточно, чтобы описать нашу ситуацию. Теперь следует разобраться в потоках: что наполняет и опустошает каждый из вышеупомянутых резервуаров?
- Посетители приходят в магазин, наполняя резервуар “Посетители в торговом зале”.
- Посетители, выбрав с полок необходимый товар, подходят к кассе, опустошая резервуар “Посетители в торговом зале”, но одновременно наполняя резервуар “Посетители в очереди в кассу”
- Посетители, дождавшись своей очереди, переходят на кассу, опустошая резервуар “Посетители в очереди в кассу”, и одновременно увеличивают количество “Посетителей на кассе”.
- Кассир пробивает товары посетителя, посетитель оплачивает чек и покидает магазин, опустошая резервуар “Посетители на кассе”.
Заметьте, что резервуары “Посетители в торговом зале” и “Посетители на кассе” я реализовал как “конвейеры”, чтобы реализовать задержки времени:
- во-первых, тот факт, что посетители подходят к кассе каждую минуту +-15 секунд
- во-вторых, тот факт, что посетителей обслуживают на кассе за 1 минуту +- 10 секунд
Нет необходимости реализовывать резервуар “Посетители в очереди в кассу” как конвейер, потому что логика опустошения этого резервуара следующая: когда освободится место на кассе (т.е. обслужат предыдущего посетителя), тогда клиент из очереди подходит к кассе.Как мы реализовали распределение значений времени подхода клиентов к очереди в кассу и времени обслуживания клиента на кассе? Элементарно: воспользовавшись встроенной в iThink функцией NORMAL, которой нужно подать 2 значения: среднее и величину отклонения. Поэтому интенсивность потоков “подходят к кассе” и “уходят из магазина” соответственно определена как NORMAL(1,0.25) и NORMAL (1,0.16), что соответствует условиям задачи.Также для замера среднего времени обслуживания клиента (время в очереди + время на кассе) мы воспользуемся функцией CYCLE TIME (значок секундомера в определении потока – см. картинку ниже, правый верхний угол). Так как мы хотим измерять среднее время от момента подхода к очереди до момента ухода из магазина, то включаем секундомер мы для потока “подходят к кассе”, а останавливаем для потока “уходят из магазина” (путем определения конвертера с функцией CTMEAN(уходят из магазина)).Вот что у нас в итоге получилось (см. ниже) – элементарно, не правда ли?
Итак, модель определена, давайте запустим ее и посмотрим сколько как будет вести себя резервуар “Посетители в очереди в кассу” и конвертер “среднее время обслуживания посетителя” в течение 1000 минут? Мы видим, что очередь в кассу, а следом и время обслуживания постепенно растут! Получается что, несмотря на соответствие среднего времени обслуживания клиента на кассе среднему времени подхода клиентов к очереди в кассу, разброс статистических отклонений накапливается (Голдратту привет
) и выражается в росте очереди!
Что же делать? Докупить кассовых аппаратов! Но сколько? Время обслуживания каждого клиента постепенно поднялось до 18 минут, т.е. если учесть, что каждый клиент обслуживается максимум 1 минуту 10 секунд на кассе, то почти 17 минут он ждет в очереди. Интуиция подсказывает, что нужно докупить еще как минимум 4-5 аппаратов, но давайте проверим это на модели.Мы меняем определение интенсивности потока “переходят на кассу” с “IF (посетители_на_кассе<1) THEN 1/DT ELSE 0″ (т.е. если на кассе меньше одного человека, то интенсивность потока равна 1, в противном случае 0) на “IF (посетители_на_кассе<2) THEN 1/DT ELSE 0″ (т.е. если на кассе меньше 2х человек, то интенсивность потока равна 1, в противном случае 0). Почему мы позволяем себе делать предположение, что 2 кассовых аппарата эквивалентно способности одной кассы обслужить 2 человек? Это очередной вопрос для вас, дорогие читатели!Проиграв модель с 2мя кассовыми аппаратами, мы убеждаемся, что очередь больше не растет, а среднее время обслуживания колеблется в пределах допустимой нормы (не занимает более полутора минут в соответствии с условиями загадки).Какие выводы мы можем сделать из результатов нашего эксперимента? Комментируйте!Скачать модель
Оформить и получить займ на карту мгновенно круглосуточно в Москве на любые нужды в день обращения. Взять мгновенный кредит онлайн на карту в банке без отказа через интернет круглосуточно.
By Alikina Natalya, July 30, 2009 @ 8:59 pm
Насколько я помню из теории массового обслуживания, поток посетителей в очереди подчиняется распределению Пуассона, а поток обслуживания очереди – биномиальному закону. Возможно я ошибаюсь в названиях распределений, но точно помню – законы распределения разные…
Ответить
Bayram Annakov Ответ:
July 30th, 2009 at 9:04 pm
Наталья, совершенно правильно! и с пмощью модели мы легко можем проверить и другие распределения.Я просто не хотел в модели путать людей с распределениями, а взял самое простое – нормальное, чтобы легче поставить задачу.
Ответить
By Арсений Нуриджанов, August 4, 2009 @ 4:14 pm
признаться, такой простой модели я не ожидал.
Ответить
Bayram Annakov Ответ:
August 4th, 2009 at 7:32 pm
В этом прелесть iThink и сисдинамики
Ответить
By Павел Кабир, November 18, 2010 @ 2:40 pm
“Почему мы позволяем себе делать предположение, что 2 кассовых аппарата эквивалентно способности одной кассы обслужить 2 человек?”
Действительно, почему?
По интуиции, это должно быть эквивалентным в том случае (наиболее, впрочем, вероятном), если покупатель будет всегда занимать очередь в кассу с меньшим количеством человек.
Ответить
Алексей Орлов Ответ:
January 25th, 2011 at 2:53 pm
Все равно соседняя очередь будет идти быстрее согласно закону Паркинсона.
Ответить
By Владимир, December 7, 2011 @ 3:05 pm
(1) А что означает оценка “посетители подходят к кассе каждую минуту +-15 секунд”? Если это средние данные за рабочий день, то это означает, что бывают интервалы рабочего дня, когда посетителей в торговом зале мало и они приходят к кассе гораздо реже указанной оценки, и в тоже время есть интервалы (например, час пик в вечернее время), когда посетителей много, и они приходят к кассе чаще чем 1 минута+-15 сек. Если это так, то приведенные рассуждения о росте очереди и необходимости еще 1 кассы, сделанные на основании средней загрузки кассы и заполненности торгового зала в течении дня не очень полезны?
Ответить