Ganzzahlige Optimierung (IP)

Ähnliche Dokumente
KAPITEL 5 ENTSCHEIDUNGSBAUMVERFAHREN

Branch-and-Bound und Varianten. Kapitel 3. Branch-and-Bound und Varianten. Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 98 / 159

Klausur zur Vorlesung Operations Research im Sommersemester 2009

Klausur zur Vorlesung Einführung in das Operations Research im Wintersemester 2005/2006

Klausur zur Vorlesung Operations Research im Wintersemester 2009/10

Rundreisen und Touren

Klausur zur Vorlesung Einführung in das Operations Research im Wintersemester 2007/2008

Fachbereich Wirtschaftswissenschaften Professur f. Quantitativen Methoden Prof. Dr. Dietrich Ohse

Klausurrepetitorium ABWL

Planung des Krankenhauspflegepersonals unter dem Einfluss der OP-Auslastung

Der Branching-Operator B

Sandro Pirkwieser, (Bin Hu, Jakob Puchinger) SS 2010

Kap. 3: Exakte Lösungsverfahren für NPschwierige. Optimierungsprobleme VO Algorithm Engineering

3.6 Branch-and-Bound-Verfahren

Aufgabe 7.1: Wirtschaftsplanung

Schnittebenenverfahren für das symmetrische

Optimieren unter Nebenbedingungen

OR für Wirtschaftsingenieure. Übungsserie 5: Das Traveling Salesman Problem

Kurseinheit 2»Dualität und weiterführende Methoden«

1. Über stückweise lineare Zielfunktionen bei der Transportmethode

Optimierung I. Dr. Ulf Lorenz F2.413

So planen Sie eine Route

Prof. Dr. Hans G. Bartels Frankfurt, SS 2002

lineare Programmierung

Das Travelling Salesman Problem Exakte Lösungsverfahren für NP-schwierige kombinatorische Optimierungsprobleme 5. VO

Formale Grundlagen der Informatik F3: Berechenbarkeit un

Inhaltsübersicht für heute:

Rückblick: divide and conquer

Das Linear Ordering Problem Exakte Lösungsverfahren. für NP-schwierige. VO Algorithm Engineering

Kap. 8: Travelling Salesman Problem

Differenzialrechnung für Funktionen mit mehreren unabhängigen Variablen. Graphentheorie

Chinese Postman Problem Hamiltonsche Graphen und das Traveling Salesman Problem Max-Flow-Min-Cut...151

Leibniz Universität Hannover Wirtschaftswissenschaftliche Fakultät Institut für Produktionswirtschaft Prof. Dr. Stefan Helber

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Einführung in Operations Research

Optimierung. Vorlesung 12

3.4 Exakte Verfahren für (Gemischt-) Ganzzahlige Optimierung

Zu Modellierungs- und Lösungs-Techniken für Frequenz-Zuweisungs-Probleme

Das Traveling Salesman Problem und das Assignment Problem zweiter Ordnung. Gerold Jäger

Lösung Übung 1a) - Medikamentenmischung

Übung QM 1 EINFÜHRUNG 1. 1 Einführung. ohne Übungsaufgaben

Perlen der Informatik I Wintersemester 2012 Aufgabenblatt 7

Kapitel 4. Optimierungsalgorithmen. Technische Universität Wien. Gunnar Klau Technische Universität Wien. Institut für Computergraphik und Algorithmen

Ganzzahlige OR-Methoden: Operations Research II a. Übungsblatt 1

Optimierung für Wirtschaftsinformatiker: Dualität, Ganzzahlige lineare Optimierung

2 Heutige Lösungsverfahren

Ganzzahlige lineare Programme

Probeklausur Optimierung

Inhalt. 8.1 Motivation. 8.2 Optimierung ohne Nebenbedingungen. 8.3 Optimierung unter Nebenbedingungen. 8.4 Lineare Programmierung

Schnittebenenverfahren und Heuristiken

Optimierung. Vorlesung 08

Kap. 4: Das Handlungsreisendenproblem (TSP)

How To Solve The Linear Ordering Problem (Lop)

Kuhn-Tucker Bedingung

Uninformierte Suche in Java Informierte Suchverfahren

Einführung in die Wirtschaftsinformatik VO WS 2008 / 2009

Klausur Management Science. Donnerstag, 19. Februar 2015

Verzweigen und Beschränken

Varianten des Travelling Salesman Problem (TSP)

Betriebliche Optimierung

Schnittebenenverfahren von Gomory. Stefan Allescher 30. Juni 2005

Operations Research. Ganzzahlige lineare Programme. ganzzahlige lineare Programme. Ganzzahlige lineare Programme. Rainer Schrader. 25.

Dirk Mattfeld Richard Vahrenkamp. Logistiknetzwerke. Modelle für Standortwahl. und Tourenplanung. 2., aktualisierte und überarbeitete Auflage

Effiziente Algorithmen II

Modelle und Methoden der Linearen Optimierung (Die Thesen zur Vorlesung 1_Fallstudie)

ADS: Algorithmen und Datenstrukturen 2

Einführung in Heuristische Suche

1 Laufzeit der Simplex-Methode

Veranstaltung und Übung: Optimierungssysteme Modelle, Software, Praxisanwendungen. Uwe Suhl Veronika Waue SS 2008

Operations Research II (Nichtlineare und dynamische Optimierung)

A2.3 Lineare Gleichungssysteme

Top-down Bottom-up Divide & Conquer Dynamisches Programmieren Caching (Memoization) Branch-and-Bound Greedy

Lineare Optimierung, M2a

Modul Optimierungsmethoden des Operations Research LESEPROBE. Fakultät für Wirtschaftswissenschaft

Ganzzahlige OR-Methoden: Operations Research II a. Übungsblatt 12

(3D-)Extrema unter Nebenbedingungen. Problemstellung (lokale Optimierung)

Diskrete Optimierung: Fallstudien aus der Praxis

Algorithmische Methoden für schwere Optimierungsprobleme

Betriebswirtschaftliche Optimierung

Sensitivitätsanalyse in der Linearen Optimierung

Wie findet man den optimalen Weg zum Ziel? Klassische Probleme der Kombinatorischen Optimierung

11 Ganzzahlige und kombinatorische Optimierung

Aufgaben zur Linearen Funktion f: y = k x +d

Einführung in Operations Research

Anwendungsbeispiel: MTO

Große Lösungsräume. Leon Schmidtchen Hallo Welt Seminar - LS Leon Schmidtchen Große Lösungsräume Hallo Welt Seminar - LS2

Theoretische Informatik III (Winter 2018/19) Prof. Dr. Ulrich Hertrampf. Noch einmal TSP

Kapitel 7 : Lineare Programmierung Die Simplexmethode (G.B.Dantzig, 1947) Beispiel:

Algorithmen I - Tutorium 28 Nr. 12

»La filosofia è scritta in questo grandissimo libro che continuamente ci sta aperto innanzi a

AUFGABENTEIL. Klausur: Modul Optimierungsmethoden des Operations Research. Termin:

Toleranzbasierte Algorithmen für das Travelling Salesman Problem. Gerold Jäger

Computer Science Department - High Performance and Web Computing Group. Optimierungsprobleme

Flexible Personaleinsatzplanung von Krankenhausärzten

Lineare Optimierung Teil 2

Kapitel 9: Lineare Programmierung Gliederung

Logistik: Rundreisen und Touren

Transkript:

Thema Ganzzahlige Optimierung (IP) Systematik * Problematik * Pragmatik IP und Branch and Bound 1

Agenda 1. Relevanz der Ganzzahligkeit? 2. Formulierung ganzzahliger Modelle 3. Zur Lösung ganzzahliger Probleme 4. Entscheidungsbaumverfahren IP und Branch and Bound 2

Ein Beispiel Max z mit z = x 1 + 5x 2 u.d.n. x 1 + 10x 2 20 x 1 2 x 1,x 2 0 ganzzahlig Max x 1 x 2 RS Max x 1 x 3 RS Max x 4 x 3 RS z 1 5 0 z 1 2 1 2 10 z 1 2 1 2 11 x 3 1 10 20 x 2 1 10 1 10 2 x 2 1 10 1 10 9 5 x 4 1 0 2 x 4 1 0 2 x 1 1 0 2 IP und Branch and Bound 3

Problematik der Ganzzahligkeit x 2 2 OPTganz. OPTkont. 1 0 1 2 3 x 1 IP und Branch and Bound 4

Runden ist keine Lösung x 2 3 OPTganz.. 2 1 OPTkont. 0 1 2 3 4 x 1 IP und Branch and Bound 5

Ganzzahligkeit - sinnlos oder sinnvoll? 1. Direkte Modelle 2. Codierte Modelle 3. Transformierte Modelle IP und Branch and Bound 6

2. Codierte Modelle Eine Binärvariable, die nur die beiden Werte 1 (ja) oder 0 (nein) annimmt, dient als Code für die Entscheidung: Kapitalbudgetierung Maschinenbelegung Stundenplanerstellung Knapsackproblem Travelling Salesman P. Lieferplan Standort (Investition x: ja oder nein) (Auftrag x auf Anlage A: ja oder nein) (Lehrer x zur Stunde i in Raum j für Klasse k: ja oder nein) (Gut x in Rucksack: ja oder nein) (Strecke x in Rundreise: ja oder nein) (Lieferung x auf Fahrt i: ja oder nein) (Standort x: ja oder nein) IP und Branch and Bound 7

3. Transformierte Modelle Eine Binärvariable wird als sog. Indikatorvariable benutzt, um Konditionalsätze "Wenn dann " zu formulieren: Wenn Produkt A gefertigt wird, dann auch B. Solange Produkt nicht gefertigt wird, entstehen keine Kosten. Erst wenn auch nur eine Einheit von A produziert wird, fallen neben variablen Kosten auch Fixkosten an. Eine von zwei Nebenbedingungen soll erfüllt werden. Eine Variable soll entweder den Wert Null, oder aber einen Wert zwischen 0 < l x u annehmen. IP und Branch and Bound 8

Diskretwertprobleme Ist x j die Entscheidungsvariable, die einen der in der Menge W = {w 1, w 2,..., w p } zusammengefaßten Werte annehmen darf, dann leisten folgende Nebenbedingungen die Auswahl: x j (w 1 y 1 + w 2 y 2 +... + w p y p ) = 0 y 1 + y 2 +... + y p = 1 y 1,... y p {0,1} IP und Branch and Bound 9

Batchsize-Problem = Losgrößen-Problem Eine Variable x j soll entweder null sein oder - falls sie positiv ist - eine gegebene Untergrenze l j nicht unterschreiten. Zur Formulierung derartiger, einander ausschließender Bedingungen muss für x j eine praktische Obergrenze u j eingeführt werden, das ist ein hinreichend großer Wert, der mit Sicherheit nicht überschritten wird. Dann ergibt sich als Bedingung: x j l j y j 0 (1) x j u j y j 0 (2) y j {0,1} x j 0 IP und Branch and Bound 10

Disjunkte Variablen Von p Aktivitäten, beschrieben durch die kontinuierlichen Variablen x 1, x 2,..., x p, soll (i) höchstens eine mit einem Wert größer null in der Lösung enthalten sein bzw. (ii) höchstens k in der Lösung größer null sein oder (iii) mindestens k in der Lösung größer null sein. Mit den Indikatorvariablen y i (i = 1,2,...,p) ergibt sich: x i u i y i 0 für i = 1,2,...,p Fall (i): y i 1 Fall (ii): yi k Fall (iii): y k i i i i y i {0,1} für i = 1,2,...,p IP und Branch and Bound 11

Disjunkte Nebenbedingungen Aus einer Menge von Nebenbedingungen sollen nur einzelne erfüllt werden. Es seien etwa f i (x 1,x 2,...,x n ) b i (i = 1,2,...,m) beliebige Restriktionen, von denen (i) genau k erfüllt werden soll bzw. (ii) höchstens k wirksam sein oder (iii) mindestens k gelten sollen. Erneut führt man y i {0,1} und eine große Zahl M ein, die wesentlich größer als jede Rechte Seite b i : ist. f i (x 1,x 2,...,x n ) b i + M y i i i Fall (i) y = m k Fall (ii) yi m k Fall (iii) yi m k i i y i {0,1} für i = 1,2,... m IP und Branch and Bound 12

NB mit alternativen Rechten Seiten Über die Indikatorvariable y i {0,1} wird gesteuert, dass nur eine der drei Rechte Seiten wirksam wird. Verallgemeinert gilt eine der Rechten Seiten f(x) = b 1 oder b 2 oder... oder b k, wenn formuliert wird: f ( x) = yk bk k k y y k k = 1 { 01, } IP und Branch and Bound 13

Fixed Charge Problem 0 für x j = 0 Die Kostenfunktion k(x j ) laute: k(x j ) = f j + cj xj für xj > 0 Für alle Aktivitäten mit einer derartigen Struktur werden wieder Indikatorvariablen y i eingeführt: Min k mit k = c x + f y j j j j j j u.d.n. aij xj bi für i = 1,2,...,m (1) j x j M y j für j = 1,2,...,n (2) x j 0 y i {0,1} IP und Branch and Bound 14

3. Lösung ganzzahliger Modelle 1. Runden ist nur bei natürlicher Ganzzahligkeit und großen Werte der Entscheidungsvariablen eine sinnvolle (jedoch nicht unumstrittene) Strategie. 2. Schnittebenenverfahren sind zunächst faszinierend intelligente Ansätze, die jedoch in der Praxis versagen. 3. Entscheidungsbaumverfahren haben sich in der Praxis bewährt, jedoch ist der Aufwand zur Lösung ganzzahliger Probleme außerordentlich schwer anzuschätzen. IP und Branch and Bound 15

3.2 Schnittebenenverfahren x2 o x1 {or3ab401.pre} IP und Branch and Bound 16

Problem mit generierten Cuts x2 4 NB1 3 C1 NB2 2 C3 C2 1 Zielfktn. C4 o 1 2 4 3 x1 {or3ab403.pre} IP und Branch and Bound 17

3.3 Lösung durch Entscheidungsbaumverfahren Prinzip des Teilens und Besiegens als Lösungsstrategie Ein schwieriges Problem wird in mehrere weniger schwierig zu lösende Probleme geteilt. Ein schwierig zu lösendes Problem wird eingegrenzt. IP und Branch and Bound 18

Branching Branching = Verzweigen Eine sinnvolle Verzweigung muss ein im Prinzip in einfacher zu lösende Probleme erfolgen. Beim Verzweigen durch Problemteilung darf keine relevante Lösung verloren gehen. IP und Branch and Bound 19

Bounding Bounding = Beschränken Für Max-Probleme sucht man obere Schranken Für Min-Probleme untere Schranken Zu diesem Zweck werden im Problem eine oder mehrere Bedingungen relaxiert, mit der Folge, dass für das Max- Problem eine obere bzw. für das Min-Problem eine untere Schranke berechnet wird. Relaxiert werden grundsätzlich schwierige Bedingungen. IP und Branch and Bound 20

Entscheidungsbaum (generelle Vorgehensweise) IP0 LP0: z0 Branching = Verzweigen IP11 IP12 IP13 LP11: z11 Bounding = Beschränken LP12: z12 LP13: z13 Kandidatenliste IP und Branch and Bound 21

Abbruchkriterien (1) FC1: L(LP j ) = Ø L(IPj) = Ø FC2: FC3: Lösung des LP j ist schlechter als die beste bisher bekannte Lösung des IP: z j z lfd Falls die Lösung von LP j eine Lösung des IP j ist, wird geprüft, ob sie besser ist als die beste bekannte Lösung: z j > z lfd z lfd *= z j IP und Branch and Bound 22

Abbruchkriterien (2) IP0 LP0: z0 IP11 IP12 IP12 LP11: z11 LP12: z12 LP13: z13 IP24 LP24: z24 IP25 LP25: z25 IP21 IP22 IP23 LP21: z21 LP22: z22 LP23: z23 FC1: L(LP13) = FC1: L(LP24) = FC2: z25 < zlfd. FC2. FC3: zlfd. = z23 IP31 LP31: z31 IP32 LP32: z32 FC2. FC3: zlfd. = z32 IP und Branch and Bound 23

Branch and Bound Beispiel LP0 Max z mit z = 21x + 11x 1 2 u.d.n. 6x + 4x 15 1 2 x, x 0 1 2 Max x 1 x 2 RS Max x 3 x 2 RS z 0 21 11 0 z 0 7 2 3 52 1 2 x 3 6 4 15 x 1 1 6 2 3 5 2 entweder ist x 2 oder x 3 1 1 IP und Branch and Bound 24

Graphische Lösung von LP0 x2 4 3 2 1 LP0 o 1 2 4 3 x1 Zielfunktion IP und Branch and Bound 25

Verzweigen an der Variablen x1 IP: max z A x <= b ganzz. x >= 0 LP0: z0 = 52,5 x1 = 2,5; x2 = 0 x1 <= 2 x1 >= 3 LP11: LP12 IP und Branch and Bound 26

B&B Lösung der Probleme LP11 und LP12 Max x 1 x 2 RS Max x 1 ' x 2 RS Max x 1 ' x 3 RS z 11 21 11 0 z11 21 11 42 z 11 9 2 11 4 50 1 4 x 3 6 4 15 x 3 6 4 3 x 2 3 2 1 4 3 4 x 1 ' 1 0 2 x 1 1 0 2 x 1 1 2 Max x 1 x 2 RS Max x 4 x 2 RS z 21 21 11 0 z 21 21 11 63 x 3 6 4 15 x 3 6 4 3 keine zul. Lösung! x 4 1 0 3 x 1 1 0 3 IP und Branch and Bound 27

B&B Graphische Lösung LP11 und LP12 x2 4 3 2 LP12 1 LP11 o 1 2 3 x1 Zielfunktion IP und Branch and Bound 28 4

Baum nach ersten B&B-Schritt IP: max z A x <= b ganzz. x >= 0 LP0: z0 = 52,5 x1 = 2,5; x2 = 0 x1 <= 2 x1 >= 3 LP11: z11 = 50,25 x1 = 2; x2 = 0,75 LP12 = FC1 IP und Branch and Bound 29

B&B Graphische Lösung LP21 und LP22 x2 4 3 2 1 LP22 o 1 LP21 2 4 3 x1 Zielfunktion IP und Branch and Bound 30

B&B Baum nach 2 Verzweigungen IP LP0 x1 <= 2 LP11: z11 = 50,25 x1 >= 3 LP12 x1 = 2; x2 = 0,75 x2 = 0 x2 >= 1 FC1 LP21: z21 = 42 x1 = 2; x2 = 0 LP22: z22 = 49,50 x1 = 11/6; x2 = 1 FC3 IP und Branch and Bound 31

B&B Graph LP31 und LP 32 x2 4 3 2 1 LP31 o 1 2 3 x1 4 Zielfunktion IP und Branch and Bound 32

B&B Baum nach 3 Verzweigungen IP LP0 x1 <= 2 x1 >= 3 LP11 LP12 x2 = 0 x2 >= 1 LP21 LP22: z22 = 49,50 x1 = 1 5/6; x2 = 1 x1 <= 1 x1 = 2 FC1 LP31: z31 = 43 3/4 LP32: x1 = 1; x2 = 2 1/4 IP und Branch and Bound FC1 33

B&B Graph LP41 und LP42 x2 4 3 LP42 2 LP41 1 o 1 2 3 x1 4 Zielfunktion IP und Branch and Bound 34

B&B Vollständiger Entscheidungsbaum IP LP0 x1 <= 2 x1 >= 3 LP11 LP12 x2 = 0 x2 >= 1 LP21 LP22 FC1 FC3 x1 <= 1 x1 = 2 LP31 LP32 x2 <= 2 x2 >= 3 FC1 LP41 LP42 FC3 FC2 IP und Branch and Bound 35

B&B Problemlösung Da alle Knoten abgearbeitet sind, ist die gesuchte Lösung erreicht und es wurde nachgewiesen, dass die Lösung wirklich optimal ist. Branching: Grundsätzlich kann man in beliebig viele Knoten verzweigen. Alle so erzeugten Knoten kommen in die sog. Kandidatenliste. Bounding: An dieser Stelle können alle Hilfsmittel eingesetzt werden, um eine möglichst Schranke zu berechnen. IP und Branch and Bound 36

B&B Vor- und Nachteile Anbindung an das LP-Modul Gestaltungsfreiheit des Baumbaus Heuristische Unterstützung Verwendbarkeit der Lösung bei Abbruch Hoher Speicheraufwand Hoher Rechenaufwand Veränderliche Problemgröße IP und Branch and Bound 37