Conjuntos de tijolos de montagem de brinquedos com Gurobi & Databricks: Uma introdução suave à otimização


À medida que mais e mais organizações adotam análises, uma gama mais ampla de problemas estão sendo apresentados para serem resolvidos. Embora as equipes de ciência de dados sejam frequentemente versadas em técnicas tradicionais, como análise estatística e aprendizado de máquina, além de tecnologias emergentes, como a IA, ainda existe uma classe de problemas que são abordados mais facilmente usando a otimização matemática.

As funções de negócios geralmente têm decisões que maximizam os benefícios de um processo, gerenciando restrições múltiplas, às vezes conflitantes. Ao contrário do aprendizado clássico de máquina que prevê um resultado futuro com base nas variáveis ​​de estado atuais, a otimização ajuda os tomadores de decisão a identificar o conjunto de ações necessárias para melhor alcançar um resultado específico. As soluções para esses problemas raramente são diretas e exigem o exame de numerosos componentes interagentes para identificar a melhor solução. Alguns desafios frequentemente encontrados desse tipo incluem:

  • Variedade de produtos – Encontrar a mistura certa de produtos para satisfazer as necessidades do cliente e maximizar os lucros enquanto lida com espaço limitado na prateleira
  • Inventário – Gerenciando os níveis de estoque para minimizar o capital bloqueado no inventário, além de poder satisfazer a demanda do cliente
  • Preços e promoções – Identificar o preço base best e os descontos promocionais que maximizam os lucros, dadas as complexidades da demanda do consumidor e possíveis respostas dos concorrentes
  • Format – Identificando o structure best de mercadorias em uma prateleira que maximize o potencial de receita de uma unidade de espaço enquanto lida com o tamanho variável do produto e a necessidade de fornecer aos consumidores acesso a uma variedade de opções de produto
  • Anúncio – Encontrar a mistura certa de veículos e canais de publicidade, os quais diferem em termos de alcance e custo, para maximizar a resposta do consumidor, minimizando o investimento
  • Programação de produção – alocando recursos finitos de mão -de -obra e materials contra uma determinada capacidade de produção para apoiar a produção eficiente e oportuna de mercadorias para atender à demanda
  • Utilização do equipamento – minimizar o tempo de inatividade causado por falha do equipamento ou ineficiências por meio de manutenção programada
  • Logística – Identificar o agrupamento apropriado de itens e roteamento de veículos para cumprir as metas de entrega enquanto trabalhava em restrições de capacidade de motorista e veículo
  • Cadeia de mantimentos – Equilibrando a entrega e armazenamento de mercadorias entre fornecedores, centros de distribuição e lojas para atender à demanda de maneira confiável, minimizando o custo

As soluções para esses problemas são frequentemente encontradas testando repetidamente os cenários do que-se-fazendo ajustes em cada cenário para imitar várias condições para avaliar riscos e estratégias. Para agilizar esse processo, soluções de software program especializadas podem ser alavancadas. Existem soluções prontas para uso adaptadas a tipos específicos de problemas de otimização, bem como solucionadores de otimização comercial e de código aberto que permitem modelos matemáticos personalizados para atender a uma ampla variedade de necessidades de negócios. No centro de todas essas soluções estão os algoritmos de otimização projetados para encontrar com eficiência uma solução best sem precisar enumerar exaustivamente todas as opções possíveis.

Solucionadores de nível comercial como Gurobijuntamente com plataformas de dados e análises, como o Databricks, estão sendo cada vez mais usadas por empresas para enfrentar os desafios de otimização. Essas plataformas ajudam a preparar entradas de dados e transformar saídas de solucionador em aplicativos acionáveis. Neste weblog, demonstraremos como Gurobi e Databricks podem trabalhar juntos para resolver um problema de otimização simples, fornecendo às equipes um ponto de partida para enfrentar desafios semelhantes em suas próprias organizações.

Otimizando uma compilação de coleção de tijolos de brinquedos

Para nos ajudar a explorar como Gurobi e Databricks podem ser usados ​​para resolver problemas de otimização, começaremos com um cenário simples e ilustrativo. Think about que você é criança (ou adulta) e você possui os quatro conjuntos seguintes de Star Wars Lego®:

  1. Lego® Star Wars 75168: Jedi Starfighter de Yoda (262 peças)
  2. Lego® Star Wars 75170: The Phantom (269 peças)
  3. LEGO® Star Wars 75162: Y-Wing (90 peças)
  4. Lego® Star Wars 75160: U-Wing (109 peças)

Como muitas pessoas, você constrói cada um estabelecido de acordo com as instruções e, quando termina com isso, desmonta cada uma delas, combinando os tijolos em um balde grande (Figura 1).

Conjuntos de tijolos de montagem de brinquedos com Gurobi & Databricks: Uma introdução suave à otimização
Figura 1. Um grande balde de tijolos de brinquedo de nossos quatro conjuntos originais

A pergunta que você tem agora é: quais outros conjuntos oficiais você poderia construir a partir deste balde de tijolos? Para responder a isso, precisamos esclarecer quatro elementos de um problema de otimização:

  • Parâmetros de entrada – Os parâmetros de entrada definem o contexto para o problema que estamos tentando resolver. Em nosso exemplo, um parâmetro de entrada é o número de cada tipo de tijolo disponível nos nossos quatro conjuntos originais.
  • Variáveis ​​de decisão – As variáveis ​​de decisão definem as opções que temos ou as decisões que precisamos fazer. Neste exemplo, os diferentes conjuntos que podemos construir definem nossas variáveis ​​de decisão.
  • Objetivos – Nossos objetivos são os objetivos que procuramos minimizar ou maximizar, representados por uma expressão matemática. Neste exemplo, estamos tentando maximizar o número e o tamanho dos conjuntos construídos, além de minimizar o número de tijolos de esquerda após a construção.
  • Restrições – As restrições representam condições ou restrições que devem ser atendidas para que uma solução proposta seja considerada válida. Em nosso exemplo, a única restrição é que qualquer conjunto que decidimos construir deve ser completo usando as peças de tijolos necessárias especificadas pelo conjunto oficial. Além disso, restringiremos nosso balde de tijolos a manter apenas os tijolos dos quatro conjuntos originais com quem começamos.

Com esses elementos definidos, agora podemos começar a classificar em possíveis soluções. Com 730 tijolos individuais em nosso balde, poderíamos enfrentar mais de 1075 possíveis combinações. O fato de haver muitos tijolos idênticos em cada conjunto e mais nesses conjuntos reduz esse número, mas o número resultante de combinações em potencial ainda é esmagador. Precisamos de uma maneira inteligente de navegar no espaço do problema. É aqui que entra o solucionador.

A mágica por trás do solucionador é que ele pode examinar o problema (conforme definido em termos de parâmetros de entrada, variáveis ​​de decisão, and many others.) e explorar matematicamente o espaço do problema para se concentrar apenas nas soluções que satisfazem as regras de negócios e melhoram os resultados. Para ilustrar isso, considere os 730 tijolos individuais em nosso balde. Não há conjuntos a serem considerados que consistem em apenas 1, 2 ou 3 tijolos; portanto, quaisquer iterações que possam explorar combinações como essas podem ser eliminadas da consideração.

Ao examinar de perto a definição do problema, o solucionador pode restringir firmemente o espaço do problema a ser explorado. O número esmagador de combinações possíveis agora se torna muito mais gerenciável e, através de um mecanismo de solução altamente otimizado, os resultados restantes podem ser avaliados rapidamente para fornecer a resposta correta rapidamente.

Gurobi e Databricks: melhor juntos

À medida que mais e mais organizações consolidam seus ativos de dados nos Databricks, é essencial que eles possam desbloquear todo o potencial desses dados para resolver uma ampla gama de necessidades de negócios. A integração perfeita de Gurobi com a plataforma de inteligência de dados Databricks significa que, quando as organizações enfrentam desafios de otimização, elas podem preparar os ativos de dados no native sem precisar replicá-los em outra plataforma. A equipe de operações, familiarizada com a otimização, pode empregar os recursos do ambiente de banco de dados para resolver o problema de uma maneira escalável, com eficiência de tempo e recurso.

Com a saída do solucionador capturado nos Databricks, a organização pode integrar os resultados do solucionador aos vários fluxos de trabalho operacionais orquestrados no ambiente. E, com o acesso aos recursos integrados de gerenciamento de modelos dos Databricks, essas equipes podem dobrar seu trabalho em práticas de gerenciamento e governança de modelos padrão corporativas centralizadas na plataforma.

Para ajudar as organizações a começar a explorar o uso do solucionador de Gurobi no Databricks, convidamos você a dar uma olhada no seguinte Notebooks de amostrafornecendo acesso ao código passo a passo por trás do nosso exemplo de tijolo de brinquedo. Observe que os dois primeiros notebooks dependem da solução de exemplos de pequena escala que podem ser resolvidos usando a licença de avaliação gratuita que a Gurobi oferece com a instalação da sua biblioteca API Python. O terceiro caderno usa um modelo de escala maior: entre em contato Gurobi Para obter uma licença apropriada para executar os modelos no terceiro caderno.

Para entender como as organizações podem escalar o uso de gurobi com os databricks, também convidamos você a assistir O quinto webinar a seguir de Aimpoint digitaluma empresa de análise líder de mercado na vanguarda de resolver os mais complexos desafios de negócios e econômicos por meio de dados e tecnologia analítica. Neste vídeo, o pessoal da Aimpoint Digital examinam a integração técnica entre bancos de dados e Gurobi com mais detalhes e exploram várias maneiras pelas quais as organizações podem combinar essas tecnologias para resolver uma série de problemas de negócios.

Por fim, incentivamos você a voltar ao website do Weblog do Databricks para revisar nosso próximo weblog sobre otimização de sortimento, que se baseará nos conceitos ilustrados aqui para enfrentar um cenário de interesse mais complexo do mundo actual em muitas organizações de varejo e bens de consumo.

Baixe os notebooks

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *