Generierung von Personaleinsatzplänen in Dienstleistungsunternehmen: Reformulierung von Entscheidungsproblemen und deren Lösung


Diplomarbeit, 2010

151 Seiten


Leseprobe


Wissenschaftliche Arbeit zur Erlangung des Grades eines
Diplom-Kaufmann
an der Technischen Universität zu München
Generierung von Personaleinsatzplänen in
Dienstleistungsunternehmen: Reformulierung
von Entscheidungsproblemen und deren
Lösung
Studiengang:
TUM-BWL Diplom
Eingereicht von:
Jan Mathias Köhler
Eingereicht am:
München, 01. Februar 2010

Inhaltsverzeichnis
Tabellenverzeichnis
iii
Abbildungsverzeichnis
vi
Abkürzungsverzeichnis
vii
Symbolverzeichnis - Allgemein und MIP
viii
Symbolverzeichnis - DP
xi
1 Einleitung
1
2 Literaturüberblick
6
3 Beschreibung des Schichtplanungsproblems
11
3.1
Begriffe der Schichtplanung
. . . . . . . . . . . . . . . . . . . . 11
3.2
Spaltengenerierungsverfahren zur Lösung der Schichtplanung . . 12
3.3
Nebenbedingungen der Schichtplanung . . . . . . . . . . . . . . 14
4 Formulierung als Kürzeste Wege Problem
15
4.1
Beschreibung des Graphen . . . . . . . . . . . . . . . . . . . . . 15
4.2
Erweiterung um Ressourcenbeschränkungen . . . . . . . . . . . 18
5 Gemischt ganzzahliges Programm
21
5.1
Beschreibung des grundlegenden MIPs . . . . . . . . . . . . . . 21
5.1.1
Notation des MIPs . . . . . . . . . . . . . . . . . . . . . 21
5.1.2
Erläuterung des MIPs . . . . . . . . . . . . . . . . . . . 24
5.1.3
Relaxierung der Ressourcenvariablen . . . . . . . . . . . 27
5.2
Einführung weiterer Nebenbedingungen . . . . . . . . . . . . . . 28
5.2.1
Berücksichtigung eines Dienstes . . . . . . . . . . . . . . 29
5.2.2
Berücksichtigung von Überstunden und Fehlstunden . . . 33
5.2.3
Berücksichtigung einer Mittagspause . . . . . . . . . . . 36
5.2.4
Berücksichtigung eines Zeitfensters . . . . . . . . . . . . 39
5.2.5
Werte des vorherigen Planungshorizonts . . . . . . . . . 40
5.3
Preprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.4
Komplexität des RCSPs . . . . . . . . . . . . . . . . . . . . . . 43
6 Dynamisches Programm
45
6.1
Einführung in die dynamische Programmierung . . . . . . . . . 45
6.2
Beschreibung des grundlegenden DPs . . . . . . . . . . . . . . . 50
6.2.1
Modellierung des RCSPs als DP . . . . . . . . . . . . . . 51
6.2.2
Induktionsreihenfolge des DPs . . . . . . . . . . . . . . . 52
6.2.3
Darstellung des Algorithmus . . . . . . . . . . . . . . . . 54
i

Inhaltsverzeichnis
6.3
Einführung weiterer Nebenbedingungen . . . . . . . . . . . . . . 65
6.3.1
Berücksichtigung eines Dienstes . . . . . . . . . . . . . . 66
6.3.2
Berücksichtigung von Überstunden und Fehlstunden . . . 72
6.3.3
Berücksichtigung einer Mittagspause . . . . . . . . . . . 74
6.3.4
Berücksichtigung eines Startzeitfensters . . . . . . . . . . 78
6.3.5
Werte des vorherigen Planungshorizonts . . . . . . . . . 79
6.4
Beschleunigung des Algorithmus . . . . . . . . . . . . . . . . . . 80
6.5
Bedingungen für die optimale Lösung . . . . . . . . . . . . . . . 86
7 Zeitliche Analyse der Lösungsverfahren
89
7.1
Parametereinstellung und Beschreibung der Variationen . . . . . 89
7.2
Ergebnisse der Laufzeitanalysen . . . . . . . . . . . . . . . . . . 91
7.2.1
Häufigkeit der Effizienzprüfung . . . . . . . . . . . . . . 92
7.2.2
Variation der ORDER Regel . . . . . . . . . . . . . . . . 93
7.2.3
Praxisbeispiel . . . . . . . . . . . . . . . . . . . . . . . . 95
7.2.4
Praxisbeispiel II . . . . . . . . . . . . . . . . . . . . . . . 97
7.2.5
Variation der Dichte der Deltas . . . . . . . . . . . . . . 98
7.2.6
Auslassung der Nebenbedingungen ,,Mittagspause", ,,Dienst"
bzw. ,,Startzeitfenster" . . . . . . . . . . . . . . . . . . . 100
7.2.7
Variation der Mindestarbeitszeit . . . . . . . . . . . . . . 103
7.2.8
Variation der Höchstarbeitszeit . . . . . . . . . . . . . . 105
7.2.9
Variation des Startzeitfensters . . . . . . . . . . . . . . . 105
7.3
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . 106
8 Ausblick
108
A Vollständiges Modell des MIPs
xiv
B Vollständiges Modell des DPs
xvii
C Ausführliche Ergebnisse der Laufzeitanalysen
xxiii
C.1 Häufigkeit der Effizienzprüfung . . . . . . . . . . . . . . . . . . xxiii
C.2 Variation der ORDER Regel . . . . . . . . . . . . . . . . . . . . xxiv
C.3 Praxisbeispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv
C.4 Praxisbeispiel II . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvi
C.5 Variation der Dichte der Deltas . . . . . . . . . . . . . . . . . . xxvii
C.6 Auslassung der Nebenbedingungen ,,Mittagspause", ,,Dienst" bzw.
,,Startzeitfenster" . . . . . . . . . . . . . . . . . . . . . . . . . . xxix
C.7 Variation der Mindestarbeitszeit . . . . . . . . . . . . . . . . . . xxxi
C.8 Variation der Höchstarbeitszeit . . . . . . . . . . . . . . . . . . xxxiii
C.9 Variation des Startzeitfensters . . . . . . . . . . . . . . . . . . . xxxv
Literaturverzeichnis
xxxvii
ii

Tabellenverzeichnis
Tab. 1
Zur Wochenarbeitszeit angerechnete und ausbezahlte Stun-
den eines Dienstes. . . . . . . . . . . . . . . . . . . . . . . . . 29
Tab. 2
Allgemeine Parametereinstellungen. . . . . . . . . . . . . . . . 89
Tab. 3
Abweichende Parametereinstellungen bei Variation der Häu-
figkeit der Effizienzprüfung. . . . . . . . . . . . . . . . . . . . 92
Tab. 4
Lösungszeiten bei Variation der Häufigkeit der Effizienzprüfung. 93
Tab. 5
Kennwerte der Labels bei Variation der Häufigkeit der Effizi-
enzprüfung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Tab. 6
Abweichende Parametereinstellungen bei Variation der ORDER
Regel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Tab. 7
Lösungszeiten bei Variation der ORDER Regel. . . . . . . . . 94
Tab. 8
Kennwerte der Labels bei Variation der ORDER Regel.
. . . 94
Tab. 9
Abweichende Parametereinstellungen im Praxisbeispiel. . . . . 95
Tab. 10
Lösungszeiten des MIPs, DPs und SPs im Praxisbeispiel. . . . 95
Tab. 11
Anzahl an Variablen, Nebenbedingungen und Koeffizienten
ungleich Null im MIP und SP im Praxisbeispiel. . . . . . . . . 96
Tab. 12
Kennwerte der Labels des DPs im Praxisbeispiel. . . . . . . . 97
Tab. 13
Abweichende Parametereinstellungen beim zweiten Praxis-
beispiel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Tab. 14
Lösungszeiten des MIPs, SPs und DPs für das zweite Praxis-
problem.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Tab. 15
Kennwerte der Labels für das DP im zweiten Praxisbeispiel. . 98
Tab. 16
Abweichende Parametereinstellungen bei Variation der Dich-
ten von
dem
und
D
.
. . . . . . . . . . . . . . . . . . . . . . 98
Tab. 17
Lösungszeiten bei Variation der Dichten von
dem
und
D
. . . 99
Tab. 18
Kennwerte der Labels bei Variation der Dichten von
dem
und
D
für zwei Wochen. . . . . . . . . . . . . . . . . . . . . . . . 99
Tab. 19
Kennwerte der Labels bei Variation der Dichten von
dem
und
D
für vier Wochen. . . . . . . . . . . . . . . . . . . . . . . . 100
Tab. 20
Abweichende Parametereinstellungen bei Auslassung der Ne-
benbedingung für die Mittagspause.
. . . . . . . . . . . . . . 101
Tab. 21
Lösungszeiten bei Auslassung der Nebenbedingungen ,,Mit-
tagspause", ,,Dienst" bzw. ,,Startzeitfenster". . . . . . . . . . . 101
Tab. 22
Kennwerte der Labels bei Auslassung der Nebenbedingungen
,,Mittagspause", ,,Dienst" bzw. ,,Startzeitfenster". . . . . . . . 102
Tab. 23
Abweichende Parametereinstellungen bei Variation der Min-
destarbeitszeit. . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Tab. 24
Lösungszeiten bei Variation der Mindestarbeitszeit. . . . . . . 103
Tab. 25
Kennwerte der Labels bei Variation der Mindestarbeitslänge
über zwei Wochen. . . . . . . . . . . . . . . . . . . . . . . . . 104
iii

Tabellenverzeichnis
Tab. 26
Kennwerte der Labels bei Variation der Mindestarbeitslänge
über vier Wochen. . . . . . . . . . . . . . . . . . . . . . . . . 104
Tab. 27
Lösungszeiten bei Variation der Höchstarbeitszeit.
. . . . . . 105
Tab. 28
Lösungszeiten bei Variation des Startzeitfensters. . . . . . . . 105
Tab. C.1
Lösungzeiten bei Variation der Häufigkeit der Effizienzprü-
fung - ausführliche Darstellung. . . . . . . . . . . . . . . . . . xxiii
Tab. C.2
Kennwerte der Labels bei Variation der Häufigkeit der Effizi-
enzprüfung - ausführliche Darstellung. . . . . . . . . . . . . . xxiii
Tab. C.3
Lösungzeiten bei Variation der ORDER Regel - ausführliche
Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
Tab. C.4
Kennwerte der Labels bei Variation der ORDER Regel - aus-
führliche Darstellung. . . . . . . . . . . . . . . . . . . . . . . xxiv
Tab. C.5
Lösungzeiten des MIPs, DPs und SPs im Praxisbeispiel - aus-
führliche Darstellung. . . . . . . . . . . . . . . . . . . . . . . xxv
Tab. C.6
Kennwerte der Labels beim Praxisbeispiel - ausführliche Dar-
stellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv
Tab. C.7
Anzahl an Variablen, Nebenbedingungen und Koeffizienten
ungleich Null im MIP und SP im zweiten Praxisbeispiel. . . . xxvi
Tab. C.8
Lösungszeiten bei Variation der Dichten von
dem
und
D
-
ausführliche Darstellung. . . . . . . . . . . . . . . . . . . . . . xxvii
Tab. C.9
Kennwerte der Labels bei Variation der Dichten von
dem
und
D
für zwei Wochen - ausführliche Darstellung. . . . . . . . . xxvii
Tab. C.10 Kennwerte der Labels bei Variation der Dichten von
dem
und
D
für vier Wochen - ausführliche Darstelung.
. . . . . . . . xxviii
Tab. C.11 Kennwerte der Labels bei Variation der Dichten von
dem
und
D
für sechs Wochen - ausführliche Darstelung. . . . . . . . . xxviii
Tab. C.12 Lösungszeiten bei Auslassung der Nebenbedingungen ,,Mit-
tagspause", ,,Dienst" bzw. ,,Startzeitfenster" - ausführliche
Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxix
Tab. C.13 Kennwerte der Labels bei Auslassung der Nebenbedingungen
,,Mittagspause", ,,Dienst" bzw. ,,Startzeitfenster" - ausführli-
che Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . xxx
Tab. C.14 Lösungszeiten bei Variation der Mindestarbeitszeit - ausführ-
liche Darstellung.
. . . . . . . . . . . . . . . . . . . . . . . . xxxi
Tab. C.15 Kennwerte der Labels bei Variation der Mindestarbeitszeit -
ausführliche Darstellung. . . . . . . . . . . . . . . . . . . . . . xxxii
Tab. C.16 Lösungszeiten bei Variation der Höchstarbeitszeit - ausführ-
liche Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . xxxiii
Tab. C.17 Kennwerte der Labels bei Variation der Höchstarbeitszeit über
zwei und vier Wochen - ausführliche Darstellung. . . . . . . . xxxiv
iv

Tabellenverzeichnis
Tab. C.18 Lösungszeiten bei Variation des Startzeitfensters - ausführli-
che Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . xxxv
Tab. C.19 Kennwerte der Labels bei Variation des Startzeitfensters über
zwei und vier Wochen - ausführliche Darstellung. . . . . . . . xxxvi
v

Abbildungsverzeichnis
Abb. 1
Ein Schichtplan über sieben Tage.
. . . . . . . . . . . . . . .
3
Abb. 2
Aufbau des Graphen G. . . . . . . . . . . . . . . . . . . . . . 15
Abb. 3
Arbeit und Pause auf dem Graphen G. . . . . . . . . . . . . . 17
Abb. 4
Graph G mit Ressourcenvariablen, Ressourcenfenstern und
Kantengewichten. . . . . . . . . . . . . . . . . . . . . . . . . . 19
Abb. 5
Graph G mit Binärvariablen von Arbeit und Pause. . . . . . . 22
Abb. 6
Graph G mit Binärvariablen von Arbeit, Pause und Dienst. . 30
Abb. 7
Graph G mit Binärvariablen der Mittagspause. . . . . . . . . 36
Abb. 8
Stufen im dynamischen Programm. . . . . . . . . . . . . . . . 51
Abb. 9
Ausschnitt eines Schichtplans vor dem Verschieben von Ar-
beitsschichten. . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Abb. 10
Ausschnitt eines Schichtplans nach dem Verschieben von Ar-
beitsschichten. . . . . . . . . . . . . . . . . . . . . . . . . . . 87
vi

Abkürzungsverzeichnis
Abkürzungsverzeichnis
B&B
Branch & Bound
B&P
Branch & Price
CG
Spaltengenerierungsverfahren (engl.: column generation)
DL
Anzahl an dominierten Labels im dynamischen Programm
DP
Dynamische Programmierung bzw. Programm
EL
Anzahl an erstellten Labels im dynamischen Programm
IP
Ganzzahlige Programmierung bzw. Programm (engl.: integer
programming)
LP
Lineare Programmierung bzw. lineares Programm
LV
Anzahl an notwendigen paarweisen Vergleichen der Labels
im dynamischen Programm, um in einer Iteration die Labels
auf Dominanz zu untersuchen
M
Mittelwert (engl.: mean)
MIP
Gemischt ganzzahlige Programmierung bzw. Programm
(engl.: mixed integer programming)
MP
Masterproblem des Spaltengenerierungsverfahrens
NB
Nebenbedingung(en)
RCSP
Kürzeste Wege Problem mit Ressourcenbeschränkung (engl.:
resource constrained shortest path problem)
SD
Standardabweicheung (engl.: standard deviation
SP
Subproblem des Spaltengenerierungsverfahrens bzw. konkre-
tes Subproblem aus Brunner et al. (2010)
SPP
Kürzeste Wege Problem (engl.: shortest path problem)
VC
Variationskoeffizient (engl.: coefficient of variation)
vii

Symbolverzeichnis - Allgemein und MIP
Symbolverzeichnis - Allgemein und MIP
A
Index für Arbeit
A
Menge der Kanten des Graphen G
c
over
Kosten für eine Überstunde o
w
c
Reduzierte Kosten einer Spalte des Masterproblems
c
paid
Kosten für eine ausbezahlte Überstunde h
w
c
sched
Gesamtkosten, die aus einem Schichtplan resultieren
D
Index für den Dienst
D
Menge der Tage im Planungshorizont
d
Index für einen Tag
Vektor der Dualvariablen mit = (
dem
ab
,
D
ab
)
dem
ab
Wert
der
Dualvariable
der
Arbeitsnachfrage-
Nebenbedingung I aus dem Masterproblem in Periode
(a, b) mit (a, b) A
D
ab
Wert
der
Dualvariablen
der
Dienstnachfrage-
Nebenbedingung II aus dem Masterproblem in Periode
(a, b) mit (a, b) A
E
A
Zeitpunkt, zu dem die reguläre Arbeit A spätestens endet
E
WE
Letzter Tag des Wochenendes
f
1
(j)
Gibt die Stundenanzahl des im Knoten j V
D
w
beginnenden
Dienstes D an, welche zur regulären Wochenarbeitszeit R
WA
addiert wird
f
2
(j)
Funktion, welche jeder Nummer eines Knotens j V eine
Knotennummer des ersten Tages zuweißt, mit f
2
(j) : V
j mod K
d
,
für j mod K
d
= 0
K
d
,
für j mod K
d
= 0
h
w
Anzahl an ausbezahlten Überstunden in der Woche w W
i
Index eines obenliegenden Knotens mit i
V
i
-
Beide Vorgängerknoten des Knotens i
i
-
Vorgängerknoten des Knotens i aus den oberen Knoten V
i
-
Vorgängerknoten des Knotens i aus den unteren Knoten V
j
Index eines untenliegenden Knotens mit j V
K
d
Anzahl an Knoten pro Tag
K
w
Anzahl an Knoten pro Woche, mit K
w
= (
|V| - 2)\|W|
(·)
Verhältnis der Lösungszeit zur Anzahl an erstellten (EL)
oder dominierten Labels (DL) bzw. an notwendigen paar-
weisen Vergleichen (LV) zur Bestimmung der Dominanz in
[
s
10
6
]
M
Positive, genügend große Zahl mit M N
N
D
Maximale Anzahl an Diensten pro Woche
viii

Symbolverzeichnis - Allgemein und MIP
o
w
Anzahl an Überstunden in der Woche w W
0
P
Index für Pause
q
Index des Knotens im Graphen mit der kleinsten Nummer
q
j,j
+
Binärvariable, mit 1, wenn der Arzt nach einer Mittagspause
in der Periode (j, j
+
) mit j V die erste Periode arbeitet, 0
sonst
q
j
-
,j
Binärvariable, mit 1, wenn der Arzt in der Periode (j
-
, j)
mit j V eine Mittagspause absolviert, 0 sonst
r
Index für Ressourcen, mit r T
R
A
w
Anzahl an Arbeitsstunden, welche in Woche w nicht zur Ver-
fügung stehen
R
D
Ressourcenverbrauch des Dienstes
()
Dichte der
dem
bzw.
D
, welche das Verhältnis von der An-
zahl an
dem
> 0 bzw.
D
> 0 pro 24 Stunden ausdrückt
R
r
Höchstdauer der Ressource r T
R
P
Anzahl an Stunden, welche vor Beginn des Planungshori-
zonts bereits pausiert wurden
R
r
(a) Höhe der Ressource r T im Knoten a V
R
r
Mindestdauer der Ressource r T
t
Index des Knotens im Graphen mit der höchsten Nummer
S
A
Zeitpunkt, zu dem die reguläre Arbeit A frühestens beginnt
S
D
Zeitpunkt, zu dem der Dienst D beginnt
S
WE
Tag, zu dem das Wochenende beginnt
T
Menge der Ressourcen, mit
T = {A, WA, P, D}
T
late
Höchstdauer an Arbeit vor Aufnahme einer Mittagspause
T
post
Mindestdauer an Arbeit nach Beendigung einer Mittagspau-
se
T
pre
Mindestdauer an Arbeit vor Aufnahme einer Mittagspause
T
win
Maximale Länge zwischen frühestem und spätestem Arbeits-
beginn pro Woche
u
w
Anzahl an ,,Fehlstunden" in der Woche w W
v
Vertragliche Wochenarbeitszeit
V
Menge aller Knoten des Graphen G
V
Menge der obenliegenden Knoten, mit
V = {i|i mod 2 = 1 :
i V} V
V
Menge der untenliegenden Knoten, mit
V = {j|j mod 2 =
0 : j V} V
V
D
w
Teilmenge der untenliegenden Knoten bei denen der Dienst
D in Woche w startet, mit V
D
w
=
{j|j mod K
d
= 2(S
D
+ 1) :
j V
} V, wobei die Woche w von Montag bis Sonntag
geht
ix

Symbolverzeichnis - Allgemein und MIP
^
V
D
w
Teilmenge der untenliegenden Knoten bei denen der Dienst
D in Woche w startet zur Berechnung von v, wobei die Wo-
che w von Sonntag bis Samstag geht
V
e
w
Teilmenge des letzten untenliegenden Knotens der Woche w,
mit
V
e
w
=
{j|j = w · K
w
+ 1 : j V w W} V
V
s
w
Teilmenge der obenliegenden Knoten bei dem seit Be-
ginn der Woche w eine Periode vergangen ist, mit
V
s
w
=
{i|i mod K
w
= 3 : i V} V
V
w,d
Teilmenge der untenliegenden Knoten von einem Tag d in
der Woche w, mit V
w,d
=
{j|(w - 1)K
w
+ 2 + (d - 1)K
d
j
(w - 1)K
w
+ dK
d
: j V, w W, d D} V
V
non
Menge
der
Knoten,
bei
denen
die
Variable
{x
i
-
i
, x
i
-
i
, x
ii
+
, q
i
-
i
, q
ii
+
, y
i
-
i
, y
ii
+
} Null gesetzt werden kann
W
Menge der Wochen im Planungshorizont,
W {1, 2, ...}
W
0
Menge der Wochen im Planungshorizont einschließlich der
Vorwoche, mit
W
0
=
W {0}
WA
Index für die Wochenarbeit
w
Index für eine Woche
x
j
-
j
Binärvariable, mit 1, wenn der Arzt in Periode (j
-
, j) pau-
siert, 0 sonst
x
i
-
i
Binärvariable, mit 1, wenn der Arzt in Periode (i
-
, i) arbei-
tet, 0 sonst
y
i
-
i
Binärvariable, mit 1, wenn der Arzt in der Periode (i
-
, i) mit
i
V einen Dienst absolviert, 0 sonst
y
j
-
j
Binärvariable, mit 1, wenn der Arzt in der Periode (j
-
o
, j)
mit j V die erste Periode nach einem Dienst pausiert, 0
sonst
x

Symbolverzeichnis - DP
Symbolverzeichnis - DP
a
j
Entscheidung, um vom Zustand x
j
in den Zustand x
j+1
zu
gelangen, mit a
j
{l, p, d, b}
A
j
(x
j
)
Menge der möglichen Entscheidungen auf Stufe j in Abhän-
gigkeit des Zustandes x
j
a
Optimale Folge von Entscheidungen
b
Index für eine Mittagspause bei der Entscheidung a
j
d
Index für einen Dienst bei der Entscheidung a
j
dem
j
Wert
der
Dualvariable
der
Arbeitsnachfrage-
Nebenbedingung I aus dem Masterproblem zwischen
Stufe j und j + 1
D
j
Wert
der
Dualvariablen
der
Dienstnachfrage-
Nebenbedingung II aus dem Masterproblem zwischen
Stufe j und j + 1
(d
so
)
k
j
Komponente des Labels L
k
j
, welche den Wert 1 annimmt,
wenn ein Dienst am Sonntag stattfindet und 0 sonst
(e)
k
j
Komponente des Labels L
k
j
, welche den Beginn der frühesten
Arbeitsschicht in einer Woche angibt
(l)
k
j
Komponente des Labels L
k
j
, welche den Beginn der spätesten
Arbeitsschicht in einer Woche angibt
EF F (X
j
)
Methode des Algorithmus im dynamischen Programm, wel-
che die Zustände x
j
X
j
auf Effizienz überprüft
e
win
Zeitpunkt des Endes eines Startzeitfensters
~
f
1
(j)
Gibt die Stundenanzahl des auf Stufe j beginnenden Diens-
tes D an, welche zur regulären Wochenarbeitszeit R
WA
ad-
diert wird
f
3
e
win
Funktion, welche für alle e
win
> 24 den Endzeitpunkt e
win
zurück auf einen 24-Stundentag berechnet mit f
3
e
win
=
0, für e
win
24
e
win
mod 24, für e
win
> 24
Zeitspanne, in welcher eine Arbeit möglich ist, wobei =
24/7 angibt, dass es möglich ist, rund um die Uhr zu arbeiten
I
{A}
(x)
Indikatorfunktion (auch charakteristische Funktion genannt)
mit x X, wobei X eine beliebige Menge ist, und A X,
mit I
{A}
(x) = 1, falls x A und I
{A}
(x) = 0 sonst
j
Index für eine Stufe
j
so
D
Index für eine Stufe, auf welcher an einem Sonntag der Dienst
beginnt
K
j
Menge der Indizes aller Zustände x
k
j
auf der Stufe j mit k
K
j
xi

Symbolverzeichnis - DP
L
k
j
Das
k-te
Label
eines
Zustandes
x
j
auf
der
Stufe
j, wobei das Label durch die Komponenten L
k
j
=
R
W A
, R
A
, R
D
, R
P
, obj, s
mo
, n
D
, d
so
, mp, e, l
k
j
charakte-
risiert ist
l
Index für eine Arbeit bei der Entscheidung a
j
(mp)
k
j
Komponente des Labels L
k
j
, mit (mp)
j
=
-1, wenn bisher
keine Mittagspause absolviert wurde und (mp)
j
= ~j, wenn
in Stufe ~j mit ~j < j eine Mittagspause gehalten wurde
n
D
k
j
Komponente des Labels L
k
j
, welche die bisherige Anzahl an
Diensten in der Woche angibt mit n
D
{0, ...N
D
}
(obj)
k
j
Komponente des Labels L
k
j
, welche den Zielfunktionswert auf
der Stufe j angibt
Operator zwischen zwei Argumenten, welcher die UND-
Verknüpfung angibt
Operator zwischen zwei Argumenten, welcher die ODER-
Verknüpfung angibt
ORDER(X
j
)
Methode des Algorithmus im dynamischen Programm, wel-
che die Zustände x
j
X
j
nach der definierten Reihenfolge
der Abarbeitung sortiert
P()
Potenzmenge einer beliebigen Menge , wobei in dieser Ar-
beit
/ P() definiert sei
p
Index für eine Pause bei der Entscheidung a
j
Tage in der Woche, an denen eine Arbeit möglich ist
r(x
j
,a
j
)
Ertragsfunktion
r
init
Wert der Zielfunktion auf der Stufe j = 0
R
P
min,V W
Minimaler Wert der Pausenressource R
P
von allen Endzu-
ständen einer Vorwoche
(R
r
)
k
j
Komponente des Labels L
k
j
, welche den Ressourcenverbrauch
der Ressource r T angibt
S
Bezeichnung für einen Schichtplan, welcher das Label L
k
j
ent-
hält
(s
mo
)
k
j
Komponente des Labels L
k
j
, welche angibt, um wie viel Uhr
die erste Schicht der Woche begonnen wurde
s
win
Zeitpunkt des Beginns eines Startzeitfensters
t(x
j
,a
j
)
Transformationsfunktion im dynamischen Programm, wobei
t
(x
j
, ) mit {l, p, d, b} bezeichnet, dass die Entscheidung
a
j
= in der Transformationsfunktion verwendet wird
V (x
j
)
Wertfunktion
X
j
Menge aller Zustände auf der Stufe j
x
j
Zustand auf der Stufe j
xii

Symbolverzeichnis - DP
x
init
Initialisierungszustand, mit welchem die dynamische Pro-
grammierung begonnen wird. Ist dieser Zustand nicht in je-
der Woche gleich, so wird das Symbol x
init,w
benutzt, um
den Initialisierungszustand der Woche w zu kennzeichnen
x
Optimale Folge von Zuständen
xiii

1 Einleitung
1 Einleitung
Der wachsende Kostendruck im Dienstleistungssektor und insbesondere im Ge-
sundheitswesen macht es notwendig vorhandene Ressourcen möglichst effizient
einzusetzen (Thungjaroenkul et al. 2007). Der größte Anteil der Ausgaben in
diesen Sektoren wird für Personal verwendet. Eine Reduzierung dieser Kosten
scheitert oft an der Variabilität des Bedarfs und der gleichzeitigen Notwen-
digkeit fester Schichtpläne. Überdies sind Präferenzen der Arbeitnehmer und
gesetzliche Vorgaben zu berücksichtigen.
Der aktuelle Bericht ,,Pflege-Thermometer" des deutschen Instituts für an-
gewandte Pflegeforschung (dip) zeigt, dass der Abbau von Pflegekräften in
Krankenhäusern bei gleichzeitigem Aufbau an ärztlichem Personal fortgesetzt
wird. (Isfort und Weidner 2007, S.5):
,,Sowohl bei den Stellen für pflegerische Hilfskräfte (Krankenpflegehelfer/-
innen) als auch für das examinierte Pflegepersonal (Krankenpflegekräf-
te) wurden in erheblichem Umfang Reduzierungen vorgenommen. Es
wurden 48.000 Vollzeitäquivalente (-13,5%) für Krankenpflegekräfte in
den bettenführenden Bereichen im Zeitraum von zehn Jahren abgebaut.
Dabei hat sich die Fallzahl der stationär behandelten Patienten erhöht
und die Verweildauer der Patienten ist gesunken. Es erfolgte im glei-
chen Zeitraum ein Aufbau des ärztlichen Personals in erheblichem Um-
fang (+19,5%). Die Belastungszahl des Pflegedienstes nach Fällen stieg
in zehn Jahren von 48 Patienten auf 59, was einem Plus von 23% ent-
spricht!"
Weitere Informationen, die bestätigen, dass dieser Trend im Jahr 2008 fort-
gesetzt wurde, sind im Bericht des Statistischen Bundesamtes ,,Grunddaten
der Krankenhäuser" (Statistisches Bundesamt 2009) zu finden.
Oben beschriebene Entwicklungen verstärken die Notwendigkeit eine effizi-
ente Schichtplanung für das im Krankenhaus eingesetzte Personal zu entwi-
ckeln. Der Großteil der aktuellen Forschung bezieht sich auf die Planung des
Pflegepersonals (nurse scheduling). Eine Übersicht über bisherige Veröffentli-
chungen hierzu gibt Cheang et al. (2003) und Burke et al. (2004). Bisherige
entwickelte Methoden, welche für einen kurzen bzw. mittleren Planungshori-
zont bei Pflegepersonal eingesetzt werden können, wurden bereits mit einigem
Erfolg umgesetzt (Bard und Purnomo 2005, Kellogg und Walczak 2007).
Das Problem der Schichtplanung von Ärzten wird bisher jedoch weniger
behandelt. Ein Grund ist die erhöhte Komplexität im Vergleich zur Planung
von Pflegepersonal. Flexible Arbeitsverträge, welche vom Krankenhaus, Bun-
desland, Ausbildungsstand und Status des Arztes abhängen, erschweren eine
Generalisierung erheblich.
In Brunner et al. (2009) wurde ein neuer Ansatz gewählt, um dieses Pro-
blem anzugehen. Der gewählte Ansatz erlaubt eine flexible Generierung von
1

1 Einleitung
Schichtplänen, wobei eine große Anzahl an Parametern frei gewählt werden
kann.
Das beschriebene Problem wurde als lineares Programm (LP) modelliert
und anhand von Daten aus der Praxis für 16 Anästhesisten des Klinikums
rechts der Isar in München getestet. Für große Instanzen wurde aufgrund der
großen Variablen- und Nebenbedingungsanzahl keine Lösung in vertretbarer
Zeit gefunden.
Daher wurde in einem nächsten Schritt ein Branch & Price (B&P) Ver-
fahren
1
benutzt (Brunner et al. 2010), wobei im Subproblem des Spalten-
generierungsverfahrens (engl.: column generation bzw. CG) die Schichtpläne
der einzelnen Ärzte erzeugt werden. Das Subproblem (SP) wird dort als ein
gemischt ganzzahliges Programm (engl.: mixed integer program bzw. MIP)
modelliert. Für komplexere Probleminstanzen ist die Lösung als MIP jedoch
ineffizient bzgl. der Lösungszeit.
Ziel dieser Arbeit ist es daher, das Subproblem der Schichtplanerzeugung
geeignet zu reformulieren und effizient zu lösen, um die bisherige Lösungszeit
zu verbessern.
Folgende Parameter sind bei der Generierung eines Schichtplans zu berück-
sichtigen. Ein Arzt kann für eine reguläre Arbeit eingeteilt werden, welche eine
Mindest- und Höchstdauer besitzt. Des Weiteren gibt es die Möglichkeit eines
Bereitschaftsdienstes, welcher im Folgenden als ,,Dienst" bezeichnet wird. Hier-
bei ist der Arzt 24 Stunden im Klinikum anwesend, um für unvorhergesehene
Nachfrage, z.B. Notfälle, eingesetzt zu werden. Es gibt eine maximale Anzahl
an Diensten pro Woche, welche ein Arzt übernehmen kann. Ein Teil dieser Ar-
beitszeit wird der regulären Wochenarbeitszeit angerechnet. Nach einer Arbeit
bzw. einem Dienst muss eine Mindestpausenlänge eingehalten werden. Weite-
re Restriktionen sind die Berücksichtigung einer maximalen Wochenarbeitszeit
und einer Mittagspause. Da die Arbeit eines Arztes zu einem beliebigen Zeit-
punkt in einer Woche beginnen kann, wird zudem gefordert, dass sich die
verschiedenen Arbeitsstartzeitpunkte einer Woche innerhalb eines definierten
Zeitfensters befinden. Hiervon ist der Beginn des Dienstes ausgenommen.
Abbildung 1 zeigt als Beispiel einen Ausschnitt eines Schichtplans über sie-
ben Tage. Jeder Tag ist in 24 Perioden eingeteilt, wobei Periode Null um 0 Uhr
beginnt und um 1 Uhr endet. Die hellgrau bzw. dunkelgrau hinterlegte Zahl 1
steht hierbei für Arbeit bzw. Dienst, die Zahl 0 repräsentiert eine Pause (Mit-
tagspause oder Pause zwischen zwei Schichten). Die Arbeit für diesen Arzt
beginnt beispielsweise am ersten und fünften Tag um 7 Uhr. An diesen Tagen
wird auch eine Mittagspause eingeplant, die durch die Null im Block der hell-
grau hinterlegten Einsen erkennbar ist. Diese findet jeweils von 12 bis 13 Uhr
1
Eine Übersicht zu der Branch & Price Literatur gibt Barnhart et al. (1998). Eine Einfüh-
rung in B&P kann in Grünert und Irnich (2005a, Kapitel 3) gefunden werden.
2

1 Einleitung
Periode
Tag 1
Tag 2
Tag 3
Tag 4
Tag 5
Tag 6
Tag 7
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
2
0
0
1
0
0
0
1
3
0
0
1
0
0
0
1
4
0
0
1
0
0
0
1
5
0
0
1
0
0
0
1
6
0
0
1
0
0
0
1
7
1
0
1
0
1
0
1
8
1
1
0
1
1
1
0
9
1
1
0
1
1
1
0
10
1
1
0
1
1
1
0
11
1
1
0
0
1
1
0
12
0
1
0
1
0
1
0
13
1
1
0
1
1
1
0
14
1
1
0
1
1
1
0
15
1
1
0
1
1
1
0
16
1
1
0
1
1
1
0
17
1
1
0
1
1
1
0
18
1
1
0
0
1
1
0
19
0
1
0
0
1
1
0
20
0
1
0
0
0
1
0
21
0
1
0
0
0
1
0
22
0
1
0
0
0
1
0
23
0
1
0
0
0
1
0
Abb. 1: Ein Schichtplan über sieben Tage.
statt. Am zweiten und sechsten Tag hat der Arzt einen Dienst, welcher um
8 Uhr beginnt und 24 Stunden dauert.
Es ist auch erkennbar, dass nach einer Arbeit oder einem Dienst eine Min-
destpausenlänge von zwölf Stunden eingehalten wird.
Bei der Erstellung eines Schichtplans für einen einzelnen Arzt ist der pe-
riodenabhängige Nutzen der Arbeit über den gesamten Planungshorizont zu
optimieren. Der Nutzen einer Periode ist hierbei der nichtnegative Wert der
Dualvariablen für diese Periode. Der gesamte Nutzen ergibt sich aus den re-
duzierten Kosten einer Spalte. Es sei daran erinnert, dass die Schichtplange-
nerierung die Erzeugung einer Spalte im Subproblem darstellt und diese bei
einem B&P so lange fortgesetzt wird, bis der Nutzen einer Spalte nichtnega-
tiv ist. Um die reduzierten Kosten einer Spalte zu berechnen, wird hierbei die
Summe der Dualvariablen von einem positiven Wert, welcher die Kosten für
Überstunden berücksichtigt, subtrahiert.
In der Reformulierung wird das Subproblem in dieser Arbeit als ein Netz-
werk modelliert und als Kürzeste Wege Problem mit Ressourcenbeschränkung
(engl.: resource constrained shortest path problem oder RCSP) dargestellt. Als
Lösungsverfahren werden sowohl ein MIP als auch die dynamische Program-
mierung (DP) gewählt.
Im folgenden Kapitel 2 wird eine Übersicht über die Literatur gegeben. Hier-
bei wird auf bisherige Forschungsarbeiten im Zusammenhang der Schichtpla-
nung (scheduling) eingegangen und insbesondere jene dargestellt, welche im
Lösungsverfahren ein Netzwerk bzw. ein RCSP wählen. Überdies werden Ar-
beiten erwähnt, welche die dynamische Programmierung als Lösung verwen-
den. Es wird deutlich, dass oftmals ein scheduling Problem als B&P gelöst
wird, wobei das Subproblem meist als Netzwerkflussproblem modelliert und
mit einem DP gelöst wird. Fast immer sind starke Einschränkungen bzgl. der
Flexibilität bei der Erzeugung des Schichtplans vorhanden.
3

1 Einleitung
In Kapitel 3 wird die Problemstellung detailliert erläutert. Hierbei wird
auf den Zusammenhang zum Spaltengenerierungsverfahren aus Brunner et al.
(2010) eingegangen. Zudem werden die Nebenbedingungen mit den entspre-
chenden Parametern eingeführt.
In Kapitel 4 wird der Graph beschrieben, welcher für die Modellierung des
RCSPs verwendet wird. Zuerst wird der Graph mit Kantengewichten beschrie-
ben und der Zusammenhang zur Schichtplanung dargestellt. In Kapitel 4.2 wer-
den den Knoten Ressourcen zugeordnet, um die einzelnen Nebenbedingungen
abbilden zu können.
Kapitel 5 beschreibt das gemischt ganzzahlige Modell. In Kapitel 5.1 werden
nur die Nebenbedingungen an Mindest- und Höchstarbeitszeit und die Min-
destpausendauer berücksichtigt. Das Grundmodell des MIP wird eingeführt
und die Notation erläutert. Zudem wird auf mögliche Variablenrelaxationen
eingegangen. Darauf aufbauend wird das Modell in Kapitel 5.2 erweitert, um
den Dienst, die Überstunden und Fehlstunden, die Mittagspause, das Startzeit-
fenster der Arbeit und mögliche Werte aus dem vorherigen Planungshorizont
zu berücksichtigen. Um die Lösungsdauer des Algorithmus in Abhängigkeit
der möglichen Arbeitszeit zu verbessern, wird eine Eingrenzung der Variablen
durchgeführt, welche in Kapitel 5.3 dargestellt ist. Als letztes Teilkapitel wird
die Komplexität des RCSPs erläutert. Es ist ein schwach NP-vollständiges Pro-
blem und kann, wenn als dynamisches Programm (DP) formuliert, in pseudo-
polynomialer Zeit gelöst werden.
Da das Kürzeste Wege Problem mit Ressourcenbeschränkung als MIP kei-
ne verbesserte Lösungszeit hervorbrachte, wurde in Kapitel 6 das RCSP als
dynamisches Programm modelliert. Nach einer Einführung in die dynamische
Programmierung wird ab Kapitel 6.2 erläutert, wie das DP modelliert wird,
um das RCSP abbilden zu können. In einem nächsten Schritt wird der für das
dynamische Programm verwendete Algorithmus beschrieben.
Laufzeitanalysen der beiden Lösungsverfahren werden in Kapitel 7 darge-
stellt. Hierbei wird deutlich, dass die Lösung des RCSP als MIP im Durch-
schnitt langsamer als die ursprüngliche Formulierung aus Brunner et al. (2010)
ist. Die deutliche Beschleunigung des Lösungsprozesses, vor allem für komplexe
Instanzen, durch die Formulierung als DP wird ersichtlich. Zusätzlich werden
für das Modell der dynamischen Programmierung Analysen anhand verschie-
dener Parametereinstellungen vorgenommen.
Im letzten Kapitel werden die Resultate zusammengefasst und ein Ausblick
für weiterführende Untersuchungen gegeben.
Das ,,Symbolverzeichnis - DP" beinhaltet die in Kapitel 6 eingeführten Sym-
bole, welche ausschließlich für die Beschreibung des dynamischen Programms
verwendet werden. Alle weiteren Symbole, welche in den anderen Kapiteln erst-
mals erwähnt werden, finden sich im ,,Symbolverzeichnis - Allgemein und MIP".
4

1 Einleitung
Da die Modellierung des DPs auf Erkenntnissen vorheriger Kapitel aufbaut,
sind Symbole, welche in Kapitel 6 benutzt werden, auch im zweitgenannten
Symbolverzeichnis zu finden.
5

2 Literaturüberblick
2 Literaturüberblick
Der Überblick über bisher veröffentlichte Literatur ist in drei Teilen gegliedert.
Zuerst wird ein Überblick über Probleme der Schichtplanung im Allgemeinen
gegeben. Danach folgen Abschnitte über Artikel, in welchen das Schichtpla-
nungsproblem als Kürzeste Wege Problem (engl.: shortest path problem oder
SPP) gelöst wird. Zuletzt werden Veröffentlichungen dargestellt, in welchen die
dynamische Programmierung eingesetzt wird. Meist wird die DP als Lösungs-
verfahren eines Branch & Price verwendet. In den letzten beiden Teilen werden
die Artikel anhand der Problembeschreibung (i), der Nebenbedingungen und
Zielfunktion (ii), dem Lösungsverfahren (iii) und sonstiger Aspekte (iv) kurz
charakterisiert.
Schichtplanung im Allgemeinen
Ernst et al. (2004a, 2004b) gibt einen Überblick über die bisherigen Forschun-
gen in der Schichtplanung (scheduling und rostering) wobei in Ernst et al.
(2004a) eine kommentierte Übersicht von 700 Veröffentlichungen zusammen-
gestellt ist. Die am meisten eingesetzte Lösungsmethode ist die ganzzahlige
Programmierung (ohne spezielle Lösungsalgorithmen) und Heuristiken, wel-
che zusammen etwa ein Drittel aller betrachteten Veröffentlichungen ausma-
chen. Weitere wichtige Methoden (in der Reihenfolge der Verwendung) sind
set partitioning- und set covering-Verfahren, welche auch zu den ganzzahligen
linearen Programmen zählen, jedoch eine spezielle Struktur aufweisen, und das
Spaltengenerierungsverfahren.
2
Etwa die Hälfte aller Artikel beschäftigt sich
mit Schichtplanungen im öffentlichen Transport, von Pflegekräften oder vom
Personal bei Luftfahrtgesellschaften.
Übersichtsartikel zur Schichtplanung bei Krankenschwestern wurden von
Cheang et al. (2003) und Burke et al. (2004) veröffentlicht. Einen Überblick
über die aktuellen Forschungsergebnisse bei der Crewplanung (crew rostering)
bei Luftfahrtgesellschaften gibt Kohl und Karisch (2004). Eine sehr ausführ-
liche Übersicht mit einigen Kurzbeschreibungen von Artikeln, welche den Be-
reich von Call Center behandeln, gibt Mandelbaum (2006). Diese Arbeit ent-
hält auch Verweise zur Schichtplanung bei Call Centern.
2
Eine Darstellung der Lösungsmethode des Spaltengenerierungsverfahrens bei ganzzahligen
Programmen und eine Übersicht über Artikel gibt Wilhelm (2001).
6

2 Literaturüberblick
Schichtplanung mit einem Kürzeste Wege Problem
Eine ausführliche Grundlage über die allgemeine Formulierung eines, wie in
dieser Arbeit vorliegenden, RCSPs wird in Zhu (2005) gegeben. Insbesondere
enthält die Arbeit einen ausführlichen Überblick von Artikeln über das RCSP,
welches mit einem B&P, CG oder DP gelöst wird.
In den meisten Artikeln, welche sich mit Schichtplanung beschäftigen, wird
ein SPP als Lösung eines Subproblems innerhalb eines Spaltengenerierungs-
verfahrens verwendet.
Desrochers und Soumis (1989) beschreiben ein crew scheduling Problem an-
hand der Einplanung von Busfahrern im öffentlichen Transport. Es werden
den Busfahrern feststehende Arbeitspakete, z.B. gewisse Busrouten, zugeteilt.
(ii): Hierbei werden folgende Nebenbedingungen berücksichtigt: eine maxima-
le Anzahl an Arbeitspaketen pro Fahrer, eine einzuhaltende Pause zwischen
zwei Arbeitspaketen, eine Höchstarbeitszeit pro Tag und eine maximale An-
wesenheitsdauer jedes Fahrers pro Tag, auf welcher seine tatsächliche Arbeit
verteilt sein darf. (iii): Das Problem wird mithilfe eines CGs gelöst, wobei das
Subproblem ein RCSP ist. Obige Nebenbedingungen werden als Ressourcen
eingeführt. Ein Knoten stellt im Netzwerk ein Arbeitspaketbeginn bzw. -ende
dar und eine Kante ist dementsprechend Arbeitszeit bzw. Pausenzeit. Das Sub-
problem wird mit einem DP gelöst. (iv): Der beschriebene Algorithmus wurde
bereits an zwei Praxisproblemen getestet.
Bei Eveborn und Rönnqvist (2004) wird ein Schichtplan für Arbeiter be-
trachtet. (ii): Die Flexibilität des Schichtplans ist ähnlich hoch wie in dieser
Arbeit. Der Schichtplan ist gestaltbar bezüglich Wochenarbeitszeit, täglicher
Arbeitszeit und Anzahl an Arbeitstagen bzw. freien Tagen in Folge. Die Zeit-
perioden, in welchen gearbeitet werden kann, und Präferenzen bzgl. gewisser
Schichten können ebenso wie Engpässe in der Deckung der Nachfrage berück-
sichtigt werden. (iii): Die Erzeugung der Schichtpläne wird als set partitioning
Problem dargestellt, welches mit einem B&P gelöst wird. Das Subproblem, die
neuen Spalten in jedem Knoten des B&P zu finden, wird als verschachteltes
Kürzeste Wege Problem zweier SPP modelliert. Das innere SPP erzeugt zu-
lässige Teilschichten, welche im äußeren SPP zu einem Schichtplan kombiniert
werden, wobei die reduzierten Kosten minimiert werden. Das äußere SPP wird
anhand eines DPs gelöst. Es wird nicht näher auf die Modellierung der beiden
Kürzeste Wege Probleme bzw. auf die Formulierung des DPs eingegangen. (iv):
Der Algorithmus wird in der Praxis unter dem Namen SCHEDULER ange-
wandt, wobei in den beschriebenen Fällen aufgrund von Zeitbeschränkungen
bei der Lösungsfindung nicht optimale Lösungen akzeptiert wurden.
Cezik et al. (2001) beschreibt die Erstellung eines Schichtplans über eine
Woche in einem Call Center mit deterministischer Nachfrage. Die Schichtpla-
nung weist eine hohe Flexibilität auf. (ii): Die Variabilität in der Planung
7

2 Literaturüberblick
liegt darin, dass die Startzeit der täglichen Schichten flexibel ist, jedoch in
einer Woche innerhalb eines Zeitfensters liegen muss. Es müssen überdies zwei
Tage pro Woche arbeitsfrei sein, von denen einer am Wochenende liegt. Die
Gesamtlänge einer Tagesschicht, die Einhaltung einer Mittagspause und die
Verrechnung von Überstunden werden zudem berücksichtigt. Das Ziel ist die
Minimierung der Arbeitskosten und der nicht gedeckten Nachfrage. (iii): Aus-
gehend von einem shift scheduling Problem, welches zulässige Tagesschichten
erstellt, werden die Kombinationen dieser Schichten anhand eines Netzwerks
überprüft. Knoten repräsentieren eine Tagesschicht bzw. einen freien Tag und
die Größe des Flusses auf den Kanten stellt dar, wie viele Arbeiter eine konkrete
Kombination dieser Tagesschichten wählt. Das Problem wird als ganzzahliges
Programm (engl.: integer programming bzw. IP) gelöst. (iv): Zeitanalysen mit
Daten aus einem Call Center werden präsentiert, wobei in vertretbarer Zeit
fast-optimale Lösungen gefunden werden können.
Jaumard et al. (1998) löst die Schichtplanung für Pflegekräfte in einem Kran-
kenhaus. Es werden sieben verschiedene feste Schichttypen über drei Tageszei-
ten (Tag, Abend, Nacht) berücksichtigt. (ii): Als Nebenbedingungen werden die
maximale Arbeitszeit, die Einhaltung einer Anzahl an arbeitsfreien Wochen-
enden und die Einplanung von Urlaub berücksichtigt. Überdies ist der Wechsel
zwischen Schichttypen und die Anzahl der in Folge geleisteten Schichten eines
bestimmten Typs beschränkt. Zudem wird das Verhältnis von Schichttypen
innerhalb des persönlichen Arbeitsplans berücksichtigt. (iii): Es wird ein B&P
verwendet, wobei das Subproblem als RCSP formuliert wird. Im Subproblem
werden für die einzelnen Pflegekräfte Arbeitspläne erzeugt. Zur Lösung des
RCSPs wird ein pseudo-polynomialer Algorithmus über zwei Phasen angege-
ben, welcher ausführlich in Jaumard et al. (1996) erläutert wird.
In Mason und Smith (1998) wird eine allgemein Schichtplanung über meh-
rere Wochen mit festen Schichttypen dargestellt. (ii): Ziel ist die Maximierung
der Qualität eines Schichtplans, wobei diese durch die Verteilung der Tage mit
Arbeit und der freien Tage, der Präferenzen für bestimmte Schichttypen und
dem Übergang zwischen zwei Schichttypen (z.B. von Spät- zu Frühschicht)
bestimmt ist. (iii): Das Problem wird mithilfe eines CGs gelöst. Hierbei sorgt
das als IP formulierte Masterproblem (MP) für die Deckung der Nachfrage.
Im Subproblem, welches als Netzwerkfluss Problem dargestellt ist, wird an-
hand des Netzwerks die beste Kombination verschiedener Tagesschichten zu
einer Schicht über n Tage festgestellt. (iv): Das Netzwerk ist ähnlich wie in
Jaumard et al. 1998 aufgebaut, enthält aber keine Ressourcenrestriktionen auf
den Kanten. Eine Zeitanalyse wird anhand einer Schichtplanung für Kranken-
schwestern gegeben.
8

2 Literaturüberblick
Schichtplanung mit dynamischer Programmierung
Ernst et al. (2004a) zählt 17 Veröffentlichungen, welche die dynamische Pro-
grammierung als Lösungsprinzip für ein scheduling oder rostering Problem
verwenden. In den meisten dieser wird DP zur Lösung des Subproblems eines
CGs verwendet, wobei das Subproblem als Kürzeste Wege Problem mit oder
ohne Ressourcenbeschränkung modelliert wird.
In Yunes et al. (2000) wird ein Crew Scheduling Problem anhand des Bei-
spiels von Busfahrern einer brasilianischen Metropole gelöst. (ii): Eine Menge
an Bustouren muss einer Menge an bestehenden Fahrern zugeteilt werden,
wobei die Kosten für den Einsatz der Fahrer minimiert wird. Hierbei muss ei-
ne maximale Arbeitszeit pro Tag und eine minimale Pausenzeit zwischen den
Schichten berücksichtigt werden. Überdies muss jeder Fahrer seinen Arbeitstag
am selben Busdepot beenden, an dem er die erste Tour begonnen hat. (iii):
Das Problem ist als hybrides Modell aus ganzzahliger Programmierung und
constraint programming modelliert und wird mit einem B&P gelöst. Das Sub-
problem, welches die Dienstblöcke erstellt, wird ähnlich wie in Desrochers und
Soumis (1989) als RCSP modelliert und mit einem DP gelöst. (iv): Es wer-
den jedoch keine detaillierten Informationen über die Modellierung des RCSPs
gegeben. Die beschriebene Methode löst Probleme für große Instanzen mit
150 Busrouten und 12 Millionen zulässigen Diensten.
In Beliën und Demeulemeester (2006) werden für ein belgisches Krankenhaus
die Einplanung von auszubildenden Ärzten beschrieben. Den Ärzten muss ein
Jahresplan zugeteilt werden, welcher die Stationen festlegt, auf denen sie in
Abhängigkeit ihrer gewählten Spezialisierung assistieren. (ii): Hierbei liegen
feste Arbeitszeiten vor. Folgende Nebenbedingungen werden berücksichtigt:
1) Bestimmte Stationen müssen von jedem Arzt durchlaufen werden, wobei
eine Mindest- und Höchstdauer für jede Station vorgeschrieben ist. 2) Die
Zeit in einer Station kann zeitlich nicht unterbrochen werden. 3) Präferen-
zen von Ärzten bzgl. ihrer zeitlichen Verfügbarkeit werden als soft-constraint
berücksichtigt. (iii): Das Problem wird mit einem B&P gelöst, wobei beim
Subproblem nicht wie üblich Spalten für die einzelnen Ärzte generiert werden,
sondern Spalten für die zu erfüllenden Aufgaben. Hierbei ist das Subproblem
als RCSP modelliert und wird als DP gelöst. Jede Stufe stellt eine Zeitperiode
dar, wobei ein Zustand durch die Kosten für die Einplanung der Ärzte definiert
wird. (iv): Der Algorithmus kann erweitert werden, um die n besten Spalten
zu generieren.
Eine gemeinsame Betrachtung der Schichtplanung von Krankenschwestern
und dem Erstellen des Operationsplans für Chirurgen wird in Beliën und
Demeulemeester (2008) aufgezeigt. (ii): Bei der Schichtplanung werden drei
Schichttypen eingeplant, wobei die Anzahl an Tagen mit Pause bzw. Arbeit
in Folge beschränkt ist. Zudem ist die gesamte wöchentliche Arbeitszeit, die
9

2 Literaturüberblick
Anzahl an Schichten in Folge, die Arbeit am Wochenende und der Übergang
zwischen verschiedenen Schichttypen restringiert. (iii): Das Problem ist als IP
formuliert und als B&P gelöst. Das Subproblem zur Generierung der einzel-
nen Schichtpläne ist ein Kürzteste Wege Problem und wird als DP gelöst.
Die Erstellung des Operationsplans erfolgt auch mithilfe eines B&Ps, wobei
das Subproblem als ein MIP dargestellt ist. Der Operationsplan bestimmt den
Bedarf an Krankenschwestern. Die gemeinsame Betrachtung erfolgt durch ein
lineares Programm, in welchem die Schichtpläne von Krankenschwestern und
die Arbeitszeit der Chirurgen kombiniert werden.
Die in dieser Arbeit behandelte Problemstellung ist eine Reformulierung
des Subproblems vom Spaltengenerierungsverfahren, welches in Brunner et al.
(2010) beschrieben wird. Dort wird die Schichtplanung von Ärzten behan-
delt. Die Besonderheit liegt in der großen Flexibilität des Ansatzes, der va-
riable Startzeiten, Arbeitsdauern, Überstunden und einen Bereitschaftsdienst
berücksichtigen kann, wobei die maximale Arbeitszeit eines Tages und einer
Woche eingehalten werden und eine tägliche Mittagspause und Mindestpau-
senlänge zwischen zwei Schichten zu berücksichtigen sind. Das beschriebene
Subproblem, welches als MIP gelöst wird, liefert nur für einfache Problemin-
stanzen eine Lösung in vertretbarer Zeit. Daher ist eine Reformulierung des
SPs notwendig.
Der Literaturüberblick zeigt, dass oftmals bei Schichtplanungsproblemen,
welche mit einem B&P gelöst werden, das Subproblem als Kürzeste Wege Pro-
blem reformuliert und auch mit einem DP gelöst wird. Bisher wurde jedoch
kein Ansatz veröffentlicht, welcher durch die Gestaltung der Nebenbedingun-
gen eine hohe Flexibilität bei der Erstellung des Schichtplans aufweist und bei
welchem die Schichten implizit modelliert werden, wie es in dieser Arbeit der
Fall ist.
10

3 Beschreibung des Schichtplanungsproblems
3 Beschreibung des Schichtplanungsproblems
In diesem Kapitel wird das Schichtplanungsproblem eingeführt. Zuerst werden
häufig vorkommende Begriffe erklärt. Anschließend wird in Kapitel 3.2 der
Zusammenhang der Schichtplanung zum Spaltengenerierungsverfahren
3
aus
Brunner et al. (2010) dargestellt. Im letzten Abschnitt werden die Neben-
bedingungen erläutert.
3.1 Begriffe der Schichtplanung
In dieser Arbeit werden insbesondere folgende Begriffe verwendet. Um Unklar-
heiten zu vermeiden, werden diese nun definiert.
Arbeit
Die reguläre Tätigkeit eines Arztes, welche eine Mindest-
und Höchstdauer an kontinuierlicher Arbeit besitzt. Des
Weiteren gibt es eine Höchstarbeitsdauer pro Woche.
Dienst
Ein Dienst ist die Abkürzung für den Bereitschaftsdienst.
Hierbei ist der Arzt 24 Stunden im Klinikum anwesend,
um unvorhergesehen auftretende Nachfrage zu decken. Ein
Teil des Dienstes wird in Abhängigkeit des Wochentages
zu der regulären Wochenarbeitszeit gezählt (näheres hierzu
in Kapitel 5.2.1). Die maximale Anzahl an Diensten eines
Arztes pro Woche ist restringiert.
Schicht
Eine Schicht eines Arztes umfasst die Zeit, in welcher ein
Arzt in der Arbeit oder im Dienst tätig ist.
Schichtplan
Ein Schichtplan stellt über einen begrenzten Zeithorizont
die Abfolge von Arbeit, Dienst und Pause für einen Arzt
dar.
Mittagspause
Während einer Arbeit muss ein Arzt eine Mittagspause ver-
bringen. Eine gewisse Dauer an Arbeitszeit vor bzw. nach
einer Mittagspause muss eingehalten werden.
Pause
Nach einer Schicht muss ein Arzt eine gewisse Zeit pausie-
ren, in welcher keine neue Schicht begonnen werden darf.
3
Für eine allgemeine Darstellung des Spaltengenerierungsverfahrens und mögliche Anwen-
dungen sei auf Desaulniers et al. (2005) verwiesen.
11

3 Beschreibung des Schichtplanungsproblems
3.2 Spaltengenerierungsverfahren zur Lösung der
Schichtplanung
Ein Schichtplan über sieben Tage mit 24 Perioden pro Tag, welcher in Ab-
bildung 1 in Kapitel 1 als Matrix mit 7
· 24 = 168 Einträge veranschaulicht
wird, kann ebenso als eine Spalte mit 168 Zeilen dargestellt werden. Hierbei
entsprechen die ersten 24 Zeilen dem ersten Tag des Schichtplans, die Zeilen
25­48 dem zweiten Tag usw.
Die Generierung eines zulässigen Schichtplans als Spalte entspricht dem
Subproblem aus dem Spaltengenerierungsverfahren, welches in Brunner et al.
(2010) beschrieben wird. Dort wird das CG im Rahmen eines Branch&Price
verwendet. Das Subproblem wird dort als ein MIP modelliert und gelöst. Ziel
dieser Arbeit ist es, dieses SP als ein Netzwerkflussproblem zu reformulieren,
und anschließend geeignet zu lösen, um die Lösungszeit zu verbessern.
Bei dem ursprünglichen CG werden für 16 Anästhesisten des Klinikums
rechts der Isar Schichtpläne gesucht, die den Bedarf an Ärzten decken und die
entstehenden Kosten optimieren. Im Masterproblem werden hierbei die Kos-
ten minimiert, welche durch Zuteilung von Ärzten auf die Schichtpläne ent-
stehen. Hierbei würde durch die Generierung aller möglichen Schichtpläne am
Anfang zu viele Kombinationsmöglichkeiten berücksichtigt werden müssen, so-
dass die Schichtpläne nacheinander im SP erzeugt werden. Im Lösungsprozess
wird das MP im ersten Schritt mit selbst erstellten Schichtplänen initialisiert
und relaxiert gelöst. Hierbei wird die Ganzzahligkeitsbedingung der Anzahl an
eingeteilten Ärzten auf reelle Zahlen gelockert. Die Werte der Dualvariablen
aus dem relaxierten MP werden dann benützt, um das SP zu lösen und mit
Hilfe der reduzierten Kosten die Güte eines dort erzeugten Schichtplans zu
bewerten.
Im MP gibt es drei Nebenbedingungen (NB), denen die in Klammern ange-
gebenen Dualvariablen zugeordnet werden. Diese sind:
NB I (
dem
ab
)
stellt ein ausreichendes Angebot an Ärzten zu jeder Peri-
ode (a, b) sicher, um die deterministische, periodenabhängi-
ge Nachfrage an Ärzten in regulärer Arbeit zu decken.
NB II (
D
ab
)
stellt wie NB I ein ausreichendes Angebot an Ärzten, welche
im Dienst benötigt werden, zu jeder Periode (a, b) sicher.
NB III (
conv
)
sorgt dafür, dass über alle Schichtpläne nicht mehr Ärzte
mit Qualifikation j als verfügbar eingeteilt werden. Sollten
in einer Periode zu wenig Ärzte zur Verfügung stehen, um
die Nachfrage zu decken, so können im MP externe Ärzte
eingeplant werden. Diese verursachen höhere Kosten.
12

3 Beschreibung des Schichtplanungsproblems
Abweichend von der Notation in Brunner et al. (2010) wird eine Periode
nicht mit t sondern mit (a, b) notiert.
Ziel des MPs ist es, die Kosten zu minimieren. Die zu minimierenden Kos-
ten, die mit den in Klammer angegebenen Kostenparameter bewertet werden,
bestehen aus den anfallenden Überstunden o
w
(c
over
) in einer Woche w und
den ausbezahlten Überstunden h
w
(c
paid
). Eine Überstunde der Woche w wird
ausbezahlt, wenn diese nicht durch Fehlstunden in der darauf folgenden Woche
w + 1 ausgeglichen werden kann. Für die Kosten eines Schichtplans c
sched
gilt:
c
sched
=
wW
(c
paid
h
w
+ c
over
o
w
)
Zudem sind die Kosten von externen Ärzten zu berücksichtigen, welche benö-
tigt werden, falls die Nachfrage nicht durch anwesende Ärzte gedeckt werden
kann. Würden externe Ärzte für die Deckung der Nachfrage nach regulärer
Arbeit bzw. Dienst benötigt werden, so würde dies durch den Wert der ent-
sprechenden nichtnegativen Dualvariable
dem
ab
bzw.
D
ab
gezeigt werden. Die
Dualvariable
dem
ab
ist in Perioden (a, b), in welchen im Masterproblem keine
Nachfrage nach Ärzten herrscht, Null, d. h. beispielsweise von 21 bis 7 Uhr.
D
ab
ist so modelliert, dass diese jeweils nur für die erste Periode in welcher ein
Dienst begonnen wird (also beispielsweise von 8 bis 9 Uhr) ungleich Null sein
kann. Für alle anderen Perioden nimmt diese den Wert Null an.
Daher geht diese Information über die Werte der Dualvariablen in das SP
ein und muss dort nicht explizit behandelt werden. Fixkosten, wie monatliche
Gehälter, werden nicht berücksichtigt, da die Anzahl der eingestellten Ärzte
fest ist und die entstehenden Fixkosten daher nicht minimiert werden können.
Die Güte eines im SP erzeugten Schichtplanes wird mit Hilfe der reduzierten
Kosten c einer Spalte des MPs festgestellt. Hierbei ist
c = c
sched
-
(a,b)A
(
dem
ab
· x
ab
)
-
(a,b)A
D
ab
· y
ab
-
conv
wobei x
ab
bzw. y
ab
eine Binärvariable ist, welche Eins ist, falls in der Peri-
ode (a,b) gearbeitet bzw. ein Dienst ausgeführt wird.
Für jede Iteration beim CG werden neue Werte der Dualvariablen vom MP
verwendet, um die reduzierten Kosten zu berechnen. Können für entsprechen-
de Werte der Dualvariablen
dem
ab
,
D
ab
und
conv
nur noch positive Werte für c
(Zielfunktion des Subproblems) erreicht werden, so können keine weitere Spal-
ten erzeugt werden, die den Zielfunktionswert des MPs verbessern würden und
die optimale Lösung des MPs ist gefunden.
Die Zielfunktion wird in den folgenden Kapiteln wegen den zusätzlich er-
läuterten Nebenbedingungen ergänzt. Allgemein ist in der Zielfunktion der
Parameter
conv
nicht berücksichtigt. Der Wert dieser Dualvariable stellt im
13

3 Beschreibung des Schichtplanungsproblems
Subproblem nur eine nichtnegative Konstante dar, welche in der Zielfunkti-
on unabhängig vom erzeugten Schichtplan subtrahiert wird. Es gilt für die
reduzierten Kosten
c Folgendes.
c
conv
0
In der vorliegenden Arbeit wird
conv
= 0 angenommen und somit kann dieser
Parameter weggelassen werden, ohne dass dies Einfluss auf die Lösung hätte.
3.3 Nebenbedingungen der Schichtplanung
Das Subproblem enthält Nebenbedingungen, welche für einen zulässigen Schicht-
plan erfüllt sein müssen. Die Modellierung der folgenden Nebenbedingungen
als MIP erfolgt in Kapitel 5.
· Jede Arbeitsschicht hat eine Mindest- und Höchstarbeitsdauer R
A
bzw.
R
A
, wobei eine Pause nicht zur Arbeitszeit gerechnet wird.
· Jeder Arzt besitzt eine maximale Wochenarbeitszeit R
WA
. Die Wochen-
arbeitszeit ergibt sich aus den gearbeiteten Schichten und der nicht aus-
bezahlten Arbeitszeit bei den Diensten. Eine Mindestwochenarbeitszeit
wird nicht modelliert. Diese ist im Tarifvertrag festgesetzt, jedoch wer-
den fehlende Stunden bis zur Mindestwochenarbeitszeit für Forschung
eingesetzt und brauchen deswegen nicht berücksichtigt werden.
· Nach einer Arbeitsschicht oder einem Dienst muss eine Pause einer defi-
nierten Mindestlänge R
P
eingehalten werden.
· Jeder Arzt hat eine vereinbarte Vertragsarbeitszeit v pro Woche w. Diese
kann durch Überstunden o
w
bis zur maximalen Wochenarbeitszeit R
WA
überschritten werden.
· Überstunden o
w
in einer Woche w werden ausbezahlt, falls sie durch
,,Fehlstunden" u
w+1
in der darauf folgenden Woche w + 1 nicht kompen-
siert werden können.
· In jeder Arbeitsschicht muss eine Mittagspause stattfinden, welche nach
mindestens T
pre
bzw. höchstens T
late
Arbeitsperioden stattfindet. Nach
der Mittagspause muss noch eine Mindestdauer T
post
gearbeitet werden.
· Die einzelnen Arbeitsschichten können zu beliebigen Zeitpunkten in ei-
ner Woche starten, wobei der Unterschied zwischen dem frühesten und
spätesten Startzeitpunkt in einer Woche auf T
win
begrenzt ist.
· Pro Woche kann ein Arzt für maximal N
D
Dienste eingeteilt werden.
14

4 Formulierung als Kürzeste Wege Problem
4 Formulierung als Kürzeste Wege Problem
Das Subproblem wird im Folgenden als Kürzeste Wege Problem mit Res-
sourcenbeschränkung im Rahmen eines Netzwerks modelliert. Jaumard et al.
(1998) beschreiben in ihrer Arbeit einen Ansatz, welcher die Planung der
Schichten von Krankenschwestern anhand eines RCSPs als Netzwerkfluss op-
timiert. Die Arbeit behandelt jedoch die verschiedenen möglichen Schichten
und ihre möglichen Kombinationen explizit.
In einem ersten Schritt wird der Graph für das Kürzeste Wege Problem ein-
geführt.
4
Dieser wird im zweiten Teilkapitel um die Ressourcenbeschränkungen
ergänzt.
4.1 Beschreibung des Graphen
Im Folgenden wird der Aufbau des Graphen beschrieben und die entsprechende
Notation eingeführt. Eine Darstellung für den Graphen zeigt Abbildung 2.
q
i
j
t
i - 2
i + 2
j - 2
j + 2
...
...
...
...
q+1
t-1
Abb. 2: Aufbau des Graphen G.
Graph
Sei G = (V, A) ein gerichteter, azyklischer Graph mit n = |V| topolo-
gisch sortierten Knoten v
1
, ...v
n
und m = |A| Kanten.
5
Eine gerichtete Kante
(im Weiteren nur als Kante bezeichnet) von v
a
nach v
b
wird im Folgenden als
(a, b) A, mit a, b V bezeichnet. Es gilt hierbei, dass 1
a < b
n ist, d. h.
dass alle Pfeile in Richtung Senke gerichtet sind. Es seien v
1
= q und v
2
= q +1
das Quellknotenpaar
6
und v
n-1
= t - 1 und v
n
= t das Senkenknotenpaar. Die
Knotenmenge
V wird in zwei disjunkte Mengen unterteilt, den oberen Knoten
V und den unteren Knoten V, wobei V V = V, V V = {} und |V| = |V| gilt.
Knoten i, j und a, b
Im Weiteren werden in dieser Arbeit, wenn nicht anders
gekennzeichnet, stets angenommen, dass i V und j V sind. Des Weiteren
seien a,b zwei beliebige Knoten mit a, b V.
4
Graphen, Netzwerke und Kürzeste Wege Probleme werden ausführlich in Ahuja et al.
(1993) und Jungnickel (1994) dargestellt.
5
Die Notation
|A| beschreibt die Mächtigkeit der Menge A.
6
Der erste Quellknoten q wird in der Nummerierung im Folgenden mit
q = 1 festgesetzt.
15

4 Formulierung als Kürzeste Wege Problem
Knotenpaar
Ein Knotenpaar [i,j] besteht aus einem obenliegenden Knoten
i V und einem untenliegenden Knoten j V, wobei es nicht möglich ist, von
einem dieser Knoten über Kanten zum anderen zu gelangen.
Vorgänger und Nachfolger
Jeder Knoten a V \ {q, q + 1, t - 1, t} besitzt
genau zwei direkte Vorgänger- und zwei direkte Nachfolgerknoten. Die zwei
Vorgänger- bzw. Nachfolgerknoten von a werden durch die Vorgängerrelation
a
-
bzw. Nachfolgerrelation a
+
bestimmt. Hierbei gibt a
-
V bzw. a
+
V den Vorgänger- bzw. Nachfolgerknoten von a aus den unteren Knoten an.
Entsprechend ist a
-
V bzw. a
+
V der Vorgänger- bzw. Nachfolgerknoten
von a aus den oberen Knoten. Die Knoten sind topologisch sortiert und so
nummeriert, dass im Knotenpaar [i,j] die Zahl des unteren Knotens j=i+1 ist.
Aus den oben genannten ergeben sich mit einem Knotenpaar [i,j] folgende
Beziehungen der Knoten zueinander, welche für das Verständnis der späteren
Formulierung als MIP (siehe Kapitel 5.1) notwendig sind:
· i - 2 = i
-
= j
-
· j = (j - 2)
+
= (i - 2)
+
· j - 2 = i
-
= j
-
· i + 2 = i
+
= j
+
· i = (j - 2)
+
= (i - 2)
+
· j + 2 = i
+
= j
+
Zeitpunkt und Periode
Jeder Knoten repräsentiert einen Zeitpunkt, wobei
dieser derselbe für ein Knotenpaar ist. Eine Kante (a, b) A stellt eine Peri-
ode (a, b) zwischen den Zeitpunkten a und b dar.
Arbeit und Pause
Ist bei einer Kante (a, b) der Endknoten b
V, so reprä-
sentiert diese Kante eine Arbeitsperiode. Ist der Endknoten b V, so stellt
diese Kante eine Pausenperiode dar.
In Abbildung 2 sind die Kanten (i - 2, i) bzw. (j - 2, i) entsprechend eine
Arbeitsperiode und die Kanten (i - 2, j) bzw. (j - 2, j) eine Pausenperiode.
Wird beispielsweise als Periodendauer eine Stunde gewählt, so stellen die
Knoten i - 2 und j - 2 jeweils den Zeitpunkt 9 Uhr dar und die Perioden
(
i - 2, i) bzw. (j - 2, i) repräsentieren die Zeit zwischen 9 und 10 Uhr, in
welcher gearbeitet wird.
Der Unterschied innerhalb der beiden Kanten ist folgender: Die Kanten
(i­2, i), welche mit einem oberen Knoten beginnen und enden, stellen eine
Fortsetzung einer Arbeitsperiode dar, d. h. in der Periode, welche zum Zeit-
punkt i - 2 endet, wurde bereits gearbeitet. Eine Kante mit untenliegendem
Anfangs- und obenliegenden Endknoten (j - 2, i) stellt einen Übergang von
Pause zu Arbeit dar, d. h. bis zum Zeitpunkt j - 2 wurde pausiert und an-
schließend wurde die Arbeit aufgenommen. Analog gilt für die Kanten, welche
16

4 Formulierung als Kürzeste Wege Problem
in einem unteren Knoten enden, dass (j - 2, j) mit j - 2, j V die Fort-
setzung einer Pause darstellen, wohingegen (i - 2, j) mit i - 2 V, j V
die erste Pausenperiode nach einer Arbeit ist. In Kapitel 5.1.1 werden diesen
Kanten binären Entscheidungsvariablen zugeordnet. Das nachfolgende Beispiel
und Abbildung 3 verdeutlichen den oben beschriebenen Zusammenhang.
Pfad
Ein Pfad ~
P = (e
1
, ...e
n
) ist eine Sequenz von Kanten, beginnend bei
Kante e
1
bis Kante e
n
. Diese kann auch als Sequenz der durchschrittenen
Knoten P = (v
1
, v
2
, ..., v
k-1
, v
k
, ..., v
n
, v
n+1
) dargestellt werden, wobei v
k
ein
direkter Nachfolger von v
k-1
und v
1
=
{q q + 1} und v
n+1
=
{t - 1
t} sind.
7
Ein Pfad repräsentiert einen Schichtplan. Kanten (i
-
, i) stellen eine
Arbeitsperiode im Schichtplan dar und Kanten (j
-
, j) eine Pausenperiode.
1
3
5
7
9
11
2
4
6
8
10
12
Abb. 3: Arbeit und Pause auf dem Graphen G.
Beispiel
In Abbildung 3 ist als Veranschaulichung ein Graph über 5 Perioden
dargestellt, mit q = 1 und t = 12. Eine durchgezogene Kante bedeutet, dass
diese Kante auf dem Pfad benutzt wird, wohingegen eine gestrichelte Kante
unbenutzt bleibt. Der gezeichnete Pfad gibt eine Schicht an, in welcher der
Arzt in der ersten Periode pausiert (die untere Kante (2
, 4) wird auf dem Pfad
benutzt). Danach fängt er in der zweiten Periode an zu arbeiten. Dies wird
durch Kante (4, 5) dargestellt. Er setzt seine Arbeit in der dritten Periode
mit Kante (5, 7) fort und hat die erste Pause in der vierten Periode. Kante
(7, 10) stellt diesen Übergang der Arbeit auf den oberen Knoten zur Pause auf
den unteren Knoten dar. In der letzten Periode (10, 12) pausiert der Arzt eine
weitere Periode. Zu beachten sind auch die unterschiedliche Interpretationen
einer der vier verschiedenartig laufenden Kanten im Schichtplan. Bei Kante
(2, 4) bzw. (10, 12) wird eine Pause fortgesetzt. Kante (5, 7) repräsentiert die
Fortsetzung einer Arbeit bzw. eines Dienstes. Die erste Periode einer Pause
kennzeichnet Kante (7, 10) und Kante (4, 5) stellt die erste Arbeitsperiode
dar.
7
Es gilt für die Anzahl der durchschrittenen Knoten vom Quellknotenpaar zum Senkekno-
tenpaar, dass
|P | =
1
2
(
|V| - 2) =
1
4
|A|.
17

4 Formulierung als Kürzeste Wege Problem
Kantengewichte
Um den Aufbau des Netzwerkes zu vervollständigen, wer-
den den Kanten des Graphen G Gewichte zugeordnet, sodass der bisherige
Graph G = (V, A) zu G = (V, A, ) erweitert wird. Hierbei entspricht ei-
nem Vektor der nichtnegativen Dualvariablenwerte = (
dem
ab
,
D
ab
) aus dem
Master Problem des Spaltengenerierungsverfahrens von Brunner et al. (2010).
Die Dualvariablenwerte hängen von der Periode (a, b) ab. Mit Hilfe dieser kön-
nen die reduzierten Kosten des neuen Schichtplans berechnet werden. Es gilt
R
+
0
× R
+
0
.
Die Kantengewichte sind für Pausenperioden stets Null. In Perioden, in
denen gearbeitet werden kann, ist
dem
ab
0. Der Wert der Dualvariable für
den Dienst ist stets Null, bis auf die Periode, in welcher der Dienst gestartet
werden kann. In dieser Periode ist
D
ab
0.
4.2 Erweiterung um Ressourcenbeschränkungen
Der bisherige Graph G = (V, A, ) wird in diesem Kapitel erweitert. Es werden
Ressourcen hinzugefügt, um die Abbildung der verschiedenen Nebenbedingun-
gen eines Schichtplans zu ermöglichen. Eine ausführliche Grundlage über die
generelle Formulierung eines RCSPs wird in Zhu (2005) und Grünert und Ir-
nich (2005b) gegeben.
Ressourcen
Es werden vier verschiedene Ressourcenvariablen eingeführt, wel-
che für Arbeit A, Wochenarbeit WA, Pause P und Dienst D stehen. Diese
Ressourcenvariablen R
r
(a) mit r T = {A, WA, P, D} werden jedem Kno-
ten a V zugeordnet.
8
Sie sind ganzzahlig und zählen den Verbrauch an der
Ressource r bis zum Zeitpunkt a, d. h. die Dauer, welche bis zum Zeitpunkt a
beispielsweise gearbeitet oder pausiert wurde.
Wenn die Variable R
P
(26) = 7 ist, bedeutet dies, dass im Knoten 26, d. h.
nach Ablauf von zwölf Perioden, sieben Perioden pausiert wurden. Es ist zu
beachten, dass die Ressourcen ,,zurücksetzbare" Ressourcen sind, d. h. sie kön-
nen in bestimmten Situationen auf einen Anfangswert zurückgesetzt werden,
z.B. werden die Ressource P , A und D am Ende der ersten Periode einer Pau-
se, Arbeit oder Dienstes auf den Wert Eins gesetzt. Die Ressource WA wird
am Anfang der Woche auf den Wert Null gesetzt.
Ressourcenfenster
Ein Ressourcenfenster [R
r
, R
r
]
a
wird auf jedem Kno-
ten a festgesetzt, welches den Bereich festsetzt, in dem sich die Ressource r im
Knoten a befinden muss. Dieses kann für jeden Knoten individuell definiert
werden. Für die Modellierung ist es ausreichend zwischen Knoten aus
V bzw.
V zu unterscheiden. Hierbei sind, da es keine Mindestwochenarbeitszeit und
8
Da
R
WA
(
a) für a V stets Null ist, könnte R
WA
(
a) nur für a V definiert werden. Aus
Gründen der einheitlichen Nomenklatur wird darauf jedoch verzichtet.
18

4 Formulierung als Kürzeste Wege Problem
Höchstpausendauer gibt, R
WA
= 0 bzw. R
P
=
und können daher aus der
Problemformulierung weggelassen werden.
Mit Hilfe der Ressourcenfenster und der Ressourcenvariablen können die
Mindest- und Höchstdauern von Arbeit, Wochenarbeit, Pause und Dienst mo-
delliert werden.
Ressourcenverbrauch
Es könnte ein Ressourcenverbrauch u
ab
mit (a, b) A
definiert werden. Dieser wäre auf jeder Kante (a, b) für alle Ressourcen aus
T jeweils Eins, da jede Kante eine einstündige Periode darstellt und der Ver-
brauch an Arbeit, Dienst bzw. Pause pro Periode somit genau Eins ist.
Da in Kapitel 5 einer Kante (a, b) binäre Entscheidungsvariablen zugeord-
net werden, welche Eins sind, wenn diese Kante durchschritten wird, kann der
Ressourcenverbrauch weggelassen werden. Wird eine Kante (a, b) durchschrit-
ten, so ist die entsprechende Binärvariable Eins und kann für die Bestimmung
des Ressourcenverbrauchs benutzt werden.
Die Erweiterung des Modells zu einer feineren Zeitunterteilung der Perioden
ist möglich, indem die Ressourcenfenster entsprechend erhöht werden. Bei-
spielsweise müsste bei einer halbstündigen Periodeneinteilung die maximale
Wochenarbeitszeit von 48 auf 96 Einheiten verdoppelt werden.
q
i
j
t
i - 2
i + 2
j - 2
j + 2
(i-2)i
...
...
...
...
q+1
t-1
(j-2)i
[R
r
, R
r
]
i+2
R
r
(i)
R
r
(j)
[R
r
, R
r
]
j+2
Abb. 4: Graph
G
mit
Ressourcenvariablen,
Ressourcenfenstern
und
Kantengewichten.
Zulässiger Pfad
Ziel im RCSP ist es, einen zulässigen ,,kürzesten" Pfad von
einem Quellknoten zu einem Senkeknoten zu finden. Würde man die Gewichte
als Entfernung zwischen zwei Knoten interpretieren, würde man eigentlich den
längsten Pfad von der Quelle zur Senke suchen, da die Gewichte
ab
einer
Periode (a, b) nichtnegativ sind. Jedoch wird in der Zielfunktion
c
sched
-
(a,b)A
(
dem
ab
· x
ab
)
-
(a,b)A
D
ab
· y
ab
-
conv
19

4 Formulierung als Kürzeste Wege Problem
(vlg. Kapitel 3 bzw. 5) über die negativen
ab
summiert, wodurch sich ein
,,kürzester" Pfad ergibt. Der gefundene Pfad entspricht einem Schichtplan für
das Subproblem.
Abbildung 4 zeigt den Graphen G mit den Ressourcenfenstern, Ressour-
cenvariablen und Kantengewichten. Um den Graphen übersichtlich zu halten,
sind die Ressourcenfenster bzw. Ressourcenvariablen nur für jeweils zwei Kno-
ten gezeigt, obwohl diese auf jedem Knoten definiert sind. Die Kantengewichte
sind nur für diejenigen Kanten eingezeichnet, an denen diese ungleich Null
sein können (wobei
D
(i-2)i
nach Definition stets Null ist). Dies sind die Kanten,
welche eine Arbeits- bzw. Dienstperiode darstellen.
20

5 Gemischt ganzzahliges Programm
5 Gemischt ganzzahliges Programm
Aufbauend auf der Modellierung als RCSP über den Graphen G = (V, A, )
wird im folgenden Abschnitt das Problem, einen zulässigen ,,kürzesten" Pfad
von der Quelle zur Senke zu finden, als gemischt ganzzahliges Programm formu-
liert. Zuerst wird das Grundmodell des MIPs beschrieben. Dieses berücksich-
tigt Mindest- und Höchstdauern an Arbeit, Wochenarbeit und Pause. In Ab-
schnitt 5.2 wird dieses Modell erweitert. Nebenbedingungen für den Dienst, die
Überstunden, die Mittagspause und das Zeitfenster der verschiedenen Start-
zeitpunkte werden ergänzt. Das vollständige Modell des MIPs mit allen Ne-
benbedingungen ist in Anhang A aufgeführt.
Für eine Beschreibung anderer Lösungsverfahren sei auf Zhu (2005) und
Ziegelmann (2001) verwiesen. Das Buch von Williams (1999) stellt ein gutes
Nachschlagewerk dar, um IPs und MIPs zu modellieren.
5.1 Beschreibung des grundlegenden MIPs
In diesem Kapitel wird das grundlegende MIP beschrieben. Zuerst wird die
Notation und das gemischt ganzzahlige Programm dargestellt. Im nächsten
Abschnitt werden die Nebenbedingungen erläutert. Als letztes wird begründet,
warum die Ressourcenvariablen relaxiert werden können.
5.1.1 Notation des MIPs
Um festzustellen, welche Kante auf dem Graphen benutzt wurde, wird für
Arbeit und Pause die binären Entscheidungsvariablen x
i
-
i
bzw. x
j
-
j
mit i
V
und j V definiert. Sei
x
i
-
i
=
1, wenn der Arzt in der Periode (i
-
, i) mit i V arbeitet
0, sonst
und
x
j
-
j
=
1, wenn der Arzt in der Periode (j
-
, j) mit j V pausiert
0, sonst
Die beiden Variablen x
i
-
i
bzw. x
j
-
j
unterscheiden sich darin, auf welchen Kan-
ten sie verlaufen. Da x
i
-
i
auf Kanten mit einem oberen Endknoten liegt, gibt
diese Variable an, ob in einer Periode gearbeitet wird. Die Variable x
j
-
j
ist
entsprechend auf einer Kante mit unterem Endknoten und gibt eine Pausen-
periode an.
Den Graphen mit den Binärvariablen zeigt Abbildung 5. Aus Gründen der
Übersichtlichkeit sind die in Abbildung 4 angegebenen Ressourcenvariablen,
21

5 Gemischt ganzzahliges Programm
Ressourcenfenster und Kantengewichte nicht noch einmal dargestellt. Man er-
kennt, dass die Kanten mit den Binärvariablen x
(j-2)i
bzw. x
(i-2)i
eine Arbeits-
periode und die Kanten mit x
j(j+2)
bzw. x
i(j+2)
eine Pausenperiode darstellen.
q
i
j
t
i - 2
i + 2
j - 2
j + 2
x
(i-2)i
x
j(j+2)
...
...
...
...
q+1
t-1
x
i(j+2)
x
(j-2)i
Abb. 5: Graph G mit Binärvariablen von Arbeit und Pause.
Von den vier binären Entscheidungsvariablen einer Periode (z.B. x
(i-2)i
,
x
(j-2)i
x
(i-2)j
und x
(j-2)j
) nimmt genau eine den Wert Eins an. Aus der Kom-
bination der Binärvariablen kann somit ein Schichtplan erstellt werden. Ab-
bildung 1 in Kapitel 1 zeigt einen Ausschnitt eines solchen Plans über sieben
Tage (wobei in dem Plan auch ein Dienst berücksichtigt ist).
Um das Grundmodel als MIP zu lösen, wird folgende Notation verwendet.
Diese beinhaltet teilweise Notationen, welche erst in der Erweiterung benötigt
werden. Um Wiederholungen zu vermeiden, werden diese bereits an geeigneter
Stelle in diesem Kapitel erwähnt.
Indizes und Mengen
A
Index für Arbeit
WA
Index für Wochenarbeit
P
Index für Pause
D
Index für Dienst
W
Menge der Wochen im Planungshorizont,
W {1, 2, ...}
T
Menge der Tage in einer Woche
V
Menge aller Knoten
V
Menge der obenliegenden Knoten,
mit
V = {i|i mod 2 = 1 : i V} V
V
Menge der untenliegenden Knoten,
mit
V = {j|j mod 2 = 0 : j V} V
V
s
w
Teilmenge der obenliegenden Knoten bei dem seit Beginn der Woche
w eine Periode vergangen ist, mit
V
s
w
=
{i|i mod K
w
= 3 : i V} V
T
Menge der Ressourcen, mit
T = {A, WA, P, D}
i
Index eines obenliegenden Knotens, mit i
V
j
Index eines untenliegenden Knotens, mit j V
w
Index für Wochen
22

5 Gemischt ganzzahliges Programm
r Index für Ressourcen, mit r A
q Index des Knotens mit der kleinsten Nummer, mit q = 1
t
Index des Knoten mit der höchsten Nummer, mit t = |V|
Parameter
K
w
Anzahl an Knoten pro Woche, mit K
w
= (
|V| - 2)\|W|
R
r
Höchstdauer der Ressource r T
R
r
Mindestdauer der Ressource r T
dem
ab
Wert der Dualvariable der Nebenbedingung I aus dem Masterproblem,
mit (a, b) A
M
Positive, genügend große Zahl
9
Binäre Entscheidungsvariablen
x
i
-
i
1, wenn der Arzt in Periode (i
-
, i) arbeitet, 0 sonst
x
j
-
j
1, wenn der Arzt in Periode (j
-
, j) pausiert, 0 sonst
Ganzzahlige Entscheidungsvariablen
R
r
(a) Höhe der Ressource r T im Knoten a V
Subproblem
Minimiere
iV
(
-
dem
i
-
i
x
i
-
i
)
(1)
unter den Bedingungen, dass
NB: Flusserhaltung
r(q)
+
x
qr
+
s(q+1)
+
x
(q+1)s
= 1
(2)
pa
-
x
pa
-
sa+
x
as
= 0
a V \ {q, q + 1, t - 1, t} (3)
r(t-1)
-
x
r(t-1)
+
st
-
x
st
= 1
(4)
NB: Ressourcenverbrauch
R
A
(i)
R
A
(i
-
) + x
i
-
i
i V
(5)
R
A
(i)
R
A
(i
-
) + x
i
-
i
- M · x
i
-
i
i V
(6)
R
A
(i)
M(1 - x
i
-
i
) + 1
i V
(7)
R
A
(i)
x
i
-
i
i V
(8)
9
Für M muss gelten:
M
max
{R
A
- 1, R
D
- 1, R
P
,
1
2
· K - T
win
, T
pre
- 1, T
post
+ 1
- R
A
, R
A
- T
late
+ 1
}.
Einige dieser Parameter werden später in Kapitel 5.2 eingeführt.
23

5 Gemischt ganzzahliges Programm
R
A
(j) = R
A
(j
-
) + M(1 - x
j
-
j
)
j V
(9)
R
WA
(i) = x
i
-
i
+ x
i
-
i
i V
s
w
(10)
R
WA
(i) = R
WA
(i
-
) + x
i
-
i
+ x
i
-
i
i V \ V
s
w
(11)
R
P
(j)
R
P
(j
-
) + x
j
-
j
j V
(12)
R
P
(j)
M(1 - x
j
-
j
) + 1
j V
(13)
R
P
(i)
M(1 - x
i
-
i
) + R
P
(i
-
)
i V
(14)
NB: Ressourcenfenster
R
A
(j)
R
A
j V
(15)
R
r
(i)
R
r
i V, r {A,WA}
(16)
R
P
(i)
R
P
i V
(17)
Variablendefinition
x
a
-
a
{0, 1}
a V
(18)
R
r
(a) N
0
r {A,WA,P} , a V
(19)
5.1.2 Erläuterung des MIPs
Im Folgenden werden die Zielfunktion und Bedingungen (2)­(19) näher erläu-
tert.
Zielfunktion (1)
Die Zielfunktion minimiert die negative Summe aus den
Kantengewichten
dem
i
-
i
der Kanten, welche auf dem gewählten Pfad von der
Quelle zur Senke liegen. Es könnte statt der Minimierung über die negative
Summe auch ein Maximierungsproblem über die positive Summe formuliert
werden. Diese Formulierung würde jedoch von dem ursprünglichen Ziel ab-
weichen, die reduzierten Kosten einer neuen Spalte für ein Masterproblem zu
minimieren. Die vollständige Zielfunktion, welche die reduzierten Kosten einer
Spalte darstellt, ergibt sich nach Erweiterung des Modells und ist in Kapitel
5.2.3 beschrieben.
NB für Flusserhaltung (2)­(4)
Der erste Block (2)­(4) formuliert die Fluss-
bedingungen für die Quellknoten q und q+1, die Senkeknoten t - 1 und t und
jeden dazwischen liegenden Knoten. Aus Bedingung (2) geht hervor, dass in
die Quellknoten q und q+1 eine Mengeneinheit eingespeist wird. Dies bedeu-
tet, dass genau eine der binären Variablen den Wert Eins annimmt. Analog
legt Bedingung (4) fest, dass in den Senkeknoten t - 1 und t eine Mengen-
einheit abgegeben wird. Die Bedingung (3) stellt sicher, dass die Summe aller
in den Knoten a V \ {q, q + 1, t - 1, t} einfließenden Variablen die Summe
aller ausfließenden Variablen ist. Da aus der Quelle genau eine Variable den
24

5 Gemischt ganzzahliges Programm
Wert Eins annimmt, verursacht diese Bedingung, dass pro Periode genau eine
binäre Variable auf den Kanten ungleich Null ist.
NB für Ressourcenverbrauch (5)­(14)
Der Nebenbedingungsblock (5)­(14)
weist den Ressourcenvariablen R
r
(a) mit a V ihre Werte zu. Die Bedingun-
gen (5)­(9) bestimmen hierbei die Werte der Variable R
A
(a) der Ressource
Arbeit:
· Wird zu arbeiten begonnen, d. h. ist x
i
-
i
= 1, so wird durch (7) und (8)
der Wert von R
A
(i) auf 1 gesetzt.
· Wird auf einer Kante (i
-
, i) die Arbeit fortgesetzt, d. h. x
i
-
i
= 1 und
x
i
-
i
= 1, so wird durch (5) und (6) der Wert der Ressource R
A
(i) auf dem
Endknoten der Kante um Eins höher als R
A
(i
-
) auf dem Startknoten der
Kante gesetzt.
· Wird pausiert, so berechnet Bedingung (9) den Wert von R
A
(j) für die
unteren Knoten j V. Es gilt: x
j
-
j
= 1
R
A
(j) = R
A
(j
-
). Dies ist
notwendig, um mit Bedingung (15) überprüfen zu können, ob der Arzt
die Mindestarbeitszeit R
A
absolviert hat, bevor er nach dem Zeitpunkt
j
-
in die Pause geht.
Bedingungen (12)­(14) bestimmen den Wert der Ressource Pause. Es ist
zu beachten, dass keine
-Nebenbedingungen, wie für Ressource A notwen-
dig sind, da keine Maximalpausenlänge vorhanden ist. Als Folge wurden die
Nebenbedingungen so formuliert, dass die Pausenlänge R
P
(a) nach einer Pau-
senperiode um Eins erhöht werden kann, aber nicht muss:
· Am Ende einer Arbeit, d. h. x
j
-
j
= 1, kann R
P
(j) durch die Bedin-
gung (13) auf den Wert Eins gesetzt werden.
· Wird in einer Periode (j
-
, j) die Pause fortgesetzt (x
j
-
j
= 1), so kann
nach (12) die Ressource R
P
(j) am Ende der Periode um maximal Eins
höher als R
P
(j
-
) am Anfang der Periode sein.
· Wird nach einer Pause eine Arbeit begonnen (x
i
-
i
= 1), so wird die
bisherige Pausenlänge bei einem Knoten i
V durch (14) bestimmt.
Dies ist notwendig, um mit der Bedingung (17) überprüfen zu können,
ob der Arzt die Mindestpausenlänge R
P
eingehalten hat und eine neue
Arbeit beginnen kann.
Der Wert der Ressource Wochenarbeit R
WA
(i) wird durch die Bedingun-
gen (10) und (11) berechnet. Es handelt sich bei allen Bedingungen um Glei-
chungen, da die Ressource R
WA
kontinuierlich in der Woche nach oben gezählt
wird und zu einem bestimmten Zeitpunkt (Ende der ersten Periode einer Wo-
che) zurückgesetzt wird:
25

5 Gemischt ganzzahliges Programm
· In Bedingung (10) wird die Ressource R
WA
(i) am Wochenbeginn auf den
Wert 0 oder 1 zurückgesetzt. Der Wochenbeginn wird durch die Kno-
tenmenge
V
s
w
beschrieben und beinhaltet nicht die Anfangsknoten der
nullten sondern der ersten Periode.
10
Somit wird die Ressource R
WA
(i)
auf Eins gesetzt, falls in der nullten Periode bereits gearbeitet wurde,
d. h. die Variable x
i
-
i
= 1 ist.
· Die Wochenarbeitszeit für jeden oberen Knoten i, ausgenommen den
Knoten aus
V
s
w
wird durch Bedingung (11) berechnet. Falls gearbeitet
wird, erhöht sich die Wochenarbeitszeit um Eins.
NB für Ressourcenfenster (15)­(17)
Dieser Block dient zur Einhaltung
der Mindest- und Höchstressourcendauer. Die Ressourcen A und P haben eine
Mindestdauer, welche durch Bedingungen (15) bzw. (17) eingehalten wird.
Bedingung (16) setzt die Höchstdauer für Ressourcen A und WA fest.
Durch Bedingungen (15) und (16) wird das Ressourcenfenster von Arbeit
folgendermaßen eingehalten. Befindet man sich auf den oberen Kanten, d. h. es
wird gerade gearbeitet, so kann man erst einen unteren Knoten betreten, falls
man die erforderliche Mindestarbeitszeit R
A
absolviert hat. Hierzu wird, falls
eine Pause aufgenommen wird (also x
j
-
j
= 1 ist), durch Bedingung (9) der
Wert der Variable R
A
(j
-
) an die Variable R
A
(j) übergeben. Es muss nach (15)
gelten, dass die Ressource R
A
(j)
R
A
ist.
Gilt R
A
(j) < R
A
so kann x
j
-
j
aus Bedingung (9) nicht Eins werden, d. h.
die Mindestarbeitszeit ist noch nicht erfüllt, um in die Pause zu gehen. Für die
Höchstdauer der Arbeit gilt, dass man sich höchstens so lange auf den oberen
Kanten aufhalten kann, solange R
A
(i)
R
A
erfüllt ist.
Bedingung (16) für die Wochenarbeit überprüft für alle oberen Knoten, ob
noch eine weitere Periode gearbeitet werden kann oder bereits die maximale
Wochenarbeitszeit
11
R
WA
erreicht worden ist. Diese Bedingung ist analog der
Bedingung für die Einhaltung der Höchstarbeitsdauer der Ressource A.
Die Einhaltung der Pause erfolgt folgendermaßen. Die Mindestpausendauer
wird durch die Bedingung (17) auf den oberen Knoten überprüft. Es kann nur
eine Arbeit aufgenommen werden, wenn die Mindestpausendauer R
P
bereits
geruht wurde. Wird eine Arbeit aufgenommen (x
i
-
i
= 1), so überträgt Bedin-
gung (14) den Wert der Ressource ,,Pause" R
P
(i
-
) des unteren Knoten i
-
auf
die Variable R
P
(i) des oberen Knoten i. Durch Bedingung (17) kann so über-
10
Es ist nicht möglich,
R
WA
(
i) = 0 für die Wochenanfangsknoten (Montag 0 Uhr) zu setzen,
da diese gleichzeitig die Wochenendknoten der Vorwoche (Sonntag 24 Uhr) sind. Somit
würde der Wert von
R
A
(
j) in Bedingung (30) für den letzten Tag der Woche w stets
Null ergeben. Die Einführung von
V
s
w
ist wichtig für die Berechnung von Überstunden
und Fehlstunden, welche in Kapitel 5.2.2 besprochen werden.
11
Es sei daran erinnert, dass
R
WA
die vertragliche Wochenarbeitszeit
v plus die möglichen
Überstunden ist. Die Überstunden werden in Kapitel 5.2.2 eingeführt.
26

5 Gemischt ganzzahliges Programm
prüft werden, ob die Mindestpausendauer eingehalten wurde und eine Arbeit
aufgenommen werden kann.
Variablendefinition (18)­(19)
Die Definition der Variablen ist in (18)­(19)
beschrieben. Hierbei kann die Ganzzahligkeit bei den Ressourcenvariablen R
r
(a)
in Bedingung (19) relaxiert werden. Dies wird im folgenden Abschnitt erklärt.
5.1.3 Relaxierung der Ressourcenvariablen
Die Ganzzahligkeit bei den Ressourcenvariablen R
r
(a) wird durch Nebenbedin-
gungen (5)­(17) erzwungen und kann daher relaxiert werden. Im Folgenden
wird dies für die einzelnen Ressourcenvariablen R
r
(a) mit r {A, WA, P }
erläutert.
Ganzzahligkeit von
R
A
(a)
Die Ganzzahligkeit von R
A
(a) ergibt sich aus
den Bedingungen (5)­(8) und (16).
· Ist x
i
-
i
= 1, so ergibt sich durch (5) und (6) der Wert von R
A
(i) aus
der Addition von R
A
(i
-
) und der Binärvariablen x
i
-
i
. Ist also R
A
(i
-
)
ganzzahlig, so gilt dies auch für R
A
(i). Der Wert R
A
(i
-
) ist ganzzahlig,
da der Wert der Variable R
A
(i) im ersten oberen Knoten q, nämlich
R
A
(q) = 0 ist. Es wird stets R
A
(q) = 0 gelten, da sonst die Beschränkung
auf das ganzzahlige R
A
durch Bedingung (16) nicht komplett ausgenutzt
werden kann.
· Ist x
i
-
i
= 1, so wird durch (7) und (8) erzwungen, dass R
A
(i) = 1 ist.
· Ausgehend von diesem Wert, ergeben sich nach (5) und (6) die weiteren
Werte für R
A
(i) aus der Addition des Wertes der Ressource R
A
(i
-
) und
der Binärvariablen x
i
-
i
. Der Wert R
A
(i
-
) ist entweder Eins, falls dies
durch (7) und (8) erzwungen wurde, oder er ergibt sich aus Addition des
Wertes Eins und einer endlichen Anzahl an binären Variablen.
· Ist x
j
-
j
= 1, so ist der Wert R
A
(j) für den unteren Knoten j gleich dem
ganzzahligen Wert R
A
(j
-
) des oberen Knotens j
-
.
Ganzzahligkeit von
R
WA
(a)
Die Ganzzahligkeit von R
WA
ergibt sich ähnlich
wie für R
A
.
· Für i V
s
w
ergibt sich R
WA
(i) nach (10) aus Addition von binären Va-
riablen.
· Für i V \ V
s
w
errechnet sich R
WA
(i) nach (11) aus der Addition von
binären Variablen und des Wertes der Ressource vom oberen Vorgänger-
knoten R
WA
(i
-
). Dieser Wert ist - analog zur obigen Begründung bei der
27

5 Gemischt ganzzahliges Programm
Ressource A - entweder Eins oder ergibt sich aus Addition von Eins mit
einer endlichen Anzahl an Binärvariablen.
Ganzzahligkeit von
R
P
(a)
Bei der Ganzzahligkeit von R
P
ist zu berücksich-
tigen, dass es nur eine Minimalpausendauer R
P
gibt. Um die Zielfunktion zu
minimieren, ist es günstig, nach einer Schicht so früh wie möglich die nächs-
te zu beginnen. Dies ist der Fall, da die
dem
ab
bzw.
D
ab
nur ungleich Null sein
können und daher zur Minimierung der Zielfunktion beitragen können, falls in
der Periode (a, b) eine Schicht ausgeführt wird. Daher ist das Lösungsverfah-
ren bestrebt, die Werte für R
P
(a) so groß wie möglich zu wählen, wodurch es
ausreichend ist, nur
­Bedingungen aufzustellen.
· Beginnt der Arzt eine Pause in der Periode (x
j
-
j
= 1), so ist nach Be-
dingung (13) der größtmögliche Wert für R
P
(j) Eins.
· Vom ganzzahligen Wert Eins ergeben sich die weiteren Werte von R
P
(j)
für die unteren Knoten j V aus Bedingung (12), indem die binäre
Variable x
j
-
j
addiert wird.
· Beginnt der Arzt nach einer Pause eine Arbeit (x
i
-
i
= 1), so ist der
größte Wert für R
P
(i) gleich R
P
(i
-
). Um Bedingung (17) so früh wie
möglich erfüllen zu können, muss der Wert R
P
(i) ganzzahlig sein, da die
Ressourcenschranke R
P
auch ganzzahlig ist.
5.2 Einführung weiterer Nebenbedingungen
Die Lösung des Grundmodells (1)­(19) erzeugt einen Schichtplan, welcher die
tägliche Mindest- und Höchstarbeitszeit, die Mindestpausenlänge und die wö-
chentliche Höchstarbeitszeit berücksichtigt. Um die Qualität des Schichtplans
zu erhöhen und alle Nebenbedingungen aus dem ursprünglichen Subproblem
aus Brunner et al. (2010) zu berücksichtigen, wird das Modell um mehrere
Faktoren erweitert. Zuerst wird in Kapitel 5.2.1 der Einbezug eines Dienstes
erläutert, dann wird in Kapitel 5.2.2 gezeigt, wie Überstunden im MIP berück-
sichtigt werden können. Kapitel 5.2.3 erweitert das bisherige Modell um eine
Mittagspause und Kapitel 5.2.4 behandelt die Einschränkung der unterschied-
lichen Startzeitpunkte in einer Woche.
Am Anfang jedes dieser Kapitel wird eine Problembeschreibung gegeben.
Darauf folgend werden notwendige Ergänzungen der Notation und der Ne-
benbedingungen im Vergleich zum Grundmodell eingeführt. In einem dritten
Abschnitt werden jeweils die neuen bzw. modifizierten Nebenbedingungen er-
läutert.
28

5 Gemischt ganzzahliges Programm
5.2.1 Berücksichtigung eines Dienstes
Problembeschreibung
Der Bereitschaftsdienst bzw. Dienst wird eingeführt,
damit in den Stunden, in denen kein planmäßiger OP-Betrieb herrscht (in
der Nacht bzw. am Wochenende) die Nachfrage an Ärzten gedeckt ist. Im
betrachteten Fall des Klinikums rechts der Isar beginnt von Montag bis Freitag
ab 16 Uhr ein 16-Stunden Dienst. Vor Antreten des Dienstes muss der Arzt
noch eine 8 Stunden Schicht arbeiten, sodass im Gesamten sein Arbeitstag um
8 Uhr beginnt und 24 Stunden später endet. Am Samstag und Sonntag gibt
es keine geplanten Operationen, sodass der Dienst von 8 Uhr startet und bis
8 Uhr des nächsten Tages geht.
Beide Dienstarten, sowohl die kombinierte Dienstart an Wochentagen, als
auch der ,,reine" Dienst am Wochenende können als ein 24 Stunden Dienst
dargestellt werden. Im Folgenden wird daher die Modellierung des Dienstes so
vereinfacht, dass dieser stets 24 Stunden dauert.
Neben der Dienstlänge ist die Bedingung einzuhalten, dass der Arzt nach
einem Dienst die Mindestpausenlänge von R
P
pausieren muss. Die maximale
Anzahl an Diensten pro Woche ist auf N
D
Dienste
12
beschränkt.
Die Dienste beginnen in der gewählten Modellierung jeweils um 8 Uhr. Die
Menge aller untenliegenden Knoten bei denen der Dienst D in Woche w startet
(welche also 8 Uhr repräsentieren) wird mit
V
D
w
bezeichnet.
Ein Teil der Dienstzeit wird in Abhängigkeit des Tages zu der Wochenar-
beitszeit hinzugezählt. Hierbei gilt für den am Sonntag beginnenden Dienst,
dass die 8 Stunden, welche in die nächste Woche ragen, als Arbeitszeit dieser
nächsten Woche zählen. Tabelle 1 zeigt, wie viele Stunden bei welchem Dienst
ausbezahlt bzw. zu der Wochenarbeitszeit angerechnet werden.
Wochentag
Angerechnete Stunden
Ausbezahlte Stunden
Montag - Donnerstag
16
8
Freitag
8
16
Samstag
0
24
Sonntag
8
13
16
Tab. 1: Zur Wochenarbeitszeit angerechnete und ausbezahlte Stunden eines
Dienstes.
12
wobei
N
D
4 für den Fall, dass
R
P
> 0. Da der Dienst stets zur selben Uhrzeit beginnt,
muss bei
R
P
> 0 zwischen zwei Diensten ein Tag ohne Dienst sein.
13
Diese 8 Stunden werden als reguläre Arbeitszeit für die folgende Woche berücksichtigt.
29

5 Gemischt ganzzahliges Programm
Notation
Um den Dienst auf dem Graphen zu berücksichtigen, wird eine
neue Variable eingeführt. Diese ist
y
i
-
i
=
1, wenn der Arzt in der Periode (i
-
, i) mit i
V einen Dienst hat
0, sonst
und
y
j
-
j
=
1, wenn der Arzt in der Periode (j
-
, j) mit j V die erste Periode
nach einem Dienst pausiert
0, sonst
Als Binärvariable, welche die Fortsetzung einer Pause angibt (also im Graphen
auf einer unteren Kante j
-
j läuft) kann die Variable x
j
-
j
auch für den Dienst
verwendet werden. Es wird keine neue Variable y
j
-
j
benötigt. Die bisher einge-
führten Binärvariablen zeigt Abbildung 6. Allen Kanten bis auf (j, j + 2) sind
durch die Einführung des Dienstes nun zwei Binärvariablen zugeordnet.
q
i
j
t
i - 2
i + 2
j - 2
j + 2
x
(i-2)i
y
(i-2)i
x
j(j+2)
...
...
...
...
q+1
t-1
x
i(j+2)
y
i(j+2)
x
(j-2)i
y
(j-2)i
Abb. 6: Graph G mit Binärvariablen von Arbeit, Pause und Dienst.
Die bisherige Notation wird folgendermaßen erweitert, um den Dienst zu
modellieren:
Indizes, Mengen und Parameter
K
d
Anzahl an Knoten pro Tag
D
ab
Wert der Dualvariablen der Nebenbedingung II aus dem
Masterproblem, mit (a, b) A
V
D
w
Teilmenge der untenliegenden Knoten bei denen der Dienst D in
Woche w startet, mit V
D
w
=
{j|j mod K
d
= 2(S
D
+ 1) : j V} V
N
D
Maximale Anzahl an Diensten pro Woche
R
D
Höchstdauer des Dienstes
R
D
Mindestdauer des Dienstes
Variablen
R
D
(a) Höhe der Ressource D im Knoten a V
30

5 Gemischt ganzzahliges Programm
Es werden zusätzlich folgende Nebenbedingungen eingefügt bzw. modifiziert.
R
D
(i)
R
D
(i
-
) + y
i
-
i
+ y
i
-
i
i V
(20)
R
D
(i)
R
D
(i
-
) + y
i
-
i
+ y
i
-
i
- M(1 - y
i
-
i
)
i V
(21)
R
D
(i)
M(1 - y
i
-
i
) + 1
i V
(22)
R
D
(i)
y
i
-
i
i V
(23)
R
D
(j) = R
D
(j
-
) + M(1 - y
j
-
j
)
j V
(24)
R
r
(j)
R
r
j V, r {A,D}
(15b)
R
r
(i)
R
r
i V, r {A,WA,D} (16b)
R
D
(a) N
0
a V
(25)
y
i
-
i
, y
ii
+
{0, 1}
i V
(26)
Erläuterung
Der Nebenbedingungsblock (20)­(26) bestimmt die Werte der
Variable R
D
(a) der Ressource ,,Dienst". Diese sind ähnlich den Bedingun-
gen (5)­(9) der Ressource ,,Arbeit" definiert:
· Wird ein Dienst in Periode (i
-
, i) begonnen, so wird durch (22) und (23)
der Wert von R
D
(i) auf Eins gesetzt.
· Wird in der Periode (i
-
, i) der Dienst fortgesetzt, so erhöhen (20) und (21)
den Wert der Ressource R
D
(i) um Eins im Vergleich zum Wert R
D
(i
-
).
· Wird nach einem Dienst pausiert, so überträgt Bedingung (24) den Wert
der Ressource R
D
(j
-
) auf die Ressource R
D
(j). Mit Bedingung (15b)
kann nun überprüft werden, ob die Mindestdienstlänge R
D
eingehalten
wurde.
· Bedingung (16b) überprüft, ob die Höchstdienstlänge nicht überschritten
wurde, d. h. es muss R
D
(i)
R
D
gelten.
· Um die feste Dauer (24 Stunden) des Dienstes zu modellieren, wird die
Mindestdauer gleich der Höchstdauer R
D
= R
D
gesetzt.
· Die Bedingungen (25) bzw. (26) setzten den Definitionsbereich der Va-
riablen y bzw. R
D
fest.
Da nun neben der Variable x
j
-
j
auch die Variable y
j
-
j
die erste Periode
einer Pause angibt, müssen Bedingungen (13) und (14) modifiziert werden.
Dies ist notwendig, da dieselbe Ressource R
D
(a) die Pausenlänge sowohl nach
einer Arbeit, als auch nach einem Dienst misst. Es muss jeweils die Variable
y
j
-
j
in den Nebenbedingungen ergänzt werden, sodass
R
P
(j)
M(1 - x
j
-
j
- y
j
-
j
) + 1
j V
(13b)
R
P
(i)
M(1 - x
i
-
i
- y
i
-
i
) + R
P
(i
-
)
i V
(14b)
31

5 Gemischt ganzzahliges Programm
gilt.
Die hinzugefügten Binärvariablen müssen auch in den Flussbedingungen in-
tegriert werden. Die Änderung der Bedingungen (2) für die Quelle bzw. (4) für
die Senke wird in Kapitel 5.2.3 nach Erläuterung der Mittagspause erklärt, da
durch die Mittagspause die Bedingungen (2) und (4) weiter modifiziert werden
müssen.
Bedingung (3) wird durch Berücksichtigung des Dienstes folgendermaßen
geändert.
pa
-
x
pa
+ y
pa
-
sa+
x
as
+ y
as
= 0
a V \ {q, q + 1, t - 1, t}
(3b)
Zu beachten bei (3b) ist, dass die Variable y
a
-
a
und y
aa
+
, jeweils für a V
nicht existieren, da die Fortsetzung einer Pause bereits durch die Variable x
aa
+
mit a V abgedeckt wird.
Die Modifikation von (3) hätte zur Folge, dass die folgenden Bedingun-
gen (27)­(28) zum Modell hinzugefügt werden müssten, da es möglich wäre,
dass ein Dienst bzw. Arbeit mit der Variablen für Arbeit bzw. Dienst fortge-
setzt wird.
y
pi
+ x
is
1
i V, p i
-
, s i
+
(27)
x
pi
+ y
is
1
i V, p i
-
, s i
+
(28)
Die Bedingungen (27) und (28) stellen sicher, dass eine begonnene Arbeit nur
durch die entsprechenden x-Variablen fortgesetzt und beendet werden kann.
Dies gilt auch für einen Dienst, welcher durch y-Variablen gekennzeichnet ist.
Es ist nicht möglich, dass ein begonnener Dienst durch x-Variablen fortgesetzt
wird.
Alternativ zur Flusserhaltungsbedingung (3b) und den Bedingungen (27)
und (28) wäre es möglich, (3b) getrennt nach oberen bzw. unteren Knoten
und Arbeit bzw. Dienst zu betrachten. Dies hätte den Vorteil, dass Bedingun-
gen (27) und (28) nicht mehr notwendig wären. Die Anzahl an erforderlichen
Restriktionen würde gleich bleiben. Folgende Bedingungen würden an Stelle
von (3b) benötigt werden:
pi
-
x
pi
-
si+
x
is
= 0
a V \ {q, t - 1}
(3.1)
pi
-
y
pi
-
si+
y
is
= 0
a V \ {q, t - 1}
(3.2)
(
pj
-
x
pj
+ y
j
-
j
)
- (
sj+
y
js
+ y
jj
+
) = 0
a V \ {q - 1, t}
(3.3)
Die Bedingungen (3.1) und (3.2) sorgen dafür, dass für eine begonnene Arbeit
die Variablen x
i
-
i
bzw. x
ii
+
und für einen begonnenen Dienst stets die Varia-
32

5 Gemischt ganzzahliges Programm
blen y
i
-
i
bzw. y
ii
+
verwendet werden. Der Fall, dass in einer Periode (i
-
, i) ein
Dienst begonnen wird und in der nächsten Periode dieser mit der Variable x
ii
+
fortgesetzt wird bzw. der umgekehrte Fall sind somit ausgeschlossen. Somit
sind mit Formulierung (3.1)­(3.3) die Bedingungen (27) und (28) überflüssig.
Die maximale Anzahl an Diensten N
D
, welche einem Arzt pro Woche w
zugeteilt werden können, wird durch Bedingung (29) sichergestellt.
jV
D
w
y
jj
+
N
D
w W
(29)
Die Summe über alle Perioden in einer Woche, in denen ein Dienst gestartet
wird, also y
jj
+
= 1, darf höchstens der Anzahl an erlaubten Diensten N
D
entsprechen.
Wird ein Dienst begonnen, so wird auch das Kantengewicht
D
i
-
i
in der Mi-
nimierung der Zielfunktion berücksichtigt. Die Zielfunktion ändert sich zu
Minimiere
-
iV
(
dem
i
-
i
· x
i
-
i
+
D
i
-
i
· y
i
-
i
)
(1b)
Zu berücksichtigen ist, dass der Parameter
D
i
-
i
lediglich in der ersten Peri-
ode eines Dienstes ungleich Null sein kann. Daher werden nur diese Werte
berücksichtigt, da alle anderen Werte Null sind.
5.2.2 Berücksichtigung von Überstunden und Fehlstunden
Problembeschreibung
Ein Arzt besitzt die vertraglich vereinbarte Wochen-
arbeitszeit v. Abweichend von dieser Arbeitszeit kann er maximal insgesamt
R
WA
Stunden pro Woche arbeiten. Der größte Wert der Variable o
w
N
0
, wel-
che die Überstunden zählt, ist somit R
WA
-v. Fehlstunden, die in einer Woche
auftreten, betreffen den Fall, dass weniger als v Stunden gearbeitet werden.
Fehlstunden werden mit der Variablen u
w
N
0
gemessen. Neben den Über-
stunden gibt es ausbezahlte Überstunden h
w
N
0
. Es wird laut Tarifvertrag
eine Überstunde der Woche w ausbezahlt, wenn diese nicht durch Fehlstunden
in der darauf folgenden Woche w + 1 ausgeglichen werden kann.
Um die Abweichung von der Wochenarbeitszeit v bewerten zu können, muss
neben der reinen Arbeitszeit auch die Zeit berücksichtigt werden, welche von
den Diensten teilweise auf die Wochenarbeitszeit angerechnet wird. Tabelle 1
bietet einen Überblick über entsprechende Zeiten. Um diese Information im
MIP zu berücksichtigen, wird eine Funktion f
1
(j) eingeführt. Diese gibt die
Stundenanzahl vom im Knoten j V
D
w
beginnenden Dienst D an, welche zur
regulären Wochenarbeitszeit R
WA
addiert wird.
Die Arbeitszeit eines Dienstes am Sonntag wird auf den Montag der fol-
genden Woche angerechnet. Um dies zu berücksichtigen, wird eine Knoten-
menge ^
V
D
w
eingeführt. Diese Teilmenge der untenliegenden Knoten bei denen
33

5 Gemischt ganzzahliges Programm
der Dienst D in Woche w startet, enthält die Knoten des Dienstbeginns vom
Sonntag der Vorwoche bis Samstag der aktuellen Woche. Dies bedeutet, dass
alle Dienste, welche zu der Wochenarbeitszeit einer Woche w beitragen, in der
Menge berücksichtigt sind. In ^
V
D
w
sind für w = 1 nur sechs Knoten enthalten,
da es keinen Sonntag der Woche 0 gibt.
14
Notation
Insgesamt wird durch die Modellierung von Überstunden und Fehl-
stunden die Notation folgendermaßen erweitert.
Mengen, Parameter und Funktionen
W
0
Menge der Wochen im Planungshorizont einschließlich der Vorwoche,
mit
W
0
=
W {0}
^
V
D
w
Teilmenge der untenliegenden Knoten bei denen der Dienst D
in Woche w startet zur Berechnung von v
V
e
w
Teilmenge des letzten untenliegenden Knotens der Woche w,
mit
V
e
w
=
{j|j = w · K
w
+ 1 : j V w W} V
u
v
Vertragsarbeitszeit pro Woche
c
paid
Kosten für eine ausbezahlte Überstunde h
w
c
over
Kosten für eine Überstunde o
w
f
1
(j) Gibt die Stundenanzahl des im Knoten j V
D
w
beginnenden
Dienstes D an, welche zur regulären Wochenarbeitszeit R
WA
addiert wird
Variablen
o
w
Anzahl an Überstunden in Woche w W
0
u
w
Anzahl an ,,Fehlstunden" in Woche w W
h
w
Anzahl an ausbezahlten Überstunden in Woche w W
Folgende Bedingungen ergänzen das bisherige Modell, um die Werte von o
w
,
u
w
und h
w
bestimmen zu können.
v =
jV
e
w
R
W A
(j) +
j^
V
D
w
f
1
(j) · y
jj
+
- o
w
+ u
w
w W
(30)
h
w
o
w-1
- u
w
w W
(31)
o
w
{0, 1, ..., R
WA
- v}
w W
(32)
u
w
{0, 1, ..., v}
w W
0
(33)
h
w
{0, 1, ..., R
WA
- v}
w W
(34)
14
Für Initialisierungen, bei welcher Werte von Woche 0 eingeplant werden, siehe Kapitel
5.2.5
34

5 Gemischt ganzzahliges Programm
Erläuterung
In (30) wird zur Bestimmung von o
w
, u
w
und h
w
die Summe aus
der bis Ende der Woche regulär gearbeiteten Zeit R
W A
(j) und der aus Diensten
anrechenbaren Arbeitszeit f
1
(j) gebildet. Übersteigt diese Summe den Wert v
der Vertragsarbeitszeit, so erhöht sich der Wert o
w
der Überstunden. Ist die
Summe kleiner als v, so erhöht sich u
w
.
Die ausbezahlten Überstunden h
w
werden mit Nebenbedingung (31) berech-
net, wobei nur diejenigen Überstunden aus o
w-1
der Woche w - 1 angerechnet
werden, welche durch Fehlstunden in der darauf folgenden Woche w nicht aus-
geglichen werden können.
Die anfallenden Kosten durch Überstunden werden auch in der Zielfunktion
berücksichtigt. Die Kostenparameter sind c
over
für Überstunden und c
paid
für
ausbezahlte Überstunden. Gilt c
over
> c
paid
, so können in einer Woche w nicht
sowohl o
w
> 0 als auch u
w
> 0 sein, da über beide Variablen in der Zielfunktion
minimiert wird.
15
Für die modifizierte Zielfunktion gilt
Minimiere
wW
(c
paid
h
w
+ c
over
o
w
)
-
i
V
(
dem
i
-
i
x
i
-
i
+
D
i
-
i
y
i
-
i
)
(1c)
Die Bedingung (1c) stellt die Zielfunktion dar, falls keine Mittagspause be-
rücksichtigt wird. Durch die Einführung einer Mittagspause ist eine weitere
Änderung notwendig.
Die Variablen o
w
, u
w
und h
w
sind nach oben beschränkt, positiv und ganz-
zahlig. Die Bedingungen (32)­(34) geben die entsprechenden Beschränkungen
an. Die Ganzzahligkeit dieser Variablen kann auf
R
+
0
relaxiert werden. Durch
die Bedingung (30) wird o
w
und u
w
zur Ganzzahligkeit gezwungen, da alle
anderen Variablen bzw. Parameter dieser Bedingung aus
N
0
sind. Die Variable
h
w
wird durch die Bedingung (31) und durch die Zielfunktion zur Ganzzah-
ligkeit gezwungen. Den kleinsten Wert, welchen h
w
im Minimierungsproblem
annehmen kann, ist genau die Differenz der ganzzahligen Variablen o
w-1
und
u
w
. Somit muss h
w
ganzzahlig sein.
15
Als Beispiel zur Illustration sei bei einem dreiwöchigen Schichtplan mit vertraglicher Wo-
chenarbeitszeit von 42 Stunden die Wochenarbeitszeiten 48, 42 und 36 Stunden. Würden
nun durch die Variablen
o
w
> 0 und u
w
> 0 in der ersten und zweiten Woche 6 Über-
stunden und in der zweiten und dritten Woche 6 Fehlstunden veranschlagt werden, so
würde die Einplanung der Fehlstunden in der zweiten Woche für Überstunden in der
ersten Woche aufkommen, d. h.
h
2
wäre Null. Da tatsächlich keine Fehlstunden gemacht
wurden, müssten auch 6 Überstunden in der zweiten Woche eingeplant werden. Diese
würden nicht die ausbezahlten Überstunden
h
3
erhöhen, da in der dritten Woche tat-
sächlich 6 Fehlstunden gemacht werden. Die gleichzeitige Einplanung von Überstunden
und Fehlstunden in der zweiten Woche hätte somit den Effekt
h
w
zu minimieren, jedoch
nur durch ,,künstliche" Überstunden. Wird daher
c
over
> c
paid
gesetzt, so ist dieser Effekt
nicht günstig, da sowohl die Überstunden
o
w
als auch die ausbezahlten Überstunden
h
w
in der Zielfunktion minimiert werden und anhand der Kostenparameter die Minimierung
von
o
w
günstiger für die Zielfunktion ausfällt.
35

5 Gemischt ganzzahliges Programm
5.2.3 Berücksichtigung einer Mittagspause
Problembeschreibung
An jedem Tag, an dem gearbeitet wird, ist im Schicht-
plan eine Mittagspause über eine Periode berücksichtigt. Für einen Dienst wird
keine Mittagspause bestimmt. Vor einer Mittagspause muss der Arzt mindes-
tens T
pre
Stunden und höchstens T
late
Stunden gearbeitet haben. Nach der
Mittagspause muss er noch T
post
Stunden arbeiten. Für die Berücksichtigung
der Mittagspause wird eine weitere Binärvariable q
ab
benötigt, welche nur für
die beiden Kanten (j
-
, j) und (j, j
+
) definiert ist. Sei
q
j
-
,j
=
1, wenn der Arzt in der Periode (j
-
, j) mit j V eine
Mittagspause hat
0, sonst
und
q
j,j
+
=
1, wenn der Arzt nach einer Mittagspause in der Periode (j, j
+
)
mit j V die erste Periode arbeitet
0, sonst
Abbildung 7 zeigt eine Mittagspause auf dem Graphen G. Auf den durchge-
zogenen Kanten sind die angegebenen Binärvariablen Eins. Die Mittagspause
erfolgt in Periode (i-2,j), sodass die Variable q
(i-2)j
= 1 ist.
16
Die erste Periode
nach der Mittagspause, in der gearbeitet wird, ist (j, i + 2). Dies wird durch
die Variable q
j(i+2)
, welche den Wert Eins annimmt, verdeutlicht.
i
j
i - 4
i - 2
i + 2
i + 4
j - 4
j - 2
j + 2
j + 4
x
(i-4)(i-2)
x
(i+2)(i+4)
q
(i-2)j
q
j(i+2)
...
...
...
...
Abb. 7: Graph G mit Binärvariablen der Mittagspause.
16
Die Kante (
i - 2, j) ist identisch mit der Kante (j
-
, j).
36

5 Gemischt ganzzahliges Programm
Notation
Zur Berücksichtigung der Mittagspause wird das Modell um fol-
gende Notation ergänzt.
Mengen und Parameter
T
pre
Mindestdauer an Arbeit vor Aufnahme einer Mittagspause
T
late
Höchstdauer an Arbeit vor Aufnahme einer Mittagspause
T
post
Mindestdauer an Arbeit nach Beendigung einer Mittagspause
V
w,d
Teilmenge der untenliegenden Knoten von einem Tag d in
der Woche w, mit V
w,d
=
{j|(w - 1)K
w
+ 2 + (d - 1)K
d
j
(w - 1)K
w
+ dK
d
: j V, w W, d D} V
Für die Einhaltung der Mittagspause werden folgende Bedingungen im Mo-
dell ergänzt.
q
j
-
j
R
A
(j
-
)
- (T
pre
- 1) + M(1 - q
j
-
j
)
j V
(35)
q
j
-
j
R
A
(j
-
)
- (T
late
- 1) - M(1 - q
j
-
j
)
j V
(36)
q
jj
+
(T
post
+ 1)
- [R
A
(j + 2 · T
post
- 1) - R
A
(j
-
)]
- M(1 - q
jj
+
)
j V
(37)
q
jj
+
- q
j
-
j
= 0
j V
(38)
jV
w,d
(x
jj
+
- q
j
-
j
) = 0
w W, d D (39)
q
i
-
i
, q
ii
+
{0, 1}
i V
(40)
Erläuterung
Im Folgenden werden die Bedingungen (35)­(40) näher erläu-
tert.
· Die Bedingung (35) legt fest, dass der Beginn einer Mittagspause erfolgen
kann, nachdem mindestens
T
pre
Perioden gearbeitet wurde. Wird die
Mittagspause zum Zeitpunkt j
-
begonnen, also q
j
-
j
= 1, so kann (35)
zu R
A
(j
-
)
T
pre
umgeformt werden.
· Es dürfen höchstens T
late
Perioden bis zu einer Mittagspause gearbeitet
worden sein. Ist q
j
-
j
= 1, so folgt aus (36), dass R
A
(i)
T
late
sein muss.
· Nach einer Mittagspause müssen noch mindestens T
post
Perioden gear-
beitet werden. Dies wird durch die Bedingung (37) sichergestellt. Hierbei
wurde im Knoten
j
-
die Mittagspause begonnen, sodass die vor Aufnah-
me der Mittagspause geleistete Arbeit R
A
(j
-
) beträgt. Die Arbeit R
A
im oberen Knoten (j + 2 · T
post
- 1), welcher T
post
Perioden nach En-
de der Mittagspause ist, muss abzüglich der Arbeit R
A
(j
-
) mindestens
T
post
betragen. Anders formuliert muss für q
jj
+
= 1 gelten, dass R
A
(j +
2
· T
post
- 1) - R
A
(j
-
)
T
post
ist.
37

5 Gemischt ganzzahliges Programm
· Die Bedingung (38) erzwingt, dass die Mittagspause genau eine Periode
dauert und danach die Variable q
jj
+
für die erste Arbeitsstunde nach der
Pause verwendet wird.
17
· Bedingung (39) fordert, dass pro Tag genau eine Mittagspause erfolgt,
falls gearbeitet wird.
· Bedingung (40) definiert die Variable q als Binärvariable.
Durch das Einführen einer Mittagspause mit der Variablen q
jj
+
, welche eben-
so wie x
ii
+
anzeigt, ob eine Arbeit fortgesetzt wurde, müssen die folgenden
Nebenbedingungen modifiziert werden, in denen die Variable x
ii
+
enthalten ist
(welche aus Gründen der Notation in den Nebenbedingungen als x
i
-
i
geschrie-
ben wird). Es wird jeweils die Variable q
i
-
i
hinzugefügt.
R
A
(i)
R
A
(i
-
) + x
i
-
i
+ q
i
-
i
i V
(5b)
R
A
(i)
R
A
(i
-
) + x
i
-
i
+ q
i
-
i
- M · x
i
-
i
i V
(6b)
R
WA
(i) = R
WA
(i
-
) + x
i
-
i
+ x
i
-
i
+ q
i
-
i
i V \ V
s
w
(11b)
Durch die Bedingungen (5b), (6b) und (11b) werden die Ressourcen R
A
(i)
bzw. R
WA
(i) nun auch um Eins erhöht, wenn die Arbeit mit der Variablen q
i
-
i
nach einer Mittagspause fortgesetzt wird.
Die Flussbedingungen müssen auch angepasst werden. Die folgenden Bedin-
gungen beinhalten auch die Änderungen, welche sich durch Einführung des
Dienstes ergaben, bisher jedoch nicht vermerkt wurden.
rq
+
(x
qr
+ y
qr
) +
s(q+1)
+
(x
(q+1)s
) + y
(q+1)(q+1)
+
= 1
(2b)
pa
-
(x
pa
+ y
pa
+ q
pa
)
-
sa+
(x
as
+ y
as
+ q
as
) = 0
a V \ {q, q + 1, t - 1, t} (3c)
r(t-1)
-
(x
r(t-1)
+ y
r(t-1)
) +
st
-
x
st
+ y
t
-
t
= 1
(4b)
Da eine Schicht nicht mit einer Mittagspause beginnen kann bzw. eine
Schicht nicht mit einer Mittagspause enden kann, enthalten Bedingungen (2b)
und (4b) nicht die Binärvariable q
ab
der Mittagspause.
Bedingung (2b) besagt, dass von allen Binärvariablen, die aus den Quellen
entspringen, nur eine den Wert Eins annehmen kann. Von allen Variablen, wel-
che in die Senkeknoten münden, kann durch Bedingung (4b) ebenso nur eine
17
Es ist wichtig, dass für die erste Arbeitsperiode nach einer Mittagspause eine andere
Variable als
x
jj
+
bzw.
y
jj
+
verwendet wird, da diese spezifische Bedeutungen besitzen
und anderen Nebenbedingungen zugeordnet sind.
38

5 Gemischt ganzzahliges Programm
Binärvariable ungleich Null sein. Die Bedingung (3c) bestimmt die Flusserhal-
tung für alle Knoten, außer den Quellknoten und Senkeknoten.
Die Zielfunktion muss ebenso um q
i
-
i
erweitert werden und es ergibt sich
die neue Zielfunktion:
Minimiere
wW
(c
paid
h
w
+ c
over
o
w
)
-
iV
(
dem
i
-
i
(x
i
-
i
+ q
i
-
i
) +
D
i
-
i
· y
i
-
i
) (1d)
5.2.4 Berücksichtigung eines Zeitfensters
Problembeschreibung
Der Startzeitpunkt der Arbeit ist beliebig, liegt je-
doch zwischen dem frühesten Zeitpunkt S
A
, an welchem die Nachfrage nach
Ärzten beginnt und dem spätesten Zeitpunkt E
A
, an dem die Nachfrage endet.
Damit im Schichtplan einer Woche für einen Arzt die Zeiten des Arbeitsbe-
ginns nicht zu sehr auseinander weichen, werden diese auf maximal T
win
Stun-
den begrenzet. Hierzu wird der späteste Arbeitszeitbeginn in der Woche w
bestimmt und der Variablen l
w
zugewiesen. Diese Variable wird mit jedem
weiteren Startzeitpunkt der Woche w verglichen. Die Differenz darf höchstens
T
win
betragen.
Notation
Zur Bestimmung des frühesten Startzeitpunktes pro Woche wird
die Notation wie folgt ergänzt.
Mengen, Parameter und Funktionen
S
A
Zeitpunkt, zu dem die reguläre Arbeit A frühestens beginnt
E
A
Zeitpunkt, zu dem die reguläre Arbeit A spätestens endet
T
win
Maximale Länge zwischen frühestem und spätestem Arbeitsbeginn
pro Woche
f
2
(j) Funktion, welche jeder Nummer eines Knotens j V eine
Knotennummer des ersten Tages zuweißt, mit
f
2
(j) : V
j mod K
d
,
für j mod K
d
= 0
K
d
,
für j mod K
d
= 0
Die folgenden Nebenbedingungen bestimmen den spätesten Startzeitpunkt und
sorgen für die Einhaltung des Zeitfensters T
win
.
l
w
1
2
jV
w,d
f
2
(j) x
jj
+
- 2
w W, d D
(41)
l
w
-
1
2
jV
w,d
f
2
(j) x
jj
+
- 2
T
win
+ M(1 -
jV
w,d
x
jj
+
)
w W, d D
(42)
39

5 Gemischt ganzzahliges Programm
l
w
{S
A
, · · · , E
A
- R
A
}
w W
(43)
Erläuterung
Die Nebenbedingungen (41) und (42) begrenzen die Dauer zwi-
schen den verschiedenen Startzeiten der Arbeit in einer Woche w auf T
win
.
Hierbei berechnet Bedingung (41) den spätesten Schichtbeginn in der Wo-
che w. Beginnt eine Schicht im Knoten j, so ergibt das Produkt aus f
2
(j) und
x
jj
+
den Startknoten dieser Schicht bezogen auf den ersten Tag. Von dieser
Zahl müssen 2 abgezogen werden und das Ergebnis halbiert werden, um den
Startzeitpunkt als Uhrzeit zu erhalten. Erfolgt beispielsweise der Start einer
Schicht am dritten Tag der ersten Woche um 9 Uhr, also im Knoten j = 116, so
ergibt f
2
(116) = 20. Davon 2 subtrahiert und das Ergebnis halbiert resultiert
in der Startzeit (20
- 2)/2 = 9 Uhr. Nach (41) nimmt dabei l
w
den größten
aller Schichtbeginne einer Woche w an.
Wird am Tag d der Woche w gearbeitet, also gilt
jV
w,d
x
jj
+
= 1, so
folgt aus Bedingung (42), dass die Differenz zwischen dem spätesten Schicht-
beginn l
w
einer Woche und dem Schichtbeginn des Tages d höchstens T
win
sein
darf.
Relaxation von
l
w
Die Ganzzahligkeit von l
w
kann auf
R
+
0
relaxiert werden.
In Bedingung (41) setzt sich die rechte Seite der Gleichung aus Multiplikation
und Subtraktion ganzzahliger Werte zusammen, muss also einen ganzzahligen
Wert ergeben. Somit ist l
w
größer gleich einem ganzzahligen Wert.
In Bedingung (42) ist die rechte Seite ganzzahlig, falls
jV
w,d
x
jj
+
= 1,
also an einem Tag d gearbeitet wird. Auf der linken Seite wird von l
w
et-
was Ganzzahliges abgezogen. Es wird nun überprüft, ob l
w
abzüglich etwas
Ganzzahligem kleiner oder gleich dem ganzzahligen Zeitfenster ist. Ein ma-
ximales Zeitfenster ist nur möglich, falls l
w
den kleinstmöglichen Wert aus
Bedingung (41) annimmt, welcher ganzzahlig ist.
5.2.5 Werte des vorherigen Planungshorizonts
Der Schichtplan wird über einen vorher bestimmten Planungshorizont erstellt.
Dieser ist in sich abgeschlossen und nimmt keine Informationen von vorherigen
Schichtplänen auf. Um dies zu ändern, kann die Information etwaiger Über-
stunden aus der Vorwoche des aktuellen Planungshorizonts, also Woche 0,
durch Einführen eines Parameters o
0
festgesetzt werden.
Wird am Sonntag der Woche 0 gearbeitet, so kann mit einem Parameter
R
P
indirekt das Ende der Arbeit in den aktuellen Planungshorizont überge-
ben werden. R
P
gibt an, wie viele Stunden vor Beginn des Planungshorizonts
(Montag 0 Uhr) bereits pausiert wurden. Hierdurch ergibt sich der frühest
mögliche Starttermin am ersten Tag des Schichtplans. Vor Aufnahme einer
Arbeit müssen mindestens R
P
Stunden Pause sein.
40

5 Gemischt ganzzahliges Programm
Die Zuweisung
R
P
(q + 1) = R
P
(44)
übergibt die bisherige Pausendauer an die Ressourcenvariable des unteren
Quellknotens q+1. Falls die Arbeit zu jedem Zeitpunkt am ersten Tag des
Planungshorizonts beginnen kann, so muss der Wert R
P
= R
P
gesetzt werden.
Wird beispielsweise am Sonntag bis 21 Uhr gearbeitet, so werden bis Mon-
tag 0 Uhr drei Stunden pausiert, also wird der Wert von R
P
= 3 gesetzt.
Wird bis 8 Uhr am ersten Montag noch ein Dienst vom Sonntag der Vorwoche
ausgeführt, so wird dies durch die Einstellung R
P
=
-8 berücksichtigt.
Falls in einer Woche nicht die maximale Wochenarbeitszeit R
WA
zur Verfü-
gung steht, wird dies durch den Parameter R
A
w
mit w W berücksichtigt, wel-
cher angibt, wie viele Arbeitsstunden in Woche w nicht zur Verfügung stehen.
Eine Anwendung wäre denkbar, falls beispielsweise am Sonntag der Vorwoche
ein Dienst begonnen wurde. Die acht Stunden, welche der Arbeitszeit in der
ersten Woche des Planungshorizonts übergeben werden, könnten durch R
A
w
ab-
gebildet werden. Hierfür muss die Bedingung (30) abgeändert werden, indem
zu der bisherigen Wochenarbeitszeit der Wert von R
A
w
dazugezählt wird:
v =
jV
e
w
R
WA
(j) +
j^
V
D
w
f
1
(j) · y
jj
+
+ R
A
w
- o
w
+ u
w
w W
(30b)
5.3 Preprocessing
Die Anzahl der Variablen und Nebenbedingungen des ganzen Modells inklu-
sive aller Erweiterungen entspricht O(|V|). Die davon benötigte Anzahl der
Variablen zur Berechnung der optimalen Lösung ist ein Teil, da eine Vielzahl
an Binärvariablen nicht benötigt werden und ihnen daher der Wert Null zu-
gewiesen werden kann. Berücksichtigt man den Zeitrahmen, in dem ein Arzt
eine Arbeit ausführen kann bzw. einen Dienst beginnen kann, die Mindestar-
beitszeit und die Parameter T
pre
bzw. T
post
, so können Variablen, welche in
bestimmten Knoten starten, auf den Wert Null gesetzt werden. Dies bedeutet,
dass über die entsprechende Kante der Fluss nicht laufen kann.
Zur Beschreibung des Preprocessing sind folgende neue Parameter notwen-
dig. S
D
beschreibt den Zeitpunkt, zu welchem der Dienst beginnt. Dieser ist
identisch mit dem Zeitpunkt des Dienstendes, da ein Dienst 24 Stunden dauert.
S
WE
und E
WE
beschreiben den ersten bzw. letzten Tag eines Wochenendes.
Beispielsweise wähle man den Zeitrahmen, in dem gearbeitet werden kann,
von 7 bis 21 Uhr, d. h. S
A
= 7 und E
A
= 21. Außerhalb dieses Zeitrahmens
kann die Variable x
i
-
i
, ohne einen Einfluss auf die optimale Lösung zu neh-
men, auf Null gesetzt werden. Zusätzlich kann in der Periode von 7 bis 8 Uhr
sinnvollerweise nur x
i
-
i
= 1 sein, falls gearbeitet wird.
41

5 Gemischt ganzzahliges Programm
Zusätzlich sei ein arbeitsfreies Wochenende von Samstag bis Sonntag durch
die Parameter S
WE
= 6 und E
WE
= 7 definiert. Ist das Wochenende arbeitsfrei,
so kann keine Arbeit und Mittagspause erfolgen. Daher können die Variablen
x
i
-
i
, x
i
-
i
, x
ii
+
, q
i
-
i
, q
ii
+
am Wochenende Null gesetzt werden, d. h. es kann nur
pausiert werden.
Um die Mengen der Knoten zu berücksichtigen, bei denen die Variable
{x
i
-
i
, x
i
-
i
, x
ii
+
, q
i
-
i
, q
ii
+
, y
i
-
i
, y
ii
+
} Null gesetzt werden kann, wird die Men-
ge
V
non
eingeführt. Hierbei sei i stets aus den oberen Knoten V und p
i
:=
1
2
(i mod K
d
)
- 1 . Dabei gibt p
i
einen Zeitpunkt zwischen 0 und 23 Uhr an,
welcher durch den Knoten i dargestellt wird.
Beispielsweise handelt es sich bei i = 133 um den oberen Knoten des dritten
Tages von 18 Uhr. Dieser wird durch (133 mod 48
-1 = 18) zu 18 Uhr berech-
net. Zur Erinnerung sei erwähnt, dass der erste obere Knoten im Netzwerk,
welcher 0 Uhr repräsentiert, die Nummer 1 trägt.
Die Mengen der Knoten am Wochenende und die Knoten, zu denen die
Variablen x
i
-
i
, x
i
-
i
, x
ii
+
, q
i
-
i
, q
ii
+
, y
i
-
i
und y
ii
+
den Wert Null annehmen, sind:
V
non
WE
= i | S
WE
- 1 · K
d
i mod K
w
< E
WE
· K
d
: i V
V
non
x
i-i
= i | p
i
S
A
+ 1
p
i
> E
A
: i V
V
non
x
i-i
= i | p
i
S
A
p
i
E
A
- R
A
+ 1 : i V
V
non
x
ii+
= i | p
i
S
A
+ R
A
+ 1
p
i
> E
A
: i V
V
non
q
ii+
= i | p
i
< S
A
+ T
pre
p
i
> E
A
- T
post
: i V
V
non
q
i-i
= i | p
i
S
A
+ T
pre
+ 1
p
i
> E
A
- T
post
+ 1 : i V
V
non
y
ii+
= i | p
i
< S
D
p
i
> S
D
+ 1 : i V
V
non
y
i-i
=
V \ V
D
w
Im Folgenden werden die einzelnen Mengen kurz erläutert. Bei der Interpreta-
tion ist zu beachten, ob i ein Anfangs- oder Endknoten der Kante darstellt.
V
non
WE
Diese Knotenmenge definiert alle Knoten eines Wochenendes. Ist das
Wochenende arbeitsfrei, so können die Variablen x
i
-
i
, x
i
-
i
, x
ii
+
, q
i
-
i
, q
ii
+
auch bei den Knoten dieser Menge Null gesetzt werden.
V
non
x
i-i
Eine fortgesetzte Arbeitsperiode kann nicht früher als eine Periode nach
Arbeitsbeginn S
A
oder später als das Arbeitsende E
A
existieren.
V
non
x
i-i
Eine Arbeit kann nicht vor Arbeitsbeginn S
A
beginnen. Auch ist ein
Beginn nach der Periode, in welcher begonnen werden müsste, um noch
die Mindestarbeitszeit R
A
und eine Mittagspause zu absolvieren, nicht
möglich.
42

5 Gemischt ganzzahliges Programm
V
non
x
ii+
Die erste Pausenperiode nach einer Arbeit kann frühestens nach Ab-
solvierung der Mindestarbeitszeit und einer Mittagspause stattfinden.
Zudem kann sie nicht später als das Arbeitsende E
A
erfolgen.
V
non
q
ii+
Die Mittagspause kann nicht vor Absolvierung von T
pre
Arbeitstunden
nach Arbeitsbeginn S
A
erfolgen. Zudem müssen bis zum Arbeitsende E
A
noch mindestens T
post
Arbeitsperioden vorhanden sein.
V
non
q
i-i
Die erste Arbeitsperiode nach einer Mittagspause kann frühestens nach
dem Arbeitsbeginn und T
pre
Arbeitstunden und einer Mittagspause er-
folgen. Nach dieser ersten Arbeitsperiode müssen bis zum Arbeitsende
E
A
noch mindestens T
post
Arbeitsperioden vorhanden sein.
V
non
y
ii+
Die erste Pausenperiode nach einem Dienst kann nur zur selben Zeit
beginnen, wie auch der Dienst selber, da der Dienst einen ganzen Tag
dauert.
V
non
y
i-i
Ein Dienst kann nur in den spezifizierten Knoten
V
D
w
beginnen.
Die Auswirkung dieser Einschränkung der Variablen auf die Lösungszeit ist
deutlich. Kapitel 7 enthält Zeitanalysen, welche diesen Sachverhalt verdeutli-
chen. Die Beschleunigung der Rechenzeit wird weniger durch die Anzahl an
Knoten in den Mengen
V
non
verursacht. Am Wichtigsten ist, welche Knoten
in diesen Mengen enthalten sind.
Besonders die implizite Festlegung, dass eine Arbeitsschicht nur innerhalb
eines Tages liegen kann, d. h. spätestens bis 24 Uhr beendet sein muss, be-
schleunigt die Lösungsdauer. Das Problem des Festsetzens der optimalen Ar-
beitsschichten wird hierdurch in Tagesprobleme zerlegt, welche durch die Ein-
haltung der Pausen zwischen den Tagen, der maximalen Wochenarbeitszeit
und des Zeitfensters für den Arbeitsbeginn innerhalb einer Woche zusammen-
hängen.
5.4 Komplexität des RCSPs
Bei der vorliegenden Formulierung als MIP entspricht die Anzahl an Nebenbe-
dingungen und Variablen O(|V |). Das MIP wird mit dem Simplex Verfahren
mithilfe eines Branch & Bound (B&B) gelöst. Allgemein gilt, dass Kürzes-
te Wege Probleme mit nicht negativen Kanten in polynomialer Zeit gelöst
werden können. Dies wird u. a. in Ahuja et al. (1993, Kapitel 4) gezeigt.
Fügt man eine Ressourcenbeschränkung
18
hinzu, so ist das RCSP ein NP-
vollständiges Problem. Es wird in Garey und Johnson (1979) als Problem
ND30 mit ,,shortest weight-constrained path" (S. 214) bezeichnet. Es ist eine
18
genauer ein Kantengewicht, wobei ein zulässiger Pfad von Quelle zur Senke nur ein ma-
ximales kumuliertes Gesamtgewicht haben darf
43

5 Gemischt ganzzahliges Programm
Transformation des NP-vollständigen Problems SP12 ,,PARTITION", welches
in pseudo-polynomialer Zeit durch ein dynamisches Programm gelöst werden
kann (S. 223). Somit ist das vorliegende Problem ein schwach NP-vollständiges
Problem. Ein formeller Beweis hierzu kann in Ziegelmann (2001) gefunden wer-
den.
44

6 Dynamisches Programm
6 Dynamisches Programm
Dieses Kapitel behandelt die Lösung des Schichtplanungsproblems als dyna-
misches Programm. Zuerst erfolgt in Kapitel 6.1 eine Einführung in die DP. In
Kapitel 6.2 wird das grundlegende Modell erläutert, wobei die Modellierung des
RCSPs als DP beschrieben und der Lösungsalgorithmus erläutert wird. Darauf
aufbauend werden in Kapitel 6.3 weitere Nebenbedingungen sukzessive in das
Modell eingebaut und die dafür notwendigen Veränderungen des Modells dar-
gelegt. Das vollständige DP befindet sich nochmals in Anhang B. Kapitel 6.4
behandelt eine Möglichkeit, die Lösungsdauer des Algorithmus zu beschleuni-
gen, welche sonst aufgrund der Berücksichtigung des Startzeitfensters deutlich
an Effizienz verliert. Abschließend wird in Kapitel 6.5 darauf eingegangen,
wann die Lösung als DP eine optimale Lösung darstellt. Das Schichtplanungs-
problem wird in Wochenprobleme zerlegt, wobei dies in bestimmten Situatio-
nen zu optimalen Lösungen führt. Die in diesen Kapitel verwendeten Opera-
toren ,,
" und ,," bezeichnen eine Verknüpfung zwischen zwei Argumenten.
Hierbei ist ,,
" die UND-Verknüpfung und ,," die ODER-Verknüpfung.
6.1 Einführung in die dynamische Programmierung
Der Begriff ,,Dynamische Programmierung" wurde erstmals in (Bellman 1952)
eingeführt. Der Hauptverdienst von Bellman war es die verschiedenen Problem-
stellungen aufzuzeigen, für welche die dynamische Programmierung angewandt
werden kann.
Diese ist keine eigenständige Lösungsmethode, sondern ein Optimierungs-
prinzip. Eine kurze Einführung kann in Hans (2001) und Beliën (2006) gefun-
den werden. Auch Bradley et al. (1977) hat ein eigenes Kapitel, in welchem die
Grundlagen ausführlich erklärt und mit Beispielen verdeutlicht werden. Eine
ausführliche Sammlung an verschiedenen Problemstellungen, die illustrieren,
in welchen Fällen die DP angewandt werden kann, sind in Bellman und Dreyfus
(1962), Bellman (1959) und Dreyfus und Law (1977) dargestellt.
Im Folgenden werden die wichtigsten Charakteristika eines Dynamischen
Programms für das in dieser Arbeit behandelte Problem angegeben und erläu-
tert.
Stufen
Gegeben ist ein diskretes System über n+1 Stufen (engl.: stages),
wobei jede Stufe mit einer Ziffer j N
0
=
{0, 1, ..., n} bezeichnet wird. Ist
j R so handelt es sich um ein stetiges System. Dies ist beispielsweise der
Fall, wenn die kontinuierliche Zeit zur Kennzeichnung von Stufen benützt wird.
Bei der dynamischen Programmierung wird ein Problem, welches sich über
mehrere Perioden oder Stufen erstreckt, in Teilprobleme zerlegt, welche einzeln
lösbar sind. Jedes Teilproblem ist vom selben Problemtyp wie das vollständige
45

6 Dynamisches Programm
Problem und wird daher mit derselben Methode gelöst (z.B. Simplexverfah-
ren). Die Lösung des Teilproblems einer Stufe fließt als Information in das
Teilproblem der ,,nächsten" Stufe ein, bis die letzte Stufe erreicht ist.
Induktionsreihenfolge
Zu beachten ist, dass es zwei mögliche Reihenfolgen
gibt, die Teilprobleme zu lösen. Dadurch wird deutlich, dass der Ausdruck
,,nächste Stufe" sich nicht auf einen zeitlichen Ablauf bezieht. Betrachtet man
das Problem ausgehend von der ,,zeitlich" letzten zu treffenden Entscheidung
und löst es rückwärts, so wird dieses Verfahren als backward dynamic pro-
gramming oder auch Dynamische Programmierung mit Rückwärts-Induktion
bezeichnet. Im Falle der Erzeugung des Schichtplans über eine Woche mit ein-
stündigen Perioden würde man beispielsweise Sonntag 24 Uhr als erste Stufe
wählen (j = 168) und die nächste zu lösende Stufe wäre Sonntag 23 Uhr
(j = 167).
Bei der DP mit Vorwärts-Induktion (forward dynamic programming) ist das
erste zu lösende Teilproblem die ,,zeitlich" erste zu treffende Entscheidung und
die Lösung der Teilprobleme erfolgt vorwärts laufend. Beim Schichtplan würde
man beispielsweise bei Montag 0 Uhr
19
beginnen (j = 0) und als nächste zu
lösende Stufe Montag 1 Uhr (j = 1) wählen.
Beide Induktionsverfahren führen, falls sie angewandt werden können, zu
der identischen optimalen Lösung. Die Interpretation der Teillösungen auf den
einzelnen Stufen ist unterschiedlich. Dies wird in Kapitel 6.2.2 am Beispiel der
Schichtplanung erläutert.
Zustand
Auf jeder Stufe j können verschiedene Zustände angenommen wer-
den, welche mit der Zustandsvariablen x
j
X
j
abgebildet werden. X
j
stellt
hierbei die Menge aller Zustände auf der Stufe j dar. Möchte man einen spezifi-
schen Zustand der Stufe j kennzeichnen, so wird im späteren Teil die Notation
x
k
j
mit k K
j
verwendet. Die Menge K
j
beinhaltet hierbei die Indizes aller
Zustände auf der Stufe j.
Je nach Problemstellung ist die Charakterisierung eines Zustands unter-
schiedlich. Ein Zustand wird durch verschiedene Komponenten charakterisiert.
Ein Zustand könnte beispielsweise in einem Kürzeste Wege Problem durch die
bereits zurückgelegte Wegstrecke und dem bisherigen Benzinverbrauch defi-
niert sein.
Entscheidung
Eine mögliche Entscheidung a
j
A(x
j
) wird getroffen, um
vom Zustand x
j
in den Zustand x
j+1
zu gelangen. Die Menge A(x
j
) enthält
demnach alle Entscheidungen, welche in Abhängigkeit des Zustandes x
j
mög-
lich sind.
19
Montag 0 Uhr ist gleich Sonntag 24 Uhr.
46

6 Dynamisches Programm
Ausgehend von einem Zustand können demnach bestimmte Entscheidungen
getroffen werden, wodurch der jetzige Zustand in einen neuen Zustand auf
der nächsten Stufe transformiert wird. Zu beachten ist, dass die Menge der
möglichen Entscheidungen A(x
j
) vom aktuellen Zustand abhängen. Beispiels-
weise könnte die Aktion ,,Fahre weiter" in einem Wegenetz nicht möglich sein,
wenn bereits der ganze Benzinvorrat - welcher den Zustand charakterisiert -
verbraucht worden ist.
Transformationsfunktion
Der Übergang zwischen zwei Zuständen wird über
die Transformationsfunktion t(x
j
, a
j
) abgebildet. Es gilt x
j+1
= t(x
j
, a
j
).
Durch die Transformationsfunktion werden die Komponenten, welche einen
Zustand beschreiben, aktualisiert. Beispielsweise wird durch die Funktion t(x
j
, a
j
)
der neue Zustand x
j+1
dadurch festgelegt, dass die zurückgelegte Wegstrecke
um 10 km steigt und der Benzinverbrauch sich um 3 Liter erhöht. Es könnte
hierbei a
j
=
{Fahre weiter} sein. Durch den aktuellen Zustand x
j
und der
Aktion a
j
wird also vorgegeben, dass im Zustand x
j+1
nun 10 km mehr zu-
rückgelegt und 3 Liter mehr Benzin als im Zustand x
j
verbraucht worden sind.
Ertragsfunktion
Anfallende Kosten bzw. Erträge beim Übergang zwischen
zwei Zuständen werden mit der Ertragsfunktion r(x
j
, a
j
) mit r : X
j
× A
j
R
ermittelt.
Meist ist bei der DP das Ziel, die kumulierten Erträge über alle Stufen zu
optimieren. Ein Beispiel für kumulierte Erträge könnte der summierte Wert
der Gegenstände sein, welche in einem Knapsack-Problem eingeplant werden
können. Hierbei stellt die Einplanung eines Gegenstandes j eine Stufe dar.
20
Optimalitätsprinzip
Nach dem Optimalitätsprinzip setzt sich bei Problemen,
welche mit der dynamischen Programmierung gelöst werden können, jede op-
timale Lösung aus optimalen Teillösungen zusammen.
Richard Bellman (Bellman 1959) drückte dies wie folgt aus. ,,An optimal
policy has the property that whatever the initial state and initial decisions are,
the remaining decisions must constitute an optimal policy with regard to the
state resulting from the first decision." (S. 83)
Das oben genannte Optimalitätsprinzip wurde ursprünglich für ein DP mit
Rückwärts-Induktion formuliert. In Bhavnani und Chen (1966)
21
wird dieses
Prinzip für ein DP mit Vorwärts-Induktion angepasst.
,,An optimal policy has the property that whatever the ensuing state and
decisions are, the preceding decisions must constitute an optimal policy with
regard to the state existing before the last decision."
20
Für eine ausführliche Darstellung zur Modellierung und Lösung von Knapsack Problemen
mit der dynamischen Programmierung siehe Kellerer et al. (2004).
21
zitiert nach Seinfeld und Lapidus (1968, S. 475).
47

6 Dynamisches Programm
Damit das Optimalitätsprinzip angewendet werden kann, müssen beim Pro-
blem, welches mit dynamischer Programmierung gelöst werden soll, zwei Be-
dingungen erfüllt sein. Diese werden u. a. in Cooper und Cooper (1981, Kapi-
tel 3) diskutiert:
1. Trennbarkeit der Zielfunktion
2. Markov-Eigenschaft der Zustände
Die erste Eigenschaft bedeutet, dass der Wert der Zielfunktion in dem Sinne
trennbar ist, dass die Änderung des Zielfunktionswertes auf einer Stufe j nur
von der Entscheidung a
j
und dem Zustand x
j
abhängt.
Die Markov-Eigenschaft bedeutet, dass nach einer Entscheidung a
j
auf der
Stufe j der hieraus resultierende Zustand x
j+1
nur von x
j
und a
j
abhängt.
Die beiden Bedingungen werden in Kapitel 6.2.1 am konkreten Beispiel der
Schichtplanung erläutert.
Um einen Zusammenhang zwischen den einzelnen Stufen herstellen zu kön-
nen, wird eine Rekursionsgleichung verwendet, welche eine Verbindung zwi-
schen den kumulierten Erträgen bis zu einer Stufe mit den Erträgen der nächs-
ten Stufen herstellt.
Rekursionsgleichung
Mathematisch ausgedrückt ergibt das Optimalitätsprin-
zip eine Rekursionsgleichung. Diese gibt im Fall der Vorwärts-Induktion für ein
Minimierungsproblem die rekursive Folge von Wertfunktionen V (x
j
) an. Hier-
bei wird die Wertfunktion V (x
j
) für die Vorwärts-Induktion in Worten wie
folgt definiert:
V (x
j
) := Optimaler Wert von allen bisherig getroffenen Entscheidungen
unter der Voraussetzung, dass man sich im Zustand x
j
befindet und
bereits j Stufen absolviert hat.
Die Wertfunktion ist somit durch
V (x
j+1
) = min
a
j
A(x
j
)
{r(x
j
, a
j
) + V (x
j
)
}
(45)
unter den Nebenbedingungen
V (x
0
) = r
init
a
j
A(x
j
)
x
j+1
= t(a
j
, x
j
)
gegeben. Wenn deutlicher ausgedrückt werden soll, dass die Wertfunktion -
wie im Bellmanschen Optimalitätsprinzip postuliert - nur von den Zuständen
x
j
und Entscheidungen a
j
abhängt, lässt sich die Gleichung zu
V (t(a
j
, x
j
)) = min
a
j
A(x
j
)
{r(x
j
, a
j
) + V (x
j
)
}
(46)
48

6 Dynamisches Programm
unter den Nebenbedingungen
V (x
0
) = r
init
a
j
A(x
j
)
x
j+1
= t(a
j
, x
j
)
umformen. Der Parameter r
init
gibt den Wert der Zielfunktion auf der Stufe
j = 0 an und ist in den meisten Fällen Null.
Die Gleichung für V (x
j
) stellt eine Funktionalgleichung
22
dar und ist daher
auch unter diesem Namen bekannt.
Politik
Eine Politik stellt eine Folge a = (a
0
, ..., a
n-1
) von Entscheidungsva-
riablen dar. Die dazugehörige Zustandsfolge mit x
0
= x
init
, x
j+1
= t
j
(x
j
, a
j
)
mit j = 0, ..., n - 1 wird durch x = (x
0
, ..., x
n
) dargestellt. Hierbei gibt x
init
den Ausgangszustand an, mit welchem das DP begonnen wird.
Optimale Politik
Sei n die letzte Stufe eines Optimierungsproblems und sei
j
n. Sei weiterhin bei der Vorwärts-Induktion DP (x
j
) als das dynamische
Optimierungsproblem definiert, welches mit x
j
in der Stufe j endet. Sei zu-
sätzlich a
eine optimale Politik für DP (x
n
) und x
die dazugehörige optimale
Folge von Entscheidungen, d. h. a
und x
geben die optimale Politik und die
optimale Folge von Entscheidungen für das gesamte Optimierungsproblem von
Stufe 0 bis n an.
Nach dem Optimalitätsprinzip ist somit eine Teilfolge a
0
, ..., a
j-1
eine opti-
male Politik für DP (x
j
) und x
0
, ..., x
j
ist deren Folge von Zuständen.
23
Eine
optimale Politik ist die Folge von Entscheidungen, welche die Wertfunktion
optimiert.
Einteilung von Modellen der dynamischen Programmierung
Folgende Un-
terscheidungen können im Allgemeinen bei Modellen der dynamischen Pro-
grammierung getroffen werden:
· Je nach Modellierung der Stufen (stetig oder diskret) werden die Modelle
in kontinuierliche bzw. diskrete dynamische Programmierung unterteilt.
22
Eine Funktionalgleichung ist eine Gleichung, in welcher eine Funktion als implizite Funk-
tion ausgedrückt wird. Dies bedeutet, dass die abhängige Variablen (hier:
V (x
j
)) nicht
explizit durch die unabhängige Variable
x
j
ausgedrückt wird. Wie auch hier der Fall,
wird der Wert einer Funktionalgleichung an einer bestimmten Stelle oftmals in Abhän-
gigkeit ihres Wertes an einer anderen Stelle beschrieben, z.B.
V (x
j
) =
c + V (x
j-1
) mit
c R. Rekursionsgleichungen sind hierbei eine Klasse der Funktionalgleichungen.
23
Das Optimalitätsprinzip für Rückwärts-Induktion wäre unter der Definition, dass ein dy-
namisches Optimierungsproblem, welches mit
x
j
in der Stufe
j gestartet wird, als DP (x
j
)
bezeichnet. Für eine optimale Lösung gibt es nach dem Bellmanschen Optimalitätsprinzip
eine Politik
a
, welche für das
DP (x
0
) eine optimale Folge von Entscheidungen darstellt.
Die dazugehörige Folge von Zuständen wird durch
x
ausgedrückt. Somit ist a
k
, ..., a
n-1
eine optimale Politik für
DP (x
k
) und
x
k
, ..., x
n
deren Folge von Zuständen.
49

6 Dynamisches Programm
· Ist das Resultat der Entscheidungen r
j
(x
j
, a
j
) mit Unsicherheit verbun-
den, so spricht man von stochastischer DP und es werden die erwarteten
statt der sicher eintretenden Erträge optimiert. Im vorliegenden Fall wird
durch eine Entscheidung die Zielfunktion um einen festen vorher bekann-
ten Wert verändert und man spricht von deterministischer DP.
Diese Arbeit behandelt den Fall eines diskreten deterministischen DPs. Für
eine Behandlung von stetigen DPs sei auf Bertsekas (2005) verwiesen. Stochas-
tische DPs werden von Sennott (1999) dargestellt.
6.2 Beschreibung des grundlegenden DPs
Im vorliegenden Fall der Erzeugung eines Schichtplans wird eine Vorwärts-
Induktion gewählt. Unabhängig von der Induktionsart erhält man als Ergebnis
den optimalen Schichtplan. Es sei daran erinnert, dass ein optimaler Schicht-
plan hierbei derjenige ist, durch dessen Anwendung die kleinsten reduzierten
Kosten entstehen.
Das allgemeine dynamische Programm sieht bei Minimierung der reduzierten
Kosten C wie folgt aus.
Minimiere C =
n-1
j=0
r(x
j
, a
j
)
unter den Nebenbedingungen
x
j+1
= t
j
(x
j
, a
j
)
x
0
= x
init
x
j
X
j
a
j
A(x
j
)
Zuerst wird in Kapitel 6.2.1 die dynamische Programmierung auf das ver-
einfachte Modell angewandt. Das vereinfachte Modell des dynamischen Pro-
gramms beschränkt sich auf dieselben Nebenbedingungen wie das grundle-
gende MIP in Kapitel 5.1. Es berücksichtigt die Mindest- und Höchstdauern
der Arbeit pro Tag, die Mindestpausendauer zwischen zwei Schichten und die
Höchstarbeitsdauer pro Woche.
Danach wird in Kapitel 6.2.2 auf die Induktionsreihenfolge eingegangen und
erklärt, welche kurzfristigen Modifikationen am Schichtplan mit welcher In-
duktionsreihenfolge möglich sind. Anschließend wird in Kapitel 6.2.3 der Al-
gorithmus für das vereinfachte Modell eingeführt und es wird erläutert, welche
Schritte zur Bestimmung eines optimalen Schichtplans notwendig sind.
In Kapitel 6.3 wird der Algorithmus um den Dienst, die Überstunden und
Fehlstunden, die Mittagspause und das Startzeitfenster ergänzt. Darauf wird in
Kapitel 6.4 eine weitere Modifikation des Algorithmus erläutert. Hierbei wird
50

6 Dynamisches Programm
das Startzeitfenster anders modelliert und die Zeit, in welcher keine Nachfrage
nach Ärzten besteht, wird im Algorithmus berücksichtigt, was beides zu einer
Beschleunigung der Lösungsdauer führt. Das vollständige Modell des DPs,
welches alle Nebenbedingungen berücksichtigt, ist im Anhang B enthalten.
6.2.1 Modellierung des RCSPs als DP
In diesem Kapitel wird erläutert, wie ein dynamisches Programm als Lösungs-
methode für das in Kapitel 4 formulierte RCSP modelliert werden kann. Hier-
bei wird darauf eingegangen, wie eine Stufe, ein Zustand, eine Entscheidung
bzw. eine Politik dargestellt wird und warum das Optimalitätsprinzip für das
beschriebene Problem gilt. Für die allgemeine Modellierung eines dynamischen
Programms für ein RCSP sei sowohl auf Hartel und Glaser (1996) als auch auf
Righini und Salani (2008) verwiesen.
Eine Stufe j entspricht einem Knotenpaar des RCSPs, also einem Zeitpunkt.
Im Folgenden wird um die Notation einfach zu halten, davon ausgegangen, dass
die Schichtplanung stundenweise durchgeführt wird. Für einen Planungshori-
zont über eine Woche und stündlicher Unterteilung gibt es demnach 7
· 24 +
1 = 169 Stufen von 0,..., 168. Hierbei ist die Anzahl ungerade, da man noch
eine letzte Stufe benötigt, um das Ende der letzten Periode n = 168 zu kenn-
zeichnen. Die Nummer j einer Stufe gibt die j-te Stunde seit Wochenbeginn
an.
Abbildung 8 zeigt die Zusammenfassung eines Knotenpaares [a,a+1] bzw.
[a+2,a+3] zu der Stufe j bzw. j + 1, wobei a und a + 2 aus den oberen Knoten
sind.
Die Notation der Kantengewichte
j
zwischen den Stufen j und j + 1 weicht
von der bisherigen Notation ab. Bisher galt für die Kantengewichte einer Pause,
dass
a,a+3
=
a+1,a+3
= 0 ist. Für die Gewichte einer Arbeitsperiode galt
a,a+2
=
a+1,a+2
. Es gilt nun, dass
j
=
a,a+2
=
a+1,a+2
. Überdies werden
a,a+3
bzw.
a+1,a+3
, da diese stets Null sind, nicht mehr berücksichtigt.
a
a + 2
a + 1
a + 3
...
...
...
...
j
j
j+1
Abb. 8: Stufen im dynamischen Programm.
Jeder Stufe werden Zustände zugewiesen. Jeder Zustand x
j
auf der Stu-
fe j ergibt sich aus einem Pfad vom Quellknotenpaar zum Knotenpaar j. Die
51

6 Dynamisches Programm
Zustände sind im Grundmodell durch den Ressourcenverbrauch an Wochen-
arbeit, Arbeit und Pause und durch den Zielfunktionswert beschrieben. Der
Zielfunktionswert ist die negative Summe der Kantengewichte der Kanten, auf
denen im Pfad bis zur Stufe j gearbeitet wurde.
Die möglichen Entscheidungen a
j
A
j
(x
j
) =
P{l, p}
24
sind im Grund-
modell durch Arbeit l (engl. labour
25
) und Pause p gegeben.
Die Politik ist ein erzeugter Schichtplan. In Abbildung 1 auf Seite 3 wird
beispielsweise die Entscheidung a
j
= l durch die Zahl Eins und die Entschei-
dung a
j
= p durch die Zahl Null repräsentiert.
Das Optimalitätsprinzip kann angewandt werden, da die Trennbarkeit
der Zielfunktion (Voraussetzung 1) und die Markov-Eigenschaft der Zustände
(Voraussetzung 2) vorliegen. Dies kann aus folgenden Gründen angenommen
werden.
Die Trennbarkeit der Zielfunktion (1) bedeutet, dass der Effekt auf die Ziel-
funktion auf einer Stufe j nur vom Zustand x
j
und von der Entscheidung a
j
abhängt. Die Zielfunktion (Bedingung 1, Kapitel 5.1.1) wird in der DP als
j{0,...n-1}
(
-
dem
j
· I
{l}
(a
j
)) geschrieben.
26
Ob in der Zielfunktion ein weite-
res
-
dem
j
addiert wird, hängt nur von der Entscheidung a
j
ab. Diese hängt
wiederum lediglich von x
j
ab, da a
j
A
j
(x
j
) ist.
Voraussetzung (2) besagt, dass ein Zustand x
j
nur von dem vorherigen Zu-
stand x
j-1
und der Entscheidung a
j-1
, welche zu diesem Zustand geführt hat,
abhängt. Diese Bedingung ist erfüllt, da x
j
= t(x
j-1
, a
j-1
) und die Transfor-
mationsfunktion t von keinen weiteren Variablen abhängt.
Die Transformationsfunktion und die Rekursionsgleichung für die Schicht-
planung werden in Kapitel 6.2.3 definiert.
6.2.2 Induktionsreihenfolge des DPs
Die Schichtplanung wird mit Vorwärts-Induktion gelöst. Eine Betrachtung mit
Rückwärts-Induktion wäre auch möglich. Beide Verfahren führen auf den opti-
malen Schichtplan, unterscheiden sich jedoch in den Ergebnissen, welche man
auf den einzelnen Stufen erhält. Dies und die Verwendbarkeit der einzelnen
Informationen in der Praxis in Abhängigkeit der Induktionsreihenfolge werden
im Folgenden verdeutlicht.
Rückwärts-Induktion
Ausgehend von einem beliebigen Zustand x
j
lässt sich
der Schichtplan erstellen, welcher zum Ende der Woche den Zielfunktionswert
optimiert, unter der Voraussetzung, dass dieser Teilschichtplan beim Zustand
24
P stellt das Zeichen für die Potenzmenge dar. Abweichend von der gebräuchlichen Defi-
nition, ist in dieser Arbeit die leere Menge nicht Bestandteil der Potenzmenge.
25
Aufgrund der bereits assoziierten Indizes
w für die Woche und a für die Entscheidung a
j
wurde der Index
l für die Arbeit gewählt.
26
I
{l}
(
a
j
) ist das Symbol der Indikatorfunktion, welche im Symbolverzeichnis definiert wird.
52

6 Dynamisches Programm
x
j
startet (x
j
- x
(j)
n
). Hierbei ist x
(j)
n
der beste Endzustand, welcher vom
Zustand x
j
aus zu erreichen ist.
Vorwärts-Induktion
Das dynamische Programm enthält auf jeder Stufe Tei-
linformationen. Bei der Vorwärts-Induktion kann man anhand dieser rekon-
struieren, wie der beste Schichtplan von Wochenbeginn zu einem bestimmten
gewählten Zustand einer konkreten Stufe j ist. Beispielsweise sei der gewünsch-
te Zustand x
j
dadurch gekennzeichnet, dass der Arzt 16 Stunden gearbeitet
hat
R
A
j
= 16 , bereits die Mindestpausenlänge nach seiner letzten Schicht
absolviert hat
R
P
j
R
P
und einen Zielfunktionswert von höchstens -1250
(obj)
j
-1250 haben soll. Aus der Lösung des DPs lassen sich anhand der
gespeicherten Informationen diejenigen Schichtpläne erstellen, bei welchen es
möglich ist in Stufe j einen solchen Zustand x
j
zu erreichen. Es lassen sich
demnach alle Schichtpläne vom Anfangszustand x
init
bis zum vorgegebenen
Zustand x
j
rekonstruieren (x
init
- x
j
).
Bedeutung in der Praxis
Die Anwendung der Rückwärts- bzw. Vorwärts-
Induktion könnte in der Praxis folgendermaßen genützt werden. Man kann
beispielsweise daran interessiert sein, wie ein Schichtplan innerhalb der laufen-
den Woche modifiziert werden sollte, falls es notwendig wird, dass der Arzt von
dem optimalen Schichtplan a
abweicht, also einen Zustand x
j
annimmt, wel-
cher nicht in x
enthalten ist. Dies kann anhand der Informationen aus dem DP
mit Rückwärts-Induktion berechnet werden. Man betrachtet hierzu die Stufe j
und wählt ausgehend vom Zustand x
j
die weiteren Zustände x
j+1
, ..., x
n
bis
zur letzten Stufe n der Woche.
Können Ärzte bei der Planung ihrer Schichtpläne Wünsche äußern, so eignet
sich die Vorwärts-Induktion. Angenommen, ein Arzt möchte ab Freitag Urlaub
nehmen und bis dahin seine vertragliche Wochenarbeitszeit von 42 Stunden ab-
solviert haben. Anhand dieses Zielzustandes
R
A
j
= 42 kann mit den In-
formationen aus dem DP mit Vorwärts-Induktion derjenige Schichtplan erstellt
werden, welcher unter Berücksichtigung der Präferenzen des Arztes optimal ist.
In der vorliegenden Arbeit ist ein dynamisches Programm mit Vorwärts-
Induktion gewählt worden, um Präferenzen von Ärzten berücksichtigen zu
können. Mit der Methode der Vorwärts-Induktion kann auch der optimale
Restschichtplan einer Woche nach Modifikation des geplanten Schichtplans er-
zeugt werden. Hierzu setzt man als Anfangszustand x
0
= x
j
und löst das DP
über die restlichen Tage erneut. Die Berücksichtigung von Präferenzen ist über
die Rückwärts-Induktion jedoch nicht immer möglich. Es ist denkbar, dass der
gewählte Präferenzzustand im Laufe des DPs mit Rückwärts-Induktion nicht
erstellt wird, da dieser Zustand nicht zur Konstruktion des optimalen Schicht-
plans notwendig ist.
53

6 Dynamisches Programm
6.2.3 Darstellung des Algorithmus
Der gewählte Algorithmus, um das dynamische Programm zu lösen, ist ein
Label Setting Algorithmus. Er beruht auf den Ausführungen von Righini und
Salani (2008), Desrochers und Soumis (1988) und Desrosiers et al. (1995). Um
einen Zusammenhang von Label Setting Algorithmus, Dijkstra Algorithmus
und der dynamischen Programmierung zu erhalten, sei auf Sniedovich (2006)
verwiesen.
Jeder Zustand auf einer Stufe wird durch ein Label repräsentiert. Dieses
beinhaltet den Ressourcenverbrauch der verschiedenen Ressourcen
27
, den Ziel-
funktionswert und weitere Komponenten, welche notwendig sind, um die ent-
sprechenden Nebenbedingungen abzubilden. Diese Komponenten werden in
den folgenden Kapiteln eingeführt. Die optimale Lösung wird durch das Label
mit dem geringsten Zielfunktionswert auf der letzten Stufe dargestellt. Aus-
gehend von diesem Label lassen sich alle optimalen Vorgängerzustände und
Vorgängerentscheidungen rekursiv berechnen.
Der Algorithmus erweitert alle Zustände und geht dabei in aufsteigender
Reihenfolge von der ersten bis zur letzten Stufe. Dies wird solange fortgesetzt,
bis durch die Transformationsfunktion von allen Zuständen mit allen dort mög-
lichen Entscheidungen die Folgezustände gebildet wurden.
Die Effektivität des Algorithmus beruht auf der Anzahl an erzeugten Zu-
ständen. Von jedem Zustand entspricht die maximal mögliche Anzahl an neu-
en Zuständen der Anzahl an möglichen Entscheidungen, d. h. die Anzahl an
Zuständen nimmt exponential zu. Um die Anzahl möglichst gering zu halten,
werden nur effiziente Zustände fortgesetzt.
Ein Zustand ist effizient, falls dieser von keinem anderen dominiert wird.
Wird ein Zustand dominiert, so bezeichnet dies, dass ein Zustand im Ver-
gleich zu einem anderen Zustand anhand gewisser Kriterien ,,schlechter" ist.
28
Regeln bzw. die Kriterien für die Dominanz zwischen zwei Zuständen werden
in diesem Kapitel eingeführt und in den folgenden Kapiteln an die Erweiterun-
gen angepasst. Ein nicht-effizienter bzw. dominierter Zustand kann nicht mehr
das Optimum auf der letzten Stufe erreichen und kann somit gelöscht werden.
Nachdem durch die Transformationsfunktion ein neuer Zustand auf der Stufe j
erzeugt wurde, werden alle Zustände x
j
X
j
anhand von Dominanzregeln auf
ihre Effizienz überprüft. Dieser Vorgang wird als EF F (X
j
) abgekürzt. Wird
ein Zustand durch die Transformationsfunktion benutzt, um einen neuen Zu-
stand zu erzeugen, so wird das Label des ,,alten" Zustands dauerhaft, d. h.,
27
Die Ressourcen sind ,,zurücksetzbare" Ressourcen, welche durch
t(x
j
, a
j
) in Abhängigkeit
von
x
j
und
a
j
auf einen Wert Null bzw. Eins zurückgesetzt werden können. Es sei hierzu
auf die Ausführungen in Kapitel 4.2 verwiesen.
28
Beispielsweise ist ein Zustand ,,schlechter", wenn er im Vergleich zu einem anderen Zustand
auf derselben Stufe einen höheren Zielfunktionswert und einen höheren Verbrauch an der
Ressource ,,Wochenarbeit" besitzt.
54

6 Dynamisches Programm
es kann nicht mehr dominiert werden. Im Folgenden wird auch der Begriff
,,Effizienzprüfung" für die Anwendung von EF F (X
j
) verwendet.
Die Reihenfolge der Bearbeitung der Stufen und die Reihenfolge der Bear-
beitung der Labels einer Stufe kann variiert werden. Stufen werden in dieser
Arbeit in aufsteigender Reihenfolge bearbeitet. Sind alle Zustände einer Stu-
fe durch die Transformationsfunktion behandelt worden, so wird die nächste
Stufe betrachtet. Die Abarbeitung der einzelnen Labels innerhalb einer Stufe
kann verschiedene Reihenfolgen haben, je nach Sortierung der Menge X
j
. Die
Sortierung wird durch ORDER(X
j
) dargestellt. Die zeitliche Effizienz ver-
schiedener Sortierungen wird in Kapitel 7.2.2 diskutiert. Mögliche Reihenfol-
gen sind aufsteigende oder absteigende Labelnummern,
29
die Sortierung nach
Zielfunktionswert oder die Sortierung nach Wochenarbeitszeit.
Im Algorithmus wird die Erstellung eines Schichtplans in Wochenprobleme
zerlegt, indem Schichtpläne für einzelne Wochen w W gebildet und die-
se dann kombiniert werden. Dieses Vorgehen ist notwendig aufgrund der Be-
rücksichtigung des maximalen Startzeitfensters T
win
innerhalb einer Woche.
Dieses kann für jede Woche unterschiedlich sein. Hierdurch können weniger
Labels aufgrund von Dominanzen gelöscht werden, wodurch eine große Anzahl
an Labels generiert werden müsste. Hierdurch verliert der Algorithmus seine
Effizienz. Eine ausführliche Erklärung wird in Kapitel 6.3.4 gegeben. In Kapi-
tel 6.5 wird erläutert unter welchen Bedingungen dieses Vorgehen dennoch zur
optimalen Lösung führt.
Das Vorgehen zur Erzeugung des optimalen Schichtplans ist zweigeteilt. Zu-
erst werden alle Labels von der ersten bis zur letzten Stufe über alle Wochen
erzeugt. Danach wird vom letzten Label ausgehend rekursiv die optimale Folge
von Zuständen und die optimale Politik bestimmt.
Der Ablauf des Algorithmus der ersten Stufe wird im Folgenden in Algorith-
mus 1 dargestellt.
Es werden die Wochen des Schichtplans in aufsteigender Reihenfolge durch-
laufen (1) und am Anfang für die Stufe Null der Zustand x
0
initialisiert (2)
und der Menge der Zustände X
0
zugewiesen (3). Um die Notation zu verein-
fachen, wurde bei den Zuständen bzw. Entscheidungen und deren Mengen auf
den Index der Woche verzichtet.
30
Für alle restlichen Stufen j = 1, ...n (4)
wird zuerst die Menge der Zustände (Labels) nach der gewünschten Reihen-
folge sortiert (5), bevor alle Zustände daraus nach der sortierten Reihenfolge
abgearbeitet werden (6). Zu jedem Zustand werden zudem die entsprechenden
möglichen Entscheidungen bestimmt (6) und der neue Zustand x
j
der nächsten
29
Aufsteigende Labelnummern, d. h., das erste entnommene Label hat den kleinsten Index,
entspricht dem First In First Out (FIFO) Verfahren. Das Label, welches zuerst für die
Stufe
j erzeugt wurde, wird wieder als erstes verwendet um in die Transformationsfunk-
tion
t(x
j
, a
j
) =
x
j+1
einzufließen. Analog entspricht die Entnahme nach absteigender
Labelnummer dem Last In First Out (LIFO) Verfahren.
30
Sonst müsste es beispielsweise
x
w,j-1
bzw.
a
w,j-1
lauten.
55

6 Dynamisches Programm
Algorithmus 1 Erzeugung aller nicht-dominierten Labels
1:
for w = 1 to |W| do
2:
x
0
x
init
3:
X
0
=
{x
0
}
4:
for j = 1 to n do
5:
ORDER(X
j-1
)
6:
for all x
j-1
X
j-1
, a
j-1
A
j-1
(x
j-1
) do
7:
x
j
t (x
j-1
, a
j-1
)
(I,II,III,IV)
8:
X
j
= X
j
{x
j
}
9:
EFF(X
j
)
(V)
10:
end for
11:
end for
12:
end for
Stufe wird mit der Transformationsfunktion berechnet (7). Dieser wird darauf
zu der Menge der Zustände X
j
hinzugefügt (8). In der Menge X
j
werden nun
alle Zustände auf ihre Effizienz hin überprüft (9), d. h. dominierte Zustände
werden gelöscht. Die Schritte (5) bis (9) werden bis Erreichen der vorletzten
Stufe n-1 wiederholt, aus welcher sich die Zustände der letzten Stufe ergeben.
Die römischen Ziffern beschreiben die einzelnen Bestandteile, welche für die
Realisation des Algorithmus notwendig sind. Um den Übergang von einem zum
nächsten Zustand mithilfe der Transformationsfunktion zu beschreiben (Zei-
le 7), ist es notwendig, die Ertragsfunktion (I) und den Aufbau eines Labels (II)
zu kennen. Die Ertragsfunktion beschreibt die Aktualisierung der Zielfunktion
von einem zum nächsten Zustand. Des Weiteren müssen sowohl die mögli-
chen Entscheidungen a
j-1
A
j-1
(x
j-1
) beschrieben werden (III) als auch die
Transformationsfunktion (IV) an sich. Diese beschreibt, wie die Komponenten
eines Labels geändert werden, um das Label auf der nächsten Stufe zu bil-
den. Als letztes wird die Effizienz der Labels (V) anhand von Dominanzregeln
bestimmt.
Der Ablauf des Algorithmus 2 zur Bestimmung der optimalen Zustandsfolge
und der optimalen Politik ist Folgender.
Algorithmus 2 Bestimmung der optimalen Politik
1:
x
w
1
, ..., x
w
|W|
arg min
k
i
K
i
iW
|W|
i
(obj)
k
i
w
i
s. t. NB
(A)
2:
for i = |W| to 1 do
3:
x
n
x
w
i
4:
for j = 1 to n do
5:
x
n-j
, a
n-j
x
n-j
, a
n-j
|
V (x
n-j+1
)
=
{r(x
n-j
, a
n-j
) + V (x
n-j
)
} x
n-j
X
n-j
, a
n-j
A
n-j
(B)
6:
end for
7:
end for
Zuerst werden die Zustände der letzten Stufe x
w
i
aller Wochen i W be-
stimmt, welche in Kombination die Zielfunktion minimieren (1). Hierbei bildet
56

6 Dynamisches Programm
x
w
1
, ..., x
w
|W|
ein Tupel dieser Zustände. Für jede Woche i gibt es also genau
einen optimalen Zustand x
w
i
. Um herauszufinden, welche Labelnummer k
i
die-
ser Zustand trägt, muss die Summe aus den Zielfunktionswerten (obj)
k
i
w
i
für alle
verschiedenen Kombinationen von k
i
K
i
und i W gebildet werden. Das
Tupel k
1
, ..., k
|W|
, welches die Summe der einzelnen Zielfunktionswerte (obj)
k
i
w
i
minimiert, beschreibt die Labelnummern. Es müssen hierbei Nebenbedingun-
gen bei der Kombination der einzelnen Endzustände berücksichtigt werden.
Dieser Schritt des Algorithmus wird als Teil A bezeichnet und die Nebenbe-
dingungen werden in den späteren Kapiteln erklärt.
Als nächster Schritt wird für jede Woche (2) der beste Endzustand als x
n
bezeichnet (3). Ausgehend von diesem optimalen Zustand wird mithilfe der
Rekursionsgleichung der vorhergehende optimale Zustand x
n-j
und die opti-
male Entscheidung a
n-j
in (5) ermittelt. Dies wird durch die for-Schleife in (4)
solange fortgesetzt, bis a
0
und x
0
ermittelt wurden. Dieser Schritt des Algo-
rithmus wird im Folgenden als Teil B bezeichnet.
Um die beiden Algorithmen implementieren zu können, werden in den nächs-
ten Kapiteln die Details der Implementierung erläutert. Die Beschreibung der
einzelnen Punkte ist hierbei folgendermaßen aufgebaut.
I. Bildung der Ertragsfunktion
II. Definition des Labels, welches einem Zustand zugeordnet wird
III. Mögliche Entscheidungen a
j
in Abhängigkeit des Zustands x
j
IV. Beschreibung der Transformationsfunktion t (x
j
, a
j
)
V. Dominanzregeln, um Zustände, die nicht zum Optimum führen können,
zu löschen
VI. Bestimmung der optimalen Politik aus den berechneten Labels unter Be-
rücksichtigung der Zerlegung in Wochenproblemen (Teil A und B)
Ertragsfunktion
Die Ertragsfunktion hängt in der konkreten Problemstel-
lung nur von a
j
ab, welches aber wieder von x
j
abhängig ist, da a
j
A
j
(x
j
)
ist. Falls in der Periode (j, j + 1) gearbeitet wird, gibt die Ertragsfunktion das
negativ genommene
dem
j
zurück.
r(x
j
, a
j
) =
-
dem
j
· I
{l}
(a
j
) =
-
dem
j
, für a
j
= l
0
, für a
j
= l
(47)
57

6 Dynamisches Programm
Label
Jedem Zustand auf der Stufe j wird ein Label L
k
j
zugeordnet mit k
K
j
. Somit ist das Label L
k
j
das k-te Label auf der Stufe j. Im Grundmodell
wird ein Zustand durch die bis zur Stufe j verbrauchten Ressourcen an Wo-
chenarbeitszeit R
WA
, Arbeit R
A
und Pause R
P
sowie dem Zielfunktionswert
obj beschrieben. Zudem wird die Komponente s
mo
benötigt. Diese gibt an,
um wie viel Uhr die erste Schicht in der Woche begonnen wurde. Die Einfüh-
rung ist aufgrund der Zerlegung des Planungshorizonts in einwöchige Probleme
notwendig.
Ein Label besitzt daher die Form (R
W A
, R
A
, R
P
, obj, s
mo
)
k
j
. Um einzelne
Komponenten des Labels L
k
j
zu benennen, wird die Notation (R
A
)
k
j
verwen-
det, um beispielsweise den aktuellen Ressourcenverbrauch an Arbeit des k-ten
Zustands auf der Stufe j zu beschreiben.
Der Initialisierungszustand x
init
, welcher durch das Label L
1
0
ausgedrückt
wird, ist L
1
0
= (0, 0, R
P
, 0)
1
0
.
Im Folgenden wird L
k
j
auch im Sinne des Zustandes x
k
j
verwendet, welcher
durch dieses Label ausgedrückt wird.
Entscheidungen
Ausgehend von einem x
j
wird überprüft, welche Entschei-
dungen a
j
zulässig sind, d. h. es wird die Menge A
j
(x
j
) bestimmt, welche alle
möglichen Entscheidungen ausgehend vom Zustand x
j
X
j
enthält. Hierbei
ist eine mögliche Entscheidung a
j
in Abhängigkeit des Zustands x
j
·
a
j
= l für alle j mit x
j
X
j
, wenn
R
WA
j
< R
WA
- max 0; R
A
- R
A
j
(48.1)
R
A
j
< R
A
(48.2)
R
P
j
R
P
(48.3)
gilt, d. h., der Arbeitszustand x
j
ist folgendermaßen charakterisiert: Von x
j
aus kann die Mindestarbeitsdauer ohne Überschreitung von R
WA
beendet wer-
den (48.1), die Höchstarbeitsdauer wurde noch nicht erreicht (48.2) und die
Mindestpausendauer wurde absolviert (48.3).
Eine weitere Entscheidung a
j
ist
·
a
j
= p für alle j mit x
j
X
j
, wenn
R
WA
j
= R
WA
R
A
j
= R
A
(49.1)
R
A
j
R
A
(49.2)
R
P
j
< R
P
(49.3)
R
P
j
R
P
R
A
j
= 0
(49.4)
58

6 Dynamisches Programm
gilt, d. h. im Pausenzustand x
j
gilt eine der folgenden Bedingungen: Die ma-
ximale Wochenarbeitszeit bzw. Höchstarbeitsdauer wurde erreicht (49.1), die
Mindestarbeitsdauer am Tag wurde erreicht (49.2), die Mindestpausendauer
wurde noch nicht erreicht (49.3) oder die Mindestpausendauer wurde erreicht
und es wurde noch nicht begonnen zu arbeiten (49.4).
Aus obigen Beschreibungen wird deutlich, dass von bestimmten Zuständen
aus auch beide Aktionen
{Arbeit, P ause} durchgeführt werden können. Dies
trifft zu für alle x
j
X
j
: R
WA
j
< R
WA
R
A
j
R
A
R
P
j
R
P
.
Transformationsfunktion
Durch die Transformationsfunktion t(x
j
, a
j
) wird
ein neuer Zustand x
j+1
erzeugt, welcher durch das Label L
j+1
ausgedrückt
wird. Bei der Beschreibung der Transformationsfunktion wird, um die Notation
einfach zu halten, ein Label nur durch seine Stufe beschrieben und nicht durch
die Nummerierung k des Labels.
Die Transformationsfunktion t(x
j
, a
j
) hängt von der Entscheidung a
j
ab. Es
wird daher zur Darstellung t(x
j
, a
j
) nach der Entscheidung aufgeteilt. Hierbei
gibt t
l
(x
j
, l) die Transformationsfunktion für eine Arbeit a
j
= l und t
p
(x
j
, p)
die Transformationsfunktion für eine Pause a
j
= p an. Je nach Entscheidung
a
j
werden andere Komponenten eines Zustandes aktualisiert.
Das neue Label L
j+1
wird gebildet, indem das Vorgängerlabel L
j
dupliziert
wird. Dies wird im Folgenden als L
j+1
L
j
dargestellt. Danach werden ent-
sprechende Komponenten bei L
j+1
aktualisiert. Im Folgenden werden nur die
Komponenten beschrieben, welche sich von L
j
auf L
j+1
ändern. Es gilt:
t
l
x
j
, l :
R
WA
j+1
= R
WA
j
+ 1
R
A
j+1
= R
A
j
+ 1
(obj)
j+1
= (obj)
j
-
dem
j
(s
mo
)
j
= 0
(s
mo
)
j+1
= j
(50.1)
(50.2)
(50.3)
(50.4)
t
p
x
j
, p :
R
A
j+1
= 0
R
P
j+1
= min
R
P
j
· I
{p}
(a
j-1
) + 1; R
P
(51.1)
(51.2)
Anschaulich wird durch die Entscheidung für Arbeit zwischen der Stufe j und
j + 1 der Ressourcenverbrauch von Wochenarbeitszeit R
WA
(50.1) und Ar-
beitszeit R
A
(50.2) um Eins erhöht und der Zielfunktionswert (50.3) um
dem
j
erniedrigt. Der Wert von R
P
bleibt gleich und wird deswegen in keiner Glei-
chung explizit erwähnt. Wurde bisher der erste Schichtstart in der Woche noch
nicht festgelegt, so wird dieser auf j gesetzt (50.4). Der Pfeil drückt hierbei
eine Kausalität aus. Falls die Bedingung auf der linken Seite zutrifft, so folgt
die rechte Seite. Trifft die Bedingung nicht zu, so verändert sich nichts an der
Komponente (s
mo
) und es gilt (s
mo
)
j
= (s
mo
)
j+1
.
59

6 Dynamisches Programm
Bei einer Pause bleibt der Wert der Komponenten R
WA
, obj und s
mo
gleich.
Falls durch a
j
die erste Pausenperiode gegeben ist, also in Periode j - 1 kei-
ne Pause gehalten wurde, wird
R
P
j
durch die Indikatorfunktion
31
zuerst
auf Null gesetzt, bevor es um Eins erhöht wird (51.2). Ist es nicht die erste
Pausenperiode, so wird der Ressourcenverbrauch von R
P
um Eins bis zum ma-
ximalen Wert von R
P
erhöht. Die Beschränkung auf R
P
wurde gewählt, um
im späteren Abschnitt bei den Dominanzregeln möglichst wenig Unterschei-
dungen treffen zu müssen. Ein Zustand, welcher mehr als R
P
Pausenperioden
hat, unterscheidet sich von seiner ,,Güte" nicht von einem Zustand mit genau
R
P
Pausenperioden.
Es ist notwendig, R
A
j+1
= 0 zu setzen (51.1), um einen Arbeitszustand
von einem Pausenzustand unterscheiden zu können. In einem Pausenzustand
gilt R
A
j
= 0, in einem Arbeitszustand R
A
j
> 0.
Dominanzregeln
Die Effizienz des Algorithmus beruht auf der Anzahl an
erzeugten Zuständen. Um nur die notwendigen Zustände zu speichern, werden
unnötige Zustände, die in ihrer Fortsetzung nicht mehr zum Optimum führen
können, gelöscht. Hierfür sind Dominanzbeziehungen zwischen Zuständen not-
wendig. Diese werden bei der Überprüfung der Effizienz EF F (X
j
) angewandt.
Es werden zuerst allgemeine Dominanzregeln dargestellt, bevor diese, als
mathematische Bedingungen formuliert, auf das Schichtplanungsproblem an-
gewandt werden. Dominiert L
k
j
den Zustand L
k
j
, so wird dies durch L
k
j
L
k
j
ausgedrückt. Der Zustand L
k
j
braucht nicht mehr fortgesetzt und kann somit
gelöscht werden. Seien S und S die Schichtpläne, welche L
k
j
bzw. L
k
j
enthalten.
Für eine Dominanz L
k
j
L
k
j
muss allgemein Folgendes gelten:
· Setzt man den Schichtplan S fort, so müssen mindestens genauso viele
dem
(bzw. in der späteren Erweiterung auch die
D
) in die Zielfunkti-
on einbezogen werden können wie von L
k
j
aus. Sei es, weil sie nur von
L
k
j
aus erreichbar sind oder weil L
k
j
mehr Ressourcen an Arbeit bzw.
Wochenarbeit besitzt, um diese einzubeziehen.
· Der Zielfunktionswert von L
k
j
muss mindestens dem von L
k
j
entsprechen.
· Der erste Schichtbeginn in der gesamten Woche ist bei S später oder
gleich spät wie bei S .
Obige Punkte werden bei den Erklärungen der einzelnen Dominanzregeln
anhand mathematischer Bedingungen erläutert.
Für die Anwendung von Dominanzregeln werden im Grundmodell zwei Grup-
pen von Labels untereinander verglichen. Gruppe (I) mit Labels, welche den
31
Die Indikatorfunktion wird zur Vereinfachung der Darstellung verwendet. Die explizite
Modellierung der Indikatorfunktion ist in Kapitel 6.2.3 erläutert.
60

6 Dynamisches Programm
Zustand ,,Pause" durch
R
A
k
j
= 0 und Gruppe (II) mit Labels, welche den
Zustand ,,Arbeit" durch R
A
k
j
> 0 beschreiben. Seien L
k
j
und L
k
j
zwei un-
terschiedliche Labels. L
k
j
dominiert L
k
j
wenn im Grundmodell folgende Bezie-
hungen gegeben sind:
I Für R
A
k
j
= 0 und R
A
k
j
= 0 muss gelten:
R
WA k
j
R
WA k
j
(52.1)
R
P k
j
R
P k
j
(52.2)
(obj)
k
j
(obj)
k
j
(52.3)
(s
mo
)
k
j
(s
mo
)
k
j
(s
mo
)
k
j
= R
P
(52.4)
II Für
R
A
k
j
> 0 und R
A
k
j
> 0 muss gelten:
R
WA k
j
R
WA k
j
(53.1)
R
A k
j
R
A
R
A k
j
R
A
R
A k
j
= R
A k
j
(53.2)
R
A k
j
R
A k
j
(53.3)
(obj)
k
j
(obj)
k
j
(53.4)
(s
mo
)
k
j
(s
mo
)
k
j
(s
mo
)
k
j
R
P
(53.5)
Erläuterung der Dominanzregeln: In beiden Fällen I und II muss durch (52.1)
bzw. (53.1) der dominierende Zustand weniger oder gleich viel Wochenarbeits-
zeit besitzen. Überdies wird durch (52.3) bzw. (53.4) festgelegt, dass der domi-
nierende Zustand einen geringeren oder gleich großen Zielfunktionswert besitzt.
Durch (52.4) bzw. (53.5) wird vorgegeben, dass beim Schichtplan des domi-
nierenden Zustands
L
k
j
die erste Schicht der Woche später beginnt als beim
dominierten Zustand L
k
j
. Es ist auch möglich, dass bei L
k
j
die Mindestpausen-
länge R
P
absolviert wurde, bevor die erste Schicht begonnen wurde.
Bedingungen (52.4) und (53.5) sind notwendig, da der Schichtplan über dem
gesamten Planungshorizont aus der Kombination von einzelnen Wochenplänen
zusammengesetzt wird. In einem Schichtplan könnte eine Arbeit in den letzten
Perioden des Sonntags beendet werden, wodurch ein Schichtbeginn der nächs-
ten Woche aufgrund der Mindestpausenlänge erst verspätet möglich ist. Da bei
der Erstellung der Labels unklar ist, welche Wochenschichtpläne zu einem op-
timalen Schichtplan über den gesamten Planungshorizont kombiniert werden,
sind Labels dominierend, welche einen späteren ersten Schichtbeginn in der
Woche haben, da diese mit mehr Schichtplänen aus der Vorwoche kombiniert
werden können.
61

6 Dynamisches Programm
Wenn beide Labels eine Pausenperiode darstellen (Fall I), so gilt L
k
j
L
k
j
,
wenn der Zustand L
k
j
zusätzlich eine längere Pause absolviert hat (52.2).
Für den Fall II, dass beide Labels eine Arbeitsperiode darstellen, müssen
folgende Bedingungen zusätzlich gegeben sein. Bedingung (53.2) stellt sicher,
dass von beiden Zuständen ein Pausenzustand zur gleichen Zeit erreicht werden
könnte. Dies ist aus folgendem Grund notwendig: Es ist eine Situation denkbar,
in welcher beispielsweise
R
WA k
j
R
WA k
j
, R
A k
j
= R
A k
j
- 1 < R
A
und (obj)
k
j
< (obj)
k
j
gilt. Auf den ersten Blick scheint L
k
j
besser als L
k
j
zu sein. Der Zustand L
k
j
kann jedoch im Gesamten einen in Bezug auf den Zielfunktionswert schlech-
teren Endzustand ergeben. Seien hierfür S und S die Schichtpläne (Politiken),
welche L
k
j
bzw. L
k
j
enthalten. Bei S kann ausgehend von L
k
j
eine Periode eher
in die Pause gegangen werden als bei S. Sei die Stufe des frühesten Pausen-
zustands bei S mit ~j bezeichnet. Nach Absolvierung der Mindestpausendau-
er bei S kann somit ein
dem
(~j) dem Zielfunktionswert hinzugefügt werden,
welches für den Schichtplan S nicht erreichbar wäre, da im Schichtplan S in
der Stufe ~j noch die letzte Periode der Mindestpausenlänge absolviert werden
muss.
Bedingung (53.3) besagt, dass der dominierende Zustand höchstens soviel
an der Ressource R
A
verbraucht hat, wie der dominierte Zustand.
Bestimmung der optimalen Politik
Nach Berechnung aller Labels für jede
einzelne Woche, kann aus den nicht-dominierten Labels die optimale Politik
a
und die Folge der optimalen Zustände x
bestimmt werden.
Das Vorgehen hierfür gliedert sich, wie im Algorithmus 2 dargestellt, in
zwei Teilschritte A und B. In A wird aus den Endzuständen der einzelnen
Wochen w die Kombination der besten Endzustände ermittelt, wobei von jeder
Woche genau ein Endzustand berücksichtigt werden muss und der Übergang
zwischen zwei Wochen entsprechende Nebenbedingungen einhalten muss.
Für jede Woche wird darauf im Teilschritt B mithilfe der Rekursionsglei-
chung
V (t(x
j
, a
j
)) = min
aA(x
j
)
{-
dem
j
· I
{l}
(a
j
) + V (x
j
)
}
anhand des in A ermittelten Zustands x
n
die restlichen Entscheidungen a
n-j
und Zustände x
n-j
mit j = 1, ..., n ermittelt. Es wird hierbei rekursiv vor-
gegangen, um alle vorhergehenden Zustände und Entscheidungen mithilfe der
Rekursionsgleichung zu berechnen.
62

6 Dynamisches Programm
Zu A) Bezeichne w
i
die letzte Stufe einer Woche i W.
32
Die Endzustände
einer Woche werden als L
k
i
w
i
mit k
i
K
w
i
bezeichnet. Um die entsprechen-
den Endzustände zu finden, welche den Zielfunktionswert über den gesamten
Planungshorizont minimieren, ist folgendes Minimierungsproblem zu lösen.
arg min
k
i
K
wi
iW iW
(obj)
k
i
w
i
(54)
unter der Nebenbedingung
R
P k
i
w
i
+ (s
mo
)
w
i+1
R
P
i = 1, ..., |W| - 1
(55.1)
Dieses Minimierungsproblem lässt sich als Kombinationsproblem lösen. Bei ei-
nem Planungshorizont von beispielsweise drei Wochen wird aus allen Endzu-
ständen L
k
i
w
i
mit i {1, 2, 3} alle Kombinationen L
k
1
w
1
, L
k
2
w
2
, L
k
3
w
3
bestimmt.
Sind beispielsweise die Anzahl der Labels auf der letzten Stufe der Wochen
durch
|K
w
1
| = 30, |K
w
2
| = 23 und |K
w
3
| = 25 gegeben, so müssen insgesamt
30
· 23 · 25 = 17250 Kombinationen berechnet werden.
Die Kombination mit dem kleinsten Zielfunktionswert wird als Optimum
festgelegt, wodurch die drei Zustände x
w
i
mit i = 1, 2, 3 bekannt sind.
Um Nebenbedingung (55.1) im Kombinationsproblem zu berücksichtigen,
wird ein Strafterm eingeführt, z.B. M
0, welcher zum Zielfunktionswert ad-
diert wird, um zu verhindern, dass die entsprechende Kombination den kleins-
ten Zielfunktionswert bilden kann.
Zu B) Ausgehend von den x
w
i
werden nun rekursiv für jede Woche separat
die restlichen Zustände und Entscheidungen iterativ bestimmt. Da jede Woche
einzeln betrachtet wird, ist der Zustand x
w
i
im Folgenden als x
n
bezeichnet.
Es werden nun die folgenden beiden Schritte für j = 1, ..., n wiederholt.
1. Aus x
n-j+1
wird zuerst a
n-j
für j = 1, ..., n ermittelt. Es gilt
R
A
n-j+1
> 0 a
n-j
= l
j = 1, ..., n
(56.1)
R
A
n-j+1
= 0
a
n-j
= p
j = 1, ..., n
(56.2)
Ist im bekannten Zustand x
n-j+1
der Ressourcenverbrauch an Arbeit
R
A
größer als Null, so ist dies nur möglich, wenn auf der vorherigen
Stufe n - j die Entscheidung {Arbeit} getroffen wurde (56.1). Ist der
Ressourcenverbrauch gleich Null, so muss eine Pause eingelegt worden
sein (56.2).
32
Bei Perioden über eine Stunde und sieben Tage in einer Woche sind beispielsweise
w
1
=
24
· 7 = 168, w
2
= 24
· 24 = 336 etc.
63

6 Dynamisches Programm
2. Aus V (x
n-j+1
) = (obj)
n-j+1
und a
n-j
wird anschließend iterativ das
gesuchte x
n-j
X
n-j
mit der Rekursionsgleichung ermittelt. Es gilt:
V x
n-j+1
= r x
n-j
, a
n-j
+ V x
n-j
j = 1, ..., n
Es wird also iterativ derjenige Zustand x
k
n-j
mit k K
n-j
gesucht, für
welchen bei a
n-j
= l
R
A k
n-j
+ 1 = (R
A
)
n-j+1
j = 1, ..., n
(57.1)
(obj)
k
n-j
-
dem
n-j
= (obj)
n-j+1
j = 1, ..., n
(57.2)
gilt und bei a
n-j
= p Folgendes:
R
P k
n-j
+ 1 = R
P
n-j+1
(58.1)
R
P k
n-j
= R
P
R
P
n-j+1
= 1
(58.2)
R
P k
n-j
= R
P
R
P
n-j+1
= R
P
R
A
n-j+1
= 0
j = 1, ..., n
(58.3)
(obj)
k
n-j
= (obj)
n-j+1
j = 1, ..., n
(58.4)
Wurde auf der Stufe n - j als optimale Entscheidung getroffen, eine weitere
Periode zu arbeiten, so muss nach (57.1) der Ressourcenverbrauch R
A
k
n-j
aus dem unbekannten Zustand x
k
n-j
um Eins erhöht werden, um auf den be-
kannten Ressourcenverbrauch R
A
n-j+1
zu kommen. Der unbekannte Ziel-
funktionswert (obj)
k
n-j
muss nach (57.2) abzüglich von
dem
n-j
dem bekannten
Wert (obj)
n-j+1
entsprechen.
Wurde entschieden zu pausieren a
n-j
= p , so muss nach (58.1) der Res-
sourcenverbrauch R
P
k
n-j
um Eins erhöht werden, um den bekannten Res-
sourcenverbrauch
R
P
n-j+1
zu erhalten. Ist der Wert R
P
n-j+1
alternativ
gleich Eins, so muss nach (58.2) die Stufe n-j +1 das Ende der ersten Pausen-
periode sein und die Stufe n-j das Ende einer Arbeitsperiode. Im Zustand der
Arbeit gilt aufgrund der Transformationsfunktion stets R
P
k
n-j
= R
P
, sodass
der gesuchte Zustand in (58.2) diese Bedingung erfüllen muss. Wurde bereits
die Mindestpausenlänge R
P
erreicht, so wird nach der Transformationsfunk-
tion (51.2) die Ressource R
P
nicht mehr erhöht. Deshalb ist nach (58.3) der
Ressourcenverbrauch von R
P
im unbekannten Zustand x
k
n-j
und im bekann-
ten Zustand x
n-j+1
gleich R
P
und R
A
n-j+1
= 0. Letztgenannter Term ist
notwendig, um die Zustände x
k
n-j
und x
n-j+1
als Pausenzustände zu identifi-
zieren.
64

6 Dynamisches Programm
Der Zielfunktionswert muss nach (58.4) auf beiden Stufen n-j und n-j +1
gleich sein.
Es ist nicht möglich, dass die obigen Bedingungen für mehrere Zustände
x
k
n-j
zutreffen, da in diesem Fall anhand der Dominanzregeln schwächere oder
identische Zustände gelöscht werden, sodass nur ein Zustand mit den entspre-
chenden Charakteristika übrig bleibt.
Schritt 1 und 2 wird für das nächste j fortgesetzt, solange bis man (x
0
, a
0
) der
jeweiligen Woche erhält. Wurde dies bei allen Wochen fortgesetzt, so kann aus
allen ermittelten a
j
der Schichtplan des gesamten Planungshorizonts erstellt
werden.
Darstellung der Indikatorfunktionen
Die in diesem bzw. nächsten Kapitel
erwähnten Indikatorfunktionen I
{p}
(a
j-1
) bzw. I
{l}
(a
j-1
), welche bei der Be-
stimmung der möglichen Entscheidung a
j
A
j
(x
j
) verwendet werden, sind
mit Binärvariablen vergleichbar. Da im Zustand j die Entscheidung a
j-1
un-
bekannt ist, können die Werte für I
{p}
(a
j-1
) bzw. I
{l}
(a
j-1
) nicht direkt be-
stimmt werden. Daher müssen diese durch den Ressourcenverbrauch an Arbeit
bestimmt werden. Es gilt Folgendes.
I
{p}
(a
j-1
) =
1, wenn bis Stufe j mindestens eine Periode pausiert wurde,
d. h. wenn R
A
j
= 0
33
0, sonst
bzw.
I
{l}
(a
j-1
)
=
1, wenn bis Stufe j mindestens eine Periode gearbeitet wurde,
d. h. wenn R
A
j
> 0
0, sonst
Die Schreibweise mit Indikatorfunktionen ist somit eine abkürzende Schreib-
weise, um in den einzelnen Formeln auf die Bedingungen ,,Wenn R
A
j
= 0,
dann..." bzw. ,,Wenn R
A
j
> 0, dann..." verzichten zu können.
6.3 Einführung weiterer Nebenbedingungen
In diesem Kapitel wird das dynamische Programm ergänzt, um weitere Neben-
bedingungen in der Schichtplanung einplanen zu können. Es werden die Verän-
derungen erklärt, welche für die Berücksichtigung des Dienstes, der Überstun-
den, der Mittagspause und des Startzeitfensters notwendig sind. Jedes dieser
Kapitel ist folgendermaßen unterteilt. Es wird - falls zutreffend - darauf ein-
gegangen, wie sich die Ertragsfunktion ändert und welche Entscheidungen in
Abhängigkeit des Zustands möglich sind. Des Weiteren wird erklärt, wie die
33
und nach Berücksichtigung des Dienstes zusätzlich
R
D
j
= 0
65

6 Dynamisches Programm
Zustände charakterisiert sind (d. h. welche Komponenten in einem Label ent-
halten sind), wie die Zustände durch die Transformationsfunktion aktualisiert
werden, wie die Dominanzregeln abgeändert werden und wie die optimale Po-
litik bestimmt wird. Die Problembeschreibungen der einzelnen Erweiterungen,
sind in den Kapiteln 5.2.1­5.2.4 ausführlich erläutert. Das vollständige DP
wird nochmals im Anhang B dargestellt.
6.3.1 Berücksichtigung eines Dienstes
Neben der Einplanung der Arbeit wird nun ein Bereitschaftsdienst berück-
sichtigt, welcher eine feste Länge besitzt und jeden Tag zum selben Zeitpunkt
beginnt. Es dürfen pro Woche einem Arzt höchstens N
D
Dienste zugeteilt
werden. Die Arbeitszeit der Dienste wird anteilig auf die Wochenarbeitszeit
angerechnet. In Kapitel 5.2.1 werden die Nebenbedingungen dargestellt.
Durch die Einführung eines Dienstes ist eine weitere Entscheidung möglich.
Sei a
j
= d, wenn auf der Stufe j entschieden wird, einen Dienst in der Periode
(j, j + 1) zu machen.
Ertragsfunktion
Die Ertragsfunktion ändert sich zu
r(x
j
, a
j
) =
-
dem
j
· I
{l}
(a
j
)
-
D
j
· I
{d}
(a
j
) =
-
dem
j
, für a
j
= l
-
D
j
, für a
j
= d
0
, für a
j
/
{l, d}
(47b)
Es werden nun zusätzlich zu den Werten der Dualvariablen
dem
die Werte
der Dualvariablen
D
in der Ertragsfunktion berücksichtigt, wenn ein Dienst
absolviert wird.
Label
Das Label R
WA
, R
A
, R
D
, R
P
, obj, s
mo
, n
D
, d
so
k
j
mit den drei zusätzli-
chen Komponenten R
D
, n
D
und d
so
charakterisiert nun einen Zustand. Hierbei
gibt R
D
den Ressourcenverbrauch des Dienstes
34
und n
D
{0, ...N
D
} die bis-
herige Anzahl an Diensten der Woche an. Die Komponente d
so
beschreibt, ob
ein Dienst am Sonntag stattfindet und ist 1, wenn dies der Fall ist und 0 sonst.
Der Initialisierungszustand x
init
wird durch L
1
0
= (0, 0, 0, R
P
, 0, 0, 0, 0)
1
0
aus-
gedrückt. Ausgehend von diesem Label wird jede Woche separat berechnet.
Entscheidungen
Die möglichen Entscheidungen a
j
in Abhängigkeit des Zu-
stands x
j
sind nun a
j
P{l, d, p}. Dies bedeutet a
j
kann jede Kombination
aus Arbeit, Dienst und Pause annehmen.
34
Der Ressourcenverbrauch entspricht den absolvierten Stunden eines Dienstes.
66

6 Dynamisches Programm
Im Einzelnen müssen folgende Ergänzungen bei den einzelnen Entscheidun-
gen gemacht werden.
·
a
j
= l für alle j mit x
j
X
j
, wenn zusätzlich
R
D
j
= 0
(48.4)
gilt, d. h., es kann nur gearbeitet werden, wenn gerade kein Dienst absolviert
wird.
·
a
j
= p für alle j mit x
j
X
j
, wenn abweichend
R
WA
j
= R
WA
R
A
j
= R
A
R
D
j
= R
D
(49.1b)
R
A
j
R
A
R
D
j
R
D
(49.2b)
R
P
j
= R
P
R
A
j
= 0
R
D
j
= 0
(49.4b)
gilt, d. h. es kann auch pausiert werden, wenn die Höchstdauer (49.1b) oder
Mindestdauer (49.2b) für einen Dienst erreicht worden ist. Alternativ kann
die Mindestpausendauer erreicht worden sein (49.4b), wobei es sich um einen
Pausenzustand handeln muss (Ressourcenverbrauch an Arbeit und Dienst ist
Null). Es sei daran erinnert, dass in der Problemformulierung R
D
= R
D
gilt.
·
a
j
= d für alle j mit x
j
X
j
, wenn
R
WA
j
R
WA
- ~
f
1
(j)
(59.1)
R
P
j
= R
P
(59.2)
j mod 24 = S
D
R
D
> 0
(59.3)
n
D
+ I
{S
D
}
(j mod 24)
N
D
(59.4)
gilt, d. h. der begonnene Dienst kann ohne Überschreitung von
R
WA
beendet
werden (59.1). Hierbei gibt ~
f
1
(j) die Stundenanzahl des auf der Stufe j begin-
nenden Dienstes an, welcher zur regulären Wochenarbeitszeit addiert wird.
35
Zusätzlich muss die Mindestpausenlänge erfüllt sein (59.2). Ein Dienst kann
absolviert werden, wenn entweder die Stufe j den Zeitpunkt S
D
darstellt, in
welcher ein Dienst starten kann oder bereits ein Dienst gestartet wurde (59.3).
Durch (59.4) wird sichergestellt, dass ein Dienst nur begonnen wird, wenn die
Anzahl N
D
an erlaubten Diensten dadurch nicht überschritten wird.
Transformationsfunktion
Da eine neue Entscheidung eingeführt wurde, wird
nun t
d
(x
j
, d) für a
j
= d als Transformationsfunktion definiert. Im Folgenden
werden notwendige Änderungen bzw. Ergänzungen bei den bisherigen Funk-
35
~
f
1
(
j) entspricht f
1
(
j), wobei ~
f
1
(
j) für eine Stufe j und f
1
(
j) für einen Knoten j definiert
ist.
67

6 Dynamisches Programm
tionen beschrieben. Es gilt L
j+1
L
j
und die Komponenten, welche sich
zusätzlich zum Grundmodell von L
j
auf L
j+1
ändern, sind:
t
p
(x
j
, p) :
R
A
j+1
= 0
R
D
j+1
= 0
(51.1b)
t
d
x
j
, d :
R
WA
j+1
= R
WA
j
+ I
{S
D
}
(j mod 24) · ~
f
1
(j)
R
D
j+1
= R
D
j
+ 1
(obj)
j+1
= (obj)
j
-
D
j
(s
mo
)
j
= 0
(s
mo
)
j+1
= j
n
D
j+1
= n
D
j
+ I
{S
D
}
(j mod 24)
j · I
{S
D
}
(j mod 24) ·
1
24
= 7
(d
so
)
j+1
= 1
(60.1)
(60.2)
(60.3)
(60.4)
(60.5)
(60.6)
Wird eine Pause eingelegt, so wird durch (51.1b) zusätzlich R
D
j+1
= 0
gesetzt. Somit wird ein Pausenzustand durch R
A
j
= 0 und R
D
j
= 0, ein
Arbeitszustand durch R
A
j
> 0 und ein Dienstzustand durch R
D
j
> 0
gekennzeichnet. Weitere Änderungen sind für die Transformationsfunktion bei
einer Pause nicht notwendig.
Wird die Entscheidung für einen Dienst getroffen, so wird durch (60.1) die
Wochenarbeitszeit um ~
f
1
(j) erhöht, wenn der Dienst in j gestartet wurde
I
{S
D
}
(j mod 24) = 1 . Dies bedeutet, die Addition der zusätzlichen Wochen-
arbeitszeit eines Dienstes zum bisherigen R
WA
erfolgt in der ersten Periode
eines Dienstes.
Die Ressourcenvariable R
D
erhöht sich um Eins (60.2) und der Zielfunkti-
onswert wird um
D
j
verringert (60.3). Da
D
j
nur für die Anfangsperiode eines
Dienstes ungleich Null sein kann, wird ähnlich der Wochenarbeitszeit in der
ersten Periode des Dienstes auch die Verringerung der Zielfunktion berücksich-
tigt.
Wurde bisher noch keine Schicht in der Woche begonnen (s
mo
)
j
= 0 , so
wird durch (60.4) der früheste Startzeitpunkt der ersten Schicht in der Woche
auf j gesetzt.
Die Anzahl der bisher gehaltenen Dienste erhöht sich in der ersten Dienst-
periode durch (60.5) um Eins.
Aufgrund der Zerlegung in einzelne Wochenprobleme ist es notwendig zu wis-
sen, ob am Sonntag ein Dienst gehalten wird, welcher am Montag der nächsten
Woche beendet wird. Dies wird durch (60.6) berücksichtigt. Der Sonntag einer
Woche besitzt die 24 Stufen j = 144, ..., 167. Wird ein Dienst am Sonntag
gestartet, so ergibt
j · I
{S
D
}
(j mod 24) ·
1
24
= 7 und (d
so
)
j+1
wird auf Eins
gesetzt. Würden Dienste um 0 Uhr jedes Tages gestartet werden, so wäre für
j = 144 die Berechnung 144
·
1
24
= 6. Für diesen speziellen Fall würde ein
68

6 Dynamisches Programm
Dienst am Sonntag, welcher 24 Stunden dauert, auch am Sonntag beendet sein,
wodurch die Komponente (s
mo
)
j
nicht aktualisiert werden müsste.
Dominanzregeln
Es werden nun drei Arten von Zuständen unterschieden.
(I): Ein Pausenzustand mit (R
A
)
k
j
= (R
D
)
k
j
= 0, (II): ein Arbeitszustand mit
(R
A
)
k
j
> 0 und (III): ein Dienstzustand mit (R
D
)
k
j
> 0.
Folgende Gleichungen müssen ergänzt werden, um festzustellen, ob L
k
j
L
k
j
gilt.
I Für
R
A
k
j
= R
D
k
j
= 0 und R
A
k
j
= R
D
k
j
= 0 muss gelten:
(s
mo
)
k
j
< S
D
+ R
P
(s
mo
)
k
j
S
D
+ R
P
(52.5)
n
D k
j
n
D k
j
(52.6)
II Für
R
A
k
j
> 0 und R
A
k
j
> 0 muss gelten:
(s
mo
)
k
j
< S
D
+ R
P
(s
mo
)
k
j
S
D
+ R
P
(53.6)
n
D k
j
n
D k
j
(53.7)
III Für
R
A
k
j
> 0 R
D
k
j
> 0 und R
D
k
j
> 0 muss gelten:
R
WA k
j
R
WA k
j
(61.1)
(obj)
k
j
(obj)
k
j
(61.2)
(s
mo
)
k
j
(s
mo
)
k
j
(s
mo
)
k
j
R
P
(61.3)
(s
mo
)
k
j
< S
D
+ R
P
(s
mo
)
k
j
S
D
+ R
P
(61.4)
n
D k
j
n
D k
j
(61.5)
Der Pausenzustand I wird nun durch einen Zustand gekennzeichnet, bei wel-
chem der Ressourcenverbrauch von R
A
und R
D
Null ist. Der dominierende
und der dominierte Zustand sind durch einen solchen Ressourcenverbrauch
gekennzeichnet.
Im Fall III ist der dominierte Zustand x
k
j
ausschließlich ein Dienstzustand.
Die dominierenden Zustände können Zustände der Arbeit oder des Dienstes
sein. Hierdurch wird verhindert, dass ein Dienstzustand einen Arbeitszustand
dominieren kann. Grund hierfür ist, dass von einem Dienstzustand in Stufe j
aus nicht alle
dem
j+i
mit i N
0
erreicht werden können, wie von einem Arbeits-
zustand aus, was der Grundregel der Dominanz widerspricht.
Für alle drei Fälle gilt nun nach Bedingungen (52.6), (53.7) und (61.5) zu-
sätzlich, dass im dominierenden Zustand höchstens gleich viele Dienste wie im
schwachen Zustand absolviert wurden.
Bei den Bedingungen (52.5), (53.6) und (61.4) zeigt S
D
+ R
P
den Zeitpunkt
69

6 Dynamisches Programm
an, ab welchem bei Absolvierung eines Dienstes am Sonntag der vorherigen
Woche, eine Schicht aufgenommen werden könnte. Dies ist der Zeitpunkt des
Schichtendes plus der Mindestpausendauer. Dieser Zeitpunkt wird im Folgen-
den als j
mo
bezeichnet. Der Schichtplan, welcher bis zu einem dominierten
Zustand L
k
j
führt, muss eine Schicht enthalten, welche früher als j
mo
beginnt.
Alternativ ist es möglich, dass beim Schichtplan des dominierenden Zustands
L
k
j
die erste Schicht in einer späteren Periode als j
mo
anfängt.
Grund für diese Bedingung ist die Kombination von einzelnen Wochenplänen
zu einem Schichtplan über den gesamten Planungshorizont. Ein Schichtplan,
welcher ermöglicht, dass in der Vorwoche am Sonntag ein Dienst eingeplant
werden kann, ist u. U. wertvoll, da das
D
vom Sonntag einen sehr großen
Wert annehmen könnte. Deshalb kann ein Zustand eines solchen Schichtplans
nur von einem Zustand dominiert werden, welcher im Hinblick auf die Er-
möglichung eines Dienstes am Sonntag der Vorwoche mindestens genauso gut
ist.
Die Erklärung von Bedingungen (61.1), (61.2) und (61.3) ist identisch zu
der Erklärung von (52.1), (52.3) und (52.4).
Bestimmung der optimalen Politik
Durch die Einführung eines Dienstes
sind sowohl bei der Bestimmung der besten Endzustände (Teilschritt A) als
auch bei der Ermittlung der übrigen Entscheidungen und Zustände (Teil-
schritt B) Nebenbedingungen zu ergänzen.
Zu A) Bei der Kombination der unterschiedlichen Wochen muss nun der
Dienst am Sonntag, welcher am Montag der nächsten Woche endet, beachtet
werden. Folgende Ergänzungen bei den Nebenbedingungen des Minimierungs-
problems sind notwendig. Hierbei drückt der Parameter ~
f
1
(j
so
D
) die Stundenzahl
von einem Dienst am Sonntag aus, welche zur Wochenarbeitszeit der nächsten
Woche angerechnet wird.
(d
so
)
k
i
w
i
= 1
(s
mo
)
w
i+1
S
D
+ R
P
i = 1, ..., |W| - 1
(55.2)
R
WA k
i+1
w
i+1
+ (d
so
)
k
i
w
i
· ~
f
1
(j
so
D
)
R
WA
i = 1, ..., |W| - 1
(55.3)
Bedingung (55.2) stellt sicher, dass ein Schichtplan mit einem Dienst am Sonn-
tag nur mit einem Schichtplan in der darauf folgenden Woche kombiniert wird,
in welchem die Mindestpausenlänge nach dem Dienst am Sonntag der Vorwo-
che eingehalten wird. Da die angerechneten Stunden eines Dienstes am Sonntag
für die nächste Woche w
i+1
zählen, wird durch (55.3) vermieden, dass in der
Woche w
i+1
die maximale Wochenarbeitszeit R
WA
überschritten wird.
Der Strafterm für das Kombinationsproblem muss nun zusätzlich Bedingun-
gen (55.2) und (55.3) berücksichtigen.
70

6 Dynamisches Programm
Zu B) Bei der Ermittlung der übrigen Zustände x
n-j
und Entscheidun-
gen a
n-j
für j = 1, ...n muss die neue mögliche Entscheidung a
j
= d für den
Dienst berücksichtigt werden.
1. Bei der Bestimmung von a
n-j
müssen folgende Änderungen implemen-
tiert werden.
R
A
n-j+1
= 0
R
D
n-j+1
= 0
a
n-j
= p j = 1, ..., n
(56.2b)
R
D
n-j+1
> 0
a
n-j
= d j = 1, ..., n
(56.3)
Durch die Entscheidung für eine Pause a
n-j
= p wird nun nach der
Transformationsfunktion (51.1b) neben dem Ressourcenverbrauch von
R
A
auch der Ressourcenverbrauch R
D
auf Null gesetzt. Somit muss,
wenn R
A
n-j+1
= R
D
n-j+1
= 0 ist, die vorhergehende Entscheidung
a
n-j
= p gewesen sein (56.2b). Ist der Ressourcenverbrauch vom Dienst
R
D
n-j+1
> 0, so kann dies nur durch die Entscheidung a
n-j
= d be-
wirkt worden sein (56.3).
2. Um die weiteren x
n-j
zu berechnen, gilt nun ergänzend für die Entschei-
dung a
n-j
= p
R
P k
n-j
= R
P
R
P
n-j+1
= R
P
R
A
n-j+1
= 0
R
D
n-j+1
= 0
j = 1, ..., n
(58.3b)
und für die Entscheidung a
n-j
= d
(obj)
k
n-j
-
D
n-j
= (obj)
n-j+1
(62.1)
R
D k
n-j
+ 1
= R
D
n-j+1
(62.2)
Um auf den optimalen Vorgängerzustand x
n-j
zu schließen, ist bei a
n-j
=
p nach (58.3b) abweichend zu berücksichtigen, dass wenn beide Zustände
x
k
n-j
und x
n-j+1
bereits die Mindestpausenlänge absolviert haben, der
Pausenzustand nun zusätzlich durch R
D
n-j+1
= 0 charakterisiert ist.
Bei a
n-j
= d ist das k K
n-j
gesucht für welches Folgendes gilt: Der
unbekannte Zustand x
k
n-j
ist derjenige, welcher bei der Entscheidung
a
n-j
= d von seiner Komponente (obj)
k
n-j
den Wert
D
n-j
abziehen muss,
um auf den bekannten Wert von (obj)
n-j+1
zu gelangen (62.1). Des Wei-
teren muss der Ressourcenverbrauch R
D
bei x
k
n-j
um Eins erhöht werden,
um den bekannten Ressourcenverbrauch R
D
n-j+1
zu erreichen (62.2).
71

6 Dynamisches Programm
6.3.2 Berücksichtigung von Überstunden und Fehlstunden
Überstunden und Fehlstunden werden durch eine Abweichung von der ver-
traglichen Wochenarbeitszeit v gekennzeichnet. Es sind maximal R
WA
- v
Überstunden möglich. Überstunden werden mit dem Kostenparameter c
over
bewertet und ausbezahlte Überstunden mit dem Kostenparameter c
paid
. Eine
ausführliche Beschreibung der Problemstellung enthält Kapitel 5.2.2.
Das bisherige Label ändert sich durch die Einführung dieser Nebenbedin-
gungen nicht. Ebenso bleiben alle Entscheidungen a
j
P{l, d, p} und die
Zustände, wann diese eintreten können, erhalten.
Die Berechnung der Überstunden mit dem Kostenparameter c
over
werden
durch die Transformationsfunktion berücksichtigt. Überstunden, welche nicht
durch Fehlstunden in der darauf folgenden Woche beglichen werden und laut
Vertrag ausbezahlt werden, werden in diesem Kapitel im Abschnitt ,,Bestim-
mung der optimalen Politik" behandelt.
Ertragsfunktion
Die Ertragsfunktion berücksichtigt nun Überstunden, wel-
che direkt bei Auftreten verrechnet werden. Es gilt nun:
r(x
j
, a
j
) =
-
dem
j
· I
{l}
(a
j
)
-
D
j
· I
{d}
(a
j
) + c
over
· R
WA
j+1
·
I
{S
D
}
(j mod 24) + c
over
· min 1; max R
WA
j+1
- v; 0
· I
{l}
(a
j
) (47c)
mit R
WA
j+1
= max 0; min
R
WA
j+1
- R
WA
j
; R
WA
j+1
- v
Wird eine weitere Stunde gearbeitet und ist mit dieser Entscheidung die gesam-
te Wochenarbeitszeit größer als die vertragliche Wochenarbeitszeit v, so wird
bei Bildung der Ertragsfunktion in (47c) die Kosten einer Überstunde c
over
addiert. Die Entscheidung a
j
= l gibt an, dass eine einzige weitere Periode
gearbeitet wird (I
{l}
(a
j
) ist somit Eins). Daher kann höchstens ein c
over
ad-
diert werden. Dies wird durch den Ausdruck min 1; max
R
WA
j+1
- v; 0
sichergestellt. Für R
WA
j+1
v ergibt dieser Null, für R
WA
j+1
> v ist das
Ergebnis Eins.
Wird durch die Aufnahme eines Dienstes I
{S
D
}
(j mod 24) = 1 die vertrag-
liche Wochenarbeitszeit überschritten, so werden die neu hinzugekommenen
Überstunden R
WA
j+1
mit dem Kostenparameter c
over
multipliziert und bei
der Ertragsfunktion addiert. Der rechte Teil von R
WA
j+1
besagt, falls vor
Aufnahme des Dienstes
R
WA
j
v gewesen ist, dass die Überstunden durch
(R
WA
)
j+1
-v berechnet werden. Galt vor Aufnahme des Dienstes R
WA
j
> v,
so sind nur die neu hinzugekommenen Überstunden R
WA
j+1
- R
WA
j
zu
berücksichtigen.
72

6 Dynamisches Programm
Transformationsfunktion
Bei der Transformationsfunktion t(x
j
, a
j
) sind so-
mit folgende Änderungen notwendig:
t
l
x
j
, l :
R
WA
j+1
v (obj)
j+1
= (obj)
j
-
dem
j
R
WA
j+1
> v (obj)
j+1
= (obj)
j
-
dem
j
+ c
over
(50.3b)
(50.5)
t
d
x
j
, d :
R
WA
j+1
v (obj)
j+1
= (obj)
j
-
D
j
R
WA
j+1
> v (obj)
j+1
= (obj)
j
-
D
j
+
I
{S
D
}
(j mod 24) · c
over
· R
WA
j+1
(60.3b)
(60.7)
Bei der Bildung des Zielfunktionswertes wird nun eine Fallunterscheidung
getroffen, ob die vertragliche Wochenarbeitszeit v überschritten ist. Ist dies
nicht der Fall (50.3b), so brauchen keine Überstunden berücksichtigt werden.
Bei Überschreitung von v werden die Kosten einer Überstunde c
over
addiert
(50.5).
Wird v durch die Aufnahme eines Dienstes überschritten, so wird c
over
·
R
WA
j+1
zum Zielfunktionswert addiert (60.7). Wird v nicht überschritten,
so gilt die Bedingung (60.3b).
Bestimmung der optimalen Politik
Bei der Bestimmung der optimalen Po-
litik über den gesamten Planungshorizont müssen in Teilschritt A beim Mini-
mierungsproblem auch die ausbezahlten Überstunden berücksichtigt werden.
Seien analog der Definition in Kapitel 5.2.2, o
w
i
, u
w
i
und h
w
i
als die Überstun-
den, Fehlstunden und ausbezahlten Überstunden der Woche i W definiert.
Zu A) Die Zielfunktion des Minimierungsproblems ändert sich nun zu
arg min
k
i
K
wi
iW iW
(obj)
k
i
w
i
+ c
paid
· h
w
i
(54b)
und folgende Nebenbedingungen werden ergänzt
o
w
i
= max
R
WA
w
i
+1
+ ~
f
1
(j
so
D
)
- v; 0
i W
(55.4)
u
w
i
= max v -
R
WA
w
i
+1
+ ~
f
1
(j
so
D
) ; 0
i W
(55.5)
h
w
i
= max o
w
i
- u
w
i+1
; 0
i 1, ...|W| - 1
(55.6)
Zu der Summe der jeweils negativen (obj)
k
i
w
i
, wird durch (54b) auch die ausbe-
zahlten Überstunden h
w
i
hinzu addiert. Dabei wird h
w
i
in (55.6) als Überstun-
den berechnet, welche in der darauf folgenden Woche nicht durch Fehlstunden
ausgeglichen werden können. Die Überstunden o
w
i
und Fehlstunden u
w
i
sind
nichtnegative Werte und werden in (55.4) und (55.5) bestimmt.
73

6 Dynamisches Programm
Zu B) Im Teilschritt B muss nur bei der Bestimmung der weiteren Zustände
im Teilschritt 2 berücksichtigt werden, dass die Überstunden in der Bestim-
mung von (obj)
j
einfließen.
1. Die Bestimmung der a
n-j
im Teilschritt 1 werden durch Überstunden
bzw. Fehlstunden nicht beeinflusst.
2. Für alle j = 1, ..., n gilt nun abweichend Folgendes, wenn die Entschei-
dung a
n-j
= l gewesen ist:
(obj)
k
n-j
-
dem
n-j
+ c
over
· min 1; max R
WA
n-j+1
- v; 0
= (obj)
n-j+1
(57.2b)
und für a
n-j
= d muss Bedingung (62.1) geändert werden zu
(obj)
k
n-j
-
D
n-j
+ I
{S
D
}
((n - j) mod 24) · c
over
·
max 0; min
R
WA
n-j+1
- R
WA k
n-j
; R
WA
n-j+1
- v
= (obj)
n-j+1
(62.1b)
Nach (57.2b) muss der Wert (obj)
k
n-j
für das zu bestimmende k abzüglich
dem
dem
n-j
zuzüglich den Kosten einer einzigen möglichen Überstunde den
bekannten Wert (obj)
n-j+1
ergeben. Wurden im Zustand x
n-j+1
bereits
mehr Stunden als die vertragliche Wochenarbeitszeit gearbeitet, d. h.
R
WA
n-j+1
> v, so ergibt min 1; max
R
WA
n-j+1
- v; 0
den Wert
Eins. Wurden weniger oder gleich v Stunden gearbeitet, so ergibt der
Term Null, da in diesem Fall keine Überstunde zu berücksichtigen sind.
In Bedingung (62.1b) werden die Kosten für Überstunden bei einem
Dienst behandelt. Startet der Dienst auf der Stufe n - j, so wird der Wo-
chenarbeitszeit R
WA
n-j+1
je nach Wochentag eine Anzahl an Stunden
zugerechnet. Ergibt sich nun in R
WA
n-j+1
eine Überschreitung von v,
so wird diese durch den Teilterm R
WA
n-j+1
-v berechnet. War vor der
Entscheidung des Dienstes R
WA
n-j
> 0, so werden nur die neu hinzu-
gekommenen Überstunden mit R
WA
n-j+1
- R
WA k
n-j
berücksichtigt.
6.3.3 Berücksichtigung einer Mittagspause
Für eine Mittagspause gilt, dass vor der Mittagspause mindestens T
pre
Pe-
rioden und höchstens T
late
Perioden gearbeitet und nach der Mittagspause
T
post
Perioden gearbeitet werden. Die Mittagspause dauert eine Periode. Die
Problembeschreibung ist ausführlich in Kapitel 5.2.3 dargestellt.
74

6 Dynamisches Programm
Um eine Mittagspause in der Charakterisierung eines Zustands zu berück-
sichtigen, wird eine neue Komponente (mp)
j
eingeführt, wobei
(mp)
j
=
-1, wenn in der aktuellen Arbeitsschicht bisher keine Mittagspause
absolviert wurde
~j, wenn in der aktuellen Arbeitsschicht in Stufe ~j mit ~j < j
bereits eine Mittagspause gehalten wurde
gilt. Somit ist das Label nun
R
WA
, R
A
, R
D
, R
P
, obj, s
mo
, n
D
, d
so
, mp
k
j
und der
Initialisierungszustand x
init
= L
1
0
= (0, 0, 0, R
P
, 0, 0, 0, 0, -1)
1
0
.
Entscheidungen
Eine Mittagspause wird mit der Entscheidung a
j
= b (wie
das englische ,,break") gekennzeichnet, wodurch nun a
j
P{l, d, p, b} sein
kann. Durch die Einführung der Mittagspause ändern sich die möglichen Ent-
scheidungen in Abhängigkeit des Zustandes wie folgt
·
a
j
= l für alle j mit x
j
X
j
, wenn abweichend
R
A
j
< R
A
¬ R
A
j
= T
late
(mp)
j
=
-1
(48.2b)
gilt.
·
a
j
= p für alle j mit x
j
X
j
, wenn
R
A
j
R
A
j - T
post
- 1
(mp)
j
R
D
j
R
D
(49.2c)
(mp)
j
=
-1
(49.5)
gilt.
·
a
j
= b für alle j mit x
j
X
j
, wenn
(mp)
j
=
-1
(63.1)
T
pre
R
A
j
T
late
(63.2)
R
WA
- R
WA
j
T
post
(63.3)
gilt. Die Erweiterung von Bedingung (48.2) stellt sicher, dass ein Schichtplan
nicht fortgesetzt werden kann, in welchem bereits T
late
Perioden gearbeitet
wurden, jedoch noch keine Mittagspause absolviert wurde. Das Symbol ,,
¬"
bezeichnet hierbei die Negation einer Bedingung.
Bei Bedingung (49.2c) gilt nun, dass der Beginn einer Pause erst nach Absol-
vierung von T
post
Arbeitsperioden nach einer Mittagspause möglich ist. Kon-
kret bedeutet der Ausdruck j - T
post
-1
(mp)
j
Folgendes: Von der aktuellen
Stufe j abzüglich der T
post
Arbeitsperioden und der einperiodigen Mittagspau-
se muss sich eine Stufe ergeben, welche der Stufe, in welcher die Mittagspause
gehalten wurde, oder einer späteren entspricht. Diese Gleichung könnte auch
erfüllt sein, falls (mp)
j
=
-1, sodass durch (49.5) gefordert wird, dass bereits
75

6 Dynamisches Programm
eine Mittagspause absolviert worden ist, bevor eine Pause gemacht werden
kann.
Eine Mittagspause kann nur erfolgen, wenn bisher noch keine gemacht wurde
(63.1) und mindestens T
pre
Perioden und höchstens T
late
Perioden gearbeitet
wurden (63.2). Zusätzlich muss eine Mittagspause so gelegt werden, dass die
verpflichtenden T
post
Arbeitsperioden nach der Mittagspause innerhalb der
maximalen Wochenarbeitszeit erfolgen können (63.3).
Transformationsfunktion
Für die Entscheidung a
j
= b wird die Transforma-
tionsfunktion t
b
(x
j
, b) eingeführt. Die Komponente (mp)
j
nimmt die Werte -1
und ~j mit ~j N
0
an, welche in den Transformationsfunktionen t
p
(x
j
, b) der
Pause und t
b
(x
j
, p) der Mittagspause berücksichtigt werden.
t
p
(x
j
, p) : (mp)
j+1
=
-1
(51.3)
t
b
(x
j
, b) : (mp)
j+1
= j
(64)
Wird eine Pause gemacht, so wird mit (51.3) die Information, dass eine Mit-
tagspause gehalten wurde, auf
-1 zurückgesetzt. Wird eine Mittagspause auf
der Stufe j begonnen so erhält der Zustand j + 1 durch (64) diese Information.
Dominanzregeln
Eine Änderung bei der Dominanz betrifft nur den Zustand II
mit (R
A
)
k
j
> 0 und (R
A
)
k
j
> 0.
II Für
R
A
k
j
> 0 und R
A
k
j
> 0 muss zusätzlich gelten:
(mp)
k
j
=
-1 (mp)
k
j
=
-1
(53.8)
j - T
post
- 1
(mp)
k
j
j - T
post
- 1
(mp)
k
j
(53.9)
Bedingungen (53.8) und (53.9) fordern ähnlich wie Bedingung (53.2), dass
von beiden Zuständen L
k
j
und L
k
j
der frühest mögliche Pausenzustand zur
gleichen Zeit erreicht werden kann. Analog zum Beispiel in Kapitel 6.2.3 bei der
Erklärung der Dominanzregeln ist beispielsweise folgende Situation denkbar.
Die Schichtpläne S und S , welche zu den Labels L
k
j
bzw. L
k
j
gehören, un-
terscheiden sich nur darin, dass bei S die Mittagspause eine Periode später als
bei S erfolgt und der Zielfunktionswert bei S kleiner als bei S ist.
Die relevanten Komponenten, welche bei L
k
j
und L
k
j
unterschiedlich sind,
werden durch
(mp)
k
j
= (mp)
k
j
+ 1, j - (mp)
k
j
- 1 = T
post
- 1, j - (mp)
k
j
- 1 = T
post
und
(obj)
k
j
< (obj)
k
j
gegeben.
76

6 Dynamisches Programm
Bei S erfolgt laut Annahme die Mittagspause eine Periode früher als bei S.
Daher ist in S bis zur Stufe j bereits T
post
Perioden nach der Mittagspause
gearbeitet worden
j - (mp)
k
j
- 1 = T
post
, bei S wurde eine Periode weniger
nach der Mittagspause gearbeitet j - (mp)
k
j
- 1 = T
post
- 1 .
Somit ist beim Schichtplan S ein Pausenzustand eine Periode früher möglich
und es ist nach Ruhen der Mindestpausendauer ein
dem
~j
erreichbar, welches für
S nicht erreichbar ist. Das früheste
dem
, welches S erreichen kann, ist
dem
~j+1
.
Würden Bedingungen (53.8) und (53.9) nicht existieren, so würde in dieser
Situation das Label L
k
j
gelöscht werden, was fälschlicherweise zur Löschung
des optimalen Schichtplans führen kann, falls
dem
~j
Bestandteil dieses optimalen
Plans ist.
Bestimmung der optimalen Politik
Durch die Einführung einer Mittags-
pause ist beim Minimierungsproblem zur Ermittlung der besten Endzustände
keine Änderung notwendig. In Teilschritt B muss die neue Entscheidung a
j
= b
eingebunden werden.
Zu B) Bei Teilschritt B müssen im ersten Abschnitt Änderungen für die
Folgerung von a
j
= l und a
j
= b gemacht werden. Im zweiten Abschnitt
müssen Änderungen für die Fälle a
j
= l und a
j
= b berücksichtigt werden.
1. Bei der Bestimmung der a
n-j
gilt nun:
R
A
n-j+1
> 0 (mp)
n-j+1
= n - j
a
n-j
= l j = 1, ..., n
(56.1b)
(mp)
n-j+1
= n - j
a
n-j
= b j = 1, ..., n
(56.4)
Gilt im bekannten Zustand x
n-j+1
, dass R
A
n-j+1
> 0 ist, so muss nun
nach (56.1b) darauf geachtet werden, dass auf der vorherigen Stufe n - j
keine Mittagspause begonnen wurde. Ist dies der Fall, so kennzeichnet die
Entscheidung a
n-j
= l den Übergang von Stufe n - j auf Stufe n - j + 1
.
Wurde in Periode (n - j, n - j + 1) eine Mittagspause absolviert, so
entspricht der Wert von (mp)
n-j+1
der Nummer der vorherigen Stufe
n - j. Daher wird in diesem Fall die Entscheidung mit Bedingung (56.4)
auf a
n-j
= b gesetzt.
2. Bei der Suche desjenigen optimalen k K
n-j
, dass die Entscheidung
a
n-j
= b festlegt, gilt Folgendes:
R
D k
n-j
= 0
R
A k
n-j
= R
A
n-j+1
j = 1, ..., n
(65.1)
(obj)
k
n-j
= (obj)
n-j+1
j = 1, ..., n
(65.2)
77

6 Dynamisches Programm
Falls eine Mittagspause auf der Stufe n - j begonnen wurde, so muss
nach (65.1) der gesuchte Zustand x
k
n-j
ein Arbeitszustand sein und der
Ressourcenverbrauch von R
A
darf sich zwischen den Stufen n - j und
n - j + 1 nicht erhöhen. Zusätzlich ändert sich nach (65.2) der Ziel-
funktionswert nicht und das gesuchte (obj)
k
n-j
muss denselben Wert wie
(obj)
n-j+1
besitzen.
6.3.4 Berücksichtigung eines Startzeitfensters
Die Startzeitpunkte der Arbeit innerhalb einer Woche dürfen maximal T
win
Perioden auseinander liegen, wobei nicht die Startzeiten des Dienstes berück-
sichtigt werden. Eine genaue Beschreibung der Problemstellung ist in Kapitel
5.2.4 zu finden.
Für die Modellierung dieser Nebenbedingung in der dynamischen Program-
mierung wird der Zustand x
k
j
zusätzlich durch die Komponente e des frühesten
Startzeitpunkts und der Komponente l des spätesten Startzeitpunkts der Ar-
beit innerhalb einer Woche charakterisiert.
Somit ist das neue Label R
W A
, R
A
, R
D
, R
P
, obj, s
mo
, n
D
, d
so
, mp, e, l
k
j
mit
dem Initialisierungszustand x
init
= L
1
0
= (0, 0, 0, R
P
, 0, 0, 0, 0, -1, 24, 0)
1
0
.
Entscheidungen
Die Menge möglicher Entscheidungen bleibt gleich. Es muss
jedoch berücksichtigt werden, dass die Entscheidung zum Beginn einer Arbeits-
periode nur möglich ist, wenn hierdurch das Startzeitfenster einer Woche nicht
überschritten wird. Somit sind die folgenden Bedingungen für die Entschei-
dung
·
a
j
= l für alle j mit x
j
X
j
notwendig:
j · I
{p}
(a
j-1
) mod 24
e + T
win
(48.5)
j · I
{p}
(a
j-1
) mod 24
l - T
win
(48.6)
Wird eine Arbeit auf der Stufe j begonnen - ist also I
{p}
(a
j-1
) = 1 und a
j
= l
- so darf dies nach (48.5) nur in einem Zeitpunkt (j mod 24) erfolgen, welcher
höchstens T
win
Perioden vom bisherigen frühesten Startzeitpunkt e entfernt
liegt. Nach (48.6) darf dieser Zeitpunkt zum spätesten Startzeitpunkt l höchs-
tens T
win
Perioden Abstand haben.
Transformationsfunktion
Die Komponenten e und l werden in der Transfor-
mationsfunktion der Arbeit aktualisiert. Es gilt nun zusätzlich.
t
l
x
j
, l :
R
A
j
= 0
(j mod 24 < e) (e)
j+1
= j mod 24
R
A
j
= 0
(j mod 24 > l) (l)
j+1
= j mod 24
(50.5)
(50.6)
78

6 Dynamisches Programm
Dies bedeutet, wenn die Arbeit in einem Zeitpunkt j mod 24 beginnt, welcher
zeitlich früher (50.5) bzw. später (50.6) als der bisherige früheste bzw. späteste
Startzeitpunkt gewesen ist, so wird (e)
j+1
bzw. (l)
j+1
auf den aktuellen Wert
gesetzt.
Dominanzregel
Setzt man den zum dominierenden Label L
k
j
zugehörigen
Schichtplan S fort, so müssen alle
dem
bzw.
D
zu erreichen sein, welche auch
vom dominierten Label L
k
j
aus zu erreichen wären. Somit muss ausgeschlossen
werden, dass das Label L
k
j
ein Startzeitfenster besitzt, welches nicht mehr mit
dem Startzeitfenster vom Label L
k
j
zur Deckung gebracht werden kann.
Beispielsweise könnte für [e, l]
k
j
= [8, 10]
k
j
im Vergleich zu [5, 8]
k
j
für T
win
= 3
das Label L
k
j
nie dasselbe Startzeitfenster wie L
k
j
besitzen und könnte somit
bestimmte Werte von
dem
nie erreichen. Andererseits könnte für [6, 7]
k
j
und
[8, 9]
k
j
nun L
k
j
L
k
j
gelten, da [e, l]
k
j
in der Fortsetzung der Schichtkonstrukti-
on auf [6, 9]
k
j
erweitert werden kann und somit dasselbe Zeitfenster wie [6, 9]
k
j
erreichen könnte. Für die Dominanzregel II ist somit Folgendes zu ergänzen.
II Für
R
A
k
j
> 0 und R
A
k
j
> 0 muss gelten:
(e)
k
j
(e)
k
j
(53.10)
(l)
k
j
(e)
k
j
(53.11)
Bei der Bestimmung der optimalen Politik muss keine Änderung durch Ein-
führung eines Startzeitfensters vorgenommen werden.
6.3.5 Werte des vorherigen Planungshorizonts
Ähnlich wie bei der Darstellung für das MIP in Kapitel 5.2.5 können auch
beim DP Werte aus dem vorherigen Planungshorizont berücksichtigt werden.
Der Wert R
P
für die bereits absolvierte Pausenlänge vor Beginn des Pla-
nungshorizonts kann im Initialisierungszustand festgesetzt werden. Sei x
init,1
=
(0, 0, 0, R
P
, 0, 0, 0, 0, -1, 24, 0)
1
0
als der Initialisierungszustand der ersten Wo-
che für das Label R
W A
, R
A
, R
D
, R
P
, obj, s
mo
, n
D
, d
so
, mp, e, l
1
0
gegeben.
Abweichende maximale Wochenarbeitszeiten werden mit dem Parameter
R
A
w
mit w W berücksichtigt. Dieser Parameter gibt die Anzahl an Stunden an,
welche in der Woche w nicht zur Verfügung stehen. Sei allgemein x
init,w
der
Initialisierungszustand der w-ten Woche. Dieser muss angepasst werden zu
x
init,w
= (R
A
w
, 0, 0, R
P
, 0, 0, 0, 0, -1, 24, 0)
1
0
.
Um die Initialisierungszustände im Algorithmus zu berücksichtigen, wird im
Algorithmus 1 Zeile 2 zu
x
0
x
init,w
geändert.
79

6 Dynamisches Programm
Um Überstunden o
0
aus der Woche vor dem aktuellen Planungshorizont zu
berücksichtigen, muss der Parameter o
0
bei der Berechnung der Überstunden
einfließen. Dies wird durch eine Änderung von den Bedingungen (55.4) und
(55.6) bewirkt, indem die Woche 0 bei der Berechnung berücksichtigt wird. Es
gilt nun
o
w
i
= max
R
WA
w
i
+1
+ ~
f
1
(j
so
D
)
- v; 0
i W
0
(55.4b)
h
w
i
= o
w
i
- u
w
i+1
i 0, ..., |W| - 1
(55.6b)
6.4 Beschleunigung des Algorithmus
Aufgrund der Berücksichtigung des Startzeitfensters können viele Zustände
nicht mehr dominiert werden. Hierdurch kommt es zu einem exponentiellen
Anstieg der zu speichernden Zustände, da sich aus jedem nicht gelöschten
Zustand wegen der vier möglichen Entscheidungen bis zu vier neue Zustände
ergeben können.
Um dieses Problem zu umgehen und dabei nicht die Lösungsgüte zu ver-
ringern, wird an Stelle der Modifikationen von Kapitel 6.3.4 ein neuer Ansatz
gewählt. Alle in 6.3.4 eingeführten Bedingungen werden somit durch die Bedin-
gungen in diesem Kapitel ersetzt. Vor der Erläuterung dieses Ansatzes werden
folgende Parameter aus Kapitel 5.3 nochmals erwähnt. Sei S
A
der früheste
Startzeitpunkt und E
A
das späteste Ende einer Arbeitsschicht. Sei weiterhin
S
WE
der erste Tag des Wochenendes mit S
WE
{1, ..., 7}.
In der Realität besteht nur in einem bestimmten Zeitraum Bedarf an Ärzten
für geplante Operationen. Am Beispiel des Klinikums rechts der Isar ist dies
von 7 bis 21 Uhr (also S
A
= 7 und E
A
= 21). Überdies werden am Wochen-
ende keine geplanten Operationen getätigt. Um dies zu berücksichtigen, muss
der erste Tag des Wochenendes bekannt sein, welcher in der Praxis meist ein
Samstag ist. Das Wochenende dauert von diesem Tag bis zum Sonntag, dem
Ende der Woche.
Durch diese Parameter ist eine Einschränkung des möglichen Schichtplans
möglich, wodurch der Algorithmus eine geringere Lösungsdauer besitzt. Eine
ausführliche Diskussion der Lösungsdauern wird in Kapitel 7 behandelt.
Um den raschen Anstieg an Zuständen durch Einführung des Startzeitfens-
ters zu umgehen, wird folgender Ansatz eingeführt:
· Der Arbeitszeitraum (z.B. 7-21 Uhr) wird in k mögliche Startzeitfenster
mit der Dauer T
win
geteilt. Seien s
win
der Beginn und e
win
das Ende des
Startzeitfensters mit e
win
- s
win
= T
win
. Es gilt für die Startzeitfenster
[s
win
, e
win
] = S
A
+ i; S
A
+ i + T
win
, i = 0, ..., S
E
- S
A
- R
A
- T
win
- 1
80

6 Dynamisches Programm
Beispielsweise sind die Startzeitfenster [7,10], [8,11], ..., [11,14], wenn von
7 bis 21 Uhr mit R
A
= 6, T
win
= 3 und einer Mittagspause gearbeitet
wird. Die Anzahl an Startzeitfenstern ist somit k = E
A
- S
A
- R
A
-
T
win
= 5. Kann rund um die Uhr gearbeitet werden, so wird S
A
= 0 und
E
A
= 24+R
A
+T
win
gesetzt. Da hierbei das letztmögliche Startzeitfenster
23­2 Uhr als [23,26] berechnet wird, ist eine Funktion f
3
e
win
notwendig.
Diese berechnet für alle e
win
> 24 den Endzeitpunkt zurück auf einen
24-Stundentag. Es gilt
f
3
e
win
=
0, für e
win
24
e
win
mod 24, für e
win
> 24
· Das Schichtplanungsproblem wird über den gesamten Planungshorizont
k-mal gelöst mit jeweils einem festen Startzeitfenster. Hierbei werden alle
Zustände gespeichert.
· Nach Erzeugung aller Zustände aller Startzeitfenster werden die besten
Endzustände aus jeder Woche bestimmt, wobei alle Endzustände aller
Iterationen auf einmal berücksichtigt werden.
Der Algorithmus zur Berechnung aller Labels ändert sich dementsprechend
wie folgt.
Algorithmus 3 Erzeugung aller nicht-dominierten Labels mit Berücksichti-
gung der Zerlegung über alle Startzeitfenster
1:
for i = 0 to E
A
- S
A
- R
A
- T
win
- 1 do
2:
s
win
S
A
+ i
3:
e
win
S
A
+ i + T
win
4:
for w = 1 to |W| do
5:
x
0
x
init,w
6:
X
0
=
{x
0
}
7:
for j = 1 to n do
8:
ORDER(X
j-1
)
9:
for all x
j-1
X
j-1
, a
j-1
A
j-1
(x
j-1
) do
10:
x
j
t (x
j-1
, a
j-1
)
(I,II,III,IV)
11:
X
j
= X
j
{x
j
}
12:
EFF(X
j
)
(V)
13:
end for
14:
end for
15:
end for
16:
end for
Der Algorithmus 3 unterscheidet sich vom Algorithmus 1 nur durch die hin-
zugefügte for­Schleife in Zeile (1) und den Anweisungen zur Bildung des Start-
zeitfensters in Zeilen (2) und (3). Das Startzeitfenster wird in der Wahl der
möglichen Entscheidungen A
j-1
(x
j-1
) in Zeile (9) indirekt berücksichtigt.
81

6 Dynamisches Programm
Um dies zu verdeutlichen, müssen bei der Bestimmung der möglichen Ent-
scheidungen a
j
folgende Bedingungen zusätzlich eingeführt werden. Die Ent-
scheidung a
j
A
j
(x
j
) ist nun
·
a
j
= l für alle j mit x
j
X
j
, wenn zusätzlich
j · I
{p}
(a
j-1
) : 24 < S
WE
(48.7)
j · I
{p}
(a
j-1
) mod 24
s
win
j · I
{p}
(a
j-1
) mod 24
f
3
e
win
(48.8)
j · I
{p}
(a
j-1
) mod 24
e
win
(48.9)
j mod 24 < E
A
(48.10)
j · I
{l}
(a
j-1
) mod 24
1
- I
{25,26,...}
(E
A
)
(48.11)
n - j · I
{p}
(a
j-1
)
R
A
+ 1
(48.12)
gilt und
·
a
j
= b für alle j mit x
j
X
j
, wenn zusätzlich
j · I
{l}
(a
j-1
) mod 24
1
- I
{25,26,...}
(E
A
)
(63.4)
gilt. Eine Entscheidung für einen Arbeitsbeginn kann nach (48.7) nur erfolgen,
wenn der Tag noch nicht im Wochenende liegt. Ebenso kann nach (48.8) nur
eine Arbeit begonnen werden, wenn der Zeitpunkt eines Tages, welcher durch
j mod 24 angegeben wird, größer oder gleich dem Beginn s
win
des Startzeit-
fensters ist. Falls das Ende des Startzeitfensters nach 24 Uhr ist, beispielsweise
[s
win
, e
win
] = [22, 3], so kann der Start auch z.B. zu den Zeitpunkten 1,2 und
3 Uhr erfolgen. Dies wird durch den zweiten Teil von (48.8) berücksichtigt.
Eine Arbeit kann nur begonnen werden, wenn der Zeitpunkt des Beginns nicht
später als das Ende e
win
des Startzeitfensters ist. Dies wird durch (48.9) si-
chergestellt. Somit wird die Einhaltung von T
win
durch die Bedingungen (48.8)
und (48.9) statt den ursprünglichen Bedingungen (48.5) und (48.6) aus Kapitel
6.3.4 garantiert.
Generell darf nach (48.10) die Entscheidung für eine Arbeitsperiode nur
erfolgen, wenn die Zeitperiode j mod 24 kleiner als das Ende des spätesten
Arbeitsendes E
A
ist, sodass nach einer Periode Arbeit höchstens E
A
erreicht
wird.
Für den speziellen Fall, dass E
A
= 24, wäre es möglich, dass der Algorithmus
in der Periode [23,24] eine Arbeit einplant, und diese dann in Periode (0,1)
fortsetzt, da alle Bedingungen, insbesondere (48.10) mit j mod 24 = 0 < E
A
erfüllt sind. Um diesen Fall zu verhindern, ist Bedingung (48.11) eingeführt
worden. Falls in der Vorperiode gearbeitet wurde, also I
{l}
(a
j-1
) = 1 ist, und
82

6 Dynamisches Programm
E
A
= 24 ergibt die rechte Seite der Ungleichung 1 und somit kann die Arbeit
in der Periode [0,1] nicht fortgesetzt werden, da 0
1.
Eine eingeplante Arbeit soll spätestens am Ende einer Woche ,,fertig" sein
und nicht über die Wochengrenze fortgesetzt werden, da das Schichtplanungs-
problem in einzelne Wochenprobleme aufgeteilt ist. Um dies sicherzustellen,
wird Bedingung (48.12) benötigt. Soll eine Arbeit auf der Stufe j begonnen
werden (d. h. I
{p}
(a
j-1
) = 1 und a
j
= l), so muss bis zur letzten Stufe n ei-
ner Woche noch mindestens R
A
Perioden für die Mindestarbeitszeit und eine
Periode für die Mittagspause vorhanden sein.
Die Entscheidung für eine Mittagspause kann erfolgen, wenn zusätzlich Be-
dingung (63.4) erfüllt ist. Diese ist identisch mit Bedingung (48.11). Falls E
A
=
24 ist, wäre es ohne (63.4) auch möglich, dass in Periode [23, 24] eine Arbeit
erfolgt und in Periode [0, 1] eine Mittagspause. Danach könnte die Arbeit wie-
der in Periode [1, 2] fortgesetzt werden. Um zu verhindern, dass somit der
Endzeitpunkt der Arbeit E
A
überschritten wird, indem in Periode [0, 1] eine
Mittagspause eingeplant wird, ist Bedingung (63.4) notwendig.
Dominanzkriterien zur Reduzierung der Endzustände einer Woche
Eine
weitere Möglichkeit die Lösungszeit zu verringern ist es, die Bestimmung der
optimalen Politik zu beschleunigen. Da im Algorithmus 2 der Teilschritt A
kombinatorisch gelöst wird, ist es günstig, wenn es möglichst wenige End-
zustände gibt, welche zu kombinieren sind. Die bisherigen Dominanzregeln,
welche über das Effizienzkriterium EF F (X
j
) angewandt werden, können für
die Endzustände modifiziert werden, sodass hierdurch zusätzliche Zustände ge-
löscht werden können. Die bisherige Trennung der Dominanzregeln nach den
Zuständen I,II und III entfällt zusätzlich.
Es werden jeweils alle Endzustände einer Woche i der Stufe w
i
miteinan-
der verglichen. Um die Notation zu vereinfachen, wird daher nur die jeweilige
Nummer k bzw. k des Labels angegeben. Es ist der neue Parameter R
P
min,V W
notwendig. Dieser gibt die minimale Größe der Pausenressource R
P
von allen
Endzuständen der Vorwoche w
i-1
an. Zeigen beispielsweise alle Endzustände
der Vorwoche an, dass die Arbeit spätestens um 21 Uhr am Sonntag beendet
worden ist und es keinen Dienst am Sonntag gibt, so ist R
P
min,V W
= 3, da alle
Endzustände somit ein R
P
3 haben.
Es sei daran erinnert, dass alle ausbezahlten Überstunden erst im Laufe
des Algorithmus 2 ,,Bestimmung der optimalen Politik" berechnet werden.
Des Weiteren werden zusätzliche Überstunden, welche in der aktuellen Woche
durch einen Dienst am Sonntag der Vorwoche bedingt werden, ebenso in diesem
83

6 Dynamisches Programm
Algorithmus berücksichtigt. Für alle Zustände x
k
w
i
gilt nun, dass x
k
w
i
x
k
w
i
wenn folgender Bedingungsblock erfüllt ist:
(d
so
)
k
= 1
(d
so
)
k
= 1
(66.1)
(s
mo
)
k
R
P
- R
P
min,V W
(s
mo
)
k
(s
mo
)
k
(66.2)
R
P k
R
P k
(66.3)
R
WA k
R
WA k
(66.4)
(obj)
k
(obj)
k
(66.5)
R
WA k
> R
WA k
(66.6)
R
WA k
> R
WA
- ~
f
1
(j
so
D
)
R
WA k
> R
WA
- ~
f
1
(j
so
D
)
(66.7)
(obj)
k
+ c
paid
·
R
WA k
- R
WA k
< (obj)
k
(66.8)
R
WA k
> R
WA k
(66.9)
R
WA k
R
WA
- ~
f
1
(j
so
D
)
R
WA k
R
WA
- ~
f
1
(j
so
D
)
(66.10)
(obj)
k
+ c
paid
+ c
over
·
R
WA k
- R
WA k
< (obj)
k
(66.11)
Ein Endzustand x
k
repräsentiert einen Schichtplan S. Allgemein wird ein End-
zustand x
k
dominiert, wenn es einen anderen Endzustand x
k
gibt, welcher auf
Grund der Nebenbedingungen mit einer größeren Anzahl an Schichtplänen der
Vor- bzw. Folgewoche kombiniert werden kann als x
k
. Außerdem muss der
Zielfunktionswert des Zustands x
k
mindestens genauso gut wie im Zustand x
k
sein. Dies muss auch nach Berücksichtigung der Überstunden und ausbezahl-
ten Überstunden gelten. Hierbei müssen die ausbezahlten Überstunden mit
der Vor- bzw. Folgewoche berücksichtigt werden. Die Überstunden müssen aus
einem eventuellen Dienst vom Sonntag der Vorwoche beachtet werden.
Damit x
k
w
i
x
k
w
i
gilt, müssen Bedingungen (66.1)­(66.3) zutreffen und zu-
sätzlich entweder Bedingungen (66.4) und (66.5), Bedingungen (66.6)­(66.8)
oder Bedingungen (66.9)­(66.11).
Bedingung (66.1) stellt sicher, dass der Schichtplan S mit mindestens genau-
so vielen Schichtplänen der Folgewoche kombiniert werden kann, da entweder
bei S kein Dienst am Sonntag stattfindet oder bei S ein Dienst am Sonntag
ist.
Durch Bedingung (66.2) wird festgesetzt, dass beim Schichtplan S am Mon-
tag bis zum ersten Schichtbeginn mindestens so viele Stunden Pause gemacht
wurden, dass die Mindestpausendauer bei der Kombination mit allen Schicht-
plänen aus der Vorwoche eingehalten werden kann. Alternativ reicht es, wenn
der erste Schichtbeginn bei S später als bei S ist. Die absolvierte Pausenlänge
84

6 Dynamisches Programm
im Endzustand muss beim Schichtplan S größer als bei S sein (66.3), sodass
S mit mehr Schichtplänen der Folgewoche kombiniert werden könnte.
Weiterhin gibt Bedingung (66.4) an, dass der Schichtplan S höchstens soviel
Wochenarbeitszeit verbraucht hat wie S . Hierdurch können weniger oder gleich
viel ausbezahlte Überstunden durch S als durch S anfallen. Zudem muss nach
Bedingung (66.5) der Zielfunktionswert von S mindestens so gut wie von S
sein.
Die beiden Bedingungsblöcke (66.6)­(66.8) bzw. (66.9)­(66.11) beschreiben
den Fall, dass der dominierende Zustand eine größere Wochenarbeitszeit als
der dominierte Zustand hat. Dies wird durch (66.6) bzw. (66.9) ausgedrückt.
Der Unterschied zwischen den Blöcken besteht darin, dass im ersten Block die
Schichtpläne beider Zustände, welche miteinander verglichen werden, nicht mit
einem Schichtplan aus der Vorwoche kombiniert werden können, bei welchem
am Sonntag ein Dienst stattfindet. Beide Schichtpläne
S bzw. S besitzen nach
(66.7) eine Wochenarbeitszeit, welche zu groß ist, um zusätzlich ~
f
1
(j
so
D
) Stun-
den zu addieren, ohne R
WA
zu überschreiten. Somit können S bzw. S nicht mit
einem Schichtplan der Vorwoche mit Dienst am Sonntag kombiniert werden.
Hierdurch können keine weiteren Überstunden mehr anfallen. Es müssen
lediglich die ausbezahlten Überstunden berücksichtigt werden. Durch S kön-
nen weniger Überstunden aus der Vorwoche wie durch S ausgeglichen wer-
den, sodass der gesamte Zielfunktionswert bei Kombination von S mit einem
Schichtplan der Vorwoche stärker durch ausbezahlte Überstunden erhöht wer-
den kann als bei Kombination mit S . Ist nach (66.8) die maximal mögliche
Erhöhung c
paid
· R
WA k
- R
WA k
zuzüglich dem Zielfunktionswert (obj)
k
immer noch kleiner als (obj)
k
, so ist die Kombination mit S stets besser als
die Kombination mit S und der Zustand x
k
kann somit gelöscht werden.
Beim zweiten Bedingungsblock besitzt der dominierende Zustand ebenfalls
eine größere Wochenarbeitszeit als der dominierte Zustand (66.9) und es ist
bei S bzw. S möglich, diese mit einem Schichtplan der Vorwoche zu kom-
binieren, welcher einen Dienst am Sonntag hat. Letzteres ist der Fall, da S
bzw. S eine Wochenarbeitszeit besitzen, zu welcher die zusätzlichen Stunden
~
f
1
(j
so
D
) addiert werden können, ohne die maximale Wochenarbeitszeit R
WA
zu
überschreiten (66.10).
Somit können nun durch die dazu addierten ~
f
1
(j
so
D
) bei S bzw. S sowohl
Überstunden wie auch ausbezahlte Überstunden anfallen. Die maximal mög-
liche Anzahl von diesen muss mit den jeweiligen Kostenparametern c
over
bzw.
c
paid
bei der Dominanz berücksichtigt werden (66.11).
85

6 Dynamisches Programm
6.5 Bedingungen für die optimale Lösung
Der bisherige Algorithmus zerlegt das Schichtplanungsproblem in einzelne Wo-
chenprobleme und ist daher eine Heuristik. Unter bestimmten Bedingungen
ergibt das DP auch die optimale Lösung über den gesamten Planungshorizont.
Dies ist in drei Fällen möglich.
1. Keine Arbeitsschicht kann über zwei Wochen verlaufen.
2. Der Schichtplan kann so verschoben werden, dass keine Arbeitsschicht
über zwei Wochen verläuft.
3. Obige zwei Bedingungen gelten für eine beliebige Unterteilung des Pla-
nungshorizonts in Perioden über sieben Tage.
1. Fall
Falls in der optimalen Lösung keine Arbeitsschicht über zwei Wo-
chen verlaufen kann, also keine Arbeit Sonntags beginnen und Montags enden
kann, so ist der durch das DP erzeugte Schichtplan optimal. Dieser Fall gilt,
wenn zwischen Sonntag und Montag immer mindestens R
P
Pausenperioden
eingehalten werden müssen bzw. wenn eine Arbeit bis 24 Uhr beendet sein
muss.
2. Fall
Alternativ kann die optimale Lösung berechnet werden, wenn es mög-
lich ist, dass die Schichtpläne so verschoben werden, dass nach dem Verschieben
keine Arbeitsschicht über zwei Wochen verläuft. Dies ist möglich, falls folgende
Gleichung gilt:
max
j
(l)
so
j
- min
j
(e)
mo
j
24
- R
A
- 1
j = 0, ..., n
(67)
Hierbei gibt max
j
(l)
so
j
den spätesten Startzeitpunkt der Arbeit an einem Sonn-
tag und min
j
(e)
mo
j
den frühesten Startzeitpunkt an einem Montag über dem
gesamten Planungshorizont an. Die Gleichung wird mithilfe von Abbildung 9
erläutert.
In diesem Beispiel ist R
A
= 12 und der dargestellte Ausschnitt gehöre zu
dem optimalen Schichtplan. Es gelte weiterhin, dass max
j
(l)
so
j
= 20 in der
ersten Woche und min
j
(e)
mo
j
= 9 in der zweiten Woche angenommen wird.
In der ersten und dritten Woche beginnt eine Arbeitsschicht am Sonntag und
endet am Montag der darauf folgenden Woche. Diesen optimalen Schichtplan
würde daher das bisherige Lösungsverfahren nicht erzeugen können. Verschiebt
man jedoch den gesamten Schichtplan so, dass alle Arbeitsschichten spätestens
am Sonntag enden, so wäre es mit dem DP möglich, diesen Schichtplan zu
generieren.
Hierzu muss beim Übergang der ersten zur zweiten Woche der Schichtplan
um mindestens neun Perioden zurück verschoben werden, damit die gesamte
86

6 Dynamisches Programm
Periode
...
Sonntag
Montag
...
Sonntag
Montag
... Sonntag
Montag
...
0
0
1
0
0
0
1
1
0
0
0
0
0
0
2
0
1
0
0
0
1
3
0
1
0
0
0
1
4
0
1
0
0
0
1
5
0
1
0
0
0
1
6
0
1
0
0
0
1
7
0
1
0
0
0
0
8
0
1
0
0
0
0
9
0
0
1
0
0
0
10
0
0
1
1
0
0
11
0
0
1
1
0
0
12
0
0
1
1
0
0
13
0
0
1
0
0
0
14
0
0
0
1
0
0
15
0
0
1
1
0
0
16
0
0
1
1
0
0
17
0
0
1
0
0
0
18
0
0
1
0
0
0
19
0
0
1
0
1
0
20
1
0
1
0
1
0
21
1
0
1
0
1
0
22
1
0
0
0
1
0
23
1
0
0
0
1
0
Abb. 9: Ausschnitt
eines
Schichtplans
vor
dem
Verschieben
von
Arbeitsschichten.
Arbeitsschicht im fiktiven Sonntag* liegt.
36
Bei der dritten zur vierten Woche
reichen beim Zurückschieben sieben Perioden. Beim Übergang von der zweiten
zur dritten Woche kann die Arbeitsschicht am Montag höchstens zehn Peri-
oden zurück geschoben werden, sodass diese noch am Montag* beginnt. Der
Schichtplan nach dem Verschieben wird in Abbildung 10 dargestellt. Dieser ist
mit dem Lösungsverfahren erzeugbar.
Periode
...
Sonntag*
Montag*
...
Sonntag*
Montag*
... Sonntag*
Montag*
...
0
0
0
1
0
0
0
1
0
0
1
0
0
0
2
0
0
1
1
0
0
3
0
0
1
1
0
0
4
0
0
1
1
0
0
5
0
0
0
0
0
0
6
0
0
1
1
0
0
7
0
0
1
1
0
0
8
0
0
1
1
0
0
9
0
0
1
0
0
0
10
0
0
1
0
1
0
11
1
0
1
0
1
0
12
1
0
1
0
1
0
13
1
0
0
0
1
0
14
1
0
0
0
1
0
15
1
0
0
0
1
0
16
0
0
0
0
0
0
17
1
0
0
0
1
0
18
1
0
0
0
1
0
19
1
0
0
0
1
0
20
1
0
0
0
1
0
21
1
0
0
0
1
0
22
1
0
0
0
0
0
23
1
0
0
0
0
0
Abb. 10: Ausschnitt
eines
Schichtplans
nach
dem
Verschieben
von
Arbeitsschichten.
36
Der Stern bei Sonntag* bezeichnet hierbei den fiktiven Sonntag. Dieser stellt einen Tag
über 24 Stunden dar, wobei diese Stunden im ,,echten" Schichtplan auf Sonntag und
Montag verteilt sind.
87

6 Dynamisches Programm
Bedingung (67) stellt sicher, dass es mindestens eine Verschiebung des opti-
malen Schichtplans gibt, in welcher keine Arbeitsschicht von Sonntag* bis Mon-
tag* dauert. Kann beispielsweise eine Arbeit maximal zwölf Perioden lang sein
und muss eine Mittagspause erfolgen, so darf der Abstand zwischen max
j
(l)
so
j
und min
j
(e)
mo
j
maximal 24
- 12 - 1 = 11 Perioden betragen.
Um mit dieser Erkenntnis den optimalen Schichtplan zu bestimmen, müssen
nun 24
- R
A
- 1 Iterationsschritte berechnet werden. In jedem Schritt werden
die Werte der Dualvariablen
dem
und
D
um eine weitere Periode zurück
verschoben und die dann fehlenden mit Null ergänzt.
Sei
j
das Delta auf der Stufe j des i-ten Iterationsschritts. Seien weiterhin
j
= c
j = 0, ..., n; c R
+
0
(68)
die
dem
,
D
des ursprünglichen Problems, so ergeben sich die
j
beim
i-ten Iterationsschritt durch
j
=
j+i
j = 0, ..., n - i
(69)
n-k
= 0
k = 0, ..., i
(70)
Für alle Iterationsschritte muss das Schichtplanungsproblem nun mit den ent-
sprechenden
j
gelöst werden und aus allen Lösungen wird die Beste bestimmt.
Ist diese in der i-ten Iteration generiert worden, so muss nun der Schichtplan
um i Perioden nach hinten verschoben werden, um auf den ursprünglichen
Schichtplan über den gesamten Planungshorizont zu kommen.
3. Fall
Die obigen zwei Bedingungen wurden für den Fall beschrieben, dass
eine Woche von Montag bis Sonntag geht. Alternativ können obige Bedingun-
gen angewandt werden, wenn es einen gleichen Stichtag innerhalb jeder Woche
gibt, zu welchem obige Bedingungen gelten.
Beispielsweise sei dieser Stichtag Donnerstag, so werden nun Schichtpläne
über eine Woche von Freitag bis Donnerstag erzeugt. Da die Werte der Dual-
variablen über einen Planungshorizont von einem Montag bis einem Sonntag
gegeben sind, müssen hierfür in der ersten angepassten Woche alle Werte der
Dualvariablen von Montag bis Donnerstag auf Null gesetzt werden. In der
letzten Woche werden die Werte von Freitag bis Sonntag auf Null gesetzt.
So kann ein optimaler Schichtplan erzeugt werden, welcher am Ende wieder
auf die ursprüngliche Wochentagsbezeichnung zurückgeführt werden muss.
88

7 Zeitliche Analyse der Lösungsverfahren
7 Zeitliche Analyse der Lösungsverfahren
In diesem Kapitel wird das Lösungsverhalten des MIPs und DPs mit ver-
schiedenen Probleminstanzen getestet. Ein Vergleich mit dem Subproblem aus
Brunner et al. (2010) (im Folgenden mit SP bezeichnet) wird ebenfalls durch-
geführt. Des Weiteren werden die Parameter, welche einen Schichtplan bestim-
men, variiert und die Auswirkungen auf die Lösungsdauer dargestellt.
Zuerst werden in Kapitel 7.1 die Parameter festgelegt und es wird ein Über-
blick über die verschiedenen durchgeführten Analysen gegeben. In Kapitel 7.2
werden die Ergebnisse dargestellt und kommentiert. Weitere Ergebnisse fin-
den sich im Anhang C. Am Ende des Kapitels werden die erzielten Ergebnisse
zusammengefasst.
7.1 Parametereinstellung und Beschreibung der Variationen
Die Einstellungen für die Parameter in der Zeitanalyse sind, falls diese in der
Analyse nicht variiert werden, wie in Tabelle 2 angegeben. Der Parameter
N gibt die Anzahl an Iterationen an. Es wurden 100 Iterationen gewählt.
Grund hierfür ist die zeitliche Dauer der Analyse, welche mit N = 100 in
einem angemessenen Zeitrahmen durchgeführt werden kann. Eine Iteration
bezeichnet hierbei die Lösung eines Schichtplanungsproblems, wobei sich die
Iterationen durch andere Werte von
dem
und
D
voneinander unterscheiden.
Die Parameter
dem
bzw.
D
bezeichnen die Dichte der
dem
bzw.
D
.
N = 100
v = 42
T
pre
= 3
R
A
= 12
c
paid
= 1
T
late
= 6
R
A
= 6
c
over
= 10
T
win
= 3
R
WA
= 48
dem
[0, 100] T
post
= 3
R
P
= 12
D
[0, 1000] W = 2, 4
R
D
= R
D
= 24
dem
=
1
2
= [mo, so]
N
D
= 2
D
=
1
2
= 24/7
Tab. 2: Allgemeine Parametereinstellungen.
Die Dichte drückt das Verhältnis von der Anzahl an
dem
> 0 bzw.
D
>
0 pro 24 Stunden aus. Die Dichte
dem
=
1
2
drückt beispielsweise aus,
dass das Verhältnis von Anzahl an
dem
> 0 pro 24 Stunden gleich einhalb
ist. Dies bedeutet, es befinden sich im Mittel zwölf
dem
> 0 an einem Tag.
Die Werte für
dem
bzw.
D
sind gleichverteilt zwischen den Bereichen 0 und
100 bzw. 0 und 1000. Für die Generierung der gleichverteilten Werte als auch
der gleichverteilten Anordnung der
dem
> 0 bzw.
D
> 0 wurde Microsoft
Excel 2003 benutzt. Diese Werte sind somit für die Analyse zufällig erstellte
Testdaten.
89

7 Zeitliche Analyse der Lösungsverfahren
Des Weiteren wird in den Analysen durch angegeben, in welcher Zeit-
spanne eine Arbeit möglich ist. Beispielsweise gibt = [7, 21] an, dass die
Ärzte zwischen 7 und 21 Uhr arbeiten und in der restlichen Zeit nur ein Dienst
möglich ist. Falls es möglich ist, innerhalb einer Woche rund um die Uhr zu
arbeiten, d.h. auch über Tagesgrenzen hinweg, so wird dies mit = 24/7
bezeichnet.
In Abhängigkeit von , T
win
und R
A
müssen innerhalb einer Iteration die
Lösungen für unterschiedlich viele Startzeitfenster [s
win
, e
win
] berechnet wer-
den.
37
Beispielsweise müssen für T
win
= 3, = [0, 24] und R
A
= 6 insgesamt
15 Startzeitfenster von [0, 3] bis [14, 17] zur Bestimmung der Lösung berech-
net werden. Das letzte Startzeitfenster ist [14, 17], da von 17 Uhr beginnend
noch eine Arbeit mit Mindestlänge R
A
= 6 und einer Mittagspause bis 24 Uhr
beendet werden kann. Ist = 24/7, so müssen 23 Startzeitfenster von [0, 3]
bis [23, 2] berücksichtigt werden. Theoretisch müsste daher für obige Einstel-
lungen die Laufzeit für = 24/7 in etwa 23/15 1, 5 mal so lang sein wie für
= [0, 24].
In den Analysen ist normalerweise eine Arbeit von Montag bis Sonntag mög-
lich. Dies kennzeichnet der Parameter = [mo, so]. Die Parameter und
werden benutzt, um die Lösungsdauer des DPs zu beschleunigen. Hierbei wer-
den, wie in Kapitel 6.4 beschrieben, nur Schichtpläne erstellt, welche bzgl.
und zulässig sind.
Die Einstellungen für die Kostenparameter der Überstunden sind
c
paid
= 1
und c
over
= 10. Somit wird eine Überstunde eingeplant, wenn hierdurch ein
dem
11 in der Zielfunktion berücksichtigt werden kann. Falls die Überstunde
durch eine Fehlstunde in der nächsten Woche ausgeglichen werden kann und
nicht ausbezahlt werden muss, gilt dies sogar für ein
dem
10. Da
dem
[0, 100] und gleichverteilt ist, wird in mehr als 89% aller Fälle eine Überstunde
eingeplant, falls damit ein
dem
> 0 erreicht werden kann.
Die Variationen laufen, falls nicht anders gekennzeichnet, über zwei bzw. vier
Wochen. Da der Algorithmus die Schichtplanung in einzelne Wochenprobleme
zerlegt, ist die theoretische Lösungsdauer einer Variation über vier bzw. sechs
Wochen das Doppelte bzw. das Dreifache einer Variation über zwei Wochen.
Dies wird bei der Darstellung der Ergebnisse deutlich. Daher wurden keine
größeren Planungshorizonte als vier Wochen gewählt, da sich die Lösungszei-
ten dieser Variationen aus den Lösungen kleinerer Planungshorizonte ableiten
lassen.
Die Ergebnisse folgender Laufzeitanalysen werden im nächsten Kapitel dar-
gestellt. Weichen die Parameter von Tabelle 2 ab, so wird dies explizit ange-
geben.
37
Die Beschleunigung des Algorithmus durch die Zerlegung in einzelne Startzeitfenster ist
in Kapitel 6.4 erklärt.
90

7 Zeitliche Analyse der Lösungsverfahren
· Variation der Häufigkeit der Dominanzaufrufe EF F (X
j
) mit
W = 2,
= [0, 24] und = [mo, fr]
· Variation der Labelbearbeitungsregel ORDER mit W = 2, = [0, 24]
und = [mo, fr]
· Vergleich des MIPs und DPs mit dem Modell aus Brunner et al. (2010)
anhand eines Praxisbeispiels mit = [mo, fr] und = [7, 21]
· Vergleich des MIPs und DPs mit dem Modell aus Brunner et al. (2010)
über 2 Wochen mit = [mo, so], = [0, 24] und () =
1
4
,
1
2
,
3
4
bzw. 1.
· Variation im DP über die Dichte der Deltas () =
1
4
,
1
2
,
3
4
bzw. 1 mit
= [0, 24] bzw. = 24/7 und W = 2, 4, 6.
· Laufzeit im DP ohne Berücksichtigung der Nebenbedingung ,,Mittags-
pause", ,,Dienst" bzw. ,,Zeitfenster"
· Variation im DP über das Zeitfenster T
win
= 0, 1, ..., 5
· Variation im DP über die Mindestarbeitszeit R
A
= 2, 4, ..., 10, wobei
T
pre
= T
post
=
1
2
· R
A
und T
late
= R
A
· Variation im DP über die Höchstarbeitszeit R
A
= 8, 10, 12, 14
Fast alle Analysen wurden auf einem Intel Pentium 4 Rechner mit 1,49 GB
RAM und einem 2,40 GHz Prozessor durchgeführt. Die Analysen des MIPs
bzw. des Modells aus Brunner et al. (2010) wurden im Kapitel 7.2.4 mit ei-
nem Athlon XP 2000+ Computer mit 992 MB RAM und einem 1,67 GHz
Prozessor gefahren. Beide Computer benutzen das Windows XP Professional
Betriebssystem.
Zur Modellierung des MIPs bzw. SPs wurde ILOG OPL 5.1 verwendet und
mit dem CPLEX 10.1.1 gelöst. Die Modellierung und Berechnung des DPs
erfolgte mit Eclipse 3.4.0 und JAVA 1.6.0, wobei für die Lösung in JAVA der
Arbeitsspeicher auf 1100 MB begrenzt wurde.
7.2 Ergebnisse der Laufzeitanalysen
Im Folgenden werden die Ergebnisse der Laufzeiten von oben genannten Varia-
tionen dargestellt. In diesem Kapitel werden als Kennwerte der Mittelwert M
und der Variationskoeffizient VC benutzt. Tabellen mit der Angabe der Stan-
dardabweichung SD und des minimalen Min bzw. maximalen Wertes Max der
Lösungszeit sind im Anhang C dargestellt.
Die Lösungszeit einer Iteration setzt sich aus folgenden Komponenten zu-
sammen: Erstellung der Labels, Überprüfung der Effizienz der Labels und der
91

7 Zeitliche Analyse der Lösungsverfahren
Bestimmung der Labels x
w
i
für alle i W, welche kombiniert den besten Ziel-
funktionswert bilden. Die ersten beiden Schritte erfolgen abwechselnd, sodass
eine getrennte Erfassung der Berechnungszeiten nicht erfolgen kann. Der letzte
Schritt dauert zwischen 0 und etwa 1000 Millisekunden, ist aber im Vergleich
zur Lösungszeit weniger als 1% und wird daher nicht separat ausgewiesen.
Die Dauer zur Berechnung der optimalen Schichtpläne ausgehend von den x
w
i
fließt nicht in die Lösungsdauer ein, da nur an der Zeitdauer bis zur optima-
len Lösungsfindung Interesse besteht, nicht aber an der visuellen Ausgabe der
optimalen Lösung.
7.2.1 Häufigkeit der Effizienzprüfung
Ziel dieser Analyse ist die Einstellung für das DP bzgl. der Frequenz der Effi-
zienzprüfung EF F (X
j
) herauszufinden, welche die Lösungsdauer minimiert.
In Abhängigkeit der Häufigkeit der Effizienzprüfung EF F (X
j
) der Label
x
j
X
j
ändert sich die Lösungsdauer. Erfolgt die Effizienzprüfung nicht nach
jeder Stufe j, sondern nur in jeder zweiten, dritten, etc. Stufe, so werden einer-
seits weniger Labelvergleiche durchgeführt, was zu einer Laufzeitverbesserung
beiträgt. Auf der anderen Seite werden hierdurch weniger Labels dominiert und
gelöscht, wodurch bei den einzelnen Effizienzprüfungen mehr Labels verglichen
werden müssen.
Die abweichenden Parametereinstellungen für diese Analyse sind in Tabelle 3
dargestellt.
W = 2 = [mo, fr] = [0, 24]
Tab. 3: Abweichende Parametereinstellungen bei Variation der Häufigkeit der
Effizienzprüfung.
Diese Analyse hat, wie die nächste Analyse in Kapitel 7.2.2 zum Ziel, die
besten Einstellungen beim DP für die weiteren Analysen zu finden, welche
die Lösungsdauer minimieren. Zum Testen wurde eine Instanz über zwei Wo-
chen gewählt, bei welcher von Montag bis Freitag von 0 bis 24 Uhr gearbeitet
werden kann. Die ORDER Regel entspricht der Bearbeitung der Labels nach
aufsteigendem Index.
Das Ergebnis der Analyse ist in Tabelle 4 dargestellt. Für weitere Kennwerte
sei auf Tabelle C.1 im Anhang verwiesen.
Man erkennt, dass die Lösungszeit im Mittel am Geringsten ist, wenn die
Effizienzprüfung auf jeder zweiten Stufe erfolgt. Die Varianz der Lösungszeit
ist insgesamt als konstant anzusehen. Die folgende Tabelle 5 gibt die Anzahl
an erstellen Labels (EL), die Anzahl an dominierten Labels (DL) und die An-
zahl der notwendigen paarweisen Vergleiche (LV) zur Bestimmung der Effizienz
wieder. Tabelle C.2 im Anhang stellt die weiteren Kennwerte ,,Standardabwei-
92

7 Zeitliche Analyse der Lösungsverfahren
Aufruf von EF F (X
j
) auf jeder j-ten Stufe
1
2
3
4
5
M [s]
22,72
14,90
16,17
15,24
16,08
VC
0,34
0,31
0,30
0,32
0,30
Tab. 4: Lösungszeiten bei Variation der Häufigkeit der Effizienzprüfung.
chung", ,,Minimum" und ,,Maximum" dieser Analyse dar. Zudem ist dort das
Verhältnis der Lösungszeit zur Anzahl an erstellten und dominierten Labels
bzw. der Anzahl an notwendigen Vergleichen angegeben. Dies wird mit dem
Parameter (·) für EL, DL und LV angegeben, wobei (·) die Einheit [
s
10
6
]
trägt.
Aufruf von EF F (X
j
) auf jeder j-ten Stufe
1
2
3
4
5
EL [10
6
]
M
0,98
1,17
1,45
1,90
2,40
VC
0,16
0,16
0,16
0,16
0,16
DL [10
6
]
M
0,12
0,16
0,20
0,26
0,32
VC
0,17
0,16
0,16
0,17
0,17
LV [10
6
]
M
139,68
80,67
68,61
69,28
67,41
VC
0,36
0,36
0,36
0,40
0,37
Tab. 5: Kennwerte
der
Labels
bei
Variation
der
Häufigkeit
der
Effizienzprüfung.
Es wird deutlich, dass die Anzahl an erstellen Labels steigt, je seltener
EF F (X
j
) aufgerufen wird, also je seltener Labels auf Effizienz überprüft und
ggf. gelöscht werden. Je mehr Labels erzeugt werden, desto mehr werden auch
dominiert. Wird EF F (X
j
) seltener aufgerufen, so gibt es auf die Anzahl der
notwendigen Vergleiche zur Bestimmung der Dominanzen LV zwei Einflüsse.
Einerseits gibt es weniger Vergleiche, da seltener die Dominanz geprüft wird.
Andererseits müssen bei jedem Dominanzaufruf mehr Labels miteinander ver-
glichen werden. Der erste Effekt überwiegt bis zu einem Aufruf von EF F (X
j
)
auf jeder dritten Stufe. Danach bewirkt der zweite Effekt, dass die Anzahl
notwendiger Vergleiche nahezu konstant bei 70 Millionen bleibt.
7.2.2 Variation der ORDER Regel
Im letzten Kapitel wurde festgestellt, dass die Lösungsdauer im Mittel am
Geringsten ist, wenn die erzeugten Labels auf jeder zweiten Stufe auf Effizienz
untersucht werden. In diesem Kapitel wird mit dieser Regel analysiert, nach
welcher ORDER Reihenfolge die Labels am Besten im Laufe des Algorithmus
bearbeitet werden, um die Lösungsdauer zu minimieren. In Kapitel 7.2.1 war
dies nach aufsteigendem Index. Es wird weiterhin nach absteigendem Index,
93

7 Zeitliche Analyse der Lösungsverfahren
aufsteigendem oder absteigendem Zielfunktionswert bzw. Wochenarbeitszeit
untersucht. Die abweichenden Parametereinstellungen gibt Tabelle 6 wieder.
W = 2 = [mo, fr] = [0, 24]
Tab. 6: Abweichende Parametereinstellungen bei Variation der ORDER Regel.
Die Einstellungen sind identisch mit denen des vorherigen Kapitels. Die
Ergebnisse der Laufzeitanalyse sind in Tabelle 7 bzw. eine ausführliche Dar-
stellung in Tabelle C.3 dargestellt.
ORDER Regel
aufst.
abst.
aufst.
abst.
aufst.
abst.
Index
Index
obj
obj
R
WA
R
WA
M [s]
14,90
15,66
13,74
17,15
14,45
16,09
VC
0,31
0,31
0,31
0,32
0,32
0,31
Tab. 7: Lösungszeiten bei Variation der ORDER Regel.
Die ORDER Reihenfolge mit der geringsten mittleren Lösungsdauer ist nach
aufsteigendem Zielfunktionswert zu sortieren. Dies bedeutet, dass die Labels
mit bisher bestem Zielfunktionswert auf einer Stufe als erstes fortgesetzt wer-
den.
Tabelle 8 gibt einen Überblick über die hierbei erzeugte und dominierte
Anzahl an Labels. Tabelle C.4 enthält weitere Kennwerte.
ORDER Regel
in
aufst.
abst.
aufst.
abst.
aufst.
abst.
[10
6
]
Index
Index
obj
obj
R
WA
R
WA
EL
M
1,17
1,19
1,15
1,17
1,17
1,20
VC
0,16
0,16
0,16
0,16
0,16
0,16
DL
M
0,16
0,16
0,16
0,16
0,16
0,16
VC
0,16
0,16
0,16
0,16
0,16
0,16
LV
M
80,67
84,16
71,84
91,81
80,67
86,54
VC
0,36
0,36
0,36
0,36
0,36
0,36
Tab. 8: Kennwerte der Labels bei Variation der ORDER Regel.
Man erkennt, dass bei der besten ORDER Regel die geringste Anzahl mit
1,15 Millionen Labels erstellt wird, wobei genauso viele Labels wie bei den an-
deren Iterationen durch Dominanz gelöscht werden. Das Ausschlaggebende für
die schnellere Lösungszeit ist die niedrigere Anzahl an Labelvergleichen für die
Bestimmung der Dominanz. Dies beruht auf die geringere Anzahl an erstellten
Labels. Ein weiterer Grund ist vermutlich, dass die Labels gleichmäßiger auf
94

7 Zeitliche Analyse der Lösungsverfahren
allen Stufen verteilt sind, wodurch es selbst bei ähnlich hoher Anzahl an Labels
zu weniger Vergleichen kommt.
38
7.2.3 Praxisbeispiel
Für den Vergleich der in dieser Arbeit dargestellten Lösungsmethoden des
MIPs und DPs mit dem SP wird ein Beispiel gewählt, welches die Arbeitszeit
wie in der Praxis wiedergibt. Hierbei gibt MIP, das in Kapitel 5 erläuterte
Modell, DP, das in Kapitel 6 dargestellt Model und SP, das in Brunner et al.
(2010) modellierte Subproblem an. Es kann von Montag bis Freitag von 7 bis
21 Uhr gearbeitet werden und ein Dienst ist an jedem Tag möglich. Tabelle
9 gibt die abweichenden Parameter an. Es sei daran erinnert, dass durch die
verkürzten Arbeitszeiten beim MIP und SP ein Preprocessing möglich ist, wel-
ches den Lösungsraum einschränkt und daher die Lösungszeit verringert. Für
das MIP wurde der ,,network simplex" als Algorithmus für die lineare Optimie-
rung eingestellt. Dieser benötigte für die Lösung der Probleminstanzen etwa
15% weniger Zeit als die automatische Einstellung.
= [mo, fr] = [7, 21] W = 2, 4, 6
Tab. 9: Abweichende Parametereinstellungen im Praxisbeispiel.
Die Lösungszeiten dieser Analyse sind in Tabelle 10 dargestellt. Die Darstel-
lung der Lösungszeiten mit weiteren Kennwerten ist im Anhang C in Tabelle
C.5 zu finden.
Wochen
2
4
6
MIP
M [s]
15,15
21,56
31,27
VC
0,07
0,15
0,34
SP
M [s]
2,76
4,91
13,31
VC
0,15
0,52
1,30
DP
M [s]
3,64
7,88
11,61
VC
0,45
0,29
0,21
Tab. 10: Lösungszeiten des MIPs, DPs und SPs im Praxisbeispiel.
Das MIP besitzt in allen Variationen die langsamste mittlere Lösungszeit.
Das SP hat für die Variationen über zwei und vier Wochen die durchschnittlich
beste Lösungszeit aller drei Lösungsverfahren. Die Instanz über sechs Wochen
38
Seien beispielsweise 100 Labels auf zwei Stufen verteilt, im ersten Fall zu 80-20 und im
zweiten Fall zu 40-60. Somit sind bisher im ersten Fall 1 + 2 +
... + 79 = 3160 und
1 + 2 +
... + 19 = 190, gesamt also 3350 Vergleiche durchgeführt worden. Im zweiten Fall
sind lediglich 1 + 2 +
...+39 = 780 und 1+2+...+59 = 1770, gesamt also 2550 Vergleiche
notwendig. Die Anzahl der Vergleiche ergibt sich, da ein neu erzeugtes Label auf einer
Stufe mit allen bisherigen Labels dieser Stufe auf Effizienz verglichen wird.
95

7 Zeitliche Analyse der Lösungsverfahren
kann das DP mit durchschnittlich 11,6 Sekunden schneller als das SP lösen.
Auffallend beim Vergleich von SP und DP ist die starke Zunahme der Varianz
mit steigender Wochenanzahl beim SP bzw. die fallende Varianz beim DP. Die
Varianz beim MIP steigt auch mit zunehmender Wochenanzahl.
Grund hierfür ist, dass das MIP und SP beide gemischt ganzzahlige Pro-
gramme sind, wobei das komplette Problem mit dem Simplex auf einmal ge-
löst wird. Hierdurch wird die Komplexität bei steigender Wochenanzahl größer.
Beim DP hingegen werden die Wochen unabhängig voneinander gelöst. Somit
ist zum Beispiel die Instanz über sechs Wochen eine Aneinanderreihung von
drei Instanzen über zwei Wochen. Die gesamte Varianz über den Planungshori-
zont ist die Summe der Teilvarianzen der Wochenprobleme. Da der Variations-
koeffizient die normierte Standardabweichung ist, also die Wurzel der Varianz
darin einfließt, sinkt dieser mit zunehmender Wochenanzahl.
39
Die mittlere Lösungszeit des DPs pro einzelne Woche ist konstant bei et-
wa 2 Sekunden. Beim MIP stimmt diese Beziehung zwischen Lösungszeit und
Wochenanzahl bis auf die Lösungsdauer der Instanz über zwei Wochen. Diese
müsste für einen linearen Zusammenhang um die 10 Sekunden betragen. Beim
SP weicht die Lösungsdauer der Instanz über sechs Wochen von den erwar-
teten 8 Sekunden mit ca. 13 Sekunden stark ab. Dies deutet eher auf einen
nichtlinearen Zusammenhang zwischen Lösungsdauer und Wochenanzahl.
Ergänzend ist in Tabelle 11 die Anzahl an Variablen, Nebenbedingungen
und Koeffizienten ungleich Null des MIPs bzw. SPs angegeben.
Wochen
2
4
6
MIP
Anz. Variablen
9129
18249
27369
Anz. Nbdgen
5393
10777
16161
Koeff. ungl. Null
29799
59605
89411
SP
Anz. Variablen
4387
8805
13223
Anz. Nbdgen
1370
2738
4106
Koeff. ungl. Null
25138
50722
76306
Tab. 11: Anzahl an Variablen, Nebenbedingungen und Koeffizienten ungleich
Null im MIP und SP im Praxisbeispiel.
Die Anzahl an Variablen und Nebenbedingungen sowie die Anzahl an Ko-
effizienten ungleich Null ist beim MIP und SP linear zur Anzahl der Wochen.
39
Seien als Beispiel
X
1
,
X
2
bzw.
X
3
die Lösungszeiten der ersten bis zweiten, dritten
bis vierten bzw. fünften bis sechsten Woche. Die
X
1
,
X
2
und
X
3
sind unabhängig
und (ohne dies zu beweisen) identisch verteilt. Es gilt für die Varianz der Lösungs-
zeit der ersten bis sechsten Woche, dass
V ar(X
1
+
X
2
+
X
3
) =
V ar(X
1
) +
V ar(X
2
) +
V ar(X
3
) = 3
·V ar(X
1
). Somit gilt für die Standardabweichung
V ar(X
1
+
X
2
+
X
3
) =
V ar(X
1
) +
V ar(X
2
) +
V ar(X
3
) =
3
· V ar(X
1
), wodurch der Variationskoeffizient
bei steigender Wochenanzahl sinkt. Vergleiche hierzu Fahrmeir et al. (2009).
96

7 Zeitliche Analyse der Lösungsverfahren
Das SP benötigt knapp ein Viertel der Anzahl an Nebenbedingungen wie das
MIP und weniger als die Hälfte an Variablen. Dies erklärt auch die schnellere
Lösungszeit des SPs im Vergleich zum MIP.
Die Anzahl an erzeugten Labels und der durchgeführten Vergleiche zur Be-
stimmung der Dominanz ist in Tabelle 12, bzw. mit weiteren Kennwerten in
Tabelle C.6 dargestellt.
Wochen
2
4
6
EL [10
6
]
M
0,33
0,65
0,96
VC
0,23
0,16
0,13
DL [10
6
]
M
0,04
0,08
0,11
VC
0,24
0,16
0,13
LV [10
6
]
M
19,58
37,09
53,37
VC
0,51
0,34
0,27
Tab. 12: Kennwerte der Labels des DPs im Praxisbeispiel.
Auch hier ist erkennbar, dass die Anzahl an erzeugten bzw. dominierten La-
bels etwa einen linearen Zusammenhang zur Wochenanzahl bildet. Dies gilt
ebenso für die notwendigen Vergleiche der Labels. Die Varianz sinkt mit zu-
nehmender Wochenanzahl.
7.2.4 Praxisbeispiel II
Nun wird die Probleminstanz dahingehend verändert, dass eine Arbeit von
Montag bis Sonntag von 0 bis 24 Uhr möglich ist. Ziel ist, das Laufzeitverhalten
des MIPs, SPs und DPs bei Parametern, welche keine starke Einschränkung
des Lösungsraums ermöglichen, zu untersuchen. Die abweichenden Parameter
dieser Analyse sind in Tabelle 13 gegeben.
W = 2 = [0, 24]
Tab. 13: Abweichende Parametereinstellungen beim zweiten Praxisbeispiel.
Die Lösungszeiten gibt Tabelle 14 wieder. Für die Lösung des MIPs und SPs
wurde der Athlon XP 2000+ verwendet.
Sowohl das MIP als auch das SP konnten für die vorliegende Variation nach
20 Stunden nicht die erste von 100 Iterationen optimal lösen. Das DP konnte
diese Variation im Mittel mit etwa 35 Sekunden pro Iteration lösen.
Die Tabellen mit der Anzahl an Variablen, an Nebenbedingungen und an
Koeffizienten ungleich Null für das MIP und SP befinden sich im Anhang
in Tabelle C.7. Die Anzahl an erstellten und dominierten Labels bzw. der
notwendigen Vergleiche für die Dominanz sind in Tabelle 15 dargestellt. Da
97

7 Zeitliche Analyse der Lösungsverfahren
Verfahren
MIP
SP
DP
M [s]
-
-
35,09
VC
-
-
0,36
Abbruch nach 20 Stunden
ohne vollständige Lösung ei-
ner Iteration.
Tab. 14: Lösungszeiten des MIPs, SPs und DPs für das zweite Praxisproblem.
diese Variation identisch mit der Variation für =
1
2
,
W = 2 und = [0, 24]
ist, welche im nächsten Kapitel besprochen wird, sind weitere Kennwerte der
Lösungszeit bzw. der Labels in Tabelle C.8 bzw. Tabelle C.9 zu finden.
EL [10
6
]
M
1.93
VC
0.18
DL [10
6
]
M
0.33
VC
0.18
LV [10
6
]
M
204.04
VC
0.40
Tab. 15: Kennwerte der Labels für das DP im zweiten Praxisbeispiel.
Löst man das SP mit den Einstellungen
W = 2, = [mo, so] und = [0, 24]
und den verschiedenen Dichten () =
1
4
,
1
2
,
3
4
, 1, so konnten innerhalb von 20
Stunden nur für die Variation () =
1
4
zwei Iterationen gelöst werden. Bei
allen anderen Variationen löste das SP die erste Iteration nicht vollständig.
Die Lösung des MIPs mit denselben Einstellungen führte innerhalb von 20
Stunden bei keiner Variation zu der Lösung einer Iteration.
7.2.5 Variation der Dichte der Deltas
In diesem Kapitel wird die Lösungszeit bei verschiedenen Dichten von
dem
und
D
untersucht. Das Laufzeitverhalten bei Erhöhung der relativen Anzahl
an
dem
> 0 bzw.
D
> 0 soll untersucht werden, um den Einfluss hierauf
auf die Lösungszeit festzustellen. Die Variationen werden über zwei, vier und
sechs Wochen und für zwei verschiedene Einstellungen der möglichen Arbeits-
zeit durchgeführt. Die Parameter, welche dementsprechend von den Grundein-
stellungen abweichen, sind in Tabelle 16 dargestellt.
() =
1
4
,
1
2
,
3
4
, 1 = [0, 24], 24/7 W = 2, 4, 6
Tab. 16: Abweichende Parametereinstellungen bei Variation der Dichten von
dem
und
D
.
Das Ergebnis der Laufzeitanalyse ist in Tabelle 17 bzw. mit weiteren Kenn-
werten in Tabelle C.8 dargestellt. Auffallend ist, dass die Lösungszeiten für
98

7 Zeitliche Analyse der Lösungsverfahren
= [0, 24] und = 24/7 nur bei zwei bzw. vier Wochen für =
1
4
im theo-
retisch erwarteten Verhältnis 2 : 3 stehen. Für alle anderen Variationen sind
die Lösungszeiten für = 24/7 kürzer als erwartet. Dieser Effekt beruht dar-
auf, dass für = 24/7 weniger als eineinhalbfach so viele Labelvergleiche zur
Überprüfung der Dominanz wie bei = [0, 24] notwendig sind.
= [0
, 24]
= 24
/7
W
=
1
4
=
1
2
=
3
4
= 1
=
1
4
=
1
2
=
3
4
= 1
2
M
10,68
35,09
45,85
47,83
15,49
48,58
62,03
64,19
VC
0,42
0,36
0,35
0,36
0,36
0,32
0,32
0,30
4
M
21,71
72,46
104,67
99,68
29,58
96,95
135,30
127,38
VC
0,33
0,27
0,25
0,24
0,30
0,24
0,23
0,21
6
M
53,21
136,26
161,18
155,34
58,26
154,36
244,14
280,51
VC
0,78
0,78
0,30
0,27
0,58
0,35
0,63
0,84
Bei = 24
/7 konnten für =
3
4
insgesamt 96 Iterationen und für
= 1 insgesamt 67
Iterationen gelöst werden.
Tab. 17: Lösungszeiten bei Variation der Dichten von
dem
und
D
.
Dies ist am Beispiel für zwei bzw. vier Wochen in den Tabellen 18 bzw. 19
sichtbar. Weitere Kennwerten für zwei, vier und sechs Wochen sind im Anhang
C in den Tabellen C.9, C.10 und C.11 dargestellt.
in
= [0
, 24]
= 24
/7
[10
6
]
=
1
4
=
1
2
=
3
4
= 1
=
1
4
=
1
2
=
3
4
= 1
EL
M
0,92
1,93
2,34
2,47
1,39
2,83
3,40
3,56
VC
0,22
0,18
0,16
0,16
0,18
0,15
0,14
0,13
DL
M
0,16
0,33
0,38
0,40
0,25
0,48
0,56
0,58
VC
0,22
0,18
0,16
0,17
0,18
0,15
0,14
0,13
LV
M
56,18
204,04
265,72
273,86
76,24
265,41
342,28
350,65
VC
0,49
0,40
0,38
0,38
0,42
0,35
0,34
0,33
Tab. 18: Kennwerte der Labels bei Variation der Dichten von
dem
und
D
für
zwei Wochen.
Weiterhin auffallend ist, dass die Varianz bei der Variation über sechs Wo-
chen nicht geringer ist im Vergleich zu zwei bzw. vier Wochen. Dieser Effekt
beruht darauf, dass der Arbeitsspeicher des Rechners für die Berechnung nicht
ausreichend ist. Bei der Variation mit =
3
4
und = 1 konnten für = 24/7
vier bzw. 33 Iterationen aufgrund von zu geringem Arbeitsspeicher nicht ge-
löst werden. Daher sind die Werte für die Variation über sechs Wochen wenig
aussagekräftig. Aus diesem Grund und der Tatsache, dass die Laufzeiten von
sechs Wochen sich aus den Laufzeiten von zwei bzw. vier Wochen schätzen
lassen, werden im Folgenden ausschließlich die Variationen über zwei und vier
Wochen gelöst.
99

7 Zeitliche Analyse der Lösungsverfahren
in
= [0
, 24]
= 24
/7
[10
6
]
=
1
4
=
1
2
=
3
4
= 1
=
1
4
=
1
2
=
3
4
= 1
EL
M
1,83
3,83
4,87
4,99
2,77
5,62
7,01
7,14
VC
0,18
0,13
0,12
0,10
0,15
0,11
0,10
0,08
DL
M
0,32
0,65
0,80
0,81
0,49
0,96
1,16
1,17
VC
0,18
0,13
0,12
0,11
0,15
0,11
0,10
0,09
LV
M
113,11
406,33
580,09
553,67
153,78
528,27
741,67
701,57
VC
0,39
0,29
0,26
0,25
0,35
0,26
0,23
0,22
Tab. 19: Kennwerte der Labels bei Variation der Dichten von
dem
und
D
für
vier Wochen.
Zu erwarten wäre bei der mittleren Lösungsdauer in Tabelle 17, dass mit
steigender Dichte die mittlere Lösungsdauer ansteigt. Der Grund hierfür
ist, da es mit steigendem weniger
dem
= 0 bzw.
D
= 0 gibt und somit
eine größere Anzahl an möglichen Schichtplänen erstellt werden muss. Diese
Erwartung stimmt für die Variation über zwei Wochen.
Bei vier Wochen tritt jedoch der Effekt auf, dass die mittlere Lösungszeit
für =
3
4
größer als für = 1 ist. Dies beruht auf der größeren Anzahl an
notwendigen Labelvergleichen für =
3
4
(siehe Tabelle 19). Auffallend ist, dass
die mittlere Lösungszeit und die Anzahl an Labelvergleichen bei =
3
4
für vier
Wochen mehr als doppelt so groß ist wie bei der Variation über zwei Wochen.
Bei allen anderen Dichten stimmt das erwartete Verhältnis 2 : 1 jedoch in
etwa. Vermutlich tritt diese Abweichung bei =
3
4
auf, da auch mehr als
doppelt so viele Labels erstellt wurden. Dies könnte an der Beschaffenheit
der Datensätze liegen. Weitere tiefergehende Analysen sind notwendig, um die
Ursache festzustellen.
Bei allen bisherigen Vergleichen, mit Ausnahme der ,,Häufigkeit der Domi-
nanzaufrufe", ist auch auffallend, dass der Parameter (LV ) konstant zwischen
0, 18 und 0, 23 ist. Die genauen Werte finden sich in den Tabellen im Anhang C.
Die Werte für (EL) bzw. (DL) schwanken etwa zwischen 7 und 19 bzw. 60
und 113. Somit wird deutlich, dass die Lösungszeit von der Anzahl an notwen-
digen Labelvergleichen zur Bestimmung der Dominanzbeziehungen abhängt.
Pro eine Million Labelvergleiche erhöht sich die Lösungsdauer um etwa 0,20
Sekunden.
7.2.6 Auslassung der Nebenbedingungen ,,Mittagspause", ,,Dienst"
bzw. ,,Startzeitfenster"
Im Folgenden wird die Lösungsdauer des DPs untersucht, wobei jeweils die Ne-
benbedingung der Mittagspause, des Dienstes bzw. des Startzeitfensters ausge-
lassen wird. Es soll festgestellt werden, welchen Einfluss eine Nebenbedingung
100

7 Zeitliche Analyse der Lösungsverfahren
auf die Lösungsdauer besitzt. Es soll also analysiert werden, wie stark eine
zusätzliche Nebenbedingung die Lösung des Problems komplexer gestaltet.
Die Einstellungen der Parameter, um die Auslassung der Mittagspause zu
implementieren, sind in Tabelle 20 beschrieben.
T
pre
= 0
T
post
= 0
T
late
= R
A
x
init,w
= (0, 0, 0, R
P
, 0, 0, 0, 0, 1, 24, 0)
1
0
Tab. 20: Abweichende Parametereinstellungen bei Auslassung der Nebenbe-
dingung für die Mittagspause.
Beim Initialisierungszustand ist nun der Wert (mp)
j
= 1 statt
-1. Überdies
muss die Transformationsfunktion bei der Entscheidung a
j
= l so ergänzt wer-
den, dass der Wert für (mp)
j+1
auf Eins gesetzt wird. Somit wird verhindert,
dass die Entscheidung für eine Mittagspause a
j
= b getroffen wird, da in allen
Labels angezeigt wird, dass bereits eine Mittagspause absolviert wurde. Somit
gilt Folgendes für die Transformationsfunktion:
t
l
(x
j
, l) : (mp)
j+1
= 1
(50.7)
Bei Auslassung des Dienstes muss der Initialisierungszustand auf x
init
=
(0, 0, 0, R
P
, 0, 0, N
D
, 0, 1, 24, 0)
1
0
geändert werden. Somit ist bei Beginn der Wo-
che bereits die maximale Anzahl an erlaubten Diensten absolviert und der
Algorithmus plant keine weiteren Dienste mehr ein.
Um die Nebenbedingung des Startzeitfensters bei = [24/7] nicht zu be-
rücksichtigen, muss T
win
= 24 und E
A
= T
win
+ R
A
+ 1 gesetzt werden. Somit
beinhaltet die for-Schleife beim Algorithmus 3, Zeile 1 in Kapitel 6.4
for i = 0 to E
A
- S
A
- R
A
- T
win
- 1 do
nur den Wert Null.
Die Lösungszeiten für die Analysen zeigt Tabelle 21 und Tabelle C.12 im
Anhang mit weiteren Kennwerten.
Nebenbedingung
W
MP
D
T
win
2
M [s]
14,35
24,71
46,78
VC
0,27
0,27
0,72
4
M [s]
40,44
49,86
97,59
VC
0,37
0,19
0,50
Tab. 21: Lösungszeiten bei Auslassung der Nebenbedingungen ,,Mittagspau-
se", ,,Dienst" bzw. ,,Startzeitfenster".
101

7 Zeitliche Analyse der Lösungsverfahren
Im Vergleich zur mittleren Lösungsdauer von 48,58 Sekunden bzw. 96,95
Sekunden für zwei bzw. vier Wochen (siehe Tabelle 17) bei Berücksichtigung
aller Nebenbedingungen, führt die Auslassung der Nebenbedingung der Mit-
tagspause zur größten Reduzierung der Lösungszeit. Beim Vernachlässigen der
Nebenbedingung des Dienstes ist die Lösungszeit etwa halb so groß wie mit
dieser Nebenbedingung.
Grund für die Reduzierungen ist die geringere Anzahl an Möglichkeiten für
einen Schichtplan, sodass der Algorithmus weniger Labels erzeugen muss. Ins-
besondere müssen weniger Labels miteinander vergleichen werden, um die Ef-
fizienz von Labels festzustellen. Dies kann anhand Tabelle 22 bzw. mit wei-
teren Kennwerten anhand Tabelle C.13 bestätigt werden. Bei der Variation
über zwei bzw. vier Wochen mit Berücksichtigung aller Nebenbedingungen ist
LV = 265, 41 · 10
6
bzw. LV = 528, 27 · 10
6
(siehe Tabelle 18). Man erkennt am
Vergleich, dass insbesondere die deutlich geringere Anzahl an notwendigen La-
belvergleichen bei Auslassung der Nebenbedingungen die Lösungszeit positiv
beeinflusst.
Nebenbedingung
W
MP
D
T
win
2
EL [10
6
]
M [s]
1,68
1,96
0,83
VC
0,15
0,13
0,33
DL [10
6
]
M [s]
0,24
0,35
0,17
VC
0,15
0,13
0,33
LV [10
6
]
M [s]
60,00
128,84
319,14
VC
0,34
0,32
0,73
4
EL [10
6
]
M [s]
3,35
3,93
1,64
VC
0,11
0,09
0,22
DL [10
6
]
M [s]
0,47
0,70
0,34
VC
0,11
0,09
0,22
LV [10
6
]
M [s]
120,02
259,01
611,45
VC
0,25
0,22
0,51
Tab. 22: Kennwerte der Labels bei Auslassung der Nebenbedingungen ,,Mit-
tagspause", ,,Dienst" bzw. ,,Startzeitfenster".
Die Auslassung der Nebenbedingung des Startzeitfensters führt kaum zu
einer Verbesserung der Lösungszeit. Auffallend ist auch die deutlich höhere
Varianz. Der Wert EL = 0, 83 · 10
6
zeigt eine scheinbar geringere Anzahl an
erzeugten Labels. Zu beachten ist, dass dies die Anzahl in einer Iteration über
ein Startzeitfenster ist. Bei der Analyse mit Berücksichtigung von Startzeit-
fenstern bei = [24/7] wird über 23 Startzeitfenster iteriert und somit ist
die durchschnittliche Anzahl von erzeugten Labels in einer solchen Iteration
EL = 2, 83·10
6
/23 0, 12·10
6
. Durch die hohe Anzahl an Labels in einer Itera-
tion bei Auslassung des Startzeitfensters sind viele Labelvergleiche notwendig,
102

7 Zeitliche Analyse der Lösungsverfahren
welche die Lösungszeit erhöhen. Zum Vergleich sei auch auf das Kapitel 7.2.9
verwiesen, in welchem der Parameter T
win
variiert wird.
7.2.7 Variation der Mindestarbeitszeit
Ziel dieser Analyse ist es, die Lösungszeit in Abhängigkeit der Mindestarbeits-
zeit festzustellen. Die Mindestarbeitszeit R
A
wird zwischen den Werten 2 und
10 variiert. Hierfür ist es auch notwendig, die Werte T
pre
, T
late
und T
post
der
Nebenbedingung der Mittagspause anzupassen, da es nicht möglich ist, dass
R
A
< T
pre
+ T
post
. Die Einstellungen der veränderten Parameter sind in Ta-
belle 23 dargestellt.
R
A
= 2, 4, ..., 10 T
pre
=
1
2
· R
A
T
late
= R
A
T
post
=
1
2
· R
A
Tab. 23: Abweichende
Parametereinstellungen
bei
Variation
der
Mindestarbeitszeit.
Die Ergebnisse der Lösungszeiten zeigt Tabelle 24.
R
A
W
2
4
6
8
10
2
M [s]
33,40
40,74
48,58
45,05
18,58
VC
0,25
0,28
0,32
0,33
0,29
4
M [s]
68,71
83,38
96,95
90,90
38,60
VC
0,17
0,21
0,24
0,24
0,22
Tab. 24: Lösungszeiten bei Variation der Mindestarbeitszeit.
Es ist gut erkennbar, dass die mittleren Lösungszeiten für vier Wochen in et-
wa das Doppelte der entsprechenden Lösungszeiten der Variationen über zwei
Wochen beträgt. Die Varianz der Lösungszeit nimmt mit steigender Wochen-
anzahl ab. Die geringste mittlere Lösungsdauer ist bei R
A
= 10. Bei dieser
Einstellung kann sich die Arbeitszeit nur zwischen den Werten 10 und 12 be-
wegen, wodurch es wenig Variation bei der Schichtplanerstellung gibt.
Dies lässt die höchste Lösungszeit bei R
A
= 2 erwarten. Dies ist nicht der
Fall, da es bei dieser Einstellung für das Setzen der Mittagspause nur zwei
Möglichkeiten gibt, da T
pre
= 1 und T
late
= 2. Eine Mittagspause ist nach der
ersten oder zweiten Periode möglich. Wie durch Kapitel 7.2.6 deutlich wurde,
erhöht die Berücksichtigung der Mittagspause die Lösungsdauer. Somit ist es
von Vorteil, wenn es nur eine geringe Anzahl an Möglichkeiten gibt, zu welcher
Periode diese erfolgen kann. Somit verringert dieser zweite Effekt die erwartete
längere Lösungsdauer, welche theoretisch durch die höhere Variationsbreite der
Arbeitszeit hervorgerufen werden würde.
Diese beiden Effekte führen zu den unterschiedlichen Lösungszeiten, wobei
das Maximum bei R
A
= 6 angenommen wird. Bei dieser Einstellung gibt
103

7 Zeitliche Analyse der Lösungsverfahren
es vier mögliche Perioden für eine Mittagspause. Die Arbeitsdauer kann im
Intervall [6, 12] liegen und somit sieben verschiedene Werte annehmen. Bei der
Einstellung R
A
= 4 gibt es neun verschiedene Werte für die Arbeitsdauer,
wodurch es zu einer längeren Lösungszeit kommt, welche aber durch die nur
drei möglichen Platzierungen der Mittagspause kompensiert wird.
Die Kennwerte der Labels sind für zwei Wochen in Tabelle 25 und für vier
Wochen in Tabelle 26 dargestellt.
R
A
W = 2
2
4
6
8
10
EL [10
6
]
M
3,02
2,91
2,83
2,46
1,37
VC
0,13
0,14
0,15
0,15
0,14
DL [10
6
]
M
0,59
0,54
0,48
0,36
0,12
VC
0,13
0,14
0,15
0,16
0,15
LV [10
6
]
M
151,85
204,87
265,41
249,03
97,21
VC
0,30
0,32
0,35
0,36
0,34
Tab. 25: Kennwerte der Labels bei Variation der Mindestarbeitslänge über
zwei Wochen.
R
A
W = 4
2
4
6
8
10
EL [10
6
]
M
6,03
5,79
5,62
4,93
2,76
VC
0,09
0,10
0,11
0,11
0,11
DL [10
6
]
M
1,18
1,08
0,96
0,72
0,23
VC
0,09
0,10
0,11
0,11
0,11
LV [10
6
]
M
304,02
409,09
528,27
502,48
200,00
VC
0,21
0,23
0,26
0,26
0,26
Tab. 26: Kennwerte der Labels bei Variation der Mindestarbeitslänge über vier
Wochen.
Schön zu erkennen ist, dass die Lösungszeit von der Anzahl an notwendigen
Labelvergleichen abhängt. Die Anzahl erstellter bzw. dominierter Labels spielt
eine Rolle für die benötigte Lösungszeit, da hierdurch u. U. die Anzahl an
Vergleichen der Labels erhöht wird. Bei vier Wochen ist beispielsweise für
R
A
=
2 trotz 6,03 Millionen erstellter Labels die Anzahl an LV am zweit Kleinsten.
Grund hierfür ist die gleichmäßigere Aufteilung der erstellten Labels über alle
Stufen, wohingegen es bei R
A
= 4 bzw. R
A
= 6 zu Anhäufungen auf einzelnen
Stufen kommt.
104

7 Zeitliche Analyse der Lösungsverfahren
7.2.8 Variation der Höchstarbeitszeit
Dieses Kapitel analysiert die Lösungszeit in Abhängigkeit der Höchstarbeits-
zeit, um festzustellen, ob eine Variation dieser zu starken Änderungen in der
Lösungsdauer führt. Der einzige Parameter, welcher in dieser Analyse verän-
dert wird, ist R
A
= 8, 10, 12, 14. Dies führt zu den in Tabelle 27, bzw. ausführ-
licher in Tabelle C.16, dargestellten Lösungszeiten.
R
A
W
8
10
12
14
2
M [s]
20,96
38,68
48,58
48,73
VC
0,28
0,31
0,32
0,31
4
M [s]
43,18
80,57
96,95
100,87
VC
0,21
0,23
0,24
0,26
Tab. 27: Lösungszeiten bei Variation der Höchstarbeitszeit.
Die Lösungsdauer steigt mit größer werdendem R
A
, da hierdurch eine größe-
re Anzahl verschiedener Schichtpläne konstruierbar sind. Beispielsweise kom-
men bei der Analyse mit R
A
= 12 zusätzlich zu allen möglichen Schichtplänen
mit R
A
= 10 noch jene mit R
A
= 11 und R
A
= 12 hinzu. Dieser Effekt ist
deutlicher bei der Variation über vier Wochen zu sehen.
Die Werte für die Anzahl der erstellten und dominierten Labels bzw. der
notwendigen Labelvergleiche zur Bestimmung der Dominanz sind in Tabelle
C.17 dargestellt.
7.2.9 Variation des Startzeitfensters
Ziel dieser Analyse ist es, den Einfluss zu erklären, warum bei Auslassung
der Nebenbedingung für das ,,Startzeitfenster" die Lösungszeit nicht deutlich
sinkt. Für die Analyse wird nur der Parameter T
win
= 0, 1, ..., 5 variiert. Das
Ergebnis der Laufzeitanalyse ist in Tabelle 28 bzw. mit weiteren Kennwerten
in Tabelle C.18 angegeben.
T
win
W
0
1
2
3
4
5
2
M [s]
6,43
14,92
29,01
48,58
74,65
106,38
VC
0,21
0,23
0,27
0,32
0,35
0,39
4
M [s]
12,47
28,93
56,22
96,95
156,43
215,37
VC
0,15
0,17
0,22
0,24
0,29
0,30
Tab. 28: Lösungszeiten bei Variation des Startzeitfensters.
Je größer das Startzeitfenster T
win
ist, also je mehr Perioden zwischen dem
frühesten und spätesten Beginn der Arbeit innerhalb einer Woche sein können,
105

7 Zeitliche Analyse der Lösungsverfahren
desto höher ist die mittlere Lösungszeit. Der Grund hierfür ist die erhöhte An-
zahl an Labels, welche erstellt und insbesondere für die Dominanz miteinander
verglichen werden müssen. Die Anzahl an erstellten und dominierten Labels
und die notwendigen Vergleiche für die Bestimmung der Dominanzbeziehungen
steigen ebenso wie die mittleren Lösungsdauern mit größerem T
win
an. Diese
sind in Tabelle C.19 dargestellt.
Wie in Kapitel 7.2.6 beschrieben, sind mit größerem T
win
weniger Startzeit-
fenster [s
win
, e
win
] für das Lösen einer Iteration zu berücksichtigen, wodurch
die Lösungszeit beschleunigt wird. Als entgegengesetzter Effekt sind aber pro
Startzeitfenster mehr Schichtpläne zu konstruieren, wodurch es zu einer Ver-
langsamung kommt. Für T
win
= 0, ..., 5 überwiegt der zweite Effekt. Da ohne
Berücksichtigung von T
win
, d.h. T
win
= 24, die durchschnittliche Lösungsdauer
bei der Variation über zwei Wochen bei 46,78 Sekunden liegt, gibt es in Ab-
hängigkeit von T
win
ein Maximum der Lösungsdauer, welches durch die beiden
beschriebenen Effekte bestimmt wird. Die Bestimmung des Maximums benö-
tigt weitere Analysen, liegt jedoch vermutlich bei T
win
= 12 bzw. T
win
= 13.
7.3 Zusammenfassung
In diesem Kapitel wurde die Laufzeit des DPs anhand von verschiedenen Va-
riationen und im Vergleich zum MIP und dem SP aus Brunner et al. (2010)
untersucht. Folgende Ergebnisse konnten festgestellt werden:
· Das DP hat im Mittel die schnellste Laufzeit, wenn auf jeder zweiten
Stufe die Effizienz der bisher erzeugten Zustände untersucht wird und die
Zustände einer Stufe nach aufsteigendem Zielfunktionswert bearbeitet
werden.
· Das DP konnte für das Praxisbeispiel mit = [7, 21] und = [mo, fr]
die Probleminstanzen ähnlich schnell wie das SP lösen. Das MIP hatte
stets eine langsamere Lösungszeit.
· Für Werte der Parameter, welche keine starke Verkleinerung des mögli-
chen Lösungsraumes beim MIP bzw. SP erlauben (z.B. = 0, 24] und
= [
mo, so]) konnte nur das DP die optimale Lösung finden. Das MIP
und das SP konnten nach 20 Stunden keine Iteration optimal lösen.
· Mit ansteigender Dichte () erhöht sich die mittlere Lösungszeit beim
DP, wobei der Anstieg mit steigendem geringer ausfällt und auch ein
Abfallen festgestellt werden konnte.
· Das Schichtplanungsproblem wird beim DP in Wochenprobleme zerlegt.
Daher sind die Lösungszeiten proportional zur Wochenanzahl des Pla-
nungshorizonts und die Varianz nimmt mit steigender Wochenanzahl ab.
106

7 Zeitliche Analyse der Lösungsverfahren
· Die Lösungszeit ist proportional zur Anzahl an Labelvergleichen bei der
Dominanzbestimmung und erhöht sich pro eine Million Labelvergleiche
um etwa 0,20 Sekunden.
· Für Variationen über sechs Wochen konnten beim DP aufgrund des be-
schränkten Arbeitsspeichers des Rechners Iterationen nicht gelöst wer-
den. Dies tritt nur bei Werten der Parameter ein, welche nicht erlauben,
die Anzahl an erzeugten Labels klein zu halten ( = [0, 24] bzw. =
24/7). Daher sind die Lösungen der Variationen über sechs Wochen für
diese Parametereinstellungen wenig aussagekräftig.
· Das DP hat ohne Berücksichtigung einer Mittagspause bzw. eines Diens-
tes eine schnellere Lösungsdauer. Bei der Variation ohne das Startzeit-
fenster konnte keine deutliche Beschleunigung der Lösungsdauer festge-
stellt werden.
· Die Variation der Mindestarbeitszeit R
A
mit Anpassung von T
pre
, T
late
und T
post
besitzt im DP für R
A
= 6 bei der Lösungsdauer ein Maximum.
Grund hierfür ist die unterschiedliche Anzahl an Schichtplänen, welche
erstellt werden können. Die Einstellungen für T
pre
, T
late
und T
post
be-
stimmen insbesondere die Anzahl an Möglichkeiten einer Mittagspause
innerhalb einer Schicht. Je mehr Möglichkeiten es für das Platzieren einer
Mittagspause gibt, desto länger ist die Lösungsdauer. Dagegen wirkt der
Effekt, dass je größer R
A
ist, desto geringer ist die Anzahl an möglichen
Schichtplänen.
· Bei Variation über R
A
im DP steigt die Lösungszeit mit höherem R
A
.
Der Anstieg ist konkav, da ein höheres
R
A
nur durch ein höheres R
WA
ausgenutzt werden kann. In dieser Variation wurde das R
WA
konstant
gehalten.
· Bei Variation des möglichen Startzeitfensters T
win
der Arbeit innerhalb
einer Woche konnte im DP mit steigendem T
win
ein fast exponentiel-
ler Anstieg der mittleren Lösungsdauer gesehen werden. Die ermittelten
Werte und der Vergleich mit der mittleren Lösungsdauer ohne Berück-
sichtigung von T
win
lassen darauf schließen, dass es für ein bestimmtes
T
win
ein Maximum der Lösungszeit gibt, da zwei Effekte die Lösungszeit
beeinflussen. Mit steigendem T
win
müssen einerseits weniger Wiederho-
lungen des Algorithmus durchgeführt werden, da weniger Startzeitfenster
[s
win
, e
win
] berechnet werden müssen. Auf der anderen Seite gibt es pro
[s
win
, e
win
] eine höhere Anzahl an möglichen Schichtplänen, welche be-
rechnet werden müssen.
107

8 Ausblick
8 Ausblick
In dieser Arbeit wurde das Subproblem des Spaltengenerierungsverfahrens aus
Brunner et al. (2010) als RCSP reformuliert und als MIP und DP modelliert.
Ziel war es, die Lösungsdauer zu verringern bzw. eine optimale Lösung für
komplexere Probleminstanzen zu ermöglichen.
Zuerst wurde ein Literaturüberblick über Veröffentlichungen der Schicht-
planung im Allgemeinen und der Schichtplanung mit dem Lösungsverfahren
der gemischt ganzzahligen Programmierung oder der dynamischen Program-
mierung gegeben. Es wurde festgestellt, dass bisher kein Ansatz veröffentlicht
wurde, welcher eine hohe Flexibilität bei der Gestaltung der Nebenbedingun-
gen und bei der Erstellung des Schichtplans aufweist. Die meisten Artikel be-
schäftigen sich mit einer Planung von explizit modellierten Schichten.
Darauf wurde das Schichtplanungsproblem mit den Nebenbedingungen er-
läutert. Es können in der Schichtplanung eine Vielzahl an Restriktionen berück-
sichtigt werden. Dieser Aspekt und die implizite Modellierung der Schichtpläne
ist die entscheidende Neuerung im Vergleich zu bisherigen Ansätzen.
Das SP wurde anschließend als Netzwerk modelliert und die Nebenbedingun-
gen durch Ressourcenbeschränkungen in einem RCSP abgebildet. Die Grundi-
dee des symmetrischen Netzwerks ist hierbei eine Unterteilung in Knoten, wel-
che das Ende einer Schicht repräsentieren und Knoten, welche das Ende einer
Pause bzw. Mittagspause darstellen. Die Kanten zwischen den Knoten stellen
die Perioden dar. Je nachdem, welcher Pfad von der Quelle zu der Senke be-
nutzt wird, ergibt sich hieraus der Schichtplan. Die Ressourcenbeschränkungen
sind auf den Knoten abgebildet, sodass ein Pfad nur fortgesetzt werden kann,
wenn die entsprechenden Beschränkungen hierdurch nicht verletzt werden.
Das RCSP wurde in einem nächsten Schritt als MIP formuliert, wobei Bi-
närvariablen auf den Kanten angeben, welche Kante im benutzten Pfad ent-
halten ist. Durch ein Preprocessing, das den Wert bestimmter Binärvariablen
in Abhängigkeit der möglichen Arbeitsdauer festsetzt, ist eine Reduzierung des
Lösungsraumes möglich. Das MIP wurde in ILOG OPL implementiert und mit
der Software CPLEX gelöst.
Als weitere Lösungsmethode für das RCSP wurde ein DP mit Vorwärtsin-
duktion gewählt und mit JAVA implementiert. Der Vorteil der Vorwärtsinduk-
tion ist, dass Präferenzen von Ärzten berücksichtigt werden können, welche ein
bestimmtes Pensum an Arbeit zu einem definierten Zeitpunkt absolviert haben
möchten. Im DP wird der gesamte Planungshorizont in einzelne Wochenpro-
bleme zerlegt. Eine Stufe des DPs stellt hierbei den Beginn einer Periode dar.
Den Zuständen wurden Labels zugeordnet, welche durch den Verbrauch an
Ressourcen und weiteren Komponenten charakterisiert sind. Um das Startzeit-
fenster, in welchem die Arbeit innerhalb einer Woche beginnen darf, effizient
zu berücksichtigen, wurde der Algorithmus so angepasst, dass dieser iterativ
108

8 Ausblick
alle Schichtpläne aller möglichen Startzeitfenster berechnet und das Optimum
feststellt. Es wurden außerdem die Bedingungen und eventuell notwendige An-
passungen am Algorithmus diskutiert, damit die Zerlegung in Wochenprobleme
dennoch den optimalen Schichtplan berechnen kann. Diese Bedingungen tre-
ten oft in der Praxis auf, sodass das DP eine optimale Lösungsmethode für
praxisrelevante Instanzen bietet.
Im letzten Abschnitt wurden die dargestellten Lösungsmethoden auf ihre
Laufzeit zur Lösungsfindung untersucht. Hierbei wurden anhand von selbst
erstellten Testsätzen das SP, MIP und DP miteinander verglichen und das
Laufzeitverhalten des DPs bei Variation von Parametern bestimmt. Für nicht
komplexe Probleme der Praxis löst das DP die Instanzen fast genauso schnell
wie das SP. Der Vorteil des DPs liegt darin, dass die Lösungszeit proportional
zur Größe des Planungshorizonts ist, wohingegen im SP ein nichtlinearer An-
stieg erkennbar ist. Für komplexere Probleminstanzen finden das SP und MIP
keine optimalen Lösungen in vertretbarer Zeit, wohingegen das DP als einzige
Lösungsmethode die optimale Lösung bei den meisten Probleminstanzen in
weniger als einer Minute bestimmen kann.
Das DP stellt somit eine Lösungsmethode dar, welche komplexere Proble-
minstanzen deutlich effizienter löst als das SP. Überdies kann der Planungs-
horizont theoretisch beliebig groß gewählt werden, da die Lösungszeit propor-
tional hierzu verläuft. Lediglich eine Beschränkung der Rechenleistung ver-
hinderte die Lösung von komplexeren Problemen über einen Planungshorizont
von sechs Wochen. Im Weiteren können deswegen Methoden entwickelt wer-
den, welche, die bisherigen Effizienzregeln fortsetzend, nicht mehr benötigte
Zustände löschen, um den Speicherbedarf zu reduzieren. Überdies kann die
Lösungszeit durch weitere Effizienzregeln verbessert werden, um anhand von
stärkeren Dominanzregeln mehr Zustände nicht mehr fortsetzen zu müssen.
Denkbar wäre auch, den Label Setting Ansatz durch eine andere Methode zu
ersetzen.
Da die Lösungszeit im DP von der Anzahl an Labelvergleichen abhängt, wel-
che zur Bestimmung der Dominanz notwendig sind, könnte der Algorithmus
weiterentwickelt werden, indem diese Anzahl reduziert wird. Eine Möglichkeit
wäre, die zu vergleichenden Zustände nach bestimmten Kriterien zu sortieren,
um so nur einen Teil der Zustände miteinander vergleichen zu müssen. Bishe-
rige Versuche scheiterten an der Implementierung einer effizienten Sortierung,
welche weniger Zeit benötigt, als hierdurch eingespart werden kann.
Es könnte weiterhin untersucht werden, ob es zeiteffizient möglich ist, das
Schichtplanungsproblem über den gesamten Planungshorizont zu lösen. Denk-
bar wäre, nur bestimmte Teilschichtpläne am Ende einer Woche fortzusetzen.
Hierfür wären weitere Effizienzregeln notwendig, welche die Anzahl an Zustän-
den am Ende einer Woche reduzieren.
109

A Vollständiges Modell des MIPs
A Vollständiges Modell des MIPs
Minimiere
wW
(c
paid
h
w
+ c
over
o
w
)
-
i
V
(
dem
i
-
i
(x
i
-
i
+ q
i
-
i
) +
D
i
-
i
· y
i
-
i
)
(A.1)
unter den Bedingungen, dass
NB: Flusserhaltung
rq
+
x
qr
+ y
qr
+
s(q+1)
+
(x
(q+1)s
) +
y
(q+1)(q+1)
+
= 1
(A.2)
pa
-
(x
pa
+ y
pa
+ q
pa
)
-
sa+
(x
as
+ y
as
+ q
as
) = 0
a V \ {q, q + 1, t - 1, t}
(A.3)
r(t-1)
-
(x
r(t-1)
+ y
r(t-1)
) +
st
-
x
st
+ y
t
-
t
= 1
(A.4)
NB: Ressourcenverbrauch
R
A
(i)
R
A
(i
-
) + x
i
-
i
+ q
i
-
i
i V
(A.5)
R
A
(i)
R
A
(i
-
) + x
i
-
i
+ q
i
-
i
- M · x
i
-
i
i V
(A.6)
R
A
(i)
M(1 - x
i
-
i
) + 1
i V
(A.7)
R
A
(i)
x
i
-
i
i V
(A.8)
R
A
(j) = R
A
(j
-
) + M(1 - x
j
-
j
)
j V
(A.9)
R
WA
(i) = x
i
-
i
+ x
i
-
i
i V
s
w
(A.10)
R
WA
(i) = R
WA
(i
-
) + x
i
-
i
+ x
i
-
i
+ q
i
-
i
i V \ V
s
w
(A.11)
R
P
(j)
R
P
(j
-
) + x
j
-
j
j V
(A.12)
R
P
(j)
M(1 - x
j
-
j
- y
j
-
j
) + 1
j V
(A.13)
R
P
(i)
M(1 - x
i
-
i
- y
i
-
i
) + R
P
(i
-
)
i V
(A.14)
R
D
(i)
R
D
(i
-
) + y
i
-
i
+ y
i
-
i
i V
(A.15)
R
D
(i)
R
D
(i
-
) + y
i
-
i
+ y
i
-
i
- M(1 - y
i
-
i
)
i V
(A.16)
R
D
(i)
M(1 - y
i
-
i
) + 1
i V
(A.17)
R
D
(i)
y
i
-
i
i V
(A.18)
R
D
(j) = R
D
(j
-
) + M(1 - y
j
-
j
)
j V
(A.19)
xiv

A Vollständiges Modell des MIPs
NB: Ressourcenfenster
R
r
(j)
R
r
j V, r {A,D}
(A.20)
R
r
(i)
R
r
i V, r {A,WA,D} (A.21)
R
P
(i)
R
P
i V
(A.22)
NB: Dienst
y
pi
+ x
is
1
i V, p i
-
, s i
+
(A.23)
x
pi
+ y
is
1
i V, p i
-
, s i
+
(A.24)
jV
D
w
y
jj
+
N
D
w W
(A.25)
NB: Überstunden und Fehlstunden
v =
jV
e
w
R
WA
(j) +
j^
V
D
w
f
1
(j) · y
jj
+
+
R
A
w
- o
w
+ u
w
w W
(A.26)
h
w
o
w-1
- u
w
w W
(A.27)
NB: Mittagspause
q
j
-
j
R
A
(j
-
)
- (T
pre
- 1) + M(1 - q
j
-
j
)
j V
(A.28)
q
j
-
j
R
A
(j
-
)
- (T
late
- 1) - M(1 - q
j
-
j
)
j V
(A.29)
q
jj
+
(T
post
+ 1)
- R
A
(j + 2 · T
post
- 1) -
R
A
(j
-
)
- M(1 - q
jj
+
)
j V
(A.30)
q
jj
+
- q
j
-
j
= 0
j V
(A.31)
jV
w,d
(x
jj
+
- q
j
-
j
) = 0
w W, d D
(A.32)
NB: Startzeitfenster
l
w
1
2
jV
w,d
f
2
(j) x
jj
+
- 2
w W, d D
(A.33)
l
w
-
1
2
jV
w,d
f
2
(j) x
jj
+
- 2
T
win
+ M(1 -
jV
w,d
x
jj
+
)
w W, d D
(A.34)
Werte des vorherigen Planungshorizonts
R
P
(q + 1) = R
P
(A.35)
xv

A Vollständiges Modell des MIPs
Variablendefinition
x
a
-
a
{0, 1}
a V
(A.36)
q
i
-
i
, q
ii
+
{0, 1}
i V
(A.37)
y
i
-
i
, y
ii
+
{0, 1}
i V
(A.38)
R
r
(a) N
0
r T , a V
(A.39)
o
w
{0, 1, ..., R
WA
- v}
w W
(A.40)
u
w
{0, 1, ..., v}
w W
0
(A.41)
h
w
{0, 1, ..., R
WA
- v}
w W
(A.42)
l
w
{S
A
, · · · , E
A
- R
A
}
w W
(A.43)
xvi

B Vollständiges Modell des DPs
B Vollständiges Modell des DPs
Ertragsfunktion
r(x
j
, a
j
) =
-
dem
j
· I
{l}
(a
j
)
-
D
j
· I
{d}
(a
j
) + c
over
· R
WA
j+1
·
I
{S
D
}
(j mod 24) + c
over
· min 1; max R
WA
j+1
- v; 0
· I
{l}
(a
j
) (B.1)
mit
R
WA
j+1
= max 0; min
R
WA
j+1
- R
WA
j
; R
WA
j+1
- v
Entscheidungen
Die möglichen Entscheidungen a
j
A
j
(x
j
) hängen vom Zustand x
j
ab. Im
Folgenden werden die möglichen Entscheidungen a
j
in Abhängigkeit der Zu-
stände x
j
beschrieben. Hierbei ist für die Nebenbedingung der Startzeitfenster
die Vorgehensweise von Kapitel 6.4 gewählt worden.
· a
j
= l für alle j mit x
j
X
j
, wenn x
j
folgendermaßen charakterisiert ist:
R
WA
j
< R
WA
- max 0; R
A
- R
A
j
(B.2.1)
R
A
j
< R
A
¬ R
A
j
= T
late
(mp)
j
=
-1
(B.2.2)
R
P
j
R
P
(B.2.3)
R
D
j
= 0
(B.2.4)
j · I
{p}
(a
j-1
) : 24 < S
WE
(B.2.5)
j · I
{p}
(a
j-1
) mod 24
s
win
j · I
{p}
(a
j-1
) mod 24
f
3
e
win
(B.2.6)
j · I
{p}
(a
j-1
) mod 24
e
win
(B.2.7)
j mod 24 < E
A
(B.2.8)
j · I
{l}
(a
j-1
) mod 24
1
- I
{25,26,...}
(E
A
)
(B.2.9)
n - j · I
{p}
(a
j-1
)
R
A
+ 1
(B.2.10)
· a
j
= p für alle j mit x
j
X
j
, wenn x
j
folgendermaßen charakterisiert ist:
R
WA
j
= R
WA
R
A
j
= R
A
R
D
j
= R
D
(B.3.1)
R
A
j
R
A
j - T
post
- 1
(mp)
j
R
D
j
R
D
(B.3.2)
R
P
j
< R
P
(B.3.3)
R
P
j
= R
P
R
A
j
= 0
R
D
j
= 0
(B.3.4)
(mp)
j
=
-1
(B.3.5)
xvii

B Vollständiges Modell des DPs
· a
j
= d für alle j mit x
j
X
j
, wenn x
j
folgendermaßen charakterisiert ist:
R
WA
j
R
WA
- ~
f
1
(j)
(B.4.1)
R
P
j
= R
P
(B.4.2)
j mod 24 = S
D
R
D
> 0
(B.4.3)
n
D
+ I
{S
D
}
(j mod 24)
N
D
(B.4.4)
· a
j
= b für alle j mit x
j
X
j
, wenn x
j
folgendermaßen charakterisiert ist:
(mp)
j
=
-1
(B.5.1)
T
pre
R
A
j
T
late
(B.5.2)
R
WA
- R
WA
j
T
post
(B.5.3)
j · I
{l}
(a
j-1
) mod 24
1
- I
{25,26,...}
(E
A
)
(B.5.4)
Transformationsfunktion
Wird eine Entscheidung a
j
A
j
(x
j
) getroffen, so wird in Abhängigkeit der
gewählten Entscheidung durch die Transformationsfunktion der neue Zustand
x
j+1
= t(x
j
, a
j
) gebildet. Im Folgenden werden je nach gewählter Entscheidung
die Komponenten eines Zustands x
j+1
beschrieben, welche sich im Vergleich
zu x
j
ändern.
t
l
x
j
, l :
R
WA
j+1
= R
WA
j
+ 1
R
A
j+1
= R
A
j
+ 1
R
WA
j+1
v (obj)
j+1
= (obj)
j
-
dem
j
R
WA
j+1
> v (obj)
j+1
= (obj)
j
-
dem
j
+ c
over
(s
mo
)
j
= 0
(s
mo
)
j+1
= j
R
A
j
= 0
(j mod 24 < e) (e)
j+1
= j mod 24
R
A
j
= 0
(j mod 24 > l) (l)
j+1
= j mod 24
(B.6.1)
(B.6.2)
(B.6.3)
(B.6.4)
(B.6.5)
(B.6.6)
(B.6.7)
t
p
x
j
, p :
R
A
j+1
= 0
R
D
j+1
= 0
R
P
j+1
= min
R
P
j
· I
{p}
(a
j-1
) + 1; R
P
(mp)
j+1
=
-1
(B.7.1)
(B.7.2)
(B.7.3)
xviii

B Vollständiges Modell des DPs
t
d
x
j
, d :
R
WA
j+1
= R
WA
j
+ I
{S
D
}
(j mod 24) · ~
f
1
(j)
R
D
j+1
= R
D
j
+ 1
R
WA
j+1
v (obj)
j+1
= (obj)
j
-
D
j
R
WA
j+1
> v (obj)
j+1
= (obj)
j
-
D
j
+
I
{S
D
}
(j mod 24) · c
over
· R
WA
j+1
(s
mo
)
j
= 0
(s
mo
)
j+1
= j
n
D
j+1
= n
D
j
+ I
{S
D
}
(j mod 24)
j · I
{S
D
}
(j mod 24) : 24 = 7 (d
so
)
j+1
= 1
(B.8.1)
(B.8.2)
(B.8.3)
(B.8.4)
(B.8.5)
(B.8.6)
(B.8.7)
t
b
(x
j
, b) : (mp)
j+1
= j
(B.9)
Dominanzregeln
Um Zustände zu löschen, welche nicht mehr das Optimum ergeben können,
werden Dominanzregeln eingeführt. Es gilt, dass x
k
j
x
k
j
, wenn alle folgen-
den Gleichungen erfüllt sind. Aus Gründen der einfacheren Notation wird daher
auf das Zeichen
verzichtet. Für die Dominanzregeln müssen drei Zustands-
typen unterschieden werden, welche angeben, welche Zustände miteinander
verglichen werden. Entweder sind beide Zustände x
k
j
und x
k
j
Pausenzustände
(I) oder beide Zustände sind Arbeitszustände (II). Ein Dienstzustand kann
nur als möglicher dominierter Zustand mit einem Arbeit- bzw. Dienstzustand
verglichen werden (III).
I Für R
A
k
j
= R
D
k
j
= 0 und R
A
k
j
= R
D
k
j
= 0 muss gelten:
R
WA k
j
R
WA k
j
(B.10.1)
R
P k
j
R
P k
j
(B.10.2)
(obj)
k
j
(obj)
k
j
(B.10.3)
(s
mo
)
k
j
(s
mo
)
k
j
(s
mo
)
k
j
= R
P
(B.10.4)
(s
mo
)
k
j
< S
D
+ R
P
(s
mo
)
k
j
S
D
+ R
P
(B.10.5)
n
D k
j
n
D k
j
(B.10.6)
II Für
R
A
k
j
> 0 und R
A
k
j
> 0 muss gelten:
R
WA k
j
R
WA k
j
(B.11.1)
xix

B Vollständiges Modell des DPs
R
A k
j
R
A
R
A k
j
R
A
R
A k
j
= R
A k
j
(B.11.2)
R
A k
j
R
A k
j
(B.11.3)
(obj)
k
j
(obj)
k
j
(B.11.4)
(s
mo
)
k
j
(s
mo
)
k
j
(s
mo
)
k
j
R
P
(B.11.5)
(s
mo
)
k
j
< S
D
+ R
P
(s
mo
)
k
j
S
D
+ R
P
(B.11.6)
n
D k
j
n
D k
j
(B.11.7)
(mp)
k
j
=
-1 (mp)
k
j
=
-1
(B.11.8)
j - T
post
- 1
(mp)
k
j
j - T
post
- 1
(mp)
k
j
(B.11.9)
(e)
k
j
(e)
k
j
(B.11.10)
(l)
k
j
(e)
k
j
(B.11.11)
III Für
R
A
k
j
> 0 R
D
k
j
> 0 und R
D
k
j
> 0 muss gelten:
R
WA k
j
R
WA k
j
(B.12.1)
(obj)
k
j
(obj)
k
j
(B.12.2)
(s
mo
)
k
j
(s
mo
)
k
j
(s
mo
)
k
j
R
P
(B.12.3)
(s
mo
)
k
j
< S
D
+ R
P
(s
mo
)
k
j
S
D
+ R
P
(B.12.4)
n
D k
j
n
D k
j
(B.12.5)
Bestimmung der optimalen Politik
Zu A) Für das Problem der Kombination der besten Endzustände x
k
i
w
i
jeder
Woche i zu einem Schichtplan über den gesamten Planungshorizont, muss fol-
gendes Minimierungsproblem gelöst werden.
arg min
k
i
K
wi
iW iW
(obj)
k
i
w
i
+ c
paid
· h
w
i
(B.13)
unter den Nebenbedingungen
(R
P
)
k
i
w
i
+ (s
mo
)
w
i+1
R
P
i = 1, ..., |W | - 1
(B.14.1)
(d
so
)
k
i
w
i
= 1
(s
mo
)
w
i+1
S
D
+ R
P
i = 1, ..., |W | - 1 (B.14.2)
R
WA k
i+1
w
i+1
+ (d
so
)
k
i
w
i
· f
1
(j
so
D
)
R
WA
i = 1, ..., |W | - 1 (B.14.3)
o
w
i
= max
R
WA
w
i
+1
+ f
1
(j
so
D
)
- v; 0
i W
0
(B.14.4)
u
w
i
= max v -
R
WA
w
i
+1
+ f
1
(j
so
D
) ; 0
i W
(B.14.5)
h
w
i
= max o
w
i
- u
w
i+1
; 0
i 0, ..., |W | - 1 (B.14.6)
xx

B Vollständiges Modell des DPs
Zu B) Aus den besten Endzuständen werden wochenweise rekursiv alle weite-
ren Zustände und Entscheidungen der Woche ermittelt. Hierbei wird für j =
1, ..., n zuerst aus x
n-j+1
die Entscheidung a
n-j
ermittelt und anschließend aus
x
n-j+1
und a
n-j
das optimale x
n-j
.
1. Aus x
n-j+1
wird zuerst a
n-j
für j = 1, ..., n ermittelt. Es gilt
R
A
n-j+1
> 0 (mp)
n-j+1
= n - j
a
n-j
= l
j = 1, ..., n
(B.15.1)
R
A
n-j+1
= 0
R
D
n-j+1
= 0
a
n-j
= p
j = 1, ..., n
(B.15.2)
R
D
n-j+1
> 0
a
n-j
= d
j = 1, ..., n
(B.15.3)
(mp)
n-j+1
= n - j
a
n-j
= b
j = 1, ..., n
(B.15.4)
2. Aus V (x
n-j+1
) = (obj)
n-j+1
und a
n-j
wird anschließend iterativ das gesuchte
x
n-j
X
n-j
mit der Rekursionsgleichung ermittelt. Es gilt:
V x
n-j+1
= r x
n-j
, a
n-j
+ V x
n-j
j = 1, ..., n
Es wird also iterativ derjenige Zustand x
k
n-j
mit k K
n-j
gesucht, welcher in
Abhängigkeit der Entscheidung a
n-j
folgende Gleichungen erfüllt
a
n-j
= l
R
A k
n-j
+ 1 = (R
A
)
n-j+1
j = 1, ..., n
(B.16.1)
(obj)
k
n-j
-
dem
n-j
+
c
over
· min 1; max R
WA
n-j+1
- v; 0
= (obj)
n-j+1
(B.16.2)
a
n-j
= p
R
P k
n-j
+ 1 = R
P
n-j+1
(B.17.1)
R
P k
n-j
= R
P
R
P
n-j+1
= 1
(B.17.2)
R
P k
n-j
= R
P
R
P
n-j+1
= R
P
R
A
n-j+1
= 0
R
D
n-j+1
= 0
j = 1, ..., n
(B.17.3)
(obj)
k
n-j
= (obj)
n-j+1
j = 1, ..., n
(B.17.4)
xxi

B Vollständiges Modell des DPs
a
n-j
= d
(obj)
k
n-j
-
D
n-j
+ I
{S
D
}
((n - j) mod 24) · c
over
·
max 0; min
R
WA
n-j+1
- R
WA k
n-j
; R
WA
n-j+1
- v
= (obj)
n-j+1
(B.18.1)
R
D k
n-j
+ 1 = R
D
n-j+1
(B.18.2)
a
n-j
= b
R
D k
n-j
= 0
R
A k
n-j
= R
A
n-j+1
j = 1, ..., n
(B.19.1)
(obj)
k
n-j
= (obj)
n-j+1
j = 1, ..., n
(B.19.2)
xxii

C Ausführliche Ergebnisse der Laufzeitanalysen
C Ausführliche Ergebnisse der Laufzeitanalysen
C.1 Häufigkeit der Effizienzprüfung
Aufruf von EF F (X
j
) auf jeder j-ten Stufe
1
2
3
4
5
M
[s]
22,72
14,90
16,17
15,24
16,08
VC
0,34
0,31
0,30
0,32
0,30
SD [s]
7,64
4,62
4,88
4,83
4,84
Min [s]
12,44
8,41
8,97
8,61
8,39
Max [s]
49,52
30,98
32,82
30,01
32,22
Tab. C.1: Lösungzeiten bei Variation der Häufigkeit der Effizienzprüfung - aus-
führliche Darstellung.
Aufruf von EF F (X
j
) auf jeder j-ten Stufe
1
2
3
4
5
EL [10
6
]
M
0,98
1,17
1,45
1,90
2,40
VC
0,16
0,16
0,16
0,16
0,16
SD
0,16
0,19
0,23
0,31
0,39
Min
0,73
0,87
1,08
1,42
1,66
Max
1,50
1,78
2,19
2,90
3,67
(EL) 23,08
12,72
11,14
8,02
6,70
DL [10
6
]
M
0,12
0,16
0,20
0,26
0,32
VC
0,17
0,16
0,16
0,17
0,17
SD
0,02
0,03
0,03
0,04
0,05
Min
0,09
0,11
0,15
0,19
0,22
Max
0,19
0,24
0,30
0,39
0,47
(DL) 188,57 94,68
79,52
57,79
50,43
LV [10
6
]
M
139,68
80,67
68,61
69,28
67,41
VC
0,36
0,36
0,36
0,40
0,37
SD
50,52
28,99
24,52
27,38
25,15
Min
71,09
40,87
34,38
32,25
29,24
Max
316,54
181,92
150,59
157,72
147,14
(LV ) 0,16
0,18
0,24
0,22
0,24
Tab. C.2: Kennwerte der Labels bei Variation der Häufigkeit der Effizienzprü-
fung - ausführliche Darstellung.
xxiii

C Ausführliche Ergebnisse der Laufzeitanalysen
C.2 Variation der ORDER Regel
ORDER Regel
aufst.
abst.
aufst.
abst.
aufst.
abst.
Index
Index
obj
obj
R
WA
R
WA
M
[s]
14,90
15,66
13,74
17,15
14,45
16,09
VC
0,31
0,31
0,31
0,32
0,32
0,31
SD [s]
4,62
4,92
4,26
5,41
4,59
4,96
Min [s]
8,41
8,61
7,69
9,16
8,17
8,78
Max [s]
30,98
32,39
29,03
37,22
30,39
33,61
Tab. C.3: Lösungzeiten bei Variation der ORDER Regel - ausführliche
Darstellung.
ORDER Regel
aufst.
abst.
aufst.
abst.
aufst.
abst.
Index
Index
obj
obj
R
WA
R
WA
EL [10
6
]
M
1,17
1,19
1,15
1,17
1,17
1,20
VC
0,16
0,16
0,16
0,16
0,16
0,16
SD
0,19
0,19
0,18
0,19
0,19
0,19
Min
0,87
0,87
0,85
0,86
0,87
0,90
Max
1,78
1,79
1,75
1,77
1,78
1,82
(EL) 12,72
13,18
11,90
14,60
12,34
13,38
DL [10
6
]
M
0,16
0,16
0,16
0,16
0,16
0,16
VC
0,16
0,16
0,16
0,16
0,16
0,16
SD
0,03
0,03
0,03
0,03
0,03
0,03
Min
0,11
0,11
0,11
0,11
0,11
0,11
Max
0,24
0,24
0,24
0,24
0,24
0,24
(DL) 94,68
99,54
87,32
109,04
91,86
102,30
LV [10
6
]
M
80,67
84,16
71,84
91,81
80,67
86,54
VC
0,36
0,36
0,36
0,36
0,36
0,36
SD
28,99
30,09
25,77
33,00
28,99
31,24
Min
40,87
42,12
36,81
45,47
40,87
42,44
Max
181,92
189,36
163,32
210,33
181,92
199,17
(LV ) 0,18
0,19
0,19
0,19
0,18
0,19
Tab. C.4: Kennwerte der Labels bei Variation der ORDER Regel - ausführliche
Darstellung.
xxiv

C Ausführliche Ergebnisse der Laufzeitanalysen
C.3 Praxisbeispiel
W
2
4
6
MIP
M
[s]
15,15
21,56
31,27
VC
0,07
0,15
0,34
SD
[s]
1,10
3,23
10,56
Min [s]
13,55
16,69
20,33
Max [s]
19,95
35,97
99,58
SP
M
[s]
2,76
4,91
13,31
VC
0,15
0,52
1,30
SD
[s]
0,42
2,58
17,35
Min [s]
2,22
2,88
3,70
Max [s]
4,52
20,11
166,84
DP
M
[s]
3,64
7,88
11,61
VC
0,45
0,29
0,21
SD
[s]
1,64
2,28
2,38
Min [s]
1,00
2,99
7,17
Max [s]
9,72
15,53
17,36
Tab. C.5: Lösungzeiten des MIPs, DPs und SPs im Praxisbeispiel - ausführli-
che Darstellung.
W
2
4
6
EL [10
6
]
M
0,33
0,65
0,96
VC
0,23
0,16
0,13
SD
0,07
0,10
0,12
Min
0,17
0,42
0,72
Max
0,58
0,95
1,28
(EL) 11,06 12,19
12,10
DL [10
6
]
M
0,04
0,08
0,11
VC
0,24
0,16
0,13
SD
0,01
0,01
0,01
Min
0,02
0,05
0,08
Max
0,07
0,11
0,15
(DL) 92,74 102,74 102,75
LV [10
6
]
M
19,58
37,09
53,37
VC
0,51
0,34
0,27
SD
10,08
12,60
14,27
Min
4,09
12,71
27,54
Max
57,79
75,95
90,57
(LV ) 0,19
0,21
0,22
Tab. C.6: Kennwerte
der
Labels
beim
Praxisbeispiel
-
ausführliche
Darstellung.
xxv

C Ausführliche Ergebnisse der Laufzeitanalysen
C.4 Praxisbeispiel II
W
2
4
6
MIP
Anz. Variablen
9129
18249
27369
Anz. Nbdgen
5393
10777
16161
Koeff. ungl. Null
28911
57829
86747
SP
Anz. Variablen
4387
8805
13223
Anz. Nbdgen
1370
2738
4106
Koeff. ungl. Null
24444
49334
74224
Tab. C.7: Anzahl an Variablen, Nebenbedingungen und Koeffizienten ungleich
Null im MIP und SP im zweiten Praxisbeispiel.
xxvi

C Ausführliche Ergebnisse der Laufzeitanalysen
C.5 Variation der Dichte der Deltas
= [0
- 24]
= 24
/7
W
=
1
4
=
1
2
=
3
4
= 1
=
1
4
=
1
2
=
3
4
= 1
2
M
10,68
35,09
45,85
47,83
15,49
48,58
62,03
64,19
VC
0,42
0,36
0,35
0,36
0,36
0,32
0,32
0,30
SD
4,53
12,56
15,83
17,00
5,60
15,38
19,63
19,22
Min
4,10
17,91
18,96
17,16
6,34
26,75
28,86
26,41
Max
23,78
76,57
105,86
91,77
33,09
98,80
143,02
115,31
4
M
21,71
72,46
104,67
99,68
29,58
96,95
135,30
127,38
VC
0,33
0,27
0,25
0,24
0,30
0,24
0,23
0,21
SD
7,25
19,75
26,06
23,90
8,85
23,64
30,86
27,10
Min
9,70
31,89
53,53
38,97
13,56
45,19
69,07
80,84
Max
42,22
135,03
181,17
187,45
51,95
166,97
219,07
231,61
6
M
53,21
136,26
161,18
155,34
58,26
154,36
244,14
280,51
VC
0,78
0,78
0,30
0,27
0,58
0,35
0,63
0,84
SD
41,52
106,27
47,64
41,62
34,07
54,31
154,93
236,71
Min
19,77
67,81
92,70
86,08
30,70
96,54
121,51
122,41
Max
325,42
1077,20
450,95
401,64
322,39
536,55
1280,09
1752,00
Bei = 24
/7 konnten für =
3
4
insgesamt 96 Iterationen und für
= 1 insgesamt 67
Iterationen gelöst werden.
Tab. C.8: Lösungszeiten bei Variation der Dichten von
dem
und
D
- ausführ-
liche Darstellung.
= [0
- 24]
= 24
/7
=
1
4
=
1
2
=
3
4
= 1
=
1
4
=
1
2
=
3
4
= 1
EL[10
6
]
M
0,92
1,93
2,34
2,47
1,39
2,83
3,40
3,56
VC
0,22
0,18
0,16
0,16
0,18
0,15
0,14
0,13
SD
0,20
0,34
0,38
0,40
0,26
0,42
0,47
0,47
Min
0,56
1,42
1,58
1,58
0,91
2,18
2,39
2,41
Max
1,37
2,99
3,59
3,44
2,22
4,21
4,96
4,54
(EL)
11,65
18,21
19,56
19,40
11,14
17,18
18,26
18,04
DL[10
6
]
M
0,16
0,33
0,38
0,40
0,25
0,48
0,56
0,58
VC
0,22
0,18
0,16
0,17
0,18
0,15
0,14
0,13
SD
0,04
0,06
0,06
0,07
0,04
0,07
0,08
0,08
Min
0,10
0,24
0,26
0,25
0,16
0,37
0,40
0,39
Max
0,24
0,52
0,59
0,56
0,38
0,72
0,82
0,75
(DL)
65,95
107,48
119,38
120,02
62,90
100,86
110,37
110,37
LV[10
6
]
M
56,18
204,04
265,72
273,86
76,24
265,41
342,28
350,65
VC
0,49
0,40
0,38
0,38
0,42
0,35
0,34
0,33
SD
27,38
80,95
100,24
104,10
31,87
92,81
117,95
115,03
Min
18,87
98,14
102,24
93,93
29,21
139,11
144,71
131,97
Max
138,42
476,46
652,71
563,84
168,54
573,46
842,77
643,23
(LV )
0,19
0,17
0,17
0,17
0,20
0,18
0,18
0,18
Tab. C.9: Kennwerte der Labels bei Variation der Dichten von
dem
und
D
für
zwei Wochen - ausführliche Darstellung.
xxvii

C Ausführliche Ergebnisse der Laufzeitanalysen
= [0
- 24]
= 24
/7
=
1
4
=
1
2
=
3
4
= 1
=
1
4
=
1
2
=
3
4
= 1
EL[10
6
]
M
1,83
3,83
4,87
4,99
2,77
5,62
7,01
7,14
VC
0,18
0,13
0,12
0,10
0,15
0,11
0,10
0,08
SD
0,33
0,50
0,57
0,51
0,43
0,63
0,72
0,61
Min
1,16
2,59
3,66
3,99
1,88
4,04
5,20
5,93
Max
2,57
5,11
6,38
6,78
3,93
7,25
8,78
9,23
(EL)
11,88
18,90
21,49
19,98
10,68
17,26
19,29
17,84
DL[10
6
]
M
0,32
0,65
0,80
0,81
0,49
0,96
1,16
1,17
VC
0,18
0,13
0,12
0,11
0,15
0,11
0,10
0,09
SD
0,06
0,08
0,09
0,09
0,07
0,11
0,12
0,10
Min
0,21
0,44
0,60
0,64
0,34
0,69
0,87
0,97
Max
0,46
0,86
1,06
1,10
0,70
1,20
1,47
1,50
(DL)
67,41
111,63
130,90
123,70
60,49
101,36
116,42
109,28
LV[10
6
]
M
113,11
406,33
580,09
553,67
153,78
528,27
741,67
701,57
VC
0,39
0,29
0,26
0,25
0,35
0,26
0,23
0,22
SD
44,26
115,87
149,54
136,26
53,11
135,23
173,88
152,63
Min
40,83
157,47
284,47
313,75
64,95
234,94
358,32
430,28
Max
244,61
763,35
1013,78
1085,57
296,55
914,18
1220,09
1281,74
(LV )
0,19
0,18
0,18
0,18
0,19
0,18
0,18
0,18
Tab. C.10: Kennwerte der Labels bei Variation der Dichten von
dem
und
D
für vier Wochen - ausführliche Darstelung.
= [0
- 24]
= 24
/7
=
1
4
=
1
2
=
3
4
= 1
=
1
4
=
1
2
=
3
4
= 1
EL[10
6
]
M
2,77
5,74
7,15
7,45
4,19
8,40
10,29
10,40
VC
0,12
0,10
0,08
0,10
0,10
0,09
0,07
0,07
SD
0,32
0,59
0,57
0,71
0,41
0,72
0,68
0,70
Min
1,97
4,39
5,75
5,82
3,17
6,65
8,55
8,68
Max
3,50
7,25
8,87
8,74
5,06
10,07
11,48
11,54
(EL)
19,24
23,73
22,53
20,84
13,90
18,39
23,72
26,96
DL[10
6
]
M
0,49
0,97
1,17
1,21
0,74
1,43
1,71
1,70
VC
0,11
0,10
0,08
0,10
0,10
0,08
0,07
0,07
SD
0,06
0,10
0,10
0,12
0,07
0,12
0,11
0,12
Min
0,35
0,75
0,94
0,93
0,56
1,15
1,42
1,43
Max
0,62
1,25
1,44
1,44
0,89
1,73
1,89
1,90
(DL)
109,07
140,31
137,25
128,82
78,59
108,11
143,08
164,67
LV[10
6
]
M
170,13
604,20
831,01
829,75
231,60
785,36
1053,98
986,28
VC
0,23
0,23
0,19
0,21
0,20
0,20
0,16
0,16
SD
39,80
136,70
154,59
177,01
46,71
158,10
165,58
161,91
Min
90,71
327,04
506,39
462,86
120,06
456,24
667,04
641,33
Max
274,12
975,41
1355,19
1204,75
332,39
1190,02
1405,47
1286,84
(LV )
0,31
0,23
0,19
0,19
0,25
0,20
0,23
0,28
Bei = 24
/7 konnten für =
3
4
insgesamt 96 Iterationen und für
= 1 insgesamt 67
Iterationen gelöst werden.
Tab. C.11: Kennwerte der Labels bei Variation der Dichten von
dem
und
D
für sechs Wochen - ausführliche Darstelung.
xxviii

C Ausführliche Ergebnisse der Laufzeitanalysen
C.6 Auslassung der Nebenbedingungen ,,Mittagspause",
,,Dienst" bzw. ,,Startzeitfenster"
Nebenbedingung
W
MP
D
T
win
2
M
[s]
14,35
24,71
46,78
VC
0,27
0,27
0,72
SD [s]
3,89
6,78
33,65
Min [s]
8,89
12,80
9,41
Max [s]
28,69
47,08
158,66
4
M
[s]
40,44
49,86
97,59
VC
0,37
0,19
0,50
SD [s]
15,10
9,36
49,08
Min [s]
16,84
30,19
30,59
Max [s]
79,10
80,89
327,38
Tab. C.12: Lösungszeiten bei Auslassung der Nebenbedingungen ,,Mittagspau-
se", ,,Dienst" bzw. ,,Startzeitfenster" - ausführliche Darstellung.
xxix

C Ausführliche Ergebnisse der Laufzeitanalysen
Nebenbedingung
W
MP
D
T
win
2
EL [10
6
]
M
1,68
1,96
0,83
VC
0,15
0,13
0,33
SD
0,25
0,25
0,28
Min
1,30
1,45
0,39
Max
2,49
2,73
1,67
(EL) 8,53
12,58
56,52
DL [10
6
]
M
0,24
0,35
0,17
VC
0,15
0,13
0,33
SD
0,04
0,05
0,06
Min
0,18
0,26
0,08
Max
0,35
0,48
0,35
(DL) 60,95
70,40
269,28
LV [10
6
]
M
60,00
128,84
319,14
VC
0,34
0,32
0,73
SD
20,24
41,17
232,52
Min
32,38
60,20
59,19
Max
130,85
269,79
1084,78
(LV ) 0,24
0,19
0,15
4
EL [10
6
]
M
3,35
3,93
1,64
VC
0,11
0,09
0,22
SD
0,38
0,35
0,36
Min
2,40
3,05
0,96
Max
4,42
4,90
2,90
(EL) 12,07
12,68
59,49
DL [10
6
]
M
0,47
0,70
0,34
VC
0,11
0,09
0,22
SD
0,05
0,06
0,08
Min
0,34
0,55
0,20
Max
0,59
0,88
0,61
(DL) 86,28
70,81
283,97
LV [10
6
]
M
120,02
259,01
611,45
VC
0,25
0,22
0,51
SD
30,30
56,78
312,59
Min
54,22
141,64
180,03
Max
207,52
447,58
2029,96
(LV ) 0,34
0,19
0,16
Tab. C.13: Kennwerte der Labels bei Auslassung der Nebenbedingungen
,,Mittagspause", ,,Dienst" bzw. ,,Startzeitfenster" - ausführliche
Darstellung.
xxx

C Ausführliche Ergebnisse der Laufzeitanalysen
C.7 Variation der Mindestarbeitszeit
R
A
W
2
4
6
8
10
2
M
33,40
40,74
48,58
45,05
18,58
VC
0,25
0,28
0,32
0,33
0,29
SD
8,47
11,40
15,38
14,80
5,44
Min
18,80
22,47
26,75
24,81
10,83
Max
64,79
81,23
98,80
94,80
37,63
4
M
68,71
83,38
96,95
90,90
38,60
VC
0,17
0,21
0,24
0,24
0,22
SD
11,90
17,90
23,64
22,03
8,61
Min
42,06
27,08
45,19
40,51
19,94
Max
111,47
135,10
166,97
153,03
63,80
Tab. C.14: Lösungszeiten bei Variation der Mindestarbeitszeit - ausführliche
Darstellung.
xxxi

C Ausführliche Ergebnisse der Laufzeitanalysen
R
A
W
2
4
6
8
10
2
EL [10
6
]
M
3,02
2,91
2,83
2,46
1,37
VC
0,13
0,14
0,15
0,15
0,14
SD
0,40
0,41
0,42
0,38
0,20
Min
2,31
2,26
2,18
1,85
1,02
Max
4,41
4,26
4,21
3,52
1,92
(EL) 11,04
14,01
17,18
18,28
13,61
DL [10
6
]
M
0,59
0,54
0,48
0,36
0,12
VC
0,13
0,14
0,15
0,16
0,15
SD
0,08
0,08
0,07
0,06
0,02
Min
0,45
0,42
0,37
0,27
0,09
Max
0,88
0,80
0,72
0,52
0,17
(DL) 56,54
75,24
100,86
125,26
160,98
LV [10
6
]
M
151,85
204,87
265,41
249,03
97,21
VC
0,30
0,32
0,35
0,36
0,34
SD
44,84
65,21
92,81
89,86
32,64
Min
75,15
108,18
139,11
125,18
49,43
Max
323,67
436,16
573,46
564,19
211,75
(LV ) 0,22
0,20
0,18
0,18
0,19
4
EL [10
6
]
M
6,03
5,79
5,62
4,93
2,76
VC
0,09
0,10
0,11
0,11
0,11
SD
0,57
0,59
0,63
0,56
0,31
Min
4,66
4,33
4,04
3,44
1,91
Max
7,86
7,49
7,25
6,19
3,60
(EL) 11,39
14,40
17,26
18,42
14,00
DL [10
6
]
M
1,18
1,08
0,96
0,72
0,23
VC
0,09
0,10
0,11
0,11
0,11
SD
0,11
0,11
0,11
0,08
0,03
Min
0,89
0,79
0,69
0,50
0,16
Max
1,50
1,35
1,20
0,90
0,30
(DL) 58,33
77,41
101,36
126,30
165,62
LV [10
6
]
M
304,02
409,09
528,27
502,48
200,00
VC
0,21
0,23
0,26
0,26
0,26
SD
63,20
93,55
135,23
130,11
51,02
Min
164,81
202,80
234,94
209,37
86,24
Max
529,95
684,69
914,18
868,24
351,98
(LV ) 0,23
0,20
0,18
0,18
0,19
Tab. C.15: Kennwerte der Labels bei Variation der Mindestarbeitszeit - aus-
führliche Darstellung.
xxxii

C Ausführliche Ergebnisse der Laufzeitanalysen
C.8 Variation der Höchstarbeitszeit
R
A
W
8
10
12
14
2
M
[s]
20,96
38,68
48,58
48,73
VC
0,28
0,31
0,32
0,31
SD [s]
5,86
11,93
15,38
15,23
Min [s]
11,05
21,50
26,75
27,42
Max [s]
45,02
79,85
98,80
101,12
4
M
[s]
43,18
80,57
96,95
100,87
VC
0,21
0,23
0,24
0,26
SD [s]
9,27
18,48
23,64
26,01
Min [s]
23,51
38,49
45,19
37,50
Max [s]
77,33
130,80
166,97
177,13
Tab. C.16: Lösungszeiten bei Variation der Höchstarbeitszeit - ausführliche
Darstellung.
xxxiii

C Ausführliche Ergebnisse der Laufzeitanalysen
R
A
W
8
10
12
14
2
EL [10
6
]
M
1,56
2,43
2,83
2,99
VC
0,14
0,15
0,15
0,15
SD
0,22
0,35
0,42
0,45
Min
1,17
1,87
2,18
2,26
Max
2,36
3,62
4,21
4,46
(EL) 13,47
15,93
17,18
16,32
DL [10
6
]
M
0,19
0,40
0,48
0,52
VC
0,14
0,15
0,15
0,15
SD
0,03
0,06
0,07
0,08
Min
0,15
0,31
0,37
0,40
Max
0,29
0,60
0,72
0,79
(DL) 109,04 96,63
100,86
93,44
LV [10
6
]
M
116,08
218,30
265,41
273,47
VC
0,33
0,34
0,35
0,35
SD
38,48
75,11
92,81
95,63
Min
57,58
115,48
139,11
133,23
Max
267,35
478,46
573,46
599,97
(LV ) 0,18
0,18
0,18
0,18
4
EL [10
6
]
M
3,08
4,82
5,62
5,94
VC
0,10
0,11
0,11
0,11
SD
0,32
0,53
0,63
0,68
Min
2,31
3,49
4,04
4,24
Max
4,00
6,30
7,25
7,71
(EL) 14,01
16,70
17,26
16,99
DL [10
6
]
M
0,38
0,80
0,96
1,04
VC
0,10
0,11
0,11
0,11
SD
0,04
0,09
0,11
0,12
Min
0,29
0,58
0,69
0,74
Max
0,48
1,01
1,20
1,32
(DL) 113,48 101,32 101,36 97,36
LV [10
6
]
M
229,66
433,91
528,27
545,08
VC
0,24
0,25
0,26
0,26
SD
55,33
109,78
135,23
142,82
Min
112,81
194,48
234,94
233,29
Max
401,62
736,30
914,18
963,63
(LV ) 0,19
0,19
0,18
0,19
Tab. C.17: Kennwerte der Labels bei Variation der Höchstarbeitszeit über zwei
und vier Wochen - ausführliche Darstellung.
xxxiv

C Ausführliche Ergebnisse der Laufzeitanalysen
C.9 Variation des Startzeitfensters
T
win
W
0
1
2
3
4
5
2
M
[s]
6,43
14,92
29,01
48,58
74,65
106,38
VC
0,21
0,23
0,27
0,32
0,35
0,39
SD [s]
1,32
3,47
7,87
15,38
26,28
41,09
Min [s]
4,27
9,64
17,09
26,75
38,50
47,69
Max [s]
10,69
27,98
56,25
98,80
162,06
235,69
4
M
[s]
12,47
28,93
56,22
96,95
156,43
215,37
VC
0,15
0,17
0,22
0,24
0,29
0,30
SD [s]
1,84
5,05
12,43
23,64
44,68
64,50
Min [s]
8,42
17,50
9,56
45,19
67,42
88,08
Max [s]
17,78
43,89
87,49
166,97
323,21
444,31
Tab. C.18: Lösungszeiten bei Variation des Startzeitfensters - ausführliche
Darstellung.
xxxv

C Ausführliche Ergebnisse der Laufzeitanalysen
T
win
W
0
1
2
3
4
5
2
EL [10
6
]
M
0,96
1,54
2,17
2,83
3,52
4,24
VC
0,12
0,13
0,14
0,15
0,16
0,17
SD
0,12
0,20
0,30
0,42
0,57
0,73
Min
0,75
1,19
1,66
2,18
2,64
3,06
Max
1,32
2,18
3,14
4,21
5,34
6,53
(EL) 6,69
9,70
13,38
17,18
21,22
25,08
DL [10
6
]
M
0,11
0,22
0,35
0,48
0,63
0,78
VC
0,12
0,13
0,14
0,15
0,16
0,17
SD
0,01
0,03
0,05
0,07
0,10
0,13
Min
0,09
0,17
0,26
0,37
0,47
0,56
Max
0,15
0,32
0,51
0,72
0,96
1,20
(DL) 57,79 67,45
83,64
100,86
119,35
136,85
LV [10
6
]
M
22,44
67,46
147,78
265,41
419,08
606,37
VC
0,26
0,28
0,31
0,35
0,38
0,41
SD
5,76
18,91
46,43
92,81
159,69
247,13
Min
13,04
37,56
79,94
139,11
200,34
265,06
Max
43,10
134,52
305,85
573,46
942,38
1401,47
(LV ) 0,29
0,22
0,20
0,18
0,18
0,18
4
EL [10
6
]
M
1,90
3,05
4,30
5,62
7,01
8,44
VC
0,09
0,10
0,10
0,11
0,12
0,13
SD
0,16
0,29
0,45
0,63
0,84
1,08
Min
1,49
2,31
3,18
4,04
4,94
5,83
Max
2,42
3,87
5,49
7,25
9,19
11,33
(EL) 6,55
9,49
13,06
17,26
22,31
25,52
DL [10
6
]
M
0,22
0,44
0,69
0,96
1,25
1,55
VC
0,08
0,09
0,10
0,11
0,12
0,13
SD
0,02
0,04
0,07
0,11
0,15
0,20
Min
0,18
0,34
0,51
0,69
0,88
1,07
Max
0,26
0,53
0,85
1,20
1,62
2,07
(DL) 56,55 65,97
81,69
101,36
125,55
139,34
LV [10
6
]
M
44,21
133,45
293,82
528,27
839,08
1191,23
VC
0,19
0,21
0,23
0,26
0,27
0,27
SD
8,34
28,20
68,45
135,23
230,58
323,96
Min
25,51
69,29
139,71
234,94
350,08
475,86
Max
72,07
214,80
471,60
914,18
1588,29
2091,15
(LV ) 0,28
0,22
0,19
0,18
0,19
0,18
Tab. C.19: Kennwerte der Labels bei Variation des Startzeitfensters über zwei
und vier Wochen - ausführliche Darstellung.
xxxvi

Literaturverzeichnis
Literaturverzeichnis
Ahuja, R., Magnanti, T. und Orlin, J. (1993), Network flows: theory, algo-
rithms, and applications, Prentice-Hall, New York, NY.
Bard, J. und Purnomo, H. (2005), `Short-term nurse scheduling in response
to daily fluctuations in supply and demand', Health Care Management
Science 8(4), 315­324.
Barnhart, C., Johnson, E., Nemhauser, G., Savelsbergh, M. und Vance, P.
(1998), `Branch-and-price: Column generation for solving huge integer
programs', Operations Research 46(3), 316­329.
Beliën, J. (2006), Exact and Heuristic Methodologies for Scheduling
in Hospitals: Problems, Formulations and Algorithms, Dissertati-
on, Faculteit Economische en Toegepaste Economische Wetenschap-
pen, Katholieke Universiteit Leuven, Belgien. online verfügbar unter
http://www.econ.kuleuven.be/jeroen.belien.
Beliën, J. und Demeulemeester, E. (2006), `Scheduling trainees at a hospi-
tal department using a branch-and-price approach', European journal of
operational research 175(1), 258­278.
Beliën, J. und Demeulemeester, E. (2008), `A branch-and-price approach for
integrating nurse and surgery scheduling', European Journal of Operatio-
nal Research 189(3), 652­668.
Bellman, R. (1952), `On the theory of dynamic programming', Pro-
ceedings
of
the
National
Academy
of
Sciences
of
the
Uni-
ted States of America
38(8), 716­719. online verfügbar unter
http://www.pnas.org/content/38/8/716.full.pdf.
Bellman, R. (1959), Dynamic Programming, 2. Aufl., Princeton University
Press, Princeton, NJ.
Bellman, R. und Dreyfus, S. (1962), Applied dynamic programming, Princeton
University Press, Princeton, NJ.
Bertsekas, D. (2005), Dynamic programming and optimal control, Vol. I,
3. Aufl., Athena Scientific, Belmont, MA.
Bhavnani, K. und Chen, K. (1966), Optimization of time-dependent sys-
tems by dynamic programming , in `Joint automatic control conference',
S. 516­521.
Bradley, S., Hax, A. und Magnanti, T. (1977), Applied mathematical
programming, Addison-Wesley, Reading, MA. online verfügbar unter
http://web.mit.edu/15.053/www/.
xxxvii

Literaturverzeichnis
Brunner, J., Bard, J. und Kolisch, R. (2009), `Flexible shift scheduling of phy-
sicians', Health Care Management Science 12(3), 285­305.
Brunner, J., Bard, J. und Kolisch, R. (2010), `Midterm scheduling of physicians
with flexible shifts using branch-and-price', To appear in IIE Transactions
on Operations Engineering .
Burke, E., De Causmaecker, P., Vanden Berghe, G. und Van Landeghem, H.
(2004), `The state of the art of nurse rostering', Journal of scheduling
7(6), 441­499.
Cezik, T., Günlük, O. und Luss, H. (2001), `An integer programming mo-
del for the weekly tour scheduling problem', Naval Research Logistics
48(7), 607­624.
Cheang, B., Li, H., Lim, A. und Rodrigues, B. (2003), `Nurse rostering
problems---a bibliographic survey', European Journal of Operational Re-
search 151(3), 447­460.
Cooper, L. und Cooper, M. (1981), Introduction to dynamic programming,
Pergamon Press, Oxford.
Desaulniers, G., Desrosiers, J. und Solomon, M. ,Hrsg. (2005), Column gene-
ration, Springer, Berlin.
Desrochers, M. und Soumis, F. (1988), `A generalized permanent labelling
algorithm for the shortest path problem with time windows',
Infor
26(3), 191­212.
Desrochers, M. und Soumis, F. (1989), `A column generation approach
to the urban transit crew scheduling problem', Transportation Science
23(1), 1­13.
Desrosiers, J., Dumas, Y., Solomon, M. und Soumis, F. (1995), Time constrai-
ned routing and scheduling, in M. Ball, C. L. Monma und T. Magnanti
(Hrsg.), `Network routing', Handbooks in Operations Research and Ma-
nagement Science, 8: Network Routing, North-Holland Publishing, Ams-
terdam.
Dreyfus, S. und Law, A. (1977), The art and theory of dynamic programming,
Academic Press, New York, NY.
Ernst, A., Jiang, H., Krishnamoorthy, M., Owens, B. und Sier, D. (2004a), `An
annotated bibliography of personnel scheduling and rostering', Annals of
Operations Research 127(1), 21­144.
xxxviii

Literaturverzeichnis
Ernst, A., Jiang, H., Krishnamoorthy, M. und Sier, D. (2004b), `Staff scheduling
and rostering: A review of applications, methods and models', European
Journal of Operational Research 153(1), 3­27.
Eveborn, P. und Rönnqvist, M. (2004), `Scheduler­A system for staff planning',
Annals of Operations Research 128(1­4), 21­45.
Fahrmeir, L., Künstler, R., Pigeot, I. und Tutz, G. (2009), Statistik. Der Weg
zur Datenanalyse, 7. Aufl., Springer, Berlin.
Garey, M. und Johnson, D. (1979), Computers and Intractability: A Guide to
the Theory of NP-completeness, W.H. Freeman, New York, NY.
Grünert, T. und Irnich, S. (2005a), Optimierung im Transport, Band I: Grund-
lagen, Shaker, Aachen.
Grünert, T. und Irnich, S. (2005b), Optimierung im Transport, Band II: Wege
und Touren, Shaker, Aachen.
Hans, E. (2001), Resource loading by branch-and-price techniques, Dissertati-
on, Twente University Press, Enschede, Niederland.
Hartel, P. H. und Glaser, H. (1996), `The resource constrained shortest path
problem implemented in a lazy functional language', Journal of Functional
Programming 6(1), 29­45.
Isfort, M. und Weidner, F. (2007), `Pflege-Thermometer 2007. Eine bundes-
weite repräsentative Befragung zur Situation und zum Leistungsspektrum
des Pflegepersonals sowie zur Patientensicherheit im Krankenhaus.'. Her-
ausgegeben von: Deutsches Institut für angewandte Pflegeforschung e.V.
(dip), Köln. http://www.dip.de/materialien/berichte-dokumente/.
Jaumard, B., Semet, F. und Vovor, T. (1996), A two-phase resource constrained
shortest path algorithm for acyclic graphs, Technical report, Les Cahiers
du GERAD G-96-48, École des Hautes Études Commerciales, Montréal.
Jaumard, B., Semet, F. und Vovor, T. (1998), `A generalized linear program-
ming model for nurse scheduling', European Journal of Operational Rese-
arch 107(1), 1­18.
Jungnickel, D. (1994), Graphen, Netzwerke und Algorithmen, 3. Aufl., Biblio-
graphisches Institut, Mannheim.
Kellerer, H., Pferschy, U. und Pisinger, D. (2004), Knapsack problems, Sprin-
ger, Berlin.
Kellogg, D. und Walczak, S. (2007), `Nurse scheduling: From academia to
implementation or not?', Interfaces 37(4), 355­369.
xxxix

Literaturverzeichnis
Kohl, N. und Karisch, S. (2004), `Airline crew rostering: problem types, mode-
ling, and optimization', Annals of Operations Research 127(1), 223­257.
Mandelbaum, A. (2006), `Call Centers (Centres). Research Bibliography with
Abstracts. Version 7'. http://ie.technion.ac.il/serveng/References/US7_
CC_avi.pdf.
Mason, A. und Smith, M. (1998), A nested column generator for solving roste-
ring problems with integer programming, in L. Caccetta, K. Teo, P. Siew,
Y. Leung, L. Jennings und V. Rehbock (Hrsg.), `International conference
on optimisation: techniques and applications', Curtin University of Tech-
nology, Perth, Australia, S. 827­834.
Righini, G. und Salani, M. (2008), `New dynamic programming algorithms
for the resource constrained elementary shortest path problem',
Networks
51(3), 155­170.
Seinfeld, J. und Lapidus, L. (1968), `Aspects of the Forward Dynamic Program-
ming Algorithm', Industrial & Engineering Chemistry Process Design and
Development 7(3), 475­478.
Sennott, L. (1999), Stochastic dynamic programming and the control of queu-
eing systems, Wiley-Interscience, New York, NY.
Sniedovich, M. (2006), `Dijkstra's algorithm revisited: the dynamic program-
ming connexion', Control and cybernetics 35(3), 599­620.
Statistisches Bundesamt (2009), `Gesundheit. Grunddaten der Krankenhäuser
2008'. Fachserie 12, Reihe 6.1.1, Wiesbaden.
Thungjaroenkul, P., Cummings, G. und Embleton, A. (2007), `The impact of
nurse staffing on hospital costs and patient length of stay: a systematic
review', Nursing Economics 25(5), 255­265.
Wilhelm, W. (2001), `A technical review of column generation in integer pro-
gramming', Optimization and Engineering 2(2), 159­200.
Williams, H. (1999), Model building in mathematical programming, John Wiley
& Sons, Chichester.
Yunes, T., Moura, A. und de Souza, C. (2000), A hybrid approach for sol-
ving large scale crew scheduling problems, in E. Pontelli und S. Vitor
(Hrsg.), `Lecture Notes in Computer Science', Vol. 1753, Springer, Berlin,
S. 293­307.
Zhu, X. (2005), The dynamic, resource-constrained shortest path problem on
an acyclic graph with application in column generation and a literature
xl

Literaturverzeichnis
review on sequence-dependent scheduling, Dissertation, Texas A&M Uni-
versity.
Ziegelmann, M. (2001), Constrained shortest paths and related problems, Dis-
sertation, Universität des Saarlandes, Saarbrücken.
xli
Ende der Leseprobe aus 151 Seiten

Details

Titel
Generierung von Personaleinsatzplänen in Dienstleistungsunternehmen: Reformulierung von Entscheidungsproblemen und deren Lösung
Hochschule
Technische Universität München
Autor
Jahr
2010
Seiten
151
Katalognummer
V184852
ISBN (eBook)
9783656102267
Dateigröße
1241 KB
Sprache
Deutsch
Schlagworte
scheduling, dynamic programming, shortest path, service industry, staffing, integer programming, ressource constraint shortest path
Arbeit zitieren
Jan Mathias Köhler (Autor:in), 2010, Generierung von Personaleinsatzplänen in Dienstleistungsunternehmen: Reformulierung von Entscheidungsproblemen und deren Lösung, München, GRIN Verlag, https://www.grin.com/document/184852

Kommentare

  • Noch keine Kommentare.
Blick ins Buch
Titel: Generierung von Personaleinsatzplänen in Dienstleistungsunternehmen: Reformulierung von Entscheidungsproblemen und deren Lösung



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden