Didactisch materiaal bij de cursus Academiejaar Tel: 09/ Fax: 09/ Prof. dr. ir. W. Philips Optimalisatietechnieken
© W. Philips, Universiteit Gent, versie: 16/2/ b. 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
Lineair programmeren Theorie en voorbeelden
© W. Philips, Universiteit Gent, versie: 16/2/ b. 4 x 1 en x 2 geheel Lineair programmeren: Voorbeeld Houten voetstuk (2 dm 2 ) 1 zilveren tennisbal 1 gedenkplaat In voorraad: 1500 tennisballen, 1000 voetballen, 1750 gedenkplaten en 4800 dm 2 hout Gevraagd hoeveel voetbaltrofeeën x 1 en tennistrofeeën x 2 moeten we maken om zoveel mogelijk winst te maken Tennistrofee Winst: 9$ Houten voetstuk (4 dm 2 ) 1 zilveren voetbal 1 gedenkplaat Voetbaltrofee Winst: 12$ Beperkingen: Te moeilijk en dus schrappen Wiskundige formulering: Winstcriterium: maximaliseer 12 x 1 +9 x 2
© W. Philips, Universiteit Gent, versie: 16/2/ b. 5 een lineaire kostfunctie (of winstfunctie) Lineair programmeren Zoek een oplossing die de kost minimaliseert of maximaliseert en die aan alle beperkingen voldoet Opmerking: meestal moeten alle variabelen niet-negatief zijn Dit zijn dan speciale lineaire beperkingen: x i 0 Gegeven een aantal variabelen x j ( m 1 ongelijkheden) ( m 2 gelijkheden) en een aantal lineaire beperkingen
© W. Philips, Universiteit Gent, versie: 16/2/ b. 6 mogelijk Grafische oplossing Zoek de mogelijke oplossingen: die voldoen aan de beperkingen Zoek vervolgens de optimale oplossing Beperkingen: B: x 2 1500 A: x 1 1000 C: x 1 +x 2 1750 D: 4 x x 2 4800 E: x 1 0 F: x 2 0 A B C D toenemende winst 12 x x 2 = cte optimaal E F ( x 1 = 650 x 2 = 1100) x1x1 x2x2
© W. Philips, Universiteit Gent, versie: 16/2/ b. 7 Definities: mogelijke oplossingen… A B C D E F Mogelijke oplossing: voldoet aan alle beperkingen Randpunt: voldoet aan alle beperkingen en minstens één ongelijkheid is voldaan als gelijkheid mogelijke oplossingen: intern punt randpunt x1x1 x2x2
© W. Philips, Universiteit Gent, versie: 16/2/ b. 8 Convexe gebieden... Eigenschap: Het gebied van mogelijke oplossingen van een lineair programma is steeds convex Definitie: een gebied van een n -dimensionale ruimte is convex als voor elke twee punten x 1 en x 2 in het lijnstuk tussen x 1 en x 2 ook tot behoort x1x1 x2x2 convex; lineair begrensd niet convex; lineair begrensd x1x1 x2x2 niet-convex; lineair begrensd 3D balk- en cilindervolume convex; niet-lineair begrensd
© W. Philips, Universiteit Gent, versie: 16/2/ b. 9...Convexe gebieden... Belangrijk: het gebied van mogelijke oplossingen in een lineair- programmeerprobleem is altijd convex Beperkingen in matrix-vectornotatie Bewijs: omdat en 1 - niet-negatief zijn en Ax 1 b en Ax 2 b Punt op lijnstuk tussen x 1 en x 2 :
© W. Philips, Universiteit Gent, versie: 16/2/ b Convexe gebieden Grafisch bewijs: elke ongelijkheid bepaalt een halfvlak en elk halfvlak is convex x1x1 x2x2 stelsel: doorsnede van 6 halfvlakken een stelsel ongelijkheden bepaalt de doorsnede van halfvlakken en de doorsnede van convexe verzamelingen is convex unie van 2 doorsneden van halfvlakken oplossing moet voldoen aan stelsel A of aan stelsel B PS: een gelijkheid is equivalent met 2 ongelijkheden
© W. Philips, Universiteit Gent, versie: 16/2/ b. 11 Ligging van het optimum Een optimum bevindt zich altijd op de rand van Reden: de kostfunctie is lineair vanuit elk punt in het binnengebied kunnen we steeds een stap zetten in de richting van toenemende winst (afnemende kost) toenemende winst lijn van cte kost 1 optimum veel optima toenemende winst Het optimum is meestal uniek; zoniet liggen de optima in een convex gebied bestaand uit randpunten
© W. Philips, Universiteit Gent, versie: 16/2/ b. 12 x 2 is geen lokaal minimum, tenzij k 1 =k 2 Convex gebied van globale optima afnemende kost x1x1 x2x2 Kost van een punt x= x 1 + (1 - ) x 2 op het lijnstuk: k 2 + ( k 1 - k 2 ) k 2 Stel x 1 en x 2 zijn lokale optima met kost c·x 1 = k 1 en c·x 2 = k 2 Stel b.v. kostminimalisatie en k 2 k 1 in een voldoend kleine bol rond x i liggen geen strikt betere mogelijke oplossingen Als k 1 =k 2 C ( x 1 ) =C ( x 2 ) =C ( x ): x is ook optimaal de verzameling van lokale optima is convex en alle lokale optima hebben dezelfde kost en zijn dus globale optima
© W. Philips, Universiteit Gent, versie: 16/2/ b. 13 de convexe verzameling van optima moet op de rand liggen van de convexe verzameling van mogelijke oplossingen Opmerking en besluit x1x1 x2x2 Interne optima zijn echter onmogelijk x 1 en x 2 zijn lokale optima alle punten op het lijnstuk optimaal Hier kunnen x 1 en x 2 niet optimaal zijn afnemende kost x1x1 x2x2 Hier zijn x 1 en x 2 wel optimaal afnemende kost
© W. Philips, Universiteit Gent, versie: 16/2/ b. 14 Optimum op oneindig De verzameling van mogelijke oplossingen is niet noodzakelijk begrensd! -2 x 1 +3 x 2 6 - x 1 + x 2 1 x 1 0 x 2 0 betere kost, geval A betere kost, geval B Geval A: optimale kost is Geval B: optimale kost is eindig; optimum bestaat x1x1 x2x2 Als ze niet begrensd is kan er nog altijd een unieke oplossing zijn maar het optimum kan ook onbegrensd zijn geval B: lijnstuk van optima
© W. Philips, Universiteit Gent, versie: 16/2/ b Definities: extreme punten Als het optimum uniek is dan is het een extreem punt; zoniet is er minstens één optimum dat een extreem punt is A B C D E F intern punt niet-extreem randpunt extreem randpunt optimum Extreem punt van een convex gebied : punt van dat niet op een lijnstuk tussen twee andere punten van ligt mogelijke oplossingen: extreem en optimaal x1x1 x2x2
© W. Philips, Universiteit Gent, versie: 16/2/ b. 16 Bewijs: minstens 1 optimum is extreem Een niet-extreem punt kan geen geïsoleerd optimum zijn afnemende kost Kan niet afnemende kost Kan ook niet Een convexe verzameling van optima moet extreme punten bevatten optimum optima randpunten met betere kost randpunten met even goede kost Besluit: bij het zoeken naar optima kunnen we ons beperken tot de extreme punten (indien 1 optimum voldoende is)
© W. Philips, Universiteit Gent, versie: 16/2/ b. 17 optimum Simplex-methode: principe A B C x1x1 x3x3 x2x2 DE F G H I J K L Kost: -x 3 Randvoorwaarden: A-L x 1, x 2, x 3 0 x (0) x (1) x (2) x (3) x (4) x (5) x (6) verbeterende kost ribben uit x (0) © Rardin, fig. 5.7
© W. Philips, Universiteit Gent, versie: 16/2/ b. 18 Overzicht Kernvraag (vermits het simplexalgoritme van het ene naar het andere extreem punt stapt) hoe vinden we extreme punten, uitgaande van de opgegeven gelijkheden en ongelijkheden? hoe gaan we van één extreem punt naar een ander? Om deze vraag gemakkelijker te kunnen beantwoorden conversie van het probleem naar “standaardvorm” definitie van basisoplossingen (speciale punten, waarvan sommige extreme punten zijn) definitie van simplexrichtingen (speciale ribben) Beschrijving van het simplexalgoritme
© W. Philips, Universiteit Gent, versie: 16/2/ b. 19 Extreme punten Elk extreem punt is uniek bepaald door n lineair onafhankelijke actieve ongelijkheden en/of gelijkheden Een ongelijkheid is actief in een mogelijke oplossing als ze daar als gelijkheid is voldaan (een gelijkheid is altijd actief) extreem punt A B C D E F b.v.: in het blauw extreem punt zijn A,B,C,D en E actief Niet elk stelsel van n lineair onafhankelijke actieve ongelijk- heden en/of gelijkheden bepaalt echter een extreem punt b.v.: C,D,F bepalen wel een punt maar geen extreem punt n =3 n : aantal variabelen b.v.: het blauw punt is bepaald door A,B,C of A,B,D, of... gebied van mogelijke oplossingen x2x2 x1x1 x3x3 (want n hypervlakken bepalen één punt in een n -dimensionale ruimte)
© W. Philips, Universiteit Gent, versie: 16/2/ b. 20 Naburige extreme punten en ribben Elke ribbe ligt op een rechte bepaald door n -1 lineair onafhankelijke actieve ongelijkheden en/of gelijkheden extreem punt naburige extreme punten Niet elk stelsel van n -1 lineair onafhankelijke actieve ongelijkheden bevat echter een ribbe (b.v. D,F) A, B F A, B, C A B C D E F Ribben zijn lijnstukken tussen naburige extreme punten ribbe bepaald door A en E n=3 Naburige extreme punten kunnen worden bepaald door stelsels actieve (on)gelijkheden, die maar in één (on)gelijkheid verschillen Het omgekeerde geldt niet: b.v. A,C,D bepaalt een extreem punt en F,C,D bepaalt een punt dat niet extreem is
© W. Philips, Universiteit Gent, versie: 16/2/ b. 21 Standaardvorm van LP Een LP-probleem is in standaardvorm als geen enkele variabele x j negatief mag zijn: x j 0 er geen andere ongelijkheden zijn Elk LP-probleem kan in standaardvorm worden gebracht door toevoegen van (artificiële) reservevariabelen (slack variables) We veronderstellen nu dat het stelsel (S) meer dan 1 oplossing heeft (zoniet is het probleem triviaal), en dat de vergelijkingen lineair onafhankelijk zijn (zoniet kleine aanpassingen nodig) Dus: maximaliseer (of minimaliseer) onder de voorwaarde dat en (S):
© W. Philips, Universiteit Gent, versie: 16/2/ b. 22 Standaardvorm: voorbeeld De waarde van een reservevariabele geeft de marge aan waarmee de corresponderende ongelijkheid is voldaan Meestal willen we de constante rechterleden positief houden; het is dan soms nodig reservevariabelen met een minteken toe te voegen Eventuele overblijvende variabelen x j waarvoor er uiteindelijk geen beperking x j 0 aanwezig is worden overal vervangen door het verschil van 2 niet-negatieve variabelen x 2 willekeurig Nadeel standaardvorm: veel meer variabelen