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

https://github.com/bilal-belli/binpackingproblem

This repository serves as a comprehensive collection of solutions and implementations for the Bin Packing 1D problem.
https://github.com/bilal-belli/binpackingproblem

binpacking heuristic-search-algorithms hybrid-solution optimisation python tkinter

Last synced: 3 months ago
JSON representation

This repository serves as a comprehensive collection of solutions and implementations for the Bin Packing 1D problem.

Awesome Lists containing this project

README

        

# Bin Packing Problem Optimization Algorithmes
This repository serves as a comprehensive collection of solutions and implementations for the Bin Packing 1D problem. It is a classic optimization problem where a set of items with varying sizes must be packed into a fixed number of bins, while minimizing wasted space.
## Code and Algorithmes
### Language & Framework
- The code is written in the Python language.
- The framework for the GUI is Tkinter.
### Features
- Most common methods for resolving this problem.
- Graphical user interface.



### List of Implimented Algorithmes
- Branch and bound.
- Best Fit.
- First Fit.
- Next Fit.
- Worst Fit
- Tabu Search.
- Genetic Algorithme.
- Hybridation WWO (water waves optimiser) and Simulated Annealing.
## Article (describe the hybridation schema)
### Research Paper
The available research paper document about our hybrid solution is written in 'French'. You can check it in this link.
### Benchmarking
- The resulting benchmark table is here.
- We chose to conduct our test on 18 benchmarks, which are available here.
### Performances
#### Comparaison Fitness between (Exact solution, WWO, WWO with hybridation)



#### Comparaison Execution time between (WWO without hybridation and WWO with hybridation)



### For Testing
- First, download or clone the repository.
- Second, ensure that you have installed the required libraries and fixed dependencies (path).
- There is a file named "testParameters.py". If you select another benchmarking file, you will need to make changes in this file (Bins max size and Number of objects).

### License
This repository is licensed under the MIT License.

### Thank you to the contributors
- [abiiir-hub](https://github.com/abiiir-hub)
- [Diihiia](https://github.com/Diihiia)
- [Rayane-Aboud](https://github.com/Rayane-Aboud)
- [rinkanilya](https://github.com/rinkanilya)
- [tired-as-f](https://github.com/tired-as-f)