بهينه سازي در سيستمهاي نرم افزاري با تاکيد بر الگوريتمهاي جستجو استاد سمينار : جناب آقاي دکتر رزازي استاد مشاور سمينار : جناب آقاي دکتر عبداله زاده ارائه شده توسط : معصومه خيرخواه زاده
فهرست مطالب بهینه سازی سيستم هاي نرم افزاري طبقه بندي روشهاي جستجوي متمرکز(توزيع نشده) طبقه بندي مسايل مربوط به جستجوي توزيع شده براساس نوع کاربرد (Application) طبقه بندي الگوريتم هاي مورداستفاده در حل مسايل ارضاي محدوديت (الگوريتم هاي جستجوي آسنکرون) طبقه بندي الگوريتم هاي مورداستفاده در حل مسايل يافتن مسير(برنامه نويسي پوياي آسنکرون) طبقه بندي الگوريتم هاي جستجو در مسايل بهينه سازي ترکيبي معرفي الگوريتم هاي مطرح در بهينه سازي ترکيبي معرفي فرااکتشافات طبقه بندي فرااکتشافات مراجع
بهینه سازی سيستم هاي نرم افزاري بهینه سازی را می توان به صورت بهترین شکل تخصیص منابع به مصارف تعریف کرد به نحوی که تخصیصی بهتر از آن وجود نداشته باشد. مشکلات استفاده از روشهای اولیه بهینه سازی، وقت گیر بودن حل مسایل بزرگ با آنها بود. اکتفا به رسیدن به جوابهای به اندازه کافی خوب در زمان منطقی
طبقه بندي روشهاي جستجوي متمرکز(توزيع نشده)
طبقه بندی روشهاي جستجوي متمرکز(توزيع نشده)-ادامه جستجوي ساختارنيافته: توليد سيستماتيک وضعيتهاي جديد و مقايسه آنها با هدف معايب: اين استراتژي ها در بيشتر موارد، ناکارا هستند . جستجوي ساختاريافته: از دانش خاص مساله استفاده مي کند، مي تواند راه حل هاي کارآمدتري ارائه کند. جستجوي اول بهترين: انتخاب گره اي که براساس تابع ارزيابي، بهترين انتخاب به نظر مي رسد. هدف از روشهاي اول بهترين، يافتن کم هزينه ترين راه حل است. ساختار نيافته مانند اول عمق و اول سطح. ناكارايي از لحاظ هزينه و زمان.
طبقه بندي روشهاي جستجوي متمرکز(توزيع نشده)-ادامه جستجوي حريصانه: هزينه تخميني براي رسيدن به هدف را کمينه مي کند. براي ارزيابي اين هزينه از تابع اکتشافي استفاده مي کند. معايب: جستجوي حريصانه منجر به شروعهاي غلط و گسترش گره هاي غير ضروري مي گردد. به علاوه اگر مراقب گره هاي تکراري نباشيم ممکن است هرگز راه حلي پيدا نکنيم. جستجو کامل و بهينه نيست جستجوي A*: کمينه کردن هزينه کل مسير f(n) = g(n) + h(n) اگر تابع h هرگز مقداري بيش از مقدار هزينه واقعي تخمين نزند، اين الگوريتم جستجو، کامل و بهينه خواهد بود . .
طبقه بندي روشهاي جستجوي متمرکز(توزيع نشده)-ادامه جستجو با حافظه محدود IDA*: هر تکرار يک جستجوي اول عمق است ولي به جاي يک حد عمقي از يک حد براي تابع f استفاده مي کند. اين جستجو کامل و بهينه است. SMA*: همان IDA* است که مسير جاري را براي وضعيتهاي تکراري بررسي کند ولي نمي تواند از وضعيتهاي تکراري توليد شده در مسيرهاي مختلف اجتناب کند. اگر حافظه کافي باشد، کامل و بهينه است.
طبقه بندي روشهاي جستجوي متمرکز(توزيع نشده)-ادامه الگوريتم هاي بهبود تکرار شونده: شروع با يک پيکربندي کامل و انجام اصلاحات براي بهبود کيفيت آن. تپه نوردي: در يک حلقه که مرتبا تکرار مي شود در جهت کاهش مقدار حرکت مي کند . مشکلات : کمينه محلي – فلات – تيغه آنيلينگ شبيه سازي شده: در زمان رسيدن به کمينه محلي به جاي شروع تصادفي اجازه دهيم چند قدم بالاتر برويم. حرکت تصادفي به جای بهترین حرکت. اگر در اثر اين جابه جايي، موقعيت بهبود يابد، حرکت اجرا مي گردد. در غير اين صورت با احتمالي کمتر از عدد يک اين کار صورت مي گيرد. اين احتمال برحسب ميزان بدي جابه جايي، به شکل نمايي کاهش مي يابد
طبقه بندي روشهاي جستجوي متمرکز(توزيع نشده)-ادامه الگوريتم ژنتيک: احتمال به تله افتادن در کمينه هاي محلي اندک است. امکان اجراي موازي آن وجود دارد. معايب: هزينه بالا و عدم تضمين جواب بهينه. تعيين بهينه بودن جواب دشوار است.
طبقه بندي مسايل مربوط به جستجوي توزيع شده براساس نوع کاربرد (Application)
طبقه بندي الگوريتم هاي مورداستفاده در حل مسايل ارضاي محدوديت(الگوريتم هاي جستجوي آسنکرون)
طبقه بندي الگوريتم هاي مورداستفاده در حل مسايل يافتن مسير(برنامه نويسي پوياي آسنکرون)
طبقه بندي الگوريتم هاي جستجو در مسايل بهينه سازي ترکيبي
معرفي الگوريتم هاي مطرح در بهينه سازي ترکيبي الگوريتمهاي کامل، تضمين مي کنند براي هر نمونه اندازه متناهي از مسئله CO، راه حل بهينه اي در زمان محدود يافت خواهد شد. هنوز، براي مسائل CO که NP-Hard هستند الگوريتمي با زمان چند جمله اي وجود ندارد. روشهاي کامل ممکن است در بدترين حالت، نياز به زمان محاسبه نمايي داشته باشند. در روشهاي تخميني، ضمانت يافتن راه حل بهينه، قرباني جستجوي راه حل هاي خوب در زمانهاي بسيار کوتاه مي شود. الگوريتم هاي سازنده: با اضافه کردن اجزايي به يک راه حل جزئي تهي اوليه، راه حل هايي را از ابتدا توليد مي کنند تا وقتي که راه حل کامل شود الگوريتم هاي جستجوي محلي: از راه حل اوليه اي شروع مي کنند و به طور تکراري براي جايگزيني راه حل فعلي با راه حل بهتري در همسايگي فعلي تلاش مي کنند.
معرفي فرااکتشافات طي 20 سال گذشته نوع جديدي از الگوريتم تخمیني به وجود آمد که اساسا تلاش مي کند روشهاي اکتشافي پايه را با هدف جستجوي کارا و موثر فضاي جستجو در چارچوبهاي سطح بالاتر ترکيب کند. ويژگيهاي اساسي مشخص کننده فرااکتشافات به شرح زير است: فرااکتشافات استراتژي هايي براي "راهنمايي" فرآيند جستجو هستند. هدف، کاوش کاراي فضاي جستجو براي يافتن راه حلهاي (نزديک) بهينه است. تکنيکهاي شرکت کننده در الگوريتم هاي فرااکتشافي، در محدودهء رويه هاي سادهء جستجوي محلي تا فرايندهاي يادگيري پيچيده قرار مي گيرند. الگوريتمهاي فرااکتشافي، تقريبي و عمدتا غيرقطعي هستند.
معرفي مفهوم بهينه سازي ترکيبي و فرااکتشافات-ادامه ممکن است مکانيزمهايي براي اجتناب از به دام افتادن در نواحي محدود فضاي جستجو به کار ببرند. مفاهيم پايه فرااکتشافات، اجازه توصيف سطح انتزاعي را مي دهد. فرااکتشافات، مخصوص مسئله خاصي نيستند. ممکن است از دانش خاص دامنه به شکل توابع اکتشافيي که با استراتژي هاي سطح بالاتر کنترل مي شوند، استفاده کنند. امروزه ، فرااکتشافات پيشرفته تر، تجربه جستجو را براي راهنمايي جستجو به کار مي برند.
طبقه بندي فرااکتشافات
طبقه بندي فرااکتشافات روشهاي خط سير: روي راه حل هاي واحد کار مي کنند و فرااکتشافات مبني بر جستجوي محلي را شامل مي شوند، يعني الگوريتم از يک حالت اوليه (راه حل اوليه) شروع مي شود و يک خط سير را در فضاي جستجو توصيف مي کند. هر حرکت در صورتي انجام مي شود که راه حل نتيجه، بهتر از راه حل فعلي باشد. به محض يافتن کمينه محلي، الگوريتم پايان مي يابد مانند جستجوي ممنوع، جستجوي محلي تکراري و جستجوي همسايگي متغير. ويژگي مشترک آنها اين است که درطي فرايند جستجو يک خط سير را در فضاي جستجو توصيف مي کنند.
طبقه بندي فرااکتشافات (ادامه) جستجوي محلي پايه(بهبود تکراري): هر حرکت در صورتي انجام مي شود که راه حل نتيجه، بهتر از راه حل فعلي باشد. به محض يافتن کمينه محلي، الگوريتم پايان مي يابد. کارايي رويه هاي بهبود تکراري در مسايل بهينه سازي معمولا اصلا رضايت بخش نيست . شرايط خاتمه الگوريتم هاي فرااکتشافي، باید پيچيده تر از رسيدن ساده به کمينه محلي باشد. آنيلينگ شبيه سازي شده: براي فرار از کمينه هاي محلي اجازه حرکت هايي داده شود که منجر به راه حل هايي با کيفيت پايين تر از راه حل فعلي مي گردند. احتمال انجام چنين جابه جايي در طول جستجو، کاهش مي يابد. امروزه SA به عنوان مولفه اي از فرااکتشافات مورد استفاده قرار مي گيرد نه به صورت يک الگوريتم جستجوي مستقل .
طبقه بندي فرااکتشافات (ادامه) جستجوي ممنوع: الگوريتم TS ساده ، جستجوي محلي بهترين بهبود را به عنوان جزء پايه اعمال مي کند و از حافظه کوتاه مدت براي فرار از کمينه هاي محلي و اجتناب از چرخه ها استفاده مي کند. روشهاي جستجوي محلي کاوشگرانه: اين روشها شامل جستجوي تطابقي تصادفي حريصانه (GRASP) ، جستجوي همسايگي متغير(VNS)، جستجوي محلي هدايت شده (GLS) و جستجوي محلي تکراري است.
طبقه بندي فرااکتشافات (ادامه) روشهاي مبني بر جمعيت: فرآيندهاي جستجويي را انجام مي دهند که تکامل مجموعه اي از نقاط را در فضاي جستجو توصيف مي کنند. محاسبه تکاملي: در هر تکرار ، تعداد عمليات روي افراد جمعيت فعلي انجام مي شود تا افراد نسل بعدي توليد شود. مسائل تکاملي اغلب از عملگرهايي مانند ترکيب مجدد يا ادغام براي ترکيب مجدد دو يا چند فرد براي توليد افراد جديد استفاده ميکند. بهينه سازي گروه مورچه ها (ACO): مورچه هاي مصنوعي به روش گام به گام با اضافه کردن به جا و مناسب مولفه هاي راه حل تعريف شده به راه حل جزئي مورد نظر راه حلهايي را مي سازند.
مراجع R. S. Pressman, Software Engineering, A Practitioner’s Approach,5th ed. Mcgraw-Hill,2000. E. Turban and J. E. Aronson, Decision Support Systems, 5th ed. Prentice-Hall,1998. C.J. Date, An Introduction To Database Systems,7th ed. ADDISON-WESLEY,2000. A. Silberschatz, H. F. Korth and S. Sudarshan, Database System Concepts, 3rd ed. McGraw-Hill,1998. S. L. Tanimoto, The Elements of Artificial Intelligence Using Common LISP, 2nd ed. Computer Sience Press,1995. A. D. Martin and K. M. Quinn, “A Review of Discrete Optimization Algorithms”, The Political Methodologist, vol. 7, no. 2,1996. S. J. Russell and P. Norving , Artificial Intelligence A Modern Approach, 2nd ed.Prentice-Hall , 2003. D.P. Solomatine,“Genetic and other global optimization algorithms - comparison and use in calibration problems”, Proc. 3rd Intern. Conference on Hydroinformatics, Copenhagen, Denmark, 1998. Balkema Publishers. pp.1021-1028.
مراجع-ادامه W. Gerhard , Multiagent Systems, A Modern Approach to Distributed Modern Approach to Artificial Intelligence, The MIT Press, 1999. I.H. Osman and G. Laporte ,“Metaheuristics:A bibliography”, Annals of Operations Research, vol. 63, pp. 513-623, 1996. S. Voss, S. Martello, I.H. Osman, C. Roucairol , editors. Meta-heuristics: Advances and Trends in Local Search Paradigms for Optimization, Kluwer, 1999. Metaheuristics Network Website 2000. http://www.metaheuristics.net/. Visited in January 2003. C. Blum, and A. Roli, “Metaheuristics in Combinatorial Optimization: Overview and Conceptual Comparison”, ACM Computing Surveys, Vol. 35,No.3, September 2003,pp.268-308. F. Glover and M. leguna, Modern heuristic techniques for combinatorial problems, John Wiley & Sons, Inc.,1993. A. Hertz, E. Taillard and D. de Werra, “A Tutorial on Tabu Search”, Proc. of Giornate di Lavoro AIRO'1995. M. Dorigo, G. Di Caro, editors. New Ideas in Optimization.McGraw-Hill, 1999.
با تشکر از توجه شما