Optimizing the Cross Section of Cold-Rolled Steel Beams Using a Genetic Algorithm: Avoiding Local Optima Using Adaptive Mutation Control, Flexible Restriction Handling and Inbreed Avoiding Mating Strategies