$Title Kapazitaetsallokation und Lagerplatzzuweisung bei Zonung $Ontext Vorlesung: Modellierung und Planung von Logistiksystemen Abschnitt: 4.2 Konfigurationsplanung von Lagersystemen Problemstellung: Dekompositionsheuristik zur Auslegung von Zonenkapazitaeten und Zuordnung von Artikeln zu Zonen fuer normalverteilte Lagerplatzbedarfe der Artikel - Model - Author: Christoph Schwindt Date: 26/12/2019 $Offtext $eolcom// $include class-based-storage_data.gms ***** capacity allocation problem ***** variables alpha Vollstaendige Einlagerverfuegbarkeit (Zielfunktion) a(l) Anzahl der Zone l zugeteilten Lagerplaetze ; integer variables a ; equations def_alpha Definition der vollstaendigen Einlagerverfuegbarkeit aufteilung Aufteilung von p Lagerplaetzen auf die Zonen ; def_alpha.. alpha =e= prod(l, errorf([a(l)-sum(j$j_in_l(l,j), mu(j))]/[sqrt(sum(j$j_in_l(l,j), sqr(cv(j)*mu(j))))+epsilon])) ; aufteilung.. sum(l, a(l)) =e= p ; a.up(l) = p ; model capacity_allocation / def_alpha, aufteilung / ; capacity_allocation.solprint = 2 ; // Unterdrueckung der Eintraege im Listing-File *************************************** ***** storage location assignment ***** variables aufwand Gesamter Foerderaufwand (Zielfunktion) x(j,l) gleich 1 falls Artikel j Zone l zugewiesen wird binary variables x ; equations def_aufwand Definition Foerderaufwand verfuegbarkeit Einhaltung der vorgegebenen vollstaendigen Einlagerverfuegbarkeit artikel_zone(j) Zuweisung von Artikel j zu einer Zone ; def_aufwand.. aufwand =e= sum(j, sum(l, r(j)*(d_I(l)+d_O(l))*x(j,l))) ; verfuegbarkeit.. prod(l, errorf([a.l(l)-sum(j, mu(j)*x(j,l))]/[sqrt(sum(j, sqr(cv(j)*mu(j))*x(j,l)))+epsilon])) =g= (1-theta)*alpha.l ; artikel_zone(j).. sum(l, x(j,l)) =e= 1 ; model location_assignment / def_aufwand, verfuegbarkeit, artikel_zone / ; location_assignment.solprint = 2 ; // Unterdrueckung der Eintraege im Listing-File *********************************** ***** decomposition heuristic ***** set i Iterationen / i1*i100 / ; parameters report(i,*) Dokumentation der Iterationen x_best(j,l) Beste Zuweisung von Artikeln zu Zonen a_best(l) Beste Zonenkapazitaeten ; scalars aufwand_ca aufwand-Wert nach capacity allocation alpha_la alpha-Wert nach location assignment phi_ca Zielfunktionswert nach capacity allocation phi_la Zielfunktionswert nach location assignment ctr Zaehler / 0 / stop Flag fuer Abbruch ; options minlp = lindoglobal optcr = 1e-6 reslim = 120 ; x.l(j,l) = 0 ; x.l(j,l)$(ord(l)=ceil(ord(j)/card(j)*card(l))) = 1 ; phi_la = inf ; stop = no ; repeat( ctr = ctr + 1 ; j_in_l(l,j) = no ; j_in_l(l,j)$x.l(j,l) = yes ; solve capacity_allocation maximizing alpha using minlp ; d_I(l) = gangtiefe/2 + sum(lPrime$(ord(lPrime)