TW2020 Optimalisering

Vergelijkbare documenten
TW2020 Optimalisering

Hoofdstuk 8: Algoritmen en Complexiteit

2WO12: Optimalisering in Netwerken

TW2020 Optimalisering

1 Complexiteit. of benadering en snel

TW2020 Optimalisering

TW2020 Optimalisering

TW2020 Optimalisering

TW2020 Optimalisering

Hoofdstuk 13: Integer Lineair Programmeren

TW2020 Optimalisering

TW2020 Optimalisering

Netwerkstroming. Algoritmiek

TW2020 Optimalisering

Netwerkstroming. Algoritmiek

Tentamen combinatorische optimalisatie Tijd:

Begrenzing van het aantal iteraties in het max-flow algoritme

TW2020 Optimalisering

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

(On)Doenlijke problemen

TW2020 Optimalisering

Benaderingsalgoritmen

2WO12: Optimalisering in Netwerken

2WO12: Optimalisering in Netwerken

Fundamentele Informatica

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

NP-Volledigheid. Wil zo snel mogelijke algoritmes om problemen op te lossen. De looptijd is polynomiaal: O n k - dat is heel erg mooi

Datastructuren. Analyse van algoritmen. José Lagerberg. FNWI, UvA. José Lagerberg (FNWI, UvA) Datastructuren 1 / 46

Uitwerking tentamen Analyse van Algoritmen, 29 januari

TW2020 Optimalisering

Optimalisering/Besliskunde 1. College 1 3 september, 2014

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

Optimalisering/Besliskunde 1. College 1 2 september, 2015

Optimaliseren in Netwerken

Basiskennis lineaire algebra

Heuristieken en benaderingsalgoritmen. Algoritmiek

l e x e voor alle e E

Puzzels en wiskunde. Inleiding. Algoritme. Sudoku. 22 Puzzels en wiskunde

Inhoudsopgave. 1 COMPLEXITEITSTHEORIE Inleiding De klassen P en N P Opgaven... 16

1 Rekenen in eindige precisie

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

Opgaven Analyse van Algoritmen 10 mei 2019, Datastructuren, Werkgroep.

Divide & Conquer: Verdeel en Heers vervolg. Algoritmiek

Branch-and-Bound en Cutting Planes

12 september 2012 Complexiteit. Analyse van algoritmen (doelen) Empirische analyse : Voorbeeld Gevolgen

2WO12: Optimalisering in Netwerken

Het Chinese Postbode Probleem. Marene Dimmendaal s

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

Tweede college algoritmiek. 12 februari Grafen en bomen

OptimalisereninNetwerken

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).

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.

Tentamen IN3105 Complexiteitstheorie

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

Inleiding Programmeren 2

6 Complexe getallen. 6.1 Definitie WIS6 1

Op zoek naar de Hamilton cykel. Mike Hoffmeister

Inleiding Programmeren 2

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

Algoritmes en Priemgetallen. Hoe maak je een sleutelpaar voor RSA?

2WO12: Optimalisering in Netwerken

Tie breaking in de simplex methode

Classificatie van Markovbeslissingsketens

3. Structuren in de taal

Optimalisering en Complexiteit, College 2. Han Hoogeveen, Utrecht University

Onderwerpen. Punten en lijnen, postbodes en handelsreizigers. Theorie. Theorie (2) Graaftheorie. Een mini-inleiding graaftheorie

Vierde college complexiteit. 26 februari Beslissingsbomen en selectie Toernooimethode Adversary argument

Uitgebreide uitwerking Tentamen Complexiteit, juni 2017

Algoritmiek. 2 februari Introductie

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

Transcriptie:

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 meten we de performance van algoritmes? Waar ligt de grens tussen een goed en een slecht algoritme? Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 2 / 28

Problemen Een (algoritmisch) probleem bestaat uit karakterisaties van toegelaten invoer (input) en gewenste uitvoer (output) als functie van de invoer. Een instantie ontstaat als één toegelaten invoer gekozen wordt. Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 3 / 28

Problemen Een (algoritmisch) probleem bestaat uit karakterisaties van toegelaten invoer (input) en gewenste uitvoer (output) als functie van de invoer. Een instantie ontstaat als één toegelaten invoer gekozen wordt. Voorbeeld Probleem: Travelling Salesman Problem (TSP) Gegeven: een volledige graaf G = (V, E) en een kostenfunctie c : E R +. Gevraagd: een circuit in G dat elk punt precies één keer bevat en minimale kosten heeft. TSP is een optimaliseringsprobleem. Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 3 / 28

Een beslissingsprobleem vraagt om een ja- of nee-antwoord. Elk optimaliseringsprobleem heeft een bijbehorend beslissingsprobleem. Voorbeeld Probleem: TSP-beslis Gegeven: een volledige graaf G = (V, E), een kostenfunctie c : E R + en een bovengrens B R. Gevraagd: is er een circuit in G dat elk punt precies één keer bevat en waarvan de kosten maximaal B zijn? Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 4 / 28

Definitie Een algoritme (algorithm) voor een probleem is een reeks van instructies waarmee elke mogelijke instantie van het probleem opgelost kan worden in eindige tijd. Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 5 / 28

Definitie Een algoritme (algorithm) voor een probleem is een reeks van instructies waarmee elke mogelijke instantie van het probleem opgelost kan worden in eindige tijd. Definitie De (tijds)complexiteit (time complexity) of looptijd (running time) van een algoritme A is de functie f : N N met f (n) het aantal elementaire stappen dat A in het ergste geval ( worst-case ) nodig heeft om een instantie met invoerlengte n op te lossen. Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 5 / 28

Definitie Een algoritme (algorithm) voor een probleem is een reeks van instructies waarmee elke mogelijke instantie van het probleem opgelost kan worden in eindige tijd. Definitie De (tijds)complexiteit (time complexity) of looptijd (running time) van een algoritme A is de functie f : N N met f (n) het aantal elementaire stappen dat A in het ergste geval ( worst-case ) nodig heeft om een instantie met invoerlengte n op te lossen. de invoerlengte van een instantie is het aantal bits dat nodig is om de invoer van de instantie te representeren; elementaire stappen zijn o.a. rekenkundige bewerkingen van getallen (optellen, vermenigvuldigen, enz.), vergelijken van getallen, lezen en schrijven van een geheugenplaats, volgen van pointer. Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 5 / 28

Om complexiteit (of andere functies) af te schatten wordt vaak de volgende big-o notatie gebruikt: Definitie Laten f en g twee functies van N naar R + zijn, dan is f (n) = O(g(n)) als er c > 0 en n 0 N bestaan zodanig dat f (n) c g(n) voor alle n n 0 Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 6 / 28

Om complexiteit (of andere functies) af te schatten wordt vaak de volgende big-o notatie gebruikt: Definitie Laten f en g twee functies van N naar R + zijn, dan is f (n) = O(g(n)) als er c > 0 en n 0 N bestaan zodanig dat f (n) c g(n) voor alle n n 0 f (n) = Ω(g(n)) als als er c > 0 en n 0 N bestaan zodanig dat f (n) c g(n) voor alle n n 0 Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 6 / 28

Om complexiteit (of andere functies) af te schatten wordt vaak de volgende big-o notatie gebruikt: Definitie Laten f en g twee functies van N naar R + zijn, dan is f (n) = O(g(n)) als er c > 0 en n 0 N bestaan zodanig dat f (n) c g(n) voor alle n n 0 f (n) = Ω(g(n)) als als er c > 0 en n 0 N bestaan zodanig dat f (n) c g(n) voor alle n n 0 f (n) = Θ(g(n)) als f (n) = O(g(n)) en f (n) = Ω(g(n)) Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 6 / 28

Om complexiteit (of andere functies) af te schatten wordt vaak de volgende big-o notatie gebruikt: Definitie Laten f en g twee functies van N naar R + zijn, dan is f (n) = O(g(n)) als er c > 0 en n 0 N bestaan zodanig dat f (n) c g(n) voor alle n n 0 f (n) = Ω(g(n)) als als er c > 0 en n 0 N bestaan zodanig dat f (n) c g(n) voor alle n n 0 f (n) = Θ(g(n)) als f (n) = O(g(n)) en f (n) = Ω(g(n)) Nuttige eigenschappen: f (n) als lim n g(n) = 0 dan f (n) = O(g(n)) f (n) als lim n g(n) = c > 0 dan f (n) = Θ(g(n)) f (n) als lim n g(n) = dan f (n) = Ω(g(n)) Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 6 / 28

Vraag (1) Wat is de invoerlengte als de invoer een getal n is? Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 7 / 28

Vraag (1) Wat is de invoerlengte als de invoer een getal n is? Vraag (2) Wat is de invoerlengte van een LP? Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 7 / 28

Vraag (1) Wat is de invoerlengte als de invoer een getal n is? Vraag (2) Wat is de invoerlengte van een LP? Vraag (3) Wat is de invoerlengte als de invoer een graaf is? Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 7 / 28

Representaties van een ongerichte graaf: 2 1 2 1 3 4 5 3 4 Adjacency matrix: 0 1 2 3 4 1 0 1 0 1 2 1 0 1 1 3 0 1 0 1 4 1 1 1 0 Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 8 / 28

Representaties van een ongerichte graaf: 2 1 1 2 4 3 4 5 Adjacency matrix: 0 1 2 3 4 1 0 1 0 1 2 1 0 1 1 3 0 1 0 1 4 1 1 1 0 3 Incidence matrix: 0 1 2 3 4 5 1 1 0 0 1 0 2 1 1 1 0 0 3 0 1 0 0 1 4 0 0 1 1 1 Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 8 / 28

Representaties van een ongerichte graaf: 2 1 1 2 4 3 4 5 Adjacency matrix: 0 1 2 3 4 1 0 1 0 1 2 1 0 1 1 3 0 1 0 1 4 1 1 1 0 3 Incidence matrix: 0 1 2 3 4 5 1 1 0 0 1 0 2 1 1 1 0 0 3 0 1 0 0 1 4 0 0 1 1 1 Adjacency lists: A 1 = [2, 4] A 3 = [2, 4] A 2 = [1, 3, 4] A 4 = [1, 2, 3] Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 8 / 28

Representatie van een gerichte graaf: 2 1 2 1 3 4 5 3 4 Adjacency matrix: 0 1 2 3 4 1 0 1 0 1 2 0 0 1 0 3 0 0 0 1 4 0 1 0 0 Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 9 / 28

Representatie van een gerichte graaf: 2 1 1 2 4 3 4 5 Adjacency matrix: 0 1 2 3 4 1 0 1 0 1 2 0 0 1 0 3 0 0 0 1 4 0 1 0 0 3 Incidence matrix: 1 2 3 4 5 1 1 0 0 1 0 2 1 1 1 0 0 3 0 1 0 0 1 4 0 0 1 1 1 Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 9 / 28

Representatie van een gerichte graaf: 2 1 1 2 4 3 4 5 Adjacency matrix: 0 1 2 3 4 1 0 1 0 1 2 0 0 1 0 3 0 0 0 1 4 0 1 0 0 3 Incidence matrix: 1 2 3 4 5 1 1 0 0 1 0 2 1 1 1 0 0 3 0 1 0 0 1 4 0 0 1 1 1 In- ad out-lists: A in 1 = [] Aout 1 = [2, 4] A in 2 = [1, 4] Aout 2 = [3] A in 3 = [2] Aout 3 = [4] A in 4 = [1, 3] Aout 4 = [2] Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 9 / 28

Definitie Een algoritme is polynomiaal als het tijdscomplexiteit O(p(n)) heeft met p(n) een polynoom. Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 10 / 28

Definitie Een algoritme is polynomiaal als het tijdscomplexiteit O(p(n)) heeft met p(n) een polynoom. Definitie Een algoritme is exponentieel als het tijdscomplexiteit Ω(f (n)) heeft met f (n) een exponentiële functie (f (n) = a n voor een constante a > 1). Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 10 / 28

Definitie Een algoritme is polynomiaal als het tijdscomplexiteit O(p(n)) heeft met p(n) een polynoom. Definitie Een algoritme is exponentieel als het tijdscomplexiteit Ω(f (n)) heeft met f (n) een exponentiële functie (f (n) = a n voor een constante a > 1). Definitie De klasse P is de klasse van alle (beslissings)problemen waarvoor een polynomiaal algoritme bestaat. Problemen in P worden makkelijke problemen genoemd. Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 10 / 28

Definitie De klasse N P is de klasse van alle beslissingsproblemen waarvoor een ja-antwoord in polynomiale-tijd geverifiëerd kan worden, m.b.v. een certificaat van polynomiale lengte. Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 11 / 28

Definitie De klasse N P is de klasse van alle beslissingsproblemen waarvoor een ja-antwoord in polynomiale-tijd geverifiëerd kan worden, m.b.v. een certificaat van polynomiale lengte. Voorbeeld TSP-beslis N P. Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 11 / 28

Definitie De klasse N P is de klasse van alle beslissingsproblemen waarvoor een ja-antwoord in polynomiale-tijd geverifiëerd kan worden, m.b.v. een certificaat van polynomiale lengte. Voorbeeld TSP-beslis N P. Eén van de zeven millennium problemen ($1.000.000): is P = N P? Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 11 / 28

Definitie De klasse N P is de klasse van alle beslissingsproblemen waarvoor een ja-antwoord in polynomiale-tijd geverifiëerd kan worden, m.b.v. een certificaat van polynomiale lengte. Voorbeeld TSP-beslis N P. Eén van de zeven millennium problemen ($1.000.000): is P = N P? Voor TSP bestaat geen polynomiaal algoritme tenzij P = N P. TSP wordt daarom een moeilijk probleem genoemd. Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 11 / 28

Schaalbaarheid Polynomiale algoritmes schalen veel beter dan exponentiële algoritmes. Tabel: Groei van polynomiale en exponeniële functies n 10 100 1000 n log(n) 33 664 9966 n 3 1000 1,000,000 10 9 10 6 n 8 10 14 10 22 10 30 2 n 1024 1.27x10 30 1.05x10 301 n log(n) 2099 1.93x10 13 7.89x10 29 n! 3,628,800 10 158 4x10 2567 Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 12 / 28

Profijt van technologische ontwikkeling Polynomiale algoritmes profiteren meer van technologische ontwikkelingen. Tabel: Maximale instantiegrootte op te lossen in 1 dag Functie Huidige technologie 10x snellere computer n 10 12 10 13 n log(n) 0.948x10 11 0.87x10 12 n 2 10 6 3.16x10 6 n 3 10 4 2.15x10 4 10 8 n 4 10 18 2 n 40 43 10 n 12 13 n log(n) 79 95 n! 14 15 Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 13 / 28

Voorbeeld Wat is de complexiteit van het algoritme van Dijkstra voor het vinden van een kortste pad van s naar t in een gerichte graaf D = (V, A) met een lengte c uv 0 voor elke pijl (u, v) A en met s, t V. Algoritme W := {s} ρ(s) := 0 ρ(v) := c sv voor elk punt v V \ {s} (met c sv = wanneer (s, v) / A) Herhaal totdat W = V : 1 Vind u V \ W met minimale ρ(u) 2 W := W {u} 3 Voor elke v V \ W met (u, v) A ρ(v) := min{ρ(v), ρ(u) + cuv } Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 14 / 28

Voorbeeld Wat is de complexiteit van het algoritme van Ford-Fulkerson voor het vinden van een maximum stroom, als alle capaciteiten geheeltallig zijn? Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 15 / 28

Algoritme (Ford-Fulkerson) 1 Begin met f ij = 0 voor alle (i, j) A 2 Maak een gerichte hulpgraaf D f met dezelfde punten als D en voor elke pijl (i, j) van D: als f ij < b ij dan krijgt D f een pijl (i, j) met capaciteit c ij = b ij f ij als f ij > 0 dan krijgt D f een pijl (j, i) met capaciteit c ji = f ij 3 Geval 1: er bestaat een gericht pad P van s naar t in D f. α := min{c ij (i, j) ligt op P} Vermeerder stroom f als volgt: f ij := f ij + α f ij := f ij α Ga naar (2). als (i, j) op P ligt als (j, i) op P ligt 4 Geval 2: er bestaat geen pad van s naar t in D f. Definieer: U := {u V er bestaat een pad van s naar u in D f } Dan is (U, V \ U) een s-t snede met C(U, V \ U) =waarde(f ). Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 16 / 28

Voorbeeld Het aantal iteraties van het algoritme van Ford-Fulkerson kan exponentiëel zijn in de invoergrootte. u 1000 1000 s 1000 v 1 1000 t Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 17 / 28

Voorbeeld Het aantal iteraties van het algoritme van Ford-Fulkerson kan exponentiëel zijn in de invoergrootte. Eerste iteratie: vermeerder stroom over pad (s, u, v, t): u 1/1000 0/1000 s 1/1 t Dit geeft een stroom met waarde 1. 0/1000 1/1000 v Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 18 / 28

Voorbeeld Het aantal iteraties van het algoritme van Ford-Fulkerson kan exponentiëel zijn in de invoergrootte. Tweede iteratie: vermeerder stroom over pad (s, v, u, t): u 1/1000 1/1000 s 0/1 t Dit geeft een stroom met waarde 2. 1/1000 1/1000 v Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 19 / 28

Voorbeeld Het aantal iteraties van het algoritme van Ford-Fulkerson kan exponentiëel zijn in de invoergrootte. Derde iteratie: vermeerder stroom over pad (s, u, v, t): u 2/1000 1/1000 s 1/1 t Dit geeft een stroom met waarde 3. 1/1000 2/1000 v Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 20 / 28

Voorbeeld Het aantal iteraties van het algoritme van Ford-Fulkerson kan exponentiëel zijn in de invoergrootte. Vierde iteratie: vermeerder stroom over pad (s, v, u, t): u 2/1000 2/1000 s 0/1 t Dit geeft een stroom met waarde 4. 2/1000 2/1000 v Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 21 / 28

Voorbeeld Het aantal iteraties van het algoritme van Ford-Fulkerson kan exponentiëel zijn in de invoergrootte. Vijfde iteratie: vermeerder stroom over pad (s, u, v, t): u 3/1000 2/1000 s 1/1 t Dit geeft een stroom met waarde 5. 2/1000 3/1000 v Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 22 / 28

Voorbeeld Het aantal iteraties van het algoritme van Ford-Fulkerson kan exponentiëel zijn in de invoergrootte. Na 2000 iteraties: 1000/1000 1000/1000 u s 0/1 t 1000/1000 1000/1000 v Krijgen we eindelijk een optimale stroom met waarde 2000. Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 23 / 28

Als we 1000 vervangen door N dan hebben we 2N iteraties nodig en is de invoergrootte O(log(N)). Maar N is exponentieel veel groter dan log(n). Dus is het algoritme van Ford-Fulkerson is niet polynomiaal. Vraag Hoe kunnen we het algoritme verbeteren? Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 24 / 28

Stelling (Dinits en Edmonds-Karp) Het Ford-Fulkerson algoritme heeft polynomiale looptijd als elke iteratie een kortste stroomvermeerderende pad gekozen wordt. Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 25 / 28

Stelling (Dinits en Edmonds-Karp) Het Ford-Fulkerson algoritme heeft polynomiale looptijd als elke iteratie een kortste stroomvermeerderende pad gekozen wordt. µ(d) := lengte kortste s-t-pad in gerichte graaf D α(d) := verzameling van pijlen die op minstens één kortste s-t-pad liggen α(d) := {(v, u) (u, v) α(d)} Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 25 / 28

Stelling (Dinits en Edmonds-Karp) Het Ford-Fulkerson algoritme heeft polynomiale looptijd als elke iteratie een kortste stroomvermeerderende pad gekozen wordt. Lemma µ(d) := lengte kortste s-t-pad in gerichte graaf D α(d) := verzameling van pijlen die op minstens één kortste s-t-pad liggen α(d) := {(v, u) (u, v) α(d)} Als D = (V, A) en D = (V, A α(d)) dan is µ(d) = µ(d ) en α(d) = α(d ). Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 25 / 28

Simplex algoritme Aantal iteraties kan exponentieel zijn. Minimale voorwaarden voor voorbeeld: Exponentieel aantal hoekpunten. Serie van exponentieel veel hoekpunten met toenemende doelstellingswaarde. Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 26 / 28

Simplex algoritme Aantal iteraties kan exponentieel zijn. Minimale voorwaarden voor voorbeeld: Exponentieel aantal hoekpunten. Serie van exponentieel veel hoekpunten met toenemende doelstellingswaarde. Opm: Een d-dimensionale kubus heeft 2d facetten en 2 d hoekpunten Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 26 / 28

Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 27 / 28

De Simplex methode is niet polynomiaal (in de worst case). Voor vrijwel alle praktische instanties is het algoritme heel snel. Algoritmes voor LP: Simplex algoritme (1947): niet polynomiaal, snel in praktijk Ellipsoid method (1979): wel polynomiaal, langzaam in praktijk Interior Point Method (1984): wel polynomiaal, snel in praktijk Open vragen: Is er een pivotregel voor de Simplex methode die wel leidt tot een polynomiaal algoritme? Hoe kunnen we het verschil tussen de theoretische en praktische efficiëntie van algoritmes als de Simplex methode verklaren? Wat zijn goede alternatieven voor de worst-case analyse van algoritmes? Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 28 / 28