تارا فایل

شبیه سازی حرارت Simulated Annealing


به نام خدا

موضوع:
Simulated Annealing
شبیه سازی حرارتی

نام استاد:

نام درس:

نام دانشجو:

چکیده
در این تحقیق ما به بررسی یکی از روش های بهینه سازی حل مسئله به نامSimulated Annealing می پردازیم. SA در واقع الهام گرفته شده از فرآیند ذوب و دوباره سرد کردن مواد و به همین دلیل به شبیه سازی حرارتی شهرت یافته است. در این تحقیق ادعا نشده است که SA لزوماً بهترین جواب را ارائه می کند. بلکه SA به دنبال یک جواب خوب که می تواند بهینه هم باشد می گردد. SA در حل بسیاری از مسائل بخصوص مسائل Np-Complete کاربرد دارد. در پایان روش حل مسئله ی فروشنده ی دوره گرد1 در SA بطور مختصر آورده شده است.

فهرست مطالب
عنوان شماره صفحه
1- مقدمه 3
2. SA چیست؟ 5
3- مقایسه SA با تپه نوردی 8
4- معیار پذیرش (یک حرکت) 9
5- رابطه ی بین SA و حرارت فیزیکی 11
6- اجرای SA 11
7- برنامه سرد کردن 12
1-7. درجه حرارت آغازین 13
2-7. درجه حرارت پایانی 14
3-7. کاهش درجه حرارت در هر مرحله 14
4-7. تکرار در هر دما 14
8- تابع هزینه 14
9- همسایگی 15
10- روش حل TSP با SA 15
11- نتیجه گیری 19
منابع 20

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

بازپخت شبیه سازی شده5
جستجوی ممنوع6
الگوریتم های ژنتیک7
شبکه های عصبی مصنوعی8
بهینه سازی مورچه ای یا الگوریتم های مورچه9
در این تحقیق ما به بررسی بازپخت شبیه سازی شده (شبیه سازی حرارتی) می پردازیم.

2. SA چیست؟
SA مخفف Simulated Annealing به معنای شبیه سازی گداخت یا شبیه سازی حرارتی می باشد که برای آن از عبارات شبیه سازی بازپخت فلزات، شبیه سازی آب دادن فولاد و الگوریتم تبرید نیز استفاده شده است. برخی مسائل بهینه سازی صنعتی در ابعاد واقعی غالباً پیچیده و بزرگ می باشند. بنابراین روش های حل سنتی و استاندارد، کارایی لازم را نداشته و عموماً مستلزم صرف زمان های محاسباتی طولانی هستند. خوشبختانه، با پیشرفت فن آوری کامپیوتر و ارتقا قابلیت های محاسباتی، امروزه استفاده از روش های ابتکاری و جستجوگرهای هوشمند کاملاً متداول گردیده است. یکی از این روش ها SA است. SA شباهت دارد با حرارت دادن جامدات. این ایده ابتدا توسط شخصی که در صنعت نشر فعالیت داشت به نام متروپلیس10 در سال 1953 بیان شد.[10] وی تشبیه کرد کاغذ را به ماده ای که از سرد کردن مواد بعد از حرارت دادن آنها بدست می آید. اگر یک جامد را حرارت دهیم و دمای آن را به نقطه ذوب برسانیم سپس آن را سرد کنیم جزئیات ساختمانی آن به روش و نحوه سرد کردن آن وابسته می شود. اگر آن جامد را به آرامی سرد کنیم کریستال های بزرگی خواهیم داشت که می توانند آن طور که ما می خواهیم فرم بگیرند ولی اگر سریع سرد کنیم آنچه که می خواهیم بدست نمی آید.
الگوریتم متروپلیس شبیه سازی شده بود از فرآیند سرد شدن مواد به وسیله کاهش آهسته دمای سیستم (ماده) تا زمانی که به یک حالت ثابت منجمد تبدیل شود. این روش با ایجاد و ارزیابی جواب های متوالی به صورت گام به گام به سمت جواب بهینه حرکت می کند. برای حرکت، یک همسایگی جدید به صورت تصادفی ایجاد و ارزیابی می شود. در این روش به بررسی نقاط نزدیک نقطه داده شده در فضای جستجو می پردازیم. در صورتی که نقطه جدید، نقطه بهتری باشد (تابع هزینه را کاهش دهد) به عنوان نقطه جدید در فضای جستجو انتخاب می شود و اگر بدتر باشد (تابع هزینه را افزایش دهد) براساس یک تابع احتمالی باز هم انتخاب می شود. به عبارت ساده تر، برای کمینه سازی تابع هزینه، جستجو همیشه در جهت کمتر شدن مقدار تابع هزینه صورت می گیرد، اما این امکان وجود دارد که گاه حرکت در جهت افزایش تابع هزینه باشد. معمولاً برای پذیرفتن نقطه بعدی از معیاری به نام معیار متروپلیس استفاده می شود:

P:احتمال پذیرش نقطه بعدی
C: یک پارامتر کنترلی
تغییر هزینه
پارامتر کنترل در شبیه سازی آب دادن فولاد، همان نقش دما را در پدیده فیزیکی ایفا می کند. ابتدا ذره (که نمایش دهنده نقطه فعلی در فضای جستجو است) با مقدار انرژی بسیار زیادی (که نشان دهنده مقدار بالای پارامتر کنترلی C است) نشان داده شده است. این انرژی زیاد به ذره اجازه فرار از یک کمینه محلی را می دهد. همچنانکه جستجو ادامه می یابد، انرژی ذره کاهش می یابد (C کم می شود) و در نهایت جستجو به کمینه کلی میل خواهد نمود. البته باید توجه داشت که در دمای پایین امکان فرار الگوریتم از کمینه محلی کاهش می یابد، به همین دلیل هر چه انرژی آغازین بالاتر، امکان رسیدن به کمینه کلی هم بیشتر است .[10]
روش بهینه سازی SA به این ترتیب است که با شروع از یک جواب اولیه تصادفی برای متغیرهای تصمیم گیری، جواب جدید در مجاورت جواب قبلی با استفاده از یک ساختار همسایگی مناسب به طور تصادفی تولید می شود. بنابراین یکی از مسائل مهم در SA روش تولبد همسایگی است. برای پیاده سازی الگوریتم شبیه سازی حرارتی به سه عامل اساسی به شرح زیر نیازمندیم :
1. نقطه شروع:
نقطه ای در فضای جستجو است که جستجو را از آنجا آغاز می کنیم. این نقطه معمولاً به صورت تصادفی انتخاب می شود .

2. مولد حرکت:
این مولد وظیفه تولید حالات بعدی را بعهده دارد و با توجه به محاسبه هزینه نقطه فعلی و هزینه نقطه بعدی ، وضعیت حرکت الگوریتم را مشخص می کند .

3. برنامه سرد کردن11:
پارامترهایی که نحوه سرد کردن الگوریتم را مشخص می کنند. بدین ترتیب که دما چند وقت به چند وقت و به چه میزان کاهش یابد و دماهای شروع و پایان چقدر باشند. در سال 1982 کرک پاتریک12 ایده متروپلیس را برای حل مسائل به کار برد. در سال 1983 کرک پاتریک و تعدادی از همکارانش از SA برای حل مسئله فروشنده دوره گرد یا TSP استفاده کردند.
TSP یکی از مسائل پایه در روشهای بهینه سازی است و عبارت است از کمینه سازی مسافتی که یک فروشنده دوره گرد ، ضمن مسافرت به تعداد معینی شهر باید طی کند. دیدار از هر شهر باید دقیقاً یک بار صورت پذیرد و او باید به شهری که مبداء حرکتش است باز گردد. نتایج شبیه سازی حاکی از موفقیت روش ارائه شده توسط کرک پاتریک در حل TSP بود. از آن پس، شبیه سازی حرارتی در مسائل بهینه سازی گوناگونی به کار رفت و نتایج بسیار موفقیت آمیزی کسب کرد.[8]
روش بهینه سازی SA یک روش عددی با ساختار تصادفی هوشمند است. قابلیت انعطاف در کوچک گرفتن طول گام های تصادفی در الگوریتمSA مانع از بروز هرگونه ناپایداری و ناهمگرایی در ترکیب با مدل می شود. علاوه بر آن توانایی SA در خروج از بهینه های محلی و همگرایی به سوی بهینه ی سراسری از جنبه ی نظری و در کاربردهای عملی به اثبات رسیده است. به طور مثال روش SA در بهینه سازی بهره برداری کانال های آبیاری در کشاورزی از الگوریتم ژنتیک مدل بهینه تری را می دهد. بهینه سازی توابع غیرصریح و مسائل Non-Complete با روش های کلاسیک بهینه سازی دشوار و گاهی غیرممکن است و بایستی از روش های عددی بهینه سازی استفاده کرد. برای حل مسئله به روش SA ابتدا مدل سازی ریاضی صورت می گیرد.
SA در خیلی از کتاب ها (انگلیسی) شرح داده شده است. اگر شما می خواهید به دنبال راحت ترین تعریف باشید، به شما توصیه می کنیم کتاب (Dowsland, 1995) این کتاب نه تنها بسیار خوب SA را شرح داده بلکه حاوی مراجع معتبر بسیاری برای علاقه مندان می باشد.[5]

3- مقایسه SA با تپه نوردی13:
در هوش مصنوعی خواندیم که در الگوریتم تپه نوردی برای حل مسائل MAX یا MIN محلی را بدست می آوریم. ما تلاش می کنیم در الگوریتم تپه نوردی استفاده کنیم از نقاط شروع متفاوت و می توانیم با افزودن اندازه ی همسایگی فضای حرکت بیشتری برای جستجو داشته باشیم. در تپه نوردی اگر MAX یا MIN محلی را بدست آوریم شاید MAX یا MIN کلی را بدست نیاوریم. SA این مشکل را حل می کند. در SA ما به برخی حرکت های بد برای فرار از MAX یا MIN محلی اجازه می دهیم. در این الگوریتم (SA) بجای شروع دوباره بطور تصادفی زمانی که مثلاً در یک Max محلی گیر افتاده ایم، می توانیم اجازه دهیم که جستجو چند قدم به طرف پایین بردارد، تا از MAX محلی فرار کند.
برخلاف تپه نوردی، SA بصورت Random حرکت به همسایگی را انتخاب می کند. (به یاد آورید که نپه نوردی بهترین حرکت را که در دسترس است، وقتی در یک سراشیبی نزول یا صعود می کند، انتخاب می کند.) در واقع SA ، تپه نوردی بهبود یافته است. اگر بهترین حرکت را نسبت به موقعیت جاری انجام دهید، SA همواره مورد قبول خواهد بود. اگر اشتباه حرکت کنید (حرکت بد) احتمالاً آن حرکت می تواند مورد قبول واقع شود. راجع به این مبحث بیشتر توضیح خواهیم داد.

4- معیار پذیرش14 (یک حرکت)
در الگوریتم های بهینه سازی محلی، جواب جدید تنها در صورت بهبود تابع هدف پذیرفته می شود. این در حالیست که در SA نه تنها جوابی که باعث بهبود تابع هدف می شود پذیرفته می شود بلکه جواب های نامناسب نیز بطور احتمالی پذیرفته می شوند. یک قانون ترمودینامیک، راجع به رابطه ی درجه حرارت (t) توضیح می دهد و احتمال افزایش اندازه ی انرژی () ، این قانون بصورت زیر است:
(1)

که در آن K مقداری ثابت است که به آن ثابت بولتزمان15 گفته می شود. با استفاده از این قانون ترمودینامیک، احتمال پذیرفته شدن حرکت بد توسط رابطه ی زیر محاسبه می شود:

(2)

که در اینجا:
: تغییر در تابع ارزیابی
t: درجه حرارت
r: یک عدد تصادفی بین صفر و یک
p: احتمال حرکت به جواب جدید

حرکت به جواب جدید در صورتی که جواب جدید از جواب فعلی بهتر باشد و یا مقدار تابع احتمال حرکت از یک عدد تصادفی از دامنه [0,1) بزرگ تر باشد انجام خواهد یافت. در غیر اینصورت جستجوگر جواب جدید دیگری را تولید و ارزیابی خواهد نمود. این حرکت گام به گام تا رسیدن به شرط توقف الگوریتم ادامه می یابد. یک مسئله ی مهم در الگوریتم پیشنهادی SA بررسی شرط تعادل و شرط توقف الگوریتم پیشنهادی است.

شرط تعادل:
بطور کلی در روش SA، تعداد جواب پذیرفته شده و یا تعداد کل جواب تولید شده در هر درجه حرارت به عنوان مبنایی برای بررسی شرط تعادل در آن درجه حرارت منظور می شود. به تعداد تعویض ها در هر درجه حرارت جهت بررسی شرط تعادل، "دوره" گغته می شود. این تعداد به عنوان پارامتر الگوی SA است که باید تعیین گردد.

شرط توقف:
جهت بررسی شرط توقف از دو معیار استفاده می شود:
یک معیار رسیدن به درجه حرارت نهایی است. معیار دیگر بر مبنای نسبت میزان پراکندگی جواب های پذیرفته شده در درجه حرارت فعلی به تفاوت متوسط مقادیر تابع هدف جهت جواب های پذیرفته شده در درجه حرارت اولیه و درجه حرارت فعلی است. در صورتی که این نسبت کم باشد یعنی سیستم به حالت انجماد رسیده و متوقف می شود در غیر اینصورت با کاهش درجه حرارت، الگوریتم پیشنهادی ادامه پیدا می کند.

5- رابطه ی بین SA و حرارت فیزیکی
در (Dowsland) یک جدول ارائه شده که نشان می دهد چگونه حرارت فیزیکی را می توان با SA ترسیم نمود (Map کرد). که در اینجا آن را می آوریم:

بهینه سازی ترکیبی
شبیه سازی ترمودینامیکی
راه حل ممکن
حالت سیستم
هزینه
انرژی
راه حل همسایه ها
تغییر حالت
کنترل پارامترها
درجه حرارت
راه حل هیورستیک
حالت انجماد یا ثابت

از این جدول برای هر مسئله ی ترکیب بهینه ای استفاده می شود که می تواند به یک الگوریتم شبیه سازی (Kirk Patrick-Cerny) بوسیله ی نمونه گیری از همسایه ها بطور تصادفی و قبول راه حل های بدتر که در معادله ی (2) پذیرفته شده اند، تبدیل شود.[5][3][8]

6- اجرای SA:
الگوریتم زیر توسط (Russell) ارائه شده است. شما می توانید در خیلی از کتاب ها پیدا کنید که به عنوان بهترین الگوریتم معرفی شده است:[15]

FUNCTION SIMULATED_ ANNEALING (problem , schedule)
Return a sloution stste
Input :
problem , a problem
1. Schedule, a mapping from time to temperature
Local variables :
Current , a node
Next , a node
T , a "temperature" controling the probability of down ward steps
Current = make_node (intial_state[problem] )
For t = 1 to do
T = schedul [t]
If T = 0 then
Return current
Next = a randomly selected success of current
= VALUE [Next] – VALUE [current]
If > 0 then
Current = Next
Else
Current = Next only with probability exp

7- برنامه سرد کردن16:
قسمت های تشکیل دهنده برنامه سرد کردن عبارتند از:
1. درجه حرارت آغازی17
2. درجه حرارت پایانی18
3. کاهش درجه حرارت در هر مرحله19
4. تکرار در هر درجه حرارت20

1-7. درجه حرارت آغازین:
درجه حرارت آغازین باید به اندازه کافی گرم باشد تا حرکت به حالت مجاور را اجازه دهد. اگر درجه حرارت آغازین خیلی زیاد باشد جستجو می تواند حرکت کند به هر همسایگی و جستجو به جستجوی تصادفی تبدیل می شود تا زمانی که درجه حرارت به اندازه کافی سرد شود. پیدا کردن درجه حرارت آغازین مناسب مشکل هست و روش مشخصی برای مسائل مختلف ندارد. اگر ماکزیمم فاصله (هزینه توابع مختلف) را در میان یک همسایگی و سایر همسایگی ها بدانیم می توانیم از این اطلاعات برای محاسبه درجه حرارت آغازین استفاده کنیم. (یعنی می توانیم انرژی لازم را محاسبه کنیم)
پیشنهاد شده (rayward_smith) شروع کنیم با یک درجه حرارت زیاد و گرم کنیم آن را به سرعت تا زمانی که 60% از راه حل های بد پذیرفته شوند و بعد خیلی آهسته سرد کنیم. در این روش درجه حرارت آغازین واقعی بدست می آید.[13]
یک ایده ی مشابه، پیشنهاد شده (Dowsland)، هست به سرعت گرم کردن سیستم تا زمانی که نسبت دقیقی از راه حل های بد پذیرفته شوند و بعد سرد کردن آهسته می تواند شروع شود.[5] این مشابه آنچه در حرارت فیزیکی انجام می شود است، یعنی مواد گرم می شوند تا زمانی که مایع (ذوب) شوند و بعد سرد می شوند. باید توجه کرد زمانی که مواد مایع شدند گرما دادن بیشتر بیهوده است.

2-7. درجه حرارت پایانی:
معمولاً اجازه داده می شود درجه حرارت کاهش یابد تا زمانی که به صفر برسد. همچنین معیار توقف می تواند یک درجه حرارت پایین مناسب باشد.

3-7. کاهش درجه حرارت در هر مرحله:
معمولاً می توان با یک رابطه خطی ساده (یک تناوب هندسی) کاهش دما را بدست آورد:

تجربه نشان می دهد با ید بین 0.8 تا 0.99 باشد تا بهترین نتیجه بدست آید و الگوریتم طولانی نشود.

4-7. تکرار در هر دما:
رابطه ای که استفاده می شود عبارت است از :

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

8- تابع هزینه21:
ره آورد حل یک مسئله باید روشهایی برای اندازه گیری کیفیت آن روش باشد. تابع هزینه معمولاً پیچیده است و با نمایش داده می شود:
: ارزیابی تفاوت بین راه حل جاری و راه حل مجاور
9- همسایگی22:
وقتی راجع به یک مسئله فکر می کنید ، ابتدا به دنبال این هستید که چگونه از یک حالت می توان به حالت دیگر رفت. اگر هر حالت را یک NODE از یک گراف فرض کنیم همسایگی های مشخصی خواهیم داشت. در SA باید همسایگی ها را طوری انتخاب کرد که تا حد ممکن همگرایی مسئله برای رسیدن به جواب حفظ شود.
روش های جابجایی در همسایگی:
1.جابجایی جهت دار(DIS):
اگر همسایگی ها را به صورت یک آرایه فرض کنیم،اولین و آخرین خانه ی آرایه با مجاورش تعویض می شود و اگر از خانه های میانی باشد با هر کدام از دو خانه ی مجاورش که مناسب تر است.
2.جابجایی تصادفی(RIS):
دو خانه از آرایه بطور تصادفی انتخاب و باهم تعویض می شوند.
3.جابجایی مجاور(AIS):
مشابه DIS است با این تفاوت که از دو خانه مجاور،به صورت تصادفی یکی انتخاب می شود.

10- روش حل TSP با SA:[19]
برای آشنایی بیشتر باSA مسئلهTSP را به عنوان نمونه بررسی خواهیم کرد. ابتدا روش حل TSP در تپه نوردی را به طور مختصر بررسی می کنیم و سپس شیوه ی حل با SA را به طور خلاصه می بینیم. برای کسب اطلاعات بیشتر می توانید به مراجع معرفی شده رجوع کنید.

Hill-climbing
Hill-climbing: Attempt to maximize Eval(X) by moving to
the highest configuration in our moveset. If they're all
lower, we are stuck at a "local optimum."
1. Let X := initial config
2. Let E := Eval(X)
3. Let N = moveset_size(X)
4. For ( i = 0 ; i<N ; i := i+1)
Let Ei := Eval(move(X,i))
5. If all Ei's are ≤ E, terminate, return X
6. Else let i* = argmaxi Ei
7. X := move(X,i*)
8. E := Ei*
9. Goto 3

Simulated Annealing
1. Let X := initial config
2. Let E := Eval(X)
3. Let i = random move from the
moveset
4. Let Ei := Eval(move(X,i))
5. If E < Ei then
X := move(X,i)
E := Ei
Else with some probability,
accept the move even thoughthings get worse:
X := move(X,i)
E := Ei
6. Goto 3 unless bored.

Channel Routing: Cost Function
"Clearly, the objective function to be minimized is the channel width w.
However, w is too crude a measure of the quality of intermediate
solutions. Instead, … the following cost function is used:"
c = w2 + λp · p2 + λu · u
where
p is a lower bound on the size of the constraint graph after future
merge operations,
u measures the variance of how tightly the horizontal tracks are
packed,
and λp and λu are hand-tweaked constants.

11- نتیجه گیری:
برخی مسائل پیچیده که با روش های دیگر حل بهینه ی آن ها شاید غیر ممکن به نظر برسد با SA قابل حل است. SA لزوماً بهترین جواب را ارائه نمی کند ولی می تواند یک جواب خوب که بهینه هم باشد ارائه کند، البته در صورتی که پارامترهای مورد نیاز درست انتخاب شوند. به طور کلی SA در حل بسیاری از مسائل مشکل موفق بوده و در برخی از آن ها جواب بهینه تری نسبت به سایر الگوریتم های متاهیوریستسک ارائه نموده است. شایان ذکر است که این نوشته ترجمه ای آزاد از مقاله Simulated Annealing، نوشته ی Graham Kendall در تاریخ اکتبر 2007 میلادی است. در پایان منابع ذیل (که نویسنده مورد استفاده قرار داده) را برای مطالعه بیشتر پیشنهاد می کنیم.

منابع
1. Aarts, E.H.L., Korst, J.H.M. 1989. Simulated Annealing and Boltzmann Machines. Wiley, Chichester.
2. E.K. Burke and G. Kendall, "Evaluation of Two Dimensional Bin Packing Problem using the No Fit Polygon", Proceedings of the 26th International Conference on Computers and Industrial Engineering, Melbourne, Australia, 15-17 December 1999, pp 286-291
3. Cěrny, V. 1985. A Thermodynamical Approach to the Travelling Salesman Problem; An Efficient Simulation Algorithm. J. of Optimization Theory and Applic. 45, 41-55
4. Connolly, D.T. 1990. An Improved Annealing Scheme for the QAP. EJOR, 46, 93-100
5. Dowsland, K.A. 1995. Simulated Annealing. In Modern Heuristic Techniques for Combinatorial Problems (ed. Reeves, C.R.), McGraw-Hill, 1995
6. Hajek, B. 1988. Cooling Schedules for Optimal Annealing. Mathematics of Operations Research, vol 13, No. 2, pp311-329
7. Johnson, D.S., Aragon, C.R., McGeoch, L.A.M. and Schevon, C. 1991. Optimization by Simulated Annealing: An Experimental Evaluation; Part II, Graph Coloring and Number Partitioning. Operations Research, 39, 378-406
8. Kirkpatrick, S , Gelatt, C.D., Vecchi, M.P. 1983. Optimization by Simulated Annealing. Science, vol 220, No. 4598, pp671-680
9. Lundy, M., Mees, A. 1986. Convergence of an Annealing Algorithm. Math. Prog., 34, 111-124
10. Metropolis, N., Rosenbluth, A.W., Rosenbluth, M.N., Teller, A.H., Teller, E. 1953. Equation of State Calculation by Fast Computing Machines. J. of Chem. Phys., 21, 1087-1091.
11. Mitra, D., Romeo, F., Sangiovanni-Vincentelli, A. 1986. Convergence and Finite Time Behavior of Simulated Annealing. Advances in Applied Probability, vol 18, pp 747-771
12. A. Rana, A.E. Howe, L.D. Whitley and K. Mathias. 1996. Comparing Heuristic, Evolutionary and Local Search Approaches to Scheduling. Third Artificial Intelligence Plannings Systems Conference (AIPS-96)
13. Rayward-Smith, V.J., Osman, I.H., Reeves, C.R., Smith, G.D. 1996. Modern Heuristic Search Methods. John Wiley & Sons.
14. P. Ross, D. Corne and F. Hsiao-Lan. 1994. Improving Evolutionary Timetabling with Delta Evaluation and Directed Mutation. In Y. Davidor, H-P Schwefel and R. Manner (eds) Parallel Problem Solving in Nature, Vol 3, Springer-Verlag, Berlin
15. Russell, S., Norvig, P. 1995. Artificial Intelligence A Modern Approach. Prentice-Hall
16. Rutenbar, R.A. 1989. Simulated Annealing Algorithms : An Overview. IEEE Circuits and Devices Magazine, Vol 5, No. 1, pp 19-26
17. Van Laarhoven, P.J.M, Aarts, E.H.L. 1987. Simulated Annealing: Theory and Applications. D. Reidel Publishing
18. White, S.R. 1984. Concepts of Scale in Simulated Annealing. Proceedings International Conference on Computers in Design, pp 646-665
19. Andrew W. Moore _ Professor_ School of Computer ScienCarnegiemellon University_www.cs.cmu.edu/~awm
1 Traveling salesperson problem
2 combinatorial
3 polynomial
4 Sub optimal
5 Simulated annealing (sa)
6 Tabu search (ts)
7 Genetic algorithms (ga)
8 Neural networks
9 Ant colony optimization (aco)
10 metropolis
11 Cooling schedule
12 Kirk patrick
13 Hill climbing
14 Acceptance criteria
15 boltzmann
16The Cooling Schedule
17 Starting temperature
18 Final temperature
19 Temperature decrement
20 Iterations at each temperature
21 Cost function
22 Neighbourhood
—————

————————————————————

—————

————————————————————

19


تعداد صفحات : 23 | فرمت فایل : word

بلافاصله بعد از پرداخت لینک دانلود فعال می شود