Eigentlich handelt es sich doch um ein einziges Problem:
Flaschen möglichst ohne große Vermischung auf Kästen aufteilen. Dabei spielt die Flaschengröße eigentlich keine Rolle, wenn man den Algorithmus einmal für Flaschen in der Größe A und dann für Flaschen der Größe B durchläuft.
- Zunächst also alle ganzen Kisten pro Artikel rausnehmen
- Pro Flaschengröße eine Liste bilden
- Diese Listen jeweils an den Algorithmus geben
- Die aufgerundete Gesamtanzahl der Flaschen durch Kartonkapazität ergibt die Kartonanzahl
Code:
2x A, 4x B, 5x C => Ceil( 11 / 6 ) = 2
- Eine Liste mit den Kartons anlegen und nach freier Anzahl absteigend sortieren
- Die Artikel nach Anzahl absteigend sortieren
- Durch die Artikel-Liste gehen und immer in den ersten Karton der Karton-Liste füllen
Code:
5x C in Karton 1 => 6x 2, 1x 1
4x B in Karton 2 => 2x 2, 1x 1
2x A in Karton 2 => 1x 1, 0x 2
So müssten sich eigentlich alle Artikel passend einsortieren lassen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)