Wir erhalten Stapel, die "Gegenstände" unterschiedlicher Farbe enthalten, und eine Maschine, die mehrere Gegenstände derselben Farbe auf einmal verarbeiten kann. Bei jedem Schritt können wir einen Gegenstand von der Oberseite jedes Stapels entfernen und in unsere Maschine legen (so effektiv kann die Maschine höchstens n Gegenstände in einem Schritt verarbeiten - dazu müssen alle Stapel Gegenstände derselben Farbe haben oben drauf). Ziel ist es, alle Artikel in kürzester Zeit zu bearbeiten.
Beispieleingabe:
Eine mögliche Lösung ist ein gieriger Algorithmus: Nehmen Sie bei jedem Schritt so viele Gegenstände wie möglich und stopfen Sie sie alle in die Maschine. Leider ist der Greedy-Algorithmus nicht optimal - er erzeugt den folgenden Zeitplan für die Beispieleingabe:
Der optimale Zeitplan ist der folgende:
Ich habe vor, eine Form der Zustandsraumsuche durchzuführen, aber vielleicht gibt es einen problemspezifischeren und effizienteren Ansatz? Links zu einschlägiger Literatur sind willkommen.