الگوریتم کرم شب تاب در متلب عنوان موضوعی است که در این پست به آن پرداخته شده است. این الگوریتم با نام Firefly Algorithm یا الگوریتم FA نیز نامیده می شود. در این مجموعه سعی می کنیم تا جزئیات بهتری از سورس کد الگوریتم کرم شب تاب در متلب Firefly Algorithm ارائه دهیم.
الگوریتم بهینه سازی کرم شب تاب Firefly Algorithm Optimization، و یا به اختصار الگوریتم کرم شتاب Firefly Algorithm، از رفتارکرم شتاب های طبیعی که در مجموعه ها بزرگ در کنار هم زندگی می کنند الهام گرفته شده است و یکی از الگوریتم های بسیار کارآمد در حل مسائل بهینه سازی ترکیبی است.
برنامهنویس: تیم برنامه نویسی پی استور
متشکل از اساتید و فارغ التحصیلان رشته های فنی - مهندسی
تیم برنامه نویسی پی استور یکی از اولین گروه های تشکیل شده در مجموعه آموزشی پی استور می باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته های فنی و مهندسی تشکیل شده که در زمینه های مختلف برنامه نویسی و تهیه سورس کد فعال هستند.
الگوریتم های دیگری نیز بر اساس الگوریتم کرم شتاب ها ساخته شده اند که همگی سیستم های چند عاملی Multi Agent هستند و عامل ها کرم های شتاب های مصنوعی یا به اختصار کرم شتاب هایی هستند که مشابه با کرم های شتاب واقعی رفتار می کنند.
الگوریتم کرم شتاب ، یک مثال بارز از هوش جمعی هستند که در آن عامل هایی که قابلیت چندان بالایی ندارند، در کنار هم و با همکاری یکدیگر می توانند نتایج بسیار خوبی به دست بیاورند. از این دسته الگوریتم ها می توان به الگوریتم های کلونی مورچگان، زنبور عسل، پرندگان و … اشاره کرد.
الگوریتم کرم شب تاب (FA)
الگوریتم کرم شب تاب یا Firefly Algorithm (به اختصار FA) در اواخر سال ۲۰۰۷ و توسط Xin-She Yang معرفی شده است، که ایده اصلی آن از ارتباط نوری میان کرم های شب تاب الهام گرفته شده است. این الگوریتم را می توان از مظاهر هوش ازدحامی یا Swarm Intelligence دانست، که در آن از همکاری اعضای ساده و کم هوش، مرتبه بالاتری از هوشمندی ایجاد می شود که قطعا توسط هیچ یک از اجزا قابل حصول نیست.
الگوریتم FA یک الگوریتم فراکتشافی، با الهام از رفتار های کرم شب تاب مصنوعی است. این الگوریتم با فرضیه زیر فرمول بندی شده است:
- همه کرم شب تاب ها تمایل جنسی دارند، به طوری که یک کرم شب تاب به تمام کرم شب تاب های دیگر را جذب می کند.
- جذابیت متناسب است به روشنایی خود، و برای هر دو کرم شب تاب یکی کمتر روشن خواهد شد جذب (و در نتیجه به حرکت می افتد ) یکی روشن تر، با این حال، روشنایی می تواند به عنوان فاصله آنها افزایش و یا کاهش یابد .
- اگر کرم شب تابی روشن تر از کرم شب تاب داده شده وجود داشته باشد آن را به طور تصادفی حرکت خواهد داد.
روشنایی باید با تابع هدف در ارتباط باشد.
برای درک کامل الگوریتم کرم شب تاب اعم از تاریخچه، تشریح، فرمول ها، شبه کد و فلوچارت مقاله ای تحت عنوان الگوریتم کرم شب تاب Firefly Algorithm آماده کرده ایم که می توانید مطالعه کنید.
سورس کد الگوریتم کرم شب تاب در متلب
سورس کد الگوریتم FA در Matlab شامل یک فایل با یک Script و 6 تابع تست ارائه شده است. توابع تست برای ارزیابی الگوریتم های بهینه سازی بکار می روند که در این سایت برای توضیحات بیشتر در مورد توابع تست الگوریتم های بهینه سازی مقاله ای آماده کردیم. توابع تست این پروژه عبارتند از :
- تابع SPHERE
- تابع ACKLEY
- تابع SUM SQUARES
- تابع ROSENBROCK
- تابع SUM OF DIFFERENT POWERS
- تابع ZAKHAROV
توابع زیادی برای تست عملکرد الگوریتم های بهینه سازی وجود دارد که در اینجا ما به این 6 تابع اکتفا کرده ایم. همچنین لازم به ذکر است که برای اجرای الگوریتم بهینه سازی روی مسئله مورد نظر تابع هزینه یا Cost Function آن تغییر خواهد کرد و بقیه الگوریتم دست نخورده باقی می ماند بنابراین برای اجرای الگوریتم کرم شب تاب در متلب برای بهینه سازی مسئله خودتان تابع هزینه خود را بر اساس پارامترهای مسئله خود تعریف کنید. در ادامه قسمت هایی از سورس کد الگوریتم کرم شب تاب در Matlab آورده شده است.
for it=1:MaxIt newpop=repmat(firefly,nPop,1); for i=1:nPop newpop(i).Cost = inf; for j=1:nPop if pop(j).Cost < pop(i).Cost rij=norm(pop(i).Position-pop(j).Position)/dmax; beta=beta0*exp(-gamma*rij^m); e=delta*unifrnd(-1,+1,VarSize); newsol.Position = pop(i).Position ... + beta*rand(VarSize).*(pop(j).Position-pop(i).Position) ... + alpha*e; newsol.Position=max(newsol.Position,VarMin); newsol.Position=min(newsol.Position,VarMax); newsol.Cost=CostFunction(newsol.Position); if newsol.Cost <= newpop(i).Cost newpop(i) = newsol; if newpop(i).Cost<=BestSol.Cost BestSol=newpop(i); end end end end end
ویدئوی معرفی محصول
درباره محصول
سورس کد الگوریتم کرم شب تاب در متلب Firefly Algorithm در محیط Matlab 2014b نوشته و اجرا شده است این سورس کد توسط تیم پشتیبانی پی استور تست و اجرا شده است. کیفیت محصول توسط پی استور تضمین می شود و محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری فرمایید به محض خرید لینک دانلود در دسترس خواهد بود.
مباحث مرتبط با الگوریتم کرم شب تاب
سورس کد الگوریتم های بهینه سازی در متلب
تاریخ انتشار: | 6 فروردین 1398 |
---|---|
تاریخ بروزرسانی: | 25 شهریور 1398 |
حجم فایل: | 2.6 کیلوبایت |
فرمت فایل | m. در قالب Matlab |
نسخه: | 1.0 |
شناسه اثر: | ندارد |
هماهنگی با: | Matlab 2014b |
تاکنون 527 نفر این محصول را تهیه کرده اند و 1 نظر برای آن ثبت شده است.
نظرات و دیدگاه ها
قوانین ثبت دیدگاه
- لطفاً دیدگاه های خود را فارسی تایپ کنید.
- دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
- از درج دیدگاه های تکراری پرهیز نمایید.
- سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.
قیمت 49,000 تومان
تاریخ انتشار: | 6 فروردین 1398 |
---|---|
تاریخ بروزرسانی: | 25 شهریور 1398 |
حجم فایل: | 2.6 کیلوبایت |
فرمت فایل | m. در قالب Matlab |
نسخه: | 1.0 |
شناسه اثر: | ندارد |
هماهنگی با: | Matlab 2014b |
1 بازخورد (مشاهده نظرات)
قیمت: 49,000 تومان
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما در میان بگذارید.