×
  • الگوریتم انتخاب ویژگی ژنتیک چند هدفه (NSGA-II)

    از سال ١٩۶٠ تقلید از موجودات زنده برای استفاده در الگوریتم‌های قدرتمند برای مسایل الگوریتم ژنتیک مورد توجه قرار گرفت که تکنیک‌های محاسبه تکاملی نام گرفتند در واقع می‌توان گفت الگوریتم ژنتیک یک تکنیک برنامه نویسی است که از تکامل ژنتیکی به عنوان یک الگوی حل مساله استفاده می‌کند. هنگامی که لغت تنازع بقا به کار می‌رود اغلب بار ارزشی منفی آن به ذهن می‌آید. شاید هم‌زمان قانون جنگل به ذهن برسد و حکم بقای قوی‌تر! البته برای آن که خیالتان راحت شود می‌توانید فکر کنید که همیشه هم قوی‌ترین‌ها برنده نبوده‌اند؛ مثلا دایناسورها با وجود جثه عظیم در طی روندی کاملا طبیعی بازی بقا را واگذار کرده‌اند در حالی که موجوداتی بسیار ضعیف‌تر از آن‌ها حیات خویش را ادامه داده‌اند. ظاهراً طبیعت بهترین‌ها را تنها بر اساس هیکل انتخاب نمی‌کند! در واقع درستتر است بگوییم طبیعت مناسبترین‌ها (‌fittest) را انتخاب می‌کند نه قویترین‌ها. قانون انتخاب طبیعی بدین صورت است که تنها گونه‌هایی از یک جمعیت ادامه نسل می‌دهند که بهترین خصوصیات را داشته باشند و آن‌هایی که این خصوصیات را نداشته باشند به تدریج ودر طی زمان از بین می‌روند. مثلاً فرض کنید گونه خاصی از افراد هوش بسیار بیشتری از بقیه افراد یک جامعه دارند. در شرایط کاملاً طبیعی این افراد پیشرفت بهتری خواهند کرد و این رفاه خود باعث طول عمر بیشتر و باروری بهتر خواهد بود.

    الگوریتم بهینه سازی ژنتیک چند هدفه (NSGA-II)

    بنابراین مسئله چند هدفه شامل n متغیر و q شرط و m هدف است که در آن توابع هدف می‌‌توانند خطی یا غیر خطی باشند. تابع ارزیابی F در مسئله چند هدفه، مجموعه را در متغیر تصمیم تصویر می‌‌کند: یعنی SfF در روش‌‌های وزندهی پیش از حل مسئله چند هدفه تبدیل به مسئله ای تک هدفه می‌‌شود. به عبارت دیگر، در این روش برای پیدا کردن جواب‌‌های مؤثر این مسئله چند معیاره:

    0