Evolutionary computation is a class of problem optimization methodology with the inspiration from the natural evolution of species. In nature, the population of a species evolves by means of selection and variation. These two principles of natural evolution form the fundamental of evolutionary - gorithms (EAs). During the past several decades, EAs have been extensively studied by the computer science and arti?cial intelligence communities. As a classofstochasticoptimizationtechniques,EAscanoftenoutperformclassical optimization techniques for di?cult real world problems. Due to the ease of use and robustness, EAs have been applied to a wide variety of optimization problems. Most of these optimization problems ta- led are stationary and deterministic. However, many real-world optimization problems are subjected to dynamic and uncertain environments that are often impossible to avoid in practice. For example, the ?tness function is uncertain or noisy as a result of simulation errors, measurement errors or approximation errors. In addition, the design variables or environmental conditions may also perturb or change over time. For these dynamic and uncertain optimization problems, the objective of the EA is no longer to simply locate the global optimum solution, but to continuously track the optimum in dynamic en- ronments, or to ?nd a robust solution that operates optimally in the presence of uncertainties. This poses serious challenges to classical optimization te- niques and conventional EAs as well. However, conventional EAs with proper enhancements are still good tools of choice for optimization problems in - namic and uncertain environments.