Ich bin neu in genetischen Algorithmen und ich wurde beauftragt, einen genetischen Algorithmus zu implementieren, um die Reihenfolge der Anfragen pro Wochentag einer Apotheke zu optimieren. Lassen Sie mich zunächst das Problem erklären:Genetischer Algorithmus: Anfrage Optimierung
Es gibt 9 Familien, die Anfragen an jedem Tag einer Arbeitswoche (Montag bis Freitag) ausgestellt werden. Die Apotheke kann nur 1 bis 3 Familien pro Tag besuchen, nicht mehr und nicht weniger und sie können keine Familie in derselben Woche wiederholen. Das Hauptziel besteht darin, den besten Tag für jede zu besuchende Familie zu optimieren, damit die Apotheke die maximalen Anfragen pro Woche mit den Einschränkungen des Problems erfüllt. Die Eingabe in den Optimierungsalgorithmus ist der jährliche Mittelwert jeder Anzahl von Anforderungen, die von jeder Familie ausgegeben werden. Zum Beispiel:
(lassen Sie sich mit nur drei Familien arbeiten, um das Beispiel zu vereinfachen):
Eingang:
| Mo | Di | Mi | Do | Fr
F1 | | | | | F2 | 20 | 12 | 0 | 1 | 2
F3 | 2 | 0 | 0 | 19 | 3
Mögliche Lösung:
| Mon Di | Mi | Do | Fr
| | F2 | F1 | F3 |
Bis jetzt habe ich das ganze Konzept der Genetik und der genetischen Algorithmen studiert. Ich habe mich mit der Partikelschwarmoptimierung beschäftigt, aber da meine Zeit ziemlich kurz ist, habe ich mich für ein Framework entschieden. Ich benutze JGAP, aber mein Hauptproblem ist, wie ich eine mögliche Lösung darstelle?Ich meine, wie sollte ich die Gene auf dem Chromosom organisieren, das für die Paarung, Zucht usw. verwendet wird? Ich habe bereits eine Fitness-Funktion entwickelt, aber ich kann die Gene nicht so codieren, wie ich es wollte. Irgendwelche Vorschläge?
von dem, was Sie beschrieben haben und das Beispiel gegeben, ich denke, dieses Problem ist eine lineare kombinatorische Optimierung Problem und kann durch geeignete Methoden wie Simplex oder Rucksack-Algorithmen gelöst werden (nicht ganz sicher, welche war in diesem speziellen Fall) . Müssen Sie GA benutzen oder ist das Ihr Wunsch für dieses Projekt? – posdef
Produzieren Sie jede Woche einen neuen Zeitplan oder sortieren Sie mehrere Wochen im Voraus aus? – Alain
Mit 9 Familien an 5 Tagen gibt es höchstens 5^9, 1 Million, Lösungen. Das ist nicht so viel, ein einfaches BFS sollte den Trick machen. Oder nicht? – Ishtar