Ganzzahlige OR

Transcription

Ganzzahlige OR
Operations Research und Wirtschaftsinformatik
Prof. Dr. P. Recht // Dr. Eva-Maria Sprengel
Ganzzahlige OR-Methoden:
Operations Research II a
Übungsblatt 13
Aufgabe 40
Für eine Menge K von Klassen einer Schule soll ein Stundenplan erstellt werden. Die
Klassen dürfen nicht gleichzeitig bei mehreren Lehrern unterrichtet werden und jeder
Lehrer kann gleichzeitig nur eine Klasse unterrichten. Die Anzahl Stunden, die eine Klasse
k in einem Fach f bei einem Lehrer l bekommen soll ist durch alkf gegeben. Diese Anzahl
der Stunden muss vom Stundenplan auf jeden Fall abgedeckt werden.
a) Erstellen Sie nach Möglichkeit ein lineares Modell, welches die obigen Bedingungen
widerspiegelt. Machen Sie dabei bitte auch einen Vorschlag für eine Zielfunktion.
b) Wenn eine Menge F1 von Fächern vorgegeben ist, die nicht in einer Doppelstunde
unterrichtet werden dürfen und eine andere Menge F2 von Fächern, die in einer
Doppelstunde unterrichtet werden müssen, wie formulieren Sie für diese Situation
entsprechende lineare Nebenbedingungen?
(6 Punkte)
Lösungsvorschlag:
a) Seien folgende Mengen gegeben:
L:
F:
T:
H:
Menge
Menge
Menge
Menge
an
an
an
an
Lehrern
Fächern
Wochentagen]
Stunden, dabei sei H = {1, . . . , hmax }
Entscheidungsvariable:
1, Klasse k wird in Fach f von Lehrer l am Tag t in Stunde h unterrichtet
th
xklf :=
0, sonst
∀k ∈ K, l ∈ L, f ∈ F, t ∈ T, h ∈ H
Nebenbedingungen:
• Eine Klasse k kann „zu einer bestimmten Zeit“ nur von einem Lehrer und in
einem Fach unterrichtet werden:
XX
xth
klf ≤ 1, ∀k ∈ K, t ∈ T, h ∈ H
l∈L f ∈F
• Ein Lehrer kann in einer Stunde nur eine Klasse in einem Fach unterrichten
XX
xth
klf ≤ 1, ∀l ∈ L, t ∈ T, h ∈ H
k∈K f ∈F
• Die vorgegebene Anzahl Stunden pro Klasse, Fach und Lehrer muss abgedeckt
werden:
XX
l
xth
klf = akf ∀k ∈ K, f ∈ F, l ∈ L
t∈T h∈H
• xth
klf ∈ {0, 1}∀k ∈ K, l ∈ L, f ∈ F, t ∈ T, h ∈ H
Zielfunktionen könnten zum Beispiel sein, dass die Anzahl der Stunden insgesamt
minimiert werden soll. Jedoch ist diese durch die dritte Nebenbedingung festgelegt.
Ein bei Schulstundenplanproblemen formuliertes Ziel (eher ein Wunsch) ist beispielsweise, dass die Anzahl der Freistunden der Lehrer möglichst gering gehalten
werden soll. Diese zu erfassen ist jedoch schon ein Problem für sich.
b) Um die Bedingung „keine Doppelstunde“ bzw. „nur als Doppelstunde“ zu formulieren, wird es notwendig, die Menge der Stunden genauer zu betrachten. Im bisherigen
Modell hätte auch eine wochenweise Betrachtung ausgereicht.
• Fächer, die nicht in Doppelstunden unterrichtet werden dürfen:
t(h+1)
xth
klf + xklf
≤1
∀f ∈ F1 , k ∈ K, l ∈ L, t ∈ T, h = 1, . . . , hmax − 1
• Fächer, die in einer Doppelstunde unterrichtet werden müssen.
xt1
klf
max
xth
klf
xth
klf
≤ xt2
klf
≤
≤
∀f ∈ F2 , k ∈ K, l ∈ L, t ∈ T
t(h
−1)
xklfmax
t(h−1)
t(h+1)
xklf
+ xklf
∀f ∈ F2 , k ∈ K, l ∈ L, t ∈ T
∀f ∈ F2 , k ∈ K, l ∈ L, t ∈ T, h = 2, . . . , hmax − 1
Bei diesen Bedingungen ist nicht ausgeschlossen, dass nicht auch 3 oder 4
Stunden am Stück das gleiche Fach unterrichtet wird. Ist dieser Ausschluss
erwünscht, kann dies durch das Hinzufügen der folgenden Nebenbedingungen
erreicht werden.
t(h−1)
xklf
t(h+1)
+ xth
klf + xklf
≤ 2 ∀f ∈ F2 , k ∈ K, l ∈ L, t ∈ T, h = 2, . . . , hmax − 1
Die tatsächlichen Bedingungen an einen Schulstundenplan sind noch sehr viel komplexer. So dürfen bspw. Schüler bis zu einem gewissen Alter keine Freistunden zwischen
zwei Unterrichtsstunden eines Tages haben, oder müssen zu gewissen Stunden Klassen
aufgespalten und in Form von Kursen unterrichtet werden. Einige dieser Bedingungen
erfordern einen hohen Aufwand in der Modellierung und insgesamt ist das Schulstundenplanproblem ein schwer lösbares Problem.
Aufgabe 41
Die Firma OR-SummerFun produziert Grills in verschiedenen Ausführungen, für welche
eine unterschiedliche Herstellungszeit (HZ in Zeiteinheiten ZE) benötigt wird
Nr.
1
2
3
4
5
6
7
8
Bezeichnung
Grundmodell (Kohle, eckig)
Grundmodell-plus (Kohle, eckig, Abluftklappe)
Grundmodelle-delux (Kohle, eckig, Abluftklappe, Rollen, Ablagetisch)
Grundmodell-delux-design (Kohle, rund, Abluftklappe, Rollen, Ablagetisch)
Luxusmodell (Gas, eckig)
Luxusmodell-plus (Gas, eckig, Flaschenschrank)
Luxusmodelle-delux (Gas, eckig, Flaschenschrank, Rollen, Ablagetisch)
Luxusmodell-delux-design (Gas, rund, Flaschenschrank, Rollen, Ablagetisch)
HZ
2
3
4
4
2
3
5
5
Es liegen für den kommenden Tag folgende Aufträge vor
Modell-Nr.
1
2
3
4
5
6
7
8
Auftragsanzahl
4
5
3
2
2
4
5
7
Die Firma verfügt über einen ausreichend großen Mitarbeiterpool (gegebenenfalls kann
sie auf Zeitarbeitskräfte zurück greifen), wobei jeder Mitarbeiter gleich schnell arbeitet,
jeder jeden Grill herstellen kann und eine maximale Arbeitszeit von 8 h hat. Das Ziel
der OR-Summerfun ist es nun alle Aufträge für den kommenden Tag mit möglichst
wenig Mitarbeitern zu produzieren. Um die Qualität zu sichern, wird jeder produzierte
Auftrags-Grill von genau einem Mitarbeiter hergestellt.
a) Formulieren Sie für die gegebene Problemstellung bitte ein geeignetes lineares Programm
(i) nach dem Kantorovich-Modell
(ii) nach dem Gilmore/Gomory Modell
(iii) als Fluss-Modell
b) Geben Sie bitte ein Beispiel für ein Bin-Packing Problem an, für welches die FFDHeuristik keine optimale Lösung liefert.
c) Gegeben sei das Gilmore/Gomory-Modell für ein eindimensionales Cutting-Stock
Problem. Betrachten Sie dazu zwei mögliche Zielfunktionen:
• die Minimierung der Anzahl der benötigten Grundelemente
• die Minimierung des Abfalls, wobei überzählig zugeschnittene Teile auch als
Abfall angesehen werden.
Zeigen Sie, dass die optimalen Lösungen für die beiden resultierenden Modelle
identisch sind.
(8 Punkte)
Lösungsvorschlag:
a)
(i) Es sei
G=
b Menge der Mitarbeiter j = 1, ..., m
(mit m z.B.
8
X
bi = 32 ,also obere Schranke)
i=1
Ti =
b (Dauer in li) HZ von Grillmodell i in ZE , i = 1, ..., 8
Kantrorovich-Modell
xij =
b Anzahl an gefertigten Grills i von Mitarbeiter j , i = 1, ..., 8, j = 1, ..., m
(
1 , falls Mitarbeiter j benötigt wird,
, ∀j = 1, ..., m
yj =
0 , sonst.
m
X
yj
Minimiere Anzahl an Mitarbeitern
≤ 8yj , ∀j
Ein Mitarbeiter arbeitet max. 8 h
min
i=1
s.t.
8
X
li xij
i=1
m
X
xij = bi , ∀i
Aufträge müssen erfüllt werden
xij ∈ {0, ..., bi }, ∀i, j
Ganzzahligkeitsbedingung und Beschränkung
j=1
yj ∈ {0, 1}, ∀j
Binarität
(ii) Grundelement: 1 Mitarbeiter, der 8 Stunden arbeiten kann
Zuschnittsvarianten: a = (a(1) , ..., a(m) ), a(j) = (a1j , ..., amj ) , ∀j ∈ J
a=
b alle Varianten der Grillproduktion, die in 8h vorgenommen werden können
Gilmore \ Gomory-Modell
xj =Anzahl
b
der Zuschnitte entsprechend Variante a(j) , ∀j
min
s.t.
X
X
Minimiere Anzahl der Zuschnitte
xj
j∈J
aij xj ≥ bi , ∀i = 1, ..., m
Bestellung muss mindestens erfüllt sein
j∈J
xj ∈ Z , ∀j ∈ J
Ganzzahligkeitsbedingung
xj ≥ 0 , ∀j ∈ J
Nichtnegativitätsbedingung
(iii) Teillängen sortieren: L = 8 ≥ 5 > 4 > 3 > 2 > 0
Längen (lj )
5
4
3
2
Bedarfe (gesamt, bj )
12
5
9
6
~ ein Digraph mit G
~ = (V, E) : V = {v0 , v1 , ..., vL } und E = E1 ∪ ER mit
Sei G
(vi , vj ) ∈ E1 ⇔ ∃ k mit j − i = lk
(vi , vL ) ∈ ER , i 6= 0 ⇔ i > L − lm
Flussmodell
xij =Anzahl
b
der Durchläufe von Kante(vi , vj ) in einem gerichteten
~ in G
~ von v0 nach vL , ∀ i, j
Weg W
Minimiere die Flussstärke:
X
min
x0i
(0,vi )∈E
Alles, was in einem Knoten ankommt, muss diesen wieder verlassen:
X
X
s.t.
xij =
xjk , ∀vj ∈ V \{v0 , vL }
vi ∈P (vj )
vk ∈S(vj )
Bedarfe müssen mindestens erfüllt werden:
X
xi,i+lj ≥ bj , ∀j
vi ∈V,i+lj ≤L
Ganzzahligkeitsbedingung, Nichtnegativität:
xij ∈ Z+ , ∀i, j
b) L := 8 ≥ 4 ≥ 3 ≥ 3 ≥ 2 ≥ 2 ≥ 2 > 0
|
{z
}
Teillängen
Minimiere die Anzahl der Grundelemente mit Länge 8
→ PFFD = (1, 1, 2, 2, 2, 3), KFFD=3 ABER
→ optimale Lösung p∗ = (1, 2, 2, 1, 1, 2), k∗ = 2
c) Seien aij , bi , li , L gegeben. Dann ergibt sich als Zielfunktion zur Minimierung des
Abfalls:
XX
X
X
min
(xj aij − bi )li +
xj (L −
aij li )
i
min
X
j
min
X
j
min L
j
j
i
X
XX
X
X
xj (
aij li ) −
bi li +
xj (L −
aij li )
i
j
i
j
i
| i {z }
X
X
X
xj (
aij li + L −
aij li ) −
bi li
i
X
i
=:k
xj − k
j
Nach der Umformung entspricht die Zielfunktion zur Abfallminimierung bis auf eine
additive und eine multiplikative Konstante der Zielfunktion zur Minimierunga der
Anzahl der benötigten Grundelemente. Diese Konstanten haben keinerlei Einfluss
auf die optimale Lösung. Somit sind die Lösungen beider resultierenden Modelle
gleich, lediglich der Zielfunktionswert unterscheidet sich.