۱- به دلیل محاسبات تکرار شونده در مواردی دارای سرعت پایین آموزش و آزمایش هستند.
۲- ممکن است نیاز به زمان آموزش زیاد داشته باشند و شاید هم به یک نقطه قابل قبول همگرا نشوند.
۳- استفاده از وزنهای اولیه تصادفی مختلف نتایج متفاوتی را به دنبال خواهد داشت.
۴- از آنجا که تحلیل شبکه ها کار بسیار پیچیدهای است و در طراحی شبکه روشهای تحلیلی وجود ندارد، در نتیجه مجبور خواهیم بود به صورت تجربی یا با چندین بار آزمایش ساختار و ابعاد شبکه را طراحی کنیم.
۵- اضافه کردن اطلاعات جدید به آنها کار مشکلی است و اشتراک بین چندین شبکه هم کار دشواری خواهد بود.
۱-۲۸ تاریخچه استفاده از الگوریتمهای ژنتیک
الگوریتم ژنتیک یکی از روشهای مدرن بهینهسازی در مسایل مهندسی و غیرمهندسی بوده است. از میان روشهای بهینهیابی احتمالی، الگوریتم ژنتیک به عنوان یک روش عمومیبا قابلیت بهینهیابی مناسب در مسایل گوناگون به کار گرفته شده است. ایده اولیه این روش از نظریه تکامل داروین الهام گرفته شده است و کارکرد آن بر اساس ژنتیک طبیعی استوار بوده است. اصول اولیه الگوریتم ژنتیک توسط جان هلند و همکارانش در دانشگاه میشیگان در سال ۱۹۶۲ ارائه شد. آنان در تحقیقات خود به فرایند سازگاری در سیستمهای طبیعی توجه نمودند و برای مدلسازی آن در سیستمهای مصنوعی که باید دارای توانایی اصلی سیستمهای طبیعی باشند، تلاش نمودند. نتیجه آن پیدایش الگوریتم ژنتیک بود که در سال ۱۹۷۵ مبانی آن توسط هلند منتشر شد. گلدبرگ در سال ۱۹۸۹ تئوری schema ( تئوری اساسی الگوریتم ژنتیک) را ارائه کرد. در سال ۱۹۹۰ ابین و همکاران همگرایی الگوریتم ژنتیک را با بهره گرفتن از روش آنالیز زنجیره مارکوف اثبات کردند. در سال ۱۹۹۱ کوزا و در سال ۱۹۹۲ کریشاکومار از الگوریتم ژنتیک برای برنامهنویسی کامپیوتر و حل مسائل مهندسی استفاده کردند. در سال ۱۹۹۲ مهفود و در سال ۱۹۹۳ ادلر الگوریتم ژنتیک را با روشهای بهینهسازی متداول مقایسه کردند.
(( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. ))
این الگوریتم امروزه در بسیاری از علوم مختلف مثل زیست شناسی، علوم فنی و مهندسی (شبکههای عصبی، پردازش تصویر و تشخیص الگو و… ) علوم پایه، علوم اجتماعی و غیره کاربرد دارد.
۱-۲۹ روشهای بهینهسازی
از سال ۱۹۴۰ تاکنون روشهای بهینه سازی متعددی مطرح شده است که به عنوان روشهای کلاسیک شناخته شدهاند. از آن جمله میتوان به روشهای زیر اشاره کرد:
الف- برنامه ریزی خطی[۹۳]
ب- برنامه ریزی غیر خطی[۹۴]
ج- برنامه ریزی پویا[۹۵]
د- روش اکتشاف[۹۶]
ه- روش صف[۹۷]
و- روش جایگزینی[۹۸]
ز- روش زمان بندی[۹۹]
هر مسئله مهندسی ممکن است دارای چندین جواب مختلف باشد که بعضی از آنها ممکن و بعضی غیر ممکن است. وظیفه طراحان پیدا کردن بهترین جواب ممکن از میان جوابهای مختلف است. مجموعه جوابهای ممکن، فضای طراحی[۱۰۰] را شکل دادهاند که باید در این فضا به جستجوی بهترین یا بهینهترین جواب پرداخت.
جستجوها به دو روش انجام میشود:
الف- قطعی[۱۰۱]
ب- محتمل یا غیر قطعی[۱۰۲]
در روش قطعی میتوان به الگوریتم گرادیان شیب[۱۰۳] و از روش غیر قطعی میتوان به روش تصادفی[۱۰۴] اشاره کرد. فارغ از این که روش جستجوی ما قطعی یا غیرقطعی باشد. هدف دستیابی به یک نتیجه معتبر است، یعنی نتیجه به دست آمده بهینه یا نزدیک به جواب بهینه باشد.
اما روشهای جدید بهینهسازی که امروزه در حل بسیاری از مسائل مختلف مورد استفاده قرار گرفته است عبارتند از :
الف- روش سرد شدن فلزات[۱۰۵]
ب- جامعه مورچگان[۱۰۶]
ج- ریسک هزینه[۱۰۷]
د- استراتژی تکامل[۱۰۸]
ه- الگوریتم ژنتیک[۱۰۹]
و- بافت سلولی ماشین خودکار[۱۱۰]
روش سردشدن فلزات که تقلیدی از پدیده سرد شدن فلزات مذاب برای ساخت یک روال جستجو است. یا روش جامعه مورچگان که با الهام از زندگی دسته جمعی حشرات به خصوص مورچه پیریزی شده است و از آن هوش هجومی[۱۱۱] نیز یاد شده که در حل مشکل ترافیک شبکهها و مسیریابی در سیستم مخابراتی شلوغ استفاده شده است. این روش اولین بار توسط دنیوبرگ Deneubourge مطرح و بعدها توسط دریگو Dorigo (1999) توسعه یافت.
الگوریتمهای ژنتیک یک روش جستجوی موثر در فضاهای بسیار وسیع و بزرگ است که در نهایت منجر به جهت گیری به سمت پیدا کردن یک جواب بهینه گردیده است که شاید نتوان در مدت زمان زندگی یک فرد به آن جواب بهینه دست یافت.
الگوریتم ژنتیک تفاوت بسیار زیادی با روشهای بهینه سازی قدیمی دارند. در این الگوریتمها باید فضای طراحی به فضای ژنتیک تبدیل شود. بنابراین الگوریتمهای ژنتیک با یک سری متغیرهای کد شده کار کردهاند. مزیت کار با متغیرهای کد شده در این است که اصولاً کدها قابلیت تبدیل فضای پیوسته به گسسته را دارند. یکی از تفاوتهای اصلی الگوریتم ژنتیک با روشهای قدیمی بهینه سازی در این است که الگوریتم ژنتیک با جمعیت[۱۱۲] یا مجموعه ای از نقاط در یک لحظه خاص کار کرده است، در حالی که در روشهای قدیمی بهینهسازی تنها برای یک نقطه خاص عمل شده است. این به این معنی است که الگوریتم ژنتیک تعداد زیادی از طرحها را در یک زمان مورد پردازش قرار داده است. نکته جالب دیگر این است که الگوریتم ژنتیک بر پردازش تصادفی یا به تعبیر صحیحتر پردازش تصادفی هدایت شده[۱۱۳] استوار است. بنابراین عملگرهای تصادفی فضای جستجو را به صورت تطبیقی[۱۱۴] مورد بررسی قرار دادهاند.
اصولاً برای استفاده از الگوریتم ژنتیک باید سه مفهوم زیر مشخص شود:
تعریف تابع هدف[۱۱۵] یا تابع هزینه[۱۱۶].
تعریف و پیاده سازی فضای ژنتیک[۱۱۷].
تعریف و پیاده سازی عملگرهای الگوریتم ژنتیک.
اگر این سه قسمت به طور صحیح تعریف شوند، بدون شک الگوریتم ژنتیک به خوبی عمل خواهد کرد و در نهایت میتوان با اعمال تغییراتی کارایی سیستم را افزایش داد.
۱-۳۰ فضای جستجو
هدف از حل مسئله، پیدا نمودن بهترین جواب از میان جوابهای مختلف است. فضای همه حالتهای ممکن (جوابهای ممکن) در حل یک مسئله، فضای جستجو نامیده شده است. هر جواب میتواند با یک مقداری که بیانگر مناسب بودن[۱۱۸] آن است، نشان داده شود. جستجو برای جواب یعنی جستجو برای پیدا کردن اکسترمم در آن فضای جستجو بوده است.
در صورت پیچیده و بزرگ بودن فضاهای جستجو و در مواردی که مشخص نبوده که از کجای این فضا باید عمل جستجو را انجام گیرد، استفاده از الگوریتمهای ژنتیک چون ماهیتاً بر اساس اصل ادامه پیدایش حیات بهترینها و تکثیر نوع برتر پیریزی شده است، توانسته کارساز باشد.
در ابتدا، الگوریتم با مجموعهای از جوابهای تصادفی (کروموزمها) که به آنها جمعیت گفته شده، آغاز گردیده است. از این جوابها برای ساخت جمعیت جدید بعدی استفاده شده، به این امید که جمعیتهای جدید بهتر از جمعیتهای قدیم باشند. زیرا روشهایی که برای انتخاب جمعیتهای جدید استفاده شده با توجه به مناسب بودن آنها صورت گرفته است. پس بهترینها شانس بیشتری برای تولید مثل خواهند داشت. این فرایند آن قدر تکرار شده تا شرایط خاتمه (برای دستیابی به بهترین راه حل) محقق شود.
۱-۳۱ روش کار در الگوریتم ژنتیک
مسائل بهینه سازی نامقید[۱۱۹] و بهینه سازی مقید[۱۲۰] با بهره گرفتن از الگوریتم ژنتیک بررسی شده است.
فرض شود که یک مسئله بیشینهسازی[۱۲۱] موجود باشد:
(۱-۹)
و اگر خواسته شود مینیمم شود برای تابع هدف به صورت رابطه (۱-۱۰) نمایش داده شده است:
(۱-۱۰)
و اگر باشد به جای مینیمم کردن ، میتوان ماکسیمم را به دست آورد.
(۱-۱۱)
پس با بهره گیری از این روش میتوان مسائل مینیمم و ماکزیمم مختلف را در الگوریتم ژنتیک مورد بررسی قرار داد (میخالویک, ۱۹۹۲).
۱-۳۲ تعیین مراحل اولیه قبل از اجرای الگوریتم ژنتیک
مواردی که قبل از اجرای الگوریتم ژنتیک بایستی مشخص شوند عبارتند از:
[یکشنبه 1401-04-05] [ 11:10:00 ب.ظ ]
|