آموزش الگوریتم بازپخت شبیه سازی شده (Simulated Annealing) در متلب

در بسیاری از مسائل بهینه سازی دنیای واقعی، یافتن نقطه بهینه سراسری تابع هدف با روش های قطعی و روش های مبتنی بر مشتق تقریبا می توان گفت غیر ممکن است.

در این میان الگوریتم های ابتکاری متعددی پیشنهاد شده اند که با استفاده از تقلید فرآیند های طبیعی توانسته اند در یافتن نقطه بهینه توابع پیچیده و توابع با تعداد متغییر بالا که در دنیایی واقعی فراوان هستند به ما کمک کنند.

یکی از قدیمی ترین و معروف ترین الگوریتم های فراابتکاری که در دهه ۸۰ میلادی توسط Krikpatrick پیشنهاد شده ، الگوریتم بازپخت شبیه سازی شده یا simulated annealing یا الگوریتم SA می باشد.

الگوریتم بازپخت شبیه سازی شده یا الگوریتم تبرید ، یک روش جستجوی تصادفی مبتنی بر مسیر، برای بهینه سازی می باشد.

این الگوریتم از فرآیند گرم کردن و سرد کردن تدریجی فلزات تقلید می کند. این تقلید به این ترتیب است که، تلاش می شود یک فلز سرد شده تا به وضعیت کریستالی با کمترین انرژی و بیشترین ابعاد کریستال برسد تا کمبود ها در ساختار فلز را کاهش دهد و مقاومت فلز به بیشترین مقدار ممکن برسد. این فرآیند شامل کنترل دقیق درجه حرارت و نرخ سرد شدن می باشد که معمولا برنامه خنک سازی نامیده می شود.

الگوریتم SA به طور موفقیت آمیزی در کاربرد های مختلف استفاده شده است.

 

آموزش الگوریتم بازپخت شبیه سازی شده
تصویر۱) آموزش الگوریتم بازپخت شبیه سازی شده در متلب

 

الگوریتم Simulated Annealing
تصویر۲) آموزش الگوریتم بازپخت شبیه سازی شده در متلب

 

الگوریتم بازپخت شبیه سازی شده و آموزش الگوریتم SA
تصویر۳) آموزش الگوریتم بازپخت شبیه سازی شده در متلب

 

آنچه در دوره آموزش الگوریتم بازپخت شبیه سازی شده خواهید آموخت:

در قسمت اول دوره آموزش الگوریتم بازپخت شبیه سازی شده (Simulated Annealing) در متلب مقدمات تئوری الگوریتم تبرید بررسی خواهد شد.

در قسمت دوم آموزش الگوریتم SA نیز نحوه تبدیل کردن آنها به کد در نرم افزار قدرتمند متلب به طور کامل آموزش داده شده است.

 

شما می توانید ، هرگونه سوال و پیشنهاد خود را از طریق دیدگاه های همین پست مطرح کنید.