$Title Stochastisches EOQ-Modell: Iterationsverfahren $Ontext Vorlesung: Produktionswirtschaft Abschnitt: 6.4 Stochastische Modelle Problemstellung: Iterationsverfahren zur Optimierung einer (s,q)-Politik unter normalverteiltem Periodenbedarf bei Vormerkung und Fehlmengenkostensatz - Model - Author: Christoph Schwindt Date: 14/12/2019 $Offtext $eolcom// $include stoch-eoq_data.gms scalar q Bestellmenge ; variables null Dummy-Zielfunktionswert s Bestellpunkt L1 Erwartete Fehlmenge ; positive variable s ; equations konstante Dummy-Zielfunktion bestellpunkt Berechnung des Bestellpunkts zum beta-Servicegrad def_L1 Definition der Verlustfunktion L1 ; konstante.. null =e= 0 ; bestellpunkt.. errorf((s-mu)/sigma) =e= 1-h*q/(p1*d) ; def_L1.. L1 =e= (1/sqrt(2*pi)*exp(-sqr((s-mu)/sigma)/2)-(s-mu)/sigma*(1-errorf((s-mu)/sigma)))*sigma ; model stoch_eoq_iter / all / ; options minlp = lindoglobal optcr = 1e-6 reslim = 60 decimals = 8 ; s.up = 1000 ; // Schranke fuer den Solver stoch_eoq_iter.solprint = 2 ; // Unterdrueckung der Eintraege im Listing-File ***** Iterative Methode ***** set i Iterationen / i0*i100 / ; scalars ctr Zaehler / 1 / prev_q Bestellmenge der vorangegangenen Iteration ; parameter report(i,*) Dokumentation der Iterationen ; q = sqrt(2*k*d/h) ; report('i0', 's-Wert') = inf ; report('i0', 'q-Wert') = q ; repeat ( ctr = ctr + 1 ; prev_q = q ; solve stoch_eoq_iter minimizing null using minlp ; // berechne s(q) q = sqrt(2*d*(K+p1*L1.l)/h) ; // berechne q(s) loop(i$(ord(i)=ctr), report(i, 's-Wert') = s.l ; report(i, 'q-Wert') = q ; ) ; until (abs(prev_q-q) < 1e-9) ) ; display report ; ******************************** scalars C Erwartete Gesamtkostenrate sb Sicherheitsbestand alpha Servicegrad vom Typ 1 beta Servicegrad vom Typ 2 ; C = K*d/q + h*(q/2+s.l) + (p1*d/q)*L1.l ; sb = s.l - mu ; alpha = errorf((s.l-mu)/sigma) ; beta = 1-L1.l/q ; display s.l, q, C, sb, alpha, beta ;