Matheuristics: Mathematical Programming-based Meta-heuristic Algorithms
for Optimization Problems
الگوریتم های فراابتکاری مبتنی بر برنامه ریزی ریاضی
برای حل مسایل بهینه سازی
رضا توکلی مقدم
استاد دانشکده مهندسی صنایع، پرديس دانشکدههای فنی، دانشگاه تهران
عضو وابسته شاخه مهندسی صنایع، گروه فنی و مهندسی، فرهگستان علوم
عضو هیات مدیره انجمن ایرانی تحقیق در عملیات
عضو شبکه جهانی آموزش و پژوهشهای علمی
tavakoli@ut.ac.ir
چکیده
علیرغم پیشرفت های شگرف در روش های دقیق (Exact Methods) و همچنین سختافزارهای رایانه ای، امکان حل بسیاری از مسائل دنیای واقعی با آنها وجود ندارد. با توجه به این محدودیت، در دهه های اخیر الگوریتمهای فراابتکاری (Meta-heuristics) کاربرد گسترده و موفقیتآمیزی در حل انواع مختلفی از مسائل بهینه سازی ترکیباتی (Combinatorial Optimization Problems) داشته اند. همچنین با توجه به وجود نرمافزارهای تجاری قدرتمند در حل مسائل برنامه ریزی عدد صحیح مختلط (MILP)، برخی از محققان بر آن شده اند تا از این امکان در خلق الگوریتم های فراابتکاری و ابتکاری (Heuristics) ترکیبی کاراتر برای رسیدن به جواب های با کیفیت در زمان معقول بهره جویند. بنا بر تعریف، الگوریتم هایی که از ترکیب الگوریتم های فراابتکاری یا ابتکاری با روشهای برنامه ریزی ریاضی (Mathematical Programming) حاصل میگردند، متهیورستیک (Matheuristics) نامیده میشوند. با وجود جدید بودن این حوزه، تعداد قابل توجهی از مطالعات از این رویکرد حل در حوزههای مختلف استفاده نمودهاند. معمولاً این الگوریتم ها از یک ساختار راهبر-پیرو (Master-Slave) پیروی میکنند. یا الگوریتم های فراابتکاری در نقش راهبر وظیفه اکتشاف و جستجو (Exploration) را داشته و الگوریتم های برنامه ریزی ریاضی در دل آنها نقش تمرکز و استخراج (Exploitation) را بازی میکنند. یا اینکه روش های فراابتکاری در درون الگوریتم های برنامه ریزی ریاضی بکار گرفته میشوند. به عنوان مثال جواب های با کیفیت الگوریتم های فراابتکاری به عنوان حد در روش شاخه و برش به ویژه در مراحل اولیه آن استفاده میشوند.