جستجوی تابو (Tabu Search)
جستجوی تابو (Tabu Search)
جستجوی تابو نخستین بار توسط فرد گلوور[1] در مقالهی منتشر شده در سال 1986]گلوور،1986[ بیان شد، البته این مقاله از بسیاری نظریههای پیشنهادی در گذشته طی دههی 60 استفاده کرده بود. دو مقالهای ]گلوور،1989،گلوور،1990[ که عنوان آنها جستجوی تابو بود بسیاری از اصولی را که امروزه شناخته شدهاند، بیان کردند. برخی از این اصول اقبال چندانی را برای مدت طولانی در میان جامعهی علمی بهدست نیاورد. در واقع، در نیمهی نخست دههی 90، بیشتر کارهای تحقیقاتی در زمینهی جستجوی تابو، دامنهی کوچکی از اصول این روش[2] را به کار میگرفت؛ که عموما محدود به یک لیست تابو[3] و یک شرط تکاملی[4] ساده بود.
شهرت جستجوی تابو وامدار کارهای پیشگامانهای است که توسط گروه دی . دِ ورا[5] در سازمان فدرال تکنولوژی سوییس[6]،لاسن[7]، در اواخر دههی 80 صورت گرفت. در حقیقت مقالهی گلوور، کاشف روش، در زمانی که هنوز «فرهنگ اکتشافی[8]» وجود نداشت، به خوبی درک نشد. بنابراین عامل اعتباری مهم برای شهرت روش اصلی به هرتز و دِورا [هرتز[9] و دِ ورا، 1987، هرتز و دِ ورا، 1991، هرتز و دِ ورا، 1989] مربوط میشود که به طور قطع نقش بزرگی در انتشار روش ایفا کردند.
در همین زمان رقابتی میان روش شبیهسازی حرارتی (که دارای یک نظریهی همگرایی قطعی به عنوان امتیاز نظریاش بود) و جستجوی تابو ایجاد شد. در بسیاری کاربردها روشهای اکتشافی بر مبنای جستجوی تابو به روشنی نتایج موثرتری از خود نشان داد [تایرد[10]،1990، تایرد،1991،تایرد،1993،تایرد،1994]، که موجب افزایش اقبال جامعهی تحقیقاتی به این روش شد.
در آغاز دههی90 این روش به کانادا و به طور دقیقتر به مرکز تحقیقات ترابری در مونترال برده شد، جایی که پژوهشگران فوق دکترا از از گروه دی.دِورا در این زمینه کار میکردند. بدینسان پایگاه دیگری از علاقهمندی به زمینهی جستجوی تابو بهوجود آمد. از این پس روش به سرعت در میان جامعهی تحقیقاتی گسترش یافت و این گسترش با انتشار نخستین کتاب [گلوور اِت ال.،1993]، که کاملا به جستجوی تابو اختصاص داشت، به اوج خود رسید. در این بخش نمیخواهیم بر روی اصول بسیار پیشرفتهی جستجوی تابو، همچون اصول بیان شده در کتاب فرد گلوور و مانوئل لانگونا[11] [گلوور و لانگونا، 1997]، بپردازیم، بلکه قصد داریم روی مهمترین و عمومی ترین اصول تمرکز کنیم. در اینجا، لازم به گفتن است که گاهی نویسندهای دیگر به نظریهی اصلی جستجوی تابو نسبت داده میشود. اما از ادعای چنین نسبتی ناشایست است: هیچ سند مکتوبی که آن نظریهها را بیان کند یافت نمیشود، این نظریهها تنها در میان جمع کوچکی از حاضرین طی یک همایش در سال 1986 گفته شد و، بر اساس آنچه در مورد آن ارائه شنیده شده است، شامل زیر مجموعهی محدودی از نظریههای اصلی بوده است که پیش از آن توسط گلوور منتشر شده بود.
آنچه که به طور قطع جستجوی تابو را از روش جستجوی محلی گفته شده در بخش پیشین متمایز میسازد این است که جستجوی تابو دارای هوشمندی است. در واقع، تمایل زیادی به هدایت یک جستجوی تکرارشونده[12] به سمت جلو، جهت مناسب، دارد به گونهای که جستجو تنها توسط احتمال و مقدار یک تابع هدف[13]، که باید بهینه شود، هدایت نگردد. توسعهی جستجوی تابو با دو چالش همراه است: نخست اینکه، همچون هر جستجوی تکرارشوندهای، نیاز است که موتور جستجو، یعنی همان رویهی سنجش راهحلهای همسایه، عاملی موثر باشد؛ دوم اینکه، بخشهایی از دانش ما در مورد مسالهی تحت مطالعه باید به رویهی جستجو منتقل گردد تا اینکه این رویه در ناحیهای نادرست از فضای راهحلها محصور نشود. از سویی دیگر، روند باید بهطور هوشمند در فضای راهحل هدایت گردد.
منشا نام جستجوی تابو
منشا نام این روش را میتوان از این نظریه یافت، که یک جستجوی محلی میتواند با یک بهینگی محلی منتهی شود، با این اطمینان که به طور دورهای به یک بهینگی محلی یکسان بازنگردد، که نیازمند این است که از بازگشت جستجو به راهحلهایی که تاکنون بررسی شدهاند جلوگیری شود، به عبارت دیگر، برخی راهحلها باید دارای یک وضعیت ممنوعه[14] باشند.
جستجوی تابو، در مقایسه با شبیهسازی حرارتی و الگوریتم ژنتیک، فضای راهحل را خیلی بیشتر جستجو میکند (یعنی حریصتر از آنهاست). الگوریتمهای جستجوی تابو با یک پیکربندی (یا مجموعهای از پیکربندیها در زمانی که جستجو به شکل همروند[15] انجام میشوند) مقداردهی اولیه میگردد، که پیکربندی جاری نامیده میشود. در هر دور تکرار الگوریتم، یک ساختار همسایگی برای پیکربندی جاری تعریف میشود؛ سپس یک حرکت انجام میشود تا به سوی بهترین پیکربندی در این همسایگی حرکت کند (یعنی در یک مسئلهی کمینهسازی، الگوریتم راهش را به سوی پیکربندیای جهت میدهد که گویای کمترین هزینه است). در حالت عادی، تنها همسایگان با امیدبخشی بیشتر مد نظر قرار میگیرند، در غیر این صورت ممکن است نتوان مسئله را به راه درستش هدایت کرد (مسئلهی رام نشدنی). بر خلاف انواع الگوریتمهای حساس به تغییر[16] (الگوریتمهای گرادیانی)، که برای جستجوی محلی استفاده میشوند، در جستجوی تابو همسایگی به شکل پویا (دینامیک) بهروزرسانی میگردد. تفاوت دیگر این که انتقال به پیکربندیهای با هزینهی بالاتر (حالت نامناسب برای مسئله) مجاز است (این ویژگی روش را قادر میسازد تا از نقطهی کمینگی محلی رهایی یابد). یک ویژگی ضروری الگوریتمهای جستجوی تابو خارج کردن مستقیم گزینههای جستجویی است که بهطور موقت در دستهی مسیرهای ممنوع (تابو) قرار گرفتهاند. نتیجه اینکه، در این الگوریتمها استفاده از حافـظه به گونهای بسیار شدید صورت میگیرد: که یکی از محدودیتهای تابو است.
از دیگر سازوکارهای جستجوی تابو تشدید[17] و تنوع [18] است: با وسیلهی تشدید، الگوریتم جستجوی فراگیرتری را در ناحیههای که ممکن است منتهی به بهینگی محلی گردند، اما مسیر را به سوی خود میکشند، انجام میدهد؛ از سوی دیگر، توسط تنوع، الگوریتم به ســـوی ناحیههایی حرکت میکند که پیشتر ملاقات نکرده است، چیزی که برای جلوگیری از نقاط کمینگی محلی مهم است. جستجوی تابو دارای مجموعهای از اصول (یا کارکردها) است که در حالتی یکپارچه در مسیری هوشمند برای حل مسئله به کار گرفته میشوند.
ویژگیهای اصلی (یا کارکردهای) جستجوی تابو اینگون خلاصه شدهاند:
1. حافظهی سازگار شونده (شکل پویای حافظه)
2. بهگزینی ( که دارای استراتژی فراموشی است)
3. سادهسازی و تجزیه (در طول حافظهی واضح و با دسترسی مستقیم)
4. تنظیم زمان (یعنی هم تاخیر و هم تعداد تکرار وقایع و تفاوت میان کوتاهمدت و بلندمدت)
5. کیفیت و فشردگی (یعنی قدرت کشش نسبی انتخابهای موجود و بزرگی تغییرات در ساختار یا روابط بازدارنده)
6. سابقه (شامل سابقهی ناحیهای، ساختاری و وابستگیهای متقابل ترتیبی)
7. جستجوی قابل پیشبینی
8. محدودیتها و وسیلههای تحمیل شده با توجه به موقعیت (یا، شرایط ممنوعه و سطوح پیشران)
9. تمرکز فراوان بر ناحیهها و راهحلهای خوب (فرایند تشدید)
10. مشخص کردن و کشف ناحیههای امیدبخش تازه (فرایند تنوع)
11. الگوی جستجوی غیریکنواخت (نوسان متناسب با وضعیت)
12. یکپارچهسازی و تعمیم راهحلها (اتصال دوبارهی مسیرها)
میتوان الگوریتمهای جستجوی تابوی گوناگونی را با ترکیب کارکردهای بالا برای حل مسایل مشخص تشـکیل داد. البته، روش پیـــادهسازی که ایجاد میگردد به ویژگیهای مسئله و درجهی پیچیدگی مورد نیاز در یک کاربرد خاص بستگی دارد. اگرچه کارکردهای گفته شده در بالا میتوانند تعمیم یا تغییر داده شوند، اما در بسیاری از مسایل با تنها زیر مجموعهای از این کارکردها موفق عمل کرده است (جستجوی تابو با حافظهی کوتاه مدت با لیستهای تابو و معیارهایی که میزان انگیزه برای رفتن به سوی یک مسیر را تعیین میکنند).
[1] Fred Glover
[2] technique
[3] tabu list
[4] aspiration condition
[5] D.de Werra
[6] Swiss Federal Institute of Technology
[7] Lausanne
[8] Metaheuristic culture
[9] Hertz
[10] Taillard
[11] Manuel Languna
[12] Iterative
[13] Objective function
[14] tabu status
[15] Parallel
[16] Gradient type algorithms
[17] Intensification
[18] diversification
