Translation Optimization and Parallelization of Genetic Algorithms a Discourse of Implementation into C++
Abstract
A genetic algorithm approach can be used to address complex management and design problems within the discipline of civil engineering, such as managing storm water from urban areas, which can degrade environmental conditions. Additionally, conventional programming practices often produce serial code unfit for taking full advantage of a multi-core architecture. This research examines the methodology behind implementing a simulation-optimization approach in a serial versus parallel environment. In Chapter I, a brief history of the project is presented as well as the motivation for the research. In Chapter II, the concepts behind developing an optimized serial genetic algorithm are examined. In Chapter III, a parallel design methodology is implemented. In Chapter IV, the serial and parallel results are examined. It is from these results that a speedup of 1.61 can be observed if OpenMP parameters are finely tuned. It can also be observed that without careful selection of subroutines and the exploitation of their inherent parallelism, runtime overhead can significantly degrade performance beyond even the serial implementation. As such, optimization of OpenMP parameters is recommended. In Chapter V, and concluding chapter, a method formulated from the research is presented that addresses how to develop an optimized and parallelized genetic algorithm that targets complex civil engineering management and design problems.
Subject
Genetic algorithmParallel genetic algorithm
Parallel programming
OpenMP
Engineering management and design
Citation
White, Avery A. (2010). Translation Optimization and Parallelization of Genetic Algorithms a Discourse of Implementation into C++. Texas A&M University. Available electronically from https : / /hdl .handle .net /1969 .1 /ETD -TAMU -2010 -05 -8148.