0 / 0
Zurück zur englischen Version der Dokumentation
Auf importierte Daten verweisen und Lösungsausgabe in einem Modell definieren
Letzte Aktualisierung: 06. Aug. 2024
Importierte Daten in einem Modell in einem Decision Optimization -Experiment referenzieren

Für Python DOcplex -oder OPL-Modelle können Sie unter Verwendung der folgenden Syntax auf importierte Daten verweisen.

Python -Modelle

Für Python DOcplex-Modelle ist der Zugriff auf die Daten, die Sie in Daten vorbereiten Ansicht in Benutzerschnittstelle für Experimente importiert haben, über das Eingabewörterbuch möglich. Für den Zugriff auf die importierten Daten müssen Sie jede Tabelle mit der Syntax inputs['tablename']definieren. In dieser Codezeile ist Essen beispielsweise eine Entität, die aus der Tabelle diet_fooddefiniert wird:
food = inputs['diet_food']
Um Tabellen im Lösung kennenlernen Ansicht von Benutzerschnittstelle für Experimente anzuzeigen, müssen Sie sie mit der Syntax outputs['tablename']angeben. Beispiel:
outputs['solution'] = solution_df
Definiert eine Ausgabetabelle mit dem Namen solution. Die Entität solution_df im Python -Modell definiert diese Tabelle.

Sie finden dieses Diätbeispiel im Ordner Model_Builder des Ordners DO-samples. Um es zu importieren und in der Experiment UI auszuführen (zu lösen), siehe Lösen und Analysieren eines Decision Optimization: das Ernährungsproblem.

OPL-Modelle

In einem OPL-Modell müssen Sie eintupleset für jede Tabelle, die Sie im Vorbereiten der Daten Sicht und mit den gleichen Namen. Das Schema für jedes Tupelset muss die gleiche Spaltenanzahl wie die Tabelle haben und die gleichen Feldnamen verwenden. Wenn Sie beispielsweise eine Eingabetabelle mit dem Namen Product in Ihrem Daten vorbereiten Ansicht mit den Attributen name, demand, insideCost, und outsideCosthaben, muss Ihr OPL-Modell die folgende Definition enthalten:
tuple TProduct {
   key string name;
   float demand;
   float insideCost;
   float outsideCost;
 };

{TProduct}     Product = ...;

Die Beschränkung auf die Verwendung von Tupeln und Tupelmengen als OPL-Eingabe soll die Integration mit Datenquellen erleichtern. So kann zum Beispiel mit minimalem Aufwand auf SQL-Datenquellen zugegriffen und Daten gestreamt werden; NoSQL-Datenquellen können angesprochen und Daten automatisch in Tabellen umgewandelt werden. Bei Bedarf kann der Entwickler des Optimierungsmodells die Daten während der Optimierung neu formulieren, um andere Datenstrukturen zu füllen. Diese Manipulation darf aber die Eingabe- oder Ausgabedaten nicht beeinflussen.

Wenn Sie eine Tabelle im Lösung erkunden Sicht müssen Sie einentupleset für diese Ausgabetabelle in Ihrem OPL-Modell. Dieser Code erzeugt beispielsweise eine Ausgabetabelle mit 3 Spalten in der Lösung.
/// solution
 tuple TPlannedProduction {
   key string productId;
   float insideProduction;
   float outsideProduction;
 }

{TPlannedProduction} plan = {<p.name, Inside[p], Outside[p]> | p in Products};

Sie finden dieses OPL-Beispielmodell für ein Nudelproduktionsproblem im Ordner Model_Builder des DO-Beispiels. Sie könnenalle Beispiele herunterladen und entpacken. Wählen Sie den entsprechenden Produkt- und Versionsunterordner aus.

Weitere Informationen

Generative KI-Suche und -Antwort
Diese Antworten werden von einem großen Sprachmodell in watsonx.ai basierend auf dem Inhalt der Produktdokumentation generiert. Weitere Informationen