الگوریتم ژنتیکجایگشتی
جایگشت، در قلمرو ترکیباتیِ آن، به معنی مرتبسازی یا تغییر ترتیب اعضای یک مجموعه میباشد. ممکن است این چیدمان خطی و یا غیرخطی (مثلا دور یک دایره که در این حالت «جایگشت دوری»[۱۳۸] نامیده میشود) صورت گیرد. اعضای مجموعه نیز میتوانند هر چیزی باشند مثلا شی یا عدد یا حرف و همچنین میتوانند تکراری باشند یا متمایز. در هر مورد، مهم، تعداد طرق چیدن این اعضا است (Wikipedia, 2013).
مسائل جایگشت
گاهی اوقات بهینهسازی شامل مسائلی همچون مرتب کردن یک فهرست یا قرار دادن چیزهایی در جای مناسب میباشد. در اینجا میخواهیم با شرح مسأله فروشنده دورهگرد (TSP) شروع کنیم.
معروفترین مسأله ، فروشنده دورهگردی است کـه میخواهد به N شهر سفر کند به طوری که کمترین مسافت ممکن را بپیماید. به هر شهر فقط یک بار سفر می کند؛ بنابراین، جواب شامل فهرستی از ترتیب سفر به شهرهاست. هدف یافتن کوتاه ترین مسیری است که برای عبور از N شهر توسط یک فروشنده طی می شود. همانطور که در شکل (۲-۱۱) نشان داده شده است باید به این جواب برسیم که اگر فروشنده دورهگرد از نقطه A شروع کند و فواصل بین نقاط مشخص باشد، کوتاهترین مسیر که از تمام نقاط یکبار بازدید میکند و به A بازمیگردد کدام است؟
(( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. ))
مسأله TSP به شکلهای گوناگون در علوم مهندسی کاربرد دارد مانند آرایش بهینه خطوط گاز، سامانه تغذیه کننده آنتن، پیکربندی ترانزیستورها بر روی یک مدار مجتمع با مقیاس بزرگ (VLSI)[139] یا مرتبسازی اشیاء به منظور مطابقت با یک پیکربندی خاص (شاهحسینی، موسوی و ملاجعفری، ۱۳۹۱).
شکل(۲-۱۱): مسأله فروشنده دورهگرد (Wikipedia, 2013)
عملگرهای ادغام و جهشِ استاندارد الگوریتم ژنتیک، برای الگوریتم ژنتیک جایگشتی مناسب نیستند زیرا مثلا در فروشنده دورهگرد باید اطمینان حاصل کنیم که از هر شهر یک و فقط یکبـار عبور خواهیم کرد. بههمین دلیل روشهای متعددی برای اصلاح عملگرهای ادغام و جهش به منظور مواجهه با مسائل جایگشتی و «مسائل مرتبسازی مجدد»[۱۴۰]، ارائه میگردد (شاهحسینی، موسوی و ملاجعفری، ۱۳۹۱).
بیایید با مثالی ساده از شش عدد که باید مجددا مرتب شوند، آغاز کنیم. ما در اینجا از اعداد صحیح استفاده میکنیم، گرچه هرگونه کدگذاری منطقی و متعارفی می تواند برای اینمنظور بکار رود.
دو کروموزوم والد به طول ۶ را در نظر بگیرید:
والدین | |
والد۱ | [۳ ۴ ۶ ۲ ۱ ۵] |
والد۲ | [۴ ۱ ۵ ۳ ۲ ۶] |
یک ادغام ساده بین دومین و سومین عنصر آرایههای کروموزوم والدین، فرزندان را تولید خواهد کرد.
ادغام ساده (معیوب) | |
فرزند۱ | [۳ ۴ | ۵ ۳ ۲ ۶] |
فرزند۲ | [۴ ۱ | ۶ ۲ ۱ ۵] |
بدیهی است این روش عملی نیست زیرا فرزند ۱ شامل دو عدد ۳ و فاقد ۱ است در حالی که فرزند ۲ فاقد ۳ و دارای دو عدد ۱ است. گلدبرگ[۱۴۱] (۱۹۸۹) راه حلهای عملیِ متعددی را مورد بررسی قرار داده است که به صورت مختصر در اینجا آورده شده اند. اولینِ آنها «ادغام تطبیق یافته جزئی (PMX)»[۱۴۲] نام دارد (Goldberg & Lingle, 1985). در این روش، دو نقطهی ادغام را انتخاب کرده و کار را با تعویض مقادیر والدین در بین این دو نقطه آغاز میکنیم. اگر نقاط ادغام بین دو عنصر «۱,۲» و «۳,۴» باشند؛ آنگاه رشته «a» از والد ۲ با رشته «b» از والد ۱ جابجا می شود(شاهحسینی، موسوی و ملاجعفری، ۱۳۹۱).
ادغام تطبیق یافته جزئی (مرحله الف) | |
فرزند۱ الف | [۵ ۱ ۲ | ۵ ۱ | ۳] a |