فرآیند بهتر کردن چیزها، بهینهسازی نام دارد. به عبارتی، بهینهسازی فرآیند تنظیم ورودیها یا ویژگیهای یک دستگاه (فرآیند ریاضیاتی) و یا آزمایش حصول کمینه و بیشینه خروجی یا نتیجه محسوب میشود. ورودی از دو متغیر تشکیل میشود: فرآیند یا تابعی به نام تابع هزینه، تابع هدف و یا تابع تناسب و خروجی نیز هزینه یا تناسب است [1]. روشهای متفاوتی برای حل مسائل بهینهسازی مطرح شده است که برخی از آنها از فرآیندهای طبیعی الهام گرفته شدهاند. این روشها معمولاً با مجموعهای از متغیرهای اولیه شروع و سپس برای دستیابی به کمینه یا بیشینه سراسری تابع هدف تکامل پیدا میکنند.
الگوریتم ژنتیک (GA) متداولترین روش پژوهش محاسبات تکاملی بوده است که با الهامگیری از تنوع ژنتیکی طبیعی و انتخاب طبیعی از عملگرها استفاده میکند [2، 3]. از دیگر نمونهها میتوان به بهینهسازی ازدحام ذرات (PSO) اشاره کرد که ابرهارت و کندی در سال 1995 آنرا طراحی نمودند. رفتار اجتماعی حرکت دسته جمعی پرندگان یا ماهیها، منبع الهام این الگوریتم بهینهسازی تصادفی بوده است [5-3].
بهینهسازی کلونی مورچگان (ACO)، الگوریتم بهینهسازی تکاملی دیگری است که از رفتار دنبالهگذاری فرومون کلونیهای واقعی مورچگان الهام گرفته شده است [3، 6، 7]. از طرفی، بازپخت شبیهسازی شده، فرآیند بازپخت را به گونهای شبیهسازی میکند که در آن یک ماده بالای دمای ذوب خود حرارت میبیند و سپس به تدریج برای تولید شبکه کریستال سرد میشود که این نیز باعث میشود توزیع احتمال انرژی آن به حداقل برسد [1، 8، 9].
علاوه براین روشهای شناخته شده، تحقیقاتی نیز روی الگوریتمهای بهینهسازی الهام گرفته از طبیعت در دست اقدام است و یک سری روشهای غیرخطی نیز برای حل مستمر گونهای از مسائل غیرخطی در حال شکلگیری میباشد. در مرجع [10]، یک الگوریتم تکاملی ایمن جدید بر مبنای الگوریتم بهینهسازی آشفتگی و الگوریتم تکاملی ایمن ارائه شده است که با بهرهگیری از ارگودیسیتی و حالت تصادفی داخلی تکرار آشفتگیها، عملکرد همگرایی الگوریتم تکاملی ایمن را بهبود میبخشد. این الگوریتم جدید، تلفیقی از مزیتهای الگوریتم تکاملی ایمن و الگوریتم بهینهسازی آشفتگی را به همراه دارد. مرجع [11] تکنیک بهینهسازی جدیدی به نام روش انفجار نارنجک (GEM) معرفی مینماید که طرحهای زیربنایی آن شامل مفهوم جهت جستجوی بهینه (OSD) با جزئیات شرح داده شدهاند. در مرجع [12] روش بهینهسازی ازدحام ذرات جدیدی بر مبنای الگوریتم انتخاب کلونی با هدف جلوگیری از همگرایی قبل از بلوغ و تضمین تنوع جمعیتی ارائه شده است.
مزیتهای اصلی الگوریتمهای تکاملی عبارتند از [3]:
(1) مقاوم بودن در برابر تغییرات دینامیکی: روشهای قدیمی بهینهسازی در مقابل تغییرات دینامیکی محیط مقاوم نیستند و برای ارائه یک راهحل به بازآغازی کاملی نیاز دارند. در مقابل، محاسبه تکاملی را میتوان برای تطبیق راهحلها با وضعیتهای متغیر مورد استفاده قرار داد.
(2) کاربردپذیری وسیع: الگوریتمهای تکاملی را میتوان در هر گونه مسائلی که به عنوان مسائل بهینه سازی قابل تدوین باشند، استفاده کرد.
(3) پیوندزنی به همراه روشهای دیگر: الگوریتمهای تکاملی را میتوان با روشهای قدیمیتر بهینهسازی ترکیب کرد.
(4) حل مسائل بدون راهحل: مزیت الگوریتمهای تکاملی شامل توانایی پرداختن به مسائلی میشود که برای آنها تخصص انسانی وجود نداشته باشد. با وجود این که از تخصص انسانی باید در مواقع نیاز و قابل دسترس استفاده شود، عدم برخورداری کافی از چنین تخصصی در روالهای عادی خودکار حل مسائل اغلب به اثبات میرسد.
با توجه به این ویژگیها از الگوریتمهای تکاملی میتوان در برنامههای کاربردی متنوعی استفاده کرد که از جمله آنها میتوان به عملیاتها و کنترل سیستمهای قدرت [13، 19، 20]، مسائل ترکیبی NP-Hard [14، 15]، فرآیندهای شیمیایی [16]، مسائل برنامهریزی شغلی [17]، مسائل مسیریابی وسایل نقلیه، شبکهسازی سیار، برنامهریزی فرآیند دستهای، مسائل بهینهسازی چند منظوره [18]، پارامترهای بهینهسازی شده مدلسازی [21] و مسائل الگویابی و پردازش تصویر اشاره کرد.
در این مقاله، یک الگوریتم بهینهسازی تکاملی جدید با الهام از سبک زندگی یک خانواده از پرندگان به نام کوکو معرفی میکنیم. تخمگذاری و تولید مثل کوکوها مبنای این الگوریتم بهینهسازی جدید محسوب میشود. کوکوهای بکار رفته در این مدل به دو گونه تخم کوکو و کوکوی بالغ وجود دارند. کوکوهای بالغ تخمها را در آشیانه سایر پرندگان میگذارند و چنانچه این تخمها از سوی پرندگان میزبان شناسایی و از بین نروند، رشد کرده و به یک کوکوی بالغ تبدیل میشوند. ویژگیهای زیستمحیطی و مهاجرت جوامع (گروهها) کوکوها با امیدواری آنها را بر آن میدارد تا به هم نزدیک شده و بهترین محیط را برای تولید مثل و زاد و ولد خود پیدا کنند. بهترین محیط، حداکثر سراسری توابع هدف میباشد. مقاله حاضر چگونگی مدلسازی و پیادهسازی روش زندگی کوکوها را به تصویر میکشد.
بخش 2 به بررسی پرندگانی به نام کوکو و بازبینی ویژگیهای حیرتانگیز زندگی آنها میپردازد. در بخش 3، الگوریتم بهینهسازی کوکو (COA) ارائه گریده و بخشهای متفاوت آن به تفصیل مورد بررسی قرار گرفته است. هم چنین، الگوریتم پیشنهادی به همراه برخی از توابع و همچنین طرح کنترلکننده فرآیند چند ورودی-چند خروجی (MIMO) به عنوان یک بررسی موردی واقعی در بخش 4 آزمایش شده است. نهایتاً در بخش 5 نیز مبحث نتیجهگیریها ارائه شده است.