De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Didactisch materiaal bij de cursus Academiejaar 2010-2011 Tel: 09/264.33.85 Fax: 09/264.42.95.

Verwante presentaties


Presentatie over: "Didactisch materiaal bij de cursus Academiejaar 2010-2011 Tel: 09/264.33.85 Fax: 09/264.42.95."— Transcript van de presentatie:

1 Didactisch materiaal bij de cursus Academiejaar Tel: 09/ Fax: 09/ Prof. dr. ir. W. Philips Optimalisatietechnieken Telecommunicatie en Informatieverwerking UNIVERSITEIT GENT

2 © W. Philips, Universiteit Gent, versie: 28/3/ d. 2 Copyright notice This powerpoint presentation was developed as an educational aid to the renewed course “Optimisation Techniques” (Optimalisatietechnieken), taught at the University of Gent, Belgium as of This presentation may be used, modified and copied free of charge for non-commercial purposes by individuals and non-for-profit organisations and distributed free of charge by individuals and non-for-profit organisations to individuals and non-for-profit organisations, either in electronic form on a physical storage medium such as a CD-rom, provided that the following conditions are observed: 1.If you use this presentation as a whole or in part either in original or modified form, you should include the copyright notice “© W. Philips, Universiteit Gent, 1998” in a font size of at least 10 point on each slide; 2.You should include this slide (with the copyright conditions) once in each document (by which is meant either a computer file or a reproduction derived from such a file); 3. If you modify the presentation, you should clearly state so in the presentation; 4.You may not charge a fee for presenting or distributing the presentation, except to cover your costs pertaining to distribution. In other words, you or your organisation should not intend to make or make a profit from the activity for which you use or distribute the presentation; 5. You may not distribute the presentations electronically through a network (e.g., an HTTP or FTP server) without express permission by the author. In case the presentation is modified these requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the presentation, and can be reasonably considered independent and separate works in themselves, then these requirements do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the presentation, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. In particular note that condition 4 also applies to the modified work (i.e., you may not charge for it). “Using and distributing the presentation” means using it for any purpose, including but not limited to viewing it, presenting it to an audience in a lecture, distributing it to students or employees for self-teaching purposes,... Use, modification, copying and distribution for commercial purposes or by commercial organisations is not covered by this licence and is not permitted without the author’s consent. A fee may be charged for such use. Disclaimer: Note that no warrantee is offered, neither for the correctness of the contents of this presentation, nor to the safety of its use. Electronic documents such as this one are inherently unsafe because they may become infected by macro viruses. The programs used to view and modify this software are also inherently unsafe and may contain bugs that might corrupt the data or the operating system on your computer. If you use this presentation, I would appreciate being notified of this by . I would also like to be informed of any errors or omissions that you discover. Finally, if you have developed similar presentations I would be grateful if you allow me to use these in my course lectures. Prof. dr. ir. W. Philips Department of Telecommunications and Information ProcessingFax: University of GentTel: St.-Pietersnieuwstraat 41, B9000 Gent, Belgium

3 Dynamisch programmeren

4 © W. Philips, Universiteit Gent, versie: 28/3/ d. 4 Dynamisch programmeren… Voorbeeld: het Floyd algoritme voor kortste paden •origineel probleem: vind alle kortste paden tussen alle paren van knopen •hulpproblemen: vind alle kortste paden tussen alle paren van knopen die enkel knopen 1, … t als intermediaire knopen gebruiken Principe van dynamisch programmeren •soms lost men een optimalisatieprobleem gemakkelijker op door eerst een aantal verwante problemen met toenemende moeilijkheid op te lossen •dit is het geval als er sterke verbanden bestaan tussen al deze problemen zodat de oplossing van een probleem de oplossing van een ander vergemakkelijkt

5 © W. Philips, Universiteit Gent, versie: 28/3/ d. 5 …Dynamisch programmeren Dynamisch programmeren heeft pas zin •als de som van de complexiteiten (rekentijd) van de hulp- problemen kleiner is dan de complexiteit van een directe oplossing van het origineel probleem •of als men ook geïnteresseerd is in de oplossing van de hulpproblemen Voorbeeld: maximaliseer f(x,y,z ) mits ( x,y,z )   •hou eerst x en y vast en optimaliseer over z •laat vervolgens ook y vrij en optimaliseer over y en z •laat tenslotte ook x vrij en optimaliseer over x, y en z Gebruik hierbij in elke stap de oplossingen van de vorige stap

6 Dynamisch programmeren Optimale paden in acyclische grafen

7 © W. Philips, Universiteit Gent, versie: 28/3/ d. 7 Productieplanning (Wagner) Twee soorten productiekosten (elk afhankelijk van de maand k ): •opstartkosten: s k per productie “run” •de marginale productiekost: p k per eenheid product productieopslagverkoop Er zijn ook opslagkosten: h k per eenheid product Vraag: plan de productie zodat de som van productie- en opslagkosten minimaal wordt en aan de vraag voldaan wordt Bepaal dus •in welke maanden we moeten produceren •en hoeveel we in die maanden moeten produceren Vraag in maand k : v k (afhankelijk van de maand k ):

8 © W. Philips, Universiteit Gent, versie: 28/3/ d. 8 Voorbeeld: afweging productieopslagverkoop Men kan willekeurig veel produceren in elke periode (veronderstelling!) •men kan b.v. in maand 1 alles produceren voor maand 1-6  slechts 1 maal opstartkosten, maar veel opslagkosten •men kan ook elke maand enkel produceren voor die maand  geen opslagkosten, maar elke maand opstartkosten Vraag: plan de productie zodat de som van productie- en opslagkosten minimaal wordt en aan de vraag voldaan wordt Belangrijk inzicht: in een optimale oplossing zal er nooit geproduceerd worden als er nog voorraad is  een optimale oplossing levert dus ofwel de vraag voor een maand k ofwel volledig uit voorraad ofwel volledig uit productie maar niet uit een combinatie van beide

9 © W. Philips, Universiteit Gent, versie: 28/3/ d. 9 Extra uitleg Een concrete situatie waarin het Wagner-voorbeeld van toepassing is, is de volgende: een Belgisch bedrijf verkoopt speeldgoedpoppen van het type “Samson” op de Belgische markt en heeft daarop de exclusiviteit. Deze poppen worden gemaakt door het moederbedrijf in Finland. Het maken van een groot aantal poppen duurt op zich niet lang (b.v. 1 of 2 dagen), maar de machine moet er wel voor worden aangepast wat een belangrijke opstartkost met zich meebrengt. Vermits Samson enkel in België wordt verkocht, maakt het moederbedrijf de poppen enkel aan op vraag van het Belgisch bedrijf. Het moederbedrijf rekent dus per (interne) bestelling van het Belgisch bedrijf telkens een opstartkost aan ( s k, aanpassen van de machine) en een kost per eenheid ( p k ). Elke bestelling wordt in één keer geproduceerd. Vanuit het standpunt van het Belgisch bedrijf komt het erop neer om het totaal aantal te verkopen poppen optimaal te spreiden over één of meerdere bestellingen om zodoende de totale kostprijs (bestelkosten en opslagkosten) voor het Belgisch bedrijf te minimaliseren. Elke bestelling wordt aan het begin van de maand doorgegeven aan het moederbedrijf dat dan de machine aanpast, de poppen produceert, en voor de rest van de maand de machine gebruikt (na heraanpassen van de machine) voor de productie van andere types poppen voor andere landen.

10 © W. Philips, Universiteit Gent, versie: 28/3/ d. 10 Totale kost: ( s’ l + s’ k )+ p k v k + ax k v k met a=h l +h l+1 +… h k-1 +p l -p k Geval 1: a <0  de kost daalt als x k stijgt •het optimum is x k = 1 met kost s’ l +s’ k +p k v k +av k •vermits 1 -x k = 0 is het misschien niet eens nodig om in maand k de productie op te starten  de kost wordt dan nog kleiner, n.l. s’ l +p k v k +av k •opmerking: opstarten in maand k is toch nodig als we beslis- sen om dan voorraad op te bouwen om later te verkopen Productie of voorraad, maar niet beide… Stel dat we in de k -de maand aan een deel x k v k van de vraag voldoen uit voorraad (met producten geproduceerd in maand l ) en de rest, n.l. (1 -x k ) v k nu produceren (0  x k  1)  kost van de producten uit voorraad: s’ l +p l x k v k + ( h l +h l+1 +… h k-1 ) x k v k (als x k > 0) kost van de nieuw geproduceerde producten: s’ k +p k (1 -x k ) v k (als x k < 1) (deel van) opstartkost

11 © W. Philips, Universiteit Gent, versie: 28/3/ d. 11 …Productie of voorraad, maar niet beide Besluit: in alle gevallen kunnen we een oplossing met gelijktijdige voorraad en productie (dus met x k  0 en x k  1) verbeteren; een dergelijke oplossing is dus nooit optimaal! Totale kost: ( s’ l + s’ k )+ p k v k + ax k v k met a=h l +h l+1 +… h k-1 +p l -p k Geval 2: a >0  de kost daalt als x k daalt •het optimum is x k = 0 met kost s’ l +s’ k +p k v k •vermits x k = 0 is het misschien niet eens nodig om in maand l de productie op te starten  de kost wordt dan nog kleiner, n.l. s’ k +p k v k +av k •opmerking: opstarten in maand l is toch nodig als we beslis- sen om dan voorraad op te bouwen om later (maar dus niet in maand k) te verkopen Geval 3: a= 0  keuze: optimum x k = 0 of x k = 1 (naargelang welk van de twee goedkoper is; opstartkosten zouden weer geheel of gedeeltelijk kunnen vervallen)

12 © W. Philips, Universiteit Gent, versie: 28/3/ d Productieplanning: graafvoorstelling Reden: het geen zin heeft te produceren terwijl er nog voorraad is  een oplossing die geen pad is, kan nooit optimaal zijn Besluit: het probleem is herleid tot het zoeken van een optimaal pad in een acyclische graaf (geen circuits aanwezig!) Elke knoop k is een mogelijk productietijdstip (begin maand k ) just in time r1r1 r2r2 r3r3 r4r4 r5r5 r6r6 2 runs r1r1 r3r3 Het begin van pijl is de effectieve productie van een hoeveelheid Het eind van een pijl is het moment waarop de geproduceerde hoeveelheid volledig is verkocht Ons productieplan is een pad (en dus niet een willekeurige verzameling takken)

13 © W. Philips, Universiteit Gent, versie: 28/3/ d Productieplanning: graafvoorstelling Besluit: we zoeken een optimaal pad in een graaf •de graaf is volledig geconnecteerd •de graaf is acyclisch (hij bevat geen circuits) De kost van een pijl ( k,l ) ligt nu volledig vast omdat de aanwezigheid van ( k,l ) in een pad betekent dat de productie in maand k gelijk is aan de vraag in de periode k…l - 1: geen pad = gelijktijdige voorraad/productie  niet optimaal paden  misschien optimaal c ( k,l ) =s k + ( v k +…+ v l-1 ) p k + ( v k+1 +…+ v l-1 ) h k + ( v k+2 +…+ v l-1 ) h k+1 +… productiekost opslagkost

14 © W. Philips, Universiteit Gent, versie: 28/3/ d. 14 © Rardin, fig Productieplanning... optimale oplossing

15 © W. Philips, Universiteit Gent, versie: 28/3/ d. 15 Kortste paden in de Wagner graaf Oplossingsmethode: tabelmethode Het is niet nodig expliciet een graaf te construeren  eenvoudiger datastructuren We hebben een acyclische graaf  het optimaal pad naar k kan enkel 1… k- 1 als intermediaire knopen hebben  het optimaal pad naar k is dus een ééntaksuitbreiding van één van de optimale paden naar 1… k- 1 Definieer d ( k ): de kost van het beste pad van 1 naar k Algoritme: •Initialisatie: d (1)=0 •Voor k =2,… n : d ( k )=min{ d ( l )+ c ( l, k ): 1  l < k } Complexiteit: O ( n 2 / 2) optellingen en evenveel vergelijkingen Dit algoritme doet dezelfde berekeningen als Bellman-Ford maar in een andere volgorde

16 Zelfstudie

17 © W. Philips, Universiteit Gent, versie: 28/3/ d. 17 Graafmodellering van knapzakprobleem Investering: totaal budget 8 (miljoen $) Mogelijke investeringen:ABCD Kost a k  opbrengst c k (later!):5  81  32  47  10 8 Nog beschikbaar einde Maximum-winst pad in een graaf! niet kopen kopen

18 © W. Philips, Universiteit Gent, versie: 28/3/ d. 18 Staten en beslissingen De graaf in dynamisch programmeren is dikwijls een beslissingsgraaf (cfr. het knapzakprobleem): •elke kolom correspondeert met een beslissingsstadium •elke knoop correspondeert met een toestand: b.v. de knoop in kolom 3 op rij 4 = “we hebben al een beslissing genomen voor A en B en hebben nog 5 miljoen over” •elke tak correspondeert met een beslissing genomen in een bepaalde toestand: C kopen Het principe “deelpaden van een optimaal pad moeten ook optimaal zijn” maakt dynamisch programmeren hier efficiënt: •Voorbeeld: als we nog 5 miljoen over hebben op het moment dat we over C beslissen heeft het geen belang hoe we tot die 5 miljoen gekomen zijn (alleen de toestand is van belang) Belangrijke beperking: deze graafmodellering heeft maar zin als het aantal mogelijke toestanden beperkt blijkt

19 © W. Philips, Universiteit Gent, versie: 28/3/ d. 19 Functionele vergelijkingen Zij d k [ i ] de maximale opbrengst als men over i miljoen beschikt waarmee men (b.v. de laatste) k objecten mag kopen (en d 0 [ i ] = 0) Als men nu k+ 1 i.p.v. k objecten mag kopen met de i miljoen: •als men het nieuwe object niet koopt dan heeft men i over om een keuze te maken uit de oude objecten  opbrengst 0 +d k [ i ] •als i  a k+ 1 met a k+ 1 de prijs van het nieuwe object en als men dit object koopt dan heeft men i-a k+ 1 over om optimaal te kiezen uit de oude objecten  opbrengst c k+ 1 +d k [ i-a k+ 1 ] Beste opbrengst: d k+ 1 [ i ] = max( c k+ 1 +d k [ i-a k+ 1 ], d k [ i ] ) als i  a k+ 1 n i : toestand: Nog beschikbaar n 0 n 0 n 0 k= 0 k= 1 k= 2 … k=m- 1 ………… 0 k : stadium (waarin men mag kiezen uit k objecten) en d k+ 1 [ i ] = d k [ i ] als i < a k+ 1

20 © W. Philips, Universiteit Gent, versie: 28/3/ d. 20 Oplossingsmethoden... Complexiteit: O ( mn ) d k [ i ] = max( c k +d k-1 [ i-a k ], d k-1 [ i ] ) als … en d k [ i ] =d k-1 [ i ] als …. i Methode 1: los de functionele vergelijkingen op voor alle k,i : for(k=0;k<=m;k++) for(i=0;i<=n;i++) … Men heeft meteen ook het resultaat voor kleiner budget beste opbrengst als men 4 miljoen mag spenderen aan D,C en/of B

21 © W. Philips, Universiteit Gent, versie: 28/3/ d Oplossingsmethoden... i Men kan genomen beslis- singen gemakkelijk terug- vinden verschillend, dus A werd gekocht B gekocht C gekocht D niet gekocht

22 © W. Philips, Universiteit Gent, versie: 28/3/ d Oplossingsmethoden Opmerking: de tabelmethode doet overbodige berekeningen Het is voldoende de gekleurde cellen te berekenen Alternatieve methode: •eerst de te berekenen cellen opsporen (van rechts naar links) De graaf is precies deze van enkele slides geleden (in spiegelbeeld) i •vervolgens de waarde van de cellen berekenen (van links naar rechts) Dit is dan weer een zuiver graafalgoritme •stap 1: opstellen graaf •stap 2: berekenen optimaal pad

23 © W. Philips, Universiteit Gent, versie: 28/3/ d. 23 Literatuur Rardin, hfdst. 9: blzn

24 Appendix kennen!

25 © W. Philips, Universiteit Gent, versie: 28/3/ d. 25 veel kleine (1-dimensionale) optimalisatieproblemen 1 middelgroot (2-dimensionaal) optimalisatieprobleem 1 groot (3-dimensionaal) optimalisatieprobleem Dynamisch programmeren: voorbeeld... Hulpprobleem: idem, maar met gegeven vaste x en y •Stel  1 (x,y) = {z: ( x,y,z )   }, de verzameling van alle toegelaten oplossingen met gegeven ( x,y ) •Stel  1 ( x,y ) de verzameling van alle ( x,y ) waarvoor  1 ( x,y ) niet leeg is •Voor alle ( x,y )   1 ( x,y ): maximaliseer f ( x,y,z ) over z   1 (x,y) Maximaliseer f(x,y,z ) mits ( x,y,z )   Finale oplossing: •maximaliseer f 1 ( x,y ) over ( x,y )   1 ( x,y )  optimum: f 1 ( x,y ) bereikt bij z=Z 1 ( x,y )

26 © W. Philips, Universiteit Gent, versie: 28/3/ d Voorbeeld... Stel dat  = {(x,y,z): x, y, z = 1,… 1000 } Stel f(x,y,z ) heeft geen speciale eigenschappen (zoals continuïteit)  de enig mogelijke optimalisatiestrategie bestaat er in alle mogelijke functiewaarden onderling te vergelijken Directe oplossing: één 3D probleem  dit vraagt functie-evaluaties (en -vergelijkingen) Via dynamisch programmeren • D hulpproblemen; complexiteit:  1000 •Eén 2D hulpprobleem; complexiteit:  totale complexiteit  Besluit:• dynamisch programmeren helpt hier niet omdat de deelproblemen elkaar niet helpen oplossen • het schaadt echter ook niet (veel)...

27 © W. Philips, Universiteit Gent, versie: 28/3/ d Voorbeeld Stel dat  1 (x,y) = {(x,y,z): x, y, z = 1,… 1000 } Stel f(x,y,z )= g ( x,y ) +h ( z ) Via dynamisch programmeren • D hulpproblemen elk met vaste g ( x,y ) •alle hulpproblemen leiden tot dezelfde oplossing z=z 0 omdat ze in feite h(z) optimaliseren over steeds dezelfde z -waarden •Complexiteit: 1000 (zoeken van z 0 ) •Eén 2D hulpprobleem; complexiteit:  totale complexiteit i.p.v Besluit:dynamisch programmeren helpt hier wel omdat de deelproblemen enorm sterk verwant zijn waardoor problemen oplossen evenveel werk vraagt als er 1 oplossen

28 © W. Philips, Universiteit Gent, versie: 28/3/ d. 28 Productieplanning: kostberekening Periode k Vraag r k : Opstartkost s k : Productiekost p k : Opslagkost h k : just in time2 runs c (1,3)=50+(10+40)1+(40)2= c (3,7)=50+( )3+(5+5+15)2+(5+15)2+(15)2= …


Download ppt "Didactisch materiaal bij de cursus Academiejaar 2010-2011 Tel: 09/264.33.85 Fax: 09/264.42.95."

Verwante presentaties


Ads door Google