Branch-and-Bound en Cutting Planes



Vergelijkbare documenten
TW2020 Optimalisering

Hoofdstuk 13: Integer Lineair Programmeren

TW2020 Optimalisering

TW2020 Optimalisering

TW2020 Optimalisering

TW2020 Optimalisering

TW2020 Optimalisering

Geheeltallige programmering

Tentamen: Operationele Research 1D (4016)

Tie breaking in de simplex methode

BESLISKUNDE 2 L.C.M. KALLENBERG UNIVERSITEIT LEIDEN

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

Hoofdstuk 8: Algoritmen en Complexiteit

TW2020 Optimalisering

Tie breaking in de simplex methode

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

Optimalisering/Besliskunde 1. College 1 3 september, 2014

Enkele basismodellen uit operationeel onderzoek

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.

Tentamen combinatorische optimalisatie Tijd:

TW2020 Optimalisering

TU/e 2DD50: Wiskunde 2 (1)

TU/e 2DD50: Wiskunde 2

TU/e 2DD50: Wiskunde 2

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

Een voorbeeld. Computationele Intelligentie Zoeken met een tegenstander. Een voorbeeld vervolg. Een zoekprobleem met een tegenstander

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

l e x e voor alle e E

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

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

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

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

TW2020 Optimalisering

Computationele Intelligentie

TW2020 Optimalisering

Examen Datastructuren en Algoritmen II

Elfde college algoritmiek. 21 april Dijkstra en Branch & Bound

Er zijn 4 opgaven, daarna volgen blanco bladzijden die u kan gebruiken om te antwoorden.

Benaderingsalgoritmen

Computationele Intelligentie

Optimalisering/Besliskunde 1. College 1 2 september, 2015

TW2020 Optimalisering

Uitwerking tentamen Algoritmiek 9 juli :00 13:00

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

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.

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.

Universiteit Utrecht Departement Informatica

De Branch-and-Bound methode

Examen Datastructuren en Algoritmen II

TU/e 2DD50: Wiskunde 2 (1)

Kosten. Computationale Intelligentie. Een zoekprobleem met stapkosten. Een voorbeeld: het vinden van een route. Zoeken met kosten.

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

Begrenzing van het aantal iteraties in het max-flow algoritme

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

Taak 2: LP: simplex en sensitiviteitsanalyse Voorbeeld uitwerking

Optimalisering WI 2608

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

Oefeningentoets Differentiaalvergelijkingen, deel 1 dinsdag 6 november 2018 in lokaal 200M van 16:00 tot 18:00u

Toewijzingsprobleem Bachelorscriptie

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

Kortste Paden. Algoritmiek

Lineaire programmering

Examen Datastructuren en Algoritmen II

Lineaire Optimilizatie Extra sessie. 19 augustus 2010

1 Complexiteit. of benadering en snel

Lineair Programmeren op het polytoop

Inhoud voor vandaag. Knapzak probleem (2) Knapzak probleem. Geheeltallige lineaire programmeringsproblemen en hun toepassingen

Recapitulatie: Ongeïnformeerd zoeken. Zoekalgoritmen ( ) College 2: Ongeïnformeerd zoeken. Dynamische breadth-first search

Opmerking. TI1300 Redeneren en Logica. Met voorbeelden kun je niks bewijzen. Directe en indirecte bewijzen

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II

Heuristieken en benaderingsalgoritmen. Algoritmiek

Fundamentele Informatica

Transcriptie:

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 dat niet-optimale oplossing geeft 19 november 2014 1

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 (VANDAAG) 2 Polynomiaal algoritme dat niet-optimale oplossing geeft (College 12) 19 november 2014 1

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 (VANDAAG) 2 Polynomiaal algoritme dat niet-optimale oplossing geeft (College 12) Vandaag 2 methoden: 1 Branch-and-Bound 2 Cutting planes (geldige ongelijkheden) 19 november 2014 1

Branch-and-Bound Idee: ILP s zijn moeilijk, LP s zijn makkelijk. We gebruiken LP om ILP op te lossen. Belangrijke relatie: Z TOEG Z IP Z LP Z LP Z IP Z TOEG (Maximalisatie) (Minimalisatie) Branchen: Het probleem opsplitsen in deelproblemen, zdd elke toegelaten oplossing bevindt zich in exact één deelprobleem. Bounden: Boven- en ondergrens bijhouden voor oplossing. Gebruik deze grenzen voor het snoeien van zoekboom. Snoeien: Concluderen dat een deelprobleem niet verder onderzocht hoeft te worden 19 november 2014 2

Branch-and-Bound (Minimalisatie) Lijst met nog te beschouwen deelproblemen Bovengrens voor hele boom Ondergrens per deelprobleem In geval van geheeltallige doelstellingscoëfficiënten: ondergrens naar boven afronden 19 november 2014 3

Voorbeeld Branch-and-Bound Z IP = min 4x 1 + x 2 odv 7x 1 2x 2 14 x 2 3 2x 1 2x 2 3 x 1, x 2 0, geheeltallig 19 november 2014 4

Wanneer kunnen we snoeien? (Maximalisatie) 1 Niet-toegelaten LP-relaxatie deelprobleem Geen geheeltallige oplossingen in dit deelprobleem 2 Geheeltallige LP-relaxatie in deelprobleem Toegelaten (integer) oplossing gevonden. Globale ondergrens updaten 3 Bovengrens deelprobleem kleiner dan globale ondergrens Er is geen betere oplossing in dit deelprobleem dan de al gevonden integer oplossing Merk op: Ondergrenzen zijn globaal, terwijl bovengrenzen alleen geldig in deelprobleem 19 november 2014 5

Wanneer kunnen we snoeien? (Minimalisatie) 1 Niet-toegelaten LP-relaxatie deelprobleem Geen geheeltallige oplossingen in dit deelprobleem 2 Geheeltallige LP-relaxatie in deelprobleem Toegelaten (integer) oplossing gevonden. Globale bovengrens updaten 3 Ondergrens deelprobleem kleiner dan globale bovengrens Er is geen betere oplossing in dit deelprobleem dan de al gevonden integer oplossing Merk op: Bovengrenzen zijn globaal, terwijl ondergrenzen alleen geldig in deelprobleem 19 november 2014 6

Implementatieaspecten 1 Welke variabele kiezen we om te branchen? Fractie het dichtst bij 1 2 2 Welke deelprobleem beschouwen we eerst? Depth-first search: Deelprobleem zo diep mogelijk in de boom Best-node first: Deelprobleem met beste waarde van de LP-relaxatie Vaak mengsel van beide 19 november 2014 7

Rekentijd Branch-and-Bound Stel alle variabelen zijn 0-1 variabelen. Maximaal aantal eindpunten: 2 n Maximaal aantal knopen/deelproblemen: 2 0 + 2 1 + 2 2 +... + 2 n = 1 2n+1 1 2 = 2 n+1 1 Exponentiëel aantal deelproblemen Werkcollege: voorbeeld waarin inderdaad exponentiëel veel deelproblemen opgelost moeten worden 19 november 2014 8

Cutting Planes z IP = min odv c T x Ax b x 0, geheeltallig Laat S de verzameling toegelaten punten zijn. Definitie: Een polyeder P = {x R n 0 A x b } noemen we een formulering voor S als geldt P Z n = S. Vorige week gezien dat er meerdere formuleringen bestaan voor een gegeven verzameling S. Er bestaan zelfs oneindig veel formuleringen voor S 19 november 2014 9

Sterkte van een formulering Een formulering P is tenminste even sterk als een formulering P als geldt P P Definitie: Een ongelijkheid αx β is geldig voor S als αx β voor iedere x S. Het toevoegen van een geldige ongelijkheid aan P resulteert in een formulering P die tenminste even sterk is. Wat is de sterkst mogelijke formulering? Conv(S), het convexe omhulsel van de toegelaten punten S. Merk op: Met een expliciete omschrijving van Conv(S) kunnen we ILP oplossen met LP. Het vinden van conv(s) kan echter niet in polynomiale tijd 19 november 2014 10

Gomory s cutting planes We zoeken niet het volledige convexe omhulsel Fractioneel deel van optimale oplossing LP-relaxatie geeft geldige ongelijkheid Stop wanneer LP-relaxatie geheeltallig optimum heeft Alle snedes zijn geldig, dus ook optimum voor IP 19 november 2014 11

Voorbeeld Gomory s cutting planes Z IP = max 4x 1 x 2 odv 7x 1 2x 2 14 x 2 3 2x 1 2x 2 3 x 1, x 2 0, geheeltallig (Zelfde voorbeeld als voor Branch-and-Bound) 19 november 2014 12

Duale simplex algoritme Zowel bij B&B als bij cutting planes moet herhaaldelijk een LP-relaxatie worden opgelost Moeten we iedere keer opnieuw beginnen met simplex? Nee, we gebruiken duale simplex algoritme Oude oplossing blijft duaal toegelaten na toevoeging van extra voorwaarde. 19 november 2014 13

Voorbeeld duale simplex 19 november 2014 14

Duale simplex algoritme Initialisatie: Basisoplossing, niet-noodzakelijk toegelaten, met c j 0 j (maximalisatie) c j 0 j (minimalisatie) Uittredende variabele: x B(i ) zdd b i = min{ b i b i < 0} Als b i 0 optimaal. i, STOP, huidige basisoplossing is toegelaten en Intredende variabele: x j zdd c j ā = min{ c j i j ā : ā i j i j < 0} Als ā i j 0 j, STOP, probleem heeft geen toegelaten oplossing. Anders, voer pivot uit en ga naar 1 19 november 2014 15