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

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

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

روش جستجوی فاخته (CS) یک روش بهینه‌سازی فرااکتشافی است که رویکردی تکاملی در جستجوی راه‌حل بهینه دارد و در سال ۲۰۰۹ توسط Yang  و Deb پیشنهاد شده است. این روش از رفتار جالب توجه گونه‌هایی از پرنده‌ی فاخته در پرورش تخم الهام گرفته است و آن را با پرواز لووی که نوعی گشت تصادفی است ترکیب می‌کند.

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

پرواز لووی نوعی گشت تصادفی است که طول گام آن از یک توزیع مشخص پیروی می‌کند. با استفاده از این روش اغلب، راه‌حل‌های مشابه با راه‌حل فعلی و به ندرت راه‌حل‌های دور از آن در مرحله‌ی بعدی جستجو تولید می‌شود. با توجه به این ویژگی می‌توان با بهره‌گیری از پرواز لووی جستجوی محلی و سراسری را تنها با یک ساختار پیاده‌سازی کرد. بنابراین تعداد پارامترهای مورد نیاز برای اجرای الگوریتم کاهش می‌یابد. الگوریتم CS از سه قانون زیر تبعیت می‌کند:

۱-    هر فاخته در هر زمان یک تخم می‌گذارد و آن را در یک لانه‌ی تصادفی قرار می‌دهد.

۲-    بهترین لانه‌ها با کیفیت بالای تخم، نسل بعدی را تشکیل می‌دهند.

۳-  تعداد لانه‌های میزبان ثابت است و تخمی که توسط فاخته گذاشته شده است، با احتمال  توسط پرنده‌ی میزبان کشف می‌شود. در این حالت پرنده‌ی میزبان می‌تواند تخم را دور بیاندازد یا لانه را ترک کرده، لانه‌ای جدید بسازد. برای سادگی، می‌توان کسرPa  از n تعداد لانه‌ها را با لانه‌های (راه‌حل‌های) جدید جایگزین نمود.

 

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

شرح مسئله بدین شکل است:

تعدادی شهر داریم و هزینه رفتن مستقیم از یکی به دیگری را می‌دانیم. مطلوب است کم‌هزینه‌ترین مسیری که از یک شهر شروع شود و از تمامی شهرها دقیقاًٌ یکبار عبور کند و به شهر شروع بازگردد.

تعداد کل راه‌حل‌ها برابر است با \frac{1}{2}(n-1)! برای n>۲ که n تعداد شهرها است.

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

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

 

کليک جهت خريد کالا ، به منظور پذيرش قوانين و مقررات سايت مي باشد .

 

ایمیل : matlab24ir@gmail.com و یا info@matlab24.ir

 

 

نظر خود را اینجا بنویسید!

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

telegramchanel کانال تلگرام  با عضویت در کانال تلگرام از مطالب آموزشی و مطالب جدید وب سایت مطلع شوید

@matlab24Dotir

جهت عضویت کلیک کنید