تخفیف نوروزی پی استور

کد تخفیف: PR1404

شامل تمامی آثار
روز
ساعت
دقیقه
ثانیه

با خرید اشتراک ویژه ، با هزینه بسیار کمتر به فایل های پاورپوینت دسترسی داشته باشید!

الگوریتم جستجوی فاخته CS در پایتون

هزینه سفارش:

تخفیف ویژه 60 درصدی

قیمت اصلی: ۲۵۹,۰۰۰ تومان بود.قیمت فعلی: ۱۰۳,۶۰۰ تومان.

روز
ساعت
دقیقه
ثانیه
دریافت کد تخفیف با گردونه شانس %
تعداد فراگیر
322 نفر
امتیاز کاربران
امتیاز 4.25 از 5

این سورس کد به زبان پایتون Python برای الگوریتم بهینه سازی فاخته Cuckoo Search Optimization Algorithm به اختصار CS نوشته شده است. این سورس کد بر اساس ساز و کار الگوریتم CS مسائل بهینه سازی را حل می‌کند. این الگوریتم، از زندگی خانواده‌ای از پرندگان به نام فاخته Cuckoo الهام گرفته شده است. الگوریتم بهینه سازی فاخته براساس شیوه زندگی بهینه و ویژگی‌های جالب این گونه، نظیر تخم‌گذاری و تولید مثل آن‌ها ساخته شده است.

در این بخش سورس کد الگوریتم جستجوی فاخته CS در پایتون Python قرار گرفته شده است. این سورس کد به زبان پایتون Python برای الگوریتم بهینه سازی فاخته Cuckoo Search Optimization Algorithm به اختصار CS نوشته شده است. این سورس کد بر اساس ساز و کار الگوریتم CS مسائل بهینه سازی را حل می‌کند. این الگوریتم، از زندگی خانواده‌ای از پرندگان به نام فاخته Cuckoo الهام گرفته شده است.

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

الگوریتم جستجوی فاخته CS

الگوریتم جستجوی فاخته یک روش بهینه سازی سراسری براساس رفتار فاخته‌ها توسط Yang & Deb در سال ۲۰۰۹ ارائه شده است. الگوریتم بهینه سازی فاخته براساس شیوه زندگی بهینه و ویژگی‌های جالب این گونه، نظیر تخم‌گذاری و تولید مثل آن‌ها ساخته شده است. ویژگی شاخص این الگوریتم، شبیه‌سازی مفهوم بقا، مهاجرت برای یافتن منابع غذایی و انتخاب محیط بهینه برای زندگی است.

جمعیت الگوریتم بهینه سازی فاخته را فاخته‌های بالغ و تخم‌های فاخته تشکیل می‌دهند. الگوریتم اصلی جستجوی فاخته CS بر اساس ایده‌های زیر است:

  • چگونه فاخته‌ها تخم‌های خود را در لانه‌های میزبان می‌گذارند.
  • چگونه در صورت عدم شناسایی و تخریب، تخم‌ها توسط میزبان به جوجه تبدیل می‌شوند.
  • چگونه می‌توان از الگوریتم جستجو براساس چنین طرحی برای یافتن بهینه سراسری یک تابع استفاده کرد.

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

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

الگوریتم جستجوی فاخته CS در پایتون

در این قسمت سورس کد الگوریتم جستجوی فاخته CS در پایتون آماده شده است این سورس کد شامل ۲ فایل می‌باشد  که عبارتند از:

  • benchmarks.py: این فایل شامل ۲۳ تابع هزینه یا Fitness از توابع benchmark می‌باشد و در اکثر مقالات علمی از این توابع محک برای ارزیابی الگوریتم‌ها استفاده می‌کنند.
  • CS.py: فایل اصلی برای اجرای الگوریتم جستجوی فاخته CS در پایتون می‌باشد که فراخوانی‌ها از طریق این فایل انجام و اجرا خواهد شد.

قسمت هایی از سورس کد توابع محک

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های مختلفی را همراه با امکان آپدیتشان نصب می‌کند.


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

سورس کد الگوریتم جستجوی فاخته CS در پایتون Python عنوان اثری است که در این پست به آن پرداخته شده است. اثر در پایتون و با IDE اسپایدر (Spyder (Python 3.8 نوشته شده و بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است. اثر مذکور دارای نشان تضمین کیفیت پی استور می‌باشد. برای دانلود آن را خریداری کنید.

مشاهده بیشتر

معرفی و نحوه اجرا

ویدئوی نحوه اجرا


برنامه‌نویس:  تیم برنامه‌نویسی پی‌استور

متشکل از اساتید و فارغ التحصیلان رشته‌های فنی - مهندسی

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

مشخصات تکمیلی سورس کد

نام اثر: الگوریتم جستجوی فاخته CS در پایتون
نوع اثر: سورس کد
برنامه‌نویس: تیم برنامه‌نویسی پی‌استور
زبان برنامه نویسی: پایتون Python
ویژگی: قابل دانلود و ویرایش

راهنمای خرید و ثبت سفارش

تصویر مراحل خرید از پی استور

اگر در مورد این اثر یا نحوه تهیه آن سوالی دارید؟
  • با شماره تلفن واحد مخاطبین 44225175 (پیش شماره 041) تماس بگیرید. – تمام ساعات اداری
  • با ما مکاتبه ایمیلی داشته باشید (این لینک). – تمام ساعات

توجه: کیفیت این محصول توسط پی استور تضمین شده و در صورت عدم رضایت از محصول، به انتخاب شما:

تصویر و لوگوی گارانتی

نظرات

4 نظر|4.25 (میانگین امتیاز کاربران)

  1. آواتار حسین

    حسین

    مساله ای که الگوریتم در حال حل آن است کجا تعریف شده و می شود؟

    • آواتار مدیریت و پشتیبانی

      مدیریت و پشتیبانی

      سلام و وقت بخیر
      در سورس کد الگوریتم مسئله ها توابع benchmark هستند. به عنوان مثال هدف کمینه کردن تابع Sphere در سورس کد هست. حالا در تابع costfun ما این توابع رو تعریف کردیم و از داخل فایل اصلی داریم در واقع اون رو حل می کنیم.

  2. آواتار کسرا

    کسرا

    درست شد مرسی

  3. آواتار کسرا

    کسرا

    فایلش خرابه:/ چرا اکسترکت نمیشه!؟؟؟

    • آواتار فاطمه اسماعیلی

      فاطمه اسماعیلی

      لطفاً از نرم افزار Winrar 2019 یا بالاتر استفاده نمایید.
      چنانچه هنوز موفق به اکسترکت فایل نشدید از یک نرم افزار مدیریت دانلود استفاده کرده و مجدداً فایل رو دانلود بفرمایید.

  4. آواتار مدیریت و پشتیبانی

    مدیریت و پشتیبانی

    نظرات و پیشنهادات خود را با ما در میان بگذارید.

دیدگاه خود را بنویسید

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

شناسه اثر: 9156 دسته‌بندی موضوعی: برچسب ,

هزینه سفارش:

تخفیف ویژه 60 درصدی

قیمت اصلی: ۲۵۹,۰۰۰ تومان بود.قیمت فعلی: ۱۰۳,۶۰۰ تومان.

دریافت کد تخفیف %