Generierung von Dienstplänen:
Das Optimierungsverfahren
Sind zum Beispiel an einem Tag 24 Mitarbeiter für 15 Jobs verfügbar,
erzeugt das Bewertungssystem eine Matrix mit 24 Spalten und 15 Zeilen
(also 360 Werten), in welche pro Mann (Zeile) und Job (Spalte) das
Ergebnis der Bewertung gespeichert wird.
Für jede am laufenden Tag mögliche Abwesenheit wird zusätzlich eine
Hilfsstelle generiert, weshalb in der Praxis immer mehr Stellen in die
Berechnung einfließen, als Jobs zu besetzen sind.
Umgekehrt werden für die Optimierung alle jene Stellen und Mitarbeiter
ausgeschieden, für welche eine fixe Vorgabe vorliegt, zum Beispiel Urlaub
oder keine Sonntagsarbeit.
Insgesamt kann sich damit die Zahl der in die Optimierung einfließenden
Stellen und Mitarbeiter für jeden Tag ändern.
Die für einen Tag ermittelte Wertematrix wird schließlich auf eine
quadratische Form (gleich viele Zeilen für Stellen wie Spalten für
Mitarbeiter) gebracht. Sind weniger Mitarbeiter als Stellen verfügbar,
steht von vornherein fest, dass nicht alle Stellen besetzt werden können,
sind umgekehrt mehr Stellen als Mitarbeiter vorhanden, werden entsprechend
viele Pseudostellen eingerichtet.
Sind an einem Tag weniger Mitarbeiter als Stellen verfügbar, prüft das
System zunächst, ob es Möglichkeiten gibt, die Stellen doch noch zu
besetzen, zum Beispiel durch Streichen von Abwesenheitswünschen.
Bei diesem Streichen von Abwesenheitswünschen gibt es mehrere
Möglichkeiten, weil die Software zwischen Abwesenheiten unterscheidet,
die unterbrochen werden dürfen (etwa weil ein Dienstnehmer zum
Zeitausgleich eine Woche lang zu Hause bleibt), und solchen, die nicht
unterbrochen werden können, weil zum Beispiel ein Dienstnehmer in den
Urlaub fliegen will.
Kann an einem Tag eine Stelle nicht besetzt werden und liegt für diesen
Tag eine Abwesenheit vor, die unterbrochen werden kann, wird dieser
Abwesenheitswunsch für den laufenden Tag gestrichen. Allerdings prüft
das System zusätzlich, ob dies der zweite oder der vorletzte Tag der
Abwesenheit ist, um zu verhindern, dass vor oder nach der eingefügten
Arbeit nur ein Tag Abwesenheit verbleibt. Wenn es sich um den vorletzten
Tag handelt, wird der letzte Tag gleich mit gestrichen. Handelt es sich um
den zweiten Tag der Abwesenheit, wird der erste Tag ebenfalls gestrichen
und das System kehrt zur Optimierung dieses Tages zurück, weil hier nun
ein Mitarbeiter mehr verfügbar ist.
Liegt bei einem Stellenbesetzungsproblem ein nicht unterbrechbarer
Abwesenheitswunsch vor, streicht das System den ganzen Wunsch und führt
die Optimierung vom Beginn des Abwesenheitswunsches an neu durch. In
diesem Fall kehrt das Programm an den Tag des Abwesenheitsbeginns zurück
und optimiert von dort weg die Dienstpläne neu.
Sind nach Streichen einer Abwesenheit noch immer nicht alle Stellen
besetzt und liegen weitere Abwesenheitswünsche vor, wiederholt die
Software den obigen Vorgang rekursiv so lange, bis alle Stellen besetzt
sind oder keine Abwesenheitswünsche mehr vorliegen.
Wird ein Abwesenheitswunsch oder einzelne Tage davon gestrichen, kann die
Software keinen Ersatz dafür vorsehen. Es hat wenig Sinn, wenn das
Programm einen Urlaubswunsch eigenmächtig von Juli auf August verschiebt.
Der Mitarbeiter wird von der Streichung verständigt und muss danach einen
neuen Wunsch anmelden. Da die Dienstpläne für beliebige Zeiträume
vorausberechnet werden können, ist das im Normalfall kein großes
Problem: Alle Urlaubswünsche können schon zu Jahresbeginn fixiert
werden.
Können keine Abwesenheitswünsche gestrichen werden, versucht das System,
jene Stellen zu finden, deren Nichtbesetzung die wenigsten Nachteile
bringt. Für die Optimierung werden dann Pseudomitarbeiter eingefügt, die
nach der Optimierung wieder entfernt werden.
Schließlich liegt für den laufenden Tag der aktuellen Stellengruppe eine
quadratische Matrix mit N Spalten und N Zeilen vor, was einem
Gleichungssystem mit N Unbekannten entspricht. Dieses Gleichungssystem
wird mit OR-Methoden gelöst, wobei die "billigste" Kombination
berechnet und für den Dienstplan verwendet wird.
Sofern nicht mehr Stellen als Mitarbeiter vorliegen, wird auf diese Weise
für den laufenden Tag immer die für die vorliegenden Kriterien optimale
Lösung gefunden.