An open API service indexing awesome lists of open source software.

https://github.com/danuaemx/bin_packing_deap_espanol

Proyecto para solucionar el problema de bin packing, para cajas de distintas dimensiones y contenedores distintos, con restricciones de cantidad y opcionalidad
https://github.com/danuaemx/bin_packing_deap_espanol

2d-bin-packing 3d-bin-packing-problem bpp deap espanol first-fit-algorithm genetic-algorithm gui mvc-pattern pyqt5 python

Last synced: about 2 months ago
JSON representation

Proyecto para solucionar el problema de bin packing, para cajas de distintas dimensiones y contenedores distintos, con restricciones de cantidad y opcionalidad

Awesome Lists containing this project

README

        

# Bin Packing con DEAP en Español

Proyecto para solucionar el problema de bin packing, para cajas de distintas dimensiones y contenedores distintos, con restricciones de cantidad y opcionalidad.

## Descripción

Este proyecto utiliza el framework DEAP (Distributed Evolutionary Algorithms in Python) para resolver el problema de bin packing. El objetivo es distribuir un conjunto de cajas de diferentes dimensiones en un número mínimo de contenedores, respetando las restricciones de cantidad y opcionalidad.

El problema de bin packing es un problema NP-difícil en el campo de la optimización combinatoria. Se utiliza en diversas aplicaciones como la logística, la planificación de la producción y la gestión de inventarios.

## Características

- **Optimización Evolutiva**: Utiliza algoritmos evolutivos para encontrar soluciones óptimas.
- **Flexibilidad**: Soporta cajas y contenedores de diferentes dimensiones.
- **Restricciones**: Permite definir restricciones de cantidad y opcionalidad.
- **Configurabilidad**: Fácil de configurar y ajustar parámetros del algoritmo.
- **Interfaz gráfica integrada**: Usa Pyqt5 para mostrar gráficas e ingresar los datos del problema

## Uso
1. Ejecuta
```
#python3 ~/principal/principal.py
```
2. La GUI es:
![imagen](https://github.com/user-attachments/assets/1adcc625-9a21-4784-82a7-b93a13ff66f3)

3. Ejemplo simple:
Registrar el problema

![imagen](https://github.com/user-attachments/assets/d6852803-87a1-45f0-9cc2-b37605672197)

Posteriormente el resultado con 0.978456 de efectividad

![imagen](https://github.com/user-attachments/assets/c47df36e-57b6-4732-948b-a0d1aa60069c)

Detallando gráficamente

![imagen](https://github.com/user-attachments/assets/44b37a60-1c90-49ec-a711-628619fadd79)

![imagen](https://github.com/user-attachments/assets/0b7ad8b3-278e-44bc-a85b-a7ded99ba0b6)

![imagen](https://github.com/user-attachments/assets/43f87fb5-361f-4457-83ea-c2690352b2a1)

![imagen](https://github.com/user-attachments/assets/c8eb0300-2dec-4cde-b718-0acaa3abf9a6)

![imagen](https://github.com/user-attachments/assets/37a07aeb-6958-4ba1-9100-c297ce6dbf06)

![imagen](https://github.com/user-attachments/assets/4ef950d3-88e3-43a7-bf41-cdd9aba0b179)