دانلود کد و فیلم آموزشی فارسی الگوریتم تكامل تفاضلي

الگوريتم تكامل تفاضلي
الگوريتم تكامل تفاضلي DE نخستين بار در سال 1995توسط استورن و پرايس [37] معرفي شد. اين الگوريتم در نخستين مسابقه بهينه سازي IEEE مقام اول را كسب كرد. استورن و پرايس در كار بعدي خود [38] با استفاده از توابع محك بسيار متنوعي عملكرد الگوريتم خود را با تعدادي از مشهورترين روشهاي بهينه سازي مقايسه كردند. نتايج آزمايشهاي آنها نشان دهنده ي برتري الگوريتم DE بود. از آن زمان تاكنون، اين الگوريتم موضوع بسياري از مقالات علمي در ادبيات الگوريتمهاي تكاملي بوده است. به عنوان مثال، برگي و ديگران [39] با كنترل فشار انتخاب DE را از نظر سرعت همگرايي بهبود دادند.

آزمايشهاي آنها بر روي توابع دييانگ نشان دهنده ي برتري روش آنها در برابر دو نسخه معروف DE يعني DE/rand/1/bin و DE/best/2/bin بود. سلمان و همکاران [40] با استفاده از استراتژي خود تطبيقي [41] الگوريتم DE را از نظر دقت همگرايي بهبود دادند.
کيان و ديگران [42] ضمن تطبيق پارامتر جهش در هر نسل، از روش رتبه بندي مبتني بر پرتو و مرتب سازي تفاوت ازدحام براي انتخاب بازماندگان استفاده كردند.

گانگ و ديگران [43] براي افزايش سرعت همگرايي DE از مدل طراحي متعامد و استراتژي خودتطبيقي استفاده كردند. تورديك [44 ] آزمايشهايي را بر روي مدلهاي تطبيقي نسخه هاي مختلف الگوريتم DE انجام داد. او با استفاده از سه تابع محك، خصوصيات اين الگوريتم ها را با ساير الگوريتمهاي بهينه سازي مقايسه كرد. همچنين ، زاهاريه [45] اثر عملگرهاي مختلف بازتركيبي را بررفتار الگوريتم DE مورد بررسي قرار داد.
مهمترين ويژگيهاي DE سرعت بالا، سادگي و قدرتمند بودن آن است. اين روش تنها با تنظيم سه پارامتر شروع به كار ميكند. پارامتر CR (احتمال انجام بازتركيب )، پارامتر NP (اندازه جمعيت) و پارامتر F (وزن جهش) است كه در تفاضل دو بردار ضرب مي شود و به بردار سوم اضافه مي شود. به گفته استورن و پرايس، پارامتر F معمولا بين 0 تا 2 تنظيم مي شود. اين الگوريتم، ابتدا جمعيتي به اندازه NP با مقادير تصادفي در محدوده مقادير مسئله مربوطه ايجاد مي كند.
جهش
در اين مرحله 3 بردار به صورت تصادفي و دو به دو متفاوت انتخاب مي شوند. بردار جهش يافته به شكل زير براي هر بردار درون جمعيت ايجاد مي شود.

harmony_memory_MATLAB5

استورن و پرايس دو عملگر متفاوت براي جهش معرفي كرده اند. عملگري كه در فرمول بالا معرفي شد، مربوط به طرح اول مي باشد. آنها همچنين طرحي ديگر را براي عملگر جهش ارائه دادن كه در فرمول پايين آمده است. اين طرح با استفاده از بهترين بردار، درجه حريصانه بودن حركت الگوريتم به سمت بهينه را افزايش مي دهد. معمولا اين طرح براي مسائلي كه يافتن بهينه عمومي آنها ساده است، براي افزايش سرعت همگرايي بسيار مناسب است.
harmony_memory_MATLAB6

بازتركيب
در مرحله بازتركيب هر يك از مؤلفه هاي اين بردار جهش يافته با احتمال CR به بردار كانديدها منتقل مي شوند و در غير اين صورت، مؤلفه ي معادل در بردار اصلي جايگزين مي شود.

harmony_memory_MATLAB7

در معادله بالا rand(j) j امين فراخواني تابع تصادفي است كه عددي ميان صفر و يك توليد مي كند. البته براي تضمين اينكه حداقل يك مؤلفه به بردار آزمايشي منتقل مي شود، يك مؤلفه بصورت اتفاقي و بدون در نظر گرفتن CR از بردار جهش يافته به بردار آزمايشي منتقل مي شود. براي اين كار، براي هر بردار كانديدا ، يك مؤلفه به صورت تصادفي و با استفاده از تابع randb() براي انتقال به نسل بعدي انتخاب مي شود.
انتخاب
به منظور انتخاب بازماندگان از روش حريصانه استفاده مي شود و هر بردار با بردار كانديداي مربوطه مقايسه مي شود، هركدام كه شايستگي بيشتري داشته باشد به نسل بعدي منتقل مي شود.

harmony_memory_MATLAB8

نمادسازي DE
الگوريتم DE نسخه هاي گوناگوني دارد كه به وسيله نمادسازي زير مشخص ميشوند. بسته به كاربرد، ميتوان از هريك از ايssن نسخه ها براي بهينه سازي استفاده كرد. مرور كاملي بر توانايي هاي اين نسخه ها در بهينه سازي توابع مختلف در [46] موجود است.
نمادسازي DE به صورت مقابل ميباشد:
DE/x/y/z
x بردار جهش يافته مي باشد، كه مي تواند تصادفي يا براساس شايستگي انتخاب شود. براي اين نماد، دو گزينه Rand و best پيش بيني شده اند. در صورت انتخاب گزينه best ، همواره بهترين بردار عضو جمعيت براي انجام جهش انتخاب مي شو و در صورت انتخاب rand براي هر جهش يك بردار به صورت تصادفي انتخاب ميشود. Y تعداد بردارهاي تفاضل مورد استفاده است. Z نوع بازتركيب مورد استفاده است. در نسخه هايي كه معرفي شد و نتايج خود را با آن مقايسه خواهيم كرد، X تصادفي و y برابر 1 و z دوجمله اي (bin) مي باشد. بنابراين، نسخه معرفي شده در اين بخش DE/rand/1/bin و نسخه معروف و موفق ديگر اين روش، DE/best/2/bin مي باشد كه نتايج خوبي داشته است. عملگر جهش در الگوريتم DE عملا جستجوي محلي را انجام مي دهد. براي اعمال جستجوي عمومي، استورن و پرايس عملگر بازتركيبي را به شكلي تعريف كرده اند كه تنوع را در بردار فرزند تضمين مي كند. رويكرد استورن و پرايس در عين سادگي نتايج بسيار خوبي در بر دارد. الگوريتم DE با اضافه كردن تفاضل دو بردار تصادفي به برداري ديگر به سرعت به سمت بهينه حركت مي كند. در عين حال، استورن و پرايس براي فرار از بهينه محلي نيز راه حلي انديشيده اند و آن روش ، انتخاب بازماندگان از طريق مقايسه هر بردار با بردار جهش يافته متناظر آن است. به اين ترتيب، الگوريتم در عين فراموش نكردن بردارهاي شايسته درون جمعيت، در دام همگرايي زودرس و بهينه محلي نمي افتد.

 

.

.

کدهای اماده الگوریتم تکامل تفاضلی به همراه یک فیلم آموزشی فارسی از این الگوریتم توسط گروه ایران متلب آماده شده است که شما می توانید تقاضای این کد و فیلم آموزش فارسی را از برای ما ارسال کنید.

 

لینک دریافت این مجموعه

 

 

بعد از واریز هزینه کدها آماده متلب MATLAB ، الگوریتم تکامل تفاضلی به همراه یک فیلم آموزشی فارسی برای شما ارسال و می توانید آنها را دانلود کنید و در پروژه یا پایان نامه خود استفاده کنید.

differentional Evolution MATLAB code

18 دیدگاه دربارهٔ «دانلود کد و فیلم آموزشی فارسی الگوریتم تكامل تفاضلي»

    1. blank

      بله این کد متلب به هر نوع مسئله بهینه سازی قابل استفاده است.
      شما کافی است تابع هزینه را درست تعریف کنید.

    1. blank

      ما حداکثر تلاشمون را کردیم که یک فیلم آموزشی خوب ارائه بدهیم
      و نظر خریدارن قبلی نشان داده که فیلم کاملیه

    1. blank

      بله هم الگوریتم تکامل تفاضلی و هم کد متلب توضیح جامعی داده شده است.
      در فیلم گفتیم که چگونه در کاربردهای مختلف استفاده بشود.

    1. blank

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

    1. blank

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

  1. blank

    سلام، وقت بخیر
    میخوام مسئله رو با دو تابع هدف و 8 متغیر طراحی که مقید هستند و قیدها نامساوی هستند رو بهینه سازی کنم. آیا میتونم از این محصول استفاده کنم یا به کد خاصی از de برای حل این مسئله بخصوص نیاز هست؟

    1. blank
      ایران متلب

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

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

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