Decision Optimization cadernos

É possível criar e executar modelos do Decision Optimization em Python blocos de notas usando DOcplex, uma API Python nativa para Decision Optimization Vários Decision Optimization notebooks já estão disponíveis para você usar.

É possível usar Decision Optimization com Python 3.12 or 3.11 (deprecated). Os tempos de execução a seguir fornecem acesso ao Community Edition dos mecanismos do CPLEX. O Community Edition é limitado a resolver problemas com até 1000 restrições e 1000 variáveis ou com um espaço de procura de 1000 X 1000 para problemas de Programação de Restrição.
  • Runtime 25.1 on Python 3.12 S/XS/XXS
  • Runtime 24.1 (deprecated) on Python 3.11 (deprecated) S/XS/XXS
Para executar problemas maiores, selecione um tempo de execução que inclua a edição comercial do CPLEX completo. O ambiente do Decision Optimization (DOcplex) está disponível nos seguintes tempos de execução (edição comercial completa do CPLEX):
  • NLP + DO runtime 25.1 on Python 3.12 com CPLEX 22.1.2.0
  • NLP + DO runtime 24.1 (deprecated) on Python 3.11 (deprecated) com CPLEX 22.1.1.0

É possível mudar facilmente ambientes (tempos de execução e versão Python ) dentro de um bloco de notas usando a guia Ambiente (consulte Mudando o ambiente de um bloco de notas). Assim, é possível formular modelos de otimização e testá-los com pequenos conjuntos de dados em um ambiente Em seguida, para resolver modelos com conjuntos de dados maiores, é possível alternar para um ambiente diferente, sem precisar regravar ou copiar o código do notebook .

Vários exemplos de Decision Optimization notebooks estão disponíveis no hub de recurso, incluindo:
  • O exemplo Sudoku, um exemplo de Programação de Restrição no qual o objetivo é resolver uma grade de Sudoku 9x9.
  • O exemplo de Problema de Produção de Massa, um exemplo de Programação Linear em que o objetivo é minimizar o custo de produção para alguns produtos de massa e assegurar que a demanda dos clientes para os produtos seja atendida
Esses e outros exemplos também estão disponíveis na jupyter pasta de exempl os DO

Todos os Decision Optimization blocos de notas usam DOcplex

DOcplex

Os Decision Optimization cadernos utilizam o DOcplex, uma API nativa do Python para modelar e resolver Decision Optimization problemas. A API está disponível, por padrão, como parte do ambiente do Python.

É composto por dois módulos:
  • Modelagem de Programação Matemática para Python que usa docplex.mp
  • Modelagem de Programação de Restrição para Python que usa docplex.cp
Em seu código, é possível especificar a biblioteca que você deseja usar como a seguir, por exemplo, para bibliotecas de Programação Matemática:
from docplex.mp.model import Model

A API é licenciada sob a Licença Apache V2.0 e é numpy/pandas fácil e simples.

É possível ler a completa Documentação da API DOcplex sobre rawgit. Você pode encontrar exemplos do DOcplex no site Decision Optimization GitHub.

Decision Optimization API do cliente

Além de DOcplex, uma API do cliente do Decision Optimization está disponível para você criar cenários e manipular modelos que são feitos na Decision Optimization UI do experimento Por exemplo, consulte Gerando vários cenários de Decision Optimization.

Consulte a documentação Decision Optimization da API do cliente. Você também pode encontrar o exemplo anterior na jupyter pasta dos exemplos DO.

Executando Decision Optimization notebooks

Dependendo se você está interessado em Programação de Restrição ou Programação Linear, Escolha um dos dois blocos de notas apresentados anteriormente e execute-o da seguinte forma:

Se você já tiver um projeto no Cloud Pak for Data as a Service:
  1. No Hub de recurso, abra o bloco de notas com o qual você deseja trabalhar
  2. Se você já criou um projeto no Cloud Pak for Data as a Service, clique em Incluir no projeto.
  3. Selecione um projeto existente na lista suspensa e selecione um tempo de execução, por exemplo, Runtime 25.1 em Python 3.12 XS (ou para modelos maiores que exigem a Commercial Edition dos mecanismos CPLEX, selecione DO + NLP Runtime 25.1 em Python 3.12 XS) e clique em Create (Criar ). O bloco de notas é incluído em seu projeto

Se você ainda não tem um projeto no Cloud Pak for Data as a Service, clique no botão Download Botão de download para baixar o exemplo para o seu computador.

  1. Crie um novo projeto: selecione Projetos > Visualizar Todos os Projetos no menu e clique no botão Novo Projeto.
  2. Selecione Criar um projeto vazio e, na janela aberta, insira um nome e clique em Criar.
  3. Selecione a guia Ativos .
  4. Selecione Novo ativo > Trabalhar com dados e modelos emPython ou R no Trabalhar com modelos seção.
  5. Escolha Arquivo local.. Em seguida, clique em Arrastar e soltar arquivos aqui ou faça upload do e procure o bloco de notas em seu computador.
  6. Clique em Criar bloco de notas.O bloco de notas é incluído em seu projeto.
Seu notebook abre automaticamente.

Para executar o seu notebook, clique em Cell> Run All.

Os blocos de notas de exemplo Python são fornecidos no Decision Optimization GitHub. Para usar esses notebooks, consulte Jupyter. Esses exemplos não usam o experimento UI.

Além disso, um notebook Python que mostra como gerar vários cenários e que usa dados aleatórios é fornecido na jupyter pasta dos exemplos DO. Essa abordagem pode ser útil para testar um modelo feito na IU do experimento com diferentes conjuntos de dados Para obter mais informações, consulte Gerando vários cenários.

Tutoriais do Decision Optimization

Você pode encontrar mais DOcplex exemplos que apresentam a você o DOcplexPython API noDecision OptimizationGitHub:

Programação linear
Você pode ler uma descrição detalhada deste caderno neste tutorial de Programação Linear (CPLEX Parte 1). Você pode clonar ou baixar este caderno de Decision Optimization Programação Linear do Github.
Além da programação linear
Você pode ler uma descrição detalhada deste caderno neste tutorial de Programação Linear (CPLEX Parte 2). Você pode clonar ou baixar este caderno Decision Optimization Beyond Linear Programming (Além da Programação Linear) do Github.
Introdução ao Planejamento no CPLEX para Python
Você pode ler uma descrição detalhada deste caderno neste tutorial Agendamento no CPLEX para Python. Você pode clonar ou baixar este notebook Introdução ao agendamento no CPLEX para Python do Github.