Larrywayn
Mitglied
Hallöchen,
eigentlich ein banales Problem.
Es gibt mehrere Mitarbeiter, welche Arbeitszeiten haben und bestimmte Verfügbarkeiten. Zusätzlich gibt es Regeln welche beachtet werden müssen.
Die Aufgabe ist nun diesen Mitarbeitern Zeit an einer Aufgabe zuzuordnen.
Das ganze ist immer nur für eine Woche, also quasi ein Wochenplan für eine Zeitverteilung an einer Aufgabe.
Das bisherige Programm von mir funktioniert eigentlich ganz gut. Jedoch hat es das Problem, dass es nicht wissen kann, welcher Mitarbeiter, von den Möglichen, der günstigste ist, deshalb wählt es aktuell einen zufällig aus.
Dieses führt zu dem Problem, dass es die ersten 3 Tage meistens super funktioniert, aber dann oft nur Mitarbeiter verfügbar sind, welche an den tagen oder zu den Zeiten nicht können.
Nun dachte ich, dass ich für jeden Tag einen Baum erstelle, in dem ich jede Möglichkeit an einem Tag aufschlüssele.
Dann ist mir aber eingefallen, dass das Ergebnis eines Tages, die der Anderen ja total beeinflusst. Was zu dem eigentlichen Problem zurückführt.
Nun meine Frage gibt es dafür einen guten Ansatz, wie man das lösen könnte?
Meine Ideen: Das Dame Problem zur Hand nehmen und gucken ob man es auf dieses Problem projizieren kann oder ob ein zusätzlicher Baum, welcher für jeden Tag jeden anderen Tag durchgeht, genommen wird.
Das wird dann aber ziemlich Speicheraufwendig, weil jedes MitarbeiterObjekt, jede Arbeitszeit und jeder Tag zig mal als Kopie im Speicher gehalten werden muss.
Außerdem wäre es dann auch ziemlich ineffizient weil ich dann ja 5! Kombinationen alleine für de Durchgang der Tage hätte, und das dann für jede Möglichkeit eines tages auch noch.
Montag Dienstag Mittwoch Donnerstag .. Für Lösung A Montag
Montag Dienstag Mittwoch Donnerstag .. Für Lösung B Montag
Montag Dienstag Mittwoch Donnerstag .. Für Lösung C Montag
Montag Mittwoch Dienstag Donnerstag..
Montag Dienstag Donnerstag Mittwoch..
usw. ...
Vielleicht hat ja jemand einen genialen einfachen Ansatz
Grüße Larrywayn
eigentlich ein banales Problem.
Es gibt mehrere Mitarbeiter, welche Arbeitszeiten haben und bestimmte Verfügbarkeiten. Zusätzlich gibt es Regeln welche beachtet werden müssen.
Die Aufgabe ist nun diesen Mitarbeitern Zeit an einer Aufgabe zuzuordnen.
Das ganze ist immer nur für eine Woche, also quasi ein Wochenplan für eine Zeitverteilung an einer Aufgabe.
Das bisherige Programm von mir funktioniert eigentlich ganz gut. Jedoch hat es das Problem, dass es nicht wissen kann, welcher Mitarbeiter, von den Möglichen, der günstigste ist, deshalb wählt es aktuell einen zufällig aus.
Dieses führt zu dem Problem, dass es die ersten 3 Tage meistens super funktioniert, aber dann oft nur Mitarbeiter verfügbar sind, welche an den tagen oder zu den Zeiten nicht können.
Nun dachte ich, dass ich für jeden Tag einen Baum erstelle, in dem ich jede Möglichkeit an einem Tag aufschlüssele.
Dann ist mir aber eingefallen, dass das Ergebnis eines Tages, die der Anderen ja total beeinflusst. Was zu dem eigentlichen Problem zurückführt.
Nun meine Frage gibt es dafür einen guten Ansatz, wie man das lösen könnte?
Meine Ideen: Das Dame Problem zur Hand nehmen und gucken ob man es auf dieses Problem projizieren kann oder ob ein zusätzlicher Baum, welcher für jeden Tag jeden anderen Tag durchgeht, genommen wird.
Das wird dann aber ziemlich Speicheraufwendig, weil jedes MitarbeiterObjekt, jede Arbeitszeit und jeder Tag zig mal als Kopie im Speicher gehalten werden muss.
Außerdem wäre es dann auch ziemlich ineffizient weil ich dann ja 5! Kombinationen alleine für de Durchgang der Tage hätte, und das dann für jede Möglichkeit eines tages auch noch.
Montag Dienstag Mittwoch Donnerstag .. Für Lösung A Montag
Montag Dienstag Mittwoch Donnerstag .. Für Lösung B Montag
Montag Dienstag Mittwoch Donnerstag .. Für Lösung C Montag
Montag Mittwoch Dienstag Donnerstag..
Montag Dienstag Donnerstag Mittwoch..
usw. ...
Vielleicht hat ja jemand einen genialen einfachen Ansatz

Grüße Larrywayn
Zuletzt bearbeitet: