Что такое хороший алгоритм или класс алгоритмов, которые можно использовать для создания автобусного маршрута?
Я размышлял над алгоритмами, которые используются для решения задачи коммивояжера или гамильтониана.проблемы, но по правде говоря, ни один из них не решает проблему перемещения между двумя остановками.
Я бы хотел, чтобы алгоритм имел по крайней мере следующие характеристики:
- дает относительнооптимизированный путь (я понимаю, что проблема, вероятно, завершена NP, поэтому хорошая эвристика в порядке)
- Может работать с частями пути, имеющими разный вес (например, время для прохождения по этой части пути)
- Может быть вынужден использовать заданную начальную и конечную точку (я не думаю, что это будет такой проблемой)
Код, который может это сделать, или что-то вроде этого будетприветствуется (особенно в C #), но хороший алгоритм сам по себе подойдет.
Примечание: Хотя существует много алгоритмов, которыеМожно найти кратчайший путь между двумя точками, я не знаю порядок, в котором я хочу остановиться.Таким образом, если я не буду использовать комбинацию двух алгоритмов (что я сомневаюсь в этом), эти алгоритмы не делают то, что я хочу (если вы думаете, что они делают, пожалуйста, объясните).
Редактировать: Предположим, я знаю все остановки, которые нужно сделать.