گردونه رو بچرخون و شانس خودت رو برای گرفتن کد تخفیف امتحان کن!

روز
ساعت
دقیقه
ثانیه

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

الگوریتم PSO در متلب تصویر شاخص حاوی عنوان سورس کد، آیکون متلب و تصویری از پرواز پرندگان

الگوریتم PSO در متلب (سورس کامل الگوریتم ازدحام ذرات در متلب)

(دیدگاه کاربر 1)
امتیاز 5.00 از 5

تهیه‌کننده: 

الگوریتم PSO در متلب تصویر شاخص حاوی عنوان سورس کد، آیکون متلب و تصویری از پرواز پرندگان

هزینه سفارش:

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

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

تخصصی و منحصر به فرد بودن این اثر، تضمین کننده بهای محصول نسبت به آثار مشابه است.

الگوریتم PSO در متلب عنوان موضوعی است که در این پست به آن پرداخته شده است. این الگوریتم با نام Particle Swarm Optimization Algorithm یا الگوریتم PSO نیز نامیده می‌شود. در این مجموعه سعی می کنیم تا جزئیات بهتری از سورس کد الگوریتم ازدحام ذرات PSO در متلب ارائه دهیم.

الگوریتم بهینه سازی PSO رفتارهای ازدحام پرندگان را شبیه سازی می‌کند. تصور کنید گروهی از پرندگان به طور تصادفی در یک منطقه در معرض غذا قرار می‌گیرند. در منطقه مورد جستجو تنها یک قطعه غذا وجود دارد. همه پرندگان نمی‌دانند کجا غذا است. اما آنها می‌دانند که چقدر مواد غذایی در هر تکرار است. بنابراین بهترین استراتژی برای یافتن غذا چیست؟ راه حل این است که دنبال پرنده‌ای که نزدیکتر به غذا است را دنبال کنید.

الگوریتم ازدحام ذرات در متلب

الگوریتم ازدحام ذرات PSO

الگوریتم PSO با گروهی از ذرات تصادفی (راه حل) آغاز می‌شود و سپس با به روز رسانی نسل‌ها جستجو می‌کند. در هر تکرار، هر ذره با دو ارزش “بهترین” به روزرسانی می‌شود. اولین مورد بهترین راه حل ( تابع تناسب ) است که تاکنون به دست آورده است. (ارزش تناسب نیز ذخیره می شود.) این ارزش pbest نامیده می‌شود. یکی دیگر از “بهترین‌ها” ارزشی است که تا کنون توسط هر ذره در جمعیت به دست آمده است.

این بهترین ارزش جهانی بهترین است و به نام gbest است. هنگامی که یک ذره بخشی از جمعیت را به عنوان همسایگان توپولوژیکی خود می‌گیرد، بهترین ارزش بهترین محلی است و به نام lbest نامیده می‌شود.

پس از پیدا کردن بهترین مقادیر pbest و gbest  ذره سرعت و موقعیت خود را با معادله زیر (۱) و (۲) به روز می‌کند.

v[] = v[] + c1 * rand() * (pbest[] – present[]) + c2 * rand() * (gbest[] – present[]) (1)
present[] = persent[] + v[] (2)

که در آن v سرعت ذرات است، present ذره فعلی (راه حل) است. pbest و gbest قبلا تعریف شده اند. rand یک عدد تصادفی بین (۰،۱) است. C1، C2 عامل یادگیری هستند. معمولا c1 = c2 = 2 هستند.

آموزش الگوریتم PSO در متلب — مفاهیم تئوری و نحوه پیاده سازی

آموزش مفاهیم تئوری و نحوه پیاده سازی الگوریتم PSO در متلب

فیلم آموزش الگوریتم PSO در متلب از دو بخش تئوری و عملی تشکیل شده است. در بخش تئوری به بررسی رفتار گروه‌های حیوانات و چگونگی تبادل اطلاعات در گروه‌های حیوانات و در بخش عملی نیز الگوریتم ازدحام ذرات در متلب پیاده سازی شده و نمودار همگرایی آن نشان داده شده است. اگر نیاز به یادگیری مراحل و نحوه پیاده سازی الگوریتم دارید می‌توانید از لینک زیر آموزش نحوه پیاده سازی الگوریتم را تهیه کنید.

سورس کد الگوریتم ازدحام ذرات PSO در متلب

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

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

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

در ادامه قسمت هایی از سورس کد الگوریتم PSO در  Matlab آورده شده است.

%% PSO Main Loop

for it=1:MaxIt
    
    for i=1:nPop
        
        % Update Velocity
        particle(i).Velocity = w*particle(i).Velocity ...
            +c1*rand(VarSize).*(particle(i).Best.Position-particle(i).Position) ...
            +c2*rand(VarSize).*(BestSol.Position-particle(i).Position);
        
        % Apply Velocity Limits
        particle(i).Velocity = max(particle(i).Velocity,VelMin);
        particle(i).Velocity = min(particle(i).Velocity,VelMax);
        
        % Update Position
        particle(i).Position = particle(i).Position + particle(i).Velocity;
        
        % Velocity Mirror Effect
        IsOutside=(particle(i).Position<VarMin | particle(i).Position>VarMax);
        particle(i).Velocity(IsOutside)=-particle(i).Velocity(IsOutside);
        
        % Apply Position Limits
        particle(i).Position = max(particle(i).Position,VarMin);
        particle(i).Position = min(particle(i).Position,VarMax);
        
        % Evaluation
        particle(i).Cost = CostFunction(particle(i).Position);
        
        % Mutation
        for k=1:2
            NewParticle=particle(i);
            NewParticle.Position=Mutate(particle(i).Position, mu);
            NewParticle.Cost=CostFunction(NewParticle.Position);
            if NewParticle.Cost<=particle(i).Cost || rand < 0.1
                particle(i)=NewParticle;
            end
        end
        
        % Update Personal Best
        if particle(i).Cost<particle(i).Best.Cost
            
            particle(i).Best.Position=particle(i).Position;
            particle(i).Best.Cost=particle(i).Cost;
            %particle(i).Best.Sol=particle(i).Sol;
            
            % Update Global Best
            if particle(i).Best.Cost<BestSol.Cost
                
                BestSol=particle(i).Best;
                
            end
            
        end
        
    end

درباره الگوریتم ازدحام ذرات در متلب

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

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

نام اثر: الگوریتم PSO در متلب (سورس کامل الگوریتم ازدحام ذرات در متلب)
نوع اثر: سورس کد
برنامه‌نویس: تیم برنامه‌نویسی پی‌استور
زبان برنامه نویسی: Matlab
ویژگی: قابل دانلود و ویرایش

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

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

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

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

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

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

نظرات

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

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

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

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

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

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

شناسه اثر: 5390 دسته‌بندی موضوعی: برچسب:
هوش مصنوعی پاسخگوی شماست ...
avatar
دستیار هوش مصنوعی پی استور
پاسخگوی سوالات شما هستیم...

هزینه سفارش:

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

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