Sie haben einige sehr viele mögliche Aufgaben, von denen jede die Verwendung einer Teilmenge möglicher Ressourcen aus einer großen Anzahl möglicher Ressourcen erfordert.
Jede Aufgabe hat eine zugeordnete Ressourcenkosten:
Und Sie haben eine Reihe von verfügbaren Ressourcen:
Wählen Sie eine Teilmenge von Aufgaben aus, von denen einige mehr als einmal durchgeführt werden können. Dies macht die "beste Nutzung" von allen verfügbaren Ressourcen. In diesem Fall würden wir vielleicht Task 2 und Task 3 wählen, da uns nur noch 1 Gold übrig bleibt. Wir können Task 1 nicht ausführen, weil wir kein Silber haben.
Das scheint eine Art Optimierungsproblem zu sein, aber ich bin mir überhaupt nicht sicher, was dieses Problem "genannt" würde. Gibt es dafür einen Namen, den ich nachschlagen könnte, um mich bei der Suche nach möglichen Lösungen zu unterstützen? Gibt es einfache Algorithmen, die das lösen? Ist es in einer angemessenen Zeit lösbar? Gibt es einige gute heuristische Ansätze?
Das klingt wie ein Problem mit mehreren Rucksäcken. Das Einzige, was Sie ändern müssen, ist es, jedem Gegenstand einen Wert zuzuordnen, der der Summe der Gegenstände entspricht. Dann wird er zu einem Standardrucksack, da die Summe maximiert wird Rest ist minimiert.
Dieses Problem ist eine Art von set packing . Es ist auch bekannt als das "Problem der Flugbesatzung". Sie haben eine bestimmte Anzahl von Piloten, Ingenieuren, Stewards usw. und verschiedene Flugzeuge, die unterschiedliche Sortimente für jeden Crew-Typ benötigen. Normalerweise sucht man bei der Flugbesatzung nach einer genauen Zuordnung zwischen Personal und Flugzeugen, aber hier wollen wir die Personalauslastung maximieren, indem wir verschiedene Arten von Flugzeugen auswählen (was "Aufgaben" in der Post sind).
In jedem Fall wird die Lösung dieser Probleme, die NP-schwer sind, durch erschöpfende Suche mit Mixed Integer Linear Programming erreicht. Siehe Sandia-Umfrage zu MILP oder MIT Aeronautics Seite auf MILP .
Es gibt ein Paket SYMPHONY , das Set-Partitioning- und Packing-Solver enthält, die dies tun.
Tags und Links algorithm optimization