حل مساله مکانیابی-موجودی-مسیریابی برای اقلام فسادپذیر با استفاده از رویکرد الگوریتم ژنتیک
مقدمه:
محققان تصمیمات زنحیره تامین را بر اساس افق زمانی تاثیری که دارند، به سه دسته تصمیات استراتژیک، تاکتیکال و عملیاتی تقسیم بندی میکنند. تصمیمات استراتژیک افق زمانی طولانیتری دارند، چیزی در حدود حتی چند سال و معمولا به تصمیماتی اطلاق میشوند که به آسانی قابل تغییر نیستند، مانند تاسیس و مکانیابی یک تسهیل. تصمیمات تاکتیکال، افقهای زمانی در حدود چند ماه دارند که میتوان به مدیریت موجودی به عنوان یک تصمیم تاکتیکال یا میانمدت اشاره نمود. درنهایت، تصمیمات عملیاتی، تصمیماتی روزانه میباشند مانند تصمیمات توزیع محصولات. تعداد بسیاری کمی از مدلها هر سه سطح از تصمیمات را در یک مدل به صورت همزمان در نظر میگیرند. به عبارت دیگر مدلهای مکانیابی-موجودی-مسیریابی به صورت خیلی زیادی در ادبیات کار نشده اند. ممکن است کسی معتقد باشد که در نظرگرفتن تصمیمات استراتژیک مانند مکانیابی و تصمیمات تاکتیکال مانند موجودی و مسیر یابی با هم شاید کار درستی نباشد. بله این ادعا درست میباشد چونکه این دسته از تصمیمات مرتبط با افقهای زمانی مختلفی میباشند و یکپارچه نمودن این تصمیمات میتوانند منجر به پیچیدگی بیش از حد مدل ارائه شده گردد. به هر حال ما در مدل ارائه شده در این مقاله، تصمیم مکانیابی که یک تصمیم استراتژیک میباشد را به مدل ارائه شده توسط لی و همکاران اضافه میکنیم. مدل لی و همکاران با بحث انبارش و انتقال واحدهای خونی بین بیمارستانها و مراکز خاصی سر و کار دارد.
چکیده:
این مقاله، به یک مدل مکانیابی-موجودی-مسیریابی برای کالاهای فسادپذیر اشاره دارد. مدل تعداد مکانهای مورد نیاز برای احداث انبارها، سطح موجودی هر خرده فروش و مسیرهای پیموده شده توسط هر وسیله نقلیه را مشخص میکند. مدل ارائه شده تصمیمات مکانیابی را به مساله موجودی مسیریابی که اخیر چاپ شده است اضافه میکند تا مدل را واقعیتر و عملیتر کند و بنابراین، از این جملهی معروف که یکپارچگی همهی تصمیمات استراتژیک، تاکتیکال و عملیاتی با هم در یک مساله میتواند به تولید جواب بهتر در زنجیره تامین منجر شود، حمایت میکند. مدل ارائه شده در این مساله NP-Hardمیباشد یعنی هیچ الگوریتمی قادر به حل مساله و پیدا کردن جواب در زمان منطقی نمیباشد، بدین ترتیب یک الگوریتم توسعه داده شده از الگوریتم ژنتیک برای حل کارامد این مساله ارائه دادیم. با این الگوریتم به جوابهای نزدیک بهینه در مدت زمان منطقی میرسیم. بنابراین ساختار متمایز مساله نیازمند توسعه نحوهی نمایش جدیدی از کروموزومها و روش ابتکاری برای جستجوی محلی است. در نهایت، یک تحلیل به منظور تایید و بازبینی اثر بخشی الگوریتم ارائه شده است.
مقدمه:
محققان تصمیمات زنحیره تامین را بر اساس افق زمانی تاثیری که دارند، به سه دسته تصمیات استراتژیک، تاکتیکال و عملیاتی تقسیم بندی میکنند. تصمیمات استراتژیک افق زمانی طولانیتری دارند، چیزی در حدود حتی چند سال و معمولا به تصمیماتی اطلاق میشوند که به آسانی قابل تغییر نیستند، مانند تاسیس و مکانیابی یک تسهیل. تصمیمات تاکتیکال، افقهای زمانی در حدود چند ماه دارند که میتوان به مدیریت موجودی به عنوان یک تصمیم تاکتیکال یا میانمدت اشاره نمود. درنهایت، تصمیمات عملیاتی، تصمیماتی روزانه میباشند مانند تصمیمات توزیع محصولات.
در ادبیات معمولا، این تصمیمات بهصورت جداگانه اتخاذ میشوند. هر تسهیل در زنجیره تامین سعی در آن دارد که بدون در نظر گرفتن تاثیر واحدهای قبلی و بعدی، هزینههای مرتبط با خود را کمینه کند. این کار تضمین میکند که هزینهی هر واحد به صورت جداگانه کمینه شود ولی هیچ تضمینی برای این قضیه وجود ندارد که هزینههای کل زنحیره تامین کمینه شود. این حالتی که هر بخش بدون توجه به بخشهای دیگر سعی در بیشینه کردن درآمد و سود خود دارد، به نوعی بهینه محلی محسوب میشود. اخیرا مدیران در زنجیره تامین اهمیت یکپارچگی همهی تصمیمات با هم را متوجه شدهاند. بسیاری از کارشناسان صرفهجویی هنگفتی در هزینهها را در مواقعی که همهی تصمیمات در یک مدل با هم ترکیب میشوند را نشان دادهاند. بسیاری از مدلهای موجود در ادبیات دو سطح از تصمیمات را با هم در یک مدل نظر میگیرند. این مدلها مدلهای مکانیابی-موجودی، مکانیابی-مسیریابی و مدلهای موجودی مسیریابی هستند. تعداد بسیاری کمی از مدلها هر سه سطح از تصمیمات را در یک مدل به صورت همزمان در نظر میگیرند. به عبارت دیگر مدلهای مکانیابی-موجودی-مسیریابی به صورت خیلی زیادی در ادبیات کار نشده اند.
ممکن است کسی معتقد باشد که در نظرگرفتن تصمیمات استراتژیک مانند مکانیابی و تصمیمات تاکتیکال مانند موجودی و مسیر یابی با هم شاید کار درستی نباشد. بله این ادعا درست میباشد چونکه این دسته از تصمیمات مرتبط با افقهای زمانی مختلفی میباشند و یکپارچه نمودن این تصمیمات میتوانند منجر به پیچیدگی بیش از حد مدل ارائه شده گردد. به هر حال ما در مدل ارائه شده در این مقاله، تصمیم مکانیابی که یک تصمیم استراتژیک میباشد را به مدل ارائه شده توسط لی و همکاران اضافه میکنیم. مدل لی و همکاران با بحث انبارش و انتقال واحدهای خونی بین بیمارستانها و مراکز خاصی سر و کار دارد.
در واقع یک مدل ریاضی عدد صحیح مختلط با ابعاد بزرگ میتواند دهها هزار متغیر داشته باشد که بسیار چالش برانگیز میباشد و ممکن است در پیدا کردن جواب بهینه کلی در مدت زمان منطقی و قابل قبول ناکام باشد. به همین دلیل بهجای پیداکردن جواب بهینه کلی، یک جواب تقریبا بهینه و یا نزدیک بهینه میتواند موثر باشد. الگوریتم ژنتیک یک روش بهینهسازی تصادفی میباشد که وابسته به مکانیزم جستجوی تصادفی میباشد. از الگوریتم ژنتیک در مسائلی با ابعاد بزرگ بسیار استفاده شده است که جوابهای قابل قبولی را تولید نموده است از جمله مسائل بهینهسازی حمل و نقل و زمانبندی.
مرور ادبیات:
مطالعات زیادی بر روی اهمیت یکپارچگی تصمیمات سهگانهی زنجیره تامین در یک مدل ریاضی شده است. ماکس شن و کی مدل ارائه شده توسط داسکین را اصلاح کردند و یک مدل تصادفی ارائه دادند که در آن هزینههای مکانیابی، موجودی و مسیریابی را در نظر گرفتند. آنها بخش انتقال محصولات از انبار به مشتریان را با استفاده از مدل مسیریابی وسایل نقلیه در نظر گرفتند. آنها از آزادسازی لاگرانژ برای حل زیر مسالهها استفاده نمودند. آزاد سازی لاگرانژ همچنین توسط دیابات و همکاران استفاده شد، کسانی که تمرکز زیادی بر روی توسعه یک رویکرد جدید بودند که قادر بود مسائل را به طور کاراتری حل نماید. جاوید و آزاد مدلی را ارائه دادند که در آن همزمان، تصمیمات مکانیابی، موجودی و مسیریابی را بهینه میکند. لیو و لی در یک مساله مکانیابی-مسیریابی، تقاضای تصادفی مشتریان و هزینههای موجودی را در نظر گرفتند. در این مساله یک جواب اولیه از طریق خوشهبندی کردن مشتریان به دست آمد. آمبروزینو و اسکوتلا یک مساله چهار سطحی مکانیابی-مسیریابی را در نظر گرفتند. مولفان مقاله همچنین، فرضیات مرتبط با موجودی را در نظر گرفتند و این مساله در هر دو حالت ایستا و پویا مورد بررسی قرار گرفت و در بخش مسیریابی از ناوگان حمل و نقل ناهمگون استفاده شد. اخیر لی و همکاران مساله موجودی مسیریابی را در یک مدل در نظر گرفتند. آنها برای حل از رویکرد ابتکاری تولید ستون استفاده نمودند.
زنجیره تامین با اقلام فسادپذیر، در مطالعات زیادی مورد بررسی قرار گرفته است. گیری و چادری برای اقلام فسادپذیر یک مدل موجودی ارائه دادند که در آن تقاضا تابعی از موجودی در دست بود و هزینهی نگهداری غیر خطی بود. هسو و همکاران، یک مدل مساله مسیریابی وسیله نقلیه را با در نظر گرفتن پنجرههای زمانی توسعه دادند. یکی از مطالعات انجام شده توسط دیابات و السالم مربوط به ترکیب مسائل موجودی و مسیریابی به کمک الگوریتم جستجوی ممنوعه میباشد.
تعریف مساله:
در مدل پایه که توسط هیاست و دیابات ارائه شده است، مساله به صورت ارسال یک محصول از یک تولیدکننده به تعدادی خردهفروش،I، از طریق تعدادی انبار،W، که در مکانهای از پیش تعیین شده میتوانند قرار بگیرند، میباشد. خرده فروشان تقاضای ثابتی دارند ولی این تقاضا در دورههای مختلف تغییر میکند. این محصولات از طریق ناوگان حمل و نقل همگن و مشابه با ظرفیتهای یکسان منتقل میشوند. در این مدل فرض میشود که محصولات فسادپذیر هستند و دارای عمر قفسهای مشخصی هستند. فرض میشود که کمبود مجاز نیست. هزینههای نگهداری موجودی فرض میشود که با گذشت زمان به آرامی تغییر میکنند. سطح موجودی برای خردهفروشان توسط دو محدودیت مشخص و تعیین میشود، به نام ظرفیت فیزیکی و عمرقفسهای برای محصولات.
یک مسیر موجه، به صورت مسیری که از یک انبار شروع به حرکت میکند و تعدادی از مشتریان را ملاقات میکند و دوباره به همان انبار برمیگردد، میباشد. بنابراین در یک مسیر موجه، تنها از یک انبار استفاده میشود. بنابراین تعداد کل مسیرهای موجه در این مساله برابر با w.2l میباشد. ظرفیت هر وسیله نقلیه بیشتر از بیشترین مقدار تقاضای مشتری در هر دورهی زمانی بیشتر میباشد. از سه جز هزینه در این مساله استفاده میشود که عبارتند از: هزینهی تاسیس تسهیلات، هزینهی موجودی و هزینهی مرتبط با مسیریابی که برای انتقال اقلام استفاده میشود.
محدودیتها:
تابع هدف (1) هزینههای در نظر گرفته شده در این مدل را نشان میدهد. قسمت اول تابع هدف هزینههای تاسیس و هزینههای عملیات صورت گرفته در انبارهای موجود را نشان میدهد در حالی که قسمت دوم مربوط به هزینههای حمل و نقل و هزینههای نگهداری موجودی میباشد. محدودیت شماره (2) نشان میدهد که هر مشتری در هر دورهی زمانی حداکثر یکبار ملاقات میشود. محدودیت (3) تضمین میکند که محدودیتهای ظرفیت وسیله نقلیه نقض نمیشود. محدودیت (4) محدودیت تعادل موجودی را نشان میدهد. محدودیت (5) بیان میکند که سطح موجودی یک مشتری از سطح کل تقاضا در دورههای بعد (حد بالای موجودی) بیشتر نمیشود. محدودیت (6) تضمین میکند که همهی مسیرها از انبار شروع میشوند و دوباره به انبار برمیگردند. محدودیت (7) تضمین میکند که تعداد مسیرها در هر دورهی زمانی بیشتر از تعداد وسایل نقلیه نباشد. محدودیتهای 8،9 و 10 نشاندهندهی دامنهی متغیرهای مدل میباشد.
الگوریتم ژنتیک :
الگوریتم ژنتیک یکی از تکنیکهای جستجوگر قوی میباشد و در این مقاله برای حل مدل ارائه شده به کار گرفته شده است. شکل زیر فلوچارت استفاده شده برای پیدا کردن جواب بهینه یا نزدیک بهینه، میباشد.
الگوریتم با تولید جمعیت اولیه از طریق تولید جواب موجه تصادفی شروع میشود. سپس، مجموعه کروموزومها از یک روش ابتکاری خود-توسعه استفاده میکنند. افراد متناسبتر (جوابهای بهتر) انتخاب میشوند تا از طریق دو عملگر جهش و تقاطع تکامل پیدا کنند. این فرآیند دائما تکرار میشود تا شرط پایان یافتن تحقق یابد.
نحوه نمایش کروموزمها:
در اینگونه مسائل، نحوه نمایش کروموزمها کار ساده و ناچیزی نیست. هر کروموزوم باید اطلاعاتی در مورد مکان انبارها، تخصیص خردهفروشان به انبارها و مسیریابی در هر دوره زمانی را منتقل کند. چون بیشتر عملگرهای جهش و تقاطع در ادبیات، طول ثابتی را برای کروموزومها فرض میکنند، بنابراین از کروموزوم با طول متغیر استفاده نشده است. شکل زیر، نمونه ای از فضای encoding استفاده شده در این مقاله را نشان می دهد.
این مثال به کروموزومی اشاره دارد که دارای دو انبار (A,B) و 6 خرده فروش میباشد که در دو دورهی زمانی نشان داده شده است. هر کروموزوم به دو بخش تقسیم شده است.
قسمت اول، نشان دهندهی مکان انبارها و تصمیمات تخصیص میباشد. این بخش متشکل از W.T ژن میباشد. هر W ژن متوالی مرتبط با دورههای زمانی میباشد. مکان هر ژن، یک شاخصی میباشد که مربوط به انبارهای بالقوه میباشد. ارزش هر ژن از طریق، تعداد خردهفروشانی که به انبار در دورهی زمانی خاصی تخصیص داده شده است، مشخص میشود. انبار A باز شده است و به 4 خرده فروش در دورهی زمانی یک سرویس میدهد. همچنین دو خرده فروش در همان دوره به انبار B تخصیص داده شده است. مقدار 0 نشان دهندهی آن است که در این دورهی زمانی هیچ خرده فروشی به انبار مربوطه تخصیص داده نشده است. در دورهی زمانی دوم، هر 6 خرده فروش به انبار A تخصیص داده شده است و هیچ خرده فروشی به انبار B تخصیص داده نشده است. به هر حال این بدین معنی نیست که انبار B اصلا باز نشده است، بلکه اگر ژنهای مربوط به آن انبار در همهی دورههای زمانی صفر باشد فرض میشود که آن انبار اصلا باز نشده است. در آنصورت هزینه تاسیس و عملیات مرتبط با آن انبار به حساب نمیآید.
قسمت دوم کروموزوم شامل I.T ژن میباشد. برای هر دورهی زمانی، I خرده فروش در I مکان قرار میگیرند. مقدار هر ژن نشاندهندهی تعداد خردهفروشان میباشد. اولویتی که وسیله نقلیه در دورهی زمانی اول برای انبار A طی میکند به صورت A-3-2-6-4-A میباشد. ظرفیت وسیله نقلیه باید رعایت شود. اگر مقدار کالای ارسالی به 2،3 و 4 ظرفیت وسیله نقلیه را پر کند در آنصورت باید از دو وسیله نقلیه استفاده نمود که یکی باید مسیر A-3-2-4-A و دیگری باید مسیر A-6-A را طی کند. در دورهی زمانی دوم، همهی خرده فروشان توسط انبار A سرویس داده میشوند. تعداد وسیله نقلیه به حجم بار ارسالی و همچنین ظرفیت وسایل نقلیه بستگی دارد.
فاز آغازین:
جمعیت اولیه در دو مرحله ساخته میشود. قسمت اولیه کروموزوم از تخصیص یک عدد تصادفی از بازهی 1 تا I به انبار اول ساخته میشود و سپس مکرراً محاسبهی باقیماندهی I مشتری و تولید یک عدد تصادفی بین 1 و آن عدد. این عدد به انبار بعد تخصیص داده میشود. این الگو برای تمامی دورههای زمانی تکرار میشود.
برای قسمت دوم، از دو روش استفاده شدند. در روش اول، از تخصیصهای تصادفی استفاده شد. عددهای صحیح تصادفی، نشاندهندهی تعداد خرده فروشانی میباشد که در هر دورهی زمانی در هر یک از I جایگاه تولید و پر میشوند. اعداد قبلی تخصیص یافته، به دلیل جلوگیری از تکرار، استفاده نمیشوند. روش دوم بر اساس فاصلهی بین انبارها و خرده فروش میباشد. در این متد، هر خرده فروش به نزدیکترین انبار خارج از لیست انبارهای موجود تخصیص داده میشود. هرموقع که یک خردهفروش به یک انبار تخصیص پیدا میکند، یک شمارنده که تعداد تخصیصهای مورد نیاز برای این انبار را نشان میدهد یکی کاهش مییابد. هنگامی که این شمارنده به 0 میرسد، این انبار از لیست انبارهای موجود کنار گذاشته میشود. در تولید جمعیت اولیه، همه جمعیتها و افراد تولید شده طوری طراحی شده بودند که موجه باشند. بنابراین مکانیزمی برای اصلاح کروموزومهای ناموجه، نیاز نبوده و به کار گرفته نمیشود.
موجودی بهینه:
همانطور که پیشتر توضیح داده شد، روند کلی با حل یک مدل موجودی برای به دست آوردن جواب بهینه آغاز میشود. مقادیر حجم منتقل شده و هزینه کل موجودی به عنوان ورودیهای الگوریتم ژنتیک در نظر گرفته میشوند. به ویژه، مدل پیش رو برای به دست آوردن مقادیر بهینه استفاده میشود. الگوریتم ژنتیک استفاده شده در اینجا ترکیب شده با برنامهریزی خطی میباشد تا مساله موجودی را حل کند. جواب این برنامهریزی خطی، مقدار حجم کالایی که در دورهی زمانی برای خردهفروشان ارسال شود را نشان میدهد. برنامهریزی خطی برای حل مدل زیر استفاده میشود:
فاز بهبود:
جمعیت اولیه و فرزندان تولید شده توسط الگوریتم ژنتیک، با استفاده از روند تعویض تکراری بهبود پیدا میکنند که در اصل توسط هو توسعه داده شده بود. روند تعویض تکراری در زیر نشان داده شده است:
این روش بر روی قسمت خرده فروش کروموزوم به صورت زیر عمل میکند:
گام1: از دورهی زمانی اول شروع میکند و دو ژن را در قسمت خردهفروش انتخاب میکند.
گام2: جایگاه این دو ژن را با هم عوض میکند تا یک فرزند جدید حاصل شود.
گام 3: این دو ژن را با همسایههایشان عوض میکنند تا 4 فرزند اضافی بهوجود بیایند.
گام4: به طور تصادفی دو ژن را از دورهی زمانی بعدی انتخاب میکند و به گام 2 برمیگردد.
گام5: همهی فرزندان تولید شده را ارزیابی میکند و با والدین مقایسه میکند. بهترین کروموزوم انتخاب میشود و بقیه کنار گذشته میشوند.
ارزیابی:
تابع برازندگی در مدل ما در این مساله، مجموع همهی هزینههای درگیر در مدل است. این هزینهها شامل هزینهی تاسیس انبار و هزینههای عملیاتی مرتبط با انبار میباشد که به هزینههای ثابت معروف هستند. هزینههای انتقال محصولات و هزینههای موجودی که مرتبط با نگهداری موجودی میباشند. از طریق روابط ریاضی زیر محاسبات مربوط به هزینهها صورت میگیرد.
انتخاب:
از چرخ ذولت برای فرآیند انتخاب استفاده میشود. ایدهی اولیه این روش بسیار ساده و ابتدایی میباشد. هر کروموزوم در جمعیت، با احتمالی انتخاب میشود. ایده احتمال انتخاب متناسب با برازندگی آن میباشد. هر چقدر کروموزوم برازندهتر باشد احتمال انتخاب آن بیشتر میشود. با توجه به تعریف احتمال، هیچ تضمینی برای انتخاب هیچ یک از کروموزومها وجود ندارد.
یک نکته مهم که نیاز است تا اینجا بیان شود این است که ، مقادیر محاسبه شده توسط تابع برازندگی در قسمت قبل بر اساس هزینه کل میباشند. کروموزومهای برازندهتر هزینههای کلی کمتری دارند و انتخاب بالاتری برای انتخاب دارند. روند انتخاب با محاسبه تابع برازندگی F از جمعیتی با اندازه popsize شروع میشود. احتمال انتخاب Ph برای هر کروموزوم hبدین صورت میباشد. عدد تصادفی r بین 0و1 ساخته میشود و اگر r در بازه قرار بگیرد آنگاه کروموزوم انتخاب میشود.
حفظ موجه بودن:
الگوریتمهای زیادی در ادبیات ارائه شده است که اجازه میدهد تا یک جواب غیر موجه، بخشی از جمعیت باشد و از یک نسل به نسل بعدی تکامل پیدا کند. این کار در پیدا کردن مناطق موجه جدید و رسیدن به جوابهای بهینه موجه از جهتهای دیگر کمک میکند. این کار بسیار مفید است مخصوصا زمانی که مسائل منطقه موجه جدا از هم دارند یا جواب بهینه موجه در گوشهی ناحیه موجه قرار گرفته است. به هر حال جواب نهایی که الگوریتم به آن همگرا میشود باید موجه باشد. همچنین برای کنترل کردن کروموزومهای غیرموجه باید به کار گرفته شوند و همچنین اینکه بین جوابهای موجه و غیرموجه چگونه مقایسه صورت بگیرد یک نگرانی بزرگی میباشد. برای موجه بودن همهی جمعیتها در همهی زمانها، باید جمعیت اولیه را به دقت انتخاب کرد و همچنین از عملگرهای درست جهش و تقاطع استفاده نمود.
عملگرهای ژنتیک:
پیشرفتهای جستجو با استفاده از دو عملگر جهش و تقاطع صورت میگیرد. هر دو نوع عملگر، بخش بهرهبرداری و اکتشاف جستجو را تشکیل میدهند.
تقاطع:
تقاطع فرآیندی است که در آن دو کروموزوم (والدین) ویژگیهای خود را ترکیب میکنند تا کروموزوم جدیدی(فرزند) را بسازند. نوع تقاطع استفاده شده در اینجا از نوع تقاطع تک نقطهای میباشد. فرزند همهی ژنهای یک والد را تا نقطهی تقاطع از یک والد به ارث میبرد و ژنهای باقیمانده را از والد دیگر به ارث میبرد. نقطه تقاطع از یک مجموعه قانونی انتخاب میشود تا در موجه بودن جواب مشکلی پیش نیاید.
جهش:
از جهش برای پیدا کردن جواب جدید در فضای جواب استفاده می شود. بسیار مهم است که در بهینه محلی گیر نکنیم. دو نمونه از انواع جهش ها در زیر آمده است:
جهش تعویضی:
فرایندی که در آن دو ژن به تصادف از یک دورهی زمانی انتخاب می شوند و در همهی دورههای زمانی جایگاه آنان با هم تعویض می شود.
بیشترین انبارهای باز:
دورهی زمانی که در آن بیشترین تعداد انبارها باز هستند انتخاب میشوند و الگوری تخصیص به همهی دوره ها منتقل می شود. ایدهی آن بدین صورت میباشد که اگر کروموزومی مجبور است تعداد بیشتری انبار را باز نگه دارد، راهی را پیدا خواهد کرد که خردهفروشان را طوری مرتب میکند تا جواب بهتری را پیدا کند.