Dienstplangenerierung automatisch

magnet

Mitglied
Hallo Forum,

ich hoffe jemand hat für mich ein paar Tips.

Es geht um folgendes Problem,
ich brauche eine Methode die mir bei der Generierung von Dienstplänen hilft.

Ausgangssituation :

X Mitarbeiter
X im Schichtsystem​
X werden manuell verteilt​
X Mitarbeiter haben Lieblingsschichten​
X Mitarbeiter sind krank oder haben Urlaub​

X Statis (Frühschicht, Spätschicht, Freidienst)
1 Status hat vielleicht mindestanforderung (6 Mitarbeiter in der Spätschicht)​

X Feiertage

Mitarbeiter dürfen nicht länger als 6 Tage am Stück arbeiten
Mitarbeiter bekommen für jede WE-Schicht 1 Freidienst
Mitarbeiter bekommen für jede Feiertags-Schicht 1 Freidienst
Mitarbeiter sollen möglichst 2 WE arbeiten
Mitarbeiter sollen möglichst einen gleich fairen Dienstplan bekommen


So nun hab ich den graphischen Teil schon soweit das man einen Dienstplan manuell erstellen könnte und mache mir gedanken wie ich dieses Problem so fair wie möglich lösen kann.

Gelesen hab ich nun schon von verschiedenen Algorithmen wie Branch-and-Bound aber den Gedankenanstoß hab ich noch nicht bekommen. Auch weil die Algorithmen für mich sehr theoretisch sind :)

Wenn jemand sich schon einmal mit diesem Problem beschäftig hat und mir möglicherweise helfen könnte wäre ich sehr dankbar. Ich will nicht anfangen 4 Stunden was Programmieren was ich dann wieder "Delete". :) Ihr wisst schon was ich mein.

Danke MfG
 
Zuletzt bearbeitet:
Hmm das ist nen nettes Constraint-Satisfaction Problem, nicht sonderlich einfach zu programmieren.

Kannst ja mal untere diesem Stichpunkt suchen. Es gibt auch ein paar Frameworks dazu die einem dabei helfen können, das macht das ganze jedoch nicht unbedingt einfacher.
 
Nunja, ich hab noch nie etwas behandelt was mit "Constraint-Satisfaction" zutun hatte. Verstehen tuh ich die Libs wie Choco aber kann deren Beispielanwendungen irgendwie nicht auf mein spezielles Problem anwenden. Vielleicht könnte mir einer beim Aufbau helfen.

Die Planung soll immer über einen Zeitraum von einem Monat gehen, im vorherigen Monat soll die Verteilung der alten Schichten mitbeachtet werden um den aktuellen Monat so fair wie möglich zu gestalten. (Mitarbeiter 1, Monat Jan, 9 mal Nachtschicht soll nun nicht im Monat Feb. wieder 9 Mal die Nachtschicht bekommen sondern der nächst folgende Mitarbeiter usw)

Im Vorfeld sind Statis wie z.B. Krank, Urlaub manuell eingegeben)

MfG
 
Zurück