صفحه 1:
Dynamic
Programming
برنامه ريزى يويا - روش بيشرو
برنامه ريزى و كنترل توليد و موجودى ها
استاد: دكتر مهدوى
Se Forward
| تيد كسة باصي ١ 0 =
9۹ ae =
صفحه 2:
ستول 00 شزو نوات cla law تفت
frLj+2.j+3..k (G=0, 1... Th:
* ۸/6 شاملهزینه هاونگیداریموجودوو تولیدلست
* انتهای دوره و انتهای دوره ۸ نقاط شروع مجدد هستند.یعنی iy = O 05 = 16
صفحه 3:
در نتیجهد
X j+1 = Dj+1 + 9 حبز +... Dk
le=Xjt1-
* ابر ایند
F بر هزین سیاستههینه agp teh ها ,۲, ۰.., ۸ دلالارد به شرطآنکه 0 < 6 / باشد در لینصویت
۰0 ۳
صفحه 4:
۳/۱ 0 بيشرو ۳ ۳ ۳ زفت عقب 5
* رابطه فوق معادل پیدا گردن گوتاهترین مسیر در یک شبکه است.
صفحه 5:
برای مرتب كردن روش محاسبه. # 6 را به عنوان هزینه بهینه برای دوره های ۸-۰۰۱,۳,۳ (یک افق ۸ دوره ای)
تعریف می کنیم که در آن :
7+ آخریزویه تلد ین < ۳+2 بر
در اینصورت:
صفحه 6:
* در یک افق > دوره ای نقطه شروع مجدد قبلی بهینه (۸6) J است كه با رابطه زير تعريف مى شود:
* براى يك افق 6 دوره ای نقطه شروع مجدد قبلی بهینه (۸) J بوده که با ابه زیر تعریف می شود:
بای هر تسه مجدد دهد می تون نله شرع مجددقبلی بینه نی را که در آن سح موجودی براير صفر بود بينا
نمود.به عبات دیگر آخرین تولید در دوره 1 +(۸)* alist می افتد. با شروع از 7۰ gk استفاده از روش پسرو می توان نقاط شروع
مجدد پا در حل بهیه مشخص کرد.
در صورتیکه کمبود مجز نباشد هزینه های تولید و نگهداری موج
0 —
صفحه 7:
cla law Sees os تون
0 افق نامه ییزی
۳
Gola a
02 023
as
A 2
io Fa
نقطه شروع مجدد.- کوره آحرین تولید.
GW Ows
5
۲ 1
۳ Yo
1 11
| -_-_ 2-00
al 70 (I — شروع مجدد قبلى
صفحه 8:
li Sees os يستور
هزينة تكيدارى يك واحد محصول در یک حوره | هزينه متفير هر وأحد محصول | هزينه يا آدارى | تقاضلى بيش بيني شده | تورة
t Dt At ct he
1 ۳ ۳ 1
۳ ۳ ۳ 7
۳ ۳ ۳ ۳
۳ ۳ a ۳
صفحه 9:
ستول 00 شزو نوات cla law
* ابتدا مساله را يك دوزه ای در نظر بگیرید 1( >):
1101 = Al + c1 D1 = 30 + (3)(20) = 90
F1 = ao1 = Fo + Mo1 =0 + 90=90
she
J* (1) = 0 and X*1 = 20
صفحه 10:
تون 00 شزو نوات نارفات حقب
* سپس ساله را دو دوره ای در نظر بگیرید 2( >
Mo2 = Al + c1 (D1 +D2) + h1 D2 = 30 + (3) (20 + 30) + (2) (30) = 240
M12 = A2 + c2 D2 = 40 + (3) (30)= 130
002 = Fo + Moz = 0 + 240 = 240
F2 = mit
012 = Fi + Miz= 90 + 130=220
220, j* (2) = Land و 2 2069 30
صفحه 11:
*_برای مساله ۲ دوره ای (3 < ) داریم:
Mo3 = A1 + c1 (D1 +D2 + D3) + hi (D2 + D3) + h2 D3 = 520
M13 = A2 + c2 (D2 + D3) + h2 D3 = 330
M23 = A3 + c3 D3 = 190
03 = FO + M03 = 0 + 520= 520
F2=min| a13 =F1 + M13 = 90+ 330= 420
a23 = 2ع + M23 = 220+ 190= 410
10, j* (3) =
صفحه 12:
تون 00 شزو نوات نارفات حقب
esl (K = 4( بای مساله ۴ دوه ی *
Moa = Ai + c1 (D1 +D2 + D3 + Da) + hi (D2 + D3 + D4) + h2 (D3 + D4) +h3 D4 = 760
M14 = A2 + c2 (D2 + D3 + D4) + h2 (D3 + Da) + h3 Da = 510
M24 = A3 + c3 (D3 + Da) + h3 Da = 340
M34 = Aa + c4 D4 = 170
@04 = FO + M03 = 0 + 520= 520
@13 =F1 + M13 = 90+ 330= 420
F3 = mit
@23 =F2 + M23 = 220+ 190= 410
@23 =F2 + M23 = 220+ 190= 410
صفحه 13:
تون 00 شزو نوات cla law
ين 30 > 04 > و*1 و
> 2*4 لست
* به ازاى 4 > 6 آخرین نقطه شروع مجدد بهینه ۲ب
0 < 1*2 70 < 4 + 3 < 26*9 ,0
* از آنجا که موجودی در دوره ۲ صفر بوده: 2 < ۸ قرار می دهیم
و بى مى بريم که نطقه شروع مجدد قبلیبهینه ۱ است
پس 0 < و 30 < 2 < 2۲2 است.
* بهازلى 1 > ع/ و0 > (2)*ودر X*L = D1 = 20 wei
صفحه 14:
صفحه 15:
۳ 5 ال پیشرو 8 5201 عقب افتاده py su
۴ موقعی که کمیود مجاز بوده و سفارشاتی که با کمبود موجودی مواجه می شوند بعدا جبران گردنه موجودی خالس, 1 ممکن است.
ت 0
فرض کنیم:
۵ ۳ +( ۶ 600( >
* سیاست تولید بهینه دارای این خاصیت است که حداقل دو تا از سه کمیت 1-7 و 6/ و 26 صفر خواهند بود. به عبارت دیگر تقاضا
در هر دوره كاملا از موجودى (توليد در دوره هاى قبلى) يا كاملا از سفارشات عقب افتاده (توليد در دوره هاى آينده) يا كاملا از
تولید در دوره ف تامين مى كردد.
صفحه 16:
cal joo etl ce loin ~ yy uly
رین قاطا شرع مجد بهند 0( زا , 0 > عله
* اكرتوليد ورت بذيرد و]>[و
لازم به تذكر آست كه اكر أو »| دو نقطه شروع متوالى باشند دقيقا يك دوره مانند موجود بوده که > >نا >[ موجود بوده که در آن
تولید صورت می گیرد.
۷ حلقلهزینه تولیدلست
انتهای دوره و انتهای دوره ۸ نقاط شروع مجدد هستند. یعنی O = ا و 0 = We
if k = j4+1 ,(تجزه) برع
min + ,fork>j+1
صفحه 17:
— ae
for | = j+1, بر ey tr
me Ie
7 ...لا با < | 107 | +
معادله برگشتی پیشرو به صورت زیر خواهد By
fork = 1,2,...,T ,[]< لزلا + ا ديع
صفحه 18:
cal joo etl ce loin ~ yy uly
*_مال قبل را با فرض مجاز بودن سفارشات
تابع جريمه سفارش هاى عقب افتلده به صورت زير تعريف مى شودة
He (le) = [jt te
M1 = 1,f2=1,f3=2,[4=2
* اولين قدم. محاسبه از 1/ به ازاى 1,2,3,4 > )/ و تمامی مقادیر [SK است.
ap O Uk) © بپینه تولید بیولر و 6 خولهد بود
صفحه 19:
5 5 57 ais 520 8 0 py
+ Moi = C1 D1 = 90; t* (0,1) = 1
= 210; t*
* Mo2 = min
(0,2) =2
1 C1 (D1 tD2) + H1 (D2) = 240
C2 (D1 D2) + H1 (D2) = 24
C1 (D1 +D2 + D3) HI 1 + D3) + H2 D3 = 520
* Moz = min C2 (D1 +D2 + D3} + H1 B1 + H2 D3 = 410
C3 (D1 +D2 + D3) + H1 D1 + H2 (D1 + D2) = 460
= 410; t* (0,3) = 2 >
صفحه 20:
cal joo etl ce loin ~ yy uly
C1 () + HE (D2 +03 + Da) Th2 (D3 + Daj*+ H3 (Da)
= 760
- + +
C2 () + H1 (D1) + H2 (D3 + Da) + H3 (D4) = 590
+ Moa = min| - - 1
C3() + H1 (D1) + H2 (D1 + D2) + H3 (D4) = 610
C4() + H1 (D1) + H2 (D1 + D2) + H3 (D2 +D3 + Da)
= 780
ا و 2 = )0,4( t* ;590 =
9
صفحه 21:
دستور on بيشرو 5 ae عقب 57 5 5
130; (1, 2) =
“* M12 = C2 D2 =
* M13 = min
(1,3) =2
= 330; t*
1 6 )< (وط+ + H2 (D3) = 330
C3 (D2 +D3) + H2 (D2) = 340
+ +
C2 (D2 +D3 + D4) #tH2 (D3 + Da) + H2 D3 = 510
* M14 =min C3 (D2 +D3 + Da} + H2 B2 + H3 Da = 490
C4 (D2 +D3 + Da) + H2 D2 + H3 (D2 + D3) = 620
= 590; t* (1,4) =3 2 —
= م
صفحه 22:
دستور = بيشرو 5 ae عقب 57 5 5
190; (2,3) =
* M23 = C3 D3 =
+ M2a=min
(2,4) =3
= 340; t*
| C3 (D3 رولب + H3 (D4) = 340
C4 (D3 +D4) + H3 (D3) = 410
M3a = Ca Da = 170; t* (3,4) = 4
صفحه 23:
aul loo
تفه قتروع تجدد بندی . نقطه شروع مجدد قبلی.
a 11 8 255 عقب افتاده
۳ 5 3 ل
a ۲ 9 ۲
yy. ۰ ۲ ve ۲
if ۴۰ ۰ 81 ۵۲۰ ۳
VAe ¥ 2۹۰ الى يلط ye. ۴
We ۲ ۱۳۰ ۲
۱ ۳ ۳ 7 ۳۳
<5 ۵۱۰ 8 ۰ ۳ ۳۹۰
5
:
صفحه 24:
i
3 تن أفتاده مجار 5
۳۰
YY.
kee
TY tans |
jak)
صفحه 25:
باسمه تعالی
برنامه ریزی پویا – روش پیشرو
Dynamic
Programming
برنامه ریزی و کنترل تولید و موجودی ها
استاد :دکتر مهدوی
Forward
Approach
تهیه کننده :سعید امینی
دستور العمل پیشرو -بدون سفارشات عقب افتاده
های
M jk هزینه ت ول ید در دور ه j+1ج هتار ضاء ت قاضا هایدور ه :
)(j = 0, 1,…T-1 ; k = j+1, j+2,…, T
j + 1, j + 2, j + 3…,k
های گهدار یم وجود یو ت ول ید ا س .ت
M jk ش ام لهزینه ن
انتهای دوره jو انتهای دوره kنقاط شروع مجدد هستند .یعنی Ij = 0و Ik = 0
دستور العمل پیشرو -بدون سفارشات عقب افتاده
در نتیجه:
k
+…D
j+2
+D
j+1
=D
j+1
X
I t = X j+1 -
بنا بر این:
ت هینه ب را یدور ه های k ,… ,2 ,1د ال لتدارد ب ه ش رط آ ن که I k = 0ب اشد .در ا ینصور :ت
F kب ر هزینه س یاس ب
, F0
=Fk
دستور العمل پیشرو -بدون سفارشات عقب افتاده
= Fk
رابطه فوق معادل پیدا کردن کوتاهترین مسیر در یک شبکه است.
M04
4
M34
M03
3
M23
M24
M13
M14
M02
2
M12
1
M01
0
دستور العمل پیشرو -بدون سفارشات عقب افتاده
برای مرتب کردن روش محاسبه α jk ،را به عنوان هزینه بهینه برای دوره های ( k…1,2,3یک افق kدوره ای)
تعریف می کنیم که در آن :
J+1 آ خریندور ه ت ول ید ی عنی X j+1 > 0و
در اینصورت:
دستور العمل پیشرو -بدون سفارشات عقب افتاده
در یک افق kدوره ای ،نقطه شروع مجدد قبلی بهینه ) j* (kاست که با رابطه زیر تعریف می شود:
برای یک افق kدوره ای ،نقطه شروع مجدد قبلی بهینه ) j* (kبوده که با رابطه زیر تعریف می شود:
برای هر نقطه مجدد kداده شده ،می توان نقطه شروع مجدد قبلی بهینه ،kیعنی ) j*(kرا که در آن سطح موجودی برابر صفر بوده ،پیدا
نمود .به عبات دیگر آخرین تولید در دوره j*(k)+1اتفاق می افتد .با شروع از k = Tو استفاده از روش پسرو می توان نقاط شروع
مجدد را در حل بهینه مشخص کرد.
در صورتیکه کمبود مجز نباشد ،هزینه های تولید و نگهداری موجودی دارای شکل زیر هستند:
)Ct(Xt
دستور العمل پیشرو -بدون سفارشات عقب افتاده
α0T
α1T
α2T
.
.
.
αT-1 T
FT
)j * (T
…
…
…
…
نقطه شروع مجدد
افق برنامه ریزی ()k
1
2
3
قبلی ()j
α01 α02 α03
0
α12 α13
1
α23
2α
.
.
.
T-1
F3
)j*(3
F2
)j*(2
F1
)j*(1
دوره آخرین تولید
()j+1
1
2
3
.
.
.
T
Fk =min Xjk
]) [j* (kنقطه شروع مجدد قبلی
دستور العمل پیشرو -بدون سفارشات عقب افتاده
هزینه نگهداری یک واحد محصول در یک دوره هزینه متغیر هر واحد محصول هزینه راه اندازی تقاضای پیش بینی شده دوره
t
Dt
At
ct
ht
2
3
30
20
1
2
1
3
4
40
30
30
40
2
3
1
4
50
30
4
دستور العمل پیشرو -بدون سفارشات عقب افتاده
ابتدا مساله را یک دوره ای در نظر بگیرید (:)k = 1
M01 = A1 + c1 D1 = 30 + (3)(20) = 90
F1 = α01 = F0 + M01 = 0 + 90 = 90
جواب:
j* (1) = 0 and X*1 = 20
دستور العمل پیشرو -بدون سفارشات عقب افتاده
سپس مساله را دو دوره ای در نظر بگیرید (:)k = 2
M02 = A1 + c1 (D1 +D2) + h1 D2 = 30 + (3) (20 + 30) + (2) (30) = 240
M12 = A2 + c2 D2 = 40 + (3) (30)= 130
= F0 + M02 = 0 + 240 = 240
α02
= F1 + M12 = 90 + 130 = 220
α12
F2 = min
جواب:
F2 = 220, j* (2) = 1 and X*1 = 20 , X*2 = 30
دستور العمل پیشرو -بدون سفارشات عقب افتاده
برای مساله 3دوره ای ( )k = 3داریم:
M03 = A1 + c1 (D1 +D2 + D3) + h1 (D2 + D3) + h2 D3 = 520
M13 = A2 + c2 (D2 + D3) + h2 D3 = 330
M23 = A3 + c3 D3 = 190
α03 = F0 + M03 = 0 + 520= 520
α13 = F1 + M13 = 90+ 330= 420
α23 = F2 + M23 = 220+ 190= 410
F2 = min
جواب
F3 = 410, j* (3) = 2 and X*1 = 20 , X*2 = 30 , X*3 = 40
بدون سفارشات عقب افتاده- دستور العمل پیشرو
M04
M14
M24
M34
=
=
=
=
A1
A2
A3
A4
+
+
+
+
c1
c2
c3
c4
:) داریمk = 4( دوره ای4 برای مساله
(D1 +D2 + D3 + D4 ) + h1 (D2 + D3 + D4) + h2 (D3 + D4) + h3 D4 = 760
(D2 + D3 + D4 ) + h2 (D3 + D4) + h3 D4 = 510
(D3 + D4) + h3 D4 = 340
D4 = 170
α04 = F0 + M03 = 0 + 520= 520
α13 = F1 + M13 = 90+ 330= 420
F3 = min
α23 = F2 + M23 = 220+ 190= 410
α23 = F2 + M23 = 220+ 190= 410
جواب
F3 = 410, j* (3) = 2 and X*1 = 20 , X*2 = 30 , X*3 = 40
دستور العمل پیشرو -بدون سفارشات عقب افتاده
به ازای k = 4آخرین نقطه شروع مجدد بهینه 2بوده،یعنی I*3 = D4 = 30و
X*3 = D3 + D4 = 70 I*2 = 0و X*4 = 0ا س .ت
از آنجا که موجودی در دوره 2صفر بوده K = 2 ،قرار می دهیم
و پی می بریم که نطقه شروع مجدد قبلی بهینه 1است
پس I*1 = 0و X*2 = D2 = 30است.
به ازای k = 1و j*(1) = 0و در نتیجه X*1 = D1 = 20
دستور العمل پیشرو -سفارشات عقب افتاده مجاز است
موقعی که کمبود مجاز بوده و سفارشاتی که با کمبود موجودی مواجه می شوند بعدا جبران گردند ،موجودی خالص It ،ممکن است
مقادیر منفی بگیرد.
فرض کنیم:
)- (It
Kt (Xt,It) = Ct (Xt) ++H+
t (It) -+ Ht
سیاست تولید بهینه دارای این خاصیت است که حداقل دو تا از سه کمیت It-1و Itو Xtصفر خواهند بود .به عبارت دیگر تقاضا
در هر دوره tکامال از موجودی (تولید در دوره های قبلی) یا کامال از سفارشات عقب افتاده (تولید در دوره های آینده) یا کامال از
تولید در دوره ف تامین می گردد.
دستور العمل پیشرو -سفارشات عقب افتاده مجاز است
اگر تولید در دوره tصورت پذیرد و j<tو k>tنزدیکترین نقاط شروع مجدد باشند (:)Ik = 0 , Ij = 0
الزم به تذکر است که اگر jو kدو نقطه شروع متوالی باشند دقیقا یک دوره مانند tموجود بوده که j<t<kموجود بوده که در آن
تولید صورت می گیرد.
M jkح دا ق لهزینه ت ول ید ا س ت
انتهای دوره jو انتهای دوره kنقاط شروع مجدد هستند .یعنی Ij = 0و Ik = 0
C j+1 (D j+1), if k = j+1
= M jk
+ , for k >j +1
- -
+ +
min
دستور العمل پیشرو -سفارشات عقب افتاده مجاز است
for l = j+1, j+2,…, t-1
= It
for l = t, t+1,…, k-1
It +
=
معادله برگشتی پیشرو به صورت زیر خواهد بود:
for k = 1,2,…,T
Fk = [Fj + Mjk] = [] ,
دستور العمل پیشرو -سفارشات عقب افتاده مجاز است
مثال قبل را با فرض مجاز بودن سفارشات عقب افتاده حل می کنیم.
تابع جریمه سفارش های عقب افتاده به صورت زیر تعریف می شود:
Ht- (It-) = 𝞹t I-t
𝞹1 = 1 , 𝞹2 = 1 , 𝞹3 = 2 , 𝞹4 = 2
اولین قدم ،محاسبه M jkبه ازای k = 1,2,3,4و تمامی مقادیر j<kاست.
t* (j,k) دور ه ب هینه ت ول ید ب ین jو kخ وا هد ب ود.
سفارشات عقب افتاده مجاز است- دستور العمل پیشرو
M01 = C1 D1 = 90; t* (0,1) = 1
+
C1 (D1 +D2) + H1 (D2) = 240
M02 = min
(0,2) = 2
-
= 210; t*
C2 (D1 +D2) + H1 (D2) = 210
+
+
M03 = min
C1 (D1 +D2 +
- D3) ++H1 (D2 + D3) + H2 D3 = 520
C2 (D1 +D2 + D3)- + H1 D- 1 + H2 D3 = 410
C3 (D1 +D2 + D3) + H1 D1 + H2 (D1 + D2) = 460
= 410; t* (0,3) = 2
سفارشات عقب افتاده مجاز است- دستور العمل پیشرو
= 760
M04 = min
= 780
= 590; t* (0,4) = 2
+
+
+
C1 ( ) + H1 (D2 +D3 + D4) +H2 (D3 + D4) + H3 (D4)
-
+
+
C2 ( ) + H1 (D1) + H2 (D3 + D4) + H3 (D4) = 590
+
C3 ( ) + H1 (D1) + H2 (D1 + D2) + H3 (D4) = 610
C4 ( ) + H1 (D1) + H2 (D1 + D2) + H3 (D2 +D3 + D4)
سفارشات عقب افتاده مجاز است- دستور العمل پیشرو
M12 = C2 D2 = 130; t* (1,2) = 2
+ 3) + H2 (D3) = 330
C2 (D2 +D
M13 = min
(1,3) = 2
= 330; t*
-
C3 (D2 +D3) + H2 (D2) = 340
+
M14 = min
+
C2 (D2 +D3 +
- D4) ++H2 (D3 + D4) + H2 D3 = 510
C3 (D2 +D3 + D4)- + H2 D- 2 + H3 D4 = 490
C4 (D2 +D3 + D4) + H2 D2 + H3 (D2 + D3) = 620
= 590; t* (1,4) = 3
دستور العمل پیشرو -سفارشات عقب افتاده مجاز است
M23 = C3 D3 = 190; t* (2,3) = 3
+
C3 (D3 +D4) + H3 (D4) = 340
*= 340; t
-
M24 = min
(2,4) = 3
C4 (D3 +D4) + H3 (D3) = 410
M34 = C4 D4 = 170; t* (3,4) = 4
دستور العمل پیشرو -سفارشات عقب افتاده مجاز است
دوره تولید ()t
Mjk
)t*(j,k
90
1
210
2
410
2
590
2
130
2
330
2
490
3
190
3
340
3
410
170
4
170
4
780
620
1
نقطه شروع مجدد بعدی
()k
90
1
210
240
2
460
410
520
3
610
590
760
4
3
340
490
2
130
2
330
3
510
4
190
3
340
4
4
نقطه شروع مجدد قبلی
()j
0
1
2
3
دستور العمل پیشرو -سفارشات عقب افتاده مجاز است
4
3
2
1
590
410
210
90
580
550
420
400
220
j
k
0
1
2
3
570
4
550
400
210
90
Fk
2
2
0
0
)j*(k