O OR-Tools é um software de código aberto para otimização combinada, que busca encontrar a melhor solução para um problema em um conjunto muito grande de soluções possíveis. Veja alguns exemplos de problemas que a OR-Tools resolve:
- Roteamento de veículos: encontre as rotas ideais para frotas de veículos que aceitam e enviam pacotes com restrições (por exemplo, "este caminhão não aguenta mais de 60 kg" ou "todas as entregas precisam ser feitas em uma janela de duas horas".
- Agendamento: encontre a programação ideal para um conjunto complexo de tarefas, algumas que precisam ser realizadas antes de outras, em um conjunto fixo de máquinas ou outros recursos.
- Embalagem de lixo: embale o maior número possível de objetos de vários tamanhos em um número fixo de compartimentos com capacidade máxima.
Na maioria dos casos, problemas como esses têm um grande número de soluções possíveis: muitas para um computador pesquisar todas. Para resolver isso, o OR-Tools usa algoritmos de última geração para restringir o conjunto de pesquisas para encontrar uma solução ideal (ou quase ideal).
OR-Tools inclui solucionadores para:
- Programação de restrições
- Um conjunto de técnicas para encontrar soluções viáveis para um problema expresso como restrições. Por exemplo, uma sala não pode ser usada para dois eventos simultaneamente, ou a distância até as culturas precisa ser menor que a extensão da mangueira, ou mais de cinco programas de TV podem ser gravados de uma vez.
- Programação linear e de números inteiros mistos
- O otimizador linear Glop encontra o valor ideal de uma função de objetivo linear, dado um conjunto de desigualdades lineares como restrições (por exemplo, atribuir pessoas a jobs ou encontrar a melhor alocação de um conjunto de recursos enquanto minimiza o custo). O Glop e o software de programação de números inteiros SCIP também estão disponíveis no serviço de otimização do Google Apps Script.
- Roteamento de veículos
- Uma biblioteca especializada para identificar as melhores rotas de veículos de acordo com as restrições.
- Algoritmos do grafo
- Código para encontrar caminhos mais curtos em gráficos, fluxos de custo mínimo, fluxos máximos e atribuições de soma lineares.
Na próxima seção, você vai começar a usar as ferramentas OR rapidamente.