idactisch materiaal bij de cursus Optimalisatietechnieken http://telin.ugent.be/~philips/optimalisatie/ cademiejaar 0-0 Prof. dr. ir. W. Philips philips@telin.ugent.be Tel: 09/64..85 a: 09/64.4.95 UNIVRSITIT GNT Telecommunicatie en Informatieverwerking opyright notice This powerpoint presentation was developed as an educational aid to the renewed course Optimisation Techniques (Optimalisatietechnieken), taught at the University of Gent, elgium as of 998. 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 -rom, provided that the following conditions are observed:. 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, 998 in a font size of at least 0 point on each slide;. 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);. 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, ecept 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 TP server) without epress 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. ut 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 etend 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. fee may be charged for such use. isclaimer: Note that no warrantee is offered, neither for the correctness of the contents of this presentation, nor to the safety of its use. lectronic 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 email. I would also like to be informed of any errors or omissions that you discover. inally, 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 -mail: philips@telin.ugent.be epartment of Telecommunications and Information Processing a: -9-64.4.95 University of Gent Tel: -9-64..85 St.-Pietersnieuwstraat 4, 9000 Gent, elgium 0c. Simple-methode: principe Lineair programmeren Rardin, fig. 5.7 (6) optimum (5) (4) Kost: - Randvoorwaarden: -L,, 0 Theorie en voorbeelden (0) () H G I () () J K L verbeterende kost ribben uit (0) 0c.4
Overzicht treme punten Kernvraag (vermits het simplealgoritme van het ene naar het andere etreem punt stapt) hoe vinden we etreme punten, uitgaande van de opgegeven gelijkheden en ongelijkheden? hoe gaan we van één etreem punt naar een ander? Om deze vraag gemakkelijker te kunnen beantwoorden conversie van het probleem naar standaardvorm definitie van basis (speciale punten, waarvan sommige etreme punten zijn) definitie van simplerichtingen (speciale ribben) eschrijving van het simplealgoritme 0c.5 etreem punt n: aantal variabelen n= en ongelijkheid is actief in een oplossing als ze daar als gelijkheid is voldaan (een gelijkheid is altijd actief) b.v.: in het blauw etreem punt zijn,,, en actief lk etreem 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,, of,,, of... Niet elk stelsel van n lineair onafhankelijke actieve ongelijkheden en/of gelijkheden bepaalt echter een etreem punt b.v.:,, bepalen wel een punt maar geen etreem punt 0c.6 Naburige etreme punten en ribben Standaardvorm van LP, etreem punt naburige etreme punten,, ribbe bepaald door en n= Naburige etreme punten kunnen worden bepaald door stelsels actieve (on)gelijkheden, die maar in één (on)gelijkheid verschillen Het omgekeerde geldt niet: b.v.,, bepaalt een etreem punt en,, bepaalt een punt dat niet etreem is Ribben zijn lijnstukken tussen naburige etreme punten lke ribbe ligt op een rechte bepaald door n- lineair onafhankelijke actieve ongelijkheden en/of gelijkheden Niet elk stelsel van n- lineair onafhankelijke actieve ongelijkheden bevat echter een ribbe (b.v.,) 0c.7 en LP-probleem is in standaardvorm als geen enkele variabele j negatief mag zijn: j 0 er geen andere ongelijkheden zijn us: maimaliseer (of minimaliseer) c j j onder de voorwaarde dat j= (S): n j= aij j = bi i =,, m lk LP-probleem kan in standaardvorm worden gebracht door toevoegen van (artificiële) reservevariabelen (slack variables) We veronderstellen nu dat het stelsel (S) meer dan oplossing heeft (zoniet is het probleem triviaal), en dat de vergelijkingen lineair onafhankelijk zijn (zoniet kleine aanpassingen nodig) en n j : 0 j 0c.8
000 + 750 Standaardvorm: voorbeeld + = 000 0 + + 750 4 0 4 = 4 + 5 = 4 4800 + 4800 5 0 0 0 willekeurig 6 7 6 0 0 7 e 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 ventuele overblijvende variabelen j waarvoor er uiteindelijk geen beperking j 0 aanwezig is worden overal vervangen door het verschil van niet-negatieve variabelen Nadeel standaardvorm: veel meer variabelen 0c.9 0c.0 000 000 Grafische voorstelling 4 0 en (S) toenemende winst Originele beperkingen: : 000 : 500 : + 750 : 4 + 4800 : 0 : 0 Standaardvorm: + = 000 + 4 = 500 (S) + + 5 =750 4 000 000 + + 6 = 4800 : 0 : 4 0 e standaardvorm is 6-dimensionaal maar we kunnen nog steeds een - voorstelling gebruiken: dit is dan een soort projectie elang van de standaardvorm treme 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 j 0 actief j = 0 (zeer eenvoudig!) esluit: elk etreem 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 etreem punt (ze bepalen b.v. een punt dat niet voldoet aan alle niet-negatief voorwaarden) 0c. 000 000 treme punten en standaardvorm 4 = 0, (S) toenemende winst Originele beperkingen: : 000 : 500 : + 750 : 4 + 4800 : 0 : 0 Standaardvorm: 5 = 0, (S) + = 000 + 4 = 500 (S) + + 5 =750 4 000 000 + + 6 = 4800 : 0 : 4 0 etreme punten geen etreme punten 4 =0, 5 =0, (S) =0, 5 =0, (S) (wel basisoplossing) =0, 6 =0, (S) 4 =0, =0, (S) geen snijpunt 0c.
asis... Geldige basis eschouw het stelsel van een probleem in standaardvorm n j= aij j = b i =, h, m i Kies n-m variabelen j Los nu het stelsel op met als bijkomende voorwaarden dat deze n-m variabelen j nul moeten zijn ls 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 (N) de andere variabelen: basisvariabelen () Opmerkingen treme punten zijn basis maar niet omgekeerd niet elk stel van n-m variabelen zijn geldige N-variabelen 0c. a a a a 4 a 5 b a a a a 4 a 5 = b a a a a 4 a 5 b 4 nb nb nb : kolommen van corresponderend met N-variabelen b : b, nb : b kolommen van corresponderend met -variabelen 5 vector van de N-variabelen b b + nb nb =b b = - b (b- nb nb ) enkel als det( b ) 0! r is een unieke oplossing voor nb =0 b is inverteerbaar de kolommen van b vormen een basis det( b ) 0 Nodige voorwaarde: evenveel -variabelen als vergelijkingen 0c.4 asis en etreme punten n= etreem punt n: aantal variabelen lk etreem punt is uniek bepaald door n lineair onafhankelijke actieve ongelijkheden en/of gelijkheden b.v.: het blauw punt is bepaald door,, of,,, of... lk stelsel van n lineair onafhankelijke actieve ongelijkheden en/of gelijkheden bepaalt één punt; dit is een basisoplossing Niet elke basisoplossing is een etreem punt b.v.:,, bepalen een basisoplossing maar geen etreem punt; reden: deze basisoplossing ligt buiten het 0c.5 asis en etreme punten en basisoplossing is niet noodzakelijk een oplossing ze voldoen enkel aan de gelijkheden maar niet aan alle niet-negatief voorwaarden en basisoplossing (basic feasible solution) voldoet bovendien aan de niet-negativiteitsvoorwaarden en is dus wel een oplossing e basis zijn de etreme punten en gegeven basisoplossing kan met meer dan basis corresponderen (gedegenereerdheid; zie verder) =b 0 =b b 0 nb 0 =b =b nb = 0:... nb = 0:... b 0 b 0 etreme punten =b nb = 0: b uniek basis 0c.6
asissen: voorbeeld......asissen: voorbeeld... Trofeeprobleem: Maimaliseer +9 waarbij + = 000 + 4 = 500 + + 5 = 750 4 + + 6 = 4800,,, 4, 5, 6 0 4 vergelijkingen, 6 onbekenden N-variabelen Probeer 5 = 6 =0 unieke oplossing (650,00,50,400,0,0) { 5, 6 } is een geldig stel N-variabelen en {,,, 4 } is het bijbehorend stel -variabelen eze basisoplossing is ook een etreem punt want geen enkele Trofeeprobleem: Maimaliseer +9 waarbij + = 000 + 4 = 500 + + 5 = 750 4 + + 6 = 4800,,, 4, 5, 6 0 4 vergelijkingen, 6 onbekenden N-variabelen Probeer = 5 =0 unieke oplossing (000,750,0,750,0,-700) {, 5 } is een geldig stel N-variabelen en {,, 4, 6 } is het bijbehorend stel -variabelen eze basisoplossing is geen etreem punt! variabele is negatief! 0c.7 0c.8...asissen: voorbeeld......asissen: voorbeeld Trofeeprobleem: Maimaliseer +9 waarbij + = 000 (geen oplossing) (0) + +(0) 4 = 500 + (0) + 5 = 750 4 + +(0) + 6 = 4800,,, 4, 5, 6 0 4 vergelijkingen, 6 onbekenden N-variabelen N={ 4 }; ={,,, 5, 6 } (geen unieke oplossing) Indien er een lichtjes verschillend stelsel had gestaan + = 000 (0) + +(0) 4 = 0 + (0) + 5 = 750 4 + +(0) + 6 = 4800,,, 4, 5, 6 0 4 vergelijkingen, 6 onbekenden N-variabelen N={, 4 }; ={,, 5, 6 } (oneindig veel ) N={, 4 }; ={,, 5, 6 } (geen oplossing) esluit: niet zomaar elk stel variabelen zijn N-variabelen 0c.9 {, 4 } nog steeds geen geldig stel N-variabelen! e waarde van de rechterleden heeft geen belang voor wat betreft de geldigheid (controleer!) 0c.0
Simplemethode: basisprincipe Vind een etreem punt (0) (zie verder) Ga van een etreem punt (i) naar een naburig etreem punt (i+) met een betere kost eschouw hiervoor een ribbe uit (i) (gekozen uit een beperkte set van zogenaamde simplerichtingen) indien de kost langs deze ribbe verbetert, kies dan het eindpunt van die ribbe als volgend etreem punt (i+) ; indien er geen eindpunt is dan is de optimale kost ± Zoniet, probeer een nieuwe ribbe Indien er geen verbeterende ribben zijn, dan is (i) optimaal (Reden: zie verder ) 0c. 000 000 treme punten en standaardvorm 4 = 0, (S) Originele beperkingen: : 000 : 500 : + 750 : 4 + 4800 : 0 : 0 Standaardvorm: 5 = 0, (S) + = 000 + 4 = 500 (S) + + 5 =750 4 000 000 + + 6 = 4800 : 0 : 4 0 etreem punt punt op simplerichting 4 =0, 5 =0, (S) 4 >0, 5 =0, (S) 0c. Simple-richtingen in standaardvorm Hoe vinden we enkele ribben uit een etreem punt? etreem punt : =b b 0 nb = 0 ls we een ongelijkheid inactief laten worden dan vormen de een rechte door die mogelijks een ribbe bevat een dergelijke rechte heet een simplerichting We bereiken een punt op de ribbe door component van nb strikt groter dan 0 te maken (= ongelijkheid deactiveren) j-de positie treem punt: Richting j: nb =0 r nb (λ) =λ(0 0) t λ 0 b = - b (b- nb nb ) r b (λ) = - b (b- nb r nb (λ)) λ [ 0, λ ma ] = - b b b 0 λ ma is de grootste waarde van λ waarvoor r b (λ) 0 ltijd: λ ma 0 want r b (0)= b 0; meestal: λ ma > 0 ribbe-gedeelte van de simplerichting 0c. Simplerichtingen en ribben etreem punt n= variabelen R In het blauw etreem punt zijn er 5 ribben e variabelen a, b, c corresponderend met de ongelijkheden, en zijn geldige N-variabelen Ze definiëren simplerichtingen: a 0, b =0, c =0 lijnstuk bepaald door en ribbe R a =0, b 0, c =0 punt bepaald door en λ ma = 0 a =0, b =0, c 0 lijnstuk bepaald door en ribbe R de simplerichtingen geven maar van de 5 echte ribben, plus nog een gedegenereerde ribbe (met λ ma = 0) R 0c.4
...Simplerichtingen en ribben efinitie: Gedegenereerd etreem punt R etreem punt n= variabelen R ndere N-variabelen geven andere simplerichtingen en ribben b.v. a, e, d definiëren andere simplerichtingen: a 0, e =0, d =0 lijnstuk bepaald door en ribbe R a =0, e 0, d =0 punt bepaald door en λ ma = 0 a =0, e =0, d 0 lijnstuk bepaald door en ribbe R esluit: als we om één of andere reden alle ribben nodig hebben dan zullen we verschillende basissen moeten beschouwen 0c.5 etreem punt n= variabelen In het blauw etreem punt zijn 5 ongelijkheden actief in standaardvorm zijn daar 5 variabelen nul nderzijds zijn actieve ongelijkheden (b.v.,,) voldoende om het etreem punt vast te leggen in standaardvorm zijn er N-variabelen esluit: er zijn ook nog 5 - = -variabelen nul Gedegenereerd etreem punt: etreem punt waarin naast de N-variabelen ook een aantal -variabelen nul zijn 0c.6...Gedegenereerde etreme punten : 4 =0 : 5 =0 0 0 + Probeer 4 = 5 =0 unieke oplossing (,,0,0,0) N={ 4, 5 } en ={,, } gedegenereerd etreem punt + = + 4 = + + 5 = Naast de N-variabelen is ook nul Gedegenereerd etreem punt: etreem punt waarin meer ongelijkheden dan nodig actief zijn (alternatieve definitie) e N-variabelen bepalen simplerichtingen, waarvan gedegenereerde (λ ma = 0) 0c.7 treme punten en simplerichtingen esluit: een basisoplossing moet volledig vastliggen door de keuze nb = 0 is dus uniek bepaald door de keuze van een basis b de unieke b is dan b = b - b en etreem punt moet bovendien mogelijk zijn: 0 lke simplerichting uit zo een is van de vorm r b (λ)= - b (b- nb r nb (λ)) met r nb (λ)=λ(0 0) t het naburig etreem punt (i+) op die ribbe is r b (λ ma ) met λ ma de grootste waarde van λ waarvoor r b (λ) 0 r zijn normaal minstens evenveel ribben als simplerichtingen Sommige simplerichtingen geven gedegenereerde ribben Verschillende simplerichtingen geven verschillende ribben (althans als deze ribben niet gedegenereerd zijn) 0c.8
anpassing van de basis Opmerking ij λ=λ ma bereiken we het eindpunt (i+) van de gevolgde ribbe daar wordt een basisvariabele nul (zoniet zouden we λ kunnen verhogen) Om vanuit de ribben uit (i+) te zoeken moeten we eerst een basis zoeken voor (i+) en N- en -variabelen e huidige keuze is niet goed want we hebben N-variabele positief gemaakt om de ribbe te volgen Kies als nieuwe N-variabelen de N-variabelen die nog steeds nul zijn in (i+) de (of een) -variabele die nul werd in (i+) In de les kwamen enkele slides uit deze presentatie niet aan bod; deze slides zijn bedoeld voor zelfstudie tenzij anders vermeld 0c.9 0c.0 ewijs... Lineair programmeren. en basisoplossing die mogelijk is, is een etreem punt ewijs: stel is een basisoplossing =b en nb =0: b uniek en een oplossing maar geen etreem punt 0 b 0 ligt op een lijnstuk tussen twee y en z: =α y+(-α) z met 0 < α < y=b, y 0, z=b, z 0 ppendi y 0 en z 0 y nb, z nb 0 0 = nb =α y nb +(-α) z nb y nb =z nb = 0 b = - b (b- nb nb )= - b b b =y b = y y b = - b (b- nb y nb )= - b b Idem voor z = y = z geen lijnstuk maar een punt 0c.
...ewijs. en etreem punt is een basisoplossing Triviaal 0c.