الگوریتم کلونی مورچگان , بهینه سازی با الگوریتم کلونی مورچگان , بهینه سازی با الگوریتم ACO در متلب , انجام پروژه الگوریتم ACO در متلب
الگوریتم کلونی مورچگان یا الگوریتم ACO
آشنایی با الگوریتم کلونی مورچگان
الگوریتم کلونی مورچگان (ACO) رفتار مورچهها (ANT) را در طبیعت شبیه سازی میکند. الگوریتم ACO روند یا چرخه ای که مورچه ها در طبیعت برای پیدا کردن غذا طی میکنند را مورد بررسی قرار داده و با استفاده از این روند و در نظر گرفتن جواب بهینه برای مسائل به عنوان غذا، جواب بهینه مسائل پیدا میکند.
مورچهها در طبیعت برای یافتن محل غذا از مادهای به نام فرومون اسفتاده میکنند، این ماده از مورچهها هنگام حرکت ترشح شده و مسیر حرکت آغشته به این ماده میگردد لذا هر چه مسیری ماده بیشتری در خود داشته باشد، احتمالا منجر به غذای بیشتری میگردد
- مجموعه جوابهای ابتدایی مسئله ⇔ کلونی مورچگان
- هر جواب کاندید برای مساله ⇔ مورچه در کلونی مورچگان
- دامنه مساله (فضای جست و جو) ⇔ محیط کاری مورچهها
- جواب بهینه ⇔ محلی که نسبت به اماکن دیگر غذا در آنجا بیشتر یافت میشود
- نحوهی محاسبهی ارزش هر جواب ⇔ میزان غذایی که در آن نقطه وجود دارد (میزان رفت و آمد به آن نقطه)
با در نظر گرفتن نگاشت بالا ، میتوان هر مسالهی بهینه سازی را به کمک الگوریتم ACO حل کرد، اما بهترین مسائلی که در الگوریتم ACO مورد بهینه سازی قرار گرفتند، مسائل مسیریابی بوده اند.
روند الگوریتم بهینه سازی کلونی مورچگان به صورت شبه کد زیر است :
مهمترین روابطی که در الگوریتم ACO وجود دارند عبارتند از :
نرخ بروز رسانی فرومون در مسیر i و j :
احتمال انتخاب مسیر i و j برای مورچه k :
انواع الگوریتم مورچگان
- سیستم مورچه نخبگان: در این روش بهترین راه حل کلی در هر تکرار فرمون آزاد میکند. همچنین این روش برای تمام مورچههای مصنوعی باید انجام شود.
- سیستم مورچه ماکسیموم – مینیمم: یک مقدار کمینه و بیشینه برای فرمون تعیین کرده و فقط در هر مرحله بهترین جواب این مقدار را آزاد میکند و همه ی گرههای مجاور ان به مقدار فرمون بیشینه مقدار دهی اولیه میشوند.
- سیستم کلونی مورچه
- سیستم مورچه بر اساس رتبه: تمام راه حلهای بدست آماده بر اساس طول جواب رتبهبندی میشوند و بر اساس همین رتبهبندی مقدار فرمون آزاد سازی شده توسط آنها مشخص خواهد شد و راه حل با طول کمتر از راه حل دیگر با طول بیشتر مقدار فرمون بیشتری آزاد میکند.
- سیستم مورچه متعامد مداوم: در این روش مکانیزم تولید فرمون به مورچه اجازه میدهد تا برای رسیدن به جواب بهتر و مشترک با بقیه مورچهها جستجو انجام دهد با استفاده از روش طراحی متعامد مورچه میتواند در دامنه تعریف شده خود به صورت مداوم برای بدست آوردن بهترین جواب جستجو کند که این عمل به هدف رسیدن به جواب بهینه و صحیح ما را نزدیک میکند. روش طراحی متعامد میتواند به دیگر روشهای جستجو دیگر گسترش پیدا کنند تا به مزیتهای این روشهای جستجو اضافه کند.
کاربردهای الگوریتم ACO
از کاربردهای الگوریتم ACO میتوان به بهینه کردن هر مسئلهای که نیاز به یافتن کوتاهترین مسیر دارد، اشاره کرد:
- مسیر یابی داخل شهری و بین شهری.
- استفاده از الگوی کلونی مورچه ها جهت اداره ترافیک.
- مسیر یابی بین پستهای شبکههای توزیع برق ولتاژ بالا.
- مسیر یابی شبکههای کامپیوتری.
- استفاده ازوب.
- استفاده از الگوریتم بهینه سازی کلونی مورچگان دربهینه سازی شبکههای توزیع آب.
- و…