Ich möchte die profitabelste Route berechnen und ich denke, das ist eine Art von Reisen Verkäufer Problem.
Ich habe eine Reihe von Knoten, die ich besuchen kann und eine Funktion zur Berechnung der Kosten für die Reise zwischen den Knoten und Punkten zum Erreichen der Knoten. Ziel ist es, eine festgelegte bekannte Punktzahl zu erreichen und gleichzeitig die Kosten zu minimieren.Graph Suche Problem mit Route Einschränkungen
Diese Kosten und Belohnungen sind nicht festgelegt und hängen von den zuvor besuchten Knoten ab.
Der Startknoten ist fixiert.
Es gibt einige Einschränkungen, wie Knoten besucht werden können. Einige Beispiele sind vereinfachte:
- Node B kann erst nach einer
- besucht werden, nachdem der Knoten C wurde besucht, D oder E besichtigt werden können. Besuch mindestens eines ist erforderlich, beide Besuche sind erlaubt.
- Z kann erst nach mindestens fünf anderen Knoten besucht werden haben
- Sobald 50 Knoten besucht wurden besucht, die Knoten AM nicht mehr Bonuspunkte
- Bestimmte Knoten können (und wahrscheinlich auch müssen) mehrmals besucht werden
Derzeit kann ich denke nur zwei Möglichkeiten, dieses Problem zu lösen:
a) Genetische Algorithmen, mit der Fitness-Funktion, um die Kosten/Nutzen der erzeugten Route
b) Dijkstra Suche durch den Graphen zu berechnen, da die Startknoten ist behoben, obwohl die Lar Die Anzahl der Knoten wird dies wahrscheinlich nicht machbar machen.
Gibt es noch andere Möglichkeiten, die beste Route durch das Diagramm zu bestimmen? Es muss nicht perfekt sein, ein angenäherter Pfad ist vollkommen in Ordnung, solange es fehlerfrei ist.
Wären TSP-Löser hier eine Option?