• Keine Ergebnisse gefunden

Beiträge zu Logistik und E-Learning Diskussionsbeitrag Nr. 338 Mai 2003 Fachbereich Wirtschaftswissenschaft

N/A
N/A
Protected

Academic year: 2022

Aktie "Beiträge zu Logistik und E-Learning Diskussionsbeitrag Nr. 338 Mai 2003 Fachbereich Wirtschaftswissenschaft"

Copied!
152
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Beiträge zu Logistik und E-Learning

(2)
(3)

Beiträge zu Logistik und E-Learning Diskussionsbeitrag Nr. 338 Mai 2003 Fachbereich Wirtschaftswissenschaft

Andreas Bortfeldt Torsten Fischer Jörg Homberger Giselher Pankratz Reinhard Strangmeier

Festschrift zum 60. Geburtstag von Hermann Gehring

Planen, Lernen, Optimieren

(4)

 2003 FernUniversität in Hagen Satz und Layout: Markus Bremshey

Titelentwurf: Ingema Dombrowsky, Dez. 4.2 Druck: Zentrale Vervielfältigung

(5)

Für Hermann Gehring

von den Autoren

(6)
(7)

Glückwunsch an Hermann Gehring

Lieber Hermann,

zu Deinem 60. Geburtstag möchten wir, Deine Mitarbeiter, Dir dieses

„Ständchen“ bringen. Es besteht aus aktuellen Beiträgen zu den Forschungsfeldern unseres Lehrstuhls, die wir ja gemeinsam mit Dir schon lange „beackern“. Zu den logistischen Problemstellungen tritt allerdings eine neue Domäne, das E-Learning, hinzu – Du ahnst schon, von wem der entsprechende Beitrag stammt.

Zu Deinem runden Geburtstag wollen wir Dir – natürlich auch im Namen von Silvia Vecera und Bernd Strauß – unseren Dank sagen. Wir kennen Dich aus meist langjähriger gemeinsamer Arbeit als einen kompetenten Leiter, der für Klarheit zu sorgen weiß – und doch stets partnerschaftlich, eher zurückhaltend und leise, nie unsachlich agiert. Es ist Dir zu verdanken, dass am Lehrstuhl eine zugleich produktive wie angenehm freundliche, kooperative Atmosphäre herrscht, in der sich alle wohl fühlen können. Jeder einzelne Deiner Mitarbeiter hat Dich als einen Menschen erlebt, der einvernehmliche Lösungen für Probleme sucht und findet, großzügig im Umgang ist, Schwächen tolerieren kann und gute Arbeit lobt und der nach besten Kräften Unterstützung gewährt, wann immer sie erforderlich ist.

Wir wünschen Dir für die kommenden Jahre Gesundheit – die das A und O ist –, nicht nachlassende Frische und Spannkraft, weiterhin Freude an der Arbeit – die an Umfang allerdings nicht noch zunehmen sollte – und viele weitere gelungene Projekte. Und wir hoffen, dass Du ein biss- chen Spaß beim Lesen dieses Bändchens hast.

Hagen, im Mai 2003 Andreas Bortfeldt

Torsten Fischer

Jörg Homberger

Giselher Pankratz

Reinhard Strangmeier

Markus Bremshey

(8)
(9)

Inhaltsverzeichnis

Ein genetischer Algorithmus für das

zweidimensionale Strip-Packing-Problem ...1 Andreas Bortfeldt

Ein Learning-Classifier-System zur Schätzung

von Lagerverweildauern im Rahmen des Fahrzeugimportes ...37 Torsten Fischer

Ein hybrides Tabu-Search-Verfahren zur Transportdisposition

im Lebensmittel-Lieferservice ...55 Jörg Homberger

Eine Metaheuristik für die speditionelle Tourenplanung

im umladefreien Teilladungsverkehr ...81 Giselher Pankratz

Was kann E-Learning leisten? ...115 Reinhard Strangmeier

(10)
(11)

Ein genetischer Algorithmus für das zweidimensionale Strip-Packing-Problem

Andreas Bortfeldt

Abstract: The paper presents a genetic algorithm (GA) for the two- dimensional strip-packing problem (SPP) with rectangular shaped pieces.

Both the non-guillotineable SPP and the guillotineable SPP can be tack- led. The genetic algorithm has been derived from a GA that was proposed earlier for solving the container loading problem (CLP) with a single container to be loaded. The characteristic features of the earlier GA have been maintained: solutions are represented by data structures tailored to the problem at hand and specific genetic operators are used to generate offspring. In order to solve a given instance of the SPP, a sequence of CLP instances with descending container lengths has to be solved. The GA for the SPP is subjected to a comparative test that includes some methods from other authors. The results for well-known benchmark prob- lems show a high performance of the GA for strongly heterogeneous sets of pieces.

Key words: Packing, two-dimensional strip packing problem, rectangular shaped pieces, genetic algorithm.

(12)
(13)

Gliederung

1 Einleitung ...5

2 Der genetische Algorithmus für das Containerbeladeproblem ...8

2.1 Das Füllen einer Schicht ...10

2.2 Die Komplettierung eines Packplans ...12

2.3 Die genetische Suche ...14

3 Adaption des genetischen Algorithmus an das Strip-Packing-Problem ...15

3.1 Berücksichtigung der variablen Containerdimension ...15

3.2 Lernen der Schichtparameter ...17

3.3 Diversifizierung der Suche...18

3.4 Nachoptimierung von Bestlösungen der Läufe ...19

3.5 Konfiguration des genetischen Algorithmus für das SPP ...23

4 Verfahrenstest...25

4.1 Ergebnisse des Vergleichstests ...26

4.2 Ergebnisse des Validierungstests ...30

5 Zusammenfassung ...32

Literatur ...33

(14)
(15)

1 Einleitung

Gegenstand des Beitrags ist das zweidimensionale Strip-Packing-Prob- lem, das hier in folgender Ausprägung behandelt wird: Gegeben sei eine Menge von rechteckigen Packstücken (kurz Stücke) sowie ein als Con- tainer bezeichnetes größeres Rechteck mit fester Breite und variabler Län- ge. Gesucht ist eine zulässige Anordnung aller Stücke in dem Container, die die benötigte Containerlänge minimiert und gegebenenfalls zusätz- liche Restriktionen berücksichtigt.

Eine Anordnung gilt als zulässig, wenn je zwei Stücke überschnei- dungsfrei platziert sind, alle Stücke die Breitenbegrenzung des Containers einhalten sowie orthogonal, d. h. parallel zu den Containerseiten, ange- ordnet sind. Drehungen der Stücke um 90° sind zugelassen. Bezüglich der Struktur der Packstückmenge werden keine einschränkenden Vorausset- zungen gemacht; der Packstückvorrat kann sowohl homogen (ein Pack- stücktyp), schwach heterogen (wenige Packstücktypen, viele Exemplare pro Typ) wie auch stark heterogen (viele Packstücktypen, wenige Exem- plare pro Typ) sein. Die Stücke eines Typs stellen kongruente Rechtecke dar.

Als optionale Restriktion wird die so genannte Guillotine-Schnitt- Bedingung in die Problemstellung einbezogen. Sie fordert bekanntlich, dass alle in einer Anordnung platzierten Stücke durch eine Folge von Guillotine-Schnitten reproduzierbar sind. Jeder Guillotine-Schnitt zerlegt eine rechteckige Teilfläche der Anordnung in zwei Teile und verläuft von einer Seite bis zur gegenüberliegenden Seite sowie parallel zu den übri- gen beiden Seiten der Teilfläche.

Das Strip-Packing-Problem kann sowohl in zwei (2D) wie auch in drei (3D) Dimensionen betrachtet werden und stellt neben dem Knapsack- Problem und dem Bin-Packing-Problem einen weiteren Basistyp von mehrdimensionalen Pack- und Verschnittproblemen dar (vgl. COFFMAN und SHOR 1990, WOTTAWA 1996, MARTELLO et. al. 1998). Anders als die letztgenannten Problemtypen besitzt das Strip-Packing-Problem offen- sichtlich keine eindimensionale Ausprägung. Hinsichtlich der Kategori- sierung bzw. Typisierung von Pack- und Verschnittproblemen sei auf

(16)

DYCKHOFF (1990), DYCKHOFF undFINKE (1992) sowie DYCKHOFF et al.

(1997) verwiesen. Nach der von DYCKHOFF (1990) vorgeschlagenen Ty- pologie besitzen 2D- bzw. 3D-Strip-Packing-Probleme die Typcharak- teristik 2/V/O/ bzw. 3/V/O/ (vgl. WOTTAWA 1996). Während also einer- seits alle Stücke („V“) zu verpacken sind, steht hierfür andererseits nur ein Container („O“) zur Verfügung. Da jedoch Container mit variablen Seitenmaßen in der Typologie von DYCKHOFF nicht vorgesehen sind, wird der Typ des Strip-Packing-Problems nicht adäquat berücksichtigt.

Wie die anderen Basistypen von Pack- und Verschnittproblemen ist auch das Strip-Packing-Problem von beträchtlicher praktischer Relevanz.

Im zweidimensionalen Fall tritt es bei der Verschnittoptimierung etwa in der Glas- und Metallindustrie auf. Bei der Layoutgenerierung von VLSI- Schaltkreisen sind rechteckige Blöcke auf einer minimalen Fläche zu platzieren – eine dem 2D-Strip-Packing-Problem verwandte Problemstel- lung (vgl. SCHNECKE 1996). Im dreidimensionalen Fall kann die Lösung von Strip-Packing-Problemen dem Design von Behältern oder auch der Auswahl von Fahrzeugen eines Fuhrparks für den Transport einer gegebe- nen Gütermenge dienen (vgl. SIXT 1996).

Das Strip-Packing-Problem ist NP-hart (vgl. HOPPER und TURTON 2001), so dass in der Literatur vor allem heuristische Verfahren zu seiner Lösung vorgeschlagen werden. Dabei handelt es sich in stark wachsen- dem Maße um Metaheuristiken, in erster Linie genetische Algorithmen, aber auch Simulated-Annealing- (SA) sowie Tabu-Search-Verfahren (TS). Eine aktuelle und umfassende Übersicht der für die verschiedenen Ausprägungen des 2D-SPP entwickelten Metaheuristiken geben HOPPER und TURTON (2000) sowie HOPPER und TURTON (2001).

Nachfolgend werden einige Verfahren für das hier behandelte 2D-SPP mit rechteckigen Packstücken zitiert, wobei der von HOPPER und TURTON stammenden Systematik der Lösungsansätze gefolgt wird. Diese wurde zwar vorrangig für genetische Algorithmen entwickelt, lässt sich aber auch auf SA- bzw. TS-Verfahren anwenden. Wie die Untersuchungen der beiden Autoren ferner belegen, können auch die metaheuristischen Ver- fahren für das 2D-Knapsackproblem in analoger Weise gegliedert wer- den. HOPPER und TURTON unterscheiden folgende drei Gruppen von Lö- sungsansätzen:

1. Die Verfahren der ersten Gruppe benutzen eine Kodierung von Lösun- gen. Eine kodierte Lösung legt typischerweise eine Platzierungsrei-

(17)

henfolge der Packstücke fest. Die Suche wird von der jeweiligen Me- taheuristik unmittelbar im Raum der kodierten Lösungen durchgeführt und benutzt meist problemunabhängige Operatoren. Eine Platzie- rungs- bzw. Dekodierungsroutine dient der Überführung kodierter Lö- sungen (Genotypen) in vollständige Anordnungen (Phänotypen). Eine einfache Platzierungsroutine stellt der so genannte Bottom-Left-Algo- rithmus dar. Wird ein horizontal gelegener Container unterstellt, so verschiebt die Bottom-Left-Routine jedes zu platzierende Stück im Container alternierend in zwei horizontale, orthogonale Richtungen, bis keine Verschiebungen mehr möglich sind (vgl. HOPPER und TUR- TON 2000). Vertreter der ersten Gruppe sind z. B. die GA von JAKOBS (1996), LAI und CHAN (1997) sowie LIU und TENG (1999). SA- Repräsentanten dieser Gruppe sind die Verfahren von FAINA (1999) sowie LEUNG et al. (1999). Auch die in HOPPER und TURTON (2000) vorgestellten Metaheuristiken (u. a. ein GA- und ein SA-Ansatz) ge- hören zu dieser Gruppe.

2. Lösungsansätze der zweiten Gruppe nehmen eine Zwischenstellung ein. Während einerseits kodierte Lösungen bereits in gewissem Um- fang Layout- bzw. geometrische Informationen enthalten, wird zur endgültigen Positionierung von Packstücken ebenfalls eine zusätzliche Platzierungsroutine benötigt. Typisch für diese Gruppe sind eine prob- lemspezifische Kodierung, die oft auf gerichteten Graphen basiert, so- wie korrespondierende problemspezifische Operatoren. Vertreter der zweiten Gruppe sind u. a. die parallelen genetischen Algorithmen von KRÖGER (1993)(vgl. auchKRÖGER und VORNBERGER 1991, KRÖGER 1995) sowie SCHNECKE (1996).

3. Die eher seltenen Lösungsansätze der Gruppe 3 verwenden keine Ko- dierung. Die Suche findet direkt im Raum der vollständig bestimmten 2D-Anordnungen statt, die folglich von spezifischen Operatoren als solche manipuliert werden. Ein zur Gruppe 3 gehöriger GA wurde von RATANAPAN und DAGLI (1998) vorgeschlagen.

Ergänzend sei bemerkt, dass für das 3D-Strip-Packing-Problem bisher erst wenige metaheuristische Ansätze existieren. Hierzu gehören ein Ta- bu-Search- sowie ein Simulated-Annealing-Verfahren von SIXT (1996).

Ein paralleles TS-Verfahren und einen parallelen GA für das 3D-SPP stellen BORTFELDT und GEHRING (1999) vor. Auch hier erweist sich die oben skizzierte Gliederung der Verfahrensansätze als anwendbar: Beide

(18)

Verfahren von SIXT sind der Gruppe 3 zuzuordnen; das parallele TS-Ver- fahren von BORTFELDT und GEHRING gehört zur Gruppe 1, während ihr paralleler GA der Gruppe 3 zuzurechnen ist.

Im Folgenden wird ein genetischer Algorithmus für das oben definierte 2D-Strip-Packing-Problem präsentiert. Er wird durch eine Adaption des GA von BORTFELDT und GEHRING (2001) gewonnen, der für das 3D- Knapsackproblem bzw. Containerbeladeproblem (CLP) mit einem Con- tainer entworfen wurde. Ein entsprechender Ansatz in BORTFELDT und GEHRING (1999) erfährt dabei eine wesentliche Weiterentwicklung. Aus methodischer Sicht soll einerseits ein Beitrag zur Evaluierung der oben umrissenen drei Lösungsansätze für das Strip-Packing-Problem geleistet werden. Zum anderen geht es um eine möglichst günstige Variante der Transformation eines Containerbeladeverfahrens in ein Strip-Packing- Verfahren am Beispiel eines genetischen Algorithmus.

Der Rest des Papiers ist wie folgt gegliedert. Abschnitt 2 gibt eine kur- ze Beschreibung des ursprünglichen GA für das Containerbeladeproblem.

In Abschnitt 3 wird die Adaption des GA an das 2D-SPP dargestellt. Ab- schnitt 4 unterzieht den GA für das Strip-Packing-Problem einem Test, der einen Vergleich mit Verfahren anderer Autoren ebenso wie eine Prü- fung der GA-Komponenten einschließt. Schließlich zieht Abschnitt 5 eine Bilanz des Beitrags.

2 Der genetische Algorithmus für das Containerbeladeproblem

Im Folgenden wird der in BORTFELDT und GEHRING (2001) vorgeschla- gene GA für das Containerbeladeproblem im Überblick dargestellt. Ob- wohl ursprünglich ein 3D-Verfahren, wird dabei dem Anliegen des Bei- trags folgend hier ein zweidimensionales Containerbeladeproblem zu- grunde gelegt. Für die Grundlagen der Suchstrategie genetischer Algorith- men sei der Leser etwa auf FALKENAUER (1998) verwiesen.

Der GA erzeugt ausschließlich schichtartig strukturierte Packpläne. Je- der Packplan besteht aus lückenlos aufeinander folgenden, rechteckigen Schichten, in denen jeweils ein oder mehrere Packstücke angeordnet sind.

Jedes Packstück liegt vollständig in einer Schicht. Die Breite einer

(19)

Schicht stimmt mit der Containerbreite überein. Die Schichttiefe wird durch ein schichtbestimmendes Packstück (ldp) und dessen Orientierung festgelegt. Die Struktur von Packplänen wird in Abb. 1 veranschaulicht;

diese zeigt auch die hier benutzte Einbettung des Containers in ein 2D- Koordinatensystem.

Schicht 1 Schicht 2 Container-

länge lC x y

Container- breite wC

schicht- bestim- mendes Stück ldp

0

Schichttiefe

Abb. 1. Schichtartige Struktur eines Packplans.

Der GA besteht aus drei hierarchisch organisierten Komponenten, die an- schließend näher betrachtet werden:

1. Die Prozedur „Fuelle-Schicht“ sorgt als Komponente der untersten Ebene für die Platzierung von Packstücken in einer Schicht mit gege- benen Abmessungen.

2. Die Prozedur „Komplettiere-Packplan“ stellt die Komponente der mittleren Ebene dar. Ihre Aufgabe besteht darin, einen Rumpfpack- plan durch die Erzeugung weiterer, neuer Schichten zu einem oder mehreren vollständigen Packplänen zu ergänzen.

3. Die Komponente der obersten Ebene ist für die eigentliche genetische Suche verantwortlich und beinhaltet die genetischen Operatoren zur Erzeugung von Packplänen.

(20)

2.1 Das Füllen einer Schicht

Die Platzierung von Packstücken in einer Schicht setzt voraus, dass diese zuvor definiert wurde. Eine Schicht wird definiert, indem ein schicht- bestimmendes Packstück und dessen Orientierung (Drehungsvariante) ausgewählt werden. Das gemäß der Orientierung in Längsrichtung (lC) gelegene ldp-Maß bestimmt dann die Schichttiefe.

Eine definierte Schicht wird mittels der Prozedur „Fuelle-Schicht“ ge- füllt, in dem sukzessive so genannte Resträume, d. h. freie rechteckige Räume innerhalb der Schicht, beladen werden. Als erster Restraum wird das Schichtrechteck mit dem schichtbestimmenden Stück in der vorgese- henen Orientierung beladen. Generell wird ein Restraum gefüllt, indem jeweils ein Packstück in der Referenzecke des Restraumes platziert wird.

Als Referenzecke dient die dem Koordinatenursprung nächstgelegene Restraumecke (vgl. Abb. 1).

Nach dem Beladen eines Restraumes werden innerhalb desselben zwei neue Tochter-Resträume erzeugt, die vor und neben dem im Restraum platzierten Stück liegen. Die beiden möglichen Varianten der Generierung von Tochter-Resträumen werden in Abb. 2 veranschaulicht.

x y

Restraum

Tochter- Restraum neben p

Packstück p

Tochter- Restraum vor p

Tochter- Restraum neben p

Packstück p

Tochter- Restraum vor p

Abb. 2. Varianten der Erzeugung von Tochter-Restträumen.

Die Tochter-Resträume werden jeweils in einem Restraum-Stack gesam- melt und später verarbeitet. Das Füllen einer Schicht terminiert, wenn kein beladbarer Restraum mehr vorhanden ist.

Zur Beladung eines noch leeren Restraumes wird das Packstück-Paar mit maximaler Gesamtfläche bestimmt, das vollständig im Restraum plat-

(21)

zierbar ist. Dabei kann es sich auch um ein einzelnes Stück handeln (de- generiertes Paar). Ein Packstück wird sofort in der Referenzecke des Restraums angeordnet. Das zweite Stück wird ggf. für einen der Tochter- Resträume vorgemerkt. Bei der Verarbeitung eines Restraumes werden folgende Entscheidungen in einem Zuge getroffen:

• Auswahl von maximal zwei Stücken für den Restraum und einen Tochter-Restraum,

• Auswahl des Tochter-Restraumes für das zweite Packstück, d. h. des Tochter-Restraumes vor oder neben dem Packstück im aktuellen Rest- raum,

• Festlegung der Orientierung beider Packstücke und

• Festlegung, welches Packstück im aktuellen bzw. im Tochter-Rest- raum anzuordnen ist.

Bei der abschließenden Erzeugung von Tochter-Resträumen sind deren Maße so zu bestimmen, dass ggf. ein vorgemerktes Stück vollständig im vorgesehenen Tochter-Restraum platziert werden kann.

Wird ein Restraum aus dem Restraum-Stack entnommen, für den be- reits ein Packstück nebst Orientierung vorgemerkt ist, so ist dieses ledig- lich in der Referenzecke zu platzieren und es sind die Tochter-Resträume zu generieren.

Ein weiteres Merkmal der Prozedur „Fuelle-Schicht“ besteht in der Verschmelzung von Resträumen. Ein gerade erzeugter Tochter-Restraum wird nach Möglichkeit mit einem im Stack bereits vorhandenen Restraum verschmolzen. Auf diese Weise entsteht ein größerer Restraum, der im Allgemeinen besser ausgefüllt werden kann als zwei kleinere. Zwei Rest- räume werden nur dann verschmolzen, wenn für keinen ein Packstück vorgemerkt ist und beide Resträume zusammen ein rechteckiges Gebiet bilden.

Die Prozedur „Fuelle-Schicht“ bzw. einige ihrer heuristischen Regeln werden parametrisiert. Die resultierenden so genannten Schichtparameter werden in Tab. 1 erläutert.

Bereits an dieser Stelle kann festgestellt werden, dass der GA durch- weg Packpläne erzeugt, die der Guillotine-Schnitt-Bedingung genügen.

Dies ist wie folgt einzusehen:

(22)

• Zum einen zerfällt ein Packplan in mehrere Schichten, deren Schicht- breiten mit der Containerbreite übereinstimmen, wobei jedes Pack- stück zu genau einer Schicht gehört.

• Ferner wird jeder Restraum, beginnend mit der gesamten Schicht, bei der Erzeugung von Tochter-Resträumen längs einer Restraumdimen- sion (also parallel zu einer Containerdimension) in zwei Teile zerlegt.

Dabei gilt, dass ein im Restraum gelegenes Packstück stets vollständig in einem der beiden Teile platziert ist.

Tab. 1. Schichtparameter.

Parameter Wert Erläuterung

sscut Modus der Generierung von Tochter-Resträumen.

0 Tochter-Resträume werden derart erzeugt, dass die Fläche des größeren Tochter-Restraumes maximal ausfällt.

1 Tochter-Resträume werden derart erzeugt, dass die Fläche des kleineren Tochter-Restraumes maximal ausfällt.

rvmode Modus der Ermittlung der Orientierungsvarianten für das Packstück-Paar eines Restraumes.

0 Orientierungsvarianten werden derart bestimmt, dass - das x-Maß (in Richtung Schichttiefe) des größeren Stücks möglichst gering ausfällt und nachgeordnet - das x-Maß des kleineren Stücks ebenfalls möglichst

klein wird.

1 Orientierungsvarianten werden derart bestimmt, dass die Summe der x-Maße beider Packstücke möglichst groß wird.

ssmerge Modus der Restraum-Verschmelzung.

0 Ohne Restraum-Verschmelzung.

1 Mit Restraum-Verschmelzung.

2.2 Die Komplettierung eines Packplans

Durch die Komplettierung eines Packplans wird aus einem unvoll- ständigen Rumpfpackplan eine Menge von kompletten, d. h. nicht mehr erweiterbaren Packplänen erzeugt. Die zuständige Prozedur „Komplet- tiere-Packplan“ geht wie folgt vor:

• Der Rumpfpackplan wird zunächst in allen zugelassenen (Schicht-) Varianten um eine neue Schicht ergänzt. Eine Variante ist durch ein

(23)

schichtbestimmendes Packstück ldp und dessen Orientierung rv be- stimmt; sie entspricht also einer Schichtdefinition. Eine Variante ist nur zugelassen, wenn das Stück ldp mit der Orientierung rv noch im Container platzierbar ist; für weitere Einschränkungen vgl. Tab. 2.

• Jeder der so erhaltenen n Teilpackpläne wird separat gemäß einem Greedy-Ansatz um weitere neue Schichten ergänzt. Dabei werden bei der zweiten, dritten usw. neuen Schicht für alle zugelassenen Varian- ten (ldp, rv) die zugehörigen Schichten versuchsweise erzeugt und die Schicht mit bester Flächenauslastung gewählt. Ein Packplan ist kom- plett, wenn keine zugelassene Variante für eine weitere Schicht mehr ermittelt werden kann.

Abschließend werden unter den n kompletten Packplänen die bezüg- lich der Containerauslastung besten Pläne in geforderter Anzahl (vgl.

Tab. 2) selektiert.

Die Prozedur „Komplettiere-Packplan“ benutzt die Prozedur „Fuelle- Schicht“ zur Schichterzeugung und wird ihrerseits von mehreren gene- tischen Operatoren verwendet. Daher sind drei Einsatzvarianten zu unter- scheiden, die in Tab. 2 erläutert werden.

Tab. 2. Einsatzvarianten der Prozedur „Komplettiere-Schicht“.

Einsatzvariante Merkmal

Erzeugung der Startpopulation

Erzeugung eines Nachkommen durch Crossover

Erzeugung eines Nachkommen durch Mutation Umfang des

übergebenen Rumpfpackplans

leer, 0 Schichten

nicht leer,

≥ 1 Schicht

nicht leer,

≥ 1 Schicht Anzahl zurück-

gegebener kom- pletter Packpläne

Populations- umfang npop

1 Packplan, d. h. nur bester Packplan

1 Packplan, d. h. nur bester Packplan Einschränkung der

zugelassenen Varianten bei erster neuer Schicht

keine nur erste qldp1% aller Varianten zugelassen

nur 1 Variante zugelassen die zufällig unter den ersten qldp3% aller Varianten selektiert wird Einschränkung der

zugelassenen Varianten bei fol- genden Schichten

nur erste Variante zugelassen

nur erste qldp2% aller Varianten zugelassen

wie bei erster neuer Schicht

(24)

Die Einschränkungen der zugelassenen Varianten basieren auf einer Sor- tierung der Varianten absteigend nach der ldp-Fläche. Die Werte der Parameter qldpi, i = 1, 2, 3, sind geeignet festzulegen.

2.3 Die genetische Suche

Die genetische Suche wird unmittelbar im Raum der vollständig definier- ten Packpläne mit schichtartiger Struktur durchgeführt. Eine Lösung wird daher im Wesentlichen durch eine Menge von Schichten repräsentiert, wobei pro Schicht die geometrischen Positionen aller enthaltenen Pack- stücke festgehalten werden. Jede Lösung ist ferner durch ihren Zielfunk- tionswert, nämlich die zu maximierende Summe der Flächen aller plat- zierten Stücke, charakterisiert.

Der problemnahen Repräsentation entsprechen problemspezifische ge- netische Operationen zur Erzeugung von Lösungen. Startlösungen werden mittels der Prozedur „Komplettiere-Packplan“ bereitgestellt. Lösungen der Folgegenerationen werden mit Hilfe von vier Operatoren generiert:

• Der Crossoveroperator überträgt zunächst Schichten beider Eltern mit möglichst großer Flächenauslastung auf den einzigen Nachkommen.

Eine weitere Elternschicht ist nur übertragbar, wenn ihre Tiefe die restliche Containertiefe nicht überschreitet und wenn ferner die Ge- samtanzahl vorhandener Exemplare pro Packstücktyp respektiert wird.

Weil der Nachkomme nach der Schichtübertragung meist noch fort- setzbar ist, wird er abschließend mit der Prozedur „Komplettiere- Packplan“ ergänzt.

• Auch der Operator der Standardmutation überträgt zunächst die besten Schichten der Elternlösung unverändert auf den Nachkommen, wobei die Anzahl der zu übertragenden Schichten zufällig bestimmt wird.

Anschließend wird der Nachkomme wiederum mit Hilfe der Prozedur

„Komplettiere-Packplan“ vervollständigt.

• Eine weitere Mutationsvariante wird als Verschmelzungsmutation be- zeichnet. Diese überträgt alle bis auf zwei zufällig ausgewählte Schichten auf den Nachkommen. Der Nachkomme wird dann durch genau eine neue Schicht ergänzt, als deren Tiefe die gesamte restliche Containerlänge gewählt wird.

(25)

• Der GA benutzt das Reproduktionsmodell der generationsweisen Er- setzung. Daher wird zusätzlich ein Reproduktionsoperator eingesetzt, der die besten Lösungen der aktuellen Generation für die nächste Ge- neration kopiert (elitist-Strategie).

Der konstante Umfang der Population wird durch den Parameter npop be- stimmt. Bei der Erzeugung einer Folgegeneration werden zuerst die nrep besten Lösungen der aktuellen Generation reproduziert. Danach wird die neue Generation bis zum vollen Populationsumfang aufgefüllt, indem Lö- sungen durch Crossover und Standardmutation generiert werden. Beide Operatoren kommen mit den konstanten und komplementären Einsatz- wahrscheinlichkeiten pcross und pmut (pcross + pmut = 1) zum Ein- satz. Schließlich werden nmerge weitere Lösungen durch Verschmel- zungsmutation erzeugt, die ggf. schlechtere Lösungen der Population er- setzen.

Die Auswahl von Elternindividuen für den Crossover und beide Muta- tionsvarianten erfolgt mittels einer Rangwertselektion, wobei jedoch der zweite Crossoverpartner rein zufällig selektiert wird. Innerhalb der Start- generation wie auch der Folgegenerationen werden keine Duplikate zuge- lassen.

3 Adaption des genetischen Algorithmus an das Strip-Packing-Problem

Bei der Anpassung des GA an das Strip-Packing-Problem ist vor allem die Tatsache zu beachten, dass das SPP eine variable und zu minimie- rende Containerdimension (hier die Containerlänge) besitzt. Im Anschluss werden hierzu zwei mögliche Adaptionsansätze vorgestellt. Danach geht es um weitere Modifikationen, die auf eine möglichst hohe Lösungs- qualität abzielen. Schließlich ist der GA für das SPP zu konfigurieren.

3.1 Berücksichtigung der variablen Containerdimension

Der erste Adaptionsansatz zur Berücksichtigung einer variablen Contai- nerlänge bietet sich von selbst an. Der Container wird an einem Ende ge-

(26)

öffnet, d. h., alle aus einer festen Containerlänge resultierenden Platzie- rungsbeschränkungen werden entfernt. Hiernach wird jeder vollständige Packplan stets alle gegebenen Stücke umfassen, folglich eine zulässige SPP-Lösung sein. An die Stelle der zu maximierenden Flächensumme der platzierten Stücke tritt als neues Zielkriterium die von einem vollstän- digen Packplan beanspruchte und zu minimierende Containerlänge lC_used. Weil die Verschmelzungsmutation nur bei fester Container- länge durchführbar ist, wird sie suspendiert. Nach diesen Modifikationen kann der GA zur Lösung des Strip-Packing-Problems eingesetzt werden.

Der erste Adaptionsansatz wird auch als Adaption mit offenem Container bezeichnet.

Der zweite Adaptionsansatz führt die Lösung des Strip-Packing-Prob- lems auf die Berechnung mehrerer Instanzen des Containerbeladeprob- lems mit im Allgemeinen sinkenden Containerlängen zurück. Als Pack- stückmenge jeder CLP-Instanz wird die ursprüngliche SPP-Packstück- menge genommen. Für die erste CLP-Instanz wird als Containerlänge ein geeigneter Wert lC_start verwendet. Ein Packplan, der alle Stücke bein- haltet, sei als vollständige Anordnung bezeichnet. Für eine gegebene ak- tuelle Containerlänge lC_akt sucht der ursprüngliche GA nach einer voll- ständigen Anordnung. Wird diese gefunden, so wird die beanspruchte Containerlänge lC_used bestimmt, wobei stets lC_used lC_akt gilt.

Nun wird die Containerlänge gemäß lC_akt := lC_used – 1 reduziert.

Danach wird der Suchprozess für die neue Containerlänge lC_akt bzw.

die hiermit gegebene CLP-Instanz erneut gestartet. Der gesamte Suchpro- zess terminiert, wenn für eine aktuelle Containerlänge erstmals keine vollständige Anordnung bestimmt wurde. Als Verfahrenslösung wird die zuletzt bestimmte vollständige Anordnung ausgegeben.

Zur Bestimmung eines Startwertes lC_start für die Containerlänge wird zunächst eine untere Schranke (lower bound) lC_lb der beanspruch- ten Containerlänge lC_used für eine SPP-Instanz gemäß

lC_lb = sum_area / wC  . (1)

ermittelt. Dabei bezeichnet sum_area die Gesamtfläche aller Packstücke, wC die Containerbreite und z die kleinste ganze Zahl größer oder gleich z. Um die Anzahl zu berechnender CLP-Instanzen möglichst zu reduzie- ren und somit die Suche abzukürzen, bietet es sich an, die anfängliche Containerlänge lC_start nur um wenige Einheiten oberhalb von lC_lb

(27)

zu wählen. Hier wird einheitlich lC_start = lC_lb + 4 gesetzt. Dabei kann der Fall eintreten, dass bereits für den Wert lC_start keine vollstän- dige Anordnung bzw. zulässige SPP-Lösung ermittelt wird. In dieser Sitution wird nach jeder erfolglosen Suche die aktuelle Containerlänge lC_akt nicht reduziert, sondern um eine Einheit erhöht. Die gesamte Su- che terminiert, sobald erstmals für einen Wert lC_akt eine vollständige Anordnung bestimmt werden konnte, die dann als Verfahrenslösung aus- zugeben ist. Der zweite Adaptionsansatz wird als Adaption mit geschlos- senem Container bezeichnet.

Die Adaption mit offenem Container lässt zunächst Lösungen mit be- liebig großer beanspruchter Containerlänge zu. Eine Lenkung der Suche erfolgt ausschließlich mittels nachträglicher Bewertung von Lösungen anhand des Zielkriteriums. Dagegen wird bei der Adaption mit geschlos- senem Container die Längenausdehnung vollständiger Anordnungen a priori begrenzt. Für diesen Adaptionsansatz spricht demnach, dass er die Erzeugung hochwertiger Lösungen über die Evaluierung hinausgehend forciert.

3.2 Lernen der Schichtparameter

Experimente mit den verschiedenen möglichen Einstellungen der drei Schichtparameter (vgl. Tab. 1) führten zu dem Resultat, dass keine der 8 möglichen Wertekombinationen, wenn fixiert, die übrigen 7 Kombinatio- nen in hinreichendem Maße dominiert. Ferner erweist sich ein ein- oder mehrmaliger Wechsel der Wertekombination während der Suche oft als vorteilhaft. Um dieser Situation zu begegnen, wird ein Lernkonzept für die Schichtparameter erprobt, das wie folgt gestaltet ist:

• Die Werte der Parameter sscut, rvmode und ssmerge werden nicht einmalig für den gesamten Suchprozess festgelegt, sondern vor jeder Erzeugung einer Schicht, d. h. vor jedem Aufruf der Prozedur „Fuelle- Schicht“ neu bestimmt. Die Wahl der Parameterwerte erfolgt jeweils zufällig gemäß einer dynamischen Wahrscheinlichkeitsverteilung für die 8 möglichen Wertekombinationen.

• Zur Erzeugung der Startgeneration wird eine vorab definierte Start- verteilung gewählt, worauf noch einzugehen ist. Bei jedem Übergang zu einer Folgegeneration wird die Wahrscheinlichkeitsverteilung aktu- alisiert.

(28)

• Hierbei wird wie folgt verfahren. Pro Wertekombination i wird eine Erfolgsfrequenz succ_frequ(i), i = 1,…, 8, eingeführt, die zu Be- ginn der Suche mit Null initialisiert wird. Wird eine Lösung in eine Generation aufgenommen, so wird succ_frequ(i) um den Wert j er- höht, wenn j Schichten der Lösung gemäß der Wertekombination i erzeugt wurden. Bei dem Einsatz der Verschmelzungsmutation kommt es vor, dass bereits akzeptierte Lösungen wieder aus der neuen Gene- ration zu entfernen sind. In diesem Fall müssen die betroffenen Er- folgsfrequenzen entsprechend nach unten korrigiert werden. Die relativen Erfolgsfrequenzen nach n Generationen (n = 1, 2,…) defi- nieren schließlich die für die (n + 1)-te Generation verwendete Wahr- scheinlichkeitsverteilung der Wertekombinationen.

Die Dynamisierung der Verteilung zielt auf die bevorzugte Auswahl der im bisherigen Suchverlauf erfolgreichsten Wertekombinationen ab, wobei unterstellt wird, dass diese auch künftig besonders gut abschneiden. Der Lernprozess der Schichtparameter wird bei der Adaption mit offenem Container nur einmal, dagegen bei der Adaption mit geschlossenem Con- tainer mehrfach, nämlich separat für jede CLP-Instanz, durchlaufen.

Hieraus ergibt sich übrigens, dass das Lernkonzept zur Lösung des Con- tainerbeladeproblems ebenso wie für das Strip-Packing-Problem verwen- det werden kann.

3.3 Diversifizierung der Suche

Es wurden mehrere geeignete Startverteilungen anhand der relativen Stärke der einzelnen Parameterausprägungen bestimmt. Da beispielsweise die Einstellung sscut = 0 (vgl. Tab. 1) meist bessere Resultate erbringt als der komplementäre Wert, weisen die Startverteilungen entsprechend höhere Wahrscheinlichkeiten für die vier zu sscut = 0 gehörigen Werte- kombinationen auf. Zwei Startverteilungen werden noch konkret angege- ben.

Da verschiedene günstige Startverteilungen existieren, liegt eine Diver- sifizierung der Suche nahe. Ein entsprechender Ansatz sieht vor, die Suche in mehrere Läufe zu gliedern; der Parameter nruns gibt die Anzahl der Läufe an. Pro Lauf wird der gesamte Suchprozess mit einer anderen Startverteilung für das Lernen der Schichtparameter wiederholt. Als Ver- fahrenslösung wird die beste Lösung aller Läufe ausgegeben. Bei der

(29)

Adaption mit geschlossenem Container wird der Startwert lC_start vom zweiten Lauf an unter Beachtung der in vorherigen Läufen erzielten mi- nimalen beanspruchten Containerlänge festgesetzt und die Suche schon dann abgebrochen, wenn für die erste CLP-Instanz keine vollständige Anordnung gefunden werden konnte.

3.4 Nachoptimierung von Bestlösungen der Läufe

Jede Beschränkung der geometrischen Struktur von Packplänen für ein mehrdimensionales Packproblem, die nicht der Problemstellung selbst ei- gen ist, sondern durch den Verfahrensansatz hinzukommt, kann zu einem Verlust an Lösungsqualität führen. Die hier vorgegebene schichtartige Packplanstruktur verbietet, dass Packstücke Schichtgrenzen durchstoßen.

Dieses Verbot kann zur Folge haben, dass Raum auf beiden Seiten einer Schicht frei bleibt, der eigentlich ausgefüllt werden könnte. Mit einer ele- mentaren Heuristik zur Nachbehandlung von Packplänen soll der ange- deutete Nachteil des schichtartigen Ansatzes gemildert werden.

Die Idee der Heuristik besteht darin, gewisse Packstücke einer Schicht in eine benachbarte Schicht zu verschieben und hierzu bisher freien Raum an der Breitseite der Nachbarschicht zu nutzen. Dieser Vorgang wird für mehrere Schichten wiederholt. Im Erfolgsfall wird die beanspruchte Con- tainerlänge auf diese Weise gegenüber dem ursprünglichen Wert des schichtartigen Packplans um eine oder mehrere Längeneinheiten redu- ziert, also eine verbesserte Lösung des Strip-Packing-Problems erzielt.

Die Heuristik gliedert sich in drei Phasen, die nachfolgend erläutert werden:

In der Analysephase wird zusätzlich zu der Schichtstruktur des über- gebenen Packplans für jede Schicht ihre Blockstruktur ermittelt (vgl.

Abb. 3 a)). Ein Block verhält sich zu seiner Schicht wie die Schicht zum Packplan. Jede Schicht zerfällt im Allgemeinen in mehrere Blö- cke, die in der Breitenrichtung des Containers (y-Richtung) aufeinan- der folgen. In jedem Block sind ein oder mehrere Packstücke vollstän- dig angeordnet. Die Tiefe eines Blocks ergibt sich aus der maximalen Summe der Tiefen (x-Maße) von in Längsrichtung benachbart plat- zierten Stücken des Blocks; die Breite eines Blocks ist analog defi- niert. Die Blöcke einer Schicht werden in kritische und unkritische

(30)

Blöcke gegliedert. Genau für die kritischen Blöcke gilt, dass ihre Tiefe (x-Maß) mit der Schichttiefe übereinstimmt.

x y

Blocktiefe

a) Blockstruktur einer Schicht b) dieselbe Schicht nach Umordnung Block 1

(kritisch) Block 2 (unkritisch) Block 3 (kritisch) Block 4 (unkritisch)

Blocktiefe

x y

M-Raum freie Breite

1

2 3

4 6

8 7

5

8 7

4 6

5 1

2 3

Abb. 3. Blockstruktur und Umordnung einer Schicht.

Aufgabe der Umordnungsphase ist es, in jeder einzelnen Schicht an einer ihrer Breitseiten einen rechteckigen freien Raum, genannt M- Raum, zu schaffen, der für das Verschieben von Stücken anderer Schichten genutzt werden kann (vgl. Abb. 3 b)). Das als freie Breite bezeichnete Breitenmaß (y-Maß) dieses Raumes soll möglichst groß ausfallen; das Tiefenmaß muss mindestens eine Längeneinheit betra- gen. Die freie Breite einer Schicht wird vor allem durch eine Umord- nung ihrer Blöcke maximiert. Diese werden (mit den enthaltenen Stücken) derart angeordnet, dass zuerst die kritischen, dann die unkri- tischen Blöcke lückenlos aufeinander folgen. Zusätzlich werden ein- zelne Packstücke an der relevanten Breitseite der Schicht parallel zur Schichtbreite verschoben oder auch in bisher freie Räume im Schicht- inneren verlagert. Ferner werden einzelne Blöcke an ihrer Mittellinie parallel zur x-Achse gespiegelt.

In der Verschiebungsphase werden zunächst die Schichten mit den maximalen freien Breiten in begrenzter Anzahl ausgewählt. Die aus- gewählten Schichten werden in jeder möglichen Permutation bzw.

Reihenfolge im Container versuchsweise einem Verschiebevorgang unterworfen. Die über alle Permutationen hinweg – durch den Ver- schiebevorgang erhaltene – beste Anordnung mit geringster Länge wird abschließend um die restlichen Schichten, die ihre ursprüng- lichen Schichttiefen beibehalten, ergänzt und als Lösung der Heuristik zurückgegeben.

(31)

Der Verschiebevorgang für eine gegebene Reihenfolge der ausge- wählten Schichten wird in den Abbildungen 4 bis 6 demonstriert.

Abb. 4 zeigt zunächst die ausgewählten Schichten mit ihren Blöcken nach der Umordnungsphase, wobei sich die M-Räume in analoger La- ge (oben rechts) befinden.

B21 B23

B22

x y

B13 B12

B11

B33 Schicht 1 Schicht 2 Schicht 3

M-Raum

B32

B31

Abb. 4. Drei Schichten mit Blöcken Bij (i, j = 1, 2, 3) nach der Umordnungs- phase.

• Beginnend mit der zweiten Schicht einer Permutation wird jeweils ei- ne Teilmenge der kritischen Blöcke der Schicht i (i > 1) derart be- stimmt, dass die Summe der Blockbreiten maximal ausfällt, aber die freie Breite der Schicht i – 1 nicht überschreitet. Nun werden die Blö- cke der Schicht i derart umgeordnet, dass die selektierten kritischen Blöcke durch eine Verschiebung nach links in den M-Raum der Schicht i verlagert werden können. Anschließend wird die (maximale) Verschiebung durchgeführt. Abb. 5 zeigt den Verschiebevorgang für die zweite Schicht. Bevor Block B22 nach links verschoben werden kann, muss er mit Block B23 vertauscht werden. Nach der Verschie- bung wird der M-Raum der Schicht i unter Beachtung ihres alten M-Raumes und der Verschiebung neu bestimmt. Aufgrund der Ver- schiebung wächst die Breite des M-Raumes, also die freie Breite der Schicht i stets an.

(32)

B23

B22 B33

B32

B31

x y

B13 B12

B11

B21

Abb. 5. Drei Schichten nach Verschiebung der zweiten Schicht.

• Abb. 6 veranschaulicht den Verschiebevorgang für die dritte Schicht.

Nachdem der Block B33 mit den kritischen Blöcken B31 und B32 ver- tauscht wurde, können die letzteren in den M-Raum der zweiten Schicht verschoben werden. Die Breite des neuen M-Raumes der drit- ten Schicht ist nun gleich der Containerbreite. Seine Tiefe gibt daher die erzielte Reduzierung der beanspruchten Containerlänge (für die gegebene Permutation) an.

B33 B31 B32

B21 B23 B22

x y

B13 B12

B11

Abb. 6. Drei Schichten nach Verschiebung der dritten Schicht.

(33)

Die Heuristik erzeugt Lösungen, die im Allgemeinen der Guillotine- Schnitt-Bedingung nicht mehr genügen und ist daher nur anwendbar, wenn eine entsprechende Restriktion nicht vorhanden ist. Dies geht aus Abb. 6 hervor, wo etwa der Block B11 und folglich die enthaltenen Stü- cke nicht durch Guillotine-Schnitte reproduziert werden können.

Innerhalb des GA wird die Heuristik zur Nachoptimierung der besten Lösungen eines Laufes eingesetzt und anschließend ggf. die Bestlösung des Laufes sowie die bisherige Verfahrensbestlösung aktualisiert.

3.5 Konfiguration des genetischen Algorithmus für das SPP

Im Rahmen der Konfigurierung werden Standardwerte für die Parameter sowie Terminationskriterien für den GA bestimmt. Für die bereits einge- führten Parameter werden bei dem später beschriebenen Vergleichstest durchgängig die nachfolgend angeführten Werte benutzt und es kommen folgende Terminationsbedingungen zum Einsatz:

• Anzahl der Läufe pro Probleminstanz nruns = 2; die bei dem ersten bzw. zweiten Lauf benutzte Startverteilung für die Wahrscheinlich- keiten der Wertekombinationen der Schichtparameter geht aus Tab. 3 hervor (vgl. auch Tab. 1).

Tab. 3. Zwei Startverteilungen für das Lernen der Schichtparameter.

Wertekombination Wahrscheinlichkeit sscut rvmode ssmerge Startverteilung 1 Startverteilung 2

0 0 0 0,5 0,2

0 0 1 0,5 0,2

0 1 0 0 0,2

0 1 1 0 0,2

1 0 0 0 0,05

1 0 1 0 0,05

1 1 0 0 0,05

1 1 1 0 0,05

• Die Prozentsätze qldpi, i = 1, 2, 3, geben den Anteil zu verwendender Schichtdefinitionen (Varianten) bei der Erzeugung neuer Schichten an

(34)

(vgl. Tab. 2). Diese Parameterwerte werden abhängig von der Anzahl der Packstücktypen n_ptyp der gegebenen Probleminstanz wie folgt gestaffelt:

qldp1= 100, qldp2 = 100, qldp3 = 33, falls n_ptyp ≤ 40,

qldp1 = 66, qldp2 = 66, qldp3 = 33, falls n_ptyp > 40 und n_ptyp ≤ 60, qldp1 = 10, qldp2 = 10, qldp3 = 33, falls n_ptyp > 60 und n_ptyp ≤ 200, qldp1= 5, qldp2= 5, qldp3 = 33, falls n_ptyp > 200.

• Populationsumfang npop = 50.

• Anzahl zu reproduzierender Lösungen pro Generation nrep = 10.

• Einsatzwahrscheinlichkeiten für Crossover- und Standard-Mutations- operator pcross = 0,66 bzw. pmut = 0,33.

• Anzahl zu erzeugender Lösungen durch Verschmelzungsmutation pro Generation (nur bei Adaption mit geschlossenem Container) nmerge = 10.

• Es werden simultan drei Terminationskriterien verwendet. Bei der Adaption mit offenem Container endet die Berechnung eines einzel- nen Laufes, wenn eine gewisse Generationenanzahl maxgen berechnet wurde. Der Wert maxgen wird abhängig von der Problemgröße, d. h.

der Anzahl der Packstücke np, wie folgt festgesetzt:

maxgen = 2000, falls np ≤ 60,

maxgen = 1000, falls np > 60 und np ≤ 100, maxgen = 200, falls np > 100.

Bei der Adaption mit geschlossenem Container endet die Berechnung einer CLP-Instanz eines Laufes, wenn maxgen Generationen berech- net wurden. Dabei werden bei analoger Staffelung die oben genannten maxgen-Werte halbiert. Ferner endet die Berechnung eines Laufes bei beiden Adaptionsansätzen, wenn die Zeitschranke maxtime = 600 s überschritten wurde. Schließlich wird für beide Adaptionsansätze der gesamte Suchprozess abgebrochen, sobald eine Lösung gefunden wur- de, deren beanspruchte Containerlänge lC_used den Wert lC_lb + delta_lb einstellt oder unterschreitet. Hierbei ist der lower bound lC_lb gemäß Beziehung (1) bestimmt, während für delta_lb eine nicht negative ganze Zahl vorzugeben ist, die das geforderte Güte- niveau der Lösung kennzeichnet. Ist delta_lb = 0, wird die Suche nur dann vorzeitig abgebrochen, wenn eine Optimallösung gefunden wur- de.

(35)

Die angeführten Parameterwerte wurden empirisch ermittelt. Die Staffe- lung der Werte für die Parameter qldpi (i = 1, 2) sowie maxgen dient der Steuerung des „trade off“ zwischen Lösungsgüte und Aufwand. Mit der durchgängigen Verwendung eines festen Parametersatzes für verschie- dene Gruppen von Probleminstanzen soll bei dem folgenden Vergleichs- test belegt werden, dass das Verfahren eine hohe Lösungsqualität bei ein- heitlicher Parametrisierung erzielt und sich in diesem Sinne robust ver- hält.

4 Verfahrenstest

Der in C und mittels der Umgebung MS Visual C++ 6.0 implementierte GA wurde auf einem Pentium-PC mit einer Taktfrequenz von 2 GHz ge- testet. Für den Test wurden zwei Gruppen von SPP-Instanzen genutzt.

Zum einen die 12 Probleminstanzen von KRÖGER (1993), bei denen sich die Packstückzahlen zwischen 25 und 60 bewegen. Alle Instanzen sind stark heterogen; in der Regel entfällt auf einen Packstücktyp nur ein Ex- emplar. Weiterhin wurden die 21 Probleminstanzen von HOPPER und TURTON (2000) berechnet, für die die optimalen Containerlängen bekannt sind. Diese gliedern sich in 7 Untergruppen C1 bis C7 von je drei Instan- zen mit fast übereinstimmenden Packstückzahlen und gleichem Optimal- wert. Die minimale Stückzahl beträgt 16, die maximale Stückzahl 197.

Auch diese Instanzen sind als stark heterogen einzustufen; im Mittel ent- fallen auf einen Packstücktyp jeweils weniger als zwei Exemplare.

Anschließend wird zunächst ein Vergleichstest dokumentiert, wobei Ergebnisse anderer Autoren aus den angegebenen Quellen zitiert werden.

Für den vorgeschlagenen GA, nachfolgend durch SPGAS bezeichnet, wird ausschließlich die Adaption mit geschlossenem Container eingesetzt, die sich in Pilottests als die klar bessere Adaptionsvariante erwies. Da- nach wird ein Validierungstest beschrieben, mit dem der Beitrag verschie- dener GA-Komponenten zur Effizienz des Verfahrens geprüft wird.

(36)

4.1 Ergebnisse des Vergleichstests

Für die Probleminstanzen von KRÖGER (kurz KR-Probleme) liegen Ergeb- nisse für die parallelen GA von KRÖGER (1993) und SCHNECKE (1996) vor, die gemeinsam mit den Resultaten des genetischen Algorithmus SPGAS in Tab. 4 aufgelistet werden.

Beide Vergleichsverfahren erzeugen Lösungen, die eine Guillotine- Schnitt-Restriktion einhalten. Für SPGAS werden Ergebnisse für die Va- rianten „ohne Nachoptimierung“ und „mit Nachoptimierung“ angegeben.

Bei der ersten Variante wird die Heuristik zur Nachoptimierung von Lö- sungen nicht benutzt und daher die genannte Restriktion ebenfalls einge- halten; bei der zweiten Variante wird die Nachoptimierung eingesetzt, so dass die erzeugten Lösungen im Allgemeinen nicht guillotinierbar sind.

In den Spalten 2 bis 9 werden jeweils Bestwerte bzw. Mittelwerte der beanspruchten Containerlängen (in Längeneinheiten, LE) angegeben. Die Mittelwerte pro Problem wurden bei dem PGA von SCHNECKE aus min- destens zehn Berechnungen und bei dem PGA von KRÖGER aus fünf Berechnungen gewonnen. Für beide SPGAS-Varianten gilt, dass Mittel- werte wie Bestwerte aus je zehn Berechnungen pro Probleminstanz für die Saatwerte 1 bis 10 der Zufallszahlenerzeugung stammen. Die lower- bound-Werte wurden gemäß Beziehung (1) (s. Abschnitt 3.1) bestimmt.

Die Ergebnisse für die KR-Probleme lassen sich wie folgt bilanzieren.

Der PGA von SCHNECKE wird von beiden anderen Verfahren klar domi- niert. Wird die Guillotine-Schnitt-Restriktion zugrunde gelegt, so stim- men die Bestwerte des PGA von KRÖGER und von SPGAS im Durch- schnitt überein, wobei das Vergleichsverfahren für kleinere Instanzen, SPGAS für größere Instanzen besser abschneidet. Gemittelt über alle Be- rechnungen erzielt SPGAS auch ohne Nachoptimierung eine Verbesse- rung von 0,5 Längeneinheiten pro Instanz gegenüber dem PGA von KRÖGER.

Wird die Guillotine-Schnitt-Restriktion suspendiert, so erzielt SPGAS für fünf Instanzen neue Bestwerte und stellt die Bestwerte des PGA von KRÖGER für die übrigen Instanzen ein. Die über alle Instanzen und Be- rechnungen gemittelte Längenreduzierung beträgt nun 1,0 Längeneinhei- ten. SPGAS verfehlt die lower bounds um maximal zwei Längeneinhei- ten, im Instanzen-Mittel nur um eine Längeneinheit und erzeugt für zwei Instanzen (nachweisliche) Optimallösungen.

(37)

Die mittlere Containerauslastung pro Instanz beträgt bei der SPGAS- Variante mit Nachoptimierung für die Bestwerte 99,0% und für die Mit- telwerte aus zehn Berechnungen 98,4%. Beide SPGAS-Varianten benöti- gen pro Instanz eine durchschnittliche Rechenzeit von ca. 137s. Ein Ver- gleich der Rechenzeiten ist nicht möglich, weil für die parallelen GA von SCHNECKE und KRÖGER keine entsprechenden Angaben vorliegen.

Tab. 4. Resultate für die Probleminstanzen von KRÖGER (alle Angaben in LE).

SPGAS lower

bound

PGA Schnecke

PGA

Kröger ohne Nachopt. mit Nachopt.

Problem- instanz (Anzahl

Packstücke) Best- wert

Mittel Best- wert

Mittel Best- wert

Mittel Best- wert

Mittel KR01 (25) 107 111 111,8 109 109,4 110 110,9 109 109,8 KR02 (25) 103 107 107,6 104 105,0 105 105,2 104 105,0 KR03 (25) 102 105 106,8 104 104,2 105 105,2 104 104,4 KR04 (35) 151 156 158,3 152 153,0 153 153,0 151 152,6 KR05 (35) 122 127 127,5 123 123,4 124 124,0 123 123,7 KR06 (35) 123 127 128,4 124 124,6 125 125,4 124 124,9 KR07 (45) 194 202 202,8 196 197,0 196 196,1 195 195,5 KR08 (45) 163 171 172,8 164 165,2 164 164,9 164 164,5 KR09 (45) 133 139 139,2 134 135,2 134 135,0 134 134,9 KR10 (60) 249 256 259,6 253 253,8 251 251,5 250 251,0 KR11 (60) 275 286 288,0 279 280,8 277 277,2 276 276,6 KR12 (60) 280 292 294,6 283 284,6 281 281,9 280 281,4 Summe 1–12 2002 2079 2097,4 2025 2036,2 2025 2030,3 2014 2024,3 Mittel 1–12 166,8 173,3 174,8 168,7 169,7 168,7 169,2 167,8 168,7

In den Vergleichstest anhand der Probleminstanzen von HOPPER und TURTON (kurz HT-Probleme) werden die drei erfolgreichsten der in HOP- PER und TURTON (2000) vorgestellten Verfahren einbezogen, die durch- weg keine Guillotine-Schnitt-Restriktion beachten. Dabei handelt es sich um einen GA, ein Verfahren der naiven Evolution (NE), d. h. einen GA, der nur einen Mutations- und keinen Crossoveroperator besitzt, sowie schließlich um ein SA-Verfahren. Alle Verfahren basieren auf einer Lö- sungsrepräsentation, die die Reihenfolge der Platzierung der Packstücke kodiert. Für die eigentliche Platzierung von Packstücken in einer gegebe- nen Permutation wird die so genannte Bottom-Left-First-Routine (BLF) benutzt (vgl. HOPPER und TURTON 2000).

(38)

HOPPER und TURTON (2000) bestimmen aus der beanspruchten Contai- nerlänge lC_used einer Lösung die relative Distanz rel_dist zum be- kannten Optimum lC_opt in Prozent, also den Wert rel_dist = (lC_used – lC_opt)/lC_opt * 100. Ferner dokumentieren sie für die angegebenen Verfahren nur Bestlösungen. Schließlich geben die Autoren pro Verfahren für jede der sieben Instanz-Gruppen C1 bis C7 den Mittel- wert von rel_dist für die Bestlösungen der drei Instanzen der Gruppe an.

Entsprechend wird in folgender Tab. 5 verfahren. SPGAS wurde in der Variante mit Nachoptimierung getestet. Die angegebenen Bestwerte stam- men durchweg aus zehn Berechnungen, die für die Zufalls-Saatwerte 1 bis 10 vorgenommen wurden. In der letzten Tabellenspalte werden für SPGAS außerdem die jeweils über die zehn Berechnungen gemittelten Werte der relativen Distanz rel_dist angegeben.

Tab. 5. Resultate für die Probleminstanzen von HOPPER undTURTON. Optimum Hopper und Turton SPGAS

lC_opt GA+BLF NE+BLF SA+BLF mit Nachopt.

Instanz- gruppe (Anzahl

Packstücke) LE Bestwert* Bestwert* Bestwert* Bestwert* Mittel*

C1 (16–17) 20 4,0 5,0 4,0 1,7 1,7

C2 (25) 15 7,0 7,0 6,0 0,0 0,9

C3 (28–29) 30 5,0 4,0 5,0 2,2 2,2

C4 (49) 60 3,0 4,0 3,0 0,0 1,4

C5 (72–73) 90 4,0 4,0 3,0 0,0 0,0

C6 (97) 120 4,0 4,0 3,0 0,3 0,7

C7 (196–197) 240 5,0 5,0 4,0 0,3 0,5

Mittel 1–7 – 4,6 4,7 4,0 0,6 1,0

* relative Distanz zum Optimum in %

Die Resultate für die HT-Probleme seien wie folgt zusammengefasst.

SPGAS dominiert klar gegenüber allen drei Vergleichsverfahren. Die für die Bestlösungen erreichten relativen Distanzen zu den Optimalwerten liegen gemittelt über alle Instanzgruppen um mindestens 3,4 Prozent- punkte unterhalb der entsprechenden Werte der Vergleichsverfahren; für die Mittelwerte aus allen Berechnungen beträgt der Abstand zu den Best- lösungen der Vergleichsverfahren im Durchschnitt über alle Instanzgrup- pen noch mindestens 3,0 Prozentpunkte.

(39)

SPGAS erzeugt für 15 der 21 Instanzen Optimallösungen; für die übrigen sechs Instanzen (nämlich 2, 7, 8, 16, 19 und 21) wird das Optimum je- weils um eine Längeneinheit verfehlt. Für die Bestlösungen wird im Durchschnitt eine Containerauslastung von 99,4% erzielt. Gemittelt über alle zehn Berechnungen ergibt sich eine durchschnittliche Containeraus- lastung von 99,0%.

SPGAS benötigt gemittelt über die zehn Berechnungen eine durch- schnittliche Rechenzeit pro Instanz von 136s. In diesem Fall ist auch ein Rechenzeitvergleich möglich. Aus den entsprechenden Angaben in HOP- PER und TURTON (2000) ergeben sich für die drei Vergleichsverfahren bei Mittelung über alle Instanzen Rechenzeiten (in min) von 131,1 (GA), 81,9 (NE) sowie 674,0 (SA). Die Vergleichsverfahren wurden auf einem Pen- tium-Pro-Prozessor (200 MHz) getestet, während SPGAS auf einem Pentium 4 Prozessor (2 GHz) ablief; das Verhältnis der MIPS-Zahlen ist ca. 1 zu 7. Die Rechenzeiten der Vergleichsverfahren seien daher der Ein- fachheit halber durch 10 dividiert und liegen danach bei 787s (GA), 491s (NE) bzw. 4044s (SA). Auch unter Beachtung der unterschiedlichen Pro- zessoren beträgt also für alle Vergleichsverfahren die mittlere Rechenzeit pro Instanz ein Mehrfaches der Rechenzeit von SPGAS.

Alle bisherigen SPGAS-Berechnungen wurden mit der Parameterein- stellung delta_lb = 0 vorgenommen (vgl. Abschnitt 3.5). Ein vorzeitiger Abbruch aufgrund der erreichten Lösungsgüte erfolgte also nur, wenn ei- ne Optimallösung bestimmt wurde. Die HT-Probleme wurden auch für den Wert delta_lb = 1 berechnet. In diesem Fall wird eine Berechnung beendet, wenn eine Containerlänge erreicht ist, die um eine Einheit ober- halb des lower bounds liegt. Bei zehn Berechnungen pro Problem ergab sich nun gemittelt über die Bestlösungen ebenso wie gemittelt über alle Lösungen ein durchschnittlicher Wert der relativen Distanz zum Opti- mum von 2,7%, der immer noch deutlich unter dem entsprechenden Wert für das beste Vergleichsverfahren liegt (vgl. Tab. 5). Auf der anderen Sei- te beträgt die mittlere Rechenzeit pro Instanz nur noch 23s. Eine Redu- zierung des geforderten Güteniveaus um eine oder wenige Einheiten führt insbesondere für größere Probleminstanzen (wie etwa der Gruppe C7) nur zu einer geringfügigen Reduzierung der relativem Distanz zum Optimum, wird aber mit einer drastischen Einsparung von Rechenzeit belohnt.

(40)

4.2 Ergebnisse des Validierungstests

Mit dem Validierungstest soll geprüft werden, welchen Beitrag verschie- dene Komponenten und Konzepte des GA zur Effizienz des Verfahrens leisten. Pro Validierung einer Komponente wurden erneut die KR-Prob- leme und die HT-Probleme jeweils zehnmal berechnet.

Für vier Validierungsvarianten (Nr. 1 bis 4) sind die Ergebnisse in Tab. 6 wiedergegeben. Unter Nr. 0 werden die besten Ergebnisse des GA zum Vergleich nochmals angeführt. Abgesehen von der jeweils gekenn- zeichneten Änderung wurde die ursprüngliche Konfiguration des GA bei- behalten und bis auf Variante Nr. 4 kommt stets die Nachoptimierung zum Einsatz.

Für die KR-Probleme werden die Bestwertsumme, d. h. die Summe der Bestwerte aller Instanzen, und die Mittelwertsumme, d. h. die Summe der Mittelwerte aller Instanzen aus zehn Berechnungen, (vgl. Tab. 4, vorletzte Zeile) aufgelistet. Für die HT-Probleme gibt die Bestwertedistanz die über alle Gruppen gemittelte beste relative Distanz pro Gruppe an, wäh- rend die Mittelwertedistanz die über alle Gruppen gemittelte durchschnitt- liche relative Distanz pro Gruppe aus allen Berechnungen bedeutet (vgl.

Tab. 5, letzte Zeile).

Tab. 6. Resultate des Validierungstests.

KR-Probleme HT-Probleme Bestwert-

summe

Mittelwert- summe

Bestwert- distanz

Mittelwert- distanz Nr. Validierungs-

variante

(Längeneinheiten) (%) 0 beste

GA-Variante 2014 2024,3 0,6 1,0

1 Adaption mit offe-

nem Container 2026 2034,5 2,2 1,6 2 ohne Crossover 2023 2030,8 0,9 1,4 3 ohne Schicht-

verschmelzung 2018 2025,4 1,3 1,5 4 ohne

Nachoptimierung 2025 2036,2 0,6 1,0 Die Ergebnisse besagen, dass die Adaption mit geschlossenem Container ein deutlich höheres Lösungsniveau im Vergleich zur konkurrierenden Adaptionsvariante erzielt. Ferner zeigt sich, dass sowohl der Crossover-

(41)

operator wie auch die Schichtverschmelzung einen erheblichen Beitrag zur Lösungsqualität leisten. Erwartungsgemäß beansprucht der Cross- overoperator beträchtlichen Aufwand; ohne ihn sinken die Rechenzeiten in ähnlichem Maße ab wie bei der Reduzierung des vorgegebenen Lö- sungsniveaus.

Während die Nachoptimierung bei den KR-Problemen die benutzte Containerlänge im Schnitt um eine Einheit vermindert, bleibt sie bei den HT-Problemen ohne Effekt. Hierfür gibt es mehrere Gründe. So kommt die Nachoptimierung bei der Berechnung der HT-Probleme häufig gar nicht zum Zuge, weil bereits zuvor Optimallösungen erreicht werden. Fer- ner sind die Maße der Packstücke und des Containers für die Nachopti- mierung ungünstig. Nachteilig wirkt sich beispielsweise aus, dass viele Instanzen eine relativ hohe Containerbreite besitzen. Auf der anderen Sei- te erhöht die Nachoptimierung den Rechenzeitaufwand auch bei größeren Instanzen kaum.

Untersucht wurde schließlich der Effekt des Lernens der Schichtpara- meter. Hierzu wurde der GA zum einen mit den besten vier fixierten Wertekombinationen für diese Parameter getestet, wobei jeweils nur ein Lauf (nruns = 1) ausgeführt wurde. Ferner wurde je ein Lauf mit dyna- mischer Verteilung der Schichtparameter für die beiden in Tab. 3 ange- gebenen Startverteilungen durchgeführt. Dabei schnitten im Mittel über alle Berechnungen für die KR- und die HT-Probleme die beiden dyna- mischen Varianten leicht besser ab als die beste Variante mit festen Para- meterwerten. Ein klareres Bild ergab sich bezüglich der von dem GA insgesamt erzielten Bestwerte für die KR- und HT-Probleme. Mit den vier statischen Varianten werden durchschnittlich nur 64%, mit der besten sta- tischen Variante 73% aller Bestwerte eingestellt. Mit den beiden dyna- mischen Varianten werden im Schnitt 83%, mit der besseren dyna- mischen Variante 85% aller Bestwerte erreicht. Das Lernkonzept für die Schichtparameter hat damit einen wesentlichen Anteil an der Erzeugung hochwertiger Lösungen. Eine noch gründlichere Validierung dieses Kon- zepts bleibt einer späteren Untersuchung vorbehalten.

(42)

5 Zusammenfassung

In diesem Beitrag wurde ein GA für das zweidimensionale Strip-Packing- Problem vorgeschlagen, mit dem schichtartig strukturierte Packpläne er- zeugt werden. Der GA wurde durch Adaption eines genetischen Algo- rithmus für das CLP gewonnen. Als geeigneter Adaptionsansatz erwies sich die Zurückführung der Lösung des SPP auf die Lösung mehrerer CLP-Instanzen mit sinkenden Containerlängen. Eine Verbesserung der Lösungsqualität wurde durch die Dynamisierung der Parameter für die Schichterzeugung, eine darauf basierende Diversifizierung der Suche so- wie durch eine Heuristik zur Nachoptimierung von Lösungen erreicht.

Anhand bekannter Benchmarkprobleme wurde nachgewiesen, dass der GA – jedenfalls für stark heterogene Packstückmengen – hochwertige, fast-optimale Lösungen bei akzeptablen Rechenzeiten erzielt. Der GA er- wies sich als dominant gegenüber fünf Vergleichsverfahren.

Die Suche wird mittels problemspezifischer Operatoren unmittelbar im Raum der vollständig bestimmten Packpläne durchgeführt. Der GA ist da- her gemäß der Einteilung der Lösungsansätze für Packprobleme von HOP- PER und TURTON (2000) der Gruppe 3 zuzuordnen. Eine besonders aus- geprägte Überlegenheit konnte gegenüber mehreren Ansätzen der Grup- pe 1 beobachtet werden, die auf einer Lösungsrepräsentation basieren, welche die Platzierungsreihenfolge der Stücke kodiert. Aus einer gegebe- nen Reihenfolge wird mittels einer Platzierungsheuristik, die jedes Pack- stück quasi nur separat sieht, ein Packplan erzeugt. Dieser permutations- basierte Ansatz erschwert eine informierte, auf die gesamten jeweiligen Problemdaten abgestimmte Generierung von Packplänen. Demgegenüber berücksichtigt der hier vorgeschlagene GA aufgrund der integrierten Heu- ristik zur Schichterzeugung die Problemdaten in höherem Maße simultan und verhält sich in diesem Sinne ganzheitlicher. Seine Dominanz gegen- über den umrissenen permutationsbasierten Ansätzen erscheint daher an- satzbedingt und durchaus plausibel. Analoge Ergebnisse ergaben sich im Übrigen bei der Untersuchung des eindimensionalen Bin-Packing-Prob- lems (vgl. FALKENAUER 1998).

Die Vergleichsverfahren der Gruppe 1 stellen Metaheuristiken ver- schiedener Typen dar, was sich indes auf die Lösungsgüte – relativ zu dem GA – kaum auswirkt. Für den Erfolg eines Packverfahrens ist offen- bar nicht in erster Linie der Typ der Metaheuristik ausschlaggebend. We-

(43)

sentlicher erscheinen die Repräsentation, ggf. die Qualität integrierter Heuristiken für die Platzierung sowie die Fähigkeit, mittels einer geeigne- ten Bewertung von Lösungen die Suche zu lenken.

Insgesamt zeigt der Beitrag, dass das Strip-Packing-Problem mittels genetischer Algorithmen mit einer problemnahen Repräsentation und ent- sprechenden Operatoren erfolgreich behandelt werden kann. Offenbar sollte den Packverfahren der Gruppe 3 für das SPP wie andere Packprob- leme mehr Aufmerksamkeit geschenkt werden. Die Transformation eines CLP-Verfahrens in ein SPP-Verfahren mit guten Ergebnissen belegt fer- ner die enge Verwandtschaft beider Probleme und lädt dazu ein, weitere Packverfahren für das Containerbeladeproblem in zwei oder drei Dimen- sionen in korrespondierende SPP-Verfahren zu transformieren.

Literatur

BORTFELDT, A.; GEHRING,H. (1999): Two metaheuristics for strip packing problems. In: Despotis, D.K.; Zopounidis, C. (eds.), Proceedings of the Fifth International Conference of the Decision Sciences Institute, Athen, Vol. 2, pp. 1153–1156.

BORTFELDT, A.; GEHRING,H. (2001): A hybrid genetic algorithm for the container loading problem. European Journal of Operational Research 131, pp. 143–

161.

COFFMAN JR.,E.G.;SHOR,P.W.(1990):Average-case analysis of cutting und packing in two dimensions. European Journal of Operational Research 44, pp. 134–144.

DYCKHOFF,H. (1990): A typology of cutting und packing problems. European Journal of Operational Research 44, pp. 145–159.

DYCKHOFF,H.; FINKE,U. (1992): Cutting und packing in production und distribution. Physica, Heidelberg.

DYCKHOFF,H.; SCHEITHAUER,G.;TERNO,J.(1997): Cutting und packing.

Annotated bibliographies in combinatorial optimization. Wiley, Chichester.

FAINA,L. (1999): Application of simulated annealing to the cutting stock problem. European Journal of Operational Research 114, pp. 542–556.

FALKENAUER,E. (1998): Genetic Algorithms und Grouping Problems. Wiley, Chichester.

Referenzen

ÄHNLICHE DOKUMENTE

[r]

Liegt die Auslöschung der Nädelchen, welche den Sphärolith zu- sammensegen, parallel zur Längsrichtung, so erscheinen alle die Nadeln dunkel, die von vorn nach hinten und die von

Das Modulsteuerungssystem MMC, das neben dem Aggregat in einem eigenen Schaltschrank untergebracht ist, übernimmt alle wichtigen Funktionen, die für die ständige Überwachung und

Rat des Kreises

Rat des Kreises

shen Gesamtheit, die hier betrahtet wird, entspriht dies einer Mittelung uber  ein statistishes. Ensemble, in dem alle m oglihen Spinkongurationen (Mikrozust ande) zu festem E; m;

(Auf dem Kriegsschauplatz). Brjänzew, A., Priester, Magazinstr., Kirchenhaus. Brock, Egmont, Kfm. Brock, Robert, Kfm. Broecker, Lydia, franz Lehrerin, Jakobstr. A.,

Neben einer Fülle von technischen und taktischen De- tails des Luftkrieges befasst sich der Autor mit der Strategie, die dem britisch-ameri- kanischen Luftkrieg — seiner Meinung nach