https://github.com/raoulluque/solvingqapwithevolution
Solving the Quadratic Assignment Problem using Evolutionary Algorithms
https://github.com/raoulluque/solvingqapwithevolution
Last synced: 9 months ago
JSON representation
Solving the Quadratic Assignment Problem using Evolutionary Algorithms
- Host: GitHub
- URL: https://github.com/raoulluque/solvingqapwithevolution
- Owner: RaoulLuque
- Created: 2025-01-17T11:06:28.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-01-25T20:12:49.000Z (11 months ago)
- Last Synced: 2025-03-28T21:51:08.258Z (9 months ago)
- Language: Python
- Size: 1.81 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Solving QAP with evolutionary algorithms
This repository documents the progress of developing an evolutionary algorithm to solve the [Quadratic Assignment Problem (QAP)](https://en.wikipedia.org/wiki/Quadratic_assignment_problem). The goal was to find a solution to the `tai256c` instance from the [QAPLIB](https://coral.ise.lehigh.edu/data-sets/qaplib/) as close to 44759294 as possible. This work is also accompanied by a written work, see [SolvingQAPWithEvolution](solving_qap_with_evolution.pdf).
# Best Results
The following are the best results obtained with the details and parameters used to obtain these results. They are presented in descending order, that is, the best result is shown on top.
## [44792836](https://github.com/RaoulLuque/SolvingQAPWithEvolution/tree/0a10e2c95465b3e258575c765e1a0f9d1abe7dac)
```text
Functions used:
Variant: lamarckian
Fitness function: bulk_basic
Selection function: roulette_wheel
Recombination function: partially_mapped
Mutation function: swap
Hyperparameters:
Population size: 20
Number of generations: 1500
Number of facilities: 256
Mutation probability: 0.1
Tournament size: 10
Testing: False
Results:
Best fitness: 44792836
Total time: 36927.23 seconds
Average time per generation per individual: 1230.115 milliseconds
```
For the exact result see [best_result/best_result.txt](https://github.com/RaoulLuque/SolvingQAPWithEvolution/blob/0a10e2c95465b3e258575c765e1a0f9d1abe7dac/best_result/best_result.txt) from commit 0a10e2c.
## [44848506](https://github.com/RaoulLuque/SolvingQAPWithEvolution/tree/48a3a2939e831397f5e634c0fc9c8fdbe18e27cb)
```text
Functions used:
Variant: lamarckian
Fitness function: bulk_basic
Selection function: roulette_wheel
Recombination function: partially_mapped
Mutation function: swap
Hyperparameters:
Population size: 10
Number of generations: 25
Number of facilities: 256
Mutation probability: 0.1
Tournament size: 10
Testing: False
Results:
Best fitness: 44848506
Total time: 299.84 seconds
Average time per generation per individual: 1134.421 milliseconds
```
For the exact result see [best_result/best_result.txt](https://github.com/RaoulLuque/SolvingQAPWithEvolution/blob/48a3a2939e831397f5e634c0fc9c8fdbe18e27cb/best_result/best_result.txt) from commit 48a3a29.
## [46892802](https://github.com/RaoulLuque/SolvingQAPWithEvolution/tree/831c70e6a3e51d0eaf5ef58764b3edae08fe07fe)
```text
Functions used:
Variant: standard
Fitness function: bulk_basic
Selection function: roulette_wheel
Recombination function: partially_mapped
Mutation function: swap
Hyperparameters:
Population size: 200
Number of generations: 3000
Number of facilities: 256
Mutation probability: 0.1
Tournament size: 10
Testing: False
Results:
Best fitness: 46892802
Total time: 461.131915807724
Average time per generation per individual: 0.0007684138774871827
```
For the exact result see [best_result/best_result.txt](https://github.com/RaoulLuque/SolvingQAPWithEvolution/blob/831c70e6a3e51d0eaf5ef58764b3edae08fe07fe/best_result/best_result.txt) from commit 831c70e.
## [47625886](https://github.com/RaoulLuque/SolvingQAPWithEvolution/tree/85fa67a4579f45fb683e58bdd0e1d28073cd3a78)
```text
Functions used:
Variant: standard
Fitness function: bulk_basic
Selection function: roulette_wheel
Recombination function: partially_mapped
Mutation function: swap
Hyperparameters:
Population size: 200
Number of generations: 3000
Number of facilities: 256
Mutation probability: 0.3
Tournament size: 25
Testing: False
Results:
Best fitness: 47625886
Total time: 489.8303732872009
```
For the exact result see [best_result/best_result.txt](https://github.com/RaoulLuque/SolvingQAPWithEvolution/blob/85fa67a4579f45fb683e58bdd0e1d28073cd3a78/best_result/best_result.txt) from commit 85fa67a.