De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Optimalisatietechnieken

Verwante presentaties


Presentatie over: "Optimalisatietechnieken"— Transcript van de presentatie:

1 Optimalisatietechnieken
Didactisch materiaal bij de cursus Optimalisatietechnieken Academiejaar Prof. dr. ir. W. Philips Tel: 09/ Fax: 09/

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 1998. 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 Processing Fax: University of Gent Tel: St.-Pietersnieuwstraat 41, B9000 Gent, Belgium

3 Theorie en voorbeelden
Lineair programmeren Theorie en voorbeelden

4 Simplex-methode: principe
A B C x1 x3 x2 D E F G H I J K L Kost: -x3 x(6) optimum Randvoorwaarden: A-L x1, x2, x3  0 © Rardin, fig. 5.7 x(5) x(4) x(3) x(2) verbeterende kost x(1) ribben uit x(0) x(0)

5 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

6 Extreme punten x2 x1 x3 n=3 n: aantal variabelen F
C D E F gebied van mogelijke oplossingen x2 x1 x3 extreem punt n=3 n: aantal variabelen Een ongelijkheid is actief in een mogelijke oplossing als ze daar als gelijkheid is voldaan (een gelijkheid is altijd actief) b.v.: in het blauw extreem punt zijn A,B,C,D en E actief Elk extreem punt is uniek bepaald door n lineair onafhankelijke actieve ongelijkheden en/of gelijkheden (want n hypervlakken bepalen één punt in een n-dimensionale ruimte) b.v.: het blauw punt is bepaald door A,B,C of A,B,D, of ... 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

7 Naburige extreme punten en ribben
A, B F extreem punt naburige extreme punten A B C D E F A, B, C 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 Ribben zijn lijnstukken tussen naburige extreme punten Elke ribbe ligt op een rechte bepaald door n-1 lineair onafhankelijke actieve ongelijkheden en/of gelijkheden Niet elk stelsel van n-1 lineair onafhankelijke actieve ongelijkheden bevat echter een ribbe (b.v. D,F)

8 Standaardvorm van LP Een LP-probleem is in standaardvorm als
geen enkele variabele xj negatief mag zijn: xj  0 er geen andere ongelijkheden zijn Dus: maximaliseer (of minimaliseer) onder de voorwaarde dat en (S): 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)

9 Standaardvorm: voorbeeld
x2 willekeurig 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 xj waarvoor er uiteindelijk geen beperking xj0 aanwezig is worden overal vervangen door het verschil van 2 niet-negatieve variabelen Nadeel standaardvorm: veel meer variabelen

10 Grafische voorstelling
B: x2  1500 A: x1  1000 C: x1+x2  1750 D: 4x1+2x2  4800 E: x1  0 F: x2  0 Originele beperkingen: D x4  0 en (S) 2000 E A C x2 B toenemende winst 1000 Standaardvorm: x2+x4 = 1500 x1+x3 = 1000 x1+x2+x5 =1750 4x1+2x2+x6 = 4800 (S) F x1 1000 2000 A: x3  0 B: x4  0 De standaardvorm is 6-dimensionaal maar we kunnen nog steeds een 2-D voorstelling gebruiken: dit is dan een soort projectie

11 Belang van de standaardvorm
Extreme punten kunnen nog steeds worden bepaald door een aantal actieve lineair onafhankelijke (on)gelijkheden, n.l. alle m vergelijkingen van het stelsel (S), want vergelijkingen zijn overal actief (en lineair onafhankelijk) aangevuld met voldoende actieve “niet-negatief” voorwaarden (n-m als er n variabelen zijn) Voorwaarde xj  0 actief  xj = 0 Besluit: elk extreem punt kan uniek worden bepaald door het opgeven van n-m variabelen die in dat punt nul zijn er zijn m.a.w. geen andere punten die aan (S) voldoen, en waarin de opgegeven coördinaten (variabelen) nul zijn het aantal op te geven nulvariabelen=het totaal aantal variabelen - het aantal vergelijkingen in (S) Niet elk stel van n-m nulvariabelen bepaalt echter een extreem punt (ze bepalen b.v. een punt dat niet voldoet aan alle “niet-negatief” voorwaarden) (zeer eenvoudig!)

12 Extreme punten en standaardvorm
B: x2  1500 A: x1  1000 C: x1+x2  1750 D: 4x1+2x2  4800 E: x1  0 F: x2  0 Originele beperkingen: D x4 = 0, (S) 2000 E A C x2 B 1 toenemende winst 1000 Standaardvorm: x2+x4 = 1500 x1+x3 = 1000 x1+x2+x5 =1750 4x1+2x2+x6 = 4800 (S) 3 x5 = 0, (S) 2 F x1 1000 2000 A: x3  0 B: x4  0 extreme punten geen extreme punten 1 x4=0, x5=0, (S) x3=0, x5=0, (S) (wel basisoplossing) 2 x3=0, x6=0, (S) x4=0, x2=0, (S) geen snijpunt

13 Basisoplossingen... Beschouw het stelsel van een probleem in standaardvorm Kies n-m variabelen xj Los nu het stelsel op met als bijkomende voorwaarden dat deze n-m variabelen xj nul moeten zijn Als er een oplossing bestaat en als ze uniek is dan noemen we de oplossing een basisoplossing en dan noemen we de variabelen die men nul stelt: niet-basisvariabelen (NB) de andere variabelen: basisvariabelen (B) Opmerkingen Extreme punten zijn basisoplossingen maar niet omgekeerd niet elk stel van n-m variabelen zijn geldige NB-variabelen

14 Geldige basis a11 a12 a13 a14 a15 x1 b1 a21 a22 a23 a24 a25 x2 = b2
Anb Ab xb+Anb xnb=b xnb xb=Ab-1(b-Anb xnb) Ab enkel als det(Ab)  0! Anb: kolommen van A corresponderend met NB-variabelen Ab: kolommen van A corresponderend met B-variabelen xb, xnb: vector van de NB-variabelen Er is een unieke oplossing voor xnb=0  Ab is inverteerbaar  de kolommen van Ab vormen een basis  det(Ab)0 Nodige voorwaarde: evenveel B-variabelen als vergelijkingen

15 Basisoplossingen en extreme punten
C D E F gebied van mogelijke oplossingen x2 x1 x3 extreem punt n=3 n: aantal variabelen Elk extreem punt is uniek bepaald door n lineair onafhankelijke actieve ongelijkheden en/of gelijkheden b.v.: het blauw punt is bepaald door A,B,C of A,B,D, of ... Elk stelsel van n lineair onafhankelijke actieve ongelijkheden en/of gelijkheden bepaalt één punt; dit is een basisoplossing Niet elke basisoplossing is een extreem punt b.v.: C,D,F bepalen een basisoplossing maar geen extreem punt; reden: deze basisoplossing ligt buiten het gebied van mogelijke oplossingen

16 Basisoplossingen en extreme punten
Een basisoplossing is niet noodzakelijk een oplossing ze voldoen enkel aan de gelijkheden maar niet aan alle “niet-negatief” voorwaarden Een mogelijke basisoplossing (basic feasible solution) voldoet bovendien aan de niet-negativiteitsvoorwaarden en is dus wel een oplossing De mogelijke basisoplossingen zijn de extreme punten Een gegeven basisoplossing kan met meer dan 1 basis corresponderen (gedegenereerdheid; zie verder) mogelijke oplossingen basisoplossingen Ax=b  xnb= 0: ... xb  0 Ax=b  xnb = 0: ... xb  0 Ax=b xb  0 xnb  0 Ax=b x  0 Ax=b  xnb = 0: xb uniek extreme punten

17 Basissen: voorbeeld... x1 +x3 = 1000 x2 +x4 = 1500 x1 + x2 +x5 = 1750
Trofeeprobleem: Maximaliseer 12 x1+9 x2 waarbij x1 +x3 = 1000 x2 +x4 = 1500 x1 + x2 +x5 = 1750 4 x1 +2 x2 +x6 = 4800 x1, x2 , x3 , x4 , x5 , x6  0 4 vergelijkingen, 6 onbekenden  2 NB-variabelen Probeer x5=x6 =0  unieke oplossing (650,1100,350,400,0,0)  { x5, x6 } is een geldig stel NB-variabelen en { x1 , x2 , x3 , x4 } is het bijbehorend stel B-variabelen Deze basisoplossing is ook een extreem punt want geen enkele variabele is negatief!

18 ...Basissen: voorbeeld... x1 +x3 = 1000 x2 +x4 = 1500
Trofeeprobleem: Maximaliseer 12 x1+9 x2 waarbij x1 +x3 = 1000 x2 +x4 = 1500 x1 + x2 +x5 = 1750 4 x1 +2 x2 +x6 = 4800 x1 , x2 , x3 , x4 , x5 , x6  0 4 vergelijkingen, 6 onbekenden  2 NB-variabelen Probeer x3=x5 =0  unieke oplossing (1000,750,0,750,0,-700)  { x3, x5 } is een geldig stel NB-variabelen en { x1 , x2 , x4 , x6 } is het bijbehorend stel B-variabelen Deze basisoplossing is geen extreem punt!

19 ...Basissen: voorbeeld... x1 +x3 = 1000 x2 +x4 = 1500
Trofeeprobleem: Maximaliseer 12 x1+9 x2 waarbij x1 +x3 = 1000 x2 +x4 = 1500 x1 + x2 +x5 = 1750 4 x1 +2 x2 +x6 = 4800 x1 , x2 , x3 , x4 , x5 , x6  0 +(0) (geen oplossing) + (0) +2(0) (0) 4 vergelijkingen, 6 onbekenden  2 NB-variabelen NB={ x4 }; B={ x1 , x2 , x3 , x5 , x6 } (geen unieke oplossing) NB={x2 , x4}; B={x1 , x3 , x5 , x6} (geen oplossing) Besluit: niet zomaar elk stel variabelen zijn NB-variabelen

20 ...Basissen: voorbeeld x1 +x3 = 1000 x2 +x4 = 0 x1 + x2 +x5 = 1750
Indien er een lichtjes verschillend stelsel had gestaan… x1 +x3 = 1000 x2 +x4 = 0 x1 + x2 +x5 = 1750 4 x1 +2 x2 +x6 = 4800 x1 , x2 , x3 , x4 , x5 , x6  0 + (0) +2(0) (0) +(0) 4 vergelijkingen, 6 onbekenden  2 NB-variabelen NB={x2 , x4}; B={x1 , x3 , x5 , x6} (oneindig veel oplossingen) { x2 , x4 } nog steeds geen geldig stel NB-variabelen! De waarde van de rechterleden heeft geen belang voor wat betreft de geldigheid (controleer!)

21 Simplexmethode: basisprincipe
Vind een extreem punt x(0) (zie verder) Ga van een extreem punt x(i) naar een naburig extreem punt x(i+1) met een betere kost Beschouw hiervoor een ribbe uit x(i) (gekozen uit een beperkte set van zogenaamde simplexrichtingen) indien de kost langs deze ribbe verbetert, kies dan het eindpunt van die ribbe als volgend extreem punt x(i+1); indien er geen eindpunt is dan is de optimale kost  Zoniet, probeer een nieuwe ribbe Indien er geen verbeterende ribben zijn, dan is x(i) optimaal (Reden: zie verder )

22 Extreme punten en standaardvorm
B: x2  1500 A: x1  1000 C: x1+x2  1750 D: 4x1+2x2  4800 E: x1  0 F: x2  0 Originele beperkingen: D x4 = 0, (S) 2000 E A C x2 B 1 2 x4>0, x5=0, (S) 1000 Standaardvorm: x2+x4 = 1500 x1+x3 = 1000 x1+x2+x5 =1750 4x1+2x2+x6 = 4800 (S) x5 = 0, (S) F x1 1000 2000 A: x3  0 B: x4  0 extreem punt punt op simplexrichting 1 1 x4=0, x5=0, (S)

23 Simplex-richtingen in standaardvorm
Hoe vinden we enkele ribben uit een extreem punt x ? extreem punt x: Ax=b xb  0 xnb = 0 Als we een ongelijkheid inactief laten worden dan vormen de oplossingen een rechte door x die mogelijks een ribbe bevat  een dergelijke rechte heet een simplexrichting We bereiken een punt op de ribbe door 1 component van xnb strikt groter dan 0 te maken (=1 ongelijkheid deactiveren) rnb(l) =l(0…1…0)t j-de positie Richting j: Extreem punt: xnb =0 xb =Ab-1(b-Anb xnb) =Ab-1b l  0 rb(l) =Ab-1(b-Anb rnb(l)) l  [ 0, lmax] lmax is de grootste waarde van l waarvoor rb(l)  0 ribbe-gedeelte van de simplex-richting xb  0 Altijd: lmax  0 want rb(0)=xb  0; meestal: lmax > 0

24 Simplexrichtingen en ribben
A B C D E F gebied van mogelijke oplossingen x2 x1 x3 extreem punt n=3 variabelen R1 In het blauw extreem punt zijn er 5 ribben De variabelen xa, xb, xc corresponderend met de ongelijkheden A,B en C zijn geldige NB-variabelen Ze definiëren 3 simplexrichtingen: xa  0, xb=0, xc=0  lijnstuk bepaald door B en C  ribbe R1 xa=0, xb  0, xc=0  punt bepaald door A en C  lmax = 0 xa=0, xb=0, xc  0  lijnstuk bepaald door A en B  ribbe R3  de simplexrichtingen geven maar 2 van de 5 echte ribben, plus nog een gedegenereerde ribbe (met lmax = 0)

25 ...Simplexrichtingen en ribben
A B C D E F gebied van mogelijke oplossingen x2 x1 x3 extreem punt R’1 n=3 variabelen Andere NB-variabelen geven andere simplexrichtingen en ribben b.v. xa, xe, xd definiëren 3 andere simplexrichtingen: xa  0, xe=0, xd=0  lijnstuk bepaald door E en D  ribbe R’1 xa=0, xe  0, xd=0  punt bepaald door A en D  lmax = 0 xa=0, xe=0, xd  0  lijnstuk bepaald door A en E  ribbe R’3 Besluit: als we om één of andere reden alle ribben nodig hebben dan zullen we verschillende basissen moeten beschouwen

26 Definitie: Gedegenereerd extreem punt
A B C D E F gebied van mogelijke oplossingen x2 x1 x3 extreem punt n=3 variabelen In het blauw extreem punt zijn 5 ongelijkheden actief  in standaardvorm zijn daar 5 variabelen nul Anderzijds zijn 3 actieve ongelijkheden (b.v. A,B,C) voldoende om het extreem punt vast te leggen  in standaardvorm zijn er 3 NB-variabelen Besluit: er zijn ook nog = 2 B-variabelen nul  Gedegenereerd extreem punt: extreem punt waarin naast de NB-variabelen ook een aantal B-variabelen nul zijn

27 ...Gedegenereerde extreme punten
mogelijke oplossingen gedegenereerd extreem punt A: x4 =0 0  x1  1 0  x2  1 x1+x2  2 x1 +x3 =1 x2 +x4 =1 x1+x2+x5 =2 B: x5 =0 x1 Probeer x4=x5 =0  unieke oplossing (1,1,0,0,0)  NB={ x4, x5 } en B={ x1, x2, x3 } Naast de NB-variabelen is ook x3 nul  Gedegenereerd extreem punt: extreem punt waarin meer ongelijkheden dan nodig actief zijn (alternatieve definitie) De NB-variabelen bepalen 2 simplexrichtingen, waarvan 1 gedegenereerde (lmax = 0)

28 Extreme punten en simplexrichtingen
Besluit: een basisoplossing x moet volledig vastliggen door de keuze xnb= 0 is dus uniek bepaald door de keuze van een basis Ab de unieke xb is dan xb =Ab-1b Een extreem punt x moet bovendien mogelijk zijn: x  0 Elke simplexrichting uit zo een x is van de vorm rb(l) =Ab-1(b-Anb rnb(l)) met rnb(l) =l(0…1…0)t het naburig extreem punt x(i+1) op die ribbe is rb(lmax) met lmax de grootste waarde van l waarvoor rb(l)  0 Er zijn normaal minstens evenveel ribben als simplexrichtingen Sommige simplexrichtingen geven gedegenereerde ribben Verschillende simplexrichtingen geven verschillende ribben (althans als deze ribben niet gedegenereerd zijn)

29 Aanpassing van de basis
Bij l=lmax bereiken we het eindpunt x(i+1) van de gevolgde ribbe  daar wordt een basisvariabele nul (zoniet zouden we l kunnen verhogen) Om vanuit de ribben uit x(i+1) te zoeken moeten we eerst een basis zoeken voor x(i+1) en NB- en B-variabelen De huidige keuze is niet goed want we hebben 1 NB-variabele positief gemaakt om de ribbe te volgen Kies als nieuwe NB-variabelen de NB-variabelen die nog steeds nul zijn in x(i+1) de (of een) B-variabele die nul werd in x(i+1)

30 Opmerking In de les kwamen enkele slides uit deze presentatie niet aan bod; deze slides zijn bedoeld voor zelfstudie tenzij anders vermeld

31 Lineair programmeren Appendix

32 Bewijs... 1. Een basisoplossing die mogelijk is, is een extreem punt
 Ax=b en  xnb=0: xb uniek  x  0  xb  0  x ligt op een lijnstuk tussen twee mogelijke oplossingen y en z: x=a y+(1-a) z met 0 < a < 1 Ay=b, y  0, Az=b, z  0 Bewijs: stel x is een basisoplossing en een mogelijke oplossing maar geen extreem punt y  0 en z  0  ynb, znb  0 0 = xnb=a ynb+(1-a) znb  ynb =znb = 0 xb=Ab-1(b-Anb xnb)=Ab-1b yb=Ab-1(b-Anb ynb)=Ab-1b  xb =yb  x = y Idem voor z  x = y = z  geen lijnstuk maar een punt

33 ...Bewijs 2. Een extreem punt is een basisoplossing Triviaal


Download ppt "Optimalisatietechnieken"

Verwante presentaties


Ads door Google