Referenciando dados importados e definindo a saída da solução em um modelo
Para os modelos Python DOcplex ou OPL, é possível consultar os dados importados usando a sintaxe a seguir.
Python modelos
inputs['tablename']a seguir: Por exemplo, nesta linha de código, alimento é uma entidade que é definida a partir da tabela chamada diet_food:food = inputs['diet_food']outputs['tablename']. Por exemplo,outputs['solution'] = solution_dfdefine uma tabela de saída chamada solution. A entidade solution_df no modelo Python define essa tabela..É possível localizar este exemplo de Dieta na pasta Model_Builder do DO-samples Para importá-lo e executá-lo (solucioná-lo) na IU do experimento, consulte Solucionando e analisando um modelo de Decision Optimization: o problema da dieta.
Modelos OPL
tupleset , para cada tabela que você importou no Preparar dados visualizar e com os mesmos nomes. O esquema para cada tupleset deve ter o mesmo número de colunas que a tabela e usar os mesmos nomes de campo. Por exemplo, se você tiver uma tabela de entrada em Preparar dados visualizar chamada Product com os atributos name, demand, insideCost, e outsideCost, seu modelo OPL deverá conter a definição a seguir:tuple TProduct {
key string name;
float demand;
float insideCost;
float outsideCost;
};
{TProduct} Product = ...;A limitação de usar apenas tuplas e conjuntos de tuplas como entrada OPL é para facilitar a integração com fontes de dados. Por exemplo, as fontes de dados SQL podem ser acessadas e o fluxo de dados pode ser feito com um mínimo de esforço; as fontes de dados NoSQL podem ser acessadas e os dados podem ser transformados automaticamente em tabelas. Se necessário, o desenvolvedor do modelo de otimização pode reformular os dados para preenchimento de outras estruturas de dados durante a otimização, mas essa manipulação não deve afetar os dados de entrada ou saída.
tupleset para esta tabela de saída em seu modelo OPL. Por exemplo, esse código produz uma tabela de saída com 3 colunas na solução../// solution
tuple TPlannedProduction {
key string productId;
float insideProduction;
float outsideProduction;
}
{TPlannedProduction} plan = {<p.name, Inside[p], Outside[p]> | p in Products};Você pode encontrar esse exemplo de modelo OPL para um problema de produção de massas na pasta Model_Builder do DO-samples. É possível fazer download de todas as amostras e extraí-las. Selecione a subpasta de produto e versão relevante.
Você pode encontrar esse exemplo de modelo OPL para um problema de produção de massas na pasta Model_Builder do DO-samples. É possível fazer download de todas as amostras e extraí-las. Selecione a subpasta de produto e versão relevante.
Saiba Mais
- Para obter um tutorial sobre a criação de modelos Python DOcplex, consulte Resolução e análise de um modelo Decision Optimization : o problema da dieta.
- Para obter mais informações sobre modelos OPL, consulte Decision Optimization Modelos OPL.