The robust capability of evolutionary algorithms (EAs) to find solutions to difficult problems has permitted them to become popular as optimization and search techniques for many industries. Despite the success of EAs, the resultant solutions are often fragile and prone to failure when the problem changes, usually requiring human intervention to keep the EA on track. Since many optimization problems in engineering, finance, and information technology require systems that can adapt to changes over time, it is desirable that EAs be able to respond to changes in the environment on their own. This book provides an analysis of what an EA needs to do to automatically and continuously solve dynamic problems, focusing on detecting changes in the problem environment and responding to those changes. In this book we identify and quantify a key attribute needed to improve the detection and response performance of EAs in dynamic environments. We then create an enhanced EA, designed explicitly to exploit this new understanding. This enhanced EA is shown to have superior performance on some types of problems. Our experiments evaluating this enhanced EA indicate some pre viously unknown relationships between performance and diversity that may lead to general methods for improving EAs in dynamic environments. Along the way, several other important design issues are addressed involving com putational efficiency, performance measurement, and the testing of EAs in dynamic environments.