بسیاری از مسائل دنیای واقعی پویا هستند. برای حل یک مسئله بهینه سازی پویا نیاز به الگوریتمی داریم که علیرغم پیدا کردن بهینه در محیط بتواند بهینه های در حال تغییر را دنبال کرد. الگوریتم های تکاملی مختلفی برای بهینه سازی در محیط های  پویا پیشنهاد شده است. در یک محیط پویا پس از روی دادن تغییر در محیط الگوریتم نیاز به تنوع کافی جهت جستجوی دوباره محیط دارد. در عین حال استفاده از اطلاعات جستجوهای پیشین روند جستجو را سریعتر می کند. مشکل اصلی الگوریتم های تکاملی معمول در حل مسائل بهینه سازی پویا همگرایی زودرس و کاهش تنوع جمعیتی در طول زمان است. بنابراین در مواجه با مسائل بهینه سازی پویا نیاز به رویکردهایی است که تنوع را در طی زمان حفظ کنند.