Memetic Algorithms for Combinatorial Optimization Problems
Total Page:16
File Type:pdf, Size:1020Kb
Memetic Algorithms for Combinatorial Optimization Problems: Fitness Landscapes and Effective Search Strategies Vom Fachbereich Elektrotechnik und Informatik der Universit¨at-Gesamthochschule Siegen zur Erlangung des akademischen Grades Doktor der Ingenieurwissenschaften (Dr.-Ing.) genehmigte Dissertation von Diplom-Ingenieur Peter Merz aus Kreuztal 1. Gutachter: Prof. Dr.-Ing. Bernhard Freisleben 2. Gutachter: Prof. Dr. rer. nat. Wolfgang Merzenich Tag der m¨undlichen Pr¨ufung:21. Dezember 2000 Acknowledgements The material presented in this thesis is based on the research I have done during my time as a research assistant in the Parallel Systems Research Group at the Department of Electrical Engineering and Computer Science at the University of Siegen. I would like to thank all those collaborators who made this research not only possible, but also worthwhile and enjoyable. The following persons I thank individually. First of all, I have to thank my academic mentor Bernd Freisleben who introduced me to the secrets of academic work and who gave me the freedom to focus my research in the direction I asked for. His financial support for attending several international conferences allowed me to get in touch with other researchers in the field of evolutionary computation and combinatorial optimization. I have learned so much by discussing with my international colleagues { not only about our common research subjects. Many thanks go to Wolfgang Merzenich, my second referee, who showed much interest in my work. Furthermore, I wish to thank Udo Kelter for his part-time financial support in the first year of my research. Several other people at our department have supported my work through all these years. I'd like to thank Frank Thilo who provided his Winner System as well as the necessary support to get things running. Moreover, I'd like to thank Andr´eTreptow, Patrick Eu- teneuer and J¨orgK¨uhnfor their extensions and refinements to COPS, the software package containing the algorithms I developed during my work. Several researchers around the globe also contributed to the production of my thesis. First of all, I'd like to thank Martina Gorges-Schleuter for her excellent work which inspired me and shifted my focus to hybrid evolutionary algorithms. Discussions with her were always fruitful. Furthermore, I'd like to thank Pablo Moscato for his many comments and suggestions and the opportunity to contribute a chapter to the book New Ideas in Optimization. Thomas St¨utzleprovided lots of suggestions and helpful criticism as well as the source code of his algorithms. Thanks to him and to Kengo Katayama for his ideas and support; especially for his refinements to the k-opt local search for the BQP. Many thanks also go to Tim Walters for the fruitful discussions on evolutionary algorithms for the TSP, to Andy Reinholz for the discussions and material support for vehicle routing, and to Volker Schnecke for 'giving me shelter' during the ICGA'97 conference. These people always believed in me and provided a constant source of encouragement. Without them and without the support of my family I would not have come this far. Finally, I'd like to thank all my colleagues at the department of computer science in Siegen. They provided a very friendly atmosphere and ensured that working at the depart- ment was always fun. i ii Zusammenfassung Kombinatorische Optimierungsprobleme sind in vielen Bereichen der Forschung und Ent- wicklung zu finden. Betriebswirtschaftlich ausgedruckt,¨ handelt es sich um Entscheidungs- situationen, in denen ein vorgegebener Nutzen in kostenminimaler Weise zu realisieren ist, wobei aus mehreren Alternativen eine nach speziellen Kriterien optimale ausgew¨ahlt wird. Voraussetzung ist, daß sich das Problem auf ein mathematisches Modell abbilden l¨aßt, das jeder Alternative { einer L¨osung des Problems { eine Gute¨ zuordnet. Die Ermittlung des Fertigungssplans mit der h¨ochsten Produktivit¨at, die Entwicklung eines Telekommunikati- onsnetzwerkes mit der h¨ochst m¨oglichen Zuverl¨assigkeit, oder die Vorhersage der r¨aumlichen Struktur eines Proteins nach seiner Faltung sind nur einige Beispiele kombinatorischer Opti- mierungsprobleme. Viele ¨ahnliche Probleme sind aus den Bereichen der Betriebswirtschaft, dem Maschinenbau, der Elektrotechnik, der Informatik, der Biologie und der Physik bekannt. Im Gegensatz zu anderen Optimierungsproblemen haben kombinatorische Optimierungs- probleme eine endliche Zahl m¨oglicher L¨osungen. Daher k¨onnen prinzipiell optimale L¨osun- gen durch das Betrachten aller m¨oglichen L¨osung gefunden werden. Dieses Vorgehen der vollst¨andigen Enumeration erweist sich aber nur selten als praktikabel, da bei den meisten kombinatorischen Problemen die Anzahl der m¨oglichen L¨osungen einfach zu groß ist. Eini- ge der in dieser Arbeit betrachteten Optimierungsprobleme haben mehr als 109259 m¨ogliche L¨osungen, wogegen die gesch¨atzte Anzahl der Atome in unserem Universum mit 1080 als unbedeutend klein erscheint. Fur¨ einige kombinatorische Optimierungsprobleme sind Algo- rithmen gefunden worden, die deutlich schneller als die vollst¨andige Enumeration sind. Man sagt, daß sie eine polynomiale Laufzeit in Abh¨angigkeit der Problemgr¨oße besitzen, falls die Laufzeit durch ein Polynom in n (der Problemgr¨oße) ausgedruckt¨ werden kann. Fur¨ viele andere harte kombinatorische Optimierungsprobleme ist kein solch schneller Algorithmus be- kannt. Es wird gemeinhin angenommen, daß kein Algorithmus mit polynomialer Laufzeit fur¨ diese Probleme existiert, auch wenn ein Beweis fur¨ diese Annahme aussteht. Dennoch hat man in den vergangenen Jahren enorme Fortschritte in der exakten L¨osung dieser Proble- me mittels hoch entwickelter Verfahren erzielt. Doch die Komplexit¨at der Probleme bleibt. Daher ist man in den meisten F¨allen darauf angewiesen, Heuristiken einzusetzen, die zwar die Ermittlung einer besten (optimalen) L¨osung nicht garantieren, aber in der Praxis mit hoher Wahrscheinlichkeit das Optimum oder ein Suboptimum mit geringfugig¨ schlechterer L¨osungsgute¨ finden. Ein Teilbereich der Informatik hat sich zum Ziel gesetzt, neue Heuristi- ken fur¨ kombinatorische Optimierungsprobleme zu finden, bereits bekannte zu verbessern, und verschiedene Verfahren zu kombinieren. Heuristiken fur¨ kombinatorische Optimierungsprobleme k¨onnen in problemspezifische und problemunabh¨angige Heuristiken eingeteilt werden. Beispiele fur¨ problemunabh¨angige Techniken sind Nachbarschaftssuche, wie lokale Suche und Tabu-Suche, sowie biologisch in- spirierte Methoden, wie evolution¨are Algorithmen, simulierte Ameisenkolonien, oder kunst-¨ liche neuronale Netze. In den letzten Jahren hat man erkannt, daß die Kombination aus iii problemspezifischen und problemunabh¨angigen Heuristiken besonders vielversprechend ist: Durch Einbringen von problemspezifischem Wissen in evolution¨are Algorithmen kann sich in vielen F¨allen die Effektivit¨at des Ansatzes erheblich verbessern. Dabei werden Synergie- effekte deutlich: Die Kombination zeigt eine deutliche Effektivit¨atssteigerung gegenuber¨ den Einzelkomponenten. Die Forschung im Bereich der heuristischen L¨osung kombinatorischer Optimierungspro- bleme konzentriert sich uberwiegend¨ auf die Entwicklung von neuen, effektiveren Varianten bestehender Heuristiken, welche h¨aufig nur auf einigen, zumeist selbst generierten Instanzen eines ausgesuchten Optimierungsproblems getestet werden. Ferner werden diese Heuristiken mehr oder weniger ad¨aquat mit anderen Ans¨atzen verglichen, um ihre Uberlegenheit¨ zu \be- weisen". Das Ziel der vorliegenden Arbeit ist nicht, an der Suche nach der \besten" Heuristik zu partizipieren { es ist anzunehmen, daß keine solche existiert. Stattdessen besch¨aftigt sich die Dissertation mit den folgenden Fragen: Warum ist eine gegebene Heuristik auf einer gegebenen Menge von Testinstanzen effektiver als eine andere? Was sind die entscheidenden Eigenschaften von Probleminstanzen, die sich auf die Effektivit¨at von Heuristiken auswir- ken? Wie kann man problemspezifisches Wissen einsetzen, um eine Heuristik fur¨ ein Problem effektiver und effizienter zu machen? L¨aßt sich das zu l¨osende Problem in Instanzklassen einteilen, und kann man das vorhandene Problemwissen dazu einsetzen, ad¨aquatere Testf¨alle fur¨ Heuristiken zu erzeugen? Um Antworten auf die obigen Fragen zu finden, konzentriert sich diese Arbeit auf ei- ne bestimmte Klasse von Heuristiken: die der memetischen Algorithmen. Es gibt mehrere Grunde¨ fur¨ diese Wahl. Zum einen erlauben memetische Algorithmen das Einsetzen von problemspezifischem Wissen in einer kontrollierten Art und Weise, ohne daß dabei die zu Grunde liegende Methodik verloren geht. Weiterhin profitieren memetische Algorithmen von den Vorteilen eines hybriden Ansatzes. Sie nutzen die symbiotischen Effekte der unter- schiedlichen Suchstrategien, die sie verwirklichen: Sie beinhalten Nachbarschaftssuche, die sich sehr gut fur¨ die intensive Suche in einem ausgew¨ahlten Gebiet eignet, sowie die popu- lationsbasierte evolution¨are Variation, wie sie in evolution¨aren Algorithmen zu finden ist, die der Identifikation vielversprechender Gebiete im Suchraum dient. Ein weiterer Grund fur¨ die getroffene Wahl ist, daß sich memetische Algorithmen als sehr effektive Algorithmen erwiesen haben. Sie sind unter den effektivsten bis heute entwickelten Heuristiken fur¨ eine Reihe von kombinatorischen Optimierungsproblemen. Der Versuch, Einblicke in die Struktur von kombinatorischen Optimierungsproblemen und in die Dynamik von heuristischen Suchprozessen zu erlangen, ist der erste Schritt,