مجموعه آموزشی پی استور - https://programstore.ir

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

هدف از الگوریتم های بهینه سازی یافتن یک جواب قابل قبول، با توجه به محدودیت‌ و نیاز مسئله است. در تعیین جواب یك مسئله، ممكن است جواب‌های مختلفی برای آن وجود داشته باشد. برای مقایسه جواب های یک مسئله و انتخاب جواب بهینه، تابعی به نام تابع هدف یا تابع هزینه که Cost Function نیز نامیده می شود، تعریف می‌شود. انتخاب این تابع به ماهیت مسئله وابسته است. به عنوان مثال، زمان یا هزینه از جمله اهداف رایج بهینه‌سازی شبكه‌های حمل و نقل است.

انتخاب تابع هدف مناسب یكی از مهمترین مراحل در الگوریتم های بهینه سازی است. گاهی در بهینه‌سازی چند هدف به طور همزمان مد نظر قرار می‌گیرد؛ این گونه مسائل بهینه‌سازی را كه دربرگیرنده چند تابع هدف هستند، مسائل چند هدفی می‌نامند. ساده‌ترین راه در برخورد با این گونه مسائل، تشكیل یك تابع هدف جدید به صورت تركیب خطی توابع هدف اصلی است كه در این تركیب میزان اثرگذاری هر تابع با وزن اختصاص یافته به آن مشخص می‌شود. هر مسأله بهینه‌سازی دارای تعدادی متغیر مستقل است كه آنها را متغیرهای طراحی می‌نامند كه با بردار n بعدی x نشان داده می‌شوند. هدف از بهینه‌سازی تعیین متغیرهای طراحی است، به گونه‌ای كه تابع هدف كمینه یا بیشینه شود.

انواع مسئله بهینه سازی

مسائل مختلف بهینه‌سازی به دو دسته زیر تقسیم می‌شود:

1- مسائل بهینه‌سازی بی‌محدودیت

در این مسائل هدف، بیشینه یا كمینه كردن تابع هدف بدون هر گونه محدودیتی بر روی متغیرهای طراحی می‌باشد.

2- مسائل بهینه‌سازی با محدودیت

الگوریتم های بهینه سازی در اغلب مسائل كاربردی، با توجه به محدودیت‌هایی صورت می‌گیرد؛ محدودیت‌هایی كه در زمینه رفتار و عملكرد یك سیستم می‌باشد و محدودیت‌های رفتاری و محدودیت‌هایی كه در فیزیك و هندسه مسأله وجود دارد، محدودیت‌های هندسی یا جانبی نامیده می‌شوند. معادلات معرف محدودیت‌ها ممكن است به صورت مساوی یا نامساوی باشند كه در هر مورد، روش بهینه‌سازی متفاوت می‌باشد. به هر حال محدودیت‌ها، ناحیه قابل قبول در طراحی را معین می‌كنند.

 

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

فرآیند بهینه ­سازی

فرآیند بهینه سازی بطور کلی در چهار مرحله فرموله کردن، مدل سازی، بهینه سازی و استقرار مسئله انجام می شود که در ادامه به توضیح هر یک از این مراحل پرداخته می شود.

در این مرحله، یك مسئله ­ی تصمیم ­گیری، همراه با یك ساختار كلی از آن تعریف می‌شود. این ساختار كلی ممكن است خیلی دقیق نباشد اما وضعیت كلی مسئله را، كه شامل فاكتورهای ورودی و خروجی و اهداف مسئله است، بیان می­ كند. شفاف­ سازی و ساختاردهی به مسئله، ممكن است برای بسیاری از مسایل بهینه­ سازی، كاری پیچیده باشد.

در این مرحله یك مدل ریاضی كلی برای مسئله، ساخته می­ شود. مدل­سازی ممكن است از مدل­ های مشابه در پیشینه ­ی موضوع كمك بگیرد. این گام موجب تجزیه مسئله به یك یا چند مدل بهینه‌سازی می­ گردد.

پس از مدل سازی مسئله، روال حل، یك راه ­حل خوب برای مسئله تولید می­ كند. این راه‌حل ممكن است بهینه یا تقریباً بهینه باشد. نكته ­ای كه باید به آن توجه داشت این است كه راه ­حل به دست آمده، راه­ حلی برای مدل طراحی شده است، نه برای مسئله ­ی واقعی. در هنگام فرموله كردن و مدلسازی ممكن است تغییراتی در مسئله واقعی به وجود آمده و مسئله­ ی جدید، نسبت به مسئله­ ی واقعی تفاوت زیادی داشته باشد.

راه ­حل به دست آمده توسط تصمیم گیرنده بررسی می­ شود و در صورتی كه قابل قبول باشد، مورد استفاده قرار می­ گیرد و در صورتی كه راه­حل قابل قبول نباشد، مدل یا الگوریتم بهینه­ سازی باید توسعه داده شده و فرایند بهینه­ سازی تكرار گردد.

بهینه سازی

الگوریتم­ های بهینه­ سازی

هدف الگوریتم های بهینه سازی یا الگوریتم­ های اکتشافی، ارائه راه حل در چارچوب یک زمان قابل قبول است که برای حل مسئله مناسب باشد، ممکن است الگوریتم اکتشافی، بهترین راه حل واقعی برای حل مسئله نبوده ولی می­ تواند راه حل نزدیک به بهترین باشد. الگوریتم های اکتشافی با الگوریتم­ های بهینه­ سازی برای اصلاح کارایی الگوریتم می‌توانند ترکیب شوند. الگوریتم فرا اکتشافی ترکیبی است از الگوریتم ­های اکتشافی که برای پیدا کردن، تولید یا انتخاب هر اکتشاف در هر مرحله طراحی می­ شود و راه حل خوبی برای مسائلی که مشکل بهینه‌سازی دارند ارائه می‌دهد. الگوریتم­ های فرا اکتشافی برخی از فرضیات مسائل بهینه­ سازی که باید حل شود را در نظر می ­گیرد.

روش‌های فرا ابتكاری برگرفته از طبیعت

الگوریتم ­های فراابتكاری [2] الگوریتم ­هایی هستند كه با الهام از طبیعت، فیزیك و انسان طراحی شده ­اند و در حل بسیاری از مسایل بهینه­ سازی استفاده می­ شوند. معمولاً از الگوریتم­ های فراابتكاری در تركیب با سایر الگوریتم­ ها، جهت رسیدن به جواب بهینه یا خروج از وضعیت جواب بهینه محلی استفاده می­گردد. در سال‌های اخیر یكی از مهمترین و امیدبخش‌ترین تحقیقات، «روش‌های ابتكاری برگرفته از طبیعت» بوده است؛ این روش‌ها شباهت‌هایی با سیستم‌های اجتماعی و یا طبیعی دارند. كاربرد ‌آنها برگرفته از روش‌های ابتكاری پیوسته می‌باشد كه در حل مسائل مشكل تركیبی (NP-Hard) نتایج بسیار خوبی داشته است.

در ابتدا با تعریفی از طبیعت و طبیعی بودن روش‌ها شروع می‌كنیم؛ روش‌ها برگرفته از فیزیك، زیست‌شناسی و جامعه‌شناسی هستند و به صورت زیر تشكیل شده‌اند:

طبیعت دارای دو تدبیر بزرگ می‌باشد:

  1. انتخاب پاداش برای خصوصیات فردی قوی و جزا برای فرد ضعیف‌تر؛
  2. جهش كه معرفی اعضای تصادفی و امکان تولد فرد جدید را میسر می‌سازد.

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

  1. پدیده‌ای حقیقی در طبیعت را مدل‌سازی می‌كنند.
  2. بدون قطع می‌باشند.
  3. اغلب بدون شرط تركیبی همانند (عامل‌های متعدد) را معرفی می‌نمایند.
  4. تطبیق‌پذیر هستند.

خصوصیات بالا باعث رفتاری معقول در جهت تأمین هوشمندی می‌شود. تعریف هوشمندی نیز عبارت است از قدرت حل مسائل مشكل؛ بنابراین هوشمندی به حل مناسب مسائل بهینه‌سازی تركیبی منجر می‌شود.

الگوریتم های بهینه سازی معروف

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

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

از محبوب ترین الگوریتم های بهینه سازی، الگوریتم ژنتیک است این الگوریتم روشی برای بهینه سازی با جستجوی وسیع است و کارکرد آن بر اصول انتخاب طبیعی حاکم بر ژنتیک طبیعی استوار است. ایده این الگوریتم [3] از نظریه تکامل داروین الهام گرفته شده است. اگرچه این الگوریتم روشی برای جستجوی تصادفی است، ویژگی های خاص آن موجب می شود که نتوان آن را یک جستجوی تصادفی ساده قلمداد کرد. این الگوریتم جزو الگوریتم های تکاملی [4] است.

در آغاز الگوریتم، تعدادی از افراد به‌عنوان جمعیت اولیه و معمولاً به‌صورت تصادفی ساخته‌شده و معیاری از کیفیت به نام تابع هدف یا برازندگی برای تک تک آن ها ارزیابی می شود. اگر شرط رسیدن به جواب برقرار نباشد (به جواب بهینه نرسیده باشیم)، نسل بعدی با انتخاب والدین بر اساس میزان برازندگی آن ها تولید می شود.

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

در این فرایند، افراد مناسب تر با احتمال بیشتری در نسل های بعد باقی خواهند ماند و این فرایند تا برقرار شدن شرط خاتمه تکرار می شود. الگوریتم زمانی پایان خواهد یافت که بهبودی بر روی جواب ها صورت نگیرد و یا اینکه تعداد مشخصی نسل تولید شود. توضیح کامل این الگوریتم را می توانید در همین سایت از مقاله ای کامل تحت عنوان الگوریتم ژنتیک [5] مطالعه فرمایید.

حل مسئله TSP با الگوریتم ژنتیک GA در متلب [6]

آموزش حل مسئله TSP با الگوریتم ژنتیک GA در متلب

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

2- الگوریتم بهینه سازی ازدحام ذرات یا PSO

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

طراحان PSO از این سناریو اقتباس کردند و از آن برای حل مشکلات بهینه سازی استفاده کردند. در PSO، هر یک از راه حل یک “پرنده” در فضای جستجو است. ما آن را “ذره” می نامیم. تمام ذرات دارای مقادیر تناسب هستند که توسط تابع تناسب برای بهینه سازی ارزیابی می شوند و دارای سرعت هایی هستند که پرواز ذرات را هدایت می کنند. ذرات از طریق فضای مشکل با ذرات بهینه مطلوب جریان می یابند. توضیح کامل الگوریتم ازدحام ذرات را می توانید در همین سایت از مقاله ای کامل تحت عنوان الگوریتم PSO [7] مطالعه فرمایید.

آموزش الگوریتم PSO در پایتون [8]

آموزش الگوریتم PSO در پایتون

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

3- الگوریتم کرم شب­ تاب Firefly Algorithm

الگوریتم های بهینه سازی FA با مدلسازی رفتار مجموعه ای از کرم های شب تاب و تخصیص مقداری مرتبط با برازندگی مکان هر کرم شب تاب به عنوان مدلی برای میزان رنگدانه های شب تاب و به روز کردن مکان کرم ها در تکرار های متوالی الگوریتم به جستجوی جواب بهینه مسئله می پردازد. در واقع دو مرحله اصلی الگوریتم در هر تکرار فاز به روز کردن رنگدانه و فاز حرکت هستند. کرم های شب تاب به سمت کرم های شب تاب دیگر با رنگدانه بیشتر که در همسایگی آنها باشند حرکت می کنند. به این ترتیب طی تکرار های متوالی مجموعه به سمت جواب بهتر متمایل می گردد. توضیح کامل این الگوریتم را می توانید در همین سایت از مقاله ای کامل تحت عنوان الگوریتم کرم شب­ تاب Firefly Algorithm [9] مطالعه فرمایید.

پاورپوینت الگوریتم کرم شب تاب FA [10]

پاورپوینت الگوریتم کرم شب تاب FA

پاورپوینت الگوریتم کرم شب تاب FA در محیط Microsoft Powerpoint 2019 طراحی شده است. این پاورپوینت با پسوند .pptx در 13 صفجه و قابل ویرایش می باشد. برای تهیه این پاورپوینت روی لینک زیر کلیک کنید.

4- الگوریتم کلونی مورچگان

الگوریتم کلونی مورچگان یا الگوریتم بهینه سازی کلونی مورچه Ant Colony Optimization الهام گرفته شده از مطالعات و مشاهدات روی کلونی مورچه هاست. این مطالعات نشان داده که مورچه‌ها حشراتی اجتماعی هستند که در کلونی‌ها زندگی می‌کنند و رفتار آنها بیشتر در جهت بقاء کلونی است تا درجهت بقاء یک جزء از آن. یکی از مهمترین و جالبترین رفتار مورچه‌ها، رفتار آنها برای یافتن غذا است و به ویژه چگونگی پیدا کردن کوتاهترین مسیر میان منابع غذایی و آشیانه. توضیح کامل این الگوریتم را می توانید در همین سایت از مقاله ای کامل تحت عنوان الگوریتم کلونی مورچگان [11] مطالعه فرمایید.

پاورپوینت الگوریتم کلونی مورچه ACO [12]

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

پاورپوینت الگوریتم کلونی مورچه ACO با پسوند .pptx در 17 صفجه و قابل ویرایش می باشد. در این پاورپوینت به توضیح و تشریح کامل الگوریتم پرداخته شده است. برای تهیه این پاورپوینت روی لینک زیر کلیک کنید.

5- الگوریتم زنبور عسل

الگوریتم کلونی زنبور عسل مصنوعی (Artificial bee colony algorithm) یک الگوریتم بهینه سازی بر اساس هوش جمعی و رفتار هوشمندانه جمعیت زنبور عسل است. الگوریتم کلونی زنبور عسل مصنوعی یا به اختصار ABC، یک راهکار بهینه‌سازی است که رفتار یک کلونی زنبور عسل را شبیه‌سازی می‌کند و برای اولین بار در سال 2۰۰۵ توسط Dervis Karaboga، برای بهینه‌سازی ارائه شد. توضیح این الگوریتم را می توانید در همین سایت از مقاله ای کامل تحت عنوان الگوریتم کلونی زنبور عسل [13] مطالعه فرمایید.

پاورپوینت الگوریتم بهینه سازی کلونی زنبور مصنوعی ABC [14]

پاورپوینت الگوریتم بهینه سازی کلونی زنبور مصنوعی ABC

پاورپوینت الگوریتم بهینه سازی کلونی زنبور مصنوعی ABC در محیط Microsoft Powerpoint 2019 طراحی شده است این پاورپوینت با پسوند .pptx در 31 صفجه و قابل ویرایش می باشد.

6- الگوریتم رقابت استعماری

الگوریتم رقابت استعماری (Imperialist Competitive Algorithm ) یا ICA روشی در حوزه محاسبات تکاملی است که به یافتن پاسخ بهینه مسائل مختلف بهینه‌سازی می‌پردازد. این الگوریتم با مدلسازی ریاضی فرآیند تکامل اجتماعی – سیاسی، الگوریتمی برای حل مسائل ریاضی بهینه‌سازی ارائه می‌دهد. پایه‌های اصلی این الگوریتم را سیاست همسان سازی (Assimilation)، رقابت استعماری (Imperialistic Competition) و انقلاب (Revolution) تشکیل می‌دهند. این الگوریتم با تقلید از روند تکامل اجتماعی، اقتصادی و سیاسی کشورها و با مدلسازی ریاضی بخش‌هایی از این فرایند، عملگرهایی را در قالب منظم به صورت الگوریتم ارائه می‌دهد که می‌توانند به حل مسائل پیچیده بهینه‌سازی کمک کنند. توضیح این الگوریتم را می توانید در همین سایت از مقاله ای کامل تحت عنوان الگوریتم رقابت استعماری [15] مطالعه فرمایید.

انتخاب ویژگی با الگوریتم رقابت استعماری در متلب – انتخاب ویژگی با الگوریتم استعماری [16]

آموزش انتخاب ویژگی با الگوریتم رقابت استعماری در متلب

این فیلم آموزشی به مسئله انتخاب ویژگی یا Feature Selection در مسائل Classification یا دسته بندی از حوزه الگوریتم‌های یادگیری ماشین و داده کاوی با استفاده از الگوریتم رقابت استعماری می‌پردازد. این آموزش در مدت زمان 1 ساعت و 18 دقیقه توسط مهندس حسن سعادتمند تدریس شده است.

7- الگوریتم تکاملی تفاضلی

الگوریتم تکاملی تفاضلی یا الگوریتم DE یک الگوریتم تکاملی است که اولین بار در سال 1995 توسط Rainer Storn و Kenneth Price معرفی شد. این محققان در مقاله ای تحت عنوان Differential Evolution a Practical Approach to Global Optimization نشان دادند که این الگوریتم توانایی خوبی در بهینه سازی توابع غیرخطی مشتق ناپذیر دارد که به عنوان روشی قدرتمند و سریع برای مسائل بهینه سازی در فضاهای پیوسته معرفی شده است. الگوریتم DE جهت غلبه بر عیب اصلی الگوریتم ژنتیک، یعنی نبود جستجوی محلی دراین الگوریتم ارائه شده است، تفاوت اصلی بین الگوریتم های ژنتیک و الگوریتم DE در عملگر انتخاب Selection Operators است. توضیح این الگوریتم را می توانید در همین سایت از مقاله ای کامل تحت عنوان الگوریتم تکاملی تفاضلی – Differential Eevolution Algorithm [17] مطالعه فرمایید.

الگوریتم تکاملی تفاضلی برای TSP – سورس کد الگوریتم تکاملی تفاضلی برای حل مسئله فروشنده دوره گرد TSP در متلب [18]

سورس کد الگوریتم تکاملی تفاضلی برای حل مسئله فروشنده دوره گرد TSP در متلب

سورس کد الگوریتم تکاملی تفاضلی برای حل مسئله فروشنده دوره گرد TSP در متلب در نرم افزار 2017 Matlab نوشته شده است. برای تهیه این سورس کد روی لینک زیر کلیک کنید.

8- الگوریتم بهینه سازی وال ها یا نهنگ WOA

الگوریتم بهینه سازی وال ها یا نهنگ WOA یک الگوریتم بهینه سازی الهام گرفته شده از طبیعت و مبتنی بر جمعیت است که از رفتار شکار نوع خاصی از وال ها یا نهنگ ها که به نهنگ های گوژپشت معروف هستند الهام گرفته شده است. این الگوریتم توسط سید علی میرجلیلی (Seyedali Mirjalili) در سال ۲۰۱۶ در مقاله The Whale Optimization Algorithm در ژورنال Advances in Engineering Software پایگاه علمی Elsevier ارائه شده است. توضیح کامل این الگوریتم را می توانید در همین سایت از مقاله ای کامل تحت عنوان الگوریتم بهینه سازی وال ها یا نهنگ WOA [19] مطالعه فرمایید.

پکیج آموزش الگوریتم وال WOA [20]

پکیج کامل آموزش الگوریتم وال WOA

پکیج آموزش الگوریتم وال یا نهنگ WOA در متلب مفاهیم لازم برای آموزش و یادگیری و هر آنچه لازم است برای الگوریتم وال یا نهنگ WOA بدانید را در خود دارد. برای تهیه این پک روی لینک زبر کلیک کنید.

9- الگوریتم شعله پروانه MFO

الگوریتم شعله پروانه یا الگوریتم Moth-flame optimization algorithm که به اختصار الگوریتم MFO نیز نامیده می شود یکی از الگوریتم های بهینه سازی و فراابتکاری است که از رفتار پروانه ها در کنار شعله یا آتش روشی برای حل مسئله پیدا می کند. این الگوریتم در سال 2015 توسط سید علی میر جلیلی در مقاله ای تحت عنوان Moth-flame optimization algorithm: A novel nature-inspired heuristic paradigm در ژورنال Knowledge-Based Systems مطرح شد. الگوریتم شعله پروانه با نام های دیگری همچون الگوریتم پروانه آتش، الگوریتم MFO، الگوریتم پروانه شعله نیز شناخته می شود.

این الگوریتم یک الگوی اکتشافی نوین الهام گرفته از طبیعت و رفتار پروانه ها و علاقه مندی آن ها به شعله یا آتش است. توضیح کامل این الگوریتم را می توانید در همین سایت از مقاله ای کامل تحت عنوان الگوریتم شعله پروانه MFO [21] مطالعه فرمایید.

فیلم آموزش الگوریتم شمع و پروانه MFO در متلب [22]

آموزش الگوریتم شمع و پروانه MFO در متلب

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

10- الگوریتم بهینه سازی مبتنی بر آموزش و یادگیری TLBO

الگوریتم بهینه سازی TLBO یا بهینه سازی مبتنی بر یادگیری و آموزش یک روش بهینه سازی می باشد. که برای اولین بار توسط آقای Rao و همکاران در ژورنال معروف Computer-Aided Design از انتشارات ELSEVIER در مقاله ای با عنوان Teaching–learning-based optimization: A novel method for constrained mechanical design optimization problems معرفی شد.

الگوریتم بهینه سازی TLBO نیز مشابه سایر روش های بهینه سازی موجود یک الگوریتم برگرفته از طبیعت و مبتنی بر جمعیت است و بر اساس تاثیر یک معلم بر روی یادگیری در کلاس درس کار می کند. این الگوریتم از یک جمعیتی از جواب ها برای دستیابی به جواب کلی استفاده می نماید. جمعیت به عنوان گروهی از یادگیران یا دانش آموزان یک کلاس در نظر گرفته می شوند. یک معلم تلاش می کند تا با آموزش به دانش آموزان، سطح دانش کلاس را افزایش دهد و دانش آموز به نمره یا رتبه خوبی مطابق با توانایی خودش دست یابد. در حقیقت یک معلم خوب کسی است که دانش آموز خود را به سطح دانش خود یا نزدیک به خود برساند.

معلم یک شخص با دانش بالا در جامعه بوده که علم خود را با دانش آموزان خود تقسیم می کنند، به طوری که بهترین جواب ( بهترین عضو جمعیت ) در همان تکرار به عنوان معلم عمل می کند. اما لازم است به این نکته اشاره شود که دانش آموزان مطابق با کیفیت آموزش ارائه شده توسط معلم و وضعیت شاگردان حاضر در کلاس دانش کسب می کنند. علاوه بر این دانش آموزان از تعامل متقابل بین خودشان که به وضعیتشان کمک می کند آموزش می بینند. توضیح کامل این الگوریتم را می توانید در همین سایت از مقاله ای کامل تحت عنوان الگوریتم بهینه سازی TLBO [23] مطالعه فرمایید.

آموزش الگوریتم TLBO اصلاح شده MTLBO در متلب [24]

آموزش الگوریتم TLBO اصلاح شده MTLBO در متلب

در فیلم آموزش الگوریتم TLBO اصلاح شده MTLBO در متلب به توضیح و تشریح تئوری و مفاهیم الگوریتم TLBO و نسخه اصلاح شده آن یعنی MTLBO پرداخته شده است. در صورت نیاز به این آموزش می توانید بر روی لینک زیر کلیک کنید.

11- الگوریتم بهینه سازی گرگ خاکستری GWO

الگوریتم گرگ خاکستری Grey Wolf Optimizer یا به اختصار GWO توسط سید علی میرجلیلی (Seyedali Mirjalili) در سال 2014 در مقاله Grey Wolf Optimizer در ژورنال Advances in Engineering Software پایگاه علمی Elsevier ارائه شده است. در پکیج آموزشی منتشر شده، شما می توانید تئوری و مفاهیم مرتبط با الگوریتم گرگ خاکستری را بصورت فیلم آموزشی بطور کامل یاد بگیرید. در این فیلم آموزشی پس از بیان مفاهیم و مدل سازی حل مسئله، الگوریتم در زبان پایتون پیاده سازی شده است. برای تهیه این مجموعه می توانید روی لینک زیر کلیک کرده و پس از خریداری آن را دانلود کنید.

الگوریتم گرگ خاکستری GWO یک الگوریتم متاهیورستیک است که از ساختار سلسله مراتبی hieratical و رفتار اجتماعی گرگ های خاکستری در هنگام شکار کردن الهام گرفته است. بهینه سازی با استفاده از گرگ های alpha, beta و delta انجام می شود. یک گرگ به عنوان alpha هدایت کننده اصلی الگوریتم فرض می شود و یک گرگ beta و delta نیز مشارکت دارند و بقیه گرگ ها به عنوان دنبال کننده آن ها محسوب می شوند. برای درک کامل این الگوریتم مقاله ای تحت عنوان الگوریتم گرگ خاکستری GWO [26] در این سایت آماده شده که می توانید آن را مطالعه فرمایید.

پکیج آموزش الگوریتم گرگ خاکستری GWO [27]

پکیج کامل آموزش الگوریتم گرگ خاکستری GWO

پکیج آموزش الگوریتم گرگ خاکستری GWO در متلب، یک پکیج کامل برای آموزش و یادگیری و هر آنچه لازم است برای الگوریتم گرگ خاکستری بدانید را در خود دارد. در صورت نیاز می توانید از طریق لینک زیر این پکیج را تهیه کنید.

12- الگوریتم شاهین هریس HHO

الگوریتم شاهین هریس یا Harris Hawks Optimizer که به اختصار HHO نامیده می شود در سال 2019 توسط علی اصغر حیدری در ژورنال Future Generation Computer Systems [28] از الزویر [29] ابداع و چاپ شده است. الگوریتم HHO یک الگوریتم بهینه‌سازی [30] مبتنی بر جمعیت و الهام‌گرفته از طبیعت است که از رفتار مشارکتی و سبک تعقیب و گریز شاهین‌های هریس در غافلگیری طعمه نشأت می گیرد.

در این رفتار و استراتژی هوشمند، چندین شاهین با همکاری یکدیگر یک طعمه را از جهات مختلف مورد حمله قرار می دهند تا آن را غافلگیر کنند. از این رفتار شاهین های هریس برای به دام انداختن طعمه برای حل مسائل بهینه سازی استفاده شده است. برای درک بیشتر این الگوریتم بهینه سازی می توانید مقاله الگوریتم شاهین هریس — آموزش رایگان 0 تا 100 الگوریتم HHO [31] ما را مطالعه کنید.

پاورپوینت الگوریتم شاهین هریس HHO [32]

پاورپوینت آماده الگوریتم شاهین هریس HHO

پاورپوینت آماده الگوریتم شاهین هریس HHO در 23 اسلاید در قالب ppt. یا pptx. با قابلیت ویرایش برای ارائه درسی آماده دانلود می‌باشد. برای تهیه و دانلود این پاورپوینت از طریق لینک زیر اقدام کنید.

13- الگوریتم کلونی پنگوئن های امپراتور

الگوریتم پنگوئن های امپراتور یا Emperor Penguins Colony از جمله کاربردی ترین الگوریتم های فراابتکاری بوده و با نام اختصاری الگوریتم EPC به عنوان یک الگوریتم بهینه سازی محبوب شناخته شده است. این الگوریتم در سال 2018 توسط Sasan Harifi ابداع و در ژورنال Evolutionary Intelligence [34] پایگاه علمی Springer به چاپ رسیده است.

الگوریتم متاهیوریستیک پنگوئن های امپراتور، با الهام از طبیعت و با استفاده از دو فاکتور گرمای بدن پنگوئن ها و نحوه حرکت شان در کلونی مربوط به هر کدام، یک یا چند راه‌حل مناسب برای مسئله بهینه‌سازی، ارائه می دهد. برای درک بیشتر این الگوریتم بهینه سازی می توانید مقاله الگوریتم پنگوئن های امپراتور — آموزش رایگان 0 تا 100 الگوریتم EPC [35] ما را مطالعه کنید.

پاورپوینت الگوریتم پنگوئن های امپراتور EPC [36]

پاورپوینت آماده الگوریتم پنگوئن های امپراتور EPC

در پاورپوینت الگوریتم پنگوئن های امپراتور EPC به توضیح و تشریح کامل الگوریتم پرداخته شده است. این پاورپوینت در 31 اسلاید در فرمت pptx. قابل ویرایش بوده و برای ارائه کلاسی در حوزه الگوریتم های بهینه سازی مناسب است.

مقایسه الگوریتم های بهینه سازی

شاید مهم ترین سوال و دغدغه اکثر محققان در استفاده از الگوریتم های بهینه سازی و مخصوصاً الگوریتم های فرا ابتکاری یا Metaheuristic، انتخاب یک الگوریتم مناسب برای حل مسئله است. به طور قاطع نمی توان گفت برای حل یک مسئله کدام الگوریتم بهینه سازی یا متاهیورستیک مناسب است و فقط با مقایسه نتایج می توان ادعا کرد کدام الگوریتم روش بهتری را ارائه می کند.

در سورس کدی که در متلب برای شما آماده شده است به مقایسه 12 الگوریتم بهینه سازی و نتایج حاصل از آنها پرداخته شده است. این الگوریتم ها مبتنی بر جمعیت یا population based بوده که با الهام گیری از طبیعت و محیط پیرامون ما اقدام به حل مسئله می کنند. این الگوریتم ها عبارتند از:

برای مقایسه عملکرد الگوریتم های فوق از 23 تابع تست [37] یا تابع محک استفاده کرده ایم. توابع زیادی برای تست عملکرد الگوریتم های بهینه سازی وجود دارد که در اینجا ما به این 23 تابع اکتفا کرده ایم. همچنین لازم به ذکر است که برای اجرای الگوریتم بهینه سازی روی مسئله مورد نظر تابع هزینه یا Cost Function آن تغییر خواهد کرد و بقیه الگوریتم دست نخورده باقی می ماند.

مقایسه الگوریتم های بهینه سازی در متلب [38]

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

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