Transshipment problemen Simplex methode en netwerk optimalisatie algoritmes. Luuk van de Sande Begeleider: Judith Keijsper 20 januari 2013

Maat: px
Weergave met pagina beginnen:

Download "Transshipment problemen Simplex methode en netwerk optimalisatie algoritmes. Luuk van de Sande Begeleider: Judith Keijsper 20 januari 2013"

Transcriptie

1 Transshipment problemen Simplex methode en netwerk optimalisatie algoritmes Luuk van de Sande Begeleider: Judith Keijsper 20 januari

2 Inhoudsopgave 1 Transport problemen 3 2 Definities en stellingen 3 3 b-transshipment probleem Reductie Netwerk optimalisatie problemen Kortste pad Max flow Minimaal gewicht perfecte bipartiete matching Simplex methode 12 6 Vergelijking simplex methode met bekende netwerk algoritmes Kortste pad Max flow

3 1 Transport problemen Dit project gaat over de connectie tussen onderwerpen uit de convexe optimalisatie (lineair programmeren en de simplex methode) en onderwerpen uit de optimalisatie in netwerken (kortste pad algoritme, max flow algoritme, enz.). De opdracht is om het minimum cost b-transshipment problem, de formulering van het bijbehorende LP probleem en de toepassing van de simplex methode op de LP te bestuderen. Het doel is om te ontdekken welke bekende netwerk optimalisatie problemen speciale gevallen zijn van het b-transshipment probleem. Verder kan er dan ook worden gekeken naar welke algoritmes die bekend zijn voor het oplossen van netwerk optimalisatie problemen speciale gevallen zijn van de simplex methode. In sommige gevallen kan een goed gekozen pivot regel ervoor zorgen dat de simplex methode overeenkomt met een bekend algoritme voor het oplossen van een netwerk optimalisatie probleem. Het is nog niet bekend of er zo n pivotregel bestaat voor het b-transshipment probleem. Voor de netwerk algoritmes is bekend dat deze in polynomiale tijd gedaan kunnen worden. Dat betekent dat er een polynomiale functie van de grootte van de invoer bij het probleem hoort die een bovengrens is voor het aantal rekenstappen van het algoritme. Voor de simplex methode is dat in het algemeen niet het geval. 2 Definities en stellingen Gerichte graaf Een gerichte graaf is een paar D = (V, A) van een set V, waarvan de elementen vertices worden genoemd een set A van geordende paren vertices, deze worden de pijlen of arcs in de graaf genoemd Totaal unimodulaire matrices Een matrix A is totaal unimodulair (TU) als det(b) { 1, 0, 1} voor elke vierkante deelmatrix B van A. Incidentie matrix Zij D=(V,A) een gerichte graaf. Dan is de incidentie matrix van D de 3

4 V A matrix M = (m va ) v V,a A zodanig dat 1 als v de kop is van a m va = 1 als v de staart is van a 0 anders b-transshipment Zij D=(V,A) een gerichte graaf, zij d : A R { } en c : A R { } een demand- en een capaciteitsfunctie met d(a) c(a) voor alle a A. Zij b : V R met v V b(v) = 0. Een functie x : A R is een b-transshipment als de volgende twee voorwaarden gelden: d(a) x(a) c(a) a A a: kop van a is v x(a) a: staart van a is v x(a) = b(v) v V De functie wordt ook wel de stroom genoemd. De tweede voorwaarde geeft aan dat b(v) gelijk is aan de inkomende stroom min de uitgaande stroom voor ieder punt v. b is dus wat er netto v in gaat. In vectornotatie is dit te schrijven als Mx = b d x c. Polynomiaal algoritme Een polynomiaal algoritme is een algoritme dat in polynomiale tijd wordt uitgevoerd, dus de benodigde tijd, als functie van de grootte van de invoer, wordt begrensd door een polynoom. Polynomiale tijd wordt genoteerd door O(n k ), waarbij n de grootte van de invoer is en k een constante die per probleem kan verschillen. Stelling Zij A een totaal unimodulaire matrix en b Z m, dan zijn de hoekpunten van {Mx = b, x 0} geheeltallig Stelling Gegeven een gerichte graaf D = (V, A) met V A-incidentie matrix M. Voor een set B A zijn de volgende beweringen equivalent: 1. (V,B) is een opspannende boom 4

5 2. de kolommen van de inicidentiematrix M geïndiceerd door B vormen een basis voor de kolommenruimte van M. [Bron: A. Schrijver, Combinatorial opitimization, Algorithms and Combinatorics, vol. 24, Springer-Verslag, Berlin, first ed., 2003, Polyhedra and Efficiency.] 3 b-transshipment probleem Het algemene b-transshipment probleem kan als volgt geformuleerd worden Gegeven: Een gerichte graaf D = (V, A), overschot b R V, kosten k R A, capaciteit and demand c, d R A. Vind: Een flow x R A zodanig dat d x c, en zodanig dat kx zo klein mogelijk is. 3.1 Reductie Het b-transshipment probleem kan worden gereduceerd naar het geval waarin de capaciteit oneindig is en de demand 0. Als een pijl demand d heeft kan deze worden vervangen door drie pijlen waarbij de demand 0 wordt, door de b aan te passen. Dit wordt weergegeven in figuur 1. De betekenis van de twee representaties is hetzelfde. Bij de reductie wordt de b tussen de eerste twee pijlen gelijk aan d. Dit betekent dat er d achterblijft. Aangezien de eerste pijl de enige manier is om dat punt te bereiken moet er minimaal d door die pijl gaan. De hoeveelheid flow die achterblijft wordt na de tweede pijl weer toegevoegd zodat er geen flow verloren gaat. Op een soortgelijke manier kan de capaciteit van de pijlen met d = 0 veranderd worden in oneindig. Ook dan wordt de pijl vervangen door drie nieuwe pijlen: a 1, a 2 en a 3. Deze krijgen allemaal capaciteit oneindig. Pijl a 2 staat in tegengestelde richting. Dit wordt weergegeven in figuur 2. Deze drie pijlen hebben samen dezelfde betekenis als de originele pijl. De b- waarden zorgen ervoor dat er maximaal c door stroomt. De hoeveelheid flow die door a 1 stroomt is net zo groot als de hoeveelheid flow die door a 3 stroomt (x(a 1 ) = x(a 3 )), dus er gaat geen flow verloren. De hoeveelheid die door a 2 stroomt is de capaciteit van de originele pijl min de stroom door a 1 (x(a 2 ) = c x(a 1 )). De stroom kan niet negatief zijn, want d 0. Dus 5

6 Figuur 1: Reductie naar d = 0 Figuur 2: Reductie naar c x(a 1 ) c en x(a 3 ) c. Het gereduceerde probleem, met c en d 0 kan worden geformuleerd als een LP: min{kx Mx = b, x 0, x R A } met M de incidentie matrix van D. Een transshipment is niet per definitie geheeltallig, maar omdat de incidentie matrix totaal unimodulair is, zijn de hoekpunten van {Mx = b, x 0} geheeltallig en zal de simplexmethode op de LP dus een geheeltallige oplossing vinden. Dat wil zeggen dat min{kx Mx = b, x 0} = min{kx Mx = b, x 0, x Z A } Een geheeltallig transshipmentprobleem is equivalent met zijn LP-relaxatie. 6

7 4 Netwerk optimalisatie problemen Er zijn verschillende soorten b-transshipment problemen. Hier worden enkele speciale gevallen besproken en er wordt aangegeven waarom dit geheeltallige b-transshipment problemen zijn. 4.1 Kortste pad Het kortste pad probleem is het vinden van een pad tussen twee vertices in een graaf zodat de som van de gewichten van de arcs op het pad minimaal is. Formeel kan het als volgt worden gedefinieerd. Gegeven: Een gewogen graaf D = (V, A) met afstand functie d : A R + en punten s, t V. Vind: Een pad P van s naar t zodanig dat a A(P ) d(a) minimaal is over alle paden van s naar t. Hierbij is A(P ) de verzameling van arcs waarover het pad P loopt. Het kortste pad probleem is een b-transshipment probleem op netwerk D met demand 0 en capaciteit voor alle pijlen, b(s) = 1 en b(t) = 1 en voor alle u V met u s, t geldt b(u) = 0. Dit betekent dat er 1 flow vertrekt bij s en die gaat naar t. Hierbij hoeven niet alle pijlen gebruikt te worden. De kosten van de pijlen komen overeen met de afstand tussen twee vertices, dus k(a) = d(a). Dit is dus een geheeltallig transshipment probleem. De MIP die bij dit probleem hoort is: Minimize (i,j) A k ijxij Subject to x {0, 1} Voor alle i: j:(j,i) A x ji j:(i,j) A 1 als i=s x ij = 1 als i=t 0 anders 7

8 4.2 Max flow Het maximum flow probleem is het vinden van een stroom van een bron naar een eindpunt waarbij de waarde van de stroom maximaal is. De stroom is een afbeelding x : A R +. Als a = (u, v), dan wordt x(a) weergegeven door x uv. De waarde van de stroom is gedefinieerd door x = v V x sv. Formeel ziet het er als volgt uit: Gegeven: Een netwerk N = (V, A) met bron s V en eindpunt t V en de capaciteit van een arc is gegeven door de afbeelding C : A R +. Vind: Een flow x R A + met maximale waarde waarvoor geldt: x uv c uv voor alle (u, v) A (de flow door een pijl kan niet groter zijn dan zijn capaciteit) u:(u,v) A x uv = u:(v,u) A x vu voor elke v V \{s, t} (behoud van flow: de som van de inkomende flow is gelijk aan de som van de uitgaande flow, behalve bij de bron en het eindpunt) Er wordt een pijl (t, s) van het eindpunt naar de bron toegevoegd, met oneindige capaciteit (dus c ts = ). De flow die door deze pijl stroomt is gelijk aan de totale flow die van s naar t is gestroomd. Het geeft de hoeveelheid flow van de bron naar het eindpunt weer. Dit is een speciaal geval van het b-transshipment probleem op het netwerk N {t, s}, met b = 0 voor alle punten, d = 0 voor alle arcs, c(a) = C(a) voor alle a A en { 1 als (u,v)=(t,s) k(u, v) = 0 anders De LP die bij dit probleem hoort is: Minimize (i,j) A {t,s} k ijxij Subject to Voor alle i: j:(i,j) A x ij j:(j,i) A x ji = 0 0 x ij c ij 8

9 Figuur 3: bipartiete graaf, matching en perfecte matching 4.3 Minimaal gewicht perfecte bipartiete matching Een matching in een graaf G(W, E) is een set van niet aangrenzende kanten. Dat wil zeggen dat er geen twee kanten zijn die een vertex delen. Een perfecte matching is een matching F waarbij alle vertices gekoppeld zijn, dat wil zeggen dat alle vertices deel zijn van een kant uit F. Een bipartiete graaf is een graaf zodat W kan worden verdeeld in twee disjuncte deelverzamelingen U en V, zodanig dat iedere edge een punt u U verbindt met een punt v V. Als een bipartiete graaf een perfecte matching heeft, dan geldt U = V. Formeel kan het minimaal gewicht perfecte bipartiete matching probleem als volgt worden geformuleerd. Gegeven: Een bipartiete gewogen graaf D = (W, A) met bipartitie W = U V en met gewichtsfunctie w : A R +. Vind: Een perfecte matching x {0, 1} A waarvoor geldt dat (u,v) A x uvw uv minimaal is. Ook dit probleem is een speciaal geval van het b-transshipment probleem. Hiervoor wordt het probleem eerst op een andere manier beschreven. Dit is weergegeven in figuur 4. Het probleem wordt gegeven door een bipartiete graaf G = (W, E) met gewichtsfunctie w : E R +. Er wordt een nieuwe gerichte graaf geconstrueerd. Er worden vertices s en t toegevoegd. Ook 9

10 Figuur 4: Minimaal gewicht perfecte bipartiete matching in b-transshipment vorm worden er pijlen toegevoegd van s naar alle vertices in U en van alle vertices in V naar t. Verder worden alle kanten tussen U en V vervangen door pijlen van U naar V. De verzameling pijlen wordt in het vervolg A genoemd. Het probleem kan dan als volgt worden geformuleerd: Gegeven: Een bipartiete gewogen graaf D = (W, E) met bipartitie W = U V en met gewichtsfunctie w : A R +. Een vertex s en pijlen (s, u) voor alle u U met demand 0, capaciteit 1 en gewicht 0. Een vertex t en pijlen (v, t) voor alle v V met demand 1, capaciteit en gewicht 0. Pijlen in plaats van kanten {(u, v) u U, v V, {u, v} E}. Iedere pijl (u, v) met u U en v V heeft demand 0 en capaciteit. Vind: Een s-t flow x N, waarbij N het nieuwe netwerk is, waarvoor geldt dat (u,v) A x uvw uv minimaal en waarvoor geldt: 10

11 d uv x uv c uv voor alle (u, v) A (de flow door een pijl mag niet kleiner zijn dan zijn demand en niet groter zijn dan zijn capaciteit) x su = v:(u,v) A x uv voor elke u U u:(u,v) A x uv = x vt voor elke v V (de laatste twee voorwaarden betekenen het behoud van flow: de som van de inkomende flow is gelijk aan de som van de uitgaande flow voor alle u U en alle v V ) Deze twee problemen zijn equivalent. Doordat de pijlen (s, u) capaciteit 1 hebben komt er bij iedere vertex u maximaal 1 flow aan. Deze flow wordt doorgestuurd naar de vertices v V. Doordat de pijlen (v, t) demand 1 hebben komt er bij iedere vertex v minimaal flow 1 aan. Dit betekent dus dat er precies flow 1 vertrekt bij iedere vertex u U en precies flow 1 aankomt bij iedere vertex v V. Dit betekent dus dat er bij beide problemen een perfecte matching wordt gevonden met minimaal gewicht. Dit is een speciaal geval van het b-transshipment probleem met kosten { w(u,v) als {u,v} E k(u, v) = 0 anders b(s) = U, b(t) = U en b(u) = 0 voor alle u s, t. De capaciteitsfunctie is { 1 als v = t c(u, v) = anders De demand functie is d(u, v) = { 1 als u = s 0 anders De MIP die bij dit probleem hoort is N=(X,A) is de nieuw geconstrueerde graaf): Minimize (i,j) A k ijxij Subject to d ij x ij c ij Voor alle i X: j:(j,i) A x ji j:(i,j) A U als i=s x ij = U als i=t 0 anders 11

12 5 Simplex methode De simplex methode wordt gebruikt op linear programming problemen in de standaard vorm: Minimize cx Subject to Ax=b, x i 0 met x = (x 1,..., x n ) de variabelen van het probleem, c = (c 1,..., c n ) de coëfficiënten van de doelfunctie, A een p n matrix van rang p en b = (b 1,..., b p ) constanten met b j 0. Het gereduceerde transshipment probleem is van deze vorm. Dus de simplex methode kan worden gebruikt om b-transshipment problemen op te lossen. Een lineair programma in standaard vorm wordt als volgt in een tableau weergegeven. [ 1 c T ] 0 0 A b In de eerste rij staat de doelfunctie en in de andere rijen staan de constraints. Als de kolommen van A gepermuteerd kunnen worden zodat het de identiteitsmatrix bevat, dan is het een canonical tableau. De variabelen die bij de kolommen van de identiteitsmatrix horen zijn de basis variabelen. De niet-basis variabelen zijn 0, de waarden van de basis variabelen kunnen worden afgelezen in de laatste kolom. Dit levert een toegestane oplossing op, namelijk de basisoplossing die bij deze basisvariabelen hoort. Met behulp van pivot operaties kan van een basisoplossing naar een andere basisoplossing worden gegaan. Hiervoor wordt een niet nul element in een niet basis kolom gekozen. De rij waarin dit pivotelement zit wordt gedeeld door de waarde van het element. Hierdoor wordt het element 1. Vervolgens worden veelvouden van de rij opgeteld bij de andere rijen zodat alle andere waardes in de kolom nul worden. Dit zorgt er voor dat als het pivot element in rij r zat, dat de kolom de r-de kolom van de identiteitsmatrix wordt. De variabele van de kolom wordt nu basis variabele in plaats van de variabele die bij de oorspronkelijke r-de kolom van de identiteitsmatrix hoorde. De matrix is nog steeds canonical, maar er is een basis variabele vervangen waardoor een nieuwe basisoplossing is gecreëerd. Het pivot element moet zo gekozen worden dat de oplossing verbetert. Hiervoor moet een kolom gekozen worden, waarin het element in de rij van de 12

13 doelfunctie positief is. Als er meerdere positieve elementen zijn in de doelfunctie dan moet er een keuze worden gemaakt. De regel waarop de keuze gebaseerd is, is het eerste onderdeel van de pivotregel. Als er geen positieve elementen zijn, dan kan er geen keuze gemaakt worden zodat de oplossing verbetert. Dit betekent dat de oplossing optimaal is. De keuze voor de pivotrij wordt voor een groot deel bepaald door de eis dat de oplossing toelaatbaar moet zijn. Er wordt alleen gekeken naar de positive elementen in de pivot kolom, omdat dit garandeert dat de nieuwe basis variabele positief is. De oplossing is alleen toelaatbaar als ook de andere basis variabelen positief zijn. Om een geschikte rij te vinden wordt de minimum ratio test gebruikt. Als c de pivotkolom is, dan wordt de pivotrij r zo gekozen dat b r a cr minimaal is onder alle r, met a cr 0. Als er meerdere rijen zijn waarbij de ratio gelijk is moet er een keuze worden gemaakt. De keuze voor de rij is het tweede onderdeel van de pivotregel. Door pivot stappen uit te voeren totdat er geen positieve elementen in de eerste rij staan, wordt de optimale oplossing gevonden. Er wordt gebruik gemaakt van de twee-fasen methode. Hiervoor moet eerst nog een eerste canonical tableau worden opgesteld. In het algemeen is een lineair programma nog niet in canonical vorm. Hiervoor worden artificiële variabelen ingevoerd. De kolommen van de identiteitsmatrix worden toegevoegd als kolommen bij deze variabelen. Het nieuwe probleem is in canonical vorm, maar het is niet equivalent met het originele probleem. De som van de artificiële variabelen is de nieuwe doelfunctie. Vervolgens wordt de simplex methode uitgevoerd om deze som te minimaliseren. Als de som van de artificiële variabelen 0 is, dan kunnen de artificiële variabelen weer worden verwijderd. Het resultaat is dan een canonical tableau voor het originele probleem. Als de som van de artificiële variabelen niet 0 wordt, dan is er geen toegestane oplossing voor het originele probleem. [Bron: A. Schrijver, Theory of linear and integer programming, Willey-Interscience Series in Discrete Mathematics, John Wiley & Sons Ltd., Chichester, 1986, A Wiley-Interscience Publication.] 6 Vergelijking simplex methode met bekende netwerk algoritmes Van de simplex methode is niet bekend na hoeveel stappen het de optimale oplossing geeft. Voor sommige bekende problemen zijn algoritmes bekend 13

14 die polynomiaal zijn. Door te laten zien dat er bij de algoritmes en bij de simplex methode hetzelfde gebeurt, kan worden aangetoond dat de simplex methode in een polynomiaal aantal stappen de optimale oplossing vindt als de juiste pivotkeuzes worden gemaakt. 6.1 Kortste pad Dijkstra s algoritme Het kortste pad probleem kan worden opgelost met Dijkstra s algoritme. Dit algoritme werkt op een gerichte graaf D = (V, A), met bron s V en eindpunt t V, en met kosten k uv gelijk aan de afstand van pijl (u, v). De capaciteit van alle pijlen is en de demand van alle pijlen is 0. Het algoritme verdeelt de punten van de graaf D(V, A) in drie verzamelingen: B: de verzameling van punten waarvan de kortste afstand tot s bekend is X: de verzameling van punten waarnaar er al wel een pad bekend is vanuit s, maar niet noodzakelijk het kortste V (D) B X: de overige punten van V De verzameling B bevat in het begin alleen punt s en de verzameling X is leeg. Er bestaat een array d(v), deze bevat de afstanden van s naar het punt v. Dus d(s) = 0, voor de overige punten geldt in het begin d(v) =. Door het algoritme wordt deze array zo gevuld dat uiteindelijk d(t) de lengte van het kortste s t pad is. Het algoritme herhaalt nu de volgende stappen vanuit s totdat X de lege verzameling wordt: 1. Kies uit X het punt x met de minimale waarde van d(x). Voor dit punt is d(x) definitief de kortste afstand van s naar x. Ook de pijl naar dit punt toe, die de kortste afstand levert, wordt definitief. 2. Omdat d(x) definitief is, wordt x verplaatst van X naar B. Voor alle buren z van x (er is dus een rechtstreekse pijl (x, z)), die nog niet in B zitten, wordt het volgende gedaan: (a) Zit z nog niet in X, dan wordt het toegevoegd aan X. Een eerste schatting voor de afstand van s naar z is dan d(z) = d(x) + k xz (b) Zit z al wel in X, dan is de nieuwe waarde voor d(z) het minimum van de oude waarde en d(x) + k xz 14

15 Figuur 5: Voorbeeld kortste pad. Zodra dit algoritme afloopt, als ieder element van X naar B verplaatst is, dan is de kortste afstand van s naar t bekend, namelijk d(t). Ook het kortste pad is bekend, omdat de pijlen die de kortste afstand leveren worden opgeslagen. Het aantal stappen dat het algoritme nodig heeft is O( V 2 ). Kortste pad met Simplex methode Het kortste pad probleem kan worden opgelost met behulp van de simplex methode. Dit wordt duidelijk gemaakt met een voorbeeld. De graaf die hoort bij het voorbeeld staat in figuur 5. Er moet een pad gevonden worden van s naar t waarbij de som van de lengtes van de pijlen minimaal is. Er kan een tableau worden opgesteld dat bij dit probleem hoort. Dat tableau zal er als volgt uit zien. [ 1 c T ] 0 0 M b Waarbij c de doelfunctie is, M de incidentie matrix en b is de hoeveelheid flow die per punt achterblijft. De incidentie matrix van de gerichte graaf is: 15

16 x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 s t De waardes in de doelfunctie zijn de lengtes van de pijlen. De waardes bij b, de hoeveelheid flow die achterblijft, zijn 1 bij s, 1 bij t en 0 bij de rest. Er moet namelijk alleen flow 1 van s naar t. Omdat de rijen afhankelijk zijn van elkaar (de som van alle rijen is 0) wordt er een rij geschrapt, in dit geval wordt de eerste rij weggelaten. Dat levert het volgende tableau op: x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 b doel t Dit tableau bevat niet alle kolommen van de identiteitsmatrix, dus worden er artificiële variabelen toegevoegd. Er komt ook een nieuwe doelfunctie, namelijk de som van alle artificiële variabelen. Als dit geminimaliseerd wordt, dan worden alle artificiële variabelen 0, mits er een toegestane oplossing is voor het kortste pad probleem. Het tableau ziet er dan als volgt uit. 16

17 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 art. var. b doel doel t

18 Vervolgens worden rijen 3 tot en met 11 bij de eerste rij opgeteld zodat de identiteitsmatrix ontstaat. Dan worden er pivotstappen gedaan totdat alle artificiële variabelen uit de basis zijn. De artificiële variabelen kunnen dan weggelaten worden. Dan krijgen we een tableau dat equivalent is met het originele tableau, maar dit tableau is canonical. De eerste toegestane oplossing kan worden afgelezen uit de matrix. x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 b doel x x x x x x x x x In de matrix is af te lezen dat x 3, x 10 en x 12 waarde 1 hebben en de rest 0. Het gevonden pad is dus langs deze drie pijlen. De totale lengte is 8, de waarde rechtsboven in de matrix. Verder is ook te zien welke pijlen in de basis zitten, dat zijn x 1, x 2, x 3, x 4, x 6, x 9, x 10, x 11 en x 12. Deze vormen een (ongerichte) opspannende boom in de graaf. De waardes in de niet basis kolommen zijn ook te herkennen in de graaf. De waarde in de eerste rij is de verbetering van de afstand van s naar de kop van de pijl als deze pijl zou worden toegevoegd aan de basis. Als deze pijl wordt toegevoegd ontstaat een circuit. Alle pijlen die dezelfde richting op wijzen als de toe te voegen pijl hebben een 1 in de bijbehorende rij. De pijlen die in tegengestelde richting wijzen hebben een 1 en de pijlen die niet op het circuit liggen hebben een 0. In de laatste kolom staat een 1 bij de pijlen die op het pad van s naar t liggen, en een 0 bij de andere pijlen. Op deze manier is bij iedere willekeurige boom de bijbehorende matrix op te stellen. De oplossing is te zien in figuur 6. Er is nu één positieve waarde in de eerste rij, namelijk bij x 15, dus dat is de pivot kolom. De ratio is het kleinst voor de rij van basiselement x 11, dus dat is de pivot rij. In dit geval is er dus geen keuze nodig, omdat er maar 1 element in aanmerking komt om pivotelement te worden. x 11 gaat uit de basis en x 15 komt in de basis. Dit levert een nieuwe opspannende boom op. Deze pivot stap levert de volgende matrix op. 18

19 Figuur 6: Eerste toegestane oplossing x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 b doel x x x x x x x x x De oplossing die bij deze matrix hoort is te zien in figuur 7. Het kortste pad is nog steeds via x 3, x 10 en x 12. De afstand van s tot punt 7 is verkort van 7 naar 5. Er is ook een basis variabele vervangen, x 15 is in de basis gekomen in plaats van x 11. Deze pivot stap leidt niet direct tot een korter st-pad, maar iedere stap leidt tot een verbetering van de afstand tot een punt in de graaf. In de nieuwe matrix is opnieuw maar één mogelijke pivot kolom. Er zijn nu wel drie rijen met dezelfde ratio. Er wordt nu gekozen voor rij 4, hierdoor gaat x 3 uit de basis en x 14 komt in de basis. Deze stap levert de volgende matrix op. 19

20 Figuur 7: Tweede toegestane oplossing x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 b doel x x x x x x x x x De oplossing die bij deze matrix hoort staat in figuur 8. Deze pivot stap heeft wel een korter st-pad opgeleverd. De afstand tot t is nu 6 via de pijlen x 2, x 6, x 15 en x 14. x 14 is in de basis gekomen in plaats van x 3, dat x 3 uit de basis gaat heeft te maken met de keuze voor de pivot rij. x 14 sluit een circuit af in de boom, x 3, x 10 en x 12 zijn de positieve flow-arcs in het circuit. Een van deze pijlen wordt uit de basis gehaald. Bij de andere twee pivotkeuzes waren x 10 of x 12 uit de basis gegaan. Om de simplex methode te vergelijken met Dijkstra s methode wordt het voorbeeld ook opgelost met Dijkstra s methode. Dit is te zien in de volgende figuren. De getallen bij de pijlen zijn de lengtes van de pijlen. De getallen bij de punten zijn de afstanden van s tot de punten. De ingekleurde punten zijn definitief. Bij Dijkstra wordt de hele opspannende boom vanuit s opgebouwd. Bij de simplexmethode wordt gestart met een boom in de graaf. 20

21 Figuur 8: Derde toegestane oplossing Figuur 9: Dijkstra stap 1 Als vanuit deze boom Dijkstra zou worden toegepast, dan moet eerst x 15 worden toegevoegd aan de basis en x 11 moet uit de basis worden gehaald. Dit gebeurd ook bij de simplex methode. Vervolgens zou moet x 14 worden toegevoegd en x 12 worden verwijderd. In het voorbeeld waren de ratio s bij x 3, x 10 en x 12 gelijk. Hier werd x 3 uit de basis gehaald. Pivotregels voor kortste pad In het algemeen stelt het eerste canonical tableau een boom voor in de graaf. Met behulp van artificiële variabelen wordt een eerste canonical tableau gevormd. Er is dan een pad van s naar t, als dit pad gericht is dan heeft het een bepaalde lengte. In iedere pivotstap wordt een nieuwe kolom aan de basis toegevoegd. Dit komt overeen met het toevoegen van een pijl aan de 21

22 Figuur 10: Dijkstra stap 2 Figuur 11: Dijkstra stap 3 Figuur 12: Dijkstra stap 4 22

23 Figuur 13: Dijkstra stap 5 Figuur 14: Dijkstra stap 6 Figuur 15: Dijkstra stap 7 23

24 Figuur 16: Dijkstra stap 8 Figuur 17: Dijkstra stap 9 Figuur 18: Dijkstra stap 10 24

25 boom. De kolom die verdwijnt uit de basis komt overeen met de pijl die uit de boom verdwijnt. De pivotkeuzes bepalen welke pijl wordt toegevoegd en welke verdwijnen. Bij het kiezen van een pivotkolom moet de entry in de eerste rij positief zijn. Dit betekent dat de afstand van s naar de kop van de pijl wordt verbeterd als deze pijl wordt toegevoegd. Als er geen positieve getallen meer in de eerste rij staan, betekent dit dat er geen pijlen meer zijn die een verbetering opleveren. Dit betekent dat het kortste pad is gevonden. De eerste stap in Dijkstra s algoritme is om het punt v te vinden waarvoor de afstand tot s het kleinst is en waarvoor geldt dat v nog niet definitief is, dit punt wordt definitief gemaakt en de afstanden van s naar de buren van v worden waar nodig aangepast. Als er een buurman is waarvoor de afstand tot dat punt korter wordt als het pad via v wordt gekozen, dan staat er een positieve entry in de kolom van de bijbehorende pijl. De pivotkeuze moet zo gemaakt worden dat deze pijl in de basis komt. Vervolgens wordt weer het punt gezocht waarbij de afstand tot het punt s het kleinst is en waarbij de afstand nog niet definitief is. Zo kan voor iedere stap bij Dijkstra s methode de bijbehorende stap worden gedaan in simplex methode. Iedere keer als er een label van een buurman in Dijkstra s methode wordt aangepast, dan wordt er bij de simplexmethode een pivotstap gedaan als de desbetreffende pijl nog niet in de basis zit. Als dit wel het geval is, hoeft er geen pivotstap gedaan te worden. Er ontstaat steeds een circuit in de graaf. De tweede pivotkeuze gaat om welke pijl uit de basis verdwijnt. Deze wordt zo gekozen dat de laatste pijl van het vorige kortste pad uit de basis verdwijnt, waardoor de opspannende boom een gerichte boom blijft. Als dit wordt herhaald totdat voor ieder punt de kortste afstand tot s bekend is, dan ontstaat een gerichte opspannende boom, waarbij voor ieder punt het kortste pad tot s het pad over de opspannende boom is. In het voorbeeld zou dan bij de laatste pivotkeuze niet x 3, maar x 12 uit de basis moet worden gehaald. Door deze keuzes wordt het aantal stappen proportioneel aan het aantal stappen in Dijkstra s algoritme, omdat voor iedere stap in Dijkstra s methode maximaal 1 pivotstap gedaan hoeft te worden. 6.2 Max flow Ford-Fulkerson Algoritme Het max flow probleem kan worden opgelost met het Ford-Fulkerson algoritme. Dit algoritme start met de gerichte graaf D = (V, A) met capaciteitsfunctie c : A Z +, startpunt s en eindpunt t. De restgraaf D f (V, A) wordt gedefinieerd als het netwerk met capaciteitsfunctie c f (u, v) = c(u, v) f(u, v) en c f (v, u) = f(u, v) voor alle (u, v) A. Als c f (u, v) = f(u, v) dan wordt 25

26 de pijl omgedraaid. Het algoritme werkt als volgt: 1. f(u, v) 0 voor alle kanten 2. Vind een pad p van s naar t in D f zodanig dat c f (u, v) > 0 voor alle (u, v) p, herhaal dan voor alle kanten (u, v) p: (a) Vind c f (p) = min c f (u, v) : (u, v) p (b) Voor alle kanten (u, v) p i. f(u, v) f(u, v) + c f (p) (verzonden flow over het pad) ii. f(v, u) f(v, u) c f (p) (de flow kan later terugkeren) Het pad in stap 2 kan worden gevonden met bijvoorbeeld breadth-first search. Als er geen pad meer gevonden kan worden stopt het algoritme. De maximale flow is dan de som van de verschillende flows die van s naar t zijn verstuurd. Het aantal iteraties waarin het Ford-Fulkerson algoritme de maximale flow vind is begrensd door O( A C), waarbij A het aantal pijlen in de graaf is en C de maximale capaciteit in de graaf. Dit is niet polynomiaal, er kan een polynomiale variant worden verkregen door iedere keer het pad met het minste aantal pijlen toe te voegen. Max flow met Simplex methode Ook het max flow probleem kan worden opgelost met behulp van de simplex methode. Dit wordt uitgelegd aan de hand van een voorbeeld. De graaf die bij het voorbeeld hoort staat in figuur 19. De getallen die bij de pijlen staan zijn de capaciteiten. Zoals eerder uitgelegd worden pijlen met capaciteiten vervangen door drie pijlen met capaciteit. De graaf die bij dit gereduceerde probleem hoort staat in figuur 20. Door gebruik te maken van artificiële variabelen wordt een eerste toegestane oplossing (Figuur 21) gevonden. Dit kan ook door een willekeurige boom te kiezen in de graaf. De pijlen in de boom vormen dan de eenheidsmatrix. De pijlen die niet in de boom zitten, dus niet in de basis bij de simplex matrix krijgen een 1 in de eerste rij als ze op een vermeerderend pad liggen, een 1 als ze op een verminderend pad zouden vormen en een 0 als ze de flow niet beïnvloeden. Ieder van deze pijlen vormt een (ongericht) circuit als deze wordt toegevoegd aan de basis. De pijlen die op het circuit in dezelfde richting liggen als de toe te voegen pijl hebben een 1 in de bijbehorende rij, de pijlen die in tegengestelde richting liggen hebben een 1 in de bijbehorende rij en de pijlen die niet op het circuit liggen een 0. In de laatste kolom van de 26

27 Figuur 19: Max flow voorbeeld Figuur 20: Max flow gereduceerd 27

28 matrix staat hoeveel flow er door de pijlen in de basis stroomt. In de eerste rij van de laatste kolom staat de hoeveelheid flow die van s naar t loopt met een minteken. Op deze manier kan bij iedere gekozen boom de bijbehorende matrix worden opgesteld. In figuur 21 geven de getallen in de rondjes de b-waarden van de punten aan. De getallen langs de pijlen geven de flow aan. De zwarte pijlen zitten in de basis, de lichte pijlen niet. De basis vormt een (ongerichte) opspannende boom. De oplossing heeft een flow van 0. Er zijn zes pijlen die aan de basis kunnen worden toegevoegd, dit zijn de lichte pijlen in de graaf. Bij x 19 en x 34 staat een 1 in de eerste rij (de matrices die bij het voorbeeld horen zijn te groot om hier weer te geven). Dit betekent dat het toevoegen van deze pijlen een extra flow oplevert van s naar t. Het pivotten naar een van deze kolommen komt dus overeen met het vinden van een pad in het maxflow algoritme. Voor x 19 is dit het pad S-C-D-T, en voor x 34 is dat het pad S-C-F-T. In de kolom wordt de rij gekozen waarvoor b i aij minimaal is (met a ij 0). Dit komt overeen met de pijl waarvoor de capaciteit het kleinst is. Het levert een verhoging op van de flow met de kleinste capaciteit van de pijlen op het pad. In dit geval (pivotten naar x 19 ) is dat een verhoging van 1. Dit is de capaciteit van pijl C-D. In de graaf is de waarde van de st-flow te zien bij de pijl (t, s). In het maxflow algoritme wordt de pijl dan omgedraaid. Dit komt overeen met het wegvallen van x 14 uit de basis. Bij de tweede toegestane oplossing (Figuur 22) is het pad S-C-D-T toegevoegd. De pijl C-D heeft de laagste capaciteit, namelijk 1, dus de flow is verhoogd naar 1 en de pijl is omgedraaid in het max flow algoritme. Nu zijn er weer twee mogelijkheden om een pad van s naar t te creëren. Hiervoor moet x 16 of x 34 worden toegevoegd. Deze hebben een 1 in de eerste rij. x 14 heeft een 1 in de eerste rij, omdat het toevoegen van deze pijl aan de basis de flow zou verlagen. De andere pijlen hebben een 0 omdat ze geen pad van s naar t creëren en dus geen invloed hebben op de flow. Het toevoegen van x 16 aan de basis creërt het pad S-A-B-D-T. De pijl met de laagste capaciteit is S-A met 3. x 2 verdwijnt uit de basis. De stroom die over x 2 liep was 3, dus de st-flow wordt verhoogd met 3. Bij de derde toegestane oplossing (Figuur 23) is er de keuze tussen de paden S-C-B-D-T en S-C-F-T. Deze keuzes komen overeen met het pivotten in kolom x 12 en kolom x 34. Bij het tweede onderdeel van de pivotregel is in dit geval geen keuze. Stel dat de capaciteit van C-B 1 zou zijn, dan zou er de keuze zijn tussen het weghalen van x 8 en x 11. Het maakt dan voor de waarde van de flow niet uit welke wordt gekozen, want in beide gevallen 28

29 Figuur 21: Eerste toegestane oplossing Figuur 22: Tweede toegestane oplossing 29

30 Figuur 23: Derde toegestane oplossing worden zowel x 8 als x 11 gelijk aan 0. Een van de twee pijlen blijft in de basis maar krijgt capaciteit 0. Dit komt in het maxflow algoritme overeen met het omkeren van beide pijlen. Na het pivotten naar kolom x 12 is de oplossing in figuur 24 verkregen. Er zijn nu weer twee énen in de eerste rij. In de figuur is dit te zien doordat het toevoegen van de pijlen een (ongericht) pad opleveren van s naar t. x 27 voegt het pad S-E-C-B-D-T toe. De andere mogelijkheid is x 33. In deze kolom zijn er twee pivotmogelijkheden. Deze voegen geen extra flow toe, maar brengen x 33 in de basis en halen x 28 of x 30 uit de basis, waardoor in een volgende pivotstap het pad S-E-F-T kan worden toegevoegd. Voor het toevoegen van een pad kunnen dus meerdere pivotstappen nodig zijn. In dit geval is gekozen voor het pivotten naar x 27. Dit levert de oplossing in figuur 25 op. De flow is inmiddels verhoogt naar 6. Er is nu maar één mogelijkheid. x 34 moet worden toegevoegd aan de basis. Dit komt overeen met het pad S-E-C-F-T. De lijnstukken hebben nog capaciteiten van 7 (S-E), 4 (E-C), 2 (C-F) en 9 (F-T). Dit zijn de getallen die in de laatste kolom staan. De pijl met de kleinste restcapaciteit is bepalend. Dit betekent dus verhoging van de flow met 2 naar 8. 30

31 Figuur 24: Vierde toegestane oplossing Bij de zesde toegestane oplossing (Figuur 26) is x 29 weggevallen uit de basis. De capaciteit van pijl C-F is 0 en de pijl wordt omgedraaid. Nu is de enige mogelijkheid om x 33 toe te voegen. Dit komt overeen met het pad S-E-F-T. Dit leidt tot een verhoging van de flow met 4. In figuur 27 is de optimale oplossing te zien. Er zijn nu geen positieve getallen meer in de eerste rij. Er is dus geen pad meer van s naar t. De maximale flow in dit voorbeeld is dus 12. De zes pijlen die niet in de basis zitten, zijn allemaal omgekeerde pijlen. Die geven aan dat de capaciteit van de pijlen 0 is. Ook de 0 bij x 17 geeft dat aan. Deze zit wel in de basis omdat bij de vierde toegestane oplossing er twee mogelijk rijen waren om naar te pivotten. Dus x 17 of x 11 ging uit de basis en de ander werd 0. Om de simplex methode te kunnen vergelijken met het Ford-Fulkerson algoritme is het voorbeeld ook met het Ford-Fulkerson algoritme opgelost. Dit is te zien in de figuren 28 tot en met 40. Bij Ford-Fulkerson zou ook als eerste stap x 19 worden toegevoegd waardoor x 14 uit de basis verdwijnt. Bij de tweede stap wordt in het voorbeeld gekozen om x 12 toe te voegen. Bij Ford-Fulkerson zou eerst x 34 worden toegevoegd, omdat dit een pad op levert 31

32 Figuur 25: Vijfde toegestane oplossing Figuur 26: Zesde toegestane oplossing 32

33 Figuur 27: Optimale oplossing met minder pijlen. Vanaf dit punt loopt het voorbeeld dus niet meer gelijk met de Ford-Fulkerson methode. Bij Ford-Fulkerson zou hierna het laatste pad met 3 pijlen worden toegevoegd, door te pivotten bij x 33. Hierna worden de twee paden met 4 pijlen toegevoegd. In het voorbeeld zou dan gekozen moeten worden om te pivotten naar x 16 en x 27. Hierna is er nog maar 1 mogelijk pad, hiervoor moet x 12 worden toegevoegd aan de basis. Pivot regels max flow In het algemeen komen de pivotstappen in de simplexmethode overeen met stappen in het max flow algoritme. Een pivotstap komt overeen met het vinden en toevoegen van een nieuw pad van de bron naar het eindpunt. Het verhogen van de flow, en dus het verlagen van de capaciteit in de restgraaf komt in het algoritme overeen met het omkeren van een pijl. De eerste pivotkeuze is voor de kolommen. Als er meerdere kolommen zijn met een positieve getal in de eerste rij, dan moet de kolom gekozen worden die het pad toevoegt met het minste aantal pijlen, want het max flow algoritme is polynomiaal als steeds het kortste pad wordt toegevoegd. De keuze voor de pijl die verdwijnt uit de basis doet er niet toe. Bij het max flow algoritme wordt de pijl omgedraaid waarvoor de restcapaciteit het kleinst is. In de gereduceerde graaf 33

34 Figuur 28: Ford Fulkerson stap 1 Figuur 29: Ford Fulkerson stap 2 34

35 Figuur 30: Ford Fulkerson stap 3 Figuur 31: Ford Fulkerson stap 4 35

36 Figuur 32: Ford Fulkerson stap 5 Figuur 33: Ford Fulkerson stap 6 36

37 Figuur 34: Ford Fulkerson stap 7 Figuur 35: Ford Fulkerson stap 8 37

38 Figuur 36: Ford Fulkerson stap 9 Figuur 37: Ford Fulkerson stap 10 38

39 Figuur 38: Ford Fulkerson stap 11 Figuur 39: Ford Fulkerson stap 12 39

40 Figuur 40: Ford Fulkerson stap 13 is die vervangen door drie pijlen. De middelste van deze drie, degene in tegengestelde richting, zal uit de basis verdwijnen. Er is alleen een keuze als er meerdere pijlen zijn met dezelfde restcapaciteit. In dat geval kan er willekeurig een uit de basis worden gehaald, en de andere krijgt restcapaciteit 0. Bij de eerste pivotregel moet gekozen worden tussen de kolommen met een positieve waarde in de eerste rij. Als iedere pivotstap een verbetering op zou leveren, dan moest de kolom gekozen worden die het meeste niet-nul elementen bevat. Alle niet-nul elementen liggen op het circuit. Dus dit is een maat voor het aantal pijlen op het toe te voegen pad. Bij de tweede pivotregel is er alleen een keuze als er meerdere pijlen op het pad dezelfde capaciteit hebben. Het maakt dan niet uit welke keuze wordt gemaakt, de ene pijl verdwijnt uit de basis en de andere krijgt restcapaciteit nul. Het kan echter voor komen dat om één pad toe te voegen meerdere pivotstappen nodig zijn. Als dit het geval is dan zal deze pivotregel niet altijd het pad kiezen met het minste aantal pijlen. Het is dus niet zeker dat met deze pivotregels een gelijk aantal stappen moet worden gedaan als met Ford-Fulkerson. 40

41 Conclusie In dit project is er een verband gelegd tussen de simplex methode en optimalisatie problemen in netwerken. Het kortste pad probleem, het max flow probleem en het minimale gewicht perfecte bipartiete matching probleem zijn uitgelegd. Voor de eerste twee is er aan de hand van een voorbeeld de connectie gelegd met de simplex methode. Het derde probleem kan op een vergelijkbare manier als het max flow probleem worden opgelost met de simplexmethode. Als de problemen worden opgelost met de bekende algoritmes, dan kan bij iedere stap worden gekeken naar welke pivotstap bij de stap in het algoritme hoort. Op deze manier wordt het aantal pivotstappen proportioneel aan het aantal stappen van de algoritmes. Het is niet gelukt om pivotregels op te stellen zuiver in termen van het tableau en de graaf, zonder te verwijzen naar de stappen in het algoritme. Bronvermelding A. Schrijver, Theory of linear and integer programming, Willey-Interscience Series in Discrete Mathematics, John Wiley & Sons Ltd., Chichester, 1986, A Wiley-Interscience Publication. A. Schrijver, Combinatorial opitimization, Algorithms and Combinatorics, vol. 24, Springer-Verslag, Berlin, first ed., 2003, Polyhedra and Efficiency. 41

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 9 Leo van Iersel Technische Universiteit Delft 11 november 2015 Leo van Iersel (TUD) TW2020 Optimalisering 11 november 2015 1 / 22 Mededelingen Huiswerk 2 nagekeken Terug

Nadere informatie

Hoofdstuk 13: Integer Lineair Programmeren

Hoofdstuk 13: Integer Lineair Programmeren Hoofdstuk 13: Integer Lineair Programmeren Vandaag: Wat is Integer Lineair Programmeren (ILP)? Relatie tussen ILP en LP Voorbeeld 1: Minimum Spanning Tree (MST) Voorbeeld 2: Travelling Salesman Problem

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 3 Leo van Iersel Technische Universiteit Delft 21 september 2016 Leo van Iersel (TUD) TW2020 Optimalisering 21 september 2016 1 / 36 LP: Lineair Programmeren min x 1 2

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 9 Leo van Iersel Technische Universiteit Delft 16 november 2016 Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 1 / 28 Vandaag Integer Linear Programming (ILP)

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 8 Leo van Iersel Technische Universiteit Delft 2 november 2016 Leo van Iersel (TUD) TW2020 Optimalisering 2 november 2016 1 / 28 Minimum Opspannende Boom (Minimum Spanning

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 8 Leo van Iersel Technische Universiteit Delft 28 oktober 2015 Leo van Iersel (TUD) TW2020 Optimalisering 28 oktober 2015 1 / 25 Definitie Een boom is een samenhangende

Nadere informatie

1 In deze opgave wordt vijftien maal telkens drie beweringen gedaan waarvan er één juist is. Kruis de juiste bewering aan. (2pt. per juist antwoord).

1 In deze opgave wordt vijftien maal telkens drie beweringen gedaan waarvan er één juist is. Kruis de juiste bewering aan. (2pt. per juist antwoord). Tentamen Optimalisering (IN2805-I) Datum: 3 april 2008, 14.00 17.00. Docent: Dr. J.B.M. Melissen Naam: Studienummer: 1 In deze opgave wordt vijftien maal telkens drie beweringen gedaan waarvan er één juist

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 3 Leo van Iersel Technische Universiteit Delft 21 september 2016 Leo van Iersel (TUD) TW2020 Optimalisering 21 september 2016 1 / 36 LP: Lineair Programmeren min x 1 2

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 7 Leo van Iersel Technische Universiteit Delft 26 oktober 2016 Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 1 / 28 Deze week: analyseren van algoritmes Hoe

Nadere informatie

Sommige praktische IP problemen kunnen worden geformuleerd als optimalisering op een netwerk.

Sommige praktische IP problemen kunnen worden geformuleerd als optimalisering op een netwerk. Netwerkanalyse (H3) Sommige praktische IP problemen kunnen worden geformuleerd als optimalisering op een netwerk. Deze problemen kunnen vaak als continu LP probleem worden opgelost. Door de speciale structuur

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 7 Leo van Iersel Technische Universiteit Delft 21 oktober 2015 Leo van Iersel (TUD) TW2020 Optimalisering 21 oktober 2015 1 / 20 Deze week: algoritmes en complexiteit

Nadere informatie

l e x e voor alle e E

l e x e voor alle e E Geselecteerde uitwerkingen Werkcollege Introduceer beslissingsvariabelen x e met x e = als lijn e in de boom zit en anders x e = 0. De doelfunctie wordt: min e E l e x e Voor elke deelverzameling S V met

Nadere informatie

Tie breaking in de simplex methode

Tie breaking in de simplex methode Tie breaking in de simplex methode Tijdens de Simplexmethode kan op een aantal momenten onduidelijk zijn wat je moet doen: 1. Variabele die de basis in gaat: Zoek de grootste coëfficiënt in de doelfunctie.

Nadere informatie

Grafen. Indien de uitgraad van ieder punt 1 is, dan bevat de graaf een cykel. Indien de ingraad van ieder punt 1 is, dan bevat de graaf een cykel.

Grafen. Indien de uitgraad van ieder punt 1 is, dan bevat de graaf een cykel. Indien de ingraad van ieder punt 1 is, dan bevat de graaf een cykel. Grafen Grafen Een graaf bestaat uit een verzameling punten (ook wel knopen, of in het engels vertices genoemd) en een verzameling kanten (edges) of pijlen (arcs), waarbij de kanten en pijlen tussen twee

Nadere informatie

Transport-, Routing- en Schedulingproblemen. Wi4062TU / Wi487TU / a86g. Uitwerkingen 08-04-2005

Transport-, Routing- en Schedulingproblemen. Wi4062TU / Wi487TU / a86g. Uitwerkingen 08-04-2005 Transport-, Routing- en Schedulingproblemen Wi4062TU / Wi487TU / a86g Uitwerkingen 08-04-2005 1 Transportprobleem Onderdeel a Fabriek 1 kan 120 ton staal fabriceren in 40 uur. Voor fabriek 2 is dit 150

Nadere informatie

Samenvatting college 1-12

Samenvatting college 1-12 Samenvatting college 1-12 Probleemformulering Duidelijk definiëren van beslissingsvariabelen Zinvolle namen voor variabelen bv x ij voor ingrediënt i voor product j, niet x 1,..., x 20 Beschrijving van

Nadere informatie

Tentamen combinatorische optimalisatie Tijd:

Tentamen combinatorische optimalisatie Tijd: Tentamen combinatorische optimalisatie 26-05-2014. Tijd: 9.00-11.30 Tentamen is met gesloten boek. Beschrijf bij elke opgave steeds het belangrijkste idee. Notatie en exacte formulering is van minder belang.

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 10 Leo van Iersel Technische Universiteit Delft 23 november 2016 Leo van Iersel (TUD) TW2020 Optimalisering 23 november 2016 1 / 40 Vraag Ik heb het deeltentamen niet

Nadere informatie

Tentamen: Operationele Research 1D (4016)

Tentamen: Operationele Research 1D (4016) UITWERKINGEN Tentamen: Operationele Research 1D (4016) Tentamendatum: 12-1-2010 Duur van het tentamen: 3 uur (maximaal) Opgave 1 (15 punten) Beschouw het volgende lineaire programmeringsprobleem P: max

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 5 Leo van Iersel Technische Universiteit Delft 12 oktober 2016 Leo van Iersel (TUD) TW2020 Optimalisering 12 oktober 2016 1 / 31 Dualiteit Dualiteit: Elk LP probleem heeft

Nadere informatie

Lineaire Algebra TW1205TI. I.A.M. Goddijn, Faculteit EWI 12 februari 2014

Lineaire Algebra TW1205TI. I.A.M. Goddijn, Faculteit EWI 12 februari 2014 Lineaire Algebra TW1205TI, 12 februari 2014 Contactgegevens Mekelweg 4, kamer 4.240 tel : (015 27)86408 e-mail : I.A.M.Goddijn@TUDelft.nl homepage : http: //fa.its.tudelft.nl/ goddijn blackboard : http:

Nadere informatie

Tie breaking in de simplex methode

Tie breaking in de simplex methode Tie breaking in de simplex methode Tijdens de Simplexmethode kan op een aantal momenten onduidelijk zijn wat je moet doen: 1. Variabele die de basis in gaat: Zoek de grootste coëfficiënt in de doelfunctie.

Nadere informatie

A.1 Grafentheorie 64 BIJLAGE A. OPLOSSING VAN DE VRAGEN A.1. GRAFENTHEORIE 65. dan heeft deze kring in ieder knooppunt een even aantal takken).

A.1 Grafentheorie 64 BIJLAGE A. OPLOSSING VAN DE VRAGEN A.1. GRAFENTHEORIE 65. dan heeft deze kring in ieder knooppunt een even aantal takken). 64 BIJLAGE A. OPLOSSING VAN DE VRAGEN A. Grafentheorie Vraag. Neem drie knooppunten i, j en k. d(i, k) = het minimum aantal takken in een keten tussen i en k Vraag.2 het minimum aantal takken in een keten

Nadere informatie

1. Een kortste pad probleem in een netwerk kan worden gemodelleerd als a. een LP probleem. b. een IP probleem. c. een BIP probleem. d.

1. Een kortste pad probleem in een netwerk kan worden gemodelleerd als a. een LP probleem. b. een IP probleem. c. een BIP probleem. d. 1. Een kortste pad probleem in een netwerk kan worden gemodelleerd als a. een LP probleem. b. een IP probleem. c. een BIP probleem. d. een toewijzingsprobleem. 2. Het aantal toegelaten hoekpunten in een

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 11 Leo van Iersel Technische Universiteit Delft 25 november 2015 Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 1 / 28 Vandaag Vraag Voor welke problemen

Nadere informatie

Netwerkstroming. Algoritmiek

Netwerkstroming. Algoritmiek Netwerkstroming Vandaag Netwerkstroming: definitie en toepassing Het rest-netwerk Verbeterende paden Ford-Fulkerson algoritme Minimum Snede Maximum Stroming Stelling Variant: Edmonds-Karp Toepassing: koppelingen

Nadere informatie

Toewijzingsprobleem Bachelorscriptie

Toewijzingsprobleem Bachelorscriptie Radboud Universiteit Nijmegen Faculteit der Natuurwetenschappen, Wiskunde en Informatica Toewijzingsprobleem Bachelorscriptie Auteur: Veronique Rademaekers (s4155718) Begeleiders: Dr. W. Bosma en dr. H.

Nadere informatie

Transport-, Routing- en Schedulingproblemen. Wi4062TU / Wi487TU / a86g. Uitwerkingen

Transport-, Routing- en Schedulingproblemen. Wi4062TU / Wi487TU / a86g. Uitwerkingen Transport-, Routing- en Schedulingproblemen Wi4062TU / Wi487TU / a86g Uitwerkingen 28-03-2003 1 Docenten Onderdeel a Er zijn 6 vakken V 1, V 2,..., V 6. Vak V j heeft een vraag b j = 1, voor j = 1, 2,...,

Nadere informatie

Lineaire Algebra voor ST

Lineaire Algebra voor ST Lineaire Algebra voor ST docent: Judith Keijsper TUE, HG 9.31 email: J.C.M.Keijsper@tue.nl studiewijzer: http://www.win.tue.nl/wsk/onderwijs/2ds6 Technische Universiteit Eindhoven college 2 J.Keijsper

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 5 Leo van Iersel Technische Universiteit Delft 2 oktober 206 Leo van Iersel (TUD) TW2020 Optimalisering 2 oktober 206 / 3 Dualiteit Dualiteit: Elk LP probleem heeft een

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 13 Leo van Iersel Technische Universiteit Delft 9 december 2015 Leo van Iersel (TUD) TW2020 Optimalisering 9 december 2015 1 / 13 Vraag Wat moet ik kennen en kunnen voor

Nadere informatie

Tentamen Optimalisering (IN2520) Datum: 5 november 2004, Docent: Dr. J.B.M. Melissen

Tentamen Optimalisering (IN2520) Datum: 5 november 2004, Docent: Dr. J.B.M. Melissen Tentamen Optimalisering (IN2520) Datum: 5 november 2004, 14.00 17.00. Docent: Dr. J.B.M. Melissen Veel succes! 1 Deze opgave bestaat uit 15 tweekeuzevragen. Per goed antwoord krijg je 2 punten. a. Dynamisch

Nadere informatie

Stelsels lineaire vergelijkingen

Stelsels lineaire vergelijkingen Een matrix heeft een rij-echelon vorm als het de volgende eigenschappen heeft: 1. Alle nulrijen staan als laatste rijen in de matrix. 2. Het eerste element van een rij dat niet nul is, ligt links ten opzichte

Nadere informatie

2WO12: Optimalisering in Netwerken

2WO12: Optimalisering in Netwerken 2WO12: Optimalisering in Netwerken Leo van Iersel Technische Universiteit Eindhoven (TU/E) en Centrum Wiskunde & Informatica (CWI) 10 maart 2014 http://homepages.cwi.nl/~iersel/2wo12/ l.j.j.v.iersel@gmail.com

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 1 Leo van Iersel Technische Universiteit Delft 7 september 2016 Leo van Iersel (TUD) TW2020 Optimalisering 7 september 2016 1 / 40 Opzet vak Woensdag: hoorcollege 13:45-15:30

Nadere informatie

De statespace van Small World Networks

De statespace van Small World Networks De statespace van Small World Networks Emiel Suilen, Daan van den Berg, Frank van Harmelen epsuilen@few.vu.nl, daanvandenberg1976@gmail.com, Frank.van.Harmelen@cs.vu.nl VRIJE UNIVERSITEIT AMSTERDAM 2 juli

Nadere informatie

l e x e voor alle e E

l e x e voor alle e E Geselecteerde uitwerkingen Werkcollege Introduceer beslissingsvariabelen x e met x e = als lijn e in de boom zit en anders x e = 0. De doelfunctie wordt: min e E l e x e Voor elke deelverzameling S V met

Nadere informatie

Netwerkstroming. Algoritmiek

Netwerkstroming. Algoritmiek Netwerkstroming Netwerkstroming Toepassingen in Logistiek Video-streaming Subroutine in algoritmen 2 Vandaag Netwerkstroming: wat was dat ook alweer? Minimum Snede Maximum Stroming Stelling Variant: Edmonds-Karp

Nadere informatie

Lineaire Algebra voor ST

Lineaire Algebra voor ST Lineaire Algebra voor ST docent: Judith Keijsper TUE, HG 9.31 email: J.C.M.Keijsper@tue.nl studiewijzer: http://www.win.tue.nl/wsk/onderwijs/2ds06 Technische Universiteit Eindhoven college 2 J.Keijsper

Nadere informatie

Bijlage A Simplex-methode

Bijlage A Simplex-methode Dee bijlage hoort bij Beter beslissen, Bijlage A Simplex-methode Verreweg de meeste LP-problemen worden opgelost met behulp van het ogenoemde Simplex-algoritme, in ontwikkeld door G.B. Dantig. De meeste

Nadere informatie

Begrenzing van het aantal iteraties in het max-flow algoritme

Begrenzing van het aantal iteraties in het max-flow algoritme Begrenzing van het aantal iteraties in het max-flow algoritme Het oplossen van het maximum stroom probleem met behulp van stroomvermeerderende paden werkt, maar het aantal iteraties kan aardig de spuigaten

Nadere informatie

TU/e 2DD50: Wiskunde 2 (1)

TU/e 2DD50: Wiskunde 2 (1) TU/e 2DD50: Wiskunde 2 () Tussentoets 26 november, tijdens de instructies Zaal: paviljoen (study hub) Time: 90min Tentamenstof: colleges 4 (LP; Simplex; dualiteit; complementaire slackness) Oude tentamens:

Nadere informatie

TU/e 2DD50: Wiskunde 2

TU/e 2DD50: Wiskunde 2 TU/e 2DD50: Wiskunde 2 Enkele mededelingen Instructies (vandaag, 10:45 12:30) in vier zalen: Zaal Aud 10 Pav b2 Pav m23 Ipo 0.98 voor studenten met achternaam beginnend met letters A tot en met D met letters

Nadere informatie

2WO12: Optimalisering in Netwerken

2WO12: Optimalisering in Netwerken 2WO12: Optimalisering in Netwerken Leo van Iersel Technische Universiteit Eindhoven (TU/E) en Centrum Wiskunde & Informatica (CWI) 27 februari 2014 http://homepages.cwi.nl/~iersel/2wo12/ l.j.j.v.iersel@gmail.com

Nadere informatie

Lineaire Algebra voor ST

Lineaire Algebra voor ST Lineaire Algebra voor ST docent: Judith Keijsper TUE, HG 9.3 email: J.C.M.Keijsper@tue.nl studiewijzer: http://www.win.tue.nl/wsk/onderwijs/2ds6 Technische Universiteit Eindhoven college 6 J.Keijsper (TUE)

Nadere informatie

Uitwerking tentamen Analyse van Algoritmen, 29 januari

Uitwerking tentamen Analyse van Algoritmen, 29 januari Uitwerking tentamen Analyse van Algoritmen, 29 januari 2007. (a) De buitenste for-lus kent N = 5 iteraties. Na iedere iteratie ziet de rij getallen er als volgt uit: i rij na i e iteratie 2 5 4 6 2 2 4

Nadere informatie

Optimalisering/Besliskunde 1. College 1 6 september, 2012

Optimalisering/Besliskunde 1. College 1 6 september, 2012 Optimalisering/Besliskunde 1 College 1 6 september, 2012 Algemene informatie College: donderdag 9:00-10:45: Gorlaeus C1/C2, Leiden vrijdag: werkcollege Leiden en Delft vragenuur Delft Vier verplichte huiswerkopgaven

Nadere informatie

Optimaliseren in Netwerken

Optimaliseren in Netwerken Optimaliseren in Netwerken Kees Roos e-mail: C.Roos@tudelft.nl URL: http://www.isa.ewi.tudelft.nl/ roos Kaleidoscoop college Zaal D, Mekelweg 4, TU Delft 11 October, A.D. 2006 Optimization Group 1 Onderwerpen

Nadere informatie

Optimalisering/Besliskunde 1. College 1 2 september, 2015

Optimalisering/Besliskunde 1. College 1 2 september, 2015 Optimalisering/Besliskunde 1 College 1 2 september, 2015 Algemene informatie College: woensdag 13:45-15:30: Leiden C1 en C2: Gorlaeus gebouw Zaal DS: De Sitterzaal, Oort gebouw Werkcollege: vrijdag: Leiden

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 12 Leo van Iersel Technische Universiteit Delft 7 december 2016 Leo van Iersel (TUD) TW2020 Optimalisering 7 december 2016 1 / 25 Volgende week: Study guide Vragenuurtje

Nadere informatie

Optimalisering/Besliskunde 1. College 1 3 september, 2014

Optimalisering/Besliskunde 1. College 1 3 september, 2014 Optimalisering/Besliskunde 1 College 1 3 september, 2014 Algemene informatie College: woensdag 9:00-10:45: Gorlaeus C1/C2, Leiden vrijdag: werkcollege Leiden en Delft Vier verplichte huiswerkopgaven Informatie

Nadere informatie

1. Het aantal optimale oplossingen van een LP probleem is 0, 1, of oneindig. 2. De vereniging van twee konvexe verzamelingen is niet convex. 3.

1. Het aantal optimale oplossingen van een LP probleem is 0, 1, of oneindig. 2. De vereniging van twee konvexe verzamelingen is niet convex. 3. 1. Het aantal optimale oplossingen van een LP probleem is 0, 1, of oneindig. 2. De vereniging van twee konvexe verzamelingen is niet convex. 3. Een LP probleem heeft n>2 variabelen en n+2 constraints.

Nadere informatie

Universiteit Utrecht Faculteit Wiskunde en Informatica. Examen Optimalisering op maandag 18 april 2005, uur.

Universiteit Utrecht Faculteit Wiskunde en Informatica. Examen Optimalisering op maandag 18 april 2005, uur. Universiteit Utrecht Faculteit Wiskunde en Informatica Examen Optimalisering op maandag 18 april 2005, 9.00-12.00 uur. De opgaven dienen duidelijk uitgewerkt te zijn en netjes ingeleverd te worden. Schrijf

Nadere informatie

Geheeltallige programmering

Geheeltallige programmering Geheeltallige programmering In een LP probleem zijn alle variabelen reëel. In een geheeltallig probleem blijven doelfunctie en constraints lineair, maar zijn de variabelen geheeltallig. LP: IP: BIP: MIP:

Nadere informatie

TU/e 2DD50: Wiskunde 2 (1)

TU/e 2DD50: Wiskunde 2 (1) TU/e 2DD50: Wiskunde 2 (1) Organisatorische informatie Wat Dag Tijd Zaal Docent College Tue 5+6 Aud 6+15 Gerhard Woeginger Thu 1+2 Aud 1+4 Gerhard Woeginger Clicker session Tue 7+8 Aud 6+15 Gerhard Woeginger

Nadere informatie

1 Transportproblemen. 1.1 Het standaard transportprobleem

1 Transportproblemen. 1.1 Het standaard transportprobleem 1 Transportproblemen 1.1 Het standaard transportprobleem Dit is het eenvoudigste logistieke model voor ruimtelijk gescheiden vraag en aanbod. Een goed is beschikbaar in gekende hoeveelheden op verscheidene

Nadere informatie

Kortste Paden. Algoritmiek

Kortste Paden. Algoritmiek Kortste Paden Toepassingen Kevin Bacon getal Six degrees of separation Heeft een netwerk de small-world eigenschap? TomTom / Google Maps 2 Kortste paden Gerichte graaf G=(N,A), en een lengte L(v,w) voor

Nadere informatie

Hoofdstuk 8: Algoritmen en Complexiteit

Hoofdstuk 8: Algoritmen en Complexiteit Hoofdstuk 8: Algoritmen en Complexiteit Vandaag: Hoe meten we de performance van algoritmen? Waar ligt de grens tussen een goed en een slecht algoritme? 22 oktober 2014 1 Vandaag: Hoe meten we de performance

Nadere informatie

Discrete Wiskunde, College 12. Han Hoogeveen, Utrecht University

Discrete Wiskunde, College 12. Han Hoogeveen, Utrecht University Discrete Wiskunde, College 12 Han Hoogeveen, Utrecht University Dynamische programmering Het basisidee is dat je het probleem stap voor stap oplost Het probleem moet voldoen aan het optimaliteitsprincipe

Nadere informatie

Universiteit Utrecht Betafaculteit. Examen Discrete Wiskunde II op donderdag 6 juli 2017, uur.

Universiteit Utrecht Betafaculteit. Examen Discrete Wiskunde II op donderdag 6 juli 2017, uur. Universiteit Utrecht Betafaculteit Examen Discrete Wiskunde II op donderdag 6 juli 2017, 13.30-16.30 uur. De opgaven dienen duidelijk uitgewerkt te zijn en netjes ingeleverd te worden. Schrijf op elk ingeleverd

Nadere informatie

Matrixoperaties. Definitie. Voorbeelden. Een matrix is een rechthoekig array van getallen, die kentallen of elementen heten.

Matrixoperaties. Definitie. Voorbeelden. Een matrix is een rechthoekig array van getallen, die kentallen of elementen heten. Definitie Een matrix is een rechthoekig array van getallen, die kentallen of elementen heten. Voorbeelden De coëfficiëntenmatrix of aangevulde matrix bij een stelsel lineaire vergelijkingen. Een rij-echelonmatrix

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 2 Leo van Iersel Technische Universiteit Delft 14 september 2016 Leo van Iersel (TUD) TW2020 Optimalisering 14 september 2016 1 / 30 Modelleren van LP en ILP problemen

Nadere informatie

Elfde college complexiteit. 23 april NP-volledigheid III

Elfde college complexiteit. 23 april NP-volledigheid III college 11 Elfde college complexiteit 23 april 2019 NP-volledigheid III 1 TSP Als voorbeeld bekijken we het Travelling Salesman/person Problem, ofwel het Handelsreizigersprobleem TSP. Hiervoor geldt: TSP

Nadere informatie

Branch-and-Bound en Cutting Planes

Branch-and-Bound en Cutting Planes Branch-and-Bound en Cutting Planes Vandaag: Er is nog geen algoritme om ILP s in polynomiale tijd op te lossen. Twee opties: 1 Exponentiëel algoritme dat optimale oplossing geeft 2 Polynomiaal algoritme

Nadere informatie

Lineaire Algebra (2DD12)

Lineaire Algebra (2DD12) Lineaire Algebra (2DD12) docent: Ruud Pellikaan - Judith Keijsper email: J.C.M.Keijsper@tue.nl studiewijzer: http://www.win.tue.nl/ ruudp/2dd12.html Technische Universiteit Eindhoven college 1 J.Keijsper

Nadere informatie

Universiteit Utrecht Betafaculteit. Examen Discrete Wiskunde op donderdag 13 april 2017, uur.

Universiteit Utrecht Betafaculteit. Examen Discrete Wiskunde op donderdag 13 april 2017, uur. Universiteit Utrecht Betafaculteit Examen Discrete Wiskunde op donderdag 13 april 2017, 14.30-17.30 uur. De opgaven dienen duidelijk uitgewerkt te zijn en netjes ingeleverd te worden. Schrijf op elk ingeleverd

Nadere informatie

SPECIALE LINEAIRE MODELLEN

SPECIALE LINEAIRE MODELLEN Hoofdstuk 7 SPECIALE LINEAIRE MODELLEN 7.1 Unimodulariteit en totale unimodulariteit Vele combinatorische optimaliseringsproblemen kunnen worden beschreven als het maximaliseren van een lineaire functie

Nadere informatie

Discrete Wiskunde 2WC15, Lente Jan Draisma

Discrete Wiskunde 2WC15, Lente Jan Draisma Discrete Wiskunde 2WC15, Lente 2010 Jan Draisma HOOFDSTUK 2 Gröbnerbases 1. Vragen We hebben gezien dat de studie van stelsels polynoomvergelijkingen in meerdere variabelen op natuurlijke manier leidt

Nadere informatie

Matrices en Grafen (wi1110ee)

Matrices en Grafen (wi1110ee) Matrices en Grafen (wi1110ee) Electrical Engineering TUDelft September 1, 2010 September 1, 2010 Inleiding Mekelweg 4, kamer 4.240 tel : (015 27)86408 e-mail : I.A.M.Goddijn@TUDelft.nl homepage : http:

Nadere informatie

Overzicht. Inleiding. Toepassingen. Verwante problemen. Modellering. Exacte oplosmethode: B&B. Insertie heuristieken. Local Search

Overzicht. Inleiding. Toepassingen. Verwante problemen. Modellering. Exacte oplosmethode: B&B. Insertie heuristieken. Local Search Overzicht Inleiding Toepassingen Verwante problemen Modellering Exacte oplosmethode: B&B Insertie heuristieken Local Search Handelsreizigersprobleem 1 Cyclische permutatie van steden b 3 77 a 93 21 42

Nadere informatie

Radboud Universiteit Nijmegen

Radboud Universiteit Nijmegen Radboud Universiteit Nijmegen Faculteit der Natuurwetenschappen, Wiskunde en Informatica L(,1)-labeling van grafen Naam: Studentnummer: Studie: Begeleider: Myrte klein Brink 4166140 Bachelor Wiskunde Dr.

Nadere informatie

Hebzucht loont niet altijd

Hebzucht loont niet altijd Thema Discrete wiskunde Hoe verbind je een stel steden met zo weinig mogelijk kilometers asfalt? Hoe maak je een optimaal computernetwerk met kabels die maar een beperkte capaciteit hebben? Veel van zulke

Nadere informatie

Taak 2: LP: simplex en sensitiviteitsanalyse Voorbeeld uitwerking

Taak 2: LP: simplex en sensitiviteitsanalyse Voorbeeld uitwerking Taak 2: LP: simplex en sensitiviteitsanalyse Voorbeeld uitwerking. Sensitiviteitsanalyse (a) Als de prijs van legering 5 daalt, kan het voordeliger worden om gebruik te maken van deze legering. Als de

Nadere informatie

Lineaire Algebra voor ST

Lineaire Algebra voor ST Lineaire Algebra voor ST docent: Judith Keijsper TUE, HG 9.31 email: J.C.M.Keijsper@tue.nl studiewijzer: http://www.win.tue.nl/wsk/onderwijs/2ds06 Technische Universiteit Eindhoven college 3 J.Keijsper

Nadere informatie

Lineaire programmering

Lineaire programmering Lineaire programmering Hans Maassen kort naar Inleiding Besliskunde van J. Potters [Pot]. en Methods of Mathematical Economics van J. Franklin [Fra]. Lineaire programmering is het bepalen van het maximum

Nadere informatie

Hoofdstuk!7!Kortste!paden!

Hoofdstuk!7!Kortste!paden! oofdstukkortstepaden oofdstukkortstepaden In een gewogen graaf is men soms geïnteresseerd in het kortste pad tussen twee punten: dat is een pad, waarbij de som van de gewichten zo klein mogelijk is..inleiding

Nadere informatie

Het minimale aantal sleutels op niveau h is derhalve

Het minimale aantal sleutels op niveau h is derhalve 1 (a) In een B-boom van orde m bevat de wortel minimaal 1 sleutel en maximaal m 1 sleutels De andere knopen bevatten minimaal m 1 sleutels en maximaal m 1 sleutels (b) In een B-boom van orde 5 bevat elke

Nadere informatie

Combinatorische Algoritmen: Binary Decision Diagrams, Deel III

Combinatorische Algoritmen: Binary Decision Diagrams, Deel III Combinatorische Algoritmen: Binary Decision Diagrams, Deel III Sjoerd van Egmond LIACS, Leiden University, The Netherlands svegmond@liacs.nl 2 juni 2010 Samenvatting Deze notitie beschrijft een nederlandse

Nadere informatie

BESLISKUNDE 2 L.C.M. KALLENBERG UNIVERSITEIT LEIDEN

BESLISKUNDE 2 L.C.M. KALLENBERG UNIVERSITEIT LEIDEN BESLISKUNDE L.C.M. KALLENBERG UNIVERSITEIT LEIDEN Voorwoord Dit vak is een voortzetting van het tweedejaarscollege Besliskunde. Een aantal andere mathematische beslissingsproblemen komt aan de orde en

Nadere informatie

Het oplossen van stelsels lineaire vergelijkingen Wiskunde 2, 2DM60 College 2b

Het oplossen van stelsels lineaire vergelijkingen Wiskunde 2, 2DM60 College 2b Het oplossen van stelsels lineaire vergelijkingen Wiskunde 2, 2DM60 College 2b Ruud Pellikaan g.r.pellikaan@tue.nl /k 2014-2015 Lineaire vergelijking 2/64 DEFINITIE: Een lineaire vergelijking in de variabelen

Nadere informatie

3. Elke lijn van een graaf draagt twee bij tot de som van alle graden.

3. Elke lijn van een graaf draagt twee bij tot de som van alle graden. Antwoorden Doeboek 4 Grafen.. De middelste en de rechtergraaf.. Een onsamenhangende graaf met vijf punten en vijf lijnen: Teken een vierhoek met één diagonaal. Het vijfde punt is niet verbonden met een

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 1 / 20 Deze week Primal-Dual algoritmes voor:

Nadere informatie

Voorbeeld simplexmethode. Max Z = 3x 1 + 2x 2 0.5x 3 z.d.d. 4x 1 + 3x 2 + x 3 10, 3x 1 + x 2-2x 3 8, en x 1, x 2, x 3 0.

Voorbeeld simplexmethode. Max Z = 3x 1 + 2x 2 0.5x 3 z.d.d. 4x 1 + 3x 2 + x 3 10, 3x 1 + x 2-2x 3 8, en x 1, x 2, x 3 0. Voorbeeld simplexmethode Max Z = 3x 1 + 2x 2 0.5x 3 z.d.d. 4x 1 + 3x 2 + x 3 10, 3x 1 + x 2-2x 3 8, en x 1, x 2, x 3 0. Voer slackvariabelen (x 4, x 5 ) in: Max Z = 3x 1 + 2x 2 0.5x 3 z.d.d. 4x 1 + 3x

Nadere informatie

Tentamen Discrete Wiskunde 1 10 april 2012, 14:00 17:00 uur

Tentamen Discrete Wiskunde 1 10 april 2012, 14:00 17:00 uur Tentamen Discrete Wiskunde 0 april 0, :00 7:00 uur Schrijf je naam op ieder blad dat je inlevert. Onderbouw je antwoorden, met een goede argumentatie zijn ook punten te verdienen. Veel succes! Opgave.

Nadere informatie

1 Vervangingsstrategie auto

1 Vervangingsstrategie auto Transport-, Routing- en Schedulingproblemen Wi4062TU / Wi487TU / a86g Uitwerkingen 28-03-2002 1 Vervangingsstrategie auto Onderdeel a Zij V = {0, 1, 2, 3, 4, 5, 6}, waarbij knoop i staat voor het einde

Nadere informatie

3. Structuren in de taal

3. Structuren in de taal 3. Structuren in de taal In dit hoofdstuk behandelen we de belangrijkst econtrolestructuren die in de algoritmiek gebruikt worden. Dit zijn o.a. de opeenvolging, selectie en lussen (herhaling). Vóór we

Nadere informatie

V = {a, b, c, d, e} Computernetwerken: de knopen zijn machines in het netwerk, de kanten zijn communicatiekanalen.

V = {a, b, c, d, e} Computernetwerken: de knopen zijn machines in het netwerk, de kanten zijn communicatiekanalen. WIS14 1 14 Grafen 14.1 Grafen Gerichte grafen Voor een verzameling V is een binaire relatie op V een verzameling geordende paren van elementen van V. Voorbeeld: een binaire relatie op N is de relatie KleinerDan,

Nadere informatie

Tiende college algoritmiek. 13/21 april Gretige Algoritmen Algoritme van Dijkstra

Tiende college algoritmiek. 13/21 april Gretige Algoritmen Algoritme van Dijkstra Algoritmiek 017/Gretige Algoritmen Tiende college algoritmiek 13/1 april 017 Gretige Algoritmen Algoritme van Dijkstra 1 Algoritmiek 017/Gretige Algoritmen Muntenprobleem Gegeven onbeperkt veel munten

Nadere informatie

Uitgebreide uitwerking Tentamen Complexiteit, mei 2007

Uitgebreide uitwerking Tentamen Complexiteit, mei 2007 Uitgebreide uitwerking Tentamen Complexiteit, mei 007 Opgave. a. Een beslissingsboom beschrijft de werking van het betreffende algoritme (gebaseerd op arrayvergelijkingen) op elke mogelijke invoer. In

Nadere informatie

Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms

Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms Giso Dal (0752975) Pagina s 5 7 1 Deelverzameling Representatie

Nadere informatie

Ruimtewiskunde. college. Stelsels lineaire vergelijkingen. Vandaag UNIVERSITEIT TWENTE. Stelsels lineaire vergelijkingen.

Ruimtewiskunde. college. Stelsels lineaire vergelijkingen. Vandaag UNIVERSITEIT TWENTE. Stelsels lineaire vergelijkingen. college 4 collegejaar college build slides Vandaag : : : : 16-17 4 29 maart 217 38 1 2 3.16-17[4] 1 vandaag Vectoren De notatie (x 1, x 2,..., x n ) wordt gebruikt voor het punt P met coördinaten (x 1,

Nadere informatie

Lineaire Algebra WI1048WbMt. I.A.M. Goddijn, Faculteit EWI 4 september 2016

Lineaire Algebra WI1048WbMt. I.A.M. Goddijn, Faculteit EWI 4 september 2016 Lineaire Algebra WI1048WbMt, 4 september 2016 Informatie over de docent Mekelweg 4, kamer 4.240 tel : (015 27)86408 e-mail : I.A.M.Goddijn@TUDelft.nl homepage : http: //fa.its.tudelft.nl/ goddijn blackboard

Nadere informatie

Vierde huiswerkopdracht Lineaire algebra 1

Vierde huiswerkopdracht Lineaire algebra 1 Vierde huiswerkopdracht Lineaire algebra December, 00 Opgave : Voor positieve gehele getallen m, n schrijven we Mat(m n, R) voor de vectorruimte van alle m n matrices, met de gebruikelijke optelling en

Nadere informatie

In dit gedeelte worden drie problemen genoemd die kunnen voorkomen in netwerken.

In dit gedeelte worden drie problemen genoemd die kunnen voorkomen in netwerken. Aantekening Wiskunde Steiner Aantekening door D. 2086 woorden 25 mei 2016 2,1 1 keer beoordeeld Vak Wiskunde Resultaten Vragen bij het wetenschappelijk materiaal 9.1 Prototype example, p. 374-376 In dit

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 2 Leo van Iersel Technische Universiteit Delft 9 september 2015 Leo van Iersel (TUD) TW2020 Optimalisering 9 september 2015 1 / 23 Huiswerk Huiswerk 1 is beschikbaar op

Nadere informatie

Computationele Intelligentie

Computationele Intelligentie Computationele Intelligentie Uitwerking werkcollege Representatie, Ongeïnformeerd zoeken, Heuristisch zoeken 1 lokkenwereld a. De zoekboom die door het dynamische breadth-first search algoritme wordt gegenereerd

Nadere informatie

Faculteit der Economie en Bedrijfskunde

Faculteit der Economie en Bedrijfskunde Faculteit der Economie en Bedrijfskunde Op dit voorblad vindt u belangrijke informatie omtrent het tentamen. Lees dit voorblad voordat u met het tentamen begint! Tentamen: Operational Research 1D (4016)

Nadere informatie

Samenvatting Lineaire Algebra, periode 4

Samenvatting Lineaire Algebra, periode 4 Samenvatting Lineaire Algebra, periode 4 Hoofdstuk 5, Eigenwaarden en eigenvectoren 5.1; Eigenvectoren en eigenwaarden Definitie: Een eigenvector van een n x n matrix A is een niet nulvector x zodat Ax

Nadere informatie

Tiende college algoritmiek. 26 april Gretige algoritmen

Tiende college algoritmiek. 26 april Gretige algoritmen Algoritmiek 01/10 College 10 Tiende college algoritmiek april 01 Gretige algoritmen 1 Algoritmiek 01/10 Muntenprobleem Gegeven onbeperkt veel munten van d 1,d,...d m eurocent, en een te betalen bedrag

Nadere informatie

Optimalisering en Complexiteit, College 10. Begrensde variabelen. Han Hoogeveen, Utrecht University

Optimalisering en Complexiteit, College 10. Begrensde variabelen. Han Hoogeveen, Utrecht University Optimalisering en Complexiteit, College 10 Begrensde variabelen Han Hoogeveen, Utrecht University Begrensde variabelen (1) In veel toepassingen hebben variabelen zowel een ondergrens als een bovengrens:

Nadere informatie