سورس کد الگوریتم تکاملی تفاضلی در متلب عنوان موضوعی است که در این پست به آن پرداخته شده است. الگوریتم تکاملی تفاضلی (Differential Evolution Algorithm) یا الگوریتم DE یک الگوریتم بهینه سازی است و مشابه اساس الگوی الگوریتم ژنتیک کار می کند.
الگوریتم تکاملی تفاضلی یا الگوریتم DE یک الگوریتم تکاملی است که اولین بار در سال 1995 توسط 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 در واقع کد اصلی برنامه می باشد و بقیه فراخوانی ها از آنجا انجام می شود. همچنین این برنامه با 6 تابع تست ارائه شده است. توابع تست برای ارزیابی الگوریتم های بهینه سازی بکار می روند که در این سایت برای توضیحات بیشتر در مورد توابع تست الگوریتم های بهینه سازی مقاله ای آماده کردیم. توابع تست این پروژه عبارتند از :
- تابع SPHERE
- تابع ACKLEY
- تابع SUM SQUARES
- تابع ROSENBROCK
- تابع SUM OF DIFFERENT POWERS
- تابع ZAKHAROV
توابع زیادی برای تست عملکرد الگوریتم های بهینه سازی وجود دارد که در اینجا ما به این 6 تابع اکتفا کرده ایم. همچنین لازم به ذکر است که برای اجرای الگوریتم بهینه سازی روی مسئله مورد نظر تابع هزینه یا 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 نوشته و اجرا شده است این سورس کد توسط تیم پشتیبانی پی استور تست و اجرا شده است. کیفیت محصول توسط پی استور تضمین می شود و محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری فرمایید به محض خرید لینک دانلود در دسترس خواهد بود.
تضمین کیفیت و گارانتی بازگشت هزینه
توجه: کیفیت این محصول توسط پی استور تضمین شده و در صورت عدم رضایت از محصول، به انتخاب شما:
- ۱۰۰ درصد مبلغ پرداختی در حساب کاربری شما شارژ میشود.
- و یا 80 درصد مبلغ پرداختی به حساب بانکی شما عودت داده میشود.
الگوریتم تکاملی تفاضلی در متلب
تاریخ انتشار: | 15 فوردین 1398 |
---|---|
تاریخ بروزرسانی: | 25 شهریور 1398 |
حجم فایل: | 27.5 کیلوبایت |
فرمت فایل | m. در قالب Matlab |
مدت زمان: | 1.0 |
شناسه اثر: | ندارد |
هماهنگی با: | Matlab 2017 |
تاکنون 504 نفر این محصول را تهیه کرده اند و 1 نظر برای آن ثبت شده است.
نظرات و دیدگاه ها
قوانین ثبت دیدگاه
- لطفاً دیدگاه های خود را فارسی تایپ کنید.
- دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
- از درج دیدگاه های تکراری پرهیز نمایید.
- سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.
الگوریتم تکاملی تفاضلی در متلب
هزینه سفارش: 99,000 تومان
تاریخ انتشار: | 15 فوردین 1398 |
---|---|
تاریخ بروزرسانی: | 25 شهریور 1398 |
حجم فایل: | 27.5 کیلوبایت |
فرمت فایل | m. در قالب Matlab |
مدت زمان: | 1.0 |
شناسه اثر: | ندارد |
هماهنگی با: | Matlab 2017 |
1 بازخورد (مشاهده نظرات)
هزینه سفارش: 99,000 تومان
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما درمیان بگذارید.