این محصول در قالب پی دی اف و 65 صفحه می باشد.
این سمینار جهت ارائه در مقطع کارشناسی ارشد رشته مهندسی برق-کنترل طراحی و تدوین گردیده است . و شامل کلیه مباحث مورد نیاز سمینار ارشد این رشته می باشد.نمونه های مشابه این عنوان با قیمت های بسیار بالایی در اینترنت به فروش می رسد.گروه تخصصی ما این سمینار را با قیمت ناچیزی جهت استفاده دانشجویان عزیز در رابطه با منبع اطلاعاتی در اختیار شما قرار می دهند. حق مالکیت معنوی این اثر مربوط به نگارنده است. و فقط جهت استفاده ازمنابع اطلاعاتی و بالابردن سطح علمی شما در این سایت ارائه گردیده است.
چکیده
در این سمینار الگوریتم جستجوی محلی Simulated Annealing,SA (پخت شبیه سازی شده) را معرفی کرده و جزئیات، مزایا، معایب و کاربردهای آن را مورد بررسی قرار خواهیم داد به طوری که روش های توسعه یافته این الگوریتم نیز به اجمال معرفی می شوند. سپس اهمیت تعیین مشخصات مدارات الکترونیکی (Circuit Sizing) را با انواع روش های موجود برای این کار را مورد بررسی و مقایسه قرار می دهیم. برنامه ریزی هندسی و روش های بر پایه شبیه سازی معروف ترین استراتژی هایی هستند که برای تعیین مشخصات مدار به منظور بهینه سازی آنها به کار می روند که در ادامه با توجه به ضرورت بهینه سازی بلوک های جمع کننده و ضرب کننده که عنصر اصلی در مدارات دیجیتال می باشند، روش SA را به عنوان یک الگوریتم ساده و با قابلیت یافتن نقطه بهینه در کل برای حداقل شدن توان مصرفی و تاخیر در این بلوک ها، انتخاب می کنیم.
مقدمه
جستجو برای یافتن خواسته های مطلوب و بهینه از میان گزینه های قابل انتخاب جزء مسائلی است که بشر همواره با آن مواجه بوده است. در زندگی روزمره نیز به کرات با چنین مسائلی مواجه هستیم مانند: انتخاب یک محل مناسب برای زندگی، تنظیم جدول زمانی برای امتحانات سراسری، یافتن بهترین مسیر برای مسافرت با وسیله نقلیه، حرکت مناسب در بازی شطرنج و… نه تنها در زندگی روزمره بلکه در انواع مسائل مهندسی، معماری، مالی، اقتصادی، تحقیقات اپراتوری، پزشکی، نظامی و… به نوعی با مسائل بهینه سازی مواجه هستیم.
در تمام مسائل جستجو واضح است که یافتن یک حل ممکن برای مسئله بسیار آسان تر از یافتن بهترین حل می باشد. محدودیت ها در یافتن بهترین جواب ناشی از زمان، منابع در دسترس، پیچیدگی طبیعی خواسته های بهینه سازی و کثرت گزینه های قابل انتخاب می باشد.
در بعضی از مسائل بهینه سازی باید عملیات جستجو به نحوی انجام شود که چندین تابع هزینه باهم بهینه شوند (Multi objective). همچنین محدودیت ها و قیودات مختلفی بسته به نوع مسئله وجود دارد به عنوان مثال برای تنظیم بهینه جدول زمانی امتحانات یک دانشگاه چندین موضوع باید در نظر گرفته شود مانند: تعداد دانشجویانی که امتحانات پشت سرهم دارند، تعداد دانشجویانی که بیشتر از یک امتحان در یک روز دارند، حداکثر زمان مشخص شده برای کل امتحانات، حداکثر اتاق های قابل استفاده، تعداد مراقبان امتحانات و… بدون شک پیدا کردن جوابی که تمام خواسته ها و محدودیت ها را برآورده کند کاری بسیار مشکل می باشد.
برای یافتن بهترین جواب باید بیشترین جستجو را انجام داد این خود باعث صرف شدن زمان زیاد و تلاش محاسباتی (effort) حجیم می شود. در مسائل بهینه سازی باید مصالحه ای بین کیفیت جواب و زمان و تلاش محاسباتی برقرار شود. چنانچه محدودیت کمی برای زمان و تلاش محاسباتی وجود داشته باشد می توانیم بیشترین جستجو را انجام دهیم یعنی فضاهای جستجو را به اندازه ممکن بزرگ در نظر گرفته و نقاط بیشتری را از یک فضای مشخص به عنوان حل های ممکن در نظر بگیریم. اما چنانچه محدودیت های ما بر روی زمان و تلاش محاسباتی زیاد باشد نمی توانیم همه نقاط ممکن را جستجو کنیم در نتیجه برای رسیدن به جواب مناسب باید روشی را پیدا کنیم که به سمت جواب های بهتر هدایت شویم. در واقع به جای جستجوی همه نقاط ممکن (explore) باید اطلاعات به دست آورده از جستجوهای قبلی را طوری تحلیل کنیم تا به سمت نقاط بهتر هدایت شویم (exploite). البته این عمل در بعضی از مسائل بسیار مشکل می باشد.
الگوریتم هایی که برای حل مسئله بهینه سازی و جستجو به کار می روند در صورتی که قابل اعمال به دسته وسیعی از مسائل باشند به الگوریتم های همه منظورمه (general – purpose optimization algorithm) موسوم می باشند. این الگوریتم ها نیز بسته به استراتژی جستجو در آنها به دو دسته کلی تقسیم می شوند. دسته اول که به روش محلی تک نقطه ای موسوم می باشند در هر ملحه تنها یک جواب انتخاب می شود. (SA (simulated annealing و جستجوی TABU جزء این دسته می باشند. دسته دیگر به روش های جستجوی دسته جمعی موسوم می باشند. در هر مرحله به صورت موازی چندین حل انتخاب می شود. سپس از میان آن ها حل هایی که دارای بیشترین برازش باشند برای همسایگی در مرحله بعدی در نظر گرفته می شوند و این عمل تکرار می شود.
اکثر الگوریتم های تکاملی جزء روش های جستجوی دسته جمعی می باشند. در بسیاری از مقالات میان الگوریتم های بهینه سازی مقایسه شده است. این مقایسه از چند جهت ضروری می باشد اولا آنکه مقایسه مشخص می کند که برای مسائل مختلف کدام الگوریتم بهتر عمل می کند دوما آنکه برای مسائلی که در آینده مطرح می شوند دید کافی برای حل آنها وجود خواهد داشت. البته این موضوع بستگی به دسته بندی صحیح مسائل بهینه سازی از جهت خصوصیات آنها و سازگاری الگوریتم های بهینه سازی برای هریک از این مشخصات خواهد داشت. سوم آنکه مقایسه الگوریتم ها بر روی یک فرآیند باعث فهم بهتر عملکرد آن فرآیند شده و این امکان را می دهد تا اصلاحات لازم بر روی الگوریتم ها انجام شده یا حتی آنها را با یکدیگر ترکیب کنیم تا از مزایای هرکدام بهره مند شویم.
یکی از مباحث مطرح شده در ریاضیات میزان پیچیدگی الگوریتم ها می باشد. الگوریتمی برای تعیین پیچیدگی یک مسئله وجود دارد که بسته به ساده ترین راه حل ممکن برای آن مسائل را به دو دسته سخت و آسان تقسیم بندی می کند. هرچقدر برای رسیدن به جواب مطلوب تعداد گام های بیشتری صرف شود آن الگوریتم پیچیده تر خواهد بود. مسائل بهینه سازی از جهت پیچیدگی به دو دسته “سرکش” (intractable) و “رام” (tractable) تقسیم می شوند.
مسائل سرکش مسائلی هستند که به طور معمول غیرقابل تصمیم گیری هستند یعنی پیدا کردن حل های ممکن برای آنها بسیار سخت است مانند حل معادلات دیوفانتین که اثبات شده است که هیچ روند پیاپی برای حل همه مثال های آن وجود ندارد. اما مسائل رام مسائلی هستند که راه حل های ممکن برای آن قابل استخراج می باشد اما ممکن است زمان و تلاش محاسباتی زیادی برای جستجوی همه راه حل های ممکن مورد نیاز باشد. در مسائل سرکش هیچ الگوریتمی وجود ندارد که به ازای گام های معین که تابعی چند جمله ای از اندازه مسئله می باشند بتواند آنها و همه مثال های مربوط به آن مسائل را حل کند.
سمینار کارشناسی ارشد برق بررسی الگوریتم بهینه سازی Simulated Annealing و انواع کاربردهای آن