Подсистема построения социальных маршрутов граждан. C++

35 000 руб. за проект
14 февраля 2021, 15:52 • 5 откликов • 76 просмотров
Работа сводится к построению программы выискивающей оптимальный маршрут на 2D графе (дискретная математика).
Необходима только рабочая программа (для дальнейшего самостоятельного анализа и исследования):
Основные задачи:
1) Создание отдельного приложения (оффлайн симуляция) с отображением карты города. (Отдельного района города границы которого имеют форму неправильного многоугольника общим периметром ~ 12 км с возможностью дальнейшей доработки {расширения границы до общего периметра 32 км})
2) Моделирование движения по городу машин по дорогам. (С возможностью ввода дополнительных параметров, таких как количество машин, возможность включения и выключения как личных машин (перевозит 1-4 человек), так и общественного транспорта(перевозит от 1 до 16 человек) )
3) Моделирования движения по городу людей, как по дорогам, так и по дополнительным пешеходным маршрутам.
4) Задание целей перемещения для конкретной процентной части объектов.
Т.е., часть объектов передвигаются сами по неизвестному маршруту, рандомно выбирая цель перемещения, а для части объектов задаётся конкретная цель, например, 10% людей должны с 8:00 до 22:00 посетить магазин или аптеку. Необходимо иметь возможность добавлять такие объекты для посещения с последующим сохранением непосредственно в приложении.
Работа подвязана к короновирусной инфекции, как спец режим моделирования в условиях эпидемии. Часть пеших людей должны двигаться только по «заявкам». При подачи заявки, алгоритм должен проверить загруженность пути, при возможности выдать другой маршрут, более долгий (но не так, чтобы через весь город), но безопасный, либо запретить выходить из дома.
5) При пересечении одного человека с другим в изменяемом радиусе (от 2 до 4 метров) есть изменяемый шанс (от 3 до 30%) на заболевание.
6) В дальнейшем анализ эффективности построения подобного маршрута вывод связанный с количеством запросов, количеством одобрений и отказов и числом заболевших.

Количество движущихся объектов на карте от 100 до 10^4.

В написании отталкиваюсь от языка С++, библиотеки openstreetmap

7)Для более тщательного анализа должна быть возможность отключения графического сопровождения (в виде карты и видимых перемещений, если это возможно), для ускорения расчётов, либо возможность ускорения времени. Желательно использование параллельных расчётов.

Понимаю, что описание довольно сумбурное, готов ответить на ряд вопросов и уточнений.