TW2020 Optimalisering

Vergelijkbare documenten
Hoofdstuk 13: Integer Lineair Programmeren

TW2020 Optimalisering

TW2020 Optimalisering

TW2020 Optimalisering

TW2020 Optimalisering

TW2020 Optimalisering

TW2020 Optimalisering

TW2020 Optimalisering

TW2020 Optimalisering

TW2020 Optimalisering

Optimalisering/Besliskunde 1. College 1 3 september, 2014

TW2020 Optimalisering

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

Optimalisering/Besliskunde 1. College 1 2 september, 2015

Branch-and-Bound en Cutting Planes

2WO12: Optimalisering in Netwerken

TW2020 Optimalisering

TW2020 Optimalisering

l e x e voor alle e E

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

Optimalisering. Hoorcollege 4. Leo van Iersel. Technische Universiteit Delft. 28 september 2016

Optimalisering. Hoorcollege 4. Leo van Iersel. Technische Universiteit Delft. 23 september 2015

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

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

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

Universiteit Utrecht Departement Informatica

2WO12: Optimalisering in Netwerken

Tentamen: Operationele Research 1D (4016)

Benaderingsalgoritmen

TU/e 2DD50: Wiskunde 2 (1)

Hoofdstuk 8: Algoritmen en Complexiteit

Lineaire Algebra voor ST

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

Toewijzingsprobleem Bachelorscriptie

Optimalisering en Complexiteit, College 11. Complementaire speling; duale Simplex methode. Han Hoogeveen, Utrecht University

SPECIALE LINEAIRE MODELLEN

Geheeltallige programmering

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.

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

TU/e 2DD50: Wiskunde 2

WI1808TH1/CiTG - Lineaire algebra deel 1

TU/e 2DD50: Wiskunde 2

Tie breaking in de simplex methode

Lineaire Algebra voor ST

2WO12: Optimalisering in Netwerken

Lineaire Algebra voor ST

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

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

BESLISKUNDE 2 EN 3 L.C.M. KALLENBERG UNIVERSITEIT LEIDEN

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

Netwerkstroming. Algoritmiek

Programming a CNC-machine using ILP

Basiskennis lineaire algebra

Tentamen combinatorische optimalisatie Tijd:

BESLISKUNDE 3 L.C.M. KALLENBERG

Lineaire Algebra voor ST

Lineaire Algebra (2DD12)

1 Complexiteit. of benadering en snel

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

Lineaire programmering

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

Netwerkstroming. Algoritmiek

2WO12: Optimalisering in Netwerken

(On)Doenlijke problemen

Enkele basismodellen uit operationeel onderzoek

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

Matrixalgebra (het rekenen met matrices)

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.

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

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

Determinanten. Definities en eigenschappen

TU/e 2DD50: Wiskunde 2 (1)

BESLISKUNDE 2 L.C.M. KALLENBERG UNIVERSITEIT LEIDEN

Divide & Conquer: Verdeel en Heers vervolg. Algoritmiek

Lineaire vergelijkingen II: Pivotering

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.

Fundamentele Informatica

Hoofdstuk 3 : Determinanten

Optimalisering WI 2608

Modellen en Simulatie Speltheorie

Begrenzing van het aantal iteraties in het max-flow algoritme

Lineaire Algebra voor ST

Transcriptie:

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) Modelleren met ILP Weglaten van geheeltalligheidsrestricties (LP-relaxatie) Vergelijken van ILP formuleringen (integrality gap) Wanneer kunnen we een ILP oplossen door de LP-relaxatie op te lossen? (totale unimodulariteit) Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 2 / 28

Modelleren met ILP: virus uitbraak Voorbeeld Er is een uitbraak van een gevaarlijk virus op M locaties. Er zijn N teams die elk maximaal twee locaties kunnen onderzoeken. Team n heeft t nm tijd nodig om locatie m te onderzoeken. Als een team twee locaties m en p bezoekt dan is er een extra reistijd van r mp. Onderzoek alle locaties in zo min mogelijk tijd! Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 3 / 28

Eerste poging Beslissingsvariabelen: { 1 als team n locatie m onderzoekt x nm = 0 anders Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 4 / 28

Eerste poging Beslissingsvariabelen: { 1 als team n locatie m onderzoekt x nm = 0 anders Niet-lineaire formulering: N M min max n=1 m=1 M 1 t nm x nm + M m=1 p=m+1 r mp x nm x np o.d.v. N x nm = 1 n=1 M x nm 2 m=1 voor m = 1,..., M voor n = 1,..., N x nm {0, 1} voor n = 1,..., N en m = 1,..., M Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 4 / 28

Let op! De doelfunctie is niet lineair want: (i) de operatie max is niet lineair en (ii) het product x nm x np is niet lineair. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 5 / 28

Let op! De doelfunctie is niet lineair want: (i) de operatie max is niet lineair en (ii) het product x nm x np is niet lineair. Probleem (i) kunnen we als volgt oplossen: Voeg een extra beslissingsvariabele T R toe. Vervang de doelfunctie door min T Voeg de volgende restricties toe: T M m=1 M 1 t nm x nm + M m=1 p=m+1 r mp x nm x np voor n = 1,..., N Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 5 / 28

De nieuwe formulering. Nog steeds niet lineair. min T o.d.v. T M m=1 N x nm = 1 n=1 M x nm 2 m=1 M 1 t nm x nm + M m=1 p=m+1 r mp x nm x np voor n = 1,..., N voor m = 1,..., M voor n = 1,..., N x nm {0, 1} voor n = 1,..., N en m = 1,..., M T R Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 6 / 28

Probleem (ii) het product x nm x np is niet lineair. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 7 / 28

Probleem (ii) het product x nm x np is niet lineair. kunnen we als volgt oplossen: Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 7 / 28

Probleem (ii) het product x nm x np is niet lineair. kunnen we als volgt oplossen: Voeg extra beslissingsvariabelen y nmp {0, 1} toe (die aangeven of team n zowel locatie m als p bezoekt). Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 7 / 28

Probleem (ii) het product x nm x np is niet lineair. kunnen we als volgt oplossen: Voeg extra beslissingsvariabelen y nmp {0, 1} toe (die aangeven of team n zowel locatie m als p bezoekt). Vervang x nm x np door y nmp in het model. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 7 / 28

Probleem (ii) het product x nm x np is niet lineair. kunnen we als volgt oplossen: Voeg extra beslissingsvariabelen y nmp {0, 1} toe (die aangeven of team n zowel locatie m als p bezoekt). Vervang x nm x np door y nmp in het model. Dwing af dat y nmp = x nm x np d.m.v. lineaire restricties: y nmp x nm y nmp x np y nmp x nm + x np 1 Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 7 / 28

De uiteindelijke correcte ILP formulering. min o.d.v. T T M m=1 N x nm = 1 n=1 M x nm 2 m=1 y nmp x nm y nmp x np M 1 t nm x nm + y nmp x nm + x np 1 x nm, y nmp {0, 1} T R M m=1 p=m+1 r mp y nmp n m n n, m, p n, m, p n, m, p n, m, p Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 8 / 28

Modelleren met ILP: sterilisatie in ziekenhuizen Voorbeeld In ziekenhuizen worden instrumenten op netten geplaatst. Na elke operatie worden alle instrumenten op gebruikte netten gesteriliseerd. De ziekenhuizen willen de instrumenten zodanig over de netten verdelen dat de totale sterilisatiekosten minimaal zijn. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 9 / 28

Een gedeeltelijk model (volledige model op werkcollege). Beslissingsvariabelen: x in is het aantal instrumenten van type i dat aan net n wordt toegewezen Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 10 / 28

Een gedeeltelijk model (volledige model op werkcollege). Beslissingsvariabelen: x in is het aantal instrumenten van type i dat aan net n wordt toegewezen { 1 als net n bij operatie o gebruikt wordt y no = 0 anders Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 10 / 28

Een gedeeltelijk model (volledige model op werkcollege). Beslissingsvariabelen: x in is het aantal instrumenten van type i dat aan net n wordt toegewezen { 1 als net n bij operatie o gebruikt wordt y no = 0 anders Stel er zijn b io instrumenten van type i nodig bij operatie o. Dan willen we zorgen dat: N x in y no b io n=1 i, o Probleem! Deze restrictie is niet lineair!. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 10 / 28

Oplossing! Introduceer nieuwe beslissingsvariabelen q ino Z die aangeven hoeveel instrumenten van type i op net n liggen en beschikbaar zijn bij operatie o. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 11 / 28

Oplossing! Introduceer nieuwe beslissingsvariabelen q ino Z die aangeven hoeveel instrumenten van type i op net n liggen en beschikbaar zijn bij operatie o. Dus q ino = x in y no. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 11 / 28

Oplossing! Introduceer nieuwe beslissingsvariabelen q ino Z die aangeven hoeveel instrumenten van type i op net n liggen en beschikbaar zijn bij operatie o. Dus q ino = x in y no. Dit kunnen we afdwingen d.m.v. de volgende lineaire restricties: q ino My no q ino x in q ino x in + M(y no 1) met M een groot genoeg getal. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 11 / 28

LP-relaxatie Een ILP probleem: De LP-relaxatie: min o.d.v. z IP = c T x Ax = b x 0 x Z n min o.d.v. z LP = c T x Ax = b x 0 Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 12 / 28

LP-relaxatie Een ILP probleem: De LP-relaxatie: min o.d.v. z IP = c T x Ax = b x 0 x Z n min o.d.v. z LP = c T x Ax = b x 0 Observatie z LP z IP Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 12 / 28

LP-relaxatie Een ILP probleem: De LP-relaxatie: min o.d.v. z IP = c T x Ax = b x 0 x Z n min o.d.v. z LP = c T x Ax = b x 0 Observatie z LP z IP Hoe goed is de LP-relaxatie als ondergrens? Definitie De integrality gap van een ILP probleem is de worst-case waarde van zip zlp Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 12 / 28

Afronden Een mogelijke aanpak: Los de LP-relaxatie op. Rond de optimale oplossing af zodat die geheeltallig wordt. Problemen: Het kan zijn dat afronden geen toegelaten oplossing van het ILP geeft. Er is in het algemeen geen garantie voor hoe goed een afgeronde oplossing is. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 13 / 28

Probleem Handelsreizigersprobleem (TSP) in een graaf Gegeven: een 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. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 14 / 28

Probleem Handelsreizigersprobleem (TSP) in een graaf Gegeven: een 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. Beslissingsvariabelen: x e = { 1 als lijn e in het circuit zit 0 anders Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 14 / 28

ILP formulering van TSP in een graaf: min o.d.v. c e x e e E e δ(v) e δ(s) x e = 2 v V (a) x e 2 S V, S (b) x e {0, 1} e E (c) Met δ(v) de verzameling lijnen die incident zijn met punt v. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 15 / 28

Probleem Handelsreizigersprobleem (TSP) in een gerichte graaf Gegeven: een gerichte graaf D = (V, A) en een kostenfunctie c : A R +. Gevraagd: een gericht circuit in D dat elk punt precies één keer bevat en minimale kosten heeft. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 16 / 28

Probleem Handelsreizigersprobleem (TSP) in een gerichte graaf Gegeven: een gerichte graaf D = (V, A) en een kostenfunctie c : A R +. Gevraagd: een gericht circuit in D dat elk punt precies één keer bevat en minimale kosten heeft. Beslissingsvariabelen: { 1 als pijl (i, j) in het circuit zit x ij = 0 anders Met V = {1,..., n}. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 16 / 28

ILP formulering van TSP in een gerichte graaf: min o.d.v. n n c ij x ij i=1 j=1 n x ij = 1 j = 1,..., n (A) i=1 n x ij = 1 i = 1,..., n (B) j=1 i S, j V \S x ij 1 S V, S (C) x ij = 0 i, j (i, j) / A (D) x ij {0, 1} i, j (i, j) A (E) Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 17 / 28

Let op: er zijn exponentiëel veel voorwaarden van type (C). Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 18 / 28

Let op: er zijn exponentiëel veel voorwaarden van type (C). Dit is geen probleem in de praktijk. We gaan als volgt te werk: Los het probleem op zonder de voorwaarden van type (C). Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 18 / 28

Let op: er zijn exponentiëel veel voorwaarden van type (C). Dit is geen probleem in de praktijk. We gaan als volgt te werk: Los het probleem op zonder de voorwaarden van type (C). Als de gevonden oplossing bestaat uit meer dan één circuit (subtours): Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 18 / 28

Let op: er zijn exponentiëel veel voorwaarden van type (C). Dit is geen probleem in de praktijk. We gaan als volgt te werk: Los het probleem op zonder de voorwaarden van type (C). Als de gevonden oplossing bestaat uit meer dan één circuit (subtours): Voeg voor elke subtour met punten S de bijbehorende voorwaarde van type (C) toe. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 18 / 28

Let op: er zijn exponentiëel veel voorwaarden van type (C). Dit is geen probleem in de praktijk. We gaan als volgt te werk: Los het probleem op zonder de voorwaarden van type (C). Als de gevonden oplossing bestaat uit meer dan één circuit (subtours): Voeg voor elke subtour met punten S de bijbehorende voorwaarde van type (C) toe. Los het nieuwe probleem op. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 18 / 28

Let op: er zijn exponentiëel veel voorwaarden van type (C). Dit is geen probleem in de praktijk. We gaan als volgt te werk: Los het probleem op zonder de voorwaarden van type (C). Als de gevonden oplossing bestaat uit meer dan één circuit (subtours): Voeg voor elke subtour met punten S de bijbehorende voorwaarde van type (C) toe. Los het nieuwe probleem op. Herhaal totdat er geen subtours meer zijn. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 18 / 28

Let op: er zijn exponentiëel veel voorwaarden van type (C). Dit is geen probleem in de praktijk. We gaan als volgt te werk: Los het probleem op zonder de voorwaarden van type (C). Als de gevonden oplossing bestaat uit meer dan één circuit (subtours): Voeg voor elke subtour met punten S de bijbehorende voorwaarde van type (C) toe. Los het nieuwe probleem op. Herhaal totdat er geen subtours meer zijn. Dit werkt goed omdat we de subtours en bijbehorende voorwaarden in polynomiale tijd kunnen vinden. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 18 / 28

Let op: er zijn exponentiëel veel voorwaarden van type (C). Dit is geen probleem in de praktijk. We gaan als volgt te werk: Los het probleem op zonder de voorwaarden van type (C). Als de gevonden oplossing bestaat uit meer dan één circuit (subtours): Voeg voor elke subtour met punten S de bijbehorende voorwaarde van type (C) toe. Los het nieuwe probleem op. Herhaal totdat er geen subtours meer zijn. Dit werkt goed omdat we de subtours en bijbehorende voorwaarden in polynomiale tijd kunnen vinden. Deze formulering heeft een sterke LP relaxatie, want de integrality gap is klein. z IP z LP Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 18 / 28

Een alternatieve, polynomiale, ILP formulering: n n min c ij x ij i=1 j=0 o.d.v. n x ij = 1 j = 1,..., n (A) i=1 n x ij = 1 i = 1,..., n (B) j=1 u i u j + nx ij n 1 2 i, j n en i j (C ) x ij = 0 i, j (i, j) / A (D) x ij {0, 1} i, j (i, j) A (E) u i R i = 1,..., n (F ) Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 19 / 28

Stelling 1 Voorwaarden (C ) sluiten subtours uit. 2 Voorwaarden (C ) sluiten geen TSP tours uit. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 20 / 28

Stelling 1 Voorwaarden (C ) sluiten subtours uit. 2 Voorwaarden (C ) sluiten geen TSP tours uit. Deze polynomiale formulering heeft een zwakke LP relaxatie, want de integrality gap z IP zlp is groot. Daarom werkt de exponentiële formulering beter in de praktijk. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 20 / 28

Unimodulariteit Welke ILP problemen kunnen we oplossen door de LP-relaxatie op te lossen? Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 21 / 28

Unimodulariteit Welke ILP problemen kunnen we oplossen door de LP-relaxatie op te lossen? Definitie Een vierkante geheeltallige matrix B is unimodulair (UM) als det(b) = ±1. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 21 / 28

Unimodulariteit Welke ILP problemen kunnen we oplossen door de LP-relaxatie op te lossen? Definitie Een vierkante geheeltallige matrix B is unimodulair (UM) als det(b) = ±1. Definitie Een geheeltallige matrix A is totaal unimodulair (TUM) als elke vierkante niet-singuliere deelmatrix van A unimodulair is. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 21 / 28

Unimodulariteit Welke ILP problemen kunnen we oplossen door de LP-relaxatie op te lossen? Definitie Een vierkante geheeltallige matrix B is unimodulair (UM) als det(b) = ±1. Definitie Een geheeltallige matrix A is totaal unimodulair (TUM) als elke vierkante niet-singuliere deelmatrix van A unimodulair is. Dus een TUM matrix bevat alleen elementen uit {0, 1, 1}. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 21 / 28

Stelling (13.1) Als een n m matrix A totaal unimodulair is en b Z m, dan zijn alle hoekpunten van het polyheder geheeltallig. {x R n Ax = b, x 0} Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 22 / 28

Stelling (13.1) Als een n m matrix A totaal unimodulair is en b Z m, dan zijn alle hoekpunten van het polyheder geheeltallig. Stelling (13.2) {x R n Ax = b, x 0} Als een n m matrix A totaal unimodulair is en b Z m, dan zijn alle hoekpunten van het polyheder geheeltallig. {x R n Ax b, x 0} Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 22 / 28

Stelling (13.1) Als een n m matrix A totaal unimodulair is en b Z m, dan zijn alle hoekpunten van het polyheder geheeltallig. Stelling (13.2) {x R n Ax = b, x 0} Als een n m matrix A totaal unimodulair is en b Z m, dan zijn alle hoekpunten van het polyheder geheeltallig. {x R n Ax b, x 0} Dus, in een ILP formulering met een totaal unimodulaire matrix A en geheeltallige vector b, kunnen we de geheeltalligheidseisen weglaten en de Simplex methode gebruiken. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 22 / 28

De volgende voldoende voorwaarde voor TUM kunnen we gebruiken om te laten zien dat we het Kortste Pad en het Max Flow probleem kunnen oplossen met de Simplex methode. Stelling (13.3) Een geheeltallige matrix A met a ij {0, 1, 1} is TUM als elke kolom maximaal twee niet-nul elementen bevat en de rijen van A kunnen worden gepartitioneerd in twee verzamelingen I 1 en I 2 z.d.d.: 1 als een kolom twee elementen van hetzelfde teken heeft, dan behoren de bijbehorende rijen tot verschillende verzamelingen en 2 als een kolom twee elementen van verschillende tekens heeft, dan behoren de bijbehorende rijen tot dezelfde verzameling. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 23 / 28

De volgende voldoende voorwaarde voor TUM kunnen we gebruiken om te laten zien dat we het Kortste Pad en het Max Flow probleem kunnen oplossen met de Simplex methode. Stelling (13.3) Een geheeltallige matrix A met a ij {0, 1, 1} is TUM als elke kolom maximaal twee niet-nul elementen bevat en de rijen van A kunnen worden gepartitioneerd in twee verzamelingen I 1 en I 2 z.d.d.: 1 als een kolom twee elementen van hetzelfde teken heeft, dan behoren de bijbehorende rijen tot verschillende verzamelingen en 2 als een kolom twee elementen van verschillende tekens heeft, dan behoren de bijbehorende rijen tot dezelfde verzameling. Dus de node-arc incidence matrix van een gerichte graaf en de node-edge incidence matrix van een bipartiete graaf zijn TUM. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 23 / 28

In de ILP formuleringen van Kortste Pad en Max Flow is de matrix A de node-arc incidence matrix van een gerichte graaf. 1 als pijl e j uit punt i vertrekt a ij = 1 als pijl e j in punt i aankomt 0 anders. Uit Stelling 13.3 volgt dat deze matrix totaal unimodulair is. Dus kunnen we de geheeltalligheidseisen weglaten en deze problemen oplossen met de Simplex methode. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 24 / 28

Matchings Definitie Een matching in een graaf G = (V, E) is een M E zodat voor alle e, e M met e e geldt dat e e =. Dus een matching is een verzameling lijnen die elkaar niet raken. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 25 / 28

Voorbeeld Wat is het maximum aantal lijnen in een matching in de onderstaande grafen? Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 26 / 28

Probleem Maximum Bipartiete Matching Gegeven: bipartiete graaf B = (U W, E). Bepaal: een matching in B van maximum cardinaliteit. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 27 / 28

Probleem Maximum Bipartiete Matching Gegeven: bipartiete graaf B = (U W, E). Bepaal: een matching in B van maximum cardinaliteit. Graaf B = (U W, E) is bipartiet betekent dat elke lijn in E één eindpunt in U en één eindpunt in W heeft. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 27 / 28

Probleem Maximum Bipartiete Matching Gegeven: bipartiete graaf B = (U W, E). Bepaal: een matching in B van maximum cardinaliteit. Graaf B = (U W, E) is bipartiet betekent dat elke lijn in E één eindpunt in U en één eindpunt in W heeft. Beslissingsvariabelen: { 1 als lijn e in de matching zit x e = 0 anders. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 27 / 28

ILP formulering: max o.d.v. e E x e e δ(v) x e 1 x e {0, 1} v V e E Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 28 / 28

ILP formulering: max o.d.v. e E x e e δ(v) x e 1 x e {0, 1} v V e E Oftewel: max o.d.v. 1 [ T x ] A x 1 I x 0 Waarin A de node-edge incidence matrix van de graaf is. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 28 / 28

ILP formulering: max o.d.v. e E x e e δ(v) x e 1 x e {0, 1} v V e E Oftewel: max o.d.v. 1 [ T x ] A x 1 I x 0 Waarin A de node-edge incidence matrix van de graaf is. Volgens Stelling 13.3 is A totaal unimodulair. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 28 / 28

ILP formulering: max o.d.v. e E x e e δ(v) x e 1 x e {0, 1} v V e E Oftewel: max o.d.v. 1 [ T x ] A x 1 I x 0 Waarin A de node-edge incidence matrix van de graaf is. Volgens Stelling 13.3 is A totaal unimodulair. [ ] A Dus is totaal unimodulair. I Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 28 / 28

ILP formulering: max o.d.v. e E x e e δ(v) x e 1 x e {0, 1} v V e E Oftewel: max o.d.v. 1 [ T x ] A x 1 I x 0 Waarin A de node-edge incidence matrix van de graaf is. Volgens Stelling 13.3 is A totaal unimodulair. [ ] A Dus is totaal unimodulair. I Dus zijn er geen geheeltalligheidseisen nodig en kunnen we de Simplex methode gebruiken. Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 28 / 28