Para los modelos Python DOcplex u OPL, puede hacer referencia a los datos importados utilizando la sintaxis siguiente.
Python modelos
inputs['tablename']
. Por ejemplo, en esta línea de código, food es una entidad definida a partir de la tabla denominada diet_food
:food = inputs['diet_food']
outputs['tablename']
. Por ejemplo:outputs['solution'] = solution_df
define una tabla de salida que se denomina solution
. La entidad solution_df
del modelo Python define esta tabla.Puede encontrar este ejemplo de dieta en la carpeta Model_Builder de DO-samples. Para importarlo y ejecutarlo (resolverlo) en la UI del experimento, consulte Resolver y analizar un modelo de Decision Optimization: el problema de la dieta.
Modelos OPL
tupleset
, para cada tabla que importó en el preparar datos vista y con los mismos nombres. El esquema para cada conjunto de tuples debe tener el mismo número de columnas que la tabla y utilizar los mismos nombres de campo. Por ejemplo, si tiene una tabla de entrada en Preparar datos vista denominada Product
con los atributos name, demand, insideCost,
y outsideCost
, el modelo OPL debe contener la definición siguiente:tuple TProduct {
key string name;
float demand;
float insideCost;
float outsideCost;
};
{TProduct} Product = ...;
La limitación de utilizar sólo tuplas y conjuntos de tuplas como entrada OPL es para facilitar la integración con fuentes de datos. Por ejemplo, se puede acceder a fuentes de datos SQL y realizar un flujo de datos con un mínimo esfuerzo; NoSQL y transformar los datos automáticamente en tablas. Si es necesario, el desarrollador de modelos de optimización puede reformular los datos para llenar otras estructuras de datos durante la optimización, pero esta manipulación no debe afectar a los datos de entrada o salida.
tupleset
para esta tabla de salida en su modelo OPL. Por ejemplo, este código genera una tabla de salida con 3 columnas en la solución./// solution
tuple TPlannedProduction {
key string productId;
float insideProduction;
float outsideProduction;
}
{TPlannedProduction} plan = {<p.name, Inside[p], Outside[p]> | p in Products};
Puede encontrar este modelo OPL de ejemplo para un problema de producción de pasta en la carpeta Model_Builder de la DO-samples. Puede descargar y extraer todos los ejemplos. Seleccione la subcarpeta de producto y versión relevante.
Más información
- Para un tutorial sobre la creación de modelos Python DOcplex, véase Resolución y análisis de un modelo de Decision Optimization: el problema de la dieta.
- Para obtener más información sobre los modelos OPL, consulte Decision Optimization modelos OPL.