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
Copy link to section
Für Python DOcplex-Modelle ist der Zugriff auf die Daten, die Sie in Daten vorbereitenAnsicht 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']
Copy to clipboardIn die Zwischenablage kopiert
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
Copy to clipboardIn die Zwischenablage kopiert
Definiert eine Ausgabetabelle mit dem Namen solution. Die Entität solution_df im Python -Modell definiert diese Tabelle.
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 vorbereitenAnsicht mit den Attributen name, demand, insideCost, und outsideCosthaben, muss Ihr OPL-Modell die folgende Definition enthalten:
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};
Copy to clipboardIn die Zwischenablage kopiert
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.