مروری بر الگوریتم های فراابتکاری توسعه داده شده توسط پژوهشگران ایرانی

بهینه سازیدوستان سلاماین پُستُ بیشتر از سر کنجکاوی گذاشتم گفتم شاید نوشتنش جالب بنظر بیاد…اول اجازه بدین یه کم در مورد بهینه سازی صحبت کنیموقتی صحبت از بهینه سازی میشه یعنی هنر یافتن بهترین جواب مساله در بین n تا جواب ممکنوقتی صحبت از الگوریتم های تکاملی میشه یعنی از طبیعت الهام گرفته شدن (البته چند نوع تکامل داریم: تکامل زیستی، تکامل فرهنگی و …)وقتی صحبت از الگوریتم های فراابتکاری میشه یعنی بدون نیاز به دانستن مساله و کمترین دانشی در این زمینه قادر هستند مساله رو حل کنند.حالا الگوریتم های تکاملی (یا به عبارتی همون فراابتکاری) دارن فرآیند بهینه سازی رو انجام میدن (چطوری؟)چالشی که در مسائل بهینه سازی وجود داره اینه که بی نهایت پاسخ وجود داره و باید بین این همه پاسخ، بهترین این پاسخ ها انتخاب بشه و الگوریتمی میتونه این پاسخ رو پیدا کنه که از دو ویژگی exploration (اکتشاف – توانایی تولید پاسخ های جدید) که عملکردی شبیه Global Search داره و exploitation (بهره برداری – توانایی پروراندن پاسخ های فعلی) که عملکردی شبیه Local Search داره، برخوردار باشهبرای توضیحات بیشتر میتونید این مجموعه درس از آقای مهندس کاویانی رو از اینجا مطالعه بفرمایینبگذریم…الگوریتم بهینه سازی علف هرز مهاجم (Invasive Weed Optimization: IWO)الگوریتم بهینه سازی علف هرز مهاجمتوسعه دهنده: احمدرضا محرابیان (2006)میزان ارجاع در گوگل اسکالر تا کنون: 1237لینک مقاله: اینجاردپای اولین الگوریتمی که توسط ایرانیا توسعه داده شده در سال 2006 توسط آقای احمدرضا محرابیان، پیدا میشهالگوریتم بهینه یابی جفت گیری زنبورهای عسل (Honey-bees mating optimization (HBMO))جفت گیری زنبورهای عسلتوسعه دهنده: امید بزرگ حداد (2006)میزان ارجاع در گوگل اسکالر تا کنون: 385لینک مقاله: اینجاالگوریتم رقابت استعماری (Imperialist Competitive Algorithm: ICA)الگوریتم رقابت استعماریتوسعه دهنده: اسماعیل آتش پز گرگری (2007)میزان ارجاع در گوگل اسکالر تاکنون: 2395لینک مقاله: اینجاتو حوزه محاسبات تکاملی و بهینه سازی هوشمند، اگه نگیم الگوریتم رقابت استعماری بی نظیره، قطعا کم نظیره. دلیل منحصربه فردبودنش هم اینه که علیرغم سایر الگوریتم های تکاملی که فرایند بهینه سازی را انجام میدن و از طبیعت الهام گرفته شده اند، الگوریت رقابت استعماری از پدیده سیاسی اجتماعی "استعمار" الهام گرفته شده و به نوعی تکامل اجتماعی یا Social Darwinism حساب میاد چرا که تکامل، لزوما تکامل زیستی به حساب نمیاد.ضمنا الگوریتم رقابت استعماری، از پارادایم Swarm Intelligence یا خِرَد جمعی بهره می برده کاری که از عهده هر الگوریتم تکاملی برنمیاد یعنی هیچ نوع رقابت و همکاری میان برخی از این الگوریتم های تکاملی وجود ندارهسوای از این دو مورد، الگوریتم رقابت استعماری مدعیه که همواره بهترین ها و قدرتمندترین جمعیت رو نگه داری میکنهالگوریتم بهینه سازی جستجوی گرانشی (Gravitational Search Algorithm: GSA)الگوریتم بهینه سازی جستجوی گرانشیتوسعه دهنده: عصمت راشدی (2009)میزان ارجاع در گوگل اسکالر:4375لینک مقاله: اینجاالگوریتم بهینه سازی جستجوی شکار (hunting search: HS)الگوریتم بهینه سازی جستجوی شکارتوسعه دهنده: رضا افتاده (2010)میزان ارجاع در گوگل اسکالر تاکنون: 227لینک مقاله: اینجاالگوریتم جستجوی ذرات باردار (charged system search: CSS)الگوریتم جستجوی ذرات باردار توسعه دهنده: علی کاوه (2010)میزان ارجاع در گوگل اسکالر تاکنون: 970لینک مقاله: اینجاالگوریتم بهینه سازی فاخته (Cuckoo Optimization Algorithm: COA)الگوریتم بهینه سازی فاختهاگه دوس داشتین در مورد فاخته (مادری بدون مهر مادری) بدونید این پُست رو مطالعه کنیدتوسعه دهنده: رامین رجبیون (2011)میزان ارجاع در گوگل اسکالر تاکنون: 911لینک مقاله: اینجاالگوریتم جستجوی فاخته (CS)توسعه دهنده: امیرحسین گندمی (2013)میزان ارجاع در گوگل اسکالر تاکنون: 1347لینک مقاله: اینجاکوکو سرچ (CS)، یه کپی ناقص از بهینه سازی فاخته (COA) است که قدرت زیادی نداره و بیشتر بهینه محلی رو پیدا میکنه تا بهینه گلوبالتفاوت این دو الگوریتم هم اینه که (به نقل از آقای رامین رجبیون): کوکو سرچ (CS)، اپراتورهاشو از الگوریتم کرم شبتاب (Firefly) گرفته و مشابهت کمی با روش زندگی واقعی فاخته ها داره. در مقالاتی که جستجوی گلوبال نیاز هست همگرایی ضعیفی از خودشون نشون داده. به همین دلیل هم در مقالات مختلف سعی شده از ترکیب CS با الگوریتم های دیگه ای که توانایی گلوبال سرچ بهتری دارن استفاده بشه تا نتایج، کمی بهتر بشه (به عنوان مثال تو این مقاله (لینک مقاله) از الگوریتم تکاملی تفاضلی یا DE به عنوان گلوبال سرچ و از CS به عنوان لوکال سرچ استفاده کرده).به همین دلیل ما (رامین رجبیون) از COA استفاده کردیم که به تنهایی هم قابلیت های گلوبال سرچ خوبی دارهالبته آقای امیر حسین گندمی هم به عنوان نویسنده دوم در مقاله اصلی الگوریتم بهینه سازی خفاش (BA) هم مشارکت دارند.جالب تر اینکه اسم الگوریتم جستجوی فاخته سال 2009، برای اولین بار توسط آقای XS Yang به دنیای بهینه سازی معرفی میشه که در اونجا اسم الگوریتم اینه:Cuckoo Search via Lévy flightsمیزان ارجاع در گوگل اسکالر تاکنون: 5468لینک مقاله: اینجایعنی اینطور بگم ردپای این الگوریتم برای اولین بار، سال 2009 توسط XS Yang پیدا شده، بعد از اون آقای رجبیون سال 2011 یه همچین الگوریتمی با همین نام داده بیرون و نهایتا سال 2013، این الگوریتم باز توسط آقای گندمی و XS Yang معرفی میشهو اینکه طبق گفته آقای رامین رجبیون، الگوریتم جستجوی فاخته یک کپی ناقص از الگوریتم بهینه سازی فاخته است. (الگوریتم امیرحسین گندمی منظورش بوده نه آقای XS Yang که در سال 2009 ارائه داده)الگوریتم بهینه سازی گروه میگوها (Krill Herd Optimization: KHO)الگوریتم بهینه سازی گروه میگوها توسعه دهنده: امیرحسین گندمی (2012)میزان ارجاع در گوگل اسکالر تاکنون: 1332لینک مقاله: اینجاالگوریتم بهینه سازی اشعه (Ray Optimization: RO)توسعه دهنده: علی کاوه (2012)میزان ارجاع در گوگل اسکالر تاکنون: 450لینک مقاله: اینجاالگوریتم بهینه سازی چرخه آب (Water Cycle Algorithm: WCA)الگوریتم بهینه سازی چرخه آبتوسعه دهنده: هادی اسکندر (2012)میزان ارجاع در گوگل اسکالر تاکنون: 735لینک مقاله: اینجاالگوریتم بهینه سازی پژواک یابی دلفین (Dolphin echolocation: DE)الگوریتم بهینه سازی پژواک یابی دلفینتوسعه دهنده: علی کاوه (2013)میزان ارجاع در گوگل اسکالر تاکنون: 325لینک مقاله: اینجاالگوریتم بهینه سازی برخورد اجسام (یا اجسام در حال برخورد) (Colliding bodies optimization: CBO)الگوریتم بهینه سازی برخورد اجسامتوسعه دهنده: علی کاوه (2014)میزان ارجاع در گوگل اسکالر تاکنون: 440لینک مقاله: اینجاالگوریتم جستجوی داخلی (Interior search algorithm: ISA)الگوریتم بهینه سازی برخورد اجسامتوسعه دهنده: امیرحسین گندمی (2014)میزان ارجاع در گوگل اسکالر تاکنون: 270لینک مقاله: اینجاالگوریتم بهینه سازی گرگ خاکستری (Grey Wolf Optimizer: GWO)الگوریتم بهینه سازی گرگ خاکستریتوسعه دهنده: سید علی میرجلیلی (2014)میزان ارجاع در گوگل اسکالر تاکنون: 4961لینک مقاله: اینجاالگوریتم بهینه سازی شعله - پروانه (Moth-flame optimization algorithm: MFO)الگوریتم بهینه سازی گرگ خاکستریتوسعه دهنده: سید علی میرجلیلی (2015)میزان ارجاع در گوگل اسکالر تاکنون: 1371لینک مقاله: اینجاالگوریتم بهینه سازی شیر مورچه (Antlion Optimizer: ALO)الگوریتم بهینه سازی شیر مورچهتوسعه دهنده: سید علی میرجلیلی (2015)میزان ارجاع در گوگل اسکالر تاکنون: 1340لینک مقاله: اینجاالگوریتم بهینه سازی سینوس کسینوس (Sine Cosine Algorithm: SCA)الگوریتم بهینه سازی سینوس کسینوستوسعه دهنده: سید علی میرجلیلی (2015)میزان ارجاع در گوگل اسکالر تاکنون: 1228لینک مقاله: اینجاالگوریتم بهینه سازی جستجوی کلاغ (Crow search algorithm: CSA)الگوریتم بهینه سازی جستجوی کلاغتوسعه دهنده: علیرضا عسکرزاده (2016)میزان ارجاع در گوگل اسکالر تاکنون: 826لینک مقاله: اینجاالگوریتم بهینه سازی تبخیر آب (Water Evaporation Optimization: WEO)الگوریتم بهینه سازی تبخیر آبتوسعه دهنده: علی کاوه (2016)میزان ارجاع در گوگل اسکالر تاکنون: 139لینک مقاله: اینجاالگوریتم بهینه سازی چند نظمی (چند وجهی) (Multi-Verse Optimizer: MVO)الگوریتم بهینه سازی چند نظمی (چند وجهی)توسعه دهنده: سید علی میرجلیلی (2016)میزان ارجاع در گوگل اسکالر تاکنون: 748لینک مقاله: اینجاالگوریتم بهینه سازی وال (نهنگ) (Whale Optimization Algorithm: WOA)الگوریتم بهینه سازی وال (نهنگ)توسعه دهنده: سید علی میرجلیلی (2016)میزان ارجاع در گوگل اسکالر تاکنون: 2850لینک مقاله: اینجاالگوریتم بهینه سازی سنجاقک (Dragonfly Algorithm: DA)الگوریتم بهینه سازی سنجاقکتوسعه دهنده: سید علی میرجلیلی (2016)میزان ارجاع در گوگل اسکالر تاکنون: 1035لینک مقاله: اینجاالگوریتم بهینه سازی مسابقه طناب کشی (Tug of War Optimization: TWO)الگوریتم بهینه سازی مسابقه طناب کشیتوسعه دهنده: علی کاوه (2016)میزان ارجاع در گوگل اسکالر تاکنون: 47لینک مقاله: اینجاالگوریتم بهینه سازی تبادل حرارتی (Thermal Exchange Optimization: TCO)الگوریتم بهینه سازی تبادل حرارتیتوسعه دهنده: علی کاوه (2017)میزان ارجاع در گوگل اسکالر تاکنون: 151لینک مقاله: اینجاالگوریتم بهینه سازی ذرات مرتعش یا ذرات ارتعاشی (یا ذرات نوسان کننده) (vibrating particles system: VPS)الگوریتم بهینه سازی ذرات مرتعش یا ذرات ارتعاشیتوسعه دهنده: علی کاوه (2017)میزان ارجاع در گوگل اسکالر تاکنون: 71لینک مقاله: اینجاالگوریتم مرغ آلاچیق ساز (Satin bowerbird optimizer: SBO)الگوریتم مرغ آلاچیق سازتوسعه دهنده: سید حمید ثمره موسوی (2017)میزان ارجاع در گوگل اسکالر تاکنون: 77لینک مقاله: اینجاالگوریتم ملخ (Grasshopper Optimization Algorithm: GOA)الگوریتم ملختوسعه دهنده: شهرزاد صارمی (2017)میزان ارجاع در گوگل اسکالر تاکنون: 860لینک مقاله: اینجاالگوریتم بهینه سازی slap swarm (SSA)slap swarmچون ترجمه فارسی خوبی ازش پیدا نکردم، مجبور شدم عبارت لاتینش رو بنویسم.توسعه دهنده: سید علی میرجلیلی (2017)میزان ارجاع در گوگل اسکالر تاکنون: 1147لینک مقاله: اینجااین رفیقمون (سید علی) تو حوزه بهینه سازی، آدم قهاریه خواستین یه نگاهی به کاراش بندازین (وب سایت شخصی سید علی میرجلیلی)الگوریتم های توسعه داده شده توسط آقای دکتر سیدعلی میرجلیلیالگوریتم های توسعه داده شده توسط سیدعلی میرجلیلی (1)الگوریتم های توسعه داده شده توسط سیدعلی میرجلیلی (2)الگوریتم های توسعه داده شده توسط سیدعلی میرجلیلی (3)الگوریتم بهینه سازی رشد درخت (Tree Growth Algorithm: TGA)الگوریتم بهینه سازی رشد درختتوسعه دهنده: آرمین چراغعلی پور (2018)میزان ارجاع در گوگل اسکالر تاکنون: 53لینک مقاله: اینجاالگوریتم بهینه سازی شاهین هریس (Harris hawks optimization: HHO)الگوریتم بهینه سازی شاهین هریستوسعه دهنده: علی اصغر حیدری (2019)میزان ارجاع در گوگل اسکالر تاکنون: 534لینک مقاله: اینجاالگوریتم بهینه سازی اره ماهی یا نیزه ماهی (The Sailfish Optimizer: SOA)الگوریتم بهینه سازی اره ماهیتوسعه دهنده: شادروان (2019)میزان ارجاع در گوگل اسکالر تا کنون: 80لینک مقاله: اینجاالگوریتم بهینه سازی حاصلخیزی زمینهای کشاورزی (Farmland Fertility: FF)الگوریتم بهینه سازی حاصلخیزی زمینهای کشاورزیتوسعه دهنده: هومان شایان فر (2018)میزان ارجاع در گوگل اسکالر تاکنون: 89لینک مقاله: اینجاالگوریتم بهینه سازی تعادل (موازنه) (Equilibrium optimizer: EO)الگوریتم بهینه سازی تعادلتوسعه دهنده: افشین فرامرزی (2020)میزان ارجاع در گوگل اسکالر تاکنون: 125لینک مقاله: اینجاالگوریتم بهینه سازی شکارچیان دریایی (Marine Predator Algorithm: MPA)الگوریتم بهینه سازی شکارچیان دریاییتوسعه دهنده: افشین فرامرزی (2020)میزان ارجاع در گوگل اسکالر تاکنون: 71لینک مقاله: اینجاالگوریتم بهینه سازی حشره آب سوار (یا حشره آبگیر برکه) (Water strider Optimization: WSO)الگوریتم بهینه سازی حشره آب سوارتوسعه دهنده: علی کاوه (2020)میزان ارجاع در گوگل اسکالر تاکنون: 16لینک مقاله: اینجاولی خوب الگوریتمی که بیشترین میزان ارجاع رو در بین الگوریتم های بهینه سازی داشته، الگوریتم ازدحام ذرات (PSO) بوده که کار آقای Kennedy هست (65156 بار ارجاع)نتیجه گیری:چیزی که مسلمه و ارزشمنده، توسعه یه الگوریتم جدید نیست (چون از یه الگو پیروی میکنند و منطق همشون مثل همه حتی کدنویسی این الگوریتم ها کار خیلی سختی نیست) بلکه به کاربردن اون الگوریتم برای حل مسائل مختلفه و به عبارتی بشه این الگوریتم ها رو کاربردی کرد. مثلا آقای علی کاوه و سیدعلی میرجلیلی میانگین سالی یه الگوریتم جدید ارائه میدن. شما هم اگه دوس دارین یه الگوریتم جدید ارائه بدین، کافیه یه سوژه پیدا کنید همین کافیه (تا دلتون بخواد تو طبیعت سوژه هست)راستی منتظر کامنتاتون هستمدمتون گرم