Este projeto implementa a resolução do Problema de Empacotamento em Caixas (Bin-Packing Problem) utilizando Otimização Inteira com a biblioteca python-mip.
O Bin-Packing é um problema clássico de otimização combinatória, onde o objetivo é minimizar a quantidade de recipientes necessários para acomodar itens de diferentes tamanhos, respeitando a capacidade máxima de cada recipiente.
- Modelar o problema como um Integer Linear Programming (ILP).
- Resolver utilizando o solver do
python-mip. - Demonstrar um exemplo prático de aplicação do algoritmo.
- Exibir a alocação dos itens nas caixas de forma organizada.
- Python 3
- python-mip → Modelagem e resolução via Branch-and-Bound
- Solver CBC (padrão do mip)
- Definição dos parâmetros:
- Capacidades das caixas
- Tamanhos dos itens
- Criação das variáveis binárias:
x[i][j] = 1se o itemifor colocado na caixaj.y[j] = 1se a caixajfor utilizada.
- Restrições:
- Cada item deve ser colocado exatamente em uma caixa.
- A soma dos tamanhos dos itens em uma caixa não pode ultrapassar sua capacidade.
- Função objetivo:
- Minimizar o número de caixas utilizadas.
- Resolução e exibição do resultado.