원본으로 몇 년 동안 stackoverflow.com을 사용해 왔지만 내 통계에서 볼 수 있듯이이 포럼에서는 꽤 새로 왔습니다. 내 프로그래밍 질문에 대한 답변. 나는 당신이 저의 가벼운 사소한 일을 간과하고 아래의 작은 문제에 대한 생각을 나누기를기도합니다.두 메트릭 (거리, 비용)을 기준으로 그래프의 최적 경로 (타협)
가능한 경로 및 시간에 따라 최적의 경로를 찾을 수있는 라우팅/경로 찾기 알고리즘이 있는지 궁금합니다. 이상적으로는 시간, 비용 또는 최적의 시간을 최상의 비용으로 환경 설정을 지정할 수 있습니다.
나는 Directed and Weighted 직사각형 네트워크에서 최단 경로를 라우팅하기 위해 Dijksta 알고리즘을 사용 해왔다. 모든 노드는 방향 엣지를 통해 왼쪽, 오른쪽, 위아래 및 45도 이웃에 연결됩니다. 즉, 모든 노드에 8 개의 가장자리가 있고 외부 경계에 존재하지 않는 가장자리가 없습니다. 모든 노드에 도달 할 수 있지만 더 높은 비용을 반영하기 위해 메트릭 (거리)을 늘릴 수 있습니다. 동일한 노드에서 다른 에지 목록을 사용하여 경로 찾기를 실행할 수 있습니다. 경로를 탐색 할 때 비용 (또는 거리) 측면을 나타내며 최저 비용 또는 단식 경로를 찾을 수 있습니다. 거리 측정법 (1 또는 코너 모서리의 경우 SQRT (2))과 함께 가장 짧은 경로를 제공했습니다.
이제는 거리와 비용 측면을 곱하여 간단히 곱하여 혼합 된 통계를 생성하는 방법에 대해 궁금해하고있었습니다. 이 접근법에 대해 어떻게 생각 하느냐, 또는 라우팅 알고리즘이 다른 "최적"이웃을 선택하여 시간, 비용 또는 절충안 중에서 가장 좋은 경로를 찾도록 만드는 방법입니다.
감사합니다.
당신은 요구하고 (내 생각) 가장자리를 무겁게하는 시간과 비용의 기능을. 이 기능에는 어떤 특성이 있어야합니까? 몇 가지 제약이 없으면 실제로 원하는 것을 추측하지 않고 대답하는 것은 불가능합니다. 당신이 말하는 것은 "매쉬 업 (mash up)"과 "혼합 된 메트릭 (mixed metric)"을 원한다는 것입니다. 그러나 이것을 충족시키는 연속적인 기능이 있습니다. –
요컨대, 서로 다른 상수로 거리와 시간을 곱하고 더할 수 있습니다. Dijkstra는 여전히 "작동"할 것이고, 이것은 양을 서로 상쇄 할 수있는 합리적이고 효율적인 방법입니다. –