De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

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

Verwante presentaties


Presentatie over: "Didactisch materiaal bij de cursus Academiejaar 2011-2012 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: 26/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, ” 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 Optimale stromen Stroomverhogende paden en “cycle cancelling”

4 © W. Philips, Universiteit Gent, versie: 26/3/ d. 4 Opmerking Slides die in de les werden overgeslagen zijn bedoeld voor zelfstudie (tenzij anders vermeld)

5 © W. Philips, Universiteit Gent, versie: 26/3/ d. 5 2 s t SS Probleemstelling Gegeven een transportnetwerk (datatransmissie, water, …) met een bronknoop s en een afvoerknoop t Elke leiding in het netwerk heeft een gekende capaciteit c De distributieknopen moeten de stromen zodanig herverdelen dat de totale stroom S van s naar t maximaal wordt Veralgemeend probleem: gegeven takwinsten w> 0, zoek de stroom met de grootste winst (of kleinste kost) 2,02,0 s t 2,02,0 6,06,0 6,16,1 3,03,0 3,03,0 4,04,0 8,18,1 3,03,0 2,12,1 s t 2,32,3 6,06,0 6,36,3 3,13,1 3,33,3 4,24,2 8,28,2 3,53,5 c,w met c : capaciteit w : winst S S Speciaal geval: enkel winst geassocieerd aan takken uit s

6 © W. Philips, Universiteit Gent, versie: 26/3/ d. 6 Stroombehoud: voorbeeld In elke knoop met de wet van het stroombehoud voldaan zijn: Generatie van stroom+Inkomende stromen =Verbruik van stroom+Uitgaande stromen Voorbeeld: I 1 +I 2 =10I 2 =I 3 I 1 +I 4 =I In elke tak moeten de capaciteitsbeperkingen voldaan zijn: 0  I 1  60  I 2  5 0  I 3  4… Uitbreiding: ondergrenzen op de takstromen Bronkoop: genereert stroom Afvoerknoop: neemt stroom op Distributieknoop I1I1 Capaciteit I2I2 I3I3 I4I4 I5I5 4

7 © W. Philips, Universiteit Gent, versie: 26/3/ d. 7 Oplossingsmethoden Stroomverhogende-padenmethode eenvoudigste methode: enkel voor het maximum-stroom probleem Cycle cancelling verbeterde versie van stroomverhogende-padenmethode: geldt ook voor maximum-winst stroom Simplexmethode (het probleem is een lineair programma!) Netwerksimplexmethode simplexmethode speciaal aangepast aan maximum-winst stroomproblemen kan ook dienen voor problemen met opgedrongen stroom waarbij men de kost/winst wil minimaliseren/maximaliseren

8 © W. Philips, Universiteit Gent, versie: 26/3/ d. 8 Stroomverhogende paden: principe... Principe:Zoek een pad waarlangs de stroom kan verhogen (b.v. met Ford met alle takkosten gelijk aan 1 gekozen) en verhoog de stroom langs dat pad zoveel mogelijk De stroombehoudswetten blijven hierbij voldaan Een pad dat enkel zwarte en rode takken bevatten is een stroomverhogend pad a 2,2 sb c d e f t 2,32,2 2,3 0,2 2,5 0,1 0,4 2,4 tak met nulstroom andere tak gesatureerde tak s,c : stroom, capaciteit mogelijke verhoging: min(3-2,5-2,4-2)=1 stroomverhogend pad Totale stroom uit s : 2+2+0=4

9 © W. Philips, Universiteit Gent, versie: 26/3/ d. 9...Stroomverhogende paden: principe Probleem: op het eerste zicht er zijn geen verhogende paden meer en toch is het resultaat niet optimaal a 2,2 sb c d e f t 2,32,2 3,33,3 0,2 3,53,5 0,1 0,4 3,43,4 tak met nulstroom andere tak gesatureerde tak s,c : stroom, capaciteit Totale stroom uit s : 3+2+0=5 mogelijke verhoging: min(2-0,1-0,2,1-0,4-0)=1 stroomverhogende ketting Er bestaan hier stroomverhogende kettingen Kettingen kunnen ook takken met strikt positieve stroom (=rode en grijze takken) gebruiken, maar in tegengestelde zin

10 © W. Philips, Universiteit Gent, versie: 26/3/ d Stroomverhogende paden Nu zijn er geen stroomverhogende kettingen meer van s naar t, d.w.z. paden die bestaan uit zwarte takken, in de zin van hun pijl rode takken, in de zin van hun pijl of in tegengestelde zin grijze takken, in tegengestelde zin van hun pijl  (zonder bewijs): het optimum werd bereikt a 2,2 sb c d e f t 1,31,3 3,3 1,21,2 3,5 0,1 1,11,1 1,11,1 1,41,4 3,4 tak met nulstroom andere tak gesatureerde tak s,c : stroom, capaciteit Totale stroom uit s : 3+2+1=6

11 © W. Philips, Universiteit Gent, versie: 26/3/ d. 11 Stroomverhogende paden: algoritme 1. Vertrek met een nulstroom 2. Zoek een stroomverhogende ketting; zo een ketting bestaat uit een aaneenschakeling van pijlen met nulstroom (zwart) pijlen met niet-gesatureerde stroom (rood) pijlen antiparallel aan een pijl met stroom  0 (rood) pijlen antiparallel aan een pijl met gesatureerde stroom (grijs) 3. Stop indien er geen stroomverhogende kettingen meer zijn 4. Verhoog de stroom langs het gevonden pad zoveel mogelijk en ga naar 1 Opmerking: de techniek zou dus beter de “techniek van de stroomverhogende kettingen” worden genoemd

12 © W. Philips, Universiteit Gent, versie: 26/3/ d. 12 Residueel netwerk Het residueel (R) netwerk geeft voor elke tak aan of men de stroom in die tak nog kan verhogen of verlagen elke tak geeft 1 of 2 takken in het R-netwerk de residuele (R) capaciteit van zo een tak is de maximale verhoging of verlaging die mogelijk is s,c : stroom, capaciteit 2,2 s t 0,6 0,3 0,4 2,8 2, Een stroomverhogend ketting in het origineel netwerk is dus equivalent met een pad (van s naar t ) in the R-netwerk s t

13 © W. Philips, Universiteit Gent, versie: 26/3/ d s t Algoritme: het zoeken van een pad... 0 Stap 1: scan s Stap 2: scan de gele knopen om zo nieuwe knopen te bereiken Nieuw-bereikte knopen, kleuren we rood; de d -waarde van een knoop=het aantal takken in het pad naar die knoop (overbodig) s t 2 2 In stap 3 kunnen enkel de takken uit de rode knopen nieuwe paden vormen; de andere mogelijkheden hebben we al getest Knopen worden hier nooit meer dan eens gescand! 22

14 © W. Philips, Universiteit Gent, versie: 26/3/ d s t s t … Algoritme: het zoeken van een pad Stap 3: scan de gele knopen Stop omdat we t bereiken 3 Dit is Bellman-Ford, maar enkele vereenvoudigingen zijn moge- lijk omdat men weet dat elke knoop maar eens gescand wordt Dijkstra zou hier exact dezelfde berekeningen doen Ook het algoritme voor het zoeken van een opspannende boom kan hier dienen om een pad te zoeken van s naar t

15 © W. Philips, Universiteit Gent, versie: 26/3/ d. 15 Convergentie Zonder bewijs: Als het algoritme stopt dan is de eindstroom optimaal Het algoritme stopt zeker als de capaciteiten gehele getallen zijn; zoniet is er geen garantie dat het stopt na een eindige tijd of zelfs dat het convergeert naar een optimum Soms convergeert het algoritme uiterst traag in het voorbeeld zal het algoritme in het slechtste geval de paden s-a-b-t en s-b-a-t alternerend verbeteren  1000 iteraties nodig! b s a t 0,1 0,1000 b s a t 1,11,1 1,1000 0,1000 b s a t 1,1000 0,10,1

16 © W. Philips, Universiteit Gent, versie: 26/3/ d. 16 Netwerken met takwinsten Als er takkosten voorkomen moet we zoeken naar stroomverbeterende i.p.v. stroomverhogende paden s,c,k : stroom, capaciteit, winst 2,2,4 s t 2,2,3 0,6,2 0,3,3 0,3,4 0,4,3 2,8,2 2,3,1 2,-4 2,-3 6,26,2 6,26,2 3,33,3 3,43,4 4,34,3 6,26,2 2,-2 1,11,1 2,-1 Bij maximalisatie zijn dit paden van s naar t met een strikt positieve winst in het residueel netwerk; bij minimalisatie zijn het paden met en strikt negatieve kost De kosten in het residueel netwerk zijn gelijk of tegengesteld aan de kosten in het origineel netwerk s t

17 © W. Philips, Universiteit Gent, versie: 26/3/ d. 17 Voorbeeld 1: Stroomverbeterende paden Basisidee: vertrek weer met een “nulstroom” s,c,k : stroom, capaciteit, winst 0,2,1 s t 0,2,3 0,6,0 0,6,3 0,3,1 0,3,3 0,4,2 0,8,2 0,3,5 Maximalisatie Zoek een pad waarlangs de stroom verbetert (methode: b.v met variant van Bellman-Ford); en verbeter de stroom Stop wanneer er geen verbeterende paden meer zijn Gebruik een hulpgraaf om de verbeterende paden te zoeken

18 © W. Philips, Universiteit Gent, versie: 26/3/ d. 18 s t Residueel Voorbeeld 1: Stap 1 Langs het verbeterend pad kunnen we de stroom verhogen met een bedrag gelijk aan min(8,4,3)=3  winst=0+3*9 s,c,k : stroom, capaciteit, winst 0,2,1 s t 0,2,3 0,6,0 0,6,3 0,3,1 0,3,3 0,4,2 0,8,2 0,3,5 Origineel verbeterend pad (2+2+5>0) 8,28,2 3,5 3,5 4,24,2 tak met nulstroom andere tak gesatureerde tak

19 © W. Philips, Universiteit Gent, versie: 26/3/ d. 19 s t Residueel Voorbeeld 1: Stap 2 Langs het verbeterend pad kunnen we de stroom verhogen met een bedrag gelijk aan min(8-3,2-0,6-0)=2  winst=27+3*2 s,c,k : stroom, capaciteit, winst 0,2,1 s t 0,2,3 0,6,0 0,6,3 0,3,1 0,3,3 3,4,23,4,2 3,8,23,8,2 3,3,53,3,5 Origineel verbeterend pad (2+1+0>0) 2,12,1 6,06,0 5,25,2 tak met nulstroom andere tak gesatureerde tak

20 © W. Philips, Universiteit Gent, versie: 26/3/ d. 20 s t Residueel Voorbeeld 1: Stap 3 Langs het verbeterend pad kunnen we de stroom verhogen met een bedrag gelijk aan min(6-0,3-0,2-0,6-2)=2  winst=33+9*2 s,c,k : stroom, capaciteit, winst 2,2,12,2,1 s t 0,2,3 2,6,02,6,0 0,6,3 0,3,1 0,3,3 3,4,2 5,8,25,8,2 3,3,5 Origineel verbeterend pad ( >0) 2,32,3 4,04,0 6,36,3 3,33,3 tak met nulstroom andere tak gesatureerde tak

21 © W. Philips, Universiteit Gent, versie: 26/3/ d. 21 s t Residueel Voorbeeld 1: Stap 4 Er zijn geen paden van s naar t in het R-netwerk  optimum werd bereikt s,c,k : stroom, capaciteit, winst 2,2,1 s t 2,2,32,2,3 4,6,04,6,0 2,6,32,6,3 0,3,1 2,3,32,3,3 3,4,2 5,8,2 3,3,5 Origineel verbeterend circuit (3+1-2>0) Langs het verbeterend circuit kunnen we de stroom verhogen met een bedrag gelijk aan min(6-2,3-0,5)=3  winst=51+3*2 tak met nulstroom andere tak gesatureerde tak 4,34,3 3,13,1 5,-2

22 © W. Philips, Universiteit Gent, versie: 26/3/ d. 22 Voorbeeld 1: Stap 5 s,c,k : stroom, capaciteit, winst 2,2,1 s t 2,2,3 4,6,0 5,6,35,6,3 3,3,13,3,1 2,3,32,3,3 3,4,2 2,8,22,8,2 3,3,5 s t Residueel Origineel tak met nulstroom andere tak gesatureerde tak verbeterend circuit ( >0) 1,31,3 1,31,3 3,-2 2,-2 Langs het verbeterend circuit kunnen we de stroom verhogen met een bedrag gelijk aan min(6-5,3,2)=1  winst=57+1*2

23 © W. Philips, Universiteit Gent, versie: 26/3/ d. 23 Voorbeeld 1: Stap 6 s,c,k : stroom, capaciteit, winst 2,2,1 s t 2,2,3 4,6,0 6,6,36,6,3 3,3,1 3,3,33,3,3 2,4,22,4,2 1,8,21,8,2 3,3,5 Origineel tak met nulstroom andere tak gesatureerde tak In het residueel netwerk zijn nu geen paden van s naar t met positieve winst geen circuits meer met positieve winst  het optimum is bereikt (zonder bewijs) s t Residueel

24 © W. Philips, Universiteit Gent, versie: 26/3/ d. 24 Opmerkingen en vragen Dit kan het best met Floyd-Warshall hoe en waarom? waarom kan dat niet Bellman-Ford of met Dijkstra? In het maximum-stroom probleem zoekt men enkel verbeterende paden In het maximum-winst stroomprobleem zoekt men verbeterende paden en verbeterende circuits Waarom moet men in het maximum-stroom probleem geen verbeterende circuits opsporen? Het algoritme zoekt stroomverbeterende paden van s naar t, en stroomverbeterende circuits

25 © W. Philips, Universiteit Gent, versie: 26/3/ d. 25 Door het invoeren van een terugvoertak wordt “een stroomverbeterend pad van s naar t ” een bijzonder “stroom-verbeterend circuit” “Cycle-cancelling”- formulering  “Cycle-cancelling” algoritme voor maximale-winst stroom: voeg een tak toe van t naar s met capaciteit +  en kost 0 zoek een stroomverbeterend circuit (circuitkost >0 bij maxi- malisatie en <0 bij minimalisatie) en verbeter de stroom stop als er geen verbeterende circuits meer zijn Zonder bewijs: het optimum is bereikt  er geen verbeterende circuits meer zijn 0,2,1 s t 0,2,3 0,6,0 0,6,3 0,3,1 0,3,3 0,4,2 0,8,2 0,3,5 0,+ ,0

26 © W. Philips, Universiteit Gent, versie: 26/3/ d. 26 Cycle-cancelling: Convergentie Zonder bewijs: Als het algoritme stopt dan is de eindstroom optimaal b s a t 0,1 0,1000 Het algoritme stopt zeker als de capaciteiten gehele getallen zijn; zoniet is er geen garantie dat het stopt na een eindige tijd of zelfs dat het convergeert naar een optimum Soms convergeert het algoritme uiterst traag in het voorbeeld zal het algoritme in het slechtste geval de circuits s-a-b-t-s en s-b-a-t-s alternerend verbeteren  1000 iteraties nodig! 0,  b s a t 0,1000 1,11,1 1,1000 0,1000 1,1, b s a t 1,1000 0,10,1 2,2,

27 © W. Philips, Universiteit Gent, versie: 26/3/ d. 27 Uitbreiding voor opgedrongen stromen 2,42,4 s t 2,32,3 6,26,2 6,26,2 3,33,3 3,43,4 4,34,3 8,28,2 3,13, ,0+,0 Soms worden ook bron- en afvoerstromen opgelegd in sommige knopen of minimumstromen in de takken de som van de opgegeven bronstromen moet exact gelijk zijn aan de som van de afvoerstromen; waarom? Uitbreiding van het algoritme: stap 1: zoek een initiële stroom die aan de bron- en afvoer- voorwaarden voldoet stap 2: pas “cycle-cancelling” toe Stop als er geen verbeterende cycli meer zijn; het optimum is dan bereikt

28 © W. Philips, Universiteit Gent, versie: 26/3/ d. 28 2,42,4 2,32,3 6,26,2 6,26,2 3,33,3 3,43,4 4,34,3 8,28,2 3,13,1 +,0+,0 0,2,0 0,6,0 0,3,0 0,4,0 0,8,0 0,3,0 0,+ ,0 Opgedrongen stroom: initiële stroom… Om een initiële stroom te zoeken creëren we een hulpnetwerk een hulpknoop h voert alle nodige stroom toe aan alle afvoerknopen en neemt alle stroom op van alle bronknopen s t 1 1 s,c,w : stroom, capaciteit, winst h 1,+ ,1 de hulptakken hebben kost 1; alle andere takken kost 0 alle takken behalve de hulptakken hebben initieel stroom 0 We zoeken een minium-kost stroom in het hulpnetwerk s,c,k : stroom, capaciteit, kost/winst  stroombehoud is initieel voldaan in het hulpnetwerk

29 © W. Philips, Universiteit Gent, versie: 26/3/ d. 29 2,42,4 2,32,3 6,26,2 6,26,2 3,33,3 3,43,4 4,34,3 8,28,2 3,13,1 +,0+,0 0,2,0 0,6,0 0,3,0 0,4,0 0,8,0 0,3,0 0,+ ,0 s t 1 1 h 1,+ ,1 1,6,01,6,0 1,+,01,+,0 1,3,01,3,0 0,+,10,+,1 0,+,10,+,1 …Opgedrongen stroom: initiële stroom Na het verlagen van de stroom langs het verbeterend pad hebben we een stroom 0 in de rode takken  wat overblijft is een mogelijke stroom in het origineel netwerk s,c,k : stroom, capaciteit, kost/winst verbeterend circuit (pad waarlangs we de stroomkost kunnen laten zakken door extra stroom toe te voeren)

30 © W. Philips, Universiteit Gent, versie: 26/3/ d. 30 2,42,4 2,32,3 6,26,2 6,26,2 3,33,3 3,43,4 4,34,3 8,28,2 3,13,1 +,0+,0 0,2,0 0,6,0 0,3,0 0,4,0 0,8,0 0,3,0 0,+ ,0 s t 1 1 1,6,01,6,0 1,+,01,+,0 1,3,01,3,0 …Opgedrongen stroom: initiële stroom Na het verlagen van de stroom langs het verbeterend pad hebben we een stroom 0 in de rode takken  dit is een mogelijke stroom in het origineel netwerk s,c,k : stroom, capaciteit, kost/winst Meestal zijn meerdere stappen nodig zijn om kost 0 te bereiken Als de optimale stroom in het hulpprobleem een kost > 0 heeft, dan heeft het origineel probleem geen mogelijke oplossingen

31 © W. Philips, Universiteit Gent, versie: 26/3/ d. 31 Gehele stromen… Belangrijke stelling: als alle takcapaciteiten gehele getallen zijn en als bovendien alle opgedrongen stromen geheel zijn dan bestaat er een optimum met alle takstromen geheel Reden de algoritmen gebruiken enkel optellingen en aftrekkingen het resultaat van de bewerkingen zal dus geheel zijn op voorwaarde dat alle gegeven getallen geheel zijn Opmerking: de takkosten/winsten hoeven niet geheel te zijn deze worden immers niet rechtstreeks gebruikt in de berekeningen enkel de tekens van circuitkosten worden gebruikt en +1 en -1 zijn gehele getallen

32 © W. Philips, Universiteit Gent, versie: 26/3/ d. 32 … Gehele stromen Belangrijke stelling: als alle takcapaciteiten gehele getallen zijn en als bovendien alle opgedrongen stromen geheel zijn dan bestaat er een optimum met alle takstromen geheel Opmerking: er kunnen meerdere optima zijn en dan hoeven niet alle optima gehele takstromen te hebben geheel optimum s 50,100 t 100,100 niet-geheel optimum s 50.5, ,100 t 100,100

33 Optimale stromen Het netwerksimplexalgoritme (zelfstudie)

34 © W. Philips, Universiteit Gent, versie: 26/3/ d. 34 x1 x1 x2 x2 x3 x3 De netwerksimplexmethode Als we de stromen in de takken x j noemen dan is het zoeken van de optimale stroom een simplexprobleem 2,42,4 s t 2,32,3 6,26,2 3,43,4 4,34,3 8,28,2 3,13,1 +,0+,0 Takcapaciteiten: 0  x 1  6,0  x 2  3, … Kost: maximaliseer 2 x 1 +3 x 2 +… 6,26,2 3,33,3 Stroombehoud: x 1 - x 2 - x 3 =0, … Het simplexalgoritme kan hier echter worden vereenvoudigd want de vergelijkingen zijn eenvoudig: alle coëfficiënten zijn 0 of  1 de ongelijkheden zijn bijzonder eenvoudig (  ideaal voor de standaardvorm met boven- en ondergrenzen)  resultaat: het netwerksimplexalgoritme

35 © W. Philips, Universiteit Gent, versie: 26/3/ d. 35 Netwerksimplex Stelling: beschouw een opspannende boom in de graaf (de zin van de pijlen heeft hier geen belang) de variabelen x i geassocieerd aan de takken van de opspannende boom zijn geldige B-variabelen de variabelen x j geassocieerd aan de koorden van de opspannende boom zijn de corresponderende NB-variabelen In een extreem punt voeren elke NB-tak ofwel geen stroom ofwel is hij gesatureerd (reden: ongelijkheid moet actief zijn) Bewijs: deel 1: stel dat we alle NB-variabelen opgegeven  dan kunnen we zeker 1 B-variabele berekenen deel 2: als we reeds een aantal B-variabelen berekend hebben, dan kunnen we er nog één berekenen uiteindelijk liggen alle B-variabelen dus éénduidig vast als functie van de NB-variabelen  definitie basis is voldaan

36 © W. Philips, Universiteit Gent, versie: 26/3/ d. 36 Bewijs: De B-boom en de NB-koorden… Bewijs, deel 1: Een boom bevat minstens twee knopen van graad 1 2,42,4 s t 2,32,3 6,26,2 3,43,4 4,34,3 8,28,2 3,13,1 +,0+,0 x1 x1 6,26,2 3,33,3 x2 x2 x3 x3 B-tak: in een extreem punt: 0  x j  c j tak met x j = 0 gesatureerde tak: x j =c j NB-tak Opmerking: in een gedegenereerd extreem punt kan een B-tak gesatureerd zijn of stroom 0 voeren In zo een knoop (b.v. de blauwe) volgt uit het stroombehoud een vergelijking waaruit we een B-variabele kunnen berekenen als functie van reeds gekende variabelen: x 3 = x 1 -x 2  we kunnen één B-variabele ( x 3 ) berekenen

37 © W. Philips, Universiteit Gent, versie: 26/3/ d. 37 … Bewijs: De B-boom en de NB-koorden Bewijs, deel 2: Deze boom bevat weer minstens twee knopen van graad 1 2,42,4 s t 2,32,3 3,43,4 4,34,3 8,28,2 3,13,1 +,0+,0 x4 x4 6,26,2 3,33,3 x3 x3 al gekende tak (B of NB) nog onbekende B-tak x5 x5 We kleuren de gekende takken groen en de andere rood 6,26,2 x6 x6 De nog onbekende B-takken vormen nog steeds een boom, maar met 1 tak minder In zo een knoop (b.v. de blauwe) kunnen we via stroombe- houd een B-variabele berekenen als functie van gekende variabelen: x 4 =-x 3 -x 5 + x 6  Zo kunnen we één voor één alle B-variabelen eenduidig berekenen bij gegeven NB-variabelen  de basis is “geldig”

38 © W. Philips, Universiteit Gent, versie: 26/3/ d. 38 Stap 1a: Simplexrichtingen... We verkrijgen een simplexrichting door in een NB-tak met x j = 0, x j te laten toenemen met een bedrag of in een NB-tak met x j =c j, x j te laten afnemen met Met de berekeningstechniek uit het bewijs kunnen we dan de corresponderende verandering van de B-variabelen berekenen 0,2,4 s t 0,2,3 0,3,4 0,4,3 0,8,2 0,3,1 0,+ ,0 x4 x4 0,6,2 x3 x3 x5 x5 s,c,w : stroom, capaciteit, winst B-tak: in een extreem punt: 0  x j  c j tak met x j = 0 gesatureerde tak: x j =c j NB-tak 0,3,3 0,6,2 0,2,40,2,4 0,2,3 0,3,40,3,4,4,3,8,2,3,1,+ ,0 0,6,2 0,3,3 x6 x6 geselecteerde NB-tak Initieel extreem punt: alle stromen nul

39 © W. Philips, Universiteit Gent, versie: 26/3/ d. 39 de stroom in een B-tak op dit circuit verandert met ± de stroom in de andere B-takken verandert niet Eigenschap: de NB-tak vorm met de B-boom een uniek circuit ….Stap 1a: Simplexrichtingen… 0,2,4 s t 0,2,3 0,3,4 0,4,3 0,8,2 0,3,1 0,+ ,0 x4 x4 0,6,2 x3 x3 x5 x5 andere B-tak 0,3,3 0,6,2 0,2,40,2,4 0,2,3 0,3,40,3,4,8,2,3,1,+ ,0 0,6,2 0,3,3 x6 x6 geselecteerde NB-tak Besluit: simplexrichting zoeken  circuit opsporen + als de B-tak en de NB-tak dezelfde zin hebben - als de B-tak en de NB-tak tegengestelde zin hebben B-tak op het circuit,4,3

40 © W. Philips, Universiteit Gent, versie: 26/3/ d. 40 luswinst: ( ) >0  verbeterend voor >0 Het teken van de totale circuitkost bepaalt of de richting verbetert ….Stap 1a: Simplexrichtingen 0,2,4 s t 0,2,3 0,3,4 0,4,3 0,8,2 0,3,1 0,+ ,0 x4 x4 0,6,2 x3 x3 x5 x5 andere B-tak 0,3,3 0,6,2 0,2,40,2,4 0,2,3 0,3,40,3,4,4,3,8,2,3,1,+ ,0 0,6,2 0,3,3 x6 x6 geselecteerde NB-tak Maximale stap: max =min(3,+ ,8,4)=3 B-tak op het circuit

41 © W. Philips, Universiteit Gent, versie: 26/3/ d. 41 Het opdrijven van de stroom stopt omdat een tak satureert of omdat de stroom in een tak zakt tot nul; in simplex met onder en bovengrenzen zijn er twee mogelijkheden 1. de NB-variabelen blijven geldig  het is de NB-tak die satureert  de basis (en dus de B-boom) verandert niet 2. er is een verandering van basis nodig  het is een B- variabele (B-tak) die satureert  deze variabele verdwijnt uit de basis, d.w.z. de B-tak verdwijnt uit de B-boom Stap 1b: Nieuw extreem punt 0,2,4 s t 0,2,3 0,3,4 0,4,3 0,8,2 0,3,1 0,+ ,0 x4 x4 0,6,2 x3 x3 x5 x5 s,c,w : stroom, capaciteit, winst 0,3,3 0,6,2 0,2,3 3,4,33,4,3 3,8,23,8,2 3,3,13,3,1 3,+,03,+,0 0,6,2 0,3,3 x6 x6 andere B-tak geselecteerde NB-tak B-tak op het circuit we zitten hier in geval 1!

42 © W. Philips, Universiteit Gent, versie: 26/3/ d. 42 Het teken van de totale circuitkost bepaalt of de richting verbetert luswinst: (3-3+4) >0  verbeterend (maximalisatie) Maximale stap: max =min(2-0,3-0,2-0)=2 Het opdrijven van de stroom stopt omdat een tak satureert of omdat de stroom in een tak zakt tot nul hier satureert (o.a.) de NB-tak zelf  de B-boom verandert niet Stap 2 0,2,4 s t 0,2,3 0,3,4 3,8,2 3,3,1 3,+ ,0 x4 x4 0,6,2 x3 x3 x5 x5 s,c,w : stroom, capaciteit, winst 0,3,3 x6 x6 andere B-tak geselecteerde NB-tak B-tak op het circuit 3,4,3 2,2,42,2,4 2,2,32,2,31,4,31,4,3

43 © W. Philips, Universiteit Gent, versie: 26/3/ d. 43 Stap 3 2,2,4 s t 2,2,3 0,3,4 3,8,2 3,3,1 3,+ ,0 x4 x4 0,6,2 x3 x3 x5 x5 s,c,w : stroom, capaciteit, winst 0,3,3 x6 x6 andere B-tak geselecteerde NB-tak B-tak op het circuit Het teken van de totale circuitkost bepaalt of de richting verbetert luskost: ( ) >0  verbeterend voor   Maximale stap: max =min(6-0,3-0,1-0,3-0)=1 Nu stopt het opdrijven van de stroom omdat de stroom in de B-tak nul wordt  deze tak verdwijnt uit de B-boom en wordt vervangen door de NB-tak 1,4,3 1,3,41,3,4 2,8,22,8,2 1,6,21,6,2 0,4,30,4,3

44 © W. Philips, Universiteit Gent, versie: 26/3/ d. 44 Stap 4: aanpassing B-boom 2,2,4 s t 2,2,3 1,3,41,3,4 2,8,22,8,2 3,3,1 3,+ ,0 x4 x4 1,6,21,6,2 x3 x3 x5 x5 0,6,2 s,c,w : stroom, capaciteit, winst 0,3,3 x6 x6 andere B-tak geselecteerde NB-tak B-tak op het circuit En zo verder… Belangrijke opmerking: we doen hier simplex met onder- en bovengrenzen; gesatureerde NB-takken definiëren ook simplexrichtingen We mogen pas stoppen als het verhogen van geen enkele NB- variabele x j = 0 en het verlagen van geen enkele NB-variabele x j =u j tot een betere winst leidt 0,4,30,4,3

45 © W. Philips, Universiteit Gent, versie: 26/3/ d. 45 0,1,1 Voorbeeld 2 Hier levert de verzadigde NB- tak ook een verbeterende simplexrichting op: bij verlagen van de stroom met, stijgt de winst met -(1+1-3) b s a t 0,100,1 0,100,3 0,+ ,0 1,1,11,1,1 1,100,1 1,+,01,+,0 1,+ ,0 1,100,10,100,3 b s a t 1,1,1 0,100,1 1,100,1 100,100,199,100,3 100,+ ,0 b s a t 1,1,1 0,100,1 1,100,1 100,100,199,100,3 100,+ ,0 0,1,10,1,1 0,100,1 100,100,3

46 Huwelijksproblemen

47 © W. Philips, Universiteit Gent, versie: 26/3/ d. 47 Soorten problemen Maximum aantal: Probeer zoveel mogelijk koppels te vormen; elke tak is een mogelijk koppel Minimum-kost/maximum winst: de takken hebben kosten; zoek de duurste of goedkoopste oplossing (eenvoudige uitbreiding van minimum- aantal  zelf) manvrouw Top-10: elke man sorteert alle vrouwen volgens dalende voorkeur; elke vrouw sorteert alle mannen volgens dalende voorkeur; vorm stabiele koppels: iedere man is getrouwd met de beste vrouw die hij kan krijgen en elke vrouw is getrouwd met de beste man die zij kan krijgen  elke tak heeft hier dus twee getallen (man- en vrouwvoorkeur)

48 © W. Philips, Universiteit Gent, versie: 26/3/ d. 48 Probeer zoveel mogelijk koppels te vormen; elke tak is een mogelijk koppel manvrouw manvrouw s t Equivalent stroomprobleem: alle takcapaciteiten gelijk aan 1 maximaliseer stroom van s naar t alle takstromen binair  Integer linear program Maximum-aantal: stroomformulering

49 © W. Philips, Universiteit Gent, versie: 26/3/ d. 49 Correctheid van de modellering De stroombeperkingen in de blauwe takken dringen mutuele exclusiviteit op (monogame huwelijken) manvrouw s t x 11 x 13 x 44 x 43 x 11 +x 31 +x 41 +x 51  1  dringt mutuele exclusiviteit op: vrouw 1 mag met hoogstens 1 man trouwen x 11 +x 13  1 Winstcriterium: totale stroom = x 11 + x 13 + x 22 + x 23 + x 31 + x 32 + x 41 + x 42 + x 43 + x 44 + x 51 De winst bevat alle koppel-variabelen en is gelijk aan het aantal geselecteerde ( x ij =1) koppels omdat alle x ij binair zijn Relaxatie: vervang x ij binair door 0  x ij  1  zuiver maximum- stroomprobleem

50 © W. Philips, Universiteit Gent, versie: 26/3/ d. 50 Oplossingsmethode We hebben hier een maximum-stroom probleem, maar met binaire variabelen Na continue relaxatie, d.w.z. door de voorwaarden “ x ij binair” te vervangen door “0  x ij  1” krijgen we een zuiver maximum- stroomprobleem Vermits alle takcapaciteiten geheel zijn en er geen opgedrongen stromen zijn weten we echter dat het gerelaxeerd probleem een gehele oplossing heeft  de optimale stroom (na relaxatie) voldoet dus aan de binariteitsvoorwaarden  en levert dus het optimum van het ILP huwelijksprobleem

51 © W. Philips, Universiteit Gent, versie: 26/3/ d manvrouw s t x 11 x 13 x 44 x 43 Voorbeeld: stap 1 Initiële stroom: onderzoek de mannen in volgorde van nummer en koppel hen aan een vrouw als dat nog kan  elk gevormd koppel correspondeert met een stroomverhogend pad Techniek van de stroomverhogende paden tak met nulstroom andere tak gesatureerde tak

52 © W. Philips, Universiteit Gent, versie: 26/3/ d manvrouw s t x 11 x 13 x 44 x 43 Voorbeeld: stap 2 Los verder op met de techniek van de verbeterende paden verbeterend pad tak met nulstroom andere tak gesatureerde tak

53 © W. Philips, Universiteit Gent, versie: 26/3/ d manvrouw s t x 11 x 12 x 44 x 43 Voorbeeld: einde Het is duidelijk dat de stroom optimaal is, vermits alle vrouwen gekoppeld zijn (alle takken naar t verzadigd zijn) Alle takstromen hebben blijkbaar een binaire waarde (geen rode takken)  de oplossing voldoet inderdaad aan de binariteitsvoorwaarde  we hebben het ILP optimum tak met nulstroom andere tak gesatureerde tak

54 © W. Philips, Universiteit Gent, versie: 26/3/ d. 54 Top-10 probleem: probleemstelling Gegeven: 10 mannen en 10 vrouwen; voor elke vrouw: haar mannen top-10; voor elke man; zijn vrouwen top-10 xy 7 3 man x is nummer 7 in de top-10 van vrouw y vrouw y is nummer 3 in de top-10 van man x Gevraagd: vorm stabiele koppels: koppels zijn stabiel als elke man getrouwd is met de beste vrouw die hij kan krijgen en elke vrouw met de beste man die zij kan krijgen xy 7 3 zw de koppels (x,y) en (z,w) zijn hier niet stabiel

55 © W. Philips, Universiteit Gent, versie: 26/3/ d. 55 Top-10: vragen en opmerkingen Is het wel altijd mogelijk om stabiele koppels te vormen? (Ja) Bedenk een algoritme om dergelijke koppels te zoeken Opmerking: voor homohuwelijken bestaan er soms geen stabiele configuraties (x,z) en (y,w) zijn niet stabiel want x en y zien elkaar liever dan hun partners xy 2 1 z w na partnerruil zijn (x,y) en (z,w) echter ook niet stabiel; xy 2 1 z w ook (x,w) en (z,y) zijn instabiel

56 © W. Philips, Universiteit Gent, versie: 26/3/ d. 56 Referenties The stable marriage problem Te kennen hierover: basisalgoritme Gale Shapley en complexiteit algemene eigenschappen van de stabiele oplossing (zonder gedetailleerde bewijzen) weten welke verwante problemen er bestaan


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

Verwante presentaties


Ads door Google