The main goal of this project is to explore the use of stochastic simulation, genetic algorithms, fuzzy decision making and other tools for solving complex maintenance planning optimization problems. We use two different maintenance activities, corrective maintenance and preventive maintenance. Since the evaluation of specific candidate maintenance policies can take a long time to execute and the problem of finding the optimal policy is both non-linear and non-convex, we propose the use of genetic algorithms (GA) for the optimization.