انجام پروژه الگوریتم فاخته

انجام پروژه الگوریتم فاخته

انجام پروژه الگوریتم فاخته

الگوریتم بهینه سازی فاخته یک روش جدید جستجوی آگاهانه سراسری است

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

همانند سایر الگوریتم‌های تکاملی، COA هم با یک جمعیت اولیه كار خود را شروع می‌كند.

جمعیتی كه متشکل از فاخته‌ها است. این جمعیت از فاخته‌ها تعدادی تخم دارند كه آنها را در لانه تعدادی پرند‌هی میزبان خواهند گذاشت.

تعدادی از این تخم‌ها كه شباهت بیشتری به تخم‌های پرنده میزبان دارند شانس بیشتری برای رشد و تبدیل شدن به فاخته بالغ خواهند داشت.

سایر تخم‌ها توسط پرنده میزبان شناسایی شده و از بین می‌روند. میزان تخم‌های رشد كرده، مناسب بودن لانه‌های آن منطقه را نشان می‌دهند.

هرچه تخم‌های بیشتری در یک ناحیه قادر به زیست باشند و نجات یابند،

به همان اندازه سود بیشتری به آن منطقه اختصاص می‌یابد.

بنر عمودی 1 انجام پروژه الگوریتم فاخته

انجام پروژه الگوریتم فاخته

شبیه سازی پروژه با الگوریتم فاخته

بنابراین موقعیتی كه در آن بیشترین تعداد تخم‌ها نجات یابند، پارامتری خواهد بود كه COA قصد بهینه‌سازی آنرا دارد.

فاخته‌ها برای بیشینه كردن نجات تخم‌های خود دنبال بهترین منطقه می‌گردند.

هر فاخته مطابق شکل زیر به صورت تصادفی تخم‌هایی را در لانه پرندگان میزبان كه در محدوده تخم‌گذاری یا ELR  خود قرار دارد، می‌گذارد.

برای سادگی در توصیف جستجوی فاخته، در حال حاضراز سه قانون ایده‌آل زیراستفاده شده است.

برای پیاده‌سازی این نقطه نظر، میتوان بازنمایی ساده زیر را داشت كه هر تخم در یک لانه نشان‌دهنده یک راه حل باشد

و هر یک از فاخته می‌تواند تنها یک تخم بگذارد،

هدف استفاده از راه‌حل‌های جدید و به طور بالقوه بهتری ( فاخته‌ها ) به جای راه حل نه چندان خوب در لانه می‌باشد.

انجام پروژه الگوریتم فاخته

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

بر اساس این سه قانون، گام‌های اساسی را میتوان به طور خلاصه به عنوان الگوریتم نشان داده شده است.

الگوریتم فاخته شبیه‌سازی شده یک تکنیک رایانش نرم در پیدا کردن راه حل‌های بهینه یا نزدیک بهینه از مسائل NP سخت است.

برای حل یک مسئله بهینه‌سازی، الگوریتم فاخته ابتدا از یک جواب اولیه شروع می‌کند

و سپس در یک حلقه تکرار به جواب‌های همسایه حرکت می‌کند. اگر جواب همسایه بهتر از جواب فعلی باشد،

الگوریتم آن را به عنوان جواب فعلی قرار می‌دهد (به آن حرکت می‌کند)، در غیر این صورت، الگوریتم آن جواب را با به عنوان جواب فعلی می‌پذیرد.

شبیه سازی نرم افزاری

انجام پروژه الگوریتم فاخته

کدنویسی پروژه با الگوریتم فاخته

انجام پروژه نرم افزاری با الگوریتم فاخته

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