Professional Documents
Culture Documents
Untitled
Untitled
الگوریتم تبرید شبیهسازیشده ( ،)SA( )Simulated Annealingیک الگوریتم بهینهسازی فراابتکاری ساده و
اثربخش در حل مسائل بهینهسازی در فضاهای جستجوی بزرگ است .این الگوریتم بیشتر زمانی استفاده میشود که فضای
جستجو گسسته باشد (مثلًا همه گشتهایی که از یک مجموعه از شهرها میگذرند) .برای مسائلی که پیدا کردن یک پاسخ
تقریبی برای بهینه کلی مهمتر از پیدا کردن یک پاسخ دقیق برای بهینه محلی در زمان محدود و مشخصی است ،تبرید
شبیهسازی شده ممکن است نسبت به باقی روشها مانند گرادیان کاهشی دارای ارجحییت باشد.
تکنیک تبرید تدریجی ،به وسیلٔه متالورژیستها برای رسیدن به حالتی که در آن ماده جامد ،به خوبی مرتب و انرژی آن
کمینه شده باشد ،استفاده میشود .هدف از این کار این است که سایز کریستا لها در حالت جامد ماده در حال تبرید به
بزرگترین حالت برسد .این تکنیک شامل قرار دادن ماده در دمای بالا و سپس کم کردن تدریجی این دماست .شبیه سازی
تبرید رویکردی است که مسئله کمینه سازی یک تابع با تعداد بسیار زیادی متغیر است را به یک مسئله مکانیک آماری کاهش
میدهد .بنیان گذاران این الگوریتم برای حل مسائل سخت بهینهسازی ،روشی مبتنی بر تکنیک تبرید تدریجی و آرام
پیشنهاد نمودند .این محققین برای مدلسازی تبرید یک سیستم به منظور پیدا کردن پاسخ کمینه کلی ،از شبیه سازی
کامپیوتری استفاده کردند]۲[]۱[.
میتوان تبرید تدریجی و آرام در این الگوریتم را به عنوان کاهش تدریجی احتمال انتخاب پاسخهای بدتر حین جستجو در
فضای پاسخها دانست (انتخاب پاسخهای بدتر یک ویژگی اساسی الگوریتمهای فراابتگاری است و پیدا کردن بهترین پاسخ
را ممکن میسازد) .شبیه سازی را میتوان به دو صورت حل روابط کینتیکی برای توابع چگالی (مانند کار خاچاتوریان،
سمونوفسکایا و وینشتاین در سال ۱۹۷۹و )۱۹۸۱یا استفاده از نمونهگیری تصادفی ،انجام داد .نمونه گیری تصادفی در سال
۱۹۸۳توسط کریکپاتریک ،گلت و کلی معرفی شد[ ،]۲کرنی در سال ۱۹۸۵و خاچاتوریان ،سمونوفسکایا و وینشتاین در سال
۱۹۸۵بهطور مستقل این ایده را مطرح کردند .این روش یک اقتباس از الگوریتم متروپولیس-هستینگز است ،یک روش
مونت کارلو که نمونه حالتهایی را از یک سیستم ترمودینامیک تولید میکند.
مقدمه
در روش شبیهسازی تبریدی ( ،)SAهر نقطه sدر فضای جستجو مشابه یک حالت از یک سیستم فیزیکی است ،و تابع
( E(sکه باید کمینه شود ،مشابه با انرژی داخلی سیستم در آن حالت است .در این روش ،هدف انتقال سیستم از حالت
اولیه دلخواه ،به حالتی است که سیستم در آن کمترین انرژی را داشته باشد.
تکرار پایهای
در هر گام ،تبرید شبیهسازیشده یک حالت همسایه را در نظر میگیرد و به صورت احتمالی بین جابهجایی به حالت جدید
یا ماندن در حالت قبلی تصمیم میگیرد .این احتمالات در نهایت سیستم را به سمت حالتهای با انرژی کمتر هدایت
میکنند .معمولًا این مرحله آن قدر تکرار میشود که سیستم به یک حالت معقول برسد ،یا اینکه میزان اعمال محاسباتی از
یک حد مشخص عبور کند.
همسایههای یک حالت
همسایههای یک حالت (جواب) ،حالتهای جدیدی از مسئله هستند که با تغییر در حالت کنونی و با توجه به روشی از پیش
تعیین شده ایجاد میشوند .برای مثال در مسئله فروشندٔه دورهگرد ،هر حالت بهطور کلی یک جایگشت خاص از شهرهایی
است که باید ملاقات شوند .همسایٔه یک جواب ،جایگشتهایی هستند که با انتخاب یک جفت از شهرهای هم جوار ،از کل
مجموعه جایگشتها ،و جابجا کردن آن دو شهر ایجاد میشوند .عمل تغییر در جواب فعلی و رفتن به جوابهای همسایه
«حرکت» ( )moveخوانده میشود و «حرکت»های متفاوت ،همسایههای گوناگون را بدست میدهد.
روشهای ابتکاری ساده مانند
تپهنوردی ،که با یافتن بهترین همسایه
بین همسایههای بهتر از حالت کنونی
حرکت میکنند و زمانی متوقف
میشوند که به حالتی برسند که هیچ
همسایٔه بهتری برای حالت کنونی
نباشد ،نمیتوانند تضمین کنند که
همیشه به بهترین جواب رسیدهاند و
تبرید شبیهسازیشده در حال جستجوی پاسخ بیشینه .هدف این است که به بالاترین نقطه ممکن است خروجی آنها تنها یک
برسیم .در این مسئله نمیتوان از یک الگوریتم تپهنوردی ساده استفاده کرد زیرا تعداد زیادی حالت بهینٔه محلی باشد .الگوریتمهای
بیشینه محلی وجود دارد .با استفاده از کاهش تدریجی دما در الگوریتم تبرید شبیهسازیشده فراابتکاری از همسایههای یک جواب
پاسخ سراسری بیشینه یافت میشود. برای جستجو فضای جوابها استفاده
میکنند و اگر چه همسایههای بهتر را
ترجیح میدهند ،همسایهای بدتر را هم
رد نمیکنند تا در یک بهینه محلی گرفتار نشوند .نشان داده شدهاست که این الگوریتمها با صرف یک زمان کافی میتوانند
بهترین جواب کلی را پیدا کنند.
احتمال پذیرش
با یک تابع احتمال پذیرش مثل به یک حالت کاندید جدید مانند احتمال یک انتقال از حالت کنونی مانند
نشاندهنده دمای متغیر با زمان سیستم است) .حالات با انرژی روی فضای حالت نشاندهنده انرژی و (تابع
است .این کوچکتر از باید مثبت باشد حتی زمانی که کمتر بهتر از حالات با انرژی بالاتر هستند .تابع احتمال
ویژگی تضمین میکند که الگوریتم در یک پاسخ محلی بدتر از پاسخ سراسری بهینه گرفتار نشود.
) یا اینکه به یک عدد کوچیکتر از یا باید به صفر میل کند ( به صفر میل میکند ،احتمال زمانی که
،سیستم به مرور به سمت نقطه با کمینه ) .برای مقادیر به اندازه کافی کوچک از کوچکتر از مثبت میل کند (
مسئله به یک انرژی حرکت میکند و به سمت نقاط با انرژی بیشتر حرکت نخواهد کرد .با قرار دادن
الگوریتم حریصانه تقلیل پیدا میکند که تنها به سمت نقاط با انرژی کمتر حرکاتش را انجام میدهد.
باشد برابر ۱ کوچکتر از زمانی که در صورت اولیٔه تبرید شبیهسازی شده ،احتمال
میشود ،که به این معنی است که رویه همیشه مستقل از دما به سمت نقاط پایینتر حرکت میکند .بسیاری از صورت
بندیها و پیادهسازیهای تبرید شبیهسازیشده همچنان این شرط را به عنوان بخشی از تعریف روش در نظر میگیرند ،اگر
چه این شرط برای کارکردن روش الزامی نیست.
همواره به گونهای انتخاب میشود که احتمال پذیرش یک حرکت زمانی که تفاوت بین دو حالت کمتر است تابع
کاهش یابد ،بهطور مثال حرکات کوچک رو به بالا محتملتر از حرکاتبزرگ هستند .در هر حال ،در صورتی که شروط قبلی
برقرار باشند ،این شرط بهطور اکید الزامی نیست.
با این تفاسیر ،دما نقش اساسی را در کنترلکردن تغییرات در سیستم با توجه به حساسیت آن نسبت به تغییرات انرژی ایفا
،تغییرات در حالت سیستم نسبت به تغییرات بزرگتری در سیستم حساس میکند .بهطور دقیقتر ،در مقادیر بزرگ
است تا زمانی که دما کوچکتر است.
زمانبندی تبرید
نام و ایده بنیادین الگوریتم منشأگرفته از ویژگی دما است .این ویژگی در واقع به گونهای
کنترل میشود که دما حین شبیهسازی به صورت تدریجی کاهش مییابد .الگوریتم با قرار
شروع میشود (در واقع دما در ابتدا یک مقدار بزرگ را اختیار دادن
سریع میکند) و در هر گام طبق یک زمانبندی از پیشتعیینشده کاهش مییابد .در تعیین این
زمانبندی باید توجه داشت که با اتمام منابع مورد استفاده مانند تعداد محاسبات ،زمان انجام
عملیاتها هم تمام شود .برای انجام این کار انتظار میرود در ابتدا الگوریتم در فضای بزرگی
از پاسخها و بیتوجه به تابع انرژی به دنبال جواب بگردد .سپس به سمت مناطق با انرژی کمتر پرش کند و این منطقه به
مرور کوچک و کوچکتر شود تا زمانی که سیستم دقیقا به پایینترین نقطه سراسری برسد.
دو شکل روبرو نشاندهندٔه تأثیر زمانبندی تبرید بر کارایی الگوریتم هستند .مسئله بازترتیبی
پیکسلهای یک عکس به منظور کمینه کردن انرژی واقعی تصویر است ،که باعث میشود
رنگهای مشابه به هم نزدیکتر باشند و رنگهای متفاوت در فاصله دورتری از هم قرار بگیرند.
دو شکل روبرو از دو زمانبندی سریع و آرام در بدست آمدهاند.
برای هر مسئله با فضای متناهی ،احتمال این که الگوریتم تبرید در یک نقطه بهینٔه سراسری
کار خود را تمام کند با افزایش زمان به ۱میل میکند .اگرچه این نتیجٔه نظری چندان راهگشا
نیست زیرا میزان زمانی که لازم است تا احتمال رسیدن به جواب از حدی معقول بیشتر شود
آرام
معمولًا بیشتر از زمانی است که برای جستجوی کل فضا لازم است.
یا کمتر از آن متوقف میشود .در این روند ،صدا یا رسیدن به حالتی با انرژی حداکثر گامها،
یک یک همسایه رندوم حالت فعلی را انتخاب میکند .تابع کردن تابع
به صورت یکنواخت انتخاب میکند .زمانبندی تبرید با صدا کردن تابع عدد را در بازه
Let s = s0
max (exclusive):ـFor k = 0 through k
← T
temperature(k ∕
)maxـk
Pick a random
← neighbour, snew
)neighbour(s
If P(E(s),
new),ـE(s )T ≥
random(0, 1):
newـs ← s
Output: the final
state s
انتخاب
پارمترهای
الگوریتم
، برای اعمال تبرید شبیهسازیشده به یک مسئله خاص ،باید این پارامترها را مشخص کرد :فضای حالت ،تابع انرژی
تبرید شبیهسازیشده میتواند مانند یک قدمزدن تصادفی روی یک گراف جستجو مدل شود که راسهای آن تمام حالات
این است که باید یک مسیر ممکن هستند و یا لهای آن حرکات کاندید .یک شرط لازم برای تابع
نسبتا کوتاه را از حالت اولیه به هر حالت دیگری را که میتواند بهینٔه سراسری باشد فراهم کند .در واقع قطر گراف
اندازه فضای حالت دارای برای ۲۰شهر برابر۲۴۳۲۹۰۲۰۰۸۱۷۶۶۴۰۰۰۰
ٔ جستجو باید کوتاه باشد .در مسئله فروشندٔه دورهگرد
است ،ولی تابع همسایه که دو شهر نزدیک را همسایه میگیرد میتواند در حداکثر ۱۹۰گام به بهینه سراسری برسد.
احتمال گذار
برای تحقیق در رفتار تبرید شبیهسازیشده در یک مسئله خاص ،توجه به احتمالات گذار که نتیجٔه انتخابهای اولیه در
در گراف جستجو ،احتمال گذار برابر احتمال آن پیادهسازی هستند ،راهگشا خواهد بود .برای هر یال
است .این احتمال به دمای کنونی که توسط تابع برود زمانی که حالت کنونی است که الگوریتم به حالت
نیست زیرا بستگی دارد( .دقت کنید که احتمال گذار تنها به تابع احتمال پذیرش
همسایههای کاندید در این روش تک تک بررسی میشوند).
احتمالات پذیرش
برای بسیاری از مسائل یکسان انتخاب میشود و دو تابع دیگر با توجه به مسئله تعیین میشوند. در عمل تابع
کوچکتر از زمانی که در فرمولبندی مسئله توسط کریکپاتریک و همکاران ،تابع
تعریف میشود .این فرمول به باشد برابر ۱و در غیر این صورت برابر
صورت سطحی طبق گذارهای یک سیستم فیزیکی توجیهپذیر است .در واقع این فرمو لبندی مطابق الگوریتم متروپلیس-
و توزیع استفاده شده در متروپلیس-هستنیگز متقارن است .با این حال ،این هستینگز است زمانی که
متقارن احتمال پذیرش اکثرا در تبرید شبیهسازیشده استفاده میشود ،حتی زمانی که تابع
نباشد یا حتی زمانی که احتمالاتی نباشد .در نتیجه ،احتملالات گذار در الگوریتم تبرید شبیهسازیشده مطابق گذارهای
ملزم به شباهت به یک توزیع تعادل سیستم فیزیکی مذکور نیستند و در توزیع حالات در بلند مدت در یک دمای ثابت
ترمودینامیکیروی حالات سیستم فیزیکی در هیچ دمایی نیست .در هر حال ،بیشتر صورتهای تبرید شبیهسازیشده همان
صورت اولیه را انتخاب میکنند که احتمالا بارها پیادهسازی شدهاست.
باید این را در نظر گرفت که پس از تعداد معقولی تکرار الگوریتم ،انتظار در انتخاب تابع
میرود حالت سیستم ،انرژی به مراتب کمتری از حالت ابتدایی داشته باشد .بنابراین به عنوان یک قانون کلی باید
، را به سمت کاندیدی حرکت داد که انرژی حالت جدید تولیدکننده کاندیدها یا همان
شبیه به انرژی حالت کنونی باشد .این روش فراابتکاری (که اساس الگوریتم متروپولیس-هستینگز هم هست) معمولًا
حرکات بسیار خوب و حرکات بسیار بد را حذف میکند .البته بیشتر حرکات بد ممکن هستند تا حرکات خوب و این نشان
میدهد که الگوریتم تقریبًا کارا عمل میکند.
برای مثال در مسئله فروشندٔه دورهگرد که پیشتر به آن اشاره شد ،انتظار میرود جابهجایی از یک شهر به شهر نزدیک آن
در یک گشت با انرژی کم ،تأثیر نسبتًا کمی روی تغییر انرژی بگذارد ،در حالیکه جابهجایی بین دو شهر دلخواه بسیار محتمل
تر است که انرژی بیشتری را هزینه کند (منظور از انرژی اینجا همان طول است).
بزرگ است را که برای آنها یک بیان دقیقتر از این روش فراابتکاری این است که حالات
ی استفاده کرد که احتمال انتخاب کند .بنابراین ،در مثال فروشندٔه دورهگرد ،میتوان از
انتخاب دو شهر برای جابهجایی با افزایش فاصله آنها کاهش يابد.
اجتناب از موانع
علاوه بر ملاحظات قبلی باید تلاش کرد تا تعداد کمینههای محلی عمیق برای انتخاب تابع
(حالاتی که به میزان زیادی از همسایههایشان انرژی کمتری دارند) را کاهش داد .چنین نقاطی میتوانند الگوریتم تبرید
شبیهسازیشده را با احتمال بالایی (تقریبا متناسب با کل تعداد حالات در یک همسایگی) و برای زمان زیادی (تقریبا نمایی
بر حسب تفاوت انرژی با همسایهها در همسایگی) به دام بیاندازند.
به عنوان یک اصل ،طراحی یک تولیدکننده کاندید که بتواند این هدف را ارضا کند غیرممکن است .به علاوه معمولًا میتوان
به میزان زیادی افزایش داد. کارایی تبریدشبیهسازیشده را با تغییرات ساده در تابع
توجیه فیزیکی که برای تبرید شبیهسازیشده استفاده میشود ،فرض میکند که نرخ سردکردن به اندازٔه کافی آرام است
بهطوریکه توزیع احتمال حالت کنونی همواره نزدیک به تعادل ترمودینامیکی باشد .متاسفانه ،زمان سست سازی یا
( relaxationزمانی که باید صبر کرد تا تعادل ترمودینامیکی که به دلیل تغییر دما بر هم خوردهاست دوباره برقرار شود)
بسیار به شکل تابع انرژی و دمای کنونی وابسته است .در الگوریتم تبرید شبیهسازیشده ،زمان سست سازی همچینین به
تابع تولیدکننده کاندید هم به شکل پیچیدهای واسبته است .توجه کنید که تمام این پارامترها معمولًا به عنوان توابع
پییچده و نه چندان مشخصی برای الگوریتم تعیین میشوند .بنابراین ،بهترین نرخ سردسازی (کاهش دما) را نمیتوان پیش
از اجرای الگوریتم تعیین کرد و باید به صورت تجربی برای هر مسئلهای بهطور خاص محاسبته شود .الگوریتمهای تبرید
شبیهسازیشده تطبقی این مسئله را با ربط دادن زمانبندی سرسازی به فرایند جستجو حل میکنند.
شروعهای دوباره
گاهی اوقات بهتر است تا به یک پاسخی که قبلا پیدا شدهاست و بسیار بهتر بوده برگردیم تا اینکه از همین حالت فعلی
حرکتی را انجام دهیم .این رویه را شروع دوباره یا restartingمیگویند .برای انجام این کار باید در شبه کد بالا sو e
را برابر sbestو ebestقرار دهیم و دوباره الگوریتم را آغاز کنیم .تصمیم برای آغاز مجدد میتواند بر حسب معیارهای
مختلفی باشد .یکی از رایجترین روشها شروع مجدد بعد از تعدادی گام مشخص ،شروع مجدد به دلیل رد شدن از
حداکثر انرژی سیستم ،شروع مجدد تصادفی و ...است.
روشهای مرتبط
الگوریتمهای متروپلیس-هستینگز تعاملی (مونت کارلو ترتیبی) ،حرکات تبرید شبیهسازیشده را با مکانیزم بازیافتی
تعاملی ترکیب میکند.
تبرید کوانتومی ،از نوسانات کوانتومی به جای نواسانات حرارتی استفاده میکند تا از موانع بلند ولی کوچک عبور کند.
تونلزنی تصادفی ،تلاش میکند بر سختشدن تدریجی که تبرید شبیهسازیشده با آن در خروج از کیمنه محلی حین
کاهش دما روبرو است با تونلزدن در موانع غلبه کند.
جستجوی تابو یا ،Tabu searchبه صورت کاملًا عادی به سمت همسایههای با انرژی کمتر حرکت میکند ،اما زمانی
که خود را در یک کمینٔه محلی گرفتار میبیند به سمت بالا حرکت میکند و از گرفتارشدن در یک دور با نگهداشتن یک
لیست جلوگیری میکند.
خانواده الگوریتمهای دوگان-فاز که الگوریتم تبرید شبیهسازیشده هم از آنها است ،در واقع یک رویکردی بینابینی به
جستجوی کلی و محلی دارند.
بهینهسازی جستجوی انفعالی بر ترکیب یادگیری ماشین با بهینهسازی تمرکز میکند و برای این کار یک حلقه فیدبک
داخلی به منظور تنظیم پارامترهای آزاد یک الگوریتم با توجه به ویژگیهای مسئله ،اضافه میکند.
گرادیان کاهشی تصادفی که تعداد زیادی جستجوی حریصانه را از نقاط تصادفی مختلف شروع میکند.
الگوریتمهای ژنتیک دستهای از جوابها را به جای تنها یک جواب معرفی میکنند .کاندیدهای جدید برای جواب با
جهش یا با بازترکیبی تو جواب از دسته اولیه تولید میشوند .معیارهای احتمالاتی همانند آنچه در تبرید
شبیهسازیشده مدنظر بود ،به منظور انتخاب کاندیدها برای جهش یا بازترکیبی یا حذف تعدادی از جوابها در دسته
مذکور استفاده میشوند.
بهینهسازی گام به گام ،به صورت تدریجی تابع هدف را حین بهینهسازی هموار میکند.
بهینهسازی کولونی مورچه یا ،ant colony optimizationتعدادی زیادی مورچه را برای طی کردن فضای جواب
و پیداکردن مناطق محلی مناسب استفاده میکند.
روش آنتروپی متقابل یا ،cross-entropyبه کمک یک توزیع احتمال پارامتری جوابهای کاندید را تولید میکند.
پارامترها با استفاده از کمینهسازی آنتروپی متقابل دوباره مقدار میگیرند تا در مرحله بعد بتوانند نمونههای بهتری
تولید کنند.
جستجوی هارمونی ،از موسیقیداناندر فرایند بدیههسازی تقلید میکنند به گونهای که هر موسیقیدان یک نوت موسقی
را برای پیدا کردن بهترین هارمونی مینوازد.
بهینهسازی تصادفی ،شامل بسیاری از روشها از جمله تبرید شبیهسازیشده است.
بهینهسازی ازدحام ذره یا ،particle swarm optimizationالگوریتمی است که ازدحام ذرات را به منظور
یافتن جواب بهینه مدل میکند.
الگوریتم ریشٔه زمینی-ریشٔه هوایی یا ،runner-rootیک روش فراابتکاری برای حل مسائل تک مدله و چند مدله
ریشه هوایی و ریشٔه زمینی گیاهان در طبیعت الهام گرفتهاست.
ٔ است که از
الگوریتم قطرات آب هوشمند یا ،Intelligent water dropsکه رفتار طبیعی قطرات آب را برای بهینهسازی
استفاده میکند.
منابع
Cerny, V. , A thermodynamical approach to the traveling salesman problem: An .۱
efficient simulation algorithm, Journal of Optimization Theory and Applications, Vol.
45, pp. 41–51, 1985
Kirkpatrick, S. , Gelatt, C. D. , and Vecchi, M. P. , Optimization by simulated .۲
annealing, Science, Vol. 220, pp. 671–680 1983
.۳الگوریتمهای بهینهسازی فراابتکاری/تالیف مسعود یقینی ،محمد رحیم اخوان کاظمزاده .جهاد دانشگاهی واحد صنعتی
امیر کبیر شابک ۹۷۸−۹۶۴−۲۱۰−۰۷۸−۱
برگرفته از «&oldid=33717888الگوریتم_تبرید_شبیهسازیشده=»https://fa.wikipedia.org/w/index.php?title