Evolutionary computation is an area of computer science that uses ideas from biological evolution to solve computational problems. Many such problems require searching through a huge space of possibilities for solutions. Such computational problems often require a system to be adaptive that is, to continue to perform well in a changing environment.