سیستمهای پیچیده اجتماعی تعداد زیادی از مسائل دارای طبیعت ترکیباتی را پیش روی ما قرار میدهند. مسیر کامیونهای حمل و نقل باید تعیین شود، انبارها یا نقاط فروش محصولات باید جایابی شوند، شبکههای ارتباطی باید طراحی شوند، کانتینرها باید بارگیری شوند، رابطهای رادیویی میبایست دارای فرکانس مناسب باشند، مواد اولیه چوب، فلز، شیشه و چرم باید به اندازههای لازم بریده شوند؛ از این دست مسائل بیشمارند. تئوری پیچیدگی به ما میگوید که مسائل ترکیباتی اغلب پلینومیال نیستند. این مسائل در اندازههای کاربردی و عملی خود به قدری بزرگ هستند که نمیتوان جواب بهینه آنها را در مدت زمان قابل پذیرش به دست آورد. با این وجود، این مسائل باید حل شوند و بنابراین چارهای نیست که به جوابهای زیر بهینه بسنده نمود به گونهای که دارای کیفیت قابل پذیرش بوده و در مدت زمان قابل پذیرش به دست آیند.
چندین رویکرد برای طراحی جوابهای با کیفیت قابل پذیرش تحت محدودیت زمانی قابل پذیرش پیشنهاد شده است. الگوریتمهایی هستند که میتوانند یافتن جوابهای خوب در فاصله مشخصی از جواب بهینه را تضمین کنند که به آنها الگوریتمهای تقریبی میگویند. الگوریتمهای دیگری نیز هستند که تضمین میدهند با احتمال بالا جواب نزدیک بهینه تولید کنند که به آنها الگوریتمهای احتمالی گفته میشود. جدای از این دو دسته، میتوان الگوریتمهایی را پذیرفت که هیچ تضمینی در ارائه جواب ندارند اما براساس شواهد و سوابق نتایج آنها، به طور متوسط بهترین تقابل کیفیت و زمان حل برای مسئله مورد بررسی را به همراه داشتهاند. به این الگوریتمها، الگوریتمهای هیوریستیک گفته میشود.
هیوریستیکها عبارتند از معیارها، روشها یا اصولی برای تصمیمگیری بین چند گزینه خطمشی و انتخاب اثربخشترین برای دستیابی به اهداف مورد نظر. هیوریستیکها نتیجه برقراری اعتدال بین دو نیاز هستند: نیاز به ساخت معیارهای ساده و در همان زمان توانایی تمایز درست بین انتخابهای خوب و بد. برای بهبود این الگوریتمها از اواسط دهه هفتاد، موج تازهای از رویکردها آغاز گردید. این رویکردها شامل الگوریتمهایی است که صریحاً یا به صورت ضمنی تقابل بین ایجاد تنوع جستجو (وقتی علائمی وجود دارد که جستجو به سمت مناطق بد فضای جستجو میرود) و تشدید جستجو (با این هدف که بهترین جواب در منطقه مورد بررسی را پیدا کند) را مدیریت میکنند. این الگوریتمها متاهیوریستیک نامیده میشوند. از بین این الگوریتمها میتوان به موارد زیر اشاره کرد:
- بازپخت شبیهسازی شده
- جستجوی ممنوع
- الگوریتمهای ژنتیک
- شبکههای عصبی مصنوعی
- بهینهسازی مورچهای یا الگوریتمهای مورچه
در این تحقیق ما به بررسی بازپخت شبیهسازی شده (شبیهسازی حرارتی) میپردازیم.