Mehr Servicegeschäft mit limitierten Ressourcen
Der OTS (Optimized Task Scheduling) ist eine
kompakte, integrierbare Planungs-Engine,
welche Optimierungsprobleme schnell und effizient lösen kann.
OTS basiert auf dem Timefold Solver und ist ein optionales Modul unserer Planungslösung «Visual Planning Board».
Jedes Unternehmen ist mit Planungsproblemen konfrontiert und muss ihre Produkte oder Dienstleistungen mit einer begrenzten Anzahl von Ressourcen wie Mitarbeitern, Anlagen, Zeit und Geld bereitstellen. Diese Probleme sind in vielen Branchen anzutreffen, und ihre Lösung kann schwierig und teuer sein. OTS kann helfen, die Servicequalität zu verbessern und die Kosten zu senken.
OTS optimiert Planungs- und Terminierungsprobleme, wie z. B. Wartungs- oder Serviceplanung, Fahrzeugrouting, Personaleinsatzplanung, Aufgabenzuweisung…
Hard- und Soft-Constraints
Eine Constraint ist eine Einschränkung, die jede Lösung eines Planungsproblems erfüllen sollte. Planungsprobleme haben mindestens 2 Arten von Einschränkungen:
- Eine (negative) harte Einschränkung darf nicht gebrochen werden. Zum Beispiel: Ein Arbeiter kann nicht 2 Aufgaben an verschiedenen Orten zur gleichen Zeit erledigen.
- Eine (negative) weiche Einschränkung sollte nicht gebrochen werden, wenn dies vermeidet werden kann. Zum Beispiel: Arbeiter A zieht es vor, freitags nicht zu arbeiten.
Einige Probleme haben auch positive Einschränkungen:
- Eine (positive) weiche Bedingung (oder Belohnung) sollte nach Möglichkeit erfüllt werden. Zum Beispiel: Arbeiter B bevorzugt Einzelarbeit.
Die Qualität einer Lösung für ein Planungsproblem kann daran gemessen werden, inwieweit sie die harten und weichen Randbedingungen des Problems erfüllt. Mit Hilfe einer Score-Berechnung (oder Fitnessfunktion) wird für jede Lösung eine numerische Punktzahl ermittelt und eine Reihe möglicher Lösungen verglichen, um die beste Lösung zu bestimmen.
Ein riesiger Lösungsraum
Für ein Planungsproblem gibt es eine Reihe möglicher Lösungen, die sich in folgende Kategorien einteilen lassen:
- Eine mögliche Lösung ist eine beliebige Lösung, unabhängig davon, ob sie gegen eine beliebige Anzahl von Beschränkungen verstößt oder nicht. Planungsprobleme neigen dazu, eine unglaublich große Anzahl von möglichen Lösungen zu haben. Viele dieser Lösungen sind nicht durchführbar.
- Eine realisierbare Lösung ist eine Lösung, die keine (negativen) harten Randbedingungen bricht. Manchmal gibt es keine realisierbaren Lösungen, ein Szenario, das als «überbeschränkte Planung» bezeichnet wird. Jede realisierbare Lösung ist eine mögliche Lösung.
- Eine optimale Lösung ist eine Lösung mit der höchsten Punktzahl. Bei Planungsproblemen gibt es in der Regel eine (oder einige wenige) optimale Lösungen. Es gibt immer mindestens eine optimale Lösung, auch wenn es keine machbaren Lösungen gibt und die optimale Lösung nicht machbar ist.
- Die beste gefundene Lösung ist die Lösung mit der höchsten Punktzahl, die von einer Implementierung in einer bestimmten Zeit gefunden wurde. Die beste gefundene Lösung ist wahrscheinlich machbar, und wenn genügend Zeit zur Verfügung steht, ist sie eine optimale Lösung.
Da es keinen schnellen, einfachen Weg gibt, die optimale Lösung zu finden, ist jede Implementierung gezwungen, zumindest eine Teilmenge aller möglichen Lösungen zu bewerten.
Verwendung des OTS Optimierers
Der Ansatz zur Lösung eines Planungsproblems mit dem OTS Optimierer lässt sich grob in die folgenden Schritte unterteilen:
- Modellierung der Planungsentitäen. Es wird eine Reihe von Java-Klassen erstellt, um das Problem in Form von Schlüsselentitäten und deren Beziehungen zu beschreiben.
- Definition von Beschränkungen. Harte und weiche Randbedingungen für Planungseinheiten, wie z.B. maximale Auslastung und Fahrerverfügbarkeit, werden durch Scoring-Funktionen definiert, die einen Score berechnen, der das Ausmaß darstellt, in dem eine bestimmte Randbedingung von einer gegebenen Lösung erfüllt wird.
- Laden Sie einen betroffenen Datenbereich. Stellen Sie OTS Daten zur Verfügung, die eine bestimmte Instanz des zu lösenden Problems darstellen, z. B. eine Reihe von Fahrzeugen und Lieferorten.
- Starten Sie die Lösung. Verwenden Sie die OTS API, um mit der Lösung des Problems zu beginnen. OTS arbeitet kontinuierlich an der Suche nach Lösungen und behält die bisher beste Lösung.
- Eine Lösung abrufen. Verwenden Sie die OTS API, um die aktuell beste Lösung abzurufen. In der Regel konvergiert die Lösung innerhalb weniger Minuten, je nach Größe und Komplexität des Problems.
OTS bietet dem Benutzer eine umfassende Kontrolle über den Lösungsprozess während der Laufzeit. Die relative Gewichtung jeder Bedingung kann geändert werden, und eine oder mehrere Komponenten einer Lösung können auf bestimmte Werte festgelegt und unveränderlich gemacht werden. Auf diese Weise können die Benutzer mehr Kontrolle über die generierten Lösungen ausüben. Sie können das automatische Lösen auf bestimmte Aspekte eines Problems beschränken und ihre eigenen bevorzugten Antworten in die Gesamtlösung einfließen lassen.
Kontinuierliche- und Echtzeit-Planung
In den meisten Szenarien müssen Planungslösungen ständig überprüft werden, da sich die Ziele, Ressourcen und Zwänge im Laufe der Zeit ändern. Unerwartete Ereignisse wie Geräteausfälle, schlechtes Wetter oder abwesende Mitarbeiter können dazu führen, dass eine Lösung nicht mehr effektiv ist und schnell neue Lösungen benötigt werden. Oder Lösungen, wie z. B. ein Dienstplan für das Personal, müssen regelmäßig, vielleicht wöchentlich, erstellt werden, wobei der Dienstplan jeder Woche von den in der Vorwoche erledigten Aufgaben abhängt.
Für diese Szenarien bietet der OTS Optimierer sowohl Echtzeit- als auch kontinuierliche Planungsfunktionen. Im Echtzeitmodus kann der OTS Optimierer die Lösungen kontinuierlich anpassen, wenn sich die Problemdaten ändern, so dass eine schnelle Reaktion auf ungeplante Ereignisse möglich ist. Im kontinuierlichen Modus erstellt OTS Optimierer inkrementelle Lösungen für ein fortschreitendes Zeitfenster, das die vorherigen Ergebnisse berücksichtigt.
OTS im Detail
OTS kombiniert ausgefeilte KI-Optimierungsalgorithmen (wie Tabu Search, Simulated Annealing, Late Acceptance und andere Metaheuristiken) mit einer sehr effizienten «Score» Berechnung und anderen state-of-the-art Constraint Solving Techniken.
Optimiere einen Techniker für einen bestimmten Tag
- Optimieren Sie einem Techniker bereits zugeordnete Aufgaben eines Tages. Der Optimizer findet innerhalb einer vorgegebenen Berechnungszeit die beste Lösung einer optimalen Reiseroute. Die vom Optimizer vorgeschlagene Lösung kann vom Disponenten akzeptiert oder angepasst werden.
- Mit dem Ziel, Minimierung der Reisezeiten und Maximierung der Arbeitszeit.
- Hard Contraints: Qualifikation eines Technikers, nur zugewiesene Aufgaben am ausgewählten Tag, sowie die Verfügbarkeit des Technikers an diesem Tag.
- Soft Constraints: Affinität und Priorität des Technikers
Optimierung eines einzelnen Techniker für mehrere Tage
- Optimierung einem Techniker bereits zugeordneten Aufgaben innerhalb des gewählten Zeitraums. Der Optimizer findet innerhalb einer vorgegebenen Berechnungszeit die beste Lösung für eine optimale Reiseroute. Die vom Optimizer vorgeschlagene Lösung kann vom Disponenten akzeptiert oder angepasst werden.
- Mit dem Ziel, Minimierung der Reisezeiten und Maximierung der Arbeitszeit.
- Hard Contraints: Qualifikation eines Technikers, nur zugewiesene Aufgaben im gewählten Zeitraum sowie die Verfügbarkeit des Technikers im gewählten Zeitraum.
- Soft Constraints: Affinität und Priorität des Technikers
Optimieren von mehreren Technikern für einen gewählten Zeitraum.
- Optimieren von mehreren Technikern innerhalb eines vorgegebenen Zeitraums. Der Optimizer findet innerhalb einer vorgegebenen Berechnungszeit die beste Lösung für alle Techniker. Die vom Optimizer vorgeschlagene Lösung kann vom Disponenten akzeptiert oder angepasst werden.
- Mit dem Ziel, Minimierung der Reisezeiten und Maximierung der Arbeitszeit.
- Hard Contraints: Geeignete Qualifikationen der Techniker, nur zugewiesene Aufgaben im gewählten Zeitraum, sowie die Verfügbarkeit der Techniker in diesem Zeitraum.
- Soft Constraints: Möglichst faire Aufteilung der Aufgaben zwischen den beteiligten Technikern, Affinität und Priorität der Techniker.
Finden des am besten geeigneten Technikers und Zeit für die geplante Aufgabe.
- Der Optimierer findet innerhalb einer vorgegeben Berechnungszeit aus einer Gruppe von Technikern den am besten geeigneten Techniker und den optimalen Zeitpunkt für die Erledigung der Aufgabe. Die vom Optimizer vorgeschlagene Lösung kann vom Disponenten akzeptiert oder angepasst werden.
- Mit dem Ziel, Minimierung der Reisezeiten und Maximierung der Arbeitszeit.
- Hard Contraints: Geeignete Qualifikation und Verfügbarkeit der gesuchten Technikers.
- Soft Constraints: Faire Aufteilung der Aufgaben an die beteiligten Techniker, Affinität und Priorität der Techniker.
Continuous Planning
- Kontinuierliche Planung ist die Technik, eine oder mehrere kommende Planungsperioden gleichzeitig zu planen und diesen Prozess monatlich, wöchentlich, täglich, stündlich oder sogar noch häufiger zu wiederholen. Da die Zeit jedoch unendlich ist, ist es unmöglich, alle zukünftigen Zeiträume zu planen.
Non-Disruptive Replanning
- Die Neuplanung eines bereits bestehenden Plans können für die betroffenen Techniker und den laufenden Betrieb sehr störend sein. Deshalb sind solche Änderungen meist unerwünscht. In solchen Fällen hilft die sogenannte «non-volatile» Neuplanung, indem sie die Planungsfreiheit einschränkt. Der Nutzen einer Planänderung muss höher sein als die Störung, die sie verursacht.
Real-Time Planning
- Wenn sich eine Planungssituation (z.B. ein Störfall tritt auf) in Echtzeit ändert, wird/kann der Einsatzplan in Echtzeit entsprechend angepasst werden.
Overconstrained Planning
- Wenn es keine praktikable Lösung gibt, um alle Planungseinheiten (Techniker) zuzuordnen, ist es vorzuziehen, so viele Einheiten wie möglich zuzuordnen, ohne harte Beschränkungen zu verletzen.
Pinning
- Eine festgelegte Planungseinheit (Aufgabe) ändert sich während der Lösungsfindung nicht. Dies wird häufig von Benutzern verwendet, um eine oder mehrere bestimmte Aufgaben festzulegen und den Optimierer zu zwingen, um diese fixen Aufgaben herum zu planen.