الگوریتم های بهینه سازی
هدف از الگوریتم های بهینه سازی یافتن یک جواب قابل قبول، با توجه به محدودیت و نیاز مسئله است. در تعیین جواب یك مسئله، ممكن است جوابهای مختلفی برای آن وجود داشته باشد. برای مقایسه جواب های یک مسئله و انتخاب جواب بهینه، تابعی به نام تابع هدف یا تابع هزینه که Cost Function نیز نامیده می شود، تعریف میشود. انتخاب این تابع به ماهیت مسئله وابسته است. به عنوان مثال، زمان یا هزینه از جمله اهداف رایج بهینهسازی شبكههای حمل و نقل است. در این مقاله به طور مفصل در مورد الگوریتم های بهینه سازی و مخصوصاً الگوریتم های بهینه سازی هوشمند صحبت خواهیم کرد و به معرفی بسیاری از این الگوریتم ها خواهیم پرداخت.
انتخاب تابع هدف مناسب یكی از مهمترین مراحل در الگوریتم های بهینه سازی است. گاهی در بهینهسازی چند هدف به طور همزمان مد نظر قرار میگیرد؛ این گونه مسائل بهینهسازی را كه دربرگیرنده چند تابع هدف هستند، مسائل چند هدفه مینامند. سادهترین راه در برخورد با این گونه مسائل، تشكیل یک تابع هدف جدید به صورت تركیب خطی توابع هدف اصلی است كه در این تركیب میزان اثرگذاری هر تابع با وزن اختصاص یافته به آن مشخص میشود. هر مسأله بهینهسازی دارای تعدادی متغیر مستقل است كه آنها را متغیرهای طراحی مینامند. هدف از بهینهسازی تعیین متغیرهای طراحی است، به گونهای كه تابع هدف كمینه یا بیشینه شود.
انواع مسئله بهینه سازی
مسائل مختلف بهینهسازی به دو دسته زیر تقسیم میشود:
1- مسائل بهینهسازی بیمحدودیت
در این مسائل هدف، بیشینه یا كمینه كردن تابع هدف بدون هر گونه محدودیتی بر روی متغیرهای طراحی میباشد.
2- مسائل بهینهسازی با محدودیت
الگوریتم های بهینه سازی در اغلب مسائل كاربردی، با توجه به محدودیتهایی صورت میگیرد؛ محدودیتهایی كه در زمینه رفتار و عملكرد یك سیستم میباشد و محدودیتهای رفتاری و محدودیتهایی كه در فیزیك و هندسه مسأله وجود دارد، محدودیتهای هندسی یا جانبی نامیده میشوند. معادلات معرف محدودیتها ممكن است به صورت مساوی یا نامساوی باشند كه در هر مورد، روش بهینهسازی متفاوت میباشد. به هر حال محدودیتها، ناحیه قابل قبول در طراحی را معین میكنند.
فرآیند بهینه سازی
فرآیند بهینه سازی بطور کلی در چهار مرحله فرموله کردن، مدل سازی، بهینه سازی و استقرار مسئله انجام می شود که در ادامه به توضیح هر یک از این مراحل پرداخته می شود.
-
فرموله كردن مسئله
در این مرحله، یك مسئله ی تصمیم گیری، همراه با یك ساختار كلی از آن تعریف میشود. این ساختار كلی ممكن است خیلی دقیق نباشد اما وضعیت كلی مسئله را، كه شامل فاكتورهای ورودی و خروجی و اهداف مسئله است، بیان می كند. شفاف سازی و ساختاردهی به مسئله، ممكن است برای بسیاری از مسایل بهینه سازی، كاری پیچیده باشد.
-
مدل سازی مسئله
در این مرحله یك مدل ریاضی كلی برای مسئله، ساخته می شود. مدلسازی ممكن است از مدل های مشابه در پیشینه ی موضوع كمك بگیرد. این گام موجب تجزیه مسئله به یك یا چند مدل بهینهسازی می گردد.
-
بهینه سازی مسئله
پس از مدل سازی مسئله، روال حل، یك راه حل خوب برای مسئله تولید می كند. این راهحل ممكن است بهینه یا تقریباً بهینه باشد. نكته ای كه باید به آن توجه داشت این است كه راه حل به دست آمده، راه حلی برای مدل طراحی شده است، نه برای مسئله ی واقعی. در هنگام فرموله كردن و مدلسازی ممكن است تغییراتی در مسئله واقعی به وجود آمده و مسئله ی جدید، نسبت به مسئله ی واقعی تفاوت زیادی داشته باشد.
-
استقرار مسئله
راه حل به دست آمده توسط تصمیم گیرنده بررسی می شود و در صورتی كه قابل قبول باشد، مورد استفاده قرار می گیرد و در صورتی كه راهحل قابل قبول نباشد، مدل یا الگوریتم بهینه سازی باید توسعه داده شده و فرایند بهینه سازی تكرار گردد.
الگوریتم های بهینه سازی
هدف الگوریتم های بهینه سازی یا الگوریتم های اکتشافی، ارائه راه حل در چارچوب یک زمان قابل قبول است که برای حل مسئله مناسب باشد، ممکن است الگوریتم اکتشافی، بهترین راه حل واقعی برای حل مسئله نبوده ولی می تواند راه حل نزدیک به بهترین باشد. الگوریتم های اکتشافی با الگوریتم های بهینه سازی برای اصلاح کارایی الگوریتم میتوانند ترکیب شوند. الگوریتم فرا اکتشافی ترکیبی است از الگوریتم های اکتشافی که برای پیدا کردن، تولید یا انتخاب هر اکتشاف در هر مرحله طراحی می شود و راه حل خوبی برای مسائلی که مشکل بهینهسازی دارند ارائه میدهد. الگوریتم های فرا اکتشافی برخی از فرضیات مسائل بهینه سازی که باید حل شود را در نظر می گیرد.
روشهای فرا ابتكاری برگرفته از طبیعت
الگوریتم های فراابتكاری الگوریتم هایی هستند كه با الهام از طبیعت، فیزیك و انسان طراحی شده اند و در حل بسیاری از مسایل بهینه سازی استفاده می شوند. معمولاً از الگوریتم های فراابتكاری در تركیب با سایر الگوریتم ها، جهت رسیدن به جواب بهینه یا خروج از وضعیت جواب بهینه محلی استفاده میگردد. در سالهای اخیر یكی از مهمترین و امیدبخشترین تحقیقات، «روشهای ابتكاری برگرفته از طبیعت» بوده است؛ این روشها شباهتهایی با سیستمهای اجتماعی و یا طبیعی دارند. كاربرد آنها برگرفته از روشهای ابتكاری پیوسته میباشد كه در حل مسائل مشكل تركیبی (NP-Hard) نتایج بسیار خوبی داشته است.
در ابتدا با تعریفی از طبیعت و طبیعی بودن روشها شروع میكنیم؛ روشها برگرفته از فیزیك، زیستشناسی و جامعهشناسی هستند و به صورت زیر تشكیل شدهاند:
- استفاده از تعداد مشخصی از سعیها و كوششهای تكراری
- استفاده از یك یا چند عامل (نرون، خردهریز، كروموزوم، مورچه و غیره)
- عملیات (در حالت چند عاملی) با یك سازوکار همكاری ـ رقابت
- ایجاد روشهای خود تغییری و خود تبدیلی
طبیعت دارای دو تدبیر بزرگ میباشد:
- انتخاب پاداش برای خصوصیات فردی قوی و جزا برای فرد ضعیفتر؛
- جهش كه معرفی اعضای تصادفی و امکان تولد فرد جدید را میسر میسازد.
به طور كلی دو وضعیت وجود دارد كه در روشهای ابتكاری برگرفته از طبیعت دیده میشود، یكی انتخاب و دیگری جهش. انتخاب ایدهای مبنا برای بهینهسازی و جهش ایدهای مبنا برای جستجوی پیوسته میباشد. از خصوصیات روشهای ابتكاری برگرفته از طبیعت، میتوان به موارد زیر اشاره كرد:
- پدیدهای حقیقی در طبیعت را مدلسازی میكنند.
- بدون قطع میباشند.
- اغلب بدون شرط تركیبی همانند (عاملهای متعدد) را معرفی مینمایند.
- تطبیقپذیر هستند.
خصوصیات بالا باعث رفتاری معقول در جهت تأمین هوشمندی میشود. تعریف هوشمندی نیز عبارت است از قدرت حل مسائل مشكل؛ بنابراین هوشمندی به حل مناسب مسائل بهینهسازی تركیبی منجر میشود.
الگوریتم های بهینه سازی معروف
در طی سال های اخیر الگوریتم های زیادی برای بهینه سازی مطرح شده است که بر پایه رفتارهای طبیعت و رفتارهای اجتماعی عمل می کنند. این الگوریتم ها در مراحل ابتدایی بصورت تصادفی اقدام به تولید جواب می کنند و در مراحل بعدی با تکیه بر فرآیند ها طبیعی در رسیدن به جواب های بهتری را تولید می کنند. در ادامه برخی از انواع این الگوریتم ها معرفی شده است.
1- الگوریتم ژنتیک
از محبوب ترین الگوریتم های بهینه سازی، الگوریتم ژنتیک است این الگوریتم روشی برای بهینه سازی با جستجوی وسیع است و کارکرد آن بر اصول انتخاب طبیعی حاکم بر ژنتیک طبیعی استوار است. ایده این الگوریتم از نظریه تکامل داروین الهام گرفته شده است. اگرچه این الگوریتم روشی برای جستجوی تصادفی است، ویژگی های خاص آن موجب می شود که نتوان آن را یک جستجوی تصادفی ساده قلمداد کرد. این الگوریتم جزو الگوریتم های تکاملی است.
در آغاز الگوریتم، تعدادی از افراد بهعنوان جمعیت اولیه و معمولاً بهصورت تصادفی ساختهشده و معیاری از کیفیت به نام تابع هدف یا برازندگی برای تک تک آن ها ارزیابی می شود. اگر شرط رسیدن به جواب برقرار نباشد (به جواب بهینه نرسیده باشیم)، نسل بعدی با انتخاب والدین بر اساس میزان برازندگی آن ها تولید می شود.
در هر نسل، بهترین های آن نسل انتخاب می شوند و پس از زاد و ولد، مجموعه جدیدی از فرزندان را تولید می کنند. کروموزوم های موجود در جمعیت بر اساس مقدار برازندگی بهعنوان والد انتخاب می شوند. سپس تولیدمثل، بین جفت کروموزوم ها انجام می گیرد تا فرزندان ایجاد شوند و فرزندان با احتمالی ثابت دچار جهش می شوند. سپس میزان برازندگی فرزندان جدید محاسبهشده و جمعیت جدید، از جایگزینی فرزندان با والدین ایجاد می شود و جمعیت ایجادشده جدید بهعنوان نسل بعدی شناخته میشود و فرایند تکرار می شود.
در این فرایند، افراد مناسب تر با احتمال بیشتری در نسل های بعد باقی خواهند ماند و این فرایند تا برقرار شدن شرط خاتمه تکرار می شود. الگوریتم زمانی پایان خواهد یافت که بهبودی بر روی جواب ها صورت نگیرد و یا اینکه تعداد مشخصی نسل تولید شود. توضیح کامل این الگوریتم را می توانید در همین سایت از مقاله ای کامل تحت عنوان الگوریتم ژنتیک مطالعه فرمایید.
2- الگوریتم بهینه سازی ازدحام ذرات یا PSO
الگوریتم های بهینه سازی PSO رفتارهای ازدحام پرنده را شبیه سازی می کند. تصور کنید سناریوی زیر: گروهی از پرندگان به طور تصادفی در یک منطقه در معرض غذا قرار می گیرند. در منطقه مورد جستجو تنها یک قطعه غذا وجود دارد. همه پرندگان نمی دانند کجا غذا است. اما آنها می دانند که چقدر مواد غذایی در هر تکرار است. بنابراین بهترین استراتژی برای یافتن غذا چیست؟ راه حل این است که دنبال پرنده ای که نزدیکتر به غذا است را دنبال کنید.
طراحان PSO از این سناریو اقتباس کردند و از آن برای حل مشکلات بهینه سازی استفاده کردند. در PSO، هر یک از راه حل یک “پرنده” در فضای جستجو است. ما آن را “ذره” می نامیم. تمام ذرات دارای مقادیر تناسب هستند که توسط تابع تناسب برای بهینه سازی ارزیابی می شوند و دارای سرعت هایی هستند که پرواز ذرات را هدایت می کنند. ذرات از طریق فضای مشکل با ذرات بهینه مطلوب جریان می یابند. توضیح کامل الگوریتم ازدحام ذرات را می توانید در همین سایت از مقاله ای کامل تحت عنوان الگوریتم PSO مطالعه فرمایید.
3- الگوریتم کرم شب تاب Firefly Algorithm
الگوریتم های بهینه سازی FA با مدلسازی رفتار مجموعه ای از کرم های شب تاب و تخصیص مقداری مرتبط با برازندگی مکان هر کرم شب تاب به عنوان مدلی برای میزان رنگدانه های شب تاب و به روز کردن مکان کرم ها در تکرار های متوالی الگوریتم به جستجوی جواب بهینه مسئله می پردازد. در واقع دو مرحله اصلی الگوریتم در هر تکرار فاز به روز کردن رنگدانه و فاز حرکت هستند. کرم های شب تاب به سمت کرم های شب تاب دیگر با رنگدانه بیشتر که در همسایگی آنها باشند حرکت می کنند. به این ترتیب طی تکرار های متوالی مجموعه به سمت جواب بهتر متمایل می گردد. توضیح کامل این الگوریتم را می توانید در همین سایت از مقاله ای کامل تحت عنوان الگوریتم کرم شب تاب Firefly Algorithm مطالعه فرمایید.
4- الگوریتم کلونی مورچگان
الگوریتم کلونی مورچگان یا الگوریتم بهینه سازی کلونی مورچه Ant Colony Optimization الهام گرفته شده از مطالعات و مشاهدات روی کلونی مورچه هاست. این مطالعات نشان داده که مورچهها حشراتی اجتماعی هستند که در کلونیها زندگی میکنند و رفتار آنها بیشتر در جهت بقاء کلونی است تا درجهت بقاء یک جزء از آن. یکی از مهمترین و جالبترین رفتار مورچهها، رفتار آنها برای یافتن غذا است و به ویژه چگونگی پیدا کردن کوتاهترین مسیر میان منابع غذایی و آشیانه. توضیح کامل این الگوریتم را می توانید در همین سایت از مقاله ای کامل تحت عنوان الگوریتم کلونی مورچگان مطالعه فرمایید.
5- الگوریتم زنبور عسل
الگوریتم کلونی زنبور عسل مصنوعی (Artificial bee colony algorithm) یک الگوریتم بهینه سازی بر اساس هوش جمعی و رفتار هوشمندانه جمعیت زنبور عسل است. الگوریتم کلونی زنبور عسل مصنوعی یا به اختصار ABC، یک راهکار بهینهسازی است که رفتار یک کلونی زنبور عسل را شبیهسازی میکند و برای اولین بار در سال 2۰۰۵ توسط Dervis Karaboga، برای بهینهسازی ارائه شد. توضیح این الگوریتم را می توانید در همین سایت از مقاله ای کامل تحت عنوان الگوریتم کلونی زنبور عسل مطالعه فرمایید.
6- الگوریتم رقابت استعماری
الگوریتم رقابت استعماری (Imperialist Competitive Algorithm ) یا ICA روشی در حوزه محاسبات تکاملی است که به یافتن پاسخ بهینه مسائل مختلف بهینهسازی میپردازد. این الگوریتم با مدلسازی ریاضی فرآیند تکامل اجتماعی – سیاسی، الگوریتمی برای حل مسائل ریاضی بهینهسازی ارائه میدهد. پایههای اصلی این الگوریتم را سیاست همسان سازی (Assimilation)، رقابت استعماری (Imperialistic Competition) و انقلاب (Revolution) تشکیل میدهند. این الگوریتم با تقلید از روند تکامل اجتماعی، اقتصادی و سیاسی کشورها و با مدلسازی ریاضی بخشهایی از این فرایند، عملگرهایی را در قالب منظم به صورت الگوریتم ارائه میدهد که میتوانند به حل مسائل پیچیده بهینهسازی کمک کنند. توضیح این الگوریتم را می توانید در همین سایت از مقاله ای کامل تحت عنوان الگوریتم رقابت استعماری مطالعه فرمایید.
7- الگوریتم تکاملی تفاضلی
الگوریتم تکاملی تفاضلی یا الگوریتم DE یک الگوریتم تکاملی است که اولین بار در سال 1995 توسط Rainer Storn و Kenneth Price معرفی شد. این محققان در مقاله ای تحت عنوان Differential Evolution a Practical Approach to Global Optimization نشان دادند که این الگوریتم توانایی خوبی در بهینه سازی توابع غیرخطی مشتق ناپذیر دارد که به عنوان روشی قدرتمند و سریع برای مسائل بهینه سازی در فضاهای پیوسته معرفی شده است. الگوریتم DE جهت غلبه بر عیب اصلی الگوریتم ژنتیک، یعنی نبود جستجوی محلی دراین الگوریتم ارائه شده است، تفاوت اصلی بین الگوریتم های ژنتیک و الگوریتم DE در عملگر انتخاب Selection Operators است. توضیح این الگوریتم را می توانید در همین سایت از مقاله ای کامل تحت عنوان الگوریتم تکاملی تفاضلی – Differential Eevolution Algorithm مطالعه فرمایید.
8- الگوریتم بهینه سازی وال ها یا نهنگ WOA
الگوریتم بهینه سازی وال ها یا نهنگ WOA یک الگوریتم بهینه سازی الهام گرفته شده از طبیعت و مبتنی بر جمعیت است که از رفتار شکار نوع خاصی از وال ها یا نهنگ ها که به نهنگ های گوژپشت معروف هستند الهام گرفته شده است. این الگوریتم توسط سید علی میرجلیلی (Seyedali Mirjalili) در سال ۲۰۱۶ در مقاله The Whale Optimization Algorithm در ژورنال Advances in Engineering Software پایگاه علمی Elsevier ارائه شده است. توضیح کامل این الگوریتم را می توانید در همین سایت از مقاله ای کامل تحت عنوان الگوریتم بهینه سازی وال ها یا نهنگ WOA مطالعه فرمایید.
9- الگوریتم شعله پروانه MFO
الگوریتم شعله پروانه یا الگوریتم Moth-flame optimization algorithm که به اختصار الگوریتم MFO نیز نامیده می شود یکی از الگوریتم های بهینه سازی و فراابتکاری است که از رفتار پروانه ها در کنار شعله یا آتش روشی برای حل مسئله پیدا می کند. این الگوریتم در سال 2015 توسط سید علی میر جلیلی در مقاله ای تحت عنوان Moth-flame optimization algorithm: A novel nature-inspired heuristic paradigm در ژورنال Knowledge-Based Systems مطرح شد. الگوریتم شعله پروانه با نام های دیگری همچون الگوریتم پروانه آتش، الگوریتم 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 مطالعه فرمایید.
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 در این سایت آماده شده که می توانید آن را مطالعه فرمایید.
12- الگوریتم شاهین هریس HHO
الگوریتم شاهین هریس یا Harris Hawks Optimizer که به اختصار HHO نامیده می شود در سال 2019 توسط علی اصغر حیدری در ژورنال Future Generation Computer Systems از الزویر ابداع و چاپ شده است. الگوریتم HHO یک الگوریتم بهینهسازی مبتنی بر جمعیت و الهامگرفته از طبیعت است که از رفتار مشارکتی و سبک تعقیب و گریز شاهینهای هریس در غافلگیری طعمه نشأت می گیرد.
در این رفتار و استراتژی هوشمند، چندین شاهین با همکاری یکدیگر یک طعمه را از جهات مختلف مورد حمله قرار می دهند تا آن را غافلگیر کنند. از این رفتار شاهین های هریس برای به دام انداختن طعمه برای حل مسائل بهینه سازی استفاده شده است. برای درک بیشتر این الگوریتم بهینه سازی می توانید مقاله الگوریتم شاهین هریس — آموزش رایگان 0 تا 100 الگوریتم HHO ما را مطالعه کنید.
13- الگوریتم کلونی پنگوئن های امپراتور
الگوریتم پنگوئن های امپراتور یا Emperor Penguins Colony از جمله کاربردی ترین الگوریتم های فراابتکاری بوده و با نام اختصاری الگوریتم EPC به عنوان یک الگوریتم بهینه سازی محبوب شناخته شده است. این الگوریتم در سال 2018 توسط Sasan Harifi ابداع و در ژورنال Evolutionary Intelligence پایگاه علمی Springer به چاپ رسیده است.
الگوریتم متاهیوریستیک پنگوئن های امپراتور، با الهام از طبیعت و با استفاده از دو فاکتور گرمای بدن پنگوئن ها و نحوه حرکت شان در کلونی مربوط به هر کدام، یک یا چند راهحل مناسب برای مسئله بهینهسازی، ارائه می دهد. برای درک بیشتر این الگوریتم بهینه سازی می توانید مقاله الگوریتم پنگوئن های امپراتور — آموزش رایگان 0 تا 100 الگوریتم EPC ما را مطالعه کنید.
14- الگوریتم بهینه سازی شیر LOA
15- الگوریتم جستجوی فراکتال تصادفی SFS
گوریتم جستجوی فرکتال در سال 2014 توسط آقای Hamid Salimi در ژورنال معتبر Knowledge-Based Systems از انتشارات الزویر Elsevier معرفی شد. عنوان مقاله ارائه شده Stochastic Fractal Search: A powerful metaheuristic algorithm می باشد که در این لینک (+) قابل مشاهده است. در این مقاله با الهام از پدیده طبیعی رشد (growth)، الگوریتم فراابتکاری جدیدی ارائه شده است که از مفهومی ریاضی به نام فراکتال استفاده می کند. با استفاده از ویژگی انتشار (Diffusion) که به طور منظم در فراکتالهای تصادفی دیده میشود، ذرات در الگوریتم ارائه شده، فضای جستجو را کارآمدتر جستجو میکنند. برای اطلاعات بیشتر می توانید مقاله کامل الگوریتم جستجوی فراکتال تصادفی — Stochastic Fractal Search را از همین مجله مطالعه کنید.
16- الگوریتم بهینه سازی شیر مورچه ALO
الگوریتم بهینه سازی شیر مورچه یا The Ant Lion Optimizer از سری الگوریتم های فرا ابتکاری یا فرااکتشافی، برگرفته از طبیعت یا بر پایه الگوریتم های NI بوده و در طی فرآیند بهینه سازی (Optimization)، مکانیسم شکار مورچه ها را در طبیعت تقلید میکند. این الگوریتم متاهیوریستیک (Metaheuristic algorithm)، در طی 6 مرحله اصلی شکار طعمه، مانند راه رفتن تصادفی مورچه ها، ساخت تله ها، به دام افتادن مورچه ها در تله ها، شکار طعمه ها، ساخت مجدد تله ها و نخبه گرایی، پیاده سازی میشود. برای درک کامل این الگوریتم می توانید مقاله کامل الگوریتم بهینه سازی شیر مورچه — The Ant Lion Optimizer را از مجله پی استور مطالعه کنید.
17- الگوریتم ساخت اهرام جیزه GPC
الگوریتم ساخت اهرام جیزه یا Giza Pyramids Construction یکی از کاربردی ترین الگوریتم های فراابتکاری (Meta Heuristic Algorithms) بوده به عنوان یک الگوریتم بهینه سازی (Optimization Algorithms) محبوب واقع شده است. الگوریتم GPC با الهام از باستان، دارای ویژگی های یک الگوریتم فراابتکاری خوب برای مقابله با بسیاری از مسائل است. این الگوریتم در سال 2020 توسط Sasan Harifi ابداع و در ژورنال Evolutionary Intelligence پایگاه علمی Springer به چاپ رسیده است. برای درک کامل این الگوریتم می توانید مقاله الگوریتم ساخت اهرام جیزه — Giza Pyramids Construction را از مجله پی استور مطالعه کنید.
18- الگوریتم سنجاب پرنده SSA
الگوریتم سنجاب پرنده Squirrel search algorithm به اختصار SSA رفتار جستجوی پویای سنجاب های پرنده و روش حرکت کارآمد آنها یعنی سر خوردن را تقلید می کند. سر خوردن یک مکانیسم موثر برای پیمودن مسافت های طولانی است که این پستانداران کوچک از آن برای جستجوی غذا و بقای خود از آن استفاده می کنند. در این الگوریتم به صورت ریاضی این رفتار برای تحقق فرآیند بهینه سازی مدل می شود. مقاله کامل این الگوریتم در الگوریتم سنجاب پرنده — Squirrel Search Algorithm قابل مطالعه است.
مقایسه الگوریتم های بهینه سازی
شاید مهم ترین سوال و دغدغه اکثر محققان در استفاده از الگوریتم های بهینه سازی و مخصوصاً الگوریتم های فرا ابتکاری یا Metaheuristic، انتخاب یک الگوریتم مناسب برای حل مسئله است. به طور قاطع نمی توان گفت برای حل یک مسئله کدام الگوریتم بهینه سازی یا متاهیورستیک مناسب است و فقط با مقایسه نتایج می توان ادعا کرد کدام الگوریتم روش بهتری را ارائه می کند. توابع زیادی برای تست عملکرد الگوریتم های بهینه سازی وجود دارد و برای اجرای الگوریتم بهینه سازی روی مسئله مورد نظر تابع هزینه یا Cost Function آن تغییر خواهد کرد پس با آزمودن هر کدام از این الگوریتم ها بر روی مسئله می توان در مورد عملکرد یک الگوریتم اظهار نظر کرد.
نتیجه گیری
امروزه استفاده از الگوریتم های بهینه سازی هوشمند برای حل بسیاری از مسائل علوم مهندسی و سایر رشته ها مورد استفاده مکرر قرار می گیرد. خاصیت این نوع الگوریتم های در رسیدن به جواب های بهینه سبب شده تا تحقیقات زیادی در این حوزه انجام پذیرد. از اواخر قرن بیستم تا الان الگوریتم های متنوعی در این حوزه ابداع و معرفی شده اند و هر کدام در نوبه خود منجر به حل بسیاری از مسائل و مشکلات پیش رو شده است. بایستی در نظر داشت الگوریتم بهینه سازی هوشمند، بهترین راه حل واقعی برای حل مسئله نبوده ولی می تواند راه حل نزدیک به بهترین باشد بنابراین برای انتخاب یک روش مناسب برای حل مسئله بایستی تمامی مقایسه ها و جوانب بررسی شود و سپس اقدام به بهینه سازی کرد.
مباحث پیشنهادی و مرتبط با موضوع
درباره امین جلیل زاده رزین
پایه گذار و موسس وب سایت آموزشی پی استور، مدرس دانشگاه فنی و حرفه ای، برنامه نویس و تحلیل گر سیستم، پژوهشگر در حوزه الگوریتم های ابتکاری، فرا ابتکاری، یادگیری ماشین، شبکه و پایگاه داده. ایشان در زبان های برنامه نویسی متعدد، نظیر ++C، سی شارپ، PHP ،Java، متلب MATLAB و Python تسلط و سابقه تدریس فعال دارند.
سلام وقتتون به خیر
می خواستم یک راهنمایی بفرمایید چه معیارهایی برای انتخاب بهترین روش بهینه سازی وجود داره ؟
و کدوم الگوریتم برای بهینه سازی سیستم زمین مناسب تر هست ؟
با تشکر
سلام من نیاز به یک فیلم آموزشی در خصوص بهینه سازی تبادل توان در ریزشبکه های بهم پیوسته دارم لطفا در خصوص تهیه آن راهنمایی بفرماییدممنون
سلام وقت بخیر
میتونید درخواستتون رو به صورت تیکت برای ما ارسال نمایید تا با مدرس مربوطه هماهنگ شده و اطلاع رسانی شود.
جهت ارسال تیکت وارد حساب کاربری خود شوید. از بخش تیکتهای پشتیبانی> ارسال تیکت جدید> درخواست تدریس آنلاین را انتخاب نمایید.
سلام طبق راهنمایی شما انجام شد متشکرم
سلام یکسال قبل در خواست “فیلم آموزشی در خصوص بهینه سازی تبادل توان در ریزشبکه های بهم پیوسته” را داشتم ولی تا حالا محقق نشده ممنون
سلام بله متاسفانه تا به امروز از مدرسان مجموعه و مدرسان مدعو، کسی این موضوع رو قبول نکردند. چون موضوع بصورت تخصصی هست یعنی یک مدرس علاوه بر تخصص در الگوریتم های بهینه سازی بایستی در مبحث تبادل توان و همچنین در ریز شبکه ها تخصص داشته باشه و بالتبع پیدا کردن چنین فردی با این تخصص ها کار ساده ای نیست.
دیدگاه های خود را برای بهتر قرار دادن مطالب با ما در میان بگئارید.