Sobre este projeto
it-programming / web-development
Aberto
Atualmente, trabalho em uma empresa que fabrica produtos de limpeza profissional e enfrentamos um grande desafio relacionado à cobrança de frete. Temos um catálogo diversificado com produtos de diferentes dimensões e pesos, e utilizamos 16 modelos de caixas diferentes para o envio. No entanto, os produtos não possuem caixas específicas designadas. Quando nossos vendedores fecham um pedido, não conseguimos informar o valor do frete de imediato ao cliente. Isso ocorre porque a equipe responsável por embalar os pedidos precisa primeiro separar os itens e determinar em quais caixas eles devem ser alocados. Esse processo manual impacta negativamente nossa logística, gerando atrasos e ineficiências.
Nosso sistema ERP contém todas as dimensões e pesos dos produtos e das caixas. A grande questão é: como posso organizar essa parte do processo para que os vendedores possam saber, no momento da venda, quantas e quais caixas serão utilizadas para determinado pedido? Isso permitiria a estimativa imediata do custo do frete e melhoraria significativamente nosso fluxo logístico.
Coloquei o questionamento no chatgpt e ele me apresentou a seguinte solução, que em tese, supriria minha demanda, porém acredito que seja fundamental uma analise mais detalhada do problema, segue sugestão de abordagem:
descrição do funcionamento do algoritmo de empacotamento
1. Modelagem dos Dados
Primeiramente, é necessário organizar as informações sobre os produtos e as caixas:
Produtos:
Cada produto tem um ID, nome, comprimento, largura, altura e peso.
Calcule o volume de cada produto multiplicando comprimento, largura e altura.
Caixas:
Cada caixa tem um ID, comprimento, largura, altura e capacidade máxima de peso.
Calcule o volume interno de cada caixa multiplicando comprimento, largura e altura.
2. Recebimento do Pedido
Quando um vendedor fecha um pedido, ele insere a lista de produtos no sistema. Essa lista será usada para determinar as caixas necessárias.
3. Ordenação dos Produtos
Ordene os produtos por volume em ordem decrescente (do maior para o menor). Isso ajuda a otimizar o uso do espaço dentro das caixas, começando pelos itens maiores.
4. Empacotamento dos Produtos nas Caixas
Para cada produto na lista ordenada, o algoritmo tenta encontrar uma caixa que possa acomodá-lo, seguindo estas etapas:
Percorra a lista de caixas disponíveis.
Verifique se o produto cabe na caixa, considerando as dimensões internas e o peso máximo suportado.
Se o produto couber, aloque-o na caixa, reduzindo o volume disponível e a capacidade de peso da caixa.
Se necessário, adicione a caixa usada a uma lista de caixas necessárias para o pedido.
Continue até que todos os produtos sejam alocados.
5. Determinação das Caixas Necessárias
Após alocar todos os produtos, o sistema retornará uma lista com as caixas necessárias para o pedido, incluindo a quantidade de cada tipo de caixa usada.
6. Cálculo do Frete
Com a lista de caixas necessárias, calcule o frete baseado no volume total, peso total e as tarifas da transportadora. O sistema pode ser configurado para utilizar as tabelas de preços fornecidas pelas transportadoras para calcular o custo do frete.
Exemplo de Fluxo do Algoritmo
Entrada de Dados:
O vendedor insere os produtos do pedido.
Exemplo: Produto A (10x10x10 cm, 1 kg), Produto B (20x20x20 cm, 2 kg).
Ordenação dos Produtos:
Produtos ordenados por volume: Produto B, Produto A.
Empacotamento:
Produto B (8000 cm³) é alocado na primeira caixa que comporta seu volume e peso.
Produto A (1000 cm³) é alocado na mesma caixa, se houver espaço, ou em uma nova caixa.
Saída de Dados:
O sistema retorna: 1 caixa de tipo X e 1 caixa de tipo Y.
Calcula o frete baseado nas dimensões e peso das caixas.
Resumo das Etapas
Modelagem: Estruture os dados dos produtos e caixas.
Entrada: Receba os produtos do pedido.
Ordenação: Ordene os produtos por volume.
Empacotamento: Alocar produtos nas caixas, reduzindo o volume e capacidade de peso das caixas conforme necessário.
Resultado: Liste as caixas necessárias e calcule o frete.
Requisitos para o Desenvolvedor
Base de Dados: Estrutura para armazenar informações sobre produtos e caixas.
Algoritmo de Empacotamento: Função para ordenar produtos e alocá-los em caixas adequadas.
Interface de Usuário: Formulário para que os vendedores insiram pedidos e obtenham informações sobre as caixas e o frete.
Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Alteração média
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho uma ideia geral
Disponibilidade requerida Conforme necessário
Funções necessárias Desenvolvedor, Outro
Outras funções necessárias Desenvolver a interfase do software
Prazo de Entrega: Não estabelecido
Habilidades necessárias