253 83 7MB
German Pages XXXII, 229 [256] Year 2020
Produktion und Logistik
André Schnabel
Heuristiken für die gewinnorientierte Planung ressourcenbeschränkter Projekte mit erweiterbaren Kapazitäten
Produktion und Logistik Reihe herausgegeben von Bernhard Fleischmann, Lehrstuhl Produktion und Logistik, Universitat Augsburg, Augsburg, Deutschland Martin Grunow, TUM School of Management, Technische Universität München, München, Deutschland Stefan Helber, Institut für Produktionswirtschaft, Universität Hannover, Hannover, Deutschland Karl Inderfurth, Fak Wirtschaftswissenschaften, Otto-von-Guericke-Universität, Magdeburg, Deutschland Herbert Kopfer, Lehrstuhl für Logistik, Universität Bremen, Bremen, Deutschland Herbert Meyr, Universität Hohenheim, Stuttgart, Deutschland Thomas S. Spengler, Produktion und Logistik, TU Braunschweig, Braunschweig, Deutschland Hartmut Stadtler, Institut für Logistik und Transport, Universität Hamburg, Hamburg, Deutschland Horst Tempelmeier, FB Produktionswirtschaft, Universität Köln, Köln, Deutschland Gerhard Wäscher, BWL VIII: Management Science, University Magdeburg, Magdeburg, Deutschland Christian Bierwirth, Wirtschaftswissenschaftliche Fakultät LS für BW, Universität Halle-Wittenberg, Halle, Deutschland Katja Schimmelpfeng, Fakultät Wirtschafts- und Sozialwissensch, Universität Hohenheim, Stuttgart, Deutschland Moritz Fleischmann, Lehrstuhl für Logistik und SCM, Universität Mannheim, Mannheim, Deutschland Hans-Otto Günther, Technische Universitat Berlin, Berlin, Deutschland
Diese Reihe dient der Veröffentlichung neuer Forschungsergebnisse auf den Gebieten der Produktion und Logistik. Aufgenommen werden vor allem herausragende quantitativ orientierte Dissertationen und Habilitationsschriften. Die Publikationen vermitteln innovative Beiträge zur Lösung praktischer Anwendungsprobleme der Produktion und Logistik unter Einsatz quantitativer Methoden und moderner Informationstechnologie. Kontakt Professor Dr. Thomas S. Spengler Technische Universität Braunschweig Institut für Automobilwirtschaft und Industrielle Produktion Mühlenpfordtstraße 23 38106 Braunschweig
Weitere Bände in der Reihe http://www.springer.com/series/12449
André Schnabel
Heuristiken für die gewinnorientierte Planung ressourcenbeschränkter Projekte mit erweiterbaren Kapazitäten
André Schnabel Garbsen, Deutschland Diese Arbeit wurde gefördert durch die Deutsche Forschungsgemeinschaft (DFG) – SFB 871/3 – 119193472.
Produktion und Logistik ISBN 978-3-658-31609-9 ISBN 978-3-658-31610-5 (eBook) https://doi.org/10.1007/978-3-658-31610-5 Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar. © Der/die Herausgeber bzw. der/die Autor(en), exklusiv lizenziert durch Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature 2020 Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung, die nicht ausdrücklich vom Urheberrechtsgesetz zugelassen ist, bedarf der vorherigen Zustimmung des Verlags. Das gilt insbesondere für Vervielfältigungen, Bearbeitungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. Die Wiedergabe von allgemein beschreibenden Bezeichnungen, Marken, Unternehmensnamen etc. in diesem Werk bedeutet nicht, dass diese frei durch jedermann benutzt werden dürfen. Die Berechtigung zur Benutzung unterliegt, auch ohne gesonderten Hinweis hierzu, den Regeln des Markenrechts. Die Rechte des jeweiligen Zeicheninhabers sind zu beachten. Der Verlag, die Autoren und die Herausgeber gehen davon aus, dass die Angaben und Informationen in diesem Werk zum Zeitpunkt der Veröffentlichung vollständig und korrekt sind. Weder der Verlag, noch die Autoren oder die Herausgeber übernehmen, ausdrücklich oder implizit, Gewähr für den Inhalt des Werkes, etwaige Fehler oder Äußerungen. Der Verlag bleibt im Hinblick auf geografische Zuordnungen und Gebietsbezeichnungen in veröffentlichten Karten und Institutionsadressen neutral. Planung/Lektorat: Carina Reibold Springer Gabler ist ein Imprint der eingetragenen Gesellschaft Springer Fachmedien Wiesbaden GmbH und ist ein Teil von Springer Nature. Die Anschrift der Gesellschaft ist: Abraham-Lincoln-Str. 46, 65189 Wiesbaden, Germany
Geleitwort
Die Planung von Projekten angesichts kapazitätsbeschränkter Ressourcen stellt seit vielen Jahren ein im Operations Management intensiv bearbeitetes Forschungsfeld dar. Dies liegt sicherlich daran, dass die Projektplanung gleichzeitig praktisch außerordentlich bedeutsam und intellektuell extrem herausfordernd ist. Zeitliche und logische Abhängigkeiten zwischen den einzelnen Arbeitselementen eines Projektes müssen dabei ebenso berücksichtigt werden wie die typischerweise nur begrenzt verfügbaren Ressourcen und die sich oftmals widersprechenden Ziele der Planung. In der wissenschaftlichen Literatur zur Projektplanung werden dazu häufig stilisierte Problemstellungen betrachtet, in denen diese immer wiederkehrenden Aspekte und Elemente des Problems sehr deutlich hervortreten. Ein typisches Merkmal dieser stilisierten Problemstellungen ist, dass diese Probleme häufig einerseits sehr einfach, klar und elegant zu formulieren, dabei jedoch andererseits außerordentlich schwer in einem mathematischen Sinne optimal zu lösen sind. Häufig wird in der wissenschaftlichen Literatur als Ziel angenommen, das Projekt angesichts als gegeben betrachteter Kapazitäten der Ressourcen möglichst schnell abzuschließen. Für die Situation dieser etablierten Problemstellung gibt es eine Vielzahl theoretischer Einsichten in die Struktur optimaler Lösungen und, darauf aufbauend, leistungsfähige Verfahren für die numerische Lösung konkreter Probleminstanzen. In der Praxis ist jedoch im Zuge des Projektmanagements durchaus auch über den temporären Auf- oder Abbau der Kapazität der Ressourcen zu entscheiden, und zwar mit einem differenzierten Blick auf die Projektdauer. Diese Projektdauer ist aus praktischer Sicht häufig mit Blick auf Termine und ggf. Konventionalstrafen bei Terminüberschreitungen zu bewerten. Diese Situation führt zu einem idealtypischen betriebswirtschaftlichen Optimierungsproblem über die
V
VI
Geleitwort
optimale Nutzung von Zusatzkapazität als Ergebnis der Projektplanung. Einerseits kann durch Zusatzkapazität das Projekt schneller durchgeführt werden, so dass sich Konventionalstrafen vermeiden lassen, andererseits sind auch diese Zusatzkapazitäten teuer und sollten mit Bedacht genutzt werden. Damit ist in groben Zügen die von Herrn Schnabel in seiner Dissertation betrachtete Problemstellung umrissen. Es gelingt Herrn Schnabel sehr schön, diese bislang wenig betrachtete Problemstellung anhand praktischer Beispiele zu motivieren, sie präzise zu kennzeichnen, wichtige Aussagen zu den Eigenschaften optimaler Lösungen zu begründen und leistungsfähige Lösungsverfahren für die praktische Lösung dieser Art von Problemen zu entwickeln. Damit leistet Herr Schnabel einen wichtigen wissenschaftlichen Beitrag insbesondere zu den quantitativen Methoden der Projektplanung. Hannover im Mai 2020
Prof. Dr. Stefan Helber
Vorwort und Danksagungen
Im Fokus der vorliegenden Arbeit steht die Planung von Projekten mit beschränkten Ressourcen. Genauer gesagt soll das ressourcenbeschränkte Projektplanungsproblem, das bereits durch viele Autoren über mehrere Jahrzehnte hinweg untersucht worden ist, mit einer praxisnahen Erweiterung versehen werden. Die Erweiterung ergänzt die ursprüngliche Grundproblemstellung dahingehend, dass zwei häufig gemeinsam auftretende Aspekte berücksichtigt werden. Der erste Aspekt ist eine erhöhte Zahlungsbereitschaft des Kunden, wenn das Projekt frühzeitiger fertiggestellt werden kann. Der zweite Aspekt ist die Option, kostenbehaftete zusätzliche Kapazitätseinheiten zu nutzen, um die reguläre Ressourcenkapazität zu erweitern. In Kombination führen beide Aspekte auf die sehr interessante Fragestellung, wie sich ein gewinnmaximales Gleichgewicht zwischen den gegenläufigen Zielstellungen der Projektdauer- und Kostenminimierung herstellen lässt, indem geschickt Zusatzkapazität eingesetzt wird. Die ersten Erkenntnisse zur Problemstellung und eine Auswahl der „besten“ Lösungsansätze wurden in einer Veröffentlichung in der Zeitschrift „Business Research“ dokumentiert1. Diese Veröffentlichung entstand in Zusammenarbeit mit Stefan Helber und Carolin Kellenbrink, welchen ich hiermit meinen besonderen Dank aussprechen möchte. Ebenso möchte ich mich bei Carolin Kellenbrink, Stefan Bugow, Luise-Sophie Hoffmann und Steffen Rickers dafür bedanken, dass sie Rohfassungen dieses Dokuments gelesen und korrigiert haben. Die Arbeit hat in meinen Augen stark
1Vgl.
Schnabel et al. (2018). VII
VIII
Vorwort und Danksagungen
von den Anmerkungen und Änderungsvorschlägen der genannten Personen profitiert. Für etwaige verbleibende Fehler übernehme ich jedoch alleinig die Verantwortung. Weiterhin möchte ich mich bei all meinen jetzigen und ehemaligen Kollegen dafür bedanken, dass sie mir ein angenehmes Arbeitsklima geschaffen haben. Dies umfasst (in alphabetischer Reihenfolge): Kristina Bergmann, Justine Broihan, Stefan Bugow, Fabian Friese, Lars Heinze, Felix Herde, Luise-Sophie Hoffmann, Steffen Kasper, Ariane Kayser, Svenja Lagershausen, Steffen Rickers, Florian Sahling, Bastian Schmidtmann und Insa Südbeck. Schlussendlich möchte ich mich auch bei Freunden und Familie bedanken. Für Ihre Unterstützung über die vergangenen Jahrzehnte hinweg bedanke ich mich bei meiner Schwester Anna-Lena, meiner Mutter Annemarie und meinem Vater Günter sowie bei meiner Stiefmutter Johanna Siemer-Schnabel und meinem Stiefvater Jürgen Lukat. Besonderer Dank gilt auch meinen langjährigen Freunden Matthias Semler, Thomas Müller und Kamal El Menuawy. Diese Arbeit wurde gefördert durch die Deutsche Forschungsgemeinschaft (DFG) -SFB 871/3- 119193472. Hannover im Herbst 2019
André Schnabel
Abstract
The resource-constrained project scheduling problem (RCPSP) is a widely studied problem in the academic literature. A fundamental property of the RCPSP is time invariance with regard to the given resource availabilities. However, this assumption does not hold in many real-world situations. Exogenously given fluctuating resource profiles were already covered in previous works. Alternatively, time-variant availabilities may be endogenously determined by extending the regular capacity with additional capacity in specific time periods. These supplementary resource capacities are assumed to be costly and limited. In addition, the willingness to pay of a customer is typically decreasing with an increasing project duration. The gross margin of a schedule is then defined as the difference between the makespan-dependent customer revenues and the extent of variable costs for overcapacity incurred by the schedule. The trade-off between revenue maximization and overcapacity cost minimization leads to a novel generalization of the RCPSP introduced as the resource-constrained project scheduling problem with makespan-dependent revenues and overcapacity costs (RCPSP-ROC). As an extension of the RCPSP, the RCPSP-ROC itself is also NP-hard. This motivates the design and implementation of heuristic solution methods for solving problem instances of practically relevant size efficiently and in adequate time. There are many efficient heuristic solution methods for the RCPSP. These schedule jobs as early as possible. In contrast to the RCPSP, which considers a regular objective, the RCPSP-ROC combines both a regular and a non-regular term in the objective. Delaying the start of a job may be beneficial in order to avoid costly overcapacity. Accordingly, the set of active schedules with regard to the maximum amount of feasible overcapacity is not guaranteed to contain
IX
X
Abstract
an optimal solution. Consequently, novel schedule generation schemes for the RCPSP-ROC were designed and evaluated. These solution approaches adapt and combine ideas for both time- and cost-oriented objective functions from the scheduling literature. This thesis formally describes the RCPSP-ROC as a mixed-integer linear program and investigates structural properties of the problem in an exemplary case study. For solving this NP-hard problem in an efficient manner, several heuristic solution methods are proposed. The different solution approaches are then benchmarked using a newly designed problem library for the RCPSP-ROC based on the RCPSP instances from the PSPLIB test set. Tailored custom genetic algorithms are shown to outperform black box local search solvers, which in turn beat standard MILP-solvers when solving RCPSP-ROC instances. Overall, the presented results highlight central characteristics of this novel problem and show the adequacy of the adaption of different solution procedures for solving the RCPSP-ROC. Keywords: Resource-constrained project scheduling, Flexible capacities, Overtime, Overcapacity, Genetic algorithms, Local search
Zusammenfassung
Das ressourcenbeschränkte Projektplanungsproblem (RCPSP) ist eine in der Fachliteratur ausgiebig untersuchte Problemstellung. Die Kapazitäten der erneuerbaren Ressourcen im RCPSP sind über den Planungshorizont hinweg konstant verfügbar. Diese Annahme ist jedoch in der praktischen Anwendung in vielen Situationen nicht zutreffend. Exogen vorgegebene schwankende Ressourcenprofile wurden bereits in der Literatur betrachtet. Alternativ können die zeitabhängigen Kapazitäten der erneuerbaren Ressourcen endogen festgelegt werden, indem mit Kosten behaftete Zusatzkapazitäten in begrenztem Umfang hinzugenommen werden. Die Zahlungsbereitschaft eines Kunden sinkt typischerweise, wenn die Gesamtdauer des Projekts aufgrund von Verspätungen steigt. Der erzielte Deckungsbeitrag berechnet sich aus der Differenz zwischen Kundenerlös, welcher von der Projektdauer abhängt, und den variablen Kosten für Zusatzkapazität, welche durch den Ablaufplan hervorgerufen werden. Der Trade-off zwischen der Maximierung der Erlöse auf der einen Seite und einer Minimierung der variablen Kosten für Zusatzkapazität auf der anderen Seite führt zu einer neuartigen Problemstellung, welche das RCPSP generalisiert und als ressourcenbeschränkte Projektplanung mit projektdauerabhängigen Erlösen und Zusatzkapazitätskosten (engl. resource-constrained project scheduling problem with revenues and overcapacity costs, RCPSP-ROC) bezeichnet wird. Das RCPSP-ROC ist ebenfalls NP-schwer, da es das bereits NP-schwere RCPSP um zusätzliche Aspekte erweitert. Daher wurden in dieser Schrift heuristische Lösungsverfahren für das neuartige Problem entworfen und implementiert. Die Verfahren finden gute Lösungen für Probleminstanzen mit praxisnaher Größe in annehmbarer Zeit. In der Literatur werden mehrere effiziente heuristische Lösungsverfahren für das RCPSP vorgestellt. Diese planen Arbeitsgänge so früh wie möglich ein. Im Gegensatz zum RCPSP, welches als Zielstellung die Projektdauer minimiert, XI
XII
Zusammenfassung
maximiert das RCPSP-ROC den Deckungsbeitrag. Der Deckungsbeitrag wird aus einem regulären Erlös-Term und einem nicht-regulären Kosten-Term berechnet. Es kann allerdings sinnvoll sein, Arbeitsgänge bewusst verzögert zu starten, da Kosten entstehen, wenn zusätzliche Kapazität benötigt wird. Die Menge der aktiven Pläne (bezogen auf die maximal erlaubte Zusatzkapazität) enthält folglich nicht zwangsläufig eine optimale Lösung für dieses Problem. Es wurden daher neue Algorithmen entworfen und evaluiert, um Ablaufpläne für das RCPSP-ROC zu erzeugen. Die Lösungsverfahren verbinden Ansätze von sowohl zeit- als auch kostenorientierten Zielfunktionen aus der Literatur zur Projektplanung. Diese Arbeit beschreibt das RCPSP-ROC in Form eines gemischt-ganzzahligen linearen Optimierungsmodells und untersucht strukturelle Eigenschaften des Problems im Rahmen einer fiktiven Fallstudie. Damit das NP-schwere RCPSPROC effizient gelöst werden kann, werden verschiedene heuristische Verfahren vorgestellt. Die Verfahren werden auf Basis einer neu entworfenen Problembibliothek miteinander verglichen. Diese Problembibliothek basiert auf den RCPSP- Testinstanzen aus der PSPLIB. Es wird gezeigt, dass maßgeschneiderte Genetische Algorithmen generische Blackbox-Heuristiken in den meisten Fällen dominieren. Die Blackbox-Heuristiken liefern wiederum bessere Ergebnisse für Instanzen des RCPSP-ROC als exakte Solver für gemischt-ganzzahlige lineare Optimierungsmodelle. Insgesamt heben die Ergebnisse die zentralen Charakteristika dieser Problemstellung hervor und zeigen, dass diverse Ansätze zur Planung von Projekten mit beschränkten Ressourcen aus der Literatur aufgegriffen und angepasst werden können, um das RCPSP-ROC zu lösen. Schlüsselwörter: Ressourcenbeschränkte Projektplanung, Flexible Kapazitäten, Überstunden, Zusatzkapazität, Genetische Algorithmen, Lokale Suche
Inhaltsverzeichnis
1 Einführung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Gegenstand der Arbeit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 Planung von Projekten mit erweiterbaren Ressourcen und von der Projektdauer abhängigen Erlösen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1 Planung des Ablaufs ressourcenbeschränkter Projekte. . . . . . . . . . . 7 2.2 Verschiedene Zielstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2.1 Minimierung der Projektdauer. . . . . . . . . . . . . . . . . . . . . . . . 10 2.2.2 Minimierung der Nutzung von Zusatzkapazitäten. . . . . . . . . 11 2.2.3 Simultane Minimierung der Projektdauer und Zusatzkapazitätsnutzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2.3.1 Beschreibung und Abgrenzung von verwandten Problemen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2.3.2 Trade-off zwischen Projektdauer- und Zusatzkapazitätsminimierung. . . . . . . . . . . . . . . . . 18 2.3 Anwendungsbeispiele für erweiterbare Kapazitäten und projektdauerabhängige Erlöse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3.1 Ergänzung des Personals durch flexibel einsetzbare Leiharbeiter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3.2 Dynamische Anmietung von Servern und Produktionsmaschinen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.3.3 Mieten von Traktoren und Mähdreschern in der Landwirtschaft. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.3.4 Handwerker und Baumaschinen in Bauvorhaben . . . . . . . . . 35 2.3.5 Diverse weitere Anwendungsgebiete. . . . . . . . . . . . . . . . . . . 37 2.4 Einordnung und Klassifikation ressourcenbeschränkter Projektplanungsprobleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 XIII
XIV
Inhaltsverzeichnis
2.4.1 Eigenschaften der Arbeitsgänge. . . . . . . . . . . . . . . . . . . . . . . 41 2.4.2 Eigenschaften der Ressourcen. . . . . . . . . . . . . . . . . . . . . . . . 43 2.4.3 Verschiedene Zielstellungen . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.4.4 Simultane Berücksichtigung mehrerer Zielstellungen. . . . . . 46 2.4.5 Unsichere und unscharfe Information. . . . . . . . . . . . . . . . . . 47 2.4.6 Diverse weitere Varianten der Projektplanung. . . . . . . . . . . . 47 2.4.7 Detaillierte Abgrenzung verwandter Probleme. . . . . . . . . . . 48 2.5 Überblick über Lösungsverfahren für ressourcenbeschränkte Projektplanungsprobleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.5.1 (Meta-)heuristische Lösungsverfahren. . . . . . . . . . . . . . . . . 52 2.5.2 Exakte Lösungsverfahren. . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 3 Formale Modellierung des ressourcenbeschränkten Projektplanungsproblems mit kostenbehafteten Zusatzkapazitäten und projektdauerabhängigen Erlösen (RCPSP-ROC). . . . . . . . . . . . . 67 3.1 Formale Beschreibung des RCPSP-ROC. . . . . . . . . . . . . . . . . . . . . . 67 3.1.1 Modellannahmen und Notation. . . . . . . . . . . . . . . . . . . . . . . 67 3.1.2 Mathematische Modellformulierung. . . . . . . . . . . . . . . . . . . 71 3.2 Strukturelle Eigenschaften des RCPSP-ROC . . . . . . . . . . . . . . . . . . 73 3.2.1 Komplexitätsanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.2.2 Dekomposition der Problemstellung in Teilprobleme. . . . . . 75 3.2.3 Merkmale unterschiedlicher Mengen relevanter Pläne. . . . . 78 3.2.4 Fiktive Fallstudie zum Einfluss der Instanzeigenschaften auf optimale Ablaufpläne. . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 4 Kompakte Lösungsrepräsentationen und zugehörige Planungserzeugungsschemata für das RCPSP-ROC . . . . . . . . . . . . . . 95 4.1 Bedeutung der Wahl einer Kodierung für die Effizienz der Lösungsverfahren. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 4.2 Grundlagen kompakter Kodierungen und zugehöriger Dekodierungsprozeduren. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 4.2.1 Serielles Ablaufplanerzeugungsschema. . . . . . . . . . . . . . . . . 102 4.2.2 Paralleles Ablaufplanerzeugungsschema. . . . . . . . . . . . . . . . 109 4.2.3 Verbesserungsverfahren mit Minimierung der Zusatzkapazitätskosten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 4.3 Indirekte Kodierungen für verschiedene Zielsetzungen . . . . . . . . . . 119 4.3.1 Simultane Minimierung der Projektdauer und Zusatzkapazitätsnutzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Inhaltsverzeichnis
XV
4.3.1.1 Zusatzkapazitätsentscheidung durch heuristische Planvervollständigung. . . . . . . . . . . . . . . . . . . . . . . 119 4.3.1.2 Zusatzkapazitätsentscheidung je Arbeitsgang mit beliebiger oder keiner Nutzung. . . . . . . . . . . . . . . . 125 4.3.1.3 Zusatzkapazitätsentscheidung je Arbeitsgang mit partieller Nutzung. . . . . . . . . . . . . . . . . . . . . . . . . . 128 4.3.2 Projektdauerminimierung für feste Ressourcenprofile . . . . . 131 4.3.2.1 Einhaltung zeitunabhängiger Schranken für die Zusatzkapazität. . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 4.3.2.2 Einhaltung zeitabhängiger Schranken für die Zusatzkapazität. . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 4.3.3 Suche von gewinnmaximierenden Fristen für kostenminimale Pläne mithilfe des Verfahrens des Goldenen Schnitts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 5 Heuristische Verfahren auf Basis Genetischer Algorithmen und lokaler Suchverfahren zur Lösung des RCPSP-ROC. . . . . . . . . . . . . . 147 5.1 Überblick über (Meta-)heuristische Verfahren für das RCPSP. . . . . 147 5.2 Problemspezifische Genetische Algorithmen für das RCPSP-ROC. . . 149 5.2.1 Grundsätzliches Konzept und Ablauf. . . . . . . . . . . . . . . . . . . 149 5.2.2 Erzeugung der Startpopulation. . . . . . . . . . . . . . . . . . . . . . . 151 5.2.3 Paarbildung und Kreuzung. . . . . . . . . . . . . . . . . . . . . . . . . . . 155 5.2.4 Mutation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 5.2.5 Fitnessberechnung und Selektion. . . . . . . . . . . . . . . . . . . . . 163 5.3 Lokalsuchprozedur auf Basis der kommerziellen Software „LocalSolver“. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 5.3.1 Nichtlineares Modell mit Listenvariable. . . . . . . . . . . . . . . . 166 5.3.2 Kodierungsspezifische Modellerweiterungen . . . . . . . . . . . . 170 5.3.3 Integration robuster Dekodierungsprozeduren. . . . . . . . . . . . 170 6 Numerische Analyse der Performance verschiedener Lösungsverfahren für das RCPSP-ROC . . . . . . . . . . . . . . . . . . . . . . . . 173 6.1 Entwurf der Problembibliothek. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 6.1.1 Instanzengeneratoren und Problembibliotheken für das RCPSP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 6.1.2 Erweiterung von RCPSP-Instanzen. . . . . . . . . . . . . . . . . . . . 175 6.1.2.1 Parameter für die Zusatzkapazitäten. . . . . . . . . . . . 175 6.1.2.2 Spezifikation der Erlösfunktion. . . . . . . . . . . . . . . 176
XVI
Inhaltsverzeichnis
6.2 Versuchsaufbau für die numerischen Experimente. . . . . . . . . . . . . . 179 6.3 Numerische Ergebnisse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 6.3.1 Vergleich der Heuristiken zur Lösung kleiner Projekte mit 30 Arbeitsgängen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 6.3.2 Vergleich der Heuristiken zur Lösung großer Projekte mit 120 Arbeitsgängen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 7 Schlussbemerkungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 7.1 Zusammenfassung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 7.2 Kritische Würdigung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 7.3 Ausblick. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Literaturverzeichnis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Abkürzungs- und Symbolverzeichnis
Abkürzungen ACO Ameisenkolonieoptimierung (engl. Ant Colony Optimization) ADC Beschleunigte Durchführung der Arbeitsschritte (engl. Activity Duration Crashing) AG Arbeitsgang AIMMS Advanced Interactive Multidimensional Modeling System AIS Künstliches Immunsystem (engl. Artificial Immune System) AJE American Journal Experts AL Aktivitätenliste (engl. Activity List) AoN Vorgangsknotendiagraph (engl. Activity on Node Graph) API Anwendungsentwicklungsschnittstelle (engl. Application Programming Interface) AS Algorithmenauswahlproblem (engl. Algorithm Selection Problem) BCO Bienenkolonieoptimierung (engl. Bee Colony Optimization) CB/RAM Kostenbasiertes Ressourcenallokationsmodell (engl. Cost Based / Resource Allocation Model) CH Konstruktionsheuristik (engl. Construction Heuristic) CIP Hybrid aus Constraintprogrammierung und ganzzahliger Optimierung (engl. Constraint Integer Programming) CPLEX CPLEX Optimizer CP Constraintprogrammierung (engl. Constraint Programming) CSHC Kostensensitives hierarchisches Clustering (engl. Cost-Sensitive Hierarchical Clustering) DEA Differentieller Evolutionärer Algorithmus (engl. Differential Evolutionary Algorithmus) XVII
XVIII
Abkürzungs- und Symbolverzeichnis
DJ Links- und rechtsbündige Justierung der Arbeitsgänge (engl. Double Justification) DTCTP Diskretes Zeit-Kosten-Tradeoff-Problem (engl. Discrete Time Cost Tradeoff Problem) EA Evolutionärer Algorithmus (engl. Evolutionary Algorithm) EM Elektromagnetismus Metaheuristik (engl. Electromagnetism Metaheuristic) FBI Vorwärts-/Rückwärts-Verbesserungsverfahren (engl. ForwardBackward Improvement Technique) FF Glühwürmchen-Algorithmus (engl. Firefly Algorithm) FL Froschhüpfer-Algorithmus (engl. Frog Leap) FRCPSP Ressourcenbeschränktes Projektplanungsproblem mit flexiblen Verbräuchen (engl. Flexible Resource-Constrained Project Scheduling Problem) GA Genetischer Algorithmus (engl. Genetic Algorithm) GAMS General Algebraic Modeling System GE Geldeinheiten (engl. Monetary Units) GP Genetische Programmierung (engl. Genetic Programming) GSS Verfahren des Goldenen Schnittes (engl. Golden Section Search) HH Hyper-Heuristik (engl. Hyper Heuristic) IGH Iterative Greedy-Heuristik (engl. Iterative Greedy Heuristic) KE Kapazitätseinheiten (engl. Capacity Units) KSD Synonym für PSPLIB nach Autoren Kolisch, Sprecher und Drexl LNS Große Nachbarschaftssuche (engl. Large Neighbourhood Search) LOCS Lokale Suche (engl. Local Search) LS LocalSolver LUIS Leibniz Universität Hannover IT Service MILP Gemischt-ganzzahliges lineares Optimierungsmodell (engl. Mixed-Integer Linear Programming) ML Maschinelles Lernen (engl. Machine Learning) MLCLSP Mehrstufiges dynamisches Mehrprodukt-Losgrößenmodell mit beschränkter Kapazität (engl. Multi-Level Capacitated Lot Sizing Problem) MOVNS Mehrziel variable Nachbarschaftssuche (engl. Multi-Objective Variable Neighbourhood Search) MRCPSP Ressourcenbeschränktes Projektplanungsproblem mit mehreren Ausführungsmodi (engl. Multi-Mode Resource-Constrained Project Scheduling Problem)
Abkürzungs- und Symbolverzeichnis
XIX
MRIP Ressourceninvestitionsproblem mit mehreren Ausführungsmodi (engl. Multi-Mode Resource Investment Problem) NC Netzwerkkomplexität (engl. Network Complexity) NGA Neuro-Genetischer Algorithmus (engl. Neuro Genetic Algorithm) OPC Einpunkt-Kreuzung (engl. One Point Crossover) PCP Präzedenz-Constraint-Posting (engl. Precedence Constraint Posting) PDS Projektplanungsproblem in der Softwareentwicklung (engl. Project Scheduling Problem for Software Development) PR Prioritätsregel (engl. Priority Rule) ProGen Project Scheduling Problem Instance Generator PSGS Paralleles Ablaufplanerzeugungsschema (engl. Parallel Schedule Generation Scheme) PSO Partikelschwarmoptimierung (engl. Particle Swarm Optimization) PSPDL Projektplanungsproblem mit strikter Frist für das Projektende (engl. Project Scheduling Problem with Deadline) PSPLIB Problembibliothek für Projektplanungsprobleme (engl. Project Scheduling Problem Library) RACP Ressourcenverfügbarkeitskostenproblem (engl. Resource Availability Cost Problem) RBBRS Regret-Based Biased Random Sampling RCC Ressourcenkritische Verdichtung (engl. Resource Critical Crashing, RCC) RCMPSP Ressourcenbeschränktes Multi-Projektplanungsproblem (engl. Resource-Constrained Multi-Project Scheduling Problem) RCPSP Ressourcenbeschränktes Projektplanungsproblem (engl. Resource-Constrained Project Scheduling Problem) RCPSP-PS Ressourcenbeschränktes Projektplanungsproblem mit flexibler Projektstruktur (engl. Resource-Constrained Project Scheduling with flexible Project Structure) RCPSP-PS-Q Ressourcenbeschränktes Projektplanungsproblem mit flexibler Projektstruktur und Qualitätsberücksichtigung (engl. ResourceConstrained Project Scheduling with flexible Project Structure and Quality consideration) RCPSP-ROC Ressourcenbeschränktes Projektplanungsproblem mit Erlösen und Zusatzkapazitätskosten (engl. Resource-Constrained Project Scheduling Problem with Revenues and Overcapacity Costs)
XX
Abkürzungs- und Symbolverzeichnis
RCPSP/t Ressourcenbeschränktes Projektplanungsproblem mit zeitvarianten Ressourcenbeanspruchungen und Kapazitäten (engl. Resource-Constrained Project Scheduling Problem with Timevarying Resource Requirements and Capacities) RF Ressourcenfaktor (engl. Resource Factor) RIP Ressourceninvestitionsproblem (engl. Resource Investment Problem) RK Prioritätswerte (engl. Random Key) RLP Ressourcennivellierungsproblem (engl. Resource Leveling Problem) ROP Ressourcenüberladungsproblem (engl. Resource Overload Problem) RRP Ressourcenanmietungsproblem (engl. Resource Renting Problem) RS Ressourcenstärke (engl. Resource Strength) SA Simulierte Abkühlung (engl. Simulated Annealing) SAT Erfüllbarkeitsproblem (engl. Satisfiability Problem) SCIP Solving Constraint Integer Programs SGS Ablaufplanerzeugungsschema (engl. Schedule Generation Scheme) SRK Standardisierte Prioritätswerte (engl. Standardized Random Key) SS Streusuche (engl. Scatter Search) SSGS Serielles Ablaufplanerzeugungsschema (engl. Serial Schedule Generation Scheme) TCPSP Zeitbeschränktes Projektplanungsproblem (engl. TimeConstrained Project Scheduling Problem) TPC Zweipunkt-Kreuzung (engl. Two Point Crossover) TS Tabusuche (engl. Tabu Search) VNS Variable Nachbarschaftssuche (engl. Variable Neighbourhood Search) WTOT Projektplanungsproblem mit gewichteten Verspätungen und Überstundenkosten (engl. Weighted Tardiness and Overtime) ZE Zeiteinheiten
Abkürzungs- und Symbolverzeichnis
XXI
Symbole At AS ßj
Menge der in Periode t aktiv durchgeführten AG Menge der aktiven Pläne (engl. Active Schedules) 1, AG j darf Zusatzkapazit¨at bei Einplanung nutzen,
0, sonst. C Kosten des kostenminimalen Plans mit Dauer T Kosten des ESS . Obere Schranke für C C heurCB Menge der bereits eingeplanten AG in einem Teilplan C δ Zwingend (vgl. lediglich bestraftes „due date“) einzuhaltende Frist für Projektende (engl. deadline), d. h. SJ+1 ≤ δ D Menge der im Rahmen des RBBRS an eine unvollständige AL anfügbaren AG dj Bearbeitungszeit von AG j in ZE tdt Zeitpunkt, in welchem im parallelen Planerzeugungsschema neue AG begonnen werden (sog. Entscheidungszeitpunkt) E Azyklische Reihenfolgerelation EJ 2 E Menge der bei der Planerzeugung in den Teilplan einplanbaren AG (sog. Entscheidungsmenge) ESTj Frühester Startzeitpunkt von AG j EFTj Frühester Endzeitpunkt von AG j ESS Kürzester Plan bei unbegrenzten Ressourcenkapazitäten (engl. Earliest Start Schedule) Fj Endzeitpunkt von AG j mit Fj = Sj + dj M I Mutter-Individuum IF Vater-Individuum ID Tochter-Individuum Is Sohn-Individuum j ∈J AG mit := {0,1,…, J, J + 1} Kosten in GE für eine KE der Zusatzkapazität von Ressource r Kr kjr Ressourcenverbrauch während der Durchführung von AG j auf der erneuerbaren Ressource r in KE Kr Verfügbare reguläre Normalkapazität der erneuerbaren Ressource r in KE λ AL (topologisch sortierte Permutation der AG) λc Kanonische nach aufsteigenden AG-Nummern sortierte AL LSTj Spätester Startzeitpunkt von AG j LFTj Spätester Endzeitpunkt von AG j
XXII
Abkürzungs- und Symbolverzeichnis
NS Anzahl der erzeugten Pläne (Abbruchkriterium) NG Anzahl der Generationen (Abbruchkriterium) NI Anzahl der Iterationen (Abbruchkriterium) N DS Menge der verzögerungsfreien Pläne (engl. Non-Delay Schedules) P j Menge der Vorgänger P j ⊆ J von AG j mit i ∈ P j ⇔ (i, j) ∈ E Probmutate Mutationswahrscheinlichkeit QAS Menge der quasiaktiven Pläne (engl. Quasiactive Schedules) QSS Menge der quasistabilen Pläne (engl. Quasistable Schedules) r ∈ R Erneuerbare Ressourcen mit R := {1,…,R} Sj Menge der Nachfolger Sj ⊆ J von AG j mit i ∈ Sj ⇔ (j, i) ∈ E Sj
Startzeitpunkt von AG j in Ablaufplan S T heurUB Gesamtdauer des Ablaufplans mit beliebig viel zulässiger Zusatzkapazitätsnutzung erzeugt durch das SSGS für λc. Heuristische obere Schranke für T T heurLB Gesamtdauer des ESS . Untere Schranke von T T heurUB Gesamtdauer des Ablaufplans ohne Zusatzkapazitätsnutzung erzeugt durch das SSGS für λc. Heuristische obere Schranke für T t∈T Perioden (Planungshorizont) mit T := {1,…, T} t Frühester reihenfolge- und ressourcenzulässiger Startzeitpunkt mit beliebig viel zulässiger Zusatzkapazitätsnutzung t Frühester reihenfolge- und ressourcenzulässiger Startzeitpunkt ohne Zusatzkapazitätsnutzung T Gesamtdauer des kürzesten Ablaufplans mit zulässiger Zusatzkapazitätsnutzung T Gesamtdauer des kürzesten Ablaufplans ohne Zusatzkapazitätsnutzung τ j Zeitfensterposition von AG j, τj = 1 ≡ t sowie τj = 0 ≡ t
vj Kundenerlös in GE bei Fertigstellung des Projekts mit Gesamtdauer von t Perioden vj Prioritätswert vj ∈ [0,1] für AG j in RK v ˆ j (S) Zulässige Startzeitpunkte von AG j zwischen frühestem Beginn mit W
beliebig viel zulässiger Zusatzkapazitätsnutzung (t ) und ohne Zusatzkapazitätsnutzung (t ) in Teilplan S (Zeitfenster für Zusatzkapazität) 1, wenn AG j in Periode t beendet wird, xjt 0, sonst. zrt Tatsächlich genutzte Zusatzkapazität der Ressource r in Periode t in KE
Abkürzungs- und Symbolverzeichnis
XXIII
Z r Obere Schranke für Zusatzkapazitätsnutzung von Ressource r Zˆrt Erlaubte Anzahl genutzter Zusatzkapazitätseinheiten von Ressource r in Periode t in KE Zˆr Erlaubte Anzahl genutzter Zusatzkapazitätseinheiten von Ressource r in jeder Periode des Planungshorizonts in KE
Algorithmenverzeichnis
Algorithmus 3.1 Berechnung frühester und spätester Anfangs- und Endzeitpunkte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Algorithmus 4.1 Serielles Ablaufplanerzeugungsschema für das RCPSP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Algorithmus 4.2 Umkehrfunktion des seriellen Ablaufplanerzeugungsschemas. . . . . . . . . . . . . . . . . . . . 108 Algorithmus 4.3 Paralleles Ablaufplanerzeugungsschema für das RCPSP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Algorithmus 4.4 Iteratives Verbesserungsverfahren ohne Erhöhung der Zusatzkapazität für das RCPSP-ROC. . . . . . . . . . . . 116 Algorithmus 4.5 Dekodierungsprozedur für Repräsentation (λ) . . . . . . . . 121 Algorithmus 4.6 Dekodierungsprozedur für Repräsentation (λ)gs . . . . . . . 142 Algorithmus 5.1 Grundgerüst eines Genetischen Algorithmus . . . . . . . . . 149 Algorithmus 5.2 Regret-Based Biased Random Sampling. . . . . . . . . . . . . 152 Algorithmus 5.3 Fitnessunabhängige Paarbildung. . . . . . . . . . . . . . . . . . . 155 Algorithmus 5.4 Einpunkt-Kreuzung zweier Aktivitätenlisten. . . . . . . . . . 157 Algorithmus 5.5 Nachbarschaftliche Vertauschung. . . . . . . . . . . . . . . . . . 162 Algorithmus 5.6 Elite-Selektion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 Algorithmus 5.7 Duell-Selektion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
XXV
Abbildungsverzeichnis
Abbildung 2.1
Ablaufplanung für Projekte mit beschränkten Ressourcen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Abbildung 2.2 Minimierung der Nutzungsspitzen im Ressourceninvestitionsproblem. . . . . . . . . . . . . . . . . . . . . 13 Abbildung 2.3 Abgrenzung von RCPSP und Ressourceninvestitionsproblem. . . . . . . . . . . . . . . . . . . . . 14 Abbildung 2.4 Varianten von Nivellierungsproblemen. . . . . . . . . . . . . . . 15 Abbildung 2.5 Zulässiger Ablaufplan für das Beispielprojekt mit geringer Nutzung von Zusatzkapazität . . . . . . . . . . . . . . . 16 Abbildung 2.6 Ablaufplanung für Projekte mit flexiblen Ressourcen und projektdauerabhängigen Erlösen. . . . . . . . . . . . . . . . . 17 Abbildung 2.7 Varianten der Workload-Verteilung auf Zeit- und Ressourcenbedarf im Zeit-Kosten-Tradeoff-Problem. . . . 20 Abbildung 2.8 Schematischer Verlauf von Erlös, Kosten und Deckungsbeitrag in Abhängigkeit von der Projektdauer. . 21 Abbildung 2.9 Plan A mit gemäßigter Nutzung von Zusatzkapazität. . . . 23 Abbildung 2.10 Plan B mit starker Nutzung von Zusatzkapazität. . . . . . . . 24 Abbildung 2.11 Plan C ohne Nutzung von Zusatzkapazität . . . . . . . . . . . . 25 Abbildung 2.12 Preismodell der American Journal Experts. . . . . . . . . . . . 28 Abbildung 2.13 Verlauf des Preisaufschlags in Abhängigkeit von der Fertigungsdauer für Leiterplatten vom Typ „Multilayer“, „Flex“ und „Impendanz & Hochfrequenz“. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Abbildung 2.14 ANDUS-Expresssystem auf der Webseite von ANDUS ELECTRONIC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Abbildung 2.15 Vorgangsknotendigraph für vereinfachtes HausbauProjekt nach Briskorn und Hartmann (2015). . . . . . . . . . . 36 XXVII
XXVIII
Abbildungsverzeichnis
Abbildung 2.16 Optimaler Ablaufplan für vereinfachtes Hausbau-Projekt nach Briskorn und Hartmann (2015). . . 37 Abbildung 2.17 Ablaufplan mit Zusatzkapazitätsnutzung für vereinfachtes Hausbau-Projekt nach Briskorn und Hartmann (2015). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Abbildung 2.18 Flexibles Bedarfsprofil. . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Abbildung 2.19 Mindmap zu Aspekten verschiedener RCPSP-Varianten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Abbildung 2.20 Mindmap zur Klassifikation von RCPSP-Heuristiken. . . . 54 Abbildung 3.1 Ergebnisse der Zeitfensterberechnung für das Beispielprojekt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Abbildung 3.2 Dauer- und Kostenminimierung. . . . . . . . . . . . . . . . . . . . . 75 Abbildung 3.3 Dauerminimierung für festes Ressourcenprofil. . . . . . . . . 76 Abbildung 3.4 Kostenminimierung für festen Fertigstellungstermin . . . . 77 Abbildung 3.5 Beispielprojekt zur Veranschaulichung der Planmengen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Abbildung 3.6 Projekt ohne optimalen verzögerungsfreien Plan . . . . . . . 80 Abbildung 3.7 Optimaler Plan für Kundentyp I mit gemäßigter Nutzung von Zusatzkapazität. . . . . . . . . . . . . . . . . . . . . . . 83 Abbildung 3.8 Beispielinstanz mit optimalen Plänen außerhalb der quasistabilen Pläne. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Abbildung 3.9 Vorgangsknotendigraph des fiktiven Beispielprojekts. . . . 86 Abbildung 3.10 Der Earliest Start Schedule für die fiktive Fallstudie. . . . . 87 Abbildung 3.11 Ein kürzester Ablaufplan mit Zusatzkapazitätsnutzung für die fiktive Fallstudie. . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Abbildung 3.12 Ein kürzester Ablaufplan ohne Zusatzkapazitätsnutzung für die fiktive Fallstudie. . . . . . . 89 Abbildung 3.13 Verlauf der Kosten für benötigte Zusatzkapazitätsnutzung zur Erreichung eines Fertigstellungstermins für das fiktive Beispielprojekt. . . . 89 Abbildung 3.14 Ablaufplan mit geringster Zusatzkapazitätsnutzung und Dauer des Earliest Start Schedule für die fiktive Fallstudie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Abbildung 3.15 Verlauf von Erlös, Kosten und Deckungsbeitrag bei erster Erlösfunktion ut1 für das fiktive Beispielprojekt. . . . 91 Abbildung 3.16 Verlauf von Erlös, Kosten und Deckungsbeitrag bei zweiter Erlösfunktion ut2 für das fiktive Beispielprojekt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Abbildungsverzeichnis
XXIX
Abbildung 3.17 Verlauf von Erlös, Kosten und Deckungsbeitrag bei dritter Erlösfunktion ut3 für das fiktive Beispielprojekt . . . 92 Abbildung 4.1 Gegenüberstellung einer direkten und indirekten Kodierung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Abbildung 4.2 Abgrenzung von Perioden und Zeitpunkten . . . . . . . . . . . 99 Abbildung 4.3 Vertauschung der Startzeitpunkte zweier AG in einem Ablaufplan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Abbildung 4.4 Mit seriellem Schema erzeugter Ablaufplan. . . . . . . . . . . 104 Abbildung 4.5 Instanzdaten von Beispielprojekt zur Veranschaulichung des seriellen Schemas. . . . . . . . . . . . . 105 Abbildung 4.6 Aktiver Ablaufplan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Abbildung 4.7 Mit parallelem Schema erzeugter Ablaufplan. . . . . . . . . . 110 Abbildung 4.8 Vergleich zweier Pläne zur Gegenüberstellung des seriellen und parallelen Erzeugungsschemas. . . . . . . . . . . 113 Abbildung 4.9 Beispiel für Projektdauerverringerung ohne Kostenerhöhung durch eine Iteration des VorwärtsRückwärts-Verbesserungsverfahrens für das RCPSP-ROC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Abbildung 4.10 Beispiel für Kostenreduktion ohne Verzögerung durch eine Iteration des Verbesserungsverfahrens für das RCPSP-ROC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Abbildung 4.11 Einplanung von AG 2 in ()-Dekodierungsprozedur. . . . . 122 Abbildung 4.12 Zwei beispielhafte Ausprägungen der (|β)-Kodierung . . 126 Abbildung 4.13 Zwei beispielhafte Ausprägungen der (|τ )-Kodierung. . . 129 Abbildung 4.14 Zwei beispielhafte Ausprägungen der (|ˆzr )-Kodierung. . 132 Abbildung 4.15 Zwei beispielhafte Ausprägungen der (|ˆzrt )-Kodierung. . 134 Abbildung 4.16 Grundideen hinter den Kodierungen (|ˆzr ) und ()gs. . . . . 137 Abbildung 4.17 Beispielfunktion f (x) = 42 − (x − 23)2 . . . . . . . . . . . . . 138 Abbildung 4.18 Grafische Darstellung des Verfahrens des Goldenen Schnitts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Abbildung 4.19 Erzeugte Pläne von ()gs-Dekodierungsprozedur . . . . . . . 143 Abbildung 5.1 Grundschema eines Genetischen Algorithmus . . . . . . . . . 150 Abbildung 5.2 Vorgangsknotendigraph des Beispielprojekts . . . . . . . . . . 153 Abbildung 5.3 Späteste Endzeitpunkte der AG des Beispielprojekts . . . . 153 Abbildung 5.4 Fitnessbasierte Paarbildung. . . . . . . . . . . . . . . . . . . . . . . . 156 Abbildung 5.5 Schema des Ablaufs der LocalSolver-Nutzung. . . . . . . . . 167
XXX
Abbildungsverzeichnis
Abbildung 6.1 Verlauf von Kosten, Erlös und Deckungsbeitrag in Abhängigkeit von der erreichten Projektdauer für j3021_9.sm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Abbildung 6.2 Veranschaulichung der kürzesten Projektdauer mit und ohne Zusatzkapazität sowie maximalen Kosten. . . . . 178 Abbildung 6.3 Vergleich der Genetischen Algorithmen mit Gurobi für j30. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Abbildung 6.4 Vergleich unterschiedlicher MILP-Solver auf ProGen-Projekten mit 20 AG. . . . . . . . . . . . . . . . . . . . . . . 190 Abbildung 6.5 Vergleich der Genetischen Algorithmen mit Gurobi für j120 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Abbildung 6.6 Vergleich der Heuristiken für große Sammlung von Instanzen aus PSPLIB, RG30 und RG300. . . . . . . . . . . . . 195
Tabellenverzeichnis
Tabelle 1.1 Mögliche Zuteilungen der verschiedenen Rollen in einem Projekt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Tabelle 2.1 Dauern und Ressourcenbeanspruchungen der AG des Beispielprojekts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Tabelle 2.2 Literaturvergleich eng verwandter Probleme: Zielfunktione. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Tabelle 2.3 Literaturvergleich eng verwandter Probleme: Restriktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Tabelle 2.4 Zahlungsbereitschaften der unterschiedlichen Kundentypen in Abhängigkeit von der erzielten Projektdauer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Tabelle 2.5 Erlöse und Deckungsbeiträge von Kunden für Pläne. . . . . . . 23 Tabelle 2.6 Dauern und Ressourcenbedarfe der AG des vereinfachten H ausbau-Projekts nach Briskorn (2015). . . . . 36 Tabelle 2.7 Diverse Varianten der ressourcenbeschränkten Projektplanung aus der Fachliteratur. . . . . . . . . . . . . . . . . . . 51 Tabelle 2.8 Heuristische Lösungsverfahren für das RCPSP in der Grundform alphabetisch sortiert nach Typ des Lösungsverfahrens. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Tabelle 2.9 Heuristische Lösungsverfahren für Varianten des RCPSP. . . 56 Tabelle 2.10 Legende für die Tabelle heuristischer Verfahren für das RCPSP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Tabelle 3.1 Gesamtpuffer der AG des Beispielprojekts . . . . . . . . . . . . . . 71 Tabelle 3.2 Notation des Entscheidungsmodells RCPSP-ROC . . . . . . . . 72 Tabelle 3.3 Zahlungsbereitschaft des Kundentyps I in Abhängigkeit von der erzielten Projektdauer. . . . . . . . . . . . . . . . . . . . . . . . 82
XXXI
XXXII
Tabellenverzeichnis
Tabelle 3.4 Dauern und Ressourcenbedarfe der AG des fiktiven Beispielprojekts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Tabelle 4.1 Berechnungstabelle für Beispielfunktion zum Verfahren des Goldenen Schnitts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Tabelle 6.1 Vergleich der Einpunkt- und Zweipunkt-Kreuzung für (|ˆzrt ) auf j30 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Tabelle 6.2 Vergleich der Elite- und Duell-Selektion für (|ˆzrt ) auf j30 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Tabelle 6.3 Vergleich der Kodierungen mit und ohne Zusatzinformationen neben der AG-Priorisierung bei 1.000 erzeugten Plänen für j 30-Instanzen . . . . . . . . . . . . . . 184 Tabelle 6.4 Vergleich der zwei Planerzeugungsschemata bei 1.000 erzeugten Plänen für j30-Instanzen. . . . . . . . . . . . . . . . . . . 185 Tabelle 6.5 Vergleich der Darstellungsformen für die Priorisierung von AG mit seriellem Planerzeugungsschema bei 1.000 erzeugten Plänen für j30-Instanzen. . . . . . . . . . . . . . . . . . . 185 Tabelle 6.6 Numerische Ergebnisse für vergleichsweise kleine Projekte mit 30 nicht-fiktiven AG und verschiedene Planlimits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 Tabelle 6.7 Numerische Ergebnisse im Zeitverlauf für vergleichsweise kleine Projekte mit 30 nicht-fiktiven AG. . . 189 Tabelle 6.8 Numerische Ergebnisse für vergleichsweise große Projekte mit 120 nicht-fiktiven AG und verschiedene Planlimits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 Tabelle 6.9 Numerische Ergebnisse im Zeitverlauf für vergleichsweise große Projekte mit 120 nicht-fiktiven AG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
1
Einführung
1.1
Gegenstand der Arbeit
Das Projekt ist eine in der Wirtschaft vorherrschende Organisationsform. Projekte strukturieren in ihrer Gesamtheit einmalige Vorhaben.1 In den letzten Jahren wurden Vorhaben mit Projektcharakter aufgrund des technologischen Fortschritts und der damit einhergehenden verkürzten Produktlebenszyklen zunehmend wirtschaftlich bedeutender.2 Daher sind ausgereifte Methoden zum Management von Projekten entscheidend. Es ist deutlich aufwendiger einen Fehler in einem späten Stadium des Projekts zu beseitigen, als dies bereits frühzeitig zu erledigen.3 Folglich können die Gesamtkosten signifikant verringert werden, wenn ein Fehler aufgrund sorgfältiger Planung rechtzeitig erkannt wird. Daher ist die Planungsphase eines Projekts kritisch für dessen Gesamterfolg. Im Fokus der vorliegenden Arbeit liegt die Ablaufplanung, welche als Teilaufgabe der Projektplanung dem Projektmanagement untergeordnet ist. Die Aufgabe der Ablaufplanung für Projekte mit beschränkten und erneuerbaren Ressourcen ist es, die Startzeitpunkte der gegebenen Arbeitsgänge (AG) festzulegen. Der dadurch definierte Plan darf weder Reihenfolge- noch Kapazitätsrestriktionen verletzen. Zudem soll der Plan die gewünschte Zielstellung bestmöglich erfüllen. In der Literatur wurden Probleme mit unterschiedlichen zeit- und kostenorientierten Zielstellungen untersucht. Am häufigsten wird eine möglichst geringe Gesamtdauer des Projekts angestrebt.4 Eine kurze Projektlaufzeit weist mehrere 1 Vgl.
Zimmermann et al. (2006) S. 1. Eichhorst und Buhlmann (2015), S. 13 und Luderer (2003). 3 Vgl. Stecklein et al. (2004) 4 Vgl. Zimmermann et al. (2006), S. 197. 2 Vgl.
© Der/die Herausgeber bzw. der/die Autor(en), exklusiv lizenziert durch Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature 2020 A. Schnabel, Heuristiken für die gewinnorientierte Planung ressourcenbeschränkter Projekte mit erweiterbaren Kapazitäten, Produktion und Logistik, https://doi.org/10.1007/978-3-658-31610-5_1
1
2
1
Einführung
Vorteile auf. Ein frühzeitiges Projektende reduziert die Kosten, da Kapital und Ressourcen über eine kürzere Zeitspanne gebunden bzw. bereitgestellt werden müssen. Ein kurzer Plan reduziert zudem das Risiko von Konventionalstrafen für Terminabweichungen.5 Wenn eine geringe Gesamtdauer des Projekts angestrebt wird, werden daher indirekt die Kosten für ein verzögertes Projektende minimiert. Dabei werden die Kapazitäten der erneuerbaren Ressourcen als gegeben und über den Planungshorizont hinweg konstant angenommen. Die Zielfunktion berücksichtigt nicht, in welchem Umfang erneuerbare Ressourcen in einem Plan innerhalb der Kapazitätsgrenzen beansprucht werden. Es gibt Projektplanungsprobleme mit kostenorientierten Zielstellungen, in welchen der Entscheider in der Lage ist, mit Kosten behaftete zusätzliche Kapazitätseinheiten (KE) gezielt einzusetzen, um eine gegebene Zieldauer für das Projekt einzuhalten.6 Die im Voraus festgelegte und in jeder Periode von einer erneuerbaren Ressource bereitgestellte konstante Normalkapazität definiert einen Schwellenwert für die Ressourcenauslastung. Es fallen Kosten an, wenn der Umfang, in welchem Ressourcen in einem Plan genutzt werden, diesen Schwellenwert übersteigt. Das Ziel ist es, diese Kosten zu minimieren. Die Projektdauer wird über eine gegebene verbindliche Frist von oben beschränkt und in der Zielstellung nicht berücksichtigt. Die vorher festgelegten und durchweg verfügbaren Kapazitätseinheiten müssen ebenfalls bereitgestellt werden, wodurch Fixkosten generiert werden. Die Fixkosten sind jedoch nicht vermeidbar und daher nicht entscheidungsrelevant. Im Umfeld eines Projekts gibt es mehrere Akteure, welche teilweise oder vollständig durch die gleiche Person oder das gleiche Unternehmen repräsentiert werden können. Es wird zwischen einer Auftraggeber- und Auftragnehmerebene unterschieden.7 Ein Projekt wird von einem Kunden in Auftrag gegeben. Die gesamte Planungsaufgabe des Projekts und insbesondere die Ablaufplanung kann in Abstimmung mit dem Kunden erfolgen oder alleinig durch einen Dienstleister. Typischerweise konzipiert die Leitung des Projekts den Projektplan.8 Nachdem der Plan erstellt worden ist, kann das Projekt wiederum von einer oder mehreren separaten Parteien umgesetzt werden. In Tabelle 1.1 werden mehrere Beispiele für mögliche Vertreter der unterschiedlichen Rollen bei verschiedenen Projektarten dargestellt. In Projekt I wird das Projekt von einem Kunden in Auftrag gegeben, ein Beratungsunternehmen plant das Projekt und ein Dienstleister setzt schließlich das Projekt um. Das Projekt II wird vollständig in einem Unternehmen abgewickelt, um ein Problem 5 Vgl.
Zimmermann et al. (2006), S. 120. Zimmermann et al. (2006), S. 123. 7 Vgl. Kraus et al. (2010), S. 28. 8 Vgl. Süß und Eschlbeck (2002), S. 40. 6 Vgl.
1.1 Gegenstand der Arbeit
3
innerhalb dieses Unternehmens zu lösen. Dabei werden die verschiedenen Rollen im Projekt durch unterschiedliche Abteilungen des Unternehmens übernommen. In Projekt III gibt ein Kunde das Projekt bei einem Dienstleister in Auftrag. Dieser Dienstleister plant das Projekt und setzt es danach um. Tabelle 1.1 Mögliche Zuteilungen der verschiedenen Rollen in einem Projekt Rolle
Projekt I
Projekt II
Projekt III
Auftraggeber Planer/Leiter Umsetzer
Kunde Berater Dienstleister
Abteilung A Abteilung B Abteilung C
Kunde Dienstleister Dienstleister
Nachfolgend wird davon ausgegangen, dass ein externer Kunde die Rolle des Auftraggebers des Projekts einnimmt und die Planung und Umsetzung des Projekts einem Dienstleister überlässt. Der Kunde weist für verschiedene Projektlaufzeiten eine variierende Zahlungsbereitschaft auf. Der daraus resultierende Erlös wird in Abhängigkeit vom Fertigstellungstermin im Auftrag schriftlich festgehalten. Die Umsetzung erfolgt direkt durch den Planer des Projekts. Entsprechend ergibt sich der Deckungsbeitrag für den Dienstleister unmittelbar aus dem für die Projektdauer erzielten Erlös abzüglich der Kosten, welche aufgewendet werden mussten, um ggf. temporär die Kapazitäten für ein frühzeitigeres Projektende zu erweitern. Tatsächlich können in einem Projekt die beiden gegenläufigen Zielstellungen einer kurzen Projektdauer und geringer Kosten für zusätzliche Kapazitätseinheiten gemeinsam auftreten. In diesem Fall kann der Entscheider limitierte und mit Kosten behaftete Zusatzkapazität einsetzen, um die verfügbaren Kapazitäten der erneuerbaren Ressourcen zu erhöhen. Die gesteigerten Kapazitäten erlauben es, in größerem Maße Arbeitsschritte im Plan gleichzeitig durchzuführen. Durch gesteigerte Parallelität wird ein Plan verkürzt. Häufig ist der Kunde bereit, für ein frühzeitiges Projektende einen Aufpreis zu bezahlen und damit den Erlös zu erhöhen. Nutzt der Entscheider also Zusatzkapazität, kann dies indirekt den Erlös vergrößern. Der Deckungsbeitrag steigt daraufhin genau dann, wenn der erzielte Erlös stärker wächst als die Kosten für weitere Zusatzkapazität. Das beschriebene spezifische Projektplanungsproblem wurde in der wissenschaftlichen Fachliteratur bislang nicht untersucht. Die vorliegende Arbeit schließt diese Forschungslücke. Zwei Aspekte kennzeichnen die Problemstellung. Erstens kann kostenbehaftete Zusatzkapazität in begrenztem Maße eingesetzt werden, um die verfügbare Kapazität der erneuerbaren Ressourcen zu erweitern. Zweitens sinkt der nach Projektende erzielte Erlös mit steigender Projektdauer. Das Zusammenspiel
4
1
Einführung
beider Aspekte in dieser konkreten Konstellation erzeugt einen Trade-off zwischen Projektdauer- und Kostenminimierung, wenn als Zielstellung der Deckungsbeitrag maximiert werden soll. Für den Entscheider ist es möglich, die Projektdauer zu verringern, indem er Zusatzkapazität nutzt. Dies verursacht Kosten, welche jedoch durch höhere Erlöse kompensiert werden können. Die beiden gegensätzlichen Optimierungsziele finden ihr Gleichgewicht bei Plänen, welche die Zusatzkapazität an bestimmten Stellen geschickt einsetzen, um die Projektlaufzeit zu reduzieren und damit die Erlöse zu steigern.
1.2
Aufbau der Arbeit
Das zweite Kapitel beschreibt zunächst die klassische Ablaufplanung für ressourcenbeschränkte Projekte und betrachtet zwei in der Literatur verbreitete Zielstellungen. Das erste Ziel minimiert die Gesamtdauer des Plans. Das zweite Ziel minimiert das Ausmaß, in welchem Zusatzkapazität genutzt wird. Nachfolgend wird die Kombination beider Optimierungsziele dargestellt. Der hierbei entstehende Trade-off zwischen den gegenläufigen Zielen wird erläutert und verschiedene Ausprägungen des Trade-offs bei unterschiedlichen Kundentypen betrachtet. Es werden mehrere Situationen in verschiedenen Branchen als motivierende Anwendungsbeispiele für die Problemstellung vorgestellt. Für jeden Anwendungsfall wird zunächst das Praxisbeispiel erläutert und daraufhin der Bezug zur Problemstellung hergestellt. Das dritte Kapitel erläutert anfänglich die getroffenen Annahmen und führt in die verwendete Notation ein. Daraufhin wird das Problem in Form eines gemischtganzzahligen linearen Optimierungsmodells formalisiert und präzise beschrieben. Auf Basis des Modells können anschließend verschiedene strukturelle Eigenschaften der Problemstellung erläutert werden. Ferner wird im Rahmen einer fiktiven Fallstudie untersucht, inwiefern die Parameter einer Instanz bestimmend für die Struktur der optimalen Ablaufpläne eines exemplarischen Projekts sind. Das vierte Kapitel zeigt zu Beginn, dass die gewählte Form der Lösungsdarstellung die Effizienz eines Lösungsverfahrens erkennbar beeinflusst. Das serielle und parallele Ablaufplanerzeugungsschema werden darauf erläutert, da beide Schemata später in den Dekodierungsprozeduren wieder aufgegriffen werden. Zudem wird ein nachbarschaftliches Verbesserungsverfahren für bereits konstruierte Pläne beschrieben. Die nachfolgend verwendeten Kodierungen werden anschließend eingeführt. Die Kodierungen lassen sich in drei Gruppen einteilen: Wenn ein Plan erzeugt wird, minimiert die erste Gruppe gleichzeitig sowohl die Projektdauer als auch die Kosten für Zusatzkapazität. Die zweite Gruppe konstruiert Pläne mit möglichst geringer Projektdauer für fixierte Ressourcenprofile. Die dritte Gruppe sucht Fristen für das
1.2 Aufbau der Arbeit
5
Projektende (engl. deadlines), für welche der kostenminimale Plan den höchsten Deckungsbeitrag aufweist. Um die Menge der möglichen Ausprägungen der Kodierungen effizient nach guten Kandidaten zu durchsuchen, werden die vorgestellten Kodierungen und Planerzeugungsschemata in heuristische Verbesserungsverfahren eingebettet. Im fünften Kapitel werden hierfür zwei unterschiedliche Verfahren vorgestellt. Als erstes Verfahren wird eine Metaheuristik – der Genetische Algorithmus (engl. Genetic Algorithm, GA) – beschrieben. Um aus dieser Metaheuristik eine problemspezifische Heuristik zu konstruieren, müssen passend für die Problemstellung Lösungsrepräsentationen und sogenannte genetische Operatoren spezifiziert werden. Zudem wird die kommerzielle Software „LocalSolver“ genutzt, um eine Heuristik basierend auf lokaler Suche umzusetzen. In beiden Fällen wird ausführlich beschrieben, wie Kodierungen und zugehörige Algorithmen, welche diese zu Plänen dekodieren, in die entsprechenden Rahmen der heuristischen Verbesserungsverfahren integriert worden sind. Das sechste Kapitel untersucht die Leistungsfähigkeit der vorgestellten Kombinationen aus Lösungsrepräsentation und -verfahren. Hierfür muss zunächst eine Problembibliothek aus Testinstanzen als Datenbasis für den Benchmark entworfen werden. Anknüpfend werden die Randbedingungen der numerischen Studie, wie bspw. Algorithmenkonfigurationen und Abbruchkriterien, spezifiziert. Die Ergebnisse werden abschließend für Projekte unterschiedlicher Größe mit 30 und 120 AG jeweils isoliert betrachtet und diskutiert. Das siebte Kapitel beendet die Arbeit schließlich. Es fasst die vorgestellten Inhalte zusammen, erörtert die Limitationen der erzielten Ergebnisse und gibt einen Ausblick auf mögliche fortführende Forschungsinhalte.
2
Planung von Projekten mit erweiterbaren Ressourcen und von der Projektdauer abhängigen Erlösen
2.1
Planung des Ablaufs ressourcenbeschränkter Projekte
Die vorliegende Arbeit beschäftigt sich mit der Planung von Projekten. Die DINNormenreihe DIN 69901 definiert ein Projekt als „Vorhaben, das im Wesentlichen durch Einmaligkeit der Bedingungen in ihrer Gesamtheit gekennzeichnet ist, wie z. B. • Zielvorgabe, • zeitliche, finanzielle, personelle oder andere Begrenzungen, • projektspezifische Organisation.“ 1 Das Projektmanagement liefert Methoden, um Projekte systematisch abwickeln zu können, und umfasst mehrere Teilbereiche.2 Hierzu gehört die Projektkonzeption, die Planung, die Ausführung, das Controlling und der Abschluss des Projekts. Der chronologische Ablauf des Projekts entspricht der Reihenfolge der genannten Teilbereiche, wobei Ausführung und Controlling parallel stattfinden. Die Aufgabe der Projektplanung kann in drei Schritte untergliedert werden: Die Struktur-, die Zeit- und die Kapazitätsplanung. In der Strukturplanung wird die Projektaufgabe in Arbeitsgänge (AG) zerlegt3 und die gegenseitigen Abhängigkeiten der AG in Form von Reihenfolgebeziehungen identifiziert.4 In der Zeitplanung werden die Dauern der AG über eine Aufwandsschätzung ermittelt und Zeitfenster 1 Vgl.
Deutsches Institut für Normung e.V. (2009), S. 11. Litke (2005) sowie Institute (2017). 3 Vgl. Zimmermann et al. (2006), S. 32. 4 Vgl. Zimmermann et al. (2006), S. 42. 2 Vgl.
© Der/die Herausgeber bzw. der/die Autor(en), exklusiv lizenziert durch Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature 2020 A. Schnabel, Heuristiken für die gewinnorientierte Planung ressourcenbeschränkter Projekte mit erweiterbaren Kapazitäten, Produktion und Logistik, https://doi.org/10.1007/978-3-658-31610-5_2
7
8
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
berechnet, in welchen die AG durchgeführt werden dürfen. Die Zeitfenster werden durch die Reihenfolgebeziehungen zwischen den AG impliziert. Ein AG darf stets erst zu einem Zeitpunkt beginnen, an welchem alle seine Vorgänger beendet worden sind. Die Kapazitätsplanung berücksichtigt daraufhin, dass die erneuerbaren Ressourcen nur begrenzt verfügbar sind und legt schließlich den Ablaufplan fest. In der Kapazitätsplanung werden die Kapazitäten der erneuerbaren Ressourcen und Ressourcenverbräuche der AG ermittelt. Ein AG belegt in jeder Periode, in welcher er aktiv ist, ggf. die Kapazität einer oder mehrerer Ressourcen.5 Die Ressourcen stehen zu Beginn jeder Periode erneut mit voller Kapazität zur Verfügung und werden daher mit dem Attribut „erneuerbar“ versehen.6 Beispiele für erneuerbare Ressourcen sind Produktionsmaschinen, Server, Transportfahrzeuge und Personal, da deren anderweitig einsetzbare Kapazität jeweils nur temporär reduziert wird, während ein AG durchgeführt wird und die Ressource belegt. Ein einzelner AG beansprucht stets weniger oder genau so viel Kapazität einer Ressource, wie von dieser verfügbar ist.7 Falls mehrere AG gleichzeitig durchgeführt werden, kann deren kumulierte Ressourcennutzung jedoch die Kapazitätsgrenzen überschreiten. Die Ablaufplanung selbst wird durchgeführt, nachdem die genannten Randbedingungen ermittelt worden sind.
Abbildung 2.1 Ablaufplanung für Projekte mit beschränkten Ressourcen
In Abbildung 2.1 wird die Ausgangssituation der ressourcenbeschränkten Projektplanung anhand eines Beispielprojekts veranschaulicht. Es soll für das gegebene Projekt (linke Seite in Abbildung 2.1) ein Plan gefunden werden, welcher eine gegebene Zielstellung bestmöglich erfüllt, ohne zeitliche und kapazitäre Einschränkungen zu verletzen (rechte Seite in Abbildung 2.1). 5 Vgl.
Zimmermann et al. (2006), S. 50. Zimmermann et al. (2006), S. 51. 7 Vgl. Brucker und Knust (2012), S. 2. 6 Vgl.
2.1 Planung des Ablaufs ressourcenbeschränkter Projekte
9
Tabelle 2.1 Dauern und Ressourcenbeanspruchungen der AG des Beispielprojekts AG
0
1
2
3
4
5
6
7
Dauer 0 Nutzung 0 pro ZE
3 3
2 2
2 2
3 1
1 2
2 1
0 0
In Abbildung 2.1 werden die AG und temporalen Einschränkungen der AG zueinander als Vorgangsknotendigraph (engl. Activity on Node, AoN) grafisch veranschaulicht. Die Knoten entsprechen AG. Die gerichteten Kanten stehen für Reihenfolgebeziehungen und zeigen immer vom Vorgänger zum Nachfolger.8 Die Bearbeitungszeiten und Verbräuche der AG des Beispielprojekts sind in Tabelle 2.1 definiert. Die Kapazität der einzigen erneuerbaren Ressource im Beispielprojekt beträgt 4 Kapazitätseinheiten (KE). In Abbildung 2.1 ist ein zulässiger Plan mit minimaler Gesamtdauer für das Beispielprojekt in Form eines Gantt-Diagramms9 mit Ressourcenprofil für die in diesem Beispiel einzige Ressource abgebildet. Jeder AG wird über ein Rechteck dargestellt. Die Breite des Rechtecks entspricht der Dauer des AG und die Höhe dessen Ressourcennutzung. Die Startzeitpunkte der AG können über die x-Koordinaten der assoziierten Rechtecke abgelesen werden. Die Ordinate visualisiert für jede Periode die Anzahl der KE, welche durch die AG im Plan belegt werden. Der abgebildete Plan ist zulässig, da alle Reihenfolgebeziehungen eingehalten werden und gleichzeitig die Kapazitätsgrenze der einzigen erneuerbaren Ressource über den kompletten Planungshorizont hinweg nicht überschritten wird. Die Gesamtdauer des Plans beträgt 10 ZE. In diesem Fall gibt es mehrere optimale Pläne, da der Beginn des AG 5 auf die Zeitpunkte 5, 6 und 7 gelegt werden könnte und der Plan zulässig bleiben und eine unveränderte Gesamtdauer aufweisen würde. Der kürzeste bezüglich der Reihenfolgebeschränkungen zulässige Plan bei Relaxation der Kapazitätsrestriktionen weist eine Dauer von 8 ZE auf, was der Länge des kritischen Pfads durch AG 0, 1, 3, 5, 6 und 7 in diesem Projekt entspricht.
8 Vgl. 9 Vgl.
Brucker und Knust (2012), S. 2. Zimmermann et al. (2006), S. 116.
10
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
2.2
Verschiedene Zielstellungen
2.2.1
Minimierung der Projektdauer
Typischerweise wird der kürzeste zulässige Plan gesucht, wenn Projekte mit beschränkten und erneuerbaren Ressourcen geplant werden. Diese Zielstellung, welche die Projektdauer minimiert, wird im ressourcenbeschränkten Projektplanungsproblem (engl. Resource-Constrained Project Scheduling Problem, RCPSP) angenommen. Das RCPSP wird nach dem hierarchischen Produktionsplanungskonzept10 in die segmentspezifische Feinplanung eingeordnet.11 Mehrere betriebswirtschaftliche Argumente motivieren als Ziel in der Ablaufplanung, die Projektdauer zu minimieren. Zum einen kann ein früher Markteintritt ermöglicht werden, wenn das Projekt rasch fertiggestellt wird. Als erster Anbieter für ein bestimmtes Produkt am Markt zu sein, kann entscheidend für die bedienbare Nachfrage und damit den erreichten Umsatz sein.12 Eine Studie von McKinsey hat postuliert, dass bei einem technologisch anspruchsvollen Produkt der Gewinn um ein Drittel in den ersten fünf Jahren reduziert wird, falls das Produkt erst sechs Monate später auf den Markt kommt.13 Zusätzlich wird durch eine kurze Dauer der zeitliche Versatz zwischen Konzeption und Umsetzung eines Projekts verringert. Dies erlaubt es, den Markt bis zur Reife des Produkts zuverlässiger zu analysieren. Zudem können drei Arten von Kosten steigen, wenn das Projektende verzögert wird. Erstens können Darlehen notwendig sein, um das Projekt durchführen zu können. In diesem Fall werden im zeitlichen Verlauf zusätzliche Zinsen hervorgerufen. Der Gesamtbetrag der Zinsen würde geringer ausfallen, wenn das Projekt frühzeitig beendet wird. Zweitens steigen die Opportunitätskosten mit der Projektdauer, da das Projekt Kapital und Ressourcen bindet. Drittens werden häufig vertraglich festgelegte Konventionalstrafen bzw. Strafkosten fällig, wenn durch den Kunden vorgegebene Fristen überschritten werden.14 Wenn die Projektdauer minimiert wird, kann sich dies folglich auf zwei Arten monetär auswirken. Erstens kann der Umsatz erhöht werden, da der Auftraggeber des Projekts vor den Konkurrenten in der Lage ist, die Nachfrage der Kunden zu befriedigen. Zweitens können die Kosten für Zinsen, gebundenes Kapital und Kon10 Vgl.
Drexl et al. (1993). Briskorn und Hartmann (2015). 12 Vgl. Chen und Askin (2009) auf S. 24, Robinson und Fornell (1985), Pamay et al. (2014), Qi (2018), Varakantham und Fu (2017) und Urban et al. (1986). 13 Vgl. Musselwhite (1990). 14 Vgl. Zimmermann et al. (2006), S. 120. 11 Vgl.
2.2 Verschiedene Zielstellungen
11
ventionalstrafen minimiert werden. Falls die Erlöse und Kosten, welche durch den Plan beeinflusst werden können, keinen Anreiz liefern, die Projektdauer zu erhöhen, dann kann der Deckungsbeitrag nur maximiert werden, indem die Projektdauer minimiert wird. Entsprechend müssen in diesem Fall keine monetären Größen bei der Optimierung berücksichtigt werden.15 Es wird nachfolgend davon ausgegangen, dass das Projekt von einem Dienstleister für einen Kunden durchgeführt wird. Der Kunde zahlt dem Dienstleister nach Projektende hierfür einen Erlös. Die Zahlungsbereitschaft des Kunden wird gekoppelt an den Termin, an welchem das Projekt fertiggestellt wird.16 Der Wert des Projekts für den Kunden steigt in der Regel, wenn dies zu einem früheren Termin fertiggestellt werden kann. Welchen genauen Verlauf die Wertminderung des Projekts für den Kunden mit steigender Projektdauer aufweist, kann von Kunde zu Kunde unterschiedliche Ausprägungen annehmen. Die Anzahl der in jeder Periode von einer Ressource verfügbaren Kapazitätseinheiten wird typischerweise als exogene und über den Planungshorizont hinweg konstante Größe angenommen.17 Kombiniert mit dem Ziel einer minimalen Projektdauer führt dies dazu, dass ein Ablaufplan gesucht wird, welcher das konstante Kapazitätsniveau der erneuerbaren Ressourcen möglichst erschöpfend in Anspruch nimmt.
2.2.2
Minimierung der Nutzung von Zusatzkapazitäten
Die Annahme der zeitunabhängigen Kapazitätsgrenzen wird in der Literatur stellenweise aufgehoben.18 In den zugehörigen Veröffentlichungen kann die Anzahl der verfügbaren KE einer Ressource von Periode zu Periode variieren.19 Die Kapazität ändert sich jeweils zum Zeitpunkt, in welchem eine Periode beginnt. Dass die Kapazität im Zeitverlauf schwankt, kann Folge von äußeren Umständen wie bspw. Wartungs- oder Urlaubsterminen sein. Auch andere Ursachen sind denkbar. Ein vorheriger Planungsschritt kann dazu führen, dass Ressourcen lediglich 15 Vgl.
Zimmermann et al. (2006), S. 120. Chen und Askin (2009), S. 24. 17 Vgl. Hartmann und Briskorn (2010), S. 1. 18 Vgl. das ressourcenbeschränkte Projektplanungsproblem mit zeitabhängigen Verbräuchen und Kapazitäten (engl. Resource-Constrained Project Scheduling Problem with Time-varying Resource Requirements and Capacities, RCPSP/t) in Hartmann (2012) sowie Hartmann (2015), Klein (2000) und Hartmann und Briskorn (2010) in Abschnitt 4.6. 19 Siehe auch Brucker und Knust (2012), S. 5. 16 Vgl.
12
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
bedarfsgerecht bereitgestellt und bestimmten Aufgaben zugewiesen werden. Dies würde ebenfalls zu zeitabhängig variablen Kapazitätsverläufen führen. Die in einigen Anwendungsfällen unzutreffende Annahme der Kapazität als exogene Größe wird in den angesprochenen Literaturquellen jedoch beibehalten. In vielen Anwendungsfällen kann, zusätzlich zu den fest verfügbaren regulären Kapazitätseinheiten, temporär weitere Kapazität beansprucht werden. Angenommen, jede Periode im Planungshorizont repräsentiert einen Arbeitstag. Eine Gruppe von Mitarbeitern mit einer speziellen Qualifikation wird als eine erneuerbare Ressource modelliert. Eine Kapazitätseinheit dieser Ressource stellt eine Personenstunde dar. Die Ressourcenkapazität entspricht der gesamten Arbeitszeit aller qualifizierten Mitarbeiter. Beispielsweise bei drei Vollzeit-Mitarbeitern vom Typ „Schweißer“ mit täglich 8 Stunden Arbeitszeit weist die Ressource „Schweißarbeiter“ eine Kapazität von 3·8 = 24 KE auf. In dieser Situation kann die Kapazität ggf. erweitert werden, indem Überstunden eingesetzt werden. Alternativ könnten zusätzliche Arbeitsstunden mit einer bestimmten Qualifikation an externe Mitarbeiter outgesourct werden, wodurch ebenfalls die Kapazität des Personals erhöht werden kann. Falls stattdessen Maschinen als erneuerbare Ressourcen abgebildet werden, kann die Kapazität erhöht werden, indem zusätzliche Maschinen angemietet oder derzeit außer Betrieb genommene Maschinen reaktiviert werden. Beide beispielhaft genannte Formen, die Kapazität zu erweitern, sind endogen und lassen sich durch den Entscheider beeinflussen. Im Regelfall entstehen Kosten, wenn die Kapazität einer erneuerbaren Ressource erhöht wird. Dabei müssen zwei Fälle unterschieden werden. Im ersten Fall werden lediglich einmalig Kosten hervorgerufen, wenn zusätzliche Kapazitätseinheiten einer Ressource bereitgestellt werden müssen. In diesem Fall ist für die Güte eines Plans lediglich relevant, in welchem Umfang eine Ressource maximal im Plan ausgelastet wird. Im zweiten Fall ist es kostspielig, wenn das Kapazitätsniveau im Zeitverlauf geändert wird. Änderungskosten können in Form von Umrüstkosten anfallen, wenn Kapazität erhöht oder reduziert wird. In diesem Fall ist es mit Kosten verbunden, wenn der kumulative Ressourcenbedarf aller AG schwankt, weshalb das Nutzungsprofil nivelliert werden soll. Nur in seltenen Fällen lassen sich zusätzliche Kapazitätseinheiten in beliebigem Maße hinzunehmen. Meistens kann die Kapazität nur begrenzt erweitert werden, da gesetzliche, technische oder organisatorische Einschränkungen verhindern, dass die Kapazität über einen Schwellenwert hinaus erhöht wird. Zum Beispiel werden vom Gesetzgeber in Deutschland die Überstunden des Personals an einzelnen Tagen sowie in der gesamten Woche limitiert. Zudem kann ein Plan, in welchem Zusatzkapazität umfangreich eingesetzt wird, häufig nicht weiter verkürzt werden, indem die
2.2 Verschiedene Zielstellungen
13
Kapazität erweitert und stärker parallelisiert wird, da alle Reihenfolgebeziehungen bereits bindend sind. In der Literatur werden mehrere monetäre Zielstellungen für die ressourcenbeschränkte Projektplanung behandelt:20 Es gibt monetären Zielstellungen, welche den zeitlichen Ablauf der AG berücksichtigen und Terminabweichungen (engl. tardiness) in Form von Verspätungskosten als Term in der Zielfunktion bestrafen. Durch Verspätungskosten lassen sich bspw. Konventionalstrafen abbilden, welche anfallen, wenn Projektmeilensteine verspätet erreicht werden.21 Eine weitere Gruppe von monetäre Zielstellungen verringert die Inanspruchnahme der erneuerbaren Ressourcen. Eine Gemeinsamkeit dieser Zielstellungen ist, dass diese eine verbindliche Frist (Fertigstellungstermin) für das Projektende annehmen. Verbindliche Fristen sind abzugrenzen von einem „weichen“ Zieltermin (engl. due date), der überschritten werden darf, jedoch Strafkosten hervorruft. Die kumulierte Inanspruchnahme einer Ressource durch parallel durchgeführte AG wird entweder ab der ersten Kapazitätseinheit bestraft oder Kosten fallen erst an, wenn ein ressourcenspezifischer Schwellenwert überschritten und/oder unterschritten wird. Diese beiden Varianten von Projektplanungsproblemen mit monetärer und ressourcenorientierter Zielstellung werden als Investitionsprobleme bzw. Nivellierungsprobleme bezeichnet. Abbildung 2.2 Minimierung der Nutzungsspitzen im Ressourceninvestitionsproblem
Das Ressourceninvestitionsproblem (engl. Resource Investment Problem, RIP) wird in Abbildung 2.2 veranschaulicht. In dieser Problemstellung entstehen Kosten, wenn Kapazitätseinheiten der erneuerbaren Ressourcen bereitgestellt werden.22 In der Zielstellung soll daher die gewichtete Summe der maximalen Ressourceninanspruchnahmen durch die AG über den gesamten Planungshorizont minimiert werden. Im Ressourceninvestitionsproblem wird nicht beachtet, in welchem Zeitraum die Ressourcenverbräuche auf einem hohen Niveau sind. Bereits die erste 20 Vgl.
Zimmermann et al. (2006), S. 121 und Neumann et al. (2003). Abschnitt 2.2.1 auf S. 10. 22 Vgl. Drexl und Kimms (2001). 21 Vgl.
14
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
genutzte Kapazitätseinheit einer Ressource erzeugt Kosten. Eine obere Schranke für die bereitgestellte Kapazität gibt es nicht. Jedoch begrenzen die Reihenfolgerestriktionen die maximal auftretenden Auslastungsspitzen. Wenn alle AG frühestmöglich eingeplant werden, ohne die Kapazitätsgrenzen zu berücksichtigen, dann liefert dies eine obere Schranke für die kumulativen Kapazitätsbeanspruchungen während einer einzelnen Periode.
Abbildung 2.3 Abgrenzung von RCPSP und Ressourceninvestitionsproblem
Während mit der Zielstellung der kürzestmöglichen Projektdauer ein „Problem der knappen Ressourcen“ gelöst wird, wird analog dazu das „Problem der knappen Zeit“ gelöst, wenn im Ressourceninvestitionsproblem die Kosten minimiert werden, welche anfallen, wenn Ressourcen bereitgestellt werden. Die Dualität wird in Abbildung 2.3 anhand des RCPSP in Abbildung 2.3a und des Ressourceninvestitionsproblems in Abbildung 2.3b schematisch dargestellt.23 Als Beispiel ist in Abbildung 2.1 auf S. 8 die Kapazität der einzigen „knappen“ Ressource auf 4 KE limitiert, was zu einem Plan mit einer Gesamtdauer von 10 ZE führt, wenn die AG frühestmöglich eingeplant werden. Wären die Ressourcen nicht knapp, könnte das Projekt in 8 ZE abgewickelt werden. Würde der dargestellte Plan in Abbildung 2.1 als Lösung für ein Ressourceninvestitionsproblem mit „knapper“ Projektdauer von höchstens 10 ZE interpretiert werden, dann würden maximal 4 KE ausgelastet werden, was abhängig von den Kostensätzen (d. h. der Gewichtung) für die einzige Ressource bestimmte Kosten hervorruft. Die maximale Nutzung der Ressourcen findet im Plan nur zwischen den Zeitpunkten 3 und 5 in den Perioden 4 und 5 statt. Bei Ressourcennivellierungsproblemen werden die Kosten minimiert, welche anfallen, wenn ein Zielwert für den Ressourcennutzung unter- und/oder überschritten
23 Vgl.
Möhring (1984).
2.2 Verschiedene Zielstellungen
15
Abbildung 2.4 Varianten von Nivellierungsproblemen
wird.24 Dadurch, dass die Abweichungen verringert werden, wird das Ressourcennutzungsprofil auf ein bestimmtes Zielniveau geglättet. Dabei werden die erneuerbaren Ressourcen wiederum gewichtet und damit priorisiert. Die Nivellierungsprobleme lassen sich in zwei Untergruppen unterteilen: Die erste Gruppe minimiert Unter- und Überschreitungen eines Zielwerts25 und die zweite Gruppe minimiert Überschreitungen eines Schwellenwerts.26 In beiden Fällen gibt es typischerweise keine obere Schranke für die Ressourcenbeanspruchung.27 Sind sowohl Unter- als auch Überschreitungen eines Zielwerts für die Ressourcenbelegung kostspielig, handelt es sich um das klassische Ressourcennivellierungsproblem (engl. Resource Leveling Problem, RLP).28 Das Problem ist in Abbildung 2.4a auf S. 15 dargestellt. Entstehen nur dann Kosten, wenn eine Kapazitätsschwelle überschritten wird, so wird dies auch als Ressourcenüberladungsproblem (engl. Resource Overload Problem, ROP) bezeichnet.29 Dieses Problem wird in Abbildung 2.4b auf S. 15 gezeigt. Eine generische Kombination der genannten Projektplanungsprobleme wird als Ressourcenanmietungsproblem (engl. Resource Renting Problem, RRP) bezeichnet.30 Bei dieser Problemstellung werden sowohl zeitunabhängige Bereitstellungskosten als auch zeitabhängige Mietkosten für die Ressourcen berücksichtigt. Das Ressourceninvestitionsproblem und das Ressourcenüberladungsproblem sind Spezialfälle dieser Problemstellung. 24 Vgl.
Gather (2011), S. 16. Easa (1989). 26 Vgl. Neumann und Zimmermann (1999) sowie Neumann et al. (2003). 27 Vgl. Gather (2011), S. 3. 28 Vgl. Gather (2011), S. 16. 29 Vgl. Gather (2011), S. 16. 30 Vgl. Nübel (2001). 25 Vgl.
16
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
Abbildung 2.5 Zulässiger Ablaufplan für das Beispielprojekt mit geringer Nutzung von Zusatzkapazität
In Abbildung 2.5 ist ein zulässiger Ablaufplan für das zum Beispielprojekt in Abbildung 2.1 auf S. 8 korrespondierende Ressourcenüberladungsproblem mit 4 KE regulärer Kapazität und einem Fertigstellungstermin nach 9 ZE eingezeichnet. Der Zielwert für die Kapazitätsinanspruchnahme wird in Periode 3 um 1 KE überschritten, wodurch es ermöglicht wird, AG 1 und 2 in Periode 3 parallel durchzuführen. Die zusätzliche Parallelität erlaubt es, die Projektdauer von 10 auf 9 ZE im Vergleich zum optimalen Plan in Abbildung 2.1 auf S. 8 für das ursprüngliche Beispielprojekt mit 4 KE zu verringern. Um den Deckungsbeitrag im Ressourceninvestitionsproblem, Ressourcennivellierungsproblem und Ressourcenüberladungsproblem mit verbindlicher Frist zu maximieren, müssen die Kosten minimiert werden, welche anfallen, wenn erneuerbare Ressourcen bereitgestellt oder genutzt werden. Es wird in den Modellen für Nivellierungsprobleme also implizit angenommen, dass kein Anreiz für ein früheres Ende des Projekts vorhanden ist, wenn dafür Kosten für zusätzlichen Ressourcennutzung entstehen und die Frist bereits erreicht wird.
2.2.3
Simultane Minimierung der Projektdauer und Zusatzkapazitätsnutzung
2.2.3.1 Beschreibung und Abgrenzung von verwandten Problemen Im RCPSP ist die Kapazität der erneuerbaren Ressourcen begrenzt und die Projektdauer wird minimiert. In dem Ressourceninvestitionsproblem, dem Ressourcennivellierungsproblem und dem Ressourcenüberladungsproblem ist die Projektdauer begrenzt und die Inanspruchnahme der Kapazität wird minimiert. Es gibt jedoch Situationen, in welchen sowohl die Kapazität als auch die Projektdauer vom Entscheider beeinflusst werden kann. Die Güte eines Ablaufplans mit einer bestimmten Kombination aus Dauer und Ressourceninanspruchnahme hängt dann davon ab, wie
2.2 Verschiedene Zielstellungen
17
beide Minimierungsziele gewichtet werden. Die zuvor genannten Problemstellungen sind damit nicht geeignet, die beschriebene Situation zu lösen. Die Kombination der beiden gegenläufigen Ziele, die Projektdauer- und die genutzte Zusatzkapazität zu minimieren, in der Zielstellung für eine ressourcenbeschränkte Projektplanung führt zu einer neuartigen Problemstellung. Die neue Problemstellung wird als ressourcenbeschränktes Projektplanungsproblem mit Erlösen und Zusatzkapazitätskosten (engl. Resource-Constrained Project Scheduling Problem with Revenues and Overcapacity Costs, RCPSP-ROC) bezeichnet und wurde in dieser spezifischen Form in der Literatur bisher nur in Schnabel et al. (2018) behandelt. Abbildung 2.6 veranschaulicht die neuartige Problemstellung an einem Beispiel und zeigt analog zu Abbildung 2.1 auf S. 8 auf der linken Seite eine Ausprägung des Problems (Instanz) und die eine zugehörige Lösung in Form eines Ablaufplans auf der rechten Seite.
Abbildung 2.6 Ablaufplanung für Projekte mit flexiblen Ressourcen und projektdauerabhängigen Erlösen
In Abbildung 2.6 lässt sich insbesondere erkennen, dass die meisten Daten einer Instanz aus dem klassischen ressourcenbeschränkten Projektplanungsproblem übernommen worden sind. Hinzu kommen für jedes Projekt drei Angaben: Die Erlösfunktion, die Kostensätze pro KE der Zusatzkapazität und die oberen Schranken für Zusatzkapazität. Die Erlösfunktion weist einer Projektdauer einen Erlös zu, welcher der Zahlungsbereitschaft des Kunden entspricht, wenn das Projekt mit dieser Gesamtdauer fertiggestellt werden kann. Diese Funktion erlaubt somit, die Projektdauer monetär zu bewerten. Im Beispielprojekt beträgt der Erlös 10 Geldeinheiten (GE) für eine Dauer bis 8 ZE. Für eine höhere Projektdauer liegt der Erlös bei 0 GE.
18
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
Für jede Ressource ist ein Kostenfaktor für eine Einheit zusätzlicher Kapazität über eine Periode festgelegt. Im Beispielspielprojekt liegt der Kostenfaktor bei 2 GE pro KE der einzigen Ressource. Für jede Ressource ist zudem eine ressourcenspezifische obere Schranke für die in einer Periode genutzten zusätzlichen Kapazitätseinheiten definiert. Im Beispielprojekt liegt diese obere Schranke auf der einzigen Ressource bei 2 KE. Für eine gegebene Instanz gilt es, den optimalen Plan zu ermitteln. Ein zulässiger Plan ist genau dann optimal, wenn die Differenz aus Erlös für die erreichte Projektdauer und Kosten für die genutzten Zusatzkapazitäten maximal ist. Ein Plan ist genau dann zulässig, wenn er erstens keine Reihenfolgebeziehungen verletzt und zweitens für alle Ressourcen der Gesamtbeanspruchung durch die aktiven AG in jeder Periode unterhalb der verfügbaren Kapazität liegt. Die maximal verfügbare Kapazität setzt sich zusammen aus der regulären Normalkapazität zzgl. der genutzten Zusatzkapazität, welche jedoch die vorgegebenen oberen Schranken nicht überschreiten darf. Der in Abbildung 2.6 dargestellte optimale Ablaufplan für die Beispielinstanz weist eine Dauer von 8 ZE auf. Der erzielte Erlös beläuft sich folglich auf 10 GE, wenn der Plan umgesetzt wird. Es werden in diesem Plan 2 KE der Zusatzkapazität genutzt, was Kosten in Höhe von 4 GE hervorruft. Im Zusammenspiel ergibt sich ein Deckungsbeitrag von 6 GE für den gezeigten Plan. In den Tabellen 2.2 auf S. 19 und 2.3 auf S. 19 wird ein Überblick über verschiedene Projektplanungsprobleme aus der Literatur mit unterschiedlichen Zielstellungen und teils auch heterogenen Randbedingungen gegeben. In den Zeilen sind die Probleme dargestellt und in den Spalten die Aspekte, welche jeweils in den Modellen abgebildet bzw. nicht berücksichtigt werden. Die Tabelle zeigt, dass kein Modell aus der betrachteten Literatur simultan sowohl die Projektdauer als auch die Kosten für Zusatzkapazität minimiert und daher die neuartige Problemstellung, das RCPSPROC, eine Forschungslücke schließt. Neben den bereits angesprochenen Problemen enthält die Tabelle zusätzlich das diskrete Zeit-Kosten-Trade-Off-Problem (engl. Discrete Time-Cost Tradeoff Problem, DTCTP) von Hindelang und Muth (1979), das Projektplanungsproblem mit strikter Frist für das Projektende (engl. Project Scheduling Problem with Deadline, PSPDL) von Kolisch (1995) sowie die ressourcenkritische „Verdichtung“ (engl. Resource Critical Crashing, RCC) von Deckro und Hebert (1989).
2.2.3.2 Trade-off zwischen Projektdauer- und Zusatzkapazitätsminimierung Werden die beiden Optimierungsziele eines frühzeitigen Projektendes und geringer Überschreitungen der regulären Kapazitäten gleichzeitig verfolgt, so stellt sich ein
2.2 Verschiedene Zielstellungen Tabelle 2.2 Literaturvergleich eng verwandter Probleme: Zielfunktionen
Tabelle 2.3 Literaturvergleich eng verwandter Probleme: Restriktionen
19
20
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
Trade-off zwischen den genannten gegenläufigen Zielen ein. Auf der einen Seite sollten möglichst viele Tätigkeiten parallel durchgeführt werden, um eine kurze Projektdauer zu erreichen. Wenn mehrere Aktivitäten parallel durchgeführt werden und gemeinsame erneuerbare Ressourcen nutzen, dann steigt damit die kumulative Ressourcennutzung und tendenziell die Anzahl der genutzten Zusatzkapazitätseinheiten. Folglich bleiben die Kosten bei sinkender Projektdauer konstant oder steigen. Auf der anderen Seite kann die Anzahl der gleichzeitig in einer Periode aktiven AG durch einen früheren oder späteren Beginn des AG im Plan verringert werden. Die AG in einem Ablaufplan können aufgrund der Reihenfolgebeziehungen und begrenzten Restkapazitäten in der Regel nur eingeschränkt früher beginnen. Daher lassen sich die Kosten für Zusatzkapazität häufig nur verringern, indem AG in einem späteren Zeitpunkt eingeplant werden. Die Projektdauer steigt hierdurch potenziell. Ein Gleichgewicht der konträren Ziele stellt sich in einem Plan ein, welcher beide Aspekte geschickt berücksichtigt. Da sich sowohl die erreichte Projektdauer als auch die genutzten Zusatzkapazitätseinheiten monetär bewerten lassen, können beide Größen miteinander verrechnet werden. Das Verhältnis der Kosten für Zusatzkapazitäten und des Verlaufs der Erlöse für eine Projektdauer hat dabei einen großen Einfluss darauf, welche Lage auf der Zeitachse dieses Gleichgewicht einnimmt. Abbildung 2.7 Varianten der Workload-Verteilung auf Zeit- und Ressourcenbedarf im ZeitKosten-Tradeoff-Problem
Der Trade-off, welcher vorliegt, wenn simultan die Projektdauer und Ressourcenkosten minimiert werden sollen, entsteht ebenfalls im diskreten Zeit-Kosten-TradeOff-Problem (engl. Discrete Time-Cost Tradeoff Problem, DTCTP)31 . Jedoch handelt es sich beim DTCTP im Gegensatz zum vorgestellten Problem um ein Projektplanungsproblem mit mehreren Ausführungsmodi der AG mit jeweils unterschiedlichen Bearbeitungsdauern und Ressourcenverbräuchen. Lediglich der gesamte Workload, welcher sich als Produkt aus Bearbeitungszeit und Ressourcenbedarf ergibt, ist für jeden AG fixiert. Dieser Zusammenhang wird in Abbildung 2.7 dargestellt. Zudem wird in der Zielstellung des DTCTP jegliche Ressourceninanspruch31 Vgl.
Hindelang und Muth (1979).
2.2 Verschiedene Zielstellungen
21
nahme bestraft und nicht allein, wenn ein vorgegebener Nutzungsschwellenwert überschritten wird.
Abbildung 2.8 Schematischer Verlauf von Erlös, Kosten und Deckungsbeitrag in Abhängigkeit von der Projektdauer
In Abbildung 2.8 wurden drei idealisierte Kurven in Abhängigkeit von der Projektdauer aufgetragen: Der Erlös als gestrichelte Linie, die Kosten als durchgezogene Linie und der Deckungsbeitrag als gepunktete Linie. Der Erlös und die Kosten fallen monoton mit der realisierten Projektdauer. Die marginalen Kosten, welche notwendigerweise anfallen, um das Projekt zu beschleunigen, steigen mit sinkender Projektdauer. Die Erlöse wachsen jedoch häufig nicht unbegrenzt mit sinkender Gesamtdauer, da ein Sättigungseffekt eintritt. Der Mehrwert eines früheren Projektendes für den Kunden erhöht sich typischerweise nicht unbegrenzt, wenn das Projekt so rasch wie möglich abgewickelt wird. Folglich erscheint es plausibel, einen konkaven Verlauf der Erlösfunktion sowie einen konvexen Verlauf der Kostenfunktion anzunehmen, sodass sich ein unimodaler Verlauf der ebenfalls konkaven Deckungsbeitragsfunktion ergibt. Eine unimodale Funktion besitzt einen eindeutigen Maximalwert und ist linksseitig dieses Werts streng monoton wachsend. Rechtsseitig dieses Werts ist die Funktion streng monoton fallend. Daher liegt der größte Deckungsbeitrag allgemein weder bei Plänen, in welchen besonders viel
22
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
Zusatzkapazität eingesetzt wird, noch bei Plänen, in welchen nie Zusatzkapazität genutzt wird. Stattdessen wird der maximale Deckungsbeitrag im Bereich dazwischen erreicht. Die Erlöskurve kann unterschiedliche Verläufe annehmen. Zwei vergleichsweise uninteressante Extremfälle treten auf, wenn die Beträge der Erlöse in Abhängigkeit von der Projektdauer entweder eine Gerade mit starker negativer Steigung oder eine horizontale Gerade bilden. In diesen Fällen tritt die deckungsbeitragsmaximale Projektdauer auf, wenn sehr viel zulässige bzw. keinerlei Zusatzkapazität verwendet wird. Beide Fälle können als RCPSP mit konstanter Kapazität der erneuerbaren Ressourcen abgebildet werden. Im ersten Fall ist die Gesamtkapazität aus regulärer Kapazität und Zusatzkapazität verfügbar, wohingegen im zweiten Fall nur die Normalkapazität genutzt werden kann, um die AG durchzuführen. Der Deckungsbeitrag ergibt sich aus den Erlösen abzüglich der variablen Kosten. Zur Bestimmung des Gewinns werden zusätzlich die Fixkosten abgezogen. Da die Fixkosten unbeeinflussbar und nicht entscheidungsrelevant sind, ist es für die Optimierung unerheblich, ob der Gewinn oder stattdessen der Deckungsbeitrag maximiert werden soll. Nachfolgend wird daher häufig das weniger sperrige Wort „Gewinn“ anstelle des Begriffs „Deckungsbeitrags“ verwendet. In der Praxis müsste der Betrag des Zielfunktionswerts um die Fixkosten reduziert werden, falls anstelle des Deckungsbeitrags der tatsächliche Gewinn berechnet werden soll. Für das bereits eingeführte Beispielprojekt aus Abbildung 2.1 auf S. 8 werden im Folgenden drei unterschiedliche Erlösfunktionen sowie drei alternative Ablaufpläne A, B und C in den Abbildungen 2.9 auf S. 9, 2.10 auf S. 10 und 2.11 auf S. 25 vorgestellt. Die Erlösfunktionen stellen jeweils die Zahlungsbereitschaft eines von drei verschiedenen Kundentypen in Abhängigkeit von der Projektdauer dar. Die drei gezeigten Pläne unterscheiden sich anhand des Umfangs der genutzten Zusatzkapazität. In Plan A wird lediglich eine KE der Zusatzkapazität in Periode 3, welche zum Zeitpunkt 2 beginnt, verwendet. In Plan B wird in den ersten beiden Perioden zwischen den Zeitpunkten 0 und 2 jeweils eine KE der Zusatzkapazität eingesetzt. In Plan C hingegen wird über den gesamten Planungshorizont hinweg keine Zusatzkapazität beansprucht. Die konkreten Ausprägungen der Erlösfunktionen für alle drei Kundentypen sind in Tabelle 2.4 vorgegeben. Die Kosten pro KE der Zusatzkapazität der einzigen erneuerbaren Ressource betragen 0,5 GE. Tabelle 2.5 zeigt jeweils Dauer und Kosten der drei Pläne sowie für jede Kombination aus Plan und Kunden den vom Kunden gezahlten Erlös und den resultierenden Gewinn. Um den Gewinn zu berechnen, wurde der Erlös um die Kosten für Zusatzkapazität im Plan reduziert. Die Fixkosten betragen 0 GE.
2.2 Verschiedene Zielstellungen
23
Tabelle 2.4 Zahlungsbereitschaften der unterschiedlichen Kundentypen in Abhängigkeit von der erzielten Projektdauer sProjektdauer
11
sKundentyp I sKundentyp II sKundentyp III
20 60 10
20 45 10
20 30 10
0 15 10
0 0 10
0 0 0
Tabelle 2.5 Erlöse und Deckungsbeiträge von Kunden für Pläne Eigenschaft
Plan A
Plan B
Plan C
Gesamtdauer Kosten Erlös/Gewinn Kundentyp I Kundentyp II Kundentyp III
9 0,5 Plan A 20/19,5 30/29,5 10/9,5
8 1 Plan B 20/19 45/44 10/9
10 0 Plan C 0/0 15/15 10/10
Im Falle des ersten Kundentyps I kann der Gewinn maximiert werden, indem in geringem Maße Zusatzkapazität eingesetzt wird. Dieser Kundentyp motiviert die neue Problemstellung. Die Kunden II und III sind Stellvertreter für die beiden auf S. 22 angesprochenen Extremfälle. Bei Kunde II sinkt die Zahlungsbereitschaft derart stark mit verzögertem Projektende, dass nach Möglichkeit immer Zusatzkapazität genutzt werden sollte. Bei Kunde III besteht keinerlei Sensitivität bzgl. der Projektdauer, weshalb Zusatzkapazität selbst bei geringen Kostensätzen niemals in Anspruch genommen werden sollte. Abbildung 2.9 Plan A mit gemäßigter Nutzung von Zusatzkapazität
24
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
Der wichtigste Fall, um das neue Problem von in der Projektplanungsliteratur bereits untersuchten Problemstellungen abzugrenzen, tritt beim Kundentyp I auf. Für diesen Kunden ist es optimal, in begrenztem Maße die Zusatzkapazität vorzusehen. Daher ist weder Plan B noch Plan C für den ersten Kunden optimal. Stattdessen ist der in Abbildung 2.9 gezeigte Plan A eine optimale Lösung und weist eine Dauer von 9 ZE auf, nutzt 1 KE Zusatzkapazität und erzeugt einen Gewinn in Höhe von 19,5 GE. In diesem Plan werden geschickt an einigen Stellen Zusatzkapazitätseinheiten genutzt, sodass der erzielte Gewinn maximiert wird. Die Pläne B und C erzeugen mit 19 GE bzw. 0 GE für den ersten Kunden jeweils niedrigere Gewinne. Trotz der vertikalen Lage des Rechtecks für AG 2 in Abbildung 2.9 nutzt der zweite AG in Periode 4 keine Zusatzkapazität, da nur AG 3 parallel ausgeführt wird und dementsprechend die Restkapazität noch ausreichend ist, um den AG ohne Zusatzkapazität auszuführen. Abbildung 2.10 Plan B mit starker Nutzung von Zusatzkapazität
Für Kunde II hängt die Zahlungsbereitschaft signifikant von der Dauer des Projekts ab. Um die Projektdauer möglichst gering zu halten, dürfen beliebig viele und vergleichsweise günstige Zusatzkapazitätseinheiten eingesetzt werden. Die Problemstellung ist in diesem Fall äquivalent zur ressourcenbeschränkten Projektplanung mit dem Ziel, die Projektdauer zu minimieren. Es entspricht also dem klassischen RCPSP mit der vollen gemeinsamen Kapazität aus Normal- und Zusatzkapazitätseinheiten. Für diesen rein bezüglich der Zeit sensiblen Kunden ist Plan B aus Abbildung 2.10 optimal. Der Plan besitzt eine Dauer von 8 ZE, nutzt 2 KE Zusatzkapazität und erzeugt einen Gewinn in Höhe von 44 GE. In ihm wird Zusatzkapazität in vergleichsweise großem Umfang beansprucht, dadurch aber auch eine sehr kurze Projektdauer ermöglicht. Die Pläne A und C erzeugen mit 29,5 GE bzw. 15 GE für den zweiten Kunden jeweils niedrigere Gewinne. Kunde III besitzt keine Präferenz für eine geringe Projektdauer. Daher sind lediglich die Kosten für die Zusatzkapazität bei diesem Kundentyp entscheidungs-
2.3 Anwendungsbeispiele für erweiterbare Kapazitäten …
25
Abbildung 2.11 Plan C ohne Nutzung von Zusatzkapazität
relevant. Kompatibel zur Präferenz des dritten Kunden ist die Zielstellung des Ressourcenüberladungsproblems32 mit hinreichend später Frist für das Projektende. Aufgrund der fehlenden Sensitivität gegenüber der Projektdauer bei gleichzeitig hoher Kostensensitivität ist der in Abbildung 2.11 dargestellte Plan C für den dritten Kunden mit einer Dauer von 10 ZE, 0 KE Zusatzkapazität und einem Gewinn von 10 GE optimal. In diesem Plan wird keinerlei Zusatzkapazität eingesetzt und dadurch entsteht zwangsläufig ein Plan mit vergleichsweise hoher Dauer. Die Pläne A und B erzeugen mit 9,5 GE bzw. 9 GE beim dritten Kunden jeweils niedrigere Gewinne.
2.3
Anwendungsbeispiele für erweiterbare Kapazitäten und projektdauerabhängige Erlöse
2.3.1
Ergänzung des Personals durch flexibel einsetzbare Leiharbeiter
Um die praktische Relevanz der beschriebenen neuartigen Problemstellung zu verdeutlichen, werden nachfolgend mehrere Anwendungsbeispiele genannt. Eine Gemeinsamkeit der vorgestellten Anwendungen ist, dass diese mit den in der Fachliteratur bereits vorgestellten Projektplanungsproblemen nur unzureichend abgebildet werden können. Die Praxisbeispiele motivieren daher, die zuvor beschriebene For32 Siehe
S. 15 und vgl. Neumann und Zimmermann (1999), S. 594.
26
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
schungslücke im weiteren Verlauf der Arbeit zu schließen, indem das neue Problem formal modelliert wird und problemspezifische Lösungsverfahren für das Problem entwickelt werden. Neben dem in Abschnitt 1.1 auf S. 1 bereits angesprochenen Phänomen, dass die Projektarbeit in den letzten Jahren signifikant angestiegen ist, kann ein weiterer Trend beobachtet werden. Dieser lässt sich in den Statistiken bezüglich der Beschäftigungsform der Mitarbeiter in Unternehmen feststellen. Die Anzahl der Zeitarbeitnehmer hat sich in vielen Branchen von 1992 bis 2014 annähernd verzehnfacht und zudem ist auch ein positiver Einfluss der Leiharbeit auf die Konjunktur erkennbar.33 Ein Zeitarbeitnehmer (oder synonym: Leiharbeitnehmer) stellt externes Personal dar, welches im Rahmen der Arbeitnehmerüberlassung von einem Zeitarbeitsunternehmen an ein Entleihunternehmen (zumeist zeitlich begrenzt) ausgeliehen wird.34 Im Gastronomiegewerbe gibt es Leiharbeitsfirmen wie bspw. „free2move“ 35 und die „GVO Personal“.36 Diese bieten Kunden für einzelne Ereignisse ihre Mitarbeiter an.37 Kunden sind zumeist Restaurants, Tagungs- und Gaststätten. Die Mitarbeiter werden zu Beginn eines Einsatzes kurz geschult. Eine Leiharbeitsfirma vermittelt und bezahlt das Personal. Dieses Vorgehen wird von Kunden aus der Gastronomie verfolgt, wenn für bestimmte Veranstaltungen ein viel höheres Aufkommen an Gästen auftritt, als im regulären Betrieb zu erwarten ist.38 Hierfür jeweils langfristig Mitarbeiter einzustellen wäre aus betriebswirtschaftlicher Sicht nicht angezeigt, da diese nur an den bestimmten Terminen überhaupt benötigt werden und zusätzliche Erlöse erzeugen könnten. Diese und andere Formen der Leiharbeit könnten über die neue Problemstellung als erweiterbare und limitierte mit Kosten versehene Ressourcen abgebildet werden. Das Projekt besteht aus den insgesamt durchzuführenden Aufgaben der Mitarbeiter. Gruppen gleichartiger Mitarbeiter werden zusammengefasst und als erneuerbare und mit Kosten behaftete erweiterbare Ressourcen modelliert. Die AG sind Aufgaben, welche bestimmte Mitarbeiter benötigen, um umgesetzt zu werden, und in einer bestimmten Reihenfolge durchgeführt werden müssen. Wenn Leiharbeiter hinzugenommen werden, damit Mitarbeiter eines Typs ergänzt werden können, dann kann dies als Zusatzkapazität angesehen werden. Die unterschiedlichen Typen der Mitarbeiter stehen für deren Qualifikationen. Daher sind die Kosten pro Personenstunde 33 Vgl.
Strotmann und Moczadlo (2017), S. 5, Abb. 1. alpha Personal-Service GmbH (2019). 35 Vgl. Free2move - Veranstaltungsdienstleistungen GmbH (2019). 36 Vgl. GVO Personal (2019). 37 Vgl. Kalleberg (2000). 38 Vgl. Rees und Fielder (1992). 34 Vgl.
2.3 Anwendungsbeispiele für erweiterbare Kapazitäten …
27
abhängig vom Typ des Mitarbeiters. Der Erlös hängt in diesem Beispiel lediglich indirekt von der Projektdauer ab. Die American Journal Experts (AJE) sind ein Online-Dienstleister, welcher Entwürfe wissenschaftlicher Artikel mit geplanter Veröffentlichung in einer Fachzeitschrift korrigiert und ggf. verbessert. Das Preismodell differenziert zwischen zwei Qualitätsstufen, zwei Dauern der Korrektur und der Anzahl der Wörter im zu korrigierenden Dokument.39 Beispielsweise liegt der Grundpreis für Dokumente mit 1501 bis 3500 Wörtern, welcher von den AJE im Jahr 2019 veranschlagt wird, bei $245 für das vergleichsweise niedrigere Qualitätsniveau. Die Bearbeitungszeit für das niedrige Niveau beträgt 5 Werktage. Dies beinhaltet, dass die eingesendeten Werke auf korrekte und stilistisch ordentliche Sprache geprüft werden und ein Korrekturzertifikat erstellt wird. Der Preis wird um $145 erhöht, wenn die Aufgabe schneller bearbeitet und das Ergebnis innerhalb von 2 Werktagen zurückgesendet werden soll. AJE verlangen $434, wenn sie das Dokument aufwendiger prüfen sollen und überarbeitete Versionen des Dokuments unbegrenzt kostenfrei korrigieren sollen. Dies beinhaltet einen persönlichen Support. Hier liegt die Bearbeitungszeit bei 6 Werktagen. Es entsteht ein geringerer Aufpreis von $98, wenn das übermittelte Dokument innerhalb von 3 Werktagen korrigiert werden soll. Ein Screenshot des Preismodells für das Beispiel ist in Abbildung 2.12 dargestellt. AJE bieten eine Reihe weiterer Dienstleistungen an. Für $150 wird eine Zeitschrift für die Veröffentlichung empfohlen und für $125 das Manuskript formatiert. Zusätzlich bieten AJE an, die eingesandten Texte zu übersetzen, darin enthaltene Abbildungen und Tabellen zu überarbeiten und ein Poster für die geplante Veröffentlichung vorzubereiten. Das Preismodell lässt einen flexiblen Umgang mit Mitarbeitern vermuten. Angenommen der Stundenlohn für jeden (potenziell externen) Korrekturleser der AJE ist identisch und die benötigte Zeit in etwa proportional zur Anzahl der Wörter im Dokument. Bei fester Dokumentgröße wird ein einzelner Mitarbeiter also eine feste Stundenzahl benötigen, um das Dokument zu bearbeiten. Es wird davon ausgegangen, dass entweder mehrere Mitarbeiter ein Dokument korrigieren oder ein Mitarbeiter Überstunden nimmt, um ein hoch priorisiertes Dokument schneller zu bearbeiten. Bei Eingang vieler heterogener Aufträge ist es eine nicht-triviale Aufgabe, die Aufträge aufzuteilen, ohne dabei die Fristen zu überschreiten. Die Kosten für den Dienstleister können steigen, wenn die Anzahl der Korrekturleser und/oder Arbeitsstunden erhöht wird. Durch das Preismodell sorgt der Dienstleister dafür, dass die Deckungsbeiträge hierdurch nicht reduziert werden. 39 Vgl.
American Journal Experts (2019).
28
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
Abbildung 2.12 Preismodell der American Journal Experts
Ein Kundenauftrag für die AJE kann als ein Projekt angesehen werden. Ressourcen sind die Korrekturleser. Korrektoren der gleichen Fachrichtung können zu einer erneuerbaren Ressource zusammengefasst werden. Eventuell können Aufträge in kleinere Arbeitsschritte zerlegt werden, bspw. getrennte Prüfung von inhaltlicher und formaler Korrektheit des Dokuments. Wobei Reihenfolgebeziehungen bestehen, da zuerst der Inhalt und daraufhin erst die Grammatik, die Rechtschreibung und das Layout des Dokuments geprüft werden sollte. Die erlaubte Dauer für die Korrektur wird vom Kunden im Auftrag festgelegt. Die Preisgestaltung der AJE beeinflusst dabei den Kunden. Der Kunde hat einen subjektiven Wert, welcher er
2.3 Anwendungsbeispiele für erweiterbare Kapazitäten …
29
den unterschiedlichen möglichen Lieferterminen beimisst. Abhängig vom Aufpreis für einen früheren Liefertermin in Kombination mit der Bewertung durch den Kunden wählt der Kunde einen Termin. Der Deckungsbeitrag eines Auftrags wird durch die AJE genau dann maximiert, wenn in minimalem Umfang die Überstunden der Korrektoren genutzt werden, sodass der vom Kunden festgelegte Termin noch eingehalten wird. In der Softwareentwicklung ist es kurz vor Veröffentlichungstermin für das Produkt branchenüblich, dass die Programmierer vermehrt Überstunden ableisten müssen.40 Diese entscheidende Phase, bevor das Produkt auf den Markt kommt, wird als „Crunchtime“ bezeichnet. Falls die Überstunden bezahlt werden, handelt es sich hierbei um ein Anwendungsbeispiel für flexibel erweiterbare Kapazitäten innerhalb der Grenzen, welche durch den Gesetzgeber vorgegeben werden. Möglicherweise müssen aus regulatorischen Gründen zudem weitere Einschränkungen berücksichtigt werden. Neben den bereits über das feste Gehalt abgegoltenen Arbeitsstunden (reguläre Kapazität) können an einem Tag zusätzliche Überstunden (Zusatzkapazität) das Tagespensum erweitern. Die Überstunden sind üblicherweise mit einem höheren Stundenlohn als die regulären Arbeitsstunden versehen.41 Ein Softwareprojekt kann als ressourcenbeschränktes Projekt mit erweiterbaren Kapazitäten abgebildet werden. Die Programmierer können je nach Spezialisierung in unterschiedliche Gruppen zusammengefasst werden. Die Entwickler einer Ressource können als erneuerbare Ressource mit Kapazität der regulären Personenstunden an einem Tag modelliert werden. Überstunden werden im Plan darüber dargestellt, dass Zusatzkapazität eingesetzt wird. Die Gesamtdauer des Softwareprojekts wird nicht zwangsläufig linear verkürzt, wenn die Kapazität gesteigert wird, indem Überstunden eingesetzt und weitere Programmierer eingestellt werden.42 Die Begrifflichkeiten Überstunden und Zusatzkapazität werden teilweise synonym verwendet. Der Planungshorizont besteht aus Perioden. In jeder Periode steht zu Beginn eine begrenzte Anzahl der KE einer erneuerbaren Ressource zur Verfügung. Während ein AG durchgeführt wird, benötigt er ggf. die Kapazität der Ressource. Angenommen die KE repräsentieren die Arbeitsstunden der Mitarbeiter an einem Tag (bspw. 8 KE für die Ressource „Mitarbeiter“ an jedem Werktag, d. h. in jeder Periode). Dann kann über Zusatzkapazität abgebildet werden, dass Mitarbeiter Überstunden erbringen. Wenn jedoch eine Periode eine Arbeitsstunde darstellt 40 Vgl.
Musil et al. (2010). Barzel (1973). 42 Vgl. Brooks (1987) sowie Rodríguez et al. (2012). 41 Vgl.
30
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
und jeder Mitarbeiter folglich in seiner Arbeitszeit eine KE besitzt, dann können Überstunden abgebildet werden, indem die Kapazität in Perioden, in welchen die Kapazität bei 0 liegt, erhöht wird. Durch das Konzept der erweiterbaren Ressourcen können also sowohl zeitliche Überstunden von Mitarbeitern als auch zusätzliche gleichzeitig verfügbare Kapazitäten durch weitere Mitarbeiter und Maschinen berücksichtigt werden. Bei manchen Problemstellungen wird zwischen regulären Perioden und Perioden der Überstunden oder Sonderschichten unterschieden.43
2.3.2
Dynamische Anmietung von Servern und Produktionsmaschinen
Ein weiteres Beispiel für Instrumente der Ressourcenflexibilität kann bei ITInfrastruktur in Cloud-Diensten identifiziert werden, welche bedarfsgerecht angemietet werden kann. Dies erlaubt es dem Dienstleister, kurzzeitige Lastspitzen abzufangen. Insbesondere bei Anwendungen im IT-Bereich ist eine flexible und rasche „On-Demand“-Inanspruchnahme weiterer Server häufig möglich und notwendig. Wenn die Anzahl der Anfragen an einen Dienst unerwartet steigt, kann dadurch die Skalierbarkeit des Systems erhöht werden. Im Regelfall wird auf Basis der tatsächlich angefallenen Rechenzeit bzw. genutzten Bandbreite, welche vom Dienstleister (bspw. Amazon Web Services44 ) bereitgestellt worden ist, abgerechnet. Dabei wird im klassischen Tarif lediglich die genutzte Zeit bezahlt, es gibt keine festen Bereitstellungskosten, keine Änderungskosten und die frei verfügbare reguläre Normalkapazität ist strikt größer als 0, da es ein bestimmtes frei verfügbares Kontingent gibt.45 Die Projekte in diesem Anwendungsfall liegen beim Nutzer eines Cloud-Dienstes. Dieser möchte mehrere aufwendige Berechnungen durchführen und dazu die Infrastruktur des Dienstleisters verwenden. Indem mehrere Jobs durch die Berechnungsknoten des Clusters parallel abgewickelt werden können, kann die benötigte Zeit für das Projekt verringert werden. Die Reihenfolgebeziehungen in diesen Projekten ergeben sich aus den Abhängigkeiten der Ein- und Ausgaben verschiedener Rechenjobs. Bei der Expressfertigung von Leiterplatten wird ein Routineprojekt beschleunigt. Das Unternehmen „ANDUS ELECTRONIC“ produziert unterschiedliche Formen von Leiterplatten.46 Das Unternehmen bietet seinen Kunden eine sogenannte 43 Vgl.
Tabelle 8.2 in Claus et al. (2019). Amazon Elastic Compute Cloud (Amazon EC2), vgl. Amazon (2019a) 45 Vgl. Amazon (2019b). 46 Vgl. Andus Electronic GmbH (2019c). 44 Insbesondere
2.3 Anwendungsbeispiele für erweiterbare Kapazitäten …
31
Abbildung 2.13 Verlauf des Preisaufschlags in Abhängigkeit von der Fertigungsdauer für Leiterplatten vom Typ „Multilayer“, „Flex“ und „Impendanz & Hochfrequenz“
„Expressfertigung“ an.47 Je nach eigenen zeitlichen Projektanforderungen kann sich ein Kunde dafür entscheiden, die benötigten Leiterplatten vom Unternehmen in regulärer Zeit anfertigen zu lassen oder eine beschleunigte Produktion in Auftrag zu geben. Ein frühzeitigerer Fertigstellungstermin ist jedoch mit einem Preisaufschlag verbunden. Dabei wird ein diskretes Raster mit 5 bis 7 Stufen aus Zeit/PreisKombinationen angeboten.48 Ein Screenshot der zugehörigen Seite ist in Abbildung 2.14 abgebildet. Eine Leiterplatte aus den Kategorien „Multilayer“, „Flex“ und „Impedanz & Hochfrequenz“ benötigt beispielsweise regulär mindestens zehn Arbeitstage, wie Abbildung 2.14 zeigt. Ein um einen Tag verfrühter Liefertermin kostet einen Aufpreis von 40 %. Die Kosten steigen monoton weiter bis zu einem Zuschlag von 200 %, wenn innerhalb von 48 Stunden, nachdem die Bestellung eingegangen ist, geliefert werden soll. Der Verlauf der Kostenkurve in Abhängigkeit vom Liefertermin ist in Abbildung 2.13 abgebildet. Der Dienstleister kann die zeitabhängige Zahlungsbereitschaft seines Kunden abschöpfen. Dazu verlangt er einen Preisaufschlag, wenn er beschleunigt liefern soll. In diesem Fall kann jede Bestellung einer Leiterplatte als ein Projekt angesehen werden. Analog zu den American Journal Experts wählt der Kunde anhand der Preisgestaltung und eigener Sensitivitäten eine Lieferfrist. Mitarbeiter und Maschinen werden als Ressourcen modelliert. Da im Regelfall mehrere Bestellungen parallel bearbeitet werden, um die Ressourcen gut auszulasten, handelt es sich um ein 47 Vgl. 48 Vgl.
Andus Electronic GmbH (2019a). Andus Electronic GmbH (2019b).
32
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
Abbildung 2.14 ANDUS-Expresssystem auf der Webseite von ANDUS ELECTRONIC
Multiprojektplanungsproblem. Die einzelnen Projekte werden danach priorisiert, welche Variante mit welchem Zuschlag der Kunde gewählt hat. Als Ergebnis der Ablaufplanung entsteht ein Plan, welcher für jede Bestellung allen jeweils benötigen Arbeitsschritten die Startzeiten zuordnet und dadurch implizit auch eine Zuweisung zu Maschinen und Personal vornimmt.
2.3 Anwendungsbeispiele für erweiterbare Kapazitäten …
2.3.3
33
Mieten von Traktoren und Mähdreschern in der Landwirtschaft
Die Projektplanung kann eingesetzt werden, um Unternehmungen in der Landwirtschaft zu planen. Hapke et al. (1998) beschreiben eine Probleminstanz für das RCPSP mit mehreren Ausführungsmodi, Zeitfenstern und mehreren Zielstellungen für ein Projekt mit 40 AG aus der Landwirtschaft. Die Arbeitsschritte umfassen bspw. Tätigkeiten wie das Pflügen und Säen von Weizen und Raps, Trocknen von Lupinensamen, Harken und Zurechtstutzen von Grasflächen. Eine Vorgangskantendarstellung der Reihenfolgebeziehungen wird in Abbildung 1 auf S. 321 in Hapke et al. (1998) gezeigt. Die zugehörigen Bezeichnungen der Aktivitäten können Tabelle 1 auf S. 320 entnommen werden. Für jeden AG wird aus dem landwirtschaftlichen Kalender ein Zeitfenster abgeleitet, welches durch einen frühesten Beginn (engl. ready date) und Fälligkeitstermin (engl. due-date) begrenzt wird. Die Reihenfolgebeziehungen sind dadurch gekennzeichnet, dass es 6 Cluster von AG gibt, welche unabhängig voneinander sind und gleichzeitig durchgeführt werden könnten, sofern die frühesten Starttermine dies erlauben. Beispielsweise die Arbeitsschritte 15 (Raps säen), 27 (Futterrüben kürzen), 30 (Lupinen ernten) und 35 (Kartoffeln abschneiden) bilden ein derartiges Cluster im unteren Teil des gerichteten Graphen aus Abbildung 1 in Hapke et al. (1998). Die Dauern und Verbräuche der AG sind abhängig vom gewählten Ausführungsmodus.49 In der Regel ist der Ressourcenbedarf auf der erneuerbaren und nicht-erneuerbaren Ressource umso größer, je kürzer die Bearbeitungszeit ist. Dies trifft bspw. auf AG 1 (Weizen eggen) zu, dessen Bearbeitungszeit von 16 ZE auf 8 ZE halbiert werden kann, wofür jedoch die Verbräuche an Personal und Maschinen sich von 2 KE auf 4 KE verdoppeln und die Kosten von 30 GE auf 80 GE steigen. Die Autoren definieren mehrere Ressourcen, um Personal, Maschinen und finanzielle Mittel abzubilden. Es stehen zwei Typen von erneuerbaren Ressourcen zur Verfügung. Der erste Ressourcentyp bildet 150 Mitarbeiter des landwirtschaftlichen Personals ab und der zweite Ressourcentyp die 150 Traktoren im Fuhrpark der Landmaschinen des Betreibers. Als einzige nicht-erneuerbare Ressource gibt es ein Budget in Höhe von 20.000 GE, welches zu Projektbeginn in vollem Umfang einmalig bereitgestellt wird. Zudem kann die Mehrheit der AG mit einem aus jeweils drei unterschiedlichen Ausführungsmodi eingeplant werden. Es werden drei Zielstellungen über Pareto-Simulierte-Abkühlung (PSA) optimiert:
49 Vgl.
Tabelle 2 auf S. 322 in Hapke et al. (1998)
34
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
1. Minimierung der Projektdauer, 2. Nivellierung der Ressourcennutzung für das Personal und 3. Minimierung der Gesamtkosten. Nachdem über die PSA-Heuristik eine (potenziell große) Menge nicht dominierter Lösungen ermittelt worden ist, kann aus dieser Menge durch den Entscheider interaktiv eine Lösung ausgewählt werden. Traktoren und andere Erntemaschinen wie bspw. Mähdrescher werden häufig angemietet.50 In Deutschland gab es 2016 insgesamt 956 Unternehmen und Einrichtungen mit 3.994 tätigen Personen, welche landwirtschaftliche Maschinen und Geräte vermieten.51 Ein Vorteil der Anmietung im Vergleich zum Kauf von Traktoren ist, dass die Kosten pro Maschine nicht durch die Unsicherheit des Wertverlusts beeinflusst werden.52 Es kann gezeigt werden, dass es lediglich bei Bauernhöfen mit mindestens 5 Hektar ökonomisch sinnvoll ist, einen Traktor zu kaufen, 53 und bei kleineren Flächen die Traktoren gemietet werden sollten. Mähdrescher sollten in jedem Fall gemietet werden.54 Die Kapazität der zweiten Ressource, welche Erntemaschinen darstellt, sollte folglich für eine gewinnmaximierende Planung in vielen Fällen erweitert werden, indem weitere Traktoren angemietet werden.55 Wenn der Prozess der Ernte mit einer zu geringen Geschwindigkeit umgesetzt wird, verdirbt das gesäte Gut.56 Verdorbenes Saatgut muss entsorgt werden und kann nicht in die Lieferkette eingehen.57 Ab einer gewissen Projektdauer sinken folglich die Ernteerlöse pro Feld. Wobei die Dauer des Reifeprozesses und die Zeit, bis das Saatgut verdirbt, nicht deterministisch ist, sondern stark von Witterung und Bodenzusammensetzung beeinflusst wird. Die Witterung ist dabei eine schwer prognostizierbare Größe, da in einem Zeitraum über mehrere Monate für die Zukunft geplant wird.58 Daher werden häufig Sensornetzwerke eingesetzt, um den Zustand und Fortschritt des Saatguts zu überwachen.59 50 Vgl.
Najafi und Torabi Dastgerduei (2015) auf S. 537, Takeshima (2015) und Takeshima (2017). 51 Vgl. Destatis (2016), S. 11. 52 Vgl. Gaese et al. (2013), S. 94. 53 Vgl. Najafi und Torabi Dastgerduei (2015), S. 538. 54 Vgl. Najafi und Torabi Dastgerduei (2015), S. 538. 55 Vgl. Olt et al. (2019), S. 27. 56 Vgl. Ahumada und Villalobos (2011). 57 Vgl. Yared Lemma und Gatew (2014) sowie Liu et al. (2018). 58 Vgl. Dorling (2014). 59 Vgl. Kalaivani et al. (2011).
2.3 Anwendungsbeispiele für erweiterbare Kapazitäten …
35
Leiharbeit in dieser Branche ist aufgrund der relativ niedrigen benötigten Qualifikation möglich. Saisonale Leiharbeit ist in der Landwirtschaft verbreitet. In Deutschland bspw. arbeiten insbesondere bei der Ernte von Spargel, Weintrauben, Erdbeeren und Obst größtenteils polnische Arbeitskräfte.60 Wenn Abläufe in der Landwirtschaft als Projekt geplant werden sollen, können Leiharbeiter über Zusatzkapazität auf der ersten Ressource, welche das Personal abbildet, umgesetzt werden. Da sowohl Personal als auch Maschinen in der Landwirtschaft häufig als flexible Ressourcen angesehen werden können, scheint es vielversprechend, das Projektplanungsmodell von Hapke et al. (1998) durch erweiterbare Kapazitäten zu ergänzen. Zusätzlich könnte eine präzisere monetäre Bewertung der Projektdauer Effekte wie die Verderblichkeit der angebauten Güter in der Zielstellung explizit berücksichtigen.
2.3.4
Handwerker und Baumaschinen in Bauvorhaben
Bauvorhaben können als Projekte angesehen werden. Ein häufig aufgegriffenes Beispiel hierfür ist der Bau eines Hauses.61 Tatsächlich haben sich bereits mehrere Autoren in der Fachliteratur damit beschäftigt , ein Bauvorhaben als Projektplanungsproblem darzustellen. Rosłon und Kulejewski (2019) liefern ein beispielhaftes Hausbauprojekt mit konkreten Arbeitsschritten. Adamu et al. (2007) formulieren Bauprojekte als RCPSP-Instanzen mit einem Ausführungsmodus. Faghihi et al. (2015) betrachten Ansätze, um die Ablaufplanung für Bauprojekte zu automatisieren. Mohamed (2018) haben einen Constraintprogrammierungs-Ansatz entwickelt für die dynamische Planung von Bauprojekten. García-Nieves et al. (2018) modellieren ein Bauprojekt mit repetitiven Arbeitsschritten sowie Beschleunigungs- und Lerneffekten als RCPSP mit mehreren Ausführungsmodi. Sunke (2008) haben ein Lehrbuch zur Planung von Bauprojekten verfasst. Nachfolgend wird eine RCPSP-Instanz beschrieben, welche ein Hausbauprojekt in stark aggregierter Form abbildet.62 Der vollständige Bau wird auf lediglich sechs große Arbeitsschritte reduziert: Fundament gießen, Rohbau errichten, Türen einsetzen, Fenster einsetzen, Dach bauen, Stromleitungen verlegen und Innenausbau vollenden. Es gibt nur eine erneuerbare Ressource, welche das Personal abbildet, und eine Kapazität von 4 Personen aufweist. Abbildung 2.15 zeigt den zugehörigen gerichteten Vorgangsknotengraphen. Tabelle 2.6 enthält die Bearbeitungszeiten und 60 Vgl.
Piszczek (2007), S. 1. Briskorn und Hartmann (2015). 62 Nach Briskorn und Hartmann (2015). 61 Vgl.
36
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
Abbildung 2.15 Vorgangsknotendigraph für vereinfachtes Hausbau-Projekt nach Briskorn und Hartmann (2015)
Anzahl der benötigen Arbeiter je AG. Vor dem Fundamentgießen gibt es noch einen Dummy-Start-AG 0 und nach dem Innenausbau einen Dummy-End-AG 8. Beide fiktiven AG werden der Einfachheit halber in den Daten ausgelassen. Abbildung 2.16 zeigt einen optimalen Ablaufplan für das Projekt. Tabelle 2.6 Dauern und Ressourcenbedarfe der AG des vereinfachten Hausbau-Projekts nach Briskorn und Hartmann (2015)
Bis der Rohbau fertiggestellt worden ist, besitzt das Projekt eine rein sequentielle Struktur. Dieser erste Teil wird als Stufe 1 bezeichnet. Die Montage der Türen und Fenstern sowie der Bau des Dachs kann danach parallel durchgeführt werden (Stufe 2). Die abschließenden Arbeitsschritte der Stromverlegung und des Innenausbaus müssen wiederum hintereinander erfolgen (Stufe 3) und können erst beginnen, nachdem die Tür- und Fenstermontage sowie die Dacharbeiten beendet worden sind. Auf diesem Aggregationsniveau ist der Mehrwert der Zusatzkapazität nur auf die zweite Stufe beschränkt. Es wären 6 Arbeiter nötig, um alle drei AG in Stufe 2 zu parallelisieren. Abbildung 2.17 zeigt, dass der bisher optimale Plan verkürzt werden kann, indem weitere Arbeiter in zwei Perioden hinzugenommen werden. Damit
2.3 Anwendungsbeispiele für erweiterbare Kapazitäten …
37
Abbildung 2.16 Optimaler Ablaufplan für vereinfachtes Hausbau-Projekt nach Briskorn und Hartmann (2015)
dieser Plan ökonomisch sinnvoller als der bisherige Plan ist, müssen die gesteigerten Erlöse für ein um zwei Perioden früheres Projektende die nun zusätzlich hervorgerufenen Kosten für 2 zusätzliche Arbeiter in zwei Perioden überwiegen. Die hierbei eingesetzten Handwerker und Maschinen stellen die Ressourcen dar. Baumaschinen und Fahrzeuge werden häufig gemietet. Es gibt laut Statistischem Bundesamt im Jahr 2016 4.392 Unternehmen und Einrichtungen mit insgesamt 23.455 beschäftigten Personen, welche dem Wirtschaftszweig der Vermietung von Baumaschinen und -geräten zuzuordnen sind.63
2.3.5
Diverse weitere Anwendungsgebiete
Nachfolgend wird die Wiederaufbereitung komplexer Investitionsgüter thematisiert. Bei einem Flugzeugtriebwerk handelt es sich aufgrund der Anschaffungskosten sowie der Anzahl der Teile um ein komplexes Investitionsgut. Besitzer von Triebwerken sind kommerzielle Fluglinien für Passagierflugzeuge.64 Durch den Betrieb verschlissene Triebwerke werden durch einen Regenerationsdienstleister wiederaufbereitet.65 Eine Fluggesellschaft verzichtet u. U. auf Erlöse, während ein Triebwerk wiederaufbereitet wird, falls der Flugbetrieb für das Flugzeug, von welchem die Triebwerke entnommen worden sind, währenddessen nicht aufrechterhalten werden kann. Zwar kann eine Fluggesellschaft Ersatztriebwerke besitzen, jedoch sind diese teuer und begrenzt verfügbar.66 Das Flugzeug ist daher ggf. gezwungen 63 Vgl.
Destatis (2016), S. 11. Lee et al. (2001). 65 Vgl. Wu und Caves (2000). 66 Vgl. Kozik und Se˛p (2012). 64 Vgl.
38
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
Abbildung 2.17 Ablaufplan mit Zusatzkapazitätsnutzung für vereinfachtes HausbauProjekt nach Briskorn und Hartmann (2015)
auf dem Boden zu bleiben.67 Es ist oft weder attraktiv noch möglich den Flugbetrieb zu reduzieren. Einen großen Lagerbestand an Ersatztriebwerken vorrätig zu halten, ist zudem nicht rentabel, da dies mit hohen Kosten einhergeht und ein Ersatztriebwerk während seiner Inaktivität keinerlei Erlöse generiert.68 Beim Kunden besteht folglich ein hohes Interesse an einer kurzen Dauer der Wiederaufbereitung eines Triebwerks. Die Zahlungsbereitschaft des Kunden wird bei steigender Reparaturdauer signifikant sinken.69 Fluglinien werden in vielen Fällen dem Regenerationsdienstleister genehmigen, Zusatzkapazität zu nutzen und die Kosten zu erhöhen, wenn dies den Prozess der Wiederaufbereitung beschleunigen kann.70 Entsprechend kann dieser Aspekt durch die neue Problemstellung berücksichtigt werden, wenn ein optimaler Plan gesucht wird. Da es sich bei einem Flugzeugtriebwerk um ein mobiles Regenerationsgut handelt, bereitet der Regenerationsdienstleister dieses üblicherweise in seinen dafür eingerichteten Werken wieder auf.71 Ein Beispiel für einen derartigen Dienstleister ist MTU Maintenance Hannover in Langenhagen, welcher zur MTU Aero Engines Aktiengesellschaft mit Sitz in München gehört. In den Hallen des Dienstleisters wer67 Vgl.
Leão et al. (2008). Kozik und Se˛p (2012). 69 Vgl. Dinis und Barbosa-Póvoa (2015). 70 Vgl. Kohl et al. (2007). 71 Vgl. Gatland et al. (1997). 68 Vgl.
2.3 Anwendungsbeispiele für erweiterbare Kapazitäten …
39
den mehrere Triebwerke verschiedener Kunden gleichzeitig an den entsprechenden Vorrichtungen und Maschinen von qualifiziertem Personal bearbeitet. Aufgrund der hohen Anforderungen an die Qualifikation der Mitarbeiter ist die MTU Maintenance kein typisches Beispiel für den Einsatz von Leiharbeit. Wenn das Projekt droht, den Zeitrahmen zu reißen, muss ein derartiges Unternehmen darauf reagieren, indem es das eingestellte Personal in Überstunden arbeiten lässt. Der Prozess, ein einzelnes Triebwerk wiederaufzubereiten, kann als ein Projekt dargestellt werden.72 Die notwendigen Maßnahmen in ihren Einzelschritten werden als AG abgebildet. Der Aufbau eines Triebwerks und die Anordnung der Einzelteile im Triebwerk bestimmen die Reihenfolge der Demontage- und Remontageschritte. Die Reparaturschritte für die Teile besitzen häufig ebenfalls Vorrangbeziehungen. Typische Schäden an einer Turbinenschaufel sind Risse an der Seite und der Oberkante (Tipp) der Schaufel.73 Weicht die Geometrie der Schaufel von der Spezifikation ab, kann dies ggf. darüber repariert werden, dass eine Ecke der Schaufel entfernt und an der entstandenen Lücke ein speziell dimensioniertes Patch-Stück eingeschweißt wird. Als Beispiel für Reparaturschritte mit Vorrangbeziehungen soll die Patch-Reparatur betrachtet werden. Die Arbeitsschritte sind Befundung, Ent-/Beschichtung, Fräsen und Schweißen.74 Typischerweise wird die Schaufel zuerst grob begutachtet. Die Schaufel wird danach entschichtet und nochmals genau vermessen.75 Der beschädigte Bereich wird anschließend entfernt und die Schnittstelle glatt gefräst. Daraufhin wird das Patch-Stück angeschweißt. Um die Zielkontur der Schaufel zu erreichen, muss der Patch danach in Form gefräst werden. Die Schaufel kann danach wieder beschichtet werden. Die Kapazität in der Regeneration kann u. U. erweitert werden, indem weitere Maschinen angemietet werden, die Mitarbeiter in Überstunden arbeiten oder externe Dienstleister bestimmte Einzelteile reparieren. Dies ist aufgrund logistischer, räumlicher und regulatorischer Gründe jedoch nur begrenzt möglich. Zunächst muss ein Regenerationsdienstleister die Regenerationsaufträge derart annehmen, dass er seine Erlöse dadurch maximieren kann. Ein möglicher Ansatz hierfür auf Basis des Revenue Managements wurde bereits in der Fachliteratur von Herde (2017) publiziert. Danach ist es für einen Regenerationsdienstleister wichtig, die Aufträge zu priorisieren, um zu garantieren, dass ein einzelnes Triebwerk termingerecht wieder einsatzbereit ist. Dies könnte erreicht werden, indem die Pro72 Vgl.
Herde (2013). Carter (2005). 74 Vgl. Bremer (2005). 75 Vgl. Jones et al. (2012). 73 Vgl.
40
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
jektplanung mit erweiterbaren Kapazitäten weiter generalisiert wird und zu einer Mehrprojektplanung erweitert wird.76 Ein Modell, mit welchem die Regeneration komplexer Investitionsgüter geplant werden kann, wurde in der Literatur vorgestellt.77 Dieses Modell ergänzt das RCPSP um den Aspekt, dass nicht alle Aktivitäten verpflichtet durchgeführt werden müssen. Im Projekt kann an bestimmten Stellen entschieden werden, welcher AG aus einer Menge alternativer AG durchgeführt werden soll. Um das Projekt fertigzustellen, muss in Entscheidungen jeweils genau ein AG ausgewählt werden und es gibt zudem sehr generische Implikationen. Diese können bspw. dazu führen, dass ein AG einen anderen optionalen AG an einer entfernten Stelle im Vorgangsknotendigraphen bedingen kann. Diese Variante des RCPSP wird als ressourcenbeschränktes Projektplanungsproblem mit flexibler Projektstruktur (engl. Resource-Constrained Project Scheduling Problem with flexible Project Structure, RCPSP-PS) bezeichnet und motiviert sich durch die Regeneration komplexer Investitionsgüter78 und kann zusätzlich dahingehend erweitert werden, dass es berücksichtigt, inwiefern der Plan die erreichte Qualität des Endprodukts beeinflusst. Diese Erweiterung wird als ressourcenbeschränktes Projektplanungsproblem mit flexibler Projektstruktur und Qualitätsberücksichtigung (engl. Resource-Constrained Project Scheduling Problem with flexible Project Structure and Quality consideration, RCPSP-PS-Q) bezeichnet.79 Die Wiederaufbereitung komplexer Investitionsgüter ließe sich besonders detailliert abbilden, indem das RCPSP-PS-Q um die Mehrprojektplanung ergänzt und darauf mit dem RCPSP-ROC integriert wird. Die flexible Mehrprojektplanung wurde in der Literatur bereits aufgegriffen.80 Ergänzt um erweiterbare Kapazität könnten so mehrere Regenerationsaufträge eines Dienstleisters derart geplant werden, dass unterschiedliche Regenerationspfade durch flexible Projektstrukturen im RCPSPPS abgebildet werden. Der Effekt des Regenerationspfads auf die Qualität des Endprodukts und die Kundenpräferenz bzgl. der Qualität und der Projektdauer kann im RCPSP-PS-Q zusätzlich in die Planung eingehen. Schließlich würde das RCPSPROC die Kapazitäten der erneuerbaren Ressourcen flexibilisieren und die Mehrprojektplanung die simultane Regeneration mehrerer Aufträge auf den gleichen Ressourcen abbilden. Weitere Entscheidungsmodelle für die Kapazitätsplanung in einem Regenerationsumfeld wurden von Eickemeyer et al. (2014) beschrieben. 76 Vgl.
Hoffmann et al. (2017). Kellenbrink (2014a) und Kellenbrink und Helber (2015). 78 Vgl. Kellenbrink et al. (2014). 79 Vgl. Kellenbrink und Helber (2016). 80 Vgl. Hoffmann und Kellenbrink (2018). 77 Vgl.
2.4 Einordnung und Klassifikation ressourcenbeschränkter …
2.4
Einordnung und Klassifikation ressourcenbeschränkter Projektplanungsprobleme
2.4.1
Eigenschaften der Arbeitsgänge
41
Ein AG besitzt eine Bearbeitungszeit, welche im einfachsten Fall deterministisch, ganzzahlig und bereits bekannt ist, bevor das Projekt geplant wird. Wenn ein AG gestartet worden ist, muss dieser in der Regel unterbrechungsfrei über die komplette Bearbeitungszeit hinweg durchgeführt werden. Falls stattdessen ein AG pausiert werden darf, bevor er fertiggestellt worden ist, wird dies als Präemption bezeichnet. Ballestín et al. (2008) konnten zeigen, dass es durchaus gewinnbringend sein kann, wenn diese Annahme aufgehoben wird. Unter anderem Kaplan (1996), Damay et al. (2007) und Van Peteghem und Vanhoucke (2010) haben ebenfalls ressourcenbeschränkte Projektplanungsprobleme untersucht, in denen die AG unterbrochen werden dürfen. Zwischen AG bestehen häufig zeitliche Einschränkungen, welche vorschreiben, wie die AG im zeitlichen Verlauf zueinander begonnen werden dürfen. Die häufigste Art von Restriktionen bzgl. der zeitlichen Reihenfolge der AG sind einfache sogenannte Ende-Start-Mindestabstände. Ein AG darf in diesem Fall erst ausgeführt werden, wenn alle seine Vorgänger beendet worden sind. Es gibt aber auch allgemeinere Zeitbeziehungen, welche Mindest- und/oder Höchstabstände zwischen Startund Endzeitpunkten in allen möglichen Kombinationen festschreiben.81 Eine Frist für das Projektende kann beispielsweise über einen zeitlichen Maximalabstand vom Beginn des ersten und Ende des letzten AG mithilfe einer verallgemeinerten Reihenfolgebeziehung dargestellt werden.82 Maximalabstände erlauben es, auch Situationen zu modellieren, in welchen durch den AG ein Zwischenprodukt entstanden ist, welches innerhalb eines Zeitfensters weiterverarbeitet werden muss, damit es nicht verdirbt. Der nachfolgende AG, welcher das Zwischenprodukt weiter verarbeitet, würde entsprechend mit einem Maximalabstand beginnen müssen, nachdem der vorherige AG beendet worden ist. Berthaut et al. (2014) betrachten die Möglichkeit, das Projekt zu beschleunigen, indem AG, für welche Vorrangsbeziehungen bestehen, überlappend ausgeführt werden und modellieren dies als ganzzahliges lineares Programm. Wenn Reihenfolgevorgaben verletzt werden, erzeugt dies zusätzliche Kosten und (vergleichsweise geringe) Zeitverzögerungen für Nacharbeit und Koordination. Entsprechend gibt es ähnlich zum RCPSP-ROC einen Trade-off zwischen den beiden Zielstellungen, die 81 Vgl. 82 Vgl.
Neumann und Schwindt (1997). Zimmermann (2001).
42
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
Dauer und die Kosten zu minimieren. Die Projektdauer kann häufig verringert werden, wenn einige Reihenfolgen zwischen AG vernachlässigt werden. Jedoch steigen im Problem, welches Berthaut et al. (2014) betrachten, dadurch die Gesamtkosten und es müssen im Nachgang zusätzliche Korrekturarbeiten vorgenommen werden, welche die eingesparte Zeit wiederum reduzieren. Abbildung 2.18 Flexibles Bedarfsprofil
Die Verbräuche der AG auf den erneuerbaren Ressourcen werden typischerweise ebenfalls als exogen und konstant angenommen. Es wurden jedoch auch zeitvariante exogene Verbräuche untersucht.83 Im RCPSP mit flexiblen Verbräuchen (engl. Flexible Resource-Constrained Project Scheduling Problem, FRCPSP) sind die Verbräuche endogen.84 Dies ist in Abbildung 2.18 dargestellt. Der Entscheider hat in dieser Problemstellung die Möglichkeit, den Arbeitsaufwand eines AG flexibler über die Zeit zu verteilen, als dies im klassischen RCPSP möglich ist. Viele Veröffentlichungen betrachten eine Variante des RCPSP, in welcher die AG mehrere Ausführungsmodi besitzen. Dieses Problem wird als ressourcenbeschränktes Projektplanungsproblem mit mehreren Ausführungsmodi (engl. MultiMode RCPSP, MRCPSP) bezeichnet und wurde zuerst von Elmaghraby (1977) beschrieben. Die Modi unterscheiden sich hinsichtlich der Dauern und Verbräuche. Ein Überblick über verschiedene Problemvarianten, Erweiterungen und Methoden für das MRCPSP wurde von Noori und Taghizadeh (2018) verfasst. Ulusoy et al. (2001) stellen vier Bezahlungsmodelle für das MRCPSP mit diskontierten Zahlungsflüssen vor. Ahn und Erenguc (1998) haben ebenfalls ein RCPSP mit mehreren Ausführungsmodi betrachtet, wobei die Modi jeweils beschleunigt werden können. We˛glarz et al. (2011) geben einen Überblick über Varianten des RCPSP mit endlicher und unendlicher Anzahl der Ausführungsmodi. Nudtasomboon und Randhawa (1997) betrachten ein RCPSP mit Zeit-Kosten-Trade-Offs (engl. timecost tradeoff). Deckro und Hebert (2003) stellen drei Modelle für eine Form des DTCTP vor, eine spezielle Variante des MRCPSP. Choi und Park (2015) stellen ein DTCTP mit kontinuierlicher Zeit, mehreren Meilensteinen und vollständig ange83 Vgl. 84 Vgl.
Hartmann (2012). Schramme (2014), Tritschler et al. (2017) und Olaitan et al. (2015).
2.4 Einordnung und Klassifikation ressourcenbeschränkter …
43
ordneten AG vor. Wird ein Meilenstein nicht erreicht, entstehen Bestrafungskosten. Bearbeitungszeiten können durch zusätzliche Ressourcennutzung oder weitere Arbeitsschritte verkürzt werden, was Kosten hervorruft. In der Zielfunktion werden die Gesamtkosten aus Bestrafungskosten und Verkürzungskosten reduziert. In Abschnitt 2.2.3.2 auf S. 20 erfolgte ein knappe Abgrenzung des in dieser Arbeit betrachteten RCPSP-ROC vom DTCTP. Ein Trade-off zwischen der Zeit- und Kapazitätsdimension kann sowohl in diskreter85 als auch in stetiger Form86 auftreten. Im flexibelsten Fall muss lediglich die Gesamtfläche eines AG im Diagramm des Ablaufplans dem gesamten Workload des AG entsprechen. Die Ressourcenbelastung kann also beliebig schwanken, während der AG durchgeführt wird. Dadurch können Situationen abgebildet werden, in welchen die Anzahl der eingesetzten Arbeiter und Maschinen bzw. deren Arbeitsstunden für einen AG im Zeitverlauf schwankt. Die AG des RCPSP-ROC hingegen belegen über ihre gesamte Laufzeit die erneuerbaren Ressourcen in einem festgelegten Umfang. Die Verbrauchsschwankungen können einen treppenartigen oder stufenlosen Verlauf aufweisen. In einer Variante des Problems besteht die Zielstellung darin, die Ressourcenbelastungen der AG zu minimieren ohne dabei einen Zieltermin für das Projektende zu überschreiten.87 Auch die Notwendigkeit des Umrüstens zwischen verschiedenen Tätigkeiten wird im Zusammenhang mit der Projektplanung in der Literatur betrachtet. Mika et al. (2006) betrachten Rüstzeiten in Projektplanungsproblemen. Kolisch (1995) stellt Varianten des RCPSP mit mehreren Ausführungsmodi, gegebener Frist für das Projektende und Rüstzeiten vor.
2.4.2
Eigenschaften der Ressourcen
In der Literatur zur Projektplanung werden mehrere Typen von Ressourcen betrachtet. Unter anderem wurden erneuerbare, partiell erneuerbare, nicht erneuerbare und doppelt eingeschränkte Ressourcen vorgestellt. Für die Ablaufplanung sind in den meisten Fällen lediglich die sogenannten erneuerbaren Ressourcen von Bedeutung. Eine erneuerbare Ressource ist zu Beginn jeder Periode des Planungshorizonts in vollem Kapazitätsumfang verfügbar. Die in einer Periode aktiven AG beanspruchen ggf. die Kapazität dieser Ressource.
85 Vgl.
De et al. (1995). Phillips Jr und Dessouky (1977). 87 Vgl. De et al. (1995). 86 Vgl.
44
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
Dabei ist der Ressourcenbedarf eines einzelnen AG auf einer Ressource stets unterhalb der Gesamtkapazität der Ressource. Die nichterneuerbaren Ressourcen stehen zu Beginn des Planungshorizonts in vollem Kapazitätsumfang bereit. Die Kapazität der nichterneuerbaren Ressource wird um das modusabhängige Ausmaß des Ressourcenbedarfs eines AG reduziert, falls dieser in einem bestimmten Modus ausgeführt wird. Dieser Ressourcentyp muss nur dann berücksichtigt werden, wenn die AG in unterschiedlichen Ausführungsmodi mit jeweils verschiedenen Verbräuchen auf den nichterneuerbaren Ressourcen ausgeführt werden können oder, wenn nicht alle AG des Projekts verpflichtend ausgeführt werden müssen. Letzteres tritt im Falle einer flexiblen Projektstruktur auf.88 Mehrere Ausführungsmodi der AG werden im MRCPSP89 abgebildet. Bei einer starren Projektstruktur, welche lediglich einen Ausführungsmodus für jeden AG kennt, sind die nichterneuerbaren Ressourcen nicht entscheidungsrelevant und es wird davon ausgegangen, dass für alle nicht erneuerbaren Ressourcen die kumulierten Verbräuche aller AG unterhalb der jeweiligen Kapazitätsniveaus liegen. Sogenannte partiell erneuerbare Ressourcen sind nur in bestimmten Perioden im Planungshorizont verfügbar.90 Wenn ein Plan erzeugt wird, schränken partiell erneuerbare Ressourcen die Zeiträume ein, in welchen AG, die diese Ressource belegen, durchgeführt werden können. Dieser Ressourcentyp kann bspw. in einem Modell, welches Schichtpläne erzeugt, nötig sein. Partiell erneuerbare Ressourcen verallgemeinern erneuerbare und nicht erneuerbare Ressourcen und führen diese beiden Ressourcentypen zusammen. Eine Variante des RCPSP mit dieser Art von Ressourcen wurde von Böttcher et al. (1999) untersucht. Die doppelt eingeschränkten Ressourcen kombinieren Limitationen der erneuerbaren und nicht-erneuerbaren Ressourcen in einem Ressourcentyp. Die Ressourcen dieses Typs sind sowohl in jeder Zeitperiode als auch im gesamten Planungshorizonts nur begrenzt verfügbar.91 Diese Art der Ressource kann z. B. dafür eingesetzt werden, um einen Maschinentyp abzubilden, welcher an einzelnen Tagen nur für jeweils maximal 8 Stunden verfügbar ist und aufgrund des Materialverbrauchs pro Stunde über den kompletten Projektzeitraum nur höchstens 32 Stunden aktiv sein darf. Jede doppelt eingeschränkte Ressource kann aber durch ein Paar aus erneuerbarer und nicht-erneuerbarer Ressource ersetzt werden, weshalb dieser Ressourcentyp nicht isoliert berücksichtigt werden muss.92 88 Vgl.
Kellenbrink (2014b). Elmaghraby (1977). 90 Vgl. Brucker und Knust (2012), S. 9. 91 Vgl. Brucker und Knust (2012), S. 9. 92 Vgl. Brucker und Knust (2012), S. 9. 89 Vgl.
2.4 Einordnung und Klassifikation ressourcenbeschränkter …
2.4.3
45
Verschiedene Zielstellungen
Neben den bereits angesprochenen zeitlichen, monetären und ressourcenorientierten Zielstellungen gibt es in der Literatur noch eine Reihe weiterer Zielsetzungen, welche größtenteils in die bereits genannten Kategorien eingeordnet werden können. Mehrere Autoren haben sich mit Ressourcennivellierungsproblemen93 beschäftigt. Neumann und Zimmermann (1999) untersuchten das Ressourcennivellierungsproblem für Projekte mit planabhängigen Zeitfenstern. Bianco et al. (2016) betrachteten das Nivellierungsproblem für ein RCPSP mit verallgemeinerten Zeitbeziehungen, Fertigstellungstermin und variablen zeitabhängigen Aktivitätsverbräuchen und flexiblen Bearbeitungszeiten. Für diese neue Kombination stellen die Autoren eine Formulierung als ganzzahliges lineares Programm, eine untere Schranke basierend auf einer Lagrange-Relaxation sowie einen problemspezifischen Branchand-Bound-Algorithmus vor. Das Ressourceninvestitionsproblem94 wird teils auch synonym als Ressourcenverfügbarkeitskostenproblem (engl. Resource Availability Cost Problem, RACP) bezeichnet. Afshar-Nadjafi (2014) beschäftigen sich mit einer Variante des RACP mit mehreren Ausführungsmodi sowie Rekrutierungs- und Freistellungsterminen für die Ressourcen. Bertsimas et al. (2014) stellen ein dynamisches Ressourcenallokationsmodell vor, welches bspw. das Job Shop Scheduling Problem als Spezialfall enthält. Das Ressourcenanmietungsproblem95 generalisiert ebenfalls das RCPSP und kombiniert Aspekte der zuvor genannten Varianten des RCPSP mit ressourcenorientierter Zielstellung. Das Ressourcenanmietungsproblem mit allgemeinen Zeitbeziehungen wurde von Nübel (2001) betrachtet. Kerkhove et al. (2017) ergänzen das Ressourcenanmietungsproblem (engl. Resource Renting Problem, RRP) um die Option Zusatzkapazität einzusetzen. Für das neue Problem stellen die Autoren problemspezifische Planerzeugungsschemata, eine neuartige untere Schranke sowie eine Scatter-Search-Heuristik als neues Lösungsverfahren vor. Monetäre Zielstellungen sind von hoher betriebswirtschaftlicher Relevanz. Vanhoucke et al. (2001) und Schutt et al. (2012) untersuchten die Zielstellung, den Kapitalwert zu maximieren und berücksichtigten dabei Ressourcenrestriktionen. Yang et al. (2001) betrachten die Entwicklungen in der Projektplanung bzgl. monetärer Zielstellungen.
93 Siehe
S. 14. S. 13. 95 Siehe S. 15. 94 Siehe
46
2
2.4.4
Planung von Projekten mit erweiterbaren Ressourcen und von der …
Simultane Berücksichtigung mehrerer Zielstellungen
In einigen Projektplanungsproblemen wird lediglich eine Eigenschaft des zu erzeugenden Ablaufplans optimiert. Beispielsweise wird die Gesamtdauer des Plans im klassischen ressourcenbeschränkten Projektplanungsproblem minimiert. Monetäre Zielstellungen berechnen häufig die Gesamtkosten als eine gewichtete Summe einzelner Kostenterme. Implizit werden dadurch mehrere Größen minimiert. Noch systematischer lassen sich unterschiedliche, teils konträre, Optimierungsziele im Rahmen einer Mehrzieloptimierung gemeinsam berücksichtigen. Ein einfacher Ansatz hierbei ist die sogenannte lexikografische Optimierung.96 In diesem Optimierungsansatz werden die Ziele in eine Reihenfolge gebracht und zunächst nur mit Hinblick auf die erste Zielstellung optimiert. Daraufhin wird eine Nebenbedingung hinzugefügt, welche erzwingt, dass der erreichte Betrag im ersten Ziel gehalten werden muss. Mit dieser zusätzlichen Einschränkung wird darauf das Problem hinsichtlich der zweiten Zielstellung optimiert. Dies wird solange fortgeführt, bis nach der letzten Zielstellung optimiert worden ist. Ein Vorteil dieses Ansatzes ist es, dass die Zielstellungen beliebig priorisiert werden können, indem die Reihenfolge, in welcher die Optimierungsdurchläufe stattfinden, nach der Priorität ausgerichtet wird. Zudem wird sichergestellt, dass die Lösung optimal hinsichtlich der ersten Zielstellung ist. Ein Nachteil dieses Ansatzes ist jedoch, dass dieser keine differenzierte Gewichtung der Zielstellungen erlaubt. Die simultane Betrachtung mehrerer Zielstellungen wurde von mehreren Autoren für Projektplanungsprobleme untersucht.97 Odedairo und Oladokun (2011) untersuchten, wie relevant und anwendbar ressourcenbeschränkte Projektplanungsprobleme mit mehreren Zielstellungen sind. Eine interaktive Analyse der Projektplanungsprobleme mit mehreren Kriterien wurde von Hapke et al. (1998) durchgeführt. Ein weiterer Artikel zur Mehrzieloptimierung sowie ein Entscheidungsunterstützungssystem für Projektplaner wurde von Davis et al. (1992) veröffentlicht. Habibi et al. (2017) stellen ein mathematisches Modell für ein RCPSP mit mehreren Zielstellungen vor, welches um heuristische Lösungsverfahren ergänzt wird. Eine Besonderheit des Modells ist, dass dieses im Zeitverlauf schwankende Ressourcenverbräuche und Kapazitäten berücksichtigt. Laszczyk und Myszkowski (2019) geben einen Überblick über Qualitätsmaße für die Mehrzieloptimierung. In einigen Zielstellungen werden die AG auch nach mehreren Projekten aufgeteilt. Dies wird als ressourcenbeschränktes Mehrprojektplanungsproblem (engl.
96 Vgl. 97 Vgl.
Isermann (1982). Habibi et al. (2018) und Nabrzyski und We˛glarz (1999).
2.4 Einordnung und Klassifikation ressourcenbeschränkter …
47
Resource-Constrained Multi-Project Scheduling Problem, RCMPSP) bezeichnet.98 Jedes durchzuführende Projekt enthält AG. Die AG benötigen projektübergreifende Ressourcen, um durchgeführt zu werden. Villafañez et al. (2014) betrachten Situationen, in welchen mehrere Projekte dezentral geplant werden. Vom klassischen Multiprojektplanungsproblem unterscheidet sich dieses Modell dahingehend, dass die Projekte unabhängig voneinander geplant werden und entsprechende Koordinationsmechanismen für die Akteure benötigt werden, um einen Gesamtplan zu bestimmen.
2.4.5
Unsichere und unscharfe Information
Wenn die Bearbeitungszeiten der AG als Zufallsvariablen modelliert werden, dann ist dies häufig eine bessere Abbildung der tatsächlichen Situation in der Anwendung als die Annahme eines festen Werts für die Bearbeitungszeit. Die Berücksichtigung von Unschärfe und Unsicherheit ist daher ein relevantes Thema für die Anwendbarkeit von Projektplanungsproblemen. Kang und Choi (2015) betrachten ein stochastisches Zeit-Kosten-Trade-Off-Problem. Yamashita et al. (2007) stellen robuste Optimierungsmodelle für das Ressourcenverfügbarkeitsproblem vor. Chen und Askin (2009) haben sich mit der Ressourcenallokation mit zeitabhängigen Erlösen beschäftigt. Ballestín (2007) untersuchte, in welchen Fällen die Pläne davon profitieren, wenn Unsicherheiten in der Planung ressourcenbeschränkter Projekte berücksichtigt werden. Göçken (2013) beschäftigte sich mit einem Projektplanungsproblem, in welchem das Projekt beschleunigt durchgeführt werden kann. Das Problem kennt mehrere Zielstellungen und verwendet sogenannte Fuzzy-Mengen, um die Unsicherheit abzubilden. Staats (2014) stellt eine Variante des RCPSP vor, welche speziell entwickelt worden ist, um Wartungspläne für Züge zu erstellen. Dieses Problem wird mithilfe von Präzedenz-Constraint-Posting (engl. Precedence Constraint Posting, PCP) gelöst. Die erzeugten Pläne sind dabei flexibel.
2.4.6
Diverse weitere Varianten der Projektplanung
Neben den genannten größeren Gruppen von Erweiterungen und Modifikationen des RCPSP gibt es weitere Veröffentlichungen zu diversen RCPSP-Varianten. Tavares et al. (1999) untersuchen das Risiko von Verzögerungen auf das Projekt in Abhängigkeit von der Topologie des Projektnetzes. Eine Variante des RCPSP mit teilba98 Vgl.
Fendley (1968).
48
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
ren Ressourcenrestriktionen wurde von Labone und Ghallab (1995) vorgeschlagen. Laurent et al. (2017) haben ein ressourcenbeschränktes Projektplanungsproblem entwickelt, in welchem die AG an mehreren Standorten durchgeführt werden können und entsprechende Transferzeiten und -kosten die Gesamtkosten beeinflussen und in der Zielstellung berücksichtigt werden. Weiss (2018) stellen das Ressourcentransferproblem vor, welches das RCPSP verallgemeinert. Das Ressourcentransferproblem erlaubt die simultane Ablauf- und Routenplanung für Problemstellungen, in welchen es Wechselwirkungen zwischen beiden Planungsaufgaben gibt. Bei diesen Problemstellungen ist es folglich sinnvoll, beide Planungsprobleme integriert zu betrachten. Stadtler (2005) betrachtet die Schnittstelle von mehrstufiger kapazitätsbeschränkter Losgrößenplanung (engl. Multi-Level Capacitated Lot-Sizing Problem, MLCLSP) und dem RCPSP und integriert beide Probleme. Hartmann (2000) zeigte, dass Packprobleme auf Projektplanungsprobleme zurückgeführt werden können und stellt beide Problemklassen gegenüber. Rummel et al. (2005) thematisiert die Möglichkeit auf geänderte Umstände zu reagieren, indem Aktivitäten konsolidiert werden. Senkul und Toroslu (2005) haben eine Architektur für die Arbeitsflussplanung mit Ressourcenallokationsrestriktionen entwickelt. Zhang et al. (2011) stellen eine kollaborative Ablaufplanung mit mehreren Akteuren vor. Diverse Fachbücher beschreiben die Grundlagen der Projektplanung und die verschiedenen Varianten der Problemstellungen. Pinedo (2016) erläutert Spezialfälle des RCPSP und verwandte Scheduling-Probleme, wie die Maschinenbelegungsplanung. Demeulemeester und Herroelen (2006) schrieben eine sehr umfangreiche Abhandlung über die Projektplanung. Standardwerke zur Thematik wurden von Schwindt (2005), Zimmermann (2001) und Kolisch (1995) verfasst. Mario Vanhoucke verfasste mehrere Fachbücher zur Projektplanung, welche insbesondere den Fokus auf die robuste Planung legen.99 Christoph Schwindt und Jürgen Zimmermann veröffentlichten zwei ausführliche Handbücher zur Planung von Projekten und deren Management.100 Die Bücher beinhalten vielfältige Beiträge weiterer Autoren aus diesem Fachgebiet.
2.4.7
Detaillierte Abgrenzung verwandter Probleme
In diesem Abschnitt werden folgend sehr eng mit dem RCPSP-ROC verwandte Problemstellungen und Varianten des RCPSP beschrieben. Der Abschnitt knüpft an Abschnitt 2.2.3.1 auf S. 17 an. Deckro und Hebert (1989) haben zwei Modelle 99 Vgl.
Vanhoucke (2014), Vanhoucke (2016) und Vanhoucke (2018). Schwindt et al. (2015a) und Schwindt et al. (2015b).
100 Vgl.
2.4 Einordnung und Klassifikation ressourcenbeschränkter …
49
für eine Variante des RCPSP mit einem Zieltermin d vorgestellt. Wird der Zieltermin nicht eingehalten, fallen Verspätungskosten an. Das erste Modell basiert auf der Formulierung von Pritsker et al. (1969) und ergänzt diese um die Möglichkeit der endogenen Kapazitätserweiterung, um den Zieltermin d bei einem Kapazitätsengpass besser einhalten zu können. Die Autoren bezeichnen den Ansatz, gezielt die Kapazität in bestimmten Perioden zu erhöhen, als ressourcenkritische „Verdichtung“ (engl. Resource Critical Crashing, RCC). Analog zum RCPSP-ROC gibt es je Ressource einen Kostensatz Cr ,t und eine obere Schranke μr ,t für die Zusatzkapazität. Beide Werte können in diesem Modell im Gegensatz zum RCPSP-ROC jedoch im Zeitverlauf schwanken. Entsprechend generalisiert das Modell von Deckro und Hebert (1989) das RCPSP-ROC in seiner Grundform. Die Zielstellung besteht darin, die Gesamtkosten zu minimieren, welche sich aus den Kosten für Zusatzkapazität Cr ,t und Verspätung Pt abzüglich einem Bonus Bt für frühzeitiges Projektende zusammensetzen. Die negativen Kosten des Bonus sind für Fertigstellungstermine im Intervall vom frühesten Beginn innerhalb der Grenzen für Zusatzkapazität bis zum Zieltermin d definiert. Die Verspätungskosten mit positivem Vorzeichen werden ab einer Periode nach dem Zieltermin (d + 1) bis zum Ende des Planungshorizonts festgelegt. Jede Instanz des RCPSP-ROC könnte in eine Instanz des Modells von Deckro und Hebert (1989) transformiert werden, indem Kostensätze Cr ,t = κr , ∀r , t und Zusatzkapazitätslimits μr ,t = z r , ∀r , t übernommen werden und bis zum Zieltermin d die Erlöse für die Bonuszahlungen Bt = −u t , ∀t ≤ d verwendet werden und danach für die Strafkosten Pt = u t , ∀t > d. Zudem muss ein hinreichend langer Planungshorizont gewählt werden. Je nachdem wie die Länge des Planungshorizonts ausgelegt wird, erlaubt das Modell optional eine verbindliche Frist für das Projektende zu erzwingen, was dem RCPSP-ROC nicht entsprechen würde. Das Modell zur ressourcenkritischen „Verdichtung“ wird in Deckro et al. (1991) weiter generalisiert und als kostenbasiertes Ressourcenallokationsmodell (engl. Cost Based / Resource Allocation Model, CB/RAM) bezeichnet. Das Modell kann eingesetzt werden, um die Ressourcennutzung zu nivellieren. Es bestraft nicht nur Abschnitte in Ablaufplänen, in welchen ein Schwellenwert für die Ressourcenbeanspruchung überschritten wird. Perioden, in welchen die Nutzung der Ressourcen den Zielwert unterschreitet, werden ebenfalls in der Zielfunktion bestraft. Die Gesamtkosten werden im Vergleich zum Modell für die ressourcenkritische „Verdichtung“ ergänzt um Kosten für die Ressourcenbereitstellung, Zusatzkapazitätskosten und Kosten für die Kapazitätsreduktion. Das Modell CB/RAM enthält daher als Spezialfall das Ressourceninvestitionsproblem, das Ressourcennivellierungsproblem, das Ressourcenüberladungsproblem und das RCPSP-ROC. Bei den ersten drei genann-
50
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
Abbildung 2.19 Mindmap zu Aspekten verschiedener RCPSP-Varianten
Besonderheiten im Vergleich zum RCPSP in Standardform
Zusatzkapazität, Gewinnmaximierung Bedarf und Kapazität zeitvariant Mehrmodus Mehrere Projekte gemeinsame Ressourcen Optionale AG mit Entscheidungen und Implikationen Optionale AG, Qualitätszuwachs durch AG Zeitvariante Ressourcenverbräuche Frist, Minimierung der Nutzungsspitzen Frist, Glättung des Nutzungsprofils Frist, Minimierung der Kapazitätsüberschreitungen Frist, Zeitvariante Kapazität, Zusatzkapazität Frist, Mehrmodus, Kostenminimierung, Zusatzkapazität Zieltermin, Gewinnmaximierung, Zusatzkapazität Frist, zwei Periodentypen (reguläre, Überstunden), Kostenminimierung Frist, mehrere Ausführungsmodi mit Verbrauchs-/Kosten-Trade-off Verallgemeinerte Zeitbeziehungen Integrierte Projekt- und Tourenplanung Frist, Zusammenführung von RIP, RLP und ROP Frist, Kostenbehaftete Verkürzung der Aktivitätsdauern Konsolidierung von Aktivitäten Mehrmodus, Stetige Fassung des DTCTP Dezentralisierte Mehrprojektplanung
Abkürzung
RCPSP-ROC RCPSP/t MRCPSP RCMPSP RCPSP-PS RCPSP-PS-Q FRCPSP RIP, RACP RLP ROP RRP PSPDL TCPSP DTCTP RCPSP/max RTP CB/RAM MCP DRCMPSP
Tabelle 2.7 Diverse Varianten der ressourcenbeschränkten Projektplanung aus der Fachliteratur Schnabel et al. (2018) Hartmann (2012) Elmaghraby (1977) Pritsker et al. (1969) Kellenbrink und Helber (2015) Kellenbrink und Helber (2016) Naber und Kolisch (2014) Möhring (1984) Easa (1989) Neumann und Zimmermann (1999) Nübel (2001) Kolisch (1995) Deckro und Hebert (1989) Guldemond et al. (2008) Hindelang und Muth (1979) Neumann und Schwindt (1997) Weiss (2018) Deckro et al. (1991) Deckro und Hebert (1989) Rummel et al. (2005) Leachman et al. (1990) Villafañez et al. (2014)
Primärquelle
2.4 Einordnung und Klassifikation ressourcenbeschränkter … 51
52
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
ten Problemen muss der Planungshorizont zum verbindlichen Fertigstellungstermin enden. Ein weiteres nah verwandtes Problem ist das zeitbeschränkte Projektplanungsproblem (engl. Time-Constrained Project Scheduling Problem, TCPSP) von Guldemond et al. (2008), welches ebenfalls eine verpflichtende maximale Projektdauer vorschreibt. Zusätzlich stark verwandt mit der ressourcenkritischen „Verdichtung“ von Deckro und Hebert (1989) ist das Projektplanungsproblem mit strikter Frist für das Projektende (engl. Project Scheduling Problem with Deadline, PSPDL) von Kolisch (1995). Ein zentraler Unterschied ist jedoch, dass im PSPDL kein „weicher“ Zieltermin mit Verspätungskosten vorgegeben wird, sondern stattdessen ein Fertigstellungstermin, welcher niemals überschritten werden darf, exogen festgelegt wird. Entsprechend besteht die Zielfunktion nur aus den Kosten für Zusatzkapazität. Bonus- und Strafzahlungen werden nicht berücksichtigt. Ein frühzeitiges Projektende wird in der Zielfunktion nicht beachtet und per Restriktion verboten, dass das Projekt verspätet fertiggestellt wird. Das zweite Modell von Deckro und Hebert (1989) befasst sich mit der beschleunigten Durchführung der AG (engl. Activity Duration Crashing, ADC) und basiert auf der Formulierung von Bowman (1959). In diesem Modell kann die Bearbeitungszeit der AG endogen in diskreten Schritten jeweils um eine Periode verkürzt werden, was Kosten verursacht. Ein abschließender Überblick über einige der angesprochenen Varianten des RCPSP gibt die Tabelle 2.7 auf S. 51. Zudem können die Problemvarianten in das Klassifikationsschema in der Mindmap in Abbildung 2.19 eingeordnet werden.
2.5
Überblick über Lösungsverfahren für ressourcenbeschränkte Projektplanungsprobleme
2.5.1
(Meta-)heuristische Lösungsverfahren
Da Instanzen, welche eine praxisnahe Größe besitzen, bei den meisten kombinatorischen Optimierungsproblemen nicht in annehmbarer Zeit optimal lösbar sind, werden häufig heuristische Lösungsverfahren herangezogen, um diese Probleme zu lösen. Nachfolgend werden diverse heuristische Lösungsverfahren für wiederum verschiedenartige Projektplanungsprobleme mit beschränkten Ressourcen aus der Literatur aufgelistet und knapp erläutert. Die Mehrheit dieser Verfahren überträgt eine problemunabhängige Metaheuristik auf das entsprechende Projektplanungsproblem und verbessert dies ggf. dadurch, dass weitere problemspezifische Komponenten ergänzt werden. In der Literatur können mehrere Veröffentlichungen gefun-
2.5 Überblick über Lösungsverfahren für ressourcenbeschränkte …
53
den werden, welche einen Überblick über Lösungsverfahren für Projektplanungsprobleme geben. Van Peteghem und Vanhoucke (2014a) beschreiben Metaheuristiken für das MRCPSP. Habibi et al. (2018) geben einen aktuellen Überblick über die derzeitigen und vergangenen Entwicklungen rund um die Planung von Projekten mit begrenzten Ressourcen. Roy und Sen (2019) und Hartmann und Kolisch (2000) geben einen Überblick über verschiedene Literaturquellen zu Metaheuristiken für die ressourcenbeschränkte Projektplanung. Ghaeli und Sadi-Nezhad (2019) haben eine Studie über Veröffentlichungsstatistiken zur Projektplanung erstellt. Abdolshah (2014) klassifizieren exakte und heuristische Lösungsverfahren für das RCPSP. Briskorn und Hartmann (2015) ordnen das RCPSP in die Produktionsplanung ein und geben Beispiele für die Anwendung. Hajdu (2018) stellen ein Klassifikationsschema und Algorithmen für Vorrangsbeziehungen vor. Hartmann (1999) stellt mehrere exakte und heuristische Lösungsverfahren für das RCPSP vor. Er klassifiziert die Heuristiken für Projekte mit einem Ausführungsmodus und beschreibt zudem den Aufbau eines Genetischen Algorithmus für das MRCPSP. Van Peteghem und Vanhoucke (2014b) vergleichen mehrere Metaheuristiken für das MRCPSP auf einigen alten (PSPLIB und Boctor) und einer neuen Instanzenbibliothek (MMLIB). Ein zentrales Resultat ist, dass die hohe Leistungsfähigkeit einiger Verfahren primär den problemspezifischen Lokalsuchprozeduren zuzuschreiben ist und dafür nicht die eingesetzte Metaheuristik verantwortlich ist. Ähnliches konnte auch für das RCPSP im hybriden Genetischen Algorithmus von Lova et al. (2009) gezeigt werden, welcher durch die integrierte Verbesserungsroutine Ergebnisse mit signifikant höherer Güte liefert. Lancaster und Ozbayrak (2007) geben einen Überblick über evolutionäre Algorithmen für das RCPSP und Varianten. Ein Mindmap mit einem Klassifikationsschema für RCPSP-Heuristiken ist in Abbildung 2.20 abgebildet. Ein ausführlicher Überblick über diverse heuristische Verfahren für das RCPSP in seiner Grundform wird in Tabelle 2.8 auf S. 55 gegeben. Zusätzlich listet Tabelle 2.9 auf S. 56 einige Heuristiken für Varianten des RCPSP auf. Eine Legende für die in beiden Tabellen verwendeten Abkürzungen befindet sich in Tabelle 2.10. Nachfolgend wird eine Auswahl der aufgelisteten Methoden detaillierter beschrieben. Ausgehend von einfachen Heuristiken, über Metaheuristiken werden schließlich fortgeschrittene Ansätze wie Hyper-Heuristiken für das RCPSP aufgegriffen. Die einfachste Variante einer Heuristik für ein kombinatorisches Entscheidungsproblem ist eine nicht parametrisierte Konstruktionsheuristik, welche mit einem sehr geringen Rechenaufwand eine zulässige Lösung für eine gegebene Probleminstanz erzeugt. Derartige Heuristiken werden auch häufig Startheuristiken genannt,
54
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
Abbildung 2.20 Mindmap zur Klassifikation von RCPSP-Heuristiken
da diese in einem nachbarschaftlichen Suchverfahren den Ausgangspunkt, von welchem daraufhin bessere Lösungen gefunden werden, liefern können. Eine Konstruktionsheuristik basiert oft auf Prioritätsregeln (engl. Priority Rules, PR). Davis und Patterson (1975) bspw. vergleichen Pläne, welche durch acht verschiedene Prioritätsregeln erzeugt werden, mit der optimalen Lösung. Während eine Lösung iterativ konstruiert wird, kann, falls Alternativen auftreten, anhand von problemspezifischen Kriterien und Problemwissen eine Alternative priorisiert und die Alternative mit der höchsten Priorität gewählt werden. Konkret kann dies bedeuten, die AG nach absteigenden Prioritätswerten (engl. Random Key, RK) zu sortieren. Ein Plan kann beispielsweise durch das serielle oder parallele Planerzeugungsschema iterativ unter Berücksichtigung der Prioritäten konstruiert werden.101 Derartige Heuristiken können je nach Problemstellung und konkreten Instanzdaten 101 Vgl.
Hartmann (1999).
2.5 Überblick über Lösungsverfahren für ressourcenbeschränkte …
55
Tabelle 2.8 Heuristische Lösungsverfahren für das RCPSP in der Grundform alphabetisch sortiert nach Typ des Lösungsverfahrens Veröffentlichungen
Typ
Merkle et al. (2002), Duan und Liao (2010), Gonzalez-Pardo et al. (2017) Chen et al. (2010) Mobini et al. (2011) Ziarati et al. (2011) Artigues et al. (2003) Hindi et al. (2002) Kassandra et al. (2018), Sanaei et al. (2013), Fang und Wang (2012) Hartmann (1998), Proon und Jin (2011), Wang et al. (2005),Wang et al. (2010), Ranjbar et al. (2008), Gonçalves et al. (2008),Gonçalves et al. (2011) Chand et al. (2018), Dumi´c et al. (2018) Koulinas et al. (2014) Koulinas und Anagnostopoulos (2013) Koulinas und Anagnostopoulos (2011) Rihm und Trautmann (2014) Agarwal et al. (2011) Davis und Patterson (1975) Kolisch und Drexl (1996), Kolisch (1996a) Fahmy et al. (2014), Kumar und Vidyarthi (2016), Chen (2011), Zhang et al. (2006) Hartmann (2002) Lee und Kim (1996) Debels et al. (2006)
ACO ACO, SS AIS BCO CH, TS EA FF GA
GP HH, PSO HH, SA HH, TS LNS NGA PR PR, LOCS PSO SA/GA SA, TS, GA SS+EM
bereits gute oder gar optimale Lösungen nach nur wenigen Rechenschritten liefern. Da aber die durch allgemeines und nicht instanzspezifisches Problemwissen gewählten Prioritäten nicht zwangsläufig immer zu einer optimalen Lösung führen, können für pathologische Instanzen auch sehr schlechte zulässige Lösungen aus diesem Vorgehen resultieren. Neben Prioritätsregeln wurden einfache Heuristiken für die Projektplanung entwickelt. Kolisch (1995) löst ein RCPSP mit mehreren Ausführungsmodi, Projekten, gegebener Frist für das Projektende und Rüstzeiten mithilfe neuer Heuristi-
56
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
Tabelle 2.9 Heuristische Lösungsverfahren für Varianten des RCPSP Veröffentlichungen
Typ
Problemvariante
Pawi´nski und Sapiecha (2014) Schramme (2014) Alipouri et al. (2019) Huang et al. (2015) Yang et al. (2004) Küçüksayacıgil und Ulusoy (2018) Xiao et al. (2016) Shahsavar et al. (2015) Alcaraz et al. (2003), Lova et al. (2009) Jarboui et al. (2008) Bouleimen und Lecocq (2003) Mika et al. (2008), Nonobe und Ibaraki (2002a), Nonobe und Ibaraki (2002b), Poppenborg und Knust (2016), Bukata et al. (2015) Gerhards und Stürck (2016) Tran et al. (2016) Nóbrega et al. (2012) Kolisch (1995) Van Peteghem und Vanhoucke (2013) Yamashita et al. (2006) Zhu et al. (2011) Nonobe und Ibaraki (2006)
GA GA HH FF PR, LOCS GA EA+EM SA/GA GA PSO SA TS
DTCTP FRCPSP Fuzzy-RCPSP Fuzzy-RCPSP Min-WTOT MO-MRCMPSP MO-RCPSP MO-RCPSP MRCPSP MRCPSP MRCPSP MRCPSP mit Rüstzeiten
LNS DEA MOVNS PR, LOCS AIS SS GA LOCS
Schnabel et al. (2018) Chen et al. (2009) Shadrokh und Kianfar (2005) Yuan et al. (2015) Liu et al. (2015) Shadrokh und Kianfar (2007) Najafi et al. (2009) Najafi und Azimi (2009) Ballestín et al. (2007) Ballestin (2007)
GA ACO GA GA, VNS DEA GA GA PR IGH GA
MRIP Multiprojekt-RLP PDS PSPDL mit Rüstzeiten RACP RACP RCPSP mit Präemption RCPSP mit variablen Dauern RCPSP-ROC RCPSP, Cashflow RIP RIP RIP RIP RIP, Cashflow RIP, Cashflow RLP RRP/max
2.5 Überblick über Lösungsverfahren für ressourcenbeschränkte …
57
ken, welche einfache Prioritätsregeln aber auch Algorithmen mit mehreren Stufen beinhalten. Tabelle 2.10 Legende für die Tabelle heuristischer Verfahren für das RCPSP
Abkürzung
Bedeutung
ACO AIS BCO CH DEA
Ameisenkolonieoptimierung Künstliches Immunsystem Bienenkolonie Konstruktionsheuristic Differentieller Evolutionärer Algorithmus Elektromagnetismus Evolutionärer Algorithmus Glühwürmchen-Algorithmus Frog-Leap Genetischer Algorithmus Genetische Programmierung Hyper-Heuristik Iterative Greedy-Heuristik Große Nachbarschaftssuche Lokale Suche Mehrziel variable Nachbarschaftssuche Neuro-Genetischer Algorithmus Prioritätsregel Partikelschwarmoptimierung Simulierte Abkühlung Selbstanpassender Genetischer Algorithmus Scatter Search Tabu-Suche Variable Nachbarschaftssuche
EM EA FF FL GA GP HH IGH LNS LOCS MOVNS NGA PR PSO SA SA/GA SS TS VNS
Die nächste Stufe der Heuristiken stellen Metaheuristiken dar, welche ein Grundgerüst liefern, über welches eine oder mehrere Startlösungen erzeugt und dann sukzessive verbessert werden. Da Metaheuristiken im Gegensatz zu einfa-
58
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
chen Konstruktionsheuristiken den Lösungsraum explizit oder implizit durchforsten und nicht anhand von Problemwissen direkt auf eine bestimmte Lösung springen, können diese häufig bessere Lösungen finden. Das Problemwissen wird bei Metaheuristiken in der Regel dafür genutzt, um den zu durchsuchenden Lösungsraum weiter einzuschränken und daraus trivialerweise nicht verbesserbare Lösungen zu entfernen. Um Projektplanungsprobleme zu lösen, werden häufig metaheuristische Verfahren an diese Problemstellungen angepasst. Ballestín et al. (2007) betrachten ein Ressourcennivellierungsproblem in der auftragsbasierten Produktion und stellen dafür ein Modell und einen populationsbasierte, iterative Greedy-Heuristik (IGH) als Lösungsansatz vor. Artigues et al. (2003) haben Einfügungs-Techniken im Rahmen einer Konstruktionsheuristik und einer Tabu-Suche (TS) für die statische und dynamische ressourcenbeschränkte Projektplanung evaluiert. Dynamische Projektplanung reagiert auf zur Ursprungssituation geänderte Randbedingungen in Echtzeit, indem der Ausgangsplan „online“ neu geplant oder minimal angepasst wird, um den geänderten Bedingungen zu genügen, aber den Plan möglichst geringfügig zu verändern. Yang et al. (2004) haben heuristische Ansätze präsentiert, welche gewichtete Verspätungen und Kosten für Überstunden minimieren, das sogenannte Projektplanungsproblem mit gewichteten Verspätungen und Überstundenkosten (engl. Weighted Tardiness and Overtime, WTOT). Die Autoren betrachten lediglich eine Ressource und präsentieren ein neues Planerzeugungsschema „Compact and Relax“ für ihr Problem. Lee und Kim (1996) stellen neue Nachbarschaftsoperatoren für mehrere lokale Suchverfahren für das RCPSP vor. Bei den Verfahren handelt es sich um Simulierte Abkühlung, Tabu-Suche und Genetische Algorithmen. Nonobe und Ibaraki (2006) dokumentieren Heuristiken für eine Variante des RCPSP, welche variable Dauern der Aktivitäten und eine konvexe Kostenfunktion berücksichtigt. Nóbrega et al. (2012) zeigen ein heuristisches Lösungsverfahren, welches einen Ablaufplan für das Projektplanungsproblem in der Softwareentwicklung (engl. Project Scheduling Problem for Software Development, PDS) konstruiert. Es wurden mehrere Metaheuristiken für das MRCPSP angepasst. Dies umfasst eine Partikelschwarmoptimierung102 , einen Genetischen Algorithmus103 und Simulierte Abkühlung.104 Mehrere Genetische Algorithmen für das RCPSP in der Grundform wurden entwickelt. Hartmann (1998), Proon und Jin (2011), Alhumrani und Qureshi (2016) und Wang et al. (2005) haben einfache Varianten vorgestellt. Wang et al. (2010) 102 Vgl.
Jarboui et al. (2008). Alcaraz et al. (2003). 104 Vgl. Bouleimen und Lecocq (2003). 103 Vgl.
2.5 Überblick über Lösungsverfahren für ressourcenbeschränkte …
59
haben einen Genetischen Algorithmus für das RCPSP mit standardisierten Prioritätswerten (engl. Standardized Random Key, SRK) als Repräsentation entwickelt. Der Genetische Algorithmus verwendet einen Verbesserungsschritt, welcher die AG zuerst rechts- und anschließend linksbündig anordnet, und es wurden unterschiedliche evolutionäre Strategien (d. h. genetische Operatoren) evaluiert. Chand et al. (2018) nutzen Genetische Programmierung um Prioritätsregeln für das RCPSP fortzuentwickeln. Ranjbar et al. (2008) lösen das RCPSP mit einem Genetischen Algorithmus mit Pfadzusammenführung. Agarwal et al. (2011) haben einen NeuroGenetischen Algorithmus für das RCPSP entworfen. Gonçalves et al. (2008) und Gonçalves et al. (2011) haben einen Genetischen Algorithmus für das RCPSP mit Vorwärts-Rückwärts-Verbesserungsschritt und neuartigen Dekodierungsprozeduren entworfen. Hindi et al. (2002) haben einen evolutionären Algorithmus für RCPSP betrachtet. Zhu et al. (2011) stellten einen effektiven Genetischen Algorithmus für das RCPSP mit eingeschränkten Präemptionen vor. Dumi´c et al. (2018) entwickelten einen Ansatz, welcher eine passende Prioritätsregel für ein gegebenes Projekt mithilfe von Genetischer Programmierung erzeugt. Dies soll ermöglichen, eine geeignete Scheduling-Heuristik für diverse zu planenden Projekte automatisiert zu entwickeln. Auch eine Anpassungsfähigkeit an verschiedene Optimierungskriterien konnte gezeigt werden. Hartmann (2002) hat einen selbstanpassenden Genetischen Algorithmus für das RCPSP präsentiert. Shahsavar et al. (2015) haben ein Projektplanungsproblem mit drei Zielstellungen modelliert und drei selbstanpassende Genetische Algorithmen für die Probleme entwickelt und evaluiert. Morillo et al. (2018) vergleichen den Einfluss von Chromosom-Mutation und Gen-Mutation in evolutionären Ansätzen für das RCPSP. Von Yuan et al. (2015) stammt ein Ansatz eines Genetischen Algorithmus mit mehreren Agenten und variabler Nachbarschaftssuche zur Lösung des Ressourceninvestitionsproblems. Shadrokh und Kianfar (2005) stellen einen Genetischen Algorithmus für das Ressourceninvestitionsproblem vor, welcher eine angepasste Akpan-Methode verwendet. Liu et al. (2015) lösen das Ressourceninvestitionsproblem mit Verspätungskosten mithilfe eines Genetischen Algorithmus. Von Shadrokh und Kianfar (2007) stammt ein Genetischer Algorithmus für das Ressourceninvestitionsproblem mit Verspätungskosten. Ebenfalls einen Genetischen Algorithmus haben Tran et al. (2016) vorgestellt für das Nivellierungsproblem mit mehreren Projekten. Das Verfahren wurde um chaotisches Fuzzy-Clustering ergänzt. Ballestin (2007) hat einen Genetischen Algorithmus für das Ressourcenanmietungsproblem mit minimalen und maximalen Verzögerungen vorgestellt. Najafi und Azimi (2009) haben eine prioritätsregelbasierte Heuristik für das Ressourceninvestitionsproblem mit diskontierten Cashflows und Verspätungskosten implementiert und daraufhin haben Najafi et al. (2009) dieses Problem mit-
60
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
hilfe eines Genetischen Algorithmus gelöst, dessen Konfiguration optimiert worden ist. Schramme (2014) betrachtet das RCPSP mit flexiblen Ressourcenverbräuchen (engl. Flexible Resource-Constrained Project Scheduling Problem, FRCPSP), welches das RCPSP generalisiert, und stellt ein neues Modell sowie einen stark parametrisierbaren Genetischen Algorithmus mit neuem Einplanungsschema für dieses Problem vor, für welchen mittels SMAC105 eine gute Konfiguration gesucht wird. Pawi´nski und Sapiecha (2014) haben einen Genetischen Algorithmus für das Kosten/Zeit-Trade-Off-Problem im RCPSP entwickelt. Ranjbar und Kianfar (2010) haben einen Genetischen Algorithmus für eine Variante des RCPSP entwickelt, welche flexible Arbeitsprofile erlaubt. In diesem Problem ist der gesamte Workload eines AG konstant. Die Wahl des Arbeitsprofils beeinflusst wie sich dieser Workload über die Zeit verteilt und damit die Bearbeitungszeit und den Ressourcenbedarf des AG. Das RCPSP wurde mit diversen naturanalogen Verfahren gelöst. Dies umfasst ein künstliches Immunsystem106 , Froschhüpfen (engl. frog leap)107 , Partikelschwarm108 , Ameisenkolonie109 . Weitere Bienenalgorithmen für das RCPSP stammen von Ziarati et al. (2011). Huang et al. (2015) haben einen angepassten Glühwürmchenalgorithmus (engl. firefly algorithm) für die Ablaufplanung in der Produktentwicklung mit unscharfen Bearbeitungszeiten entwickelt. Ein Glühwürmchenalgorithmus für das konventionelle RCPSP stammt von Kassandra et al. (2018) und Sanaei et al. (2013). Duan und Liao (2010) stellen einen neuen ACOAnsatz für das RCPSP vor, welcher im Gegensatz zu älteren Ansätzen auf der Vorgangsknotennetz-Darstellung des Projekts basiert. Chen et al. (2009) verwenden ACO um ein RCPSP mit diskontiertem Geldfluss zu lösen. Gonzalez-Pardo et al. (2017) untersuchen in einer Vergleichsstudie den Einfluss der Pheromonsteuerung auf ACO für das RCPSP. Van Peteghem und Vanhoucke (2013) haben einen Algorithmus basierend auf einem künstlichen Immunsystem für das Ressourcenverfügbarkeitskostenproblem entwickelt. Verschiedenen Tabusuchverfahren wurden für Projektplanungsprobleme entwickelt. Mika et al. (2008) haben eine Variante der Tabu-Suche konzipiert, um das Mehrmodus-RCPSP mit reihenfolgeabhängigen Rüstzeiten zu lösen. Nonobe und Ibaraki (2002b) und Nonobe und Ibaraki (2002a) haben eine einfache Tabu-Suche
105 Vgl.
Hutter et al. (2011). Mobini et al. (2011). 107 Vgl. Fang und Wang (2012). 108 Vgl. Chen (2011), Kumar und Vidyarthi (2016) und Zhang et al. (2006). 109 Vgl. Merkle et al. (2002). 106 Vgl.
2.5 Überblick über Lösungsverfahren für ressourcenbeschränkte …
61
für das RCPSP vorgestellt. Poppenborg und Knust (2016) haben eine flussbasierte Tabu-Suche für das RCPSP beschrieben. Bukata et al. (2015) haben die Metaheuristik der Tabu-Suche derart parallelisiert, dass diese auf Grafikprozessoren lauffähig wurde.110 Zudem nutzten die Autoren die Methoden des maschinellen Lernens, um die passende Planerzeugungsprozedur in Abhängigkeit von den Instanzdaten vorherzusagen. Aktuell verfügbare Grafikkarten sind besonders leistungsfähig, wenn viele gleichartige Operationen auf großen Datenmengen parallel durchgeführt werden sollen. Dies nutzt der Autor aus, um das RCPSP effizient zu lösen. Da insbesondere populationsbasierte Metaheuristiken besonders gut parallelisiert werden können, wurde bereits untersucht, inwiefern sich die GPU-Parallelisierung eignet, um die Metaheuristiken aus der Fachliteratur zu beschleunigen.111 Weitere Heuristiken zur Lösung des RCPSP sind große Nachbarschaftssuche (engl. Large Neighbourhood Search, LNS),112 eine mehrstufige Heuristik,113 und ein hybrider Algorithmus, welcher eine Verteilung schätzt, um einen AG auszuwählen, während ein Plan erzeugt wird.114 Adamu et al. (2019) betrachteten, wie eine Prioritätsregel aus einem Pool von Regeln passend für eine Projektinstanz mithilfe von maschinellem Lernen erzeugt werden kann. Kolisch (1996a) haben eine adaptive Suche konzipiert, welche schwere Projektinstanzen lösen kann. Viana und de Sousa (2000) verwenden Metaheuristiken, um ressourcenbeschränkte Projektplanungsprobleme mit mehreren Zielstellungen zu lösen. Es gibt Hybride-Verfahren, welche Komponenten verschiedener Methoden kombinieren. Gerhards und Stürck (2016) haben eine hybride Matheuristik für das Ressourceninvestitionsproblem mit mehreren Ausführungsmodi (engl. MultiMode Resource Investment Problem, MRIP) und Verspätungskosten entwickelt. Diese Metaheuristik startet mit einer heuristischen Startlösung und führt daraufhin in mehreren Iterationen jeweils eine variable Nachbarschaftssuche durch. Die Nachbarschaftssuche zerstört Teile der betrachteten Lösung und baut diese daraufhin wieder auf. Der zerstörte Teil der Lösung wird über einen Solver für gemischt-ganzzahlige Optimierung rekonstruiert. Dieses Vorgehen weist Parallelen zur Fix&Optimize-Heuristik von Helber und Sahling (2010) auf. Küçüksa110 In
diesem Fall wurde die Tabu-Suche mit der Plattform „Compute Unified Device Architecture“ (CUDA) für parallele Programmierung implementiert, vgl. Sanders und Kandrot (2010). 111 Vgl. Essaid et al. (2019). 112 Vgl. Palpant et al. (2004). 113 Vgl. Tormos und Lova (2003). 114 Vgl. Wang und Fang (2012).
62
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
yacıgil und Ulusoy (2018) haben einen hybriden Genetischen Algorithmus für eine sehr generische Form des RCPSP entwickelt. Diese Form des RCPSP beinhaltet mehrere Ausführungsmodi der Aktivitäten sowie mehrere Projekte. Zusätzlich wird hier eine Mehrzieloptimierung über NSGA-II mit Vorwärts-RückwärtsVerbesserungsschritt umgesetzt. Durch Rihm und Trautmann (2014) wurde eine Dekompositions-Heuristik vorgestellt, welche eine Instanz des RCPSP löst, indem das gesamte Projekt in mehrere Teilprojekte zerlegt wird, welche wiederum durch mathematische Programmierung gelöst werden. Auch dieser Ansatz weist parallelen zum Fix&Optimize-Verfahren115 auf. Debels et al. (2006) beschreiben eine hybride Scatter-Search/Elektromagnetismus-Metaheuristik für das RCPSP, welche als Repräsentation standardisierte Prioritätswerte (engl. Standardized Random Keys, SRK) verwendet. Kolisch (1996a) haben eine Heuristik für das RCPSP entwickelt, welche einen Hybrid zwischen Prioritätsregeln und randomisierter Suche darstellt. Die Heuristik wurde verbessert, indem neue Prioritätsregeln und untere Schranken für die Projektdauer eingeführt worden sind. Yamashita et al. (2006) haben eine Scatter-Search für das Ressourcenverfügbarkeitskostenproblem vorgeschlagen. Xiao et al. (2016) verbinden Elemente einer Elektromagnetismus-Heuristik mit einem evolutionären Algorithmus und untersuchen, wie geeignet diese Kombination ist, um ein RCPSP mit mehreren Zielstellungen zu lösen. Kolisch und Drexl (1996) haben ein hybrides Verfahren entwickelt, welches Prioritätsregeln und randomisierte Lokalsuchtechniken kombiniert und dieses durch neue Prioritätsregeln und untere Schranken verbessert. Fahmy et al. (2014) haben das Vorwärts-Rückwärts-Verbesserungsverfahrens zu einer Methode weiterentwickelt, welche als „Stacking Justification“ bezeichnet wird. Diese haben sie in eine Partikelschwarmoptimierung eingebaut, um dadurch das RCPSP zu lösen. Lova et al. (2009) haben einen hybriden Genetischen Algorithmus zur Planung des RCPSP mit mehreren Ausführungsmodi vorgestellt. Ein weiteres hybrides Verfahren stammt von Chen et al. (2010). Eine Stufe über einer Metaheuristik steht eine sogenannte Hyper-Heuristik. Diese Heuristik sucht auf oberster Ebene nicht im Lösungsraum des Entscheidungsproblems, sondern stattdessen im Raum der Lösungsmethoden bzw. Konfigurationen der Algorithmen.116 Die Hyper-Heuristik lässt verschieden konfigurierte einfache Heuristiken das Problem lösen. So kann beispielsweise ausgehend von einer guten Startlösung, das Problem parallel über verschiedene Heuristiken gelöst werden. Wenn eine Heuristik in einem lokalen Optimum verharrt, kann diese umkon115 Vgl. 116 Vgl.
Helber und Sahling (2010). Pillay und Qu (2018).
2.5 Überblick über Lösungsverfahren für ressourcenbeschränkte …
63
figuriert werden. So könnte zwischen verschiedenen Repräsentationen, Nachbarschaften und Dekodierungsverfahren gewechselt werden und das Verfahren sich selbst adaptieren. Die Hyper-Heuristik selbst kann wiederum konfiguriert werden. Daher wäre es interessant anhand von Instanzcharakteristika mithilfe von maschinellem Lernen (engl. Machine Learning, ML) zu lernen, welche Konstellationen aus einfachen Heuristiken vielversprechend sind und wie diese konfiguriert werden sollten. Koulinas et al. (2014) haben eine Hyper-Heuristik auf Basis von Partikelschwarmoptimierung für das RCPSP vorgestellt. Die Hyper-Heuristik steuert mehrere sogenannte Low-Level-Heuristiken (PSO), welche den Lösungsraum durchforsten. In diesen Heuristiken werden Prioritätswerte (sog. Random Keys) verwendet, um die Lösung darzustellen, und mithilfe des seriellen Ablaufplanerzeugungsschemas aus diesen aktive Pläne erzeugt. Zudem wird in diesem Verfahren das Verbesserungsverfahren für das RCPSP eingesetzt,117 welches einen Plan durch links- und rechtsseitige Anordnung der AG potenziell verkürzt. Zwei weitere Hyper-Heuristiken wurden für ein Projektplanungsproblem vorgestellt, in welchem simultan die Projektdauer minimiert und die Ressourceninanspruchnahme nivelliert werden soll. Die erste Variante118 basiert auf Tabu-Suche und die zweite Variante119 auf einem Akzeptanzkriterium auf Basis eines Schwellenwerts. Beide Hyper-Heuristiken nutzen im Kern die kommerzielle Software zur Projektplanung „Microsoft Project“ 120 und kümmern sich lediglich darum, die Prioritätswerte für die AG festzulegen. Die Software „Microsoft Project“ erzeugt schließlich in der untersten Stufe des Verfahrens den Plan. Alipouri et al. (2019) lösen das RCPSP mit gleichzeitig unsicheren und „fuzzy“ Bearbeitungszeiten der AG. Sie verwenden hierfür eine Hyper-Heuristik, welche die genutzte Einplanungspolitik optimiert. Dabei wird ein dynamisches Planerzeugungsschema, welches sich an der gewählten Politik orientiert, eingesetzt, um einen Ablaufplan zu konstruieren. Messelis und De Causmaecker (2014) zeigen, wie mithilfe von Methoden des maschinellen Lernens für eine gegebene Projektinstanz und deren charakteristische Kenngrößen eine passende Heuristik ausgewählt werden kann. Die Autoren haben dabei ein binäres Klassifikationsproblem mit hybridem Genetischen Algo-
117 Vgl.
Valls et al. (2005). Koulinas und Anagnostopoulos (2013). 119 Vgl. Koulinas und Anagnostopoulos (2011). 120 Vgl. Microsoft (2019). 118 Vgl.
64
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
rithmus121 und Tabu Suche122 gelöst. De Nijs (2013) betrachtete den Einfluss von Eigenschaften der Instanzen auf die Leistungsfähigkeit von Heuristiken.
2.5.2
Exakte Lösungsverfahren
In der Literatur wurden diverse Modellformulierungen für das RCPSP untersucht. Trautmann et al. (2018) haben eine Formulierung als gemischt-ganzzahliges Optimierungsmodell für das RCPSP vorgestellt, welche besonders gut dafür geeignet ist, Projekte mit Arbeitsschritten, welche sehr lange Bearbeitungszeiten aufweisen, zu lösen. Kopanos et al. (2014) haben jeweils zwei neue Formulierungen als gemischtganzzahlige lineare Optimierungsprobleme (MILP) des RCPSP mit diskreter bzw. stetiger Zeit vorgestellt und mit den Formulierungen, welche bislang den Stand der Technik darstellen, verglichen. Eine ereignisbasierte MILP-Formulierung für das RCPSP wurde von Koné et al. (2011) konzipiert. Basierend auf einer neuen MILP-Formulierung stellen Mingozzi et al. (1998) einen neuen exakten Algorithmus vor, um das RCPSP zu lösen. Nonobe und Ibaraki (2002b) und Nonobe und Ibaraki (2002a) haben eine neue Modellformulierung für das RCPSP entwickelt. Artigues et al. (2015) geben einen ausführlichen Überblick über verschiedene MILPFormulierungen des RCPSP und vergleichen die Performance dieser Formulierungen sowohl von der theoretischen Seite als auch numerisch in einem Benchmark. Tesch (2018) hat neue kompakte Modellformulierungen entwickelt. Wang et al. (2015) haben einen Ansatz entwickelt, welcher stochastische RCPSP mit unsicheren Dauern der AG betrachtet. Demeulemeester und Herroelen (1992) stellen problemspezifische Branch-andBound-Verfahren für das RCPSP vor. Ein weiterer Branch-and-Bound stammt von Christofides et al. (1987). Neron et al. (2006) stellen untere Schranken für das RCPSP vor. Chakrabortty et al. (2015) haben einen Branch-and-Cut-Ansatz für das RCPSP entwickelt. Dorndorf (2002) beschreibt einen Branch-and-Bound-Ansatz für den Fall mit einem oder mehreren Ausführungsmodi und thematisiert, wie das RCPSP angewendet werden kann, um die Ablaufplanung an Flughäfen zu modellieren. Böttcher et al. (1999) hat einen Branch-and-Bound-Ansatz für ein RCPSP mit partiell erneuerbaren Ressourcen vorgestellt und das serielle Ablaufplanerzeugungsschema dahingehend angepasst.
121 Vgl. 122 Vgl.
Lova et al. (2009). Nonobe und Ibaraki (2002a).
2.5 Überblick über Lösungsverfahren für ressourcenbeschränkte …
65
Schutt et al. (2013) lösen das RCPSP, indem sie Klauseln für einen SAT-Solver dynamisch erzeugen. Von Horbach (2010) stammt ein SAT-Ansatz, mit welchem Instanzen des RCPSP gelöst werden können. Laborie (2018) vergleicht verschiedene exakte Verfahren für das RCPSP. Diese beinhalten gemischt-ganzzahlige Optimierungsmodelle, ConstraintProgrammierung sowie Hybridtechniken. Berthold et al. (2010) haben einen Ansatz entwickelt, welcher auf Basis von Constraint-Programmierung das RCPSP löst. Eine weitere Möglichkeit die Constraint-Programmierung für RCPSPs zu nutzen wurde von Liess und Michelon (2008) präsentiert. Eine weitere ConstraintbasierteMethode für die Projektplanung für Zeitfenster stammt von Cesta et al. (2002). Demeulemeester et al. (1996) haben exakte Verfahren für das diskrete ZeitKosten-Trade-Off-Problem beschrieben. Eine effiziente optimale Lösungsprozedur für die präemptive Projektplanung wird von Demeulemeester und Herroelen (1996) präsentiert. Rieck und Zimmermann (2015) vergleichen exakte Lösungsverfahren für das Ressourcennivellierungsproblem. Einen Vergleich der exakten Ansätze für das RCPSP mit mehrfach beschränkten Ressourcen wurde von Patterson (1984) publiziert. Rodrigues und Yamashita (2010) haben ein exaktes Verfahren entworfen, welches die Kosten für die Ressourcenverfügbarkeit im resultierenden Plan minimiert. Kastor und Sirakoulis (2009) untersuchten, ob es effektiv ist das RCPSP mit Methoden zu lösen, welche ursprünglich entwickelt wurden, um die Ressourcenverbräuche zu nivellieren. Kang und Choi (2015) lösen ein stochastisches Zeit-Kosten-Trade-Off-Problem über dynamische Programmierung mit einer adaptiven Schwellenwertpolitik. Der Ansatz ist für Projekte mit serieller Vorgangsstruktur optimal und kann erweitert werden als Heuristik für beliebige Vorgangsknotennetze. Deblaere et al. (2011) haben einen Ansatz der reaktiven Planung für das RCPSP mit mehreren Ausführungsmodi entwickelt. Insgesamt kann festgehalten werden, dass Projektplanungsprobleme mit beschränkten Ressourcen bereits seit vielen Jahrzehnten von zahlreichen Autoren erforscht worden sind. Es gibt mehrere Gründe, welche eine Beschäftigung mit dieser Klasse von Problemen motivieren. Erstens können viele wirtschaftlich relevante Problemstellungen, wie z. B. Pack- und Fließbandabstimmungsprobleme, auf das RCPSP zurückgeführt werden.123 Zweitens kann das RCPSP als geeigneter Ausgangspunkt dienen, wenn spezifische Planungsprobleme in der Anwendung modelliert werden sollen. Die vielfältigen Varianten des RCPSP, welche im Abschnitt 2.4 beginnend auf S. 41 genannt worden sind, bestätigen dies. Aufgrund der Vielseitigkeit der ressourcenbeschränkten Projektplanung profitieren diverse Anwendungs123 Vgl.
Hartmann (2000) bzw. Sprecher (1999).
66
2
Planung von Projekten mit erweiterbaren Ressourcen und von der …
gebiete von guten Planungsmethoden für diese Problemklasse. Entsprechend groß ist die Anzahl der Veröffentlichungen, welche mit neuartigen Lösungsverfahren den bisherigen Stand der Technik in der Projektplanung vorantreiben. Bevor ein Lösungsansatz für eine neue Problemstellung entwickelt werden kann, muss das Problem zunächst präzise, eindeutig und vollständig beschrieben werden. Durch eine genaue Problemdefinition kann erreicht werden, dass ein darauf basierendes Lösungsverfahren stets zulässige Lösungen produziert und tendenziell Lösungen präferiert, welche eine hohe Güte hinsichtlich der Zielstellung aufweisen. Im nachfolgenden Kapitel dieser Schrift wird deshalb das in Abschnitt 2.2.3.2 ab S. 20 bereits skizzierte Problem formal über ein gemischt-ganzzahliges Optimierungsmodell definiert.
3
Formale Modellierung des ressourcenbeschränkten Projektplanungsproblems mit kostenbehafteten Zusatzkapazitäten und projektdauerabhängigen Erlösen (RCPSP-ROC) 3.1
Formale Beschreibung des RCPSP-ROC
3.1.1
Modellannahmen und Notation
Gegeben seien Arbeitsgänge (AG) j ∈ J = {0, . . . , J + 1} mit Dauern d j ∈ N0 sowie ein diskreter Planungshorizont mit Perioden t ∈ T = {1, . . . , T }. Die Menge J beinhaltet J nicht-fiktive AG j ∈ {1, . . . , J } sowie die beiden DummyAG 0 und J + 1. Die Länge des Planungshorizonts T entspricht der Dauer des rein sequentiellen Plans, d. h. T = j d j . Jeder AG besitzt eine Menge von Vorgängern i ∈ P j mit P j ⊆ J . Aus den Vorgängermengen lassen sich Mengen der Nachfolger S j = {k ∈ J | j ∈ Pk } für jeden AG j ableiten. Zudem gibt es erneuerbare Ressourcen r ∈ R = {1, . . . , R} mit regulären Kapazitäten K r ∈ N0 . Während ein AG j durchgeführt wird, belegt dieser k jr ∈ N0 KE der Ressource r . Zu Beginn jeder Periode ist die volle Kapazität K r jeder erneuerbaren Ressource r verfügbar. Um die Darstellung der nachfolgenden Algorithmen zu vereinfachen, werden zwei fiktive Dummy-AG ohne Dauer und Verbräuche eingeführt. Der Dummy-Start 0 ist der einzige AG ohne einen Vorgänger, d. h. P0 = ∅ und P j = ∅, ∀ j > 0, und markiert den Beginn des Projekts. Das Dummy-Ende J + 1 ist der einzige AG ohne einen Nachfolger, d. h. S J +1 = ∅ und S j = ∅, ∀ j < J + 1, und markiert das Ende des Projekts.1 Im sequentiellen Plan werden alle AG hintereinander begonnen und keine AG werden parallel durchgeführt. Der AG 0 beginnt zum Zeitpunkt S0 = 0. Jeder folgende AG j ≥ 1 startet zum Zeitpunkt S j−1 + d j−1 , wenn AG j − 1 der 1 Notation
weitestgehend angelehnt an Kellenbrink (2014b).
© Der/die Herausgeber bzw. der/die Autor(en), exklusiv lizenziert durch Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature 2020 A. Schnabel, Heuristiken für die gewinnorientierte Planung ressourcenbeschränkter Projekte mit erweiterbaren Kapazitäten, Produktion und Logistik, https://doi.org/10.1007/978-3-658-31610-5_3
67
68
3
Formale Modellierung des ressourcenbeschränkten …
Startzeitpunkt S j−1 zugeordnet worden ist.2 Der sequentielle Plan ist für jede Instanz zulässig, da per Annahme die Verbräuche einzelner AG auf den erneuerbaren Ressourcen niemals alleine deren Kapazität überschreiten, d. h. k j,r ≤ K r , ∀ j ∈ J , ∀ r ∈ R. Für jedes Projekt entspricht die Anzahl der sequentiellen Pläne der Anzahl der topologischen Sortierungen. In einer topologischen Sortierung der AG tritt ein AG stets erst hinter allen seinen direkten Vorgängern auf. Die Pläne weisen allesamt die gleiche Dauer von j d j ZE auf. Die regulären Kapazitäten K r einer Ressource r lassen sich bis zu einer oberen Schranke z r ∈ N0 auf eine Gesamtkapazität von K r + z r durch Zusatzkapazität erweitern. Dabei entstehen pro genutzter Kapazitätseinheit (KE) der Zusatzkapazität ressourcenspezifische Kosten in Geldeinheiten (GE) in Höhe von κr ∈ R+ . Wird das Projekt mit einer Gesamtdauer von t Perioden fertiggestellt, dann führt die Zahlungsbereitschaft des Kunden auf einen Erlös in GE im Umfang von u t ∈ R+ . Die Erlöse sind monoton in der Projektdauer fallend, d. h. u t ≥ u t+1 für alle Perioden t. Mit der Kurznotation von Brucker et al. (1999) kann das ressourcenbeschränkte Projektplanungsproblem mit Erlösen und Zusatzkapazitätskosten (RCPSP-ROC) näherungsweise über das Tupel P S| pr ec| f 1 (Cmax )− k,t ck · f 2 (rk (S, t)) beschrieben werden. Es handelt sich um ein Projektplanungsproblem (PS), mit einfachen Reihenfolgebeziehungen (prec) und einer Zielfunktion, welche einen regulären Term in Abhängigkeit vom Fertigstellungstermin ( f 1 (Cmax )) und einen Kosten term enthält. Der Kostenterm ( k,t ck · f 2 (rk (S, t))) hängt von der Auslastung rk der Ressourcen k im Plan S ab. Der Aspekt kostenfreier regulärer Normalkapazität und mit Kosten versehener Zusatzkapazität lässt sich im γ -Eintrag des Tripels α|β|γ jedoch nicht mit den in Brucker et al. (1999) vorgestellten Mitteln darstellen. Nachfolgend wird die Berechnung frühester und spätester Start- und Endzeitpunkte beschrieben. Anhand der Reihenfolgerestriktionen und der Länge des Planungshorizonts können die hinsichtlich der Projektstruktur zulässigen Startzeitpunkte der AG bereits rechnerisch effizient ermittelt werden. Die Kapazitätsrestriktionen werden in diesem Vorgehen nicht beachtet. Die berechneten Zeitpunkte werden nachfolgend genutzt, um die Anzahl der Variablen im gemischt-ganzzahligen Optimierungsmodell zu reduzieren und damit die benötigte Rechenzeit des Solvers zu verringern. Mithilfe einer Vorwärtsrechnung beginnend mit dem Dummy-Start kann anhand der Vorrangsbeziehungen und Dauern der AG der früheste Start- E ST j und End-
2 Diese einfache Vorschrift funktioniert nur, wenn die AG-Nummern topologisch sortiert sind,
was im Rahmen dieser Arbeit grundsätzlich angenommen wird.
3.1 Formale Beschreibung des RCPSP-ROC
69
zeitpunkt E F T j jedes AG j berechnet werden.3 Ein AG j kann nicht vor seinem frühesten Start- E ST j bzw. Endzeitpunkt E F T j begonnen bzw. beendet werden, ohne die Reihenfolgerestriktionen zu verletzen. Daher stellt der früheste Startzeitpunkt E ST j eine untere Schranke für einen zulässigen Startzeitpunkt von AG j dar.4 Der späteste Start- L ST j und Endzeitpunkt L F T j eines AG j kann über eine Rückwärtsrechnung beginnend mit dem Dummy-Ende J + 1 ermittelt werden.5 Ein AG j kann nicht nach seinem spätesten Start L ST j bzw. Endzeitpunkt L F T j begonnen bzw. beendet werden, ohne die Reihenfolgerestriktionen zu verletzen. Der späteste Startzeitpunkt L ST j stellt folglich eine obere Schranke für einen zulässigen Startzeitpunkt von AG j dar.6 Zusammengehörige Start- und Endzeitpunkte eines AG j sind über dessen Dauer d j miteinander verknüpft. Formal gilt, dass E F T j = E ST j + d j und L F T j = L ST j + d j ist. Um die Prozedur, welche die frühesten und spätesten Start und Endzeitpunkte berechnet, einfach umsetzen zu können, sollten im Vorlauf die Nummern der AG topologisch sortiert werden. Die Nummern der AG sind genau dann topologisch sortiert, wenn für jeden AG j alle Vorgänger i ∈ P j eine kleinere AG-Nummer i < j besitzen. Der Pseudocode des Algorithmus, welcher die frühesten und spätesten Startund Endzeitpunkte berechnet, wird in Algorithmus 3.1 beschrieben. Der DummyStart 0 kann in der ersten Periode des Planungshorizonts starten und enden (Zeile 1). Danach ergibt sich der früheste Startzeitpunkt eines AG j > 0 als Maximum der frühesten Endzeitpunkte aller Vorgänger P j (Zeile 3), da die Kapazitätsrestriktionen vernachlässigt werden. Der früheste Endzeitpunkt E F T j wird berechnet, indem der früheste Beginn E ST j um die Bearbeitungszeit d j verzögert wird (Zeile 4). Für das Beispielprojekt aus Abbildung 2.1 auf S. 8 lauten die frühesten Startzeitpunkte E ST j = (0, 0, 0, 3, 2, 5, 6, 8) und Endzeitpunkte E F T j = (0, 3, 2, 5, 5, 6, 8, 8). Der Abschnitt von Zeile 1 bis 5 wird als Vorwärtsrechnung bezeichnet. Die Ergebnisse sind in Abbildung 3.1b zusammen mit dem Vorgangsknotendigraph des Beispielprojekts aus Abbildung 3.1a in Abbildung 3.1 zusammengestellt. Die frühesten Startzeitpunkte E ST j ergeben in ihrer Gesamtheit den sogenannten Earliest Start Schedule (ESS ).7 Dieser entspricht der eindeutigen optimalen Lösung 3 Vgl.
Kelley Jr und Walker (1959), S. 298. Domschke et al. (2015), S. 119. 5 Vgl. Kelley Jr und Walker (1959), S. 298. 6 Vgl. Domschke et al. (2015), S. 119. 7 Vgl. Kelley Jr und Walker (1959), S. 298. 4 Vgl.
70
3
Formale Modellierung des ressourcenbeschränkten …
Algorithmus 3.1: Berechnung frühester und spätester Anfangs- und Endzeitpunkte
1 2 3 4 5 6 7 8 9 10
Eingabe: Projekt P = (J , R, T , P j , d j , k jr , K r ) Ausgabe: Früheste/späteste Start-/Endzeitpunkte E ST j , L ST j , E F T j , L F T j Setze E ST0 := 0 und E F T0 := 0; for j ← 1 to J + 1 do Berechne E ST j := maxi∈P j {E STi + di }; Setze E F T j := E ST j + d j ; end Setze L F T J +1 := j∈J d j und L ST J +1 := L F T J +1 ; for j ← J to 0 do Berechne L F T j := mini∈S j {L STi }; Setze L ST j := L ST j − d j ; end
Abbildung 3.1 Ergebnisse der Zeitfensterberechnung für das Beispielprojekt
des äquivalenten Projektplanungsproblems, in welchem die Kapazitätsrestriktionen relaxiert worden sind, d. h. K r = ∞. Das Gegenstück – die Rückwärtsrechnung – geschieht in den darauffolgenden Zeilen 6 bis 10. Der späteste End- L F T J +1 und Startzeitpunkt L ST J +1 des DummyEndes J + 1 wird als Anfangswert auf die Dauer des Planungshorizonts gelegt (Zeile 6). Da der rein sequentielle Plan in jedem Fall zulässig ist, wird dessen Dauer als obere Grenze und spätester Endzeitpunkt des Dummy-End-AG verwendet. Darauf ist der späteste Endzeitpunkt L F T j eines AG j stets das Minimum der spätesten Startzeitpunkte aller Nachfolger S j (Zeile 8). Der späteste Startzeitpunkt L ST j selbst wird bestimmt, indem die Bearbeitungszeit d j von L F T j abgezogen wird (Zeile 9). Für das Beispielprojekt aus Abbildung 2.1 lauten die
3.1 Formale Beschreibung des RCPSP-ROC
71
spätesten Endzeitpunkte L F T j = (5, 8, 8, 10, 11, 11, 13, 13) und Startzeitpunkte L ST j = (5, 5, 6, 8, 8, 10, 11, 13), wenn L F T J +1 = j d j gesetzt wird. Tabelle 3.1 Gesamtpuffer der AG des Beispielprojekts AG G Pj
0 0
1 0
2 2
3 0
4 1
5 0
6 0
7 0
Um die sogenannten Gesamtpuffer8 G P j = L ST j − E ST j der AG zu berechnen und den kritischen Pfad { j ∈ J | G P j = 0} zu ermitteln, wird vor der Rückwärtsrechnung die obere Grenze des aus der Zeitbetrachtung zulässigen Zeitfensters L F T J +1 auf den frühesten Endzeitpunkt des Dummy-Endes E F T J +1 gesetzt (vgl. Zeile 6). Die dadurch resultierenden Zeitfenster für die Startzeitpunkte {E ST j , . . . , L ST j } sind jedoch in der Regel aufgrund der Kapazitätsrestriktionen nicht umsetzbar. Im Beispiel ergeben sich für die Gesamtpuffer wie in Tabelle 3.1, somit liegen die AG 0, 1, 3, 5, 6 und 7 auf dem kritischen Pfad.
3.1.2
Mathematische Modellformulierung
Die im mathematischen Entscheidungsmodell verwendete Notation wird in Tabelle 3.2 dargestellt und basiert auf der bereits in Abschnitt 3.1.1 ab S. 67 eingeführten Symbolik. Eine englischsprachige Fassung der Modellerläuterungen befindet sich in Schnabel et al. (2018) in Abschnitt 3.1 auf S. 336. Im nachfolgenden Modell des RCPSP-ROC werden zwei Gruppen von Entscheidungsvariablen verwendet. Zum einen die primären binären Puls-IndikatorEntscheidungsvariablen x jt ∈ Z2 . Die Variable x jt nimmt genau dann den Wert 1 an, wenn AG j zum Zeitpunkt t, am Ende der Periode t, beendet wird. Andernfalls wird x jt modellendogen der Wert 0 zugewiesen. Entsprechend enthält diese Variable für jeden AG an nur einer Stelle den Eintrag 1, nämlich der Periode des Endzeitpunkts F j von AG j. Die Kodierung x jt des Endzeitpunkts wurde in der Literatur bereits häufig eingesetzt9 und liefert bei Relaxation der Ganzzahligkeitsrestriktion vergleichsweise effiziente untere Schranken.10 Die zweite Gruppe von 8 Vgl.
Kelley Jr und Walker (1959) sowie Domschke et al. (2015). Pritsker et al. (1969) und Artigues et al. (2015). 10 Vgl. Pritsker et al. (1969) sowie Klein (1999). 9 Vgl.
72
3
Formale Modellierung des ressourcenbeschränkten …
Tabelle 3.2 Notation des Entscheidungsmodells RCPSP-ROC Indizes und (geordnete) Mengen j ∈ J Aktivitäten J = {0, 1, . . . , J , J + 1} t, τ ∈ T Perioden T = {0, 1, . . . , T } r ∈ R Erneuerbare Ressourcen R = {1, . . . , R} Pj ⊆ J Menge der Vorgänger des AG j Parameter dj Dauer von AG j in ZE E F Tj Frühester Endzeitpunkt von AG j L F Tj Spätester Endzeitpunkt von AG j k jr Ressourcenbeanspruchung von r während Ausführung von j in KE Kr Kapazität von Ressource r in KE zr Zusatzkapazitätslimit von Ressource r in KE κr Kostensatz pro KE an Zusatzkapazität von Ressource r ut Erlös in GE bei Beendigung von Projekt in Periode t Entscheidungsvariablen 1, falls AG j in Periode t beendet wird x jt 0, andernfalls zr t
Anzahl Zusatzkapazitätseinheiten von Ressource r in Periode t
Entscheidungsvariablen zr t ∈ {0, . . . , z r } repräsentiert die Anzahl der verwendeten Einheiten der Zusatzkapazität für jede Ressource r und Periode t. Die Belegung dieser Variable lässt sich aus x jt ableiten, da die Startzeitpunkte der AG zusammen mit deren Verbräuchen und den Ressourcenkapazitäten die genutzten Zusatzkapazitätseinheiten bestimmen. Die Ganzzahligkeit von zr t muss nicht explizit gefordert werden, da diese aufgrund der diskreten Ressourcenverbräuche in Kombination mit der Zielstellung, die Kosten für Zusatzkapazität zu minimieren, durch die Optimierung sichergestellt wird. Modell RCPSP-ROC
L F T J +1
max F =
t=E F T J +1
u t · x J +1,t −
r ∈R t ∈T
κr · zr t
(3.1)
3.2 Strukturelle Eigenschaften des RCPSP-ROC
73
u. B. d. R. L FTj
x jt = 1
j ∈ J
(3.2)
j ∈ J ,i ∈ Pj
(3.3)
r ∈ R, t ∈ T
(3.4)
x jt ∈ {0, 1}
j ∈ J,t ∈ T
(3.5)
zr t ∈ [0, z r ]
r ∈ R, t ∈ T
(3.6)
t=E F T j L F Ti
L FTj
xit · t ≤
t=E F Ti
x jt · t − d j
t=E F T j
j −1,L F T j } J min{t+d
k jr · x jτ ≤ K r + zr t
j=1 τ =max{E F T j ,t}
Die Zielfunktion (3.1) maximiert den Deckungsbeitrag resultierend aus dem Erlös für die erzielte Projektdauer abzüglich der Kosten für die Zusatzkapazitäten, welche der Plan nutzt. Die erste Gruppe von Nebenbedingungen (3.2) stellt sicher, dass jeder AG genau einmal ausgeführt wird. Durch die nachfolgenden Restriktionen (3.3) wird erzwungen, dass die Reihenfolgebeziehungen eingehalten werden. Die anschließenden Kapazitätsrestriktionen (3.4) beschränken die von einer Ressource in einer Periode insgesamt angeforderten Kapazitätseinheiten auf das verfügbare Niveau zzgl. der genutzten Zusatzkapazität. Zusätzlich wird die primäre Variable x jt als Binärvariable deklariert (3.5) und je Ressource r die maximal genutzte Menge an Zusatzkapazität zr ,t ∈ R+ über eine obere Schranke z r limitiert (3.6).
3.2
Strukturelle Eigenschaften des RCPSP-ROC
3.2.1
Komplexitätsanalyse
Jede Instanz des ressourcenbeschränkten Projektplanungsproblems (RCPSP) lässt sich in Polynomialzeit in eine Instanz des RCPSP-ROC mit gleichem Lösungsraum und den gleichen optimalen Lösungen transformieren. Hierzu wird die obere Schranke für Zusatzkapazität für jede Ressource auf 0 gesetzt (d. h. z r = 0, ∀ r ) und die Kostensätze κr für Zusatzkapazität beliebig gewählt. Die Erlösfunktion wird auf eine streng monoton fallende Funktion gesetzt (d. h. u t > u t+1 , ∀ t).
74
3
Formale Modellierung des ressourcenbeschränkten …
Wird als Erlösfunktion insbesondere u t = −t verwendet, dann sind sogar die GüteBewertungen für identische Lösungen abgesehen vom Vorzeichen äquivalent zum RCPSP. Wenn die Parameter derart gewählt werden, muss nicht mehr entschieden werden, ob Zusatzkapazität genutzt wird. Folglich fällt auch das Ziel weg, die Kosten für Zusatzkapazität zu minimieren. Daraufhin besteht das Problem lediglich darin, einen reihenfolge- und ressourcenzulässigen Plan mit kürzester Dauer zu finden. Dies entspricht dem klassischen RCPSP. Daher ist das RCPSP ein Spezialfall des RCPSP-ROC und das RCPSP-ROC verallgemeinert im Umkehrschluss das RCPSP. Das RCPSP selbst ist N P -schwer.11 Dies impliziert in Kombination mit der beschriebenen effizienten Polynomialzeit-Transformation einer Instanz des RCPSP in eine RCPSP-ROC-Instanz, dass das RCPSP-ROC, welches das RCPSP generalisiert, ebenfalls N P -schwer ist. Grundsätzlich kann die exakte Lösung praxisrelevanter Probleminstanzen auch im Falle eines N P -Schweren Problems in annehmbarer Zeit möglich sein, wenn die Größe der Instanzen hinreichend beschränkt und ein geeignetes Lösungsverfahren verfügbar ist. Speziell beim RCPSP zeigen die numerischen Ergebnisse aus der Literatur jedoch, dass es bereits Instanzen mit lediglich 60 AG gibt, welche bis heute nicht optimal gelöst worden sind.12 Das gleiche Verhalten kann bei Instanzen des RCPSP-ROC beobachtet werden. Die Anzahl der AG allein muss nicht ausschlaggebend für die Schwierigkeit einer Instanz sein. Aussagekräftiger für die Schwierigkeit, die optimale Lösung einer Instanz zu bestimmen, kann ihre Struktur sein. Sowohl das Verhältnis von Reihenfolgebeziehungen zur Projektgröße als auch das Ausmaß an Ressourcenkonflikten zwischen den AG hat einen großen Einfluss auf die Schwierigkeit, eine optimale Lösung für eine Instanz zu ermitteln. Um auch für Projekte mit vielen AG und einer hohen inhärenten Schwierigkeit innerhalb eines annehmbaren Zeitraums gute Lösungen produzieren zu können, werden im weiteren Verlauf der Arbeit in zwei Schritten in Kapitel 4 und Kapitel 5 heuristische Lösungsverfahren für das RCPSP-ROC entwickelt und vorgestellt.
11 Vgl.
Blazewicz et al. (1983). die unteren und oberen Schranken für Projekte mit 60 nicht-fiktiven AG der PSPLIB in Kolisch und Sprecher (2019). Beispielsweise die Instanzen j6013_1 bis j6013_10 wurden in diesen Ergebnissen noch nicht bewiesen optimal gelöst. 12 Vgl.
3.2 Strukturelle Eigenschaften des RCPSP-ROC
3.2.2
75
Dekomposition der Problemstellung in Teilprobleme
Nachfolgend werden zwei Möglichkeiten vorgestellt, welche das RCPSP-ROC lösen, indem sie eine Instanz in eine Reihe von Instanzen einer weniger generischen Problemstellung aus der Literatur zerlegen. Dabei werden nicht mehr simultan die Projektdauer und die Kosten für Zusatzkapazität minimiert, sondern nur eines der beiden Ziele für eine fixierte Ausprägung des anderen Ziels optimiert. In beiden Fällen zerfällt das Ausgangsproblem in Teilprobleme, welche mit etablierten Methoden aus der Fachliteratur gelöst werden können. Jedoch ist die Anzahl der resultierenden Teilprobleme und deren Komplexität bereits hoch. Abbildung 3.2 Dauerund Kostenminimierung
Abbildung 3.2 veranschaulicht, dass beide Ziele des RCPSP-ROC simultan minimiert werden. Die Pfeile von oben visualisieren die Minimierung der Kosten für die Zusatzkapazität und die Pfeile von rechts veranschaulichen die Projektdauerminimierung und die damit einhergehende Erlösmaximierung. Die gestrichelte horizontale Linie repräsentiert die kostenfrei verfügbare Normalkapazität. Die erste Strategie ist die Zerlegung in ressourcenbeschränkte Projektplanungsprobleme für Ressourcenprofile. Die Grundidee dieser Dekompositionsstrategie besteht darin, alle möglichen Ressourcenprofile zu untersuchen und jeweils das korrespondierende RCPSP mit zeitvarianten Ressourcenbeanspruchungen und Kapazitäten (engl. Resource-Constrained Project Scheduling Problem with TimeVariant Resource Requirements and Capacities, RCPSP/t)13 zu lösen. Die betrachteten RCPSP/t-Teilprobleme weisen exogene zeitvariante Kapazitäten auf, jedoch werden die Ressourcenverbräuche in den Teilproblemen als im Zeitverlauf konstant angenommen. Das klassische RCPSP mit zeitinvarianten Kapazitäten, gekennzeichnet als P S| pr ec|Cmax in der gängigen Kurznotation von Brucker et al. (1999), ist ein 13 Vgl.
Hartmann (2015).
76
3
Formale Modellierung des ressourcenbeschränkten …
Spezialfall dieser Problemstellung und selbst bereits N P -schwer.14 Daher sind die erzeugten Teilprobleme vom Typ RCPSP/t offenbar N P -schwer und somit ist auch das RCPSP-ROC selbst N P -schwer. Für alle praktischen Belange ist im Allgemeinen folglich die bewiesen optimale Lösung beliebig großer Instanzen in annehmbarer Zeit nicht realisierbar. Zudem kann es je nach Ausprägung der oberen Schranken für die Zusatzkapazitäten sehr viele verschiedene mögliche Ressourcenprofile für eine Instanz geben. Abbildung 3.3 Dauerminimierung für festes Ressourcenprofil
Für jede Instanz des RCPSP-ROC kann ein Ressourcenprofil identifiziert werden, sodass der optimale Plan für das zugehörige RCPSP/t-Subproblem auch eine optimale Lösung für die RCPSP-ROC-Instanz ist. Folglich lässt sich jedes RCPSP-ROC über die Lösung eines RCPSP/t für jedes zulässige Ressourcenprofil K r t ∈ {K r , . . . , K r + z r }, ∀ r ∈ R ∀ t ∈ T lösen, indem die beste Lösung für das Ausgangsproblem ausgewählt wird. Dieser Ansatz wird konzeptionell in Abbildung 3.3 dargestellt. Die Pfeile von rechts verdeutlichen das Ziel, die Projektdauer zu minimieren, und die obere im Zeitverlauf schwankende Rechteckfunktion illustriert die über ein zeitabhängiges Ressourcenprofil begrenzte Kapazität. Die betrachteten Ressourcenprofile lassen sich nicht trivial einschränken. Zudem können mehrere Profile auf den gleichen oder zumindest einen gleichwertigen und optimalen Plan führen, da im Plan die oberen Schranken für die Kapazitätsinanspruchnahmen nicht unbedingt vollständig ausgeschöpft werden müssen. Die zweite Strategie ist die Zerlegung in Ressourcennivellierungsprobleme für Fertigstellungstermine. Eine Instanz des RCPSP-ROC wird in mehrere Instanzen des Ressourcenüberladungsproblems (ROP),15 welche sich anhand ihrer Fristen 14 Vgl.
Blazewicz et al. (1983). Abschnitt 2.2.2 auf S. 15.
15 Siehe
3.2 Strukturelle Eigenschaften des RCPSP-ROC
77
für das Projektende unterscheiden, zerlegt. Aufgabe für jede Instanz des Ressourcenüberladungsproblems ist es, einen kostenminimalen Plan zu finden, welcher die betrachtete Frist und die Reihenfolgebeziehungen einhält. Die früheste zulässige Frist für das Projektende ist die Dauer T des kürzesten Plans für das äquivalente RCPSP, bei welchem die reguläre Normalkapazität auf die Gesamtkapazität K r = K r + z r aus Normal- und Zusatzkapazität des RCPSP-ROC für alle Ressourcen gesetzt wird. Eine obere Schranke für die Dauer eines optimalen Plans ist die Dauer T des kürzesten Plans für das äquivalente RCPSP, bei welchem die reguläre Normalkapazität auf die ursprüngliche Normalkapazität K r = K r des RCPSP-ROC ohne jegliche Zusatzkapazität festgelegt wird. Abbildung 3.4 Kostenminimierung für festen Fertigstellungstermin
Der Ansatz, die Kosten für einen gegebenen Termin für das Projektende zu minimieren, wird konzeptionell in Abbildung 3.4 dargestellt. Die Pfeile von oben verdeutlichen das Ziel, die Kosten zu minimieren, und die am rechten Rand des Diagramms positionierte vertikale Linie veranschaulicht, dass das Projektende zeitlich vor der Frist d erfolgen muss. Indem ein kostenminimaler Plan für jede erreichbare Frist im Intervall von T bis T bestimmt wird und somit mehrere Ressourcenüberladungsprobleme gelöst werden, kann das RCPSP-ROC exakt gelöst werden. Analog zur Dekomposition in mehrere RCPSP/t ist der Plan mit dem höchsten Gewinn aus der Menge der resultierenden Pläne eine optimale Lösung für das Ausgangsproblem. Für das Ressourcenüberladungsproblem gibt es in der Literatur eine Reihe von Modellen und Lösungsansätzen, welche zur Lösung der Teilprobleme genutzt werden können.16
16 Vgl.
u. a. Schwindt (2005).
78
3
Formale Modellierung des ressourcenbeschränkten …
Ebenso wie das RCPSP gehört auch das Ressourcenüberladungsproblem17 zu den N P -Schweren Problemen.18 Die Teilprobleme in beiden soeben vorgestellten Dekompositionsstrategien sind N P -schwer. Dementsprechend ist es naheliegend zu vermuten, dass Instanzen mit praxisnaher Größe nicht in annehmbarer Zeit exakt gelöst werden können. Die Menge der betrachteten Ressourcenprofile bzw. Fristen für das Projektende kann nicht trivial reduziert werden, da weder der Ressourcenbedarf noch die Dauer des optimalen Plans aus den Projektdaten direkt ableitbar ist. Selbst wenn es hierfür einen guten Ansatz gäbe, wäre jedoch der benötigte Zeitbedarf, um die verbleibenden N P -Schweren Teilprobleme zu lösen, immer noch zu hoch. Daher werden nachfolgend keine exakten, sondern heuristische Lösungsansätze für die Teilprobleme und das Ausgangsproblem entworfen.
3.2.3
Merkmale unterschiedlicher Mengen relevanter Pläne
Um die Entwicklung guter Heuristiken für beliebige Problemstellungen vorzubereiten, sollten die strukturellen Eigenschaften des Lösungsraums sowie insbesondere auch Kennzeichen guter und optimaler Lösungen analysiert werden. Für Projektplanungsprobleme wurde der Begriff „charakteristische Punkte“ vorgeschlagen.19 Die Menge der charakteristischen Punkte einer spezifischen Ablaufplanungsproblemstellung stellt eine Menge zulässiger Pläne dar, für welche garantiert ist, dass sie mindestens einen optimalen Plan für das Problem enthalten.20 Abbildung 3.5 zeigt ein kleines Beispielprojekt mit Vorgangsknotendigraph in Abbildung 3.5a und zugehörige zulässige Pläne in Abbildungen 3.5c, 3.5e, 3.5g, 3.5h. Das Projekt kann dahingehend modifiziert werden, dass nach jeder Periode eine Präemption der AG erlaubt wird, indem die AG in kleinere Arbeitsschritte aufgeteilt werden. Die Abbildungen 3.5b, 3.5d und 3.5f zeigen den Vorrangsgraphen bzw. zulässige Pläne für die abgewandelte Fassung des Beispielprojekts. Jeder nichtfiktive AG dieses Projekts hat eine Dauer von 1 ZE. Die in der Literatur vorgestellten Mengen21 charakteristischer Punkte für verschiedene Zielfunktionen bilden eine Hierarchie über ihre Teilmengenbeziehun17 Vgl.
Neumann und Zimmermann (1999), S. 594. Neumann et al. (2003), S. 242. 19 Vgl. Schwindt (2005). 20 Vgl. Neumann et al. (2000). 21 Siehe Sprecher et al. (1995), Neumann et al. (2000), Zimmermann (2001) und Schwindt (2005). 18 Vgl.
3.2 Strukturelle Eigenschaften des RCPSP-ROC
79
Abbildung 3.5 Beispielprojekt zur Veranschaulichung der Planmengen
gen.22 Die Kette echter Teilmengenbeziehungen verläuft durch die Menge der verzögerungsfreien, aktiven, quasiaktiven und quasistabilen Pläne in der Reihenfolge der Aufzählung. Entsprechend sind die verzögerungsfreien Pläne als kleinste Menge in allen weiteren genannten Planmengen enthalten und die quasistabilen Pläne die umfassendste Menge von Plänen. Die Pläne aus Abbildungen 3.5c, 3.5e, 3.5b, 3.5h sind jeweils in einer der vier Planmengen enthalten, jedoch stets nicht in der nächstkleineren Menge. Der Plan B z. B. ist aktiv aber nicht verzögerungsfrei. Als verzögerungsfreie Pläne N DS (engl. non-delay schedule) wird eine Menge von Ablaufplänen bezeichnet, welche eine (in der Regel echte d. h. strikt kleinere) Teilmenge der aktiven Pläne darstellt.23 Typischerweise gibt es für eine Projektinstanz aktive Pläne, welche nicht zur Menge der verzögerungsfreien Pläne gehören. Ein Plan gilt genau dann als verzögerungsfrei, wenn keine lokale oder globale Linksverschiebung in diesem Plan existiert, selbst wenn die Bearbeitung der AG 22 Vgl. 23 Vgl.
Neumann et al. (2003). Brucker und Knust (2012).
80
3
Formale Modellierung des ressourcenbeschränkten …
nach jeder Periode unterbrochen werden darf.24 Wenn ein AG unterbrochen wird, bevor dieser fertig ausgeführt worden ist, wird dies als Präemption bezeichnet. Ein unterbrochener AG wird erst beendet, nachdem er fortgesetzt und über seine vollständige Bearbeitungszeit durchgeführt worden ist. Um zu prüfen, ob ein Plan verzögerungsfrei ist, wird also Präemption nach jeder Periode erlaubt. Eine lokale Linksverschiebung ist eine Abfolge von einperiodigen Linksverschiebungen eines AG, welche stets zulässige Zwischenpläne enthält. D. h. die Linksverschiebung wird umgesetzt, indem der Startzeitpunkt mehrfach dekrementiert wird und in jedem Schritt die Ressourcenzulässigkeit des entstehenden Plans geprüft wird. In anderen Worten gilt ein aktiver Plan nur dann auch als verzögerungsfrei, wenn ebenfalls ein aktiver Plan resultiert, nachdem alle AG j in d j AG mit Dauer von jeweils einer Periode zerlegt worden sind. Der kürzeste und damit optimale Ablaufplan A in Abbildung 3.5c ist verzögerungsfrei, da im dazugehörigen Einheitsdauernplan in Abbildung 3.5d keine globale Linksverschiebung existiert. Zudem ist der Plan A aktiv. Im Beispielprojekt aus Abbildung 2.1 auf S. 8 ist der dargestellte optimale Plan verzögerungsfrei.
Abbildung 3.6 Projekt ohne optimalen verzögerungsfreien Plan
Es gibt Instanzen des RCPSP, für die keine der optimalen Lösungen verzögerungsfrei ist, d. h. die Menge der optimalen Pläne kann disjunkt zur Menge der verzögerungsfreien Pläne sein.25 Daher wird basierend auf dem deutlich kleineren Beispielprojekt aus Abbildung 3.5 auf S. 79 ein geringfügig vergrößertes Projekt 24 Vgl. 25 Vgl.
Abbildung 3.5b auf S. 79 für das Beispielprojekt aus Abbildung 3.5a auf S. 79. Sprecher et al. (1995), S. 99.
3.2 Strukturelle Eigenschaften des RCPSP-ROC
81
mit 6 Arbeitsschritten vorgestellt, dessen einziger optimaler Ablaufplan nicht verzögerungsfrei ist und folglich lediglich in der Differenzmenge der aktiven Pläne zu den verzögerungsfreien Plänen eine optimale Lösung für diese Instanz enthalten ist. Das Projekt und der zugehörige optimale Plan sowie die Variante mit Aktivitäten mit einer Dauer von einer Periode26 werden in Abbildung 3.6 dargestellt. Für das Projekt mit einer einzigen Ressource mit Kapazität K 1 = 2 und dem Vorgangsknotendigraphen aus Abbildung 3.6a besitzt der einzige optimale Plan in Abbildung 3.6c eine Dauer von 4 ZE. Der zum Einheitsdauernprojekt in Abbildung 3.6b gehörige optimale Plan in Abbildung 3.6e zeigt, dass im ursprünglichen Plan in Abbildung 3.6d eine lokale Linksverschiebung enthalten ist und der Ausgangsplan daher nicht verzögerungsfrei ist. Ein Ablaufplan wird genau dann als aktiver Plan bezeichnet, wenn kein AG im Plan früher begonnen werden kann, ohne einen anderen AG dafür verzögern zu müssen, d. h. es gibt keine globale Linksverschiebung im Plan.27 Eine globale Linksverschiebung ist eine Abfolge von einperiodigen28 inkrementelle Linksverschiebungen eines AG, welche lediglich nach der letzten Linksverschiebung einen hinsichtlich der Ressourcenkapazitäten zulässigen Plan erzeugen muss. Die nach vorherigen Linksverschiebungen entstehenden Zwischenpläne dürfen kapazitätsmäßig unzulässig sein. In stetiger Zeit werden diskrete Perioden betrachtet, da aufgrund der ganzzahligen Dauern der AG ein kürzester Plan stets ganzzahlige Startzeitpunkte für alle AG aufweisen wird. Eine einperiodige Linksverschiebung eines AG j verschiebt dessen Beginn auf den nächsten früheren Zeitpunkt. Formal wird nur für den betroffenen AG j der Startzeitpunkt aktualisiert S j = S j −1 und die Startzeitpunkte für andere AG i bleiben unverändert Si = Si , ∀ i = j. Der Ablaufplan B in Abbildung 3.5e auf S. 79 ist zwar aktiv, da er keine globale Linksverschiebung enthält. Er ist jedoch nicht verzögerungsfrei, da eine globale Linksverschiebung im zugehörigen Einheitsdauernplan in Abbildung 3.5f möglich ist. Der erste Teil des AG 3, als 3A bezeichnet, kann in die erste Periode verschoben werden. Es sei darauf hingewiesen, dass sich die Definition der verzögerungsfreien Pläne von der umgangssprachlichen Bedeutung des Begriffs „verzögerungsfrei“ unterscheidet. Ablaufplan B ist bspw. frei von Verzögerungen im Sinne einer lokalen 26 Es
wird also eine Präemption nach jeder Periode erlaubt.
27 Anders als bei verzögerungsfreien Plänen kann in einem aktiven Plan durchaus eine globale
Linksverschiebungen mit Präemption vorhanden sein. 28 Die „atomaren“ Verschiebungen sind diskretisiert auf die ganzzahligen Zeitpunkte zum Ende einer Periode, da die Dauer d j eines AG j als ganzzahlig angenommen wird, d. h. d j ∈ N0 . Daher fallen die Start- und Endzeitpunkte eines linksbündig ausgerichteten Plans stets auf ganzzahlige Zeitpunkte.
82
3
Formale Modellierung des ressourcenbeschränkten …
Linksverschiebung. Der Plan B ist jedoch nicht „verzögerungsfrei“ im Sinne der Definition der Planmenge. Die Menge der aktiven Pläne AS stellt die charakteristischen Punkte für Ablaufplanungsprobleme mit regulären Zielfunktionen dar. Die Zielfunktion eines Projektplanungsproblems wird genau dann als regulär bezeichnet, wenn der Zielfunktionswert monoton wachsend in den Startzeitpunkten der AG ist.29 Ein typisches Beispiel hierfür ist die Zielstellung im klassischen RCPSP, welche die Projektdauer minimiert. Für jedes Projekt ist mindestens eine optimale Lösung aktiv, d. h. die Schnittmenge der aktiven und optimalen Pläne ist stets nichtleer. Folglich kann das Komplement der aktiven Pläne, also die Menge aller nicht-aktiven Pläne, ignoriert werden, wenn nach einer optimalen Lösung für ein Problem mit regulärer Zielfunktion gesucht wird. Diese Tatsache wird von vielen Algorithmen zur Lösung des RCPSP ausgenutzt, um den Rechenaufwand zu begrenzen. Es ist leider nicht möglich, die Menge der aktiven Pläne als charakteristische Punkte für das RCPSP-ROC zu verwenden. Das RCPSP-ROC besitzt eine Zielfunktion, welche sowohl einen regulären (Projektdauerminimierung) als auch einen nicht-regulären Term (Kostenminimierung) kombiniert. Lediglich aktive Pläne zu berücksichtigen, wenn Ablaufplanungsprobleme mit einer gemischten Zielfunktion gelöst werden, ist generell nicht ausreichend, da der Zielfunktionswert wegen des nicht-regulären Terms potenziell verbessert werden kann, falls AG verzögert werden.30 Tabelle 3.3 Zahlungsbereitschaft des Kundentyps I in Abhängigkeit von der erzielten Projektdauer Projektdauer Kundentyp I
11 0
Es gibt Instanzen des RCPSP-ROC, deren optimale Pläne ausnahmslos nicht aktiv sind. Um dies zu illustrieren, wird das Beispiel des Kundentypen I aus Abschnitt 2.2.3.2 auf S. 21 nochmals aufgegriffen. Es wird wiederum das Beispielprojekt aus Abbildung 2.6 auf S. 17 betrachtet. Der für Kundentyp I einzige optimale Plan sowie die Erlösfunktion des Kunden wird an dieser Stelle in Abbildung 3.7 respektive Tabelle 3.3 wiederholt dargestellt. Die Gruppe der AG 1, 3 und 5 muss hintereinander ausgeführt werden. Gleiches gilt für die Gruppe der AG 2 und 4. Der 29 Vgl. 30 Vgl.
Brucker und Knust (2012), S. 12. Ballestin und Blanco (2015), S. 418.
3.2 Strukturelle Eigenschaften des RCPSP-ROC
83
Abbildung 3.7 Optimaler Plan für Kundentyp I mit gemäßigter Nutzung von Zusatzkapazität
optimale Plan ist nicht aktiv, da AG 2 zum Zeitpunkt 0 bereits starten könnte und der gezeigte Plan folglich eine (zulässige) globale Linksverschiebung enthält. Weil alle anderen (u. U. aktiven) Pläne aufgrund höherer Dauer und damit geringerer Erlöse sowie aufgrund höherer Kosten einen insgesamt niedrigeren Gewinn aufweisen, ist für diese Instanz kein aktiver Plan optimal. Deshalb sind die aktiven Pläne nicht als charakteristische Punkte für das RCPSP-ROC geeignet. Bei Problemen, in welchen die Auslastungsspitzen oder (positive) Abweichungen der Ressourcennutzung von bestimmten Schwellenwerten minimiert werden, enthält die Menge der quasiaktiven Pläne QAS bzw. quasistabilen Pläne QSS die relevanten Ablaufpläne. Ein Plan wird genau dann quasiaktiv genannt, wenn es keine ordnungserhaltene Linksverschiebung gibt. Durch die zeitliche Anordnung der Start- und Endzeitpunkte der AG induziert ein Plan eine Ordnung, welche die Vorrangsbeziehungen im Projekt erweitern. Ein Ablaufplan S induziert eine Reihenfolgebeziehung zwischen zwei AG i und j, falls im Plan Si + di ≤ S j gilt.31 Der Plan C ergänzt den Vorgangsknotendigraphen aus Abbildung 3.5a auf S. 79 um die Kanten (3, 1) und (3, 2). Eine Verschiebung gilt genau dann als ordnungserhaltend, wenn die durch die Startzeiten der AG in einem Plan induzierten zusätzlichen Reihenfolgebeziehungen durch die Verschiebung erhalten bleiben. Dabei ist es erlaubt, zusätzliche Reihenfolgen hinzuzufügen. Eine Verschiebung ist nicht mehr ordnungserhaltend, wenn sie Reihenfolgebeziehungen entfallen lässt. Der Plan C in Abbildung 3.5g ist quasiaktiv. Es gibt keine ordnungserhaltende Linksverschiebung in diesem Plan. Zwar könnte AG 1 in Plan C in die erste Periode verschoben werden. Dadurch würde jedoch die durch Plan C induzierte Ordnung (3, 1) aufgehoben werden. Dies verletzt die Ordnungserhaltung. Der Plan C ist jedoch nicht aktiv, da er eine globale Linksverschiebung von AG 1 in die erste Periode erhält. Entsprechend ist Plan C auch nicht verzögerungsfrei. 31 Vgl.
Zimmermann et al. (2006), S. 141.
84
3
Formale Modellierung des ressourcenbeschränkten …
Ein Plan wird genau dann quasistabil genannt, wenn es kein Paar von entgegengesetzten ordnungserhaltenden Links- und Rechtsverschiebungen gibt.32 Der Plan D in Abbildung 3.5h auf S. 79 ist quasistabil, da er kein Paar von entgegengesetzten ordnungserhaltenden Verschiebungen enthält. Tatsächlich ist Plan D sogar stabil, da er kein Paar von entgegengesetzten globalen Verschiebungen enthält.
Abbildung 3.8 Beispielinstanz mit optimalen Plänen außerhalb der quasistabilen Pläne
Es kann gezeigt werden, dass die Menge der quasiaktiven und quasistabilen Pläne keine geeigneten Suchräume für eine optimale Lösung des RCPSP-ROC sind. Es gibt Instanzen, deren optimale Lösungen für dieses Problem alle nicht verzögerungsfrei, aktiv, quasiaktiv oder quasistabil sind. Abbildung 3.8 zeigt beispielhaft eine derartige Instanz. Die Instanz besteht nur aus zwei nicht-fiktiven AG, welche aufgrund des Vorgangsknotennetzes aus Abbildung 3.8a gleichzeitig durchgeführt werden dürfen. Beide AG haben eine Dauer von 2 ZE. Der Kostenfaktor für eine KE GE an Zusatzkapazität liegt bei κ = 21 KE . Die Erlösfunktion lässt sich Abbildung 3.8b entnehmen. Alle zulässigen Pläne ausgehend vom Earliest Start Schedule bis zum rein sequentiellen Plan33 werden in den Abbildungen 3.8c, 3.8d und 3.8e dargestellt. 32 Vgl. 33 Vgl.
Neumann et al. (2003). die Erläuterung zum sequentiellen Plan in Abschnitt 3.1.1 auf S. 67.
3.2 Strukturelle Eigenschaften des RCPSP-ROC
85
Im Text wird ein Plan S für das Projekt als S = (S1 , S2 ) notiert. Die Koordinate S j repräsentiert den Startzeitpunkt eines AG j, d. h. S1 = 3 bedeutet, dass AG 1 zum Zeitpunkt 3 startet. In Abbildung 3.8d und Abbildung 3.8e sind jeweils zwei isomorphe Pläne dargestellt, da der Plan Sa2 = (1, 2) äquivalent zum Plan Sb2 = (2, 1) 2 , aus ist bzw. Sa3 = (1, 3) und Sb3 = (3, 1) äquivalent sind. Die beiden Pläne Sa/b dem in Abbildung 3.8d abgebildeten Paar, stellen die beiden einzigen optimalen Lösungen der vorgestellten Instanz des RCPSP-ROC dar. Beide Pläne sind jedoch 2 ∈ nicht quasistabil, also Sa/b / QSS , weil für den AG mit Beginn zum Zeitpunkt 1 ein Paar von ordnungserhaltenen Links- und Rechtsverschiebungen existiert. Dieser AG kann nämlich sowohl zum Zeitpunkt 0 als auch zum Zeitpunkt 2 starten, 2 induzierte leere Ordnungsrelation veränohne dass hierdurch die durch Plan Sa/b dert wird. Die beiden in den Abbildungen 3.8c und 3.8e gezeigten quasistabilen Pläne Sa3 und Sb3 sind nicht optimal. Auch der in Abbildung 3.8c gezeigte aktive und quasistabile Plan weist einen suboptimalen Gewinn auf. Weil folglich die Menge der quasistabilen Pläne nicht in jedem Fall eine optimale Lösung enthält, wäre die Definition einer neuen Menge von charakteristischen Punkten für das RCPSP-ROC als strikte Obermenge der quasistabilen Pläne erstrebenswert, um eine theoretische Basis für die Entwicklung exakter Verfahren zu schaffen.
3.2.4
Fiktive Fallstudie zum Einfluss der Instanzeigenschaften auf optimale Ablaufpläne
Nachfolgend wird untersucht, in welcher Form die Struktur einer optimalen Lösung davon beeinflusst wird, wie die Parameter einer Instanz konkret ausgeprägt sind. Dabei wird ceteris paribus immer nur ein einziger Parameter variiert und es werden die übrigen Parameter fixiert, um den isolierten Einfluss der betrachteten Stellgröße messbar zu machen. Als Grundlage für diese numerische Fallstudie wird eine fiktive Testinstanz aus der Literatur genutzt,34 welche in Abbildung 3.9 und Tabelle 3.4 vorgestellt wird. Die Kapazität aller drei erneuerbaren Ressourcen dieses Projekts beträgt 4 KE, formal gilt also K r = 4, ∀ r ∈ {1, 2, 3} =: R. In der Kurznotation von Brucker et al. (1999) lässt sich das vorliegende Projekt als P S4, 4, 4| pr ec|Cmax charakterisieren, da es sich um ein Projektplanungsproblem handelt (PS), die drei erneuerbaren Ressourcen jeweils eine Kapazität von 4, 4 und 4 haben (4,4,4), einfache Ende-Start-Mindestabstände vorliegen (prec) und als Zielstellung die Projektdauer minimiert wird (Cmax ), also der maximale Beendigungszeitpunkt C j (engl. completion) über alle AG minimiert wird. 34 Siehe
Mingozzi et al. (1998), S. 715.
86
3
Formale Modellierung des ressourcenbeschränkten …
Abbildung 3.9 Vorgangsknotendigraph des fiktiven Beispielprojekts
Tabelle 3.4 Dauern und Ressourcenbedarfe der AG des fiktiven Beispielprojekts AG j Dauer d j Bedarf k j1 Bedarf k j2 Bedarf k j3
0 0 0 0 0
1 3 2 2 2
2 3 3 1 1
3 1 1 0 1
4 1 2 2 2
5 2 4 0 1
6 3 1 2 2
7 2 3 2 0
8 1 1 1 0
9 3 2 2 3
10 0 0 0 0
Wird die Instanz als klassisches RCPSP betrachtet, beträgt die Dauer der optimalen Pläne 13 ZE, siehe Abbildung 3.12 auf S. 89. Das Projekt lässt sich zu einer Probleminstanz für das RCPSP-ROC ergänzen, indem weitere Angaben hinzugenommen werden. Dafür müssen die Ausprägungen der zusätzlichen exogenen Größen z r , κr und u t definiert werden. Der Kostensatz pro Einheit der Zusatzkapazität wird für alle Ressourcen auf eine halbe GE gesetzt, d. h. κr = 0,5 GE KE , ∀ r ∈ R. Zusätzlich wird die obere Schranke für die Zusatzkapazität, welche im Plan genutzt wird, auf die Hälfte der regulären Normalkapazität gesetzt, d. h. z r = 2, ∀ r ∈ R. In diesem Abschnitt werden drei verschiedene Erlösfunktionen u 1t , u 2t und u 3t miteinander verglichen. Die Dauer des in Abbildung 3.10 dargestellten Earliest Start Schedule für dieses Projekt beträgt 8 ZE. Wenn die oberen Schranken z r für Zusatzkapazität auf z r = (3, 1, 2) KE hinreichend erhöht werden, dann würde dieser Plan insgesamt Zusatzkapazität in Höhe von 16 KE der Ressource 1, 3 KE von Ressource 2 und 6 KE von Ressource 3 benötigen. Der Plan ruft folglich Kosten in Höhe von 12,5 GE hervor. Die Gesamtdauer des kürzesten Ablaufplans mit beliebiger zulässiger genutzter Zusatzkapazität (unterhalb von z r = (2, 2, 2) KE) beträgt ebenfalls 8 ZE, siehe Abbildung 3.11 auf S. 88. Folglich können im Earliest Start Schedule einzelne AG
3.2 Strukturelle Eigenschaften des RCPSP-ROC
87
Abbildung 3.10 Der Earliest Start Schedule für die fiktive Fallstudie
derart verzögert werden, dass erstens der resultierende Ablaufplan zulässig bzgl. der Kapazitätsrestriktionen ist und zweitens der Plan keine gesteigerte Gesamtdauer im Vergleich zum Earliest Start Schedule besitzt. Dies entspricht einer optimalen Lösung der äquivalenten Instanz des RCPSP mit K r = K r +z r = 4+2 = 6, ∀ r ∈ R. Der Plan ist in Abbildung 3.11 für drei Ressourcen (Abbildungen 3.11a, 3.11b und 3.11c) dargestellt. Der kürzeste Plan, welcher keine Zusatzkapazität nutzt, analog zur Dauer des zugehörigen RCPSP (bzw. indem z r = 0, ∀ r ∈ R gesetzt wird) weist eine Länge von 13 ZE auf. In Abbildung 3.12 auf S. 89 ist ein optimaler Ablaufplan, welcher
88
3
Formale Modellierung des ressourcenbeschränkten …
Abbildung 3.11 Ein kürzester Ablaufplan mit Zusatzkapazitätsnutzung für die fiktive Fallstudie
keine Zusatzkapazität beansprucht, für die vorgestellte Testinstanz jeweils für alle drei Ressourcen (Abbildungen 3.12a, 3.12b und 3.12c) dargestellt. Für jede diskrete Projektdauer zwischen 8 und 13 ZE kann der Plan mit minimalen Zusatzkapazitätskosten bestimmt werden, indem ein äquivalentes Ressourcenüberladungsproblems gelöst wird, da alle AG eine diskrete Dauer aufweisen und kürzestmögliche Pläne gesucht werden. Daher reicht es aus, lediglich die diskreten Zeitpunkte zu betrachten. Die entsprechenden Kosten wurden in Abbildung 3.13 auf S. 89 dargestellt. Es ist erkennbar, dass die Kosten zunächst sehr stark verringert werden können, wenn die Projektdauer von 8 bis 10 Perioden verlängert wird. Die Kosten können nur vergleichsweise geringfügig reduziert werden, indem das
3.2 Strukturelle Eigenschaften des RCPSP-ROC
89
Abbildung 3.12 Ein kürzester Ablaufplan ohne Zusatzkapazitätsnutzung für die fiktive Fallstudie Abbildung 3.13 Verlauf der Kosten für benötigte Zusatzkapazitätsnutzung zur Erreichung eines Fertigstellungstermins für das fiktive Beispielprojekt
Projekt später zu Zeitpunkten zwischen 10 und 13 fertiggestellt wird. Die Kosten, welche anfallen, um das Projekt zu beschleunigen, steigen bei sinkender Projektdauer stärker als linear an. Ein ähnlicher Verlauf ist typisch für ein ressourcenbeschränktes Projektplanungsproblem, da die Anzahl der überlappenden AG mehr als linear ansteigt, wenn die Projektlaufzeit verkürzt wird. Die Dauer des Projekts
90
3
Formale Modellierung des ressourcenbeschränkten …
Abbildung 3.14 Ablaufplan mit geringster Zusatzkapazitätsnutzung und Dauer des Earliest Start Schedule für die fiktive Fallstudie
kann stets bis zur Dauer des Earliest Start Schedules verkürzt werden, ohne die Reihenfolgebeziehungen zu verletzen. Zudem lassen sich die Kosten für Zusatzkapazität im Vergleich zum Earliest Start Schedule von 12,5 GE auf 6,5 GE senken, indem einzelne AG verzögert werden, ohne die Gesamtdauer zu erhöhen. Der entsprechend günstigste Plan mit gleicher Dauer wie der Earliest Start Schedule wird in Abbildung 3.14 auf S. 90 dargestellt. Der gezeigte Plan benötigt insgesamt Zusatzkapazität in Höhe von 10 KE der Ressource 1, 1 KE von Ressource 2 und 2 KE von Ressource 3. Der Plan ruft folglich Kosten in Höhe von 6,5 GE hervor.
3.2 Strukturelle Eigenschaften des RCPSP-ROC
91
Abbildung 3.15 Verlauf von Erlös, Kosten und Deckungsbeitrag bei erster Erlösfunktion u 1t für das fiktive Beispielprojekt
Die minimal notwendigen Kosten für Zusatzkapazität, um eine Frist für die Projektdauer zu erreichen, sind im Allgemeinen monoton fallend in dieser Frist. Die Kosten in diesem Beispiel sind sogar streng monoton fallend und weisen abnehmende Rückgänge auf. Dies entspricht strukturell dem angenommenen Verlauf der Kosten aus Abbildung 2.8 auf S. 21. Nachfolgend werden drei unterschiedliche Erlösfunktionen miteinander verglichen. Die erste evaluierte und in Abbildung 3.15 auf S. 91 dargestellte Erlösfunktion u 1t weist einen über den Planungshorizont hinweg konstanten Wert von 10,5 GE auf. Eine konstante Funktion ist zwar nicht streng monoton fallend aber zumindest monoton fallend, da u 1t ≥ u 1t+1 gilt. Der Wert 10,5 GE ist im Beispiel eine obere Schranke für die Zusatzkapazitätskosten. Die tatsächlich in einem zulässigen Plan anfallenden Kosten für Zusatzkapazität können niemals oberhalb der Kosten im Earliest Start Schedule liegen, da es aufgrund der Reihenfolgerestriktionen nicht zulässig ist, die AG frühzeitiger einzuplanen. Daher kann kein stärkeres Ausmaß, in welchem sich die AG überlappen, erreicht werden. Folglich reduziert sich die zusammengesetzte Zielfunktion aus Gleichung 3.1 auf S. 72 analog zur Situation bei Kunde III aus Abschnitt 2.2.3.2 auf S. 20 darauf, die Kosten für Zusatzkapazität zu minimieren. Zusatzkapazität ist vergleichsweise teuer, wenn diese Erlösfunktion eingesetzt wird. Der Grund hierfür ist, dass das Projekt auch mit Zusatzkapazität nicht früher fertiggestellt werden kann und die Erlöse daher nicht steigen. Kombiniert mit steigenden Kosten verringert dies die Gewinne im Optimum. Die Zielstellung der Projektdauerminimierung fällt entsprechend weg. Tatsächlich hat ein optimaler Plan mit dieser Erlösfunktion eine Dauer von 13 ZE, keine Kosten und erzeugt einen Gewinn von 10,5 GE. Eine längere Pro-
92
3
Formale Modellierung des ressourcenbeschränkten …
Abbildung 3.16 Verlauf von Erlös, Kosten und Deckungsbeitrag bei zweiter Erlösfunktion u 2t für das fiktive Beispielprojekt
Abbildung 3.17 Verlauf von Erlös, Kosten und Deckungsbeitrag bei dritter Erlösfunktion u 3t für das fiktive Beispielprojekt
jektdauer wird allein dadurch verhindert, dass keinerlei Zusatzkapazität notwendig ist, um eine Dauer von 13 ZE zu erreichen. Die zweite evaluierte Erlösfunktion ist u 2t = max{52−4·t}. Diese Erlösfunktion wird in Abbildung 3.16 auf S. 92 zusammen mit der Kosten- und Gewinnkurve dargestellt. In diesem Fall gibt es einen großen Anreiz, Zusatzkapazität einzusetzen, um das Projekt frühzeitiger fertigzustellen, da signifikant gesteigerte Erlöse erzielt werden können. Die Situation ist dann analog zu Kundentyp II aus Abschnitt 2.2.3.2 auf S. 20. Hier ist es mit Blick auf den Deckungsbeitrag bzw. den Gewinn optimal keinerlei Zusatzkapazität einzusetzen, um das Projektende vorzuziehen.
3.2 Strukturelle Eigenschaften des RCPSP-ROC
93
Die dritte für das fiktive Beispielprojekt exemplarisch verwendete Erlösfunktion u 3t = 10,5 − 10,5 (t − 8)2 ähnelt in ihrem in Abbildung 3.17 gezeigten Verlauf einer 52 umgedrehten Parabel. Wenn die Erlösfunktion u 3t verwendet wird, stellt sich ein Gleichgewicht zwischen erhöhten Kosten für die Zusatzkapazitätseinheiten, welche benötigt werden, um eine Dauer zu erreichen, und den dadurch erzielbaren höheren Erlösen ein. Daher ähnelt diese Konstellation dem Kundentyp I aus Abschnitt 2.2.3.2. Die Definition von u 3t wurde so gewählt, dass zwei Bedingungen erfüllt werden. Einerseits sollte die Funktion im Bereich einer kleineren Terminabweichung nur einen moderaten Erlösrückgang aufweisen. Andererseits sollte die marginalen Erlösrückgänge mit steigender Projektdauer immer weiter steigen, um „den mittleren Fall“ zwischen den extremen Erlösfunktionen u 1 und u 2 darzustellen. Gerade dieser Fall erscheint praktisch und theoretisch interessant und ist daher Gegenstand dieser Schrift.
4
Kompakte Lösungsrepräsentationen und zugehörige Planungserzeugungsschemata für das RCPSP-ROC
4.1
Bedeutung der Wahl einer Kodierung für die Effizienz der Lösungsverfahren
Das Ziel des folgenden Abschnitts ist es, die Grundlagen zu vermitteln, welche benötigt werden, um ein effizientes heuristisches Lösungsverfahren für das RCPSPROC zu entwerfen. Ein Lösungsverfahren durchsucht den Lösungsraum des Problems nach einer möglichst guten Lösung. Bei einer Heuristik kann nicht garantiert werden, dass eine optimale Lösung aufgefunden wird. Häufig werden Heuristiken für kombinatorische Optimierungsprobleme als lokale Verbesserungssuchen umgesetzt. Diese beginnen mit einer zulässigen Startlösung. In jedem Schritt wird die Nachbarschaft des aktuell betrachteten Lösungskandidaten nach einer besseren zulässigen Lösung durchsucht. Wenn eine bessere Lösung gefunden werden kann, wird diese als neuer Lösungskandidat übernommen. In einigen Heuristiken wird mit einer bestimmten Wahrscheinlichkeit1 auch zugelassen, dass die Kandidatenlösung sich verschlechtert, falls es in der unmittelbaren Nachbarschaft des Lösungskandidaten keine bessere Lösung enthalten ist. Um die Nachbarschaft einer Lösung zu definieren, ist die Darstellungsform der Lösung von hoher Relevanz. Ein zentrales Element heuristischer Lösungsverfahren ist die interne Repräsentation einer Lösung, welche nachfolgend als Lösungskodierung bezeichnet wird. Insbesondere im Kontext evolutionärer Algorithmen ist auch der Begriff
1 Diese
Wahrscheinlichkeit wird nach Metropolis et al. (1953) als Metropolis-Kriterium bezeichnet. © Der/die Herausgeber bzw. der/die Autor(en), exklusiv lizenziert durch Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature 2020 A. Schnabel, Heuristiken für die gewinnorientierte Planung ressourcenbeschränkter Projekte mit erweiterbaren Kapazitäten, Produktion und Logistik, https://doi.org/10.1007/978-3-658-31610-5_4
95
96
4
Kompakte Lösungsrepräsentationen und zugehörige …
„Genotyp“ für eine konkrete Ausprägung einer Lösungsrepräsentation geläufig.2 Die zu einem Genotyp korrespondierende Lösung wird als „Phänotyp“ bezeichnet. Beim Entwurf einer Lösungsmethode für ein kombinatorisches Optimierungsproblem ist die Ausgestaltung der Lösungskodierung von hoher Relevanz für die Effizienz der resultierenden Methode.3 Die Menge aller möglichen Ausprägungen des Genotyps wird als Genotyp-Raum bezeichnet. Entsprechend bezeichnet der Begriff Phänotyp-Raum die Vereinigung aller zugehörigen Phänotypen, was dem Teil des betrachteten Lösungsraums der Problemstellung entspricht. Abhängig von der gewählten Kodierung kann die Größe des von einer Lösungsprozedur zu durchsuchenden Genotyp-Raums stark variieren. Bei vielen Problemstellungen bietet es sich an, eine Lösung nicht in einer Form darzustellen, in welcher die getroffenen Entscheidungen unmittelbar aus den Werten abgeleitet werden können. Für das RCPSP wäre ein Vektor aus Startzeitpunkten der AG eine direkte Form der Lösungsrepräsentation. Der Genotyp-Raum eines derartigen Genotyps kann eine deutlich höhere Anzahl der Elemente als der Lösungsraum bzw. Phänotyp-Raum beinhalten, falls es redundante Kodierungen einer Lösung gibt oder unzulässige „Lösungen“ abbildbar sind. Eine kompakte Kodierung, welche speziell konzipiert worden ist, um in einer Heuristik genutzt zu werden, wird nachfolgend als indirekte Kodierung bezeichnet. Eine indirekte Kodierung (Genotyp) benötigt zur Rekonstruktion der Lösungswerte (Phänotyp)4 eine Dekodierungsprozedur. Die in Abschnitt 3.2.3 auf S. 78 eingeführten charakteristischen Punkte sind nützlich, um einen RCPSP-Lösungsansatz zu entwickeln. In der direkten Nachbarschaft eines charakteristischen Punkts liegt kein trivial besserer Plan.5 Es ist hilfreich, die solcherart betrachteten Pläne einzugrenzen, wenn ein Lösungsverfahren konstruiert wird. Die Menge aller berücksichtigten Lösungen sollte im Idealfall zwei Bedingungen erfüllen, wenn eine optimale Lösung möglichst rasch gefunden werden soll. Als erste Bedingung sollte diese Menge so groß wie nötig (d. h. enthält mindestens eine optimale Lösung) sein. Zweitens sollte diese Menge so klein wie möglich (ohne die erste Bedingung zu verletzen) sein. Die zweite Bedingung stellt die Effizienz des Verfahrens sicher. Eine häufig eingesetzte indirekte Kodierung für Lösungen des RCPSP ist eine Einplanungsreihenfolge der AG, welche als Aktivitätenliste (engl. Activity List, AL) bezeichnet wird und eindeutig über einen als Planerzeugungsschema bezeichneten Algorithmus in einen Ablaufplan umgewandelt werden kann. Eine Aktivitä2 Vgl.
Rothlauf (2011). Rothlauf und Goldberg (2003) und Rothlauf (2006). 4 Belegung der primären Entscheidungsvariablen. 5 Vgl. Zimmermann (2001). 3 Vgl.
4.1 Bedeutung der Wahl einer Kodierung für die Effizienz der Lösungsverfahren
97
tenliste ist eine Permutation der AG, welche topologisch sortiert ist. Tritt ein AG j an Position l in der Liste auf, dann müssen alle Vorgänger i ∈ P j von j an früherer Position k < l in der Liste vorkommen. Der Genotyp-Raum einer Kodierung besteht aus der Menge aller möglichen Ausprägungen der Chromosomen, was dem Wertebereich der Kodierung entspricht. Die Dekodierungsprozedur kann als eine funktionale Abbildung vom Genotyp-Raum der Kodierung in den Phänotyp-Raum des betrachteten Problems angesehen werden. Für jedes Element aus dem Genotyp-Raum gibt es also genau ein korrespondierendes Element (d. h. Lösung) aus dem Phänotyp-Raum. Der Genotyp-Raum sollte mindestens einen Genotyp beinhalten, welcher eine optimale Lösung als Phänotyp repräsentiert. Formal ausgedrückt sollte die Menge der optimalen Lösungen und die Bildmenge der Dekodierungsprozedur (d. h. der Phänotyp-Raum) nicht disjunkt sein. Im Rahmen einer Heuristik ist jedoch auch eine Kodierung legitim, welche eine optimale Lösung nicht abbilden kann. Dies erlaubt es, den zu durchsuchenden Genotyp-Raum weiter zu verkleinern, was jedoch potenziell die Güte der gefundenen Lösungen verschlechtern kann. Tendenziell können dadurch rascher gute (wenn auch suboptimale) Lösungen gefunden werden. Der Unterschied zwischen einer direkten und einer indirekten Kodierung wird in Abbildung 4.1 herausgestellt. In der oberen Hälfte ist in Abbildung 4.1a die direkte Kodierung S j veranschaulicht, aus welcher sich unmittelbar die Lösungsgüte ablesen lässt. In der unteren Hälfte ist in Abbildung 4.1b die indirekte Kodierung mit einer Aktivitätenliste λ skizziert. Die Liste muss zunächst in einen Ablaufplan dekodiert werden, bevor aus dem Plan die Güte der Lösung, welche von der Liste kodiert wird, ermittelt werden kann. Genotyp und Phänotyp sind bei der direkten Kodierung identisch, wohingegen sich Genotyp und Phänotyp bei der indirekten Kodierung wesentlich voneinander unterscheiden. Dies kann bei indirekten Kodierungen genutzt werden, um einen Genotyp-Raum zu erhalten, welcher kleiner als der Lösungsraum ist. Wenn für ein bestimmtes Projektplanungsproblem die zugehörigen charakteristischen Punkte identifiziert worden sind, erleichtert dies die Konstruktion eines effizienten heuristischen Lösungsverfahrens für das Problem. In der Literatur wurden für verschiedene Zielfunktionen Mengen charakteristischer Punkte definiert.6 Beispielsweise sind die aktiven Pläne7 charakteristische Punkte für das RCPSP und die quasistabilen Pläne8 sind charakteristische Punkte für das Ressourcenüberladungsproblem. 6 Vgl.
Neumann et al. (2000). Abschnitt 3.2.3 auf S. 78. 8 Siehe Abschnitt 3.2.3 auf S. 78. 7 Siehe
98
4
Kompakte Lösungsrepräsentationen und zugehörige …
Abbildung 4.1 Gegenüberstellung einer direkten und indirekten Kodierung
Wenn mehrere Ausprägungen einer Kodierung denselben Plan abbilden, liegt eine Redundanz im Genotyp-Raum vor. Diese verlangsamt die auf der Kodierung arbeitenden Lösungsverfahren, da diese Verfahren tendenziell Lösungen mehrfach besuchen werden.9 Bei exakten Methoden sind Redundanzen im betrachteten Lösungsraum (also auch multiple optimale Lösungen) besonders verheerend für die Laufzeit, da exakte Verfahren häufig einen größeren Teil des Genotyp-Raums besuchen müssen als Heuristiken, um die Optimalität der besten gefundenen Lösung zu beweisen. Nicht alle Kodierungen sind gleich gut geeignet, in ein lokales Suchverfahren eingebettet zu werden. Es sollte eine Korrespondenz zwischen der Nachbarschaft im Genotyp-Raum und der Nachbarschaft im Lösungsraum geben. Wenn konzeptionell nah verwandte Lösungen, in welchen bspw. nur zwei AG im Plan miteinander vertauscht worden sind, in der Kodierung eine sehr hohe Distanz aufweisen, dann ist diese Kodierung in der Regel nicht für eine effiziente lokale Suche geeignet. Die 9 Vgl.
Rothlauf und Goldberg (2003).
4.1 Bedeutung der Wahl einer Kodierung für die Effizienz der Lösungsverfahren
99
Eignung einer Kodierung für lokale Suchverfahren wird auch davon beeinflusst, ob eine Belegung häufig durch eine einfache Vertauschung oder Nachbarschaftsbewegung unzulässig wird. Die notwendigen Reparaturschritte, um die Zulässigkeit wiederherzustellen, können je nach Problemstellung den Rechenaufwand signifikant erhöhen. Der rechnerische Aufwand für die Rücktransformation einer kodierten Lösung in die abgebildete Lösung kann sich bei verschiedenen Kodierungen stark unterscheiden. So lässt sich bei direkten Kodierungen die kodierte Lösung unmittelbar aus der Ausprägung der Kodierung ablesen. In anderen Fällen ist die Dekodierung jedoch algorithmisch sehr aufwändig und erfordert u. U. gar die Lösung von Teilproblemen der Projektplanungsaufgabe. Abbildung 4.2 Abgrenzung von Perioden und Zeitpunkten
Ein Beispiel für eine direkte Kodierung eines Ablaufplans ist ein Vektor aus Zeitpunkten S j ∈ N0 , welcher jedem AG j seinen diskreten Startzeitpunkt S j < T zum Ende von Periode S j zuordnet, d. h. für S j = t beginnt ein AG j zum Zeitpunkt t am Ende von Periode t. Die Korrespondenz von Zeitpunkten und Perioden wird in Abbildung 4.2 veranschaulicht. AG j mit S j = t ist dann in den Perioden {t + 1, . . . , t + d j } aktiv10 und der Endzeitpunkt F j = t + d j ist am Ende der Periode t + d j . In einem Plan mit S0 = 0 und S3 = 5 wird beispielsweise DummyAG 0 ab der ersten Periode und AG 3 ab der sechsten Periode ausgeführt. Der Genotyp-Raum dieser Kodierung ist vergleichsweise groß und enthält zum einen viele unzulässige Pläne und zum anderen auch trivial verbesserbare Pläne. Unzulässige Pläne können über die Startzeiten S j dargestellt werden, indem beispielsweise ein AG j bereits startet, bevor ein Vorgänger i ∈ P j von AG j beendet worden ist, d. h. S j < Si + di . Ein trivial verbesserbarer Plan kann über Startzeitpunkte S j 10 In
Periode t selbst ist der AG noch nicht aktiv.
100
4
Kompakte Lösungsrepräsentationen und zugehörige …
realisiert werden, wenn ein AG trotz genügend Restkapazität und bereits frühzeitig erfüllter Reihenfolgebeziehungen dennoch zu einem späten Zeitpunkt eingeplant wird. Indirekter ist die Kodierung mit binären Puls-Indikatorvariablen x jt wie im Modell in Abschnitt 3.1.2 auf S. 71. Die Variable x jt nimmt genau dann den Wert 1 an, wenn AG j am Ende von Periode t beendet wird. In anderen Perioden wird x jt modellendogen auf 0 gesetzt. Der Startzeitpunkt S j eines AG j ist über S j = t − d j ⇔ x jt = 1, ∀t aus x jt ableitbar. Für einen Start S3 = 5 zu Beginn der Periode 6 und eine Bearbeitungsdauer d3 = 2 würde AG 3 am Ende von Periode 7 beendet werden, d. h. x3,7 = 1 und x3,t = 0, ∀ t = 7. Auch in dieser Kodierung können viele unzulässige und suboptimale Pläne abgebildet werden. Es muss bspw. gefordert werden, dass es für jeden AG j nur genau eine Periode t gibt, für welche x jt = 1, also jeder AG genau einmal durchgeführt werden muss, d. h. |{t ∈ T | x jt = 1}| = 1.
Abbildung 4.3 Vertauschung der Startzeitpunkte zweier AG in einem Ablaufplan
Die direkte Kodierung x jt ist für den Einsatz in einem lokalen Suchverfahren nicht geeignet, da konzeptionell einfache Nachbarschaftsoperationen, wie bspw. die Positionen von zwei AG in einem Ablaufplan zu vertauschen, eine relativ große Anzahl geänderter Werte in der Kodierung erfordert. Dieser Zusammenhang für x jt wird in Abbildung 4.3 verdeutlicht. Konkret entspricht der auf der linken Seite abgebildete Ablaufplan S 1 in kodierter Form der Matrix 0100 X = . 0001 1
(4.1)
Die Einträge für die Dummy-AG 0 und 3 wurden ausgelassen und sind genau in der ersten bzw. letzten Periode auf 1 und ansonsten auf 0 gesetzt. Der rechts daneben dargestellte Ablaufplan S 2 ist äquivalent zur Matrix
4.1 Bedeutung der Wahl einer Kodierung für die Effizienz der Lösungsverfahren
X2 =
0001 . 0100
101
(4.2)
Um in einer lokalen Suche zwei AG zu vertauschen, ist ein Nachbarschaftsoperator notwendig, welcher die Belegungen von genau den passenden vier Variablen (x1,2 , x2,4 , x1,4 und x2,1 ) anpasst, indem er Spalten vertauscht, ohne eine unzulässige Belegung zu erzeugen. Dies ist vergleichsweise umständlicher als die im weiteren Verlauf der Arbeit vorgestellten Nachbarschaftsoperatoren für indirekte Kodierungen. Ein Ablaufplan als zulässige Lösung des RCPSP kann über eine Einplanungsreihenfolge der AG in Kombination mit einem Verfahren, welches aus der Reihenfolge einen Plan erzeugt, indirekt kodiert werden. Eine derartige sortierte Liste von AG wird als Aktivitätenliste bezeichnet, welche bereits auf S. 95 eingeführt worden ist. Alternativ kann jeder AG einen Prioritätswert erhalten und die AG in Reihenfolge von absteigender Priorität eingeplant werden. Die Aktivitätenliste und die Prioritätswerte11 priorisieren die AG, woraus eine Einplanungsreihenfolge abgeleitet werden kann. Bei der Aktivitätenliste, einer Permutation der AG, werden die AG in eine Reihenfolge gebracht. Diese muss topologisch sortiert sein, d. h. alle Vorgänger eines AG müssen links von diesem in der Liste auftreten. Bei einem Vektor aus Prioritätswerten v wird die Priorität v j eines AG j über einen Wert aus dem stetigen Intervall [0, 1] für jeden AG festgelegt. Ein Prioritätswert gibt an, welche relative Priorität der AG besitzt, wenn ein Plan schrittweise aufgebaut wird. Können in einem Einplanungsschritt mehrere AG eingeplant werden, wird für den AG mit höchster Priorität als Nächstes der Startzeitpunkt ermittelt. Ein AG j mit v j = 1 weist die höchste, mit v j = 0 die niedrigste Priorität auf. Kolisch und Hartmann (2006) zeigen im Rahmen einer Vergleichsstudie verschiedener Heuristiken für das RCPSP, dass einige wettbewerbsfähige heuristische Lösungsverfahren für das RCPSP im Kern Aktivitätenliste und Prioritätswerte enthalten, um die AG zu priorisieren. Diese erzeugen in Kombination mit dem seriellen und parallelen Planerzeugungsschema lediglich verzögerungsfreie bzw. aktive Pläne. Daher werden diese beiden Möglichkeiten, AG zu priorisieren, als Komponenten und Ausgangspunkt für die entworfenen Kodierungen im Rahmen dieser Arbeit verwendet. Eine Einplanungsreihenfolge ist ausreichend, um eine Lösung für das RCPSP darzustellen. Eine Lösung für das RCPSP-ROC beinhaltet jedoch auch eine Entscheidung bzgl. des Ausmaßes, in welchem Zusatzkapazität im Plan genutzt werden 11 In
der englischsprachigen Fachliteratur auch als sogenannte „Random Keys“ bezeichnet.
102
4
Kompakte Lösungsrepräsentationen und zugehörige …
soll. Die Entscheidung über die Zusatzkapazität in einem Plan kann entweder bereits in der Kodierung als Information enthalten sein oder in der Dekodierungsprozedur getroffen werden. Letztere Variante erhöht den Rechenaufwand der Dekodierungsprozedur.
4.2
Grundlagen kompakter Kodierungen und zugehöriger Dekodierungsprozeduren
4.2.1
Serielles Ablaufplanerzeugungsschema
Als serielles (Ablauf)planerzeugungsschema (engl. Serial Schedule Generation Scheme, SSGS) wird ein Verfahren für das RCPSP bezeichnet, welches einen aktiven Plan erzeugt, indem es die AG schrittweise einplant.12 Die Reihenfolge, in welcher die AG eingeplant werden, wird durch die Prioritäten der AG induziert. Die Prioritäten werden durch eine Aktivitätenliste, Prioritätswerte oder Prioritätsregeln vorgegeben. Beispiele für einfache Prioritätsregeln sind:13 • minimaler Gesamtpuffer L ST j − E ST j , • die sog. Ressourceneinplanungsmethode max{0, E F Ti − L ST j } für Paare (i, j) von AG mit Ressourcenkonflikt, • spätester Endzeitpunkt L F T j , • größter Ressourcenbedarf d j · r k jr , • und kürzeste Dauer d j . Eine Aktivitätenliste ist eine topologisch sortierte Liste der AG, welche unmittelbar die Reihenfolge angibt, in welcher die AG eingeplant werden sollen. Prioritätswerte geben für jeden AG dessen Priorität an, sodass die AG in Reihenfolge absteigender Priorität eingeplant werden. Prioritätsregeln geben vor, wie die Priorität eines AG anhand eines Attributs des AG bestimmt wird, wodurch sich implizit wiederum Prioritätswerte ergeben. Um zu ermitteln, ob ein Startzeitpunkt für einen AG ressourcenzulässig ist, wird zunächst die Menge At der in einer Periode aktiv durchgeführten AG bestimmt. Ein bereits eingeplanter AG j sei bei Start in Periode S j = τ in den diskreten Perioden {τ + 1, . . . , τ + d j } aktiv. Es wird angenommen, dass alle Dauern und Ressourcenverbräuche ganzzahlig sind. Formal ist die Menge At der in einer 12 Vgl. 13 Vgl.
Kolisch (1996b) und Kolisch und Hartmann (1999), S. 150 ff. Davis und Patterson (1975).
4.2 Grundlagen kompakter Kodierungen und zugehöriger …
103
Periode t aktiven AG im Einklang mit Abbildung 4.2 auf S. 99 definiert als At = { j ∈ C | S j < t ≤ S j + d j }.
(4.3)
Die Menge der bereits im Teilplan S eingeplanten AG wird mit dem Symbol C versehen. Algorithmus 4.1: Serielles Ablaufplanerzeugungsschema für das RCPSP
1 2 3 4 5 6
7 8
Eingabe : Projekt P = (J , R, T , P j , d j , k jr , K r ) und Auswahlfunktion ϕ ∈ {ϕ AL , ϕ R K , . . .} Ausgabe : Ablaufplan S Initialisiere leeren Plan S; while Plan S unvollständig do Bestimme Menge E , der nicht eingeplanten AG, deren Vorgänger alle eingeplant sind; Wähle mittels Auswahlfunktion ϕ einen AG j = ϕ(E ) aus der Menge der einplanbaren AG E ; Berechne spätesten Endzeitpunkt aller Vorgänger t p f := maxi∈P j {Si + di } (engl. precedence feasible); Berechne frühestmöglichen ressourcenzulässigen Beginn tr f := min{t | t ≥ t p f ∧ (k jr + i∈Aτ kir ≤ K r , ∀ r ∈ R ∀ τ ∈ {t + 1, . . . , t + d j })} (engl. resource feasible); Plane AG j zum frühesten zulässigen Startzeitpunkt S j := tr f ein end
In Algorithmus 4.1 wird der Pseudocode für das serielle Planerzeugungsschema dargestellt. Eine Projektinstanz P und eine Auswahlfunktion ϕ müssen als Eingaben für dieses Verfahren spezifiziert werden. Die Auswahlfunktion ϕ : P (J ) → J wählt aus einer Menge einplanbarer AG genau einen AG für den nächsten Einplanungsschritt aus. Der Rückgabewert des seriellen Schemas ist ein aktiver Plan für das Projekt. Als Beispieleingabe wird die Aktivitätenliste λ = (0, 1, 3, 2, 4, 5, 6, 7) für das Beispielprojekt aus Abbildung 2.1 auf S. 8 verwendet, welches in Abbildung 4.5 nochmals dargestellt wird. Der resultierende Plan ist in Abbildung 4.4 dargestellt. Der gleiche Ablaufplan hätte auch für den Prioritätswerte-Vektor v = (1,0; 0,8; 0,9, 0,5; 0,3; 0,2; 0,1; 0,0)
104
4
Kompakte Lösungsrepräsentationen und zugehörige …
Abbildung 4.4 Mit seriellem Schema erzeugter Ablaufplan
mit dem seriellen Planerzeugungsschema erzeugt werden können, indem die Einplanungsreihenfolge nicht direkt durch eine Aktivitätenliste bestimmt wird, sondern stattdessen aus der Menge der einplanbaren AG in jedem Einplanungsschritt immer derjenige gewählt wird, welcher den höchsten Prioritätswert aufweist. Die resultierende Einplanungsreihenfolge für die genannten Prioritätswerte entspricht der Aktivitätenliste. Typische Ansätze, um eine Auswahlfunktion umzusetzen, sind also Aktivitätenlisten, Prioritätswerte und Prioritätsregeln. Für die Aktivitätenliste λ = (λ0 , . . . , λ J +1 ) ist die Auswahlfunktion ϕ AL (engl. activity list) definiert als ϕ AL (E ) = min{i ∈ J |∃ j ∈ E : λi = j}.
(4.4)
Der einplanbare AG j in Gleichung 4.4 tritt vor allen anderen AG, die eingeplant werden können, an Index k in der Liste λ auf. Für die Prioritätswerte v = (v0 , . . . , v J +1 ) lautet die Auswahlfunktion ϕ R K (engl. random key) ϕ R K (E ) = argmax j∈E (v j ).
(4.5)
Es wird in Gleichung 4.5 also immer der AG mit dem höchsten Prioritätswert aus der Menge der einplanbaren AG ausgewählt. Prioritätsregeln können in Prioritätswerte übersetzt werden, wodurch die Auswahlfunktion ϕ R K für Prioritätsregeln ebenfalls eingesetzt werden kann.
4.2 Grundlagen kompakter Kodierungen und zugehöriger …
105
Abbildung 4.5 Instanzdaten von Beispielprojekt zur Veranschaulichung des seriellen Schemas
Der Algorithmus beginnt mit einem leeren Plan (Zeile 1). Es werden solange schrittweise AG eingeplant, bis der Plan vollständig ist (Zeile 2). Jeder Einplanungsschritt beginnt damit, die Menge E der einplanbaren AG zu bestimmen (Zeile 3). Ein AG gilt als einplanbar genau dann, wenn alle Vorgänger des AG bereits eingeplant worden sind, der AG selbst aber noch nicht im Plan auftritt. Formal gilt also E = {j ∈ J | j ∈ / C ∧ ∀i ∈ P j : i ∈ C }.
Im Beispiel ist in der ersten Iteration E = {0}, also kann nur der Dummy-Start eingeplant werden. Aus der Menge der einplanbaren AG wird mithilfe einer Auswahlfunktion ϕ ein AG ausgewählt (Zeile 4). Aufgrund der frühesten Position in Aktivitätenliste λ wird AG 0 gewählt. Wird als Eingabe eine Aktivitätenliste verwendet, dann wird immer der AG aus E gewählt, welcher am weitesten vorne in der Aktivitätenliste steht, aber noch nicht eingeplant worden ist. Daraufhin wird für den gewählten AG j der früheste reihenfolgezulässige Startzeitpunkt t p f (engl. precedence feasible) im Teilplan bestimmt (Zeile 5). Dieser berechnet sich als spätester Endzeitpunkt aller Vorgänger. AG 0 des Beispielprojekts ist bereits in der ersten Periode reihenfolgezulässig, da er keine Vorgänger besitzt. Der früheste reihenfolgezulässige Einplanungszeitpunkt t p f wird in der ersten Iteration folglich auf den Zeitpunkt 0 und damit auf den Beginn des Planungshorizonts gesetzt. Die Kapazitätsrestriktionen dürfen nicht verletzt werden, wenn ein weiterer AG dem Plan hinzugefügt wird. Daher muss über die komplette Laufzeit des einzuplanenden AG genügend Restkapazität auf allen Ressourcen verfügbar sein (Zeile 6). Die Menge Aτ enthält alle zum Zeitpunkt τ am Ende von Periode τ aktiv durchgeführten AG. Da aktive Pläne erzeugt werden sollen, wird der früheste Zeitpunkt tr f
106
4
Kompakte Lösungsrepräsentationen und zugehörige …
(engl. resource feasible) aus der Menge der ressourcenzulässigen Startzeitpunkte für j gewählt, für welchen die Reihenfolgezulässigkeit ebenfalls gewährleistet ist. AG 0 benötigt keine Ressourcen, um durchgeführt zu werden, und wird daher zu Beginn des Planungshorizonts ressourcenzulässig eingeplant, d. h. S0 = tr f = 0. In der nächsten Iteration wird E = {1, 2} bestimmt. Aufgrund der Aktivitätenliste λ wird AG 1 für den nächsten Einplanungsschritt ausgewählt. AG 1 ist ebenfalls mit Startzeitpunkt S1 = tr f = 0 zulässig, da der einzige Vorgänger 0 eine Dauer von 0 ZE aufweist und genügend Restkapazität in Perioden 1 bis 3 verfügbar ist. AG 3 wird anschließend aufgrund der Reihenfolgebeziehungen zum Zeitpunkt S3 = 3 begonnen. Der zweite AG wird danach eingeplant. AG 2 ist ab der ersten Periode reihenfolgezulässig. Jedoch reicht die Restkapazität in Perioden 1 und 2 nicht für den Beginn des AG 2 zum Zeitpunkt 0 aus, weshalb der Beginn des AG 2 auf Zeitpunkt 3 verzögert werden muss, d. h. S2 = 3. Daraufhin werden übrigen AG 4, 5, 6 und 7 in dieser Reihenfolge auf gleiche Weise eingeplant und schließlich der in Abbildung 4.4 auf S. 104 dargestellte Ablaufplan erzeugt. Das serielle Planerzeugungsschema spannt bei vollständiger Enumeration aller möglichen Prioritäten der AG die Menge der aktiven Pläne auf. Das serielle Planerzeugungsschema kann als eine funktionale Abbildung von der Menge der AGPriorisierungen in die Menge der Pläne interpretiert werden. Die entsprechende Funktion ist nicht injektiv, da es mehrere Elemente der Definitionsmenge (also AG-Prioritäten) gibt, welche auf das gleiche Element der Zielmenge (also einen identischen aktiven Plan) abgebildet werden. Das serielle Planerzeugungsschema ist surjektiv bezüglich der Menge der aktiven Pläne. Es kann jeder aktive Plan über das serielle Schema erzeugt werden. Nicht jeder optimale Plan kann jedoch zwangsläufig über das serielle Schema konstruiert werden. In der Regel existieren für einen aktiven optimalen Plan mehrere inaktive Nachbarn mit gleicher Projektdauer, welche erzeugt werden können, indem die AG außerhalb des kritischen Pfads im aktiven Ausgangsplan verzögert werden. Das serielle Planerzeugungsschema ist folglich im Allgemeinen nicht surjektiv bezüglich der Menge der optimalen Pläne. Analog kann begründet werden, dass das serielle Planerzeugungsschema nicht surjektiv bezüglich der Menge der zulässigen Pläne ist, also nicht für jeden zulässigen Plan eine Priorisierung der AG existiert, für welche das serielle Schema diesen Plan konstruiert. Zu ermitteln, ob ein AG zu einem bestimmten Zeitpunkt starten kann, ohne die Kapazitätsrestriktionen zu verletzen, ist der aufwendigste Schritt im seriellen Planerzeugungsschema. Entsprechend wird der Rechenaufwand dieser Prozedur vorrangig dadurch geprägt, dass die Ressourcenzulässigkeit sichergestellt werden muss.
4.2 Grundlagen kompakter Kodierungen und zugehöriger …
107
Weil die aktiven Pläne keine charakteristischen Punkte für das RCPSP-ROC sind, kann das serielle Planerzeugungsschema in einem Lösungsverfahren für das RCPSP-ROC nicht direkt angewendet werden. Zudem sind die insgesamt verfügbaren Kapazitätsniveaus beim RCPSP-ROC im Gegensatz zum RCPSP nicht exogen und zeitunabhängig spezifiziert, bevor der Plan erzeugt wird. Daher würde das serielle Planerzeugungsschema ohnehin nur Pläne mit entweder beliebig hoher zulässiger oder keinerlei Zusatzkapazität konstruieren, wenn es unmittelbar angewendet wird, um einen Plan für eine Instanz des RCPSP-ROC zu erzeugen. Neben dem seriellen Planerzeugungsschema für aktive Pläne gibt es z. B. auch ein Generierungsschema für quasistabile Pläne.14 Tatsächlich wurde in der Literatur für jede der in Abschnitt 3.2.3 auf S. 78 vorgestellten Mengen ein erzeugendes Ablaufplanerzeugungsschema (engl. Schedule Generation Scheme, SGS) vorgestellt.15 Allgemein bezeichnet ein Ablaufplanerzeugungsschema einen Algorithmus, welcher einen Ablaufplan für eine gegebene Priorisierung der AG konstruiert. Das Unterscheidungsmerkmal der Planerzeugungsschematas für verschiedene Planmengen bzw. Zielfunktionen ist die Menge der Zeitpunkte, an welchen ein AG beginnen kann (sogenannte Entscheidungszeitpunkte). Alternativ ist es hilfreich, die charakteristischen Punkte zu identifizieren, damit ein exaktes Verfahren konstruiert werden kann, welches nur diese Menge von Plänen als Teil des Lösungsraums durchsucht.16 Nachfolgend wird in Abschnitt 4.2.3 auf S. 113 ein nachbarschaftliches Verbesserungsverfahren für Ablaufpläne vorgestellt, welches intern die Möglichkeit nutzt, einen Ablaufplan in eine zugehörige Aktivitätenliste umzuwandeln. Dafür wird eine Umkehrung des seriellen Planerzeugungsschemas definiert. Ein aktiver Plan bestehend aus Startzeitpunkten für jeden AG lässt sich in eine Eingabe für das serielle Planerzeugungsschema transformieren. Für die Aktivitätenliste wäre dies eine in den Startzeiten monoton steigende Sortierung der AG, welche Pattsituationen aufgrund identischer Startzeiten auflöst, indem die AG-Nummern aufsteigend angeordnet werden. In Algorithmus 4.2 wird das Verfahren als Pseudocode beschrieben. Als Beispieleingabe wurde der in Abbildung 4.6 dargestellte Ablaufplan gewählt. Es wird zuerst eine leere Aktivitätenliste λ initialisiert (Zeile 1). Daraufhin wird in einer Schleife solange jeweils ein AG in die Liste eingefügt, bis diese vollständig ist (Zeile 2). In Zeile 3 wird derjenige noch nicht eingefügte AG aus E gewählt, welcher unter den AG mit frühestem Startzeitpunkt der noch einzufügenden AG die 14 Vgl.
Zimmermann (2001), S. 95. Schwindt (2005). 16 Vgl. Schwindt (2005). 15 Vgl.
108
4
Kompakte Lösungsrepräsentationen und zugehörige …
Algorithmus 4.2: Umkehrfunktion des seriellen Ablaufplanerzeugungsschemas 1 2 3 4 5
Eingabe : Projekt P = (J , R, T , P j , d j , k jr , K r ) und Ablaufplan S Ausgabe : Aktivitätenliste λ Initialisiere leere Aktivitätenliste λ; while Aktivitätenliste λ unvollständig do Ermittle Menge E der AG mit frühester Startzeit, welche noch nicht in Aktivitätenliste λ enthalten sind; Füge AG j mit minimaler Nummer aus E am Ende von Aktivitätenliste λ hinzu; end
Abbildung 4.6 Aktiver Ablaufplan
geringste Nummer besitzt. Da der Start des Dummy-Start-AG in jedem Fall im ersten Schritt bereits auf den Zeitpunkt 0 zu Beginn der Periode 1 gesetzt werden kann, ist dies im Beispiel AG 1. In Zeile 4 wird der gewählte AG an das Ende der Aktivitätenliste λ angefügt. Es resultiert die Liste λ = (1). In der zweiten Iteration weist AG 4 den frühesten Beginn unter den in λ fehlenden AG auf. Nach mehreren Erweiterungsschritten wird als Ausgabe schließlich die Aktivitätenliste λ = (0, 1, 4, 2, 5, 3, 6, 7) zurückgeliefert. Die beschriebene Abbildung eines Ablaufplans auf eine Aktivitätenliste ist die Umkehrabbildung des seriellen Planerzeugungsschemas. Da das serielle Planerzeu-
4.2 Grundlagen kompakter Kodierungen und zugehöriger …
109
gungsschema keine injektive Abbildung ist, müsste die mathematische Umkehrfunktion des seriellen Planerzeugungsschemas genau genommen auf eine Menge von erzeugenden Aktivitätenlisten abbilden. Hier wird der Einfachheit halber nur ein Stellvertreter aus dieser Menge zurückgegeben, indem jeweils der AG mit der minimalen Nummer gewählt wird.17
4.2.2
Paralleles Ablaufplanerzeugungsschema
Als paralleles Planerzeugungsschema (engl. Parallel Schedule Generation Scheme, PSGS) wird ein alternatives Verfahren bezeichnet, welches Ablaufpläne für das RCPSP auf Basis einer Priorisierung der AG erzeugt.18 Dieses konstruiert ebenfalls schrittweise einen Ablaufplan. Beim parallelen Planerzeugungsschema wird jedoch nicht über die Menge der AG iteriert. Stattdessen wird in bestimmten Zeitpunkten sukzessive die Kapazität mit einplanbaren AG gefüllt, bis nicht mehr genügend Restkapazität vorhanden ist, um einen weiteren AG einzuplanen. Die Zeitpunkte, zu denen eingeplant wird, werden Entscheidungszeitpunkte genannt. Algorithmus 4.3: Paralleles Ablaufplanerzeugungsschema für das RCPSP
1 2 3 4
5 6 7 8 9 10 11
Eingabe : Projekt P = (J , R, T , P j , d j , k jr , K r ) und Auswahlfunktion ϕ ∈ {ϕ AL , ϕ R K , . . .} Ausgabe : Ablaufplan S Initialisiere leeren Plan S; Setze tdt := 0; while Plan S unvollständig do Bestimme Menge E der nicht eingeplanten AG, deren Vorgänger alle bis Zeitpunkt tdt beendet worden sind und für die genügend Restkapazitäten für Beginn in Zeitpunkt tdt vorhanden sind; if E = ∅ then Wähle mittels Auswahlfunktion ϕ einen AG j = ϕ(E ) aus E ; Plane AG j mit Startzeitpunkt S j = tdt ein; else Setze tdt auf frühesten Endzeitpunkt F T j > tdt eines AG j in S; end end
17 Um standardisierte Prioritätswerte zu berechnen, wird zunächst aus einem Plan eine Aktivitätenliste abgeleitet. Es werden dabei ebenfalls AG mit kleinerer Nummer präferiert, wenn Pattsituationen mit gleichen Startzeiten auftreten, vgl. Debels et al. (2006). 18 Vgl. Kolisch (1996b).
110
4
Kompakte Lösungsrepräsentationen und zugehörige …
In Algorithmus 4.3 wird das parallele Planerzeugungsschema in Form eines Pseudocodes beschrieben. Als Beispieleingabe wird die Aktivitätenliste λ = (0, 1, 2, 4, 5, 3, 6, 7) für das in Abbildung 4.7 abgebildete Projekt verwendet. Zunächst wird der leere Plan S initialisiert (Zeile 1). Der Entscheidungszeitpunkt tdt (engl. decision time) wird zu Beginn der Prozedur auf Zeitpunkt 0 gesetzt (Zeile 2). Daraufhin werden schrittweise die AG eingeplant, bis der Plan vollständig ist (Zeile 3). In jedem Einplanungsschritt wird eine Menge von einplanbaren AG bestimmt (Zeile 4). Damit ein AG j im parallelen Planerzeugungsschema zum Entscheidungszeitpunkt tdt als einplanbar gilt, müssen zwei Bedingungen erfüllt sein. Erstens müssen alle Vorgänger von j bis zum Entscheidungszeitpunkt tdt eingeplant und beendet worden sein. Ansonsten würden die Präzedenzrestriktionen verletzt werden. Zweitens muss auf allen Ressourcen genügend Restkapazität im aktuellen Entscheidungszeitpunkt vorhanden sein, um AG j einplanen zu können. Ansonsten würde ein Konflikt mit den Kapazitätsrestriktionen entstehen. Im Beispiel ist in der ersten Iteration lediglich der Dummy-Start einplanbar, d. h. E = {0}, und in der zweiten Iteration stehen die drei AG 1, 2 und 4 zur Auswahl, also E = {1, 2, 4}.
Abbildung 4.7 Mit parallelem Schema erzeugter Ablaufplan
4.2 Grundlagen kompakter Kodierungen und zugehöriger …
111
Ist die Menge der einplanbaren AG nicht leer (Zeile 5), dann wird aus dieser Menge mithilfe der Auswahlfunktion ein AG ausgewählt (Zeile 6). Aufgrund der Position in der Aktivitätenliste λ wird in der ersten Iteration AG 0 und in der zweiten Iteration AG 1 gewählt.19 Deren Startzeitpunkte werden auf den Entscheidungszeitpunkt gesetzt (Zeile 7), also S0 = 0 und S1 = 0 in der ersten bzw. zweiten Iteration. In der dritten Iteration sind nur noch AG 2 und 4 einplanbar. Es wird aufgrund der Prioritäten der zweite AG gewählt und eingeplant, d. h. S2 = 0. Ist aufgrund mangelnder Restkapazität oder der Reihenfolgebeziehungen kein AG einplanbar (Zeile 8), dann wird der Entscheidungszeitpunkt auf den nächstgelegenen späteren Endzeitpunkt eines AG gelegt (Zeile 9). Falls ein nicht-fiktiver AG j beendet wird, kann die Restkapazität einer Ressource r ab diesem Zeitpunkt um k jr ≥ 0 steigen. Zudem kann AG j Vorgänger eines AG j sein, welcher daraufhin einplanbar wird. Zum Beispiel sorgt die niedrige Restkapazität, nachdem der zweite AG eingeplant worden ist, dafür, dass nun kein AG mehr einplanbar ist. Entsprechend wird der Entscheidungszeitpunkt auf den nächsten Endzeitpunkt eines AG gelegt. Dies ist Zeitpunkt 2 zum Beginn der dritten Periode, in welcher kein AG einplanbar ist. Daher wird der Entscheidungszeitpunkt tdt auf den Beginn der Periode 4 (Zeitpunkt 3), dem Ende von AG 2, erhöht. Mit tdt = 3 ist der dritte und vierte AG einplanbar. Es wird der vierte AG aufgrund höherer Priorität eingeplant. Das beschriebene Vorgehen wird fortgeführt, um die restlichen AG einzuplanen. Der resultierende Plan ist in Abbildung 4.7 auf S. 110 dargestellt. Der gleiche Plan kann auch über einen Vektor mit Prioritätswerten v = (1,0; 0,8; 0,9; 0,3; 0,6; 0,2; 0,1; 0,0) über ϕ R K aus Gleichung 4.5 auf S. 104 erzeugt werden, da die resultierende Einplanungsreihenfolge identisch mit der Reihenfolge der AG in der zuvor gezeigten Aktivitätenliste ist. Das parallele Ablaufplanerzeugungsschema spannt die Menge der verzögerungsfreien Pläne auf, wenn eine Vollenumeration über alle möglichen AGPriorisierungen vorgenommen wird. Im Allgemeinen können durch das serielle und parallele Planerzeugungsschema mit identischer Eingabe, d. h. äquivalenter Priorisierung der AG durch eine Aktivitätenliste, Prioritätswerte oder Prioritätsregeln,20 19 Alternativ könnte als Eingabe für das parallele Schema anstelle einer Aktivitätenliste stets eine andere Form der AG-Priorisierung, wie bspw. AG-spezifische Prioritätswerte, eingesetzt werden. Gleiches gilt für das serielle Schema. Vgl. dazu auch den Absatz zu geläufigen Auswahlfunktionen auf S. 104. 20 Vgl. dazu den Absatz zu unterschiedlichen Auswahlfunktionen auf S. 104.
112
4
Kompakte Lösungsrepräsentationen und zugehörige …
zwei unterschiedliche Pläne konstruiert werden. Ursächlich hierfür ist, dass beide Verfahren verschiedene Strategien verfolgen, wenn sie Pläne konstruieren. Das parallele Schema versucht die verfügbare Restkapazität im Planungshorizont, so weit es zulässig ist, möglichst weit auszuschöpfen, bevor AG zu späteren Zeitpunkten eingeplant werden. Das serielle Schema kann in den ersten Iterationen durchaus Lücken mit viel Restkapazität im vorderen Bereich des Teilplans entstehen lassen und aufgrund der Reihenfolge der AG in der Aktivitätenliste zunächst in späteren Perioden die Kapazität verringern, indem es dort AG einplant. Das parallele Planerzeugungsschema kann daher nur verzögerungsfreie Pläne erzeugen.21 Ein Plan gilt als verzögerungsfrei, wenn der korrespondierende Plan für das Projekt, in welchem jeder AG j in d j einperiodige Blöcke22 zerlegt worden ist, keine globale Linksverschiebung enthält. Die verzögerungsfreien Pläne weisen häufig geringe Restkapazität und vergleichsweise hohe Güte bzw. geringe Gesamtdauer auf. Der zwar aktive, jedoch nicht verzögerungsfreie Ablaufplan in Abbildung 3.6c auf S. 80 kann nicht durch das parallele Planerzeugungsschema konstruiert werden. Das Schema wird bei allen möglichen Priorisierungen der AG stets die verfügbare Restkapazität in der ersten Periode vollständig ausnutzen, indem die AG 1 und 4 beide zum Zeitpunkt 0 gestartet werden. Im seriellen Schema kann der frühe Beginn des AG 4 verhindert werden, indem AG 2 vorher eingeplant wird (also eine höhere Priorität bzw. frühere Position in der Liste erhält). Wenn der AG 4 daraufhin in einer späteren Iteration der Erzeugungsprozedur eingeplant wird, kann er nicht mehr zum Zeitpunkt 0 starten, da hierfür nicht genügend Restkapazität über die vollständige Bearbeitungszeit von d4 = 2 Perioden vorhanden ist. Um die Abgrenzung von seriellem und parallelen Schema zu veranschaulichen, werden zusätzlich die Abbildungen 4.6 auf S. 136 und 4.7 auf S. 136 verglichen, welche hier in Abbildung 4.8a und Abbildung 4.8b wiederholt werden. Beide Ablaufpläne repräsentieren zulässige Lösungen für die gleiche Probleminstanz, welche oben rechts in der Abbildung gezeigt wird. Die Instanz besitzt eine einzige erneuerbare Ressource mit einer Kapazität von 4 KE. Die beiden unterschiedlichen Pläne lassen sich durch die Aktivitätenliste λ = (0, 1, 4, 2, 5, 3, 6, 7) erzeugen, wobei der linke Plan in Abbildung 4.8a durch das serielle Planerzeugungsschema und der rechte Plan in Abbildung 4.8b durch das parallele Planerzeugungsschema erzeugt worden ist. Obwohl AG 4 in der Aktivitätenliste vor AG 2 steht, ist die Reihenfolge der Startzeitpunkte beider AG im Ablaufplan, welcher durch das parallele Planerzeu21 Vgl. 22 Also
die Definition dieser Klasse von Plänen auf S. 79. wenn jeder AG nach jeder Periode unterbrochen werden darf.
4.2 Grundlagen kompakter Kodierungen und zugehöriger …
113
Abbildung 4.8 Vergleich zweier Pläne zur Gegenüberstellung des seriellen und parallelen Erzeugungsschemas
gungsschema erzeugt worden ist, umgedreht zur Reihenfolge in der Aktivitätenliste. Das parallele Schema berücksichtigt die höhere Priorität des AG 4 nicht. AG 2 kann AG 4 „überholen“, da noch genügend Restkapazität in der ersten Periode vorhanden ist, nachdem der erste nicht fiktive AG eingeplant worden ist. Im seriellen Schema wird dies dadurch verhindert, dass die AG strikt in der gleichen Reihenfolge eingeplant werden, in welcher sie in der Aktivitätenliste auftreten. Beide dargestellten Pläne sind aktiv, da in ihnen kein AG durch eine globale Linksverschiebung früher gestartet werden kann. Der Plan in Abbildung 4.8b ist zudem verzögerungsfrei, weil es keine globale Linksverschiebung im korrespondierenden Plan für das zugehörige Projekt mit zerlegten AG, welche eine Dauer von jeweils einer ZE besitzen, gibt. Der rechte Plan kann auch über das serielle Planerzeugungsschema erzeugt werden, indem die Aktivitätenliste λ = (0, 1, 2, 4, 3, 5, 6, 7) als Eingabe verwendet wird. Der Plan in Abbildung 4.8a ist hingegen nicht verzögerungsfrei, da der Plan eine globale Linksverschiebung enthält, wenn die Bearbeitung der AG nach jeder Periode unterbrochen werden darf. Der AG 2 könnte nämlich mit Präemption nach 2 Perioden bereits zu Zeitpunkt 0 gestartet werden.
4.2.3
Verbesserungsverfahren mit Minimierung der Zusatzkapazitätskosten
Der folgende Abschnitt beschäftigt sich mit einer in der Literatur etablierten Methode für das RCPSP, welche einen gegebenen zulässigen Plan möglicherweise verkürzen kann, indem die Methode einzelne AG verschiebt. Die Idee hinter dieser Methode wird in Abbildung 4.9 auf S. 114 anhand eines Beispiels skizziert. Der
114
4
Kompakte Lösungsrepräsentationen und zugehörige …
Ausgangsplan aus Abbildung 4.9b für das Projekt in Abbildung 4.9a kann durch einen Verzögerungsschritt in den Plan aus Abbildung 4.9c transformiert werden. Da der erste AG im entstandenen Plan nicht zu Beginn des Planungshorizonts startet, kann der Plan durch eine parallele Linksverschiebung verbessert werden. Es resultiert der in Abbildung 4.9d dargestellte Plan, welcher eine um 2 ZE verringerte Gesamtdauer besitzt.
Abbildung 4.9 Beispiel für Projektdauerverringerung ohne Kostenerhöhung durch eine Iteration des Vorwärts-Rückwärts-Verbesserungsverfahrens für das RCPSP-ROC
Die Methode wird als Vorwärts-/Rückwärts-Verbesserungsverfahren (engl. Forward-Backward Improvement, FBI)23 bezeichnet und erhält als Eingabe einen zulässigen Ausgangsplan, welcher üblicherweise als Resultat einer Startheuristik entstanden ist. Die AG des Plans werden im ersten Schritt iterativ in umgekehrter (absteigender) Reihenfolge der Einplanungszeitpunkte rechtsbündig angeordnet. 23 Vgl.
Li und Willis (1992).
4.2 Grundlagen kompakter Kodierungen und zugehöriger …
115
Dabei wird das Dummy-Ende an seiner Ausgangsposition, also der Dauer des Eingabe-Plans, fixiert. Im zweiten Schritt werden die AG iterativ in aufsteigender Reihenfolge der Startzeitpunkte linksbündig angeordnet. Das Vorwärts-/Rückwärts-Verbesserungsverfahren wird häufig in heuristische Lösungsverfahren für das RCPSP integriert und wird von einigen Autoren auch als Doppeljustierung (DJ) bezeichnet.24 Tatsächlich wird die Methode, die AG eines gegebenen zulässigen Ablaufplans beidseitig auszurichten, um den Plan zu verkürzen, in den erfolgreichsten heuristischen Lösungsmethoden für das RCPSP aus der Fachliteratur fast ausnahmslos eingesetzt.25 Numerische Studien in der Literatur zeigen, dass in vielen Fällen die von Heuristiken erzeugten zulässigen Pläne (teils wesentlich) verkürzt werden können, wenn das Vorwärts-/RückwärtsVerbesserungsverfahren durchgeführt wird.26 Aufgrund der Ein- und Ausgabe von Ablaufplänen lässt sich diese Methode als nachgestellter Verbesserungsschritt grundsätzlich in jede Lösungsprozedur für das RCPSP einbauen. Während die erläuterten Planerzeugungsschemata für das RCPSP lediglich den Ausgangspunkt für die nachfolgend vorgestellten Dekodierungsprozeduren für das RCPSP-ROC liefern, wird das Vorwärts-/RückwärtsVerbesserungsverfahren bereits in diesem Abschnitt für das RCPSP-ROC angepasst. Dazu werden in der modifizierten Fassung des Vorwärts-/RückwärtsVerbesserungsverfahren die AG zusätzlich auch verschoben, um das Ausmaß der Zusatzkapazität und damit die Kosten zu reduzieren. Die nachfolgend vorgestellte abgewandelte Fassung des Vorwärts-/Rückwärts-Verbesserungsverfahrens kann entsprechend als Verbesserungsschritt in Lösungsverfahren für das RCPSPROC eingebaut werden. Das Verfahren wird in Schnabel et al. (2018) in Abschnitt 4.2.5 auf S. 343 beschrieben. Der Pseudocode für das Verbesserungsverfahren für das RCPSP-ROC wird in Algorithmus 4.4 wiedergegeben. Als Eingabe bekommt diese Prozedur eine Projektinstanz des RCPSP-ROC zzgl. eines zulässigen Ausgangsplans S. Nachdem die Prozedur beendet worden ist, wird als Ausgabe der Ablaufplan S zurückgeliefert, welcher die gleiche oder höhere Güte als S aufweist. Als Beispieleingabe wird der Ablaufplan aus Abbildung 4.10b für das Projekt in Abbildung 4.10a eingesetzt. Als Kostenfaktor für eine genutzte KE der Zusatzkapazität von Ressource r wird GE κr = 21 KE , ∀ r ∈ R angenommen. Zu Beginn der Prozedur wird in Zeile 1 die in Algorithmus 4.2 definierte Umkehrfunktion des seriellen Planerzeugungsschemas verwendet, um eine den 24 Vgl.
Valls et al. (2005). Kolisch und Hartmann (2006). 26 Vgl. Valls et al. (2005). 25 Vgl.
116
4
Kompakte Lösungsrepräsentationen und zugehörige …
Algorithmus 4.4: Iteratives Verbesserungsverfahren ohne Erhöhung der Zusatzkapazität für das RCPSP-ROC
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Eingabe : Projekt P = (J , R, T , P j , d j , k jr , K r , z r , κr , u t ) und Ausgangsplan S Ausgabe : Ablaufplan S λ := Umkehrfunktion des seriellen Planerzeugungsschemas für S; Kopiere Plan S in S ; Ermittle Kosten c und Länge m des Ausgangsplans; repeat Setze c := c und m := m ; for l ← J to 0 do i := λl ; Berechne spätestmöglichen Startzeitpunkt für AG i in Plan S , sodass Projektdauer und Kosten von S nicht erhöht werden; end if S0 > 0 then Verschiebe alle AG um S0 nach links; Aktualisiere Kosten c und Dauer m = S J +1 ; if c − c > ε1 ∨ m − m > ε2 then Setze c := c und m := m ; for l ← 0 to J do i := λl ; Berechne frühestmöglichen Startzeitpunkt für AG i in Plan S , sodass Projektdauer und Kosten von S nicht erhöht werden; end Aktualisiere Kosten c und Dauer m = S J +1 ;
20 21
until c − c ≤ ε1 ∧ m − m ≤ ε2 ;
Ausgangsplan S erzeugende Aktivitätenliste λ zu berechnen. Im Beispiel lautet diese Liste λ = (0, 1, 2, 4, 3, 5, 6, 7). Daraufhin wird in Zeile 2 eine Kopie des Ausgangsplans S erstellt und in der lokalen Variable S gespeichert. Anschließend werden die Kosten für Zusatzkapazität und die Projektdauer des Plans S berechnet (Zeile 3). Die Kosten für die 6 KE der Zusatzkapazität im Beispielplan sind c = 3 GE und der Plan hat eine Dauer von m = 7 ZE. Die Schritte von Zeile 6 bis 20 werden in jedem Fall mindestens einmal durchgeführt und daraufhin solange wiederholt, bis der veränderte Plan in einer Schleifen-Iteration keine um mindestens ε1 > 0 ZE verringerte Projektdauer sowie um mindestens ε2 > 0 GE gesenkte Kosten aufweist. In der Schleife wird zuerst der Kostenwert und die Projektdauer vor der Iteration auf die entsprechenden
4.2 Grundlagen kompakter Kodierungen und zugehöriger …
117
Abbildung 4.10 Beispiel für Kostenreduktion ohne Verzögerung durch eine Iteration des Verbesserungsverfahrens für das RCPSP-ROC
Werte des aktuellen Plans gesetzt (Zeile 20). Im Beispiel ruft der Plan Kosten in Höhe von c = 3 GE hervor und besitzt eine Gesamtdauer von m = 7 ZE. Danach wird der Plan verändert. Zuerst werden die AG des Plans rechtsbündig angeordnet (Zeile 6 bis 11). Anschließend werden die AG linksbündig ausgerichtet (Zeile 15 bis 17). In beiden Änderungsschritten werden AG nur dann verschoben, wenn dies weder die Projektdauer noch die Kosten erhöht. Im Beispiel werden die AG zunächst verzögert. In umgekehrter Reihenfolge der Startzeitpunkte im Ausgangsplan werden die AG so spät wie möglich eingeplant, ohne die Güte zu verschlechtern. Der resultierende Plan ist in Abbildung 4.10c dargestellt. Falls der Plan nicht mehr am Anfang des Planungshorizonts beginnt, nachdem einige AG verschoben worden sind, werden die AG parallel nach links verschoben (Zeilen 10 und 11). Dies ist im Beispiel nicht notwendig, da der AG 1 nach wie vor zum Zeitpunkt 0 beginnt. Für den ggf. veränderten Plan werden die neuen Kosten c ≤ c und Dauer m ≤ m in Zeile 12 ermittelt.
118
4
Kompakte Lösungsrepräsentationen und zugehörige …
Nach der Rechtsverschiebung wird das Abbruchkriterium geprüft. Eine Linksverschiebung findet nur statt, wenn die Rechtsverschiebung die Projektdauer um mehr als ε1 reduziert hat oder die Kosten für Zusatzkapazität um mehr als ε2 gesenkt werden konnten. Dafür werden die Kosten und die Projektdauer, bevor und nachdem die Veränderungsprozedur angewendet worden ist, verglichen, welche in c und m respektive c und m hinterlegt sind (Zeile 13). Andernfalls wird die Rechtsverschiebung übersprungen und die Schleife verlassen. Im Beispiel konnten die Kosten reduziert werden. Im weiteren Verlauf der Iteration werden die AG in aufsteigender Reihenfolge der Startzeitpunkte im AG frühestmöglich eingeplant, ohne die Güte des Plans zu verringern. Der im Beispiel hierbei entstehende Plan ist in Abbildung 4.10d visualisiert. Für den ggf. veränderten Plan werden wiederum die neuen Kosten c ≤ c und Dauer m ≤ m in Zeile 19 ermittelt. Der verzögerte Beispielplan hat nun Kosten von c = 2 GE und eine Dauer von m = 7 ZE. Am Ende einer Iteration der Schleife wird wiederholt geprüft, ob das Abbruchkriterium erfüllt ist. Da 2 GE = c < c = 3 GE ist das Abbruchkriterium nicht erfüllt und es wird damit fortgefahren, die AG zu verfrühen. Nachdem die AG linksbündig angeordnet worden sind, hat der Plan eine Dauer von 7 ZE und verursacht Kosten in Höhe von 1 GE. Dieses Vorgehen wird solange iterativ wiederholt, wie die Kosten oder die Projektdauer um einen Betrag oberhalb eines Schwellenwerts ε1 > 0 bzw. ε2 > 0 verbessert werden konnten. Da der Algorithmus deterministisch ist, wird der Plan auch bei weiterer Wiederholung der Methode nicht wesentlich verbessert werden, wenn bereits in einer Iteration, in welcher die AG rechts- und linksseitiges angeordnet worden sind, der Plan nur gering gesteigerte Güte erhielt. Werden die Eingabe- und Ausgabepläne dieser Methode über das bereits beschriebene Vorgehen in korrespondierende Aktivitätenliste umgewandelt,27 dann wird, falls der Plan verbessert werden konnte, durch die Prozedur eine Aktivitätenliste modifiziert. Die Methode transformiert einen Ablaufplan in einen verwandten Plan und eine verschiebt einen AG nur, wenn dies den Zielfunktionswert nicht verschlechtert. Daher kann das Vorwärts-/Rückwärts-Verbesserungsverfahren als eine Lokaloder Nachbarschaftssuche interpretiert werden. Um entsprechende zulässige Pläne als Eingabe zu erhalten, werden im nächsten Abschnitt Dekodierungsprozeduren für das RCPSP-ROC vorgestellt. Das beschriebene Verbesserungsverfahren wird im weiteren Verlauf der Arbeit allen entwickelten Dekodierungsprozeduren als zusätzlicher letzter Schritt nach der eigentlichen 27 Vgl.
Algorithmus 4.2 auf S. 108.
4.3 Indirekte Kodierungen für verschiedene Zielsetzungen
119
Dekodierung hinzugefügt. Ausgehend vom dekodierten Plan kann das Verbesserungsverfahren Ablaufpläne von gleicher oder potenziell höherer Güte erzeugen. In Abhängigkeit von der Anzahl der Iterationen bis das Abbruchkriterium eintritt, kann der nachgestellte Verbesserungsschritt den gesamten Rechenaufwand für den endgültigen Plan erheblich erhöhen im Vergleich dazu, wenn der Plan unverändert zurückgegeben wird, nachdem er dekodiert worden ist. Die mögliche Verbesserung der Güte des Plans wird also u. U. durch eine erhöhte Rechenzeit erkauft. Dies wurde stichprobenartig in den numerischen Ergebnissen bestätigt, in welchen der Verbesserungsschritt bis zu einem Zeitlimit einerseits die mittlere Güte der gefundenen Lösungen verbesserte aber andererseits auch die Anzahl der evaluierten Lösungen reduzierte.
4.3
Indirekte Kodierungen für verschiedene Zielsetzungen
4.3.1
Simultane Minimierung der Projektdauer und Zusatzkapazitätsnutzung
4.3.1.1 Zusatzkapazitätsentscheidung durch heuristische Planvervollständigung Nachfolgend werden mehrere als Kodierung bezeichnete Darstellungsformen für zulässige Lösungen des RCPSP-ROC vorgestellt. Zudem wird jeweils erläutert, wie aus einer konkreten Ausprägung der Repräsentation die korrespondierende Lösung dekodiert werden kann. Wie bereits in Abschnitt 4.1 auf S. 95 erläutert wurde, werden Kodierungen gesucht, welche im Idealfall für jede Instanz stets mindestens eine optimale, möglichst wenige suboptimale und keinerlei unzulässige Lösungen darstellen können. Die im weiteren Verlauf vorgestellten Kodierungen werden als indirekt bezeichnet, da der Ablaufplan (d. h. die Startzeiten) der kodierten Lösung nicht unmittelbar aus der konkreten Ausprägung der Kodierung abgelesen werden können. Stattdessen muss der Plan mithilfe eines Algorithmus, welcher als Dekodierungsprozedur bezeichnet wird, rekonstruiert werden. Die erste vorgestellte Kodierung (λ) besteht aus einer Aktivitätenliste28 λ = (λ0 , λ1 , . . . , λ J , λ J +1 ) mit λl ∈ J , ∀ l ∈ J . 28 Siehe
Abschnitt 4.2.1 auf S. 102 für eine Definition.
(4.6)
120
4
Kompakte Lösungsrepräsentationen und zugehörige …
Die Dekodierungsprozedur für die Repräsentation (λ) basiert im Kern auf dem seriellen Planerzeugungsschema und baut ebenfalls in J +2 Schritten einen Ablaufplan auf, indem AG zu bestimmten Startzeitpunkten eingeplant werden, wobei die Prioritäten der AG berücksichtigt werden. Im Gegensatz zum seriellen Planerzeugungsschema wird nicht die Strategie verfolgt, die AG frühestmöglich zulässig einzuplanen. Stattdessen wird heuristisch motiviert der Startzeitpunkt für einen AG ausgewählt, wenn dieser eingeplant wird. Damit wird auch implizit eine Entscheidung darüber getroffen, in welchem Umfang Zusatzkapazität eingesetzt wird. Der AG kann innerhalb des Zeitfensters zwischen frühestem Beginn mit beliebig vielen Zusatzkapazitätseinheiten (innerhalb der oberen Schranken z r ) und ohne Zusatzkapazität zu nutzen eingeplant werden. Um diese Entscheidung informiert zu treffen, vervollständigt die Dekodierungsprozedur im Einplanungsschritt für jeden zu evaluierenden Startzeitpunkt aus dem Zeitfenster den bisher erzeugten Teilplan heuristisch. Ein Teilplan wird mithilfe des seriellen Planerzeugungsschemas vervollständigt. Die Einplanungsreihenfolge ergibt sich aus der gegebenen AG-Priorisierung. Der erzeugte Plan darf keine Zusatzkapazität nutzen. Die verfügbare Kapazität wird im seriellen Erzeugungsschema entsprechend gesetzt. Da die Teilpläne jeweils heuristisch vervollständigt werden, wird der erzielbare Gewinn, wenn ein AG zu einem bestimmten Zeitpunkt in den Teilplan eingeplant wird, myopisch geschätzt. Der tatsächlich erreichbare Gewinn wird mindestens den berechneten Wert aufweisen, weshalb der Gewinn des heuristischen Plans eine untere Schranke für den erzielbaren Gewinn ist. Es wird schließlich der Startzeitpunkt im Zeitfenster gewählt, bei welchem der geschätzte Gewinn maximal ist. Als Beispieleingabe wird das Projekt aus Abbildung 2.6 auf S. 17 und die Aktivitätenliste λ = (0, 1, 2, 4, 3, 5, 6, 7) verwendet. Der Pseudocode für die Dekodierungsprozedur wird in Algorithmus 4.5 dargestellt. Zudem ist der Zwischenstand der Prozedur nach der zweiten Iteration in Abbildung 4.11 auf S. 122 abgebildet. Nach der zweiten Iteration wurden die AG 0 und 1 bereits eingeplant. Zu Beginn ist noch kein AG eingeplant (Zeile 1). Ähnlich zum seriellen Planerzeugungsschema für das RCPSP29 wird in der äußeren while-Schleife solange der Einplanungsschritt wiederholt, bis allen AG ein Startzeitpunkt zugeordnet worden ist (Zeile 2). In jedem Einplanungsschritt wird die Menge der einplanbaren AG E bestimmt (Zeile 3). Im Beispiel ist in der ersten Iteration nur der Dummy-Start-AG 0 einplanbar, also E = {0}. Nachdem AG 0 in der zweiten Iteration eingeplant worden 29 Vgl.
Algorithmus 4.1 auf S. 113.
4.3 Indirekte Kodierungen für verschiedene Zielsetzungen
121
Algorithmus 4.5: Dekodierungsprozedur für Repräsentation (λ)
1 2 3 4 5 6
7
8 9 10 11 12 13 14 15 16 17 18 19 20
Eingabe : Projekt P = (J , R, T , P j , d j , k jr , K r ) und Auswahlfunktion ϕ Ausgabe : Ablaufplan S Initialisiere leeren Plan S; while Plan S unvollständig do Bestimme Menge E , der nicht eingeplanten AG, deren Vorgänger alle eingeplant sind; Wähle mittels Auswahlfunktion ϕ einen AG j aus E ; Berechne spätesten Endzeitpunkt t p f := maxi∈P j {Si + di } aller Vorgänger von AG j; Berechne frühestmöglichen ressourcenzulässigen Beginn mit Zusatzkapazität t := min{t | t ≥ t p f ∧ (k jr + i∈Aτ kir ≤ K r +zr , ∀ r ∈ R ∀ τ ∈ {t + 1, . . . , t + d j })} von AG j; Berechne frühestmöglichen ressourcenzulässigen Beginn ohne Zusatzkapazität t := min{t | t ≥ t ∧ (k jr + i∈Aτ kir ≤ K r , ∀ r ∈ R ∀ τ ∈ {t + 1, . . . , t + d j })} von AG j; ˆ j (S) := {t | t ≤ t ≤ t ∧ (k jr + i∈A kir ≤ Berechne Zeitfenster W τ K r + z r , ∀ r ∈ R ∀ τ ∈ {t + 1, . . . , t + d j })} für zulässigen Beginn des AG j; Setze S ∗j := 0 und π ∗ := −∞; ˆ j (S) do foreach τ ∈ W Initialisiere Sˆ = S und S j = τ ; Vervollständige Plan S j mittels partiellem SSGS mit ϕ ohne Zusatzkapazität für die folgenden Einplanungsschritte; if π(S ) > π ∗ then π ∗ := π(S ); S ∗j := τ ; end end Plane AG j mit Beginn zu Zeitpunkt S ∗j ein; end Verbessere Plan S durch Anwendung von Verbesserungsverfahren für RCPSP-ROC;
ist, sind die AG 1 und 2 einplanbar, d. h. E = {1, 2}. Nachdem auch AG 1 in der dritten Iteration eingeplant worden ist, gilt E = {2, 3}. Aus dieser Menge wird mithilfe der Auswahlfunktion ϕ ein AG j gewählt, um diesen in den Plan einzufügen (Zeile 4). Daher werden in den ersten drei Iterationen die AG 0, 1 und 2 in aufsteigender Reihenfolge gewählt. Es wird der früheste Zeitpunkt t p f (engl. precedence feasible) berechnet, ab welchem der gewählte AG reihenfolgezulässig einplanbar wäre, d. h. das Maximum der spätesten Endzeitpunkte seiner Vorgänger (Zeile 5). Für AG 0 wird aufgrund
122
4
Kompakte Lösungsrepräsentationen und zugehörige …
Abbildung 4.11 Einplanung von AG 2 in (λ)-Dekodierungsprozedur
fehlender Vorgänger t p f = 0 gesetzt. In der zweiten und dritten Iteration werden AG 1 und 2 wird ebenfalls auf t p f = 0 gesetzt, da der einzige Vorgänger 0 zu diesem Zeitpunkt beendet wird. Danach wird der früheste Zeitpunkt t berechnet, in welchem AG j beginnen kann, wenn dieser Zusatzkapazität nutzen darf (Zeile 6). Ein Beginn vor frühestmöglicher Reihenfolge- und Ressourcenzulässigkeit, wenn ggf. Zusatzkapazität (innerhalb der oberen Schranken z r ) t genutzt wird, ist nicht umsetzbar und würde zu einem unzulässigen Plan führen. Für AG 0, 1 und 2 gilt t = 0. Daraufhin wird der früheste Zeitpunkt t = tr f (engl. resource feasible) berechnet, in welchem AG j beginnen kann, falls keinerlei Zusatzkapazität eingesetzt werden darf (Zeile 7). Ein späterer Beginn als nach frühestmöglicher Reihenfolgeund Ressourcenzulässigkeit t, wenn keine Zusatzkapazität genutzt wird, kann nicht optimal sein, da bei keinerlei Kosten für Zusatzkapazität kein Anreiz besteht, die Projektdauer zu verlängern. Aufgrund der monoton fallenden Erlöse könnte der Gewinn sinken, wenn die Gesamtdauer verlängert wird. Für AG 0 und 1 gilt t = 0. In der dritten Iteration kann AG 2 zum Zeitpunkt 3 ohne Zusatzkapazität gestartet
4.3 Indirekte Kodierungen für verschiedene Zielsetzungen
123
werden, d. h. es wird t = 3 gesetzt. Wie in Abbildung 4.11d auf S. 122 gezeigt wird, liegen die Kosten in diesem Fall bei 0 GE und der Gewinn kann nicht erhöht werden, wenn der Projektablauf weiter verzögert wird. ˆ j (S) auf, in welDie Zeitpunkte t und t spannen eine Menge von Zeitpunkten W chen der AG sowohl reihenfolge- als auch ressourcenzulässig eingeplant werden könnte, wenn beliebig viel Zusatzkapazität innerhalb der oberen Schranken eingesetzt werden darf (Zeile 8). Zeitpunkte τ , welche weder das Minimum noch das ˆ j (S) darstellen, d. h. t < τ < t, können als StartMaximum der Zeitpunkte in W zeitpunkt unzulässig hinsichtlich der Kapazität K r + z r für eine Ressource r sein. In ˆ 0 (S) = W ˆ 1 (S) = {0}. In der dritten Iteration der ersten und zweiten Iteration ist W ˆ wird W2 (S) = {0, 1, 2, 3} zugewiesen. Der beste gefundene Startzeitpunkt S ∗j wird am Anfang auf Zeitpunkt 0 gesetzt und der zugehörige Gewinn π ∗ , wenn AG j eingeplant wird, wird mit −∞ initialisiert (Zeile 9). Jeder tatsächlich berechnete Gewinn wird oberhalb des Startwerts ˆ j (S) iteriert (Zeile 10). Es für π ∗ liegen. Daraufhin wird über jedes Element τ ∈ W wird jeweils temporär der Startzeitpunkt von AG j auf den in einer Iteration evaluierten Zeitpunkt τ gesetzt (Zeile 11). Entsprechend würden in der dritten Iteration die Alternativen S2 = 0, S2 = 1, S2 = 2 und S2 = 3 evaluiert werden. Um einen Kandidaten für den Startzeitpunkt zu bewerten, wird das partielle serielle Planerzeugungsschema aufgerufen (Zeile 12). Als Argumente werden die Menge der noch einzuplanenden AG, eine Kopie des bisher erzeugten Teilplans Sˆ mit Sˆ j = τ und die Auswahlfunktion ϕ übergeben. Das partielle Schema unterscheidet sich vom gängigen seriellen Planerzeugungsschema dahingehend, dass es nicht mit einem leeren Plan beginnt und alle AG einplant, sondern bereits einen zulässigen Teilplan als Eingabe bekommt und lediglich für die noch nicht eingeplanten AG einen Startzeitpunkt bestimmt. In der dritten Iteration entstehen die vier in Abbildung 4.11 auf S. 122 dargestellten Pläne. Mittels seriellem Planerzeugungsschema ohne Zusatzkapazität wurden die dunkelgrau eingefärbten AG 3 bis 6 eingeplant und damit der Plan vervollständigt. Es wird für jeden vervollständigten Plan S der Gewinn πτ (S) berechnet und mit dem besten bisher gefundenen Gewinn (zu Beginn −∞) verglichen (Zeile 13). Konnte der Gewinn für den Startzeitpunkt τ zum vorherigen Stand verbessert werden, wird der beste bisher gefundene Gewinn π ∗ und der dazugehörige Startzeitpunkt S ∗j entsprechend aktualisiert (Zeilen 14 und 15). Nach Evaluation aller Kandidaten für den Startzeitpunkt wird der AG endgültig zum Zeitpunkt mit dem höchsten prognostizierten Gewinn eingeplant (Zeile 18). Im Beispiel wird der Startzeitpunkt von AG 2 auf Zeitpunkt 2 gesetzt, d. h. S2 = 2. Bei Startzeit S2 = 2 hat der myopisch vervollständigte Plan eine Dauer von 9 ZE und benötigt 1 KE der Zusatzkapazität. Es ergibt sich ein Gewinn in Höhe von 19,5 GE für Kundentyp I aus Tabelle 2.4 auf
124
4
Kompakte Lösungsrepräsentationen und zugehörige …
ˆ 2 (S) = {1, 2, 3, 4} so gewählt, dass der S. 23. Es würde dann entsprechend S2 ∈ W geschätzte Gewinn maximal ist und danach analog mit AG 4 fortgefahren. Für einen Kunden mit einer anderen Erlösfunktion würde ggf. ein anderer Startzeitpunkt für AG 2 gewählt werden. Die Einplanungsreihenfolge wird wie im klassischen seriellen Planerzeugungsschema für das RCPSP über eine Priorisierung der AG induziert. Im Erläuterungstext wurde o. B. d. A. eine Aktivitätenliste für die AG-Priorisierung verwendet. Werden Prioritätswerte oder eine Prioritätsregel genutzt, so wird, analog zum seriellen Planerzeugungsschema, der in einem Einplanungsschritt einzuplanende AG aus der Menge der einplanbaren AG mithilfe der Auswahlfunktion bestimmt.30 Bei Vollenumeration des Genotyp-Raums dieser Kodierung wird eine Menge von zulässigen Plänen im Lösungsraum aufgespannt. Es lässt sich jedoch nicht immer der optimale Plan für eine RCPSP-ROC-Instanz durch die Kodierung (λ) abbilden. Dies liegt daran, dass die Auswahl des Startzeitpunkts, indem der Plan heuristisch ohne Zusatzkapazität zu nutzen vervollständigt wird, nur eine untere Schranke für den erzielbaren Gewinn des vervollständigten Teilplans liefert. Angenommen, es würde in jedem Einplanungsschritt der Startzeitpunkt aus der Menge der Kandidaten gewählt, indem der Teilplan mithilfe eines exakten Verfahrens vervollständigt wird. Dann kann ein optimaler Plan stets durch die (λ)-Kodierung abgebildet werden. Beispielsweise kann als exaktes Verfahren ein Solver für gemischt-ganzzahlige lineare Optimierungsprobleme (MILP), welcher die Startzeiten der noch nicht eingeplanten AG optimiert, eingesetzt werden. Jedoch würde dies gerade in den ersten Einplanungsschritten, in welchen der Teilplan noch sehr klein ist, aufgrund des hohen Rechenaufwands und damit Zeitbedarfs keine praktikable Herangehensweise darstellen. Der rechnerische Aufwand der Dekodierungsprozedur ist bei dieser Kodierung besonders hoch, da für jeden Einplanungsschritt jeweils potenziell mehrere Durchläufe des seriellen Planerzeugungsschemas durchgeführt werden müssen. Um für diese Kodierung einen Ablaufplan aus der korrespondierenden Aktivitätenliste zu erzeugen, werden intern im Verfahren mehrere Ablaufpläne erzeugt. Mit fortschreitender Dekodierung und sinkender Anzahl noch einzuplanender AG wird es weniger aufwendig, die temporären Pläne zu berechnen. Nachdem ein vollständiger Plan erzeugt worden ist, wird in dieser Kodierung das Verbesserungsverfahren für das RCPSP-ROC angewendet, um den Plan ggf. zu verbessern.31 Dies kann den Rechenaufwand weiter erhöhen. Bei der Dekodierung einer konkreten Ausprägung der (λ)-Repräsentation wird sowohl in Algorithmus 4.5 auf S. 121 als auch im anschlie30 Vgl.
die Auswahlfunktionen auf S. 104. Abschnitt 4.2.3 auf S. 113.
31 Siehe
4.3 Indirekte Kodierungen für verschiedene Zielsetzungen
125
ßenden Verbesserungsverfahren für das RCPSP-ROC potenziell eine Vielzahl von Plänen als Zwischenergebnisse erzeugt. In dieser Arbeit wurde das parallele Planerzeugungsschema nicht angepasst für die (λ)-Kodierung, weil die bisherigen Ergebnisse für diese Kodierung auf Basis des seriellen Planerzeugungsschemas nicht wettbewerbsfähig waren. Daher wurde diese Kodierung in Schnabel et al. (2018) nicht weiter behandelt. Das Grundgerüst des parallelen Planerzeugungsschemas kann jedoch als Basis für eine Dekodierungsprozedur für die (λ)-Kodierung genutzt werden. Dazu muss im Kern des in Algorithmus 4.5 auf S. 121 vorgestellten Verfahrens (Zeile 12) anstelle eines partiellen seriellen ein partielles paralleles Planerzeugungsschema eingesetzt werden. Das partielle parallele Schema erhält als Eingabe einen Teilplan und eine Priorisierung der AG. Das partielle parallele Schema ergänzt darauf den Teilplan, indem beginnend ab der ersten Periode die verfügbare Restkapazität mit den verbleibenden AG gemäß deren Priorisierung aufgefüllt wird. Dabei wird sichergestellt, dass der resultierende Plan zulässig bleibt. Das Rahmengerüst in Algorithmus 4.5 lässt sich nicht unmittelbar dem Aufbau des parallelen Planerzeugungsschemas angleichen. Entsprechend könnte das parallele Schema nur genutzt werden, um den erzielbaren Gewinn, wenn der Plan vervollständigt worden ist, abzuschätzen.
4.3.1.2 Zusatzkapazitätsentscheidung je Arbeitsgang mit beliebiger oder keiner Nutzung Die Grundidee der (λ|β)-Kodierung ist es, eine Entscheidung je AG über das Ausmaß, in welchem Zusatzkapazitäten genutzt werden, über zusätzliche Einträge abzubilden. Daher wird in dieser Kodierung die Komponente, welche die AG priorisiert, um einen Binärvektor ergänzt: β = (β0 , β1 , . . . , β J , β J +1 )
(4.7)
mit β j ∈ {0, 1} = Z2 , ∀ j ∈ J . Ein Eintrag von β j = 1 in diesem Vektor bedeutet, dass ein AG j beliebig viele Zusatzkapazitätseinheiten, unter Berücksichtigung der oberen Schranken z r für Zusatzkapazität, beanspruchen darf, wenn dieser eingeplant wird. Andernfalls, bei einem Eintrag von 0, darf dieser AG keinerlei Zusatzkapazität in Anspruch nehmen. Im ersten Fall liegt die Kapazität, welche in einer Periode genutzt werden kann, um die Ressourcenzulässigkeit herzustellen, bei K r = K r + z r . Es wird also sowohl reguläre Kapazität als auch Zusatzkapazität genutzt. Im zweiten Fall ist eine Ressourcenzulässigkeit erst gegeben, wenn die geringere Kapazitätsgrenze K r = K r rein aus regulärer Normalkapazität eingehalten wird. Diese Kodierung wird in Schnabel et al. (2018) in Abschnitt 4.2.4 auf S. 342 beschrieben.
126
4
Kompakte Lösungsrepräsentationen und zugehörige …
Die Entscheidung über den Startzeitpunkt und damit auch die Zusatzkapazität, welche der Plan nutzt, wird durch die Werte im Vektor β impliziert und damit einer übergeordneten Verbesserungsprozedur überlassen. Wird ein AG j eingeplant und ˆ j (S) aus Algorithmus 4.5 ist β j = 1, dann wird die linke Grenze des Zeitfensters W auf S. 121 als Startzeitpunkt gewählt, d. h. S j = t. Dies stellt den frühesten Startzeitpunkt dar, an welchem der AG sowohl reihenfolge- als auch ressourcenzulässig innerhalb der oberen Schranke für Zusatzkapazität beginnen kann. Andernfalls – bei ˆ j (S) gewählt, d. h. S j = t. Es handelt sich β j = 0 – wird die rechte Grenze von W hierbei um den frühesten Startzeitpunkt, an welchem der AG sowohl reihenfolge- als auch ressourcenzulässig innerhalb der Normalkapazität beginnen kann, d. h. ohne Zusatzkapazität zu verwenden.
Abbildung 4.12 Zwei beispielhafte Ausprägungen der (λ|β)-Kodierung
Ein beispielhafte Ausprägung für diese Kodierung ist λ 01352467 = . β 00010101
(4.8)
Der als Zwischenschritt mit dem seriellen Planerzeugungsschema und dem oben beschriebenen Dekodierungsansatz erzeugte Teilplan, nachdem die AG 1, 3, 5 und 2 in den Plan eingefügt worden sind, ist in Abbildung 4.12a dargestellt. AG 2 beginnt zunächst (in Abbildung 4.12a) verzögert, da er keine Zusatzkapazitätseinheiten nutzen darf. In Abbildung 4.12b wird alternativ gezeigt, was passiert, wenn der β-Vektor-Eintrag für AG 2 invertiert wird. In beiden Fällen würde der Plan derart vervollständigt werden, dass die verbleibenden AG 4 und 6 keine Zusatzkapazität nutzen und AG 7 ggf. Zusatzkapazität verwendet. Dies geschieht nach dem Prinzip der frühestmöglich zulässigen Einplanung. Das entscheidende Merkmal dieser
4.3 Indirekte Kodierungen für verschiedene Zielsetzungen
127
Kodierung ist, dass für β j = 0 der Beginn eines AG j verzögert wäre mit Hinblick auf den frühesten zulässigen Startzeitpunkt bezogen auf die vollständige Kapazität inklusive der Zusatzkapazität. Im Algorithmus 4.1 des klassischen seriellen Planerzeugungsschemas für das RCPSP auf S. 102 muss lediglich angepasst werden, wie die Startzeitpunkte S j für den einzuplanenden AG j berechnet werden. Die Ressourcenzulässigkeit bei β j = 1 ist bereits gegeben, wenn die zusammengesetzte Kapazität K r + z r aus Normalkapazität und Zusatzkapazität unterschritten wird. Für β j = 0 darf die Zusatzkapazität nicht genutzt werden, weshalb sich das maximal nutzbare Kapazitätsniveau auf die Normalkapazität reduziert. Dies verzögert möglicherweise den Start. Konkret ergibt sich die Dekodierungsprozedur für (λ|β) aus dem seriellen Planerzeugungsschema für das RCPSP, wobei in im Algorithmus 4.1 auf S. 103 in Zeile 6 der Startzeitpunkt der einzuplanenden Aktivität j über die folgende geänderte Formel S j := min{t | t ≥ t p f ∧ (k jr +
kir ≤ K r , ∀ r ∈ R ∀ τ ∈ {t + 1, . . . , t + d j })}
i∈Aτ
berechnet wird. Dabei sei die Kapazität K r wie folgt definiert: K r
=
K r + z r , falls β j = 1, Kr ,
andernfalls.
(4.9)
(4.10)
Wenn ein AG j mit zugehörigem Eintrag β j = 1 eingeplant wird, darf dieser grundsätzlich Zusatzkapazität nutzen. Ist im Teilplan jedoch ausreichend Restkapazität für AG j verfügbar, kann dieser im Plan begonnen werden, ohne die Zusatzkapazität zu erhöhen. Folglich bedeutet β j = 1 für einen AG j zwar, dass dieser im resultierenden Ablaufplan Zusatzkapazität nutzen kann, er aber nicht zwangsläufig Zusatzkapazität beanspruchen muss. Der AG j mit β j = 1 wird genau dann im Plan die Zusatzkapazität beanspruchen, wenn im Einplanungsschritt von AG j hierdurch ein früherer Beginn ermöglicht wird. Angenommen der AG j mit β j = 1 kann bereits frühestmöglich reihenfolgezulässig eingeplant werden, ohne Zusatzkapazität zu nutzen. Dann wird AG j auch im endgültigen Plan unabhängig von β j keine Zusatzkapazität nutzen. Entsprechend würde AG j nicht für einen, in einer späteren Iteration der Dekodierungsprozedur eingeplanten, AG i mit βi nachträglich in die Zusatzkapazität „verschoben“ werden. Nur wenn ein AG j mit β j = 1 eingeplant wird, darf das Ausmaß, in welchem Zusatzkapazität durch den Teilplan genutzt wird, in diesem Einplanungsschritt erhöht werden. Ein optimaler Plan lässt sich in der (λ|β)-Kodierung nicht für alle Instanzen darstellen, da im optimalen Plan bzw. den optimalen Plänen ein AG u. U. weder
128
4
Kompakte Lösungsrepräsentationen und zugehörige …
keinerlei noch die maximal mögliche Menge an Zusatzkapazität nutzen kann. Als Beispiel lässt sich der optimale Plan für das Projekt in Abbildung 3.8d auf S. 8.4 nicht in der (λ|β)-Repräsentation darstellen. Die nicht-optimalen zulässigen Pläne des Beispiels sind jedoch beide abbildbar. Der Rechenaufwand der Dekodierungsprozedur für die Repräsentation (λ|β) ist lediglich geringfügig höher als im konventionellen seriellen Planerzeugungsschema für das RCPSP.32 Angenommen der AG j soll eingeplant werden und keine Zusatzkapazität nutzen, da β j = 0 gesetzt worden ist. In diesem Fall ist es vermutlich vergleichsweise aufwendig, den frühestmöglichen ressourcenzulässigen Startzeitpunkt (nachdem die Reihenfolgezulässigkeit sichergestellt worden ist) ohne Zusatzkapazität zu berechnen. Wegen des Verbots der Zusatzkapazität liegt der früheste ressourcenzulässige Startzeitpunkt tendenziell später im Planungshorizont. Daher muss häufiger inkrementiert werden, um den Startzeitpunkt zu bestimmen, als dies bei β j = 1 der Fall ist. Die Ressourcenzulässigkeit tritt in der Regel früher ein, wenn anstelle keiner Zusatzkapazität ein beliebiges Ausmaß an genutzten Zusatzkapazitätseinheiten innerhalb der oberen Schranken z r erlaubt wird. Die Anzahl der erzeugten Pläne wird für die Kodierung (λ|β) aus der Anzahl, der durch das Verbesserungsverfahren für das RCPSP-ROC33 erzeugten Pläne, erhöht um 1, berechnet. Der Wert wird inkrementiert, da im Dekodierungsschritt für einen (λ|β)-Vektor bereits genau ein Ablaufplan erzeugt wird.
4.3.1.3 Zusatzkapazitätsentscheidung je Arbeitsgang mit partieller Nutzung Eine Schwachstelle der (λ|β)-Kodierung ist die Tatsache, dass der optimale Plan u. U. nicht abgebildet werden kann. Um die Abbildung stets zu ermöglichen, muss ein Startzeitpunkt t für einen AG j durch das serielle Planerzeugungsschema im ˆ j (S) zwischen t und t abbildbar sein, d. h. t < t < t. Inneren des Zeitfensters W Der Zeitpunkt t ist der frühestmögliche Beginn, wenn Zusatzkapazität im zulässigen Rahmen (d. h. zr ,t ≤ z r , ∀r ∈ R, t ∈ T ) genutzt werden darf. Hingegen bezeichnet der Zeitpunkt t den frühestmöglichen Beginn, wenn keine Zusatzkapazität eingesetzt wird (also zr ,t = 0, ∀r ∈ R, t ∈ T ). Der Binärvektor β wird in dieser Kodierung durch den Vektor τ ersetzt. Es sei τ = (τ0 , τ1 , . . . , τ J , τ J +1 )
32 Siehe 33 Siehe
Abschnitt 4.2.1 auf S. 102. Abschnitt 4.2.3 auf S. 113.
(4.11)
4.3 Indirekte Kodierungen für verschiedene Zielsetzungen
129
mit reellwertigen Einträgen τ j ∈ [0, 1] ⊆ R, ∀ j ∈ J . Der Wert von τ j bestimmt ˆ j (S). die Position des Startzeitpunkts von AG k innerhalb des Zeitfensters W Um eine einheitliche Bedeutung der Werte 0 und 1 im Hinblick auf die Repräsentation (λ|β) zu erhalten, bedeutet die Belegung τ j = 1 analog zu β j = 1, dass der Startzeitpunkt des AG j auf t gesetzt wird. Entsprechend liegt der Startzeitpunkt bei τ j = 0 ähnlich wie bei β j = 0 auf dem Zeitpunkt t. Alle Werte zwischen 0 und 1 werden auf linear interpolierte und kaufmännisch gerundete Startzeitpunkte dazwischen gelegt, d. h. S j = r ound(t + (1 − τ j ) · (t − t)),
(4.12)
wobei, falls S j kein bezogen auf K r + z r (maximale Zusatzkapazität) ressourcenzulässiger Startzeitpunkt ist, dieser so lange um eine Periode nach hinten verschoben wird, bis der Beginn des AG j in dieser Periode zulässig ist.
Abbildung 4.13 Zwei beispielhafte Ausprägungen der (λ|τ )-Kodierung
Die Ausprägung λ 0 1 3 5 2 4 6 7 = τ 0,1 0,6 0,4 0,5 0,7 0,9 0,4 0,1
(4.13)
wird als Eingabe bei der Dekodierung für das Beispielprojekt in den in Abbildung 4.13 dargestellten Ablaufplan umgewandelt. AG 1, 3 und 5 wurden bereits eingeplant. Für τ2 = 0,4 in Abbildung 4.13a nutzt AG 2 wegen S2 = r ound(0 + (1 − 0,4) · 4) − 1 = 2 eine Zusatzkapazitätseinheit und für τ2 = 0,9 in Abbil-
130
4
Kompakte Lösungsrepräsentationen und zugehörige …
dung 4.13b nutzt AG 2 wegen S2 = r ound(0 + (1 − 0,9) · 4) = 0 zwei KE der Zusatzkapazität. Für die Dekodierungsprozedur der Kodierung (λ|τ ) muss der Pseudocode in Algorithmus 4.1 auf S. 103 in Zeile 6 entsprechend Gleichung 4.12 auf S. 129 angepasst werden. Im Vergleich zum klassischen seriellen Planerzeugungsschema ändert sich der Startzeitpunkt des einzuplanenden AG. Da ein stetiger Wert verwendet wird, um einen Zeitpunkt aus dem diskreten Zeitfenster zwischen frühestem Beginn mit Zusatzkapazität und ohne Zusatzkapazität zu wählen, gibt es entsprechend viel mehr Ausprägungen der (λ|τ )-Repräsentation als Pläne, da viele unterschiedliche Belegungen des τ -Vektors auf die gleichen Positionen im Zeitfenster bei den jeweiligen AG führen.34 In der Dekodierungsprozedur für die (λ|τ )-Repräsentation sind nur wenige Rechenschritte nötig, um die Zeitfenstergrenzen zu ermitteln und den Startzeitpunkt eines AG j anhand des Werts von τ j zu bestimmen. Daher ist der Rechenaufwand nur unwesentlich höher verglichen mit dem Ansatz, den Plan durch das serielle Planerzeugungsschema für das RCPSP erzeugen zu lassen. Eine erhöhte Anzahl der Rechenschritte kann dadurch bedingt werden, dass u. U. die Startzeit sukzessive inkrementiert werden muss, bis die Ressourcenzulässigkeit mit beliebig vielen Zusatzkapazitätseinheiten (unterhalb der Limits) erreicht wird. Um die Anzahl der erzeugten Pläne in einem Dekodierungsschritt zu bestimmen, wurde die Anzahl der Zwischenpläne, welche durch das Verbesserungsverfahren für das RCPSP-ROC35 erzeugt worden sind, um 1 erhöht. Dies wird damit begründet, dass bereits ein Plan generiert wird, wenn das Tupel (λ|τ ) dekodiert wird. Die Dekodierungsprozedur ließe sich mit geringem Aufwand mit Prioritätswerten, um die AG-Priorisierung darzustellen, verwenden.36 Sie ließe sich auch auf das parallele Planerzeugungsschema übertragen, indem ein AG j genau dann in einem Entscheidungszeitpunkt tdt als einplanbar gilt, wenn der Beginn S j von j nach der obigen Berechnungsvorschrift zeitlich hinter tdt liegt, d. h. S j ≥ tdt . Diese Kodierung wurde in Schnabel et al. (2018) ebenfalls nicht aufgegriffen, da die numerischen Ergebnisse nicht wettbewerbsfähig waren.
34 Die
Dekodierungsfunktion ist folglich nicht injektiv. Abschnitt 4.2.3 auf S. 113. 36 Vgl. die Auswahlfunktionen auf S. 104. 35 Siehe
4.3 Indirekte Kodierungen für verschiedene Zielsetzungen
4.3.2
131
Projektdauerminimierung für feste Ressourcenprofile
4.3.2.1 Einhaltung zeitunabhängiger Schranken für die Zusatzkapazität Zuvor wurde eine Kodierung vorgestellt, welche für gegebene AG-Prioritäten in jedem Einplanungsschritt mehrere alternative Startzeitpunkte bewertet, indem ein Teilplan heuristisch vervollständigt wird, und anschließend den vielversprechendsten Zeitpunkt auswählt. Darauf wurden zwei Kodierungen präsentiert, die je AG einen Wert enthalten, welcher die Position des AG im Zeitfenster zwischen frühestem Beginn mit und ohne Zusatzkapazität bestimmt. Während sich alle drei Kodierungen eher an den AG orientieren, folgen nun zwei ressourcenorientierte Kodierungen. Diese Kodierungen beinhalten als Zusatzinformation eine Entscheidung über die nutzbare Zusatzkapazität je Ressource. Die Grundidee der (λ|ˆzr )-Kodierung besteht darin, die nutzbare Zusatzkapazität je Ressource r auf einen maximal erlaubten Wert zˆr ≤ z r , ∀r ∈ R zu begrenzen. Diese konstante und ressourcenspezifische Limitation besteht über den kompletten Planungshorizont. Ergänzt um eine Priorisierung der AG, bspw. eine Aktivitätenliste λ, kann aus dem Paar (λ|ˆzr ) ein Ablaufplan für das RCPSP-ROC abgeleitet werden. Diese Kodierung wird in Schnabel et al. (2018) in Abschnitt 4.2.2 auf S. 341 beschrieben. Die Kodierung enthält neben der Aktivitätenliste eine weitere Komponente zˆ = (ˆz 1 , . . . , zˆ R )
(4.14)
mit zˆr ∈ {0, . . . , z r }, ∀ r ∈ R. Die Grenze für die nutzbare Zusatzkapazität kann folglich zwischen keinerlei Zusatzkapazität und der jeweiligen oberen Schranke z r für Zusatzkapazität liegen. Das Vorgehen, um einen Plan zu erzeugen, kann fast unverändert vom seriellen Planerzeugungsschema für das RCPSP aus Abschnitt 4.2.1 auf S. 102 übernommen werden, wobei das verfügbare Kapazitätsniveau einer Ressource r auf K r = K r + zˆr gesetzt wird. Die Grundidee der Kodierung basiert auf der Dekomposition einer RCPSP-ROC-Instanz in viele RCPSP-Instanzen über die Zusatzkapazitätsprofile.37 Entsprechend wird für diese Kodierung der Startzeitpunkt eines einzuplanenden AG immer auf den frühesten reihenfolge- und (bezüglich K r ) ressourcenzulässigen Zeitpunkt gelegt, wenn ein Plan erzeugt wird. Ein AG kann entsprechend früher beginnen, wenn Zusatzkapazität bei einem Wert zˆr > 0 genutzt wird und nicht ausschließlicher die regulären Kapazitätseinheiten K r verfügbar sind. 37 Vgl.
Abschnitt 3.2.2 auf S. 75.
132
4
Kompakte Lösungsrepräsentationen und zugehörige …
Abbildung 4.14 Zwei beispielhafte Ausprägungen der (λ|ˆzr )-Kodierung
Die Dekodierungsprozedur erzeugt für die Ausprägung (λ|ˆzr ) = (0, 1, 3, 5, 2, 4, 6, 7|0) als Zwischenergebnis den in Abbildung 4.14a abgebildeten Plan, in welchem AG 2 eingeplant werden soll. Da die Zusatzkapazität für die betrachtete erneuerbare Ressource r auf zˆr = 0 gesetzt ist, kann AG 2 kapazitätsbedingt erst zu Beginn der Periode 4 (bzw. zu Zeitpunkt 3) starten. Die Ausprägung (λ|ˆzr ) = (0, 1, 3, 5, 2, 4, 6, 7|1) hingegen führt zu dem in Abbildung 4.14b gezeigten Plan. Da zˆr für die Ressource auf 1 gesetzt ist, kann der Start von AG 2 im Vergleich zur vorherigen Ausprägung bereits auf den Zeitpunkt 0 vorgezogen werden. Die zwei erlaubten Einheiten an Zusatzkapazität werden im Beispiel nur in zwei Perioden genutzt. Das Ausmaß der tatsächlich genutzten Zusatzkapazität kann also unterhalb des erlaubten Niveaus liegen und muss jeweils aus dem erzeugten Plan abgeleitet werden. Für die (λ|ˆzr )-Repräsentation muss der Pseudocode des seriellen Planerzeugungsschemas aus Algorithmus 4.1 auf S. 103 nur in Zeile 6 angepasst werden. Der Ablauf entspricht zum größten Teil dem seriellen Planerzeugungsschema für das RCPSP und es wird auch hier in J + 2 Iterationen schrittweise der Plan konstruiert. Allein das Kapazitätsniveau wird um das in der Ausprägung erlaubte Maß an Zusatzkapazität erhöht, also auf K r + zˆr gesetzt. Konkret lautet die Formel für Zeile 6 in diesem Fall folgendermaßen: S j := min{t | t ≥ t p f ∧ (k jr +
i∈Aτ
kir ≤ K r + zˆr , ∀ r ∈ R ∀ τ ∈ {t + 1, . . . , t + d j })}
(4.15)
Als Startzeitpunkt S j für AG j wird also der früheste Zeitpunkt t ab Reihenfolgezulässigkeit t p f gewählt, für welchen über die gesamte Bearbeitungszeit d j von
4.3 Indirekte Kodierungen für verschiedene Zielsetzungen
133
AG j genügend Ressourcen bezogen auf die Gesamtkapazität K r + zˆr verfügbar sind. Dabei wird der Ressourcenbedarf aller aktiven AG in jeder Periode, in welcher AG j bei Start in S j aktiv wäre, für alle Ressourcen geprüft und sichergestellt, dass die Kapazität nicht überschritten wird. Anhand des Beispielprojekts mit lediglich vier AG aus Abbildung 3.8a auf S. 38 kann gezeigt werden, dass der optimale Plan nicht in jedem Fall durch die Kodierung (λ|ˆzr ) abbildbar ist. Es ist nicht möglich einen Plan zu kodieren, welcher in verschiedenen zeitlichen Abschnitten des Plans in unterschiedlichem Maße die Zusatzkapazitäten einsetzt. Hierfür müsste die zeitinvariante Zusatzkomponente zˆr einen zusätzlichen Perioden-Index erhalten und damit zeitabhängig werden. Die Anzahl der Rechenschritte, welche notwendig sind, um einen Ablaufplan zu erzeugen, ist vergleichbar mit dem seriellen Planerzeugungsschema für das RCPSP. Wenn ein vollständiger Ablaufplan von der Prozedur erzeugt wurde, wird dieser wie bei den anderen Kodierungen auch bei der (λ|ˆzr )-Kodierung ggf. verbessert, indem das Verbesserungsverfahren für das RCPSP-ROC38 angewendet wird.
4.3.2.2 Einhaltung zeitabhängiger Schranken für die Zusatzkapazität Die (λ|ˆzr )-Kodierung ist dahingehend limitiert, dass nicht für alle Projekte ein optimaler Plan abgebildet werden kann, da die festgelegten Grenzen für das nutzbare Ausmaß der Zusatzkapazität zˆr zeitinvariant sind. In der (λ|ˆzr t )-Repräsentation werden zeitabhängige obere Schranken für die Zusatzkapazität betrachtet, wodurch optimale Pläne stets darstellbar werden. Prinzipiell verallgemeinert die Kodierung (λ|ˆzr t ) die Kodierung (λ|ˆzr ), indem ein Perioden-Index hinzugenommen wird. Dadurch wird aus dem Vektor zˆr eine R × T -Matrix ⎞ zˆ 1,1 … zˆ 1,T zˆ = ⎝ … … … ⎠ zˆ R,1 … zˆ R,T ⎛
(4.16)
mit zˆr ,t ∈ {0, . . . , z r }, ∀ r ∈ R, t ∈ T . Die Matrix enthält für jede Periode einen Spaltenvektor. Analog zum Vektor zˆr enthalten die Spaltenvektoren die in der jeweiligen Periode erlaubten Zusatzkapazitätseinheiten für alle Ressourcen als Einträge. Dadurch, dass die Zusatzkapazität periodenspezifisch begrenzt wird, lässt sich ein optimaler Ablaufplan für jede RCPSP-ROC-Instanz mithilfe dieser Kodierung darstellen. Diese Kodierung wird in Schnabel et al. (2018) in Abschnitt 4.2.3 auf S. 342 beschrieben. Eine Ausprägung dieser Kodierung ist 38 Siehe
Abschnitt 4.2.3 auf S. 113.
134
4
Kompakte Lösungsrepräsentationen und zugehörige …
Abbildung 4.15 Zwei beispielhafte Ausprägungen der (λ|ˆzr t )-Kodierung
(λ|ˆzr t ) = (0, 1, 3, 5, 2, 4, 6, 7|(0, 1, 2, 2, 1, 0, 0, 0, 0, 0))
(4.17)
und führt im Laufe des Dekodierungsprozesses auf den in Abbildung 4.15a dargestellten Ablaufplan. Das serielle und parallele Planerzeugungsschema für das RCPSP muss nur geringfügig angepasst werden, um die (λ|ˆzr t )-Repräsentation dekodieren zu können. Wenn die obere Schranke der Zusatzkapazität von Periode zu Periode schwanken darf, kann die Ressourcenzulässigkeit im parallelen Planerzeugungsschema nur umständlicher als im Falle zeitunabhängiger oberer Kapazitätsgrenzen geprüft werden. Im parallelen Planerzeugungsschema für das RCPSP können keine AG später als der aktuelle Entscheidungszeitpunkt tdt starten, wenn ein weiterer AG j in den Teilplan hinzugefügt wird. Daher ist es ausreichend, lediglich die Restkapazität in Zeitpunkt tdt + 1 (bzw. Periode tdt + 2) zu prüfen, wenn die Ressourcenzulässigkeit des Startzeitpunkts S j = tdt geprüft werden soll. Wenn die Repräsentation (λ|ˆzr t ) dekodiert wird, kann jedoch der Wert von zˆr t in späteren Perioden sinken, weshalb wie beim seriellen Planerzeugungsschema in allen Perioden, in welchen ein AG durchgeführt wird, ab Periode tdt + 2 bei Beginn zu Zeitpunkt tdt sichergestellt werden muss, dass die Kapazitäten eingehalten werden. Der früheste ressourcenzulässige Startzeitpunkt berechnet sich für diese Kodierung mit folgender Formel: S j := min{t | t ≥ t p f ∧ (k jr +
i∈Aτ
kir ≤ K r + zˆr t , ∀ r ∈ R ∀ τ ∈ {t + 1, . . . , t + d j })}
(4.18) Als Startzeitpunkt S j für AG j wird also der früheste Zeitpunkt t ab Reihenfolgezulässigkeit t p f gewählt, für welchen über die gesamte Bearbeitungszeit d j von
4.3 Indirekte Kodierungen für verschiedene Zielsetzungen
135
AG j genügend Ressourcen bezogen auf die Gesamtkapazität K r + zˆr ,t verfügbar sind. Dabei wird der Ressourcenbedarf aller aktiven AG in jeder Periode, in welcher AG j bei Start in S j aktiv wäre, für alle Ressourcen geprüft und sichergestellt, dass die über den Zeitverlauf schwankenden Kapazitäten nicht überschritten werden. In einem Verbesserungsverfahren für das RCPSP-ROC kann die Anzahl der Perioden, d. h. der Spalten der Matrix zˆr ,t , durch eine obere Schranke für die Dauer des optimalen Ablaufplans verringert werden. Eine technisch einfach zu berechnende obere Schranke ist die Dauer des Ablaufplans, welcher durch das serielle Planerzeugungsschema mit kanonischer Aktivitätenliste λc = (0, 1, . . . , J , J + 1) (engl. canonical) erzeugt worden ist, wenn keinerlei Zusatzkapazität beansprucht werden darf. Da dieser Plan in der Regel kürzer als der rein sequentielle Plan mit Dauer j d j ist, kann hierdurch die Anzahl der Spalten T in der Matrix zˆr ,t verringert werden. Aufgrund der geringeren Anzahl der Einträge in der Matrix wird die Größe des Genotyp-Raums der Kodierung (λ|ˆzr t ) für eine Instanz reduziert. Ein kleinerer Suchraum sollte die Performance der darauf basierenden Lösungsverfahren verbessern. Da der Plan, welcher keine Zusatzkapazität nutzt, wegen der monoton fallenden Erlöse nicht verbessert werden kann, indem das Projektende weiter nach hinten geschoben wird, bleibt die optimale Lösung nach der beschriebenen Spaltenreduktion nach wie vor darstellbar. Bei topologisch sortierten AG-Nummern ist λc die aufsteigende Sortierung λc = (0, 1, . . . , J , J + 1). Speziell die AG-Nummern der Instanzen aus der Problembibliothek für Projektplanungsprobleme (PSPLIB) sind topologisch sortiert.39 Ansonsten wird eine topologische Sortierung der AG erzeugt, bei der in der Listenkonstruktion aus der Menge der einfügbaren AG immer der AG mit der kleinsten Nummer verwendet wird. Der Rechenaufwand der Dekodierungsprozedur für die (λ|ˆzr t )-Repräsentation ist, wenn das Gerüst des seriellen Schemas zur Planerzeugung verwendet wird, vergleichbar mit dem seriellen Planerzeugungsschema für das RCPSP. Beim parallelen Erzeugungsschema ergibt sich ein Mehraufwand, da die Ressourcenzulässigkeit aufwendiger geprüft werden muss. Die Anzahl der erzeugten Pläne wird analog zu Abschnitt 4.3.2.1 auf S. 131 bestimmt. Ebenso wie sich mittels der auf S. 134 beschriebenen Änderungen das parallele Planerzeugungsschema zur Dekodierung der Lösungsrepräsentation (λ|ˆzr t )
39 Vgl.
Kolisch und Sprecher (1996), S. 206.
136
4
Kompakte Lösungsrepräsentationen und zugehörige …
nutzen lässt, kann die Priorisierung der AG auch durch Prioritätswerte oder Prioritätsregeln anstelle einer Aktivitätenliste vorgegeben werden.40 Bei beiden Kodierungen (λ|ˆzr ) und (λ|ˆzr t ) wird durch das übergeordnete Verbesserungsverfahren in einer ersten Entscheidungsstufe das Ressourcenprofil festgelegt. Daraufhin müssen lediglich analog zum RCPSP frühestmögliche zulässige Startzeitpunkte für die AG unter Berücksichtigung des kodierten Profils gefunden werden, um einen Plan zu erzeugen. Das Problem in zwei Stufen zu zerlegen, entspricht der zuvor erläuterten Dekomposition des RCPSP-ROC in mehrere RCPSP aus Abschnitt 3.2.2 auf S. 75. In der ersten Stufe wird das Ressourcenprofil bestimmt und in der zweiten Stufe wird der kürzeste aktive Plan, welcher das Ressourcenprofil nicht überschreitet, ermittelt.
4.3.3
Suche von gewinnmaximierenden Fristen für kostenminimale Pläne mithilfe des Verfahrens des Goldenen Schnitts
Es wird nun eine zeitorientierte Repräsentation eingeführt, nachdem drei Kodierungen, deren Einträge mit den AG assoziiert sind, und zwei ressourcenorientierte Kodierungen vorgestellt worden sind. Ähnlich wie bei der (λ|ˆzr )-Kodierung die nutzbare Zusatzkapazität und damit die Gesamtkapazität durch einen Teil der Kodierung festgelegt wird, bestimmt die in diesem Abschnitt vorgestellte Kodierung mit ihren Werten eine strikt einzuhaltenden Gesamtdauer des Ablaufplans. Abschnitt 2.2.2 auf S. 11 vergleicht das Problem der „knappen Ressourcen“ mit dem Problem der „knapper Zeit“. Analog kann die folgende Kodierung als Gegenstück zur ressourcenorientierten Kodierung (λ|ˆzr ) angesehen werden. Die Abbildungen, welche die beiden dualen Probleme veranschaulichen, werden in Abbildung 4.16 nochmals gezeigt. Abbildung 4.16a verdeutlicht dabei die Idee hinter der (λ|ˆzr )-Kodierung und Abbildung 4.16b visualisiert das Konzept der (λ)gs -Kodierung. Die Dekodierungsprozedur für die Kodierung (λ)gs basiert auf der zweiten Dekompositionsstrategie aus Abschnitt 3.2.2 auf S. 11. Diese Strategie zerlegt eine Instanz des RCPSP-ROC in mehrere Instanzen des Ressourcenüberladungsproblems, welche als Frist für das Projektende mögliche Gesamtdauern der Ausgangsinstanz erhalten. Für jede betrachtete Frist δ für das Projektende werden die Kosten für Zusatzkapazität minimiert und schließlich aus der Menge der erzeugten Pläne der gewinnmaximale Plan für das RCPSP-ROC zurückgeliefert. Die Kodierung (λ)gs (engl. golden section) besteht lediglich aus einer Aktivitätenliste, welche die 40 Vgl.
die Auswahlfunktionen auf S. 104.
4.3 Indirekte Kodierungen für verschiedene Zielsetzungen
137
Abbildung 4.16 Grundideen hinter den Kodierungen (λ|ˆzr ) und (λ)gs
Prioritäten der AG vorgibt. Bei der heuristischen Umsetzung wird zunächst mithilfe des seriellen Planerzeugungsschemas für die Aktivitätenliste λ ein Ausgangsplan konstruiert, welcher beliebig viele zulässige Zusatzkapazitätseinheiten nutzen kann. Dieser liefert die früheste evaluierte Frist lb (engl. lower bound). Zudem wird ebenfalls über das serielle Planerzeugungsschema ein Plan mit der gleichen Aktivitätenliste λ berechnet, welcher keinerlei Zusatzkapazität verwendet. Die Dauer dieses Plans dient als obere Schranke der Dauer für die betrachteten Fristen und wird mit dem Symbol ub (engl. upper bound) notiert. Für jede betrachtete Frist δ ∈ {lb, . . . , ub} wird anschließend basierend auf einem kürzeren Ausgangsplan ein Plan mit entsprechenden Gesamtdauer δ und ggf. erhöhter Güte erzeugt, indem AG durch das Verbesserungsverfahren für das RCPSP-ROC41 verzögert werden (und anschließend ggf. verfrüht werden). Um die Effizienz des Ansatzes zu steigern, wird jedoch nicht für alle Fristen im betrachteten Bereich ein Plan erzeugt. Da ein effizientes Suchverfahren eingesetzt wird, kann nachfolgend das Intervall der betrachteten Fristen nach dem gewinnmaximalen Plan durchsucht werden, ohne viele Pläne erzeugen zu müssen. Die Grundidee für das nachfolgend vorgestellte effiziente Lösungsverfahren liefert ein historisch bedeutendes Teilungsverhältnis von Linienabschnitten. Der Goldene Schnitt bezeichnet ein besonderes Teilungsverhältnis einer Linie in zwei Unterabschnitte.42 In diesem Teilungsverhältnis wird die Linie derart in zwei Segmente unterteilt, dass das kleinere Segment im gleichen Verhältnis zum größeren Segment steht, wie das größere Segment zur gesamten Linie. Dieses spezielle Teilungsverhältnis wird seit der Antike als besonders ästhetisch empfunden.43 Empirische Studien haben gezeigt, dass Testkandidaten in einem Experiment zuver41 Siehe
Abschnitt 4.2.3 auf S. 104. Beutelspacher und Petri (2013). 43 Vgl. Ackermann (1895). 42 Vgl.
138
4
Kompakte Lösungsrepräsentationen und zugehörige …
lässig Teilungen nach dem Goldenen Schnitt als optisch ansprechend empfunden haben.44 Der Goldene Schnitt kann auch im Aufbau von Planzenblättern in der Natur beobachtet werden.45 Dieses spezielle Teilungsverhältnis kann genutzt werden, um den Extrempunkt einer Funktion mit gewissen Eigenschaften mit wenigen Funktionsaufrufen zu identifizieren. Um einen Extremwert auf einer quasi-konkaven und unimodalen Funktion zu bestimmen, kann das Verfahren des Goldenen Schnitts (engl. Golden Section Search, GSS) verwendet werden.46 Eine Abbildung gilt genau dann als quasi-konkav, wenn sie auf jeder Subniveaumenge konkav ist. Die Subniveaumenge für einen gegebenen Funktionswert x besteht aus allen Elementen des Definitionsbereichs, welche durch die Funktion auf einen Wert nicht oberhalb von x (d. h. ≤ x) abgebildet werden. Eine Abbildung gilt genau dann auf einem Intervall des Definitionsbereichs als unimodal, wenn sie ein eindeutiges lokales Maximum besitzt und linksseitig des Maximums streng monoton wachsend und rechtsseitig des Maximums streng monoton fallend ist. Das Verfahren des Goldenen Schnitts ist in der Regel effizienter als eine lineare Suche oder eine Suche durch Bisektion, um einen Extremwert zu bestimmen, da die Anzahl der betrachteten Punkte reduziert wird. Zudem muss in jeder Iteration die Funktion lediglich einmalig ausgewertet werden (d. h. ein Plan wird konstruiert), da die Punkte einen speziellen Abstand nach dem Verhältnis des Goldenen Schnitts √ ϕ = 1+2 5 aufweisen. Abbildung 4.17 Beispielfunktion f (x) = 42 − (x − 23)2
44 Vgl.
Benjafield und Adams-Webber (1976). Zeng und Wang (2009). 46 Vgl. Lange (2010), S. 67–70. 45 Vgl.
4.3 Indirekte Kodierungen für verschiedene Zielsetzungen
139
Zunächst wird ein Beispiel für das Verfahren des Goldenen Schnitts betrachtet, um die Vorgehensweise dieser Methode zu verdeutlichen. Gesucht wird das Maximum f (23) = 42 der in Abbildung 4.17 gezeigten Funktion f (x) = 42 − (x − 23)2 und das zugehörige Argument x = 23 aus dem Definitionsbereich. Wäre die Funktion in geschlossener Form bekannt, könnte die Extremwertbestimmung analytisch über die Differentialrechnung durchgeführt werden.47 Es wird jedoch angenommen, dass die Funktionsgleichung unbekannt ist. Da es zudem per Annahme rechnerisch aufwendig ist, die Funktion auszuwerten, kann der Funktionswert in einem überschaubaren Zeitbudget nur an wenigen Stellen berechnet werden, wenn das Funktionsargument des Maximums ermittelt werden soll. Falls die Funktion quasi-konkav und unimodal ist, kann das Verfahren des Goldenen Schnitts angewendet werden. Andernfalls müsste ein anderes Verfahren, welches Black-Box-Funktionen geschickt optimieren kann, wie die Bayes’sche Optimierung,48 eingesetzt werden. Das Maximum wird im Intervall [10, 35] ⊂ R zwischen lb1 = 10 und√ub1 = 35 gesucht. Die ersten beiden ausgewerteten Stellen sind a1 = 10 + 3−2 5 · (35 − √
· (35 − 10) ≈ 25,45 mit 10) ≈ 19,55 mit f (a1 ) ≈ 30,09 und b1 = 10 + 5−1 2 f (b1 ) ≈ 35,99. Da der Funktionswert an der Stelle b1 größer als an der Stelle a1 ist, d. h. f (b1 ) > f (a1 ), wird die linke Intervallgrenze für die nächste Iteration auf a1 gesetzt, also lb2 = a1 ≈ 19,55. Die rechte Intervallgrenze ub2 = ub1 bleibt unverändert. Anschließend wird a2 = b1 und b2 ≈ 29,09 gesetzt, wobei als Wert f (b2 ) ≈ 4,8 für b2 als Argument zurückgeliefert wird. Nun ist der Funktionswert von b2 höher als der Wert bei a2 . Entsprechend wird die rechte Intervallgrenze in der dritten Iteration auf b2 gesetzt, also ub3 := b2 . Die linke Intervallgrenze lb3 = lb2 bleibt unverändert. Das Vorgehen wird solange wiederholt, bis der Abstand der Punkte ai und bi in der Iteration i hinreichend gering ist, d. h. |bi − ai | < ε für ein kleines ε > 0. Die weiteren Rechenschritte für ε = 0,005 sind in Tabelle 4.1 ablesbar. Noch anschaulicher wird das Prinzip in Abbildung 4.18 auf S. 141 gezeigt. Das Maximum der Kurve oberhalb der x-Achse soll durch möglichst wenige Funktionsauswertungen bestimmt werden. Im ersten Schritt in Abbildung 4.18a werden die Grenzen lb1 und ub2 auf den kleinsten bzw. größten Wert des Definitionsbereichs der Funktion gelegt. Die Funktion wird an den Stellen a1 und b1 ausgewertet. Da f (a1 ) > f (b1 ) gilt, wird im nachfolgenden zweiten Schritt in Abbildung 4.18b f (x) = 42 − (x − 23)2 = −487 − x 2 + 46x ist f (x) = −2x + 46 mit Nullstelle x = 23. Da die zweite Ableitung f (x) = −2 < 0 negativ ist, handelt es sich um ein relatives Maximum. 48 Vgl. Hutter et al. (2011). 47 Die erste Ableitung von
140
4
Kompakte Lösungsrepräsentationen und zugehörige …
Tabelle 4.1 Berechnungstabelle für Beispielfunktion zum Verfahren des Goldenen Schnitts Stufe i
lbi
ubi
ai
bi
f (ai )
f (bi )
bi − ai
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
10,0000 19,5492 19,5492 19,5492 21,8034 21,8034 22,6644 22,6644 22,6644 22,8677 22,8677 22,8677 22,8677 22,8677 22,8677 22,8677
35,0000 35,0000 29,0983 25,4508 25,4508 24,0576 24,0576 23,5255 23,1966 23,1966 23,0710 22,9933 22,9454 22,9157 22,8974 22,8860
19,5492 25,4508 23,1966 21,8034 23,1966 22,6644 23,1966 22,9933 22,8677 22,9933 22,9454 22,9157 22,8974 22,8860 22,8790 22,8747
25,4508 29,0983 25,4508 23,1966 24,0576 23,1966 23,5255 23,1966 22,9933 23,0710 22,9933 22,9454 22,9157 22,8974 22,8860 22,8790
30,0916 35,9933 41,9613 40,5681 41,9613 41,8874 41,9613 42,0000 41,9825 42,0000 41,9970 41,9929 41,9895 41,9870 41,9854 41,9843
35,9933 4,8107 35,9933 41,9613 40,8814 41,9613 41,7239 41,9613 42,0000 41,9950 42,0000 41,9970 41,9929 41,9895 41,9870 41,9854
5,9017 3,6475 2,2542 1,3932 0,8610 0,5322 0,3289 0,2033 0,1256 0,0776 0,0480 0,0297 0,0183 0,0113 0,0070 0,0043
die rechte Grenze ub2 = b1 aktualisiert, b2 auf a1 gesetzt und die neue Position a2 ausgewertet. Wegen f (a2 ) < f (b2 ) wird im dritten Schritt in Abbildung 4.18c die linke Grenze lb3 = a2 verschoben, a3 auf b2 gesetzt und als neue Position b3 in die Funktion eingesetzt. Nach einigen weiteren Schritten liegen b und a hinreichend nahe beieinander, sodass max{ f (a), f (b)} der maximale Wert der Funktion f ist. Nachdem das allgemeine Prinzip des Verfahrens erklärt wurde, kann die Methode eingesetzt werden, um nach einer gewinnmaximierenden Projektdauer zu suchen. Es wird angenommen, dass die Erlösfunktion quasi-konkav und monoton fallend in der Projektdauer ist. Die Funktion der Zusatzkapazitätskosten für die Projektdauer fällt ebenfalls monoton im Argument und ist zudem eine quasi-konvexe Abbildung. Eine Abbildung gilt genau dann als quasi-konvex, wenn sie auf jeder Subniveaumenge konvex ist. Beides im Zusammenspiel impliziert, dass die Gewinnfunktion als Differenz beider Funktionen eine quasi-konkave und unimodale Funktion in ihrem Definitionsbereich ist. Folglich kann bei Einsatz des Verfahrens des Golde-
4.3 Indirekte Kodierungen für verschiedene Zielsetzungen
141
Abbildung 4.18 Grafische Darstellung des Verfahrens des Goldenen Schnitts
nen Schnitts die Menge der betrachteten Fristen ohne Risiko auf Auslassen einer optimalen Frist reduziert werden.49
49 Vgl.
Cheney und Kincaid (2012), S. 566.
142
4
Kompakte Lösungsrepräsentationen und zugehörige …
Algorithmus 4.6: Dekodierungsprozedur für Repräsentation (λ)gs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Eingabe : Projekt P = (J , R, T , P j , d j , k jr , K r ) und Aktivitätenliste λ Ausgabe : Ablaufplan S Bestimme kürzesten Plan Slb mit Zusatzkapazität mit SSGS für Aktivitätenliste λ; Bestimme kürzesten Plan S ub ohne Zusatzkapazität mit SSGS für Aktivitätenliste λ; Modifiziere beide Pläne über das Verbesserungsverfahren für das RCPSP-ROC; Setze lb auf Dauer von Slb und ub auf Dauer von S ub ; √
Berechne Teilungsverhältnis α := 3−2 5 ; Initialisiere a := lb + α · (ub − lb) und b := lb + (1 − α) · (ub − lb); Erzeuge Pläne S a und S b mit Dauern a respektive b über das Verbesserungsverfahren für das RCPSP-ROC aus Slb ; while |b − a| ≥ ε do if πa > πb then Aktualisiere ub := b, S ub := S b und b := a, S b := S a sowie a := lb + α · (ub − lb); Erzeuge Plan S a mit Dauer a über das Verbesserungsverfahren für das RCPSP-ROC aus Slb ; else Aktualisiere lb := a, Slb := S a und a := b, S a := S b sowie b := lb + (1 − α) · (ub − lb); Erzeuge Plan S b mit Dauer b über das Verbesserungsverfahren für das RCPSP-ROC aus Slb ; end end Setze S auf S a falls πa > πb sonst S b ;
Der Pseudocode des Verfahrens wird in Algorithmus 4.6 beschrieben. Dabei ist πi der Gewinn des Plans mit Gesamtdauer i. Als Beispieleingabe wird das in Abbildung 4.19a auf S. 143 dargestellte Projekt und die Aktivitätenliste λ = (0, 1, 4, 2, 5, 3, 6, 7) verwendet. Die Kostensätze für Zusatzkapazität seien κr = 21 GE KE . Als Erlösfunktion wird u t = 9 − t GE angenommen, vgl. Abbildung 4.19b. Zu Beginn werden zwei Pläne erzeugt, indem das serielle Planerzeugungsschema für die Aktivitätenliste λ angewendet wird. Der erste Plan Slb wird mit (Zeile 1) und der zweite Plan S ub ohne Zusatzkapazität einzusetzen (Zeile 2) konstruiert. Für das Beispiel sind beide Pläne in Abbildungen 4.19c und 4.19d eingezeichnet. Beide
4.3 Indirekte Kodierungen für verschiedene Zielsetzungen
143
Abbildung 4.19 Erzeugte Pläne von (λ)gs -Dekodierungsprozedur
Pläne werden eventuell durch das Verbesserungsverfahren für das RCPSP-ROC50 verbessert. Es werden lb und ub auf die Dauern der assoziierten Pläne Slb und S ub gesetzt (Zeile 4). Im Beispiel werden die Schranken entsprechend auf lb = 7 und ub = 9 gesetzt. Daraufhin wird das Teilungsverhältnis α ≈ 0,381966 bestimmt (Zeile 5). Es werden a und b initialisiert (Zeile 6). Für die Beispielsituation wird a = 7+α·2 = 7 und b = 7 + (1 − α) · 2 = 8 gesetzt. Anschließend werden zwei Pläne S a und S b mit Dauern a respektive b erzeugt, indem der Plan Slb mithilfe des Verbesserungsverfahrens für das RCPSP-ROC ver50 Siehe
Abschnitt 4.2.3 auf S. 114.
144
4
Kompakte Lösungsrepräsentationen und zugehörige …
längert wird. Den bereits 7 Perioden langen Plan aus Abbildung 4.19c auf eine Dauer von 7 Perioden zu „verlängern“ und gleichzeitig dessen Kosten zu reduzieren liefert den in Abbildung 4.19e gezeigten günstigeren Plan S 7 . Entsprechend ist in Abbildung 4.19f der auf eine Dauer von 8 Perioden verlängerte und kostenreduzierte Plan S 8 dargestellt. Ab Zeile 8 wird beschrieben, wie das Verfahren des Goldenen Schnitts genutzt wird, um Fristen zu suchen, deren kostenminimierte Pläne zu hohen Deckungsbeiträgen51 führen. Solange beide Punkte für die Funktionsauswertung a und b mindestens einen betragsmäßigen Abstand von ε ≥ 0 aufweisen, wird sukzessive der Suchraum weiter eingegrenzt und die Punkte werden näher zusammengeführt (Zeilen 9–14). Bei ε = 1 wird wegen b − a = 1 im Beispiel eine erste Iteration der Schleife begonnen. Erzeugt der Plan S a einen höheren Gewinn als der Plan S b , dann wird der Bereich der Projektdauern rechtsseitig von b abgeschnitten und ub := b gesetzt. Wegen des Teilungsverhältnisses gilt dann b := a und lediglich a muss als neuer Wert berechnet werden. Der zugehörige Plan S a wird bestimmt, indem der Plans Slb mittels des Verbesserungsverfahrens für das RCPSP-ROC52 verlängert wird. Erzeugt hingegen Plan S b einen höheren Gewinn als Plan S a , dann wird der Bereich der Projektdauern linksseitig von a abgeschnitten und lb := a gesetzt. Wegen des Teilungsverhältnisses gilt dann a := b und lediglich b muss als neuer Wert berechnet werden. Der zugehörige Plan S b wird wiederum bestimmt, indem der Plans Slb mittels des Verbesserungsverfahrens für das RCPSP-ROC verlängert wird. Der Plan S a mit a = 7 erzeugt einen Gewinn von πa = u 7 − 1 = (9 − 7) − 1 = 1 GE. Der Gewinn des Plans S b mit b = 8 liegt bei πb = u 8 − 21 = (9 − 8) − 21 = 1 2 GE auf. Entsprechend wird die linke Seite des Suchraums abgeschnitten. Es wird lb := 8 gesetzt und b neu berechnet als b := 9. Der in Abbildung 4.19d dargestellte Plan, wurde erzeugt, indem der Plan S a verlängert worden ist. Da nun b − a = 1 ε = 1, wird die Suche beendet. Nachdem das Verfahren des Goldenen Schnitts beendet worden ist, wird der bessere Plan von S a und S b als Ergebnis zurückgegeben. Im Beispiel wird wegen πa > πb der Plan S a zurückgeliefert. Für die Aktivitätenliste (λ)gs = (0, 1, 4, 2, 5, 3, 6, 7)
51 Bzw. 52 Siehe
Gewinnen, wenn die Fixkosten im Betrag miteinbezogen werden. Abschnitt 4.2.3 auf S. 113.
4.3 Indirekte Kodierungen für verschiedene Zielsetzungen
145
wird in Abbildung 4.19 gezeigt, wie der Ausgangsplan Slb mit einer Dauer von 7 ZE auf eine Länge von 9 ZE durch rechtsbündige Anordnung der AG verlängert werden kann. Im Falle der Kodierungen (λ|ˆzr ) und (λ|ˆzr t ) wurde das Ressourcenprofil explizit in der Repräsentation spezifiziert und daher durch die verwendete Verbesserungsverfahren festgelegt. Im Gegensatz dazu werden bei der Kodierung (λ)gs im Rahmen der Dekodierungsprozedur mehrere Fristen für das Projektende evaluiert und jeweils mithilfe des Verbesserungsverfahrens für das RCPSP-ROC53 ein kostenminimierender Plan, welcher die gegebene Frist für das Projektende einhält, bestimmt. Daher ist die übergeordnete Verbesserungsverfahren bei der Kodierung (λ)gs lediglich dafür verantwortlich, die Aktivitätenliste festzulegen. Wenn eine Projektdauer, für welche der einhaltende kostenminimale Plan den höchsten Gewinn aufweist, ausgewählt wird, impliziert dies eine Entscheidung über das Ausmaß der genutzten Zusatzkapazität. Die Dauer des optimalen Plans für eine Instanz wird zwischen der Dauer von zwei nachfolgend beschriebenen Plänen liegen. Dabei kann der optimale Plan u. U. die gleiche Dauer wie einer der beiden Pläne besitzen. Der erste Plan ist der kürzeste Ablaufplan, welcher Zusatzkapazität in beliebig hohem Umfang nutzt (innerhalb von z r ). Der zweite Plan ist der kürzeste Ablaufplan, welcher keine Zusatzkapazität nutzt. Beide Pläne können prinzipiell durch das serielle Planerzeugungsschema erzeugt werden, wenn eine passende Aktivitätenliste eingegeben wird. Die entsprechenden Listen, um in beiden Fällen den kürzesten Plan zu bekommen, können jedoch unterschiedlich sein. In diesem Fall ist es nicht möglich die entsprechenden Grenzen des Bereichs der untersuchten Fristen für das Projektende exakt zu bestimmen. Dementsprechend kann die Frist des optimalen Plans für die RCPSPROC-Instanz ggf. nicht untersucht werden. Damit ist gezeigt, dass sich die optimale Lösung nicht immer durch die (λ)gs -Repräsentation darstellen lässt. Selbst wenn die Grenzen des betrachteten Intervalls von Projektdauern korrekt gewählt wurden, ist das Verfahren, welches für eine gegebene Frist einen Plan der gewünschten Länge erzeugt, indem es die Kosten für Zusatzkapazität minimiert, nicht exakt. Das Verbesserungsverfahren für das RCPSP-ROC, über welches die Kosten heuristisch minimiert werden, wurde in Abschnitt 4.2.3 auf S. 113 beschrieben. Es wird in der Dekodierungsprozedur für die Kodierung (λ)gs in Zeile 11 bzw. 144 in Algorithmus 4.6 auf S. 142 aufgerufen. Um Fristen zu bewerten, können folglich auch Pläne evaluiert werden, welche mehr Zusatzkapazität nutzen, als tatsächlich für die gewünschte Dauer notwendig ist. Zusammenfassend sind viele
53 Siehe
Abschnitt 4.2.3 auf S. 113.
146
4
Kompakte Lösungsrepräsentationen und zugehörige …
Konstellationen vorstellbar, in denen der optimale Plan selbst bei Vollenumeration des Genotyp-Raums von (λ)gs nicht erzeugbar ist. Die Dekodierungsprozedur der (λ)gs -Repräsentation ist aufwendiger als bspw. die entsprechende Prozedur für die (λ|ˆzr )-Kodierung, da die Planerzeugungsschemata und Verbesserungsiterationen mehrfach aufgerufen werden müssen. Der Aufwand für das Verbesserungsverfahren für das RCPSP-ROC54 ist abhängig von der Projektstruktur und dem Aufbau des Ausgangsplans. Da das Verbesserungsverfahren für das RCPSP-ROC55 solange in Vorwärts- und Rückwärts-Schritten die AG abwechselnd rechts- und linksbündig justiert, bis der Gewinn konvergiert, kann der Zeitbedarf für unterschiedliche Instanzen, Ausgangspläne und Zieldauern sehr heterogen sein. Hinzu kommt, dass die Anzahl der evaluierten Fristen ebenfalls in Abhängigkeit der genannten Eingabegrößen deutlich variieren kann. Die Anzahl der erzeugten Pläne berechnet sich bei der Dekodierungsprozedur für (λ)gs über die Anzahl der durch eine Vielzahl an Anwendungen des Verbesserungsverfahrens für das RCPSP-ROC56 erzeugten Pläne zzgl. der zwei Ausgangspläne Slb und S ub . Der Genotyp-Raum der (λ)gs -Kodierung ist analog zur Repräsentation (λ) und den Kodierungen für das konventionelle RCPSP vergleichsweise klein, da Zusatzinformation neben der Priorisierung der AG fehlt.57 Diese Kodierung wird in Schnabel et al. (2018) aufgrund der vergleichsweise schlechten Performance nicht erläutert.
54 Siehe
Abschnitt 4.2.3 auf S. 113. Abschnitt 4.2.3 auf S. 113. 56 Siehe Abschnitt 4.2.3 auf S. 113. 57 Vgl. Hartmann (1998). 55 Siehe
5
Heuristische Verfahren auf Basis Genetischer Algorithmen und lokaler Suchverfahren zur Lösung des RCPSP-ROC
5.1
Überblick über (Meta-)heuristische Verfahren für das RCPSP
Die ressourcenbeschränkte Projektplanung wird bereits seit mehreren Jahrzehnten erforscht.1 Dementsprechend gibt es von diversen Autoren eine Vielzahl an Lösungsverfahren für diese Problemstellung. In der Literatur wurden mehrere Überblicke über verschiedene Lösungsverfahren für das RCPSP publiziert.2 Die Lösungsansätze für das RCPSP lassen sich grundsätzlich in zwei Gruppen einteilen: Exakte und heuristische Verfahren. Exakte Verfahren liefern bewiesen optimale Lösungen für eine Instanz. Da die Problemstellung N P -schwer ist, kann eine besonders große oder schwierige3 Instanz oft nicht in annehmbarer Rechenzeit exakt gelöst werden. Daher werden für derartige Instanzen häufig heuristische Ansätze verwendet, welche nicht garantieren können, dass eine optimale Lösung gefunden wird. Erfahrungsgemäß gelangen Heuristiken jedoch deutlich schneller zu Lösungen hoher Güte, welche nur gering vom optimalen Zielfunktionswert abweichen. Die meisten heuristischen Verfahren beinhalten eine Form von nachbarschaftlicher Suche als zentrale Komponente. Derartige Verfahren wandern ausgehend von einer zulässigen Lösung zu benachbarten Lösungen. Es steht dem Entwickler der Methode frei festzulegen, wie genau die Bewegungsrichtung und -weite im Lösungsraum in Abhängigkeit von der Güte der gefundenen Lösung festgelegt wird. Ausführliche
1 Vgl. Kolisch und Padman (2001), Brucker et al. (1999), Herroelen et al. (1997), Habibi et al.
(2018) sowie Özdamar und Ulusoy (1995). 2 Vgl. Hartmann und Kolisch (2000), Kolisch und Hartmann (2006) sowie Roy und Sen (2019). 3 Vgl.
entsprechende Metriken aus Vanhoucke et al. (2008).
© Der/die Herausgeber bzw. der/die Autor(en), exklusiv lizenziert durch Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature 2020 A. Schnabel, Heuristiken für die gewinnorientierte Planung ressourcenbeschränkter Projekte mit erweiterbaren Kapazitäten, Produktion und Logistik, https://doi.org/10.1007/978-3-658-31610-5_5
147
148
5
Heuristische Verfahren auf Basis Genetischer Algorithmen …
Einführungen in diese Thematik wurden von Rothlauf (2011) sowie Michalewicz und Fogel (2013) verfasst. Abschnitt 2.5 auf S. 52 betrachtet bereits Veröffentlichungen zu diversen Lösungsverfahren für das RCPSP. Insbesondere in Abschnitt 2.5.1 auf S. 52 wurden explizit Heuristiken aus der Fachliteratur für die Problemstellung aufgelistet. An dieser Stelle werden nochmals die wettbewerbsfähigsten Heuristiken für das RCPSP genannt. Zum aktuellen Stand der Forschung im Bereich der Heuristiken für das konventionelle RCPSP zählen diverse hybride Verfahren, welche ein metaheuristisches Grundgerüst um zusätzliche, häufig komplementäre, Ansätze ergänzen. Diese Hybridverfahren können deutlich bessere Performance aufweisen, als die enthaltenden Metaheuristiken, wenn diese isoliert angewendet werden. Nachfolgend wird ein Auszug aus aktuell wettbewerbsfähigen Heuristiken für das RCPSP gegeben: Als hybride Verfahren zu nennen sind ein Genetischer Algorithmus mit variabler Nachbarschaftssuche und neuartigem Planerzeugungsschema für ressourcenbeschränkte Projektplanungsprobleme mit flexiblen Ressourcenprofilen.4 Zudem existiert ein Genetischer Algorithmus mit Injektionsprozedur zur Diversitätserhöhung.5 Ferner wurde eine Hyper-Heuristik6 mit Partikelschwarmoptimierung von Koulinas et al. (2014) vorgestellt und eine adaptive Partikelschwarmoptimierung von Kumar und Vidyarthi (2016) dokumentiert. Als naturanaloges Verfahren hat Ziarati et al. (2011) einen Bienenalgorithmus publiziert. Die Mehrheit der genannten Heuristiken verwendet das Verbesserungsverfahren für das RCPSP,7 um Pläne durch eine links- und rechtsseitige Anordnung in einem nachgestellten Verbesserungsschritt zu verkürzen. Die besten Lösungsverfahren für das RCPSP im Benchmark von Kolisch und Hartmann (2006) beinhalten im Kern mehrheitlich einen Genetischen Algorithmus. Um ein effizientes heuristisches Lösungsverfahren für das RCPSP-ROC zu entwickeln, wurden daher mehrere Genetische Algorithmen evaluiert. Für jede der in Kapitel 4 ab S. 95 vorgestellten Kodierungen wurde ein Genetischer Algorithmus entwickelt, welcher die jeweilige Kodierung als Lösungsrepräsentation verwendet.
4 Vgl.
Tritschler et al. (2017). Küçüksayacıgil und Ulusoy (2018). 6 Vgl. Burke et al. (2013). 7 Siehe Abschnitt 4.2.3 auf S. 113. 5 Vgl.
5.2 Problemspezifische Genetische Algorithmen für das RCPSP-ROC
149
5.2
Problemspezifische Genetische Algorithmen für das RCPSP-ROC
5.2.1
Grundsätzliches Konzept und Ablauf
Der Genetische Algorithmus8 ist eine naturanaloge Metaheuristik,9 welche zur Klasse der evolutionären Algorithmen gehört.10 Eine Metaheuristik wie der Genetische Algorithmus liefert ein Grundgerüst für effektive Verfahren zur Lösung kombinatorischer Optimierungsprobleme.11 Dazu wird ein Lösungskandidat (Phänotyp) des betrachteten Optimierungsproblems über eine Repräsentation (Genotyp) kodiert und dann als Individuum bezeichnet.12 Die Grundidee ist, eine Menge dieser Individuen mithilfe sogenannter genetischer Operatoren über mehrere Iterationen (Generationen) fortzuentwickeln. Dabei soll ein Selektionsdruck einen „Gendrift“ bei den Individuen auslösen und die Population dadurch in Richtung von Lösungen hoher Güte bewegen. Das Risiko, in einem lokalen Optimum zu verharren, soll reduziert werden, indem eine ganze Population von kodierten Lösungskandidaten anstelle einer einzigen Kandidatenlösung betrachtet wird. Algorithmus 5.1: Grundgerüst eines Genetischen Algorithmus
1 2 3 4 5 6 7 8 9
Eingabe: Probleminstanz Ausgabe: Lösung Erzeuge eine Startpopulation aus zuflligen Individuen; while Abbruchkriterium nicht erfüllt do Bilde Paare von Individuen; Rekombiniere Mutter und Vater aus jedem Paar jeweils zu Tochter und Sohn; Mutiere Kinder mit Mutationswahrscheinlichkeit; Berechne Fitness jedes Individuums; Reduziere Populationsgröße durch Selektion; end return bestes Individuum der Population;
Das Grundgerüst des Genetischen Algorithmus wird in Algorithmus 5.1 beschrieben und in Abbildung 5.1 auf S. 150 dargestellt. Zunächst muss eine Startpopulation 8 Vgl.
Holland (1975). Blum und Roli (2003). 10 Vgl. Holland (1975). 11 Vgl. Mühlenbein et al. (1988). 12 Vgl. Heistermann (1994), S. 15 und S. 21 sowie Abbildung 4.1 auf S. 98. 9 Vgl.
150
5
Heuristische Verfahren auf Basis Genetischer Algorithmen …
Abbildung 5.1 Grundschema eines Genetischen Algorithmus. (Quelle: Eigene Darstellung)
erzeugt werden (Zeile 1). Die Population wird in Abbildung 5.1 als eine Ansammlung von Individuen dargestellt. Die Individuen wurden grafisch als Symbole dargestellt, welche aus einem Kreis und radialen Linien bestehen. Die konkreten Ausprägungen der Chromosomen der Individuen sollen dadurch abgebildet werden, wie die Linien genau ausgestaltet sind. Die Fitness eines Individuums wird in Form eines Balken mit Höhe proportional zum Fitnesswert angedeutet. Der Genetische Algorithmus erzeugt in einer Schleife, bis das Abbruchkriterium erreicht worden ist, in jeder Iteration eine neue Generation (Zeile 2). Typische Abbruchkriterien beenden das Verfahren, nachdem eine gewünschte Anzahl Generationen N G erzeugt worden ist, eine definierte Güte erreicht wurde oder die Fit-
5.2 Problemspezifische Genetische Algorithmen für das RCPSP-ROC
151
ness des besten bekannten Individuums sich über k-Generationen nicht hinreichend verbessert. Im letzten Fall müsste die Fitness betragsmäßig mindestens um einen Schwellenwert ε > 0 steigen, damit das Abbruchkriterium nicht erfüllt ist. In jeder Iteration werden zunächst Paare aus Eltern gebildet (Zeile 3), welche durch einen Kreuzungsoperator zu jeweils zwei neuen Kindern kombiniert werden (Zeile 4). Hierdurch verdoppelt sich die Populationsgröße. Die neu erzeugten Kind-Individuen werden als Nachfolgegeneration bezeichnet. Daraufhin wird jedes Kind mit einer gegebenen Mutationswahrscheinlichkeit modifiziert (Zeile 5). Die Eltern werden bewusst keiner Mutation unterzogen, damit gute Individuen unverändert fortgeführt werden können. Nachdem die Kinder mutiert worden sind, wird für jedes Kind-Individuum die Fitness berechnet und die Population aus Eltern und Kindern durch einen Selektionsoperator reduziert (Zeile 6). Die Fitness ist ein Maß für die Güte eines Individuums. Mit der Selektion endet eine Iteration des Genetischen Algorithmus. Ist das Abbruchkriterium erfüllt, wird die Schleife verlassen und ein Individuum mit dem höchsten Fitnesswert aus der letzten Generation als Lösung zurückgeliefert (Zeile 8). Andernfalls wird in der Schleife verblieben und entsprechend die genannten Schritte, welche die Individuen fortentwickeln und die nächste Generation produzieren, wiederholt (Zeile 3–5). Um aus der Metaheuristik „Genetischer Algorithmus“ eine konkrete Heuristik für eine spezifische Problemstellung zu konzipieren, muss festgelegt werden, wie die Repräsentation aufgebaut ist. Zudem müssen die im algorithmischen Grundgerüst geschilderten Operatoren definiert werden. Es muss das genaue Vorgehen spezifiziert werden, wie eine Startpopulation erzeugt, die Fitness berechnet, zwei Individuen gekreuzt, ein Individuum mutiert und vergleichsweise „schlechte“ Individuen im Selektionsschritt aus der Population entfernt werden. Neben den problemspezifischen Komponenten müssen die Steuerungsparameter des Genetischen Algorithmus, wie die Populationsgröße, Mutationswahrscheinlichkeit und das Abbruchkriterium, je nach Problemstellung passend definiert werden. Der Genetische Algorithmus für das RCPSP-ROC wurde bereits in Schnabel et al. (2018) in Abschnitt 4.3 auf S. 343ff. beschrieben und wird nachfolgend detailliert erläutert.
5.2.2
Erzeugung der Startpopulation
Die Startpopulation wird üblicherweise konstruiert, indem zufällige Individuen aus dem Genotyp-Raum der Repräsentation erzeugt werden. Eine Möglichkeit dies umzusetzen ist es, die Werte einer Ausprägung gemäß einer diskreten oder stetigen Gleichverteilung über den Bereich der zulässigen Belegungen zu ziehen. Da fast alle in Kapitel 4 ab S. 95 vorgestellten Kodierungen eine Aktivitätenliste als
152
5
Heuristische Verfahren auf Basis Genetischer Algorithmen …
Komponente beinhalten, wird eine Methode präsentiert, welche Aktivitätenlisten generiert. Es wird nachfolgend die Konstruktion von Aktivitätenlisten mithilfe eines Stichprobenverfahrens erläutert. Falls problemspezifisches Wissen vorliegt, kann die Güte der ersten Generation verbessert werden, indem die Liste schrittweise aufgebaut wird und die AG gemäß einer speziellen Verteilung geschickt gezogen werden. Diesen Ansatz verfolgt das sogenannte Regret-Based Biased Random Sampling (RBBRS), welches iterativ eine Aktivitätenliste konstruiert.13 In jedem Schritt wird ein anzuhängender AG entsprechend einer nach Prioritätswerten verzerrten diskreten Verteilung gezogen. Dies führt dazu, dass AG mit hoher Priorität mit einer erhöhten Wahrscheinlichkeit angefügt werden und dadurch tendenziell in vorderen Positionen der Aktivitätenliste auftreten. Algorithmus 5.2: Regret-Based Biased Random Sampling
1 2 3 4
Eingabe: Projekt P = (J , R, T , P j , d j , k jr , K r ), Prioritätswerte v j Ausgabe: Aktivitätenliste λ Initialisiere Aktivitätenliste λ = (0); while Aktivitätenliste λ unvollständig do Bestimme AG-Menge D(k) , der noch nicht in Aktivitätenliste λ enthaltenen AG, deren Vorgänger jedoch vollständig in Aktivitätenliste λ enthalten sind; Berechne Gewichte w j := (maxi∈D(k) vi ) − v j ;
5
Berechne Auswahlwahrscheinlichkeiten Pr ob j =
(w j +1) ; (wi +1)
i∈D (k)
Wähle zufällig einen AG j ∈ D(k) mit Wahrscheinlichkeit Pr ob j ; Füge AG j an das Ende von Aktivitätenliste λ an; 8 end
6 7
Algorithmus 5.2 stellt das Verfahren in kompakter Form als Pseudocode dar. Der Algorithmus erhält ein Projekt P und Prioritätswerte v j für die AG als Eingabe und liefert eine Aktivitätenliste λ zurück, welche gemäß einer verzerrten Verteilung zufällig erzeugt worden ist. Als beispielhafte Eingabe wird das Beispielprojekt aus Abbildung 2.1 auf S. 8 in Abschnitt 2.1 auf S. 7 mit Prioritätswerten v j = −L F T j verwendet. L F T j ist der späteste Endzeitpunkt eines AG j, welcher sich aus den Bearbeitungszeiten und Vorrangsbeziehungen der AG in der Zeitberechnung aus Abschnitt 3.1.1 auf S. 67 ergibt. Da ein geringer Wert für den spätesten Endzeitpunkt L F T j von AG j tendenziell bedeutet, dass die Projektdauer steigt, wenn AG j verzögert beginnt, wird als Prioritätswert der Endzeitpunkt mit negativem 13 Vgl.
Kolisch (1996a) und Tormos und Lova (2001).
5.2 Problemspezifische Genetische Algorithmen für das RCPSP-ROC
153
Vorzeichen verwendet. Die Reihenfolgebeziehungen des Projekts sind nochmals in Abbildung 5.2 dargestellt und die spätesten Endzeitpunkte der AG in Abbildung 5.3. Abbildung 5.2 Vorgangsknotendigraph des Beispielprojekts
Abbildung 5.3 Späteste Endzeitpunkte der AG des Beispielprojekts
7
Die erzeugte Liste muss topologisch sortiert sein. Die Liste wird daher schrittweise aufgebaut. Es wird mit der Liste λ = (0) begonnen, welche lediglich an erster Stelle den Dummy-Start als einzigen Eintrag enthält (Zeile 1). Es wird jeweils die Menge der AG bestimmt, welche hinten an die teilweise aufgebaute Aktivitätenliste angehängt werden können, ohne die topologische Sortierung zu verletzen. Beim iterativen Aufbau der Aktivitätenliste im RBBRS wird zu Beginn einer Iteration k > 1 die Menge der an Position k in der Aktivitätenliste λ einfügbaren AG D(k) = { j ∈ J | λi = j, 0 ≤ i < k ∧ ∀i ∈ P j ∃l < k : λl = i}
(5.1)
ermittelt (Zeile 3). Die Menge enthält genau die AG, die noch in der Liste fehlen und dessen Vorgänger vollständig in der Liste enthalten sind. Im Beispiel ist im ersten Schleifendurchlauf k = 2 und D(2) = {1, 2}. Exemplarisch wird der späteste Endzeitpunkt L F T j eines AG j als Prioritätswert verwendet.14 Je kleiner der späteste Endzeitpunkt L F T j ist, desto höher ist die Priorität des AG j, da es tendenziell eher zu einer gesteigerten Gesamtdauer des Projekts führt, wenn AG j verzögert beginnt. Das Gewicht w j für einen AG berechnet sich wie folgt (Zeile 4):
14 Siehe
Algorithmus 3.1 auf S. 70.
154
5
Heuristische Verfahren auf Basis Genetischer Algorithmen …
w j = −v j + max vi i∈D (k)
∀ j ∈ D(k)
(5.2)
Das Gewicht lässt sich als eine dimensionsfreie Approximation der Opportunitätskosten ansehen, wenn ein anderer AG i = j anstelle von AG j eingeplant wird. Für AG 1 und 2 aus D(2) im Beispiel ist w1 = w2 = −(−L F T j ) + maxi∈{1,2} (−L F Ti ) = 8 − 8 = 0. Die Auswahlwahrscheinlichkeiten werden definiert als (Zeile 5) (w j + 1) i∈D (k) (wi + 1)
Pr ob j =
∀ j ∈ D(k)
(5.3)
Entsprechend sind im Beispiel die Wahrscheinlichkeiten Pr ob1 = Pr ob2 = 50 %. Daraufhin wird eine Stichprobe gemäß dieser diskreten Verteilung gezogen (Zeile 6). Es sei AG 2 der gewählte AG in der Ziehung. Der gewählte AG wird an das Ende der Aktivitätenliste λ angefügt (Zeile 7). Dementsprechend wird die Liste im Beispiel zu λ = (0, 2) ergänzt. Bis eine vollständige Aktivitätenliste entstanden ist, werden die anfügbaren AG, zugehörigen Gewichte und Auswahlwahrscheinlichkeiten wiederholt neu berechnet und jeweils ein AG gemäß der Verteilung gezogen. Für die Beispieleingabe ist die Aktivitätenliste λ = (0, 2, 1, 3, 4, 5, 6, 7) ein mögliches Ergebnis. Das Vorgehen erzeugt bei wiederholtem Aufruf verschiedene Listen. Indem das RBBRS mehrfach aufgerufen wird, kann eine Startpopulation beliebiger Größe aufgebaut werden. Die Diversität der erzeugten Population hängt von der Anzahl der Reihenfolgebeziehungen im Vergleich zur Projektgröße ab. Je geringer dieses Verhältnis ist, umso heterogener kann die Startpopulation werden. Die Belegungen für zusätzliche Komponenten der Kodierungen in der Startpopulation müssen ebenfalls festgelegt werden. Einige in Kapitel 4 ab S. 95 vorgestellte Repräsentationen haben neben der Aktivitätenliste weitere Bestandteile, welche initialisiert werden müssen, wenn die Startpopulation aufgebaut wird. Die Binärund ganzzahligen Vektoren/Matrizen β j bzw. zˆr /ˆzr ,t werden in diskreter Gleichverteilung aus den Mengen {0, 1} respektive {0, . . . , z r } gezogen. Die Belegung von τ j in der Repräsentation (λ|τ )15 wird ebenso zufällig mit stetiger Gleichverteilung aus der Menge [0, 1] ⊂ R bestimmt.
15 Siehe
Abschnitt 4.3.1.3 auf S. 128.
5.2 Problemspezifische Genetische Algorithmen für das RCPSP-ROC
5.2.3
155
Paarbildung und Kreuzung
Um neue Individuen aus bereits in der Population vorhandenen Individuen zu rekombinieren, müssen zunächst Paare gebildet werden, welche anschließend als Eltern zu zwei Kinder gekreuzt werden. Es gibt verschiedene Ansätze, um Paare zu bilden. Eine Gemeinsamkeit der Ansätze ist, dass ein Individuum aus der Elterngeneration nur in maximal ein Paar einfließen kann. Der erste vorgestellte Ansatz ist eine randomisierte fitnessunabhängige Paarbildung, welche die Eigenschaften der Individuen nicht berücksichtigt. Die Menge der Paare wird sukzessive aufgebaut, indem wiederholt zufällig (gleichverteilt) zwei unterschiedliche Individuen, welche noch nicht in ein Paar eingegangen sind, gezogen bzw. ausgewählt werden. Algorithmus 5.3: Fitnessunabhängige Paarbildung
1 2 3 4 5
Eingabe: Kardinalität P O P der Elternpopulation POP Ausgabe: Index-Paare P = {(i 1 , i 2 ) : i 1 , i 2 ∈ {1, . . . , P O P}} Initialisiere leere Paarmenge P := ∅; while |P| < P O2 P do Ziehe zufällig zwei Individuen i F ∈ {1, . . . , P O P} und i M ∈ {1, . . . , P O P}, sodass i F = i M und weder (i F , i M ) ∈ P noch (i M , i F ) ∈ P; Füge (i F , i M ) der Menge P hinzu; end
Das Vorgehen wird als Pseudocode in Algorithmus 5.3 formal dargestellt. Der Algorithmus erhält die Größe P O P der geordneten Ausgangspopulation POP (Eltern) als Eingabe und liefert eine Menge von Index-Paaren P {1, . . . , P O P}2 zurück. Als Beispieleingabe sei die Population POP = {1, 2, 3, 4} mit Populationsgröße P O P = 4 gegeben. Die Individuen werden der Einfachheit halber über Nummern repräsentiert. Paare, welche aus Individuen der Population gebildet worden sind, werden in der Menge P gespeichert. Die Menge der Paare P wird zunächst mit der leeren Menge initialisiert P = ∅ (Zeile 1) und über eine Schleife schrittweise auf die Zielgröße der halben Populationsgröße erweitert (Zeilen 2–5). Um ein neues Paar zu erzeugen, werden in einer Iteration gleichverteilt zwei unterschiedliche Indizes von Individuen gezogen, welche nicht in einem bereits gebildeten Index-Paar vorkommen (Zeile 3). Für POP = {1, 2, 3, 4} und P = ∅ wäre i F = 1 und i M = 3 eine mögliche Ziehung. Das neue Paar wird der Menge P der erzeugten Paare hinzugefügt (Zeile 4). Im Beispiel ist nach der ersten Iteration P = {(1, 3)} gesetzt.
156
5
Heuristische Verfahren auf Basis Genetischer Algorithmen …
In der zweiten Iteration wird i F = 2 und i M = 4 gewählt und das Paar der Menge hinzugefügt, d. h. P = {(1, 3), (2, 4)}. Dies ist auch der Rückgabewert der Prozedur für die Beispieleingabe. Es können unerwünschte Phänomene auftreten, da die Attribute der Individuen bei dieser Form, in welcher Eltern aus der Population gezogen werden, ignoriert werden. Beispielsweise könnte ein Paar aus zwei identischen Individuen gebildet werden, welche als Duplikate in der Population vorliegen. In diesem Fall würden beide Eltern zu sich selbst rekombiniert werden. Angenommen beide Eltern in einem Paar besitzen eine in Bezug auf die Population unterdurchschnittliche Fitness. Dann besteht die Möglichkeit, dass die aus dem Paar rekombinierten Kinder ebenfalls von geringer Güte sind.
Abbildung 5.4 Fitnessbasierte Paarbildung
Die fitnessbasierte Paarbildung verhindert oder senkt zumindest die Wahrscheinlichkeit dafür, dass homogene oder identische Paaren gekreuzt werden.16 Die Grundidee ist in Abbildung 5.4 dargestellt. Die Population wird in zwei gleich große Teilmengen partitioniert. Die erste Teilmenge besteht aus den Individuen mit geringerer Fitness, also den 50 % „schlechteren“ Individuen. Die zweite Teilmenge beinhaltet die Individuen mit höherer Fitness, also die 50 % „besseren“ Individuen. Innerhalb einer Teilmenge werden die Eltern gleichverteilt gezogen. Da in einem Paar ein vergleichsweise „schlechtes“ und ein relativ „gutes“ Elternteils gefordert wird, kann die Kreuzung von sehr ähnlichen Individuen vermieden werden, falls die Ausgangspopulation eine hinreichende Diversität aufweist. Ein Vorteil der fitnessunabhängigen Paarbildung ist, dass alle möglichen Paare aus den Individuen der Population gebildet werden können. Bei der fitnessbasierten Paarbildung können u. U. Kinder mit guter Fitness verhindert werden. So ist es denkbar, dass es auch zu einem guten Kind führen kann, wenn zwei Individuen aus den oberen 50 % gekreuzt werden. Bei einem Paar von Eltern mit vergleichsweise 16 Vgl.
Valls et al. (2008).
5.2 Problemspezifische Genetische Algorithmen für das RCPSP-ROC
157
hoher Fitness ist nicht garantiert, dass die zwei Kinder der Kreuzung ebenfalls hohe Güte aufweisen. Die fitnessunabhängige Paarbildung lässt dahingegen alle Kombinationsmöglichkeiten von zwei Individuen aus der Population zu. Nachfolgend werden Kreuzungsoperatoren definiert. In der Rekombination fließt ein Teil der Informationen von beiden Elternteilen in die erzeugten Kinder ein. Entweder können beide Elternteile gleichermaßen berücksichtigt werden oder ein Elternteil fließt verstärkt ein, wenn das Kind erzeugt wird. Beispielsweise können die Gene der Mutter in größerem Umfang in der Tochter berücksichtigt werden und entsprechend die Gene des Vaters verstärkt in den Sohn einfließen. Um eine Aktivitätenliste mit einer weiteren Aktivitätenliste zu rekombinieren, kann eine sogenannte Einpunkt-Kreuzung (OPC) der Aktivitätenlisten17 vorgenommen werden. Die Grundidee der Einpunkt-Kreuzung ist es, zwei Listen zu kombinieren, indem der vordere Teil der ersten Liste und des hintere Teil der zweiten Liste übernommen wird. Algorithmus 5.4: Einpunkt-Kreuzung zweier Aktivitätenlisten Eingabe: Aktivitätenliste von Mutter λ M und Vater λ F Ausgabe: Aktivitätenliste für Tochter λ D und Sohn λ S 1 Ziehe q ∼ U {0, J }; 2 Übernehme für die Tochter die ersten q Einträge von der Mutter λiD = λiM , ∀ i ≤ q; 3 Übertrage die restlichen Einträge in Reihenfolge des Vaters F λiD = λmin , ∀i > q; J \{λ D ,...,λ D } 1
i−1
Übernehme für den Sohn die ersten q Einträge vom Vater λiS = λiF , ∀ i ≤ q; 5 Übertrage die restlichen Einträge in Reihenfolge der Mutter λiS = λ M , ∀i > q; S S
4
min J \{λ1 ,...,λi−1 }
Der Pseudocode der Einpunkt-Kreuzung für Aktivitätenliste wird in Algorithmus 5.4 dokumentiert. Als Eingabe erhält die Einpunkt-Kreuzung die Aktivitätenliste von Mutter λ M und Vater λ F . Die Kreuzung produziert Tochter λ D und Sohn λ S . Alle genannten Aktivitätenlisten weisen die gleiche Länge J + 2 auf. Eine Beispieleingabe für J = 6 sei die Mutter λ M = (0, 1, 3, 2, 5, 4, 6, 7) und der Vater 17 Vgl.
Hartmann (1998).
158
5
Heuristische Verfahren auf Basis Genetischer Algorithmen …
λ F = (0, 1, 2, 4, 3, 5, 6, 7). Als erster Schritt in der Kreuzung wird eine zufällige Listenposition q ∼ U {0, J } gemäß diskreter Gleichverteilung gezogen (Zeile 1). Im Beispiel wird q = 3 gezogen. Daraufhin werden für die Tochter die ersten q Elemente von der Mutter übernommen (Zeile 2). Entsprechend wird λ D = (0, 1, 3) gesetzt. Da in einer Aktivitätenliste jeder AG genau einmal auftreten muss, ist es unabdingbar, dass lediglich die nicht vom ersten Elternteil übernommenen AG in der Reihenfolge des zweiten Elternteils in das Kind übertragen werden, wenn der restliche Teil des Kindes konstruiert wird. Dementsprechend werden die nachfolgenden J + 2 − q Elemente in der Reihenfolge des Vaters übernommen, wobei die von der Mutter übernommenen Einträge übersprungen werden (Zeile 3). Da beide Eltern zulässige (da topologisch sortierte) Aktivitätenlisten sind, ist das resultierende Kind ebenfalls topologisch sortiert. Der vordere Teil ist zulässig, da die AG direkt vom ersten Elternteil übernommen werden. Der hintere Teil ist zulässig, da die Sequenz der AG identisch im zweiten Elternteil bereits vorgekommen ist. Die vollständige Aktivitätenliste der Tochter lautet λ D = (0, 1, 3, 2, 4, 5, 6, 7), nachdem die restlichen Werte vom Vater übertragen worden sind. Für die Tochter stammt der vordere Teil ihrer Aktivitätenliste von der Mutter und der hintere Teil vom Vater. Beim Sohn ist die Rolle der Eltern vertauscht. Abgesehen von der Reihenfolge der Argumente ist das Vorgehen, mit welchem Vater und Mutter zu einem Sohn rekombiniert werden, unverändert im Vergleich zur Tochter (Zeilen 4–5). Der Sohn wird zunächst auf λ S = (0, 1, 2) gesetzt und lautet schließlich λ S = (0, 1, 2, 3, 5, 4, 6, 7). Um zusammengesetzte Individuen vollständig kreuzen zu können, muss die Einpunkt-Kreuzung der Repräsentationsbestandteile für die Entscheidung zur Zusatzkapazitätsnutzung spezifiziert werden. Die Kodierungen (λ|β), (λ|τ ), (λ|ˆzr ) und (λ|ˆzr t ) bestehen nicht lediglich aus einer Aktivitätenliste. Folglich muss für die zusätzlichen Komponenten ein Vorgehen für die Kreuzung definiert werden. Die Vektoren β und τ mit einem Eintrag je AG und den Vektor zˆr (und zˆr ,t ) mit über die Ressourcen (und Perioden) referenzierten Koordinaten können wie im Falle der Aktivitätenliste ebenfalls über eine Einpunkt-Kreuzung rekombiniert werden. Bei den Repräsentationen (λ|β) und (λ|τ ) werden die Listen λ und β bzw. τ mit einem gemeinsamen Schnittpunkt q gekreuzt, da die Einträge mit den AG assoziiert sind. Im Gegensatz zur Einpunkt-Kreuzung für die Aktivitätenliste dürfen bei den genannten Komponenten ab der zufällig gewählten Wechselposition q die
5.2 Problemspezifische Genetische Algorithmen für das RCPSP-ROC
159
Werte vom zweiten Elternteil unmittelbar ohne Konsequenzen für die Zulässigkeit übernommen werden. Dies ist möglich, da anders als bei der Aktivitätenliste keine weiteren Einschränkungen gelten außer, dass die Wertebereiche für beide Vektoren eingehalten werden müssen. Die Wertebereiche sind {0, 1} für β j , [0, 1] für τ j , sowie {0, . . . , z r } für zˆr und zˆr ,t . Nachfolgend wird die Einpunkt-Kreuzung für zusammengesetzte Individuen mit Aktivitätenliste und Zusatzinformation, welche darüber entscheidet, in welchem Umfang Zusatzkapazität genutzt werden darf, an Beispielen verdeutlicht. Für die Kodierung (λ|β) ist ein Paar aus zwei Eltern-Individuen mit Mutter I M und Vater I F in Gleichung 5.5 ablesbar. In der ersten Zeile steht jeweils die Aktivitätenliste λ und in der zweiten Zeile der β-Vektor, vgl. Gleichung 5.4. Die resultierenden Kinder bestehend aus Tochter I D und Sohn I S sind in Gleichung 5.6 dargestellt. In beiden Fällen ist, wie in Gleichung 5.4 angedeutet, eine Ausprägung von (λ|β) über eine Matrix aus zwei Zeilenvektoren für je λ und β beschrieben. Der zufällig gewählte Wechselpunkt q liegt hier nach der zweiten Aktivität, d. h. q = 2. Das Vorgehen kann für die (λ|τ )-Kodierung direkt übertragen werden. λ I = (5.4) β 132546 124356 M F I = (5.5) I = 011001 100110 132456 123546 ID = IS = (5.6) 010110 101001 Die Kreuzung der Kodierung (λ|ˆzr ) erfolgt analog. Jedoch können hier die Positionen, an welchen das Elternteil wechselt, von welchem die Informationen übernommen werden, unabhängig für Aktivitätenliste und zˆr gewählt werden. Ein einzelner Wert zˆr dieser Kodierung hat zwar einen Bezug zur Ressource r , steht jedoch im Gegensatz zur Kodierung (λ|β) und (λ|τ ) nicht in einem direkten Bezug zu einem AG. 0 1 2 2 1 1 ... 0 0 0 1 1 0 ... zˆrMt = zˆrFt = (5.7) 0 0 1 1 0 0 ... 2 2 1 2 2 1 ... 0 1 2 1 1 0 ... 0 0 0 2 1 1 ... zˆrSt = (5.8) zˆrDt = 0 0 1 2 2 1 ... 2 2 1 1 0 0 ... Für die Kodierung (λ|ˆzr t ) wurden zwei Varianten der Kreuzung evaluiert: Die erste Variante wechselt das Elternteil, von welchem Informationen übernommen wer-
160
5
Heuristische Verfahren auf Basis Genetischer Algorithmen …
den, nach einer bestimmten Periode. Bis zu dieser Periode werden die Werte für alle Ressourcen übertragen. Für diesen Fall wird ein Paar aus zwei Eltern-Individuen mit Mutter und Vater in Gleichung 5.7 gezeigt. Die zur Matrix zˆr ,t zugehörige Aktivitätenliste wird nicht dargestellt. Das Vorgehen der Einpunkt-Kreuzung, um Aktivitätenliste zu rekombinieren, bleibt unverändert. Die resultierenden Kinder bestehend aus Tochter und Sohn sind in Gleichung 5.8 dargestellt. Im ersten Fall werden Konstellationen in den ersten Perioden über mehrere Ressourcen hinweg von einem Elternteil übernommen. Da Arbeitsschritte u. U. die Kapazität mehrerer Ressourcen beanspruchen, kann es sinnvoll sein, die Kapazitätsgrenzen über mehrere Ressourcen gemeinsam zu übernehmen. Die zweite Variante der Kreuzung wechselt das Elternteil, von welchem die Informationen stammen, nach einer bestimmten Ressource. Bis zu dieser Ressource werden die Werte für alle Perioden übertragen. Für diese Variante ist ein in Gleichung 5.9 abgebildetes Paar aus zwei Eltern-Individuen mit Mutter und Vater angegeben. Die resultierenden Kinder bestehend aus Tochter und Sohn sind in Gleichung 5.10 dargestellt. Es lässt sich direkt erkennen, dass je nach Richtung, in welcher die Eltern gewechselt werden, zwei verschiedene Paare von Kindern resultieren. Im zweiten Fall wird ggf. für mehrere Ressourcen das komplette Kapazitätsprofil für den gesamten Planungshorizont übernommen. Es wird jeweils mit 50 % Wahrscheinlichkeit eine der beiden Kreuzungsvarianten für die Kodierung (λ|ˆzr t ) gewählt. IzˆMrt = IzˆDrt =
0 1 2 2 1 ... 0 0 1 1 0 ... 0 1 2 2 1 ... 2 2 1 2 2 ...
IzˆFrt =
IzˆSrt =
0 0 0 1 1 ... 2 2 1 2 2 ... 0 0 0 1 1 ... 0 0 1 1 0 ...
(5.9) (5.10)
In der Zweipunkt-Kreuzung der Aktivitätenliste wird ein geringfügig verändertes Vorgehen verfolgt. Während bei der Einpunkt-Kreuzung an genau einer Position das Elternteil, dessen Werte übernommen werden, gewechselt wird, erfolgt dies bei der Zweipunkt-Kreuzung (TPC) an zwei Positionen der Aktivitätenlisten. Eine Beispieleingabe sei Mutter λ M = (0, 1, 3, 2, 5, 4, 6, 7) und Vater λ F = (0, 1, 2, 4, 3, 5, 6, 7) mit J = 6.
5.2 Problemspezifische Genetische Algorithmen für das RCPSP-ROC
161
Dafür werden zwei zufällige Positionen q1 und q2 mit q1 , q2 ∈ {0, . . . , J }, q1 < q2 gemäß einer diskreten Gleichverteilung gezogen. Es seien q1 = 3 und q2 = 5 die gezogenen Positionen für die Beispieleingabe. Die beiden Eltern werden dann zu einer Tochter kombiniert, indem zunächst die ersten q1 Stellen von der Mutter übernommen werden. Die Tochter wird mit λ D = (0, 1, 3) initialisiert. Die nächsten q2 −q1 Stellen werden in der Reihenfolge vom Vater übernommen. Die Tochter wird erweitert zu λ D = (0, 1, 3, 2, 4). Die verbleibenden J + 2 − q2 Einträge enthalten schließlich die übrigen AG in der durch die Mutter induzierten Anordnung. Die vollständige Tochter lautet dann λ D = (0, 1, 3, 2, 4, 5, 6, 7). Beim Sohn sind die Rollen von Vater und Mutter vertauscht. Es entsteht daher im Beispiel der Sohn λ S = (0, 1, 2, 3, 5, 4, 6, 7).
5.2.4
Mutation
Der Mutationsschritt bewegt die betroffenen Individuen im Lösungsraum zu neuen Bereichen und ist analog zur Mutation in der Genetik biologischer Organismen, bei welcher das Erbgut stochastisch verändert wird, wenn beispielsweise Reparaturfehler im Genotyp geschehen. Mit einer durch den Anwender des Genetischen Algorithmus festzulegenden Mutationswahrscheinlichkeit Pr obmutate werden die Kinder im Genetischen Algorithmus randomisiert modifiziert. Es kann sichergestellt werden, dass die Kinder weiterhin zulässig bleiben, nachdem sie verändert worden sind. Alternativ können mutierte Kinder zunächst unzulässig sein und mit einem nachgestellten Reparaturschritt versehen werden. Es müssen Nachbarschaftsoperatoren für die Aktivitätenliste festgelegt werden. Ein häufig in der Literatur eingesetzter Mutationsoperator, welcher eine Aktivitätenliste zufällig verändern kann, ist die sogenannte nachbarschaftliche Vertauschung (engl. neighbourhood swap).18 Das genaue Vorgehen im Pseudocode wird in Algorithmus 5.5 beschrieben. Der Algorithmus erhält als Eingabe eine Aktivitätenliste λ und liefert die ggf. veränderte Fassung der Aktivitätenliste als neue Aktivitätenliste λ zurück. Für das Beispielprojekt aus Abbildung 2.6 auf S. 17 sei die Eingabeliste 18 Vgl.
Hartmann (1998).
162
5
Heuristische Verfahren auf Basis Genetischer Algorithmen …
Algorithmus 5.5: Nachbarschaftliche Vertauschung
1 2 3
4
Eingabe: Aktivitätenliste λ Ausgabe: Mutierte Aktivitätenliste λ Kopiere λ nach λ ; foreach i ∈ {1, . . . , J } do
Vertausche λi und λi+1 mit Wahrscheinlichkeit Pr obmutate falls λi kein Vorgänger
ist, d. h. λi ∈ / Pλi+1 ; von λi+1 end
λ = (0, 1, 2, 3, 4, 5, 6, 7) gegeben. Die Mutation beginnt damit, λ als Kopie von λ anzulegen (Zeile 1). Daraufhin wird über alle Listenpositionen von tatsächlichen AG J in λ iteriert (Zeile 2). An einer Listenposition i wird mit einer Mutationswahrscheinlichkeit Pmutate der Eintrag an Position i mit dem Eintrag an Position i + 1 vertauscht. Beide Einträge werden nur dann vertauscht, falls dadurch die topologische Sortierung von λ nicht zerstört wird (Zeile 3). Angenommen für λ2 = 1 würde eine Mutation eintreten. / Pλ3 = {0}, kann der AG mit Da λ2 = 1 kein Vorgänger von λ3 = 2 ist, d. h. λ2 ∈ seinem Nachbar vertauscht werden und die Liste λ = (0, 2, 1, 3, 4, 5, 6, 7) entsteht. Angenommen es soll der AG an Stelle λ6 = 5 ebenfalls mit vertauscht werden. Da jedoch λ6 = 5 durchaus ein Vorgänger von λ7 = 6 ist, also λ6 ∈ Pλ7 = {4, 5} gilt, dürfen die beiden AG ihre Position in der Liste nicht tauschen. Die Liste bleibt unverändert. Nach Iteration über alle AG wird am Ende eine ggf. veränderte Liste zurückgegeben. Nachfolgend werden die Nachbarschaftsoperatoren für weitere Repräsentationsbestandteile spezifiziert. Neben der Aktivitätenliste müssen die zusätzlichen Komponenten der jeweiligen Repräsentationen (λ|β), (λ|τ ), (λ|ˆzr ) und (λ|ˆzr t ) ebenfalls mutiert werden können. Beim β-Vektor werden alle Einträge durchlaufen und mit der Mutationswahrscheinlichkeit Pr obmutate jeweils negiert, d. h. β j = 1 − β j . Ein AG j eines Individuums der Kodierung (λ|τ ) wird mutiert, indem die Belegung von τ j neu gemäß einer stetigen Gleichverteilung aus dem Intervall von 0 bis 1 gezogen wird, d. h. τ j ∼ U (0, 1).
5.2 Problemspezifische Genetische Algorithmen für das RCPSP-ROC
163
Der Vektor zˆr wird mutiert, dadurch dass für jede Ressource r mit Pr obmutate der Wert mit jeweils einer Wahrscheinlichkeit von 50 % entweder inkrementiert oder dekrementiert wird. Dabei wird der Wert immer im Bereich zwischen 0 und z r gehalten. Die Matrix zr t wird mutiert, indem für jede Ressource erst entschieden wird, ob die Werte inkrementiert oder dekrementiert werden. Daraufhin wird für jede Periode mit Pr obmutate je nach vorheriger Auswahl für die Ressource der Eintrag um eins erhöht bzw. verringert. Dabei wird wiederum erzwungen, dass der Wert von zr t im gültigen Bereich von 0 bis z r bleibt.
5.2.5
Fitnessberechnung und Selektion
Angelehnt an die biologische Evolution wird die Güte eines Individuums als Fitness bezeichnet. Der Fitnesswert eines Individuums entspricht dem Zielfunktionswert des kodierten Plans.19 Um die Fitness eines Individuums zu berechnen, wird zunächst aus dem Datentupel (bspw. (λ|β)) der korrespondierende Plan mithilfe der Dekodierungsprozedur erzeugt und darauf der Gewinn des Plans aus der Dauer und der genutzten Zusatzkapazität auf den einzelnen erneuerbaren Ressourcen abgeleitet. Da in der Zielstellung der Problemstellung der Gewinn maximiert werden soll, ist ein Individuum mit höherem numerischen Fitnesswert stets besser dafür geeignet, in eine zukünftige Generation übernommen zu werden. Daher werden im Selektionsschritt des Genetischen Algorithmus tendenziell eher Individuen mit höherer Fitness in der Population behalten. Der aufwendigste Schritt bei Genetischen Algorithmen mit einer indirekten Lösungsrepräsentation besteht in der Regel darin, die Fitness zu berechnen, da eine größere Anzahl der Arbeitsschritte notwendig ist, um ein Individuum in eine Lösung zu dekodieren, als wenn Individuen kombiniert und randomisiert verändert werden sollen. Wie aufwendig es ist, ein einzelnes Individuum zu dekodieren, variiert deutlich für die in Abschnitt 4.3 auf S. 119 vorgestellten Kodierungen. Die Anzahl der Berechnungsschritte pro Individuum, die nötig sind, um dieses zu dekodieren, wird bei der (λ)-Repräsentation höher als bei der (λ|β)-Kodierung sein. Für die (λ)Repräsentation muss das serielle Planerzeugungsschema wiederholt angewendet werden. Hingegen kann ein als (λ|β) kodiertes Individuum vergleichsweise effizient über eine abgewandelte Form des seriellen Planerzeugungsschemas dekodiert werden. Dies führt dazu, dass innerhalb eines Zeitlimits in der (λ|β)-Repräsentation signifikant mehr Generationen erzeugt werden können, bis das Abbruchkriterium erreicht worden ist, als bei der Kodierung (λ). Dementsprechend wäre es nicht aus19 Vgl.
Abbildung 4.1 auf S. 98.
164
5
Heuristische Verfahren auf Basis Genetischer Algorithmen …
sagekräftig, die Güte beider Verfahren mit Abbruchkriterium „Anzahl der erzeugten Pläne“ zu vergleichen, falls nur die Anzahl der Aufrufe der Dekodierungsprozedur betrachtet wird und nicht die gesamte Anzahl der als Zwischenergebnisse erzeugten Teilpläne in der Kodierung (λ) berücksichtigt wird. Analog ist es ebenfalls deutlich aufwendiger die (λ)gs -Kodierung zu dekodieren als die (λ|ˆzr t )-Kodierung. Um zu begünstigen, dass die Population sich über die Generationen in Richtung von guten Lösungen entwickelt, muss die Vereinigungsmenge aus Eltern und Kindern einem Ausleseprozess unterzogen werden, nachdem die Nachfolgegeneration erzeugt worden ist. Dieser Schritt wird als Selektion bezeichnet und reduziert die Population wieder auf ihre Ausgangsgröße, indem die Hälfte der Individuen verworfen wird und tendenziell häufiger Individuen mit höherer Fitness übernommen werden. Ein Selektionsoperator gibt die Kriterien vor, nach welchen für jedes Individuum der Population entschieden wird, ob dieses in die nächste Generation aufgenommen wird. Nachfolgend werden zwei unterschiedliche Selektionsoperatoren vorgestellt. Die Elite-Selektion folgt dem „Greedy“-Suchprinzip „Exploitation“. Dieser Selektionstyp priorisiert es also, rasch die Lösungen zu verbessern, anstatt den Lösungsraum erschöpfend abzudecken. Wenn die Elite-Selektion angewendet wird, werden die 50 % fittesten Individuen aus der Population in die nächste Generation übernommen und die restlichen 50 % Individuen verworfen. Algorithmus 5.6: Elite-Selektion ˜ (n) der n-ten Generation aus Eltern und Kindern mit Eingabe: Population POP ˜ (n) | = 2 · P O P und Fitnesswerte f : POP ˜ (n) → R |POP Ausgabe: Elternpopulation POP (n+1) der n + 1-ten Generation mit |POP (n+1) | = P O P ˜ (n) nach absteigender Fitness; 1 Sortiere Individuen aus POP 2 Kopiere vordere Hälfte von POP (n) in POP (n+1) ;
Der Pseudocode für diesen Selektionsoperator ist in Algorithmus 5.6 beschrieben. Der Algorithmus erhält als Eingabe die Gesamtpopulation der n-ten Generation bestehend aus Eltern und Kindern. Der Algorithmus liefert als Ausgabe die durch Selektion reduzierte Population zurück. Eine Beispieleingabe sei die Population der ersten Generation nach Mutation mit Kindern POP (1) = {1, 2, 3, 4} mit Fitnesswerten f = {(1, 0), (2, 3), (3, 1), (4, 5)}, wobei (x, y) ∈ f für f (x) = y gilt. Die Individuen in der Population werden zuerst nach absteigender Fitness sortiert (Zeile 1). Die nach absteigender Fitness sortierte Folge zur Menge POP lautet
5.2 Problemspezifische Genetische Algorithmen für das RCPSP-ROC
165
POP = (4, 2, 3, 1). Daraufhin wird nur die vordere Hälfte der sortierten Popula-
tion in die Nachfolgegeneration übernommen (Zeile 2). Die vordere Hälfte enthält entsprechend die neuen Eltern und die hintere Hälfte der Population wird neu mit Kindern überschrieben. Im Beispiel sind also P O P (2) = {4, 2} die Eltern der zweiten Generation und die Individuen 1 und 3 werden verworfen. Dieser Selektionsoperator konvergiert vergleichsweise schnell zu lokalen Optima und hat das Risiko dort zu verharren, wenn die Mutationsoperatoren keine hinreichend große Nachbarschaft erreichbar machen. Bei der Duell-Selektion werden analog zur fitnessunabhängigen Paarbildung zufällige Paare aus Individuen gebildet. Die Individuen in einem Paar werden miteinander verglichen und das Individuum mit höherer Fitness wird in die nächste Generation übernommen, wohingegen das andere Individuum verworfen wird. Der Vorteil dieses Selektionsoperators im Vergleich zur Elite-Selektion besteht darin, dass die Diversität in der Population tendenziell durch die Selektion weniger stark verringert wird. Auch Individuen mit vergleichsweise niedriger Fitness erhalten eine Chance, in die nächste Generation übernommen zu werden. Dies entspricht dem Suchprinzip der „Exploration“, welche vorrangig den Lösungsraum rasch abdeckt, anstatt vorrangig die beste gefundene Lösung zu verbessern. Ein Nachteil dieses Selektionsoperators im Vergleich zur Elite-Selektion ist, dass die benötigte Anzahl der Generationen, um sehr gute Lösungen zu finden, erhöht sein kann. Algorithmus 5.7: Duell-Selektion (n)
1 2 3 4 5
˜ Eingabe: Gesamtpopulation POP Generation n aus Eltern und Kindern mit ˜ (n) | = 2 · P O P und Fitnesswerte f : POP ˜ (n) → R |POP (n+1) Ausgabe: Elternpopulation POP Generation n + 1 mit |POP (n+1) | = P O P Initialisiere Nachfolgepopulation POP (n+1) = ∅; while Nachfolgepopulation POP (n+1) unvollständig do Entnehme zufällig zwei Individuen i 1 , i 2 , sodass i 1 = i 2 und beide noch nicht in Population; Füge besseres der beiden Individuen der Nachfolgepopulation POP (n+1) hinzu; end
Der Pseudocode für die Duell-Selektion ist in Algorithmus 5.7 beschrieben. Die Gesamtpopulation aus Eltern und Kindern als Eingabe wird wie bei der EliteSelektion auf die Ursprungsgröße reduziert und die reduzierte Population als Eltern der Nachfolgegeneration zurückgegeben. Eine Beispieleingabe sei die Population
166
5
Heuristische Verfahren auf Basis Genetischer Algorithmen …
der ersten Generation nach Mutation mit Kindern POP (1) = {1, 2, 3, 4} mit Fitnesswerten f = {(1, 0), (2, 3), (3, 1), (4, 5)}. Die Nachfolgepopulation POP (n+1) wird als erster Schritt initialisiert (Zeile 1). Daraufhin wird solange das Individuum mit höherer Fitness aus einem gebildeten Duell-Paar in POP (n+1) eingefügt (Zeile 4), bis die Nachfolgegeneration POP (n+1) ihre Zielgröße P O P erreicht hat (Zeile 2). Ein Duell-Paar wird gemäß einer diskreten Gleichverteilung aus der Menge der Individuen, welche noch nicht duelliert haben, gezogen (Zeile 3). Im Beispiel ist ein mögliches erstes IndividuenPaar i 1 = 1 und i 2 = 3. Das Individuum mit höherer Fitness im Paar wird in die Nachfolgegeneration eingefügt (Zeile 4). Es wird folglich i 2 = 3 mit f (3) = 1 > f (1) = 0 der Menge POP (n+1) hinzugefügt. Für das Beispiel ergibt sich nach einem weiteren Schritt die finale Population POP (n+1) = {3, 4}.
5.3
Lokalsuchprozedur auf Basis der kommerziellen Software„LocalSolver“
5.3.1
Nichtlineares Modell mit Listenvariable
Mit dem Genetischen Algorithmus wurde ein Ansatz vorgestellt, mit welchem der Genotyp-Raum einer Kodierung für das RCPSP-ROC nach Belegungen, welche gute Lösungen repräsentieren, durchsucht werden kann. Nachfolgend wird ein alternativer Ansatz präsentiert. Dieser benötigt im Gegensatz zum Genetischen Algorithmus zusätzlich zur Definition der Wertebereiche der Kodierung und einer Dekodierungsprozedur keine weiteren problemspezifischen Anpassungen. Wie LocalSolver genutzt werden kann, um das RCPSP-ROC heuristisch zu lösen, wurde in Schnabel et al. (2018) in Abschnitt 4.4 auf S. 347ff. beschrieben. Bei LocalSolver (LS)20 handelt es sich um eine kommerzielle Software zur heuristischen Lösung von Optimierungsproblemen, welche von der französischen Firma Innovation 24 entwickelt worden ist.21 Das Softwarepaket beinhaltet eine deskriptive Modellierungssprache, welche den für die mathematische Programmierung üblichen Sprachen wie General Algebraic Modeling System (GAMS)22 oder AIMMS23 grundsätzlich ähnlich ist. Zusätzlich beinhaltet LocalSolver eine 20 Vgl.
Gardi et al. (2014), Benoist et al. (2011) sowie LocalSolver (2019b). LocalSolver (2019d). 22 Vgl. GAMS (GAMS Software GmbH (2020)), eine proprietäre Software sowie eine nicht kontextfreie Modellierungssprache mit Integration aller gängiger Solver. 23 Vgl. AIMMS (2019). 21 Vgl.
5.3 Lokalsuchprozedur auf Basis der kommerziellen Software„LocalSolver“
167
auf hybriden lokalen Suchverfahren basierende Komponente, welche gute Lösungen sucht und die in der Modellierungssprache von LocalSolver formulierten Programme für gegebene Datensätze löst. Die Sprache bietet auch die notwendigen Kontrollstrukturen für das imperative Programmierparadigma und ist daher als turingvollständige Programmiersprache für beliebige Anwendungszwecke einsetzbar.24 Da im Modul, welches nach guten Lösungen sucht, heuristische Lösungsverfahren auf Basis von nachbarschaftlicher Suche eingesetzt werden, erlaubt die Modellierungssprache es auch, nicht-lineare Operatoren und Konstrukte zu verwenden. LocalSolver kann für rein lineare Programme auch mithilfe der Relaxationen der Ganzzahligkeitsrestriktionen je nach Optimierungsrichtung untere bzw. obere Schranken berechnen, welche als Abbruchkriterium für die Optimierung genutzt werden können.
Abbildung 5.5 Schema des Ablaufs der LocalSolver-Nutzung. (Quelle: Eigene Darstellung)
Der grundsätzliche Ansatz, wie LocalSolver im Kontext dieser Arbeit genutzt werden soll, wird in Abbildung 5.5 dargestellt. Eine Lösung wird wiederum über 24 Eine
Programmiersprache gilt als turingvollständig, wenn sie in der Lage ist, sämtlich Funktionen zu berechnen, welche auch durch eine universelle Turingmaschine berechnet werden können. Die gängigen Programmiersprachen sind allesamt turingvollständig, vgl. Batdalov et al. (2016).
168
5
Heuristische Verfahren auf Basis Genetischer Algorithmen …
einen Kreis mit radialen Linien im Inneren dargestellt. Die nicht problemspezifische Blackbox-Lokalsuchprozedur im Kern von LocalSolver erhält die Probleminformationen in Form eines Modells. Die gegebenen modellendogenen Größen werden als Variablen über die lokale Suche optimiert, wobei die Randbedingungen des Modells berücksichtigt werden. Die Initialbelegung der Variablen zu Beginn des Lösungsprozesses kann durch den Nutzer vorgegeben werden. Die Variablenbelegungen werden über mehrere Iterationen verbessert, indem je Iteration über Nachbarschaftsoperatoren von einem aktuell betrachteten Lösungskandidat zu einem anderen Kandidaten gewandert wird. Das genaue Vorgehen ist hierbei aufgrund der nicht öffentlich einsehbaren Quellcodes von LocalSolver nicht im Detail nachvollziehbar.25 Aus der Variablenbelegung und damit der Ausprägung einer kompakten Kodierung26 wird über eine durch den Nutzer spezifizierte Dekodierungsprozedur die zugehörige Lösung berechnet und die Güte der Lösung an die lokale Suche als Zielfunktionswert zurückgegeben. Anhand der Lösungsgüte kann die Lokalsuchprozedur ihre Nachbarschaftsbewegungen entsprechend nachjustieren. Nachdem ein Abbruchkriterium erreicht worden ist, wird die beste bisher gefundene Lösung zurückgeliefert. Da hier ein Maximierungsproblem betrachtet wird, weist die beste gefundene Lösung den maximalen Zielfunktionswert (bzw. Gewinn im Falle des RCPSP-ROC) über alle besuchten Lösungen auf. Über die Anwendungsentwicklungsschnittstelle (API) von LocalSolver kann an jeder beliebigen Stelle im Modell ein Ausdruck eingefügt werden, dessen Wert vom Programmierer über eine an LocalSolver übermittelte Funktion in Abhängigkeit von der Belegung der Entscheidungsvariablen in LocalSolver berechnet wird. Hiermit kann an allen Stellen des Modells ein beliebiger Algorithmus hinterlegt werden. Direkte Kodierungen, welche die Entscheidungen unmittelbar in der Belegung der Entscheidungsvariablen ablesbar machen,27 sind im Falle des RCPSP nicht geeignet, um in einem lokalen Suchverfahren genutzt zu werden.28 Daher wird nachfolgend die Aktivitätenliste als Darstellung der relativen Prioritäten der AG und damit als Kodierung benutzt. Zur Dekodierung einer Aktivitätenliste werden die sogenannten „nativen Funktionen“ 29 von LocalSolver genutzt. Als Zielfunktionswert wird der Gewinn in Abhängigkeit von der gewählten Aktivitätenliste (und ggf. Zusatzentscheidung über die Zusatzkapazität) aus dem dekodierten Ablaufplan abgeleitet. Dieser wiederum wird über die entsprechende Dekodierungsprozeduren 25 Grundideen
wurden in Benoist et al. (2011) veröffentlicht. Kapitel 4 auf S. 95ff. 27 Siehe Abbildung 4.1 auf S. 98. 28 Vgl. hierzu Abschnitt 4.1 auf S. 95ff. 29 Vgl. die offizielle Dokumentation zu nativen Funktionen auf LocalSolver (2019c). 26 Vgl.
5.3 Lokalsuchprozedur auf Basis der kommerziellen Software„LocalSolver“
169
ermittelt, welche in C++ bereits für die Genetischen Algorithmen implementiert worden sind und daraufhin als native Funktionen in die jeweiligen Modelle eingebettet werden. Listing 5.1 Modelldefinition in der Schnittstelle für C++ von LocalSolver 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11
L o c a l S o l v e r ls ; L S M o d e l m o d e l = ls . g e t M o d e l ();
// Setze native F u n k t i o n als LS - A u s d r u c k ein a u t o n a t i v e F u n c t i o n = m o d e l . c r e a t e N a t i v e F u n c t i o n ( d e c o d e r ); L S E x p r e s s i o n o b j e c t i v e = model . call ( n a t i v e F u n c t i o n ); // D e k l a r i e r e L i s t e n v a r i a b l e mit f e s t e r L a e n g e L S E x p r e s s i o n a c t i v i t y L i s t = m o d e l . l i s t V a r ( p r o j e c t . n u m J o b s ); m o d e l . c o n s t r a i n t ( m o d e l . c o u n t ( a c t i v i t y L i s t ) == p r o j e c t . n u m J o b s ); // G e n e r i e r e R e f e r e n z e n je L i s t e n e l e m e n t und // setze diese als O p e r a n d e n in die Z i e l f u n k t i o n ein vector < L S E x p r e s s i o n > l i s t E l e m s ( p r o j e c t . n u m J o b s ); f o r ( i n t i = 0; i < p r o j e c t . n u m J o b s ; i ++) { l i s t E l e m s [ i ] = m o d e l . at ( a c t i v i t y L i s t , i ); o b j e c t i v e . a d d O p e r a n d ( l i s t E l e m s [ i ]); } // D e k l a r i e r e b o o l e s c h e n E n t s c h e i d u n g s v e k t o r und // setze die K o o r d i n a t e n als O p e r a n d e n in die Z i e l f u n k t i o n ein vector < L S E x p r e s s i o n > b e t a V a r ( p r o j e c t . n u m J o b s ); f o r ( i n t i = 0; i < p r o j e c t . n u m J o b s ; i ++) { b e t a V a r [ i ] = m o d e l . b o o l V a r (); o b j e c t i v e . a d d O p e r a n d ( b e t a V a r [ i ]); } m o d e l . a d d O b j e c t i v e ( objective , O D _ M a x i m i z e ); m o d e l . c l o s e ();
Neben den klassischen Typen von Entscheidungsvariablen, wie Binärvariablen, ganzzahligen und stetigen Variablen, liefert LocalSolver auch einen besonderen Datentyp für kombinatorische Optimierungsprobleme, bei denen eine Lösung als Permutationen von Werten aus einer diskreten Menge dargestellt werden kann. Eine Listenvariable mit Länge n enthält eine Permutation der Werte von 0 bis n − 1. Die Länge der Liste wird auf die Anzahl der AG gesetzt. Die Liste bildet dadurch eine nicht unbedingt topologisch sortierte Permutation der AG ab. In Listing 5.1 ist ein nichtlineares Modell mit Listenvariable ohne Restriktionen für die topologische Sortierung der AG-Liste enthalten. Das Modell ist nichtlinear, da Dekodierungsprozeduren aufgerufen werden. Die Prozeduren sind beliebige Algorithmen30 und keine linearen Operatoren. Das nichtlineare Modell kann genutzt werden, um Instanzen des RCPSP-ROC über die Kodierung (λ|β) zu lösen. 30 In diesem Fall sind es iterative und parametrisierbare Algorithmen, welche Pläne erzeugen.
170
5
Heuristische Verfahren auf Basis Genetischer Algorithmen …
27
Zunächst wird das LocalSolver-Objekt und -Modell initialisiert (Zeilen 1–2). Daraufhin wird die native Funktion in einen Ausdruck umgewandelt (Zeilen 5–6). In decoder ist hierbei ein Objekt einer Klasse, welche die Schnittstelle für native Funktionen von LocalSolver implementiert, hinterlegt. Indem die entsprechende Funktion der Klasse überladen wird, kann LocalSolver den vom Nutzer hinterlegten Code als Callback aufrufen. Anschließend wird in Zeile 9 eine neue Listenvariable mit Einträgen aus dem Bereich {0, . . . , J + 1} initialisiert. Zudem muss durch eine explizite Restriktion die Länge der Liste auf die Anzahl der AG gesetzt werden (Zeile 10). Beide Anweisungen führen in Kombination dazu, dass in activityList eine AG-Permutation gespeichert wird. Um in der nativen Funktion als Argument verwendet werden zu können, muss aus technischen Gründen jede Position in der Listenvariable explizit in einem Ausdruck gespeichert und als Operand an die Funktion übergeben werden (Zeilen 14–18). Die Binärvariablen werden anschließend für den Vektor β im Modell angelegt und als Operanden für die native Funktion hinzugefügt (Zeilen 22–26). Schließlich wird die Zielfunktion in das Modell eingefügt (Zeile 28) und das Modell geschlossen (Zeile 29).
28
5.3.2
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
29 30 31 32 33 34 35 36 37 38
39
40 41 42 43
Kodierungsspezifische Modellerweiterungen
Zusätzlich zur Priorität der AG beinhalten die meisten Kodierungen eine weitere Komponente, welche das Ausmaß induziert, in welchem Zusatzkapazität genutzt werden darf. Diese Entscheidungen müssen ebenfalls als Variablen im LocalSolverModell abgebildet werden. Da neben den Wertebereichen keine weiteren Einschränkungen für diese Daten bestehen, können die zusätzlichen Informationen unmittelbar über ganzzahlige oder binäre Variablen mit unteren und oberen Schranken deklariert werden. Bei der Kodierung (λ|β) gibt es je AG j eine Binärvariable β j ∈ {0, 1}, analog bei der (λ|τ )-Kodierung für jeden AG j eine stetige Variable τ j ∈ [0, 1]. Für die Kodierungen (λ|ˆzr ) und (λ|ˆzr t ) wird eine ganzzahlige Variable zˆr , zˆr ,t ∈ {0, . . . , z r } je Ressource r (und ggf. Periode t) deklariert.
5.3.3
Integration robuster Dekodierungsprozeduren
Da Listenvariablen in LocalSolver sämtliche Permutationen enthalten können, muss die Dekodierungsprozedur robust gegenüber nicht topologisch sortierten Listen gemacht werden. Eine mögliche Vorgehensweise ist es hierbei, unzulässige Lösungen mit einem Zielfunktionswert von −∞ (Maximierungsproblem) zu bestrafen,
5.3 Lokalsuchprozedur auf Basis der kommerziellen Software„LocalSolver“ 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
171
sodass eine zulässige Lösung stets eine bessere Bewertung erhält. Eine weitere Möglichkeit wäre es, Reihenfolgerestriktionen für die AG-Liste im LocalSolver-Modell einzuführen. Beide Realisierungsmöglichkeiten wurden in einer stichprobenartigen numerischen Untersuchung verglichen. Die Untersuchung zeigte, dass in kürzerer Zeit gute Lösungen gefunden werden, wenn die topologische Sortierung nicht durch entsprechende Restriktionen erzwungen wird. Als weitere Alternative wurde evaluiert, eine nicht topologisch sortierte Liste von AG mit einem sehr schlechten Zielfunktionswert von −∞ zu bestrafen. Auch dieses Vorgehen wurde durch die Variante der robusten Dekodierungsprozedur dominiert. Daher wird nachfolgend lediglich die Variante von beliebigen Permutationen in Kombination mit einer demgegenüber robusten Dekodierungsprozedur gewählt. Im gegenüber beliebigen Permutationen der AG robusten seriellen Planerzeugungsschema wird bei einer nicht topologisch sortierten Eingabeliste in einem Einplanungsschritt immer derjenige einplanbare AG eingeplant, dessen Eintrag in der Aktivitätenliste die früheste Position aufweist. Dies lässt sich auch so interpretieren, dass in jedem Einplanungsschritt die Liste von vorne nach hinten durchwandert wird. Beim ersten einplanbaren AG wird das Iterieren über die AG abgebrochen und der gefundene AG eingeplant. Das serielle Planerzeugungsschema muss nicht angepasst werden, um als Dekodierungsprozedur in Kombination mit LocalSolver genutzt werden zu können, wenn Prioritätswerte eingesetzt werden, um die AG-Priorisierung darzustellen. Die Listenvariable für die AG-Permutation muss dann entsprechend durch einen Vektor aus stetigen Variablen für jeden AG mit 0 als unterer und 1 als oberer Schranke ersetzt werden.
6
Numerische Analyse der Performance verschiedener Lösungsverfahren für das RCPSP-ROC
6.1
Entwurf der Problembibliothek
6.1.1
Instanzengeneratoren und Problembibliotheken für das RCPSP
Um die Leistungsfähigkeit der Lösungsverfahren zu vergleichen, werden heterogene Instanzen unterschiedlicher Schwierigkeitsgrade benötigt. Die Aussagekraft der numerischen Ergebnisse hängt entscheidend davon ab, welche Testinstanzen den Experimenten zugrunde gelegt werden.1 In der Literatur wurden mehrere Instanzengeneratoren und zugehörige Problembibliotheken für das RCPSP vorgestellt. Zu den häufig verwendeten Generatoren für RCPSP-Testinstanzen gehören ProGen2 , RiskNet3 , RanGen 14 sowie RanGen 25 . Gängige Bibliotheken sind Patterson6 , die PSPLIB7 , RG308 , Pack9 und Pack_d.10 ProGen/max basiert auf ProGen und kann Projekte mit verallgemeinerten Zeitbe1 Vgl.
Smith-Miles et al. (2014).
2 Project Scheduling Problem Instance Generator (ProGen), vgl. Kolisch und Sprecher (1996). 3 Vgl.
Tavares et al. (1999). Demeulemeester et al. (2003). 5 Vgl. Vanhoucke et al. (2008). 6 Vgl. Patterson (1976). 7 Project Scheduling Problem Library (PSPLIB), vgl. Kolisch et al. (1995), Kolisch und Sprecher (1996) und Kolisch et al. (1999). 8 Vgl. Vanhoucke et al. (2008). 9 Vgl. Neron et al. (2006). 10 Vgl. Koné et al. (2011). 4 Vgl.
© Der/die Herausgeber bzw. der/die Autor(en), exklusiv lizenziert durch Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature 2020 A. Schnabel, Heuristiken für die gewinnorientierte Planung ressourcenbeschränkter Projekte mit erweiterbaren Kapazitäten, Produktion und Logistik, https://doi.org/10.1007/978-3-658-31610-5_6
173
174
6
Numerische Analyse der Performance verschiedener Lösungsverfahren...
ziehungen erzeugen.11 ProGen/π ist ein Generator für Instanzen von Projekten mit partiell erneuerbaren Ressourcen.12 Die Projektsammlung PSPLIB hat in der Literatur zum RCPSP mittlerweile den Status einer Standardproblembibliothek erreicht. In vielen Veröffentlichungen von Lösungsansätzen für das RCPSP wird die Leistungsfähigkeit unterschiedlicher Lösungsmethoden teils exklusiv gemessen, indem Instanzen der PSPLIB gelöst werden. Da die eingeschränkte Diversität der PSPLIB in der Literatur kritisiert worden ist,13 sind seitdem einige andere Instanzenbibliotheken und teilweise dazugehörige Instanzengeneratoren veröffentlicht worden. Aufgrund der starken Bekanntheit dieser Problembibliothek wurde als primäres Testset für die nachfolgenden Untersuchungen zum RCPSP-ROC dennoch die PSPLIB verwendet. Bei einem anschließenden Vergleich der Verfahren, welcher diese Instanzen in Teilmengen aufteilt, für welche jeweils ein Verfahren dominiert, wurden nachfolgend jedoch zusätzlich die von RanGen 2 erzeugten Testsets RG30 und RG300 verwendet.14 Die durch den Instanzengenerator ProGen erzeugte PSPLIB umfasst Projekte mit 30, 60, 90 und 120 nicht-fiktiven AG zzgl. von Dummy-Quelle und -Senke. Die PSPLIB wird teils nach den drei Autoren als „Kolisch Sprecher Drexl“ (KSD) abgekürzt. Um eine Sammlung von Projekten mit unterschiedlicher Schwierigkeit zu erhalten, wurden verschiedene Komplexitätsmaße für RCPSP-Instanzen definiert.15 Die Netzwerkkomplexität (NC) gibt Auskunft über das Verhältnis von Reihenfolgebeziehungen zur Projektgröße, d. h. die Kantendichte im Vorgangsknotendigraphen. Die Ressourcenstärke (RS) quantifiziert die Knappheit der Ressourcen. Bei R S = 1 herrscht keine Knappheit und der Earliest Start Schedule ist zulässig. Im Fall R S = 0 sind die Ressourcen sehr knapp und die Kapazitätsgrenzen liegen auf dem maximalen Bedarf an der jeweiligen Ressource durch einen AG. Der Ressourcenfaktor (RF) beschreibt den Anteil der Ressourcen, für welche ein nicht-fiktiver AG strikt positive Ressourcennachfrage aufweist. Für jede Projektgröße wurden jeweils 10 Instanzen für jedes Tripel aus dem kartesischen Produkt der verwendeten Werte für die Komplexitätsmaße RF, RS und NC erzeugt mit NC ∈ {1,5; 1,8; 2,1}, RF ∈ {0,25; 0,5; 0,75; 1,0} für alle Größen
11 Vgl.
Schwindt (1995). Drexl et al. (2000). 13 Vgl. Demeulemeester et al. (2003). 14 Vgl. Vanhoucke et al. (2008). 15 Vgl. Kolisch und Sprecher (1996). 12 Vgl.
6.1 Entwurf der Problembibliothek
175
von Testinstanzen in der PSPLIB und RS ∈ {0,2; 0,5; 0,7; 1,0} für j30, j60 und j90 sowie RS ∈ {0,1; 0,2; 0,3; 0,4; 0,5} für j120.16 Der Startwert für den Zufallszahlengenerator, welcher genutzt wurde, um die Instanzen zu erzeugen, ist in den Beschreibungsdaten jeder Instanz hinterlegt. Die Konstellationen der drei Kenngrößen und das Schema, mit welchem die Instanzen benannt worden sind, wurde dokumentiert.17 Die Instanzen sind in serialisierter Form als Textdateien mit einem speziellen Format öffentlich verfügbar.18 Die PSPLIB enthält neben Instanzen für das klassische RCPSP mit einem Ausführungsmodus je AG (Dateiendung .sm) auch Instanzen für verwandte Probleme wie das MRCPSP (Suffix .mm).
6.1.2
Erweiterung von RCPSP-Instanzen
6.1.2.1 Parameter für die Zusatzkapazitäten Die Werte von z r und κr müssen als zusätzliche neue Parameter mit Bezug zur Zusatzkapazität bestimmt werden, um die RCPSP-Testinstanzen für das RCPSPROC zu erweitern. Die kumulierten Verbräuche auf Ressource r sind auf die reguläre Normalkapazität zzgl. des Zusatzkapazitätslimits, d. h. K r + z r begrenzt. Nachfolgend werden die oberen Schranken für die Zusatzkapazität jeweils auf die abgerundete halbe Anzahl der Kapazitätseinheiten der regulären Kapazität K r angenommen, d. h. zr =
1 Kr . 2
(6.1)
Für die Instanz j301_1.sm mit Kapazitätsvektor K = (12 13 4 12)
(6.2)
sind entsprechend die Zusatzkapazitätslimits bei z = (6 6 2 6)
16 Vgl.
Kolisch und Sprecher (1996). Kolisch und Sprecher (1996) sowie Florian Wittemann (2019b). 18 Vgl. Florian Wittemann (2019a). 17 Siehe
(6.3)
176
6
Numerische Analyse der Performance verschiedener Lösungsverfahren...
und somit die verfügbare Gesamtkapazität K = K r + z r , wenn Zusatzkapazität maximal genutzt werden darf, bei K = (18 19 6 18) .
(6.4)
Die Werte in den Vektoren sind jeweils in KE angegeben. Als weiterer neuer Parameter werden die Kostensätze κr für eine genutzte Einheit der Zusatzkapazität der Ressourcen r nachfolgend für alle Ressourcen auf eine halbe Geldeinheit gesetzt, d. h. 1 GE κr = . (6.5) 2 KE Die Kosten verschiedener Ressourcen werden daher nicht unterschiedlich gewichtet. Dies unterbindet Wechselwirkungen zwischen Ressourcenbeanspruchungen k jr und der Kostensätzen κr . Die Dauer des optimalen Plans und damit die Gewichtung der gegenläufigen Ziele, die Projektdauer und die Kosten zu minimieren, wird durch die drei neuen Parameter (obere Schranken für Zusatzkapazität z r , Kostensätze κr und Erlösfunktion u t ) bestimmt. Werden die ersten beiden Parameter analog zur obigen Definition angenommen, dann lässt sich allein durch die konkrete Ausgestaltung des Verlaufs der Erlösfunktion bestimmen, an welcher Stelle der Trade-off im Gleichgewicht ist.
6.1.2.2 Spezifikation der Erlösfunktion Es sei T die Dauer des kürzesten Plans mit beliebig vielen genutzten (aber innerhalb der oberen Schranken z r zulässigen) Zusatzkapazitätseinheiten. Die Dauer des kürzesten Plans, welcher keinerlei Zusatzkapazität nutzt, wird mit T bezeichnet. Beide Größen können jeweils über die Lösung eines RCPSP bestimmt werden. Die Gewinn-Kurve soll in Abhängigkeit von der Projektdauer einen derartigen Verlauf annehmen, dass das Optimum (also Maximum) der Kurve sich zwischen den Projektdauern T und T befindet. Dafür muss die Erlöskurve einen gespiegelten Verlauf der Kostenkurve aufweisen. Dies kann bspw. über eine Regression mittels einer invertierten und gestauchten Parabel erreicht werden. Der Verlauf der Parabel ist plausibel, da der Grenznutzen für ein früheres Projektende sinkt, wenn das Projekt fortwährend verkürzt wird. Die Strafkosten steigen meist mit voranschreitender Verspätung und Fristverletzungen. Die negative Parabel soll durch zwei heuristisch ermittelte Stützstellen laufen: 1. Stützstelle: Kürzeste Dauer und Kosten mit starker Zusatzkapazitätsnutzung (T heur L B , C heurU B ) (oben links in Abbildung 6.2),
6.1 Entwurf der Problembibliothek
177
Abbildung 6.1 Verlauf von Kosten, Erlös und Deckungsbeitrag in Abhängigkeit von der erreichten Projektdauer für j3021_9.sm
2. Stützstelle: Kürzeste Dauer und Kosten ohne Zusatzkapazitätsnutzung (T heurU B , 0) (unten rechts in Abbildung 6.2) In Abbildung 6.1 wird exemplarisch der Verlauf der Kosten für Zusatzkapazität, welche notwendig ist um eine bestimmte Projektdauer zu erreichen, veranschaulicht. Es sind drei Kurven in Abbildung 6.1 enthalten: Der Erlös (Symbol: Raute), die Kosten (Symbol: Kreis) und der Gewinn (Symbol: Quadrat) als Differenz beider Werte. Die Kurven wurden auf Basis der RCPSP-Testinstanz j3021_9.sm aus der PSPLIB berechnet, indem die minimalen Zusatzkapazitätskosten für die Projektdauern von T bis T als Lösungen von Ressourcenüberladungsproblem mithilfe eines Solvers für gemischt-ganzzahlige lineare Optimierungsprobleme (MILP) berechnet worden sind. Für die Definition der Erlösfunktion wird es hilfreich sein, mehrere Konstanten aus den Daten einer Instanz abzuleiten. Die Berechnungsvorschriften für diese Konstanten werden nachfolgend dargestellt und erläutert. Sowohl T als auch T kann jeweils nur über die Lösung eines N P -Schweren Problems, nämlich einer Instanz des RCPSP, berechnet werden. Daher werden effizient berechenbare Schranken als Ersatzwerte herangezogen.
178
6
Numerische Analyse der Performance verschiedener Lösungsverfahren...
Abbildung 6.2 Veranschaulichung der kürzesten Projektdauer mit und ohne Zusatzkapazität sowie maximalen Kosten
Eine untere Schranke T heur L B für T lässt sich über die Dauer des Earliest Start Schedules gewinnen. Obere Schranken für T und T können mithilfe des seriellen Planerzeugungsschemas bestimmt werden. Es sei T heurU B ≥ T die Dauer des Plans, welcher durch das serielle Planerzeugungsschema mit der kanonischen Liste λc = (0, 1, . . . , J , J + 1) mit beliebig vielen (aber innerhalb der oberen Schranken z r zulässigen) Zusatzkapazitätseinheiten erzeugt worden ist. Ferner sei T heurU B ≥ T die Dauer des entsprechenden Plans, wenn keine Zusatzkapazität erlaubt wird, d. h. zr ,t = 0, ∀ r ∈ R, t ∈ T . Der relevante Bereich der Projektdauern liegt theoretisch zwischen T und T . Für Projektdauern oberhalb von T wird der Erlös auf 0 gesetzt. Für Projektdauern unterhalb von T liegt der Erlös bei C heurU B , den maximalen im Earliest Start Schedule erzeugten Kosten für Zusatzkapazität. C heurU B ist eine obere Schranke für die tatsächlichen Kosten. In einer zulässigen Lösung für das RCPSP-ROC ist die genutzte Zusatzkapazität je Ressource r auf den Wert z r beschränkt. Daher wird der Betrag der tatsächlichen Kosten stets den Wert C heurU B unterschreiten.
6.2 Versuchsaufbau für die numerischen Experimente
179
Tatsächlich kann u. U. ein zulässiger Plan mit gleicher Dauer wie der Earliest Start Schedule existieren, welcher geringere Kosten C < C heurU B dadurch hervorruft, dass er die AG außerhalb des kritischen Pfads geschickter anordnet.19 Es ergibt sich die nachfolgende abschnittsweise Definition der Erlösfunktion, wenn die Parabelgleichung y = a · (b − x)2 + c entsprechend umgestellt wird:
ut =
⎧ ⎪ ⎪ ⎨C heurU B ,
C heurU B − ⎪ ⎪ ⎩0,
falls t < T heur L B C heurU B (t (T heurU B −T heur L B )2
− T heur L B )2 , falls T heur L B ≤ t ≤ T heurU B falls T heurU B < t
(6.6) Der Verlauf dieser Funktion und die Stützstellen wurden in Abbildung 6.2 auf S. 178 skizziert. Die Definition beschreibt eine konkave und monoton in der Projektdauer fallende Funktion. Wegen u t = 0 für t > T heurU B existiert immer ein zulässiger Plan mit einem nicht-negativen Gewinn. Dieser absolute Nullpunkt der Zielfunktionswerte ermöglicht es, relative Abweichungen der Gewinne sinnvoll zu berechnen.
6.2
Versuchsaufbau für die numerischen Experimente
Im folgenden Abschnitt wird die Konfiguration der Verbesserungsverfahren erläutert. In Kombination mit der detaillierten Dokumentation der eingesetzten Kodierungen in Kapitel 4 ab S. 95, der heuristischen Lösungsverfahren in Kapitel 5 ab S. 147 und den soeben vorgestellten Instanzen ist das Vorgehen zur Reproduktion der in Abschnitt 6.3 gezeigte Ergebnisse eindeutig und vollständig beschrieben. Eine kompaktere Darstellung dieser Untersuchung für die Verfahren, welche bislang die „besten“ Ergebnisse geliefert haben, wurde bereits veröffentlicht.20 Es wurden zwei Abbruchkriterien betrachtet: die Anzahl erzeugter Pläne N S und die vergangene Zeit seit Lösungsbeginn. Das erste Kriterium erlaubt es, die Leistungsfähigkeit der Algorithmen hardwareunabhängig zu untersuchen. Um lediglich „interessante“ Instanzen mit einem vorhandenen Trade-off zwischen den beiden gegenläufigen Optimierungszielen zu betrachten, werden für Instanzen, bei welchen T heurU B = T heurU B gilt, keine numerischen Ergebnisse berechnet. Das Testset j30 aus der PSPLIB enthält 480 Instanzen. Durch heuristische Überlegungen bezüglich der Relevanz der erweiterten RCPSP-ROC-Instanzen wurden 19 Vgl. Earliest Start Schedule und günstigsten Plan mit gleicher Dauer für das Beispielprojekt aus Abschnitt 3.2.4 auf S. 90. 20 Vgl. Schnabel et al. (2018).
180
6
Numerische Analyse der Performance verschiedener Lösungsverfahren...
151 Instanzen entfernt. Für jede Instanz wurden dazu zwei Pläne heuristisch konstruiert. Der erste Plan nutzt Zusatzkapazität in beliebigem Maße innerhalb der oberen Schranken. Der zweite Plan setzt keinerlei Zusatzkapazität ein. Weisen beide Pläne die gleiche Dauer auf, wurde die betrachtete Instanz entfernt. Bei Projekten, für welche eine optimale Referenzlösung mithilfe des MILPSolvers Gurobi berechnet worden ist, wurden zusätzlich nur diejenigen Instanzen behalten, für welche innerhalb eines Zeitlimits von 1800 Sekunden auf einem Prozessor mit Taktrate von 2,5 GHz und 32 GB Arbeitsspeicher eine optimale Lösung ermittelt werden konnte. Die übrigen Instanzen wurden entfernt. Es wurden weitere 59 Instanzen entfernt, da die Referenzlösungen für diese Instanzen nicht innerhalb des Zeitlimits möglich war. Im Benchmark wurden folglich 270 für das RCPSPROC erweiterte Instanzen aus j30 gelöst. Um für die Lösungen von Testinstanzen mit 30 AG die Abweichung zur optimalen Lösung ermitteln zu können, wurden bewiesen optimale Referenzlösungen bestimmt. Hierfür wurde das in Abschnitt 3.1.2 vorgestellte MILP in der Modellierungssprache GAMS implementiert und mithilfe des MILP-Solvers Gurobi21 einige Instanzen optimal gelöst. Bei den Instanzen mit 120 AG war dies nicht in annehmbarer Zeit möglich. Das Testset j120 enthält 600 Instanzen mit jeweils 120 nicht-fiktiven AG. Nach Abzug der 15 nicht-relevanten Instanzen22 wurden 585 Instanzen in den Benchmark einbezogen und heuristisch gelöst. Da Instanzen, bei welchen die heuristisch erzeugten Pläne mit und ohne genutzte Zusatzkapazität die gleiche Dauer aufweisen, nicht weiter berücksichtigt werden, wird die Leistungsfähigkeit der verschiedenen Lösungsansätze für diese Instanzen nicht verglichen. Die entfernten Instanzen nutzen im optimalen Plan keine Zusatzkapazität und können daher als RCPSP-Instanzen betrachtet werden. Entsprechend kann für die Lösung dieser Instanzen ein RCPSP-Lösungsverfahren aus der Literatur verwendet werden.23 Für den Genetischen Algorithmus wurde die Mutationswahrscheinlichkeit auf Pmutate = 5 % und die Populationsgröße auf N I = 80 gesetzt. Gurobi und LocalSolver wurden jeweils in Default-Konfiguration verwendet. Die nachfolgenden Ergebnisse der Heuristiken bzw. des MILP-Solvers wurden auf einem Einzelplatzrechner auf einem einzigen Prozessorkern mit einer Taktrate 21 Vgl.
Michael Crawford (2020). Instanzen, für welche das serielle Ablaufplanerzeugungsschema mit kanonischer Aktivitätenliste Pläne von gleicher Dauer erzeugt, wenn Zusatzkapazität überhaupt nicht bzw. in beliebigem Umfang genutzt werden darf. Die Lösbarkeit innerhalb eines Zeitlimits wurde im Gegensatz zu den j30-Instanzen bei den j120-Instanzen nicht ermittelt. 23 Vgl. Abschnitt 5.1 auf S. 147. 22 Diejenigen
6.3 Numerische Ergebnisse
181
von 3,4 GHz und 16 GB Arbeitsspeicher mit einem einzigen CPU-Thread berechnet. Es wurde LocalSolver 6.0 und Gurobi 7.0 verwendet.
6.3
Numerische Ergebnisse
6.3.1
Vergleich der Heuristiken zur Lösung kleiner Projekte mit 30 Arbeitsgängen
Nachdem im vorherigen Kapitel mehrere heuristische Lösungsverfahren für das RCPSP-ROC vorgestellt worden sind, soll in diesem Kapitel eine Bewertung der relativen Leistungsfähigkeit der Verfahren auf Basis numerischer Ergebnisse für diverse Testinstanzen vorgenommen werden. Als Maß für die Leistungsfähigkeit eines Verfahrens, welches das RCPSP-ROC löst, wird nachfolgend die mittlere relative Abweichung zu Vergleichslösungen herangezogen. Ein Verfahren ist umso besser, je niedriger dessen mittlere relative Abweichung ausgeprägt ist. Da es sich um ein Maximierungsproblem handelt, wird die Abweichung der gefundenen zulässigen Lösung zu einem Referenzwert berechnet, der eine obere Schranke für den tatsächlich erreichbaren Gewinn darstellt. Zuerst wird die Berechnungsvorschrift gegeben, mit welcher die mittleren relativen Abweichungen bestimmt werden können. Es sei I die Menge der betrachteten Instanzen. Das Symbol Z i,h enthält den Zielfunktionswert der besten bis zum Abbruchkriterium von einem heuristischen Verfahren h gefundenen Lösung für Instanz i ∈ I . Ein Vergleichswert und eine obere Schranke für den erzielten Gewinn wird mit dem Symbol Z i versehen. Zudem sei H die Menge der betrachteten Heuristiken. Die mittlere relative Abweichung der Lösung einer Heuristik h ∈ H von einem Referenzwert wird über folgende Formel berechnet und mit dem Symbol x h bezeichnet: 1 Z i − Z i,h . (6.7) x h := I Zi i ∈I
Damit die berechnete relative Abweichung sinnvoll interpretiert werden kann, müssen drei Bedingungen erfüllt sein. Erstens müssen die heuristischen Zielfunktionswerte stets nicht negativ sein (also Z i,h ≥ 0). Diese Bedingung ist erfüllt, da jedes Lösungsverfahren eine zulässige Lösung mit Gewinn von 0 als Startlösung übergeben bekommt. Zweitens muss der Referenzwert strikt positiv sein (Z i > 0). Dies ist nicht zwangsläufig der Fall. Daher wird eine Fallunterscheidung vorgenommen, wenn die relativen Abweichungen berechnet werden. Die Abweichung wird auf 0 % gesetzt, falls der Referenzwert 0 ist. Drittens muss der Referenzwert eine obere Schranke für alle heuristischen Zielfunktionswerte sein, d. h. Z i,h ≤ Z i . Bei einem
182
6
Numerische Analyse der Performance verschiedener Lösungsverfahren...
optimalen Referenzwert ist dies per Definition erfüllt. Wird als Referenzwert das Maximum aller bekannten Gewinne genommen, ist diese Bedingungen ebenfalls erfüllt. Bei Projekten mit 30 AG wurde der Zielfunktionswert (Gewinn) der optimalen ∗ Referenzlösung als Vergleichswert benutzt, d. h. Z i = Z i,Gurobi . Bei Projekten mit 120 AG wird hingegen als Vergleichswert der Zielfunktionswert der besten bekannten Lösung aller evaluierten Lösungsverfahren für diese Instanz verwendet, also der maximale Gewinn über alle Verfahren Z i = maxh ∈ H Z i,h . Alternativ könnte eine weniger effiziente obere Schranke für den Gewinn, wie beispielsweise die obere Schranke für die Zusatzkapazitätskosten C, als Vergleichswert herangezogen werden. Der Wert von C ergibt sich aus den Kosten des Earliest Start Schedule,24 welcher bei Relaxation der Kapazitätsrestriktionen als eindeutiger optimaler Plan entsteht. Da der maximale Erlös per Definition bei C liegt, kann der Gewinn diesen Wert niemals überschreiten.25 Als Startlösung erhalten alle Verfahren einen heuristisch erzeugten zulässigen Plan, welcher keine Zusatzkapazität nutzt. Diese Startlösung wurde mit seriellem Planerzeugungsschema und Aktivitätenliste λc = (0, 1, . . . , J , J + 1) wie in Abschnitt 6.2 auf S. 179 konstruiert. Der Plan weist per Definition der Erlösfunktion einen Gewinn von 0 auf. Entsprechend beginnen alle Lösungsverfahren mit einer besten bekannten Lösung mit einem Gewinn von 0 auf allen Instanzen. Die Abweichung zu den jeweiligen Vergleichslösungen beträgt daher anfänglich stets 100 %. Nachfolgend wird eine Voruntersuchung zu den Kodierungen und der Methodenauslegung mit begrenzter Anzahl erzeugter Pläne durchgeführt. Zunächst werden die Ergebnisse der verschiedenen Lösungsansätze für Rechendurchläufe vorgestellt, bei denen die Anzahl der erzeugten Pläne im Abbruchkriterium einheitlich begrenzt worden ist. Diese Durchläufe wurden für alle Kombinationen der in den Kapitel 4 ab S. 95 und Kapitel 5 ab S. 147 vorgestellten indirekten Kodierungen und Lösungsmethoden durchgeführt. In den nachfolgenden Tabellen werden die durchschnittlichen relativen Abweichungen für diverse Varianten der Lösungsansätze in tabellarischer Form gegenübergestellt. Dabei wird jeweils genau eine Komponente der Lösungsmethode angepasst, um deren Einfluss auf die Leistungsfähigkeit des zusammengesetzten Verfahrens beurteilen zu können. Exemplarisch für die in ersten numerischen Ergebnissen wettbewerbsfähige Kodierung (λ|ˆzr t ) wurden die unterschiedlichen Planerzeugungsschemata, AG24 Vgl.
die Erläuterungen auf S. 67 und Algorithmus 3.1 auf S. 70.
25 Natürlich unter der Annahme, dass die Kostensätze keine negativen Werte annehmen dürfen.
6.3 Numerische Ergebnisse
183
Priorisierungen und genetischen Operatoren (für Kreuzung und Selektion) evaluiert. Bei den Genetischen Algorithmen wurde die Einpunkt- und die ZweipunktKreuzung sowie die Elite- und Duell-Selektion betrachtet. Zusätzlich ist sowohl für die Genetischen Algorithmen als auch für LocalSolver jeweils das serielle und das parallele Planerzeugungsschema zur Anwendung gekommen. Als zwei Methoden, um AG zu priorisieren, sind Aktivitätenliste und Prioritätswerte eingesetzt worden. Prioritätsregeln wurden nicht evaluiert, da jede Prioritätsregel in eine äquivalente Aktivitätenliste oder einen Prioritätswert-Vektor umgewandelt werden kann.26 Tabelle 6.1 Vergleich der Einpunkt- und Zweipunkt-Kreuzung für (λ|ˆzr t ) auf j30
#Pläne
Kreuzungsoperator Einpunkt-Kreuzung Zweipunkt-Kreuzung
1.000 5.000 50.000 100.000
1,12 % 0,32 % 0,12 % 0,10 %
0,99 % 0,26 % 0,11 % 0,11 %
Die numerischen Ergebnisse für die Kreuzungsoperatoren Einpunkt- und Zweipunkt-Kreuzung mit Repräsentation (λ|ˆzr t ) im Genetischen Algorithmus sind in Tabelle 6.1 ablesbar. Die Ergebnisse wurden auf den zum RCPSP-ROC erweiterten j30-Instanzen der PSPLIB erzeugt. Nach 1.000 Plänen liegt die mittlere relative Abweichung zur optimalen Referenzlösung für die Zweipunkt-Kreuzung um 0,13 Prozentpunkte geringer, als dies der Fall ist, wenn die Einpunkt-Kreuzung verwendet wird. Der Abstand von Zweipunkt-Kreuzung zu Einpunkt-Kreuzung ist für 5.000 Pläne geringfügig ausgeprägt. Der Unterschied ist bei 50.000 erzeugten Plänen sogar noch schwächer erkennbar. Bei 100.000 erzeugten Plänen dreht sich die Rangfolge und der EinpunktKreuzung erreicht eine um 0,01 Prozentpunkte geringere mittlere Abweichung im Vergleich zur Zweipunkt-Kreuzung. Offenbar lässt sich anhand der Ergebnisse nicht eindeutig feststellen, dass eines der zwei untersuchten Kreuzungsoperatoren besser geeignet ist, da beide Operatoren zu sehr ähnlichen Abweichungen führen. Da die Einpunkt-Kreuzung konzeptionell einfacher als die Zweipunkt-Kreuzung ist und bei 100.000 erzeugten Pläne zumindest in den aggregierten Ergebnissen in geringem Maße überlegen ist, werden alle nachfolgenden Ergebnisse für Genetischen Algorithmen unter Verwendung der Einpunkt-Kreuzung berechnet. 26 Vgl.
Dumi´c et al. (2018).
184
6
Numerische Analyse der Performance verschiedener Lösungsverfahren...
Tabelle 6.2 Vergleich der Elite- und Duell-Selektion für (λ|ˆzr t ) auf j30
#Pläne
Elite
1.000 5.000 50.000
1,12 % 0,32 % 0,12 %
Selektionsoperator Duell 1,04 % 0,33 % 0,13 %
Die Resultate mit Elite- und Duell-Selektion für die Lösung der erweiterten j30-Instanzen werden in Tabelle 6.2 wiedergegeben. Die Duell-Selektion liefert bis zu einer Anzahl 1.000 erzeugter Pläne die gemittelt geringeren relativen Abweichungen. Nach 5.000 Plänen sind die Werte jedoch um 0,1 % geringfügig besser, wenn Elite-Selektion verwendet wird. Bei allen Planlimits weicht die Güte der Ergebnisse nur unwesentlich voneinander ab, wenn zwischen den Strategien zur Selektion von Individuen gewechselt wird. Aus den Ergebnissen geht nicht eindeutig hervor, dass die Abweichungen der Werte in der Größenordnung von 10−4 anstelle von Unterschieden in den Operatoren nicht stattdessen auf günstige bzw. ungünstige Abfolgen von gezogenen Zufallszahlen zurückzuführen sind. Mit ähnlicher Argumentation wie bei der Entscheidung für die Einpunkt-Kreuzung wird auch bei der Auswahl des Selektionsoperators der Einfachheit halber nachfolgend die Elite-Selektion verwendet. Tabelle 6.3 Vergleich der Kodierungen mit und ohne Zusatzinformationen neben der AG-Priorisierung bei 1.000 erzeugten Plänen für j30-Instanzen
Repräsentation
GA
(λ|β) (λ|ˆzr ) (λ|ˆzr t ) (λ|τ ) (λ) (λ)gs
1,60 % 1,26 % 1,12 % 4,02 % 4,43 % 1,67 %
Methode LocalSolver 3,00 % 2,03 % 16,34 % 3,91 % 5,26 % 2,89 %
Tabelle 6.3 zeigt die Ergebnisse für die Kodierungen (λ|β), (λ|ˆzr ), (λ|ˆzr t ), (λ|τ ), (λ) und (λ)gs nach 1.000 erzeugten Plänen. Der Wert der geringsten mittleren relativen Abweichung für ein Verbesserungsverfahren wird jeweils hervorgehoben. Die mittleren Abweichungen zu den Referenzlösungen sind für die (λ|τ )-, (λ)- und
6.3 Numerische Ergebnisse
185
(λ)gs -Kodierungen höher als für die Kodierung (λ|ˆzr ). Die Kodierung (λ) liefert hierbei die schlechtesten Werte. Tabelle 6.4 Vergleich der zwei Planerzeugungsschemata bei 1.000 erzeugten Plänen für j30-Instanzen Repräsentation Methode Serielles Schema Paralleles Schema
GA
zˆr LocalSolver
GA
zˆr t LocalSolver
1,26 %
2,57 %
1,12 %
15,31 %
1,22 %
3,69 %
1,05 %
26,26 %
In Tabelle 6.4 werden die beiden in Abschnitt 4.2.1 auf S. 102 bzw. Abschnitt 4.2.2 auf S. 109 vorgestellten Planerzeugungsschemata gegenübergestellt. Sowohl das serielle als auch das parallele Planerzeugungsschema wurde jeweils mit Genetischen Algorithmen und LocalSolver zur Optimierung einer Eingabeliste verwendet. Die Ergebnisse zeigen, dass sowohl bei der Kodierung (λ|ˆzr ) als auch bei der Kodierung (λ|ˆzr t ) serielles und paralleles Schema ähnlich gute Werte liefern. Dabei scheint das serielle Planerzeugungsschema besonders gut in Kombination mit LocalSolver zur Lösung des RCPSP-ROC geeignet zu sein, wohingegen das parallele Planerzeugungsschema besonders in Verbindung mit dem Genetischen Algorithmus wettbewerbsfähige Ergebnisse liefert. Einen klaren Sieger gibt es in diesem Vergleich jedoch nicht. Tabelle 6.5 Vergleich der Darstellungsformen für die Priorisierung von AG mit seriellem Planerzeugungsschema bei 1.000 erzeugten Plänen für j30-Instanzen Repräsentation Methode
GA
Aktivitätenliste Prioritätswerte
1,26 % 1,26 %
zˆr LocalSolver 2,57 % 3,36 %
GA 1,12 % 1,02 %
zˆr t LocalSolver 15,31 % 14,78 %
In Tabelle 6.5 werden mit der Aktivitätenliste und den Prioritätswerten zwei in der Literatur verbreitete Mechanismen verglichen, welche die Einplanungsrei-
186
6
Numerische Analyse der Performance verschiedener Lösungsverfahren...
henfolge dadurch vorgeben, dass AG priorisiert werden.27 In beiden Fällen wurde das serielle Planerzeugungsschema aufgrund mangelnder Dominanz des parallelen Planerzeugungsschemas verwendet, um einen Plan zu konstruieren. Um die Eingabewerte (Aktivitätenliste bzw. Prioritätswerte) zu optimieren, wurde erneut sowohl der Genetische Algorithmus als auch LocalSolver verwendet. Ähnlich wie beim Vergleich der Einplanungsschemata führen die beiden Methoden, um AG zu priorisieren, zu vergleichbaren Performance-Ergebnissen. Bei der (λ|ˆzr )-Kodierung sind Aktivitätenliste und Prioritätswerte beim Genetischen Algorithmus gleichauf und bei LocalSolver hat die Aktivitätenliste eine leicht geringere Abweichung. Die Repräsentation (λ|ˆzr t ) scheint im Zusammenspiel mit Genetischem Algorithmus und LocalSolver geringfügig bessere Pläne zu produzieren, wenn Prioritätswerte eingesetzt werden. Eine signifikante Dominanz eines bestimmten Ansatzes ist wiederum nicht feststellbar. Die vorgegebene Anzahl 1000 erzeugter Pläne erlaubte es, für verschiedene Lösungsansätze innerhalb weniger Sekunden die Rechenergebnisse zu erhalten und dadurch viele Varianten zu evaluieren. Die Zahlen zeigen bereits deutliche Trends und Dominanzverhalten bestimmter Kodierungen und Operatoren. Insbesondere zeigen die zuvor präsentierten aggregierten numerischen Ergebnisse, dass ein Teil der Lösungsrepräsentationen vergleichsweise viel Zeit benötigt, um gute Lösungen für Instanzen des RCPSP-ROC zu finden. Diese Kodierungen scheinen nicht als Basis für einen wettbewerbsfähigen Lösungsansatz geeignet zu sein. Aus diesem Grund werden die Kodierungen (λ), (λ)gs und (λ|τ ) nicht weiter betrachtet. Ebenfalls nachfolgend nicht weiter untersucht wird das parallele Planerzeugungsschema, die Zweipunkt-Kreuzung, die Duell-Selektion und die Prioritätswerte. Hingegen konnten besonders gute Ergebnisse bei Einsatz der Kodierungen (λ|β), (λ|ˆzr ) und (λ|ˆzr t ) mit Aktivitätenliste und seriellem Planerzeugungsschema erreicht werden. Die Einpunkt-Kreuzung und die Elite-Selektion haben sich als genetische Operatoren im Genetischen Algorithmus bewährt. Aus diesem Grund wurden die nachfolgenden und deutlich ausführlicheren Ergebnisse mit Zeitlimit als Abbruchkriterium ausschließlich für diese besonders wettbewerbsfähigen Kodierungen und Operatoren berechnet. Nachfolgend werden detaillierte numerische Ergebnisse wettbewerbsfähiger Kodierungen für Projekte mit 30 AG wiedergegeben. Da die Anzahl der betrachteten Kombinationen aus Lösungskodierung und -methode hier im Vergleich zu den früheren Rechenstudien deutlich reduziert worden ist, konnte die Anzahl erzeugter Pläne je Instanz stark erhöht werden, ohne einen nicht mehr akzeptablen Zeitbedarf 27 Die Priorität eines AG in einer Aktivitätenliste ist umso höher, je früher dieser in der Liste positioniert ist.
6.3 Numerische Ergebnisse
187
Tabelle 6.6 Numerische Ergebnisse für vergleichsweise kleine Projekte mit 30 nicht-fiktiven AG und verschiedene Planlimits #Pläne
(λ|β)
1.000 5.000 50.000
1,60 % 0,50 % 0,14 %
Genetischer Algorithmus (λ|ˆzr ) (λ|ˆzr t ) 1,52 % 0,57 % 0,33 %
1,31 % 0,32 % 0,12 %
(λ|β)
LocalSolver (λ|ˆzr ) (λ|ˆzr t )
3,00 % 0,67 % 0,15 %
2,57 % 0,76 % 0,29 %
15,31 % 4,51 % 0,33 %
für die Studie zu erhalten. Entsprechend wurden nun während des Lösungsvorgangs weit mehr als 1000 Pläne pro Instanz erzeugt. Die Ergebnisse wurden bereits in Schnabel et al. (2018) in Abschnitt 5.2 auf S. 350ff. veröffentlicht. Zudem ist eine aggregierte Fassung der Resultate ebenfalls verfügbar.28 In Tabelle 6.7 auf S. 189 sind die Ergebnisse für die 270 Instanzen mit 30 nichtfiktiven AG aufgetragen. Im Inneren der Tabelle sind chronologisch für diverse Zeitpunkte die gemittelten Zielfunktionswert-Abweichungen der besten bekannten Lösungen, welche das zur Spalte gehörige Lösungsverfahren bis zu diesem Zeitpunkt gefunden hat, zu den zugehörigen optimalen Referenzlösungen aufgetragen. Die Rechenzeit wurde auf 30 Sekunden begrenzt. Die letzten drei Zeilen der Tabelle enthalten die Ergebnisse, welche erreicht wurden, nachdem der Rechendurchlauf beendet worden ist: Die durchschnittliche Abweichung (∅Gap) zur optimalen Referenzlösung, der Anteil optimal gelöster Instanzen (%Optimal) sowie die maximale Abweichung (Max Gap) einer Instanz. Zusätzlich sind in Tabelle 6.6 weitere Ergebnisse bei Abbruch nach einer vorgegebenen Anzahl erzeugter Pläne dargestellt. Analog zu Gleichung 6.7 auf S. 181 wird bei Lösungen von Instanzen aus j30 die relative Abweichung zur optimalen Referenzlösung bestimmt. Der optimale Gewinn wurde für jede Instanz durch einen MILP-Solver über das Modell aus Abschnitt 3.1.2 auf S. 71 ermittelt. Im Mittel gelingt es den Genetischen Algorithmen, Lösungen von hoher Güte in kurzer Zeit zu identifizieren. Bereits nach 0,01 Sekunden kann der Genetische Algorithmus die relativen Abweichungen, bezogen auf die anfänglichen 100 %, signifikant verringern. Nach 0,02 Sekunden ist der LocalSolver in der Lage, Pläne von höherer Güte zu erzeugen. Mit Ausnahme der (λ|ˆzr )-Repräsentation ist der Genetische Algorithmus tendenziell schneller fähig, weitere Verbesserungen der besten bekannten Lösungen für die Instanzen zu erzielen. Bis das Zeitlimit von einer halben Minute erreicht worden ist, überholen die Ansätze mit LocalSolver als Lösungs28 Vgl.
Schnabel und Kellenbrink (2018).
188
6
Numerische Analyse der Performance verschiedener Lösungsverfahren...
methode jedoch die auf einem Genetischen Algorithmus basierenden Methoden. Die gemittelt geringste relative Abweichung erreicht LocalSolver in Kombination mit der Lösungskodierung (λ|β). Die Lösung über das in Abschnitt 3.1.2 vorgestellte mathematische Programm, welches in GAMS imlpementiert worden ist, und den MILP-Solver Gurobi ist langsamer dabei, gute Lösungen aufzufinden, als die konkurrierenden heuristischen Ansätze und liefert nach 30 Sekunden ein deutlich schlechteres aggregiertes Ergebnis. In Tabelle 6.6 auf S. 187 sind die Ergebnisse bei einem Rechendurchlauf mit bis zu 1.000, 5.000 und 50.000 erzeugten Plänen je Instanz und Verfahren für die auf j30 basierenden Instanzen eingetragen. Die geringste mittlere Abweichung von der optimalen Referenzlösung konnte bei allen drei Planlimits die Kodierung (λ|ˆzr t ) in Kombination mit dem Genetischen Algorithmus erreichen. Dies steht im Einklang mit den Ergebnissen aus Tabelle 6.7 auf S. 189 in den ersten 0,01 Sekunden. Nach 50.000 erzeugten Plänen steht in den aggregierten Resultaten die Repräsentation (λ|ˆzr t ) in der Rangliste der Kodierungen im Genetischen Algorithmus an der ersten Stelle gefolgt von den Kodierungen (λ|ˆzr ) und (λ|β). Bei LocalSolver stellt sich die umgekehrte Rangfolge ein. An erster Stelle steht die Kodierung (λ|β) gefolgt von (λ|ˆzr ) und (λ|ˆzr t ). Die Schrittweite, mit welcher LocalSolver konkrete Belegungen der Kodierung (λ|ˆzr t ) zu benachbarten Lösungen bewegt, scheint zu Beginn des Lösungsprozesses bis 1.000 Pläne zu gering zu sein, um die Umgebung eines Plans mit relativ geringem Gewinn zu verlassen. Da sich eine Abweichung in dieser Größenordnung nach der gleichen Anzahl der Iterationen bei keiner anderen Kodierung beobachten lässt, muss das Ausmaß, in welchem die Werte der Matrix zˆr ,t durch LocalSolver angepasst werden in jedem Optimierungsschritt vermutlich zu geringfügig sein. Es folgt ein Vergleich der Rangfolge der Verfahren auf Clustern von Instanzen mit spezieller Struktur. Ein Verfahren gilt bei diesem und allen nachfolgenden Vergleichen genau dann als bestes Verfahren für eine Instanz, wenn es den strikt höchsten Zielfunktionswert innerhalb des großzügigen Zeitlimits von 30 Minuten erreichen konnte und die letzte Verbesserung zum frühesten Zeitpunkt erreicht hatte. Durch die Kombination beider Kriterien kann für jede Instanz das beste Verfahren eindeutig bestimmt werden. Abbildung 6.3 zeigt eine direkte Gegenüberstellung des exakten Lösungsansatzes Gurobi und der drei Genetische Algorithmen, welche die Kodierungen (λ|β), (λ|ˆzr ) und (λ|ˆzr t ) als Repräsentationen verwenden. Die Höhe der Säulen korreliert jeweils mit der Anzahl der Instanzen, welche das mit der entsprechenden Säule assoziierte Verfahren besser lösen konnte, als die konkurrierenden Verfahren dazu befähigt waren. Dies gilt ebenso für die nachfolgenden Säulendiagramme.
6.3 Numerische Ergebnisse
189
Tabelle 6.7 Numerische Ergebnisse im Zeitverlauf für vergleichsweise kleine Projekte mit 30 nicht-fiktiven AG
Die Anzahl der von einem Verfahren am besten gelösten Instanzen aus j30 innerhalb eines Zeitlimits von 30 Minuten in Abbildung 6.3 zeigen, dass auch nach längerer Zeit Gurobi selten befähigt ist, bessere Lösungen als die Genetischen Algorithmen aufzufinden. Die Repräsentation (λ|β) liegt interessanterweise vor den auf
190
6
Numerische Analyse der Performance verschiedener Lösungsverfahren...
Abbildung 6.3 Vergleich der Genetischen Algorithmen mit Gurobi für j30
Ressourcenprofilen basierenden Repräsentationen (λ|ˆzr ) und (λ|ˆzr t ). Das Gegenteil war bei den gemittelten Ergebnissen bei deutlich niedriger angesetztem Zeitlimit der Fall. Jede Repräsentation hat ein eigenes Cluster von mindestens 88 Instanzen, welches von der jeweiligen Repräsentation am besten gelöst wird. Bei der (λ|ˆzr )und (λ|β)-Repräsentation sind es sogar 99 bzw. 127 Instanzen. Dagegen gelingt es Gurobi nur bei 14 Instanzen, das beste Verfahren zu sein. Auch wenn die Heuristiken im Mittel und bei den meisten Instanzen schneller gute Lösungen geliefert haben, gibt es Projekte mit 30 AG, welche binnen einer halben Stunde besser von einem Solver für gemischt-ganzzahlige Optimierungsmodelle gelöst werden konnten. Abbildung 6.4 Vergleich unterschiedlicher MILP-Solver auf ProGen-Projekten mit 20 AG
In Abbildung 6.4 wird die Eignung dreier MILP-Solver für die Lösung von Testinstanzen mit 20 nicht-fiktiven AG zzgl. Dummy-Quelle und -Senke gegenübergestellt. Die Säulen geben erneut Auskunft darüber, bei wie vielen Instanzen der zugehörige Solver die anderen Solver dominieren konnte. Die Testinstanzen wurden mithilfe des Instanzengenerators ProGen erzeugt. Dabei wurden die gleichen Basisdaten wie in der PSPLIB für Projekte mit bis zu 90 AG verwendet:
6.3 Numerische Ergebnisse
191
(NC, RF, RS) ∈ {1,5; 1,8; 2,1} × {0,25; 0,5; 0,75, 1,0} × {0,2; 0,5; 0,7; 1,0}. Für jede Konstellation aus diesem kartesischen Produkt der Werte für die Netzwerkkomplexität, den Ressourcenfaktor und die Ressourcenstärke wurden 40 Instanzen generiert, also insgesamt 3 · 4 · 4 · 40 = 1920 Instanzen. Die Projekte unterscheiden sich entsprechend hinsichtlich der Dichte der Reihenfolgebeziehungen und Knappheit der Ressourcen. Zur Lösung des in GAMS implementierten Entscheidungsmodells aus Abschnitt 3.1.2 auf S. 71 wurden Gurobi 8.1, CPLEX 12.8 und SCIP 6.0.0 als MILP-Solver mit Default-Einstellungen gewählt. Die Anzahl der Threads wurde für alle Rechendurchläufe auf 1 begrenzt. Die Ergebnisse wurden im Jahr 2018 auf dem Rechencluster des LUIS berechnet. Es scheint vergleichsweise vorteilhaft gewesen zu sein, Gurobi als MILP-Solver gewählt zu haben. Mit Gurobi wurde zuvor das Modell aus Abschnitt 3.1.2 gelöst und die Referenzlösungen bestimmt. Zudem wurde Gurobi als gegen die Heuristiken konkurrierendes Verfahren genutzt. In Abbildung 6.4 werden 1374 Instanzen von Gurobi am besten gelöst, wohingegen CPLEX nur bei 495 und SCIP gar bei lediglich 16 Instanzen als bestes Verfahren hervorging. Diese Rangfolge könnte sich ggf. ändern, wenn eine andere MILP-Formulierung29 oder neueren Solver-Versionen sowie anderen Solver-Einstellungen verwendet werden.30
6.3.2
Vergleich der Heuristiken zur Lösung großer Projekte mit 120 Arbeitsgängen
Es folgen detaillierte numerische Ergebnisse wettbewerbsfähiger Kodierungen für Projekte mit 120 AG. Optimale Referenzlösungen konnten bei Projekten dieser Größe mithilfe von exakten Verfahren in der Regel nicht mit einem annehmbaren Zeitaufwand berechnet werden. Daher wurde die beste bekannte Lösung aller Heuristiken und der zugehörige Gewinn eingesetzt, um die relativen Abweichungen je Instanz zu berechnen.31 Der Gewinn der besten bekannten heuristischen Lösung liefert eine untere Schranke für den tatsächlich erreichbaren Gewinn im optimalen Plan.
29 Vgl.
Kopanos et al. (2014). Laborie (2018) zu CP Optimizer als Teil von CPLEX. 31 Vgl. Gleichung 6.7 30 Vgl.
192
6
Numerische Analyse der Performance verschiedener Lösungsverfahren...
Tabelle 6.8 Numerische Ergebnisse für vergleichsweise große Projekte mit 120 nichtfiktiven AG und verschiedene Planlimits #Pläne
(λ|β)
1.000 5.000 50.000
4,97 % 3,40 % 1,39 %
Genetischer Algorithmus (λ|ˆzr ) (λ|ˆzr t ) 4,17 % 2,73 % 0,86 %
4,19 % 2,82 % 0,85 %
(λ|β)
LocalSolver (λ|ˆzr ) (λ|ˆzr t )
31,22 % 16,33 % 5,29 %
11,73 % 3,83 % 2,00 %
39,26 % 32,70 % 14,22 %
Die Ergebnisse wurden bereits in Schnabel et al. (2018) in Abschnitt 5.2 auf S. 353ff. veröffentlicht. Zudem ist eine aggregierte32 Fassung der Resultate ebenfalls verfügbar. In Tabelle 6.9 auf S. 193 sind die Ergebnisse für Instanzen mit 120 nicht-fiktiven AG auf Basis des Testsets j120 der PSPLIB aufgetragen. Als Abbruchkriterium wurde ein Zeitlimit von 120 Sekunden je Instanz gewählt. Zusätzlich sind in Tabelle 6.8 auf S. 192 die Ergebnisse nach 1.000, 5.000 und 50.000 erzeugten Plänen dargestellt. Um eine bessere untere Schranke für den optimalen Gewinn einer Instanz zu erhalten, wurde jede Instanz zudem durch den Genetischen Algorithmus mit (λ|ˆzr t )Repräsentation und einem Zeitlimit von 30 Minuten pro Instanz gelöst. Hierdurch konnten teilweise bessere Lösungen gefunden werden und damit eine realistischere Angabe zur Abweichung vom Optimum gegeben werden. Der Lösungsprozess für den Genetischen Algorithmus wurde in diesem Fall durch Einsatz der Rechenknoten des Rechenclusters für wissenschaftliche Berechnungen der LUIS über die Instanzen parallelisiert. Alle eingesetzten Methoden erhalten eine heuristische Startlösung mit Zielfunktionswert von 0 und einer relativen Abweichung von 100 %, wenn sie aufgerufen werden. Durch das serielle Einplanungsschema mit Einplanungsreihenfolge λc = (0, 1, . . . , J , J +1) kann ein derartiger zulässiger Plan, welcher keine Zusatzkapazität nutzt, mit Gewinn von 0 für alle Instanzen stets generiert werden, da die Erlösfunktion im Zusammenspiel mit den Parametern entsprechend spezifiziert worden ist, siehe Abschnitt 6.1.2.2 auf S. 176. Auch in den numerischen Ergebnissen für Instanzen mit 120 AG ist die mittlere verbleibende Abweichung im Zeitablauf signifikant höher, wenn Gurobi anstelle der heuristischen Methoden eingesetzt wird. Tatsächlich ist die mindere Güte der Lösungen, welche Gurobi bis zu einem Zeitpunkt finden kann, im Falle der Projekte 32 Vgl.
Schnabel und Kellenbrink (2018).
6.3 Numerische Ergebnisse
193
Tabelle 6.9 Numerische Ergebnisse im Zeitverlauf für vergleichsweise große Projekte mit 120 nicht-fiktiven AG
194
6
Numerische Analyse der Performance verschiedener Lösungsverfahren...
mit 120 AG deutlicher hervorstechender ausgeprägt, als zuvor in Abschnitt 6.3.1 auf S. 181 bei den Ergebnissen für Instanzen mit 30 AG. Der Genetische Algorithmus kann bei den verwendeten Kodierungen die frühesten Verbesserungen erreichen. LocalSolver gelingt es wenige 0,01 Sekunden später, ebenfalls recht gute Lösungen zu finden. Anders als bei vergleichsweise kleinen Projekten mit 30 AG kann LocalSolver die recht großen Projekte mit 120 AG nicht schneller als der Genetische Algorithmus lösen. Speziell in Kombination mit der Kodierung (λ|ˆzr t ) benötigt LocalSolver länger, um bessere Lösungen zu entdecken. Tabelle 6.8 enthält Ergebnisse eines weiteren Rechendurchlaufs für die auf j120 basierenden Instanzen. Als Abbruchkriterium wurden 1.000, 5.000 und 50.000 erzeugte Pläne je Instanz und Verfahren definiert. Die geringste mittlere Abweichung von den Vergleichslösungen konnte bei den Planlimits 1.000 und 5.000 durch Kodierung (λ|ˆzr ) in Kombination mit dem Genetischen Algorithmus erreicht werden. Beim Planlimit 50.000 dominiert der Genetische Algorithmus mit der Repräsentation (λ|ˆzr t ), wie es bei Projekten mit 30 AG bereits der Fall war. Dies ist konsistent mit den Ergebnissen aus Tabelle 6.9 auf S. 193 in den ersten 0,01 Sekunden. Hinsichtlich der Güte der Lösungen nach einer bestimmten Anzahl von Plänen unterscheiden sich die Repräsentationen (λ|ˆzr ) und (λ|ˆzr t ) interessanterweise kaum. Nach 50.000 erzeugten Plänen steht beim Genetischen Algorithmus die Repräsentation (λ|ˆzr t ) an erster Stelle gefolgt von (λ|ˆzr ) und (λ|β). Für LocalSolver dominiert die Kodierung (λ|ˆzr ) gefolgt von (λ|β) und (λ|ˆzr t ). LocalSolver scheint in Verbindung mit der Lösungsdarstellung (λ|ˆzr t ) nicht effizient zu arbeiten. LocalSolver schafft es im Vergleich mit dem Genetischen Algorithmus nicht, gute Belegungen für die zˆr ,t -Matrix zu identifizieren. Warum LocalSolver nicht fähig ist, effiziente Nachbarschaftsoperatoren für diese Datenstruktur auszuführen, ist unklar. LocalSolver ist bei der Lösung von anderen kombinatorischen Optimierungsproblemen mit ganzzahligen Variablen ansonsten wettbewerbsfähig.33 Es folgt eine Gegenüberstellung der Verfahren auf Teilmengen von Instanzen. Ein Vergleich des MILP-Solvers Gurobi und der drei Genetische Algorithmen, welche (λ|β), (λ|ˆzr ) und (λ|ˆzr t ) als Repräsentationen verwenden, ist in Abbildung 6.5 dargestellt. Innerhalb eines üppigen Zeitlimits von 30 Minuten sind wiederum die Genetischen Algorithmen fähig bessere Lösungen zu identifizieren, als das Vergleichsverfahren Gurobi. Interessanterweise ist im Vergleich zu Abbildung 6.3 auf S. 190 die Rangfolge der Verfahren in diesem Benchmark unverändert und die Größen der Cluster mit den jeweils am besten gelösten Instanzen sind auch sehr ähnlich.
33 Siehe
Peiró et al. (2018), Duarte et al. (2018) und LocalSolver (2019a).
6.3 Numerische Ergebnisse
195
Abbildung 6.5 Vergleich der Genetischen Algorithmen mit Gurobi für j120
Abbildung 6.6 Vergleich der Heuristiken für große Sammlung von Instanzen aus PSPLIB, RG30 und RG300
In Abbildung 6.6 ist eine weitere umfangreiche Untersuchung der Heuristiken dargestellt. Es wurden alle Heuristiken für die drei Kodierungen (λ|β), (λ|ˆzr ) und (λ|ˆzr t ) zur Lösung von 4325 Instanzen mit 30 bis 300 AG eingesetzt. Die Instanzen sind zusammengestellt aus allen Instanzen der PSPLIB (j30, j60, j90 und j120) sowie allen Instanzen der Bibliotheken zu RanGen2, d. h. RG30 und RG300. Als Abbruchkriterium wurde anstelle der bisherigen 30 Minuten Zeitlimit eine Anzahl 5.000 erzeugter Plänen gewählt. Diese ausführlichen Ergebnisse bestätigen ein Muster, welches schon in den vorigen Gegenüberstellungen erkennbar war. Wird die Größe von Instanz-Clustern, für welche ein Verfahren die besten Ergebnisse liefert, betrachtet, liegt die Repräsentation (λ|β) vor der Kodierung (λ|ˆzr t ) und diese wiederum schließlich vor der (λ|ˆzr )-Kodierung. Tatsächlich zeigt sich die gleiche Rangfolge ebenfalls bei Einsatz von LocalSolver anstelle des Genetischen Algorithmus als Verbesserungsverfahren. Da zuvor in den aggregierten gemittelten Ergebnissen die relativen Abweichungen für die Kodierung (λ|ˆzr t ) am niedrigsten war, ist zu vermuten, dass in den zah-
196
6
Numerische Analyse der Performance verschiedener Lösungsverfahren...
lenmäßig selteneren Instanzen, in welchen (λ|ˆzr t ) besser als (λ|β) ist, die mithilfe der Kodierung (λ|ˆzr t ) gefundenen Lösungen signifikant besser waren als bei den vergleichsweise vielen Instanzen, bei welchen (λ|β) dominierte. Ein zentrales Resultat der vorangegangenen Untersuchung ist, dass bei großen Projekten mit vergleichsweise vielen AG die problemspezifischen und maßgeschneiderten Lösungsansätze in der Lage sind, schneller gute Lösungen aufzufinden als die generischen heuristischen Suchalgorithmen in kommerzieller Software für beliebige Optimierungsprobleme. Eine umgekehrte Rangfolge kann bei kleineren Projekten mit wenigen AG beobachtet werden. Folglich lohnt sich in diesem Fall der Mehraufwand für eine problemspezifische Methode vor allem bei besonders umfangreichen Projekten. Derartige vergleichsweise große Projekte sind insbesondere in der Anwendung verbreitet.34 Speziell bei Projekten mit 120 AG hat sich zusätzlich gezeigt, dass die betrachteten Heuristiken nach kurzer Zeit bereits gute Lösungen mit geringfügigen Abweichungen zu den unteren Schranken finden konnten. Das exakte Vergleichsverfahren Gurobi hingegen bestimmte in diesem Zeitrahmen lediglich Lösungen mit deutlich höheren Abweichungen. Diese Beobachtung illustriert, dass Heuristiken häufig schneller als exakte Verfahren gute Lösungen identifizieren können, jedoch dafür nicht in der Lage sind, die Optimalität einer gefundenen Lösung zu beweisen.
34 Vgl.
bspw. Abschnitt 2.3 auf S. 25.
7
Schlussbemerkungen
7.1
Zusammenfassung
Im Rahmen der vorliegenden Arbeit wurde das RCPSP-ROC als neuartige Problemstellung vorgestellt und anhand von Anwendungsbeispielen motiviert. Das RCPSP-ROC wurde von verwandten Projektplanungsproblemen aus der Literatur abgegrenzt und als gemischt-ganzzahliges Optimierungsmodell formalisiert. Basierend auf dem formalen Entscheidungsmodell wurden strukturelle Eigenschaften wie die Komplexität, mögliche Dekompositionsstrategien und die Menge der charakteristischen Punkte erörtert. Die betriebswirtschaftlichen Wirkzusammenhänge des Problems wurden anhand einer fiktiven Fallstudie verdeutlicht. Um effiziente Lösungsverfahren für das N P -Schwere RCPSP-ROC mit nichtregulärer Zielfunktion zu entwickeln, wurden verschiedene neue kompakte Repräsentationen für Pläne und dazugehörige Planerzeugungsschemata entwickelt. Die Entscheidung über das Ausmaß, in welchem der erzeugte Plan Zusatzkapazität nutzen soll, wird bei den vorgestellten Repräsentationen entweder in der Dekodierungsprozedur selbst getroffen oder innerhalb der Repräsentation kodiert und damit dem übergeordneten Verbesserungsverfahren überlassen. Damit für die entworfenen Kodierungen schnell gute Belegungen identifiziert werden können, wurden zwei unterschiedliche heuristische Lösungsansätze angepasst. Einerseits wurde die Metaheuristik des Genetischen Algorithmus auf die Problemstellung übertragen, indem die Repräsentation und die genetischen Operatoren entsprechend spezifiziert wurden. Andererseits wurde die auf lokaler Suche basierende kommerzielle Optimierungssoftware LocalSolver und die in LocalSolver enthaltenen nativen Funktionen genutzt, um eine Methode zu entwickeln, welche gute Belegungen für die entwickelten Kodierungen sucht. Hierbei wurden die
© Der/die Herausgeber bzw. der/die Autor(en), exklusiv lizenziert durch Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature 2020 A. Schnabel, Heuristiken für die gewinnorientierte Planung ressourcenbeschränkter Projekte mit erweiterbaren Kapazitäten, Produktion und Logistik, https://doi.org/10.1007/978-3-658-31610-5_7
197
198
7
Schlussbemerkungen
Komponenten der verschiedenen Kodierungen in Form von Entscheidungsvariablen in nichtlineare LocalSolver-Modelle eingefügt. Um zu evaluieren, welche Kombinationen aus Lösungsrepräsentation und Verbesserungsverfahren besonders für die Lösung des Problems geeignet sind, wurde zunächst eine Bibliothek aus repräsentativen Testinstanzen erzeugt. Diese basiert auf der in der Fachliteratur zum RCPSP gängigen PSPLIB. Es wurde beschrieben, wie nach einem bestimmten Schema aus Instanzen des RCPSP erweiterte Instanzen für das RCPSP-ROC erzeugt worden sind, indem die zusätzlichen Parameter festgelegt worden sind. Die zuvor generierten Instanzen wurden daraufhin im Rahmen einer numerischen Studie durch alle Kombinationen aus Kodierung und Lösungsverfahren gelöst. Die Konfiguration der Lösungsverfahren, die festgelegten Abbruchkriterien und weitere Details des Versuchsaufbaus wurden beschrieben. In einem ersten Schritt wurde eine Teilmenge der Kodierungen identifiziert, welche im Verbund mit Verbesserungsverfahren besonders wettbewerbsfähige Ergebnisse geliefert haben. Für diese Kodierungen wurden daraufhin ausführlichere Ergebnisse für kleine und große Projekte mit jeweils 30 bzw. 120 AG berechnet und jeweils die erzeugten Ergebnisse dargestellt und diskutiert. Die numerischen Ergebnisse zeigen eine Dominanz von problemspezifischen und maßgeschneiderten Lösungsansätzen bei der Lösung von Projekten mit 120 AG. Dahingegen waren Suchalgorithmen für beliebige Optimierungsprobleme, welche in kommerzieller Software enthalten sind, bei Projekten mit 30 AG leistungsfähiger.
7.2
Kritische Würdigung
Das RCPSP-ROC ist zwar eine Generalisierung des RCPSP und daher für eine größere Zahl an Anwendungen einsetzbar. Die getroffenen Annahmen limitieren jedoch auch die Anwendbarkeit des RCPSP-ROC in der Praxis. Falls die Annahmen nicht zutreffend sind, muss das Entscheidungsmodell und damit auch die Lösungsverfahren entsprechend angepasst werden. Andernfalls wären die erzeugten Pläne nicht umsetzbar. Der Änderungsaufwand ist erheblich, falls zentrale Annahmen aufgehoben werden. Beispielsweise kann ein Parameter wie die Bearbeitungszeit nicht als sicher bekannt angesehen werden und Schwankungen unterliegen. In diesem Fall wäre die Bearbeitungszeit eines AG eine unsichere Größe, was dazu führen würde, dass an vielen Stellen die Modellierung und das Lösungsverfahren angepasst werden müsste. Ein rein MILP-basierter Ansatz ist dagegen flexibler und könnte mit geringerem Aufwand an geänderte Annahmen angepasst werden.
7.2 Kritische Würdigung
199
Speziell sind Anwendungsfälle denkbar, in welchen die Kosten für Zusatzkapazität nicht linear mit der Anzahl der genutzten Kapazitätseinheiten steigen, sondern Skaleneffekte auftreten. Dies kann neben Mengenrabatten als Anreizsystem auch durch Lerneffekte bedingt werden. Bei Mengenrabatten sinken die Anmietungskosten pro Maschine mit steigender Anzahl der Maschinen. Diese Preisgestaltung kann durch den Anbieter der Maschinen bspw. den Anteil der Fixkosten für die Verwaltung der Anmietungen reduzieren. Bei einer höheren Anzahl der Mitarbeiter können Lerneffekte die tatsächliche Kapazität eines einzelnen Mitarbeiters erhöhen, da die Mitarbeiter sich besser austauschen können. Dies führt dazu, dass weniger Mitarbeiter nötig sind, um eine bestimmte Höhe der Zusatzkapazität zu erreichen. Dadurch sinken die Kosten pro KE der Zusatzkapazität, wenn diese im steigendem Umfang eingesetzt wird. Die im Kapitel 4 vorgestellten Kodierungen unterscheiden sich insbesondere in der Menge der Pläne, welche durch das zugehörige serielle Planerzeugungsschema bei Vollenumeration des Genotyp-Raums als Bildmenge erzeugt wird. Die optimale Lösung für eine Instanz ist bei einigen Kodierungen nicht in der erzeugbaren Planmenge enthalten. Dies ist bspw. bei der Kodierung (λ|β) der Fall, da sich mit dieser Kodierung nicht abbilden lässt, wenn ein Plan Zusatzkapazität partiell nutzt. Andererseits gibt es Kodierungen, bei denen die Bildmenge der Dekodierungsfunktion Pläne enthält, welche trivial verbessert werden können. Beide Fälle entsprechen nicht den in Abschnitt 4.1 auf S. 95 geschilderten Anforderungen an eine zweckmäßige Kodierung. Bei den vorgestellten Kodierungen lassen sich vermeidbare Redundanzen im Genotyp-Raum kritisieren. Es gibt mehrere Ausprägungen der Kodierungen, welche den gleichen Plan darstellen. Angenommen, ein spät in einer Aktivitätenliste auftretender AG wird aufgrund freier Restkapazitäten und fehlender Reihenfolgerestriktionen vor vielen bereits eingeplanten AG begonnen. Dann wäre dieser Plan auch mit anderen Aktivitätenliste, in welchen der betroffene AG weiter vorne steht, erzeugbar gewesen. In der Literatur1 wurde mit den standardisierten Prioritätswerten bereits ein Ansatz vorgestellt, um derartige Redundanzen im Genotyp-Raum einer Kodierung zu vermeiden. Die Idee des Ansatzes ist es, die Ausprägung der Kodierung einer Reihe von Standardisierungsschritten zu unterziehen, um schlussendlich eine bijektive Abbildung zwischen aktiven Plänen und ihren Repräsentationen über Prioritätswerte zu erhalten. Neben den standardisierten Prioritätswerten gibt es in der Literatur noch eine zweite alternative Weiterentwicklung der Prioritätswerte. Während beim seriellen und parallelen Planerzeugungsschema aktive bzw. verzögerungsfreie Pläne erzeugt 1 Vgl.
Debels et al. (2006).
200
7
Schlussbemerkungen
werden, kann durch Erweiterung der Repräsentation um einen zeitlichen Versatz der aufgespannte Anteil der Differenzmenge von aktiven und verzögerungsfreien Plänen beliebig parametrisiert werden.2 Dies erlaubt die Kombination der Vorteile beider Planerzeugungsschemata, da in den verzögerungsfreien Plänen nicht unbedingt ein kürzester Plan enthalten sein muss. Dennoch ist die Menge der verzögerungsfreien Pläne zumeist deutlich kleiner und enthält zumindest bei einigen Instanzen bereits eine optimale Lösung. Alternativ kann in einem selbstanpassenden Genetischen Algorithmus das verwendete Planerzeugungsschema zusätzlich zur restlichen Repräsentation durch die Heuristik optimiert werden.3
7.3
Ausblick
Um die Schwierigkeit der Lösung einer Instanz zu quantifizieren, wurden in der Literatur eine Reihe von Kenngrößen für Instanzen des RCPSP definiert.4 Insbesondere, wenn Problembibliotheken entwickelt werden, welche die Effektivität von Lösungsverfahren vergleichen sollen, spielen diese Maße eine Rolle.5 Es muss sichergestellt werden, dass auch schwierige Instanzen in einer Bibliothek enthalten sind. Zu den geläufigen Kenngrößen für das RCPSP gehören die Netzwerkkomplexität und die Ressourcenstärke. Der Wert der Netzwerkkomplexität ist proportional zur Anzahl der Reihenfolgebeziehungen in einem Projekt. Eine große Anzahl der Reihenfolgebeziehungen verhindert im Earliest Start Schedule, dass viele AG gleichzeitig durchgeführt werden können. Dadurch wird es weniger Perioden geben, in welchen die kumulierten Verbräuche der aktiven AG die verfügbare Kapazität übersteigen. Die Kapazitätsrestriktionen im RCPSP sind für die N P -Schwere der Problemstellung verantwortlich.6 Entsprechend steigt die Schwierigkeit einer Instanz mit der Anzahl der Ressourcenkonflikte im Earliest Start Schedule.7 Projekte mit einer vergleichsweise hohen Netzwerkkomplexität können folglich tendenziell leichter optimal gelöst werden. 2 Vgl.
Gonçalves et al. (2011). Hartmann (2002). 4 Vgl. Vanhoucke et al. (2008) und Abschnitt 6.1.1 auf S. 173. 5 Vgl. Demeulemeester et al. (2003). 6 Der Earliest Start Schedule kann in deterministischer Polynomialzeit durch eine Breitensuche über den Vorgangsknotendigraphen berechnet werden. 7 Daher basieren einige Lösungsverfahren für das RCPSP auf der Idee, die Ressourcenkonflikte im Earliest Start Schedule schrittweise aufzulösen, indem einzelne AG verzögert werden und daraufhin weniger AG im Plan gleichzeitig durchgeführt werden. 3 Vgl.
7.3 Ausblick
201
Für das RCPSP-ROC gilt es nun zu prüfen, ob die genannten Komplexitätsmaße übertragen werden können oder, ob ggf. modifizierte oder neue Maße definiert werden müssen. Der konkrete Verlauf der Erlösfunktion wird im Zusammenspiel mit den Ausprägungen von oberen Schranken und Kostensätzen für Zusatzkapazitäten einen Einfluss auf den nötigen Rechenaufwand haben, um eine Instanz zu lösen. Sofern z. B. Zusatzkapazität kategorisch verboten wird, reduziert sich die Problemstellung auf das RCPSP. Wenn hingegen eine konstante (horizontale) Erlösfunktion vorliegt, dann kann die Instanz des RCPSP-ROC auf eine Instanz des Ressourcenüberladungsproblems mit hinreichend spätem Fertigstellungstermin zurückgeführt werden. Entsprechend wird das Problem aufgrund der geringeren Anzahl der zu treffenden Entscheidungen in diesen Fällen vermutlich einfacher lösbar sein. Es wäre nun interessant, eine Metrik zu definieren, welche die genaue Lage auf dem Spektrum zwischen RCPSP und Ressourcenüberladungsproblem in Abhängigkeit von den Projektdaten berechnet. Letztlich könnten spezielle Maße für die Komplexität von Instanzen des RCPSP-ROC helfen, eine stärker diversifizierte Problembibliothek für diese Problemstellung zu konzipieren. Nachfolgend werden Möglichkeiten zur Verbesserung der Lösungsverfahren vorgestellt. Dazu gehören weitere Kodierungen, die Formalisierung der charakteristischen Punkte für das RCPSP-ROC, weitere genetische Operatoren, die Kombination von exakten und heuristischen Lösungsverfahren in einem hybriden Ansatz, die Algorithmenauswahl und -konfiguration sowie selbstanpassende Algorithmen. In Abschnitt 3.2.2 wurde gezeigt, dass sich das RCPSP-ROC als Hauptproblem unter anderem in Nivellierungssubprobleme zerlegen lässt, indem Fristen für das Projektende festgelegt werden. Es wurde gezeigt, dass die charakteristischen Punkte für diese Art von Problemen die Menge der quasistabilen Pläne sind.8 Mit den Repräsentationen (λ|ˆzr ) und (λ|ˆzr t ) wurden Kodierungen vorgestellt, welche für fixierte Zusatzkapazitätsschranken aktive Pläne erzeugen. Analog scheint es interessant, Kodierungen zu entwickeln, welche für fixierte Fertigstellungstermine quasistabile Pläne erzeugen. Ein entsprechendes Planerzeugungsschema wurde in der Literatur bereits beschrieben.9 Es scheint vielversprechend zu sein, Kodierungen für Ablaufpläne zu entwickeln, welche als Planmenge die charakteristischen Punkte für das RCPSP-ROC aufspannen, wenn sie dekodiert werden. Hierfür muss zunächst eine geschlossene Beschreibung der relevanten Pläne des RCPSP-ROC aufgestellt werden. Pläne, in welchen ein AG nach dem frühestmöglichen Beginn startet (ohne Zusatzkapazität zu nutzen), sind nicht in dieser Menge enthalten. Die Menge muss letztendlich 8 Vgl. 9 Vgl.
Zimmermann (2001). Schwindt (2005).
202
7
Schlussbemerkungen
den in Abbildung 3.8d auf S. 84 gezeigten einzigen optimalen Plan für die kleine Beispielinstanz beinhalten. In Genetischen Algorithmen für das RCPSP aus der Literatur wurden zum Teil innovative genetische Operatoren verwendet, wie bspw. ein Kreuzungsoperator, der die Fitness der zu kreuzenden Individuen berücksichtigt.10 Diese Operatoren in die Genetischen Algorithmen für das RCPSP-ROC, die im Rahmen dieser Arbeit präsentiert worden sind, zu übertragen und zu integrieren, könnte insbesondere bei den Repräsentationen, welche die Projektdauer minimieren ((λ|ˆzr ) und (λ|ˆzr t )), ebenfalls zu verbesserten Ergebnissen führen. Stichprobenartige Rechendurchläufe mit besonders hohen Zeitlimits von mehreren Minuten für Instanzen mit 30 nicht-fiktiven AG zeigten, dass die heuristischen Verfahren bei einigen Instanzen in einem lokalen Optimum stecken bleiben und auch nach längerer Rechenzeit das Optimum der Instanz nicht finden können. Entsprechend konnten die exakten Verfahren nach ihren anfänglich vergleichsweise schlechten Ergebnissen die Heuristiken nach hinreichend hoher Zeit dominieren, da sie prinzipienbedingt niemals in lokalen Optima verharren und bei entsprechend hoher Laufzeit ein globales Optimum garantiert auffinden können. Das Phänomen, in einem lokalen Optimum zu verharren, ist stärker ausgeprägt, wenn ein Genetischer Algorithmus verwendet wird, als wenn LocalSolver als Verbesserungsverfahren ausgewählt wird.11 Diese Problematik kann behoben werden, indem gezielt von Exploitation zu Exploration in den Genetischen Algorithmus und durch entsprechend gesetzten Annealing-Parameter in LocalSolver gewechselt wird. Bei Exploitation liegt der Schwerpunkt darauf, die Lösungen auf Kosten der Abdeckung des Lösungsraums zu verbessern. In der Exploration liegt der Fokus darauf, den Lösungsraum möglichst erschöpfend abzudecken auf Kosten der raschen Verbesserung der Lösungen. Alternativ kann mithilfe einer Heuristik für das RCPSP-ROC in kurzer Zeit eine zulässige Startlösung generiert werden. Die Startlösung lässt sich daraufhin in einem exakten Verfahren nutzen. Als exaktes Verfahren kann bspw. der Solver Gurobi für gemischt-ganzzahlige Optimierungsprobleme in Kombination mit der Modellformulierung aus Abschnitt 3.1.2 genutzt werden. Die aggregierte Konvergenzgeschwindigkeit mit optimalen Lösungen ist Gurobi in den numerischen Ergebnissen zwar grundsätzlich geringer, jedoch gelingt es Gurobi, häufig bei einem entsprechend hohen Zeitlimit bessere Lösungen als die Heuristiken zu identifizieren. 10 Vgl.
Valls et al. (2008). Tabelle 6.7 auf S. 189. Nach 30 Sekunden liefert LocalSolver in diesen Ergebnissen im Mittel bessere Werte. Es kann u. U. an zu geringer Populationsdiversität aufgrund der Elite-Selektion liegen, dass der Genetischen Algorithmus nach mehreren Sekunden stagniert.
11 Siehe
7.3 Ausblick
203
Folglich kann die Kombination einer Heuristik, welche eine Startlösung erzeugt, und einem nachgestellten exakten Lösungsverfahren, welches die Startlösung verbessert, vielversprechend sein. Weit oben auf der Liste der aktuell leistungsstärksten Lösungsverfahren für das RCPSP stehen Methoden wie Solver für Erfüllbarkeitsprobleme (engl. satisfyability problem, SAT)12 , hybride Metaheuristiken13 und selbstanpassende Algorithmen.14 Tatsächlich basieren einige der aktuell in Benchmarks führenden exakten Lösungsverfahren auf den beiden Programmierparadigmen SAT und Constraintprogrammierung15 oder hybriden Ansätzen,16 welche die Vorteile von MILP, SAT und CP geschickt miteinander verknüpfen. Beispielhaft für einen hybriden Ansatz sei das sogenannte Constraint Integer Programming (CIP) genannt.17 Dieser Ansatz wird in der Software „CP Optimizer“ in CPLEX implementiert.18 Die in diesen Methoden implementierten Ideen können weitere Ausgangspunkte liefern, um die vorgestellten Lösungsverfahren für das RCPSP-ROC zu verbessern. Folglich scheint auch eine Übertragung von Constraintprogrammierungs-Ansätzen auf das RCPSPROC vielversprechend. Wie in Abschnitt 7.2 bereits angedeutet, kann es potenziell neue Zusammenhänge hervorbringen, wenn die numerischen Ergebnisse auf Basis anderer Problembibliotheken erzeugt werden. Die von RanGen2 erzeugten Instanzen in RG30 und RG300 sind mögliche Kandidaten hierfür . Besonders interessant wäre es, die relative Leistungsfähigkeit der unterschiedlichen Lösungsansätze aus Kodierung und Verbesserungsverfahren für die kleinen Projekte der Testsets j30 und RG30 gegenüberzustellen, da die stark andersartige Struktur der RG30-Instanzen ggf. ausreichend ist, um den auf Projekten aus j30 im Mittel dominierenden Ansätzen ihren Wettbewerbsvorteil zu nehmen. Da bereits mehrere Verfahren für die Problemstellung vorgestellt worden sind, von welchen kein Verfahren isoliert die übrigen Verfahren eindeutig dominiert, scheint es vielversprechend, das Algorithmenauswahlproblem für das RCPSPROC zu betrachten. Bei verschiedenen Formulierungen der mathematischen Programmierung und bei diversen heuristischen und exakten Lösungsalgorithmen kann die Leistungsfähigkeit bei der Lösung von heterogenen Instanzen des RCPSP-ROC 12 Vgl.
Schutt et al. (2013) und Horbach (2010). Lova et al. (2009). 14 Vgl. Hartmann (2002). 15 Vgl. Liess und Michelon (2008). 16 Vgl. Berthold et al. (2011). 17 Vgl. Berthold et al. (2010). 18 Vgl. Laborie (2018). 13 Vgl.
204
7
Schlussbemerkungen
stark variieren. Dies bestätigen auch die numerischen Untersuchungen in Kapitel 6, wie Abbildung 6.6 auf S. 195 anschaulich zeigt. Im Rahmen dieser Untersuchung hat sich kein Verfahren herauskristallisiert, welches für jegliche Art von Instanzen dominiert.19 Das Gesamtergebnis kann folglich potenziell verbessert werden, wenn für ein gegebenes Projekt gezielt das passende Lösungsverfahren ausgewählt werden kann. Das beschriebene Problem ist in der Fachliteratur als sogenanntes Algorithmenauswahlproblem (engl. Algorithm Selection problem, AS) bekannt20 und wurde für SAT21 sowie auch kombinatorische Optimierungsprobleme bereits vielseitig erforscht.22 Das Fachgebiet des maschinellen Lernens (engl. Machine Learning, ML) liefert Techniken, welche genutzt werden können, um das Algorithmenauswahlproblem zu lösen.23 Für das MRCPSP wurde in der Literatur bereits ein Algorithmenauswahlwerkzeug mithilfe des maschinellen Lernens konstruiert.24 Ein Portfolio bestehend aus SAT, CP, CIP und weiteren wettbewerbsfähigen exakten Lösungsansätzen für das RCPSP scheint vielversprechend. Zudem gibt es für die Algorithmenauswahl maßgeschneiderte ML-Algorithmen wie das kostensensitive hierarchische Clustern (engl. Cost-Sensitive Hierarchical Clustering, CSHC),25 welche bereits erfolgreich eingesetzt worden sind, um Algorithmenauswahl-Tools für andere kombinatorische Optimierungsprobleme zu erzeugen.26 Dabei handelt es sich um eine Variante des Random Forest,27 welche eine Aufteilung der Daten anhand der Kosten für die Fehlklassifikation bewertet, wenn ein Baum aufgebaut wird. Die öffentlich verfügbar ASlib28 enthält Datensätze mit numerischen Ergebnissen für mehrere Optimierungsprobleme, welche zum Vergleich der Leistungsfähigkeit von Ansätzen des maschinellen Lernens für die Algorithmenauswahl verwendet werden können. In der Literatur wurde ein standardisiertes Vorgehen vorgeschlagen, über welches
19 Konsistent zum No Free Lunch Theorem für Optimierungsprobleme von Wolpert und Macready (1997). 20 Vgl. Rice (1976). 21 Vgl. Xu et al. (2008). 22 Vgl. Smith-Miles (2009), Kotthoff et al. (2012) sowie Kotthoff (2016). 23 Vgl. Smith-Miles (2008), Musliu und Schwengerer (2013) und Musliu (2014). 24 Vgl. Messelis und De Causmaecker (2011). 25 Vgl. Malitsky et al. (2013). 26 Vgl. Tierney und Malitsky (2015). 27 Vgl. Breiman (2001). 28 Vgl. Configuration and Selection of Algorithms (2019) und Bischl et al. (2016).
7.3 Ausblick
205
sogenannte empirische Schwierigkeitsmodelle für Algorithmen und Problemstellungen erstellt werden können.29 Das Algorithmenauswahlproblem für RCPSP-Heuristiken wurde bereits von mehreren Autoren behandelt und mithilfe von Künstlichen Neuronalen Netzen gelöst.30 Dank der Verfügbarkeit leistungsstarker Frameworks und Hardware für künstliche neuronale Netze31 wären derartige Ansätze heute noch vielversprechender. Alternativ könnten weitere ML-Modelle32 und automatisiertes maschinelles Lernen (AutoML)33 bspw. über AutoWEKA34 genutzt werden. Mit Ausnahme einfacher Konstruktionsheuristiken (bspw. Prioritätsregeln)35 besitzen Lösungsverfahren für kombinatorische Optimierungsprobleme als Eingabe neben der Probleminstanz mehrere Steuerungsparameter. Diese Parameter ermöglichen dem Nutzer eines Verfahrens, das genaue Verhalten im Algorithmus präzise einzustellen. Ob ein Lösungsverfahren für eine gegebene Instanz oder Instanzenbibliothek leistungsfähig ist, hängt maßgeblich von der gewählten Konfiguration ab.36 Die Steuerungsparameter im Genetischen Algorithmen sind die Populationsgröße, die Mutationswahrscheinlichkeit, die Anzahl der erzeugten Generationen und die Wahl der genetischen Operatoren. Bei LocalSolver und MILP-Solver gibt es ebenfalls vielfältige Einstellungsmöglichkeiten. Die Standard-Konfiguration dieser Softwarepakete führt zwar häufig zu guten Ergebnissen, die Leistungsfähigkeit kann jedoch zumeist gesteigert werden, indem die Parameter optimiert werden. Da es sehr aufwendig wäre, manuell eine möglichst gute Parametrisierung für einen Algorithmus zu suchen, wurden SoftwareWerkzeuge entwickelt, um diesen Prozess zu automatisieren. Exemplarisch genannte Tools, welche die Algorithmenkonfiguration optimieren, sind irace37 und GGA38 . Hartmann (2002) hat einen selbstanpassenden Genetischen Algorithmus für das RCPSP vorgestellt. Er hat beobachtet, dass analog zum Algorithmenauswahl29 Vgl.
Leyton-Brown et al. (2003).
30 Vgl. Padman und Roehrig (1997), Padman (1993), Zhu und Padman (1995) sowie Zhu und
Padman (1997) Chollet et al. (2015). 32 Vgl. Pedregosa et al. (2011). 33 Vgl. Feurer et al. (2015). 34 Vgl. Kotthoff et al. (2017), Thornton et al. (2013) und Hall et al. (2009) 35 Siehe Abschnitt 4.2.1 auf S. 102. 36 Vgl. Hutter et al. (2011). 37 Vgl. López-Ibáñez et al. (2016) sowie Manuel López-Ibánez ˜ (2019). 38 Vgl. Ansótegui et al. (2009) und Kevin Tierney (2019). 31 Vgl.
206
7
Schlussbemerkungen
problem weder das serielle noch das parallele Planerzeugungsschema ausnahmslos das jeweils andere Schema dominiert, wenn die klassischen Testinstanzen gelöst werden. Daher führt es nicht zu einem für jede Instanz effizienten Lösungsverfahren, wenn lediglich eines der beiden Planerzeugungsschemata genutzt wird. Im Gegensatz dazu, „offline“ mithilfe von überwachtem maschinellem Lernen zu lernen, welcher Algorithmus für eine Instanz voraussichtlich am besten geeignet ist, wird dies hier „online“ während des Lösungsprozesses gelernt. Beim Offline-Lernen mussten bereits numerische Ergebnisse für alternative Lösungsalgorithmen gesammelt worden sein. Bei einem selbstanpassenden Verfahren kann die Lösungsmethode für die gegebene Eingabe-Probleminstanz ohne Datenbasis selbst „erlernen“, welche Dekodierungsprozedur die besten Pläne erzeugt. Nach dem Paradigma „Programming by Optimization (PbO)“ 39 sollen alternative Umsetzungsvarianten für gleiche Aufgaben nicht frühzeitig verworfen werden, wenn Algorithmen entworfen werden (insbesondere in Optimierungssoftware). Stattdessen sollen an vielen Stellen in der Software alternative DesignEntscheidungen im Programmcode erhalten bleiben und die jeweils genutzte Variante über einen Algorithmenkonfigurator ausgewählt werden. Dadurch ist ein Algorithmus selbst kein einzelner konkreter Algorithmus, sondern stattdessen ein MetaAlgorithmus, welcher durch eine Vielzahl von möglichen Konfigurationen zu einem konkreten Algorithmus wird.40 Schramme (2014) hat dies bspw. bei der Algorithmenkonfiguration seines Genetischen Algorithmus für das RCPSP mit flexiblen Ressourcenverbräuchen systematisch untersucht. Im Rahmen dieser Arbeit wurde das RCPSP zum RCPSP-ROC erweitert. Das RCPSP-ROC erlaubt es dem Entscheider gezielt Zusatzkapazität einzusetzen, um eine kürzere Projektdauer zu erreichen. Zusätzlich berücksichtigt das RCPSP-ROC projektdauerabhängige Erlöse, welche Präferenzen des Kunden bzgl. des Fertigstellungstermins abbilden können. Es wurden einige Fragen zur Struktur und Komplexität des RCPSP-ROC beantwortet. Die Problemstellung hat sich als neuartig, ergiebig und praxisrelevant herausgestellt. Obwohl theoretische und empirische Erkenntnisse zur Problemstellung umfangreich dargelegt worden sind, wurde das Problem im Rahmen der Arbeit nicht abschließend und endgültig untersucht. Es gibt weiterhin offene Fragestellungen, welche teilweise von diesem Kapitel bereits explizit angerissen worden sind. Die Arbeit erhebt nicht den Anspruch, das RCPSP-ROC vollständig und erschöpfend zu analysieren. Stattdessen liefert die Arbeit einen Aus39 Vgl.
Hoos (2012). ist bspw. auch für die Solver Gurobi und CPLEX zutreffend, welche ein gemischtganzzahliges Optimierungsproblem je nach Konfiguration auf signifikant unterschiedliche Art und Weise lösen. 40 Dies
7.3 Ausblick
207
gangspunkt für eine ganze Reihe fortführender Untersuchungen. Einerseits sollten die relevanten Lösungen für diese Problemstellung auf Basis der Arbeit weiter formalisiert werden. Andererseits sollten die gegebenen Ansatzpunkte aufgegriffen werden, um problemspezifische exakte sowie weitere heuristische Lösungsverfahren für das RCPSP-ROC in zukünftigen Veröffentlichungen zu entwickeln. Dabei scheint zum aktuellen Zeitpunkt insbesondere in den Methoden des maschinellen Lernens das Potenzial zu bestehen, die bisher verbreitetet eingesetzten metaheuristischen Lösungsverfahren für Projektplanungsprobleme und andere kombinatorische Optimierungsprobleme in naher Zukunft zu ergänzen. Dies kann dadurch geschehen, dass konventionelle Algorithmen über maschinelles Lernen geschickt ausgewählt und parametrisiert werden. Spannender sind jedoch neuartige Verfahren, welche im Kern selbst maschinelles Lernen einsetzen und dadurch in der Lage sind klassische Optimierungsheuristiken in Benchmarks zu besiegen.41 Die jüngsten Entwicklungen speziell im Bereich künstlicher neuronaler Netze und Bildverarbeitung zeigen, dass bisher aufwendig von Experten entwickelte komplexe Systeme mit viel Problemwissen und Detailentscheidungen im Entwurf von einfach strukturierten Modellen des maschinellen Lernens dominiert werden können, wenn hinreichend viele gut strukturierte Daten vorliegen. Die langfristigen Folgen einer derartigen Technologie für das Operations Research sind aktuell noch nicht vollständig absehbar. Es ist aber zu erwarten, dass das maschinelle Lernen die Veröffentlichungen im Bereich der mathematischen Optimierung ähnlich prägen wird, wie dies bereits in diversen anderen Fachgebieten geschehen ist.
41 Vgl.
Hottung et al. (2020).
Literaturverzeichnis
Abdolshah, M. (2014). A review of resource-constrained project scheduling problems (RCPSP) approaches and solutions. International Transaction Journal of Engineering, Management, & Applied Sciences & Technologies 5(4), S. 253–286. Ackermann, E. C. (1895). The golden section. The American Mathematical Monthly 2(9–10), S. 260–264. Adamu, P., O. Abass und R. Okafor (2007). Formulation of construction projects as singlemode resource-constrained project scheduling problems (SMRCPSP). Arid Zone Journal of Engineering, Technology and Environment 5, S. 85–93. Adamu, P. I., H. I. Okagbue und P. E. Oguntunde (2019). A new priority rule for solving project scheduling problems. Wireless Personal Communications 106(2), S. 681–699. Afshar-Nadjafi, B. (2014). Multi-mode resource availability cost problem with recruitment and release dates for resources. Applied Mathematical Modelling 38(21–22), S. 5347–5355. Agarwal, A., S. Colak und S. Erenguc (2011). A neurogenetic approach for the resourceconstrained project scheduling problem. Computers & Operations Research 38(1), S. 44– 50. Ahn, T. und S. S. Erenguc (1998). The resource constrained project scheduling problem with multiple crashable modes: a heuristic procedure. European Journal of Operational Research 107(2), S. 250–259. Ahumada, O. und J. R. Villalobos (2011). Operational model for planning the harvest and distribution of perishable agricultural products. International Journal of Production Economics 133(2), S. 677–687. AIMMS (2019). Supply Chain Planning. https://aimms.com/. Letzter Zugriff: 15.02.2020. Alcaraz, J., C. Maroto und R. Ruiz (2003). Solving the multi-mode resource-constrained project scheduling problem with genetic algorithms. Journal of the Operational Research Society 54(6), S. 614–626. Alhumrani, S. A. und R. J. Qureshi (2016). Novel approach to solve resource constrained project scheduling problem (RCPSP). International Journal of Modern Education & Computer Science 8(9), S. 60–68. Alipouri, Y., M. H. Sebt, A. Ardeshir und W. T. Chan (2019). Solving the FS-RCPSP with hyper-heuristics: A policy-driven approach. Journal of the Operational Research Society 70(3), S. 403–419.
© Der/die Herausgeber bzw. der/die Autor(en), exklusiv lizenziert durch Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature 2020 A. Schnabel, Heuristiken für die gewinnorientierte Planung ressourcenbeschränkter Projekte mit erweiterbaren Kapazitäten, Produktion und Logistik, https://doi.org/10.1007/978-3-658-31610-5
209
210
Literaturverzeichnis
alpha Personal-Service GmbH (2019). Lexikon der Zeitarbeit. https://www.personalservicealpha.de/lexikon/zeitarbeit. Letzter Zugriff: 15.02.2020. Amazon (2019a). Elastic Compute Cloud. https://aws.amazon.com/de/ec2/. Letzter Zugriff: 15.02.2020. Amazon (2019b). Elastic Compute Cloud – Pricing. https://aws.amazon.com/de/ec2/pricing/. Letzter Zugriff: 15.02.2020. American Journal Experts (2019). Pricing. https://www.aje.com/pricing/#!/pricing. Letzter Zugriff: 15.02.2020. Andus Electronic GmbH (2019a). Andus-Expresssystem. https://www.andus.de/ expresssystem/expresssystem.php. Letzter Zugriff: 15.02.2020. Andus Electronic GmbH (2019b). Andus-Expresssystem – PDF. https://www.andus.de/ expresssystem/expresssystem.pdf. Letzter Zugriff: 15.02.2020. Andus Electronic GmbH (2019c). EXPRESS Leiterplatten. https://www.andus.de. Letzter Zugriff: 15.02.2020. Ansótegui, C., M. Sellmann und K. Tierney (2009). A gender-based genetic algorithm for the automatic configuration of algorithms. In: International Conference on Principles and Practice of Constraint Programming, S. 142–157. Springer. Artigues, C., O. Koné, P. Lopez und M. Mongeau (2015). Mixed-integer linear programming formulations, S. 17–41. International Handbooks on Information Systems. Cham Heidelberg New York Dordrecht London: Springer. Artigues, C., P. Michelon und S. Reusser (2003). Insertion techniques for static and dynamic resource-constrained project scheduling. European Journal of Operational Research 149(2), S. 249–267. Ballestin, F. (2007). A genetic algorithm for the resource renting problem with minimum and maximum time lags. In: C. Cotta und J. van Hemert (Hrsg.), Evolutionary Computation in Combinatorial Optimization, Volume 4446 of Lecture Notes in Computer Science, S. 25–35. Springer Berlin Heidelberg. Ballestín, F. (2007). When it is worthwhile to work with the stochastic RCPSP? Journal of Scheduling 10(3), S. 153–166. Ballestin, F. und R. Blanco (2015). Theoretical and practical fundamentals. In: C. Schwindt und J. Zimmermann (Hrsg.), Handbook on Project Management and Scheduling Vol.1, International Handbooks on Information Systems, S. 1–427. Cham Heidelberg New York Dordrecht London: Springer. Ballestín, F., C. Schwindt und J. Zimmermann (2007). Resource leveling in make-to-order production: modeling and heuristic solution method. International Journal of Operations Research 4(1), S. 50–62. Ballestín, F., V. Valls und S. Quintanilla (2008). Pre-emption in resource-constrained project scheduling. European Journal of Operational Research 189(3), S. 1136–1152. Barzel, Y. (1973). The determination of daily hours and wages. The Quarterly Journal of Economics 87(2), S. 220–238. Batdalov, R., O. Nikiforova ¸ und A. Giurca (2016). Extensible model for comparison of expressiveness of object-Oriented programming languages. Applied Computer Systems 20(1), S. 27–35. Benjafield, J. und J. Adams-Webber (1976). The golden section hypothesis. British Journal of Psychology 67(1), S. 11–15.
Literaturverzeichnis
211
Benoist, T., B. Estellon, F. Gardi, R. Megel und K. Nouioua (2011). LocalSolver 1.x: a blackbox local-search solver for 0-1 programming. 4OR 9(3), S. 299. Berthaut, F., R. Pellerin, N. Perrier, A. Hajji et al. (2014). Time-cost trade-offs in resourceconstraint project scheduling problems with overlapping modes. International Journal of Project Organisation and Management 6(3), S. 215–236. Berthold, T., S. Heinz, M. E. Lübbecke, R. H. Möhring und J. Schulz (2010). A constraint integer programming approach for resource-constrained project scheduling. In: International Conference on Integration of Artificial Intelligence (AI) and Operations Research (OR) Techniques in Constraint Programming, S. 313–317. Springer. Berthold, T., S. Heinz, M. E. Pfetsch und S. Vigerske (2011). Large neighborhood search beyond MIP. Forschungsbericht 11–21, Zuse Institut Berlin. Bertsimas, D., S. Gupta und G. Lulli (2014). Dynamic resource allocation: a flexible and tractable modeling framework. European Journal of Operational Research 236(1), S. 14– 26. Beutelspacher, A. und B. Petri (2013). Der Goldene Schnitt. Springer-Verlag. Bianco, L., M. Caramia und S. Giordani (2016). Resource levelling in project scheduling with generalized precedence relationships and variable execution intensities.Or Spectrum 38(2), S. 405–425. Bischl, B., P. Kerschke, L. Kotthoff, M. Lindauer, Y. Malitsky, A. Fréchette, H. Hoos, F. Hutter, K. Leyton-Brown, K. Tierney et al. (2016). Aslib: a benchmark library for algorithm selection.Artificial Intelligence 237, S. 41–58. Blazewicz, J., J. K. Lenstra und A. R. Kan (1983). Scheduling subject to resource constraints: classification and complexity. Discrete Applied Mathematics 5(1), S. 11–24. Blum, C. und A. Roli (2003). Metaheuristics in combinatorial optimization: overview and conceptual comparison. ACM computing surveys (CSUR) 35(3), S. 268–308. Böttcher, J., A. Drexl, R. Kolisch und F. Salewski (1999). Project scheduling under partially renewable resource constraints. Management Science 45(4), S. 543–559. Bouleimen, K. und H. Lecocq (2003). A new efficient simulated annealing algorithm for the resource-constrained project scheduling problem and its multiple mode version. European Journal of Operational Research 149(2), S. 268–281. Bowman, E. H. (1959). The schedule-sequencing problem. Operations Research 7(5), S. 621–624. Breiman, L. (2001). Random forests. Machine Learning 45(1), S. 5–32. Bremer, C. (2005). Automated repair and overhaul of aero-engine and industrial gas turbine components. In: ASME Turbo Expo 2005: Power for Land, Sea, and Air, S. 841–846. American Society of Mechanical Engineers. Briskorn, D. und S. Hartmann (2015). Anwendungen des Resource-Constrained Project Scheduling Problem in der Produktionsplanung. In: Produktionsplanung und–steuerung, S. 109– 129. Springer. Brooks, Jr., F. P. (1987). No silver bullet essence and accidents of software engineering. Computer 20(4), S. 10–19. Brucker, P., A. Drexl, R. Möhring, K. Neumann und E. Pesch (1999). Resource-constrained project scheduling: notation, classification, models, and methods. European Journal of Operational Research 112(1), S. 3–41. Brucker, P. und S. Knust (2012). Complex scheduling. GOR-Publications. Berlin Heidelberg: Springer.
212
Literaturverzeichnis
Bukata, L., P. Sucha und Z. Hanzalek (2015). Solving the resource constrained project scheduling problem using the parallel tabu search designed for the CUDA platform. Journal of Parallel and Distributed Computing 77, S. 58–68. Burke, E. K., M. Gendreau, M. Hyde, G. Kendall, G. Ochoa, E. Özcan und R. Qu (2013). Hyper-heuristics: A survey of the state of the art. Journal of the Operational Research Society 64(12), S. 1695–1724. Carter, T. J. (2005). Common failures in gas turbine blades. Engineering Failure Analysis 12(2), S. 237–247. Cesta, A., A. Oddi und S. F. Smith (2002). A constraint-based method for project scheduling with time windows. Journal of Heuristics 8(1), S. 109–136. Chakrabortty, R. K., R. Sarker und D. Essam (2015). Resource constrained project scheduling: a branch and cut approach. In: proceedings of the 45th international conference on computers and industrial engineering Metz, France. Chand, S., Q. Huynh, H. Singh, T. Ray und M. Wagner (2018). On the use of genetic programming to evolve priority rules for resource constrained project scheduling problems. Information Sciences 432, S. 146–163. Chen, J. und R. G. Askin (2009). Project selection, scheduling and resource allocation with time dependent returns. European Journal of Operational Research 193(1), S. 23–34. Chen, R.-M. (2011). Particle swarm optimization with justification and designed mechanisms for resource-constrained project scheduling problem. Expert Systems with Applications 38(6), S. 7102–7111. Chen, W., Y.-j. Shi, H.-f. Teng, X.-p. Lan und L.-c. Hu (2010). An efficient hybrid algorithm for resource-constrained project scheduling. Information Sciences 180(6), S. 1031–1039. Chen, W.-N., J. Zhang, H. S.-H. Chung, R.-Z. Huang und O. Liu (2009). Optimizing discounted cash flows in project scheduling—An ant colony optimization approach. IEEE transactions on systems, man, and cybernetics, part C (applications and reviews) 40(1), S. 64–77. Cheney, E. und D. Kincaid (2012). Numerical mathematics and computing. Cengage Learning. Choi, B.-C. und M.-J. Park (2015). A continuous time–cost tradeoff problem with multiple milestones and completely ordered jobs. European Journal of Operational Research 244(3), S. 748–752. Chollet, F. et al. (2015). Keras. https://keras.io. Christofides, N., R. Alvarez-Valdés und J. M. Tamarit (1987). Project scheduling with resource constraints: A branch and bound approach. European Journal of Operational Research 29(3), S. 262–273. Claus, T., F. Herrmann und E. Teich (2019). Kostensimulation: Grundlagen, Forschungsansätze, Anwendungsbeispiele. Springer-Verlag. COnfiguration and SElection of Algorithms (2019). Algorithm Selection Library (Aslib). https://www.coseal.net/aslib/. Letzter Zugriff: 15.02.2020. Damay, J., A. Quilliot und E. Sanlaville (2007). Linear programming based algorithms for preemptive and non-preemptive RCPSP. European Journal of Operational Research 182(3), S. 1012–1022. Davis, E. W. und J. H. Patterson (1975). A comparison of heuristic and optimum solutions in resource-constrained project scheduling. Management science 21(8), S. 944–955.
Literaturverzeichnis
213
Davis, K. R., A. Stam und R. A. Grzybowski (1992). Resource constrained project scheduling with multiple objectives: A decision support approach. Computers & operations research 19(7), S. 657–669. De, P., E. J. Dunne, J. B. Ghosh und C. E. Wells (1995). The discrete time-cost tradeoff problem revisited. European Journal of Operational Research 81(2), S. 225–238. De Nijs, F. (2013). Project scheduling: the impact of instance structure on heuristic performance. Diplomarbeit, Algorithmics Research Group, Department of Software Technology, Faculty EEMCS, Delft University of Technology. Debels, D., B. De Reyck, R. Leus und M. Vanhoucke (2006). A hybrid scatter search/electromagnetism meta-heuristic for project scheduling. European Journal of Operational Research 169(2), S. 638–653. Deblaere, F., E. Demeulemeester und W. Herroelen (2011). Reactive scheduling in the multimode RCPSP. Computers & Operations Research 38(1), S. 63–74. Deckro, R. und J. Hebert (1989). Resource constrained project crashing. Omega 17(1), S. 69–79. Deckro, R. F., J. Hebert und W. Verdini (1991). Cost based allocation of resources in project planning. In: Technology Management: the New International Language, S. 278–283. IEEE. Deckro, R. F. und J. E. Hebert (2003). Modeling diminishing returns in project resource planning. Computers & industrial engineering 44(1), S. 19–33. Demeulemeester, E. und W. Herroelen (1992). A branch-and-bound procedure for the multiple resource-constrained project scheduling problem. Management science 38(12), S. 1803– 1818. Demeulemeester, E., M. Vanhoucke und W. Herroelen (2003). RanGen: a random network generator for activity-on-the-node networks. Journal of scheduling 6(1), S. 17–38. Demeulemeester, E. L. und W. S. Herroelen (1996). An efficient optimal solution procedure for the preemptive resource-constrained project scheduling problem. European Journal of Operational Research 90(2), S. 334–348. Demeulemeester, E. L. und W. S. Herroelen (2006). Project scheduling: a research handbook, Volume 49 of International Series in Operations Research and Management Science. New York: Springer Science & Business Media. Demeulemeester, E. L., W. S. Herroelen und S. E. Elmaghraby (1996). Optimal procedures for the discrete time/cost trade-off problem in project networks. European Journal of Operational Research 88(1), S. 50–68. Destatis (2016). Strukturerhebung im Dienstleistungsbereich - Erbringung von sonstigen wirtschaftlichen Dienstleistungen. In: Fachserie 9, Volume Reihe 4.5. Statistisches Bundesamt Deutschland. Deutsches Institut für Normung e. V. (2009). Projektmanagement – Projektmanagementsysteme – Teil 5: Begriffe (9 Aufl.). Berlin, Wien, Zürich: Beuth Verlag GmbH. Dinis, D. und A. P. Barbosa-Póvoa (2015). On the optimization of aircraft maintenance management. In: Operations Research and Big Data, S. 49–57. Springer. Domschke, W., A. Drexl, R. Klein und A. Scholl (2015). Einführung in operations research. Springer-Verlag. Dorling, S. (2014). Managing climate variability in agriculture: using weather forecasting to support farming adaptation. Outlook on Agriculture 43(1), S. 13–18. Dorndorf, U. (2002). Project scheduling with time windows: from theory to applications. Springer Science & Business Media.
214
Literaturverzeichnis
Drexl, A., B. Fleischmann, H.-O. Günther, H. Stadtler und H. Tempelmeier (1993). Konzeptionelle Grundlagen kapazitätsorientierter PPS-Systeme. Forschungsbericht, Manuskripte aus den Instituten für Betriebswirtschaftslehre der Universität Kiel. Drexl, A. und A. Kimms (2001). Optimization guided lower and upper bounds for the resource investment problem. The Journal of the Operational Research Society 52(3), S. 340–351. Drexl, A., R. Nissen, J. H. Patterson und F. Salewski (2000). ProGen/π x–An instance generator for resource-constrained project scheduling problems with partially renewable resources and further extensions. European Journal of Operational Research 125(1), S. 59–72. Duan, Q. und T. W. Liao (2010). Improved ant colony optimization algorithms for determining project critical paths. Automation in Construction 19(6), S. 676–693. Duarte, A., M. Laguna und R. Marti (2018). Metaheuristics for business analytics. Springer. Easa, S. M. (1989). Resource leveling in construction by optimization. Journal of Construction Engineering and Management 115(2), S. 302–316. Eichhorst, W. und F. Buhlmann (2015). Die Zukunft der Arbeit und der Wandel der Arbeitswelt. Forschungsbericht, IZA Standpunkte. Eickemeyer, S. C., F. Herde, P. Irudayaraj und P. Nyhuis (2014). Decision models for capacity planning in a regeneration environment. International Journal of Production Research 52(23), S. 7007–7026. Elmaghraby, S. E. (1977). Activity networks: project planning and control by network models. John Wiley & Sons. Essaid, M., L. Idoumghar, J. Lepagnot und M. Brévilliers (2019). GPU parallelization strategies for metaheuristics: a survey. International Journal of Parallel, Emergent and Distributed Systems 34(5), S. 497–522. Faghihi, V., A. Nejat, K. F. Reinschmidt und J. H. Kang (2015). Automation in construction scheduling: a review of the literature. The International Journal of Advanced Manufacturing Technology 81(9–12), S. 1845–1856. Fahmy, A., T. M. Hassan und H. Bassioni (2014). Improving RCPSP solutions quality with stacking justification–application with particle swarm optimization. Expert Systems with Applications 41(13), S. 5870–5881. Fang, C. und L. Wang (2012). An effective shuffled frog-leaping algorithm for resourceconstrained project scheduling problem. Computers & Operations Research 39(5), S. 890– 901. Fendley, L. G. (1968). Toward development of a complete multiproject scheduling system. Journal of Industrial Engineering 19(10), S. 505. Feurer, M., A. Klein, K. Eggensperger, J. Springenberg, M. Blum und F. Hutter (2015). Efficient and robust automated machine learning. In: C. Cortes, N. D. Lawrence, D. D. Lee, M. Sugiyama, und R. Garnett (Hrsg.), Advances in Neural Information Processing Systems 28, S. 2962–2970. Curran Associates, Inc. Florian Wittemann (2019a). Data. http://www.om-db.wi.tum.de/psplib/data.html. Letzter Zugriff: 15.02.2020. Florian Wittemann (2019b). Parameter Settings. http://www.om-db.wi.tum.de/psplib/ parameter.html. Letzter Zugriff: 15.02.2020. Free2move – Veranstaltungsdienstleistungen GmbH (2019). Free2move Homepage. https:// www.free-2-move.de/. Letzter Zugriff: 15.02.2020. Gaese, C.-F., H. Bernhardt, L. Popp, S. Wörz, V. Heizinger, T. Damme, J. Eberhardt und A. Kluge (2013). Entwicklung eines Planungssystems zur Optimierung von Agrarlogistik-
Literaturverzeichnis
215
Prozessen. In: M. Clasen, K. C. Kersebaum, A. Meyer-Aurich, und B. Theuvsen (Hrsg.), Massendatenmanagement in der Agrar- und Ernährungswirtschaft – Erhebung – Verarbeitung – Nutzung, Bonn, S. 91–94. Gesellschaft für Informatik e. V. GAMS Software GmbH (2020). GAMS – Cutting Edge Modeling. https://www.gams.com. Letzter Zugriff: 14.01.2020. García-Nieves, J., J. L. Ponz-Tienda, A. Salcedo-Bernal und E. Pellicer (2018). The multimode resource-constrained project scheduling problem for repetitive activities in construction projects. Computer-Aided Civil and Infrastructure Engineering 33(8), S. 655–671. Gardi, F., T. Benoist, J. Darlay, B. Estellon und R. Megel (2014). Mathematical programming solver based on local search. John Wiley & Sons. Gather, T. (2011). Exakte Verfahren für das Ressourcennivellierungsproblem. SpringerVerlag. Gatland, R., E. Yang und K. Buxton (1997). Solving engine maintenance capacity problems with simulation. In: Proceedings of the 29th Conference on Winter Simulation, WSC ’97, Washington, DC, USA, S. 892–899. IEEE Computer Society. Gerhards, P. und C. Stürck (2016). A hybrid metaheuristic for the multi-mode resource investment problem with Tardiness Penalty. In: Operations Research Proceedings 2016, Operations Research Proceedings, S. 515–520. Ghaeli, M. und S. Sadi-Nezhad (2019). A scientometrics survey on project scheduling. Journal of Project Management 4(2), S. 165–176. Göçken, T. (2013). Solution of fuzzy multi-objective project crashing problem. Neural Computing and Applications 23(7–8), S. 2167–2175. Gonçalves, J. F., J. J. Mendes und M. G. Resende (2008). A genetic algorithm for the resource constrained multi-project scheduling problem. European Journal of Operational Research 189(3), S. 1171–1190. Gonçalves, J. F., M. G. Resende und J. J. Mendes (2011). A biased random-key genetic algorithm with forward-backward improvement for the resource constrained project scheduling problem. Journal of Heuristics 17(5), S. 467–486. Gonzalez-Pardo, A., J. Del Ser und D. Camacho (2017). Comparative study of pheromone control heuristics in ACO algorithms for solving RCPSP problems. Applied Soft Computing 60, S. 241–255. Guldemond, T. A., J. L. Hurink, J. J. Paulus und J. M. J. Schutten (2008). Time-constrained project scheduling. Journal of Scheduling 11(2), S. 137–148. GVO Personal (2019). GVO Personal Homepage. https://www.gvo-personal.de/. Letzter Zugriff: 15.02.2020. Habibi, F., F. Barzinpour und S. Sadjadi (2018). Resource-constrained project scheduling problem: review of past and recent developments. Journal of Project Management 3(2), S. 55–88. Habibi, F., F. Barzinpour und S. J. Sadjadi (2017). A multi-objective optimization model for project scheduling with time-varying resource requirements and capacities. Journal of Industrial and Systems Engineering 10, S. 92–118. Hajdu, M. (2018). Survey of precedence relationships: classification and algorithms. Automation in Construction 95, S. 245–259. Hall, M., E. Frank, G. Holmes, B. Pfahringer, P. Reutemann und I. H. Witten (2009). The WEKA data mining software: an update. SIGKDD Explorations 11(1), S. 10–18.
216
Literaturverzeichnis
Hapke, M., A. Jaszkiewicz und R. Słowi´nski (1998). Interactive analysis of multiple-criteria project scheduling problems. European Journal of Operational Research 107(2), S. 315– 324. Hartmann, S. (1998). A competitive genetic algorithm for resource-constrained project scheduling. Naval Research Logistics (NRL) 45(7), S. 733–750. Hartmann, S. (1999). Project scheduling under limited resources: models, methods, and applications, Volume 478 of Lecture Notes in Economics and Mathematical Systems. Berlin Heidelberg: Springer. Hartmann, S. (2000). Packing problems and project scheduling models: an integrating perspective. The Journal of the Operational Research Society 51(9), S. 1083–1092. Hartmann, S. (2002). A self-adapting genetic algorithm for project scheduling under resource constraints. Naval Research Logistics (NRL) 49(5), S. 433–448. Hartmann, S. (2012). Project scheduling with resource capacities and requests varying with time: a case study. Flexible Services and Manufacturing Journal 25(1–2), S. 74–93. Hartmann, S. (2015). time-varying resource requirements and capacities. In: C. Schwindt und J. Zimmermann (Hrsg.), Handbook on Project Management and Scheduling Vol.1, International Handbooks on Information Systems, S. 163–176. Cham Heidelberg New York Dordrecht London: Springer. Hartmann, S. und D. Briskorn (2010). A survey of variants and extensions of the resourceconstrained project scheduling problem. European Journal of Operational Research 207(1), S. 1–14. Hartmann, S. und R. Kolisch (2000). Experimental evaluation of state-of-the-art heuristics for the resource-constrained project scheduling problem. European Journal of Operational Research 127(2), S. 394–407. Heistermann, J. (1994). Genetische Algorithmen: Theorie und Praxis evolutionärer Optimierung, Volume 9. Vieweg+Teubner Verlag. Helber, S. und F. Sahling (2010). A fix-and-optimize approach for the multi-level capacitated lot sizing problem. International Journal of Production Economics 123(2), S. 247–256. Herde, F. (2013). Rahmenbedingungen der industriellen Regeneration von zivilen Flugzeugtriebwerken. Books on Demand. Herde, F. (2017). Revenue-Management-Ansatz für eine Annahmesteuerung kundenspezifischer Regenerationsaufträge komplexer Investitionsgüter. Springer-Verlag. Herroelen, W., E. Demeulemeester und B. De Reyck (1997). Resource-constrained project scheduling A survey of recent developments. Operations Research Proceedings. Berlin Heidelberg: Springer. Hindelang, T. J. und J. F. Muth (1979). A dynamic programming algorithm for decision CPM networks. Operations Research 27(2), S. 225–241. Hindi, K. S., H. Yang und K. Fleszar (2002). An evolutionary algorithm for resourceconstrained project scheduling. IEEE Transactions on evolutionary computation 6(5), S. 512–518. Hoffmann, L.-S. und C. Kellenbrink (2018). Scheduling multiple flexible projects with different variants of genetic algorithms. In: Proceedings of the 16th International Conference on Project Management and Scheduling, Rome, S. 128–131. Hoffmann, L.-S., T. Kuprat, C. Kellenbrink, M. Schmidt und P. Nyhuis (2017). Priority rulebased planning approaches for regeneration processes. Procedia CIRP 59, S. 89–94.
Literaturverzeichnis
217
Holland, J. H. (1975). Adaption in natural and artificial systems: an introductory analysis with application to biology, control, and artificial intelligence. Detroit: The University of Michigan Press. Hoos, H. H. (2012). Programming by optimization. Commun. ACM 55(2), S. 70–80. Horbach, A. (2010). A boolean satisfiability approach to the resource-constrained project scheduling problem. Annals of Operations Research 181(1), S. 89–107. Hottung, A., S. Tanaka und K. Tierney (2020). Deep learning assisted heuristic tree search for the container pre-marshalling problem. Computers & Operations Research 113, S. 104781. Huang, M., J. Yuan und J. Xiao (2015). An adapted firefly algorithm for product development project scheduling with fuzzy activity duration. Mathematical Problems in Engineering 2015, S. 1–11. Hutter, F., H. H. Hoos und K. Leyton-Brown (2011). Sequential model-based optimization for general algorithm configuration. In: International conference on learning and intelligent optimization, S. 507–523. Springer. Institute, P. M. (2017). A guide to the project management body of knowledge. Guide to the Project Management Body of Knowledge. Project Management Institute. Isermann, H. (1982). Linear lexicographic optimization. Operations-Research-Spektrum 4(4), S. 223–228. Jarboui, B., N. Damak, P. Siarry und A. Rebai (2008). A combinatorial particle swarm optimization for solving multi-mode resource-constrained project scheduling problems. Applied Mathematics and Computation 195(1), S. 299–308. Jones, J. B., P. McNutt, R. Tosi, C. Perry und D. I. Wimpenny (2012). Remanufacture of turbine blades by laser cladding, machining and in-process scanning in a single machine. In: 23rd Annual International Solid Freeform Fabrication Symposium, S. 821–827. University of Texas. Kalaivani, T., A. Allirani und P. Priya (2011). A survey on zigbee based wireless sensor networks in agriculture. In: 3rd International Conference on Trendz in Information Sciences Computing (TISC2011), S. 85–89. Kalleberg, A. L. (2000). Nonstandard employment relations: part-time, temporary and contract work. Annual review of sociology 26(1), S. 341–365. Kang, C. und B.-C. Choi (2015). An adaptive crashing policy for stochastic time-cost tradeoff problems. Computers & Operations Research 63, S. 1–6. Kaplan, L. A. (1996). Resource-constrained project scheduling with preemption of jobs. Dissertation, University of Michigan. Kassandra, T., D. Suhartono et al. (2018). Resource-constrained project scheduling problem using firefly algorithm. Procedia Computer Science 135, S. 534–543. Kastor, A. und K. Sirakoulis (2009). The effectiveness of resource levelling tools for resource constraint project scheduling problem. International Journal of Project Management 27(5), S. 493–500. Kellenbrink, C. (2014a). First results on resource-constrained project scheduling with modelendogenous decision on the project structure. In: Operations Research Proceedings 2012, Operations Research Proceedings, S. 429–434. Springer International Publishing. Kellenbrink, C. (2014b). Ressourcenbeschränkte Projektplanung für flexible Projekte. Wiesbaden: Springer Gabler. Kellenbrink, C. und S. Helber (2015). Scheduling resource-constrained projects with a flexible project structure. European Journal of Operational Research 246(2), S. 379–391.
218
Literaturverzeichnis
Kellenbrink, C. und S. Helber (2016). Quality-and profit-oriented scheduling of resourceconstrained projects with flexible project structure via a genetic algorithm. European Journal of Industrial Engineering 10(5), S. 574–595. Kellenbrink, C., F. Herde, S. C. Eickemeyer, T. Kuprat und P. Nyhuis (2014). Planning the regeneration processes of complex capital goods. Procedia CIRP 24, S. 140–145. Kelley Jr, J. E. und M. R. Walker (1959). Critical-path planning and scheduling. In: Papers presented at the December 1–3, 1959, eastern joint IRE-AIEE-ACM computer conference, S. 160–173. ACM. Kerkhove, L.-P., M. Vanhoucke und B. Maenhout (2017). On the resource renting problem with overtime. Computers & Industrial Engineering 111, S. 303–319. Kevin Tierney (2019). Distributed Gender Based Genetic Algorithm. https://bitbucket.org/ gga_ac/dgga. Letzter Zugriff: 15.02.2020. Klein, R. (1999). Scheduling of resource-constrained projects, Volume 10 of Operations Research/Computer Science Interfaces. New York: Springer Science & Business Media. Klein, R. (2000). Project scheduling with time-varying resource constraints. International Journal of Production Research 38(16), S. 3937–3952. Kohl, N., A. Larsen, J. Larsen, A. Ross und S. Tiourine (2007). Airline disruption management—perspectives, experiences and outlook. Journal of Air Transport Management 13(3), S. 149–162. Kolisch, R. (1995). Project scheduling under resource constraints: efficient heuristics for several problem classes. Heidelberg: Physica. Kolisch, R. (1996a). Efficient priority rules for the resource-constrained project scheduling problem. Journal of Operations Management 14(3), S. 179–192. Kolisch, R. (1996b). Serial and parallel resource-constrained project scheduling methods revisited: theory and computation. European Journal of Operational Research 90(2), S. 320–333. Kolisch, R. und A. Drexl (1996). Adaptive search for solving hard project scheduling problems. Naval Research Logistics (NRL) 43(1), S. 23–40. Kolisch, R. und S. Hartmann (1999). Heuristic algorithms for the resource-constrained project scheduling problem: classification and computational analysis. Boston, MA: Springer US. Kolisch, R. und S. Hartmann (2006). Experimental investigation of heuristics for resourceconstrained project scheduling: an update. European Journal of Operational Research 174(1), S. 23–37. Kolisch, R. und R. Padman (2001). An integrated survey of deterministic project scheduling. Omega 29(3), S. 249–272. Kolisch, R., C. Schwindt und A. Sprecher (1999). Benchmark instances for project scheduling problems. In: Project scheduling, S. 197–212. Springer. Kolisch, R. und A. Sprecher (1996). PSPLIB – A project scheduling problem library. European Journal of Operational Research 96, S. 205–216. Kolisch, R. und A. Sprecher (2019). Lower and upper bounds for job set j60 of the PSPLIB. http://www.om-db.wi.tum.de/psplib/files/j60lb.sm. Letzter Zugriff: 14.01.2020. Kolisch, R., A. Sprecher und A. Drexl (1995). Characterization and generation of a general class of resource-constrained project scheduling problems. Management science 41(10), S. 1693–1703.
Literaturverzeichnis
219
Koné, O., C. Artigues, P. Lopez und M. Mongeau (2011). Event-based MILP models for resource-constrained project scheduling problems. Computers & Operations Research 38(1), S. 3–13. Kopanos, G. M., T. S. Kyriakidis und M. C. Georgiadis (2014). New continuous-time and discrete-time mathematical formulations for resource-constrained project scheduling problems. Computers & Chemical Engineering 68, S. 96–106. Kotthoff, L. (2016). Algorithm selection for combinatorial search problems: a survey. In: Data Mining and Constraint Programming, S. 149–190. Springer. Kotthoff, L., I. P. Gent und I. Miguel (2012). An evaluation of machine learning in algorithm selection for search problems. AI Communications 25(3), S. 257–270. Kotthoff, L., C. Thornton, H. H. Hoos, F. Hutter und K. Leyton-Brown (2017). Auto-WEKA 2.0: automatic model selection and hyperparameter optimization in WEKA. The Journal of Machine Learning Research 18(1), S. 826–830. Koulinas, G. und K. Anagnostopoulos (2013). A new tabu search-based hyper-heuristic algorithm for solving construction leveling problems with limited resource availabilities. Automation in Construction 31, S. 169–175. Koulinas, G., L. Kotsikas und K. Anagnostopoulos (2014). A particle swarm optimization based hyper-heuristic algorithm for the classic resource constrained project scheduling problem. Information Sciences 277, S. 680–693. Koulinas, G. K. und K. P. Anagnostopoulos (2011). Construction resource allocation and leveling using a threshold accepting–Based hyperheuristic algorithm. Journal of construction engineering and management 138(7), S. 854–863. Kozik, P. und J. Se˛p (2012). Aircraft engine overhaul demand forecasting using ANN. Management and Production Engineering Review 3(2), S. 21–26. Kraus, G., R. Westermann et al. (2010). Projektmanagement mit System. Springer. Küçüksayacıgil, F. und G. Ulusoy (2018). A hybrid genetic algorithm application for a bi-objective, multi-project, multi-mode, resource-constrained project scheduling problem. Forschungsbericht, Sabanci University. Kumar, N. und D. P. Vidyarthi (2016). A model for resource-constrained project scheduling using adaptive PSO. Soft Computing 20(4), S. 1565–1580. Labone, P. und M. Ghallab (1995). Planning with sharable resource constraints. In: Proceedings of the 14th International Joint Conference on Artificial Intelligence - Volume 2, IJCAI’95, San Francisco, CA, USA, S. 1643–1649. Morgan Kaufmann Publishers Inc. Laborie, P. (2018). An update on the comparison of MIP, CP and hybrid approaches for mixed resource allocation and scheduling. In: International Conference on the Integration of Constraint Programming, Artificial Intelligence, and Operations Research, S. 403–411. Springer. Lancaster, J. und M. Ozbayrak (2007). Evolutionary algorithms applied to project scheduling problems—a survey of the state-of-the-art. International journal of production research 45(2), S. 425–450. Lange, K. (2010). Numerical analysis for statisticians. Springer Science & Business Media. Laszczyk, M. und P. B. Myszkowski (2019). Survey of quality measures for multi-objective optimization. Construction of complementary set of multi-objective quality measures. Swarm and Evolutionary Computation 48, S. 109–133.
220
Literaturverzeichnis
Laurent, A., L. Deroussi, N. Grangeon und S. Norre (2017). A new extension of the RCPSP in a multi-site context: mathematical model and metaheuristics. Computers & Industrial Engineering 112, S. 634–644. Leachman, R. C., A. Dtncerler und S. Kim (1990). Resource-constrained scheduling of projects with variable-intensity activities. IIE transactions 22(1), S. 31–40. Leão, B. P., K. T. Fitzgibbon, L. C. Puttini und G. P. de Melo (2008). Cost-benefit analysis methodology for PHM applied to legacy commercial aircraft. In: 2008 IEEE Aerospace Conference, S. 1–13. IEEE. Lee, J. J., S. P. Lukachko, I. A. Waitz und A. Schafer (2001). Historical and future trends in aircraft performance, cost, and emissions. Annual Review of Energy and the Environment 26(1), S. 167–200. Lee, J.-K. und Y.-D. Kim (1996). Search heuristics for resource constrained project scheduling. Journal of the Operational Research Society 47(5), S. 678–689. Leyton-Brown, K., E. Nudelman, G. Andrew, J. McFadden und Y. Shoham (2003). A portfolio approach to algorithm selection. In: IJCAI, Volume 3, S. 1542–1543. Li, K. und R. Willis (1992). An iterative scheduling technique for resource-constrained project scheduling. European Journal of Operational Research 56(3), S. 370–379. Liess, O. und P. Michelon (2008). A constraint programming approach for the resourceconstrained project scheduling problem. Annals of Operations Research 157(1), S. 25–36. Litke, H.-D. (2005). Projektmanagement-Handbuch für die Praxis. München: Hanser. Liu, H., J. Zhang, C. Zhou und Y. Ru (2018). Optimal purchase and inventory retrieval policies for perishable seasonal agricultural products. Omega 79, S. 133–145. Liu, M., J. Liu, M. O. Wimmers und M. Zhou (2015). A differential evolution algorithm for resource investment problem with tardiness. In: 2015 IEEE Congress on Evolutionary Computation (CEC), S. 346–352. IEEE. LocalSolver (2019a). Benchmarks. https://www.localsolver.com/benchmarks.html. Letzter Zugriff: 15.02.2020. LocalSolver (2019b). Home. https://www.localsolver.com/. Letzter Zugriff: 15.02.2020. LocalSolver (2019c). LSNativeFunction Interface. https://www.localsolver.com/docs/last/ cppapi/localsolver/lsnativefunction.html. Letzter Zugriff: 15.02.2020. LocalSolver (2019d). Who we are. https://www.localsolver.com/about.html. Letzter Zugriff: 15.02.2020. López-Ibáñez, M., J. Dubois-Lacoste, L. P. Cáceres, M. Birattari und T. Stützle (2016). The irace package: iterated racing for automatic algorithm configuration. Operations Research Perspectives 3, S. 43–58. Lova, A., P. Tormos, M. Cervantes und F. Barber (2009). An efficient hybrid genetic algorithm for scheduling projects with resource constraints and multiple execution modes. International Journal of Production Economics 117(2), S. 302–316. Luderer, M. (2003). Bedeutung des Projektmanagements in der Net Economy, S. 611–619. Wiesbaden: Gabler Verlag. Malitsky, Y., A. Sabharwal, H. Samulowitz und M. Sellmann (2013). Algorithm portfolios based on cost-sensitive hierarchical clustering. In: IJCAI, Volume 13, S. 608–614. Manuel López-Ibánez ˜ (2019). Iterated Race for Automatic Algorithm Configuration. http:// iridia.ulb.ac.be/irace/. Letzter Zugriff: 15.02.2020.
Literaturverzeichnis
221
Merkle, D., M. Middendorf und H. Schmeck (2002). Ant colony optimization for resourceconstrained project scheduling. IEEE transactions on evolutionary computation 6(4), S. 333–346. Messelis, T. und P. De Causmaecker (2011). An algorithm selection approach for nurse rostering. In: Proceedings of the 23rd Benelux Conference on Artificial Intelligence, S. 160–166. Nevelland. Messelis, T. und P. De Causmaecker (2014). An automatic algorithm selection approach for the multi-mode resource-constrained project scheduling problem. European Journal of Operational Research 233(3), S. 511–528. Metropolis, N., A. W. Rosenbluth, M. N. Rosenbluth, A. H. Teller und E. Teller (1953). Equation of state calculations by fast computing machines. The journal of chemical physics 21(6), S. 1087–1092. Michael Crawford (2020). Gurobi – The fastest solver. https://www.gurobi.com. Letzter Zugriff: 15.02.2020. Michalewicz, Z. und D. B. Fogel (2013). How to solve it: modern heuristics. Springer Science & Business Media. Microsoft (2019). Microsoft Project – Lösungen für Ihr Projektmanagement. https://products. office.com/de-de/project/project-management. Letzter Zugriff: 15.02.2020. Mika, M., G. Waligóra und J. Weglarz (2006). Modelling setup times in project scheduling. In: Perspectives in modern project scheduling, S. 131–163. Springer. Mika, M., G. Waligora und J. We˛glarz (2008). Tabu search for multi-mode resourceconstrained project scheduling with schedule-dependent setup times. European Journal of Operational Research 187(3), S. 1238–1250. Mingozzi, A., V. Maniezzo, S. Ricciardelli und L. Bianco (1998). An exact algorithm for the resource-constrained project scheduling problem based on a new mathematical formulation. Management science 44(5), S. 714–729. Mobini, M., Z. Mobini und M. Rabbani (2011). An artificial immune algorithm for the project scheduling problem under resource constraints. Applied Soft Computing 11(2), S. 1975– 1982. Mohamed, Z. (2018). Comprehensive CP optimization for dynamic scheduling in construction. Forschungsbericht, University of Waterloo. Möhring, R. (1984). Minimizing costs of resource requirements in project networks subject to a fixed completion time. Operations Research 32(1), S. 89–120. Morillo, D., F. Barber und M. A. Salido (2018). Chromosome mutation vs. gene mutation in evolutive approaches for solving the resource-constrained project scheduling problem (RCPSP). In: International Conference on Industrial, Engineering and Other Applications of Applied Intelligent Systems, S. 601–612. Springer. Mühlenbein, H., M. Gorges-Schleuter und O. Krämer (1988). Evolution algorithms in combinatorial optimization. Parallel computing 7(1), S. 65–85. Musil, J., A. Schweda, D. Winkler und S. Biffl (2010). A survey on the state of the practice in video game software development. Forschungsbericht QSE-IF S-10/04, TU Wien. Musliu, N. (2014). Applying machine learning for solver selection in scheduling: a case study. In: MIC 2013: the X Metaheuristics International Conference. Musliu, N. und M. Schwengerer (2013). Algorithm selection for the graph coloring problem. In: International Conference on Learning and Intelligent Optimization, S. 389–403. Springer.
222
Literaturverzeichnis
Musselwhite, W. C. (1990). Time-based innovation: the new competitive advantage. Training & Development Journal 44(1), S. 53–57. Naber, A. und R. Kolisch (2014). MIP models for resource-constrained project scheduling with flexible resource profiles. European Journal of Operational Research 239(2), S. 335– 348. Nabrzyski, J. und J. We˛glarz (1999). Knowledge-based multiobjective project scheduling problems. In: Project Scheduling, S. 383–411. Springer. Najafi, A. A. und F. Azimi (2009). A priority rule-based heuristic for resource investment project scheduling problem with discounted cash flows and tardiness penalties. Mathematical Problems in Engineering 2009, S. 1–10. Najafi, A. A., S. T. A. Niaki und M. Shahsavar (2009). A parameter-tuned genetic algorithm for the resource investment problem with discounted cash flows and generalized precedence relations. Computers & Operations Research 36(11), S. 2994–3001. Najafi, B. und S. Torabi Dastgerduei (2015). Optimization of machinery use on farms with emphasis on timeliness costs. Journal of Agricultural Science and Technology 17(3), S. 533–541. Neron, E., C. Artigues, P. Baptiste, J. Carlier, J. Damay, S. Demassey und P. Laborie (2006). Lower bounds for resource constrained project scheduling problem. In: Perspectives in modern project scheduling, S. 167–204. Springer. Neumann, K., H. Nübel und C. Schwindt (2000). Active and stable project scheduling. Mathematical Methods of Operations Research 52(3), S. 441–465. Neumann, K. und C. Schwindt (1997). Activity-on-node networks with minimal and maximal time lags and their application to make-to-order production. Operations-ResearchSpektrum 19(3), S. 205–217. Neumann, K., C. Schwindt und J. Zimmermann (2003). Project scheduling with time windows and scarce resources: temporal and resource-Constrained project scheduling with regular and nonregular objective functions. Berlin Heidelberg: Springer. Neumann, K. und J. Zimmermann (1999). Resource levelling for projects with scheduledependent time windows. European Journal of Operational Research 117(3), S. 591–605. Nóbrega, S., S. R. de Souza, M. J. F. Sousa und G. R. Mateus (2012). Development of software project schedule using heuristic optimization. In: 4 th Symposium on Search Based-Software Engineering, S. 31. Nonobe, K. und T. Ibaraki (2002a). Formulation and tabu search algorithm for the resource constrained project scheduling problem. In: Essays and surveys in metaheuristics, S. 557– 588. Springer. Nonobe, K. und T. Ibaraki (2002b). Formulation and tabu search algorithm for the resource constrained project scheduling problem. In: Essays and surveys in metaheuristics, S. 557– 588. Springer. Nonobe, K. und T. Ibaraki (2006). A metaheuristic approach to the resource constrained project scheduling with variable activity durations and convex cost functions. In: Perspectives in Modern Project Scheduling, S. 225–248. Springer. Noori, S. und K. Taghizadeh (2018). Multi-mode resource constrained project scheduling problem: a survey of variants, extensions, and methods. International Journal of Industrial Engineering & Production Research 29(3), S. 293–320. Nübel, H. (2001). The resource renting problem subject to temporal constraints. ORSpektrum 23(3), S. 359–381.
Literaturverzeichnis
223
Nudtasomboon, N. und S. U. Randhawa (1997). Resource-constrained project scheduling with renewable and non-renewable resources and time-resource tradeoffs. Computers & Industrial Engineering 32(1), S. 227–242. Odedairo, B. O. und V. Oladokun (2011). Relevance and applicability of multi-objective resource constrained project scheduling problem. Engineering, Technology & Applied Science Research 1(6), S. 144–150. Olaitan, O., P. Young und J. Geraghty (2015). Variable intensity RCPSP approach to a case study flow shop. In: Proceedings of the Conference on Summer Computer Simulation, S. 1–9. Society for Computer Simulation International. Olt, J., K. Küüt, R. Ilves und A. Küüt (2019). Assessment of the harvesting costs of different combine harvester fleets. Research in Agricultural Engineering 65(1), S. 25–32. Özdamar, L. und G. Ulusoy (1995). A survey on the resource-constrained project scheduling problem. IIE transactions 27(5), S. 574–586. Padman, R. (1993). Choosing solvers in decision support systems: a neural network application in resource-constrained project scheduling. In: Recent Developments in Decision Support Systems, S. 559–574. Springer. Padman, R. und S. F. Roehrig (1997). A genetic programming approach for heuristic selection in constrained project scheduling. In: Interfaces in Computer Science and Operations Research, S. 405–421. Springer. Palpant, M., C. Artigues und P. Michelon (2004). LSSPER: solving the resource-constrained project scheduling problem with large neighbourhood search. Annals of Operations Research 131(1-4), S. 237–257. Pamay, M. B., K. Bülbül und G. Ulusoy (2014). Dynamic resource constrained multi-project scheduling problem with weighted earliness/tardiness costs. In: Essays in Production, Project Planning and Scheduling, S. 219–247. Springer. Patterson, J. H. (1976). Project scheduling: the effects of problem structure on heuristic performance. Naval Research Logistics Quarterly 23(1), S. 95–123. Patterson, J. H. (1984). A comparison of exact approaches for solving the multiple constrained resource, project scheduling problem. Management science 30(7), S. 854–867. Pawi´nski, G. und K. Sapiecha (2014). A developmental genetic approach to the cost/time trade-off in resource constrained project scheduling. In: 2014 Federated Conference on Computer Science and Information Systems, S. 171–179. IEEE. Pedregosa, F., G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel, P. Prettenhofer, R. Weiss, V. Dubourg, J. Vanderplas, A. Passos, D. Cournapeau, M. Brucher, M. Perrot und E. Duchesnay (2011). Scikit-learn: machine learning in python. Journal of Machine Learning Research 12, S. 2825–2830. Peiró, J., Á. Corberán, M. Laguna und R. Martí (2018). Models and solution methods for the uncapacitated r-allocation p-hub equitable center problem. International Transactions in Operational Research 25(4), S. 1241–1267. Phillips Jr, S. und M. I. Dessouky (1977). Solving the project time/cost tradeoff problem using the minimal cut concept. Management Science 24(4), S. 393–400. Pillay, N. und R. Qu (2018). Hyper-heuristics: theory and applications. Springer. Pinedo, M. L. (2016). Scheduling: theory, algorithms, and systems. Springer. Piszczek, F. S.-E. (2007). Die Situation illegaler polnischer Saisonarbeit in der deutschen Landwirtschaft. In: Online-Fachzeitschrift des Bundesministeriums für Land- und Forst-
224
Literaturverzeichnis
wirtschaft, Umwelt und Wasserwirtschaft Jahrgang 2007, S. 1–20. Bundesministerium für Land- und Forstwirtschaft, Umwelt und Wasserwirtschaft. Poppenborg, J. und S. Knust (2016). A flow-based tabu search algorithm for the RCPSP with transfer times. Or Spectrum 38(2), S. 305–334. Pritsker, A. A. B., L. J. Waiters und P. M. Wolfe (1969). Multiproject scheduling with limited resources: a zero-one programming approach. Management Science 16(1), S. 93–108. Proon, S. und M. Jin (2011). A genetic algorithm with neighborhood search for the resourceconstrained project scheduling problem. Naval Research Logistics (NRL) 58(2), S. 73–82. Qi, L. (2018). Project duration contract design problem under uncertain information. Soft Computing 22(17), S. 5593–5602. Ranjbar, M. und F. Kianfar (2010). Resource-constrained project scheduling problem with flexible work profiles: a genetic algorithm approach. Scientia Iranica, Transaction E: Industrial Engineering, Vol. 17, No. 1 pp. 25–35 17(1), S. 25–35. Ranjbar, M., F. Kianfar und S. Shadrokh (2008). Solving the resource availability cost problem in project scheduling by path relinking and genetic algorithm. Applied Mathematics and Computation 196(2), S. 879–888. Rees, G. und S. Fielder (1992). The services economy, subcontracting and the new employment relations: contract catering and cleaning. Work, Employment and Society 6(3), S. 347–368. Rice, J. R. (1976). The algorithm selection problem. In: Advances in computers, Volume 15, S. 65–118. Elsevier. Rieck, J. und J. Zimmermann (2015). Exact methods for resource leveling problems. In: C. Schwindt und J. Zimmermann (Hrsg.), Handbook on Project Management and Scheduling Vol.1, International Handbooks on Information Systems, S. 361–387. Cham Heidelberg New York Dordrecht London: Springer. Rihm, T. und N. Trautmann (2014). A MIP-based decomposition heuristic for resourceconstrained project scheduling. In: 14th International Conference on Project Management and Scheduling, S. 193. Robinson, W. T. und C. Fornell (1985). Sources of market pioneer advantages in consumer goods industries. Journal of Marketing Research 22(3), S. 305–317. Rodrigues, S. B. und D. S. Yamashita (2010). An exact algorithm for minimizing resource availability costs in project scheduling. European Journal of Operational Research 206(3), S. 562–568. Rodríguez, D., M. Sicilia, E. García und R. Harrison (2012). Empirical findings on team size and productivity in software development. Journal of Systems and Software 85(3), S. 562–570. Rosłon, J. H. und J. E. Kulejewski (2019). A hybrid approach for solving multi-mode resourceconstrained project scheduling problem in construction. Open Engineering 9(1), S. 7–13. Rothlauf, F. (2006). Representations for genetic and evolutionary algorithms. In: Representations for Genetic and Evolutionary Algorithms, S. 9–32. Springer. Rothlauf, F. (2011). Design of modern heuristics: principles and application. Springer Science & Business Media. Rothlauf, F. und D. E. Goldberg (2003). Redundant representations in evolutionary computation. Evolutionary Computation 11(4), S. 381–415.
Literaturverzeichnis
225
Roy, B. und A. K. Sen (2019). Meta-heuristic techniques to solve resource-constrained project scheduling problem. In: International Conference on Innovative Computing and Communications, S. 93–99. Springer. Rummel, J. L., Z. Walter, R. Dewan und A. Seidmann (2005). Activity consolidation to improve responsiveness. European Journal of Operational Research 161(3), S. 683–703. Sanaei, P., R. Akbari, V. Zeighami und S. Shams (2013). Using firefly algorithm to solve resource constrained project scheduling problem. In: Proceedings of Seventh International Conference on Bio-Inspired Computing: Theories and Applications (BIC-TA 2012), S. 417– 428. Springer. Sanders, J. und E. Kandrot (2010). CUDA by example: an introduction to general-purpose GPU programming. Addison-Wesley Professional. Schnabel, A. und C. Kellenbrink (2018). Scheduling resource-constrained projects with makespan-dependent revenues and costly overcapacity. In: Proceedings of the 16th International Conference on Project Management and Scheduling, Rome, S. 205–208. Schnabel, A., C. Kellenbrink und S. Helber (2018). Profit-oriented scheduling of resourceconstrained projects with flexible capacity constraints. Business Research 11(2), S. 329– 356. Schramme, T. (2014). Modelle und Methoden zur Lösung des ressourcenbeschränkten Projektablaufplanungsproblems unter Berücksichtigung praxisrelevanter Aspekte. Dissertation, Universitätsbibliothek. Schutt, A., G. Chu, P. J. Stuckey und M. G. Wallace (2012). Maximising the net present value for resource-constrained project scheduling. In: International Conference on Integration of Artificial Intelligence (AI) and Operations Research (OR) Techniques in Constraint Programming, S. 362–378. Springer. Schutt, A., T. Feydy, P. J. Stuckey und M. G. Wallace (2013). Solving RCPSP/max by lazy clause generation. Journal of scheduling 16(3), S. 273–289. Schwindt, C. (1995). ProGen/max: A new problem generator for different resourceconstrained project scheduling problems with minimal and maximal time lags. Forschungsbericht 449, Institut für Wirtschaftstheorie und Operations Research (WIOR), Universität Karlsruhe. Schwindt, C. (2005). Resource allocation in project management. Berlin Heidelberg: Springer. Schwindt, C., J. Zimmermann et al. (2015a). Handbook on project management and scheduling. Handbook on Project Management and Scheduling 1(1), S. 1–663. Schwindt, C., J. Zimmermann et al. (2015b). Handbook on project management and scheduling. Handbook on Project Management and Scheduling 2(2), S. 1–1406. Senkul, P. und I. H. Toroslu (2005). An architecture for workflow scheduling under resource allocation constraints. Information Systems 30(5), S. 399–422. Shadrokh, S. und F. Kianfar (2005). A genetic algorithm for resource investment problems, enhanced by the revised akpan method. Scientia Iranica 12(1), S. 90–98. Shadrokh, S. und F. Kianfar (2007). A genetic algorithm for resource investment project scheduling problem, tardiness permitted with penalty. European Journal of Operational Research 181(1), S. 86–101. Shahsavar, A., A. A. Najafi und S. T. A. Niaki (2015). Three self-adaptive multi-objective evolutionary algorithms for a triple-objective project scheduling problem. Computers & Industrial Engineering 87, S. 4–15.
226
Literaturverzeichnis
Smith-Miles, K., D. Baatar, B. Wreford und R. Lewis (2014). Towards objective measures of algorithm performance across instance space. Computers & Operations Research 45, S. 12–24. Smith-Miles, K. A. (2008). Towards insightful algorithm selection for optimisation using meta-learning concepts. In: Neural Networks, 2008. IJCNN 2008.(IEEE World Congress on Computational Intelligence). IEEE International Joint Conference on, S. 4118–4124. IEEE. Smith-Miles, K. A. (2009). Cross-disciplinary perspectives on meta-learning for algorithm selection. ACM Computing Surveys (CSUR) 41(1), S. 6. Sprecher, A. (1999). A competitive branch-and-bound algorithm for the simple assembly line balancing problem. International Journal of Production Research 37(8), S. 1787–1816. Sprecher, A., R. Kolisch und A. Drexl (1995). Semi-active, active, and non-delay schedules for the resource-constrained project scheduling problem. European Journal of Operational Research 80(1), S. 94–102. Staats, J. (2014). Improving PCP algorithms using flexibility metrics: creating flexible schedules for technical maintenance. Diplomarbeit, Algorithmics Research Group, Department of Software Technology, Faculty EEMCS, Delft University of Technology. Stadtler, H. (2005). Multilevel capacitated lot-sizing and resource-constrained project scheduling: an integrating perspective. International journal of production research 43(24), S. 5253–5270. Stecklein, J. M., J. Dabney, B. Dick, B. Haskins, R. Lovell und G. Moroney (2004). Error cost escalation through the project life cycle. In: 14th Annual International Symposium, Toulouse, France. Strotmann, H. und R. Moczadlo (2017). Beschäftigungswirkungen der Zeitarbeit aus gesamtwirtschaftlicher Perspektive. In: Zeitarbeit, S. 83–104. Springer. Sunke, N. (2008). Planning of construction projects: a managerial approach. Dissertation, Universität Siegen. Süß, G. und D. Eschlbeck (2002). Der Projektmanagement-Kompass. Springer. Takeshima, H. (2015). Drivers of growth in agricultural returns to scale: the hiring in of tractor services in the Terai of Nepal. Forschungsbericht 1476, International Food Policy Research Institute Discussion. Takeshima, H. (2017). Custom-hired tractor services and returns to scale in smallholder agriculture: a production function approach. Agricultural Economics 48(3), S. 363–372. Tavares, L. V., J. A. Ferreira und J. S. Coelho (1999). The risk of delay of a project in terms of the morphology of its network. European Journal of Operational Research 119(2), S. 510–537. Tesch, A. (2018). Improved compact models for the resource-constrained project scheduling problem. In: Operations Research Proceedings 2016, Operations Research Proceedings, S. 25–30. Springer. Thornton, C., F. Hutter, H. H. Hoos und K. Leyton-Brown (2013). Auto-WEKA: combined selection and hyperparameter optimization of classification algorithms. In: Proc. of KDD2013, S. 847–855. Tierney, K. und Y. Malitsky (2015). An algorithm selection benchmark of the container pre-marshalling problem. In: International Conference on Learning and Intelligent Optimization, S. 17–22. Springer.
Literaturverzeichnis
227
Tormos, P. und A. Lova (2001). A competitive heuristic solution technique for resourceconstrained project scheduling. Annals of Operations Research 102(1), S. 65–81. Tormos, P. und A. Lova (2003). An efficient multi-pass heuristic for project scheduling with constrained resources. International Journal of Production Research 41(5), S. 1071–1086. Tran, D.-H., M.-Y. Cheng und A.-D. Pham (2016). Using fuzzy clustering chaotic-based differential evolution to solve multiple resources leveling in the multiple projects scheduling problem. Alexandria Engineering Journal 55(2), S. 1541–1552. Trautmann, N., T. Rihm, N. J. Saner und A. Zimmermann (2018). A continuous-time assignment-based MILP formulation for the resource-constrained project scheduling problem. In: Proceedings of the 16th International Conference on Project Management and Scheduling, S. 242–245. Tritschler, M., A. Naber und R. Kolisch (2017). A hybrid metaheuristic for resourceconstrained project scheduling with flexible resource profiles. European Journal of Operational Research 262(1), S. 262–273. Ulusoy, G., F. Sivrikaya-Serifo˘ ¸ glu und S. ¸ Sahin ¸ (2001). Four payment models for the multimode resource constrained project scheduling problem with discounted cash flows. Annals of Operations Research 102(1–4), S. 237–261. ˇ c und D. Jakobovi´c (2018). Evolving priority rules for -Dumi´c, M., D. Šišejkovi´c, R. Cori´ resource constrained project scheduling problem with genetic programming. Future Generation Computer Systems 86, S. 211–221. Urban, G. L., T. Carter, S. Gaskin und Z. Mucha (1986). Market share rewards to pioneering brands: an empirical analysis and strategic implications. Management Science 32(6), S. 645–659. Valls, V., F. Ballestin und S. Quintanilla (2005). Justification and RCPSP: a technique that pays. European Journal of Operational Research 165(2), S. 375–386. Valls, V., F. Ballestin und S. Quintanilla (2008). A hybrid genetic algorithm for the resourceconstrained project scheduling problem. European Journal of Operational Research 185(2), S. 495–508. Van Peteghem, V. und M. Vanhoucke (2010). A genetic algorithm for the preemptive and non-preemptive multi-mode resource-constrained project scheduling problem. European Journal of Operational Research 201(2), S. 409–418. Van Peteghem, V. und M. Vanhoucke (2013). An artificial immune system algorithm for the resource availability cost problem. Flexible services and manufacturing journal 25(1–2), S. 122–144. Van Peteghem, V. und M. Vanhoucke (2014a). An experimental investigation of metaheuristics for the multi-mode resource-constrained project scheduling problem on new dataset instances. European Journal of Operational Research 235(1), S. 62–72. Van Peteghem, V. und M. Vanhoucke (2014b). An experimental investigation of metaheuristics for the multi-mode resource-constrained project scheduling problem on new dataset instances. European Journal of Operational Research 235(1), S. 62–72. Vanhoucke, M. (2014). Integrated project management and control: first comes the theory, then the practice. Management for Professionals. Springer, Cham. Vanhoucke, M. (2016). Integrated project management sourcebook: a technical guide to project scheduling, risk and control. Springer International Publishing Switzerland. Vanhoucke, M. (2018). The data-driven project manager: A statistical battle against project obstacles. Apress, Berkeley, CA.
228
Literaturverzeichnis
Vanhoucke, M., J. Coelho, D. Debels, B. Maenhout und L. V. Tavares (2008). An evaluation of the adequacy of project network generators with systematically sampled networks. European Journal of Operational Research 187(2), S. 511–524. Vanhoucke, M., E. Demeulemeester und W. Herroelen (2001). On maximizing the net present value of a project under renewable resource constraints. Management Science 47(8), S. 1113–1121. Varakantham, P. und N. Fu (2017). Mechanism design for strategic project scheduling. In: Proceedings of the 26th International Joint Conference on Artificial Intelligence, Melbourne, Australia. Research Collection School Of Information Systems. Viana, A. und J. P. de Sousa (2000). Using metaheuristics in multiobjective resource constrained project scheduling. European Journal of Operational Research 120(2), S. 359–374. Villafañez, F., A. Lopez-Paredes, J. Pajares und D. de la Fuente (2014). From the RCPSP to the DRCMPSP: methodological foundations. In: Proceedings on the International Conference on Artificial Intelligence (ICAI), S. 1. The Steering Committee of The World Congress in Computer Science, Computer Engineering and Applied Computing (WorldComp). Wang, H., T. Li und D. Lin (2010). Efficient genetic algorithm for resource-constrained project scheduling problem. Transactions of Tianjin University 16(5), S. 376–382. Wang, H., D. Lin und M.-Q. Li (2005). A competitive genetic algorithm for resourceconstrained project scheduling problem. In: 2005 International Conference on Machine Learning and Cybernetics, Volume 5, S. 2945–2949. IEEE. Wang, L. und C. Fang (2012). A hybrid estimation of distribution algorithm for solving the resource-constrained project scheduling problem. Expert Systems with Applications 39(3), S. 2451–2460. Wang, L., H. Huang und H. Ke (2015). Chance-constrained model for RCPSP with uncertain durations. Journal of Uncertainty Analysis and Applications 3(1), S. 12. We˛glarz, J., J. Józefowska, M. Mika und G. Waligóra (2011). Project scheduling with finite or infinite number of activity processing modes–A survey. European Journal of operational research 208(3), S. 177–205. Weiss, I. (2018). The resource transfer problem: a framework for integrated scheduling and routing problems. Springer. Wolpert, D. H. und W. G. Macready (1997). No free lunch theorems for optimization. IEEE transactions on evolutionary computation 1(1), S. 67–82. Wu, C.-L. und R. E. Caves (2000). Aircraft operational costs and turnaround efficiency at airports. Journal of Air Transport Management 6(4), S. 201–208. Xiao, J., Z. Wu, X.-X. Hong, J.-C. Tang und Y. Tang (2016). Integration of electromagnetism with multi-objective evolutionary algorithms for RCPSP. European Journal of Operational Research 251(1), S. 22–35. Xu, L., F. Hutter, H. H. Hoos und K. Leyton-Brown (2008). SATzilla: portfolio-based algorithm selection for SAT. Journal of artificial intelligence research 32, S. 565–606. Yamashita, D. S., V. A. Armentano und M. Laguna (2006). Scatter search for project scheduling with resource availability cost. European Journal of Operational Research 169(2), S. 623–637. Yamashita, D. S., V. A. Armentano und M. Laguna (2007). Robust optimization models for project scheduling with resource availability cost. Journal of Scheduling 10(1), S. 67–76.
Literaturverzeichnis
229
Yang, B., J. Geunes und W. J. O’Brien (2004). A heuristic approach for minimizing weighted tardiness and overtime costs in single resource scheduling. Computers & Operations Research 31(8), S. 1273–1301. Yang, B., J. Geunes und W. J. O’brien (2001). Resource-constrained project scheduling: past work and new directions. Forschungsbericht 2001-6, Department of Industrial and Systems Engineering, University of Florida. Yared Lemma, D. K. und G. Gatew (2014). Loss in perishable food supply chain: an optimization approach literature review. International Journal of Scientific & Engineering Research 5(5), S. 302–311. Yuan, X., J. Liu und M. O. Wimmers (2015). A multi-agent genetic algorithm with variable neighborhood search for resource investment project scheduling problems. In: 2015 IEEE Congress on Evolutionary Computation (CEC), S. 23–30. IEEE. Zeng, L. und G. Wang (2009). Modeling golden section in plants. Progress in Natural Science 19(2), S. 255–260. Zhang, F., G. F. Teng, J. B. Ma und J. Yao (2011). Research on multitask collaborative scheduling problem with heuristic strategies. In: Applied Mechanics and Materials, Volume 66, S. 758–763. Trans Tech Publ. Zhang, H., H. Li und C. Tam (2006). Permutation-based particle swarm optimization for resource-constrained project scheduling. Journal of Computing in Civil Engineering 20(2), S. 141–149. Zhu, D. und R. Padman (1995). Neural networks for heuristic selection: an application in resource-constrained project scheduling. In: The Impact of Emerging Technologies on Computer Science and Operations Research, S. 297–312. Springer. Zhu, D. und R. Padman (1997). Connectionist approaches for solver selection in constrained project scheduling. Annals of operations Research 72, S. 265–298. Zhu, J., X. Li und W. Shen (2011). Effective genetic algorithm for resource-constrained project scheduling with limited preemptions. International Journal of Machine Learning and Cybernetics 2(2), S. 55–65. Ziarati, K., R. Akbari und V. Zeighami (2011). On the performance of bee algorithms for resource-constrained project scheduling problem. Applied Soft Computing 11(4), S. 3720– 3733. Zimmermann, J. (2001). Verfahrensorientierte Klassifikation von Zielfunktionen. In: Ablauforientiertes Projektmanagement, Produktion und Logistik, S. 31–59. Deutscher Universitätsverlag. Zimmermann, J., C. Stark und J. Rieck (2006). Projektplanung - Modelle, Methoden, Management. Berlin Heidelberg: Springer.