Hallo zusammen,
ich muss für eine Lagerverwaltung (ASP MVC) den optimalen Laufweg berechnen. Jetzt stellt sich für mich programmiertechnisch die Frage wie ich meinen Startpunkt (siehe Screen A, B, C, D) dynamisch festsetze. GeoLocation?
Habe bspw 4 verschiedene Regalreihen (siehe Screen Regal 1-4) und mein Startpunkt kann theoretisch an jeder beliebiger Stelle sein z.B. (siehe Screen A, B, C, D).
Danke
Hallo,
wenn Start- und Endpunkt sowie die Hindernis Positionen klar sind kannst du mit Point() arbeiten.
Die Laufwege könntest du berechnen indem du jeden erdenklichen Weg simulierst und dann die kürzesten wählst. (Natürlich muss du auf dem Weg gegen die Hindernis Locations prüfen.)
PS: In diesem konkreten Fall wäre es vielleicht noch schön nicht nur das Regal zu wissen sondern auch das Fach. Ansonsten einfach den Zielpunkt auf die Mitte des Regals legen.
nicky
Amazon verwendet soweit ich weiß eine abgewandelte Form des Ameisenalgorithmus um Bestellungen aus deren Dynamische Lagerhaltung zu sammeln.
Da kannst Dich entlang hangeln.
Dabei isses egal ob ASP MVC oder WinForms. Solltest eh in ne extra Library auslagern.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Hallo ZeroQool,
du kannst für jeden Startpunkt {A, B, C, D} den Weg zum Regal ermitteln und dann anhand des kürzesten* Weges den Startpunkt wählen.
Da du von Asp.net schreibst kommst es auf die Server-Last darauf an, aber es sollte für heutige Rechner/Server schon lösbar sein. Sollte der Webanwendungs-Server hoch ausgelastet sein, so könntest du den Pfadfindungsteil auch auf einen anderen Server auslagern.
Je nach Lagergröße kannst du auch ein Cachen der Resultate der Funktion Lager |-> Startpunkt in Erwägung ziehen od. diese gar vorberechnen und in einer Datenbank od. XML-Datei ablegen.
Für die Pfadfindung siehe auch Pfadfindung, optimaler Algorithmus?
* od. den effizientesten. Der kürzeste Weg könnte viele Kurven/Ecken aufweisen, so dass ein Fahrzeug langsamer fahren muss als bei einem anderen Weg. Ich würde also auch die Geschwindigkeit berücksichtigen und somit vom zeitlich kürzesten Weg ausgehen.
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Hallo ZeroQool,
irgendwie fehlen mir in deiner Frage noch Kriterien und Rahmenbedingungen. Wie genau ist die Situation und in welcher Hinsicht soll der Laufweg optimiert werden?
herbivore