Riferimento ai dati importati e definizione dell'output della soluzione in un modello
Per i modelli Python DOcplex o OPL, puoi fare riferimento ai dati importati utilizzando la seguente sintassi.
Python modelli
inputs['tablename']
. Ad esempio, in questa riga di codice, il cibo è un'entità definita dalla tabella denominata diet_food
:food = inputs['diet_food']
outputs['tablename']
. Ad esempio:outputs['solution'] = solution_df
definisce una tabella di output denominata solution
. L'entità solution_df
nel modello Python definisce questa tabella.Puoi trovare questo esempio Dieta nella cartella Model_Builder di DO - samples. Per importarlo ed eseguirlo (risolverlo) nell'interfaccia utente esperimento, vedere Risolvere e analizzare un modello Decision Optimization: il problema della dieta.
modelli OPL
tupleset
, per ogni tabella importata nel file Preparare i dati visualizzazione e con gli stessi nomi. Lo schema per ciascun tupleset deve avere lo stesso numero di colonne della tabella e utilizzare gli stessi nomi di campo. Ad esempio, se si dispone di una tabella di input in Prepara dati vista denominata Product
con gli attributi name, demand, insideCost,
e outsideCost
, il modello OPL deve contenere la seguente definizione:tuple TProduct {
key string name;
float demand;
float insideCost;
float outsideCost;
};
{TProduct} Product = ...;
La limitazione all'uso di tuple e insiemi di tuple come input OPL serve a facilitare l'integrazione con le fonti di dati. Ad esempio, è possibile accedere alle sorgenti di dati SQL e creare un flusso di dati con un minimo sforzo; è possibile accedere alle sorgenti di dati NoSQL e trasformare automaticamente i dati in tabelle. Se necessario, lo sviluppatore del modello di ottimizzazione può riformulare i dati per popolare altre strutture di dati durante l'ottimizzazione, ma questa manipolazione non deve influire sui dati di input o di output.
tupleset
per questa tabella di output nel modello OPL. Ad esempio, questo codice produce una tabella di output con 3 colonne nella soluzione./// solution
tuple TPlannedProduction {
key string productId;
float insideProduction;
float outsideProduction;
}
{TPlannedProduction} plan = {<p.name, Inside[p], Outside[p]> | p in Products};
Questo modello OPL di esempio per un problema di produzione di pasta si trova nella cartella Model_Builder del file DO-samples. È possibile scaricare ed estrarre tutti gli esempi. Selezionare la sottocartella relativa al prodotto e alla versione.
Ulteriori informazioni
- Per un'esercitazione sulla creazione di modelli Python DOcplex, vedere Risolvere e analizzare un modello Decision Optimization: il problema della dieta.
- Per ulteriori informazioni sui modelli OPL, vedere Decision Optimization.