버스 경로를 만드는 데 사용할 수있는 좋은 알고리즘 또는 알고리즘 클래스 란 무엇입니까?버스 경로 만들기
나는 Traveling Salesman 또는 해밀턴 경로 문제를 해결하는 데 사용되는 알고리즘의 라인을 따라 생각하고 있었지만 실제로는 두 정류장 사이를 이동하는 방법에 대한 문제를 해결하지 못했습니다.
나는 다음과 같은 특징이 적어도 가지고 알고리즘을 싶습니다:
- 는 상대적으로 최적화 된 경로 생성
- 는 수 (나는 문제가 아마 NP 완전하다는 것을 이해하고, 그래서 좋은 발견 괜찮습니다) 다른 가중치를 가진 경로의 부분을 처리하십시오 (예 : 경로의 해당 부분을 통과하는 시간)
- 주어진 시작점과 끝점을 강제로 사용할 수 있습니다 (이 문제가 발생할 것으로 생각하지 않습니다)
이렇게 할 수있는 코드 또는 이와 비슷한 코드는 (특히 C#에서는) 높이 평가할 수 있지만, 그 자체로 좋은 알고리즘만으로도 좋습니다.
참고 : 두 점 사이의 최단 경로를 찾을 수있는 많은 알고리즘이 있지만 멈추려는 순서를 알지 못합니다. 따라서 두 알고리즘 (내가 의심 스럽다)의 조합을 사용하지 않으면 이러한 알고리즘은 내가 원하는 것을하지 못한다.
편집 : 내가해야 할 모든 정류장을 알고 있다고 가정합니다. http://en.wikipedia.org/wiki/Dijkstras_algorithm이
가장자리를 따라 여행 비용은 단지 거리 아니라, "다음"버스가 지정된 노드에서 출발 할 때까지 또한 시간과 관련된 :
나는 오해했다고 생각합니다. 나는 버스를 타기 싫어서 버스 노선을 만들고 싶다. Djisksra가이 상황에서 어떻게 작동 할 수 있는지 잘 모르겠습니다 ... – soandos
편집을 참조하십시오. 나는 당신의 대답이 적용되지 않는다고 생각합니다. – soandos
아직 이해가 안되며, 디 익스트라의 알고리즘이 적용될 것이라고 생각합니다. 모든 도로가 로마로 연결되며, Dijkstra의 알고리즘이 가장 잘 알려줍니다. Wikipedia가 최단 경로를 언급하는 반면 알고리즘은 실제로 최저 비용으로 적용됩니다. 따라서 귀하의 기준과 관련된 비용을 적용하십시오. 각 노드 내에 얼마나 많은 사람들이 살고 있는지 알고 싶으면 기준으로 추가하십시오. 그러면 A부터 B까지의 최적 경로가 표시되어 대부분의 사람들을 선택할 수 있습니다. –