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

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

•      الگوریتم‌های دقیق ( exact)

•      الگوریتم‌های تقریبی (approximate algorithms)

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

•      الگوریتم‌های ابتکاری(heuristic)

•      الگوریتم‌های فراابتکاری(meta-heuristic)

•      الگوریتم‌های فوق‌ابتکاری(hyper heuristic)

دو مشکل اساسی الگوریتم‌های ابتکاری، به دام افتادن آن‌ها در نقاط بهینه محلی و همگرایی زودرس به این نقاط است. الگوریتم‌های فراابتکاری، برای حل این مشکلات الگوریتم‌های ابتکاری ارائه شده‌اند و قابلیت کاربرد در طیف گسترده‌ای از مسائل را دارند. رده‌های گوناگونی از این نوع الگوریتم در دهه‌های اخیر توسعه یافته است. معیار‌های مختلفی می‌تواند برای طبقه‌بندی الگوریتم‌های فراابتکاری استفاده شود:

•        مبتنی بر یک راه‌حل و مبتنی بر جمعیت: الگوریتم‌های مبتنی بر یک راه‌حل در حین فرایند جستجو، یک راه‌حل را تغییر می‌دهند، در حالی که در الگوریتم‌های مبتنی بر جمعیت در حین جستجو، یک جمعیت از راه‌حل‌ها در نظر گرفته می‌شوند.

•      الهام گرفته شده از طبیعت و بدون الهام از طبیعت: بسیاری الگوریتم‌های فراابتکاری از طبیعت الهام گرفته شده‌اند، در این میان، برخی از الگوریتم‌های فراابتکاری نیز از طبیعت الهام گرفته نشده‌اند.

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

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

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

دیدگاه ها:



درج دیدگاه