Lecture Notes in Economics and Mathematical Systems

Werbung
Lecture Notes
in Economics and
Mathematical Systems
Operations Research, Computer Science, Social Science
Edited by M. Beckmann, Previdence, G. Gees, Karlsruhe, and
H. P. Künzi, Zürich
4
Sranch and Sound:
Eine Einführung
Zweite, geänderte Auflage
Herausgegeben von F. Weinberg
Unterlagen für einen Kurs des Instituts für
Operations Research der ETH Zürich
Spri nger-Verlag
Berlin . Heidelberg . NewYork 1973
Advisory Board
H. Albach . A. V. Balakrishnan . F. Ferschl . R. E. KaIman· W. Krelle . G. Seegmüller
N. Wirth
Prof. Dr. Franz Weinberg
Institut für Operations Research
der ETH Zürich
8006 Zürich, Clausiusstr. 55
AMS Subject Classifications (1970): 90-B-99, 90-02
ISBN-13: 978-3-540-06112-0
e-ISBN -13: 978-3-642-80724-4
DO!: 10.1007/978-3-642-80724-4
This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned,
specifically those of translation, reprinting, re-use of illustrations, broadcasting, reproduction by photocopying machine
or similar means, and storage in data banks.
Under § 54 of the German Copyright Law where copies are made for other than private use, a fee is pavable to the publisher,
the amount of the fee to be determined by agreement with the publisher.
© by Springer-Verlag Berlin . Heidelberg 1973. Library of Congress Catalog Card Number 72-95677.
Offsetdruck: Julius Beltz, HemsbachfBergstr.
VORWORT
Es gibt eine grosse Menge von betriebswirtschaftlichen Entscheidungsfragen,
die sich mit den nunmehr bereits als herkömmlich geltenden Optimierungsmethoden des Operations Research nicht behandeln la§sen, sei es beispielsweise, dass die Zielfunktion und auch einzelne Restriktionen nicht konvex sind,
sei es, dass nur ganzzahlige Lösungen toleriert werqen, sei es, dass die von
einzelnen Variablen angenommenen Zahlenwerte Einfluss auf die Gültigkeit
ganzer Restriktionengruppen nehmen.
So wachsen z. B. die Kosten der Lagerhaltung als Sprungfunktion mit der Errichtung jedes zusätzlichen Warenhauses und sie nehmen für jedes bestehende
Warenhaus meist konkav mit der Quantität der gelagerten Güter zu. Dieser
nicht-konvexe Charakter kann sich in einer Zielfunktion (Kosten-Minimierung)
oder in einer Restriktion äussern (Nicht-Ueberschreitung einer Kostenlimite).
Die Anzahl von Warenhäusern ist offenbar eine ganze Zahl, deren Optimum
unter Angabe der zugehörigen geographischen Standorte gesucht werden mag.
Die Notwendigkeit der Berücksichtigung ortsgebundener Restriktionen für
einzelne Warenhäuser (z.B. Provenienzvorschriften betreffend deren eigene
Güterversorgung) ist vom Werte der logischen Variablen" abhängig, der angibt,
ob ein bestimmtes Warenhaus errichtet werden soll oder nicht.
Es würde nicht schwer fallen, eine lange Liste von derartigen Problemen aufzuzählen, die alle sehr erhebliche finanzielle Bedeutung für eine Unternehmung
annehmen. Diese Probleme haben schon immer bestanden; es ist interessant,
dass sie in letzter Zeit immer häufiger genannt werden und der Ruf nach ihrer
Lösung mit immer grösserer Dringlichkeit ertönt.
Diese Erscheinung ist allerdings erklärbar. Zunächst darf man feststellen, dass
das Operations Research sich nach und nach als Disziplin etabliert hat. Die
Führungsspitzen von Unternehmungen beginnen sich langsam mit diesem Werkzeug zu befreunden und wünschen mit seiner Hilfe Antwort auf Fragen von hoher
Wichtigkeit zu erhalten, die sie bisher nur mühevoll und mit dem unbehaglichen
Gefühl von grosser Unsicherheit behandeln konnten. Dies betrifft häufig PolitikVariantenprobleme .
Während Mischungsprobleme, wie sie beispielsweise ins Gebiet der gewöhnlichen linearen Programmierung fallen (z.B. optimale Produktionsmengenzusammensetzung) mit den klassischen Methoden des Operations Research meist
lösbar sind, stellen Politik-Variantenprobleme normalerweise Aufgaben des
eingangs erwähnten Typus dar. Nun sind Mischungsprobleme aber naturgemäss
meist nicht so kritischer Natur, weil intuitiv gewählte Lösungen oft schon
optimumnah ausfallen und sich schlimmstenfalls zu gegebener Zeit korrigieren
lassen. Eine bestehende Fabrik kann ohne allzu schwerwiegende Eingriffe ihren
Produktionsplan leicht abändern, und die damit verbundenen Kosten sind taktischer GrÖssenordnung.
- IV -
Politik-Varianten sind im allgemeinen nicht stetig modifizierbar. Eine Firma,
die 10 Fabriken und 20 Warenhäuser betreibt, kann die einzelnen gewählten
Standorte nicht adaptiv verschieben. Die Unternehmungsleitung muss sich anlässlich von Reorganisationsmassnahmen oder bei Erweiterungsabsichten für
eine bestimmte Verteil-Organisation entscheiden, jegliche Aenderungen sind
einschneidender Natur und finanziell von strategischer Dimension.
Im Zuge der immer stärker sich abzeichnenden Kontaktnahme zwischen
Management und Operations Research-Fachleuten ist es daher verständlich,
dass gerade derartige, vom unternehmerischen Standpunkt aus besonders
brennende Probleme in den Vordergrund gerückt werden. Gleichzeitig - und
dies ist kein Zufall, denn angewandte Wissenschaft und Praxis stehen seit jeher
und auf allen Gebieten in gegenseitiger, anspornender Wechselwirkung, - wurden neue Verfahren entwickelt, die auf Probleme dieser Art zugeschnitten sind.
Diese Verfahren sind noch keineswegs vollkommen und sie führen auch nicht
immer zum Ziel; denn je nach der angewandten Methodik ist entweder die
Konvergenz oft schlecht oder der Rechenaufwand wächst mit der Dimension
des Problems häufig explosionsartig . Das letztere Charakteristikum trifft für
kombinatorische Vorgehensweise zu.
Das im folgenden zur Sprache gelangende Branch and Bound-Verfahren kann
zu den kombinatorischen Methoden gezählt werden. Im wesentlichen liegt sein
Bestreben darin, durch ausgeklügelte Systematik von der normalerweise unübersehbaren Anzahl erlaubter Lösungen so rasch wie möglich ganze Familienzweige als nicht in Frage kommend abzuspalten und auf diese Weise mit oft
einfacher Probiertechnik das gesuchte Optimum aufzuspüren.
Branch and Bound ist gegenwärtig in Mode. Es ist nie schlecht, eine vernünftige Mode mitzumachen, denn so bleibt man in lebendigem Kontakt mit der Entwicklung. Ob die hier vorliegende Moderichtung sich als dauerhaft erweisen
wird, muss die Zukunft zeigen. Sicherlich darf man baldige Erarbeitung neuer
verbesserter Methoden erwarten, sowohl auf dem Gebiete des Branch and
Bound als auch auf jenem anderer Techniken, die sich mit den gleichen Aufgabenstellungen befassen. Einstweilen aber reicht der gegenwärtige Stand des
Branch and Bound schon aus, um recht viele bedeutsame Aufgaben des
Operations Research zu lösen und wertvolle Anregungen für eine weitere Bereicherung des mathematischen Instrumentariums dieser Disziplin zu bieten.
Prof. Dr. Franz Weinberg
Direktor des Instituts für Operations Research
der ETH
INHA LTSVERZEIC HNIS
1
2
3
4
5
6
7
8
9
Branch and Bound: Eine Einführung
GIANCORRADO ESCHER
1
GIANCORRADO ESCHER
20
Das Handelsreisenden-Problem
Ein Branch and Bound-Algorithmus zur Bestimmung
einer exakten Lösung des Maschinenbelegungsplanproblems für 3 Maschinen
ULRICH WEISNER
33
OTTO MUELLER
45
NILS KYED
64
PETER KALL
75
PIA PFLUGER
90
Ganzzahlige, Null-Eins- und Gemischt-Ganzzahlige
Programmierung im Zusammenhang mit der
Branch and Bound-Technik
WOLF GANG RUNGGALDIER
107
Vertreter-Touren mit zeitlich variabler Dringlichkeit
Das verallgemeinerte Knapsack-Problem
Zusammenhang zwischen Dynamischer Programmierung
und Branch and Bound
Diskussion der Modellwahl am Beispiel des
Travelling-Salesman Problems
Optimales Rangieren
PETER SCHALTEGGER
127
JOSEF ACHERMANN
143
10
Optimale Bildung von Nahgüterzügen
11
Gemeinsame Losgrössenrechnung für Teilevarianten
bei deterministischem Bedarf
KLAUS RUTZ
155
VERZEICHNIS
DER
AUTOREN
Dr. Josef Achermann
Wander AG., Bern
Giancorrado Escher, dipl. Phys. ETH
Institut für Operations Research der ETH Zürich
Prof. Dr. Peter Kall
Institut für Operations Research der Universität Zürich
Dr. Pia Korevaar-Pfluger
Math. Dept. San Diego State College
Nils Kyed
Institut für Elektronische Datenverarbeitung der
Universität Zürich
Dr. Otto Müller
Werkzeugmaschinenfabrik Oerlikon-Bührle AG.
Prof. Dr. Wolfgang Runggaldier
Universita degli Studi di Padova
Dr. Klaus Rutz
Heberlein & Co. AG., Wattwil
Peter Schaltegger, lic. Math.
FIDES Treuhand-Vereinigung, Zürich
Ulrich Weisner, dipl. Phys. ETH
Institut für Operations Research der ETH Zürich
HERSTELLUNG DES MANUSKRIPTS
Frau Maria Daniel, Institut für Operations Research der ETH Zürich
VORBEMERKUNG
Bei dieser Veröffentlichung handelt es sich um eine Zusammenstellung von Unterlagen für einen vom Institut für Operations
Research der ETH Zürich gehaltenen Kurs.
Gegenüber der 1. Auflage wurden einige wesentliche Aenderungen
vorgenommen, die der Ergänzung und der besseren Verständlich.,.
keit dienen.
Einige der Beiträge folgen ziemlich genau den Gedankengängen
bereits publizierter Abhandlungen. Die entsprechenden Literaturangaben gehen aus dem Text hervor.
BRANCH
AND
BOUND:
EINE
EINFUEHRUNG
Giancorrado Escher
1. 1.
Einführendes Beispiel
Die Verkehrsbetriebe einer Stadt unterhalten ein Netz von 5 Linien
mit folgendem maximalen Wagenbedarf pro Linie:
Linie
Fahrzeuge
1
17
2
16
3
21
4
8
5
12
total
(1. 1)
74
Der Wagenpark beträgt 80 Fahrzeuge, es stehen also jeweils mindestens 6 Fahrzeuge ausser Betrieb (Revisionen, Reparaturen, Einsatzmöglichkeit bei Notfällen, etc.).
Erhebungen aus dem letzten Betriebsjahr ergaben folgende mittlere
Zahlen von beförderten Passagieren (in 1000) pro Tag:
Linie
Passagiere (in 1000)
1
11
2
14
3
16
4
8
5
7
total
56
(1. 2)
- 2 -
Auf sämtlichen Linien verkehrt Rollmaterial desselben Typus, das jedoch infolge langjährigen Gebrauchs im Betrieb sehr teuer geworden ist.
Es ist ausserdem veraltet und genügt nicht mehr den Anforderungen an
Bequemlichkeit, die der Fahrgast erwartet. Die Gesellschaft beschliesst
daher, ihren Wagenpark zu erneuern; in einer 1. Etappe steht ihr zu
diesem Zwecke ein Kredit zur Verfügung, der es gestattet, höchstens
40 Fahrzeuge durch wirtschaftlichere, modernere und komfortablere zu
ersetzen.
Der Austausch der Fahrzeuge soll nach folgenden Richtlinien vorgenommen werden:
1)
Auf allen Linien bleibt die gleiche Anzahl Fahrzeuge wie bisher im
Einsatz.
2)
Die Linien mit den höheren Beförderungszahlen sollen als erste berücksichtigt werden, um möglichst viele Passagiere in den Genuss
der grösseren Bequemlichkeit zu bringen.
3)
Die Ersetzung soll linienweise erfolgen, d. h., am Schluss soll es
keine Linie geben, auf der gleichzeitig neue und alte Wagen verkehren. Dies mit Rücksicht auf die Wagenführer, die linienweise eingesetzt sind und umgeschult werden müssen, falls die Linie auf
neues Rollmaterial eingerichtet wird.
4)
Es ist damit zu rechnen, dass, bei Bestellungen bis 30 Wagen deren
2, von 31 bis 40 Wagen deren 3 wegen Reparaturen, Revisionen,
Einsatz bei Notfällen, etc. ausser Betrieb in Reserve gelassen werden müssen.
Wieviel Fahrzeuge soll die Gesellschaft ersetzen und wie sollen die
neuen Wagen auf die Linien verteilt werden, um möglichst vielen Fahrgästen den höheren Komfort zur Verfügung zu stellen?
- 3 -
Bei diesem recht einfachen Problem dürfte es nicht schwierig sein,
die Optimallösung zu "erraten". Man findet sie z. B., indem man, unter
möglichster Ausschöpfung des "Plafonds" von 40- 3 = 37 Fahrzeugen,
diese auf verschiedene Arten auf die Linien verteilt:
Linien
Total Wagen
Total Passagiere (in 1000)
1 2
33
25
1 4 5
37
26
2 3
37
30
2 4 5
36
29
3 4
29
24
3 5
33
23
(1. 3)
Durch Vergleich der beförderten Passagierzahlen erkennt man, dass
die dritte Politik - "Ersetzen der Wagen auf Linien 2 und 3" - die optimale ist. Sie schöpft - nebenbei bemerkt - die Maximalzahl Fahrzeuge
aus.
Nachdem dieser erste, mehr intuitive Lösungsweg gezeigt wurde, soll
eine strengere, verallgemeinerungsfähige Methode ausgearbeitet werden.
Zu diesem Zwecke führe man folgende Variable ein:
x.
1
Anteil neuer Wagen am Bedarf für die Linie
(i = 1, ... , 5).
Dann kann man das Problem wie folgt schreiben:
J
1
Max.
z =
(1.4)
(1. 5)
x. = 0 oder 1
1
(i
= 1, ... ,5).
(1. 6)
- 4 -
Dieses Problem sieht einem gewöhnlichen linearen Programm sehr
ähnlich; der Unterschied liegt in den Restriktionen (1.6), die die Ganzzahligkeit fordern und die das Problem in entscheidender Weise verändern. Würde man (1. 6) ersetzen durch
o :s;
x. so: 1
1
(i
= 1, ... ,
5),
(1. 7)
dann hiesse die Lösung des nicht-ganzzahligen Problems:
(1. 8)
das heisst: ersetze alle Fahrzeuge auf Linien 2 und 4, sowie 13 der
21 auf Linie 3. Dadurch werden 31.900 Passagiere berücksichtigt.
Die Einführung der Ganzzahligkeitsrestriktionen verschlechtert also
die Optimallösung um 1,9 Tausend. Das lineare ganzzahlige Programm
(1.4) bis (1.6), mit einer einzigen Restriktion und nur nichtnegativen
Koeffizienten heisst in der Fachliteratur "Rucksackproblem" .
Am Problem (1. 4) bis (1. 6) soll nun das Verfahren "Branch and Bound"
erklärt werden.
1.1.3.
Branch
Um ein schwer lösbares Problem zu lösen (und wir nehmen an, (1. 4)
bis (1. 6) sei schwer lösbar), kann man so vorgehen, dass man es mit
einem zweiten leichteren Problem in Verbindung bringt, und hofft,
zeigen zu können, dass die optimale Lösung des leichten Problems
ebenfalls für das schwere Problem das Optimum darstellt.
Natürlich hat man sich die Frage zu stellen, was passiert, wenn man
nach Lösung des einfachen Problems feststellen muss, dass damit das
schwierige Problem noch nicht gelöst ist.
Man muss dann einen anderen "Versuch" starten, und es stellt sich somit sofort die Frage, nach welchem Kriterium man die verschiedenen
- 5 -
Versuche anlegen und ordnen soll, um mit möglichst wenig Aufwand
und innerhalb einer vernünftigen Zeitspanne zum gewünschten Resultat
zu kommen.
In unserem konkreten Beispiel hat man ein auf der Hand liegendes Verfahren, um aus dem schweren Problem zwei einfachere zu konstruieren: man nehme eine der fünf Variablen und fixiere ihren Wert das eine
Mal auf 0, das andere Mal auf 1; das Resultat dieser Manipulation ist,
dass man zwei "Unterprobleme" von folgender Gestalt erhält:
zl
7x 5 = Max.
=
{
(1. 9)
x.
1
= 0 oder 1
(i
=
2, ... , 5)
11·1 + 14x 2 + 16x 3 + 8x 4 +
7x 5
=
Max.
17·1 + 16x 2 + 21x 3 + 8x 4 + 12x 5 :s: 37
x. = 0 oder 1
1
(1. 10)
(i = 2, ... , 5).
Das erste Glied der Zielfunktion ist in beiden Fällen eine Konstante;
der Effekt dieses ersten Gliedes äussert sich im Wert der Zielfunktion
z 1 bzw. z 2 für das entsprechende Teilproblem, nicht jedoch in den
Werten der Variablen xl' ... , x 5 ' die den Wert zl bzw. z2 liefern;
man kann es daher aus der Zielfunktion streichen, unter der Bedingung,
dass man den Beitrag dieses konstanten Termes nicht v3rgisst. Dieser
Punkt bedarf noch einer Erläuterung, für die auf den nächsten Abschnitt
1.1.4. verwiesen wird.
Die Restriktion der Unterprobleme wird durch Berücksichtigung der
Tatsache, dass das erste Glied eine Konstante ist, modifiziert, indem
man diese Konstante auf die rechte Seite der Ungleichung bringt. Dann
erhält man folgende Formulierung für (1. 9) und (1.10):
- 6 -
14x 2 +16x 3 +8x 4 +
7x 5
16x 2 + 21x 3 + 8x 4 + 12x 5
x. = 0 oder 1
1
(x
14x 2 + 16x 3 + 8x 4 +
Max.
s;
37
= 2, ... , 5)
7x 5
Max.
16x 2 + 21x 3 + 8x 4 + 12x 5 s: 20
x. = 0 oder 1
1
(1.11)
(1. 12)
(x = 2, ... , 5).
Wie man sehen kann, sind zwei neue Probleme entstanden, die in dem
Sinne einfacher sind als das Ausgangsproblem, dass sie je eine Variable weniger enthalten. Im übrigen ist der Problemtyp der gleiche geblieben. Jedes davon ist in dem Sinn als "Unterproblem" des Ausgangsproblems zu bezeichnen, dass dessen Lösungsmenge ein Teil der ursprünglichen Lösungsmenge ist. Man bemerke: die beiden Teilmengen
enthalten keine gemeinsamen Punkte und deren Vereinigung ist identisch
mit der Lösungsmenge des ursprünglichen Problems.
Welches Unterproblem enthält nun die optimale Lösung von (1. 4) bis
(1. 6)? Diese Frage lässt sich leider noch nicht direkt beantworten;
zuerst müssen (1.11) und (1.12) separat gelöst, deren Lösungen verglichen und die bessere davon ausgewählt werden.
Dies tönt zwar recht einfach, erweist sich aber in der Ausführung als
recht umständlich. Will man nämlich den hier eingeschlagenen Lösungsweg beibehalten, so wird man (1. 11) und (1. 12) je ebenso reduzieren,
wie das für das Ausgangsproblem der Fall war: es handelt sich ja um
den gleichen Problemtyp. Damit erhält man Probleme mit nur drei
Variablen; dafür muss man in Kauf nehmen, dass man deren vier zu
lösen hat.
Die Verallgemeinerung ist nun nicht mehr schwierig: bei jedem Schritt
reduziert man die Anzahl Variablen um Eins, dafür verdoppelt man die
Anzahl zu lösender Probleme.
- 7 -
Dies kann man solange weiterführen, bis alle n Variablen durch
Reduktion des Problems einen fixen Wert erhalten haben. Dann hat man
im ganzen 2 n Probleme erzeugt und jedes davon entspricht genau einer
der 2n Möglichkeiten (Kombinationen), den Variablen xl bis x 5 Werte
o oder I zuzuweisen. Zur Auffindung der Optimallösung muss man also
den Lösungsraum (der bei diskreten Problemen aus endlich vielen
Punkten besteht) vollständig durchzählen, enumerieren.
Das kann man machen, wenn n relativ klein ist (in unserem Beispiel
n = 5, 2 n = 2 5 = 32 geht es noch an), wird aber bei Problemen aus
der Praxis mit 20 oder noch mehr Variablen undurchführbar wegen der
enormen Anzahl Lösungspunkte, die man erhält.
Das soeben beschriebene Verfahren kann durch eine der Graphentheorie
entnommene Darstellung veranschaulicht werden: die Menge aller Punkte im Lösungsraum wird durch Festlegen des Wertes einer Variablen
zunächst in zwei Untermengen geteilt, jede davon durch Festlegen einer
weiteren Variablen wiederum in zwei Unter- Untermengen, und so weiter,
bis jede Untermenge noch einen einzigen Punkt im Lösungsraum enthält und der Lösungsraum in seine 2n Komponenten aufgeteilt ist. Das
Bild dieser fortgesetzten Aufspaltung ist durch einen sogenannten Baum
gegeben; er besitzt "Knoten" auf verschiedenen Ebenen und "Knospen"
auf der tiefsten Ebene. Jeder Knoten stellt eine Verästelung des Baumes dar; daher auch der Name des Verfahrens: "Branch".
_s -
o
1
o
1
o
1
o
1
o
1
o
1
o
1
1
o
1
o
1
o
1
o
1
o
1
o
1
o
1
o
1
1
o
1
v o ll s tä n
~
d ig e r L ö
sungsb
S .u rn
1
- 9 -
1.1.4.
Bound
Der zweite Teil des Namens, nämlich "Bound", bedarf nun auch noch
einer Erklärung. Das Verfahren ist in seiner jetzigen Fassung noch zu
schwerfällig und unbrauchbar, da man sämtliche Lösungspunkte durchkämmen muss, um das Optimum zu finden. Man möchte nun einen
Mechanismus einbauen, der das Verfahren verkürzt. Es soll ein Kriterium gewonnen werden, das es erlaubt, einem Knoten anzusehen, welche Aussicht auf Erfolg er verspricht, d. h. welche Aussicht dafür besteht, das Optimum in der entsprechenden Teilmenge von Lösungen zu
finden. Dieses Kriterium wird durch die sogenannte "Schranke" gegeben, die für jeden Knoten ausgerechnet wird. Wie dies im Einzelnen
geschieht, soll zunächst am Beispiel des gestellten Problems demonstriert werden.
Ausgangspunkt sei daher wieder das System (1.4) bis (1.6); um das
Vorgehen zu verdeutlichen, zeichne man, parallel zu den einzelnen
Schritten der Rechnung, den entsprechenden Lösungsbaum. (1.4) bis
(1.6) enthält sämtliche Lösungen, die Spitze des Baumes wird daher
mit "alle Lösungen" angeschrieben. Dazu muss nun noch die entsprechende Schranke berechnet werden. Dies geschieht wie folgt: ohne auf die
Restriktion Rücksicht zu nehmen, fragt man, wieviele Passagiere höchstens in den Genuss der Neuerung kommen können. Falls keine Restriktion (d. h. keine Kreditbeschränkung für Neuanschaffungen) vorliegt,
ist diese Anzahl offensichtlich durch "Alle Passagiere" gegeben. Die
Summe aller Passagiere ist 56'000, wie man leicht nachprüfen kann.
Diese Zahl bildet die sogenannte "Schranke" ("Baound") für den Knoten
nullter Ordnung. Für alle weiteren Knoten (= Teilprobleme) wird nach
demselben Gesichtspunkt verfahren, wie man gleich sehen wird. Vorerst sei aber noch die Zahl "37", nämlich die Anzahl der zur Verfügung
stehenden Fahrzeuge, ebenfalls an den nullten Knoten angeschrieben.
Sodann führe man den ersten Branch-Schritt durch. Es entstehen die
Probleme (1. 11) und (1. 12). Bei näherer Betrachtung sieht man, dass
sie sich lediglich um die Konstante in der Restriktion unterscheiden.
- 10 -
Diese Konstante hat eine sehr anschauliche Bedeutung, nämlich die
Anzahl noch zur Verfügung stehender Fahrzeuge. Das ist der Grund,
warum diese Zahl bei jedem Schritt mitzuführen ist; sie ermöglicht
eine Kontrolle über die "Zulässigkeit" des entsprechenden Knotens,
d. h. "Branch" hat nur dann einen Sinn, solange noch Fahrzeuge zur
Verfügung stehen; der Knoten kann verlassen werden, sobald diese
Zahl negativ werden sollte.
Was die beiden Probleme aber noch weiter unterscheidet, und in (1.11)
bzw. (1.12) gar nicht zum Ausdruck kommt, ist die Schranke, die
man dazu berechnet. In (1.11) wurde ein Entschluss gefasst (xl = 0),
der es 11'000 Passagieren unmöglich macht, auf neuen Fahrzeugen
zu fahren: für dieses Problem ist die Schranke auf b 2 = 45'000 gesunken. Für (1.12) [Entscheid: xl = 1] ist natürlich immer noch der alte
Wert b 1
=
56'000 massgebend: theoretisch ist es immer noch möglich,
sämtliche Passagiere zu berücksichtigen.
Das "Bound", die Schranke, liefert einem also ein "Präferenzkriterium".
Es besteht grössere Hoffnung, das gesuchte Optimum im Teilbaum mit
xl = 1 zu finden.
Deshalb geht man nun so vor, dass man nur diesen Teilbaum, bzw. das
zugehörige Unterproblem, weiter untersucht und auf dieses die gleichen
Gedanken anwendet, die soeben ausgeführt wurden. Das zweite Problem mit xl = 0 wird für den Augenblick zurückgestellt, da es weniger
Aussicht auf Erfolg verspricht (was natürlich nicht heissen soll, dass
es nicht doch noch, zu einem späteren Zeitpunkt, wieder aufgegriffen
werden muss! ).
Ausgehend von (1. 12) wird also nun x 2 = 1 oder x 2 = 0 gesetzt. Dies
führt zu folgenden beiden neuen Unterproblemen, nach einigen Umformungen auf "Normalform" gebracht:
16x 3 + 8x 4 +
7x 5
=
Max.
21x 3 + 8x 4 + 12x 5 ,;; 20
Xi
=
0 oder 1,
(i
=
(1. 13)
3, 4, 5)
- 11 -
z4 = 16x 3 + 8x 4 +
{
7x 5 = Max.
21x 3 + 8x 4 + 12x 5 s; 4
x. = 0 oder 1,
(1. 14)
(i = 3, 4, 5).
1
Nun stehen bereits drei Kandidaten zur Verfügung zur weiteren Untersuchung. Wie vorhin wird man denjenigen aussuchen, dessen Bound
am grössten ist. Mit diesem Prinzip wird übrigens bis zum Schluss
weitergefahren.
Die drei Schranken lauten nun:
42'000
(für (1.13))
56'000
(für (1. 14))
45'000
(für (1. 11))
(1. 15)
Also wird (1. 14) zur weiteren Untersuchung herausgegriffen.
Beim nächsten Branch-Schritt (x 3 = 0 oder x 3 = 1) passiert erstmals
etwas Neues, nämlich, die Restriktion wird für x 3 = 1 verletzt:
z 5 = 8x 4 +
{
7x 5
8x 4 + 12x 5 s; 4
Xi = 0 oder 1,
z6 = 8x 4 +
{
Max.
8x 4 +
(i = 4, 5)
7x 5 = Max.
7x 5 :s: - 17
x. = 0 oder 1,
1
(1. 16)
(1. 17)
(i = 4, 5)
Offensichtlich ist (1.17) unlösbar, da die Konstante auf der rechten
Seite der Restriktion negativ geworden ist, während die linke nur nichtnegative Werte annehmen kann. Es bleibt daher nur (1. 16) zur Diskus-
- 12 -
sion; da das entsprechende Bound b 5 = 40'000 beträgt, und dieser
Wert tiefer liegt als b 1 = 45'000, wird der entsprechende Ast verlassen und wieder auf b 1 , bzw. auf Problem (1. 11) zurückgesprungen.
Es ist nochmals mit Nachdruck darauf hinzuweisen, dass das Nichtverfolgen eines Astes nur provisorischen Charakter hat und man jederzeit
in Kauf nehmen muss, dass man in einer späteren Phase des Verfahrens wieder darauf zurückkommen muss (ausser, wenn der betreffende
Ast keine zulässige Lösung enthält, wie z.B. (1.17)).
Nach Ausführen weiterer Branch and Bound-Schritte auf das Problem
(1. 5) bis (1. 7), die nicht im Detail ausgeführt seien, erhält man folgen-
den Baum (die Knoten sind in der Reihenfolge ihres Auftretens durchnumeriert), vgl. Abb. 1. 2.
Durch konsequentes Ausführen der Branch and Bound-Schritte hat man
bei Schritt No. 17 erstmals das Ende des Baumes erreicht. Die entsprechende Lösung: Xl
x 5 = 0; x 2 = x 3 = 1; b 17 = z = 30'000;
f 17 = 0 (d. h.: alle 37 Fahrzeuge werden beansprucht), stellt eine
"zulässige Lösung" des Problems dar. Ein Vergleich mit der inutitiv
=
x4
=
gefundenen Lösung (vgl. Abschnitt 1.1.1.) zeigt, dass es sich hier
bereits um das Optimum handelt. Leider kann man aus der Sicht des
Branch and Bound- Verfahrens noch nicht diese Behauptung aufstellen,
da einem die nötigen Informationen dazu fehlen.
Man weiss nur, dass der Punkt zulässig ist, bzw. dass er eine mögliche Erneuerungspolitik darstellt. Zur Bestätigung der Optimalität
sind noch zwei Knoten zu untersuchen, nämlich (7) und (15) (vgl.
Abb. 1. 2), deren Bound grösser ist als der soeben gefundene Wert.
Es besteht also noch die Möglichkeit, eine bessere Lösung zu finden.
- 13 -
Lösung Nr. 1
Be schriftung:
CD:
b.
Bound
f.
Restriktions Konstante
x
Lösung nicht
zulässig
1
1
x
Knoten Nr.
Abb. 1. 2
Auffinden der Lösung
Erst nach Ausführung weiterer acht Schritte sieht man, dass die
erste Lösung das Maximum darstellte; mit dem 26. Knoten ist man
an allen Aesten entweder zum zulässigen Gebiet hinausgekommen
oder auf ein Bound gestossen, das tiefer liegt als der Wert für die
gefundene Lösung. Somit weiss man jetzt, dass es sich um das Optimum handelt. Der vollständige Lösungsbaum für unser Problem ist
in Abb. 1. 3 dargestellt.
Herunterladen