Operasjonsanalytiske emner Sekvensielle beslutninger Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER1 Del 12 Dynamisk Programming.

Slides:



Advertisements
Liknende presentasjoner
VM Fotballen.eu har foran VM i fotball 2010 fått på plass et VM-studio utenom det vanlige. Det du ikke finner om VM her er ikke verdt.
Advertisements

En innføring i spillet: Lag En Setning
PowerPoint laget av Bendik S. Søvegjarto Konsept, tekst og regler av Skage Hansen.
PowerPoint laget av Bendik S. Søvegjarto Konsept, tekst og regler av Skage Hansen.
Managerial Decision Modeling
Gjenfinningssystemer og verktøy II
The Travelling Salesperson. LOG530 Distribusjonsplanlegging 2 2 Et forsyningsskip skal starte fra VestBase for å betjene 10 forskjellig installasjoner.
En innføring i spillet: Dobbeltkrig – Grønn
Managerial Decision Modeling Cliff Ragsdale 6. edition Rasmus RasmussenBØK350 OPERASJONSANALYSE1 Chapter 5 Network Modeling.
Korteste vei. LOG530 Distribusjonsplanlegging 2 2 Ofte står en overfor ønsket om å finne korteste kjørerute fra et gitt utgangspunkt til et ønsket bestemmelsessted.
Komplett avstandstabell. LOG530 Distribusjonsplanlegging 2 2 Noen ganger er det behov for en komplett avstandstabell mellom alle nodene i et nettverk.
Produktvalg Læringsmål:
PowerPoint laget av Bendik S. Søvegjarto Konsept, tekst og regler av Skage Hansen.
Kapittel 8 - Utskiftingskalkyler
Forside Korteste sti BFS Modifikasjon Dijkstra Eksempel Korrekthet Analyse Øving Spørsmål Dijkstras algoritme Åsmund Eldhuset asmunde *at* stud.ntnu.no.
Dijkstras algoritme Åsmund Eldhuset asmunde *at* stud.ntnu.no
Eksempel AOA (Activity On Arc)
Kompleksitetsanalyse
Forside Motivasjon Analyse Forside Motivasjon Analyse  -notasjon O og  Relasjoner Klasser Fallgruver Spørsmål Kompleksitetsanalyse Åsmund Eldhuset asmunde.
Managerial Decision Modeling
Lokalisering av avfallsanlegg - størst minsteavstand.
Minimal Spanning Tree. LOG530 Distribusjonsplanlegging 2 2 Nettverket viser avstanden mellom 8 noder, der nodene A – G beskriver oljefelt som skal knyttes.
Sikreste vei. LOG530 Distribusjonsplanlegging 2 2 Noen ganger står en overfor ønsket om å finne sikreste kjørerute fra et gitt startpunkt til et ønsket.
Lokalisering og max totalavstand. LOG530 Distribusjonsplanlegging 2 2 Anta at nettverket angir en region hvor McBurger skal opprette 3 konkurrerende utsalg.
Reiserute med maksimal opplevelse. LOG530 Distribusjonsplanlegging 2 2 I følgende eksempel er det en turist som ønsker å velge kjøreruten med mest severdigheter,
Maksimal gjennomstrømming. LOG530 Distribusjonsplanlegging 2 2 StartOil må transportere store mengder utstyr og materialer til utbyggingen av et nytt.
LOG530 Distribusjonsplanlegging
Tildeling av lasterom. LOG530 Distribusjonsplanlegging 2 2 Et bulkskip skal lastes med tørrlast til Ghana. En ønsker å frakte totalt 4 ulike varetyper.
LOG530 Distribusjonsplanlegging
P-MP modeller. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes p fasiliteter (lager) for å betjene en gitt mengde kunder. Kundenodene er også potensielle.
Lokalisering av avfallsanlegg - størst totalavstand.
Lokalisering og minimum maxavstand. LOG530 Distribusjonsplanlegging 2 2 I mange situasjoner ønsker en å finne lokaliseringer som minimerer maksimalavstanden.
Tildeling av snødeponeringssted. LOG530 Distribusjonsplanlegging 2 2 Kommunen skal kommende vinter frakte snø fra 10 soner til 5 deponeringssteder. Snøen.
UFLP modeller. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes p fasiliteter (lager) for å betjene en gitt mengde kunder. Kundenodene er også potensielle.
The Postmans Problem. LOG530 Distribusjonsplanlegging 2 2 Mista har fått i oppdrag å vedlikeholde veiene i landsdelen. Dette er et eksempel på den klassiske.
P-CP modeller. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes p fasiliteter for å betjene en gitt mengde kunder. Kundenodene er også potensielle.
LOG530 Distribusjonsplanlegging
Corporate Finance Planlegging og kontroll. Investeringsprosessen Vi har hittil bare behandlet en snever del av investeringsprosessen, kun regneteknikker.
Målprogrammering. LOG530 Distribusjonsplanlegging 2 2 Vi fortsetter eksempel 10.2, men vil nå se på oppfyllelse av flere mål samtidig. Målprogrammering.
Maks resultat og maks oppfylte kundekrav. LOG530 Distribusjonsplanlegging 2 2 Vi fortsetter eksempel 9, men benytter nå nettopriser for varene. (Antar.
Utført av: Jeppe Flensted HiST Vår 2009
Klargjøring fra forrige gang
Komplekse tall Naturlige tall
PowerPoint laget av Bendik S. Søvegjarto Konsept, tekst og regler av Skage Hansen.
INF 295 Forelesning 19 - Dynamisk programmering Korteste vei alle til alle (Floyd) Hans Fr. Nordhaug (Ola Bø)
Lokalisering i to-delt graf. LOG530 Distribusjonsplanlegging 2 2 Vi skal nå beskrive en transhipmentmodell med to varesorter som skal leveres fra to fabrikker.
INF 4130 Eksamen 2008 Gjennomgang.
Magnus Haug Algoritmer og Datastrukturer
Maks oppfylte kundekrav og maks resultat. LOG530 Distribusjonsplanlegging 2 2 Vi fortsetter eksempel 10.1, men gjør trinnene i motsatt rekkefølge: max.
Lokalisering og betjening av greiner. LOG530 Distribusjonsplanlegging 2 2 Mista har fått i oppdrag å vedlikeholde veiene i landsdelen. De må derfor opprette.
De 222 mest brukte ordene i det norske språket..
Alg. Dat Øvingsforelesning 11 Dynamisk programmering, grådighet
En formel er gyldig hviss den sann i alle tolkninger Utsagnslogikk Tolkning = linje i sannhetsverditabell Altså: En formel er gyldig hviss den har T i.
1 INF oktober 2010 Stein Krogdahl Foreløpige foiler Dagens program: –Første time: Kap 23.5: Trær og strategier for spill med to spillere –Andre.
UFLP modeller. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes p fasiliteter (lager) for å betjene en gitt mengde kunder. Kundenodene er også potensielle.
Lokalisering og max minimumavstand. LOG530 Distribusjonsplanlegging 2 2 Anta at nettverket angir en region hvor McBurger skal opprettes 3 konkurrerende.
Tildeling av lasterom. LOG530 Distribusjonsplanlegging 2 2 Et bulkskip skal lastes med tørrlast til Ghana. En ønsker å frakte totalt 4 ulike varetyper.
Korteste vei. LOG530 Distribusjonsplanlegging 2 2 Ofte står en overfor ønsket om å finne korteste kjørerute fra et gitt utgangspunkt til et ønsket bestemmelsessted.
LOG530 Distribusjonsplanlegging
Kapittel 7 Inntekter, kostnader og resultatmodeller
LOG530 Distribusjonsplanlegging
Operasjonsanalytiske emner Heltallsvariabler og binærvariabler Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER1 Del 6 Integer Linear Programming.
Operasjonsanalytiske emner Prognosemodeller basert på Tidsserieanalyse Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER1 Del 23Forecasting 1 - Mønster.
BØK310 Bedriftsøkonomi 2a Rasmus Rasmussen 1 BØK310 Bedriftsøkonomi 2a Kapittel 8 Kapitalkostnad.
Operasjonsanalytiske emner
A (12) B (10) C (12) D (9) E (18) F (11) H (10) G (11) I (7) FF3 SS8 FF5 FF7FS0 SF21 SS8 FF3 SS3 FF5SF12FS0 FS7 Vi har gitt et.
Kapittel 3 Diskontering. Læringsmål Etter å ha jobbet med lærebok og hjemmeside til kapittel 3 skal du kunne: 1.Forklare begrepene kapitalkostnad, tidskostnad,
Økonomistyring Kjell Magne Baksaas, Øystein Hansen og Trond Winther Gyldendal Akademisk Produktvalg © Gyldendal Akademisk Innholdet i dette dokumentet.
Kapittel 8 - Utskiftingskalkyler
Kapittel 8 - Utskiftingskalkyler
Utskrift av presentasjonen:

Operasjonsanalytiske emner Sekvensielle beslutninger Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER1 Del 12 Dynamisk Programming

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER Dynamisk Programmering er en generell metode for å løse komplekse problemer ved å dele problemet inn i mindre subproblemer, og løse subproblemene ett trinn i gangen, rekursivt, dvs. bakfra. grunnleggende optimalitetsprinsippet Idéen er at uansett tidligere beslutninger, så velges en strategi som gir det beste resultatet fra det aktuelle beslutningstrinn og til siste beslutning. Dette er det grunnleggende optimalitetsprinsippet. strategi Dynamisk programmering gir altså som løsning en beslutningsstrategi for de forskjellige beslutningstrinnene. Dynamisk programmering (DP) er en generell tenkemåte, ikke en detaljert teknikk for å løse spesifikke problemtyper. Introduksjon 2

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER3 Vi skal introdusere dynamisk programmering med et nettverksproblem – korteste reiserute. Optimalitetsprinsippet: Hvis en gitt node er på den optimale ruten, så må korteste vei fra den noden til målet også være på den optimale ruten. Inndelingen i subproblemer (av korteste vei i et nettverk) skjer bakfra: Første trinn består av nodene som ligger en grein unna endepunktet. Andre trinn består av nodene som ligger to greiner unna, osv. Et korteste reiseruteproblem

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER4 Nettverk for korteste reiserute

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER5 Trinn 1 – Siste beslutningstrinn StartpunktReiseruteAvstand NodeFra – Til«Kostnad» Tilstand 1Beslutning 1Resultat 1 S1S1 D1D1 R1R1 Node 88 – 105 Node 99 –

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER6 Trinn 2 – Nest siste beslutningstrinn StartpunktReiseruteAvstandStoppunktAvstandSum rekursivt NodeFra – Til«Kostnad»NodeResultatresultat Tilstand 2Beslutning 2Resultat 2Tilstand 1 Tilstand 2 S2S2 D2D2 R2R2 S1S1 R1R1 f2f2 Node 5 5 – 8 3Node – 99Node 9211 Node 66 – 86Node – 9 5Node 927 Node 77 – 88Node – 9 10Node 9212 I node 5 kan vi dra til node 8 eller 9. Til node 8 er avstanden 3, og minste avstand derfra til enden (fra 8 til 10) er 5, sum avstand er da 8. (Se første linje for Node 5.) Om vi reiser via node 9 er sum avstand 11. Minste avstand fra node 5 er altså via node 8. Tilsvarende er minste avstand fra node 6 lik 7, mens fra node 7 er minste avstand 12.

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER7 Grafisk illustrasjon av DP i nettverk I trinn 2 (nest siste etappe) er det 3 mulige tilstander: vi befinner oss i node 5, 6, eller 7. For hver tilstand beregner vi resultatet av alle mulige beslutninger (reiser) til neste trinn (nodene i trinn 1), og velger beste beslutning. Vi ender da opp med optimal reiserute (strategi) for hver mulig node (tilstand) i trinn 2, dvs. nest siste etappe, inkludert trinn 1 (siste etappe), helt fram til målet. Merk at det er tilstandene (nodene) som knytter trinnene sammen.

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER8 Trinn 3 – Tredje siste etappe StartpunktReiseruteAvstandStoppunktAvstandSum rekursivt NodeFra – Til«Kostnad»NodeResultatresultat Tilstand 3Beslutning 3Resultat 3Tilstand 2 Tilstand 3 S3S3 D3D3 R3R3 S2S2 f2f2 f3f3 Node 4 4 – 5 12Node – 614Node 6721 Node 3 3 – 5 6Node – 610Node – 74Node Node Node – 6 12Node – 711Node For hver mulig tilstand (node) må vi finne optimal beslutning (reiserute), når vi tar hensyn til resultatet (avstanden) også for de påfølgende trinnene. Vi velger mao. den beste kombinasjonen av beslutninger for disse trinnene (3 – 2 – 1).

19 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER9 Grafisk illustrasjon av trinn I trinn 3 er det også 3 mulige tilstander: vi befinner oss i node 4, 3, eller 2. For hver tilstand beregner vi resultatet av alle mulige beslutninger (reiser) til neste trinn (nodene i trinn 2), og velger beste beslutning. Vi ender da opp med optimal reiserute (strategi) for hver mulig node (tilstand) i trinn 3, inkludert trinn 2 og 1, helt fram til målet. Neste trinn, 4, er etappen foran, og er første etappe. Hvor mange tilstander har trinn 4? 20 14

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER10 Trinn 4 – Første etappe StartpunktReiseruteAvstandStoppunktAvstandSum rekursivt NodeFra – Til«Kostnad»NodeResultatresultat Tilstand 4Beslutning 4Resultat 4Tilstand 3 Tilstand 4 S4S4 D4D4 R4R4 S3S3 f3f3 f4f4 Node 11 – 42Node – 3 5Node – 21Node I dette eksemplet kan vi ikke velge vilkårlig rekkefølgen på trinnene, ettersom det er en logisk rekkefølge på beslutningstrinnene. Første etappe (beslutning) er derfor siste beslutningstrinn, fordi dynamisk programmering er en rekursiv metode, den starter bakfra. (Siste etappe er derfor første beslutningstrinn.) Siste beslutningstrinn (første etappe) er normalt svært trivielt, det er som regel bare én tilstand (dvs. startnoden). Ettersom vi i de tidligere trinnene har fastslått resultatene som kan oppnås for alle kombinasjoner av beslutninger fram til (men ikke inkludert) det siste beslutningstrinnet, kan vi finne resultatet av en sekvens av beslutninger for enhver mulig beslutning på siste trinn.

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER11 Grafisk illustrasjon av trinn På siste beslutningstrinn (første etappe) er det bare én tilstand, startnoden. Det er 3 mulige beslutninger (greiner), som fører til neste beslutningstrinn. Siden vi på hvert tidligere trinn har beregnet optimal strategi for alle mulige tilstander, kan vi på siste trinn lett finne optimal strategi for hele problemet

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER12 S4S4 D4D4 R4R4 S3S3 f3f3 f4f4 Node 11 – 42Node – 3 5Node – 21Node S3S3 D3D3 R3R3 S2S2 f2f2 f3f3 Node 4 4 – 5 12Node – 614Node 6721 Node 3 3 – 5 6Node – 610Node – 74Node Node Node – 6 12Node – 711Node S2S2 D2D2 R2R2 S1S1 R1R1 f2f2 Node 5 5 – 8 3Node – 99Node 9211 Node 66 – 86Node – 9 5Node 927 Node 77 – 88Node – 9 10Node 9212 S1S1 D1D1 R1R1 Node 88 – 105 Node 99 – 102 SnSn DnDn RnRn Trinn 41 – 35 Trinn 33 – 56 Trinn 25 – 83 Trinn 18 – 105

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER13 SymbolBetydningFunksjon SnSn Verdier på tilstandsvariabelen på trinn n DnDn Beslutning på trinn n RnRn Resultatet på trinn nR n (S n, D n ) tntn TransformasjonsfunksjonS n-1 = t n (S n, D n ) fnfn Rekursivt totalt resultat for trinn 1, 2,…nf n (S n, D n ) f*nf*n Optimalt rekursivt resultat for tilstand S n Notasjon i Dynamisk Programmering Dynamisk programmering deler problemet opp i N trinn: 1, 2,.., n,…, N-1, N; hvor 1 er siste beslutning, men som løses først. På hvert trinn må en liste opp alle mulige tilstander S n. Det kreves stor innsikt, kreativitet og ekspertise å finne ut hvordan problemene kan deles opp i ulike trinn, og hva som utgjør tilstandsvariabelen på de ulike trinnene. Gitt en verdi på tilstandsvariabelen S n kan en fatte ulike beslutninger D n, med påfølgende resultat R n. Transformasjonsfunksjonen t n vil basert på S n og D n beregne tilstanden på neste trinn S n-1. Da kan en beregne totalt rekursivt resultat f n = R n + f * n-1.

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER14 Trinn: Input/output (tilstander) Beslutning Resultat Rekursivt resultat trinn n trinn n+1 Merk: På trinn n har vi ikke løst trinn n+1 enda. Vi må derfor liste opp alle mulige tilstander S n.

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER15 Pakksekkproblemet (The Knapsack problem) er at N ulike varer kan pakkes i en pakksekk. Hver varetype har en gitt vekt og verdi. Problemet er å bestemme hvor mange enheter av hver type vare som skal pakkes for å maksimere total verdi, uten å overskride vektkapasiteten til pakksekken. Generelt sett er det et ressursallokeringsproblem: vi ønsker å fordele den knappe ressursen på beste måte. I vårt eksempel skal en velge blant fire kategorier jobber som skal utføres innen 10 arbeidsdager. Jobbene har ulik rating (profitt, viktighet, etc.), og en ønsker å velge jobber som gir størst total rating. Pakksekkproblemet

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER16 Dette problemet kan deles opp i trinn basert på hvor mye av en jobbkategori som skal «pakkes», dvs. utføres. Dvs. ett trinn for kategori 1, et annet trinn for kategori 2, etc. Vi kan i dette problemet velge rekkefølgen på trinnene fritt, det er ingen logisk nødvendig rekkefølge. Tilstandene i dette problemet er hvor mye av den knappe ressursen (arbeidsdager) vi har igjen til rådighet. Produksjonsplanlegging Jobb kategoriAntall jobberAntall dager pr. jobbRating pr. jobb

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER17 Problembeskrivelse DnDn Antall jobber utført av kategori n n  {1, 2, …, N} NAntall jobbkategorier (trinn) YnYn Rating av jobbkategori n n  {1, 2, …, N} WnWn Arbeidstid medgått pr. jobb i kategori n n  {1, 2, …, N} SnSn Antall timer tilgjengelig for jobb n (på trinn n) n  {1, 2, …, N} RnRn Resultatet i kategori/trinn n n  {1, 2, …, N} tntn Transformasjonsfunksjon trinn n n  {1, 2, …, N} QTotal kapasitet arbeidstid tilgjengelig Parametere: Beslutningsvariabler: Målfunksjon: Maksimer totalt resultat fra alle jobbkategorier.

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER18 Restriksjoner Restriksjoner: Sum arbeidstid medgått til alle jobbkategorier kan ikke overskride total arbeidstid tilgjengelig. Transformasjonsfunksjon: Antall timer tilgjengelig på trinn n-1 er lik antall timer tilgjengelig på trinn n minus antall timer brukt på trinn n. Antall timer tilgjengelig på trinn N er lik total kapasitet. Sum arbeidstid medgått på trinn n kan ikke overskride arbeidstid tilgjengelig på trinn n.

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER19 Restriksjoner Rekursiv resultatfunksjon: Resultat før første trinn er lik 0. Dynamisk programmering krever en litt kompleks matematisk formulering, som gjør den vanskelig notasjonsmessig. Heldigvis er den numeriske løsningen basert på enkle tabeller for hvert trinn, og er langt lettere å forstå og lære seg. For nye problemer er den største vanskeligheten er å dele problemet i trinn, og finne tilstandsbeskrivelsene.

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER20 Prinsippskisse for pakksekkproblemet

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER21 Trinn 1 – Jobb kategori 1 Rest kapasitetAntall Jobb type 1Tidsbruk Jobb type 1Resultat Jobb type 1 Tilstand 1Beslutning 1 W1D1W1D1 R 1 =Y 1   D 1 S1S1 D 1 (max 4) 1D11D1 f 1 = R 1 =2   D På trinn 1, siste beslutning, trenger vi bare ta med den beste beslutning i hver tilstand. For alle øvrige trinn må en beregne konsekvensene av alle mulige beslutninger for hver tilstand. Om vi ikke på forhånd har analysert mulige beslutninger på de øvrige trinnene, kan vi liste alle mulige tilstander (rest arbeidstid); dvs. S 1 = 10, 9, 8,…, 2, 1, 0 timer ubrukt arbeidstid disponibel.

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER22 Trinn 2 – Jobb kategori 2 Rest kapasitet Antall Jobb type 2 Tidsbruk Jobb type 2 Resultat Jobb type 2 Rest kapasitet Best resultat Sum rekursivt Tilstand 2Beslutning 2 W2D2W2D2 R 2 =Y 2   D 2 Tilstand 1 resultat S2S2 D2D2 3D23D2 R 2 =8   D 2 S1=S2-W2D2S1=S2-W2D2 f * 1 = R 1 f 2 = R 2 +f * * * * *

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER23 Trinn 3 – Jobb kategori 3 Rest kapasitet Antall Jobb type 3 Tidsbruk Jobb type 3 Resultat Jobb type 3 Rest kapasitet Best resultat Sum rekursivt Tilstand 3Beslutning 3 W3D3W3D3 R 3 =Y 3   D 3 Tilstand 2 resultat S3S3 D3D3 4D34D3 R 3 =11   D 3 S2=S3-W3D3S2=S3-W3D3 f*2f*2 f 3 = R 3 +f * * * Merk at optimal beslutning ikke nødvendigvis medfører å benytte resterende ressurser fullt ut. Det er tilfellet bare på trinn 1. Ettersom resultatet er en funksjon av beslutningene på dette trinnet og de forrige trinnet, må vi også vurdere andre beslutninger enn den maksimale (D n ). Beslutningen vi gjør på tinn 3 er basert på det totale resultatet fra vår beslutning på trinn 3 og den beste korresponderende beslutningen på forrige trinn (2), som igjen inkluderer trinn 1. Vi velger den beste kombinasjonen av beslutninger for trinn 3 og trinn 2 (og dermed også trinn 1), ved å benytte en rekursiv resultatfunksjon som beregner resultatet for en sekvens av beslutninger.

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER24 Trinn 4 – Jobb kategori 4 Rest kapasitet Antall Jobb type 4 Tidsbruk Jobb type 4 Resultat Jobb type 4 Rest kapasitet Best resultat Sum rekursivt Tilstand 4Beslutning 4 W4D4W4D4 R 4 =Y 4   D 4 Tilstand 3 resultat S4S4 D3D3 7D47D4 R 4 =20   D 4 S3=S4-W4D4S3=S4-W4D4 f*3f*3 f 4 = R 4 +f * * I det siste trinnet (trinn N) antas alle ressursene å være tilgjengelig. Dvs. vi står ved begynnelsen av sekvensen av beslutninger, og alle ressursene er ubrukte. Det er typisk bare én tilstand ved dette siste nivået av ressurser – det maksimale. Ettersom vi allerede har fastslått resultatene som kan oppnås for alle kombinasjoner av beslutninger fram til (men ikke inkludert) det siste beslutningstrinnet, så kan vi finne resultatet av en sekvens av beslutninger for enhver mulig beslutning på det siste trinnet. Dette gjøres ved å beregne den rekursive resultatfunksjonen for beslutningen på det siste trinnet og den forrige beste beslutningen for de tilstandene som blir resultatet av beslutningen på det siste trinnet. Det er transformasjonsfunksjonen som relaterer tilstandene i forrige trinn (n-1) til tilstandene og beslutningene i dette trinnet (n).

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER25 S4S4 D3D3 W4D4W4D4 R 4 =Y 4   D 4 S3=S4-W4D4S3=S4-W4D4 f*3f*3 f 4 = R 4 +f * * S3S3 D3D3 W3D3W3D3 R 3 =Y 3   D 3 S2=S3-W3D3S2=S3-W3D3 f*2f*2 f 3 = R 3 +f * * * S2S2 D2D2 W2D2W2D2 R 2 =Y 2   D 2 S1=S2-W2D2S1=S2-W2D2 f * 1 = R 1 f 2 = R 2 +f * * * * * S1S1 D1D1 W1D1W1D1 f 1 = R 1 =2   D SnSn DnDn WnDnWnDn R n =Y n   D n Trinn Trinn 3000 Trinn 2138 Trinn 1000 Totalt1028

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER26 En bedrift har en gammel maskin som en vurderer å bytte ut med en ny maskin. Nåverdier fra den gamle maskinen er: Optimal utskiftingsstrategi Salgstidspunkt0123 Nåverdi gammel Bedriften kan altså selge maskinen straks, og oppnå en nåverdi på 90, eller benytte den i inntil 3 år før den selges. Den nye maskinen gir følgende nåverdier: Salgstidspunkt12345 Nåverdi ny i Om den nye maskinen drives i 5 år vil den totalt gi en nåverdi på 140. Her er renten i = 10% pr. periode benyttet.

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER27 Dette utskiftingsproblemet kan deles opp i flere beslutningstrinn. I et trinn kan vi bestemme hvor lenge vi skal beholde den gamle maskinen, i neste trinn bestemmes hvor lenge vi skal beholde den nye maskinen. starter bakfra Dynamisk programmering starter bakfra, første trinn (trinn 1) er derfor hvor lenge vi skal beholde den nye maskinen. (Antar at denne ikke skal gjenanskaffes.) siste trinn er den første beslutningen Andre og siste trinn (trinn 2) er da beslutningen om hvor lenge vi skal beholde den gamle maskinen, før den byttes ut. Dette er den første beslutningen. Inndeling i trinn

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER28 Tilstandene er det som knytter beslutningstrinnene sammen, via transformasjonsfunksjonen. tidspunktet I dette tilfellet er tilstandene på de forskjellige beslutningstrinnene det tidspunktet vi befinner oss i. D n S n Beslutningene D n angir altså hvor lenge vi skal drive maskinen på trinn n, og tilstandsvariabelen S n angir hvilket tidspunkt vi befinner oss i på trinn n. Transformasjonsfunksjonen blir i dette tilfellet: Tilstander og transformasjonsfunksjon

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER29 R n Resultatet på hvert trinn R n er nåverdiene. R 1 D 1 På trinn 1 (siste beslutning - ny maskin) er resultatet R 1 lik nåverdiene fra den nye maskinen, avhengig av beslutningen D 1 om hvor lenge den skal beholdes. R 1 S 1 Men på trinn 2 (første beslutning – gammel maskin) er denne nåverdien R 1 fra ny maskin knyttet til tidspunktet for kjøp av ny maskin, dvs. tilstanden S 1. R 1 S 1 R 2 S 2 Nåverdien R 1 fra ny maskin er altså angitt på tidspunkt S 1, mens nåverdien fra R 2 er angitt på tidspunkt S 2. S n S 1 = S 2 + D 2 S 1 S 2 Transformasjonsfunksjonen knytter disse to tidspunktene (tilstandene S n ) sammen: S 1 = S 2 + D 2, dvs. nåtidspunktet for kjøp av ny maskin (S 1 ) er lik nåtidspunktet for gammel maskin (S 2 ) + levetiden for gammel maskin. R 1 R 2 S 2 Den rekursive resultatfunksjonen beregner begge nåverdiene (R 1 og R 2 ) til samme tidspunkt, dvs. tidspunkt S 2, nåtidspunktet for første beslutning: Rekursiv resultatfunksjon

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER30 Prinsippskisse for utskiftingsproblemet Resultat av beslutning på trinn 2 Resultat av beslutning på trinn 1 Rekursivt totalt resultat Vi må neddiskontere nåverdien for den nye maskinen i like mange år som vi beholder den gamle Beslutning: Levetid for maskin på trinn 2 Beslutning: Levetid for maskin på trinn 1 Tidspunkt etter beslutning på trinn 2 Tidspunkt start (nå) Tidspunkt slutt

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER31 Trinn 1 – Valg av levetid ny maskin Tidspunkt kjøp ny maskinLevetid for ny maskinNåverdi fra ny maskin Tilstand 1Beslutning 1Resultat 1 S1S1 D1D1 f 1 = R * * * * 5140 På trinn 1 (siste beslutning) trenger man bare ta med optimal beslutning i hver tilstand. Her er imidlertid alle mulige beslutninger i hver tilstand listet, for å være konsistent med øvrige trinn. Optimal levetid for ny maskin er selvsagt den som gir størst nåverdi, dvs. 160, ved en levetid på 4 år.

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER32 Trinn 2 – Levetid gammel maskin Tidspunkt nåLevetid gammelNåverdi gammelTidspunkt kjøp nyNåverdi nyTotal nåverdi Tilstand 2Beslutning 2Resultat 2Tilstand 1Resultat 1Rekursivt resultat S2S2 D2D2 R2 R2 S1S1 R1 R1 f 2 =R 2 + R 1 /(1+i)^D * Optimal utskiftingsstrategi LevetidNåverdi BeslutningResultat Trinn nMaskinDnDn RnRn 2Gammel2170 1Ny Den rekursive resultatfunk- sjonen er ikke bare summen av nåverdiene. Nåverdien fra den nye maskinen må ned- diskonteres i like mange år som vi velge å beholde den gamle. Optimal strategi er altså å beholde den gamle maskinen i 2 år, det gir en nåverdi på 170. Etter 2 år kjøpes ny maskin, som beholdes i 4 år. Ved kjøpstidspunktet for den nye maskinen gir driften i 4 år en nåverdi på 160. Den nåverdien må neddiskonteres i 2 år for å kunne sammenlignes med nåverdien for den gamle maskinen (tidspunkt 0): /(1,1) 2 = 302.

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER33 Vi har så langt kun vurdert å skifte ut den gamle maskinen med ny maskin én gang. Ofte vil utskiftingene fortsette videre fram i tid, det er snakk om en kontinuerlig rekke av utskiftinger. En kan skifte ut hvert år, annet hvert år, osv. Kontinuerlig utskifting/fornying Salgstidspunkt12345 Nåverdi én ny Annuitetsfaktor115,764,023,152,64 Nåverdi evig ti Annuitetsfaktor: Nåverdien av en evigvarende forskuddsannuitet med periodelengde t år og årsrente i.

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER34 Trinn 1 &2 Kontinuerlige utskiftinger Tidspunkt kjøp ny maskinLevetid for ny maskinNåverdi fra ny maskin Tilstand 1Beslutning 1Resultat 1 S1S1 D1D1 f 1 = R * På trinn 1 (siste beslutning) trenger man bare ta med optimal beslutning i hver tilstand, dvs. R 1 = 600 ved utskifting i ny hvert 3. år. Tidspunkt nåLevetid gammelNåverdi gammelTidspunkt kjøp nyNåverdi nyTotal nåverdi Tilstand 2Beslutning 2Resultat 2Tilstand 1Resultat 1Rekursivt resultat S2S2 D2D2 R2 R2 S1S1 R1 R1 f 2 =R 2 + R 1 /(1+i)^D * Det er ikke lenger optimalt å beholde den gamle maskinen i 2 år, Den bør selges straks. Jo lenger vi utsetter nåverdien fra de nye maskinene (600), jo større blir rentetapet (neddiskonteringen). Optimal utskiftingsstrategi LevetidNåverdi BeslutningResultat Trinn nMaskinDnDn RnRn 2Gammel090 1Ny3600  690

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER35 Vi ser at optimal levetid for den nye maskinen er 4 år hvis vi bare skal kjøpe ny maskin én gang. Om vi derimot skal fornye den nye maskinen også i framtiden, er optimal strategi å bytte den ut hvert 3. år. Optimal levetid for den nye maskinen er altså avhengig av om det er en engangsinvestering eller en evigvarende utskifting. Det er verd å merke seg at levetiden for den gamle maskinen også er avhengig av hva vi gjør med den nye. Gammel maskin bør selges etter 2 år hvis ny maskin kjøpes kun én gang. Men gammel maskin bør selges straks hvis ny maskin gjenanskaffes i det uendelige. Vi ser at dagens beslutning (gammel maskin) er avhengig av framtidige beslutninger (ny maskin). Det er kjernen i dynamisk programmering – vi starter bakfra med siste beslutning først. Dynamisk programmering og utskiftinger

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER36 Formuler og løs korteste reiserute som et LP nettverksproblem. Formuler og løs pakksekkproblemet som et LP allokeringsproblem. (Også et nettverksproblem.) Alternative formuleringer

Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER37 Slutt på kapittel 12