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

2 © W. Philips, Universiteit Gent, versie: 21/3/ c. 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, ” 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 Verzwaarde lineaire programma’s Het “Branch and Bound” algoritme

4 © W. Philips, Universiteit Gent, versie: 21/3/ c. 4 Branch-and-bound... (#,#,#,#) (#,1,#,#)(#,0,#,#) Beschouw een ILP: een lineair programma met sommige (of alle) variabelen binair; b.v. het probleem minimaliseer 7 x x x x 4 met x j = 0 of 1 en met 300 x x x x 4  700 Branch-and-bound (BnB) onderzoekt partiële oplossingen (PO’s) b.v. (#,1,#,0) betekent dat we de binaire variabelen x 2 en x 4 de respectievelijk de waarde 1 en 0 geven (#,1,#,0)(#,1,#,1)

5 © W. Philips, Universiteit Gent, versie: 21/3/ c. 5 Basisprincipes Notaties: optimum van het gegeven ILP: x, kost: De kost van om het even welke mogelijke oplossing is nooit beter dan de optimale kost; dit geldt in het bijzonder voor x d    d een willekeurige mogelijke oplossing van het ILP: x d, kost: d (in de praktijk de beste die men al is tegengekomen) voor de de i -de onderzochte PO: -onbekend ILP optimum binnen die PO: x (i), kost:  (i) -LP (gerelaxeerd) optimum binnen die PO: x (i), kost:  (i) Grenzen (voor minimalisatie) Relaxatie verbetert de kost   (i)   (i)

6 © W. Philips, Universiteit Gent, versie: 21/3/ c. 6   d   (i)  het geeft geen zin ILP oplossingen in de PO te onderzoeken want deze zijn toch niet beter zijn dan de “voorlopig beste” ILP oplossing x d Besluit: door een “eenvoudig” lineair programma op te lossen kunnen we het doorzoeken van de PO in dit geval vermijden mogelijk in origineel probleem...Branch-and-bound... Basisfilosofie: gegeven een “voorlopig beste” oplossing met kost d beschouw een PO en bereken de optimale kost  (i)  na relaxatie d (voorlopig best) mogelijk in PO mogelijk in gerelaxeerde PO  (i) ? Bij een minimalisatieprobleem is  (i)   (i) Stel dat we vaststellen dat d   (i)    d   (i)    (i)

7 © W. Philips, Universiteit Gent, versie: 21/3/ c. 7...Branch-and-bound BnB gaat er van uit dat men een willekeurige mogelijke oplossing x d van het ILP en de corresponderende kost d kent  men beschouwt die als “ de voorlopig beste oplossing ” BnB onderzoekt nu één voor één alle mogelijke POs relaxeer de nog vrije binaire variabelen in de PO naar continue variabelen met 0  x i  1 en zoek het optimum met simplex  het resultaat is b.v. x (i) met kost  (i) deze informatie kan men als volgt exploiteren -soms weet men dat de PO geen optimum kan bevatten omdat de kost  (i) na relaxatie slechter is dan d -soms weet men dat de PO geen oplossing heeft omdat men constateert dat de gerelaxeerde PO er geen heeft -soms voldoet dat x (i) toevallig aan de ILP-voorwaarden  het optimum van de PO is gevonden  bovendien: als x (i) = x (i) een betere kost heeft dan d, dan kan x (i) dienen als betere “ voorlopig beste oplossing ”

8 © W. Philips, Universiteit Gent, versie: 21/3/ c. 8...Branch-and-bound... De gerelaxeerde POs vallen in verschillende categorieën: A. deze zonder mogelijke oplossingen B. deze met een optimale oplossing die aan alle binariteits- voorwaarden voldoet C. deze met een niet-binaire optimale oplossing PO’s van type A bevatten geen mogelijke oplossingen voor het origineel probleem  elimineren zonder verdere berekeningen PO’s van type B leveren het ILP-optimum x (i) binnen de PO  de PO hoeft niet verder meer te worden onderzocht … … en x (i) kan dienen als initiële of betere keuze voor x d PO’s van type C leveren nooit een betere d maar kunnen eventueel wel zelf worden geëlimineerd Het komt er op aan zo snel mogelijk een zo goed mogelijke d te vinden zodat het geval d   (i)  zo veel mogelijk optreedt en we dus zo veel mogelijk PO’s na relaxatie kunnen elimineren

9 © W. Philips, Universiteit Gent, versie: 21/3/ c. 9 Zoekstrategie: voorbeeld... Minimaliseer 7 x x x x 4 met x j binair en met 300 x x x x 4  700 BnB oplossing: beschouw alle mogelijke PO’s begin met (#,#,#,#) fixeer dan één van de variabelen  2PO’s: (#,#,#,1) (#,#,#,0) fixeer vervolgens meer variabelen: (1,#,#,1), (0,#,#,1), … of andere variabelen: (1,#,#,#), (0,#,#,#), … We hopen dat we zo regelmatig POs na relaxatie kunnen uitsluiten zonder verdere berekening omdat hun  (i)  slechter is dan de huidige d af en toe een betere mogelijke oplossing vinden voor het origineel probleem en dus d kunnen verbeteren... … want hoe beter d hoe meer nog te onderzoeken POs we na relaxatie kunnen uitsluiten

10 © W. Philips, Universiteit Gent, versie: 21/3/ c Branch-and-bound: voorbeeld... 7 x (7) = (1, 0, 0.8, 0)  = 11 4 x (4) = (0, 1, 1, 0)  = 17 NO 5 x (5) = (0.33, 1, 0, 0)  = NO 10 NM 3 x (3) = (0, 1, 0.2, 0)  = 13 6 x (6) = (0.67, 0, 1, 0)  = x (8) = (1, 0, 1, 0)  = 12 OP: d  = 12 9 NM 2 x (2) = (0, 0.33, 1, 0)  = 9 0 x (0) = (0, 0, 0, 0.44)  = x (1) = (0, 0, 0, 1)  = 14 OP: d  = 14 OP: Optimum van PO gevonden NM: niet mogelijk NO: niet optimaal (#, #, #,1)(#, #, #,0) (#, 1, 1,0)(#, 1, 0,0) (#, 1, #,0)(#, 0, #,0) (1, 0, #,0)(0, 0, #,0) (1, 0, 0, 0)(1, 0, 1,0) Minimaliseer 7 x x x x 4 met 300 x x x x 4  700

11 © W. Philips, Universiteit Gent, versie: 21/3/ c Branch-and-bound: voorbeeld Besluit: BnB is (hier) efficiënter dan volledige enumeratie omdat we niet alle mogelijke combinaties van de binaire variabelen moeten uitproberen 1. omdat we na relaxatie soms een binair optimum vinden voor een volledige deelboom: b.v. PO 1 leidt tot een besluit voor 8 mogelijke combinaties van de binaire variabelen 2. of omdat we door relaxatie een grens vinden die aangeeft dat een deel van de boom (b.v. PO5) geen (beter) optimum bevat 3. of omdat relaxatie aantoont dat een deelboom(b.v. PO 10) geen mogelijke oplossingen bevat Opmerkingen Het voorbeeld is te klein om geval 2 en 3 goed te illustreren BnB werkt ook als er naast de binaire variabelen ook nog reële variabelen aanwezig zijn  enkel de binaire variabelen geven dan vertakkingen in de BnB-boom

12 © W. Philips, Universiteit Gent, versie: 21/3/ c. 12 Branch-and-bound algoritme... We beschouwen hier minimalisatie (maximalisatie: analoog) Initialisatie: P= {(#,…,#)}, d.w.z., de PO met alle binaire variabelen vrij; index t= 0; indien we een mogelijke oplossing x m kennen voor het origineel probleem dan x d = x m en d = de kost van x m ; zoniet d =  Datastructuren verzameling van nog te onderzoeken PO’s: P iteratie-index: t de tot nog toe beste oplossing van het origineel probleem x d de kost van de tot nog toe beste oplossing: d We veronderstellen voor de eenvoud alle variabelen binair; bijkomende continue variabelen vormen echter geen probleem

13 © W. Philips, Universiteit Gent, versie: 21/3/ c Branch-and-bound algoritme Stap 1: kies (en verwijder) een PO uit P en noem ze PO (t) of stop als P leeg is (d.w.z. als alle PO’s zijn onderzocht) Stap 2: Relaxeer en zoek de optimale waarde x (t) en kost (t) van PO (t) door de vrije variabelen te optimaliseren met simplex 2.1 als er geen mogelijke oplossing is  ga naar als (t)  d  ga naar 1, want PO (t) bevat zeker geen oplossing voor het origineel probleem die beter is dan x d 2.3 als x (t) aan de binariteitsvoorwaarden voldoet -als x (t) beter is dan x d  stel dan x d = x (t) en d = (t) -ga naar 1, want het binair optimum in PO (t) is gevonden 2.5 zoniet (“branch”): fixeer een vrije binaire variabele in PO (t) : -PO (t) = (1,#…#…0)  PO 1 = (1,#…1…0), PO 2 = (1,#…0…0); -voeg PO 1 en PO 2 toe aan P ; stel t=t+ 1 en ga naar 1

14 © W. Philips, Universiteit Gent, versie: 21/3/ c. 14 Verbeteringen 1: afronden Men heeft er baat bij zo snel mogelijk zoveel mogelijk oplos- singen van het origineel probleem te genereren omdat elke oplossing een betere d kan opleveren en omdat een betere d de kans vergroot dat men POs na relaxatie kan uitsluiten (omdat ze een gerelaxeerde kost slechter dan d hebben) omdat de gevonden oplossing met kost d kan dienen als suboptimale oplossing (als de rekentijd op is)  als men gemakkelijk x (t) kan afronden naar een mogelijke oplossing x r, d.w.z. een oplossing x r die aan de binariteits- voorwaarden voldoet, voeg dan een extra stap toe net voor 2.5: 2.4: tracht een betere binaire oplossing te vinden -rond x (t) af naar x r ; noem r  de kost van x r -indien x r beter is dan x d stel dan x d = x r en d = r

15 © W. Philips, Universiteit Gent, versie: 21/3/ c. 15 Verbetering 2: kindermoord De optimale kost na relaxatie van een PO is steeds slechter dan deze van zijn ouder-PO omdat de ouder-PO bijkomende mogelijke oplossingen heeft: ouder  kind bij minimalisatie 2 x (2) = (0, 0.33, 1, 0)  = ouder = 9 (#, 1, #,0)(#, 0, #,0) Ouder-PO (al onderzocht) (#, #, #,0) Kinder-PO’s (nog te onderzoeken) kind,1  ouder = 9 kind,2  ouder = 9 Als we dus na het onderzoeken van de ouder-PO (ergens anders in de boom) d verbeteren  verwijder dan de 2 kinderen van deze ouder-PO uit P Idem voor alle andere ouder-PO’s van kinder-PO’s in P, d.w.z. voor alle ouders die nog onafgewerkte kinderen hebben en als ouder  d dan kan de ouder-PO en dus ook de kinder-PO’s nooit een optimale oplossing bevatten

16 © W. Philips, Universiteit Gent, versie: 21/3/ c. 16 Branch-and-bound: zoekstrategieën... Mogelijke alternatieve criteria om PO’s uit P te kiezen: Diepte eerst: kies steeds een kind van de laatst vertakte PO, of als dit niet mogelijk is de PO met het minst vrije componenten  men bereikt zo snel mogelijk een PO met geen enkele vrije binaire variabele; als die PO een mogelijke oplossing heeft, dan kan deze dienen als initiële x d Beste eerst: kies steeds eerst een PO wiens ouder de beste kost heeft na LP-relaxatie  deze “heeft het meest kans” om snel tot het optimum te leiden (in de veronderstelling dat de gerelaxeerde kost een redelijke benadering is voor de optimale kost van de PO) Diepte vooruit-beste terug: volg de “diepte eerst” aanpak na een “branch operatie” maar de “beste eerst” nadat een PO werd beëindigd  “optimaal compromis”

17 © W. Philips, Universiteit Gent, versie: 21/3/ c Branch-and-bound: zoekstrategieën (Mogelijke) criteria bij het kiezen van een vertakkingsvariabele: Vertak steeds een variabele x j met x j  0 en x j  1 in x (t) Reden: stel b.v. PO (t) = (1,#,0,…,#,…,0) en x (t) = (1, 0.2,0…1…0); indien we vertakken op de “rode” variabele  nieuwe PO’s -A: (1,#,0,…,0,…,0) -B: (1,#,0,…,1,…,0)  heeft als optimale oplossing x (t) !  enkel A levert ons nieuwe informatie Besluit: we kiezen dus liever een variabele x j die twee nieuwe problemen oplevert na relaxatie Indien er meerdere x j zijn met x j  0 en x j  1, kies dan deze die het dichtst bij 0 of 1 ligt Reden: één van de problemen zal vermoedelijk na relaxatie een kost hebben die dicht ligt bij die van de huidige PO, maar de andere zal een kost hebben die vermoedelijk veel slechter is  die PO kan hopelijk “vrij van optima” worden verklaard

18 © W. Philips, Universiteit Gent, versie: 21/3/ c. 18 Voorbeeld Nasa-probleem Maximaliseer 200 x x x x x x x x x x x x x x 14 mits 6 x x x 3 +x x x 12  10 (2000 tot 2004) x 4 +x 5  1 x 8 +x 11  1 x 9 +x 14  1(mutueel exclusief) x 11  x 2 x 4  x 3 x 5  x 3 x 6  x 3 x 7  x 3 (afhankelijkheden) alle x j = 0 of 1  zero-one programma  Opmerking: in dit probleem kunnen we elk optimum van een gerelaxeerde PO afronden naar een mogelijke oplossing van de niet-gerelaxeerde PO Namelijk door afronden van alle variabelen naar beneden (waarom?)

19 © W. Philips, Universiteit Gent, versie: 21/3/ c. 19 we kunnen niet meer dieper gaan  we kiezen een kind van de voorlopig beste oplossing na relaxatie Nasa: diepte eerst, beste terug NO nieuwe beste oplossing eerst x 9 = 0 eerst x 10 = 1 d ’s: door afronden naar beneden 4096 oplossingen!

20 © W. Philips, Universiteit Gent, versie: 21/3/ c. 20 Opmerking: de volledige boom bevat nog een ander voorbeeld van “Beste terug”: Na het oplossen van PO 7 hebben de volgende POs kinderen die nog niet werden onderzocht: 1, 3, 4, 5, 6 best  we kiezen een kind van x (1) als volgende PO...Nasa: diepte eerst, beste terug volledige BnB-boom (postscript) volledige BnB-oplossings- tabel (postscript) Besluit: 18 simplexproblemen i.p.v. controle van 2 14 = binaire oplossingen

21 © W. Philips, Universiteit Gent, versie: 21/3/ c. 21 NO wegens ouder NO 13...Nasa: gebruik van “kindermoord” kan niet meer optimaal zijn want winst is hier maximaal 757 en we hebben al een oplossing met winst d = 765 PO’s met een ouder die nu slechter is dan d

22 © W. Philips, Universiteit Gent, versie: 21/3/ c. 22 BnB: sub-optimale varianten Als men noodgedwongen vroegtijdig moet stoppen Men kan ook besluiten een PO na relaxatie uit te sluiten van zodra  d -  (bij minimalisatie) met   0  een bepaalde tolerantie men loopt dan het risico het echte optimum niet te vinden maar de kost van de sub-optimale eindoplossing zal nooit meer dan  van het optimum afwijken en men bespaart berekeningen omdat men meer POs uitsluit gebruik dan x d als sub-optimale oplossing met kost d beschouw dan bovendien alle ouder-PO’s van alle POs in P, d.w.z. van de nog niet afgewerkte POs zij  opt de beste van de  -waarden (optimale kosten na relaxatie) van deze ouder-POs  de optimale kost  *  voldoet aan opt   *  d bij minimalisatie en d   *  opt bij maximalisatie

23 © W. Philips, Universiteit Gent, versie: 21/3/ c. 23 Literatuur Rardin, hfdst. 11: blzn (geselecteerde onderwerpen) Rardin, hfdst. 12: blzn ,


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