0 / 0
Torna alla versione inglese della documentazione

Riferimento ai dati importati e definizione dell'output della soluzione in un modello

Ultimo aggiornamento: 06 ago 2024
Riferimento ai dati importati in un modello in un esperimento Decision Optimization

Per i modelli Python DOcplex o OPL, puoi fare riferimento ai dati importati utilizzando la seguente sintassi.

Python modelli

Per i modelli Python DOcplex, i dati importati in Prepara dati vista nel UI esperimento sono accessibili dal dizionario di input. Per accedere ai dati importati, è necessario definire ciascuna tabella con la seguente sintassi inputs['tablename']. Ad esempio, in questa riga di codice, il cibo è un'entità definita dalla tabella denominata diet_food:
food = inputs['diet_food']
Allo stesso modo, per visualizzare le tabelle nellavista Esplora soluzione dell' interfaccia utente dell'esperimento è necessario specificarle utilizzando la sintassi 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

In un modello OPL è necessario dichiarare atupleset , 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.

Allo stesso modo, se vuoi visualizzare una tabella nel file Esplora la soluzione visualizzazione , è necessario definire atupleset 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