q_(_,,,,)==

داشتن کمترین هزینه کل تأمین همه نیاز مشتری i^* ، برای خرید مشتری i^* انتخاب می شود.
گام ۴ : مقادیر vv , z , y , q , M و همچنین ظرفیت باقیمانده از مرکز توزیع به هنگام می شود.
گام ۵ : تا زمانی که مرکز j^* قادر به تأمین نیاز یک مشتری باشد، مشتری ها با اولویت کمترین هزینه از این مرکز خرید می کنند و vv , y , q , M به هنگام می شوند و سپس به گام ۲ می رویم.
گام ۶ : برگرداندن خروجی ها و پایان.
برای درک بهتر این الگوریتم مثال زیر را حل می کنیم :
فرض کنید ۴ مشتری، ۳ مرکز توزیع و ۲ نوع محصول داریم و تقاضای مشتریان، هزینه های خرید و ظرفیت مراکز به شرح زیر است :
d=[■(■(۲@۰)&■(۱۰@۵)@■(۶@۷)&■(۰@۳))] W=[■(۲۰&۱۵&۲۱)] c( : , : , 1 )=[■(■(۱@۲@۳)&■(■(۴&۲)@■(۳&۱)@■(۱&۳))@۳&■(۲&۲))] c( : , : , 2 )= [■(■(۳@۳@۴)&■(■(۲&۱)@■(۲&۴)@■(۱&۳))@۲&■(۲&۳))]
ماتریس cc هزینه کل خرید مشتریان را از مراکز توزیع در بر دارد برای مثال درایه سطر سوم و ستون دوم آن با توجه به تقاضای مشتری سوم و هزینه های واحد خرید او از مرکز توزیع دوم به این شکل بدست می آید :
cc_(c,,)=(d_(_,,))c_(_,,,,))+( d_(_,,))c_(_,,,,))=())))+())))=)
به همین ترتیب بقیه درایه های آن محاسبه می شوند :
cc= [■(■(۳۲@۱۵@۱۸)&■(■(۲۸&۱۴)@■(۱۰&۲۰)@■(۶&۱۸))@۲۷&■(۲۰&۲۳))]
همان طور که قبلا گفتیم کروموزوم این مرحله یک جایگشت تصادفی از اعداد ک تا I است. در اینجا فرض کنید کروموزوم زیر را داریم :
vv=[4 3 1 2]
با این مفروضات تکرار های الگوریتم را برای این مثال اجرا می کنیم :

تکرار اول :
i^*== , j^*=argmin({cc(=,j) , j= ,…,,})=argmin(}},,,,,,)=)
z_z== , y_(y,,)== , q_(_,,,,)== , q_(_,,,,)=== , M_(M,,)=M_(M,,)+q_(_,,,,)==++== , M_(M,,)=M_(M,,)+q_(_,,,,)==+++
〖vv〗__== , W__=W___(q_(_,,,,)+q_(_,,,,))=)))((+++)=)
هنوز مرکز توزیع سوم قادر به ارائه خدمات به دو مشتری ۲ و ۳ می باشد پس تا جایی که ظرفیت داشته باشد خدمات به مشتریان را ادامه می دهیم :
i^*=argmin({cc(i,*) ) i= ,,})=argmin(}},,,)=)
y_(y,,)== , q_(_,,,,)== , q_(_,,,,)== , M_(M,,)=M_(M,,)+q_(_,,,,)==++== , M_(M,,)=M_(M,,)+q_(_,,,,)===++===
〖vv〗__== , W__=W___(q_(_,,,,)+q_(_,,,,))=))((++)=)
ظرفیت باقی مانده مرکز توزیع ۳ به کمتر از حدی رسیده است که بتواند نیاز یک مشتری دیگر را نیز تأمین نماید، پس به گام دوم باز می گردیم و تکرار دیگری را شروع می کنیم.
تکرار دوم :
i^*== , j^*=argmin({cc(=,j) , j= ,,})=argmin(}},,,)=)
z_z== , y_(y,,)== , q_(_,,,,)== , q_(_,,,,)== , M_(M,,)=M_(M,,)+q_(_,,,,)==++== , M_(M,,)=M_(M,,)+q_(_,,,,)==++==
〖vv〗__== , W__=W___(q_(_,,,,)+q_(_,,,,))=)))((++)=))
ده واحد از ظرفیت مرکز توزیع ۲ باقی مانده است که می تواند به مشتری دیگری خدمات ارائه دهد :
i^*=argmin({cc(i,=) ) i= })=argmin(}})=)
y_(y,,)== , q_(_,,,,)== , q_(_,,,,)== , M_(M,,)=M_(M,,)+q_(_,,,,)==++== , M_(M,,)=M_(M,,)+q_(_,,,,)==++==
〖vv〗__== , W__=W___(q_(_,,,,)+q_(_,,,,))=)))((++)=)
نیاز همه مشتریان تأمین شده و همه ژن های کروموزوم مقدار صفر گرفته اند و شرط توقف برقرار است، نتایج به شرح زیر می باشد :
z=[■(۰&۱&۱)] , y=[■(■(۰@۰@۰)&■(■(۰&۱)@■(۱&۰)@■(۰&۱))@۰&■(۱&۰))] , q( : , : , 1)=[■(■(۰@۰@۰)&■(■(۰&۲)@■(۰&۰)@■(۰&۶))@۰&■(۷&۰))] , q( : , : , 2)=[■(■(۰@۰@۰)&■(■(۰&۱۰)@■(۵&۰)@■(۰&۰))@۰&■(۳&۰))] , M=[■(۰&۰@■(۷@۸)&■(۸@۱۰))]
vv=[ 0 0 0 0 ] , W=[ 20 0 3 ]

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