Wie packt man einen Karton

Hallo ,

hier mal ein Aufruf zum kollektiven Brainstorming :

ich will für ein Versandsystem eine Routine entwickeln, die mir für eine Menge von Produkten vorschlägt, in wie viele Kartons welcher Grösse die am günstigsten verpackt werden sollen (wobei nach geringster Anzahl Kartons optimiert werden soll) .

Gegeben ist also

  • für jedes Produkt Länge, Breite, Höhe, Stückzahl
  • für jeden Kartontyp Länge, Breite, Höhe
  • beliebige Stückzahlen verschiedener Produkte dürfen in einen Karton
  • Produkte dürfen längs oder quer, stehend oder liegend verpackt werden

Und nun suche ich nach einem Algorythmus der mir ausgibt, wieviel Stück welches Produktes ich in welcher Position in einen Karton welchen Typs packen muss, um
mit so wenig wie möglich Kartons auszukommen.
Dabei ist ein grösserer Karton zwei kleineren vorzuziehen, da die Fracht von der Anzahl der Kartons abhängt, nicht von deren Grösse oder Gewicht .

Habt Ihr da irgenwelche Ideen dazu ?
Ein Packer nannte mir als Strategie „Augenmass und Erfahrung“, aber das kann ich nicht programmieren …

Freue mich auf Eure Gedanken

milan432

Hallo.

Also vornweg eine Anmerkung : So einen Algorithmus zu entwickeln, ist richtige Arbeit und üblicherweise nicht umsonst zu haben … weil nämlich der Entwickler auch Zeit und Geld genau für dieses know-how ausgegeben hat, der Böse …

aber einen kleinen Tip will ich Dir geben : es handelt sich um ein typisches Problem der Linearen Optimierung. Guckst Du am besten google.

Gruß kw

Das Problem hat keine einfache Lösung.

Suchstichwort „Packproblem“.

Es gibt Strategien, welche evolutive Konzepte benutzen. Die konvergieren recht schnell gegen eine gute Lösung, wobei aber unklar bleibt, ob die gefundene beste Lösung die best mögliche ist.

Gruß
Jochen

hi!

wie werden die einzelnen blöche auf der festplatte gespeichert? :wink:

die problemstellung ist ähnlich, es gibt verschiedene lösungsansätze … best-in/worst-out, worst-in/worst-out … lineare optimierung hört sich zwar auch gut an, nur fällt mir dazu auf die schnelle kein richtiger ansatz ein … ein algorithmus, die - wie ein poster schon vor mir schrieb - bereits ziemlich ins kommerzielle abdriftet …

grüße,
tomh

*pffffffff*

ein algorithmus, die …

wui, und für solche fallfehler ist man früher geteert und gefedert worden …

Kann ich also vergessen …
Hallo Alle,

vielen Dank für Eure Hinweise .

Sieht ja irgendwie aus, wie (für mich zu) hohe Mathematik,
allein die Konzepte die Ihr gennannt habt, sind ja schon griechische Bahnhöfe … Lineare Optimierung und so’n Zeug .

Unterm Strich heisst das also, dass ich da mit einer wie auch immer pfiffigen Abfrage oder ein paar UND/ODER-Bedingungen in ein Paar Schleifen nicht hinkomme, gelle ?

Kann ich also meinem Chef ruhigen Gewissens sagen, dass dieses Thema nix für 'ne Eigenentwicklung im Hause ist und er da die Finger von weg lassen soll . Besser iss das .

Also, Danke nochmals an Euch Alle
milan432

hi nochmals!

Unterm Strich heisst das also, dass ich da mit einer wie auch
immer pfiffigen Abfrage oder ein paar UND/ODER-Bedingungen in
ein Paar Schleifen nicht hinkomme, gelle ?

im prinzip ist ja das ganze zeugs ein bißchen und/oder und schleifen und verzweigungen … nur der algorithmus, worauf das ganze aufbaut, muß halt erstmal durchdacht werden …

Kann ich also meinem Chef ruhigen Gewissens sagen, dass dieses
Thema nix für 'ne Eigenentwicklung im Hause ist und er da die
Finger von weg lassen soll . Besser iss das .

naja, wenn ihr genügend resourcen habt und vor allem eine menge zeit zum nachdenken und herumtüfteln, dann geht das schon … nur genau diese 2 punkte sind meist die hindernisse …

grüße,
tomh

Hi,

ich kann nur raten:
Spart euch die Zeit, die ihr bräuchtet, um euch in solch ein Thema einzuarbeiten und einzulesen.
Dies sollte z.B. ein Informatiker oder Mathematiker in Angriff nehmen, weil man das eigentlich in seinem Studium oft genug durchkaut.

Dafür gibt es diese Berufssparte ja :smile:

Ciao, Bill

Da bin ich genau Bills Meinung.

Für einen Mathematiker ist es ein Klacks, so einen Algorithmus zu produzieren. Man spart so am meisten Zeit und Geld.

Und: Der Mathematiker produziert einen Algorithmus, der alle möglichen Fälle abdeckt. Ein Laie wird garantiert an gewisse möglichen Fälle nicht denken…

Gruss, DaHo

… nicht unbedingt!
Gib doch mal bei Google folgenden Suchbegriff ein:
„Genetischer Algorithmus Packproblem“.
Beim 1. Treffer ist ein Java-Applet-Beispiel dabei, allerdings nur 2 dimensional.
Sicherlich muß man sich in die Thematik ‚Genetischer Algorithmus‘ einarbeiten, aber die Umsetzung sollte nicht so schwierg sein.

Übrigens handelt es sich dabei um ein kombinatorisches Optimierungsproblem. Also nichts mit linearer Optimierung, meine ich!

MfG
Heiko Biegler

Hallo.

Übrigens handelt es sich dabei um ein kombinatorisches
Optimierungsproblem. Also nichts mit linearer Optimierung,
meine ich!

Und ich behaupte, dass das Problem linear zu lösen ist. Es gibt immer mehrere Ansatzmöglichkeiten für Algorithmen; für mich ist entscheidend, welcher der leichter zu verifizierende ist, und da steigt beim nichtlinearen Ansatz der Aufwand mit der Zahl der Kombinationsmöglichkeiten auch nicht mehr linear …

alln’s Chlor?

Gruß kw

man braucht nur einen Karton (er muss nur groß genug sein) :wink:

Gruß Roland

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Moin, Moin!

Hallo.

Übrigens handelt es sich dabei um ein kombinatorisches
Optimierungsproblem. Also nichts mit linearer Optimierung,
meine ich!

Und ich behaupte, dass das Problem linear zu lösen ist.

Was zu beweisen wäre!

Um das Problem linear lösen zu können muss es doch erstmal linear sein und das sehe ich beim besten Willen nicht! So wie ich das sehe ist jede Packung-Position eine Funktion der jeweiligen anderen Packung-Positionen.
Was zu beweisen wäre!

MfG
HB