نشریه تخصصی مهندسی صنایع، دوره 46، شماره 1، فروردین ماه 1391، از صفحه 15 تا 26 حداقل کردن هزینههاي توزیع زنجیره تأمین چندسطحی با رویکرد
الگوریتم ژنتیک و روش هیبریدي

محمدجعفر تارخ *1 و امیر ناصري 2
دانشیار دانشکده مهندسی صنایع – دانشگاه صنعتی خواجه نصیرالدین طوسی
کارشناسی ارشد مهندسی صنایع – دانشگاه پیام نور
(تاریخ دریافت 3/2/90، تاریخ دریافت روایت اصلاح شده 19/10/90، تاریخ تصویب 19/1/91 )

چکیده
در این مقاله، شبکه توزیع براي زنجیره تأمین چند سطحی مورد مطالعه قرار گرفته است. محصولات در کارخانجات تولید و از طریق انبارها و مراکز توزیع بر اساس تقاضاهاي معین به مشتریان ارسال میشوند. در همین راستا مدلی طراحی شده است که هزینههاي شبکه توزیع را در زنجیره تأمین چندسطحی حداقل کند. یک برنامهریزي عدد صحیح مختلط براي مدل فرموله شده است. با توجه به Np-Hard مدل پایه، مدل پیشنهادي ارائه شده این مقاله نیز در این طبقه جاي میگیرد. بنابراین براي حل مدل از دو روش فراابتکاري کمک گرفته شده است.
در روش اول از الگوریتم ژنتیک استفاده شده است تا جوابهاي مناسب کیفیت داشته و همچنین از نظر زمانی سرعت حل افزایش یابد. در ادامه با استفاده از الگوریتم ترکیبی پیشنهادي، دو الگوریتم ژنتیک و شبیه سازي تبرید با هم ترکیب شده است تا جوابهاي نزدیکتري به جواب بهینه حاصل شود. نتایج محاسباتی، حاکی از برتري الگوریتم ترکیبی براي مدلهاي با ابعاد متوسط و کوچک است، ولی براي مدلهاي با ابعاد بزرگ، استفاده از الگوریتم ژنتیک توصیه میشود.

واژه هاي کلیدي: الگوریتم هیبریدي ژنتیک – شبییه سازي تبرید، مدیریت زنجیره تأمین، هزینه فروش از دست رفته، مدلهاي موجودي- توزیع، ظرفیت تسهیلات

یک زنجیره تأمین در ارتباط با برنامهریزي، هماهنگی و کنترل مواد خام، فرآیند و محصولات نهایی است. نگرش حاکم بر مدیریت زنجیره تأمین این است که ارتباط دهنده همه فرآیندهاي تولید و تأمین از مواد خام تا مشتري نهایی است و میتواند چندین سازمان را در برگیرد.
م قدمه Email: [email protected] ، 88674858 :نویسنده مسئول: تلفن: 84063356 , فاکس *

مدیریت زنجیره تأمین روي چگونگی بهرهبرداري از فرآیندها، تکنولوژيها و قابلیتهاي تأمینکنندگان براي تقویت مزایاي رقابتی تمرکز دارد. یک زنجیره تأمین شبکهاي از تجهیزات و امکانات توزیع است که عملیات-هاي تأمین مواد، تبدیل مواد به محصولات نیمه ساخته و نهایی و توزیع محصولات نهایی در بین مشتري را بر عهده دارد [1]. در دنیاي امروز، ما در میان مجموعهاي پیچیده از زنجیرههاي تأمین زندگی میکنیم. زنجیرههایی که به موازات هم حرکت میکنند، بعضی از آنها همدیگر را قطع میکنند و چونان تارهاي درهم تنیدهاي دست اندرکار تأمین نیازمنديهاي انسانها هستند. به همین دلیل نیز اگر بخواهیم دقیقتر به موضوع نگاه کنیم، بهتر بود به جاي زنجیرههاي تأمین، از عنوان شبکههاي زنجیره تأمین1 استفاده کنیم [2]. در این میان، توزیع، در واقع اختصاص دادن مقدار مشخصی از کالا به مصرفکننده است که با نیاز او مطابقت داشته و تأمین همان کالا از تولید کننده است. همواره یک توزیعکننده سازمانی است که مالکیت محصولات دریافتی از تولیدکننده براي فروش به مشتریان را در اختیار دارد [3]. توزیعکنندگان علاوه بر فروش و ترویج محصول، فعالیت هاي دیگري همچون مدیریت موجودي، امور انبارداري، حمل و نقل محصول و خدمات پس از فروش را نیز انجام میدهند. همچنین توزیعکننده میتواند فقط یک واسطه بین تولیدکننده و مشتري باشد، به طوري که هیچ گاه مالکیت محصول را در اختیار نگیرد. این نوع توزیع کنندگان بیشتر امور فروش و ترویج محصول را بر عهده دارند. در هر دو حالت ذکرشده، توزیعکنندگان با رشد انتظارات مشتري و تغییر محصولات در دسترس، همواره نیازهاي مشتري را پیگیري کرده و آن را از طریق محصولات موجود رفع می کنند [4]. هنگامی که تأمین کنندگان از نظر مسافت فاصله زیادي با مشتریان دارند، استفاده از یک مرکز توزیع براي انتقال حجم زیادي از محصولات به محلی در نزدیکی مشتریان نهایی، سببایجاد مزیتهاي افزایش حجم در حمل و نقلهاي بامسافت طولانی می شود. یک شبکه توزیع کارآمد باید برايبه دست آوردن اهداف مختلف زنجیره تأمین، از کاهشهزینهها گرفته تا پاسخگویی بالا، به نیازهاي مشتري و کاهش زمان تحویل و بسیاري دیگر تلاش کند. مهم ترین عوامل تأثیر گذار در این زمینه زمان پاسخگویی، تنوع محصول، قابلیت دسترسی محصول، قابل رؤیت بودن سفارش و قابلیت ارجاع است [5]. در این مقاله موضوعات توزیع و کنترل حمل و نقل براي یک محصول در چندین سطح زنجیره تأمین، مورد بررسی قرار گرفته است. مدل پیشنهادي، ترکیبی از چندین کارخانه، انبار2، مرکز توزیع3 و مشتري در فضاي زنجیره تأمین چندسطحی است.
محصول نهایی ممکن است در هر یک از کارخانجات تا زمانی که ظرفیت کارخانه اجازه میدهد، تولید شود و از طریق انبارها و مراکز توزیع به مشتري تحویل داده شود.
انبارها به عنوان تسهیلات نگهدارنده موجودي تعریف شدهاند که در نزدیکی کارخانجات خواهند بود و مراکز توزیع به عنوان در دسترسترین نقاط براي ارائه خدمات در نزدیکی مشتریان قرار گرفته اند. تقاضاي مشتریان، ظرفیت کارخانجات، انبارها و مراکز توزیع به عنوان مقادیر قطعی معین شدهاند. زمان مورد نیاز براي حمل محصولات به تسهیلات بعدي یعنی کارخانجات به انبارها، انبارها به مراکز توزیع، مراکز توزیع به مشتریان ثابت و مشخص هستند. در مدل پیشنهادي سعی داریم هزینههاي اصلی شبکه توزیع که شامل هزینه نگهداري موجودي4، هزینه حمل و نقل5، هزینه فروش ازدسترفته6، هزینه تجدید موجودي7 هستند را زیر نظر داشته باشیم تا بتوانیم در افزایش کارآیی و بهرهوري این قسمت از زنجیره تأمین، گامی مؤثر برداریم.

پیشینه پژوهش
مدیریت زنجیره تأمین مؤثر در یک بازار رقابتی، نیازمند زمان تحویل به موقع با موجودي کم براي برآورده سازي سفارشات در کمترین هزینه انجام شده از طریق زنجیره است[21]. طی سال هاي گذشته، تحقیقات گسترده در زمینه زنجیره تأمین و شبکه توزیع آن انجام گرفته و ادامه دارد. براي تمرکز بیشتر بر جنبه نوآوري مقالات، از آوردن مطالب بنیادي زنجیره تأمین خودداري می شود و فقط تحقیقات جدیدتر که به نوعی با موضوع این پژهش مرتبط هستند، آورده می شوند. بنابراین به این دلیل که حوزه کاري این مقاله متعلق به مدلهاي برنامه-ریزي عملیاتی و بخصوص مدلهاي موجودي-توزیع است، به این بخش از کارهاي انجام شده میپردازیم. مدلهاي برنامهریزي عملیاتی شامل مدل هاي خریدار– تأمین کننده8، مدل هاي تولید– توزیع9 و مدل هاي موجودي– توزیع10 است که به مرور آنها خواهیم پرداخت:

مدل هاي خریدار- تأمین کننده: زنجیره تأمین با
خرید مواد اولیه شروع میشود. بسیاري از مدلهاي سنتی روي تعیین مقادیر بهینه سفارش براي خرید متمرکز شدهاند[6]. مدلهاي ارائه شده در این بخش شامل: نخست مدلهاي تک خریدار – تک تأمینکننده هستند که بانرجی [7]، گویال [8]، موناهان [9] و توماس و گریفین (1996) در این زمینه کار کرده اند. دوم مدلهاي تک خریدار– چند تأمینکننده هستند. لائو و لائو (1996)، آنیوپیندي و آکلا (2001) در این بخش تمرکز کردهاند.
سوم مدل هاي تک تأمینکننده– چند خریدار هستند. کهلی و پارك[10] که براي کاهش هزینه هاي بین یک تأمین کننده و یک گروه خریدار سیاستهاي سفارش دهی چندمحصولی را بررسی کردند.

مدل هاي تولید–توزیع: روابط بین تولید و توزیع در زنجیره تأمین، به روشهاي بسیاري انجام میگیرد. با وجود مطالب فراوانی که پیرامون برنامه ریزي تولید و برنامه ریزي توزیع موجود است، مقالههاي کمی به طور همزمان این دو موضوع را مدل کرده اند. شاخصترین عامل در سیستم توزیع، فعالیت حمل و نقل به شمار میآید.
افرادي مانند بامول و ویند (1970)، کانستیبل یارك (1978)، ویلیامز (1996)، بنیامین (1996)، هاگ و همکارانش (1991) و اکسیوگلو و همکاران [11] در سال-هاي اخیر در این قسمت مطالعه کردهاند. لیانگ و چنگ [12] مطالعه خود را در فضاي دوسطحی از زنجیره تأمین که شامل تولید کننده و مشتري است، متمرکز کردند و به دنبال یک برنامهریزي تولید – توزیع با رویکرد چند محصولی بودند. بودیا و پرینس [13] با هدف کاهش هزینههاي آمادهسازي تولید، هزینه حمل و نقل، هزینه نگهداري محصول به بررسی موضع تولید- توزیع در فضاي چند دوره اي پرداختند.

مدل هاي موجودي -توزیع: حمل و نقل و تحویل
محصولات، فعالیت هاي پرهزینه اي هستند و بنابراین توانمندي هاي این حوزه تقریبا معادل با نیازهاي واقعی بازار ایجاد می شود. پایه گذار اولیه در این حوزه هریس [14] بود که کارهاي مقدماتی روي مدل اندازه انباشته اقتصادي را انجام داد. به دنبال وي واگنر[15] عامل تقاضاي پویا را به مدل اضافه کرد و سپس مان [16] مدل موجودي با فرض تقاضاي پویا را با روش فرمول بندي ریاضی در فضاي چندمحصولی انجام داد. در ادامه کلارك و اسکارف با تمرکز بر شبکه بهینه چند مرحله اي یک روش تفکیک شدنی را براي حل بیان کردند. سپس افرادي مانند توماس و همکارانش (1980)، اسچوارز [17]، فدرگروئن و زیپکین (1984)، ونگ [18]، ویسواناتان و پیپلانی[19]، ایپن و شریج، ارکیپ و همکارانش و ارنست در این قسمت کار کرده اند. همچنین چیونگ[20] با هدف قرار دادن جلوگیري از فروش ازدسترفته به مطالعه روي تخفیفی پرداخت که براي مشتریانی که با تأخیر محصولات خود را دریافت میکنند، سودمند بوده و تأمینکننده را از هزینههاي اضافی نجات می دهد.
کلاسترین و معین زاده (2002) با ارائه یک رویکرد جدید تخفیف زمانی، به دنبال کاهش هزینه هاي نگهداري موجودي در سیستم چند مرحله اي توزیع-موجودي بودند.
کوتانوگلو و لوهیا (2007) بیان کردند که با در نظر گرفتن چندین مورد براي مدل هاي حمل و نقل و توزیع به طور همزمان ، می توان صرفه جویی بیشتري در هزینه هاي شبکه کرد. یونگ هون لی و همکاران [21] به دنبال کاهش هزینههاي لجستیکی11 مانند هزینه نگهداري موجودي، هزینه تجدید موجودي و هزینه حمل و نقل بودند. براي این کار آنها به سراغ یک مدل برنامه ریزي عدد صحیح براي زنجیره تأمین چندسطحی رفتند که نتیجه آن یک مدل NP-hard شد. در واقع آنها قصد داشتند یک برنامه تجدید موجودي و نحوه حمل و نقل محصولات و مقادیر جابه جایی کالا را در شبکه توزیع تعیین کنند. در مقالات بررسی شده کمتر به زنجیره تأمین چندسطحی پرداخته شده است. همچنین مدلهاي تولید- حمل و نقل و مکانیابی در حوزه مدیریت توزیع در زنجیره تأمین بیشتر مورد پژوهش محققان قرار گرفته است. مدل موجودي- حمل و نقل از جمله موضوعاتی است که جاي کار بیشتري را میطلبد. همچنین توجه به مصرفکنندگان و ارضاي خواستههاي آنها در بازار رقابتی، به شدت اهمیت دارد و تلاش در این جهت باعث ادامه حیات زنجیرهها است. از جمله عواملی که به این موضوع کمک میکند، توجه به هزینههاي فروش ازدسترفته است. با مروري بر کارهاي انجام شده در این حوزه، مشخص شد که با در نظر گرفتن این عوامل، فرصتهاي خوبی را میتوان براي پژوهش پیدا کرد.

مدل برنامهریزي پیشنهادي
مسائلی که امروزه اغلب در طراحی شبکه زنجیره تأمین به کار میروند، به جاي آنکه به طراحی از پایه بپردازند، با بهبود و افزایش کارآیی و تغییر ساختاري شبکههاي موجود سر و کار دارند. امروزه استفاده از مدل-هایی با چندین کارخانه، انبار، مراکز توزیع و مشتري در محیط زنجیره تأمین بسیار رایج شده است. رویکرد تولید و حمل و نقل، کارخانجات را قادر میکند که روي مسائلی مانند دستیابی به کیفیت بهتر، کاهش هزینههاي تولید و هزینه هاي حمل و نقل و توزیع، تمرکز بیشتري داشته باشند. با وجود اینکه کارخانجات مختلف تحت تأثیر عواملی مانند هزینه هاي عملیاتی، هزینههاي تولید، زمان تولید و زمان تحویل قرار گرفتهاند، تخصیص ناحیه تقاضا به مناطق سرویس دهنده از جمله مسائل پیچیده است. در این مقاله سعی شده است از عوامل اصلی زنجیره تأمین در شبکه توزیع مانند کارخانجات تولیدي، انبارها و مراکز توزیع و مصرفکنندگان نهایی استفاده شود و در فضاي سه سطحی به ارائه یک مدل برنامهریزي عدد صحیح مختلط پرداخته شود. اقلام تولید شده در کارخانهها به یکی از انبارها حمل می شوند و مقادیر مورد نیاز، ذخیره شده تا در دورههاي زمانی به سطح بعدي منتقل شوند.
تعدادي مراکز توزیع که وظیفه تغذیه شبکه توزیع را دارند، به ارائه خدمات به مشتریان می پردازند. در این مقاله عوامل تخفیف و کمبود در مدل لحاظ نشده است. همچنین ظرفیت عوامل درگیر در زنجیره تأمین، همانند تقاضاي مشتریان، قطعی در نظر گرفته شده است و مدت زمان حمل کالا به سطوح مختلف زنجیره ثابت است. تصمیمگیري اینکه چه مقدار از محصولات باید ذخیره شده و چه مقدار باید حمل شوند و تصمیمگیري درارتباط با حرکت و مقصد اقلام تولیدي در طول برنامهریزيافقی براي مدل تعیین شده هستند. با توجه به شرحمسئله، به تعریف متغیرها، مجموعهها و عوامل مدلپرداخته میشود.
جدول 1: مجموعهها و متغیرهاي تصمیم مدل پیشنهادي
( Sets & Decision Variables ) :مجموع هها
K: مجموعهاي از کارخانههاي تولیدکننده را شامل میشود.
A: مجموعهاي از انبارها به عنوان تسهیلات نگهدارنده را شامل میشود.
M: مجموعهاي از مراکز توزیع براي دسترسیآسانتر مشتري را شامل میشود.
U: مجموعهاي از مشتریان را شامل میشود.
T: مجموعهاي از دورههاي زمانی را شامل میشود.
متغیرهاي باینري:
xAT: در صورتی که اگر انبار A از کارخانه در دوره زمانی T سفارش بگیرد، مقدار یک میپذیرد، در غیر این صورت مقدار آن صفر است.
yMT: در صورتی که اگر مرکز توزیع M از انبار در دوره زمانی T سفارش بگیرد، مقدار یک میپذیرد، در غیر این صورت مقدار آن صفر است.
zUT : در صورتی که اگر مشتري U از مرکز توزیع در دوره زمانی T سفارش بگیرد، مقدار یک میپذیرد، در غیر این صورت مقدار آن صفر است.
متغیرهاي پیوسته:
ilwAT : سطح موجودي انبار A در دوره زمانی T
ildMT: سطح موجودي مرکزتوزیع M در دوره زمانی T

oqwKAT: مقدار حملونقل از کارخانه K به انبار A در دوره زمانی T
oqdAMT: مقدار حملونقل از انبارA به مرکز توزیع M در دوره زمانی T

oqcMUT: مقدار حملونقل از مرکز توزیعM به مشتريU در دوره زمانی T

جدول 2: پارامترهاي مدل پیشنهادي (Parameters )
lscUT: هزینه فروش از دست رفته براي مشتري U در دوره زمانی
T
hcwAT: هزینه نگهداري موجودي در انبار A در دوره زمانی T
hcdMT: هزینه نگهداري موجودي در مرکز توزیع M در دوره
زمانی T
scwAT : هزینه تجدید موجودي در انبار A در دوره زمانی T scdMT: هزینه تجدید موجودي در مرکز توزیع M در دوره زمانی
T
tcwKAT: هزینه حملونقل از کارخانه K تا انبار A در دوره زمانی
T
tcdAMT: هزینه حملونقل از انبار A تا مرکزتوزیع M در دوره
زمانی T tccMUT: هزینه حملونقل از مرکزتوزیعM تا مشتريU در دوره
زمانی T
ddUT: تقاضاي مشتري U در دوره زمانی T cpf KT: ظرفیت تولید کارخانه K در دوره زمانی T
cpwAT: ظرفیت انبار A در دوره زمانی T cpdMT: ظرفیت مرکز توزیع M در دوره زمانی T
ctwKAT: ظرفیت مقدار کالاي حمل شده از کارخانه K تا انبار A در دوره زمانی T
ctdAMT: ظرفیت مقدار کالاي حمل شده از انبار A تا مرکز توزیع M در دوره زمانی T ctcMUT: ظرفیت مقدار کالاي حمل شده از مرکز توزیع M تا مشتري U در دوره زمانی T
lw: مدت زمان انتظار تا رسیدن سفارش از کارخانه تا انبار ld: مدت زمان انتظار تا رسیدن سفارش از انبار تا مرکز توزیع lc: مدت زمان انتظار تا رسیدن سفارش از مرکزتوزیع تا مشتري

مدل پیشنهادي برنامهریزي عدد صحیح مختلط Min
lscUT (ddUT (oqcMUT))(scwAT xAT (1)
U,TMA,T
hcwAT ilwAT)(scdMT yMT
M ,T hcdMTildMT)  oqwKATtcwKAT 
K,A,T
A,M ,ToqdAMTtcdAMT M,U,T oqcMUTtccMUT

subject to : ilwA,T1 oqwKAT ilwAT A,T
K
oqd A,M ,Tld
M (2)
ildM,T1 oqdAMT ildMT M ,T
A
oqcM,U,tlc
A (3)
oqwK,A,Tlw cpf KT A,T
A (4)
oqwKAT ilwAT cpwAT A,T
K (5)
oqd A,M ,Tld ilwAT cpwAT A,T
M (6)
oqd AMT ild MT cpd MT M,T
A (7)
oqcM ,U ,Tlc ild MT cpd MT M,T
U (8)
oqcMUT ddUTU,T
M (9)
oqwKAT  Big MxATA,T
K (10)
oqd AMT  Big MyMTM,T
A (11)
oqcMUT  Big MzUTU,T
M (12)
oqwKAT ctwKAT K, A,T (13)
oqdAMT ctdAMT A,M,T (14)
oqcMUT ctcMUT M,U,T (15)
xAT, yMT,zUT0,1 A,M,U,T (16)
oqwKAT ,oqdAMT K, A,M,U,T
,oqcMUT  0 (17)
AT MT A,M,T ilw ,ild  0 (18)
جمله اول تابع هدف12 (1) هزینه فروش از دست رفته بابت تقاضاي ارضا نشده مشتریان را کاهش می دهد.
جمله هاي دوم و سوم تلاش دارند تا هزینه نگهداري کالا و هزینه تجدید موجودي در شبکه توزیع را براي انبارها و مراکز توزیع کمینه کنند و جمله هاي چهارم تا ششم هزینه حمل و نقل محصولات در این شبکه توزیع را کاهش می دهند. محدودیت هاي (2) و (3) براي انبارها و مراکز توزیع و براي تعادل مقدار کالاي ورودي و خروجی عمل می کنند. ویژگی هاي ظرفیت تسهیلات زنجیره مانند مراکز توزیع، کارخانه و انبارها در محدودیت هاي(4) تا(8) نشان داده شده است. محدودیت(9) سعی در حداکثر-سازي تأمین تقاضاي مشتریان را دارد و ذکر می کند که مقدار حمل و نقل کالا از مراکز توزیع به مشتري نباید از تقاضاي مشتري بیشتر باشد. اثر هزینه تجدید موجودي هنگامی که یک سفارش براي هر یک از تسهیلات زنجیره رخ بدهد در محدودیتهاي(10) تا(12) بیان میشود. محدودیت هاي (13) الی (15) درباره ظرفیت مسیرهاي حمل بحث می کند. محدودیتهاي (16) الی(18) موارد مربوط به متغیرها را نشان می دهد. مدل ریاضی پیشنهادي در این مقاله، مبناي کار خود را مقاله یونگ هون لی و همکاران [21] قرار داده است و در چندین مورد با اضافه کردن عواملی، تغییرات اساسی در آن به وجود آورده و مدل را بهبود داده است که به تشریح موارد بهبود دهنده آن با عنوان نوآوريهاي مسئله خواهیم پرداخت:
استفاده از عامل هزینه اي به نام “هزینه فروش ازدست رفته” در مدل ریاضی و گنجاندن آن در تابع هدف مدل از نوآوري هاي جدید در این حوزه کاري به شمار میآید که به عنوان جمله اول تابع هدف آورده شده است. زیرا در مقالات و آثار پژوهشی و همچنین مقاله [21] که تا امروز در این زمینه کار شده اند، به این موضوع پرداخته نشده است. دلیل استفاده از این هزینه، تلاش در جهت کاهش تأخیرها و کمبودها است که هر قدر در حداقلسازي این عامل حرکت کنیم، حداکثرسازي رضایت مشتري، تولیدکننده و توزیع کننده را شاهد خواهیم بود.
مقاله شماره[21] به این دلیل که کار خود را محدود کند تا بتواند به راحتی مدل را حل کند، به سراغ تأخیرها و کمبودها نرفته است. به همین منظور همه مقادیر حمل و نقل کالا از مراکز توزیع به مشتري را برابر با تقاضاي مشتري در نظر گرفته است؛ در حالی که در واقعیت این چنین نیست، در نتیجه براي بهبود مدل علاوه بر در نظر گرفتن هزینه فروش ازدست رفته با اضافه کردن محدودیت (9) گامی در جهت کاربردي کردن مدل برداشته ایم.
متغیر oqcMUT از جمله متغیرهاي پیوسته و اصلی مدل به شمار میآید که با توجه به استفاده از هزینه فروش ازدست رفته در مدل نسبت مقاله شماره[21]، در این مدل نقش ویژهاي یافته است. به طوري که براي آن یک محدودیت جدید که همان محدودیت(12) باشد، طراحی شده است که نشان میدهد مقدارحمل و نقل کالا از مراکز توزیع به مشتري، باید ازیک مقدار بزرگ در صورتی که مرکز توزیع در دوره Tسفارش بگیرد، کمتر باشد. در صورتی که در مقاله پایه این مورد دیده نشده بود.
همچنین محدودیت (8) براي مدل طراحی شد، زیرا مقدار حمل و نقل از یک مرکز توزیع به مشتریان مختلف با رعایت لیدتایم به اضافه سطح موجودي مرکز توزیع در این زمان نباید بیشتر از ظرفیت مرکز توزیع موردنظر باشد، که با طراحی این محدودیت، نقصان این قسمت از مدل مقاله [21] نیز بر طرف شد؛ زیرا در این زمینه نیز در مقاله پایه، توجهی نشده بود.

الگوریتم ژنتیک پیشنهادي
بیشتر اوقات مسائل درگیر با حوزه توزیع در شبکه زنجیره تأمین، ابعاد بزرگی دارند. همان طور که در مرور ادبیات به آن اشاره شد، براي حل این مسائل اغلب پیچیدگی هاي زیادي اتفاق می افتد. طبق طبقه بندي هاي مسائل موجودي و حمل و نقل، مدل هاي با چندین سطح مجزا که باید دامنه وسیعی از زنجیره تأمین را در بر گیرند و عوامل زیادي را در خود جاي دهند، به سمت ساختار و فرمول بندي هاي بزرگ تر و پیچیده می روند و در مجموعه مسائل NP-hard جاي می گیرند. همان طور که در بخش قبلی تشریح شد، مبناي مدل پیشنهادي، مدل مقاله شماره[21] است. با توجه به NP-hard بودن مدل پایه، مدل پیشنهادي ارائه شده در این مقاله نیز NP-hard است. در نتیجه روش هاي حل فراابتکاري براي یافتن جواب مناسب براي مدل، راه حل خوبی به نظر می رسد [22].
الگوریتم ژنتیک جزو کلاس الگوریتمهاي بهینه سازي تصادفی13 قرار دارد. این الگوریتم، بخصوص براي بهینه سازي مسایل پیچیده با فضاي جستجوي ناشناخته مناسب است[ 24]. این الگوریتم فراابتکاري در واقع از یک الگوریتم تکاملی14 منتج می شود که با روش هاي جستجو ادغام شده است تا در نهایت نتایج به دست آمده کیفیت خوبی داشته باشند. اصول الگوریتم هاي فراابتکاري بدین گونه بوده است که از رخداد هاي طبیعی ایهام گرفته اند و به دنبال جواب هاي نزدیک به بهینه با زمانی متناسب حرکت می کنند. الگوریتم ژنتیک نیز از همین اصول استفاده کرده است، به طوري که ایده اولیه شکل گیري آن از نظریه داروین بوده و بر پایه قانون ژنتیک کار می کند.
رچینبرگ در سال 1960 توانست براي این الگوریتم محاسبات تکاملی تري را ارائه دهد. اما طراحی گام هاي اولیه براي الگوریتم ژنتیک در دانشگاه میشیگان در سال 1962 توسط هلند و همکارانش انجام شد. براي آشنایی بیشتر با الگوریتم ژنتیک به [23] مراجعه شود.
در یک نگاه کلی، الگوریتم ژنتیک با یک مجموعه از جواب ها که با کروموزوم ها به نمایش در می آیند، آغاز می شود. این مجموعه را جمعیت اولیه می گویند. جمعیت هاي بعدي با استفاده از جواب هاي جمعیت قبلی خود به دست می آیند. فرآیند انتخاب براي به دست آوردن جمعیت جدید از بین جمعیت گذشته توسط تابع برازندگی و تعیین مقدار مطلوبیت آنها شکل می گیرد. در نتیجه جواب هایی براي ادامه انتخاب می شوند که مطلوبیت بهتري نسبت به بقیه داشته باشند. این روند همین طور ادامه پیدا می کند تا شرایطی که از قبل مشخص شده است، حاصل شود. گام هاي کلی الگوریتم ژنتیک پیشنهادي در الگوریتم یک ارائه می شود.

الگ وریتم یک: الگوریتم ژنتیک پیشنهادي (GA)

Begin
Determine: Parameters
Call: Initialize Population Strategy(algorithm 2)
45 RepeatCall :For Selection Iter=chromosome 1 to Max Iterationstrategy(algorithm 3)
Call: Marriage strategy
Repeat For P=1 to Pop Size
If Marriage (P) > 0 then
probabilityCompare: Random with
Do Crossover(P)
Else
Do Randome Mutation(P)
1314 Else Do Mutation(P)
End If
Call: Selection New Generation Strategy
Check Stop Condition
Call: Show Best Answer
End
همان طور که نشان داده شد، الگوریتم در ابتدا پس ازتعریف عوامل مدل (ردیف 2) قصد دارد جواب قابل قبول اولیهاي را براي مدل به دست آورد که در ردیف 3 اشاره شده است. در ادامه الگوریتم با توجه به تعداد تکرارها سعی دارد تا جواب مناسب را به دست آورد. ردیف 4 تا 18 این مطلب را عنوان میکند. ویژگی الگوریتم ژنتیک که همان تولید نسل با توجه به انتخاب دو والد و در نتیجه تولید فرزند جدید است، در ردیف 5و6 ذکر شده است. با هر بار تکرار الگوریتم، یک جمعیت جدید توسط عملگرهاي تقاطع و جهش، بسته به احتمال هر یک از آن-ها براي دستیابی به جواب نهایی ایجاد میشود که در ردیف 7 تا 15 الگوریتم نشان داده شده است. در پایان، الگوریتم وظیفه دارد مناسب ترین جواب حاصل را که بهترین جواب براي مدل در همه نسلها و جمعیتها است را نشان دهد که در ردیف 18 بیان شده است.

 روشهاي کدینگ
براي اجراي الگوریتم ژنتیک، ابتدا باید کروموزومها را تعریف و آنها را کدگذاري15 کرد. شیوههاي کدگذاري را می توان در دو نوع رشتهاي16 و غیررشتهاي تقسیم بندي کرد. اگر عناصر رشته از مقادیر دیگري تشکیل شده باشند، با رشته غیر دوبه دویی مواجه میشویم که این نوع کدینگ در مسائل بهینه سازي کاربرد بسیار کمی داشته و فقط در مسائل خاصی از آن استفاده میشود. براي حل مدل پیشنهادي براي کدینگ جواب از روش ماتریسی استفاده شده است. هر یک از متغیرهاي استفاده شده در مدل مانند oqwKAT و ilwAT و… چندین بعد دارند و به همین دلیل ماتریسهاي آنها نیز چند بعدي هستند.

 ایجاد جمعیت اولیه
در این پژوهش براي ایجاد جواب اولیه، اقدام به طراحی ماتریسهایی شد تا بتوان محدودیتهاي مدل را به صورت مطلوب پاسخگو بود. در مورد متغیر oqwKAT ماتریسی تشکیل شد تا محدودیتهاي (13)، (5)و (4) مدل پیشنهادي را به طور کامل پوشش دهد. در این ماتریس طراحی درایهها به نحوي بود که oqwKAT این توانایی را داشته باشد تا پس از ارضاي محدودیت هاي ذکر شده جواب مطلوب را به دست آورد. براي جواب به دست آمده تکنیکهایی ایجاد کردیم تا از نظر موجه و قابل قبول بودن واینکه بتواند محدودیتهاي (10)،
(16)و(17) را ارضا کند، امکان پذیر باشد.
این مراحل براي همه متغیرهاي مدل پیشنهادي انجام شد. در ادامه، الگوریتم تولید جواب آغازین را با هم مرور می کنیم.

(GA) الگو ریتم دو: الگوریتم تولید جواب آغازین
1 Begin
2 Repeat For P=1 to Pop Size
3 Repeat For T=1 to Max Time
4

Repeat

For K=1 to Max K
For A=1 to Max A
For M=1 to Max M
For U=1 to Max U
5 Generate Matrix b
6 bb=min(b)
7 b2= bb* rand
8 If rand >= S then
9 If b2< lim then
10 oqwKAT,oqdAMT , oqcMUT =0
11 Else
12 oqwKAT,oqdAMT , oqcMUT = b2
13 End If
14 Else
15 oqwKAT,oqdAMT , oqcMUT =0
16 End If
17 Next: K , A , M , U
18 Generate f1 , f2 , f3 , f4 , f5 , f6
19 Generate f(p)=sum( f1 to f6 )
20 Next: T

21 Next: P
22 End

همان طور که که در الگوریتم دو آمده است، یک
جواب قابل قبول براي متغیرهاي oqwKAT و oqdAMT و oqcMUT و… به دست می آید. در حلقه تکرار واقع در ردیفهاي 4 تا 16، الگوریتم تلاش میکند تا با رعایت موجه و قابل قبول بودن و با استفاده از تکنیکهاي ابداعی براي ارضاي محدودیتهاي مدل، جوابی مطلوب تهیه کند.
ردیفهاي 6 تا 15 موجه بودن جواب را بررسی میکنند. همچنین جوابهاي به دست آمده در قسمتهاي مختلف تابع، هدف قرار میگرفته و یک جواب براي تابع هدف
حاصل می شود. این مطلب در ردیف 18 تا 19 نشان داده عملگر تقاطع17
شده است. در این بخش دو یا چند کروموزوم را انتخاب و بخشی از ژنهایشان را براي تولید نسل بعدي ترکیب میکنیم.
 انتخاب جوابهاي هر جمعیت این عملیات، تقاطع نام دارد و هدف آن این است که در این بخش، به ارزیابی جواب هاي جمعیت موجود کروموزومهاي جدید قسمتهاي مطلوب کروموزوم هاي می پردازیم و با تعیین معیار یا قاعدهاي، مشخص میکنیم قبلی را داشته باشند تا این احتمال که کروموزومهاي که کدام یک از جوابها شرایط مناسبتري در جمعیت جدید کارآیی بهتري داشته باشند، بیشتر شود. مکانیزم دارند. این عملگرها بسته به نوع مدل و مسئله تغییر مییابد و به در این مقاله براي ارزیابی جوابها، الگوریتم سه ارائه صورت تجربی انجام میگیرد که قابلیت طراح در آن
شده است: تأثیرگذار است.
(GA) الگو ریتم سه: الگوریتم انتخاب جواب
1 Begin
2 Determine: Parameters
3 Repeat For Iter=1 to Max Iteration
4 Repeat For P=1 to Pop Size
5 Replace Parameters
6 Repeat For i =1 to Pop
7
If Prob >= (sum( fd(1 to i-))1 /
(sum(fd))) and
Prob <= (sum( fd(1 to i)) / (sum(fd))) then
8 Select i
9 Break
10 End If
11 Replace New Variables
End
پس از تعیین احتمال مورد نظر، در صورتی که شرایط احتمال برقرار باشد، با تمرکز بر متغیرهاي oqwKAT و متغیرهاي ilwAT تلاش می کنیم جاي آنها را با متغیرهایی از جنس خودشان تغییر دهیم، زیرا با تغییر این متغیرها، متغیرهاي دیگر نیز به طور خودکار تغییر می کنند. در نتیجه عملگر تقاطع بر کل مدل تأثیر می گذارد. در ادامه، جوابها را پس از اجراي عملگر تقاطع از نظر موجه و قابل قبول بودن بررسی میکنیم.

 عملگر جهش18
قبل از آنکه کروموزومها در نسل بعدي قرار بگیرند، احتمال دارد دچار جهش یا تغییر ناگهانی شوند. جهش، یک تغییر ناگهانی در ژن است[24]. عملیات جهش براي
جلوگیري از قرارگیري الگوریتم ژنتیک در مشکل بهینه محلی استفاده میشود. بنابراین فرصت براي تولید مثل متغیرهاي دیگر و یا امکان جستجوي دیگر فضاهاي حل
عملگرهاي ژنتیکی پکیهش نقهابالدیيت ب راکميت رعميلگ ردا رنجده نیش زب هف راسرهامغ ممتغییشروهاد.ي درAT مدilwل
نسلب رااز يع امنلتگقارهلا ژي نژنهتای بکرای اي ستتوفلایدده مفری زنشدوادن. هجمادیند طدورر کههر وو درMT ادامildه رقفابتهل وق بروولي وژ نم ویاج هعن باوصدر نآ آننهاه ات مرار کنیز زم بیررکنسییم در الگوریتم یک نشان داده شد، در مدل پیشنهادي خود میکنیم.
از دو عملگر جهش و تقاطع به طور موازي استفاده می-
کنیم. یعنی در تولید کروموزومهاي جدید یا فرزندان، یکی الگوریتم ترکیبی (هیبریدي)
از دو عملگر ایفاي نقش میکنند که باعث می شود از تولید از جمله مزایاي الگوریتمهاي فراابتکاري این است که جوابهاي غیر موجه جلوگیري شود، زیرا استفاده سري از میتوان آنها را با هم ترکیب کرد. این مورد زمانی اهمیت دو عملگر با وجود تولید جوابهاي مختلف، به علت به پیدا میکند که هنگام حل مدلها فقط با یکی از روش-دست آوردن جوابهاي غیر موجه، مشکل ساز خواهد بود. هاي فراابتکاري، به یک سري از نقاط ضعف روش حل
خود پی میبریم و در این فکر هستیم که با یک سري از

تکنیکهایی، آن مشکلات را بر طرف کنیم[25]. تلاشداریم در این بخش با کمک گرفتن از دو الگوریتم حل مدل ژنتیک و شبیهسازي، یک الگوریتم ترکیبی براي حل مدل پیشنهادي ارائه دهیم.

 ساختار الگوریتم ترکیبی پیشنهادي
الگوریتم ترکیبی مورد استفاده در این مقاله، قصد دارد براي یافتن جواب اولیه، از مکانیزم الگوریتم ژنتیک استفاده کند و از جواب حاصل از آن به عنوان جواب آغازین در الگوریتم شبیه سازي تبرید بهره گرفته و از این طریق هر چه بیشتر به جواب مطلوب نزدیک تر شود. از ساختار الگوریتم ترکیبی مورد استفاده مشاهده می شود که همگرایی آن ثابت شده است، زیرا در مکانیزم خود از دو الگوریتم شناخته شده کمک گرفته است. دلیل آن نیز مشخص است، زیرا الگوریتم ژنتیک براي یافتن جواب، محدوده اي از فضاي حل مسئله را مورد کنکاش قرار داده و در نتیجه نقاطی از فضاي موجه مسئله که کمتر به آن توجه می شود را مورد بازرسی قرار می دهد که باعث می شود شانس یافتن جواب مناسب اولیه بیشتر شود. در ادامه الگوریتم ترکیبی این جواب را به الگوریتم شبیه سازي تبرید می سپارد تا با بهره گرفتن از تولید جواب هاي همسایه و بررسی فضاهاي پیرامون، بتواند هر چه



قیمت: تومان


دیدگاهتان را بنویسید