۳-۲-۶- عملگرهای ژنتیکی
عملگرهای ژنتیکی به منظور تولید نسل های جدید با احتمال نزدیکی بیشتر به پاسخهای بهینه خصوصیات ژنتیکی موجود بر روی کروموزوم ها را تبادل و یا دستکاری میکنند. عملگرهای آمیزش، جهش و بازآفرینش کروموزوم های جدید را برای حضور در نسل جدید با بهره گرفتن از اطلاعات کروموزوم های جمعیت نسل موجود تولید مینمایند. از این رو کروموزوم های حاضر در نسل جدید ممکن است کاملاً مشابه[۷۸] یکی از کروموزوم های نسل قبلی، حاصل جهش خالص[۷۹]، حاصل آمیزش خالص[۸۰] یا حاصل آمیزش و جهش[۸۱]باشند.
۳-۲-۶-۱- آمیزش
عملگر آمیزش هم زمان بر روی دو کروموزوم اعمال شده و دو فرزند به کمک ترکیب ساختار دو کروموزوم ایجاد می کند. عملگر آمیزش دو کروموزوم را به عنوان کروموزوم های والد دریافت نموده و با مبادله اطلاعات موجود بر روی آنها حداکثر دو کروموزوم را به عنوان فرزند ایجاد می کند.
پارامتر مهم آمیزش احتمال آمیزش است. این احتمال به صورت تعداد فرزندان تولید شده در هر نسل به اندازه جمعیت اصلی تعریف میشود. این احتمال تعداد مورد انتظار کروموزوم هایی را که دچار تغییر میشوند مشخص میکند. چنانچه این احتمال کوچک باشد الگوریتم دچار همگرایی زودرس میشود و در صورتی که احتمال بزرگ تعیین گردد سبب کاوش بیهوده در نواحی از فضای جواب میشود که امیدی برای وجود پاسخهای مناسب در آن نیست. مقدار احتمال آمیزش بین۰.۸۵, ۰.۴۵ توصیه شده است.
۳-۲-۶-۱-۱- آمیزش با برش تک نقطه ای
آمیزش با برش تک نقطه ای[۸۲] برای نمایش کروموزومی دودویی و نمایش با بهره گرفتن از اعداد حقیقی اندکی متفاوت است. هنگامی که از نمایش دودویی استفاده شود عددی به صورت تصادفی در بازه تولید میشود که تعداد بیت های کروموزوم ۰ و ۱ کروموزوم است.
سپس دو کروموزوم واحد از نقطه مزبور برش خورده با هم ترکیب میشوند. این ترکیب، جابجایی قطعات ایجاد شده در اثر برش انجام میشود و حاصل دو فرزند است.
شکل ۳-۱۰: برش تک نقطه ای[۵]
برای آمیزش کروموزوم هایی که با بهره گرفتن از اعداد حقیقی نمایش داده میشوند روش های متفاوتی پیشنهاد شده است. معمول ترین روش استفاده از روش پیوند میانه[۸۳] است. در این روش عدد تصادفی k در بازه که تعداد متغیرهای تصمیم است تولید میگردد. ژن های پیش و پس از ژن k در هر کروموزوم جابجا می شوند. برای ژن k داریم:
(۳-۵)
(۳-۶)
در روابط فوق به ترتیب متغیر k در والد اول، والد دوم، فرزند اول و فرزند دوم است. a ضریب مقیاس بوده و به صورت تصادفی و یکنواخت در بازه تولید میگردد. d تعیین میکند که تغییرات متغیرهای فرزندان در چه بازهای صورت گیرد. چنانچه مقادیر متغیرهای فرزندان در بازه بین مقادیر متغیرهای والدین خواهد بود.
۳-۲-۶-۱-۲- برش دو نقطهای
برش دو نقطهای[۸۴] همانند برش تک نقطهای صورت میگیرد، با این تفاوت که دو نقطه برش به صورت تصادفی تعیین شده و قطعات میانی کروموزوم ها جابجا میشوند.
۳-۲-۶-۱-۳- برش چند نقطهای
برش چند نقطهای[۸۵] m نقطه برش به صورت تصادفی تولید شده کروموزوم ها در نقطههای مزبور برش میخورند و قطعات متناظر دو کروموزوم یکی در میان جابجا میشود. درواقع برش دو نقطه ای و تک نقطه ای حالت خاص برش چند نقطه ای می باشد.
۳-۲-۶-۱-۴- آمیزش یکنواخت
در روش آمیزش یکنواخت[۸۶] یک کروموزوم با نمایش دودویی به صورت تصادفی و هم طول با کروموزوم های موجود تولید میشود. این کروموزوم که کروموزوم ماسک[۸۷] نام دارد تعیین میکند کدام الل ها از والد اول و کدامیک از والد دوم به فرزندان منتقل شوند. بیتهای ۰ کروموزوم ماسک به یکی از والدین و بیت های ۱ به والد دیگر اختصاص داده میشوند.
۳-۲-۶-۲- جهش
عملگر جهش در کروموزوم تغییرات تصادفی برنامه ریزی نشده ایجاد میکند و ژن هایی را که در جمعیت اولیه وجود نداشتهاند وارد جمعیت میکند. این عملگر بویژه در مورد مسایلی که نقاط بهینه موضعی و یک نقطه بهینه کلی دارند برای جستجوی همه فضای جواب بسیار سودمند است. پارامتر مهم عملگر جهش احتمال جهش است و به صورت تعداد ژن های تغییر یافته به تعداد کل ژن های موجود تعریف میشود. احتمال جهش بسیار کوچک مانع از بررسی ژن هایی میشود که میتوانستند مفید واقع شوند. هم چنین احتمال جهش خیلی بزرگ سبب ایجاد اختلال در جمعیت شده باعث میشود فرزندان شباهت هایشان را با والدین از دست بدهند. این امر موجب از بین رفتن حافظه تاریخی الگوریتم میشود. توصیه شده است که احتمال جهش بین ۰.۰۵ و ۰.۰۰۵ انتخاب شود. روش های متفاوتی برای عملگر جهش وجود دارد. برخی از این روش ها عبارتند از: جابجایی [۸۸] که جای دو ژن از یک کروموزوم را عوض می کند، وارونگی که ترتیب بخشی از کروموزوم را برعکس میکند، جایگزینی[۸۹] که یک ژن را با یک مقدار جدید تصادفی جایگزین میکند. پرکاربردترین روش عملگر جهشی است که یک مقدار تصادفی را به یکی از ژن ها اضافه و یا از آن کم میکند. این روش در نمایش دودویی با تغییر مقدار یکی از بیت ها که به طور تصادفی انتخاب شده است از ۰ به ۱ یا برعکس انجام میشود.
شکل ۳-۱۱: گونه هایی از جهش[۵]
در نمایش کروموزومی اعداد حقیقی ژن هایی که باید تغییر یابند براساس احتمال جهش به صورت تصادفی انتخاب میشوند. پارامتر مهمی که در این حالت میبایست تحت کنترل باشد اندازه جهش است. اندازه جهش در واقع بیشینه و کمینه مقداری است که میتواند به ژن مورد تغییر اضافه و یا از آن کم شود. عملگر جهش برای نمایش اعداد حقیقی به صورت زیر است:
(۳-۷)
در رابطه فوق ژن i قبل و بعد از جهش میباشد. s تعیین میکند که مقدار جهش به ژن اضافه می شود یا از آن کسر میگردد. r بازه جهش و a گام جهش و k دقت جهش را تعیین میکند. در رابطه فوق بزرگ ترین گام جهش ۱ و کوچک ترین آن است. لذا اندازه جهش بین تغییر میکند. با انتخاب پارامترهای r و k استراتژی های متفاوتی در مورد عملگر جهش قابل پیگیری است.
۳-۲-۶-۳- معیار توقف
معیار توقف پارامتری است که تعیین میکند تکامل نسل ها تا چه زمانی ادامه یابد. معیار توقف به گونههای متفاوتی تعیین میشود. مهم ترین تعریفهایی که برای تعیین معیار توقف ارائه شدهاند به قرار زیر است:
تعداد نسل های تکامل یافته: الگوریتم تا زمانی که تعداد نسل ها به یک عدد از پیش تعیین شده برسد ادامه مییابد. این روش معمول ترین روش تعیین زمان توقف الگوریتم است.
ایستایی[۹۰]: در این روش هنگامی که بهبود پاسخ ها از یک نسل به نسل دیگر صفر یا بسیار ناچیز باشد الگوریتم متوقف میشود. بهبود نسل ها با مقایسه مقدار تابع برازندگی جمعیت آن سنجیده میشود.
میزان همگرایی: در این روش هنگامی که انحراف استاندارد عملکرد اعضای جمعیت یک نسل از یک مرزی کوچک تر باشد الگوریتم متوقف میشود.
یافتن یک نقطه خاص در فضای جستجو: در این روش اگر نقطهای مانند در فضای جستجو در جمعیت یک نسل حضور داشته باشد که تصویر آن در فضای هدف نقطه خاصی مانند باشد الگوریتم متوقف میشود.
تعداد کروموزوم های جدید: در این روش الگوریتم زمانی متوقف میشود که میزان کروموزوم های جدیدی که در هر نسل جدید نسبت به نسل قبلی حضور مییابند از یک تعدادی کمتر شود. اگر جمعیت نسل t و به معنای اندازه مجموعه باشد.
زمان اجرای الگوریتم: در این روش الگوریتم زمانی متوقف میشود که مدت زمان اجرای الگوریتم توسط پردازنده کامپیوتر به یک مدت زمان از پیش تعیین شده برسد.
قابل ذکر است که برخی از معیارهای گفته شده میتواند برای بهترین کروموزوم هر نسل و یا برای مقدار متوسط کل اعضای جمعیت در نسل محاسبه گردد.
۳-۳- تعاریف و مفاهیم پایه در بهینه سازی چند هدفه
کاربرد الگوریتم های ژنتیکی در بهینه سازی چند هدفه اندکی متفاوت بوده نیاز به آشنایی با مفاهیمی دارد که در پی خواهد آمد.
۳-۳-۱- مسأله بهینه سازی چند هدفه
مدل یک مسأله بهینه سازی شامل سه جزء اصلی است که عبارتند از:
متغیرهای تصمیم[۹۱] : متغیرهایی که تغییر در آن ها می تواند حالت های محتمل گوناگون را بوجود آورد.
قیدها: فضای شدنی محدودیت تغییرات متغیرهای تصمیم را معلوم میکند.
تابعهای هدف: ارزش هر حالت محتمل توسط آن مشخص میگردد. در واقع هدف مسأله بهینه کردن این تابع است.
اهداف مسأله ممکن است بطور مستقیم به شکل تابع هدف و یا بطور غیرمستقیم در قیود مسأله مدل سازی شوند. یک مسأله بهینه سازی چند هدفه[۹۲] مسألهای است که در آن واحد چند هدف مختلف را مورد بررسی و بهینه سازی قرار دهد. شکل ۳-۱۲ بطور شماتیک یک مسأله بهینه سازی که n هدفه با m متغیر را نشان میدهد.
شکل ۳-۱۲: مساله بهینه سازی n هدفه و m متغیره[۵]
در این شکل Y فضای هدف و S فضای تصمیم را نشان میدهد. بردار F نقاط موجود در فضای تصمیم را به نقاط موجود در فضای هدف تصویر میکند. بیان ریاضی بردار متغیرهای تصمیم X بردار توابع هدف F(X) و بردار قیدها G(X) و H(X) به صورت زیر است:
(۳-۸)
(۳-۹)
(۳-۱۰)
(۳-۱۱)