Задача организации пассажирских перевозок частной компанией в условиях пандемии
Целью работы является решение задачи транспортировки сотрудников от места жительства до территории компании за оптимальное время. Поставленная задача разделена на две подзадачи: кластеризация точек, характеризующихся географическими координатами, и задача коммивояжера. Для решения поставленных задач использован геокодер HERE Technologies, проведен обзор некоторых метод кластеризации точек и реализован наиболее подходящий. Изучены статьи и пособия, посвященные задачам комбинаторики, в частности задаче коммивояжера и метода ее решения. Проведен сравнительный анализ некоторых методов поиска решения задачи коммивояжера и его приближения, реализован лучший из представленных.
Введение ……………………………………………………………………………………….. 3
Постановка задачи ………………………………………………………………………….. 4
Обзор литературы …………………………………………………………………………… 5
§1: Задача кластеризации……………………………………………………………… 7
1.1 Получение и обработка геокоординат ……………………………………. 9
1.2 Обзор некоторых алгоритмов кластеризации ……………………….. 11
1.3 Алгоритм FOREL и его программная реализация …………………. 14
§2. Задача коммивояжера ……………………………………………………………. 17
2.1 Методы решения задачи коммивояжера ………………………………. 19
2.2 Сравнительный анализ алгоритмов ……………………………………… 20
2.3 BV-метод …………………………………………………………………………… 25
2.4. Реализация BV-метода ………………………………………………………. 26
Заключение…………………………………………………………………………………. 27
Список литературы ………………………………………………………………………. 28
Приложение 1 ………………………………………………………………………………. 30
Приложение 2 ………………………………………………………………………………. 32
Приложение 3 ………………………………………………………………………………. 35
В декабре 2019 года в Китае была зарегистрирована первая вспышка
коронавируса, а 11 марта того же года Всемирная организация здравоохранения
объявила ее пандемией. Человечество борется с вирусом уже на протяжении
двух лет, и нельзя не отметить, как сильно он повлиял на нашу жизнь.
Чтобы помешать распространению вируса и обезопасить свой бизнес и
своих сотрудников, многие компании стали массово переходить на удалённую
работу, однако далеко не у всех есть такая возможность. Производственные
предприятия и заводы не могут работать в удаленном режиме, но если в данной
ситуации не предпринять необходимые меры, здоровье сотрудников будет
подвержено опасности, а значит и работа самого предприятия попадает под
удар.
Одним из решений данной проблемы является организация пассажирских
перевозок для сотрудников компании. Это позволит в некоторой мере
изолировать предприятие, ограничивая пересечение сотрудников со
случайными людьми в общественном транспорте и на улицах города в час пик.
Постановка задачи
Необходимо как можно быстрее доставить всех сотрудников на
территорию предприятия с помощью имеющегося транспортного средства. В
силу того, что на предприятии может работать большое количество людей, и
некоторые из них могут жить рядом друг с другом, рациональным будет
решение собирать таких соседей в одной точке для оптимизации процесса.
Однако, как было сказано ранее, пандемия накладывает ограничения на
безопасное передвижение людей по городу. Поэтому описанные точки сбора
должны располагаться не дальше некоторого расстояния R от сотрудника,
«привязанного» к этой точке.
Решение поставленной задачи должно быть реализовано в виде
программы, способной кластеризовать адреса сотрудников и проложить через
все кластеры оптимальный маршрут, начало и конец которого – территория
предприятия.
Поставленную задачу разделим на две подзадачи: кластеризация адресов
и поиск оптимального маршрута.
В задачу кластеризации входит получение координат по адресам, анализ
алгоритмов кластеризации и выбор наиболее подходящего из них.
Задача маршрутизации в данном случае, по сути, представляет собой
задачу коммивояжера. Необходимо провести сравнительный анализ методов
решения задачи и реализовать один из них.
В результате проведенной работы была решена поставленная задача
транспортировки сотрудников, а именно: создан скрипт, получающий
географические координаты для требуемых адресов; дан обзор некоторых
алгоритмов кластеризации, реализован один из них и приспособлен для работы
с географическими координатами; проведен сравнительный анализ некоторых
методов решения задачи коммивояжера, реализован BV-метод, показавший
хорошие результаты как при оценке точности, так и по производительности.
В дальнейшем возможно рассмотрение более сложных задач
кластеризации и коммивояжера. Так, например, рационально будет оценивать
расстояние между точками на карте, основываясь на действительном времени
передвижения между ними, так же городские условия могут добавить такие
нюансы, как пробки, дорожные работы, непересекаемые препятствия вроде рек
и больших сооружений.
В случае с задачей коммивояжера, следующим шагом может стать
решение задачи коммивояжера с несколькими транспортными средствами и
ограничением по загруженности.
Последние выполненные заказы
Хочешь уникальную работу?
Больше 3 000 экспертов уже готовы начать работу над твоим проектом!