در این بخش سورس کد الگوریتم بهینه ساز خفاش BA در پایتون Python قرار گرفته شده است. این سورس کد به زبان پایتون Python برای الگوریتم بهینه سازی خفاش Bat Algorithm به اختصار BA نوشته شده است. این سورس کد بر اساس ساز و کار الگوریتم خفاش مسائل بهینه سازی را حل می کند. این الگوریتم الهام گرفته از زیست طبیعی خفاش ها است این الگوریتم توسط یانگ در سال 2010 توسعه یافته است.
الگوریتم BA از روش تنظیم فرکانس برای افزایش تنوع راه حل در جمعیت استفاده می کند. این الگوریتم با بزرگنمایی خودکار سعی در تعادل بخشیدن به اکتشاف و بهره برداری در طی فرآیند جستجو دارد این کار را با تقلید از تغییرات میزان انتشار پالس و بلندی صدای خفاش ها هنگام جستجوی طعمه انجام می دهد. در ادامه مختصری از الگوریتم برای درک کد الگوریتم در پایتون بیان می شود.
برنامهنویس: تیم برنامه نویسی پی استور
متشکل از اساتید و فارغ التحصیلان رشته های فنی - مهندسی
تیم برنامه نویسی پی استور یکی از اولین گروه های تشکیل شده در مجموعه آموزشی پی استور می باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته های فنی و مهندسی تشکیل شده که در زمینه های مختلف برنامه نویسی و تهیه سورس کد فعال هستند.
الگوریتم بهینه سازی خفاش
الگوریتم های فرا ابتکاری که معمولاً الهام گرفته شده از طبیعت و فرآيندهای فيزيكی می باشند، در حال حاضر به عنوان یکی از روش های قدرتمند برای حل بسیاری از مسائل بهینه سازی پیچیده به کار برده می شوند. الگوریتم خفاش یکی از الگوریتم های فراابتکاری الهام گرفته از طبیعت است که در سال ۲۰۱۰ توسط آقای یانگ معرفی گردید.
این الگوریتم بر اساس اصول زندگی خفاش ها طراحی شده است. خفاش ها تنها پستانداران بالداری هستند که برای شکار طعمه از انعکاس صدا استفاده می کنند.
الگوریتم خفاش با استفاده از تکنیک تنظیم فرکانس تنوع راه حل های موجود در جمعیت را افزایش می دهند. مغز و دستگاه عصبی خفاش ها با مقایسه موج های فرستاده شده و موج های بازتاب شده می تواند تصویری از فضای پیرامون و جزئیاتش برای خود بسازد. با این ویژگی خفاش ها می تواندد اجسام متحرک دورو بر خود را شناسایی کنند.
با بررسی و بهینه سازی این الگوریتم در سیستم ها و شبکه های کامپیوتری و تطبیق آن با سیستمهای خبره و هوشمند می توان به تکنینک های نوین جهت مسیر یابی و تخمین مسافت در کاربردهای هوا فضا، بهینه سازی سیتم های پرواز در دید کور با استفاده از خلبان خودکار، رانندگی توسط خودروهای هوشمند، بهینه سازی الگوریتمهای هوشمند مسیر یابی در روتر ها و سایر مسایل فنی رسید.
الگوریتم جستجوی خفاش BA در پایتون
زبان برنامهنویسی پایتون یکی از زبانهای پرکاربرد و محبوب در زمینه پیادهسازی انواع روشها و الگوریتمها در تحقیقات آکادمیک و دانشگاهی است. خوشبختانه در مجموعه پی استور مقالات متنوعی در مورد آموزش زبان برنامهنویسی پایتون قرار داده شده است و روز به روز به تعداد این آموزش ها اضافه میشود. برای دسترسی به این مقالات می توانید مجموعه آموزشهای پایتون را نیز مطالعه کنید.
در این قسمت سورس کد الگوریتم بهینه ساز خفاش BA در پایتون Python آماده شده است این سورس کد شامل 2 فایل می باشد که عبارتند از:
- benchmarks.py: این فایل شامل 23 تابع هزینه یا Fitness از توابع benchmark می باشد و در اکثر مقالات علمی از این توابع محک برای ارزیابی الگوریتم ها استفاده می کنند.
- BA.py: فایل اصلی برای اجرای الگوریتم بهینه ساز خفاش BA در پایتون می باشد که فراخوانی ها از طریق این فایل انجام و اجرا خواهد شد.
قسمت هایی از سورس کد توابع محک
import numpy import math # define the function blocks def prod( it ): p= 1 for n in it: p *= n return p def Ufun(x,a,k,m): y=k*((x-a)**m)*(x>a)+k*((-x-a)**m)*(x<(-a)); return y def F1(x): s=numpy.sum(x**2); return s def F2(x): o=sum(abs(x))+prod(abs(x)); return o; def F3(x): dim=len(x)+1; o=0; for i in range(1,dim): o=o+(numpy.sum(x[0:i]))**2; return o; def F4(x): o=max(abs(x)); return o; def F5(x): dim=len(x); o=numpy.sum(100*(x[1:dim]-(x[0:dim-1]**2))**2+(x[0:dim-1]-1)**2); return o; def F6(x): o=numpy.sum(abs((x+.5))**2); return o; def F7(x): dim=len(x); w=[i for i in range(len(x))] for i in range(0,dim): w[i]=i+1; o=numpy.sum(w*(x**4))+numpy.random.uniform(0,1); return o; def F8(x): o=sum(-x*(numpy.sin(numpy.sqrt(abs(x))))); return o; def F9(x): dim=len(x); o=numpy.sum(x**2-10*numpy.cos(2*math.pi*x))+10*dim; return o; def F10(x): dim=len(x); o=-20*numpy.exp(-.2*numpy.sqrt(numpy.sum(x**2)/dim))-numpy.exp(numpy.sum(numpy.cos(2*math.pi*x))/dim)+20+numpy.exp(1); return o; def F11(x): dim=len(x); w=[i for i in range(len(x))] w=[i+1 for i in w]; o=numpy.sum(x**2)/4000-prod(numpy.cos(x/numpy.sqrt(w)))+1; return o; def F12(x): dim=len(x); o=(math.pi/dim)*(10*((numpy.sin(math.pi*(1+(x[0]+1)/4)))**2)+numpy.sum((((x[1:dim-1]+1)/4)**2)*(1+10*((numpy.sin(math.pi*(1+(x[1:dim-1]+1)/4))))**2))+((x[dim-1]+1)/4)**2)+numpy.sum(Ufun(x,10,100,4)); return o; def F13(x): dim=len(x); o=.1*((numpy.sin(3*math.pi*x[1]))**2+sum((x[0:dim-2]-1)**2*(1+(numpy.sin(3*math.pi*x[1:dim-1]))**2))+ ((x[dim-1]-1)**2)*(1+(numpy.sin(2*math.pi*x[dim-1]))**2))+numpy.sum(Ufun(x,5,100,4)); return o; def F14(x): aS=[[-32,-16,0,16,32,-32,-16,0,16,32,-32,-16,0,16,32,-32,-16,0,16,32,-32,-16,0,16,32],[-32,-32,-32,-32,-32,-16,-16,-16,-16,-16,0,0,0,0,0,16,16,16,16,16,32,32,32,32,32]]; aS=numpy.asarray(aS); bS = numpy.zeros(25) v=numpy.matrix(x) for i in range(0,25): H=v-aS[:,i]; bS[i]=numpy.sum((numpy.power(H,6))); w=[i for i in range(25)] for i in range(0,24): w[i]=i+1; o=((1./500)+numpy.sum(1./(w+bS)))**(-1); return o; def F15(L): aK=[.1957,.1947,.1735,.16,.0844,.0627,.0456,.0342,.0323,.0235,.0246]; bK=[.25,.5,1,2,4,6,8,10,12,14,16]; aK=numpy.asarray(aK); bK=numpy.asarray(bK); bK = 1/bK; fit=numpy.sum((aK-((L[0]*(bK**2+L[1]*bK))/(bK**2+L[2]*bK+L[3])))**2); return fit def F16(L): o=4*(L[0]**2)-2.1*(L[0]**4)+(L[0]**6)/3+L[0]*L[1]-4*(L[1]**2)+4*(L[1]**4); return o def F17(L): o=(L[1]-(L[0]**2)*5.1/(4*(numpy.pi**2))+5/numpy.pi*L[0]-6)**2+10*(1-1/(8*numpy.pi))*numpy.cos(L[0])+10; return o def F18(L): o=(1+(L[0]+L[1]+1)**2*(19-14*L[0]+3*(L[0]**2)-14*L[1]+6*L[0]*L[1]+3*L[1]**2))*(30+(2*L[0]-3*L[1])**2*(18-32*L[0]+12*(L[0]**2)+48*L[1]-36*L[0]*L[1]+27*(L[1]**2))); return o # map the inputs to the function blocks def F19(L): aH=[[3,10,30],[.1,10,35],[3,10,30],[.1,10,35]]; aH=numpy.asarray(aH); cH=[1,1.2,3,3.2]; cH=numpy.asarray(cH); pH=[[.3689,.117,.2673],[.4699,.4387,.747],[.1091,.8732,.5547],[.03815,.5743,.8828]]; pH=numpy.asarray(pH); o=0; for i in range(0,4): o=o-cH[i]*numpy.exp(-(numpy.sum(aH[i,:]*((L-pH[i,:])**2)))); return o def F20(L): aH=[[10,3,17,3.5,1.7,8],[.05,10,17,.1,8,14],[3,3.5,1.7,10,17,8],[17,8,.05,10,.1,14]]; aH=numpy.asarray(aH); cH=[1,1.2,3,3.2]; cH=numpy.asarray(cH); pH=[[.1312,.1696,.5569,.0124,.8283,.5886],[.2329,.4135,.8307,.3736,.1004,.9991],[.2348,.1415,.3522,.2883,.3047,.6650],[.4047,.8828,.8732,.5743,.1091,.0381]]; pH=numpy.asarray(pH); o=0; for i in range(0,4): o=o-cH[i]*numpy.exp(-(numpy.sum(aH[i,:]*((L-pH[i,:])**2)))); return o def F21(L): aSH=[[4,4,4,4],[1,1,1,1],[8,8,8,8],[6,6,6,6],[3,7,3,7],[2,9,2,9],[5,5,3,3],[8,1,8,1],[6,2,6,2],[7,3.6,7,3.6]]; cSH=[.1,.2,.2,.4,.4,.6,.3,.7,.5,.5]; aSH=numpy.asarray(aSH); cSH=numpy.asarray(cSH); fit=0; for i in range(0,4): v=numpy.matrix(L-aSH[i,:]) fit=fit-((v)*(v.T)+cSH[i])**(-1); o=fit.item(0); return o def F22(L): aSH=[[4,4,4,4],[1,1,1,1],[8,8,8,8],[6,6,6,6],[3,7,3,7],[2,9,2,9],[5,5,3,3],[8,1,8,1],[6,2,6,2],[7,3.6,7,3.6]]; cSH=[.1,.2,.2,.4,.4,.6,.3,.7,.5,.5]; aSH=numpy.asarray(aSH); cSH=numpy.asarray(cSH); fit=0; for i in range(0,6): v=numpy.matrix(L-aSH[i,:]) fit=fit-((v)*(v.T)+cSH[i])**(-1); o=fit.item(0); return o def F23(L): aSH=[[4,4,4,4],[1,1,1,1],[8,8,8,8],[6,6,6,6],[3,7,3,7],[2,9,2,9],[5,5,3,3],[8,1,8,1],[6,2,6,2],[7,3.6,7,3.6]]; cSH=[.1,.2,.2,.4,.4,.6,.3,.7,.5,.5]; aSH=numpy.asarray(aSH); cSH=numpy.asarray(cSH); fit=0; for i in range(0,9): v=numpy.matrix(L-aSH[i,:]) fit=fit-((v)*(v.T)+cSH[i])**(-1); o=fit.item(0); return o
ویدیو معرفی محصول
*** توجه ***
قبل از اجرای سورس کد الگوریتم در محیط پایتون حتماً از نصب پکیج های مورد استفاده در این سورس کد در Python خود مطمئن شوید پکیج های استفاده شده در این سورس کد numpy و matplotlib می باشد که اولی پکیج مربوط به استفاده از آرایه ها و ماتریس ها در پایتون و دومی مربوط به عملیات های نموداری و Plot گرفتن می باشد. پیشنهاد ما نصب اسپایدر (Spyder (Python 3.7 می باشد که هم پایتون و پکیج های مختلف و هم IDE های مختلفی را همراه با امکان آپدیتشان نصب می کند.
درباره الگوریتم بهینه ساز خفاش BA در پایتون
الگوریتم بهینه ساز خفاش BA در پایتون Python عنوان محصولی است که در این پست به آن پرداخته شده است. محصول در پایتون و با IDE اسپایدر (Spyder (Python 3.8 نوشته شده و بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است. محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری کنید.
مباحث مرتبط با الگوریتم خفاش BA
پاورپوینت های پیشنهادی در حوزه الگوریتم های بهینه سازی
سورس کدهای آماده الگوریتم های مشابه در پایتون
تاریخ انتشار: | 19 دی 1399 |
---|---|
تاریخ بروزرسانی: | 20 اردیبهشت 1400 |
حجم فایل: | 7 کیلوبایت |
فرمت فایل | py. در قالب پایتون |
نسخه: | 1.0 |
هماهنگی با: | (Spyder (Python 3.8 و بالاتر |
تاکنون 339 نفر این محصول را تهیه کرده اند و 2 نظر برای آن ثبت شده است.
نظرات و دیدگاه ها
قوانین ثبت دیدگاه
- لطفاً دیدگاه های خود را فارسی تایپ کنید.
- دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
- از درج دیدگاه های تکراری پرهیز نمایید.
- سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.
قیمت 49,000 تومان
تاریخ انتشار: | 19 دی 1399 |
---|---|
تاریخ بروزرسانی: | 20 اردیبهشت 1400 |
حجم فایل: | 7 کیلوبایت |
فرمت فایل | py. در قالب پایتون |
نسخه: | 1.0 |
هماهنگی با: | (Spyder (Python 3.8 و بالاتر |
2 بازخورد (مشاهده نظرات)
قیمت: 49,000 تومان
مهدی
این سورس کد رو خریدم ولی نتونستم دانلود کنم لطفا به ایمیلم بفرستین.
فاطمه اسماعیلی
سلام. لینک دانلود براتون ارسال شد
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما در میان بگذارید.