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.