ВВЕДЕНИЕ 3
1 Анализ работы ресторана 6
2 Механизм «Расчет курьера» 12
2.1 Основные положения 12
2.2 Работа с задолженностью 24
3 Экран курьеров 35
4 Построение оптимального маршрута курьера 41
4.1 Постановка задачи 42
4.2 Методы решения задачи 43
4.2.1 Полный перебор 44
4.2.2 Метод ветвей и границ 44
4.2.3 Генетический алгоритм 46
4.2.4 Алгоритм «иди в ближний» 48
4.3 Сравнительный анализ алгоритмов 50
4.3.1 Сравнение генетических алгоритмов 50
4.3.2 Сравнение алгоритмов «иди в ближний» 51
4.3.3 Сравнение результатов работы всех типов алгоритмов 52
ЗАКЛЮЧЕНИЕ 55
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 57
ПРИЛОЖЕНИЯ А
Сегодня ресторанный бизнес становится одной из наиболее прибыльных сфер деятельности. «Ресторанный бизнес» - это обобщенное понятие и состоит из нескольких основных схем общественного питания: кафе, классический ресторан, бар, фаст-фуд, доставка. Все эти схемы используют схожий набор операций: создание заказа официантом, приготовление блюд поваром, расчет кассира с клиентом. Также операции по контролю остатков на складах, поставкам, бухгалтерия. [1]
С ростом популярности общественного питания, и, соответственно, количеством обслуживаемых клиентов возрос процент ошибок, вызванных человеческим фактором: в составе заказа, с доставкой блюд к столам, в несвоевременном заказе товаров на склад. Для упрощения работы сотрудников и повышения качества обслуживания посетителей возникла потребность в автоматизации работы ресторана. [2]
У российских рестораторов потребность в автоматизации своего бизнеса возникла с отставанием от Запада. Причиной этому является не только технологический отрыв развитых стран, сколько особенности социальных, экономических и политических условий 90-х годов. К числу таких условий можно отнести неустойчивость законодательства в сфере торговли и налогообложения, высокий уровень безработицы, позволявший владельцам ресторанов в случаях недостачи компенсировать её за счёт удержания зарплаты всего персонала, и многие другие обстоятельства.
По мере стабилизации ситуации в России, отечественные рестораторы осознавали необходимость автоматизации бизнеса. Эволюционный путь компьютеризации ресторанов начался от отдельных универсальных программ бухгалтерского учёта, складских операций и управления контрольно-кассовым оборудованием. Следующий этап развития состоял в автоматизации всех бизнес-процессов с помощью единого программного обеспечения, теперь уже специально построенного под ресторанный бизнес. Все больше операций подвергалось автоматизации, например, приём заказа, инвентаризация и другие. Так возникли специализированные системы автоматизации ресторанного бизнеса, которые со временем доказали свою эффективность.
На сегодняшний день рынок автоматизации ресторанного бизнеса активно развивается. Одним из лидеров рынка является система ИС «iiko». Данная система управления ресторанами отличается мультизадачностью и универсальностью. На базе ИС «iiko» были разработаны программные модули, отвечающие за все решения от складских вопросов до анализа совместимости тех или иных блюд в меню.
С ускорением темпа жизни в городах особую роль в ресторанном бизнесе стала занимать доставка. Для сохранения конкурентоспособности ресторанного бизнеса необходимо организовать работу так, чтобы клиенты получали свой заказ максимально быстро, горячим и вкусным. В этом деле нет мелочей: важна каждая секунда. Чтобы обеспечить высокое качество, необходимо внедрить и строго поддерживать четкие стандарты всех бизнес-процессов.
Сейчас для грамотной организации данного сервиса в штате нужны не только повара и курьеры, но и сотрудники (один или несколько), которые осуществляют прием заявок, контролируют сроки, распределяют маршруты среди курьеров, предоставляют руководству ежедневную отчетность о работе службы. Если заказы разовые, то можно вести их учет вручную, но, если стоит задача повышения объема продаж за счет услуги доставки, без автоматизации процесса, конечно, не обойтись.
Данная работа посвящена модернизации работы ресторана за счет оптимизации курьерской службы.
Для достижения указанной цели были поставлены следующие задачи:
1) Анализ работы системы автоматизации и ресторана и выявление способов оптимизации работы курьерской службы.
2) Модернизация существующего программного обеспечения с
использованием языка программирования C# и windows presentation foundation.
3) Постановка задачи оптимизации маршрутов курьеров на математическом языке и анализ ее метод решения.
4) Реализация в среде Matlab методов, наиболее подходящих для решения поставленной задачи. Сравнение и выявление наиболее эффективного метода для конкретной задачи.
5) Создание пользовательского приложения, позволяющего
визуализировать оптимальный маршрут курьера.
Ожидаемые результаты работы:
1) Формализация задачи оптимизации работы службы доставки ресторана. Численное сравнение методов решения.
2) Программный комплекс - ресторанная система, позволяющая автоматизировать работу курьерской службы.
Выпускная квалификационная работа состоит из четырех глав, введения, заключения, списка литературы и приложений. В первой главе проводится анализ работы ресторана, определяются способы оптимизации курьерской службы. Во второй главе описывается реализация механизма «оплаты курьера», а также экрана курьера, позволяющего самоназначаться на доставки. Во третьей главе - теоретическое описание методов решения задачи построения оптимального маршрута курьера. В четвертой части приводится сравнение методов на основе численного эксперимента.
Практическая значимость состоит в том, что разработанный комплекс программ можно использовать как полноценную систему, автоматизирующую работу курьерской службы ресторана.
В ходе данного исследования была реализована программа автоматизированного рабочего места сотрудника курьерской службы, позволяющего автоматизировать построение оптимального маршрута курьера, оптимизировать совместную работу курьеров и кассиров, курьеров, и менеджеров.
Были решены следующие задачи:
a) Проведен анализ работы системы автоматизации и ресторана и выявлены способов оптимизации работы курьерской службы.
b) Модернизирован программный комплекс с использованием языка программирования C# и windows presentation foundation.
c) Поставлена задача оптимизации маршрутов курьеров на математическом языке и анализированы ее метод решения.
d) Были реализованы три метода, наиболее подходящих для решения поставленной задачи. Был выбран наиболее оптимальный из них.
e) Создан пользовательского приложения, позволяющий визуализировать оптимальный маршрут курьера.
На основе исследования сделаны следующие выводы:
a) При реализации генетического алгоритма использовались три метода отбора
особей для скрещивания: выбор только лучших особей, с использованием рулетки и турнирный метод. Версии алгоритма с использованием рулетки и турнирного метода показали очень близкие результаты, и в среднем оказались лучше реализации, использующей выбор для селекции только лучших особей, на 22%.
Лучшие реализации генетического алгоритма показали второй результат при сравнении всех алгоритмов.
b) Лучший результат показал алгоритм ветвей и границ. При малом количестве вершин (до 5) он входит в число лучших, а при дальнейшем увеличении количества вершин выходит на первое место, но требует больше вычислительных ресурсов, чем другие алгоритмы.
c) Алгоритм полного перебора рекомендуется использовать только при малом количестве вершин (до 5), где он показывает приемлемые результаты. Алгоритм прост в реализации и не требует больших вычислительных мощностей.
d) Модификация метода «иди в ближний» оказалась в среднем на 37% лучше версии «иди в ближний», но при этом выполняется в n-раз дольше, где n-число вершин в графе.
e) Скорость транспортировки заказа можно увеличить за счет построения оптимального маршрута для сотрудника с учетом дорожной ситуации. Был реализован алгоритм построения оптимального пути и пользовательский интерфейс для удобного использования.
f) Для разгрузки менеджеров в часы пика была создана возможность курьерам самим назначать себя на заказы. Для предотвращения превышения полномочий, действия сотрудников строго ограничены правом: «Назначать себя в качестве курьеров» и алгоритмом: «последний пришел, последний взял заказ».
g) Для анализа работоспособности курьерской службы менеджерам достаточно среднего времени простоя, процента простоя и среднего количества заказов в смене на курьера.
h) Если курьеры будут сдавать деньги в кассу не после каждого заказа, а в конце рабочего дня, то кассиры будут значительно разгружены в часы пика заказов.
i) При работе с задолженностью сотрудников требуется высокая прозрачность
операций, обеспечивающаяся за счет отчетов. А также высокая степень защиты, реализованная правами: «видеть задолженности всех официантов» и «принимать платежи».
Цель работы, заключающаяся в создании удобного приложения, оптимизирующего работу курьеров ресторана, была достигнута в полном объеме.
a) Шилдт, Герберт «C# 4.0. Полное руководство»- М.: Вильямс, 2015. - 670 с.
b) Троелсен, Эндрю «Язык программирования C# 2010 и платформа .NET 4» - Москва: Гостехиздат, 2011. - 868 с.
c) Джефри Рихтер «CLR via C#. Программирование на платформе Microsoft.NET Framework 4.5 на языке C#» 4-еизд. — СПб.: Питер, 2013. — 896 с.: ил.
d) Яндекс.Карты https://yandex.ru/maps
e) Яндекс.Карты API https://devepopers.yandex.ru
f) Окулов С. Программирование в алгоритмах. -М.:Бином. Лаборатория знаний, 2007.384с.
g) . М. О. Асанов, В. А. Баранский, В. В. Расин, Дискретная математика. Графы, матроиды, алгоритмы. -М.:Лань, 2010. 368 с.
h) Внутренний ресурс iiko https://wiki.iiko.ru/
i) Крис Дж. Дейт «Введение в системы баз данных» 8-е издание. . — СПб.: Питер, 2013. — 547 с.: ил.
j) Д.Чамберс, Д.Пэккет, С.Тиммс «ASP.NET Core. Разработка приложений» - СПб.: Питер, 2008. — 944 с.: ил.
k) Ч. Петцольд "Microsoft Windows Presentation Foundation: базовый курс"— СПб.: Питер, 2008. — 1045 с.: ил.
l) С. И. Сергеев, “Использование методов теории оптимального управления для решения некоторых задач дискретной оптимизации. II. Статическая задача коммивояжера”, Автомат. и телемех., 2006, № 6, 106-112 ; S. I.
m) Sergeev, “Discrete optimization by optimal control methods. II. The static traveling salesman problem”, Autom. Remote Control, 67:6 (2006), 927-932
n) С. И. Сергеев, “Использование методов теории оптимального управления для решения некоторых задач дискретной оптимизации. III. Динамическая задача коммивояжера”, Автомат. и телемех., 2006, № 7, 27-40 ; S. I. Sergeev,
57
“Discrete optimization by optimal control methods. III. The dynamic traveling salesman problem”, Autom. Remote Control, 67:7 (2006), 1039-1050
o) А. А. Ченцов, А. Г. Ченцов, “О реализации метода динамического программирования в обобщенной задаче курьера”, Тр. ИММ УрО РАН, 13, № 3, 2007, 136-160
p) В. К. Леонтьев, “Дискретная оптимизация”, Ж. вычисл. матем. и матем. физ., 47:2 (2007), 338-352
q) Белов В. В., Воробьев Е. М., Шаталов В. Е. Теория графов. — М.: Высш. школа, 1976. — С. 392.
r) Кристофидес Н.Теория графов. Алгоритмический подход. М.: Мир, 1978. 429c.