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

کد تخفیف: PR1404

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

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

الگوریتم تکاملی تفاضلی در متلب

هزینه سفارش:

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

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

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

سورس کد الگوریتم تکاملی تفاضلی در متلب عنوان موضوعی است که در این پست به آن پرداخته شده است. الگوریتم تکاملی تفاضلی (Differential Evolution Algorithm) یا الگوریتم DE یک الگوریتم بهینه سازی است و مشابه اساس الگوی الگوریتم ژنتیک کار می‌کند.

سورس کد الگوریتم تکاملی تفاضلی در متلب عنوان موضوعی است که در این پست به آن پرداخته شده است. الگوریتم تکاملی تفاضلی (Differential Evolution Algorithm) یا الگوریتم DE یک الگوریتم بهینه سازی است و مشابه اساس الگوی الگوریتم ژنتیک کار می‌کند.

الگوریتم تکاملی تفاضلی یا الگوریتم DE یک الگوریتم تکاملی است که اولین بار در سال ۱۹۹۵ توسط Rainer Storn و Kenneth Price معرفی شد. این محققان در مقاله ای تحت عنوان Differential Evolution a Practical Approach to Global Optimization نشان دادند که این الگوریتم توانایی خوبی در بهینه سازی توابع غیرخطی مشتق ناپذیر دارد که به عنوان روشی قدرتمند و سریع برای مسائل بهینه سازی در فضاهای پیوسته معرفی شده است.

الگوریتم تکاملی تفاضلی Differential Eevolution Algorithm

الگوریتم DE جهت غلبه بر عیب اصلی الگوریتم ژنتیک، یعنی نبود جستجوی محلی در این الگوریتم ارائه شده است، تفاوت اصلی بین الگوریتم‌های ژنتیک و الگوریتم DE در عملگر انتخاب Selection Operators است. در عملگر انتخاب الگوریتم GA، شانس انتخاب یک جواب به عنوان یکی از والدین وابسته به مقدار شایستگی آن می‌باشد، اما در الگوریتم DE همه جواب‌ها دارای شانس مساوی جهت انتخاب شدن می‌باشند. یعنی شانس انتخاب شدن، وابسته به مقدار شایستگی آن‌ها نمی‌باشد، پس از این که یک جواب جدید با استفاده از یک عملگر جهش mutation و عملگر crossover تولید شد، جواب جدید با مقدار قبلی مقایسه می‌شود و در صورت بهتر بودن جایگزین می‌گردد.

در الگوریتم تکاملی تفاضلی بر خلاف دیگر الگورتیم‌ها که اول عملگر crossover و سپس عملگر mutation انجام می‌شود به گونه‌ای که ابتدا عملگر جهش اعمال شده و سپس عملگر crossover اعمال می شود تا بدین وسیله نسل جدید ایجاد گردد. برای اعمال عملگر mutation از توزیع خاصی استفاده نمی‌شود بلکه طول گام جهش برابر با مقدار از فاصله میان اعضای فعلی تعیین می‌شود.

برای درک الگوریتم تکاملی تفاضلی توضیح کامل این الگوریتم را می‌توانید در همین سایت از مقاله‌ای کامل تحت عنوان الگوریتم تکاملی تفاضلی Differential Eevolution Algorithm مطالعه فرمایید.

سورس کد الگوریتم تکاملی تفاضلی در متلب

سورس کد الگوریتم تکاملی تفاضلی در GUI Matlab شامل توابعی است که تابع Main در واقع کد اصلی برنامه می‌باشد و بقیه فراخوانی‌ها از آن‌جا انجام می‌شود. همچنین این برنامه با ۶ تابع تست ارائه شده است. توابع تست برای ارزیابی الگوریتم های بهینه سازی بکار می‌روند که در این سایت برای توضیحات بیشتر در مورد توابع تست الگوریتم های بهینه سازی مقاله ای آماده کردیم. توابع تست این پروژه عبارتند از :

  • تابع  SPHERE
  • تابع ACKLEY
  • تابع SUM SQUARES
  •  تابع ROSENBROCK
  • تابع SUM OF DIFFERENT POWERS
  • تابع ZAKHAROV

توابع زیادی برای تست عملکرد الگوریتم های بهینه سازی وجود دارد که در اینجا ما به این ۶ تابع اکتفا کرده‌ایم. همچنین لازم به ذکر است که برای اجرای الگوریتم بهینه سازی روی مسئله مورد نظر تابع هزینه یا Cost Function آن تغییر خواهد کرد و بقیه الگوریتم دست نخورده باقی می‌ماند بنابراین برای اجرای الگوریتم تکاملی تفاضلی در متلب برای بهینه سازی مسئله خودتان تابع هزینه خود را بر اساس پارامترهای مسئله خود تعریف کنید.

قسمتی از سورس کد الگوریتم تکاملی تفاضلی در متلب

for it=1:MaxIt
    
    for i=1:nPop
        
        x=pop(i).Position;
        
        A=randperm(nPop);
        
        A(A==i)=[];
        
        a=A(1);
        b=A(2);
        c=A(3);
        
        % Mutation
       
          
        % Crossover
       
        
        NewSol.Position=z;
        NewSol.Cost=CostFunction(NewSol.Position);
        
        if NewSol.Cost<pop(i).Cost
            pop(i)=NewSol;
            
            if pop(i).Cost<BestSol.Cost
               BestSol=pop(i);
            end
        end
        
    end
    
    % Update Best Cost
    BestCost(it)=BestSol.Cost;
    
    % Show Iteration Information
    disp(['Iteration ' num2str(it) ': Best Cost = ' num2str(BestCost(it))]);
    semilogy(Output,BestCost,'LineWidth',2);
     hold(Output, 'on');
     grid(Output, 'on');
     pause(0.001);
     xlim([1,MaxIt]);
     xlabel('Iteration');
     ylabel('Best Cost');
end

تصویر خروجی سورس کد الگوریتم تکاملی تفاضلی در متلب

الگوریتم تکاملی تفاضلی در متلب

درباره سورس کد الگوریتم تکاملی تفاضلی در متلب

سورس کد الگوریتم تکاملی تفاضلی در متلب در محیط Matlab 2017 نوشته و اجرا شده است این سورس کد توسط تیم پشتیبانی پی استور تست و اجرا شده است. کیفیت اثر توسط پی استور تضمین می‌شود و دارای نشان تضمین کیفیت پی استور می‌باشد. برای دانلود سورس کد آن را خریداری فرمایید به محض خرید لینک دانلود در دسترس خواهد بود.

مشاهده بیشتر

ویدئوی معرفی اثر

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


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

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

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

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

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

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

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

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

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

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

نظرات

1 نظر|5.00 (میانگین امتیاز کاربران)

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

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

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

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

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

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

هزینه سفارش:

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

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

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