Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

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

Liknende presentasjoner


Presentasjon om: "Operasjonsanalytiske emner Sekvensielle beslutninger Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER1 Del 12 Dynamisk Programming."— Utskrift av presentasjonen:

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

2 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

3 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

4 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER4 Nettverk for korteste reiserute 2 5 1 12 14 6 10 4 12 11 13 3 10 9 6 8 5 5 2

5 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 – 102 2 5 1 12 14 6 10 4 12 11 13 3 10 9 6 8 5 5 2 5 2

6 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 858 5 – 99Node 9211 Node 66 – 86Node 8511 6 – 9 5Node 927 Node 77 – 88Node 8513 7 – 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.

7 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER7 Grafisk illustrasjon av DP i nettverk 2 5 1 12 14 6 10 4 12 11 13 3 9 10 8 6 5 5 2 5 2 8 7 12 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.

8 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 5820 4 – 614Node 6721 Node 3 3 – 5 6Node 5814 3 – 610Node 6717 3 – 74Node 71216 Node 22 - 513Node 5821 2 – 6 12Node 6719 2 – 711Node 71223 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).

9 19 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER9 Grafisk illustrasjon av trinn 3 2 5 1 12 14 6 10 4 12 11 13 3 9 10 8 6 5 5 2 5 2 8 7 12 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

10 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 42022 1 – 3 5Node 31419 1 – 21Node 21920 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.

11 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER11 Grafisk illustrasjon av trinn 4 2 5 1 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. 19 12 14 6 10 4 12 11 13 3 9 10 8 6 5 5 2 5 2 8 7 12 20 14 19

12 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER12 S4S4 D4D4 R4R4 S3S3 f3f3 f4f4 Node 11 – 42Node 42022 1 – 3 5Node 31419 1 – 21Node 21920 S3S3 D3D3 R3R3 S2S2 f2f2 f3f3 Node 4 4 – 5 12Node 5820 4 – 614Node 6721 Node 3 3 – 5 6Node 5814 3 – 610Node 6717 3 – 74Node 71216 Node 22 - 513Node 5821 2 – 6 12Node 6719 2 – 711Node 71223 S2S2 D2D2 R2R2 S1S1 R1R1 f2f2 Node 5 5 – 8 3Node 858 5 – 99Node 9211 Node 66 – 86Node 8511 6 – 9 5Node 927 Node 77 – 88Node 8513 7 – 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

13 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.

14 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.

15 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

16 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 1412 2338 32411 42720

17 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.

18 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.

19 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.

20 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER20 Prinsippskisse for pakksekkproblemet

21 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 1 10448 7448 6448 4448 3336 2224 1112 0000 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.

22 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 * 1 10000 88 1387816 26 4824 39 1226* 6000688 1383614 26160016* 3000366 138008* 2000200*

23 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 * 2 10000 26 141161627* 282220 3000388* 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.

24 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 * 3 10000 27 17203828* 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).

25 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 * 3 10000 27 17203828* 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 * 2 10000 26 141161627* 282220 3000388* 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 * 1 10000 88 1387816 26 4824 39 1226* 6000688 1383614 26160016* 3000366 138008* 2000200* S1S1 D1D1 W1D1W1D1 f 1 = R 1 =2   D 1 10448 7448 6448 4448 3336 2224 1112 0000 SnSn DnDn WnDnWnDn R n =Y n   D n Trinn 41720 Trinn 3000 Trinn 2138 Trinn 1000 Totalt1028

26 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 gammel90140170180 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 ny20100150160140 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.

27 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

28 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

29 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

30 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

31 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 1 0120 2100 3150 4160* 5140 1120 2100 3150 4160* 5140 2120 2100 3150 4160* 5140 3120 2100 3150 4160* 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.

32 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 2 00900160250 11401160285 21702160302* 31803160300 Optimal utskiftingsstrategi LevetidNåverdi BeslutningResultat Trinn nMaskinDnDn RnRn 2Gammel2170 1Ny4160 6302 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): 170 + 160/(1,1) 2 = 302.

33 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 ny20100150160140 Annuitetsfaktor115,764,023,152,64 Nåverdi evig220575600505370 ti Annuitetsfaktor: Nåverdien av en evigvarende forskuddsannuitet med periodelengde t år og årsrente i.

34 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 1 03600* 13 23 33 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 2 00900600690* 11401600685 21702600665 31803600630 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

35 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

36 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

37 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER37 Slutt på kapittel 12


Laste ned ppt "Operasjonsanalytiske emner Sekvensielle beslutninger Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER1 Del 12 Dynamisk Programming."

Liknende presentasjoner


Annonser fra Google