Genetic algorithms (GA) was written in c++. It can be used as a library for optimizing the traffic signal timing plan in both python and c++ platform through multithreading for high performance core computation. The genetic algorithm is a type of evolutionary algorithms, and within this project it was derived into NGA and SGA variation respectively.
GA consisted of 13 steps, and it keeps iterating until the generation met up the best performance of the eval value. Too see more detialed, could have checked up <<Genetic algorithms c++ explanation.pdf>> in details
- Randomly generate timing plan
- Evaluating performance
- Sorting populations
- Keep elite
- fitness ratio calculation
- Reproduction of the intermediate parents
- Selections of single run crossover
- Crossover
- mutation
- Decoding (translation binary to decimal integer, decimal to binary integer)
- Checking crossphase requirement
- Checking history for overlapping population
- Keep on prepare for next generation
Dynamic network traffic control Control Strategies for Oversaturated Traffic Advances in Genetic Algorithm Optimization of Traffic Signals