Представление кофейного автомата в виде модели с использованием Any Logic

Автор: Крылов Ростислав Александрович, Сильченко Никита Сергеевич, Мигаль Павел Николаевич, Лебель Анастасия Александровна, Горбунов Александр Николаевич

Журнал: Вестник образовательного консорциума Среднерусский университет. Информационные технологии @vestnik-university

Статья в выпуске: 2 (12), 2018 года.

Бесплатный доступ

В статье описана реализация модели кофейного автомата с помощью средств, предоставленных программой Any Logic.

Any Logic, автомат, построение автомата в виде компьютерной модели

Короткий адрес: https://sciup.org/140234412

IDR: 140234412

Текст научной статьи Представление кофейного автомата в виде модели с использованием Any Logic

Для построения модели кофейного автомата, позволяющей владельцу определить эффективность его использования, рассмотрим основные принципы работы автомата. Кофейный автомат представляет собой машину, выполняющую определенный набор действий. Изначально такая машина находится в состоянии ожидания. Затем, в случае поступления заказа, машина выходит из состояния ожидания и начинает следовать одному из возможных алгоритмов.

Допустим, производится заказ кофе. В таком случае машине необходимо выполнить следующий набор действий: установить стакан, налить в него воду, положить кубики сахара в соответствии с заказом, аналогично поступить с молоком, добавить определенное количество кофе.

Однако, необходимо учитывать, что одна только кофемашина не представляет собой полную модель кофейного автомата. Для более полного представления следует учитывать и поведение покупателей. У покупателей есть 4 возможных состояния:

  • 1.    Готов купить кофе и стоять для этого в очереди.

  • 2.    Не готов стоять в очереди.

  • 3.    Готов купить кофе, но автомат не способен предоставить покупателю данной возможности (он сломан или закончились соответствующие ингредиенты).

  • 4.    Покупатель приобрел кофе.

При этом следует учитывать дополнительные расходы в виде счета за электроэнергию и необходимость технического обслуживания автомата.

С учетом перечисленных факторов рассмотрим схему работы автомата (рис.1).

Принцип работы схемы заключается в следующем: сигналы подаются на элемент, который выглядит как точка со стрелкой. Данная позиция является входной точкой. Затем он начинает двигаться от блока к блоку, иногда с передачей информации (стрелка с письмом), а иногда с задержкой (стрелка с часами). Внутри блоков так же могут находиться подсистемы, как, например, при подаче воды. В этом случае можно было бы записать данные действия как их последовательность, однако такая запись нарушает некую логическую структуру, представленную выше.

Работа автомата начинается с поля automat. Переход к нему происходит в случае, если получен сигнал о совершении заказа. Затем выдается и фиксируется стаканчик. Каждое действие имеет задержку перед выполнением. Затем осуществляется переход к подаче воды в стакан. Далее идет одно из наиболее важных полей – choise. Эта часть работы автомата отвечает непосредственно за напиток, который получится в результате. Если выбран обычный кофе – произойдет непосредственная подача необходимого количества

Рис. 1. Схема работы автомата.

соответствующего ингредиента. Если выбрано капучино – то в дополнение к непосредственно кофе необходимо добавить еще и молоко. Опционально можно добавлять дополнительные категории напитков по усмотрению владельца автомата. Затем идет элемент, отвечающий за количество заказанного сахара. Подача каждого кубика сопровождается небольшой задержкой, чтобы не происходило перерасхода ресурсов. Последний этап – выдача напитка потребителю и переход в свободное состояние. Свободное состояние обладает возможностью принимать новые заказы.

Рассмотрим теперь реализацию поведения потенциальных покупателей. Данный участок поведения модели основан на генераторе случайных чисел с возможностью некоторых корректировок. Например, неизвестно, сколько кубиков сахара закажет потребитель, или какой напиток он выберет. Однако, можно задать частоту появления по- купателей и, например, максимальное количество кубиков сахара, доступных за один сеанс (рис. 2).

Элемент source является входной точкой. Далее, после входа, покупатель попадает в очередь. Некоторые покупатели не захотят стоять в очереди, и просто могут уйти. В этом случае модель сформирует информацию о том, что, возможно, присутствует необходимость использовать 2 или более автоматов. Затем идет элемент switcher, отвечающий за информацию о том, что кофе-машина работает. Если кофейный автомат не работает, то он не сможет обслужить клиента, а значит клиент остается недовольным и уходит, а владелец свою очередь не получит прибыль. В случае, если кофейный автомат исправен, после небольшой задержки, представленной в виде суммы задержек приготовления кофе, потребитель получит напиток и уйдет удовлетворенным.

Рис. 2. Конвейер потребителей.

^ kvlnc ^ hpDec ^ rent

О cupPrice 0 sugarPrice 0 coffeePrice 0 milkPrice

0 Income О Price © Cup 0 Sugar 0 Coffee 0 Milk 0 kv 0 hp0 $1 0 $2 0 s3 0 sugarCnt

Q addPriceQ addCup Q addSugar Q addCoffee Q addMilk Q checkAutomat Q incS1 Q incS2 Q incS3

Рис. 3. Набор данных.

Теперь необходимо выделить некоторый список переменных и функций, отвечающих за всё, в том числе и за надежность автомата и расходы за электричество. Переменные, функции состояния и действия, использованные в программе, представлены на рис. 3.

Так, например, все переменные и параметры ( о ио) содержат в себе некоторые числовые значения, функции и события ( ои^ ) – действия над ними.

И самое главное – это разработать программу, понятную простому пользователю. Графический интерфейс программы представлен на рис. 4.

Получается полностью реализованный интерфейс для работы: В правом верхнем углу присутствует некоторый банк в виде 100 рублей и информация о клиентах. Слева сверху располагаются данные о максимально возможных лимитов ингредиентов (стаканы, сахар, молоко и кофе), и возможность докупить их. Так же можно указать цену на данные элементы в левом нижнем углу, и в правом нижнем углу указана стоимость электричества и проведения ремонтных работ.

Запускаем работу модели, при этом поля автоматически заполняются стандартными числовыми значениями. Симуляция работы автомата представлена на рис. 5. Симуляция работы осуществляется за счет использования генераторов случайных чисел, формирующих число покупателей и их заказы.

Когда какого-либо из ингредиентов становится мало, его наименование подсвечивается красным цветом. Продолжение симуляции на рис. 6.

Выполнение продолжается до тех пор, пока автомат не потребует починки. Таким образом, владелец может узнать получаемую прибыль за один полный круг эксплуатации автомата.

Рис. 4. Графическое отображение работы автомата.

Рис. 5. Симуляция.

Рис. 6. Продолжение симуляции.

Рис. 7. Завершение цикла работы автомата.

Завершение цикла работы автомата представлено на рис. 7. При этом работа модели показывает, что прочность автомата упала до критически низкой. Так же 81 клиент отказался ждать в очереди, а еще 643 подошли к автомату, когда он не работал по одной из двух причин: аварийное отключение, связанное с необходимостью ремонта, или отсутствие одного или нескольких ингредиентов.

Последнее что остается владельцу – это заплатить за ремонт автомата и электричество, докупить ингредиенты и посмотреть на итоговую прибыль в правом верхнем углу. После произведения соответствующих вычислений, владелец может определить примерную прибыль, приносимую автоматом на условной оживленной улице за месяц работы. Итоговый результат представлен на рис. 8.

Деньги: 64384,62 руб.

Обслуженные: 3248

Отказались стоять в очереди: 81

Ушли из за отключенного автомата: 643

Рис. 8. Итоговый результат.

Основываясь на данных модели мы можем рассматривать реальные ситуации, рассчитывать необходимые расходы и выбирать наиболее грамотную стратегию ведения бизнеса в данном направлении.

Список литературы Представление кофейного автомата в виде модели с использованием Any Logic

  • Карпов Ю. Имитационное моделирование систем. Введение в моделирование с AnyLogic 5. - Спб.: БХВ С.-Петербург, 2010.
  • Лычкина Н.Н. Имитационное моделирование экономических процессов - М: Академия АйТи, 2013 - 160 с.
  • Справочное руководство по Pedestrian Library в AnyLogic TM. - Copyright XJ Technologies, 2010 - 82 c.
Статья научная