私は最も収益性の高いルートを計算したいと思います。これは、セールスマンの問題であると思います。
私は訪問できるノードのセットと、ノードに到達するためにノードとポイント間を移動するためのコストを計算する関数を持っています。目標は、コストを最小限に抑えながら固定された既知のスコアに到達することです。経路制限に関するグラフ検索の問題
このコストと報酬は固定ではなく、以前に訪問したノードによって異なります。
開始ノードは固定です。
ノードのアクセス方法にはいくつかの制限があります。一部の簡略化した例としては、ノードCは、訪問DまたはEを訪問することができるされた後
- ノードBは、
- 後に訪問することができます。少なくとも1つの訪問は必須で、両方を訪問することは許可されています。
- Zのみ、ノードはもはや報酬ポイントが
- 特定のノードは、(おそらく必要があります)が複数回訪問することができるであろうAM少なくとも5つの他のノードが
- 50いったんノードが訪問されている訪問された後に訪問することができ
現在、私はこれを解決する唯一の二つの方法を考えることができます。
a)の遺伝的アルゴリズム、フィットネス機能があるため、生成されたルート
b)のグラフを通るダイクストラ検索のコスト/利益を計算すると開始ノードは固定されていますが、larノードの数がおそらく実現可能なメモリではない。
グラフを通じて最適なルートを決定する他の方法はありますか?それは完璧である必要はありませんが、エラーが許容される限り、近似されたパスは完璧です。
TSPソルバーはオプションですか?