Using Genetic Algorithms in Engineering Design Optimization with Non-Linear Constraints