جستجوی محلی تکرارشونده با رویکرد انتخاب همسایگی انطباقی برای مسئله مسیریابی وسیله نقلیه چندانباره همراه با تحویل و ارسال همزمان
مقدمه
مسائل مسیریابی وسیلهنقلیه چندانباره با امکان همزمان تحویل و ارسال (MDVRPSDP) بیشتر در سناریوهای واقعی لجستیک حملونقل مطرح میشوند. در مسائل MDVRPSDP، مشتریان بطور همزمان میتوانند کالا را دریافت و درصورت خرابی یا انصراف و یا داشتن کالاهایی از قبل در موجودی آنها را ارسال کنند. همچنین حمل تمام کالاهای دریافتشده باید از انبار شروع شده باشد و تمام کالاهای برگشتی از مشتریان باید به همان انبار ارسال شود. فروشگاههای مواد غذایی معمولا دارای همچین سیستمی هستند زیرا غذای تازه را دریافت میکنند و غذاهای قدیمیتر یا بطریهای خالی را به همان انبار که قبلا از آن دریافت کردهاند، برمیگردانند.
در این مقاله درواقع با توسعه و گسترش مسئله مسیریابی وسیلهنقلیه با فرض همزمان تحویل و ارسال به مسئله ای با چندین انبار پرداخته شدهاست. با افزایش تعاملات و ارتباطات و وجود هزینههای سنگین حملونقل، توزیع مشترک انبارهای چندگانه جایگزین توزیع هر منطقه فقط توسط انبار در آن منطقه خاص شده است. با این امکان صرفهجویی بیشتری در هزینهها صورت گرفته است. همانطور که در شکل (1) و (2) میبینید مشتری C دور از مشتریان اصلی منطقه خود قرار گرفته است و به مشتریان منطقه دوم نزدیکتر است. بنابراین اگر این امکان توزیع مشترک بین انبارها بدون درنظر گرفتن منطقه وجود داشته باشد با اختصاص مشتری C به انبار B، زمان پاسخدهی به مشتریان کاهش و سطح سرویس افزایش مییابد. درواقع برای مثال، در سوپرمارکتهای زنجیرهای به منظور برآورد به موقع نیاز مشتریان به دلیل ترافیک سنگین معمولا از چندین انبار در سطح شهر کالاهای خود را دریافت میکنند.
از آنجا که مسئله MDVRPSDP یک مسئله پیچیده و NP-Hard است و در مسائل با مقیاس بالا با رویکردهای دقیق قابل حل میباشد. هدف این مقاله یافتن یک روش متاهیوریستیک موثر برای حل میباشد. ایده اصلی استفاده از روش الگوریتم جستجوی محلی تکرارشونده (ILS) است که یک روش همسایگی میباشد که بر اساس احتمال موفقیت محل بعدی برای حرکت در جهت بهبود انتخاب میشود. همچنین برای اینکه جستجو بهتر صورت گیرد از مکانیزم انتخاب همسایگی انطباقی (ANS) در مرحله بهبود و مرحله اختلال استفاده شده است. همچنین برای توسعه کار از روشهای جدید همسایگی تخریب استفاده شدهاست. درواقع به منظور افزایش قدرت الگوریتم از یکسری استراتژیها مانند فهرست کاندید، تقویت، تنوع و ... میتوان استفاده کرد. روشهای مبتنی بر جستجوی محلی، آنقدر محلی هستند که زمان زیادی را فقط محدود به یک بخش از فضای جستجو میکنند و ممکن است در همان قسمت بهترین جواب بدست آید ولی امکان جستجو و اکتشاف در مناطق دیگر کم میشود. جستجو متنوع، عملگرهای متضاد جدید پیشنهاد میدهند که با این کار جستجو را مجبور میکنند به سمت مناطق جدید، حرکت کند.
مروری بر ادبیات
بطور کلی در زمینه حل MDVRPSDP، دو مقاله وجود دارد که با استفاده از متاهیوریستیکها به حل مدل پرداختهاند. salhi & Nagy (1999) برای نخستین بار به حل این مسائل با الگوریتم هیوریستیک پرداختند. همچنین برای بار دوم در سال 2005 روش پیشنهادی قبلی خود را برای حل مسائل مسیریابی وسیلهنقلیه مربوطه را برای حل مسائل VRPSDP توسعه دادند. در هر دو مقاله مشتریان بصورت دو زیرمجموعه مرزی و غیرمرزی تقسیم شدهاند که اول مشتریان غیرمرزی به نزدیکترین انبار تخصیص داده میشوند. سپس مشتریان مرزی که تخصیص داده نشده اند به انبار واقع در همان منطقه تخصیص داده شده و به مسیر ایجاد شده اضافه میشود.
با توسعه لجستیک معکوس در مقالات الگوریتمهای دقیق فقط مثالهایی با نمونههای کوچک را میتوانند حل کنند. Dell’Amico و همکارانش با استفاده از الگوریتم دقیق رویکرد برش و قیمت برای نمونههایی با بیش از 40 مشتری فقط یک جواب بهینه پیدا کردند. بنابراین بیشتر تحقیقات بر روی استفاده از الگوریتمهای متاهیوریستیک تمرکز کردند. Crispim & Brandao (2005) از الگوریتم جستجوی ممنوع برای حل مسئله خود استفاده کردند. در سالهای 2010 به بعد بیشتر از الگوریتمهای متاهیوریستیک مثل کلونی مورچگان، ژنتیک، شبیهسازی تبرید، جستجوی همسایگی بزرگ، جستجو همسایگی محلی و ... استفاده شده است.
تعریف مسئله و مدلسازی
مسئله MDVROSDP از یک گراف G=(V,E) تشکیل شده است که V مجموعه ای از راسها است که شامل دو زیرمجموعه مشتریان (Vc) و انبارها (Vd) میشود و E نشاندهنده کمانها میباشد. در کمانها ماتریس هزینه و مسافت بین هر جفت راس (مشتری تا مشتری یا مشتری تا انبار) متقارن میباشند. مفروضات بصورت زیر است:
شروع و پایان هر مسیر باید یک انبار باشد.
هر مشتری فقط یکبار توسط یک وسیلهنقلیه یا در یک مسیر ملاقات میشود.
حداکثر بار هر مسیر نباید از ظرفیت وسیلهنقلیه تخصیصیافته به آن مسیر تجاوز کند.
کل مدت هر مسیر (از جمله زمان سفر و زمان سرویسدهی) نباید از زمان از پیش تعیین شده بیشتر شود.
تمامی وسایلنقلیه همگن هستند.
هدف مسئله: تعیین مسیرهای بهینه با به حداقل رساندن مجموع وزنی هزینههای ثابت شامل تعداد وسیله نقلیه استفاده شده و مسافت طی شده توسط همه وسایل نقلیه میباشد.
محدودیتهای مسئله:
با توجه به اینکه تعدادی وسیله نقلیه به هر انبار داده شده است محدودیت (2) تضمین میکند که تعداد وسایل نقلیه خارج شده از انبار برای خدمتدهی نباید بیشتر از تعداد وسایل نقلیه دردسترس در انبار مربوطه باشند.
محدودیت (3) تضمین میکند که هر مشتری فقط یکبار و فقط توسط یک وسیلهنقلیه باید سرویسدهی شود.
محدودیت (4) بیان میکند هر وسیلهنقلیه از هر انباری که برای ارائه خدمت به مشتریان شروع به کار کرده باشد در نهایت و بعد از آخرین مشتری خود باید به همان انبار برگردد.
محدودیت (5) مربوط به حذف زیرتور است که تضمین میکند حل برای یافتن بهترین جواب بدون زیرتور ادامه پیدا میکند.
محدودیت (6) بیان میکند که جابهجایی بین انبارها وجود ندارد و وسیلهنقلیه نمیتواند بصورت مشتقیم از انبار i به سمت انبار j برود.
محدودیت (7) مربوط به برقراری تعادل جریانهای ورودی و خروجی از هر گره میباشد.
محدودیت (8) تضمین میکند که ظرفیت هر وسیله نقلیه حفظ شود و بیشتر از ظرفیت بار جابهجا نکند.
محدودیت (9) حداکثر مسافت مجاز که هر وسیله نقلیه میتواند طی کند را بیان میکند.
محدودیتهای (10) و (11) نشاندهنده متغیرهای باینری و مثبت هستند.
با توسعه لجستیک معکوس، توجه بیشتری به مسائل مسیریابی تحویل و ارسال بصورت همزمان شده است. الگوریتمهای دقیق مثل رویکرد شاخه و قیمت فقط مسائل با ابعاد کوچک را حل میکنند. بنابراین بسیاری از تحقیقات بر روی استفاده از الگوریتمهای ابتکاری و فراابتکاری تمرکز دارند. در تحقیقات گذشته از الگوریتمهای جستجوی ممنوع، جستجوی همسایگی محلی، الگوریتم کلونی مورچگان، الگوریتم ازدحام ذرات، الگوریتم جستجوی همسایگی متغیر و ... برای حل مسائل مختلف VRP استفاده شده است.
روش حل پیشنهادی
جستجوی محلی تکرارشونده (ILS) میتواند به بهینهسازی محلی کمک کند تا از به دام افتادن در بهینههای محلی جلوگیری شود. در این مقاله از ILS به عنوان چارچوب الگوریتم استفاده شده است. جستجوی محلی از یک راهحل تصادفی شروع شده و همسایههای جواب اولیه را جستجو میکند. از دو فاز تشکیل شده است در فاز اول بهبود، بهترین جواب نسبت به جواب اولیه را پیدا میکند و روشهایی با بهترین مقدار تابع هدف را انتخاب میکند اما این مرحله در یک مینیمم محلی متوقف میشود. در فاز بعدی هدف جلوگیری از ایجاد سیکل میباشد و بیشتر به معنی تغییر در راهحل ایجاد شده است. مقدار این تغییر با متغیری به نام تقویت تعریف میشود. از طریق روشهای مختلف جستجوی همسایگی، راهحلهایی با کیفیت متفاوت بدست میآید. بنابراین برای نمونههای مختلف باید تصمیمگیری شود که از کدام روش جستجو همسایگی برای مرحله بعد جستجو استفاده شود. بجای استفاده از روشهای کلاسیک و تصادفی در انتخاب همسایگی در این مقاله از یک مکانیزم انتخاب جستجو همسایگی انطباقی در چارچوب جستجو همسایگی محلی تکرارشونده (ILS-ANS) استفاده شده است.
الگوریتم ILS-ANS
با یک جواب اولیه S0 شروع میشود. سپس الگوریتم یک روش همسایگی بهبود را برای حل و بدست آوردن یک جواب بهینه بهتر Sw اتخاذ میکند. اگر Sw معیارهای پذیرش را پوشش دهد، جایگزین جواب فعلی Sc میشود درغیراین صورت به جستجو برای یافتن جوابی بهتر از جواب قبلی میپردازد. اگر پس از تکرارهای متوالی Sc نتواند بهبود یابد، بهترین جواب بدست آمده Sb جایگزین Sc میشود. سپس روش همسایگی تخریب برای پذیرفتن جواب فعلی Sc و Sp انتخاب میشود. بهبود بعدی بر روی جواب Sp زمانیکه f(s) نشاندهنده هزینههای S است، اعمال میشود.
در راستای اینکه بتوانیم شناسایی کنیم که آیا این جواب جدید است، یک ساختار طراحی شده که تمام جوابهای پذیرفته شده را ذخیره میکند. بطورکلی، پیگیری و بررسی تمام راهحلهای قبلی دشوار و زمانبر است به همین منظور، در این مقاله یک روش ساده و سریع ردیابی از طریق تابع هدف بررسی شده است. روش ثبت جوابها بصورت زیر است: مقدار فاصله سفر f(s) را از طریق بزرگنمایی به عددصحیح F تبدیل میکنیم( مثلا f(s)=816.1 با بزرگنمایی داریم ۤF=8161). سپس یک آرایه Ar برای ثبت دفعاتی که جوابها پذیرفته شدهاند، تشکیل میدهیم. آرایهها هر سری بروز رسانی میشوند (Ar(F)=Ar(F)+1). اگر Ar(F)<1 بود آنگاه جواب جدید است درغیراینصورت جواب جدید نمیباشد.
الگوریتم 1: الگوریتم پیشنهادی ILS-ANS
تولید یک جواب اولیه
اجرای الگوریتم تا زمانیکه شرط توقف برقرار نباشد
انتخاب همسایگی بهبود توسط مکانیزم انتخاب انطباقی
همسایگی بهبود توسط مکانیزم انتخاب انطباقی
Sp را با اعمال همسایگی بهبود انتخابشده بهبود داده و در مجموعه Sw ذخیره کنید
اگر Sw معیارهای پذیرش را داشته باشد جایگزین جواب فعلی میشود.
اگر تابع جواب فعلی کوچکتر از تابع بهترین جواب باشد آنگاه جواب فعلی به عنوان بهترین جواب خوانده میشود و آنگاه برای مرحله دوم الگوریتم به عنوان مقدار SP تلقی میشود.
اگر جواب فعلی در تکرار دوم بهبود پیدا نکند بهترین جواب قبلی بهعنوان جواب فعلی انتخاب میشود و با مکانیزم انتخاب انطباقی یک همسایگی تخریب برای تغییر جواب فعلی انتخاب و الگوریتم تا یافتن بهترین جواب تکرار میشود.
توسعههای این مقاله نسبت به مقالات دیگر که از روش ILS استفاده کردهاند:
زمانیکه روشهای همسایگی زیادی وجود دارد، بیان و بررسی لیست ممنوع برای الگوریتم جستجوی ممنوع خیلی سخت و پیچیده میشود. بنابراین بهجای الگوریتم جستجوی ممنوع، انتخاب همسایگی انطباقی برای بهبود جواب فعلی در مرحله بهبود استفاده شده است.
از چندین همسایگیهای تخریب متعدد با مکانیزم انتخاب انطباقی در مرحله اختلال برای تقویت کردن عملگر متنوع تخریب استفاده شده است.
احتمال اینکه راهحل بدتری انتخاب شود بستگی به تعداد دفعات انتخاب جوابهای پذیرفته دارد.
الگوریتم 2: مراحل ساختن جواب اولیه
مرحله1: مشتریان را به نزدیکترین انبار تخصیص دهید.
مرحله2: عمل صرفهجویی را برای هر انبار اعمال کنید
مرحله 1-2: برای هر مشتری یک مسیر مجزا درنظر بگیرید.
مرحله2-2: صرفه جویی را بصورت زیر محاسبه کنید:
مرحله 3-2: یک لیست صرفهجویی تشکیل دهید.
مرحله 4-2: دو گره ای که بیشترین فاصله را دارند انتخاب میکنیم . اگر برای مسیرانتخابی شرایط محدودیتها برقرار بود به عنوان یک مسیر شدنی انتخاب میشود و از لیست حذف میشود.
مرحله 3: تمام مسیرها را بررسی و ادغام میکنیم.
ساختار همسایگی بهبود: سه نوع ساختار بهبود inter-route بین انبارهای مختلف، inter-route بین انبارهای مشابه، intera-route وجود دارد. برای بهبود جواب موثر هر یک از روشهای بهبود همسایگی inter-route ، روشهای همسایگی intra-route را تضمین میکند. یعنی هر قید به عنوان عملگر همسایگی محسوب میشود.
ساختار همسایگی تخریب: روش همسایگی تخریب در الگوریتم پیشنهادی برای تولید یک جواب جدید برای جستجوی متنوع استفاده میشود. برای کشف فضاهای جواب، ساختارهای متفاوت همسایگی برای برآشفتن بهینههای محلی بکار گرفته میشوند. درواقع الگوریتم LNS متشکل از دو بخش است: حذف مشتریان و ورود مجدد مشتریان حذفشده. تفاوت روش LNS پیشنهادی در این مقاله نسبت به روش سنتی در تایید ورود مجدد مشتریان حذف شده است. دو روش قرار دادن جدید پیشنهاد شده است:
روش قرار دادن بر اساس رقابت
تخصیص اول احتمالی، روش قراردادن مجدد
الگوریتم 3: روش ابتکاری قراردادن حریصانه پایه
از طریق الگوریتم حریصانه بهترین انتخاب با توجه به شرایط مسئله بدست میآید. در این روال ابتدا طبق یک معیار حریصانه یک مشتری(بصورت تصادفی) انتخاب میشود. این انتخاب یک شرط بهینه را در همان مرحله برآورده میسازد. سپس مشخص میکند که آیا مجموعه جدید بدست آمده، برای رسیدن به حل عملی است یا خیر. همچنین در نهایت مشخص میسازد که آیا مجموعه جدید، نمونه موردنظر را حل کرده است یا خیر.
الگوریتم 4: الگوریتم ابتکاری قراردادن حریصانه مبتنی بر رقابت
این الگوریتم تفاوتش با الگوریتم قبلی در این است که مجموعه مشتریان به چند زیرمجموعه تبدیل میشوند و انتخاب از بین این زیرمجموعه ها در هر تکرار صورت میگیرد.
ابتدا در بین تورهای تشکیل شده مختلف یک تور را به تصادف انتخاب میکنید. آنگاه دو مسیر که بیشترین مسافت را دارند انتخاب و کمانهای مربوط به آنها را حذف میکنید. سپس مشتریان حذف شده از مسیر را به مسیرهای دیگر که نزدیکتر هستند متصل میکنیم. شکل (3) نحوه حذف و قرارگرفتن مجدد مشتریان و رسیدن به جوابی موثرتر را نشان میدهد.
شکل 3- حذف مشتریان با طول قوس زیاد و جایابی در دیگر مسیرها
مکانیزم ANS: از مکانیزم انطباقی برای بهبود و تخریب روش همسایگی استفاده شدهاست. با توجه به امتیاز هر یک از روشهای همسایگی از انتخاب چرخ رولت برای تصمیمگیری راجعبه اینکه کدوم روش برای مسئله دریافت و ارسال همزمان موثرتر و موفقتر عمل میکند استفاده میشود.
در الگوریتم پیشنهادی مکانیزم انتخاب همسایگی انطباقی به دو قسمت انتخاب انطباقی روش همسایگی تخریب و بهبود تقسیم میشود. انتخاب انطباقی در روش همسایگی بهبود بدین صورت است که هر روش همسایگی بهبود توسط روش انتخاب چرخ رولت با احتمالی متناسب با کیفیت تجربیاش، انتخاب شدهاست (مثلا اگر k روش وجود داشته باشد وزن روش j ام میشود احتمال وزن روش j تقسیم بر مجموع وزن کل k تا روش). در شروع جستجو وزنهای برابر به همه روشهای بهبود داده میشود. اما در طول جستجو، وزن روشها در هر مرحله بسته به موفقیت هر یک از روشها بهروزرسانی میشود. وزن هر روش از طریق سه مرحله زیر تنظیم میشود:
مرحله1: تقسیم فرآیند جستجو به بخشهای زیادی که هر بخش شامل تکرار زیادی باشد.
مرحله 2: محاسبه امتیاز هر روش بعد از تکمیل هر بخش. درواقع زمانیکه یک روش جدید پیدا شود امتیاز h1 میگیرد. اگر روش در الگوریتم ILS بعنوان روش بهبود انتخاب شود امتیاز h2 میگیرد و اگر راهحل پذیرفته شود امتیاز h3 میگیرد.
مرحله3: در هر مرحله بهبود وزنها بروزرسانی میشوند.
انتخاب انطباقی در روش همسایگی تخریب هم مثل روش همسایگی بهبود است با این تفاوت که در وزندهی اولیه متفاوت است. اگر بهترین راهحل جدید بدست آید امتیاز h4 و در غیر این صورت امتیاز h5 فقط در یک صورت بعد از پذیرش روش همسایگی تخریب اعمال میشود. روش مرحله بعد یا بطور مستقیم یا از طریق چرخ رولت انتخاب میشود.
تابع هدف و مکانیزم تنوع
برای اینکه جستجو را تقویت کنیم در تابع هدف (1)، فاصله و حداکثر بار مجاز هر مسیر را با یکسری وزن به تابع هدف اضافه میکنیم که باعث میشود به جواب عملیتر و بهتر دست پیدا کنیم.
پذیرش و توقف معیار
هرگاه بهترین راهحل جدید در مرحله بهبود پیدا شد، جایگزین جواب فعلی میشود و اگر این جواب قبلا پذیرفته نشده باشد، در این مرحله پذیرفته میشود. هرگاه بعد از تکرارهای از پیش تعیین شده، راهحل فعلی بهبود نیافت آنگاه عملگر تخریب دوباره اعمال خواهد شد. الگوریتم زمانی متوقف میشود که تعداد مشخصی تکرار صورت گیرد.
نتایج محاسبات
در مقاله 22 تا مسئله چند انباره (2-5 انبار، 50-249 مشتری) و 28 مسئله تک انباره (50-199 مشتری) درنظر گرفته شده است. ویژگیهای این مسائل بصورت جزئی در جدول های (1) و (2) آورده شده است. هدف حل کمینه مسئله از نظر تعداد وسایل مورد استفاده و بعد مسافت طی شده میباشد که هزینههای ثابت و متغیر بصورت قطعی درنظر گرفته شده است. در جدول (4) نتایج حل و یافتن بهترین جواب ILS تعبیه شده در دو الگوریتم انتخاب همسایگی انطباقی ILS-ANS و انتخاب همسایگی تصادفی ILS-SNS گزارش شده است. همانطور که مشاهده میشود الگوریتم ILS-ANS بهترین راهحل ها را ارائه داده است در صورتیکه که الگوریتم ILS-SNS فقط در 4 تا نمونه از 22 نمونه از لحاظ زمان محاسباتی نسبت به الگوریتم انطباقی عملکرد خوبی داشته است. در جدول 5 جوابهای بهینه الگوریتم پیشنهادی نسبت به الگوریتمهای ارائه شده در مقالات قبلی محاسبه شده است و حتی میانگین تابعهدف بدستآمده از جوابهای الگوریتم ILS-ANS، نسبت به میانگین مقدار تابع هدف الگوریتمهای ارائه شده پیشین 10٪ بهبود داشته است و در جواب بهینه نهایی بدست آمده درصد بهبود تا 14٪ هم بهبود یافته است. درواقع این بهبود نسبت به الگوریتمهای فراابتکاری به این دلیل است که زمانیکه جواب در بهینههای محلی گیر میافتد باید از طریق عملگر تخریب از این بهینه محلی خارج شود درصورتیکه الگوریتمهای ابتکاری پیشین این امکان را درنظر نگرفتهاند. همچنین نتایج نشان میدهد که عملکرد الگوریتم ILS-ANS با الگوریتمهای جستجو همسایگی بزرگ، بهینهسازی ازدحام ذرات، بهینهسازی مورچگان برای روشهای پیچیده برای مسائل VRPSDP رقابت میکند.
نتیجهگیری
در این مقاله از یک روش ILS با مکانیزم انتخاب انطباقی در دو مرحله بهبود و تخریب استفاده کرده است و با استفاده از قوانین احتمالی انتخاب یک جواب بدتر را بر اساس تعداد تکرار برای خارج شدن از بهینههای محلی درنظر گرفته است.
روش پیشنهادی در مقایسه با روشهای دیگر انعطافپذیرتر است زیرا میتوان با شناسایی جواب اولیه و بررسی شدنی بودن جستجوی همسایگی به راحتی مسائل را حل کرد.
در قسمت نتایج محاسبات نشان داده شده که رویکرد پیشنهادی بهتر از رویکردهای قبلی جواب داده است و جواب بهینه نسبت به حل با الگوریتمهای بهینهسازی ذرات، مورچگان، جستجوی همسایگی بزرگ بهتر بوده است.
برای پیشنهادات آتی میتوان به ارائه الگوریتم پیشنهادی با ویژگیهای مختلف در مرحله بهبود و تخریب برای بررسی و ارزیابی کارایی روش جستجو پرداخت.