لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 15
به نام خدا
نرم افزار Fault Tolerance با استفاده از Simulated Annealing
چکیده :
در این مقاله سعی می کنیم بهترین مینیمم را برای تابع زیر بدست بیاوریم :
برای این منظور از روش simulated Annealing (SA) استفاده می کنیم .
SA یکی از روشهای بهینه سازی حل مسئله است که در واقع الهام گرفته شده از فرایند ذوب و دوباره سرد کردن مواد می باشد و به همین دلیل به شبیه سازی حرارتی شهرت یافته است .
پس از حل مسئله با روش SA سعی می کنیم آنرا در یک نرم افزار تحمل خطا به کار ببریم برای داشتن یک نرم افزار تحمل خطا تکنیکهای مختلفی وجود دارد که ما در این مقاله با استفاده از تکنیک های انزرنگی و تنوع طراحی از روش Acceptance Voting (AV) بهره برده ایم .
مقدمه :
Fault: باعث errorدر سیستم می شود که به آنbug هم گفته می شود .
Error : حالتی از سیستم است که منتج به خرابی می شود .
Failure : حالتی است که سیستم از سرویس مورد نظر منحرف شود .
2-1 تحمل خطا (Fault Tolerance):
تحمل خطا یک پروسه یعنی مجموعه ای از فعالیت هاست که هدف آن حذف خطا است یا اگر نتوانست خطا را حذف کند ، لااقل تاثیراتش را کم کند .
3-1 سیستم تحمل پذیر خطا (System Fault Tolerance ) :
سیتم تحمل پذیر خطا معادل با سیستم قابل اعتماد ( Dependable ) می باشد که باید ویژگی های (قابلیت دسترسی ، قابلیت اعتماد ، ایمنی و قابلیت نگهداری را داشته باشد .
4-1 افزونگی ( Redundancy):
یکی از روشهای تحمل خطا در سیستم های نرم افزاری افزونگی است . افزونگی قابلیتی است در تحمل خطا بطوریکه می توان با افزایش سخت افزار و یا کپی برداری از تمام نرم افزار و یا قسمتی از نرم افزار و یا کپی برداری از data تحل خطا را در سیستم تضمین کرد .
5-1 تنوع طراحی (Design Diversity) :
برای تولید یک سیستم تحمل پذیر خطا می توان یک نرم افزار را به شرکت های مختلف برنامه نویسی داد تا برنامه را بنویسد و برای تولید نتیجه نهایی نیز می توان از الگوریتم voting استفاده کرد پس باید از این نرم افزار طراحی های مختلف داشته باشیم . روشهایی که از تکنیک تنوع طراحی استفاده می کنند عبارتند از:
RCB-NVP-NSCP-CRB-AV
2- Simulated Annealing
1-2 . SA چیست؟
SA مخفف Simulated Annealing به معنای شبیهسازی گداخت یا شبیهسازی حرارتی میباشد که برای آن از عبارات شبیهسازی بازپخت فلزات، شبیهسازی آب دادن فولاد و الگوریتم تبرید نیز استفاده شده است. برخی مسائل بهینهسازی صنعتی در ابعاد واقعی غالباً پیچیده و بزرگ میباشند. بنابراین روشهای حل سنتی و استاندارد، کارایی لازم را نداشته و عموماً مستلزم صرف زمانهای محاسباتی طولانی هستند. خوشبختانه، با پیشرفت فنآوری کامپیوتر و ارتقا قابلیتهای محاسباتی، امروزه استفاده از روشهای ابتکاری و جستجوگرهای هوشمند کاملاً متداول گردیده است. یکی از این روشها SA است. SA شباهت دارد با حرارت دادن جامدات. این ایده ابتدا توسط شخصی که در صنعت نشر فعالیت داشت به نام متروپلیس در سال 1953 بیان شد.[10] وی تشبیه کرد کاغذ را به مادهای که از سرد کردن مواد بعد از حرارت دادن آنها بدست میآید. اگر یک جامد را حرارت دهیم و دمای آن را به نقطه ذوب برسانیم سپس آن را سرد کنیم جزئیات ساختمانی آن به روش و نحوه سرد کردن آن وابسته میشود. اگر آن جامد را به آرامی سرد کنیم کریستالهای بزرگی خواهیم داشت که میتوانند آن طور که ما میخواهیم فرم بگیرند ولی اگر سریع سرد کنیم آنچه که میخواهیم بدست نمیآید.
الگوریتم متروپلیس شبیهسازی شده بود از فرآیند سرد شدن مواد به وسیله کاهش آهسته دمای سیستم (ماده) تا زمانی که به یک حالت ثابت منجمد تبدیل شود. این روش با ایجاد و ارزیابی جوابهای متوالی به صورت گام به گام به سمت جواب بهینه حرکت میکند. برای حرکت، یک همسایگی جدید به صورت تصادفی ایجاد و ارزیابی میشود. در این روش به بررسی نقاط نزدیک نقطه داده شده در فضای جستجو میپردازیم. در صورتی که نقطه جدید، نقطه بهتری باشد (تابع هزینه را کاهش دهد) به عنوان نقطه جدید در فضای جستجو انتخاب میشود و اگر بدتر باشد (تابع هزینه را افزایش دهد) براساس یک تابع احتمالی باز هم انتخاب میشود. به عبارت سادهتر، برای کمینه سازی تابع هزینه، جستجو همیشه در جهت کمتر شدن مقدار تابع هزینه صورت میگیرد، اما این امکان وجود دارد که گاه حرکت در جهت افزایش تابع هزینه باشد. معمولاً برای پذیرفتن نقطه بعدی از معیاری به نام معیار متروپلیس استفاده می شود:
P:احتمال پذیرش نقطه بعدی
C: یک پارامتر کنترلی
تغییر هزینه
پارامتر کنترل در شبیهسازی آب دادن فولاد، همان نقش دما را در پدیده فیزیکی ایفا میکند. ابتدا ذره (که نمایش دهنده نقطه فعلی در فضای جستجو است) با مقدار انرژی بسیار زیادی (که نشان دهنده مقدار بالای پارامتر کنترلی C است) نشان داده شده است. این انرژی زیاد به ذره اجازه فرار از یک کمینه محلی را میدهد. همچنانکه جستجو ادامه مییابد، انرژی ذره کاهش مییابد (C کم میشود) و در نهایت جستجو به کمینه کلی میل خواهد نمود. البته باید توجه داشت که در دمای پایین امکان فرار الگوریتم از کمینه محلی کاهش مییابد، به همین دلیل هر چه انرژی آغازین بالاتر، امکان رسیدن به کمینه کلی هم بیشتر است .[10]
روش بهینه سازی SA به این ترتیب است که با شروع از یک جواب اولیه تصادفی برای متغیرهای تصمیمگیری، جواب جدید در مجاورت جواب قبلی با استفاده از یک ساختار همسایگی مناسب به طور تصادفی تولید میشود. بنابراین یکی از مسائل مهم در SA روش تولبد همسایگی است. برای پیاده سازی الگوریتم شبیه سازی حرارتی به سه عامل اساسی به شرح زیر نیازمندیم :
1. نقطه شروع:
نقطهای در فضای جستجو است که جستجو را از آنجا آغاز میکنیم. این نقطه معمولاً به صورت تصادفی انتخاب می شود .
2. مولد حرکت:
این مولد وظیفه تولید حالات بعدی را بعهده دارد و با توجه به محاسبه هزینه نقطه فعلی و هزینه نقطه بعدی، وضعیت حرکت الگوریتم را مشخص میکند .
3. برنامه سرد کردن:
پارامترهایی که نحوه سرد کردن الگوریتم را مشخص میکنند. بدین ترتیب که دما چند وقت به چند وقت و به چه میزان کاهش یابد و دماهای شروع و پایان چقدر باشند. در سال 1982 کرک پاتریک ایده متروپلیس را برای حل مسائل به کار برد. در سال 1983 کرک پاتریک و تعدادی از همکارانش از SA برای حل مسئله فروشنده دورهگرد یا TSP استفاده کردند. [8]
روش بهینهسازی SA یک روش عددی با ساختار تصادفی هوشمند است. قابلیت انعطاف در کوچک گرفتن طول گامهای تصادفی در الگوریتمSA مانع از بروز هرگونه ناپایداری و ناهمگرایی در ترکیب با مدل میشود. علاوه بر آن توانایی SA در خروج از بهینههای محلی و همگرایی به سوی بهینهی سراسری از جنبهی نظری و در کاربردهای عملی به اثبات رسیده است. به طور مثال روش SA در بهینهسازی بهرهبرداری کانالهای آبیاری در کشاورزی از الگوریتم ژنتیک مدل بهینهتری را میدهد. بهینهسازی توابع غیرصریح و مسائل Non-Complete با روشهای کلاسیک بهینهسازی دشوار و گاهی غیرممکن است و بایستی از روشهای عددی بهینهسازی استفاده کرد. برای حل مسئله به روش SA ابتدا مدلسازی ریاضی صورت میگیرد. [5]
نرم افزار Fault Tolerance با استفاده از Simulated Annealing 15 ص