الگوریتم کوکو

    الگوریتم بهینه سازی کوکو :                                                                                   

روش زندگي و تخمگذاري فاخته (Cuckoo)

همه 9000 نوع پرنده موجود در دنيا روش يكساني براي مادر شدن دارند: همه آنها تخم مي گذارند. هيچ پرنده اي نوزاد خود را نمي زايد. بلكه تخم گذاشته و جوجه خود را در بيرون از بدنشان پروش مي دهند. هر چه تخم ها بزرگتر باشند احتمال كمتري دارد كه پرنده ماده بتواند بطور همزمان بيشتر از يك تخم در بدن خود داشته باشد، چرا كه تخم هاي بزرگتر پرواز را سخت مي كنند و نياز به انرژي بيشتري براي پرواز خواهد بود. از طرف ديگر چون تخم ها منبع سرشار پروتئين براي ساير شكارچي ها مي باشد لازم است تا پرندگان محل امني جهت تخم گذاري و بدنيا آمدن جوجه ها انتخاب كنند. پيدا كردن يك محل امن جهت تخم گذاري و بيرون آمدن جوجه ها و پرورش آنها تا زمان رسيدن به نقطه استقلال از والدين مساله مهمي است كه هر كدام از پرندگان به نحو هوشمندانه اي آنرا حل كرده اند. آنها از نوعي مهندسي هنرمندانه و پيچيده براي اين كار استفاده كرده اند. تنوع لانه سازي و معماري هاي آنها در بين تمام موجودات نظير ندارد. اكثر پرندگان لانه هاي خود را بصورت جداشده، نامعلوم و مستتر در پوشش گياهي ايجاد مي كنند تا از شناسايي توسط شكارچيان جلوگيري نمايند. برخي از آنها چنان ماهرانه لانه هاي خود را مخفي مي كنند كه حتي انسانها با تمام تجهيزات بينايي خود قادر به شناسايي و ديدن لانه هاي آنها نمي باشند.

 

در اين بين برخي از پرندگان خود را از دردسر هرگونه لانه سازي و وظايف والدين رهانيده اند و به نوعي زيركي جهت پرورش جوجه هاي خود متوسل شده اند. اين پرندگان در اصطلاح "پارازيت هاي اولاد" يا brood parasiteناميده مي شوند كه هرگز براي خود لانه نمي سازندو بجاي آن تخمهاي خود را در لانه ساير انواع پرندگان قرار مي دهند و صبر مي كنند تا آنها در كنار تخم هاي خود به تخم هاي اين پرندگان نيز رسيدگي كنند.

فاخته يا cuckooمشهورترين پارازيت اولادي مي باشد كه به نوعي يك متخصص در زمينه فريب بي رحمانه مي باشد. استراتژي اين پرنده شامل خفيه كاري، شگفت زده كردن و سرعت عمل است. فاخته مادر يكي از تخم هاي پرنده مادر ميزبان را از بين ميبرد و تخم خود را لابلاي تخمهاي ديگر موجود در لانه ميزبان قرار مي دهد و سريعا از محل دور مي شود و نگهداري از تخم را برگردن پرنده ماده ميزبان مي گذارد. كل اين پروسه به زحمت 10 ثانيه بطول مي انجامد. فاخته ها (cuckoos) لانه هاي انواع گونه هاي پرندگان را آلوده به تخم خود مي كنند و اين كار را بدقت و با تقليد از رنگ و الگوي (pattern) تخم هاي موجود در هر لانه انجام مي دهند تا تخم هاي جديد لانه شبيه تخمهاي قبلي و واقعي ميزبان باشند. هر فاخته ي ماده روي نوع خاصي از گونه پرندگان تخصص مي يابد. اينكه چطور فاخته هاي ماده به اين دقت از تخم هاي يك گونه خاص تقليد مي كنند جزو اسرار طبيعت است. در اين بين هستند پرندگاني كه تخمهاي فاخته ها را در لانه هاي خود تشخيص ميدهند و حتي بعضا تخمهاي فاخته را از لانه بيرون پرت مي كنند. برخي هم لانه لو رفته را كلا ترك مي كنند و يك لانه جديد برپا مي كنند. در واقع فاخته ها بطور پيوسته تقليد خود را از تخم هاي لانه هاي هدف بهبود مي بخشند و پرندگان ميزبان هم روشهاي شناسايي تخمهاي بيگانه را ياد ميگيرند. اين تلاش و مبارزه براي بقا بين پرندگان مختلف و فاخته ها يك فرايند مداوم و پيوسته است.

از آنجايي كه محل سكونت فاخته ها بايد منابع غذايي (مخصوصا حشرات) و محلي براي تخم گذاري مهيا مي كند، نياز اصلي پارازيت هاي اولاد محلهاي سكونت گونه هاي ميزبان خواهد بود. فاخته ها در گستره وسيعي از سكونت گاه ها يافته مي شوند. اكثر گونه ها در جنگلها، بخصوص در جنگل هاي باراني هميشه سبز گرمسير سكونت دارند. علاوه بر جنگلها برخي گونه هاي فاخته ها گستره وسيعتري را براي زيست انتخاب مي كنند كه مي تواند حتي شامل مناطق خشك و كويري نيز مي شود. گونه هاي مهاجرت كننده با دماي فاخته ها، دامنه وسيعي از سكونت گاه ها را (از نيزار گرفته تا زمينهاي باير بدون درخت) براي زندگي انتخاب مي كنند تا حداكثر سوء استفاده را از پرندگان ميزبان انجام دهند. بيشر گونه هاي فاخته ها غيرمهاجر هستند ولي گونه هاي متعددي هم هستن كه مهاجرت هاي فصلي دارند. گونه هايي هم مهاجرت هاي مقطعي در دامنه سكونت خود انجام مي دهند. مهارجت ممكن است روزانه باشد مثل فاخته ي channel-billed، ويا مهاجرت شبانه در فاخته هاي Yellow-billed. براي فاخته هايي كه در مناطق مرتفع زندگي مي كنند دردسترس بودنغذا الزام ميكند تا در زمستان ها به مناطق گرمسير مهاجرا كنند. فاخته هاي نوع Long-tailed Koelكه در زلاندنو زندگي و تخمگذاري مي كند در زمستانها به Polynesia، Micronesiaو Melanesiaمهاجرت مي كنند. گونه هاي Yellow-billed   و Black-billedكه در آمريكاي شمالي زاد و ولد مي كنند با پرواز بدون توقفي از روي درياي كارائيب حدود 4000 كيلومتر عبور مي كنند. ديگر مهاجرت هاي بلند مدت شامل فاخته هاي Lesserميشود كه از هند تا كنيا (حدود 3000 كيلومتر) را از روي اقيانوس هند پرواز مي كنند. درآفريقا 10 نوع فاخته مهاجرت هاي درون قاره اي قطبي شده را انجام ميدهند بطوريكه فصول بدون زاد و ولد را در مراكز گرمسير قاره سپري مي كنند و براي تخم گذاري به شمال و جنوب قاره (كه مراتع خشك و كويري تري هستند) مهاجرت مي كنند.

حدود 56 گونه قديمي و 3 گونه جديد فاخته پارازيت هاي اولادي هستند كه تخم هاي خود را در لانه هاي ساير پرندگان قرار مي دهند. اين گونه ها پارازيت هاي اولادي اجباري هستند چون تنها راه توليدمثل شان به اين صورت است.جوجه هاي فاخته زودتر از تخمهاي پرنده ميزبان از تخم بيرون مي آيند و زودتر هم رشد مي كنند. در اكثر موارد جوجه ي فاخته تخمها و يا جوجه هاي پرنده ميزبان را از لانه بيرون مي اندازند. اين مساله كاملا غريزي است و جوجه فاخته فرصتي براي يادگيري چنين رفتاري ندارند. جوجه فاخته پرنده ميزبان را مجبور مي كند كه متناسب با رشد خود براي وي غذا تهيه كند و زود زود طلب غذا مي نمايد. جوجه فاخته با باز گذاشتن دهان خود نياز به غذا را به پرنده ميزبان اعلام مي كند. چرا كه دهان باز جوجه براي مادر به معني محركي براي گرسنگي فرزند است.

فاخته هاي ماده در توليد تخم هايي شبيه تخمهاي پرنده ميزبان بسيار مهارت و تخصص دارند. اين مساله توسط natural selectionبوجود آمده است.  البته بعضي از پرندگان ميزبان تخم ها را شناسايي كرده و به بيرون از لانه پرت مي كنند. فاخته هاي پارازيت انداز به گروه هايي تقسيم مي شوند و هر گروه روي پرنده ميزبان خاصي تخصص مي يابد. ثابت شده است كه هر گروه از متخصص از فاخته ها بصورت ژنتيكي با گروه ديگر اختلاف دارند. تخصص روي ميزبان براي نياز به تقليد از تخم هاي پرنده ميزبان رفته رفته بهبود و تكامل مي يابد.

 

 

الگوريتم بهينه سازي فاخته يا Cuckoo Optimization Algorithm  چيست؟

الگوريتم بهينه سازي فاخته يا Cuckoo Optimization Algorithm   يكي از جديد ترين و قويترين روشهاي بهينه سازي تكاملي مي باشد كه تا كنون معرفي شده اند. بعد از معرفي شدن روش هاي بهينه سازي تكاملي اوليه مثل الگوريتم ژنتيك (GA) ، الگوريتم تبريد تدريجي (Simulated Annealing)، تحقيقات زيادي روي روشهاي تكاملي بهينه سازي كه از الهام از طبيعت گرفته شده بودند انجام گرفت. از ديگر الگوريتمهاي معرفي شده مي توان به الگوريتم ازدحام ذرات (PSO)، كلوني مورچگان (ACO)، الگوريتم زنبور عسل (ABC) و الگوريتم ماهي هاي مصنوعي (Artificial Fish Swarm) اشاره كرد. كاربردهاي بيشماري از اين روشها را براي حل مسايل مختلف بهينه سازي پيچيده در مقالات مي توان پيدا كرد.

يكي ديگر از الگوريتم هاي بهينه سازي تكاملي كه در ايران شكل گرفته و بسيار كاربرد يافته الگوريتم رقابت استعماري است كه بر پايه الهام از يك سيستم رقابتي بين امپراتوريهاي جهان جهت تصاحب مستعمره شكل گرفته است. اين روش بهينه سازي با تغييري كه در الگوريتم آن براي حركت مستعمره ها به سمت امپراتوري در نظر گرفته شده است توانايي خوبي براي يافتن نقاط بهينه كلي (global optima)از خود نشان داده است. 

 

بعد از معرفي الگوريتم رقابت استعماري (ica) [كه شخصاً در اكثر مراحل شكل گيري و ببار نشستن آن حضور داشته ام] بر روي روش جديد ديگري كه توانايي بيشتري در پيدا كردن نقاط بهينه كلي (global optima) داشته باشد در حال كار بودم. اين الگوريتم بر روي الهام از روش زندگي پرنده اي بنام فاخته يا Cuckooبود. روش زندگي و تخمگذاري جالب اين پرنده نويد يك الگوريتم بهنيه سازي خوب و قابل را در طبيعت وحشي مي داد. روشي كه با كمترين تلاش، در جنگ براي بقا با ساير حيوانات، به بقا مي رسيد. اين پرنده تنبل به زيبايي هرچه تمام تر ساير پرندگان را مجبور به شركت در بقاي خود مي كند.

در سال 2009 كه ايده مدل سازي نحوه زندگي اين پرنده به عنوان يك روش بهينه سازي تكميل شد و تمام كار هاي كد نويسي و تست آن تمام شد، اقدام به نوشتن مقاله اي در اين خصوص كردم تا اين الگوريتم را به همگان معرفي نمايم. پس از ارسال مقاله به يكي از معتبرترين مجلات محاسبات تكاملي (Applied Soft Computing Journal) در Elsevire و سپري شدن زماني طولاني براي داوري اين مقاله، متوجه شدم كه تقريباًً همزمان با من دو نفر از كشورهاي  چين (X. S. Yang) و هند (S. Deb) از دانشگاه كمبريج نيز مشتركاً روي مدلسازي همين پرنده كاركرده اند و با وجود اينكه ديرتر از من مقاله شان را آماده كرده بودند، توانسته بودند نتايج خود را سريع تر از من در كنفرانسي در هند World Congress on Nature & Biologically Inspired Computing (NaBIC 2009)تحت عنوان Cuckoo Search via L´evy Flightsچاپ كنند.

اينكه نتيجه كار شما و آن همه زحمت فقط بدليل ارسال مقاله به مجله ISIو تاخير مبحث داوري، بنام افرادي ديگر منتشر گردد بسيار عذاب آور بود. پس از اطلاع از وجود چنين مقاله اي تصميم به withdrawكردن مقاله خود گرفتم كه به پيشنهاد يكي از دوستان كمي صبر كردم تا مقاله كنفرانسي بر روي سايت قرار گرفت و من توانستم مقاله ايندو نفر را مطالعه كنم. بعد از مطالعه مقاله مذكور متوجه شدم كه اين دو نفر چقدر سطحي به زندگي اين پرنده پرداخته اند و فقط قسمت بسيار كوچكي از پروازهاي اين پرنده را براي مدلسازي انتخاب كرده اند (اگر نظر شخصي بنده را بخواهيد فقط تلاش كرده اند كه مقاله اي را براي كنفرانس مذكور آماده كنند). قطعا مدلسازي ناقص و مقطعي نمي توانست بازگوكننده تمام قدرت اين روش بهينه سازي تكاملي باشد. اين مساله در همگرايي بسيار كند كدهاي نوشته شده توسط اين دو محقق بوضوح ديده مي شود.

بالاخره پس از 2 سال داوري مقاله من در مجله Applied Soft Computing Journal  اديتور نظريه نهايي و Acceptance را فرستاد.

آنچه در اين وب سايت در اختيار شما قرار مي گيرد مدلسازي بسيار دقيق تر و واقعي تر الگوريتم بهينه سازي فاخته (Cuckoo Search Algorithm) مي باشد. 

 

 

 

 

 

 

  جزئيات الگوريتم COA:

در شكل زير فلوچارت الگوريتم بهينه سازي فاخته (COA) را مشاهده مي كنيد. همانند ساير الگوريتمهاي تكاملي COAهم با يك جمعيت اوليه كار خود را شروع مي كند. جمعيتي متشكل از فاخته ها (Cuckoos). اين جمعيت از فاخته ها تعدادي تخم دارند كه آنها را در لانه تعدادي پرنده ي ميزبان خواهند گذاشت. تعدادي از اين تخم ها كه شباهت بيشتري به تخم هاي پرنده ميزبان دارند شانس بيشتري براي رشد و تبديل شدن به فاخته بالغ خواهند داشت. ساير تخم ها توسط پرنده ميزبان شناسايي شده و از بين مي روند. ميزان تخم هاي رشد كرده مناسب بودن لانه هاي آن منطقه را نشان مي دهند. هرچه تخمهاي بيشتري در يك ناحيه قادر به زيست باشند و نجات يابند به همان اندازه سود (تمايل) بيشتري به آن منطقه اختصاص مي يابد. بنابراين موقعيتي كه در آن بيشترين تعداد تخمها نجات يابند پارامتري خواهد بود كه COAقصد بهينه سازي آنرا دارد.

 

 

فاخته ها (Cuckoos) براي بيشينه كردن نجات تخم هاي خود دنبال بهترين منطقه مي گردند. پس از آنكه جوجه ها از تخم در آمدند و تبديل به فاخته بالغ شدند، جوامع و گروه هايي تشكيل مي دهند. هر گروه منطقه سكونت خود را براي زيست دارد. بهترين منطقه سكونت تمام گروه ها مقصد بعدي فاخته ها در ساير گروه ها خواهد بود. تمام گروهها به سمت بهترين منطقه موجود فعلي مهاجرت مي كنند. هر گروه در منطقه اي نزديك بهترين موقعيت فعلي ساكن مي شود. با در نظر گرفتن تعداد تخمي كه هر فاخته خواهد گذاشت و همچنين فاصله فاخته ها از منطقه بهينه فعلي براي سكونت تعدادي شعاع تخمگذاري محاسبه شده و شكل مي گيرد.

سپس فاخته ها شروع به تخمگذاري تصادفي در لانه هايي داخل شعاع تخمگذاري خود مي كنند. اين پروسه تا رسيدن به بهترين محل براي تخمگذاري  (منطقه با بيشترين سود) ادامه مي يابد. اين محل بهينه جايي است كه بيشترين تعداد فاخته ها در آن گرد مي آيند.

 

توليد محلهاي سكونت اوليه فاخته ها (جمعيت اوليه جوابهاي كانديد):

براي حل يك مساله بهينه سازي لازم است تا مقادير متغيرهاي مساله بفرم يك آرايه شكل گيرند. در GAو PSOاين آرايه ها با نامهاي "كروموزوم" و "موقعيت ذرات" مشخص مي شوند. ولي در الگوريتم بهنيه سازي فاخته (COA) به اين آرايه habitatيا "محل سكونت" مي گوييم.

در يك مساله بهينه سازي Nvarبعدي يك habitat  يك آرايه 1xNvarخواهد بود كه موقعيت فعلي زندگي فاخته ها را نشان مي دهد. اين آرايه به شكل زير تعريف مي شود:

Habitat = [x1,x2,…,xNvar]

ميزان مناسب بودن (يا مقدار سود) در habitatفعلي با ارزيابي تابع سود (fp) در habitatبدست مي آيد. پس:

Profit = fp(habitat) = fp(x1,x2,…,xNvar)

همانطور كه ديده مي شود COAالگوريتمي است كه تابع سود را ماكزيمم مي كند. براي استفاده از COAبراي حل مسايل كمينه سازي كافي است يك علامت منفي در تابع هزينه ضرب كنيم.

براي شروع الگوريتم بهينه سازي يك ماتريس habitatبه سايز Npop*Nvarتوليد مي شود. سپس براي هر كدام از اين habitatها تعدادي تصادفي تخم تخصيص مي يابد. در طبيعت هر فاخته بين 5 تا 20 تخم مي گذارد. اين اعداد به عنوان حد بالا و پايين تخصيص تخم به هر فاخته در تكرارهاي مختلف استفاده مي شود. ديگر عادت هر فاخته حقيقي اين است كه آنها در يك دامنه مشخص تخم هاي خود را مي گذارند.

از اين به بعد حداكثر دامنه تخمگذاري را Egg Laying Radius (ELR)مي ناميم.

در يك مساله بهينه سازي به حد بالاي متغيرهاي varhiو حد پايين varlowهر فاخته داراي ELRي خواهد بود كه متناسب است با تعداد كل تخمها، تعداد تخم هاي فعلي فاخته و همچنين حد بالا و پايين متغيرهاي مساله.

بنابراين ELRبصورت زير تعريف مي شود:

آلفا متغيري است كه حداكثر مقدار ELR  را با آن تنظيم ميكنيم.

 

 

 

 

 

روش فاخته ها براي تخمگذاري:

هر فاخته بصورت تصادفي تخمهايي را در لانه پرندگان ميزبان كه در ELR  خود قرار دارد، مي گذارد.

 

وقتي تمام فاخته ها تخمهاي خود را گذاشتند برخي از تخم ها كه كمتر شبيه تخم هاي پرنده ميزبان هستند شناسايي شده و از لانه بيرون انداخته مي شوند. بنابراين بعد از هر تخمگذاري p%از تمام تخمها (معمولا 10%) كه مقدار تابع سود آنها كمتر است نابود مي شوند. بقيه جوجه ها در لانه هاي ميزبان تغديه شده و رشد مي كنند.

نكته جالب ديگر در مورد جوجه فاخته ها اين است كه فقط يك تخم در هر لانه امكان رشد دارد. چرا كه وقتي جوجه ها ي فاخته از تخم در مي آيند تخمهاي خود پرنده ميزبان را از لانه بيرون پرت مي كنند و اگر جوجه هاي پرنده ميزبان زودتر از تخم خارج شده باشند جوجه فاخته بيشترين مقدار غذا را كه پرنده ميزبان مي آورد  خورده (بدن 3 برابر بزرگتري كه دارد بقيه جوجه ها را كنار مي زند) و پس از چند روز جوجه هاي خود پرنده ميزبان از گرسنگي مي ميرند و فقط جوجه فاخته زنده مي ماند.

 

مهاجرت فاخته ها:

وقتي جوجه فاخته ها رشد كردند و بالغ شدند مدتي در محيط ها و گروه هاي خودشان زندگي مي كنند ولي وقتي زمان تخمگذاري نزديك مي شودبه habitatهاي بهتر كه در آنجا شانس زنده ماندن تخمها بيشتر است مهاجرت مي كنند. پس از تشكيل گروه هاي فاخته در مناطق مختلف زيست كلي (فضاي جستجوي مساله) گروه داراي بهترين موقعيت به عنوان نقطه هدف براي ساير فاخته ها جهت مهاجرت انتخاب مي شود.

وقتي فاخته هاي بالغ در اقصي نقاط محيط زيست زندگي مي كنند تشخيص اينكه هر فاخته به كدام گروه تعلق دارد كار سختي است. براي حل اين مشكل، گروه بندي فاخته ها توسط روش كلاس بندي K-meansانجام مي شود (يك k   بين 3 تا 5 معمولا كفايت مي كند).

حال كه گروه هاي فاخته تشكيل شدند سود ميانگين گروه محاسبه مي شود تا بهينگي نسبي محل زيست آن گروه بدست آيد. سپس گروهي كه داراي بيشترين مقدار متوسط سود (بهينگي) مي باشد، به عنوان گروه هدف انتخاب شده و گروه هاي ديگر به سمت آن مهاجرت مي كنند.

هنگام مهاجرت به سمت نقطه هدف فاخته ها تمام مسير را به سمت محل هدف طي نمي كنند. آنها فقط قسمتي از مسير را طي كرده و در آن مسير هم انحرافي دارند. اين نحوه حركت را در شكل زير بوضوح مشاهده مي كنيد.

 

 

همانطور كه از شكل فوق معلوم است هر فاخته فقط λ%از كل مسير را به سمت هدف ايده آل فعلي طي مي كند و يك انحراف φراديان نيز دارد. اين دو پارامتر به فاخته ها كمك مي كند تا محيط بيشتري را جستجو كنند. λعددي تصادفي بين 0 و 1 است و φعددي بين π/6و π/6- مي باشد.

وقتي تمام فاخته ها به سمت نقطه هدف مهاجرت كردند و نقاط سكونت جديد هركدام مشخص شد، هر فاخته صاحب تعدادي تخم مي شود. با توجه به تعداد تخم هر فاخته يك ELRبراي آن مشخص مي شود و سپس تخمگذاري شروع مي گردد.

 

 

 

 

از بين بردن فاخته هاي قرار گرفته در مناطق نا مناسب:

با توجه به اين واقعيت كه هميشه تعادلي بين جمعيت پرندگان در طبيعت وجود دارد عددي مثل Nmaxحداكثر تعداد فاخته هايي را كه مي توانند در يك محيط زندگي كنند كنترل و محدود مي كند. اين تعادل بدليل محدوديت هاي غذايي، شكار شدن توسط شكارچيان و نيز عدم امكان پيدا كردن لانه هاي مناسب براي تخم ها وجود دارد.

 

همگرايي الگوريتم:

پس از جند تكرار تمام جمعيت فاخته ها به يك نقطه بهينه با حداكثر شباهت تخم ها به تخم هاي پرنده گان ميزبان و همچنين به محل بيشترين منابع غذايي مي رسند. اين محل بيشترين سود كلي را خواهد داشت و در آن كمترين تعداد تخم ها از بين خواهند رفت. همگرايي بيش از 95% تمام فاخته ها به سمت يك نقطه، الگوريتم بهينه سازي فاخته (COA) را به انتهاي خود مي رساند.

گامهاي اصلي COAدر شكل زير نمايش داده شده است:

 

 

1.      تازه ترین الگوریتم فراابتکاری - الگوریتم فاخته - Cuckoo search

تازه ترین الگوریتم فراابتکاری - الگوریتم فاخته - Cuckoo search
توی انجمن های ایرانی توی دوران 30 ، 40 سال پیش سیر می کنند بیشتر.
محض اطلاع اگر می خواهید کار علمی کنید با ابزار های نوین دست بکار بشید
الگوریتم فاخته تازه ترین الگوریتم هست.
ژنتیک واسه سال 1965 است ولی فاخته واسه سال 2009.
حالا خودتون قضاوت کنید.

Cuckoo search
Cuckoo search (CS) is an optimization algorithm developed by Xin-She Yang and Suash Deb in 2009.
The pseudo-code can be summarized as:
Objective function:
Generate an initial population of n host nests;
While (tGet a cuckoo randomly (say, i) and replace its solution by performing Lévy flights;
Evaluate its quality/fitness Fi
[For maximization, ];
Choose a nest among n (say, j) randomly;
if (Fi > Fj),
Replace j by the new solution;
end if
A fraction (pa) of the worse nests are abandoned and new ones are built;
Keep the best solutions/nests;
Rank the solutions/nests and find the current best;
Pass the current best to the next generation;
end while
Post-processing the results and visualization

;

 

 

زمينه هاي كاربرد الگوريتم بهينه سازي فاخته شامل موارد زير مي باشد:

  1. حل مسائل بهينه سازي غيرخطي بسيار پيچيده با اطمينان و دقت بسيار بالا
  2. آموزش مطمئن شبكه هاي عصبي مصنوعي بر خلاف ساير روشهاي بهينه سازي كه در آنها به علت بالا بودن تعداد پارامترهاي بهينه سازي از رسيدن به جواب بهينه اطمينان نداريد.
  3. طراحي آسان و مطمئن كنترل كننده هاي PIDبراي سيستمهاي MIMO
  4. پيدا كردن سريع نقطه تعادل نش براي بازيها
  5. طراحي بهينه آنتن ها
  6. استفاده براي Segmentكردن بهينه تصاوير
  7. و استفاده در هر مساله بهينه سازي كه قابليت فرموله شدن بصورت يك تابع هدف در آن وجود دارد.

 

 

برتري هاي COA در مقايسه با ساير روشهاي بهينه سازي تكاملي:

  1. همگرايي سريعتر
  2. سرعت بيشتر
  3. دقت بسيار بالاتر
  4. توانايي جستجوي محلي در كنار جستجوي كلي
  5. احتمال بسيار كمتر گيرافتادن در نقاط بهينه محلي
  6. جستجوي با جمعيت متغير (بدليل نابودي جمعيت در مناطق نامناسب)
  7. حركت كلي جمعيت به سمت نقاط بهتر با نابود شدن جواب هاي نامناسبتر
  8. توانايي حل سريع مسايل بهينه سازي با ابعاد بالا

 

 

نتايج تست 10000 متغيره با COA

نتايج تست 10000 متغيره با COA

 

با توجه به نتايج تست COA  با 100 و 1000 متغير براي تابع راستريگين تصميم گرفتيم تا مساله را باز هم سخت تر كنيم تا توانايي ها و ضعفهاي COAرا بهتر ببينيم. ولي ظاهرا تواناييهاي COAتمامي ندارد!!! بله باز هم نتايج شگفت انگيزي بدست آمد كه خود ما را نيز شگفت زده كرد.

نتايجي كه در ادامه مي بينيد نشان از قدرت بسيار بالا و باور نكردني الگوريتم بهينه سازي COAدارد. باز هم 100% دقت ولي اينبار با 10000 پارامتر‌!!! 

 

بهينه سازي با COA(تعداد جمعيت مورد استفاده: فقط 15 فاخته !!!):

 

با توجه به نتايج بهينه يازي با 100 و 1000 متغير ديگر نيازي به مقايسه COAبا الگوريتمهاي ديگر مثل GA، PSOو ICA(الگوريتم رقابت استعماري) نمي بينيم. همه چيز بوضوح مشاهده مي شود و نيازي به توضيح اضافي نمي باشد.

 

 

 


مطالب مشابه :


الگوریتم کوکو

تازه ترین الگوریتم فراابتکاری - الگوریتم فاخته - Cuckoo search توی انجمن های ایرانی توی دوران 30 ، 40




دانلود رایگان مقاله ای در مورد الگوریتم بهینه سازی فاخته

http://uozchemistry87.blogfa.com - دانلود رایگان مقاله ای در مورد الگوریتم بهینه سازی فاخته - شیمی محض




عناوین موضوعات پروژه ها

"ارائه الگوریتم جدید جهت از ترکیبی از الگوریتم‌های فاخته و پرنده "؛ 38




آشنایی با نرم­ افزار داده­ کاوی Weka

الگوريتم بهينه سازی فاخته زمانيكه Weka در حال عمليات است، پرنده دراین مثال، الگوریتم




برچسب :