ی ازدسترفتهی محصولات بهصورت π_1=3 و π_2=5 ,π_3=4 در نظرگرفته میشود. نرخ تقاضای محصولات به ترتیب برای محصول 1، 2 و 3 برابر با 1، 1.5 و 0.5 فرض میشود .
جدول (3-1) مقادیر آغازی درصد اقلام مرجوع شده و درصد واحدهای دیر تحویل شده برای هر محصول که توسط هر تامینکننده تحویل شده را میدهد. جدول (3-2) به مقادیر اولیهی حداقل و حداکثر مقدار محصولی که به تامینکننده سفارش داده میشود، اشاره میکند. جدول (3-3) به عرضازمبدا و شیب منحنی قیمت-مقدار برای هر جفت تامینکننده و محصول اشاره میکند.
جدول 3-1: مقادیرq_ij و t_ij در مثال 1
i=3
i=2
i=1
t_ij
i=3
i=2
i=1
q_ij
0.02
0.03
0.07
j=1
0.09
0.05
0.04
j=1
0.04
0.09
0.01
j=2
0.03
0.07
0.02
j=2
0.02
0.04
0.07
j=3
0.01
0.02
0.08
j=3

جدول3-2: مقادیرx_ijmax وx_ijmin در مثال 1
i=3
i=2
i=1
x_ijmin
i=3
i=2
i=1
x_ijmax
650
675
700
j=1
700
750
800
j=1
750
875
650
j=2
800
900
700
j=2
400
300
200
j=3
500
400
300
j=3

جدول3-3: a_ij و b_ij در مثال 1
i=3
i=2
i=1
b_ij
i=3
i=2
i=1
a_ij
3⁄10
1⁄3
1⁄2
j=1
495
625
850
j=1
1⁄2
3⁄5
2⁄5
j=2
875
1225
860
j=2
3⁄4
1⁄2
3⁄10
j=3
1100
800
610
j=3

تا اینجا مقادیر اولیه پارامترها برای مثال 1 ارائه شده است.
مثال عددی 2 با متفاوت کردن منحنی قیمت-مقدار از محصولات داده شده طراحی میشود. جدول (3-4) عرضازمبدا و شیب منحنی را میدهد. جدول (3-5) مقادیر حداقل و حداکثر محصولات سفارش داده شده به تامینکنندگان مطابق عرضازمبدا و شیب داده شده، را نشان میدهد. هزینه نگهداری به ازای هر واحد از محصول به ترتیب برای محصولات 1 ، 2 و3 بصورت 1 ، 5 و 3 میباشد. درحالیکه هزینه جریمه هر واحد تقاضای ازدسترفتهی محصول، بهترتیب برای محصولات 1 ، 2 و3 بهصورت 4، 3 و 5 درنظرگرفته میشود. مقدار سایر پارامترها همانند آنهایی است که در مثال عددی 1 در نظر گرفته شدهاست.

جدول3-4: a_ij و b_ij در مثال 2
i=3
i=2
i=1
b_ij
i=3
i=2
i=1
a_ij
2⁄5
5⁄6
3⁄4
j=1
490
1100
850
j=1
3⁄7
5⁄8
1⁄2
j=2
358.7
1075
875
j=2
5⁄7
5⁄9
5⁄16
j=3
921.4
1055.5
106
j=3

جدول 3-5 : مقادیرx_ijmax وx_ijmin در مثال 2
i=3
i=2
i=1
x_ijmin
i=3
i=2
i=1
x_ijmax
475
660
625
j=1
600
750
700
j=1
830
760
670
j=2
900
800
750
j=2
380
460
520
j=3
450
550
600
j=3

باتوجه به مقادیر پارامترها در مثال 1، جدول (3-6)، مقدار تغییر درصد واحدهای مرجوع شده از هر محصول در مثال 3 را میدهد. البته حداکثر درصد قابل قبول از واحدهای مرجوع شده از محصولات به ترتیب برای محصولات 1 ،2 و3 بهصورت 0.11 ،0.08 و0.07 فرض میشود.
جدول3-6 : مقادیرq_ij در مثال 3
i=3
i=2
i=1
q_ij
0.05
0.12
0.07
j=1
0.04
0.03
0.1
j=2
0.08
0.02
0.03
j=3

جدول (3-7) مقدار تغییر درصد واحدهای دیرتحویل شده از هر محصول ارائه شده توسط هر تامینکننده برای مثال 4 را میدهد. ضمن اینکه حداکثر درصد قابلقبول از واحدهای دیرتحویل شده از محصولات، بهترتیب برای محصولات 1 ، 2 و3 بهصورت 0.08، 0.1 و0.07 فرض میشود.
جدول3-7: مقادیر t_ij در مثال 4
i=3
i=2
i=1
t_ij
0.09
0.04
0.03
j=1
0.11
0.05
0.04
j=2
0.04
0.03
0.08
j=3

بهمنظور طراحی مثال 5، نمره ارزیابی تامینکنندگان را بهترتیب برای تامینکنندگان 1 ، 2 و 3 بهصورت 60 ، 90 و 70 تغییر میدهیم. در مثالهای 1 تا 5 وزنهای تابع هدف یکسان فرض شده بود، ( b_1=b_2=b_3=b_4=0.25) .
مثالهای 6 تا10 مطابق مثالهای 1 تا 5 طراحی میشوند جز برای مقادیر وزن گفته شده، فرض میکنیم که بهصورت 0.35b_1= وb_2=0.3 وb_3=0.15 وb_4=0.2 باشند.
3-2 نحوه کدگذاری با توجه به نمادهای مدل پیشنهادی
هر متاهیوریستیک تکراری نیاز به ساختاری برای نمایش (کدگذاری) جوابها دارد. کدگذاری تاثیر بسیار مهمی بر کارایی و اثربخشی هر متاهیوریستیکی دارد و یک مرحله مهم در طراحی یک متاهیوریستیک محسوب میشود. از طرفی، معمولا الگوریتمهای فراابتکاری محاسبات زیادی را بههمراه داشته و الزاما بایستی با استفاده از کامپیوتر حل گردند. کدگذاری موجب میگردد که یک جواب مساله که ممکن است به طرق مختلف بیان گردد، بهصورت کدهای قابل فهم توسط کامپیوتر بیان گردد. هدف اصلی از کدگذاری، تبدیل جوابها به کدهای کامپیوتری است. در این تبدیل، باید سعی شود که رابطهی درستی بین فضای معرفی شده توسط کدها و فضای واقعی جواب مساله برقرار گردد. در هنگام طراحی یک روش کدگذاری، باید به سه نکته زیر توجه گردد.
امکانپذیری ( آیا این کد معرف یک جواب در فضای ممکن مساله میباشد یا خیر)
قانونی بودن (آیا این کد نشاندهنده یک جواب میباشد یا اینکه قسمتهایی از آن بیمعنی است)
یگانگی رابطه (هر جواب باید توسط یک کد معرفی شده و هر کد نیز باید تنها معرف یک نقطه از فضای جواب مساله باشد.)
متداولترین نوع کدگذاری، باینری است. در این روش، هر دانه جواب با یک رشته از بیتها که دربرگیرندهی اعداد 0 و 1 میباشند، معرفی میگردند. هر دانه جواب، بهصورت ساختار جواب یا کروموزم نیز تعریف میگردد. برای مثال، یک مساله کولهپشتی را در نظر بگیرید. یک مساله کولهپشتی بهصورت ساده، عبارتاست از مسالهای که یک کوهنورد در هنگام انتخاب اقلام برای کوهنوردی با آن مواجه است. کوله پشتی فضای محدودی داشته و کوهنورد باید تعداد محدودی را از بین n شی موجود، انتخاب کند. مساله این است که کدام اشیا انتخاب گردد که بیشترین مطلوبیت را برای کوهنورد داشته باشد. کدگذاری باینری یک روش مناسب برای نشان دادن جوابهای این مساله میباشد. برای مثال، آرایهی [1001110011] یک مثال از کدگذاری باینری را برای این مساله نمایش میدهد. این کد مشخص میکند که از بین 10 شی اشیا شماره 1 و 4 و 5 و 6 و 9 و10 انتخاب شدهاند.
در هر دو اکتشاف هر جواب به یک بردار مانند 〖[x〗_11… x_ij…x_mn] اشاره میکند که در آن m وn بهترتیب به تعداد تامینکننده و تعداد محصول اشاره میکند. یعنی بهصورت〖[x〗_11 〖 ,x〗_12 〖 ,x〗_13 〖 ,x〗_21 〖 ,x〗_22 〖 ,x〗_23 〖 ,x〗_31 〖 ,x〗_32 〖 ,x〗_33] . سفارش مقدار محصول j اختصاص داده شده، به تامین کننده i توسط x_ijmin وx_ijmax کراندار است ( x_ijmax x_ijmin≤x_ij≤ .( مقدار حقیقی x_ijای که توسط یک رشته دودویی داده میشود را میتوان بهکمک رابطهی (3-1) تا چهار رقم اعشار محاسبه کرد که طول این رشتهی دودویی، توسطm_ij ارائه میشود که از (3-2) بهدست میآید. m_ijتحت شرایط کمترین مقدار صحیحی است که در شرایط (3-2) صدق میکند.
〖x_ij=x_ijmin+decimal(binary string)*(x_ijmax-x_ijmin)/(2^(m_ij )-1) ∀i,j〗^ (1-3)

( x_ijmax-x_ijmin )*〖10〗^4≤2^(m_ij )-1 ∀i,j (2-3)

بهعنوان مثال فرض کنید x_ijmax=500 وx_ijmin=100 و رشته دودویی برابر 1000000001000001111100 باشد. مقدارm_ij با استفاده از رابطه (3-2) بهصورت m_ij=22 بهدست میآید و مقدار x_ij، با استفاده از رابطه (3-1) برابر است با:300.7931.
ما از نرمافزارmatlab) ) برای نوشتن برنامه این تابع استفاده کردیم. الگوریتم ژنتیک در متلب برای بهینهسازی توابع بهصورت زیر استفاده میشود.
min⁡f(x)
s.t:Ax≤b
Aeq*x=beq
lb≤x≤ub
بنابراین شرایط (1-5) و (1-6) باید بهفرم Ax≤b نوشته شود. برای نوشتن شرط (1-5) بهشکل ماتریس بهصورت زیر عمل میکنیم. برای j=1 روابط زیر را خواهیم داشت.
∑_i▒〖q_i1*x_i1 〗≤Q_1 ∑_i▒x_i1
→q_11*x_11+q_21*x_21+q_31*x_31≤Q_1 (x_11+x_21+x_31 )
→[q_11-Q(1) 0 0 q_21-Q(1) 0 0 q_31-Q(1) 0 0 ]* 〖〖[x〗_11 〖 ,x〗_12 〖 ,x〗_13 〖 ,x〗_21 〖 ,x〗_22 〖 ,x〗_23 〖 ,x〗_31 〖 ,x〗_32 〖 ,x〗_33]〗^t≤ 0 (3-3)
بههمین ترتیب برای j=2, 3 نیز داریم:
j=2 →[ 0 q_12-Q(2) 0 0 q_22-Q(2) 0 0 q_32-Q(2) 0 ]* 〖〖[x〗_11 〖 ,x〗_12 〖 ,x〗_13 〖 ,x〗_21 〖 ,x〗_22 〖 ,x〗_23 〖 ,x〗_31 〖 ,x〗_32 〖 ,x〗_33]〗^t≤ 0 (4-3)
j=3 →[ 0 0 q_13-Q(3) 0 0 q_23-Q(3) 0 0 q_33-Q(3) ]* 〖〖[x〗_11 〖 ,x〗_12 〖 ,x〗_13 〖 ,x〗_21 〖 ,x〗_22 〖 ,x〗_23 〖 ,x〗_31 〖 ,x〗_32 〖 ,x〗_33]〗^t≤ 0 (5-3)
روابط (3-3) تا (3-5) برای رابطه (1-6) نیز بهدست میآیند با این تفاوت که t بهجای q و T بهجای Q قرار میگیرد. بنابراین شرایط (1-5) و (1-6) بهصورت یک ماتریس 9*6 (رابطه (3-6)) در میآید که به نام A در پنجره متلب استفاده میشود.
A=[q_11-Q(1) 0 0 q_21-Q(1) 0 0 q_31-Q(1) 0 0 ;
0 q_12-Q(2) 0 0 q_22-Q(2) 0 0 q_32-Q(2) 0 ;
0 0 q_13-Q(3) 0 0 q_23-Q(3) 0 0 q_33-Q(3) ;
t_11-T(1) 0 0 t_21-T(1) 0 0 t_31-T(1) 0 0 ;
0 t_12-T(2) 0 0 t_22-T(2) 0 0 t_32-T(2) 0 ;
0 0 t_13-T(3) 0 0 t_23-T(3) 0 0 t_33-T(3) ] (6-3)

3-3 نتایج حاصل از حل مثالها
مطابق روش متریک L-1 هر تابع واحد ( باتوجه بهz_4, z_3, z_2, z_1 مانند اهداف جداگانه هستند) که باتوجه به شرایط (1-5) تا (1-7) بهمنظور پیداکردن جواب ایدهآل حل میشوند. 〖 z〗_1غیرخطی است و توسط روش ابتکاری پیشنهاد شده حل میشود. برای هر مثال بهترین مقدار بهعنوان جواب بهینه (نزدیک بهینه) درنظرگرفته میشود. سایر مسئلهها (z_4, z_3, 〖 z〗_2)خطی و محدب هستند، بنابراین ما جوابهای بهینه را پیدا خواهیم کرد. جدول (3-8) جوابهای ایدهآل بهدست آمده از حلکردن هر مسئله هدف واحد را میدهد.

جدول3-8: جوابهای ایده ال از 5 مثال اول
z_3^*
z_3^*
z_2^*
z_1^*
No
467500
231.5
243
2850900
1
486500
243.75
246.85
2676900
2
467500
231.5
327.75
2850900
3
467500
299.75
243
2850900
4
432500
231.5
243
2850900
5

با داشتن جوابهای ایدهآل (z_4^*, z_3^*,z_2^*,z_1^* ) ما باید تابع هدف یکپارچهz داده شده در معادله (1-10) را با توجه به شرایط (1-5) تا (1-7) مینیمم کنیم. جدول(3-9) نتایج را با استفاده از هر دو روش اکتشافی میدهد.
جدول 3-9: مقادیر تابع z (معادله 1-10) برای هر مثال
z(by SA)
z(by GA)
No
0.0286
0.0278
1
0.0334
0.0324
2
0.0318
0.0278
3
0.0326
0.0278
4
0.0246
0.0271
5
0.0222
0.0222
6
0.0267
0.0254
7
0.0258
0.0222
8
0.0222
0.0217
9
0.0217
0.0217
10
0.0270
0.0256
mean

مقدار تابع هدف بهعنوان یک مقدار تابع تناسب برای هر دو روش هوشمند درنظر گرفته شدهاست. مقادیر پارامترها در روش ابتکاری GA برای ppsz=20 , Pc=0.8 , Pm=0.2 تنظیم میشود. همچنین فرض شده maxit برابر است با 50 .
مقادیر پارامترها باروش اکتشافی SA بهصورت ilit=100 , α=0.95 , temp_0=100 تنظیم میشود. همچنین فرض کردیم که maxit برابر است با3000 .
بهمنظور فهمیدن بهتر نتایج نهایی

دسته بندی : No category

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