Parallel Optimization Algorithms for High Performance Computing
Total Page:16
File Type:pdf, Size:1020Kb
UPC CTTC Parallel optimization algorithms for High Performance Computing. Application to thermal systems. Centre Tecnològic de Transferència de Calor Departament de Màquines i Motors Tèrmics Universitat Politècnica de Catalunya Imanol Aizpurua Udabe Doctoral Thesis Parallel optimization algorithms for High Performance Computing. Application to thermal systems. Imanol Aizpurua Udabe TESI DOCTORAL presentada al Departament de Màquines i Motors Tèrmics E.S.E.I.A.A.T. Universitat Politècnica de Catalunya per a l’obtenció del grau de Doctor per la Universitat Politècnica de Catalunya Terrassa, February 28, 2017 Parallel optimization algorithms for High Performance Computing. Application to thermal systems. Imanol Aizpurua Udabe Director de la tesi Dr. Assensi Oliva Llena Tribunal Qualificador Dr. Antonio Pascau Benito Universidad de Zaragoza Dr. Cristóbal Cortés Gracia Universidad de Zaragoza Dr. Francesc Xavier Trias Miquel Universitat Politècnica de Catalunya To my family. Wayfarer, the only way is your footprints and no other. Wayfarer, there is no way. Make your way by going farther. By going farther, make your way till looking back at where you’ve wandered, you look back on that path you may not set foot on from now onward. Wayfarer, there is no way; only wake-trails on the waters. Antonio Machado (translated by A. Z. Foreman) i A mi familia. Caminante, son tus huellas el camino y nada más; caminante, no hay camino, se hace camino al andar. Al andar se hace camino y al volver la vista atrás se ve la senda que nunca se ha de volver a pisar. Caminante no hay camino sino estelas en la mar... Antonio Machado iii Aknowledgments The end of the Doctoral Thesis is a good chance to look back and observe the timeline of events that took place during these almost five years. As it usually happens, and even if the research activity has been highly enriching, the traces left by collateral experiences lived during this period are the most valuable treasure I will take with me and have decisively contributed to my personal growth. I can’t help smiling every time I remember that innocent boy who arrived at Barcelona and the new dimensions of life he came to discover. In this sense, I am happy to notice that time did not go by uselessly. I would like to thank the people with whom I had the occasion to share important experiences, especially Estela, for the time spent together. I am also grateful for the love and guidance received from my parents during all my life. I think that my effort to join my father’s sense of discipline and search for excellence with my mother’s tact and practical point of view has been worth it. Next, I would like to thank the teachers I had in my early years at kindergarten and school for their job. Education is a long process and, as it happens with research, the greatest dedication and the most remarkable results do not necessarily arise at the same time but are part of the same single process. The completion of this Doctoral Thesis would not have been possible without the collaboration of other researchers and staff from the Heat and Mass Transfer Techno- logical Center (CTTC). I would like to thank especially Prof. Assensi Oliva for believing in me and for giving me the opportunity to join the CTTC, as well as the support and coordination received during the development of the Thesis. His determination and ability to overcome any bureaucratic barrier are laudable and have been really useful. Other members of the group to whom I am grateful are Oriol Lehmkuhl, for his guidance at the early development stage of this Thesis; Joan López, for the time spent philosophizing with me about object oriented programming and parallelization; Jorge Chiva, for checking the accuracy of the Thesis regarding computational topics and v vi his suggestions; and the computer scientists Octavi Pavón and Ramiro Alba, for their support every time I was about to desperate struggling with my computer. In the personal aspect, I appreciate the conversations and points of view shared with Daniel Martínez. I feel that we have been sources of mutual inspiration from time to time. Finally, I would like to thank my former roommates and members of the Latin section of the MALET project, Santiago Torras and Nicolás Ablanque, for their good mood and team work. It has been a pleasure to share this time with you. Without further delay, here is my little contribution to the development of parallel optimization algorithms for High Performance Computing. Imanol Aizpurua Udabe Agradecimientos El final de la Tesis Doctoral es una buena ocasión para volver la vista atrás y observar los acontecimientos de estos últimos casi cinco años. Como suele ocurrir, y aunque la actividad investigadora haya sido muy enriquecedora, el tesoro más valioso que me llevaré es el poso dejado por experiencias colaterales vividas durante este periodo y que han contribuido decisivamente a mi crecimiento personal. No puedo evitar sonreír cada vez que me acuerdo de aquel chico inocente que llegó a Barcelona y de las nuevas dimensiones de la vida que vino a descubrir. En este sentido, me alegra ver que el tiempo no ha pasado en balde. Me gustaría agradecer a la gente con la que he tenido ocasión de compartir experiencias importantes, especialmente a Estela, el tiempo que hemos pasado juntos. Estoy agradecido también a mis padres por el cariño y la orientación recibidos durante mi vida. Creo que mi esfuerzo por aunar el sentido de la disciplina y la búsqueda de la excelencia de mi padre con el tacto y punto de vista prácticos de mi madre ha merecido la pena. A continuación querría felicitar por su trabajo a los profesores que tuve en el colegio desde muy temprana edad. La educación es un proceso largo y, como sucede con la investigación, la dedicación más intensa y los resultados más notorios no tienen lugar necesariamente al mismo tiempo aunque sean parte de un único proceso. La culminación de esta Tesis Doctoral no habría sido posible sin la colaboración de otros investigadores y personal del Centro Tecnológico de Transferencia de Calor (CTTC). En primer lugar, agradezco al Prof. Assensi Oliva haber creído en mí y haberme dado la oportunidad de incorporarme al CTTC, así como el soporte y coordinación recibidos durante el transcurso de la Tesis. Su determinación y habilidad para superar cualquier traba burocrática son loables y han sido de gran utilidad. Otros miembros del grupo a los que estoy agradecido son Oriol Lehmkuhl, por haberme guiado en la fase inicial del desarrollo de esta Tesis; Joan López, por el tiempo dedicado a filosofar vii viii conmigo sobre la programación orientada a objetos y la paralelización; Jorge Chiva, por supervisar la exactitud de la Tesis en lo concerniente al campo de la computación y por sus sugerencias; y los informáticos Octavi Pavón y Ramiro Alba, por su ayuda cada vez que estuve a punto de desesperarme mientras me peleaba con el ordenador. En el aspecto personal, aprecio las conversaciones y puntos de vista compartidos con Daniel Martínez. Creo que de tanto en tanto hemos sido fuentes de inspiración mutua. Por último, me gustaría agradecer a mis antiguos compañeros de sala y miembros de la sección latina del proyecto MALET, Santiago Torras y Nicolás Ablanque, su buen humor y trabajo en equipo. Ha sido un placer compartir mi tiempo con vosotros. Sin más preámbulos, aquí está mi pequeña contribución al desarrollo de algoritmos de optimización paralelos para la computación de alto rendimiento. Imanol Aizpurua Udabe Contents Dedication i Abstract xiii 1 State of the art of optimization algorithms1 1.1 Introduction.....................................2 1.2 Single-objective vs. Multi-objective optimization...............5 1.2.1 Single-objective optimization......................5 1.2.2 Multi-objective optimization.......................9 1.3 Constraint handling................................ 16 1.4 Surrogate-based optimization.......................... 16 1.5 Hybrid optimization methods.......................... 18 1.6 The genetic algorithm............................... 20 1.6.1 Basic concepts............................... 20 1.6.2 Structure of the algorithm........................ 22 1.7 Parallelization of genetic and other population-based optimization algo- rithms........................................ 25 1.7.1 General concepts.............................. 25 1.7.2 Main parallelization strategies..................... 27 1.7.3 Shortcomings of standard parallelization techniques........ 31 1.8 Test suites for optimization algorithms..................... 39 1.8.1 Single-objective optimization tests................... 41 1.8.2 Multi-objective optimization tests................... 43 1.9 Random number generators........................... 45 1.10 Conclusions..................................... 45 References...................................... 46 ix x Contents 2 Implementation of a new optimization library: Optimus 57 2.1 Introduction..................................... 58 2.1.1 General design requirements of a library............... 58 2.1.2 Specific design requirements of the new optimization library... 59 2.1.3 Computing facilities at CTTC...................... 60 2.1.4 Concluding remarks............................ 61 2.2 State of the art of optimization libraries.................... 62 2.2.1 Description of the project’s needs.................... 62 2.2.2 Free open-source software........................ 64 2.2.3 Proprietary commercial software.................... 66 2.2.4 Concluding remarks............................ 67 2.3 Main features