$Title Strategische Netzwerkplanung $Ontext Vorlesung: Supply Chain Management Abschnitt: 4.2 Strategische Netzwerkplanung Problemstellung: Design bzw. Anpassung einer Supply Chain zur Maximierung des Kapitalwerts der Gewinne nach Steuern - Model - Author: Christoph Schwindt Date: 28/12/2019 $Offtext $eolcom// $include snd_data.gms variables C0 Kapitalwert der Jahresgewinne nach Steuern (Zielfunktion) pi(p,iPrime,j) Transferpreis von Produkt j bei Verkauf von Produzent p an Partner iPrime g(i,t) Zu versteuernder Gewinn von Partner i in Periode t u(i,j,t) In Periode t bei Lieferant i beschaffte bzw. von Produzent i produzierte Menge von Produkt j v(i,iPrime,j,t) In Periode t von Partner oder Lieferant i an Partner oder Absatzregion iPrime geliefert Menge von Produkt j z(i) gleich 1 falls Partner i in die Supply Chain einbezogen wird ; positive variables u, v ; binary variables z ; equations def_C0 Definition des Kapitalwerts flusserhaltung_produzent(p,j,t) Flusserhaltungsbedingung fuer Produkt j bei Produzent p in Periode t flusserhaltung_lieferant(s,j,t) Flusserhaltungsbedingung fuer Produkt j bei Lieferant s in Periode t flusserhaltung_haendler(d,j,t) Flusserhaltungsbedingung fuer Produkt j bei Haendler d in Periode t nachfrage(r,j,t) Befriedigung der Nachfrage nach Produkt j in Absatzregion r und Periode t kapazitaet_produzent(p,t) Einhaltung der Produktionskapazitaet von Produzent p in Periode t kapaziatet_lieferant(s,t) Einhaltung der Lieferkapazitaet von Lieferant s in Periode t kapazitaet_haendler(d,t) Einhaltung der Umschlagskapazitaet von Haendler d in Periode t def_gewinn_produzent(p,t) Definition des Gewinns vor Steuern von Produzent p in Periode t def_gewinn_haendler(d,t) Definition des Gewinns vor Steuern von Haendler d in Periode t ; def_C0.. C0 =e= sum((t,i)$(p(i) or d(i)), (g(i,t)+alpha(i,t)*bigA(i)*z(i)-tau(i)*max(0, g(i,t)))*power(q,ord(t))) - sum(i$(p(i) or d(i)), bigA(i)*z(i)) ; flusserhaltung_produzent(p,j,t)$(j_to_p(p,j) or j_at_i(p,j)).. (j_at_i(p,j))*u(p,j,t)+sum(iPrime$l(iPrime,p,j), v(iPrime,p,j,t)) =e= sum(jPrime$j_at_i(p,jPrime), a(j,jPrime)*u(p,jPrime,t))+sum(iPrime$l(p,iPrime,j), v(p,iPrime,j,t)) ; flusserhaltung_lieferant(s,j,t)$j_at_i(s,j).. u(s,j,t) =e= sum(iPrime$l(s,iPrime,j), v(s,iPrime,j,t)) ; flusserhaltung_haendler(d,j,t)$j_at_i(d,j).. sum(iPrime$l(iPrime,d,j), v(iPrime,d,j,t)) =e= sum(r$l(d,r,j), v(d,r,j,t)) ; nachfrage(r,j,t).. sum(d$l(d,r,j), v(d,r,j,t)) =e= dem(j,r,t) ; kapazitaet_produzent(p,t).. sum(j$j_at_i(p,j), req(p,j)*u(p,j,t)) =l= bigR(p,t)*z(p) ; kapaziatet_lieferant(s,t).. sum(j$j_at_i(s,j), req(s,j)*u(s,j,t)) =l= bigR(s,t) ; kapazitaet_haendler(d,t).. sum(j$j_at_i(d,j), req(d,j)*sum(r$l(d,r,j), v(d,r,j,t))) =l= bigR(d,t)*z(d) ; def_gewinn_produzent(p,t).. g(p,t) =e= sum(j$j_at_i(p,j), sum(iPrime$l(p,iPrime,j), (pi(p,iPrime,j)-cs(p,iPrime,j))*v(p,iPrime,j,t))) - sum[j$j_to_p(p,j), sum(pPrime$l(pPrime,p,j), pi(pPrime,p,j)*v(pPrime,p,j,t)) + sum(s$l(s,p,j), cb(s,j)*v(s,p,j,t))] - sum(j$j_at_i(p,j), cm(p,j)*u(p,j,t)) - (alpha(p,t)*bigA(p)+cfix(p))*z(p) ; def_gewinn_haendler(d,t).. g(d,t) =e= sum[j$j_at_i(d,j), sum(r$l(d,r,j), (preis(d,j)-cs(d,r,j))*v(d,r,j,t)) - sum(p$l(p,d,j), pi(p,d,j)*v(p,d,j,t)) - sum(s$l(s,d,j), cb(s,j)*v(s,d,j,t))] - (alpha(d,t)*bigA(d)+cfix(d))*z(d) ; pi.lo(p,iPrime,j)$l(p,iPrime,j) = piUnder(p,iPrime,j) ; // Einhaltung der unteren Grenze fuer Transferpreis von Produkt j bei Verkauf von Produzent p an Partner iPrime pi.up(p,iPrime,j)$l(p,iPrime,j) = piBar(p,iPrime,j) ; // Einhaltung der unteren Grenze fuer Transferpreis von Produkt j bei Verkauf von Produzent p an Partner iPrime model strategic_network_design / all / ; options minlp = lindoglobal optcr = 1e-6 reslim = 60 ; solve strategic_network_design maximzing C0 using minlp ; display C0.l, z.l, g.l, u.l, v.l, pi.l ;