1. Ziel des Operations Research

Werbung
Studienarbeit im Fach
Operations Research
am Beispiel
des
Traveling - Salesman Problems
Sommersemester 2001
Dozent:
Prof. Dr. rer. nat. Wolf Leiser
Referenten: Hakan Kücükyilmaz WI5,
Bülent Tiknas
TB5,
Savas Yildirim
WI8,
Matr-Nr:
718061
721074
719075
I. Inhaltsverzeichnis
I. INHALTSVERZEICHNIS
II
II. ABBILDUNGSVERZEICHNIS
III
1. ZIEL DES OPERATIONS RESEARCH
1
1.1 DEFINITION OR
1.2 EINSATZBEREICHE DES OPERATION RESEARCH
1.3 PROBLEMSTELLUNGEN UND ANWENDUNGEN IM OPERATIONS RESEARCH
1.3 SPEZIALFALL: DAS PROBLEM DES HANDLUNGSREISENDEN (TRAVELING-SALESMANPROBLEM TSP)
2
2
3
12
2. AUFGABENSTELLUNG: ERMITTLUNG DES KÜRZESTEN WEGES MIT DER
TRESHOLD ACCEPTING METHODE (TOLERANZSCHWELLEN METHODE)
12
2.1 DEFINITION TRESHOLD ACCEPTING
2.2 INTERPRETATION TRESHOLD ACCEPTING
14
15
3. PROBLEMLÖSUNGSANSATZ AUS DER SICHT DES WIRTSCHAFTSINGENIEURS
16
3.1 DEFINITION DES INVER-OVER OPERATORS
3.2 INTERPRETATION DES INVER-OVER OPERATORS
3.3 INVER-OVER OPERATOR: DIE OPTIMALE LÖSUNG FÜR TSP BIS 100 PUNKTE
III. LITERATURVERZEICHNIS
16
19
20
V
III SELBSTÄNDIGKEITSERKLÄRUNG DER VERFASSER
VI
Operations Research
II
II. Abbildungsverzeichnis
Abb. 1: Produktionsproblem, Quelle: Neumann/Morlock, Operations Research,
Hanser 1993
Abb. 2: Rettungsplan, Quelle: Neumann/Morlock, Operations Research, Hanser 1993
Abb. 3: Lagerbestand, Quelle: Neumann/Morlock, Operations Research, Hanser
1993
Abb. 4: Warteschlange, Quelle: Neumann / Morlock, Operations Research, Hanser
1993
Abb. 5: Aufgabenstellung: Zufällige Ausgangsstellung, Quelle: Eigen
Abb. 6: Aufgabenstellung: Die optimale Tour mit 81.93697 LE, Quelle: Eigen
Abb. 7: Bergauf, Quelle: Eigen
Abb. 8: Treshold Accepting, Quelle: Eigen
Abb. 9: 2-OPT Inversion: Quelle: Eigen
Operations Research
III
1. Ziel des Operations Research
Operations Research im folgenden OR genannt, behandelt quantifizierbare
Probleme, bei denen es mehrere Entscheidungsmöglichkeiten gibt. Unter allen
möglichen Alternativen soll die beste gemäß eines bestimmten Gütekriteriums
gefunden werden. Beim Auffinden aller Alternativen ist zu beachten, dass im
allgemeinen eine große Zahl sogenannter Nebenbedingungen, die häufig besagen,
dass alle bei dem Problem benötigten Ressourcen (etwa Rohstoffe, Fachkräfte,
Kapital, Zeit, Lagerraum, Transportwege oder ähnliches) nur beschränkt verfügbar
sind , erfüllt sein muss. Kurz gefaßt:
Operations Research bedeutet die Suche nach einer bestmöglichen (optimalen)
Entscheidung unter Berücksichtigung von Nebenbedingungen.1
Als Anwendung mathematischer Methoden in der Planung hat sich OR seit dem 2.
Weltkrieg entwickelt um Probleme oben genannter Art zu lösen.2
Im größeren Umfang wurde OR erstmals während des 2.Weltkrieges
im
militärischen Bereich betrieben. Die USA und Großbritannien beschäftigten sich
beispielsweise mit der optimalen Größe von Geleitzügen und der optimalen
Verteilung der vorhandener Begleitschiffe zur U-Boot-Abwehr. OR-Gruppen bei der
Luftwaffe befaßten sich mit der Treffgenauigkeit von Bombern sowie mit der Größe
von Bombentepichen. Eine genaue Analyse der deutschen Luftangriffe auf England
unterstützte die Planung der britischen Luftangriffe auf Deutschland. 3 Nach dem
2.Weltkrieg verlagerten sich die Schwerpunkte der OR-Forschung von den
militärischen in die wirtschaftlichen Problemstellungen.
Das Ziel jedes unternehmerischen Handels kann in der Maximierung des
langfristigen Gesamtgewinns gesehen werden. Hierbei besteht die Kunst der
Unternehmensführung in der optimalen Kombination der Elementarfaktoren 5M + 1
(Mensch, Maschine, Material, Moneten, Management + Information) hinsichtlich
diese Zieles.4
1 Vgl.: Neumann / Morlock Operations Research, Hanser 1993, Seite 5
2 Vgl.: Ellinger / Beuermann/ Leisten Operations Research Eine Einführung, Springer 5.Auflage 2001, Seite 1
3 Vgl.: Brusberg Der Entwicklung der Unternehmensforschung mit besonderer Berücksichtigung der Bundesrepublik
Deutschland, Wiesbaden 1965, Seite 29 ff.
Operations Research
1
1.1 Definition OR
Folgende Definition gibt uns die Deutsche Gesellschaft für Operations Research:
"Operations Research ist ein auf praktische Anwendung mathematischer Methoden
ausgerichteter Wissenszweig und befasst sich mit der Problemanalyse und
Vorbereitung optimaler Entscheidungen in Organisationen.
Operations Research ist geprägt durch die Zusammenarbeit von Mathematik,
Wirtschaftswissenschaften und Informatik."5
Operations Research läßt sich durch folgende vier Merkmale weiter präzisieren:
 Optimalitätsstreben:
Zielsetzung optimieren
 Modellanalytische Vorgehensweise:
Modelldenken und Modellanalyse sind Kernstück des Operations Research
 Problemquantifizieren:
Quantifizierbarkeit der Entscheidungsprobleme
 Entscheidungsvorbereitung:
Bereitstellung von Informationsgrundlage für Entscheidungsträger6
1.2 Einsatzbereiche des Operation Research
Im industriellen Bereich wird Operations Research am häufigsten in folgenden
Industriezweigen angewandt:
 Erdölindustrie
 Eisen– und Stahlindustrie
 Elektroindustrie
 Flugzeugindustrie
 Automobilindustrie
4
Vgl.: Zimmermann, Operations Research Quantitative Methoden zur Entscheidungsvorbereitung, Oldenbourg 8. A. Seite 1
Startseite http://www.gor-ev.de/frame.html, abgerufen am 15.06.2001
6
Vgl.: Zimmermann, Operations Research Quantitative Methoden zur Entscheidungsvorbereitung, Oldenbourg 8.Aufl. Seite 3 f
5
Operations Research
2
Innerhalb der einzelnen Unternehmen kann man folgende Anwendungsbereiche
unterscheiden:
 Beschaffung
 Lagerhaltung
 Produktion
 Absatz
 Personalwesen
 Steuerwesen
 Investition und Finanzierung
 Integrierte Gesamtmodelle
1.3 Problemstellungen und Anwendungen im Operations
Research
Beispiel 1: Produktionsplanung
Abb. 1: Produktionsproblem
Auf einer Produktionsanlage können die Güter 1 und 2 hergestellt werden, wobei drei
verschiedene Rohstoffe benötigt werden (Abb. 1). Ein optimaler Produktionsplan
besteht dann darin zu entscheiden, welche Mengen x1 und x2 von den Gütern 1 und
2 zu produzieren sind, wobei folgendes zu berücksichtigen ist:
·
Der erzielte Gesamtgewinn soll maximiert werden, wobei die Gewinne gj pro
produzierter Mengeneinheit (ME) von Gut j = 1, 2 jeweils bekannt sind.
Operations Research
3
·
Die Güter konkurrieren hinsichtlich der zu ihrer Produktion benötigten
Rohstoffe, die nur in beschränktem Maß zur Verfügung stehen:
Verfügbare Menge von Rohstoff 1: b1 ME
Verfügbare Menge von Rohstoff 2: b2 ME
Verfügbare Menge von Rohstoff 3: b3 ME.
·
Für die Produktion einer Mengeneinheit eines jeden Gutes ist eine gewisse
”Faktor-Einsatzmenge” von jedem Rohstoff (”Produktionsfaktor”) erforderlich:
Benötigte Menge von Rohstoff i zur Produktion von 1 ME von Gut j:
aij ME (i=1, 2, 3; j =1, 2).
Damit erhalten wir das folgende Optimierungsproblem: Maximiere die Zielfunktion
g1x1 + g2x2
unter den Nebenbedingungen
a11x1 + a12x2 <= b1
a21x1 + a22x2 <= b2
a31x1 + a32x2 <= b3
x1>= 0, x2> = 0
Die Restriktionen x1 >= 0, x2 >= 0 besagen, dass die Entscheidungsvariablen x1 und
x2
(produzierte
ME)
nur
nichtnegative
Werte
annehmen
können
(Nichtnegtivitätsbedingung). Hat man es allgemeiner mit der Produktion von q Gütern
zu tun, wobei m verschiedene Rohstoffe benötigt werden, so ist eine Zielfunktion
g1x1 + g2x2 + ... + gqxq
zu maximieren unter Nebenbedingungen der Form
ai1x1 + ai2x2 + ... + aiqxq <= bi
(i = 1, ... ,m)
x1 >= 0, x2 >= 0, ... ,xq >= 0
An Stelle der oder zusätzlich zu den Ungleichungen können auch Gleichungen unter
den Restriktionen auftreten, z.B. Materialbilanz-Gleichungen in der chemischen
Verfahrenstechnik.
Operations Research
4
Da sowohl die Zielfunktion als auch die linken Seiten der obigen Ungleichungen
lineare Funktionen der Entscheidungsvariablen x1, x2 , ... ,xq darstellen, spricht man
von einem linearen Optimierungsproblem.
Lineare Optimierungsprobleme sind in zweifacher Hinsicht von großer Bedeutung.
Zum einen lassen sich viele wirtschaftliche und technische Fragestellungen in dieser
Weise
übersichtlich
modellieren;
zum
anderen
stehen
für
derartige
Aufgabenstellungen eine leistungsfähige Theorie und effiziente Verfahren zur
Verfügung. Sie ermöglichen es, Optimierungsprobleme mit Tausenden von Variablen
und Nebenbedingungen auf einem Rechner zu lösen. In der Praxis wird die lineare
Optimierung z.B. seit vielen Jahren mit großem Erfolg bei der Rohölverarbeitung in
Raffinerien angewendet. Hierbei sollen aus einer oder mehreren Rohölsorten durch
einen optimierten Produktionsablauf die Endprodukte Motorbenzin, Dieselkraftstoff,
leichtes bzw. schweres Heizöl, Heizgas usw. hergestellt werden. Bei der Planung ist
das Durchlaufen einer großen Anzahl von Produktionsstufen mit Zwischenprodukten
wie Destillaten oder Flüssiggas zu beachten. Dabei treten z.B. folgende
Nebenbedingungen auf:
 Kapazitätsgrenzen der einzelnen Aggregate
 Lieferverpflichtungen für gewisse Fertigprodukte (durch die Marketingabteilung
prognostizierte) Mindest- und Höchstabsatzmengen einzelner Produkte
 Qualitätsanforderungen bei einigen Produkten z.B. Mindestoktanzahl)
 Obergrenzen für Stickoxydemission
 Sicherung eines gewissen Marktanteils.
Da unterschiedliche Rohöle alternativ oder als Mischungen verwendet wer- den
sowie einige der Aggregate einer Raffinerie (z.B. die Crack-Anlage) auf
verschiedenartige Weise eingesetzt werden können und es zudem verschiedene
Möglichkeiten gibt, gewisse Endprodukte durch Mischen von Zwischenprodukten
herzustellen, resultiert eine große Anzahl von Alternativen für die Fahrweise einer
Raffinerie. Jedes Produkt hat eine andere Gewinnspanne, wobei es aber
unwirtschaftlich sein kann, ein Produkt mit hoher Gewinnspanne in großen Mengen
herzustellen, wenn hierdurch in anderen Bereichen des Produktionsprozesses
Engpässe entstehen.
Operations Research
5
Gesucht ist dann ein solches Produktionsprogramm (das festlegt, wieviel von jedem
Produkt hergestellt werden soll), das einen maximalen Gesamtgewinn für das
Unternehmen (innerhalb einer gewissen Planungsperiode) ergibt.
Einige spezielle lineare Optimierungsprobleme haben aufgrund ihrer Praxisrelevanz
besondere Beachtung gefunden, z.B. Aufgaben im Zusammenhang mit dem
Transport von Gütern.
Beispiel 2: Kürzeste Wege in Verkehrsnetzen
Abb. 2: Rettungsplan
Unfallrettung und Feuerwehr stehen ständig vor dem Problem, so schnell wie
möglich zum jeweiligen Einsatzort zu gelangen (etwa einer Unfallstelle wie in Abb. 2).
Für besonders wichtige oder gefährdete Objekte sind von den Rettungsdiensten
vorsorglich geeignete Wege in dem vorliegenden Verkehrsnetz zu bestimmen,
Operations Research
6
auf denen das Ziel in kürzest möglicher Zeit erreicht werden kann. An Stelle der Zeit
kann auch die Weglänge als Zielkriterium verwendet werden.
In diesem Verkehrsnetz sind neben Einbahnstraßenregelungen und Abbiegeverboten
vor allem die Fahrzeiten auf den einzelnen Streckenabschnitten zu berücksichtigen,
die verkehrsbedingt im Laufe des Tages stark schwanken können. Beispielsweise
erhält man für Zeiten des Berufsverkehrs andere Streckenpläne als für verkehrsarme
Nachtstunden. Unter dem Schlagwort ”Verkehrsleitplanung” wird die Bestimmung
kürzester Wege zur Zeit in der Öffentlichkeit diskutiert. So sollen etwa in der Zukunft
Verkehrsleitsysteme auf Autobahnen Verkehrsbelastungs- und Stauinformationen
über Induktionsschleifen aufnehmen, in einem Zentralrechner verarbeiten und an den
Bordcomputer des Fahrzeugs zurückgeben, der dann für ein zuvor eingegebenes
Fahrziel eine konkrete Streckenempfehlung erarbeitet. Für den innerstädtischen
Bereich befindet sich das mobile Zielführungssystem EVA der Firma Blaupunkt
bereits in der Erprobung. Nach Eingabe von Start- und Zielpunkt werden unter
Berücksichtigung
von
Verkehrsbelastungen
und
des
Verkehrsnetzes
ein
Streckenvorschlag und gegebenenfalls noch gewisse Varianten vorgeschlagen. Zur
Lösung derartiger z.T. einfach erscheinender Probleme sind allerdings sehr große
Datenmengen zu berücksichtigen. Anstelle kürzester Wege sind bei manchen
Problemstellungen auch längste Wege von Interesse. Die Berechnung längster
Wege läßt sich ohne Schwierigkeiten entweder in analoger Weise wie das
Minimierungsproblem der Bestimmung kürzester Wege lösen oder in ein solches
Problem transformieren. Wir haben es hier mit einem anschaulichen Beispiel für den
im Operations Research häufig auftretenden Fall zu tun, daß Maximierungsprobleme
auf Minimierungsprobleme (und umgekehrt) zurückgeführt werden können. Tritt bei
der Bestimmung eines kürzesten Weges noch die zusätzliche Bedingung auf, daß
beispielsweise ein Handlungsreisender auf diesem kürzesten Wege alle seine
Kunden besuchen soll, so steht man einem sehr viel schwieriger zu lösenden
Problem gegenüber.
Operations Research
7
Beispiel 3: Lagerhaltung
Ein Party-Service-Unternehmen sei für den kommenden Monat völlig ausgebucht.
Beispielsweise sei der tägliche Bedarf an Räucherlachs bekannt. Für das
Serviceunternehmen ist es dann einerseits günstig, den Lachs in größeren Mengen
einzukaufen, da bei einer Bestellung am Tag j (j = 1,..., 30) Fixkosten K für
Arbeitszeit, Telex und die Anfahrt anfallen, die unabhängig von der gelieferten Menge
uj sind. Andererseits bringt die Lagerung einer Menge x pro Tag Kosten hx für
Kapitalbindung, Kühlung und Lagerorganisation mit sich, die proportional zu der
gelagerten Menge sind. Nach einer Entscheidung über die Zeitpunkte und Mengen
der Anlieferung von Lachs, der sogenannten Lagerhaltungspolitik, habe die
Lagerbestandskurve beispielsweise die Gestalt von Abb. 3.
Abb. 3: Lagerbestand
Liege etwa am Tag j ein Lieferzugang von uj und ein Bedarf von rj vor, und sei xj >= 0
der Lagerbestand am Tag j vor Lieferung der Menge uj und Abgang der
nachgefragten Menge rj, so erfolgt die Fortschreibung des Bestands über die
Lagerbilanzgleichung
xj+1 = xj + uj - rj
mit uj >= 0, rj >= 0 und einem Anfangslagerbestand x1.
Operations Research
8
Die zu minimierende Zielfunktion hat dabei die Form
30
 ( K   (u
j 1
j
)  hx j 1 ) ,
wobei  (uj) = 1 für uj > 0 und  (uj) = 0 für uj = 0 gilt. Bei realen Aufgabenstellungen
aus dem Bereich der Lagerhaltung sind neben den bereits genannten vor allem noch
folgende Einflußgrö8en zu nennen:
 mengenabhängige Einkaufspreise
 Lagerkapazitäten
 Lieferzeiten
 Fehlmengen
 Zufallseinflüsse bei Liefer- und Nachfragemengen.
Selbst relativ kleine Unternehmen investieren jährlich Hunderttausende DM im
Lager. Von dieser Summe kann man in vielen Fällen 10 - 20% als Fehlinvestitionen
bezeichnen, die verursacht werden entweder durch einen unnötig hohen
Lagerbestand oder durch Fehlmengenkosten in Form von Kosten für Eilbestellungen
oder Produkionsausfallkosten bei zu niedrigem Lagerbestand. Die Behandlung
einfacher Lagerhaltungsaufgaben ist heutzutage bereits in Standard-ProduktionsPlanungs-Systemen (PPS) für PCs integriert, während bei größeren Unternehmen
jeweils
spezielle
Software
seit
vielen
Jahren
erfolgreich
eingesetzt
wird.
Beispielsweise hat die Lever Sunlicht GmbH 1972 zum Einkauf von Rohstoffen ein
Dispositionssystem entwickelt, das seitdem im Einsatz ist. Die Berechnung der
optimalen
Einkaufsentscheidungen
Schätzungen
des
Sicherheitsbestand
(unsicheren)
berücksichtigt,
erfolgt
wöchentlich
Bedarfs.
mit
dem
Hierbei
ein
auf
wird
der
Basis
ein
unvorhergesehener
von
gewisser
Bedarf
abgefangen werden soll. Der Planungshorizont beträgt 5 Monate, und es sind
Mengenrabatte des Zulieferers zu berücksichtigen. Ohne die Unterstützung durch
ein Rechnerprogramm wäre es insbesondere nicht möglich, diese Rabattstaffel
optimal zu nutzen. Kontrollrechnungen haben ergeben, dass mit Hilfe des
eingesetzten relativ einfachen Planungsinstruments jährlich etwa 250 000 DM
eingespart werden können. Ein weiteres Beispiel soll eine Vorstellung von der
möglichen Grö0enordnung praxisrelevanter Lagerhaltungsprobleme vermitteln.
Operations Research
9
Die Lufthansa hält zur Wartung ihrer Flotte etwa 200 000 verschiedene
Verschleißteile vorrätig, und zwar in den Ersatzteillagern in Hamburg und Frankfurt,
ferner zusammen mit anderen europäischen Luftfahrtgesellschaften in Paris,
Brüssel, Madrid und Rom. Selbstverständlich ist hier eine wirtschaftliche
Lagerhaltung nur mit OR-Methoden möglich, und die Lufthansa verwendet schon
seit vielen Jahren solche Verfahren.
Beispiel 4: Warteschlangen
In einem Supermarkt seien zwei Kassen vorhanden, an denen sich gelegentlich
längere Warteschlangen bilden. Die Anzahl der Kunden, die pro Minute an den
Kassen ankommen, sei zufallsabhängig, wobei die Zufallsmechanismen aufgrund
von Erfahrungswerten als bekannt vorausgesetzt werden können. Neben diesem
”Ankunftsstrom” ist für die Bildung von Warteschlangen auch die Dauer des
Kassierens verantwortlich. Die Bedienungszeit kann bei den einzelnen Kunden sehr
unterschiedlich sein. Sie werde daher ebenfalls als Zufallsgröße aufgefaßt, wobei der
Zufallsmechanismus ebenfalls als bekannt vorausgesetzt werde. Um zu entscheiden,
ob in dem Supermarkt noch eine weitere Kasse eingerichtet werden soll, interessiert
die Geschäftsleitung, welche Auswirkungen eine derartige Maßnahme auf die
mittlere Wartezeit der Kunden haben würde.
Abb. 4: Warteschlange
Operations Research
10
Warteschlangenprobleme
treten
sowohl
im
täglichen
Leben
(etwa
vor
Verkehrsampeln oder bei ärztlichen Untersuchungen) als auch in vielen technischen
und
wirtschaftlichen
Telefonzentrale,
der
Bereichen
auf
Organisation
z.B.
bei
des
der
Dimensionierung
Abarbeitungsmodus
einer
wartender
Rechnerprogramme durch die Zentraleinheit (Interruptbehandlung) oder der
Festlegung der Größe eines Zwischenlagers für Halbfertigfabrikate in einem
Produktionsprozeß). Die einfachsten dieser Probleme lassen sich durch ein Modell
beschreiben, das einen Bedienungsschalter besitzt, an dem eintreffende ”Kunden”
nacheinander abgefertigt werden. Naheliegende Erweiterungen des Modells
bestehen darin, mehrere parallele oder hintereinander angeordnete Schalter zu
betrachten, unterschiedliches Kundenverhalten in der Wartephase einzubeziehen
oder verschiedene Abfertigungsreihenfolgen bei der Abfertigung von Kunden
zuzulassen. Im Unterschied zu den bisher behandelten Aufgaben steht bei
Warteschlangenproblemen häufig nicht die Optimierung, sondern lediglich die
Analyse der Wartesituation im Vordergrund (etwa hinsichtlich der mittleren Wartezeit
der Kunden oder der durchschnittlichen Länge der Warteschlange). Abgesehen von
wenigen einfachen Aufgabenstellungen, läßt sich aber selbst eine derartige Analyse
nicht mehr vollständig durchrechnen. Die notwendige Berücksichtigung von
Zufallseinflüssen bringt es meistens mit sich, dass beispielsweise das Verhalten
eines Wartesystems oder der Vergleich verschiedener Lösungsalternativen nur noch
mit Hilfe eines Rechners ”simuliert” werden kann. Dies bedeutet, daß eine Vielzahl
von möglichen Abläufen des Warte- und Bedienungsprozesses auf einem Computer
”durchgespielt” und statistisch ausgewertet wird. Eine bekannte Software hierfür ist
eM-Plant von Tecnomatix. Mit Erfolg sind Warteschlangenmodelle für größere
Probleme beispielsweise bereits seit 1967 in den USA bei der Planung und dem
Betrieb von Computernetzen eingesetzt worden. Durch die Vernetzung zahlreicher
Rechner wird eine gute Auslastung und Verfügbarkeit erreicht, wobei es bei dem in
großem Umfang durchgeführten Datentransfer zu Warteproblemen kommt. Sie
werden mit Hilfe einer eigens erstellten Software untersucht und gelöst.7
7
Vgl.: Neumann / Morlock Operations Research, Hanser 1993, Seite 11-34
Operations Research
11
1.3 Spezialfall: Das Problem des Handlungsreisenden
(Traveling-Salesman-Problem TSP)
Das klassische Beispiel für ein Wegeproblem bildet das Traveling-SalesmanProblem,8 bei dem es darum geht, dass ein Handelsreisender seine Route vom
Ausgangsort über eine bestimmte Anzahl zu bereisender Orte zum Ausgangsort
zurück optimal abstimmen will, um einen minimale Wegstrecke zu erreichen.9
Diese kombinatorische Problem bezeichnen Mathematiker als NP-vollständiges
Problem.
Der Handlungsreisende soll jede Stadt genau einmal besuchen. Wenn man sich die
Anzahl der Möglichkeiten ausrechnet, erkennt man schnell, dass mit ansteigender
Zahl der Städte, die Möglichkeiten der Rundreisen extrem steigern. Bei drei Städten
wären es 3 Startpunkte. Danach kann er eine der 2 folgenden Städte besuchen um
schließlich zur letzten zu gelangen. D.h. 3 x (3-1) x (3-2) oder kurz 3! (drei Fakultät) =
6 Möglichkeiten. Nun hat aber 10! schon 3 628 800 Möglichkeiten und die meisten
Taschenrechner versagen schon ab 70! (>10100).
Diese Problemstellung kann auch auf Rundreisen, Postboten- und Transportwege in
Unternehmen übertragen werden. Eine große Bibliothek mit den bekanntesten TSPProblemstellungen (Symmetric Traveling Salesman Problem (TSP)) kann unter der
Internetseite:
http://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/tsp/
abgerufen werden.
2. Aufgabenstellung: Ermittlung des kürzesten
Weges mit der Treshold Accepting Methode
(Toleranzschwellen Methode)
Ein Unternehmen produziert Leiterplatten für elektronische Geräte. Zur Aufnahme
der Bauelemente müssen 30 Löcher in die Platten gebohrt werden. Ein Plan mit der
Position der Bohrung ist beigelegt.
8
Vgl.: Flood, The traveling-salesman problem, in Operations Research, 1956 Seite 61-75
9Vgl.: Ellinger / Beuermann / Leisten Operations Research Eine Einführung, Springer 5.Auflage 2001, Seite 8
Operations Research
12
Um die Bearbeitungszeit zu optimieren wird der kürzeste Weg zwischen den
Bohrlöchern gesucht.
Aufgabenstellung:
a) Erstellen Sie ein Programm (in VBA für Excel), das den kürzesten Weg ermittelt.
Verwenden Sie Dazu das Optimierungsverfahren mit "Toleranzschwelle".
b) Zeigen Sie, dass ein "gieriger" Algorithmus eine schlechtere Lösung erbringt.
25
Nebenan ist deutlich zu erkennen, dass diese
20
Anordnung der Bohrlöcher bestimmt nicht die
optimale Lösung darstellt.
15
10
5
0
0
2
4
6
8
10
12
14
Abb. 5: Aufgabenstellung: Zufällige Ausgangsstellung
Nach
ca.
15
Minuten
findet
das
Excel-Programm
mit
der
"Toleranzschwellenmethode" den besten bekannten Weg für das Bohrlochproblem.
25
Bei der näheren Betrachtung der optimalen
Tour fällt auf, dass ein einfaches Naheste
20
Nachbar Verfahren diese Tour auf keinen
Fall finden kann.
15
10
5
0
0
2
4
6
8
10
12
14
Abb. 6: Aufgabenstellung: Die optimale Tour mit 81.93697 LE
Operations Research
13
2.1 Definition Treshold Accepting
Hier zunächst der original Pseudocode der Entwickler Gunter Dueck, Tobias Scheuer
und Hans-Martin Wallmeier:
"Treshold Accepting: Akzeptieren einer neuen Lösung gemäß einer Toleranzschwelle
1.Wähle in der gegebenen Aufgabenstellung irgendeine Lösung (einen Zustand x im
Zustandsraum X) als Ausgangspunkt.
2.Wähle einen Nachbarzustand y von x, der durch eine lokale Veränderung aus x
hervorgeht.
3.Vergleiche die Zielfunktionswerte f(x) und f(y). Ist f(y) um mehr als T schlechter als
f(x), so verwirf y; bleibe bei x stehen und suche einen neuen Nachbarzustand von
x. Ist aber f(y) mindestens so groß wie f(x)-T, ist also f(y) höchstens um T
schlechter als f(x), so gehe zum Zustand y über. Wir sagen, y wird akzeptiert. Von y
aus fahre weiter fort.
4.Wenn längere Zeit keine Verbesserungen auftreten, senke T langsam auf null." 10
Der
original
Algorithmus
gewährt
einige
Freiheitsgrade
hinsichtlich
der
Implementierung. Es ist zweckmäßig, die beste während eines Treshold Accepting
Laufes gefundene Lösung separat festzuhalten und immer zu aktualisieren, wenn
eine noch bessere Lösung gefunden wird. So geht die beste bisher gefundene
Lösung nicht wieder verloren und bildet auch das Endergebnis.
Außerdem kann die Wahl einer neuer Lösung aus der Nachbarschaft der alten
Lösung einerseits stochastisch (zufällig) erfolgen. Andererseits kann sie auch
deterministisch vorgenommen werden. Wichtig dabei ist, daß ein permanentes
Zirkulieren zwischen einzelnen Lösungen möglichst vermieden wird.11
Auch hängt die Qualität der Ergebnisse von der Absenkgeschwindigkeit des
Parameters T ab. Hier gibt es verschiedene Ansätze: lineare und verschiedene
Formen des exponentiellen Abstiegs.
10
11
Duek/Scheuer/Wallmeier, Toleranzschwelle und Sintflut: neue Ideen zur Optimierung, Spektrum der Wissenschaft 93, S. 7
Vgl.: Nissen, Einführung in Evolutionäre Algorithmen, Vieweg 97, Seite 223 f
Operations Research
14
2.2 Interpretation Treshold Accepting
Das Treshold Accepting Verfahren entstand wie das Sintflut Verfahren aus der
Vereinfachung des Simulated Annealing Verfahren (Simuliertes Erstarren). Alle diese
Verfahren nehmen die Evolutionstheorie (Survival of the fitest) als Vorlage.
Warum findet man mit diesem Algorithmus so gute Ergebnisse, ist eine einfache
Zufallssuche genauso effektiv? Zunächst zur Problemstellung, wir haben es hier mit
einem symmetrischen TSP (Der Weg zwischen zwei Punkten ist in beide Richtungen
gleich weit bzw. gleich gewichtet) zu tun, die möglichen Kombinationen zwischen den
Punkten betragt demnach ½((30-1)!) = 4,4 x 1030. Wenn wir in einer Sekunde eine
Million Kombinationen ausprobieren würden, bedeutet das immer noch 1,4 x 10 18
Jahre an Rechenzeit, um alle Kombinationsmöglichkeiten durchzuspielen.
Treshold Accepting kann sehr gut mit einem blinden Bergwanderer verglichen
werden, der versuchen soll den höchsten Punkt auf der Erdoberfläche zu finden.
Wenn wir dem Bergwanderer sagen er solle immer nur aufwärts und nie abwärts
gehen, so wird er auf dem nächsten Maulwurfshügel stehenbleiben.
Aufwärts aber nicht mehr
Abwärts, um noch höher
hinauszukommen
Abb. 7: Bergauf
Genau dieses Problem hatten die Entwickler von Treshold Accepting vor Augen. Um
den Bergwanderer auf den höchsten Punkt bringen zu können, muß dem
Bergwanderer anfangs erlaubt werden auch eine gewisse Strecke bergab zu steigen.
Somit überwindet er die Maulwurfshügel und mit der Zeit darf er immer weniger
bergab steigen, um zügig auf den Mount Everest zu kommen.
Operations Research
15
Das erklärt auch die Frage warum ein gieriger Algorithmus (nur minimal oder
überhaupt nicht absteigen ) also kleine Treshold Anfangswerte schlechtere
Ergebnisse erzielen. Wenn der Bergwanderer anfangs nur minimal absteigen darf,
wird er nicht beim Maulwurfshügel sonder vielleicht schon bei der Schwäbischen Alb
halt machen.
Toleriertes Absteigen führt hier
zum höheren Aufstieg.
Toleranzschwelle
Abb. 8: Treshold Accepting
3. Problemlösungsansatz aus der Sicht des
Wirtschaftsingenieurs
Treshold Accepting unter Excel mit VBA programmiert bringt für ein 30 Punkte
Problem zwei große Nachteile mit sich: Einerseits dauert die Ausführung des
Algorithmus zu lange (bis zu 15 min auf einem PIII 500 MHz.) andererseits ist die
Qualität der Ergebnisse nicht zufriedenstellend ( 8 Optima bei 200 Läufen). Daher
haben wir nach einem für dieses Problem angepaßten Algorithmus gesucht und mit
dem Inver-Over Operator auch den besten gefunden. Dieser Algorithmus löst TSP
bis zu 100 Punkte in jedem Lauf und ist deutlich schneller als das Treshold Accepting
Verfahren. Allerdings erweist sich die Implementierung unter VBA für Excel deutlich
schwieriger als Treshold-Accepting.
3.1 Definition des Inver-Over Operators
Hier zunächst der Pseudocode von Gua Tao und Zbigniew Michalewicz aus dem
Jahr 1998:
Operations Research
16
“random initialization of the population P
while (not satisfied termination-condition) do
{
for each individual Si  P do
{
S‘ = Si
select (randomly) a city c from S‘
repeat
{
if (rand() <= p)
select the city c‘ from the remaining cities in S‘
else
{
select (randomly) an individual from P
assign to c‘ the ‘next‘ city to the city c in the selected individual
}
if (the next city or the previous city of city c in S‘ is c‘)
exit from repeat loop
inverse the section from the next city of city c to the city c‘ in S‘
c = c‘
}
if (eval(S‘) <= eval (Si ))
Si = S‘
}
}“12
Auch hier lassen die Autoren hinsichtlich der Realisierung einige Freiheitsgrade.
Gute Erfahrungen machten die Autoren mit einer zufällig generierten Population P =
100. Die optimale Anzahl der Population haben wir bei Prof. Dr. Leiser nachgefragt,
eine gute Faustregel ist P = 2 x Anzahl Punkte. Der Selektionparameter p wird bei
den Autoren mit p = 0,02 angegeben. Man darf nicht vergessen den besten
bisherigen Wert festzuhalten.
Der Pseudocode von Tao/Michalewicz ist Anfangs nicht einfach umzusetzen, die
Implementation gestaltet sich aber dennoch unkompliziert wenn man sich die
Beispiele in Ihrer These genauer ansieht.
Zunächst wird eine gewisse Anzahl der Population P zufällig generiert. Mit Population
ist die Reihenfolge der zu besuchenden Punkte gemeint, z.B.:
S‘ [2,5,1,3,6,4].
12
Tao / Michalewicz, Inver-over Operator for the TSP, ftp://ftp.unncc.edu/coe/evol/p44.ps, Seite 5, abgerufen im April 2001
Operations Research
17
Danach wird in der Schleife jede Population Si bearbeitet. Zunächst wird in der
Population S‘ = Si zufällig ein Punkt c gewählt. (z.B. c = 1)
Im True-Teil der Bedingung if (rand() <= p) wird einfach in der Population S‘ ein
nächster Punkt c‘ ungleich c gesucht. Im False-Teil der Bedingung wird aus dem
restlichen Bestand der Population zufällig eine Route P ungleich S‘ gewählt. Sei
P [5,3,1,4,2,6]
und c = 1 so wird der Nachbar zu 1 in P ausgewählt, im Beispiel wäre das c‘ = 4. Hier
tritt das selektive Verhalten des Algorithmus zutage. Nach der Auswahl der Punkte c
und c‘ findet eine Inversion in S‘ statt. In unserem Beispiel wird aus
S‘[2,5,1,3,6,4]  [2,5,1,4,6,3].
Der repeat Teil wird solange wiederholt bis c und c‘ nebeneinander liegen, also keine
Inversion mehr durchgeführt werden kann. Ein kleine programmiertechnische Hürde
stellt die Inversion im Array dar. In [K&RII] können wir uns folgenden Algorithmus
leihen um ihn danach an VBA für Excel anzupassen:
“reverse (s)
#include <stdio.h>
/* reverse: s an Ort und Stelle umkehren */
void reverse (char s[ ])
{
int c, i, j;
for (i = 0, j = strlen(s)-1; i < j; i++, j--){
c = s[i];
s[i] = s[j];
s[j] = c;
}
}“[K&RII]
Leider kennt Excel keine for-Schleife mit Inkrementierung zweier Variablen. Darum
muß der Algorithmus etwas angepaßt werden.
Inversion mit VBA für Excel:
While i < d
sp = weg(i)
weg(i) = weg(d)
weg(d) = sp
i=i+1
d=d-1
Wend
Hier entspricht i = c und d = c‘. Die Variablen müssen
zwischengespeichert werden,
da
sie
später noch
unverändert gebraucht werden.
Operations Research
18
3.2 Interpretation des Inver-over Operators
Warum bringt diese Inversion Verbesserungen? Die Inversion an sich ist aus dem 2OPT Verfahren bekannt. Das Verbesserungspotential kann man leicht an folgendem
Beispiel erkennen:
Sei die Route [1,2,3,4,5,6,7,8] und die Inversion [1,2,3,7,6,5,4,8]
5
6
5
6
4
7
4
7
8
3
8
3
1
2
1
2
Abb. 9: 2-OPT Inversion
Das Auswahlverfahren der zu vertauschenden Punkt bleibt allerdings schleierhaft.
Am ehesten kann es mit Genetischen Algorithmen verglichen werden, wobei wir hier
aber nicht die reine Kreuzung vorliegen haben. Es werden auch im geringen Maße
Mutationen erzeugt.
Die Entwickler des Algorithmus beschreiben den Ansatz als evolutionären
Algorithmus für das TSP. Er basiert auf einfacher Inversion. Informationen zur
Inversion werden aus anderen Individuen genutzt. Die Operation an sich ist aber
unär, da die Inversion nur an einem Segment eines Individuums durchgeführt wird.
Die Auswahl des Segments ist dagegen Populationsgetrieben, zeigt somit eine
Rekombinationscharakteristik.13
13
Vgl.: Inver-over Operator for the TSP, Tao/Michalewicz, ftp://ftp.unncc.edu/coe/evol/p44.ps, Seite 1, abgerufen im April 2001
Operations Research
19
3.3 Inver-over Operator: Die optimale Lösung für TSP
bis 100 Punkte
Wir haben diesen Algorithmus zur Lösung des Bohrlochproblems herangezogen, da
dieser Algorithmus laut Tao/Michalewicz für TSP bis 100 Punkte in jedem Lauf das
bisher beste bekannte Optimum erreicht. Unsere Tests mit diesem Algorithmus unter
VBA mit Excel konnten diese Behauptung nicht bestätigen, da wir durch Limitationen
durch VBA einige Workarounds einbauen mußten. Dennoch erreicht dieser
Algorithmus in neun von zehn Fällen das Optimum. Unsere Programm benötigt
hierfür (PIII 500 MHz.) ca. 2,5 Minuten. Nach Rücksprache mit Gua Tao konnten wir
den original C++ Code von Ihm ausprobieren. Wie Tao / Michalewicz beschreiben
erreicht Ihre Implementierung in C++ bei unserem Problem in jedem Lauf das
Optimum von 81,93697 LE, und das deutlich unter einer Sekunde Laufzeit.
Zusammenfassend kann man sagen, dass die rasanten Entwicklungen seit dem
Treshold Accepting Verfahren den Ingenieuren die Auswahl eines geeigneten
Verfahrens für bestimmte Problemklassen und Randbedingungen zuläßt. Es gibt
sehr schnelle Algorithmen (Lin/Kernighan), anschauliche (Treshold Accepting) und
solche die für ein 30 Punkte Bohrloch Problem immer die beste Lösung erbringen.
Für den aktuellen Entwicklungsstand im TSP empfehlen wir “How to Solve It: Modern
Heuristics“ von Zbigniew Michalewicz, Springer 2000.
Operations Research
20
III. Literaturverzeichnis
Brusberg, Der Entwicklung der Unternehmensforschung mit besonderer
Berücksichtigung der Bundesrepublik Deutschland, Wiesbaden 1965
Duek / Scheuer / Wallmeier, Toleranzschwelle und Sintflut: neue Ideen zur
Optimierung, Spektrum der Wissenschaft 1993, Seite
47
Ellinger / Beuermann / Leisten, Operations Research Eine Einführung, Springer
5.Auflage 2001
Flood, The traveling-salesman problem, in Operations Research, 1956 Seite 61-75
Tao / Michalewicz, Inver-over Operator for the TSP,
ftp://ftp.unncc.edu/coe/evol/p44.ps, Seite 5, abgerufen im April
2001
[K&RII] Kernighan / Ritchie, Programmieren in C, ANSI C(2.A). Hanser 1990
Neumann / Morlock, Operations Research, Hanser 1993
Nissen, Einführung in Evolutionäre Algorithmen, Vieweg 1997
Zimmermann, Operations Research Quantitative Methoden zur
Entscheidungsvorbereitung, 8. Auflage Oldenbourg 1998
Operations Research
V
III Selbständigkeitserklärung der Verfasser
Hiermit bestätigen wir, daß wir die vorliegende Studienarbeit mit dem Thema
“Operations Research am Beispiel des Traveling-Salesman Problems“
Die aus der Literatur verwendeten Daten in Form von Sätzen und Satzteilen
sind mit entsprechendem Verweis gekennzeichnet.
Esslingen, 27.06.2001
Bülent Tiknas
Savas Yildirim
Hakan Kücükyilmaz
________________
_________________
_________________
Operations Research
VI
Herunterladen