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 op werkcollege Deeltentamen nagekeken Inzage op werkcollege Huiswerk 3 vanavond online Deadline 7 december Opgaven 1-3 kun je na dit college al maken Leo van Iersel (TUD) TW2020 Optimalisering 11 november 2015 2 / 22
Integer Linear Programming (ILP of IP) 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 waarde van zip zlp Leo van Iersel (TUD) TW2020 Optimalisering 11 november 2015 3 / 22
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 11 november 2015 4 / 22
Voorbeeld: Minimum Opspannende Boom Probleem Minimum Opspannende Boom (Minimum Spanning Tree) Gegeven: samenhangende graaf G = (V, E) en lengtefunctie l : E R Vind: een opspannende boom T = (V, F ) van G met minimale lengte l(t ) = l(e) e F Beslissingsvariabelen: x e = { 1 als lijn e in de boom zit 0 anders Leo van Iersel (TUD) TW2020 Optimalisering 11 november 2015 5 / 22
ILP formulering van Minimum Opspannende Boom: min o.d.v. l e x e e E x e = V 1 (1) e E e δ(s) x e 1 S V, S (2) x e {0, 1} e E (3) Met δ(s) de verzameling lijnen die precies één eindpunt in S hebben. Leo van Iersel (TUD) TW2020 Optimalisering 11 november 2015 6 / 22
Probleem Symmetrisch 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 11 november 2015 7 / 22
ILP formulering van symmetrische 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 v. Leo van Iersel (TUD) TW2020 Optimalisering 11 november 2015 8 / 22
Probleem Asymmetrisch 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 11 november 2015 9 / 22
ILP formulering van asymmetrische TSP in een gerichte graaf: n n min c ij x ij i=0 j=0 n o.d.v. x ij = 1 j = 0,..., n (A) i=0 n x ij = 1 i = 0,..., n (B) j=0 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 11 november 2015 10 / 22
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 11 november 2015 11 / 22
Een alternatieve, polynomiale, ILP formulering: n n min c ij x ij i=0 j=0 o.d.v. n x ij = 1 j = 0,..., n (A) i=0 n x ij = 1 i = 0,..., n (B) j=0 u i u j + nx ij n 1 1 i j n (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 11 november 2015 12 / 22
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 11 november 2015 13 / 22
Modelleeraspecten Opstartkosten Hoe kunnen we een doelfunctie van de volgende vorm modelleren? { ax + b als x > 0 c(x) = 0 als x = 0. Dichotomieën Hoe kunnen we modelleren dat x a of y b? Discrete variabelen Hoe kunnen we afdwingen dat x {5, 8, 13, 22}? Van geheeltallige naar binaire variabelen Hoe kunnen we een variabele x Z + vervangen door binaire variabelen? Leo van Iersel (TUD) TW2020 Optimalisering 11 november 2015 14 / 22
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 11 november 2015 15 / 22
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 11 november 2015 16 / 22
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 11 november 2015 17 / 22
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 11 november 2015 18 / 22
Matchings Definitie Een matching (koppeling) 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 11 november 2015 19 / 22
Voorbeeld Wat is het maximum aantal lijnen in een matching in de onderstaande grafen? Leo van Iersel (TUD) TW2020 Optimalisering 11 november 2015 20 / 22
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 11 november 2015 21 / 22
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 11 november 2015 22 / 22