## 4 Proposed Model Description
### Optimization Process  
The search for the preferred setup and synchronization of the traffic signals subject to the given traffic flow density and direction is performed by utilizing a genetic algorithm. Despite the reasonable performance of our genetic algorithm implementation, other heuristic methods can be applied as well, including, e.g., simulated annealing [84]. Before the actual optimization task can be executed, the traffic model needs to be assembled. The latter means loading the coordinates of nodes and connecting these with lanes. Further, signals are assigned to their respective lanes. The model is completed by merging signals into signal bunches, if their timing and phasing has to be concurrent. Finally, bunch lists have to be created and filled with needed signal bunches, synchronization of which is maintained by every bunch list. The last phase before the optimization is started includes generating the traffic flow properties. This means characterizing each traffic flow by its enter lanes (on which the flow enters the model), exit lanes (the destination of the flow), and its intensity (vehicles generated per second). All the described traffic flows are then routed using the implemented [PERSON]'s algorithm. At this point, everything needed is set and the model is ready to conduct the traffic scenario. The basic part of the implemented genetic algorithm is an object named genome. The genome here represents a unique setup of traffic signals, corresponding to durations of signal periods and synchronization obtained from bunch lists. Multiple genomes form one generation of a population. Generally speaking, a fairly standard genetic algorithm may be run. For each genome in the population, a dynamic traffic simulation is executed utilizing the very specific signal properties carried by said genome. During each simulation, information about the transferred traffic is collected and the value of the objective function is calculated and stored in the properties of a particular genome. After every simulation, the current traffic is cleared from the model and the traffic generation is reset. At the very beginning of the optimization process, the initial population is created utilizing genomes with randomized values of their signal properties. After the simulations for the entire population are completed, a genome selection process is conducted. According to the desired selection ratio, a certain part of the population is removed in the process of tournament selection [85]. This selection is based on a comparison of the objective function values for two random genomes. The genome with a worse performance is then removed. It is also possible (and efficient) to keep a certain possibility that the less suitable genome wins the tournament. This phenomenon leads to a more varied structure of the population and allows to explore a wider array of possible global minima. The resulting gap in the population shall be subsequently filled with new genomes. The creation of new genomes comprises two combined methods. The former is the creation of an exact clone for one of the remaining genomes and a subsequent mutation of properties for the contained signals (i.e., the duration and phasing of traffic signals). The latter is known as the interbreeding process. A random couple of remaining genomes is selected and the objective function values of both genomes are compared. Then, a brand new genome is created as blank and inherits signal properties from its \"parents\" proportionally according to the ratio of their objective function values. The overall ratio between the reproduction by mutation and by interbreeding can be adjusted as desired. As soon as the population is restored back to its maximum size, the generation of genomes experiences the optimization process similar to that for their ancestors. Said optimization process is briefly sketched by the following Algorithm 1.