در ریاضیات و علوم کامپیوتر، «مساله بهینهسازی» (Optimization Problem)، در واقع مساله پیدا کردن «بهترین» راه حل، از میان کلیه راه حلهای «ممکن» برای مساله است. نوع خاصی از مسائل بهینهسازی وجود دارند که در آنها، به دلیل زیاد شدن تعداد «اشیا» (Objects) (منظور تعداد مشاهدات است)، مدیریت کردن آنها با استفاده از «روشهای ترکیبیاتی» (Combinatorial Methods) امکانپذیر نیست. یک مثال شناخته شده از چنین مسائلی، «مساله فروشنده دورهگرد» (Traveling Salesman Problem) است که از دسته مسائل «انپی کامل» (NP-Complete که در آن، NP سرنامی برای عبارت Non-Deterministic Polynomial است) محسوب میشود.
برای حل چنین مسائلی، یک الگوریتم بسیار کاربردی به نام «شبیه سازی تبرید» (Simulated Annealing) (به آن «تبرید شبیه سازی شده»، «بازپخت شبیه سازی شده» و یا به طور خلاصه، SA نیز گفته میشود) وجود دارد. از الگوریتم شبیه سازی تبرید اغلب برای تخمین «بهینه سراسری» (Global Optimization) در مسائل بهینهسازی که فضای جستجوی آنها بزرگ است، استفاده میشود.
الگوریتم شبیه سازی تبرید (بازپخت) یا Simulated Annealing و یا به اختصار SA در اوائل دهه ۱۹۸۰ و توسط کیرکپاتریک و همکارانش معرفی شد. این روش، فرایند تبرید مواد را شبیه سازی می کند. طی فرایند تبرید، یک ماده تا دمایی بیشتر از دمای ذوبش گرم می شود و سپس به تدریج، دمای آن پایین آورده می شود. نحوه کاهش دما بسیار کند و در حدی است که ماده در تعادل ترمودینامیکی است. به عبارت دیگر، دمای جسم آن قدر ثابت می ماند که بهترین ساختار بلوری با کم ترین انرژی در آن دما تشکیل شود. اجسامی ساختار بلوری شان در انرژی های بالاتری شکل گرفته باشد، شکننده تر نیز هستند. اما بر عکس، اگر ساختار بلوری جسمی، در انرژی های کم تر تشکیل شده باشد، از مقاومت فیزیکی بسیار بیشتری برخوردار خواهد بود. این الگوریتم یکی از قوی ترین الگوریتم ها در مواجهه با مسائل بهینه سازی ترکیباتی یا Combinatorial Optimization است.
اکنون کد این الگوریتم برای شما عزیزان آماده و ارائه شده است.
دوستان گرامی توجه فرمایید که: این کد به صورت اختصاصی توسط گیل پروژه ارائه شده است و مورد تائید ما می باشد.
هنوز بررسیای ثبت نشده است.