مقاله دانشگاهی – بهینه سازی ترمواکونومیک و اگزرژو اکونومیک بویلربازیاب حرارت سیکل ترکیبی و سیستم …

گاز مورد نظر

میزان خطا

اکسیژن

۵-۱۰×۶۷/۰

نیتروژن

۴-۱۰×۲۳/۰

دی اکسید کربن

۴-۱۰×۶۰/۰

دی اکسید نیتروژن

۵-۱۰×۵۴/۰

۲-۵ الگوریتم ژنتیک
ایده الگوریتم ژنتیکی یا GA از دو اصل انتخاب و تولید نسل در طبیعت بهره برده است. با گذشت زمان ساختار ژنتیکی موجودات تغییرکرده و نسلهای جدیدتر با محیط سازگاری بیشتری دارند. بدین طریق که امکان زنده ماندن و تولید مثل موجودات قویتر بیشتر از موجودات ضعیف میباشد. در نسلهای جدیدتر ساختار ژنتیکی موجودات قوی تکرار میشود و موجودات ضعیف از بین میروند. در بعضی موارد نیز جهش بوجود میآید بدین معنی که از آمیزش دو موجود، موجودی متولد میشود که بر اثر جهش ژنتیکی خیلی بهتر یا بدتر از والدین خود میباشد و به تعبیری یک نابغه یا یک عقب مانده متولد میشود و در نسلهای بعدی تأثیر میگذارد. طبیعت تضمین میکند که این نوع زاد و ولد موجب تولید موجودات بهتر شود.
الگوریتم ژنتیکی بر این اساس ابزاری ساده، ولی قدرتمند است. یک روش بهینه سازی بر اساس جستجو است که توسط جان هولند و شاگردانش در دانشگاه میشیگان ارائه شد. بعضی مسایل دارای راه حلهای مشخص میباشند: برای حل مسائل خطی با محدودیتهای خطی، معمولاً از روشهای حل LP(برنامه ریزی خطی) استفاده میشود و همچنین برای حل مسائل غیر خطی با محدودیتهای غیرخطی از NLP (برنامه ریزی غیر خطی) استفاده میشود. در حقیقت به این دلیل که بسیاری از روشها در محدوده مسائل خاص کاربرد دارند، پیدا کردن روش مناسب برای حل یک مسئله نیز خود مشکل دیگری است. بعضی روشها به دلیل محدودیت برای حل مسائل خاص خود نیز دچار مشکل میشوند. مثلاً برای بدست آوردن بیشینه یا کمینه یک تابع مشتقپذیر میتوان از مشتقگیری استفاده کرد. اما اگر این تابع مشتقپذیر نباشد و یا تعریف صریحی نداشته باشد، چه باید کرد؟
یکی از روشهای حل این گونه مسائل، الگوریتم ژنتیکی است که به دلیل استفاده از جستجو و همچنین مقدار تابع در نقاط مختلف فضای جستجو هیچ گونه عملیاتی بر روی تابع انجام نمیدهد. بعضی روشها مانند نیوتن کواسی، گرادیان کانجوگیت برای شروع حل مسئله نیاز به داشتن جواب نزد یک به جواب بهینه میباشند و این خود در بعضی مواقع موجب نیازمندی آنها به روشهای دیگری است که جوابی نزدیک به جواب بهینه تولید کنند، اما در الگوریتم ژنتیکی و روشهایی مانند جستجوی تصادفی شروع حل مسئله از نقاط تصادفی در فضای جستجو صورت میگیرد.
البته لازم به ذکر است که سرعت رسیدن به جواب در روشهایی مانند الگوریتم ژنتیکی و جستجوی تصادفی کمتر از سیمپلکس، نیوتن کواسی و… میباشد.
۲-۵-۱ مفاهیم الگوریتم ژنتیک
هدف الگوریتم ژنتیکی به دست آوردن جواب بهینه یا نزدیک به بهینه میباشد, برای این کار:
با پارامترهای کد شده کار میکند نه با خود پارامتر.
جستجو را بوسیله جمعیتی از نقاط انجام میدهد، نه یک نقطه. فقط به ذکر این نکته بسنده میکنیم که تعداد این نقاط نیز مهم است، به این صورت که تعداد جمعیت زیاد محاسبات را بسنده میکنیم که تعداد این نقاط نیز مهم است، به این صورت که تعداد جمعیت زیاد محاسبات را پوشش نداده و ممکن است الگوریتم در یک جواب محلی گیر کند.
از مقدار تابع در نقاط مختلف فضای جستجو استفاده میکند و نیازی به دانستن مشتق تابع یا اطلاعات دیگری از تابع ندارد.
الگوریتم ژنتیک از قوانین آماری استفاده می کند نه از قوانین محاسباتی.
برخی مفاهیم که در پیاده سازی الگوریتمهای ژنتیک به آنها برخورد میکنیم در زیر آورده شده است:
ژن و کروموزوم: ژن کوچکترین واحد سازنده GA میباشد. در حقیقت ژنها برای نمایش شکل کد شده پارامترها میباشد. به رشته ای از ژنها، کروموزوم میگویند. برای مثال وقتی متغیر X را به صورت باینری کد میکنیم، هر “۰” و “۱” یک ژن محسوب میشود و به رشتهای از این “۰” و “۱” ها که متغیر X را میسازند و در حقیقت شکل کد شده متغیرند، کروموزوم میگوییم.
تابع معیار: تابع معیار تابعی است که قرار است بهینه شود و وسیله لازم برای ارزیابی هر کروموزوم را فراهم میآورد. تابع معیار به هر کروموزوم یک عدد نسبت میدهد که مقدار این عدد میزان خوب بودن یا مناسب بودن آن کروموزوم را نشان میدهد. برای مثال وقتی میخواهیم خطای یک سیستم پیوسته به پاسخ پله را کمینه کنیم تابع معیارهای زیر مناسب میباشند :
و که e(t) مقدار خطا در هر لحظه میباشد.
جمعیت و نسل: جمعیت تعداد نقاطی از فضای جستجو است که GA با آنها به سمت جواب بهینه میرود. برای این کار عملگرهای مختلفی بر روی جمعیت اعمال میشوند و جمعیتی به وجود میآید که جایگزین جمعیت قبل میشود و با اعمال دوباره عملگرها این روند ادامه مییابد. این تکرارها نسلهای GA را بوجود میآورند.
والدین و فرزندان: در هر نسل افراد جمعیت به صورت جفت جفت و براساس احتمالی متناسب با تابع معیارشان انتخاب شده تا عملگرها بر روی آنها اعمال شود. به این جفتها “والدین” گفته میشود. پس از انجام عملگرها بر روی والدین، یک جفت موجود تولید میشود که “فرزندان “آنها میباشند.
۲-۵-۲ الگوریتم ژنتیکی ساده :
الگوریتم ژنتیکی به روشهای مختلف و با عملگرهای متنوعی پیادهسازی شده اند. آنچه در این پروژه به کار گرفته شده است، الگوریتم ژنتیکی ساده است که دیاگرام بلوکی آن در شکل (۲-۱۰) آورده شده است. انجام عملیات الگوریتم نیاز به پیادهسازی سه مرحله دارد :

برای دانلود متن کامل پایان نامه به سایت  jemo.ir  مراجعه نمایید.