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


ثبت پروژه