Ich habe ein reales Problem, das ich darstellen und automatisieren möchte. Ich habe es vereinfacht und auf Folgendes abstrahiert:
- Es gibt n Arbeitsplätze (P1, P2, ..., Pn).
- Jeder Ort, Pn hat einen Schlüssel, Kn.
- Es gibt m Arbeiter (W1, W2, ..., Wm).
- Um bei Pn arbeiten zu können, muss ein Arbeiter Kn halten.
- Jeder Schlüssel kann entweder von einem Mitarbeiter gehalten oder an der Börse E hinterlassen werden.
Ein Mitarbeiter kann jederzeit eine Reise zur Börse unternehmen, um nicht beanspruchte Schlüssel abzuholen oder einige Schlüssel abzugeben, damit andere sie verwenden können.
Jetzt gibt es einen exogenen Arbeitsplan, der in einer strengen Reihenfolge abgeschlossen werden muss. Beispielsweise:
- 2016-04-21 W1 muss bei P6 arbeiten
- 2016-04-21 W2 muss bei P3 arbeiten
- ** Schlüsselaustausch erforderlich **
- 2016-04-22 W3 muss bei P3 arbeiten
- 2016-04-22 W2 muss bei P6 arbeiten
Eine beliebige Anzahl von Arbeitnehmern muss möglicherweise irgendwann in ihrem Zeitplan bei Pn arbeiten, allerdings nie am selben Tag
Wir wissen:
- Der Startort aller Schlüssel, entweder mit Arbeitern oder bei E.
- Die zukünftigen Arbeitsaufträge, die jeder Mitarbeiter erfüllen muss
Ich kämpfe also darum, diese ganze Situation zu modellieren. Können Sie Datenstrukturen und Algorithmen vorschlagen, die ich mir ansehen sollte, um sie in den Griff zu bekommen und die Fahrten zum Austausch für jeden Mitarbeiter zu optimieren?
Was ich minimieren möchte, ist die Gesamtzahl der Fahrten nach E. Ein sekundäres Ziel wäre es, sicherzustellen, dass kein Arbeitnehmer eine unverhältnismäßig große Anzahl von Fahrten unternimmt.
Danke im Voraus!!