پروژه مسئله مکان یابی- مسیر یابی دو هدفه : کاهش ماکزیمم زمان هر مسیر و هزینه کل
در این پروژه به کمک الگوریتم ژنتیک NSGA2 مسئله مکان یابی- مسیر یابی دو هدفه در محیط متلب شبیه سازی شده است. در این پروژه به یک مدل دو هدفه مکان یابی مسیر یابی در مسیر توزیع پرداخته شده و مدل با استفاده از الگوریتم فراابتکاری NSGA2 حل گردیده است . کد های نوشته شده با متلب نیز در ادامه گزارش پروژه آورده شده است.
فرایند انتخاب در الگوریتم NSGA2
در این الگوریتم با توجه به تعداد نقاطی که باید انتخاب شوند از بهترین رنک ( رنک برابر با 1) شروع کرده و انتخاب انجام می شوند . باید توجه داشت که نقاط اول و آخر ) نقاطی که دارای بهترین تابع های هدف در رنک حاضر می باشند ) ابتدا انتخاب می شوند . و سپس نقطه ای که فاصله ازدحامی بیشتری دارد انتخاب می گردد .
الگوریتم جستجوی ممنوعه
برای رسیدن به جواب بهینه در یک مسئله بهینهسازی، الگوریتم جستجوی ممنوعه ابتدا از یک جواب اولیه شروع به حرکت میکند. سپس الگوریتم بهترین جواب همسایه را از میان همسایههای جواب فعلی انتخاب میکند. در صورتی که این جواب در فهرست ممنوعه قرار نداشته باشد، الگوریتم به جواب همسایه حرکت میکند؛ در غیراینصورت الگوریتم معیاری به نام معیار تنفس را چک خواهد کرد. بر اساس معیار تنفس اگر جواب همسایه از بهترین جواب یافت شده تا کنون بهتر باشد، الگوریتم به آن حرکت خواهد کرد، حتی اگر آن جواب در فهرست ممنوعه باشد. پس از حرکت الگوریتم به جواب همسایه، فهرست ممنوعه بروزرسانی میشود؛ به این معنا که حرکت قبل که بوسیلهی آن به جواب همسایه حرکت کردیم در فهرست ممنوعه قرار داده میشود تا از بازگشت مجدد الگوریتم به آن جواب و ایجاد سیکل جلوگیری شود. در واقع فهرست ممنوعه ابزاری در الگوریتم جستجوی ممنوعهاست که توسط آن از قرار گرفتن الگوریتم در بهینهی محلی جلوگیری میشود. پس از قرار دادن حرکت قبلی در فهرست ممنوعه، تعدادی از حرکتهایی که قبلا در فهرست ممنوعه قرار گرفته بودند از فهرست خارج میشوند. مدت زمانی که حرکتها در فهرست ممنوعه قرار میگیرند توسط یک پارامتر که زمان ممنوعه (tabu tenure) نام دارد تعیین میشود. حرکت از جواب فعلی به جواب همسایه تا جایی ادامه مییابد که شرط خاتمه دیده شود. شرطهای خاتمه متفاوتی میتوان برای الگوریتم در نظر گرفت. به طور مثال محدودیت تعداد حرکت به جواب همسایه میتواند یک شرط خاتمه باشد.