So was ähnliches habe ich auch mal angefangen... allerdings hatte ich nicht die Musse dies fertigzustellen.
Wahrscheinlich sind dabei ja noch diverse andere Faktoren zu beachten sonst könnte man ja einfach die Anzahl Mitarbeiter durch die Anzahl Wochenende teilen.
Meiner Meinung nach miuss man Zusätzlich noch folgendes beachten:
- Gesetzliche Vorgaben (wahrscheinlich darf man nicht nur eine bestimmte Anzahl Tage am Stück arbeiten)
- Zeitsaldo (MA mit viel Überzeit sollten nicht am Weekend noch mehr anhäufen)
- MA die bereits viele Wochenenddienste geleistet haben sollten weniger ausgewählt werden
- Ferienplan (Tage wo kein Wochenenddienst geleistet werden kann)
- persönliche Präferenzen (MA die gerne am Weekend arbeiten)
Man könnte diese Liste noch um einiges erweitern...
Ich habe für jeden Tag zu jedem MA eine Zahl aus diesen Faktoren berechnet, der jenige mit der tiefsten Zahl hat gewonnen und wurde ausgewählt
Beispiel:
Gesetzlich Vorgaben erfüllt = 0 /nicht erfüllt 99999999 --> darf nicht ausgewählt werden
Ferienplan (kann Arbeiten) = 0 /nicht arbeiten 99999999 --> darf nicht ausgewählt werden
Zeitsaldo = anz Stunden * - FaktorA
Anzahl geleistet WE = anz WE * - FaktorB
pers Präferenzen = Wert * FaktorC
Alle diese Werte addiert
Dieses System steht und fällt mit dem Wert der 3 Faktoren. Das zu programmieren ist nicht sehr schwer, allerdings gute Werte für die Faktoren zu finden das ein ausgewogener Plan zu stande kommt ist nicht einfach und kann wahrscheinlich nur durch viele Probeläufe ermittelt werden
Bitte melde wie Du das gelöst hast, vieleich nehme ich mal wieder einen Anlauf das Program fertig zustellen, da könnte ich sicher von Deinem Input profitieren....
Gruss
Bole
Edit: Dies ist schon eine Weile her und genau weiss ich es nicht mehr genau..aber das System wird durch das Beispiel klar, jedoch geht es eher mit positiven Werten besser.