Dieses Beispiel Decision Optimization Modeling Assistant zeigt Ihnen, wie Sie Iterationen mit mehreren Konzepten verwenden, das Schlüsselwort associated
in Bedingungen verwenden, wie Sie Ihre eigenen angepassten Entscheidungen definieren und logische Einschränkungen definieren. Zur Veranschaulichung wird ein Ressourcenzuordnungsproblem ( ShiftAssignment
) verwendet und das vollständige Modell mit Daten wird in den DO-Beispielebereitgestellt.
Vorbereitende Schritte
- Anforderungen
- Zum Bearbeiten und Ausführen von Decision Optimization -Modellen müssen die folgenden Voraussetzungen erfüllt sein:
- Administrator -oder Editor -Rollen
- Sie müssen über die Rolle Admin oder Editor im Projekt verfügen. Viewer von gemeinsam genutzten Projekten können nur Experimente anzeigen, aber nicht ändern oder ausführen.
- watsonx.ai Laufzeitdienst
- Sie müssen einen watsonx.ai Runtime-Dienst haben, der mit Ihrem Projekt verbunden ist. Sie können eine hinzufügen, wenn Sie ein Decision Optimization Experimenterstellen.
- Bereitstellungsbereich
- Sie benötigen einen Bereitstellungsbereich, der Ihrem Decision Optimization Experimentzugeordnet ist. Sie können einen Bereitstellungsbereich auswählen, wenn Sie ein Decision Optimization Experimenterstellen.
Informationen zu dieser Task
In diesem Beispiel geht es um die Zuordnung von Mitarbeitern zu verschiedenen Schichten, und jeder Tag erfordert, dass eine erforderliche Anzahl von Mitarbeitern auf Abruf sein muss. Die in diesem Beispiel verwendeten Dateien sind in DO-samplesverfügbar.
Dieses Video enthält eine visuelle Methode zum Erlernen der Konzepte und Tasks in dieser Dokumentation. Nachdem Sie das Beispiel in Ihrem Decision Optimization Experimentgeladen haben, können Sie dem Video folgen.
Video-Haftungsausschluss: Einige kleinere Schritte und grafische Schritte in diesem Video können von Ihrer Plattform abweichen. Auch die Benutzerschnittstelle wird häufig verbessert.
Vorgehensweise
So laden Sie das Beispiel herunter und öffnen es:
- Laden Sie die Datei ShiftAssignment.zip aus dem Unterordner Model_Builder unter DO-samplesherunter. Wählen Sie den entsprechenden Produkt- und Versionsunterordner aus.
- Öffnen Sie Ihr Projekt oder erstellen Sie ein leeres Projekt.
- Wählen Sie die Registerkarte Assets aus
- Wählen Sie Neues Asset > Optimierungsprobleme lösen im Bereich Mit Modellen arbeiten aus.
- Klicken Sie auf Lokale Datei im Fenster Optimierungsprobleme lösen , das geöffnet wird.
- Suchen Sie lokal nach dem heruntergeladenen ShiftAssignment.zip -Archiv und wählen Sie es aus. Klicken Sie auf Öffnen. Alternativ können Sie Drag and Drop verwenden.
- Wenn Sie noch keinen watsonx.ai Runtime-Dienst mit Ihrem Projekt verknüpft haben, müssen Sie zunächst einen Dienst für Machine Learning hinzufügen auswählen oder erstellen, bevor Sie einen Bereitstellungsbereich für Ihr Experiment auswählen.
- Klicken Sie auf Create.Es wird ein Decision Optimization -Modell mit demselben Namen wie das Beispiel erstellt.
- Öffnen Sie das Szenariofenster und wählen Sie das Szenario
AssignmentWithOnCallDuties
aus.
Ergebnisse
In der Ansicht Daten vorbereiten des AssignmentWithOnCallDuties
Szenarioswerden die importierten Datenassets angezeigt. Diese Tabellen umfassen die Schichten und die Mitarbeiter, die diesen Schichten zugewiesen werden müssen, sowie die Tage mit ihren erforderlichen Bereitschaftsaufgaben.
Mehrkonzeptiterationen verwenden
Informationen zu dieser Task
Angenommen, Sie möchten, dass Ihre Modellformulierung die Regel zum Ausdruck bringt, dass jeder Mitarbeiter nicht mehr als eine Schicht pro Tag arbeiten darf. Zum Beispiel darf ein Mitarbeiter nicht zwei Schichten am selben Tag zugeordnet werden. Sie können, wie in dieser Modellformulierung gezeigt, eine Einschränkung für jeden Tag der Woche verwenden.
Das Auflisten von Einschränkungen für jeden Tag der Woche ist jedoch umständlich: Wenn Ihr Modell auf Tagen im Jahr basiert, müssen Sie Hunderte dieser Arten von Einschränkungen auflisten. Die folgende Prozedur zeigt, wie Sie Iteration mit mehreren Konzepten und das Schlüsselwort associated
verwenden, um Iteration über mehrere Konzepte auszudrücken. So können Sie eine solche Regel mit nur einem Ausdruck ausdrücken.
Vorgehensweise
Führen Sie die folgenden Schritte aus, um eine Iteration mit mehreren Konzepten zu verwenden.
- Klicken Sie in der Seitenleiste auf Modell erstellen , um Ihre Modellformulierung anzuzeigen.Die Modellformulierung zeigt die Absicht, Mitarbeiter Schichten zuzuweisen, samt ihren Zielen und Bedingungen.
- Erweitern Sie die Bedingung
For each Employee-Day combination , number of associated Employee-Shift assignments is less than or equal to 1
.
Ergebnisse
Diese Einschränkung kombiniert Mitarbeiter und Tage mit dem Schlüsselwort associated
, sodass der Ausdruck sowohl über den Mitarbeiter als auch über den Tag iteriert. Wie Sie sehen, entspricht der Mitarbeiter in der Mitarbeiter-Tag-Kombination dem Mitarbeiter in der Mitarbeiter-Schicht-Zuweisung. Auch der Tag in der Mitarbeiter-Tag-Kombination entspricht der Eigenschaft „Tag" in der zugewiesenen Schicht. So werden die Kombinationen richtig und automatisch für Sie bearbeitet.
Mit dieser Iteration mit mehreren Konzepten können Sie neue Gruppen von Regeln angeben, die verschiedene Konzepte kombinieren.
Angepasste Entscheidungen definieren
Informationen zu dieser Task
Angenommen, Sie möchten auch Bereitschaftsaufgaben zuweisen. Sie könnten ein weiteres Modell mit der Absicht erstellen, Mitarbeiter Aufgaben auf Abruf zuzuordnen, aber dann wären Sie nicht in der Lage, Abhängigkeitsregeln zwischen den zwei Modellen anzugeben. Durch Hinzufügen angepasster Entscheidungen zu Ihrem vorhandenen Modell, wie in diesem Beispiel gezeigt, können Sie Abhängigkeiten zwischen Schichtzuweisungen und Bereitschaftsaufgaben definieren. Hier heißt die angepasste Entscheidung OnCallDuties
.
Vorgehensweise
Führen Sie die folgenden Schritte aus, um angepasste Entscheidungen zu definieren:
Ergebnisse
Sie sind nicht mehr darauf beschränkt, nur Entscheidungen zu verwenden, die aus Ihrer Absicht abgeleitet wurden. Sie können jetzt eigene angepasste Entscheidungen definieren, indem Sie die erweiterten Einstellungen und Entscheidungsregisterkarten verwenden, auf denen Sie Ihren Entscheidungstyp und seine Dimensionen (Datentabelle oder Spalte) auswählen. Anschließend können Sie neue Regeln und Zielsetzungen konfigurieren, die Ihre neu definierte Entscheidung verwenden.
Logische Bedingungen verwenden
Informationen zu dieser Task
Angenommen, Sie möchten sicherstellen, dass keine Bereitschaftsaufgaben zugewiesen werden, wenn ein Mitarbeiter sich im Urlaub befindet. Sie können dies erreichen, indem Sie logische Bedingungen wie folgt verwenden.
Vorgehensweise
So verwenden Sie logische Integritätsbedingungen:
- Bedingung betrachten Diese Einschränkung stellt sicher, dass für jede Kombination aus Mitarbeiter und Tag, wenn keine zugeordneten Zuordnungen vorhanden sind (z. B. wenn der Mitarbeiter an diesem Tag im Urlaub ist), diesem Mitarbeiter an diesem Tag keine Bereitschaftsaufgaben zugewiesen werden. Beachten Sie die Verwendung der Schlüsselwörter
if...then
zum Definieren dieser logischen Integritätsbedingung. - Optional: Fügen Sie weitere logische Einschränkungen zu Ihrem Modell hinzu, indem Sie in den Vorschlägen suchen.
Ergebnisse
Diese Bedingung verknüpft die Zuweisung von Mitarbeitern zu Schichten mit Bereitschaftsaufgaben. Bei separaten Modellen, einem für die ursprüngliche Schichtzuweisung und einem anderen für die Bereitschaftsaufgaben, können Sie diese Verknüpfung nicht erreichen.
Durch die Verwendung logischer Integritätsbedingungen zusammen mit dem Schlüsselwort associated
können Sie angeben, dass, wenn eine Integritätsbedingung gilt, auch eine andere Integritätsbedingung gilt. Die erforderliche logische Verbindung zwischen den Konzepten, auf die Sie sich beziehen, wird automatisch hergestellt, ohne dass Sie komplizierte Join-Ausdrücke verwenden müssen.