totop

الگوریتم ژنتیک در متلبشنبه 17, اکتبر 2020

انجام پروژه متلب

الگوریتم ژنتیک در متلب

در ادامه آموزش های سایت همیارپروژه برنامه نویسی متلب ارائه خواهد شد .آموزشها از مقدماتی تا پیشرفته ادامه دارد و ما به شما کدنویسی در نرم افزار متلب را رایگان یاد خواهیم داد. با ما همراه باشید.

انجام پروژه متلب

الگوریتم ژنتیک در متلب

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

عوامل موثر در پیچیدگی محاسباتی مدل های تصمیم گیری

  • غیر خطی بودن تابع هدف یا محدودیت ها
  • گسسته بودن فضای حل مساله
  • اندازه مساله

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

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

الگوریتم ژنتیک

اﻟﮕﻮرﯾﺘﻢ ژﻧﺘﯿﮏ، اﻟﻬﺎﻣﯽ از ﻋﻠﻢ ژﻧﺘﯿﮏ و ﻧﻈﺮﯾﮥ ﺗﮑﺎﻣﻞ داروﯾﻦ می باشد و ﺑﺮ اﺳﺎس ﺑﻘﺎي ﺑﺮﺗﺮﯾﻦﻫﺎ ﯾﺎ اﻧﺘﺨﺎب  ﻃﺒﯿﻌﯽ اﺳﺘﻮار می باشد. ﯾﮏ ﮐﺎرﺑﺮد ﻣﺘﺪاول اﻟﮕﻮرﯾﺘﻢ ژﻧﺘﯿﮏ، اﺳﺘﻔﺎده از آن ﺑﻌﻨﻮان ﺗﺎﺑﻊ ﺑﻬﯿﻨﻪ ﮐﻨﻨﺪه اﺳﺖ.  اﻟﮕﻮرﯾﺘﻢ ژﻧﺘﯿﮏ اﺑﺰار ﺳﻮدﻣﻨﺪي درﺑﺎزﺷﻨﺎﺳﯽ اﻟﮕﻮ، اﻧﺘﺨﺎب وﯾﮋﮔﯽ،درك ﺗﺼﻮﯾﺮو ﯾﺎدﮔﯿﺮي ﻣﺎﺷﯿﻨﯽ می باشد.

در اﻟﮕﻮرﯾﺘﻢﻫﺎي ژﻧﺘﯿﮑﯽ، ﻧﺤﻮه ﺗﮑﺎﻣﻞ ژﻧﺘﯿﮑﯽ ﻣﻮﺟﻮدات زﻧﺪه ﺷﺒﯿﻪﺳﺎزي ﻣﯽﺷﻮد. اﯾﻦ اﻟﮕﻮرﯾﺘﻢ ﻫﺎ ﺑﺎ اﻟﻬﺎم  از روﻧﺪ ﺗﮑﺎﻣﻠﯽ  ﻃﺒﯿﻌﺖ ﻣﺴﺎﺋﻞ را ﺣﻞ ﻣﯽ ﻧﻤﺎﯾﻨﺪ   . ﯾﻌﻨﯽ ﻣﺎﻧﻨﺪ ﻃﺒﯿﻌﺖ ﯾﮏ ﺟﻤﻌﯿﺖ از ﻣﻮﺟﻮدات را ﺗﺸﮑﯿﻞ ﻣﯽ دﻫﻨﺪ و ﺑﺎ اﻋﻤﺎﻟﯽ ﺑﺮ روي اﯾﻦ ﻣﺠﻤﻮﻋﻪ ﺑﻪ ﯾـﮏ  ﻣﺠﻤﻮﻋﻪ ﺑﻬﯿﻨﻪ و ﯾﺎ ﻣﻮﺟﻮد ﺑﻬﯿﻨﻪ دﺳﺖ ﻣﯽ ﯾﺎﺑﻨﺪ.

جدول هم ارزی مفاهیم بیولوژیکی و عناصر GA

الگوریتم ژنتیک متلب همیار پروژه

نمودار گردشی فرآیند یک الگوریتم تکاملی

الگوریتم ژنتیک همیار پروژه

ساختار الگوریتم ژنتیک

الگوریتم ژنتیک متلب

الگوریتم ژنتیک متلب

مدلسازی مساله با الگوریتم ژنتیک

برای اینکه بتوانیم یک مساله را به وسیله الگوریتم های ژنتیک حل کنیم , بایستی آنرا به فرم مخصوص مورد نیاز این الگوریتم ها تبدیل کنیم.

در این روند ما باید راه حل مورد نیاز مساله را به گونه ای حل نماییم که قابل نمایش به وسیله یک کروموزوم باشد.

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

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

  • اعداد صحیح
  • رشته های بیتی
  • اعداد حقیقی در فرم نقطه شناور
  • اعداد حقیقی به فرم رشته های بینی
  • یک مجموعه از اعداد حقیقی یا صحیح
  • ماشینهای حالت محدود
  • هر فرم دیگری که بتوانیم عملگرهای ژنتیک را بر روی آنها تعریف کنیم
  • انتخابselection (انتخاب والدین)

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

نسل جدیدی از راه حل ها را با انتخاب والدینی که بالاترین fitness را دارند تولید می کند.

والدین

در هر نسل تعدادی از عناصر جمعیت این فرصت را پیدا می کنند که تولید مثل کنند. به این عناصر که از میان جمعیت انتخاب می شوند, والدین می گویند.

روشهای مختلفی برای انتخاب والدین وجود دارند. در زیر به چند مورد این روشها اشاره می کنیم:

انتخاب تمام جمعیت به عنوان والدین

در واقع هیچ گونه انتخابی انجام نمی دهیم.( همه عناصر انتخاب می شوند.)

انتخاب تصادفی

به صورت تصادفی تعدادی از موجودات جمعیت به عنوان والدین انتخاب می کنیم, این انتخاب می تواند با جایگزاری یا بدون جایگذاری باشد.

در این روشها عناصر با شایستگی بیشتر شانس بیشتری برای انتخاب شدن بعنوان والدین را دارند.

سایر روشها:

این روشها با استفاده از تکنیک هایی سعی می کنند که انتخاب هایی را ارائه می دهند, که هم رسیدن به جواب نهایی را تسریع کنند و هم اینکه کمک می کنند که جواب بهینه تری پیدا شود.

انجام عمل بازترکیبی

روش کار الگوریتم ژنتیک در بازترکیبی به صورت زیر می باشد

روش کار به صورت زیر می باشد:

بصورت تصادفی یک نقطه از کروموزوم را انتخاب می کنیم

ژن های ما بعد آن نقطه  از کروموزوم ها را جابه جا می کنیم

بازترکیبی تک نقطه ای (single point crossover)

اگر عملیات بازترکیبی را در یک نقطه انجام دهیم به آن بازترکیبی تک نقطه ای می گویند.

در این روش یک مکان تصادفی در طول رشته انتخاب می شود و gene ها از این مکان به بعد جابه جا می شوند.

الگوریتم ژنتیک متلب

الگوریتم ژنتیک متلب همیارپروژه

ﺑﻬﯿﻨﻪ ﺳﺎزي ﺑﺎ اﻟﮕﻮرﯾﺘﻢ ژﻧﺘﯿﮏ ﻣﺘﻠﺐ GATools

اولین گام در حل مساله این است که دو تابع به یکی برای معاددله اصلی بهینه سازی و دیگری برای قیدهای غیرخطی بنویسید این توابع را جداگانه در m فایل های متفاوت ساخته و در دایرکتوری اصلی متلب ذخیره کنید.

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

به عنوان نمونه مینیمم تابع زیر را به دست خواهیم آورد:

الگوریتم ژنتیک متلب همیارپروژه

قیود ما عبارتند از:

الگوریتم ژنتیک متلب همیارپروژه

قید های غیر خطی نیز در تابع nonlconstr  در متلب ذخیره می شوند

حال با نوشتن دستور gatoolدر پنجره دستورات متلب به سراغ تولباکس الگوریتم ژنتیک متلب می رویم و پارامترهای زیر را تنظم می کنیم:

الگوریتم ژنتیک متلب همیارپروژه

که نقطه فاینال که محاسبه شده و بهینه می باشد در اینجا نقطه (۱,۱) می باشد.

الگوریتم ژنتیک متلب همیارپروژه

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

 

 

جهت سفارش پروژه به لینک زیر مراجعه نمایید :
همچنین می توانید برای ارتباط سریعتر با شماره و آیدی تلگرام زیر تماس حاصل کنید :
۰۹۱۲۹۵۴۰۱۲۲ – آیدی تلگرام : @fnalk

از طریق کلیک برروی آیکن های زیر میتوانید پروژه خود را در تلگرام و یا واتساپ برای ما ارسال کنید:

ثبت سفارش در واتس آپ ثبت سفارش در تلگرام

 

 

 

 

 

 

 


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

نشانی ایمیل شما منتشر نخواهد شد.

حق نشر برای همیارپروژه ❤️ مرجع انجام پروژه دورکاری و آنلاین ✔️ سایت انجام پروژه و استخدام فریلنسر در همه حوزه ها ، مهارت ها ، نرم افزارها و پروژه های برنامه نویسی محفوظ است.