$Title Sequentielle Methode (Delta,s,S)-Politik $Ontext Vorlesung: Supply Chain Management Abschnitt: 2.3 Modelle der einstufigen Beschaffungsplanung Problemstellung: Sequentielle Methode zur approximativen Optimierung einer (Delta,s,S)-Politik unter normalverteiltem Periodenbedarf - Model - Author: Christoph Schwindt Date: 06/03/2019 $Offtext $eolcom// $include Delta-s-S_data.gms scalars capital_S Bestellgrenze E_q Erwartete Bestellmenge ; variables null Dummy-Zielfunktionswert small_s Bestellpunkt V Wert der Verlustfunktion Psi_Y Standardverlustfunktion zweiter Ordnung fuer Bedarf Y im Zeitraum der Laenge L + Delta Psi_Z Standardverlustfunktion zweiter Ordnung fuer Bedarf Z waehrend der Lieferzeit L ; positive variables V, Psi_Y, Psi_Z ; equations def_null Definition der Dummy-Zielfunktion servicegrad Bedingung zur Einhaltung des beta-Servicegrads def_V Definition des approximativen Werts der Verlustfunktion in Abhängigkeit des Bestellpunkts s def_Psi_Y Definition der Standardverlustfunktion zweiter Ordnung fuer Bedarf Y def_Psi_Z Standardverlustfunktion zweiter Ordnung fuer Bedarf Z ; def_null.. null =e= 0 ; servicegrad.. V =e= (1-beta)*E_q ; def_V.. V =e= 1/(2*Delta*d)*(Psi_Y*sqr(sigma_Y) + Psi_Z*sqr(sigma_Z)) ; def_Psi_Y.. Psi_Y =e= (1+sqr((small_s-mu_Y)/sigma_Y))*(1-errorf((small_s-mu_Y)/sigma_Y))-(small_s-mu_Y)/sigma_Y*(1/sqrt(2*pi))*exp(-sqr((small_s-mu_Y)/sigma_Y)/2) ; def_Psi_Z.. Psi_Z =e= (1+sqr((small_s-mu_Z)/sigma_Z))*(1-errorf((small_s-mu_Z)/sigma_Z))-(small_s-mu_Z)/sigma_Z*(1/sqrt(2*pi))*exp(-sqr((small_s-mu_Z)/sigma_Z)/2) ; model Delta_s_S_seq / all / ; options minlp = lindoglobal optcr = 1e-6 reslim = 60 ; * Schranken für den Solver small_s.lo = -1000 ; small_s.up = 1000 ; scalar qPrime Um Defizit bereinigte Bestellmenge ; ***** Sequentielle Methode ***** qPrime = sqrt(2*k*d/h) ; E_q = qPrime + (Delta*sqr(d)+sqr(sigma_D))/(2*d) ; solve Delta_s_S_seq using minlp minimzing null ; // berechne s(E(q)) capital_S = small_S.l + qPrime ; ******************************** if (capital_S - small_s.l < 1.5*Delta*d, display '!! Approximationsbedingung nicht erfüllt !!' ; ) ; scalars C Erwartete Gesamtkostenrate sb Sicherheitsbestand ; C = h*(capital_S-L*d-E_q/2)+k*d/E_q ; sb = capital_S - L*d - E_q ; display C, Delta, small_s.l, capital_S, sb ;