Ganzzahligkeit in LP

Werbung
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
jN
für
Ganzeinen Teil der
zahligkeit Variablen
für
xj
jIN
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
 mq
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
Herunterladen