Ganzzahligkeit in LP-Modellen
Problematik * Modellierung * Lösungswege
Ganzzahligkeit 1
Agenda
1.
2.
Problematik
Modelle mit Ganzzahligkeitsbedingung
21.
22.
23.
3.
Direkte Modelle
Codierte Modelle
Transformierte Modelle
Lösungswege
31.
32.
Schnittebenen
Branch and Bound
Ganzzahligkeit 2
1. Problematik der Ganzzahligkeit
Als Lösungen kommen nur die ganzzahligen Punkte in Betracht:
Ganzzahligkeit 3
Schwierigkeiten
Lösungsraum ist nicht konvex.
Lösungen liegen i.d.R. nicht auf dem Rand.
Gerundete Lösungen sind vom Optimum i.d.R. weit entfernt.
Dieses gilt besonders für sog. 0-1-Probleme.
Ganzzahligkeit 4
Klassifizierung von IP-Problemen
Klassifizierung von Integer Problemen:
GanzalleVariablen
zahligkeit xj
jN
für
Ganzeinen Teil der
zahligkeit Variablen
für
xj
jIN
Wertebereich der ganzzahligen Variablen
xj = 0 oder xj = 1
xj 0 ganzzahlig
ganzzahliges Prog.
bivalentes Prog.
IP
oder (0,1)-LP
'all-integer'
BIP
'zero/one-integer'
gemischt-ganzz.
gemischt bival. Prog.
Prog.
MBIP
MIP
'mixed-zero/one-integer'
'mixed integer'
Ganzzahligkeit 5
2.1 Direkte Modelle
Durch Hinzufügen der Anweisung "ganzzahlig" für einzelne
oder alle Variablen (z.B. beim Verschnittproblem):
Min z
n
mit z rj x j
j 1
n
u.d.N.
a
j 1
ij
x j bi
für i A,B,C,D
x j 0 ganzzahlig
Man bezeichnet das entsprechende LP-Probleme ohne die Ganzzahligkeitsbedingung als relaxiertes Problem.
Ganzzahligkeit 6
2.2 Codierte Modelle
Wenn die Entscheidungsvariablen einen qualitativen Aspekt
repräsentieren, für den es genau definierte, endliche Zustände
gibt, erhält man codierte Modelle.
Besonders häufig: Es gibt nur zwei definierte Zustände, die
man durch sog. Binärvariablen abbilden kann.
Beispiele hierfür:
Kapitalbudgetierung
Maschinenbelegung
Stundenplanerstellung
Knapsackproblem
Travelling Salesman
Lieferplan
Standort
Graphenprobleme
(Investition: ja / nein)
(Auftrag auf Anlage: ja/nein)
(Zuordnung: ja/nein)
(Gut: ja/nein)
(Strecke: ja/nein)
(Lieferung: ja/nein)
(Ort: ja/nein)
(Covering, Matching, Colouring)
Ganzzahligkeit 7
2.3 Tranformierte Modelle
Eine Binärvariable wird als Indikator-variable
benutzt, die einen bestimmten Zustand in
Abhängigkeit des Wertes einer anderen Variable eine
Beschränkung induziert.
Typisch sind dabei "Wenn … dann …"-Bedingungen,
also logische Abhängigkeiten.
Ganzzahligkeit 8
2.3.1 Diskretwertmodelle
Eine Aktivität (Variable) soll nur einen von mehreren, vorher
bestimmte Werte annehmen dürfen:
x j W= w1 , w2 ,..., wn 2,5,7,9
Jedem Wert ordnet man eine Indikatorvaiable zu:
x j w1 y1 w2 y2 ... wn yn
y1 y2 ... yn 1
y j 0,1
Ganzzahligkeit 9
2.3.2 Batch Size Probleme
Einfache Dichotomie
Eine Variable soll entweder Null sein oder eine bestimmte
Untergrenze nicht unterschreiten: Ein Produkt j soll entweder
nicht oder – wenn schon – dann mindestens in der Menge lj
gefertigt werden.
Es sei uj eine künstliche oder natürliche Obergrenze für die
Variable xj:
xj lj yj 0
xj uj yj 0
y j 0,1
xj 0
Ganzzahligkeit 10
2.3.3 Disjunkte Variablen
Von n Variablen (die bestimmten Aktivitäten zugeordnet sind), soll entweder
(1) eine einen Wert größer Null haben oder
(2) mindestens p einen Wert größer Null haben oder
(3) höchstens q einen Wert größer Null haben.
Zu jeder Aktivitätsvariablen xj mit der Obergrenze uj wird ein Indikatorvariable
yj gewählt:
xj uj yj 0
1.
y
j
1
y
j
p
y
j
q
für alle j 1, 2,..., n
j
2.
j
3.
j
y j 0,1
für alle j 1, 2,..., n
Ganzzahligkeit 11
2.3.4 Disjunkte Nebenbedingungen
Aus einer Menge von Nebenbedingungen fi(x1,x2,…,xn) bi seien aktiv:
1. genau eine ( m-1 sind relaxiert)
2. mindestens p ( höchstens m-p sind relaxiert)
3. höchstens q ( mindestens m-q sind relaxiert).
Es sei M eine große Zahl (M>>bi):
yi 0,1
fi ( x1 , x2 ,..., xn ) bi M yi
1.
y
m 1
y
m p
y
mq
i
für alle i 1, 2,..., m
i
2.
i
i
3.
i
i
Ganzzahligkeit 12
2.3.5 Nebenbedingung mit alternativen RS
Für eine Nebenbedingung f(x1,x2,…,xn)=b soll alternativ eine RS b{b1 oder b2
oder… } gelten:
yi 0,1
f ( x1 , x2 ...) bk yk
y
k
1
k
k
Falls mit einer schrittweisen Kapazitätserweiterung b1<b2<… Kosten
d1<d2<… verbunden sind, berücksichtigt man ín der Zielfunktion:
z c j x j d k yk
j
k
Ganzzahligkeit 13
2.3.6 Fixed Charge Problem
Klassisches Fixkostenproblem:
für x j 0
0
k(x j )
f j cj xj
für x j 0
Für jede Variable xj ist eine Indikatorvariable yj zu definieren:
Min z
mit z c j x j f j y j
j
xj M yj
j
y j 0,1
Ganzzahligkeit 14
2.3.7 Vereinigung konvexer Gebiete (1)
Die Vereinigung konvexer Gebiete ist i.d.R. nicht konvex:
x2
3
2
TG2
TG1
1
TG3
1
2
3
4
5
x1
{or3ab304.pre}
Ganzzahligkeit 15
2.3.7 Vereinigung konvexer Gebiete (2)
Jedes Gebiet ist für sich durch lineare Ungleichungen definiert:
x2 3
(1.1)
x1 x2 4
(1.2)
x1 , x2 0
(1.3)
TG2: x1 x2 0
(2.1)
3x1 x2 8
(2.2)
x1 , x2 0
(2.3)
5
(3.1)
x2 1
(3.2)
x1 , x2 0
(3.3)
TG1:
TG3:
x1
Ganzzahligkeit 16
Formulierung logischer Verknüpfungen
Xi eine Aussage, z.B. Xi = wahr, wenn Produkt i hergestellt
wird, d.h. xi > 0
yi = 1, wenn Xi = wahr; yi = 0, wenn Xi = falsch
Verknüpfung
Bezeichnung
Formulierung
Negation
Xi
yi = 0 (alternativ: 1 yi = 1)
Konjunktion
Xi Xj
yi = 1 UND yj = 1 yi + yj = 2
Disjunktion
Xi Xj
yi = 1 ODER yj = 1 yi + yj 1
Implikation
Xi Xj
yi yj 0
Äquivalenz
Xi Xj
yi yj = 0
Ganzzahligkeit 17
Logische Impliklationen (1)
Voraussetzung: m x
(m 0 sei natürliche Untergrenze)
Implikation: y 1 x m 0
Formulierung: x m y 0
Ganzzahligkeit 18
Logische Impliklationen (2)
Voraussetzung: 0 x M
(M natürliche Obergrenze = große Zahl)
Implikation: x 0
y 1
Formulierung: x M y 0
Ganzzahligkeit 19
Logische Impliklationen (3)
Voraussetzung:
a
j
xj b M
j
( M sei Obergrenze des Funktionals)
Implikation: y 1
a
j
xj b
j
Formulierung:
a
j
xj M y b M
j
Ganzzahligkeit 20
Logische Impliklationen (4)
Voraussetzung: m a j x j b
j
(m 0 sei Untergrenze des Funktionals)
Implikation:
a
j
xj b
y 1
j
Formulierung:
a
j
x j (m ) y b
j
Ganzzahligkeit 21
Logische Impliklationen (5)
Voraussetzung: m a j x j b
j
(m sei Untergrenze des Funktionals)
Implikation: y 1
a
j
xj b
j
Formulierung:
a
j
xj m y b m
j
Ganzzahligkeit 22
Logische Impliklationen (6)
a
Voraussetzung:
j
xj b M
j
( M sei Obergrenze des Funktionals)
Implikation:
a
j
xj b
y 1
j
Formulierung:
a
j
x j (M ) y b
j
Ganzzahligkeit 23
2.3.7 Vereinigung konvexer Gebiete (2)
Jedes Gebiet ist für sich durch lineare Ungleichungen definiert:
TG1: y1 1
( x2 3) ( x1 x2 4)
TG2: y 2 1
( x1 x2 0) (3x1 x2 8)
TG3: y3 1
( x1 5) ( x2 1)
Für alle Gebiete gilt gemeinsam: x1 5 und x2 4
Ganzzahligkeit 24
Anwendung der logischen Implikation Typ (3)
Durch Abschätzung erhält man Obergrenzen M
zu den Nebenbedingungen:
x1 3 x1 3 0 : x1 3 4 3 1 M 1
x1 x2 4 0 : x1 x2 4 4 5 4 5 M 5
Die Indikatorvariable y1 1 aktiviert damit
die obigen Nebenbedingungen genau dann, wenn:
x2 1y1 3 1
x1 x2 5 y1 4 5
Ganzzahligkeit 25
Anwendung der logischen Implikation Typ (3)
Analog erhält man Obergrenzen M zu den Nebenbedingungen des TG2:
x1 x2 0 x1 0; x2 4 : x1 x2 4 M 4
3 x1 x2 8 x1 5; x2 0 : 3 x1 x2 8 15 0 8 5 M 7
Die Indikatorvariable y2 1 aktiviert damit
die obigen Nebenbedingungen genau dann, wenn:
x1 x2 4 y2 4
3x1 x2 7 y2 15
Ganzzahligkeit 26
Anwendung der logischen Implikation Typ (3)
Die äquivalente Formulierung erhält man für TG3.
Zusammen ergibt sich:
x2 y1 4
(TG1)
x1 x2 5 y1 9
x1 x2 4 y2 4
(TG2)
3 x1 x2 7 y2 15
x2 3 y3 4
(TG3)
x1 5
Da die Lösung in mindestens einem Teilgebiet
liegen muss, aber in allen liegen kann, gilt:
y1, y2, y3 0,1 : y1 y2 y3 1
Ganzzahligkeit 27