Algorithmus für die Montage von boards, um die verfügbaren Längen, die Minimierung der Abfälle

Ich Schreibe eine Anwendung in den lumber yard. Sie erhalten eine Reihe von Brett oder Balken Längen, das Ziel ist die Berechnung der Anzahl der boards gebraucht werden, während gleichzeitig die Minimierung der Abfälle. Man könnte beispielsweise die folgenden shopping-Liste für eine bestimmte dimension:

3x 2,9 m

5x 1,6 Meter

21 x 0,9 Meter

Am Holzplatz, man würde prüfen, ob die verfügbaren Längen der Dielen und geben Sie es in die Anwendung. Können sagen, dass diese dimension ist erhältlich in 4,8 Meter Länge.

Ein einfacher Ansatz wäre, zu versuchen und passen Sie die übrigen Bretter in absteigender Längen:

2.9 + 2.9 = 5.8, so dass die nicht passen auf einem 4,8-meter-Brett

2.9 + 1.6 = 4.5, so ist das ok.

Nein Länge ist weniger als die restlichen 0,3 Meter, so dass dieses board ist "voll". Wir passen zwei weitere dieser Art, und dann haben wir die folgenden Längen Links zu passen:

2x 1,6 Meter

21 x 0,9 Meter

Ok, damit dieser Algorithmus funktioniert auch Recht gut. Aber was, wenn wir statt der Montage der 2,9 + 1.6, passen wir 2.9 + 0.9 + 0.9 = 4.7 statt. Wir erhalten dann 0,1 m Abfall pro board, anstelle von 0,3 Meter.

Einem problem in der Aufzählung aller möglichen Kombinationen ist, dass jede Länge kann mehr als einmal erscheinen, in einem board, und die Anzahl der Längen, montiert auf einem board variieren, wie gut. Gibt es einen bekannten Algorithmus, den ich verwenden können, zu minimieren, den gesamten Abfall für alle boards?

Auch, was, wenn es zwei oder mehr Längen verfügbar am Holzplatz? Zum Beispiel 5.4, 4.8 und 3.6 Meter? Dies wird sicherlich die Dinge zu komplizieren. Man könnte ausführen der ausgewählten Algorithmus für jeden verfügbar, Länge und wählen Sie die Länge mit der geringsten Menge von Abfällen. Aber die eleganteste Lösung wäre das mischen der verfügbaren Längen, so dass die optimale Antwort wäre so etwas wie 1x 5.4, 3x 4.8, 6x 3.6. Aber für den Anfang würde ich glücklich sein, mit der Einschränkung das die Antwort auf eine Länge.

InformationsquelleAutor Anlo | 2012-05-03
Schreibe einen Kommentar