私は通過する必要がある開始点、終了点、頂点を選択したいので、アルゴリズムはルーティングの最短経路を見つけるはずです。私はテーブルを持っていますRoutes Id |名前| StoreA | StoreB | StoreAとStoreBはStoreテーブルからのFKsです。私は片方だけのためにデータを保存します。 例:テーブルルート1 | Lidl-Kaufland | 1 | 2 | 157で、距離は同じですので戻ってはいけません.QuickGraphライブラリからBidirectionalGraphまたはUndirectedGraphを使用するかどうかはわかりません。選択された頂点でルーティングするアルゴリズム
たとえば、このロードネットワーク:1:http://i.stack.imgur.com/mxcWe.png まず、この4つの頂点を選択して、開始点と終了点を選択します。 私はQuickGraph 3.6を使用しています。ここで最大の問題は、どのグラフを使用すればいいのですか?目的に合わせてアルゴリズムがありますか?ありがとう、私は私が私に答えるために必要なすべてを説明したことを願っています。
嫌な音がする危険がありますが、あなたの問題は次のようなものです:(https://en.wikipedia.org/wiki/Travelling_salesman_problem)?そのような場合はパフォーマンスの問題に遭遇するかもしれませんが、その問題の名前を検索すると、より迅速に回答を見つけることができます。 – TheHowlingHoaschd
ありがとうございました!私がもっと私を助けることができるなら、私ははるかに幸せになるでしょう、もう一度ありがとう! –
あなたの問題は*対称* TSP(どちらの方向でもあなたのエッジコストは同じですが)と非常によく似ていますが、複雑です。伝統的なTSPでは、旅行者は原点に戻る必要があります。これにより、各頂点に到着と出発があるという問題が単純化される。頂点の数が制限されている場合(<11程度)、すべての*置換を試して無差別な力で問題を解決できます。大きな問題の場合は、ブランチ&バウンドアプローチを試してみてください。さらに大きな問題については、本当の最適なものを見つけるのは難しいので、ヒューリスティックなアプローチを試してみてください。 – JerryM