پرش به محتوا

الگوریتم‌های فراابتکاری: تفاوت میان نسخه‌ها

از ویکی‌پدیا، دانشنامهٔ آزاد
محتوای حذف‌شده محتوای افزوده‌شده
بدون خلاصۀ ویرایش
بدون خلاصۀ ویرایش
 
(۴۸ نسخهٔ میانی ویرایش شده توسط ۳۶ کاربر نشان داده نشد)
خط ۱: خط ۱:
[[پرونده:Aco TSP.svg|بندانگشتی|الگوریتم ها به روش الگویی. به نظر شما میتوان چند شکل در این الگو درست کرد؟]]
'''الگوریتم‌های فوق ابتکاری''':
'''الگوریتم‌های فراابتکاری یا فراتکاملی یا فرااکتشافی '''نوعی از [[الگوریتم‌های تصادفی]] هستند که برای یافتن پاسخ بهینه به کار می‌روند.


روش‌ها و [[الگوریتم‌های بهینه‌سازی]] به دو دسته [[الگوریتم]]‌های دقیق (exact) و [[الگوریتم‌های تقریبی]] (approximate algortithms) تقسیم‌بندی می‌شوند. الگوریتم‌های دقیق قادر به یافتن جواب بهینه به صورت دقیق هستند اما در مورد [[مسائل بهینه سازی]] سخت کارایی ندارند و زمان حل آنها در این مسائل به صورت نمایی افزایش می‌یابد. الگوریتم‌های تقریبی قادر به یافتن جواب‌های خوب (نزدیک به بهینه) در زمان حل کوتاه برای مسائل بهینه‌سازی سخت هستند. الگوریتم‌های تقریبی نیز به سه دسته الگوریتم‌های ابتکاری (heuristic) و فوق ابتکاری (meta-heuristic) و فرا ابتکاری (hyper heuristic) بخش بندی می شوند. دو مشکل اصلی الگوریتم‌های ابتکاری، قرار گرفتن آنها در بهینه‌های محلی، و ناتوانی آنها برای کاربرد در مسائل گوناگون است. الگوریتم‌های فوق ابتکاری برای حل این مشکلات الگوریتم‌های ابتکاری ارائه شده‌اند. در واقع الگوریتم‌های فوق ابتکاری، یکی از انواع الگوریتم‌های بهینه‌سازی تقریبی هستند که دارای راهکارهای برونرفت از بهینه محلی می‌باشند و قابل کاربرد در طیف گسترده ای از مسائل هستند. <ref name="[1]">الگوریتم‌های بهینه‌سازی فوق ابتکاری/تالیف مسعود یقینی، محمد رحیم اخوان کاظم ‌زاده. جهاد دانشگاهی واحد صنعتی امیر کبیر ‫ISBN ۹۷۸-۹۶۴-۲۱۰-۰۷۸-۱</ref> ا رده های گوناگونی از این نوع الگوریتم‌های در ده های اخیر توسعه یافته است <ref name="[9]"> بهینه‌سازی ترکیبی و الگوریتم های فرا ابتکاری /تالیف کورش عشقی ؛ مهدی کریمی نسب انتشارات آذرین مهر ؛1391</ref>
روش‌ها و [[الگوریتم‌های بهینه‌سازی]] به دو دسته [[الگوریتمهای دقیق]] (exact) و [[الگوریتم‌های تقریبی]] (approximate algorithms) تقسیم‌بندی می‌شوند. الگوریتم‌های دقیق قادر به یافتن جواب بهینه به صورت دقیق هستند اما در مورد [[مسائل بهینه‌سازی سخت]] کارایی کافی ندارند و زمان اجرای آن‌ها متناسب با ابعاد مسائل به صورت نمایی افزایش می‌یابد. الگوریتم‌های تقریبی قادر به یافتن جواب‌های خوب (نزدیک به بهینه) در زمان حل کوتاه برای مسائل بهینه‌سازی سخت هستند. الگوریتم‌های تقریبی نیز به سه دسته الگوریتم‌های ابتکاری (heuristic) و فراابتکاری (meta-heuristic) و فوق ابتکاری (hyper heuristic) بخش‌بندی می‌شوند. دو مشکل اصلی الگوریتم‌های ابتکاری، گیر افتادن آن‌ها در نقاط بهینه محلی، همگرایی زودرس به این نقاط است. الگوریتم‌های فراابتکاری برای حل این مشکلات الگوریتم‌های ابتکاری ارائه شده‌اند. در واقع الگوریتم‌های فراابتکاری، یکی از انواع الگوریتم‌های بهینه‌سازی تقریبی هستند که دارای راهکارهای برونرفت از نقاط بهینه محلی هستند و قابلیت کاربرد در طیف گسترده‌ای از مسائل را دارند.<ref>الگوریتم‌های بهینه‌سازی فراابتکاری (همراه با کاربردهایی در مهندسی برق)/تالیف دکتر فرشاد مریخ بیات؛ انتشارات جهاد دانشگاهی؛ 1393</ref><ref name="[1]">الگوریتم‌های بهینه‌سازی فراابتکاری/تالیف مسعود یقینی، محمد رحیم اخوان کاظم‌زاده. جهاد دانشگاهی واحد صنعتی امیر کبیر {{شابک|978-964-210-078}}-1</ref> رده‌های گوناگونی از این نوع الگوریتم در دهه‌های اخیر توسعه یافته‌است<ref name="[9]">بهینه‌سازی ترکیبی و الگوریتم‌های فرا ابتکاری /تالیف کورش عشقی؛ مهدی کریمی نسب انتشارات آذرین مهر ؛1391</ref>که همه این‌ها زیر مجموعه الگوریتم فراابتکاری می‌باشند.


== دسته‌بندی الگوریتم‌های فوق ابتکاری ==
== دسته‌بندی الگوریتم‌های فراابتکاری ==
معیارهای مختلفی می‌تواند برای طبقه‌بندی الگوریتم‌های فوق ابتکاری استفاده شود: <ref name="[2]">Talbi, El-Ghazali. Metaheuristics: From Design to Impelementation, John Wiley and sons 2009</ref>
معیارهای مختلفی می‌تواند برای طبقه‌بندی الگوریتم‌های فراابتکاری استفاده شود:<ref name="[2]">Talbi, El-Ghazali. Metaheuristics: From Design to Impelementation, John Wiley and sons 2009</ref>
* '''مبتنی بر یک جواب و مبتنی بر جمعیت''' : الگوریتم‌های مبتنی بر یک جواب در حین فرآیند جستجو یک جواب را تغییر می‌دهند، در حالی که در الگوریتم‌های مبتنی بر جمعیت در حین جستجو، یک جمعیت از جواب‌ها در نظر گرفته می‌شوند.
* '''مبتنی بر یک جواب و مبتنی بر جمعیت''': الگوریتم‌های مبتنی بر یک جواب در حین فرایند جستجو یک جواب را تغییر می‌دهند، در حالی که در الگوریتم‌های مبتنی بر جمعیت در حین جستجو، یک جمعیت از جواب‌ها در نظر گرفته می‌شوند.
* '''الهام گرفته شده از طبیعت و بدون الهام از طبیعت''': بسیاری از الگوریتم‌های فوق ابتکاری از طبیعت الهام گرفته شده‌اند، در این میان برخی از الگوریتم‌های فوق ابتکاری نیز از طبیعت الهام گرفته نشده اند.
* '''الهام گرفته شده از طبیعت و بدون الهام از طبیعت''': بسیاری از الگوریتم‌های فراابتکاری از طبیعت الهام گرفته شده‌اند، در این میان برخی از الگوریتم‌های فراابتکاری نیز از طبیعت الهام گرفته نشده‌اند.
* '''با حافظه و بدون حافظه''': برخی از الگوریتم‌های فوق ابتکاری فاقد حافظه می‌باشند، به این معنا که، این نوع الگوریتم‌ها از اطلاعات بدست آمده در حین جستجو استفاده نمی کنند (به طور مثال تبرید شبیه‌سازی شده). این در حالی است که در برخی از الگوریتم‌های فوق ابتکاری نظیر جستجوی ممنوعه از حافظه استفاده می‌کنند. این حافظه اطلاعات بدست آمده در حین جستجو را در خود ذخیره می‌کند.
* '''با حافظه و بدون حافظه''': برخی از الگوریتم‌های فراابتکاری فاقد حافظه می‌باشند، به این معنا که، این نوع الگوریتم‌ها از اطلاعات بدست آمده در حین جستجو استفاده نمی‌کنند (به‌طور مثال [[الگوریتم تبرید شبیه‌سازی شده|تبرید شبیه‌سازی شده]]). این در حالی است که در برخی از الگوریتم‌های فراابتکاری نظیر جستجوی ممنوعه از حافظه استفاده می‌کنند. این حافظه اطلاعات بدست آمده در حین جستجو را در خود ذخیره می‌کند.
* '''قطعی و احتمالی''': یک الگوریتم فوق ابتکاری قطعی نظیر جستجوی ممنوعه، مسئله را با استفاده از تصمیمات قطعی حل می‌کند. اما در الگوریتم‌های فوق ابتکاری احتمالی نظیر تبرید شبیه سازی شده، یک سری قوانین احتمالی در حین جستجو مورد استفاده قرار می‌گیرد.
* '''قطعی و احتمالی''': یک الگوریتم فراابتکاری قطعی نظیر جستجوی ممنوعه، مسئله را با استفاده از تصمیمات قطعی حل می‌کند. اما در الگوریتم‌های فراابتکاری احتمالی نظیر تبرید [[شبیه‌سازی]] شده، یک سری قوانین احتمالی در حین جستجو مورد استفاده قرار می‌گیرد.


== الگوریتم‌های فراابتکاری بر پایه جمعیت ==
از الگوریتم‌های شناخته شده فراابتکاری بر پایه جمعیت می‌توان الگوریتم‌های تکاملی<ref name="[3]">Eiben, A.E. , Smith, J.E. , Introduction to Evolutionary Computiong, Springer 2003</ref> ([[الگوریتم ژنتیک]]، برنامه‌ریزی ژنتیک، ...)، [[روش بهینه‌سازی گروه مورچه‌ها|بهینه‌سازی کلونی مورچگان]]،<ref name="[4]">Dorigo, M. , and Stützle, T. , Ant Colony Optimization, MIT Press, Cambridge, MA, 2004</ref> کلونی زنبورها،<ref name="[5]">Yonezawa, Y. , and Kikuchi, T. , Ecological algorithm for optimal ordering used by collective honey bee behavior, In 7th International Symposium on Micro Machine and Human Science, pp. 249–256 1996</ref> [[روش بهینه‌سازی ازدحام ذرات]]، [[الگوریتم بهینه‌سازی جنگل]]<ref>{{Cite journal|last=Ghaemi|first=Manizheh|last2=Feizi-Derakhshi|first2=Mohammad-Reza|date=2014-11-01|title=Forest Optimization Algorithm|url=http://www.sciencedirect.com/science/article/pii/S0957417414002899|journal=Expert Systems with Applications|language=en|volume=41|issue=15|pages=6676–6687|doi=10.1016/j.eswa.2014.05.009|issn=0957-4174}}</ref>، الگوریتم [[بهینه‌سازی|بهینه سازی]] Battle Royal<ref>{{Cite journal|last=Rahkar Farshi|first=Taymaz|date=2020-06-02|title=Battle royale optimization algorithm|url=https://doi.org/10.1007/s00521-020-05004-4|journal=Neural Computing and Applications|language=en|doi=10.1007/s00521-020-05004-4|issn=1433-3058}}</ref>، الگوریتم قهرمانی در لیگهای ورزشی، بهینه‌سازی ملهم از فیزیک نور، [http://www.sciencedirect.com/science/article/pii/S1568494615002756 الگوریتم ریشه-پاجوش] و [[الگوریتم چکه آبهای هوشمند]] را نام برد.
== الگوریتم‌های شناخته شده فوق ابتکاری بر پایه جمعیت ==
از الگوریتم‌های شناخته شده فوق ابتکاری بر پایه جمعیت می‌توان الگوریتم‌های تکاملی <ref name="[3]">Eiben, A.E., Smith, J.E., Introduction to Evolutionary Computiong, Springer 2003</ref> ([[الگوریتم ژنتیک]]، برنامه‌ریزی ژنتیک، ...)، [[روش بهینه‌سازی گروه مورچه‌ها|بهینه‌سازی کلونی مورچگان]] <ref name="[4]">Dorigo, M., and Stützle, T., Ant Colony Optimization, MIT Press, Cambridge, MA, 2004</ref>، کلونی زنبورها <ref name="[5]">Yonezawa, Y., and Kikuchi, T., Ecological algorithm for optimal ordering used by collective honey bee behavior, In 7th International Symposium on Micro Machine and Human Science, pp. 249–256 1996</ref>، [[روش بهینه‌سازی ازدحام ذرات]]، [[الگوریتم رقابت استعماری]] ، و [[الگوریتم چکه آبهای هوشمند]] را نام برد.


در سال‌های اخیر الگوریتم‌های فرابتکاری جدیدی با توجه به موجودات زنده موجود در طبیعت (الهام گرفته از طبیعت) توسعه داده شده‌اند که از معروف‌ترین آن‌ها می‌توان به الگوریتم بهینه سازی گرگ خاکستری ، الگوریتم بهینه سازی سنجاقک ، الگوریتم بهینه سازی گرده افشانی گل ها، الگوریتم بهینه سازی نهنگ یا وال ، [[الگوریتم بهینه سازی ملخ]]، و الگوریتم بهینه سازی کلونی پنگوئن های امپراتور<ref>{{Cite journal|last=Harifi|first=Sasan|last2=Khalilian|first2=Madjid|last3=Mohammadzadeh|first3=Javad|last4=Ebrahimnejad|first4=Sadoullah|date=2019-02-25|title=Emperor Penguins Colony: a new metaheuristic algorithm for optimization|url=https://doi.org/10.1007/s12065-019-00212-x|journal=Evolutionary Intelligence|language=en|doi=10.1007/s12065-019-00212-x|issn=1864-5917}}</ref> <ref>{{Cite journal|last=Yoosefdoost|first=Icen|last2=Basirifard|first2=Milad|last3=Álvarez-García|first3=José|year=2022-07-29|title=Reservoir Operation Management with New Multi-Objective (MOEPO) and Metaheuristic (EPO) Algorithms|url=https://www.mdpi.com/2073-4441/14/15/2329|journal=Water|language=en|volume=14|issue=15|pages=2329|doi=10.3390/w14152329|issn=2073-4441}}</ref> نام برد.
== الگوریتم‌های متداول فوق ابتکاری مبتنی بر یک جواب ==
از الگوریتم‌های متداول فراابتکاری مبتنی بر یک جواب می‌توان [[الگوریتم جستجوی ممنوعه]] <ref name="[6]">Glover F. and Laguna, M., Tabu Search, Kluwer Academic Publishers, 1997simulated annealing, Science, Vol. 220, No. 4598, pp. 671–680, 1983</ref> و [[الگوریتم تبرید شبیه‌سازی شده]] <ref name="[7]">Kirkpatrick, S., Gelatt, C. D. , and Vecchi, M. P., Optimization by simulated annealing, Science, Vol. 220, No. 4598, pp. 671–680, 1983</ref> را نام برد.


اخیرا، به نظر می رسد روند توسعه جدیدی از الگوریتم ها با الهام گرفتن از علم دیرینه شناسی و علوم باستان آغاز شده است. این الگوریتم ها که در دسته جدید الهام گرفته از دوران باستان، قرار می گیرند با بررسی ویژگی های دوران باستان سعی می کنند نوعی بهینه سازی ایجاد کنند <ref>https://doi.org/10.1007/s12065-020-00451-3</ref>.
== پیاده‌سازی الگوریتم‌های فوق ابتکاری ==
فرایند طراحی و پیاده‌سازی الگوریتم‌های فوق ابتکاری دارای سه مرحله‌ی متوالی است که هر کدام از آن‌ها دارای گام‌های مختلفی هستند. در هر گام فعالیت‌هایی باید انجام شود تا آن گام کامل شود. مرحله‌ی ۱ آماده‌سازی است که در آن باید شناخت دقیقی از مسئله‌ای که می‌خواهیم حل کنیم بدست آوریم، و اهداف طراحی الگوریتم فوق ابتکاری برای آن باید با توجه به روش‌های حل موجود برای این مسئله به طور واضح و شفاف مشخص شود. مرحله‌ی بعدی، ساخت نام دارد. مهمترین اهداف این مرحله انتخاب استراتژی حل، تعریف معیارهای اندازه گیری عملکرد، و طراحی الگوریتم برای استراتژی حل انتخابی می‌باشد. آخرین مرحله پیاده‌سازی است که در آن پیاده‌سازی الگوریتم طراحی شده در مرحله‌ی قبل، شامل تنظیم پارامترها، تحلیل عملکرد، و در نهایت تدون و تهیه گزارش نتایج باید انجام شود. <ref name="[8]">Yaghini, Masoud; Akhavan, Rahim, DIMMA: A Design and Implementation Methodology for Metaheuristic Algorithms - A Perspective from Software Development, International Journal of Applied Metaheuristic Computing, Vol.1, No.4, pp. 57-74, 2010. </ref>


== الگوریتم‌های متداول فراابتکاری مبتنی بر یک جواب ==
==جستارهای وابسته==
از الگوریتم‌های متداول فراابتکاری مبتنی بر یک جواب می‌توان [[الگوریتم جستجوی ممنوعه]]<ref name="[6]">Glover F. and Laguna, M. , Tabu Search, Kluwer Academic Publishers, 1997simulated annealing, Science, Vol. 220, No. 4598, pp. 671–680, 1983</ref> و [[الگوریتم تبرید شبیه‌سازی شده]]<ref name="[7]">Kirkpatrick, S. , Gelatt, C. D. , and Vecchi, M. P. , Optimization by simulated annealing, Science, Vol. 220, No. 4598, pp. 671–680, 1983</ref> را نام برد.
*[[هوش گروهی]]

*[[الگوریتم چکه آب‌های هوشمند]]
== پیاده‌سازی الگوریتم‌های فراابتکاری ==
فرایند طراحی و پیاده‌سازی الگوریتم‌های فراابتکاری دارای سه مرحلهٔ متوالی است که هر کدام از آن‌ها دارای گام‌های مختلفی هستند. در هر گام فعالیت‌هایی باید انجام شود تا آن گام کامل شود. مرحلهٔ ۱ آماده‌سازی است که در آن باید شناخت دقیقی از مسئله‌ای که می‌خواهیم حل کنیم بدست آوریم، و اهداف [[طراحی الگوریتم]] فراابتکاری برای آن باید با توجه به روش‌های حل موجود برای این مسئله به‌طور واضح و شفاف مشخص شود. مرحلهٔ بعدی، ساخت نام دارد. مهم‌ترین اهداف این مرحله انتخاب استراتژی حل، تعریف معیارهای [[اندازه‌گیری]] عملکرد، و طراحی الگوریتم برای استراتژی حل انتخابی می‌باشد. آخرین مرحله پیاده‌سازی است که در آن پیاده‌سازی الگوریتم طراحی شده در مرحلهٔ قبل، شامل تنظیم پارامترها، تحلیل عملکرد، و در نهایت تدوین و تهیه گزارش نتایج باید انجام شود.<ref name="[8]">Yaghini, Masoud; Akhavan, Rahim, DIMMA: A Design and Implementation Methodology for Metaheuristic Algorithms - A Perspective from Software Development, International Journal of Applied Metaheuristic Computing, Vol.1, No.4, pp. 57-74, 2010.</ref>

== جستارهای وابسته ==
* [[هوش گروهی]]
* [[الگوریتم چکه آب‌های هوشمند]]


== منابع ==
== منابع ==
{{پانویس}}
<!--- [[ویکی‌پدیا:پانویس‌ها]] را بخوانید. در وسط مقاله از <ref>منبع</ref> به عنوان منبع استفاده کنید -->

{{پانویس}}
== پیوند به بیرون ==
* [https://programstore.ir/%D9%84%DB%8C%D8%B3%D8%AA-%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D8%AA%D9%85-%D9%87%D8%A7%DB%8C-%D9%81%D8%B1%D8%A7-%D8%A7%D8%A8%D8%AA%DA%A9%D8%A7%D8%B1%DB%8C-%D9%85%D8%AA%D8%A7%D9%87%DB%8C%D9%88%D8%B1/ فهرست الگوریتم های فرا ابتکاری (متاهیورستیک) از سال 1983 تا 2020]


{{زیرمجموعه‌های اصلی بهینه‌سازی}}
<!--- رده‌بندی --->


[[رده:الگوریتم‌های بهینه‌سازی]]
[[رده:الگوریتم‌های بهینه‌سازی]]
[[رده:الگوریتم‌های تقریبی]]
[[رده:الگوریتم‌های تقریبی]]
[[رده:الگوریتم‌های فراابتکاری| ]]
[[رده:بهینه‌سازی ریاضی]]
[[رده:بهینه‌سازی ریاضی]]
[[رده:تحقیق در عملیات]]
[[رده:تحقیق در عملیات]]

نسخهٔ کنونی تا ‏۲۴ سپتامبر ۲۰۲۴، ساعت ۱۸:۴۵

الگوریتم ها به روش الگویی. به نظر شما میتوان چند شکل در این الگو درست کرد؟

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

روش‌ها و الگوریتم‌های بهینه‌سازی به دو دسته الگوریتمهای دقیق (exact) و الگوریتم‌های تقریبی (approximate algorithms) تقسیم‌بندی می‌شوند. الگوریتم‌های دقیق قادر به یافتن جواب بهینه به صورت دقیق هستند اما در مورد مسائل بهینه‌سازی سخت کارایی کافی ندارند و زمان اجرای آن‌ها متناسب با ابعاد مسائل به صورت نمایی افزایش می‌یابد. الگوریتم‌های تقریبی قادر به یافتن جواب‌های خوب (نزدیک به بهینه) در زمان حل کوتاه برای مسائل بهینه‌سازی سخت هستند. الگوریتم‌های تقریبی نیز به سه دسته الگوریتم‌های ابتکاری (heuristic) و فراابتکاری (meta-heuristic) و فوق ابتکاری (hyper heuristic) بخش‌بندی می‌شوند. دو مشکل اصلی الگوریتم‌های ابتکاری، گیر افتادن آن‌ها در نقاط بهینه محلی، همگرایی زودرس به این نقاط است. الگوریتم‌های فراابتکاری برای حل این مشکلات الگوریتم‌های ابتکاری ارائه شده‌اند. در واقع الگوریتم‌های فراابتکاری، یکی از انواع الگوریتم‌های بهینه‌سازی تقریبی هستند که دارای راهکارهای برونرفت از نقاط بهینه محلی هستند و قابلیت کاربرد در طیف گسترده‌ای از مسائل را دارند.[۱][۲] رده‌های گوناگونی از این نوع الگوریتم در دهه‌های اخیر توسعه یافته‌است[۳]که همه این‌ها زیر مجموعه الگوریتم فراابتکاری می‌باشند.

دسته‌بندی الگوریتم‌های فراابتکاری

[ویرایش]

معیارهای مختلفی می‌تواند برای طبقه‌بندی الگوریتم‌های فراابتکاری استفاده شود:[۴]

  • مبتنی بر یک جواب و مبتنی بر جمعیت: الگوریتم‌های مبتنی بر یک جواب در حین فرایند جستجو یک جواب را تغییر می‌دهند، در حالی که در الگوریتم‌های مبتنی بر جمعیت در حین جستجو، یک جمعیت از جواب‌ها در نظر گرفته می‌شوند.
  • الهام گرفته شده از طبیعت و بدون الهام از طبیعت: بسیاری از الگوریتم‌های فراابتکاری از طبیعت الهام گرفته شده‌اند، در این میان برخی از الگوریتم‌های فراابتکاری نیز از طبیعت الهام گرفته نشده‌اند.
  • با حافظه و بدون حافظه: برخی از الگوریتم‌های فراابتکاری فاقد حافظه می‌باشند، به این معنا که، این نوع الگوریتم‌ها از اطلاعات بدست آمده در حین جستجو استفاده نمی‌کنند (به‌طور مثال تبرید شبیه‌سازی شده). این در حالی است که در برخی از الگوریتم‌های فراابتکاری نظیر جستجوی ممنوعه از حافظه استفاده می‌کنند. این حافظه اطلاعات بدست آمده در حین جستجو را در خود ذخیره می‌کند.
  • قطعی و احتمالی: یک الگوریتم فراابتکاری قطعی نظیر جستجوی ممنوعه، مسئله را با استفاده از تصمیمات قطعی حل می‌کند. اما در الگوریتم‌های فراابتکاری احتمالی نظیر تبرید شبیه‌سازی شده، یک سری قوانین احتمالی در حین جستجو مورد استفاده قرار می‌گیرد.

الگوریتم‌های فراابتکاری بر پایه جمعیت

[ویرایش]

از الگوریتم‌های شناخته شده فراابتکاری بر پایه جمعیت می‌توان الگوریتم‌های تکاملی[۵] (الگوریتم ژنتیک، برنامه‌ریزی ژنتیک، ...)، بهینه‌سازی کلونی مورچگان،[۶] کلونی زنبورها،[۷] روش بهینه‌سازی ازدحام ذرات، الگوریتم بهینه‌سازی جنگل[۸]، الگوریتم بهینه سازی Battle Royal[۹]، الگوریتم قهرمانی در لیگهای ورزشی، بهینه‌سازی ملهم از فیزیک نور، الگوریتم ریشه-پاجوش و الگوریتم چکه آبهای هوشمند را نام برد.

در سال‌های اخیر الگوریتم‌های فرابتکاری جدیدی با توجه به موجودات زنده موجود در طبیعت (الهام گرفته از طبیعت) توسعه داده شده‌اند که از معروف‌ترین آن‌ها می‌توان به الگوریتم بهینه سازی گرگ خاکستری ، الگوریتم بهینه سازی سنجاقک ، الگوریتم بهینه سازی گرده افشانی گل ها، الگوریتم بهینه سازی نهنگ یا وال ، الگوریتم بهینه سازی ملخ، و الگوریتم بهینه سازی کلونی پنگوئن های امپراتور[۱۰] [۱۱] نام برد.

اخیرا، به نظر می رسد روند توسعه جدیدی از الگوریتم ها با الهام گرفتن از علم دیرینه شناسی و علوم باستان آغاز شده است. این الگوریتم ها که در دسته جدید الهام گرفته از دوران باستان، قرار می گیرند با بررسی ویژگی های دوران باستان سعی می کنند نوعی بهینه سازی ایجاد کنند [۱۲].

الگوریتم‌های متداول فراابتکاری مبتنی بر یک جواب

[ویرایش]

از الگوریتم‌های متداول فراابتکاری مبتنی بر یک جواب می‌توان الگوریتم جستجوی ممنوعه[۱۳] و الگوریتم تبرید شبیه‌سازی شده[۱۴] را نام برد.

پیاده‌سازی الگوریتم‌های فراابتکاری

[ویرایش]

فرایند طراحی و پیاده‌سازی الگوریتم‌های فراابتکاری دارای سه مرحلهٔ متوالی است که هر کدام از آن‌ها دارای گام‌های مختلفی هستند. در هر گام فعالیت‌هایی باید انجام شود تا آن گام کامل شود. مرحلهٔ ۱ آماده‌سازی است که در آن باید شناخت دقیقی از مسئله‌ای که می‌خواهیم حل کنیم بدست آوریم، و اهداف طراحی الگوریتم فراابتکاری برای آن باید با توجه به روش‌های حل موجود برای این مسئله به‌طور واضح و شفاف مشخص شود. مرحلهٔ بعدی، ساخت نام دارد. مهم‌ترین اهداف این مرحله انتخاب استراتژی حل، تعریف معیارهای اندازه‌گیری عملکرد، و طراحی الگوریتم برای استراتژی حل انتخابی می‌باشد. آخرین مرحله پیاده‌سازی است که در آن پیاده‌سازی الگوریتم طراحی شده در مرحلهٔ قبل، شامل تنظیم پارامترها، تحلیل عملکرد، و در نهایت تدوین و تهیه گزارش نتایج باید انجام شود.[۱۵]

جستارهای وابسته

[ویرایش]

منابع

[ویرایش]
  1. الگوریتم‌های بهینه‌سازی فراابتکاری (همراه با کاربردهایی در مهندسی برق)/تالیف دکتر فرشاد مریخ بیات؛ انتشارات جهاد دانشگاهی؛ 1393
  2. الگوریتم‌های بهینه‌سازی فراابتکاری/تالیف مسعود یقینی، محمد رحیم اخوان کاظم‌زاده. جهاد دانشگاهی واحد صنعتی امیر کبیر شابک ‎۹۷۸−۹۶۴−۲۱۰−۰۷۸-1
  3. بهینه‌سازی ترکیبی و الگوریتم‌های فرا ابتکاری /تالیف کورش عشقی؛ مهدی کریمی نسب انتشارات آذرین مهر ؛1391
  4. Talbi, El-Ghazali. Metaheuristics: From Design to Impelementation, John Wiley and sons 2009
  5. Eiben, A.E. , Smith, J.E. , Introduction to Evolutionary Computiong, Springer 2003
  6. Dorigo, M. , and Stützle, T. , Ant Colony Optimization, MIT Press, Cambridge, MA, 2004
  7. Yonezawa, Y. , and Kikuchi, T. , Ecological algorithm for optimal ordering used by collective honey bee behavior, In 7th International Symposium on Micro Machine and Human Science, pp. 249–256 1996
  8. Ghaemi, Manizheh; Feizi-Derakhshi, Mohammad-Reza (2014-11-01). "Forest Optimization Algorithm". Expert Systems with Applications (به انگلیسی). 41 (15): 6676–6687. doi:10.1016/j.eswa.2014.05.009. ISSN 0957-4174.
  9. Rahkar Farshi, Taymaz (2020-06-02). "Battle royale optimization algorithm". Neural Computing and Applications (به انگلیسی). doi:10.1007/s00521-020-05004-4. ISSN 1433-3058.
  10. Harifi, Sasan; Khalilian, Madjid; Mohammadzadeh, Javad; Ebrahimnejad, Sadoullah (2019-02-25). "Emperor Penguins Colony: a new metaheuristic algorithm for optimization". Evolutionary Intelligence (به انگلیسی). doi:10.1007/s12065-019-00212-x. ISSN 1864-5917.
  11. Yoosefdoost, Icen; Basirifard, Milad; Álvarez-García, José (2022-07-29). "Reservoir Operation Management with New Multi-Objective (MOEPO) and Metaheuristic (EPO) Algorithms". Water (به انگلیسی). 14 (15): 2329. doi:10.3390/w14152329. ISSN 2073-4441.
  12. https://doi.org/10.1007/s12065-020-00451-3
  13. Glover F. and Laguna, M. , Tabu Search, Kluwer Academic Publishers, 1997simulated annealing, Science, Vol. 220, No. 4598, pp. 671–680, 1983
  14. Kirkpatrick, S. , Gelatt, C. D. , and Vecchi, M. P. , Optimization by simulated annealing, Science, Vol. 220, No. 4598, pp. 671–680, 1983
  15. Yaghini, Masoud; Akhavan, Rahim, DIMMA: A Design and Implementation Methodology for Metaheuristic Algorithms - A Perspective from Software Development, International Journal of Applied Metaheuristic Computing, Vol.1, No.4, pp. 57-74, 2010.

پیوند به بیرون

[ویرایش]