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 (TSP) Modelleeraspecten Wanneer kan ILP opgelost worden met LP? 12 november 2014 1
Integer Lineair Programmering Lineair Programmeren Integer Lineair Programmeren 12 november 2014 2
Integer Lineair Programmering Lineair Programmeren Integer Lineair Programmeren z LP = min odv c T x Ax = b x 0 12 november 2014 2
Integer Lineair Programmering Lineair Programmeren Integer Lineair Programmeren z LP = min c T x z IP = min c T x odv Ax = b odv Ax = b x 0 x 0 x Z n 12 november 2014 2
Relaxatie Definitie: Laat P r en IP alsvolgt gedefiniëerd zijn: z Pr = min c(x) odv x T z IP = min c(x) odv x X (X = P Z n ) Het probleem P r is een relaxatie van het probleem IP als geldt X T Als T = P, dan is P r de LP-relaxatie van IP. 12 november 2014 3
Relaxatie Voor elke relaxatie P r geldt dat z Pr z IP Het toegelaten gebied van IP is immers een subset van toegelaten gebied van P r. Dus ook: z LP z IP 12 november 2014 4
Relaxatie Voor elke relaxatie P r geldt dat z Pr z IP Het toegelaten gebied van IP is immers een subset van toegelaten gebied van P r. Dus ook: z LP z IP Vraag: hoe goed is de LP-relaxatie als ondergrens? 12 november 2014 4
Relaxatie Voor elke relaxatie P r geldt dat z Pr z IP Het toegelaten gebied van IP is immers een subset van toegelaten gebied van P r. Dus ook: z LP z IP Vraag: hoe goed is de LP-relaxatie als ondergrens? Definitie: De integrality-gap van een probleem is Z IP Z LP Hoe kleiner de integrality-gap, hoe beter de LP-relaxatie 12 november 2014 4
Kunnen we oplossing van LP afronden om IP op te lossen? Oplossen van LP is makkelijk, bijv met simplex algoritme Afronden geeft geen (garantie op) goede oplossingen Niet duidelijk hoe je zou moeten afronden. Afgeronde oplossing hoeft niet toegelaten te zijn 12 november 2014 5
Voorbeeld 1: MST 12 november 2014 6
Voorbeeld 1: MST { 1 als e MST x e = 0 anders 12 november 2014 6
Voorbeeld 1: MST { 1 als e MST x e = 0 anders min d e x e e E odv x e = V 1 (1) e E {[i,j] E i S,j / S} x e 1 S V : S, S V (2) x e {0, 1} e E (3) 12 november 2014 6
Voorbeeld 2: Symmetric TSP 12 november 2014 7
Voorbeeld 2: Symmetric TSP { 1 als e TSP-tour x e = 0 anders 12 november 2014 7
Voorbeeld 2: Symmetric TSP { 1 als e TSP-tour x e = 0 anders min d e x e e E odv x e = 2 v V (4) e δ(v) {[i,j] E i S,j / S} x e 2 S V : S, S V (5) x e {0, 1} e E Met δ(v) = {e E v is een eindpunt van e} 12 november 2014 7
Voorbeeld 3: Assymmetric TSP 12 november 2014 8
Voorbeeld 3: Assymmetric TSP { 1 als pijl (i, j) TSP-tour x ij = 0 anders 12 november 2014 8
Voorbeeld 3: Assymmetric TSP { 1 als pijl (i, j) TSP-tour x ij = 0 anders n min d ij x ij i=0 j i odv x ij = 1 j = 0, 1, 2,..., n (6) i j x ij = 1 i = 0, 1, 2,..., n (7) j i {[i,j] E i S,j / S} x e 2 S V : S, S V (8) x e {0, 1} e E 12 november 2014 8
Aantal voorwaarden Exponentiëel aantal voorwaarden Niet-polynomiaal in de input Iteratief toevoegen van overschreden voorwaarden kan in polynomiale tijd 12 november 2014 9
Alternatieve (polynomiale) formulering Alternatieve voorwaarden: u i u j + nx ij n 1 1 i j n (9) u i R i = 1, 2,..., n (10) Stelling: (i) Voorwaarden (9)-(10) sluiten subtours uit (ii) Voorwaarden (9)-(10) sluiten geen TSP-tours uit 12 november 2014 10
Alternatieve (polynomiale) formulering Alternatieve voorwaarden: u i u j + nx ij n 1 1 i j n (9) u i R i = 1, 2,..., n (10) Stelling: (i) Voorwaarden (9)-(10) sluiten subtours uit (ii) Voorwaarden (9)-(10) sluiten geen TSP-tours uit Integrality-gap is groot, dus zwakke LP-relaxatie. 12 november 2014 10
Modelleeraspecten Opstartkosten Dichotomieën Discrete variabelen 12 november 2014 11
Unimodulariteit Wanneer kunnen we ILP oplossen met LP? 12 november 2014 12
Unimodulariteit Wanneer kunnen we ILP oplossen met LP? 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 UM is. 12 november 2014 12
Unimodulariteit Laat R 1 (A) := {x Ax = b, x 0} (Standaardvorm LP) Stelling 13.1: A TUM Alle hoekpunten van R 1 (A) zijn geheeltallig voor iedere geheeltallige vector b. 12 november 2014 13
Unimodulariteit Laat R 1 (A) := {x Ax = b, x 0} (Standaardvorm LP) Stelling 13.1: A TUM Alle hoekpunten van R 1 (A) zijn geheeltallig voor iedere geheeltallige vector b. Laat R 2 (A) := {x Ax b, x 0} (Kanonieke vorm LP) Stelling 13.2: A TUM Alle hoekpunten van R 2 (A) zijn geheeltallig voor iedere geheeltallige vector b. 12 november 2014 13
Unimodulariteit Wanneer is een matrix TUM? 12 november 2014 14
Unimodulariteit Wanneer is een matrix TUM? Stelling 13.3: Een geheeltallige matrix A met a ij { 1, 0, 1} is TUM als elke kolom maximaal 2 niet-nullen bevat en als de rijen van A kunnen worden gepationeerd in 2 verzamelingen I 1 en I 2 zdd: 1 Als een kolom 2 elementen van hetzelfde teken heeft, dan behoren de bijbehorende rijen tot verschillende verzamelingen 2 Als een kolom 2 elementen met verschillend teken heeft, dan behoren de bijbehorende rijen tot dezelfde verzameling 12 november 2014 14
Unimodulariteit Schieten we hier iets mee op? 12 november 2014 15
Unimodulariteit Schieten we hier iets mee op? Voorbeeld 1: Node-arc incidence matrix Kortste pad Max flow Voorbeeld 2: Ongerichte bipartite graaf Bipartite matching 12 november 2014 15
Volgende weken Sommige ILP problemen kunnen we nu dus oplossen. Wat doen we met de rest? Oplossingsmethoden gebaseerd op LP (College 10) Onderscheid maken tussen moeilijke en makkelijke problemen (College 11) Benaderen in plaats van oplossen (College 12) 12 november 2014 16