Fasit Eksamen i LOG530 Distribusjonsplanlegging Tirsdag 3. juni 008 Kl. 09:00-5:00 Hjelpemidler : A+KD+PC Oppgave a) Vi innfører følgende symboler: p = antall produsenter l = antall lager k = antall kunder P = mengde av produsenter P = {,,, p} L = mengde av lager L = {p+, p+,, p + l} K = mengde av kunder K = {p + l +, p + l +,.., p + l + k} G = mengden av greiner G = (P L) (P K) (L K) q h = kapasitet til produsent h h P N = kapasitet til lager i i L j i d = behov til kunde j j K e =arealbehov per enhet for Vare c = transportkostnad per enhet langs greinene (f, t) G Beslutningsvariabler: x = antall enheter transportert langs greinene (f, t) G Målfunksjon: F = c x Restriksjoner: () G () h,t h t L K Angir totale transportkostnader Produsentenes kapasitet skal ikke overskrides: x q for alle h P Lagerkapasiteten skal ikke overskrides: e x N for alle t L () t f P
(3) f, j j f P L Kundenes behov må dekkes: x d for alle j K Hvert lager kan ikke levere mer enn som er på lager: x x L for alle i (4) f,i i,t f P t K (5) xi, j 0 alle (i, j) G Ikke-negativitetsbetingelsen. Problem: Minimer F når betingelsene () - (5) er oppfylt. b) Se regneark b) c) Modellen under a) utvides til å behandle problemet med to varer. Kall varen under a) for Vare og den nye varen for Vare. Vi endrer/kompletterer listen av symboler under a) p = antall produsenter l = antall lager k = antall kunder v = antall varer P = mengde av produsenter P = {,, p} L = mengde av lager L = {p+, p+,, p + l} K = mengde av kunder K = {p + l +, p + l +,..,p + l + k} V = mengde av varer V = {,,,v} G = mengden av grener G = (P L V) (P K V) (L K V) q h,m = kapasitet til produsent h av vare m (h, v) P V N i = kapasitet til lager i i L e = arealbehov per enhet til vare m m V m d = behov til kunde j (j, m) K V j,m c,m = transportkostnad per enhet langs greinene (f, t, m) G Beslutningsvariabler: (f, t, m) G x,m = antall enheter transportert fra node f til t av vare m, Målfunksjon: F = c,m x,m (,m) G Angir totale transportkostnader Restriksjoner: Produsentenes kapasitet skal ikke overskrides: x q for alle h P, m V ( ) h,t,m h,m t L K
Lagerkapasiteten skal ikke overskrides: e x N for alle t L ( ) m,m t f P m V Kundenes behov må dekkes: x d for alle j K, m V (3 ) f, j,m j,m f P L Hvert lager kan ikke levere mer enn som er på lager: x x, m V for alle i L (4 ) f,i,m i,t,m f P t K (5 ) xi, j,m 0 alle (i, j, m) G Ikke-negativitetsbetingelsen Problem: Minimer F når betingelsene ( ) - (5 ) er oppfylt. d) Se regneark d) e) Samlet behov for Vare er 700 + 650 + 500 + 600 + 500 = 950 og produksjonskapasiteten er 700. Underdekningen for Vare blir da 50. For Vare er samlet behov 400 + 550 + 800 + 400 + 600 = 750 og produksjonskapasiteten er 600. Underdekningen blir 50 for Vare. f) Med de nye ordrene får vi et udekket behov, forklart under e). Vi innfører derfor nye variabler som håndterer denne situasjonen. Kall disse variablene R for alle t K, m V. t,m Vi modifiserer restriksjonene under c) ved å erstatte ( 3 ) med (3 ) xf, j,m + R j,m d j,m for alle j K, m V. Videre må vi innføre en f P L ny restriksjon som sikrer at sum restordrer for de to varene ikke overstiger underdekningen, dvs. R R alle m V (6) t,m m t K Problemet blir nå: Minimer F når ( ), ( ), (3 ), (4 ), (5 ), (6) g) Se regneark g) 3
Oppgave 90 30 60 50 60 40 3 65 80 70 4 5 6 45 0 40 7 60 8 55 En ønsker å finne korteste vei mellom vilkårlig ulike noder. a) Vi vil formulere dette problemet som et LP-problem. Vi innfører symbolene: n = antall noder N = mengden av noder, N = {,,,n} G = mengden av greiner mellom nodene (direkte) d j = tilbud/behov i node j, j N, d j {,0, } c = avstand fra node f til t, (f, t) G Beslutningsvariable x = antall enheter fraktet fra node f til t, (f, t) G Målfunksjon F = c x () G F angir totalavstanden for alle greiner som inngår i reisen Restriksjoner x x d for alle j N () f, j j,t j f t 4
Sum transportert/ankommet en node minus sum transportert /avreist fra samme node, må minst tilsvare behovet i noden. Dette gjelder alle noder. Vi skal nå løse problemet: Minimer F når () er oppfylt. b) For løsningen se regneark b) c) Benyttes f. eks. Kruskals algoritme, får en minste utspennende tre Grein Vekt - 4 30 3-5 40 5-8 40 4-7 45 5 50 6 8 55-4 60 Tilsammen 30 Eller vist på figur 30 90 60 50 60 40 3 65 80 70 4 5 6 45 0 40 7 60 8 55 5
d) Nodene, 3, 4, 7 er odde noder. Antall matchinger(paringer) av odde noder blir (4 ) (4 3) 3 3 = =. Vi kan da sette opp følgende tabell: Matchings 3-3 50 4 30 7 70 4 7 45 3 7 65 3 4 0 95 95 90 e) Vi må velge matching nr. 3 siden den gir kortest ekstra veilengde. Veiene -7 og 3 5-4 må gåes to ganger, og total avstand blir 955+90 = 45 En slik tur kan være: --3-6-8-7--7-4-8-5-3-5-4-5--4-. f) Av tabellen matching nr., ser vi at velges node 7 som start og node 3 som stopp, må greina 4 gås to ganger og lengden på sporet blir 955+30 = 985. Et slikt spor kan være : 7-8-6-3-5-8-4-7--4---4-5--3 Oppgave 3 Staten vurderer å flytte 5 statlige etater, a, b, c, d, e, ut fra hovedstaden til to mindre byer, I, II. Det kan naturligvis være aktuelt at noen blir værende i hovedstaden H dersom det viser seg å være gunstigst. I passende enheter kan en sette opp en tabell over årlige besparelser en får ved flyttingen D = Gevinst I II H a 0 0 0 b 5 0 0 c 0 5 0 d 0 5 0 e 5 5 0 Mengden av kommunikasjon per år er gitt i tabell og i passende enheter B = Mengde a b c d e a 0 0,5 0 b 0 0,4, 0 c,4 0 0 d,5, 0 0 0,7 e 0 0 0,7 0 Kostnadene kan være økte utgifter til kommunikasjon mellom etater som er lokalisert i ulike byer. 6
Avstanden mellom de ulike byene vil ha betydning for kommunikasjonskostnadene. Nedenfor er en tabell over enhetskostnadene for kommunikasjon mellom etatene lokalisert på de ulike steder A = Enhetskostnad I II H I 5 4 3 II 4 5 9 H 3 9 0 Staten ønsker å finne ut hvor mye en kan spare ved å flytte noen, eventuelt alle de 5 etatene ut av hovedstaden. a) Vi innfører følgende symboler n = antall steder N = mengden av steder N = {,,.,n} m = antall etater M = mengden av etater M = {,,, m} G = mengden av greiner G = M N Q = kapasitet til sted k k N k D = besparelse ved å flytte etat i til sted k i M, k N B i, j = størrelse på kommunikasjon mellom etat i og j i, j M A i, j = enhetskostnad/avstand mellom sted i og j i, j N Beslutningsvariable U = hvis etat i lokaliseres på sted k, ellers 0, U {, 0}, i M, k N Besparelsene ved flyttingen (før kostnad) kan uttrykkes ved () G D U Kostnadene kan uttrykkes ved m m n n ( B i, j A k,l U U j,l ) i = j = k = l = Leddet Bi, jak,lu U j,l er kostnadene dersom etat i flytter til sted k og etat j til sted l. Siden kommunikasjonens størrelse B i, j må antas å være den samme begge veier dvs. B i, j = B j,i, tar vi denne med bare en gang, derfor multiplikasjon av summen med. 7
Vi kan nå skrive kostnadene B = (B i, j), m m tr(bu(ua) t ) U = (U ), m n, der A, B, U er matrisene A = (A k,l ), n n Vår målfunksjon (netto besparelse) blir t F = D U tr(bu(ua) ) () G Restriksjoner for alle k N, totalt antall etater på et sted må begrenses. () U Qk i M () k N U = for alle i M, alle etater må lokaliseres ett sted. Problemet kan da formuleres: Maksimer F når () og () er oppfylt. b) Se regneark Oppgave 3b) 8