• Keine Ergebnisse gefunden

dreidimensionale Strip-Packing-Problem

N/A
N/A
Protected

Academic year: 2022

Aktie "dreidimensionale Strip-Packing-Problem "

Copied!
15
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Diskussionsbeiträge des Fachbereichs Wirtschaftswissenschaft der FernUniversität Hagen

Herausgegeben vom Dekan des Fachbereichs

Eine Heuristik für das

dreidimensionale Strip-Packing-Problem

Andreas Bortfeldt und Daniel Mack Diskussionsbeitrag Nr. 357

März 2004

(2)

Andreas Bortfeldt und Daniel Mack Abstract:

The contribution presents a heuristic for the three-dimensional strip-packing problem (3D-SPP) with rectangular shaped pieces (boxes). The considered 3D-SPP can be formulated as follows: for a given set of boxes and a given longitudinal open container, determine a feasible arrangement of all boxes within the container so that the required container length is minimized.

The presented heuristic was derived from a branch-and-bound approach for the container loading problem (CLP) that was recently proposed by Pisinger. This method fills the container in a number of vertical layers across the length of the container.

Two approaches are investigated to adapt the CLP method to the 3D-SPP. The first approach, re- ferred to as adaptation with an open container, looks directly at a container of practically infinite length. The second approach, referred to as adaptation with closed container, generates a solution of an SPP instance by computing a sequence of CLP instances with descending container lengths. For each container length, this approach tries to reuse parts of the current best solution by packing its best layers in terms of volume utilization first. New layers are then constructed for the remaining boxes. If all boxes can be stowed within the current container length, a new best solution has been achieved. The approach with closed containers proves to be much more successful.

The heuristic for the SPP is subjected to a comparative test that considers some alternative methods.

The test is based on a subset of the well-known benchmark instances from Bischoff and Ratcliff for the CLP, which have been adapted to the 3D-SPP. The obtained computational results show a high performance of the proposed heuristic.

Key words:

Packing, strip packing, three-dimensional strip packing problem, rectangular shaped pieces, heuristic.

Fachbereich Wirtschaftswissenschaft, FernUniversität Hagen, Profilstr. 8, D-58084 Hagen, BRD

Tel.: 0049-2331-987-4431 Fax: 0049-2331-987-4447

E-Mail: Andreas.Bortfeldt@FernUni-Hagen.de

(3)

Eine Heuristik für das dreidimensionale Strip-Packing-Problem

A. Bortfeldt und D. Mack

1 Einleitung

Den Gegenstand dieses Beitrags bildet das dreidimensionale Strip-Packing-Problem (SPP), das in der hier behandelten Ausprägung wie folgt formuliert werden kann: Gegeben sei eine Menge von quaderförmigen Packstücken (nachfolgend Kisten) sowie ein in Längsrichtung offener Container.

Gesucht ist eine zulässige Anordnung aller Kisten in dem Container, die die benötigte Contai- nerlänge minimiert und gegebenenfalls zusätzliche Restriktionen berücksichtigt.

Eine Kistenanordnung gilt als zulässig, wenn je zwei Kisten überschneidungsfrei plaziert sind, alle Kisten die Breiten- und Höhenbegrenzung des Containers einhalten sowie parallel zu den Contai- nerwänden angeordnet sind. Bezüglich der Struktur der Kistenmenge werden keine einschränkenden Voraussetzungen gemacht; der Kistenvorrat kann sowohl homogen (ein Kistentyp), schwach hete- rogen (wenige Kistentypen, viele Kisten pro Typ) wie auch stark heterogen (viele Kistentypen, we- nige Kisten pro Typ) sein. Die Kisten eines Typs stellen kongruente Quader dar.

In der Praxis treten verschiedene Restriktionen bei der Containerbeladung auf; einen Überblick hierzu geben BISCHOFF und RATCLIFF (1995). Hier wird lediglich eine Orientierungsrestriktion in die Problemstellung einbezogen. Die Orientierungsrestriktion beschränkt die zulässigen Orientie- rungsvarianten der Kisten einer gewissen Teilmenge des Kistenvorrats. Pro Kiste können bis zu fünf der ursprünglich sechs möglichen Varianten der räumlichen Orientierung ausgeschlossen werden.

Das Strip-Packing-Problem kann sowohl in zwei (2D) wie auch in drei (3D) Dimensionen betrach- tet werden und stellt neben dem Knapsack-Problem und dem Bin-Packing-Problem einen weiteren Basistyp mehrdimensionaler Packprobleme dar (vgl. COFFMAN und SHOR 1990, WOTTAWA 1996, MARTELLO et. al. 1998). Anders als die beiden letztgenannten Probleme besitzt das Strip-Packing- Problem offensichtlich keine eindimensionale Variante. Das dreidimensionale Knapsack-Problem wird hier auch als Containerbeladeproblem (CLP) bezeichnet. Hinsichtlich der Klassifizierung von Pack- und Verschnittproblemen sei auf DYCKHOFF (1990), DYCKHOFF und FINKE (1992) sowie DYCKHOFF et al. (1997) verwiesen. Da allerdings Container mit variablen Seitenmassen in der Ty- pologie von DYCKHOFF nicht vorkommen, wird das Strip-Packing-Problem noch nicht adäquat be- rücksichtigt und es bietet sich eine entsprechende Weiterentwicklung der Typologie an.

Das Strip-Packing-Problem besitzt verschiedene praktische Anwendungen. Im 2D-Fall tritt es als spezielles Cutting-Stock-Problem bei der Verschnittoptimierung etwa in der Glas- und Metallindu- strie auf. Bei der Layoutgenerierung von VLSI-Schaltkreisen sind rechteckige Blöcke auf einer Flä- che minimaler Größe zu plazieren – eine dem 2D-Strip-Packing-Problem verwandte Problemstel- lung (vgl. SCHNECKE 1996). Im dreidimensionalen Fall kann die Lösung des Strip-Packing- Problems dem Design und der Auswahl von Behältern oder auch von Fahrzeugen eines Fuhrparks für die Verpackung bzw. den Transport einer gegebenen Menge von Gütern dienen (vgl. SIXT 1996).

Das Strip-Packing-Problem ist NP-hart (vgl. HOPPER und TURTON 2001) und gehört als mehrdimen- sionales Pack- und Verschnittproblem zu den besonders schwierigen kombinatorischen Optimie- rungsproblemen. Bei den vorgeschlagenen Lösungsverfahren handelt es sich daher meist um her- kömmliche heuristische Ansätze und um metaheuristische Verfahren, darunter genetische Algo- rithmen (GA), Tabu-Search- (TSA) und Simulated-Annealing-Algorithmen.

Eine umfassende Übersicht der für verschiedene Ausprägungen des 2D-SPP inzwischen zahlreich entwickelten metaheuristischen Verfahren geben HOPPER und TURTON (2000) sowie HOPPER und

(4)

TURTON (2001). Weitere kürzlich präsentierte metaheuristische Verfahren für das 2D-SPP stammen von MONACI (2001) und BORTFELDT (2003).

In deutlichem Kontrast zum zweidimensionalen Fall wurden für das 3D-SPP bisher erst wenige Lösungsverfahren vorgeschlagen. Heuristische Verfahren werden von GEORGE und ROBINSON

(1980) sowie BISCHOFF und MARRIOTT (1990) vorgestellt. In beiden Fällen wird eine Greedy- Technik benutzt und die Beladung erfolgt jeweils nach dem schichtbildenden (oder mauer- bildenden) Ansatz: der gegebene Container wird in vertikalen Schichten gefüllt, die in Richtung der Containerlänge aufeinander folgen. In dem Verfahren von GEORGE und ROBINSON wird eine einzel- ne Schicht in übereinanderliegende horizontale Streifen zerlegt; pro Streifen werden jeweils mehre- re Kisten hintereinander in der Breitenrichtung des Containers angeordnet. Die in dem Beitrag von BISCHOFF und MARRIOTT erstmals präsentierten Heuristiken kombinieren bei dem Füllen von Schichten eine 2D-Packprozedur mit der Prozedur von GEORGE und ROBINSON. Beide Beiträge ver- deutlichen, daß bei der Verwendung des schichtbildenden Ansatzes die Lösungsgüte essentiell von der geeigneten Bestimmung der Dicke der Schichten abhängt.

Unter den in der Arbeit von SIXT (1996) entwickelten metaheuristischen Verfahren erweist sich ein Tabu-Search-Algorithmus als überlegen. Der TSA basiert auf einer Kodierung, bei der eine Lösung durch eine Plazierungsreihenfolge sowie fixierte räumliche Orientierungen aller Kisten repräsentiert wird. Nachbarlösungen ergeben sich durch Tausch zweier Kisten in der Plazierungsreihenfolge der aktuellen Lösung oder durch Variation der Orientierung einer Kiste. Für die Transformation einer kodierten Lösung in einen vollständig bestimmten Stauplan sorgt eine elementare Heuristik, die jede Kiste möglichst weit unten und möglichst nahe einer Stirnseite des Containers plaziert.

BORTFELDT und GEHRING (1999) stellen einen TSA und einen GA für das 3D-SPP vor. Beide Ver- fahren wurden durch eine Adaption korrespondierender CLP-Verfahren an das 3D-SPP gewonnen und behalten die wesentlichen Merkmale der Originalverfahren bei (vgl. BORTFELDT und GEHRING

1998, BORTFELDT und GEHRING 2001). Für beide Verfahren werden je zwei Adaptionsansätze un- tersucht. Während der erste Ansatz unmittelbar von einem Container mit beliebig großer Länge aus- geht, führt der zweite Ansatz die Lösung einer SPP-Instanz auf die Berechnung einer Folge von CLP-Instanzen mit sinkenden Containerlängen zurück. Der TSA wie auch der GA für das 3D-SPP wurden schließlich parallelisiert, wobei jeweils alle beteiligten Prozesse nebenläufig die vollständi- ge Problemstellung bearbeiten.

In diesem Beitrag soll ein weiteres Containerbeladeverfahren, nämlich die Heuristik von PISINGER

(2002), an das dreidimensionale Strip-Packing-Problem angepasst werden. Dabei kommen die er- wähnten Adaptionsansätze von BORTFELDT und GEHRING (1999) erneut zur Anwendung. Der Rest des Beitrages ist wie folgt gegliedert. Abschnitt 2 gibt eine kurze Beschreibung des Verfahrens von PISINGER. In Abschnitt 3 wird dieses Verfahren an das Strip-Packing-Problem angepasst, während Abschnitt 4 das adaptierte Verfahren einem Test unterzieht. Abschnitt 5 faßt die Ergebnisse des Beitrages zusammen.

(5)

3

2 Die Heuristik von Pisinger für das Containerbeladeproblem

Das Verfahren von PISINGER (2002) basiert auf dem schichtbildenden Ansatz. Die schichtartige Struktur erzeugter Staupläne wird in Abb. 1 verdeutlicht. Die Länge, Breite und Höhe des Contai- ners werden durch lC, wC bzw. hC bezeichnet. Die Breite und die Höhe jeder Schicht ist durch das Containermaß wC bzw. hC bestimmt, während die in der Längsrichtung des Containers liegende Schichtdicke jeweils geeignet zu ermitteln ist.

Schicht 1 Schicht 2 lC

hC

Schichtdicke

Abb. 1. Schichtartige Struktur eines Stauplans.

Um eine Schicht gegebener Dicke zu füllen, wird sie sukzessive in mehrere Streifen zerlegt, deren Dicke mit der Schichtdicke übereinstimmt (vgl. Abb. 2). Verwendet werden Streifen horizontaler und vertikaler Richtung. Bei einem horizontalen Streifen ist die Streifenhöhe hS geeignet zu wäh- len, während sich die Streifenbreite aus der Containerbreite wC und den bereits abgeteilten Streifen ergibt. Analog ist bei einem vertikalen Streifen die Streifenbreite wS geeignet festzulegen, während die Streifenhöhe aus der Containerhöhe hC und den bereits vorhandenen Streifen resultiert. In Abb. 2 wurde zuerst ein horizontaler Streifen 1 mit der Streifenhöhe hS1 und danach ein vertikaler Streifen 2 mit der Streifenbreite wS2 abgeteilt. Jeder Streifen wird durch mehrere, in Streifenrich- tung hintereinander plazierte Kisten gefüllt, während in beiden orthogonalen Richtungen jeweils nur eine Kiste vorhanden ist.

Streifen- breite wS2

hC 2 5

1 3

4

Streifen- höhe hS1

. . . . . .

...

wC

Abb. 2. Querschnitt einer Schicht mit horizontalen und vertikalen Streifen.

Das Verfahren löst das Containerbeladeproblem als Maximumproblem; als Zielfunktion dient das verstaute Kistenvolumen. Nachfolgend wird beschrieben, wie die besten Schichtdicken für die Schichten eines Stauplans sowie die beste Streifenzerlegung einer Schicht ermittelt und wie die Ki- stenanordnung für einen Streifen berechnet wird:

(6)

(1) Die besten Schichtdicken werden mittels einer Baumsuche bestimmt. Für eine vorliegende Teil- lösung, die bereits eine gewisse Anzahl von Schichten umfaßt, werden M1 alternative Schicht- dicken für die nächste Schicht ausgewählt. Pro Schichtdicke wird eine Nachfolger-Schicht gene- riert. Eine vollständige Lösung ist erreicht, wenn entweder die verbleibende Containerlänge nicht mehr ausreicht, um noch eine weitere Kiste zu packen oder wenn bereits alle Kisten verla- den wurden. Im letzteren Fall terminiert das Verfahren, da offenbar eine Optimallösung gefun- den wurde.

(2) Zur Ermittlung der besten Streifenrichtungen und -maße für die Streifen einer Schicht wird ebenso jeweils eine Baumsuche durchgeführt. Liegt bereits eine Teillösung für eine Schicht mit einer gewissen Anzahl von Streifen vor, so werden M2 Streifenhöhen für einen horizontalen Streifen und M2 Streifenbreiten für einen vertikalen Streifen selektiert. Für jede der 2.M2 Strei- fenvarianten wird ein Nachfolger-Streifen, d.h. die zugehörige Kistenanordnung, erzeugt.

(3) Beide Suchvorgänge werden als Backtracking-Suche realisiert und verzahnt abgewickelt, wobei die Suche nach den besten Schichtdicken übergeordnet ist. Der Suchaufwand wird zum einen mittels der Parameter M1 und M2 beschränkt, welche die Nachfolgeranzahlen von Teillösungen begrenzen. Ferner benutzt die Heuristik als ein Branch-and-Bound-Verfahren auf beiden Such- ebenen einfache upper bounds zur Reduzierung des Suchaufwands. So wird bei der Schichten- suche die Summe aus dem in einer Teillösung verstauten Kistenvolumen und dem restlichen Containervolumen betrachtet. Diese Volumensumme bildet einen upper bound für das verstaute Volumen aller kompletten Lösungen, die aus der Teillösung hervorgehen. Sie wird daher nicht mehr fortgesetzt, wenn der upper bound nicht größer als das verstaute Kistenvolumen der aktuel- len Bestlösung ist.

(4) Die alternativen Schicht- und Streifenmaße werden jeweils einheitlich nach einer heuristischen Regel bestimmt. Als besonders erfolgreich erweist sich eine Regel, bei der für die Schicht- und Streifenmaße einerseits besonders große und andererseits besonders häufig vorkommende Ki- stenabmessungen – bezogen auf die jeweils noch nicht verpackten Kisten – gewählt werden.

(5) Zur Bestimmung der Kistenanordnung für einen Streifen werden die noch unverstauten und in den Streifen passenden Kisten selektiert. Jede dieser Kisten wird geeignet rotiert, so dass die zur Streifenrichtung orthogonalen Streifenmaße möglichst gut ausgelastet werden. Danach steht pro Kiste das in Streifenrichtung liegende Kistenmaß fest. Es liegt folglich ein eindimensionales Knapsack-Problem vor, das mit einem effizienten Teilverfahren optimal gelöst wird. Um die Streifen in der Längsrichtung des Containers möglichst gut auszulasten, werden teilweise auch Kisten gepaart, wobei die Kistenpaare dann als Einzelkisten in die Berechnung der Streifenan- ordnung eingehen.

Das Verfahren berücksichtigt keine zusätzlichen Restriktionen der Verstauung und beachtet insbe- sondere keine Stabilitätsforderungen wie etwa die ausreichende Unterstützung aller nicht auf dem Containerboden plazierten Kisten. Während es daher für das 3D-Verschnittproblem ohne weiteres nutzbar ist, erfordert seine Verwendung als Packverfahren eventuell Maßnahmen wie den Einsatz von Füllstoffen. Für die Zwecke dieses Beitrages wurde die Heuristik von PISINGER dahingehend erweitert, daß die in Abschnitt 1 eingeführte Orientierungsrestriktion ggf. eingehalten wird.

(7)

5

3 Adaption an das Strip-Packing-Problem

Im folgenden werden zwei Ansätze der Adaption des Verfahrens von PISINGER (nachfolgend kurz CLP-Verfahren) an das 3D-SPP beschrieben. Bei beiden Ansätzen wird der bekannte kontinuier- liche lower bound lCLb für die benutzte Containerlänge einer SPP-Instanz verwendet, der wie in Abb. 3 angegeben berechnet wird. Ferner wird bei beiden Ansätzen eine von dem CLP-Verfahren gelieferte Lösung einer CLP-Instanz als SPP-zulässig bezeichnet, wenn alle Kisten des übergebenen Kistenvorrats in dem Container der CLP-Instanz verstaut wurden. Zur Steuerung des Aufwands wird als Parameter beider Ansätze eine Zeitschranke maxTime eingeführt, deren Überschreitung zum Abbruch des Verfahrens führt.

3.1

Adaption mit offenem Container

Bei dem ersten Adaptionsansatz, bezeichnet als Adaption mit offenem Container, wird der zu bela- dende Container quasi an einer Stirnseite geöffnet. Für jede SPP-Instanz wird die Containerlänge lC auf einen hinreichend hohen Wert gesetzt, so daß alle Kisten im Container angeordnet werden kön- nen. Ein hinreichend großer lC-Wert wird bestimmt, indem der kontinuierliche lower bound lCLb mit einem Parameter cLC (cLC > 1) multipliziert wird. Führt nun das CLP-Verfahren mit der so bestimmten Containerlänge lC eine Suche durch, so kann auf jedem Suchpfad der übergeordneten Schichtensuche erst dann keine weitere Schicht mehr erzeugt werden, wenn keine weitere Kiste mehr zu packen ist bzw. wenn eine SPP-zulässige Lösung erreicht wurde (vgl. Abschnitt 2, (1)).

Das CLP-Verfahren wird lediglich wie folgt modifiziert:

- Als Zielfunktion wird nun die zu minimierende benutzte Containerlänge lCUsed verwendet.

lCUsed ist derjenige Anteil der Containerlänge, der mit Kisten ausgefüllt ist und ergibt sich gemäß der Einbettung des Containers in ein 3D-Koordinatensystem als maximale Koordinate aller Kisten in der lC-Richtung des Containers.

- Der Suchprozeß terminiert nicht, sobald alle Kisten verstaut sind, da die Fortsetzung der Suche zu SPP-zulässigen Lösungen mit besserem Zielfunktionswert führen kann (vgl. Abschnitt 2, (1)). Ein Abbruch der Suche erfolgt jedoch dann, wenn der Zielfunktionswert der besten er- zeugten Lösung, bezeichnet durch lCUsed*, den lower bound lCLb erreicht.

- Die übergeordnete Schichtensuche wird in anderer Weise beschränkt (vgl. Abschnitt 2, (3)).

Eine vorliegende Teillösung s aus einer oder mehreren Schichten beanspruche die Container- länge lCUsed(s); lCLb(s) bezeichne den kontinuierlichen lower bound der beanspruchten Con- tainerlänge bezogen auf die Kistenmenge, die in s noch nicht verstaut ist. Dann bildet offenbar die Summe lCUsed(s) + lCLb(s) einen lower bound für die benutzte Containerlänge aller (kom- pletten) Lösungen der SPP-Instanz, die aus der Teillösung s erzeugbar sind. Daher wird die Teillösung s nicht mehr fortgesetzt, falls der Wert lCUsed(s) + lCLb(s) den bisher besten Ziel- funktionswert lCUsed* nicht unterschreitet.

3.2

Adaption mit geschlossenem Container

Der zweite Adaptionsansatz, benannt als Adaption mit geschlossenem Container, führt die Lösung einer Instanz des 3D-SPP auf die Lösung einer Folge von CLP-Instanzen mit sinkenden Container- längen zurück. Hierzu wird das CLP-Verfahren in eine Steuerheuristik eingebettet, die in Abb. 3 dargestellt und im folgenden erläutert wird.

(8)

input (Containerbreite wC, Containerhöhe hC, Kistenmenge B);

{initialisiere}

lower bound der benutzten Containerlänge lCLb := (b B volume b( )) /(wC hC ) ; Containerlänge lC := cLClCLb;

benutzte Containerlänge lCUsed := lC;

Bestlösung SolBest := ∅;

{lC-Schleife}

repeat

{initialisiere Berechnung für Containerlänge lC}

foundSolNew := false; {keine neue SPP-Lösung gefunden}

nL := Anzahl der Schichten von SolBest;

dL := max(1, nL/maxTr + 0.5 ); {Inkrement der Anzahl der aufzulösenden Schichten pro Versuch}

{berechne SPP-Lösung für Containerlänge lC mit maximal maxTr Versuchen}

for iTr := 1 to maxTr do

nLNew := iTr dL; {Anzahl aufzulösender Schichten}

if nLNew < nL then {mindestens eine Schicht wird beibehalten}

Menge der neu zu verstauenden Kisten BNewPart :=

Menge der Kisten der nLNew Schichten von SolBest mit geringster Auslastung;

Menge der beibehaltenen Schichten SolOldPart :=

Menge der (nL – nLNew) Schichten von SolBest mit größter Auslastung;

lCOldPart := benutzte Containerlänge aller Schichten von SolOldPart;

else {alle Schichten werden aufgelöst}

BNewPart := B;

SolOldPart := ∅;

lCOldPart := 0;

endif;

löse die CLP-Instanz (lC – lCOldPart, wC, hC, BNewPart) mit dem CLP-Verfahren und lege die Schichten der Lösung in SolNewPart ab;

if SolNewPart enthält alle Kisten von BNewPart then foundSolNew := true;

SolBest := SolOldPart SolNewPart;

lCNewPart := benutzte Containerlänge aller Schichten von SolNewPart;

lCUsed := lCOldPart + lCNewPart;

break;

else if nLNew ≥ nL then break; endif;

endif;

endfor;

{reduziere Containerlänge}

if foundSolNew then lC := lCUsed – 1;

endif;

until (not foundSolNew or lCUsed = lCLb);

output(SolBest, lCUsed);

Abb. 3. Steuerheuristik für die Adaption mit geschlossenem Container.

Zu Beginn wird die Containerlänge lC wie bei der Adaption mit offenem Container initialisiert, die benutzte Containerlänge lCUsed auf den Wert lC gesetzt und die Bestlösung als leer initialisiert.

Bei jedem Durchlauf der folgenden Containerlängen(lC)-Schleife wird mit Hilfe des CLP-Verfah- rens eine CLP-Instanz gelöst, die durch die die aktuelle Containerlänge lC, die übrigen festen Con- tainermaße und die Kistenmenge B der SPP-Instanz definiert ist. Enthält die berechnete Lösung der

(9)

7

CLP-Instanz alle Kisten von B, so liegt zugleich eine zulässige Lösung der SPP-Instanz vor. In die- sem Fall wird die von der Lösung tatsächlich beanspruchte Containerlänge lCUsed (lCUsed ≤ lC) bestimmt und für den nächsten Schleifendurchlauf die aktuelle Containerlänge lC auf lCUsed – 1 gesetzt. Da die Containerlänge pro Schleifendurchlauf reduziert wird, stellt jede ermittelte zulässige Lösung der SPP-Instanz eine neue SPP-Bestlösung dar. Wird bei einem Schleifendurchlauf erstmals keine zulässige Lösung der SPP-Instanz ermittelt oder hat die aktuelle Containerlänge den lower bound lCLb erreicht, so wird die zuletzt bestimmte SPP-Lösung und die zugehörige beanspruchte Containerlänge lCUsed als Verfahrenslösung ausgegeben und das Verfahren terminiert.

Um den Suchaufwand des Verfahrens möglichst gering zu halten, wird bei der Berechnung der CLP-Instanz für eine aktuelle Containerlänge lC wie folgt vorgegangen (vgl. Abb. 3):

- Beim ersten Durchlauf der lC-Schleife wird eine CLP-Instanz mit der gesamten Kistenmenge B berechnet.

- Bei jedem folgenden Durchlauf werden bis zu maxTr Versuche ausgeführt, um eine zulässige SPP-Lösung für die jeweilige Containerlänge zu gewinnen. Im iTr-ten Versuch werden die nLNew = iTr⋅dL Schichten der vorhandenen Bestlösung SolBest mit schlechtester Volumenaus- lastung aufgelöst (iTr = 1, …, maxTr). Die übrigen Schichten werden in die potentielle neue SPP-Lösung übernommen und beanspruchen eine Containerlänge lCOldPart. Während maxTr (maxTr 1) ein Verfahrensparameter ist, wird das Inkrement dL der pro Versuch aufzulösen- den Schichten aus maxTr und der Anzahl aller Schichten der bisher besten Lösung bestimmt.

- Aus der Auflösung der schlechtesten nLNew Schichten resultiert eine CLP-Instanz mit der Con- tainerlänge lC – lCOldPart und der Kistenmenge BNewPart. Diese CLP-Instanz wird mit dem CLP-Verfahren berechnet. Liefert es eine SPP-zulässige Lösung bezüglich BNewPart, so ist die Vereinigung der übernommenen und der neu generierten Schichten auch eine zulässige SPP- Lösung für die gesamte Kistenmenge B und die Containerlänge lC.

- Bei der Berechnung der CLP-Instanz ist nur eine SPP-zulässige Lösung bezüglich BNewPart von Interesse. Daher wird innerhalb des CLP-Verfahrens ein beliebiger Pfad der Baumsuche für die Schichtdicken nicht weiter verfolgt, sobald das Volumen der noch unverstauten Kisten das restliche zur Verfügung stehende Volumen des Containers der Gesamtlänge lC – lCOldPart überschreitet.

- Sobald eine zulässige SPP-Lösung für die Containerlänge lC erreicht wurde, werden die Lö- sungsversuche abgebrochen, die Containerlänge lC reduziert und die lC-Schleife wird erneut durchlaufen. Wurden bei einem Lösungsversuch alle Schichten aufgelöst, so wird ebenfalls kein weiterer Versuch mehr durchgeführt.

Da für jede betrachtete Containerlänge die Anzahl der aufgelösten Schichten im Laufe der Versuche schrittweise gesteigert wird, zielt der Ansatz darauf ab, jeweils nur wenige Schichten neu zu be- rechnen. Um die Chance auf eine erfolgreiche Reduzierung der beanspruchten Containerlänge zu erhöhen, werden jedes Mal die Schichten mit schlechtester Auslastung aufgelöst.

Zum Verständnis des Ansatzes sei nochmals unterstrichen, daß das CLP-Verfahren stets terminiert, sobald es eine Optimallösung für eine CLP-Instanz gefunden hat. Es prüft also nicht, ob die gegebe- ne Kistenmenge der aktuellen CLP-Instanz eventuell auch in einem kürzeren Container plazierbar ist. Aus dieser Tatsache ergibt sich, daß im Laufe der Suche immer bessere SPP-Lösungen gefunden werden können.

(10)

4 Verfahrenstest

Für den Test des Verfahrens wird eine Auswahl der von BISCHOFF undRATCLIFF (1995) bzw. DAVIS

undBISCHOFF (1998) vorgeschlagenen 1500 Instanzen für das Containerbeladeproblem verwendet.

Die ersten 700 Instanzen sind in der OR-Library abgelegt (siehe http://mscmga.ms.ic.ac.uk/). Die 1500 Instanzen gliedern sich in 15 Testfälle zu je 100 Problemen. Alle Instanzen eines Testfalls stimmen bezüglich der Anzahl der Kistentypen überein.

Werden die vorgegebenen Containerlängen ignoriert, so lassen sich diese CLP-Beispiele unmittel- bar als 3D-SPP-Instanzen nutzen. Hier werden nur die ersten 10 Instanzen der ersten 10 Testfälle für den Test verwendet und in 10 SPP-Testfälle, bezeichnet durch SP-BRi, i = 1,…,10, mit je 10 In- stanzen gegliedert. Die Orientierungsrestriktion der Originalbeispiele wird beibehalten. Weitere Restriktionen sind nicht vorhanden; insbesondere werden bei dem Verfahrenstest keine Stabilitäts- forderungen beachtet. In Tab. 1 werden Kenndaten der 10 Testfälle aufgelistet. Sie zeigen, daß sich der Charakter der Kistenvorräte schrittweise von schwach in stark heterogen wandelt.

Tab. 1. Kenndaten der Testfälle SP-BR1 bis SP-BR10 von BISCHOFF undRATCLIFF. Testfall Anzahl

Kistentypen

mittlere Kisten- anzahl

mittlere Anzahl Kisten pro Typ

SP-BR01 3 139.4 46.5

SP-BR02 5 140.1 28.0

SP-BR03 8 135.4 16.9

SP-BR04 10 132.2 13.2

SP-BR05 12 127.8 10.6

SP-BR06 15 133.8 8.9

SP-BR07 20 129.2 6.5

SP-BR08 30 138.0 4.6

SP-BR09 40 127.5 3.2

SP-BR10 50 129.2 2.6

Das vorgeschlagene Verfahren wird nachfolgend durch SPBBL (Strip-Packing, Branch-and-Bound, Layer-approach) bezeichnet, wobei die Adaptionsvarianten mit offenem und mit geschlossenem Container durch SPBBL-OC (open container) bzw. SPBBL-CC (closed container) abgekürzt wer- den. Bei der Implementierung des Verfahrens wurde der von PISINGER bereitgestellte C-Code seiner Heuristik genutzt und ergänzt (vgl. PISINGER 2002). Das Verfahren wird für den Test wie folgt kon- figuriert. Für die Parameter M1 und M2 der Heuristik von PISINGER (vgl. Abschnitt 2) werden durchweg die Werte 4 bzw. 8 benutzt. Auch für weitere Parameter dieser Heuristik, die ebenfalls der Begrenzung des Suchaufwands dienen, werden die in PISINGER (2002) angegebenen Werte bei- behalten. Der Test wird auf einem Athlon-PC mit der Taktfrequenz von 1 GHz durchgeführt. Für beide Verfahrensvarianten SPBBL-OC und SPBBL-CC wird für die Zeitschranke maxTime der Wert 300 Sekunden verwendet und der Parameter cLC auf den Wert 1.75 gesetzt.

In Tab. 2 werden zunächst die beiden Adaptionsansätze untereinander verglichen. Dabei wird die Verfahrensvariante SPBBL-CC sowohl mit dem Parameterwert maxTr = 4 wie auch mit dem Wert maxTr = 1 getestet. Man beachte, daß bei maxTr = 1 für jede zu lösende CLP-Instanz stets alle Schichten neu erzeugt werden (vgl. Abb. 3).

Pro Verfahrensvariante und Testfall wird in Tab. 2 die mittlere prozentuale Volumenauslastung, bezeichnet durch VolUtil, angegeben. Weiterhin werden pro Verfahren und Testfall die mittleren Rechenzeiten bis zum Erreichen der besten Lösung der jeweiligen Instanz in Sekunden (s), bezeich- net durch TimeToBest, aufgelistet. Die Mittelung erfolgt jeweils über die 10 Instanzen des Testfalls.

(11)

9

In der Zeile „Mittel“ werden die Volumenauslastungen VolUtil und die Zeiten TimeToBest über alle 10 Testfälle gemittelt. In der letzten Zeile werden die Rechenzeiten pro Instanz, gemittelt über alle Testfälle, in Sekunden angegeben.

Tab. 2. Ergebnisse des Vergleichs der Verfahrensvarianten SPBBL-OC und SPBBL-CC.

Testfall SPBBL-OC SPBBL-CC (maxTr = 1) SPBBL-CC (maxTr = 4) VolUtil (%) TimeToBest (s) VolUtil (%) TimeToBest (s) VolUtil (%) TimeToBest (s) SP-BR01 87.1 22.9 87.1 38.7 87.3 19.0 SP-BR02 88.2 48.6 88.4 49.3 88.5 29.0 SP-BR03 88.8 48.2 89.3 59.3 89.5 12.8 SP-BR04 89.3 138.7 89.6 105.3 90.0 55.6 SP-BR05 88.1 102.9 88.8 86.0 89.5 49.1 SP-BR06 87.6 98.4 89.4 196.9 89.8 59.0 SP-BR07 87.8 92.4 88.7 174.8 89.6 74.2 SP-BR08 86.1 104.6 87.6 181.7 87.6 118.1 SP-BR09 83.4 103.0 86.6 177.6 86.8 140.2 SP-BR10 83.0 116.2 85.6 173.6 87.5 108.8

Mittel 86.9 88 88.1 124 88.6 67

Rechenzeit (s) 241 212 208

Die Ergebnisse in Tab. 2 besagen:

- Der Adaptionsansatz mit geschlossenem Container dominiert klar gegenüber dem Ansatz mit offenem Container. Sowohl für schwach heterogene als auch für stark heterogene Kistenvorräte wird ein merklicher Zuwachs der Volumenauslastung bzw. eine entsprechende Reduzierung der Containerlänge erreicht. Für die Parameterwahl maxTr = 4 erzielt SPBBL-CC gegenüber SPBBL-OC einen mittleren Anstieg der Volumenauslastung über alle Testfälle von 1.7 Pro- zentpunkten, während die mittlere benötigte Rechenzeit um etwa 14% reduziert wird.

- Das Konzept der Adaptionsvariante SPBBL-CC, nach dem pro CLP-Instanz möglichst nur we- nige Schichten neu erzeugt werden, erweist sich als effizient. So wird mittels SPBBL-CC bei der Parameterwahl maxTr = 4 im Vergleich zu maxTr = 1 gemittelt über alle Testfälle ein Zu- wachs der Volumenauslastung von 0.5 Prozentpunkten erreicht. Zugleich sinkt die Zeit Time- ToBest bis zum Erreichen der besten Lösung im Mittel um fast 50%. Bei einer Reduzierung der Zeitschranke maxTime ist folglich zu erwarten, daß der mittlere Anstieg der Volumenaus- lastung bzw. die korrespondierende Reduzierung der benötigten Containerlänge im Vergleich zu einer kompletten Neuerzeugung aller Schichten pro CLP-Instanz (maxTr = 1) noch wesent- lich höher ausfällt.

Im Mittel über alle Testfälle werden bei SPBBL-CC (maxTr = 4) für jede während der Suche be- rechnete CLP-Instanz nur durchschnittlich 36.95% der Schichten neu erzeugt. Dies besagt, daß die meisten während der Suche zu lösenden CLP-Instanzen einen im Vergleich zur SPP-Instanz kleinen Kistenvorrat besitzen und daher von relativ geringer Komplexität sind.

In Abb. 4 wird anhand der 7. Instanz des Testfalls SP-BR07 ein typischer Verlauf der Suche für die Verfahrensvarianten SPBBL-OC und SPBBL-CC (maxTr = 1 und maxTr = 4) dargestellt.

Die Verfahrensvarianten SPBBL-OC und SPBBL-CC, maxTr = 1, benötigen 232 Sekunden bzw.

156 Sekunden bis zur besten Lösung, während SPBBL-CC, maxTr = 4, die beste Lösung bereits nach 110 Sekunden erreicht. Die Variante SPBBL-CC erzeugt für maxTr = 4 insgesamt 22 SPP- Lösungen, wobei nur bei 6 Lösungen mehr als 4 Schichten neu erzeugt werden. Für die Berechnung

(12)

dieser 6 Lösungen werden ca. 90% der Zeit TimeToBest verwendet. Das Beispiel veranschaulicht daher, daß bei dem Adaptionsansatz mit geschlossenem Container der weitaus größte Teil des Be- rechnungsaufwands auf die Lösung weniger CLP-Instanzen entfällt.

Abb. 4. Verlauf der Suche für die 7. Instanz des Testfalls SP-BR07.

Abschließend wird die beste Verfahrensvariante SPBBL-CC (maxTr = 4) einigen Verfahren aus der Literatur gegenübergestellt. Als Vergleichsverfahren werden die besten sequentiellen und parallelen Varianten des TSA bzw. des GA von BORTFELDT und GEHRING (1999) berücksichtigt. Diese Ver- fahren wurden seinerzeit auf Pentium-PCs mit einer Taktfrequenz von 400 MHz getestet, wobei für die parallelen Verfahren je vier PCs benutzt wurden. Die benutzte Zeitschranke betrug 30 Minuten.

Pro Probleminstanz wurde mit den GA-Varianten nur eine Berechnung durchgeführt.

Ferner wird das erfolgreichste der von SIXT (1996) vorgestellten Verfahren, ein TSA mit der Be- zeichnung “TS(best)“, für einen indirekten Vergleich herangezogen. SIXT berechnete mit diesem Verfahren 60 Probleme, die sich in 6 Testfälle zu je 10 Problemen mit jeweils einheitlicher Kisten- typanzahl gliedern. Die Testfälle seien durch Sj, j = 1,...,6, bezeichnet. Da sie nicht verfügbar sind, werden die Ergebnisse des Verfahrens TS(best) für diese 6 Testfälle den Resultaten der Vergleichs- verfahren für die SP-BR-Testfälle mit übereinstimmenden Kistentypanzahlen gegenübergestellt.

Natürlich ist der vorgenommene Vergleich mit dem Verfahren von SIXT nur begrenzt aussagefähig.

Tab. 3 enthält die Ergebnisse des Vergleichstests. Neben der Volumenauslastung VolUtil wird die durch LbGap bezeichnete mittlere prozentuale Abweichung der beanspruchten Containerlänge lCUsed vom kontinuierlichen lower bound lCLb aufgelistet. LbGap berechnet sich pro Instanz ge- mäß (lCUsed – lCLb)/lCLb 100. Die Mittelung erfolgt jeweils über die 10 Instanzen des Testfalls.

In der Zeile „Mittel“ werden die Volumenauslastungen VolUtil und Abweichungen LbGap über alle 10 Testfälle gemittelt, während in der Zeile „Mittel Sixt“ die mittleren Volumenauslastungen über die diejenigen Testfälle aufgelistet werden, für die ein Vergleich mit dem Verfahren von SIXT mög- lich ist. Zuletzt werden die mittleren Rechenzeiten pro Instanz über alle Testfälle angegeben. Die

78,00 80,00 82,00 84,00 86,00 88,00 90,00 92,00

0,00 50,00 100,00 150,00 200,00 250,00

Zeit (s)

Volumenauslastung (%)

78,00 80,00 82,00 84,00 86,00 88,00 90,00 92,00

0,00 50,00 100,00 150,00 200,00 250,00

Zeit (s)

Volumenauslastung (%)

78,00 80,00 82,00 84,00 86,00 88,00 90,00 92,00

0,00 50,00 100,00 150,00 200,00 250,00 Ze it (s )

Volumenauslastung (%)

SPBBL-CC, m axTr=4 SPBBB-CC, m axTr=1 SPBBL-OC

(13)

11

Rechenzeiten der Vergleichsverfahren wurden auf den Athlon-Prozessor (1 GHz) umgerechnet. Die von den Parallelverfahren insgesamt benötigte Rechenzeit ist viermal so hoch wie angegeben.

Tab. 3. Resultate des Vergleichstests.

Testfall BORTFELDT & GEHRING (1999) SIXT (1996) SPBBL-CC sequ. GA par. GA sequ. TSA par. TSA TS(best) (maxTr = 4) LbGap

(%)

VolUtil (%)

LbGap (%)

VolUtil (%)

LbGap (%)

VolUtil (%)

LbGap (%)

VolUtil (%)

Testfall VolUtil (%)

LbGap (%)

VolUtil (%) SP-BR01 19.5 83.8 18.9 84.3 8.5 92.1 8.3 92.3 S1 (3) 91.7 14.7 87.3 SP-BR02 13.5 88.0 12.8 88.6 8.0 92.5 6.9 93.5 S2 (5) 87.7 13.0 88.5 SP-BR03 12.7 88.7 12.3 89.0 10.0 90.9 8.3 92.3 – 11.7 89.5 SP-BR04 13.9 87.8 12.9 88.5 11.1 89.9 10.0 90.8 S3 (10) 90.0 11.1 90.0 SP-BR05 14.0 87.7 13.4 88.1 12.4 89.0 11.2 89.9 – 11.7 89.5 SP-BR06 14.8 87.1 12.7 88.7 14.5 87.2 12.0 89.2 S4 (15) 84.5 11.3 89.8 SP-BR07 17.2 85.3 13.8 87.8 17.6 84.9 14.7 87.1 S5 (20) 88.6 11.5 89.6 SP-BR08 19.5 83.6 16.3 85.9 22.5 81.5 19.0 84.0 S6 (30) 85.3 14.3 87.6 SP-BR09 23.3 81.1 18.6 84.3 27.2 78.6 23.5 80.9 – 15.3 86.8 SP-BR10 28.3 78.0 21.8 82.1 30.1 76.9 26.4 79.1 – 14.2 87.5

Mittel 17.7 85.1 15.4 86.7 16.2 86.4 14.0 87.9 – – 12.9 88.6 Mittel Sixt 85.9 87.3 88.1 89.5 88.0 88.8 Rechenzeit

(s, 1GHz) 481 233 588 468 208

Die Ergebnisse des Vergleichstests lassen sich wie folgt zusammenfassen:

- Für Testfälle mit schwächer heterogenem Kistenvorrat erzielt der TSA von BORTFELDT und GEHRING (1999) die höchsten Auslastungen. Das gute Abschneiden des TSA für schwach hete- rogene Instanzen ist darauf zurückzuführen, daß er in diesem Fall relativ große Blöcke aus Ki- sten eines Typs und mit gleicher räumlicher Orientierung bildet, die keinen (inneren) Volumen- verlust aufweisen. Dagegen erreicht das Verfahren SPBBL-CC für Testfälle mit stärker hetero- genem Kistenvorrat mit Abstand die beste Volumenauslastung.

- Im Mittel über alle Testfälle dominiert die Heuristik SPBBL-CC die betrachteten Vergleichs- verfahren sowohl hinsichtlich der Lösungsqualität als auch bezüglich der benötigten Rechen- zeit. Bezogen auf das zweitbeste Verfahren, den parallelen TSA, wird eine Auslastungsverbes- serung von 0.7 Prozentpunkten erreicht, während die Rechenzeit nur etwa 11% der gesamten Rechenzeit des parallelen TSA beträgt.

Allerdings sollte berücksichtigt werden, daß die Verfahren von BORTFELDT und GEHRING (1999) stets eine vollständige Unterstützung aller verstauten Kisten gewährleisten, während diese Stabi- litätsforderung weder von dem Verfahren von SIXT noch von der Heuristik SPBBL eingehalten wird.

(14)

5 Zusammenfassung

Der Beitrag präsentiert eine Heuristik für das 3D-Strip-Packing-Problem, die von dem schichtbil- denden Containerbeladeverfahren von PISINGER (2002) abgeleitet wurde. Zur Adaption an das 3D-SPP werden zwei Ansätze erprobt. Während die Adaption mit offenem Container quasi von einem beliebig langen Container ausgeht, führt die Adaption mit geschlossenem Container die Lö- sung einer SPP-Instanz auf die Berechnung mehrerer CLP-Instanzen mit sinkenden Containerlängen zurück. Ebenso wie bei BORTFELDT und GEHRING (1999) erweist sich der Adaptionsansatz mit ge- schlossenem Container als deutlich überlegen.

Zur Reduzierung des Verfahrensaufwands werden bei der Adaption mit geschlossenem Container zur Berechnung der jeweils nächsten CLP-Instanz möglichst viele Schichten hoher Auslastung von der vorherigen SPP-Bestlösung übernommen und nur wenige Schichten neu berechnet. Die durch- geführten Experimente bestätigen, daß auf diese Weise die Generierung von Schichten bzw. die Anzahl zu berechnender komplexerer CLP-Instanzen stark reduziert werden kann. Dementspre- chend entfällt der größte Teil des Suchaufwands auf die Lösung relativ weniger komplexerer CLP- Instanzen.

Für den Test der Heuristik wird eine Auswahl der bekannten CLP-Instanzen von BISCHOFF und RATCLIFF (1995)benutzt, die an das 3D-SPP angepasst wurden. Bei dem Test erreicht die beste Ver- fahrensvariante (mit geschlossenem Container) im Mittel eine bessere Auslastung als fünf Ver- gleichsverfahren und benötigt zugleich eine wesentlich geringere Rechenzeit. Eine besonders deut- liche Dominanz gegenüber den Vergleichsverfahren zeigt sich für stark heterogene Instanzen, wäh- rend für schwach heterogene Instanzen die Auslastungswerte der besten Vergleichsverfahren ver- fehlt werden.

Prinzipiell kann jedes CLP-Verfahren in einen SPP-Algorithmus transformiert werden, indem die Lösung des Strip-Packing-Problems auf die Lösung einer Folge von CLP-Instanzen mit sinkenden Containerlängen zurückgeführt wird. Besonders einfach gestaltet sich dabei die Implementierung, weil das CLP-Verfahren gewissermaßen als „black box“ behandelt wird, mit dem lediglich eine Interaktion über seine Input/Output-Schnittstelle erfolgt. Erzeugt das CLP-Verfahren schichtartig strukturierte Packpläne, so kann der Berechnungsaufwand reduziert werden, indem die besten Teile bereits berechneter SPP-Lösungen beibehalten und vorwiegend CLP-Instanzen von geringerer Komplexität berechnet werden.

(15)

13

Literatur

BISCHOFF, E.E.; MARIOTT, M.D. (1990). A comparative evaluation of heuristics for container loading. European Journal of Operational Research, Vol. 44, pp. 267–276.

BISCHOFF,E.E.;RATCLIFF,M.S.W.(1995). Issues in the development of approaches to container loading. Omega, Vol.

23, pp. 377–390.

BORTFELDT, A.; GEHRING,H. (1998). Ein Tabu Search-Verfahren für Containerbeladeprobleme mit schwach heteroge- nem Kistenvorrat. OR Spektrum, Vol. 20, pp. 237–250.

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, Athens, 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.

BORTFELDT, A. (2003). A genetic algorithm for the two-dimensional strip-packing problem. Submitted to European Journal of Operational Research.

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

DAVIES,A.P.;BISCHOFF,E.E. (1998). Weight Distribution Considerations in Container Loading. European Business Management School, University of Wales, Swansea, Statistics and OR Group, Arbeitsbericht.

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

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

DYCKHOFF,H.; SCHEITHAUER,G.;TERNO,J.(1997). Cutting and packing. Annotated bibliographies in combinatorial optimization. Chichester, John Wiley & Sons.

GEORGE,J.A.;ROBINSON,D.F.(1980).A heuristic for packing boxes into a container. Computers & Operations Re- search, Vol. 7, pp. 147–156.

HOPPER, E.; TURTON, B.C.H. (2000). An empirical investigation of meta-heuristic and heuristic algorithms for a 2D packing problem. European Journal of Operational Research 128, pp. 34–57.

HOPPER, E.; TURTON, B.C.H. (2001). A review of the application of meta-heuristic algorithms to 2D strip packing prob- lems. Artificial Intelligence Review 16, pp. 257–300.

MARTELLO,S.;PISINGER,D.;VIGO,D.(2000). The three-dimensional bin packing problem. Operations Research, Vol.

48, pp. 256–267.

MONACI, M (2001). Algorithms for Packing and Scheduling Problems. PhD Thesis, Università degli studi di Bologna.

PISINGER, D. (2002). Heuristics for the Container Loading Problem. European Journal of Operational Research, Vol.

141, pp. 143–153.

SCHNECKE, V. (1996). Hybrid genetic algorithms for solving constrained packing and placement problems. Dissertation, Fachbereich Mathematik und Informatik, Universität Osnabrück.

SIXT, M. (1996). Dreidimensionale Packprobleme. Lösungsverfahren basierend auf den Metaheuristiken Simulated Annealing und Tabu-Suche. Frankfurt am Main, Peter Lang, Europäischer Verlag der Wissenschaften.

WOTTAWA, M. (1996). PACKLIB: Ein ASCII-Datenformat für Packungsprobleme. Zentrum für Paralleles Rechnen, Universität zu Köln, Report No. 96-216.

Referenzen

ÄHNLICHE DOKUMENTE

Im Kerne spätgotisch (XV. jh.) mit Umbauten aus dem Ende des XVIII. angehörende Apsis wurde im XV. ein gotisc~es Langhaus und die Sakristei angebaut. Am Ende des

Befestigung mit Betonsteinpflaster 20/10/8 cm, ohne Fase, Farbe dunkelgrau, Läuferverband gepl.. Befestigung mit Betonsteinpflaster 20/10/8 cm, ohne Fase, Farbe

Es sollte daran erinnert werden, dass die politi- sche und religiöse Führung des Irans glaubt, die natürliche Quelle der Auto- rität für alle Schiiten der Region, auch jene

Bereits heute werden an den Regionalspitälern und teilweise auch an Bezirksspitälern Studenten in Medizin ausgebildet, wo die Studierenden eher näher an die Realität der zukünftigen

Der Prozess des Fotografierens kann, das wird anhand von Heads and Tales deutlich, eine ganze Persönlichkeit definieren: Das Foto fixiert nur einen bestimmten

Die nächsten Wochen und Monate werden deshalb nicht nur für die Pflegekräfte und Ärzte, sondern auch für die Polizistin- nen und Polizisten zu einer Herausforderung.. Die Polizei

Für die Apotheke heißt das, es müssen neue Etiketten für Stand- gefäße und Reagenzien sowie für die Abgabe von Gefahrstof- fen beschafft werden.. In den SDB stehen während

Sanktionen sind möglich und aus Wettbewerbsgründen erforderlich Unternehmen müssen gemäß REACH-Verordnung. „sofern irgend möglich“ auf