آشنایی با الگوریتم‌های فراابتکاری (Meta Heuristic)

در دنیای کامپیوتر، مسائل متعددی هستند که با بهترین کامپیوتر‌های امروزی نیز، در زمان معقول حل نمی‌شوند. مثلاً می‌توانید برنامه‌ای بنویسید که بتواند بهترین مسیر را از خانه‌ی شما، به محل کار پیدا کند، ولی این برنامه ممکن است برای هر بار محاسبه، نیاز به ۱۲۰دقیقه زمان داشته باشد! این در حالی است چنین زمانی برای پیدا کردن بهترین مسیر در یک شهر، معقول به نظر نمی‌رسد. پس احتمالاً بهتر است برای نوشتن یک همچین برنامه‌ای، به جای استفاده از الگوریتم‌های معمولی، از روش‌های دیگری استفاده کنید. یکی از این روش‌های دیگر، الگوریتم‌های ابتکاری و فراابتکاری هستند.

در این دوره می‌خواهیم با روش‌های فراابتکاری و الگوریتم‌های مختلفی آن آشنا شویم تا بتوانیم در مسائل و برنامه‌های خود از این روش‌ها استفاده کنیم. منابع اصلی برای این دوره دو کتاب New Ideas of Optimization و Handbook of Metaheuristics هستند.

ترتیب دروس پیشنهادی برای این دوره به صورت زیر است:

درس ۱الگوریتم فراابتکاری (Meta Heuristic) و تفاوت آن با الگوریتم‌های عادی
درس ۲منظور از بهینه محلی (Local Optimum) و بهینه سراسری (Global Optimum) چیست؟
درس ۳الگوریتم‌های فراابتکاری (Meta Heuristic)، تابع برازش (Fitness Function) و چند مثال
درس ۴ابعاد (Dimension) مسئله و فضای حالت در الگوریتم‌های بهینه‌سازی
درس ۵
الگوریتم ژنتیک (Genetic)
درس ۶
شبیه سازی تبرید (Simulated Annealing) و الگوریتم متروپولیس
درس ۷
الگوریتم جستجوی ممنوعه (Tabu Search)
درس ۸
الگوریتم بهینه‌سازی کلونی مورچگان (Ant Colony Optimization)
درس ۹
جستجوی محلی (Local Search) و الگوریتم تپه‌نوردی (Hill Climbing)
درس ۱۰
الگوریتم ممتیک (Memetic) بر اساس الگوهای رفتاری
درس ۱۱
الگوریتم‌های چند شروعی (Multi Start) در مسائل بهینه‌سازی
این دوره در حال تکمیل است