الگوریتمهای فراابتکاری یا فراتکاملی یا فرااکتشافی نوعی از الگوریتمهای تصادفی هستند که برای یافتن پاسخ بهینه به کار میروند.
روشها و الگوریتمهای بهینهسازی به دو دسته الگوریتمهای دقیق (exact) و الگوریتمهای تقریبی (approximate algorithms) تقسیمبندی میشوند. الگوریتمهای دقیق قادر به یافتن جواب بهینه به صورت دقیق هستند اما در مورد مسائل بهینهسازی سخت کارایی کافی ندارند و زمان اجرای آنها متناسب با ابعاد مسائل به صورت نمایی افزایش مییابد.
الگوریتمهای تقریبی قادر به یافتن جوابهای خوب (نزدیک به بهینه) در زمان حل کوتاه برای مسائل بهینهسازی سخت هستند. الگوریتمهای تقریبی نیز به سه دسته الگوریتمهای ابتکاری (heuristic) و فراابتکاری (meta-heuristic) و فوق ابتکاری (hyper heuristic) بخشبندی میشوند. دو مشکل اصلی الگوریتمهای ابتکاری، گیر افتادن آنها در نقاط بهینه محلی، همگرایی زودرس به این نقاط است. الگوریتمهای فراابتکاری برای حل این مشکلات الگوریتمهای ابتکاری ارائه شدهاند. در واقع الگوریتمهای فراابتکاری، یکی از انواع الگوریتمهای بهینهسازی تقریبی هستند که دارای راهکارهای برون رفت از نقاط بهینه محلی هستند و قابلیت کاربرد در طیف گستردهای از مسائل را دارند.
الگوریتم های فراابتکاری ، به طور وسیع در مسائل بهینهسازی علوم مختلف، از قبیل علوم کامپیوتر، هوش مصنوعی و مهندسی و مدیریت، کاربرد دارند. یکی از کاربردهای مهم الگوریتم های متاهیوریستیک، در مسائل بهینهسازی ترکیبیاتی است. به این دسته از مسائل، مسائل بهینهسازی گسسته، نیز میگویند. بسیاری از این مسائل، از نوع مسائل سخت NP-Hard میباشند. مسائل ترکیبیاتی، معمولا ظاهری ساده، دارند، اما بهسختی میتوانیم آنها را حل کنیم.
الگوریتم های متاهیوریستیک، یافتن پاسخ بهینه را گارانتی نمی کنند ولی در خد امکان پاسخ خیلی مناسبی برای مسئله مورد نظر پیدا می کنند.