Программирование для Яндекс Карт JavaScript API
Решение задачи коммивояжёра по построению оптимальных маршрутов посещения путещественником всех точек за несколько дней с возможностью возвращения на базу каждый день.
Входные данные:
1. Базовая точка начала маршрута, координата. Перечень точек посещения, название точки и координата. От 1 до 16 стандартно (до 30 в максимуме).
2. Минимальное и максимальное время нахождения на одной точке в минутах (по умолчанию 120 минут - два часа, не менее 30 мин, не более 720 мин)
3. Максимальное время выделяемое в день на все посещения в минутах (по умолчанию 480 минут = 8 часов)
4. Стоимость километра передвижения на автомобиле.
Необходимо построить последовательность посещения точек путешественником на основе данных по координатам точек,
расстоянии и времени передвижения с учётом минимального времени нахождения на каждой точке,
и максимального выделяемого в день времени, при превышении которого путешественник возвращается на базу и продолжает движение на следующий день.
Маршруты передвижения на каждый день нужно отрисовать разными цветами, в примечаниях к маршруту прописать расстояние, стоимость и время движения.
Желаемые в будущем плюшки:
1. Принцип посещения - оптимизировать количество точек посещения (стремиться к минимальному времени нахождения на точке)
или максимизировать время посещения каждой точке (стремиться к максимальноме времени нахождения на точке).
2. Возвращение на базу каждый день ДА/НЕТ.
3. С пробками/без пробок.