## 3 Proposed Model
\[\mathrm{f2}=\sum_{1}^{N}d_{ij}=\sum_{1}^{N}\sqrt{\left(CSxi-DPxj\right)^{2}+ \left(CSyi-DPyj\right)^{2}} \tag{2}\]  
where \(d_{ij}\) is the distance between the demand point \(j\) and its closest charging station \(i\) for each of the \(N\) demand points. The objective function has the form:  
\[\mathrm{minF}=\mathrm{w1}\cdot\mathrm{f1}+\mathrm{w2}\cdot\mathrm{f2}, \tag{3}\]  
where f1 and f2 are the station deployment and user traveling costs, respectively, and wi's are the weights of the sub-objectives. There are no major constraints in the model other than constraining the search area within the city bounds. If there are infeasible zones within the search area, these zones are excluded by considering an extremely high station deployment cost (Case Study 10). Some additional constraints are introduced as part of specific case studies that are described in the next section. For instance, constraints on station capacity may be introduced to avoid large deviations in station utilization. The optimal solution is sought via the application of Genetic Algorithms. These algorithms have been proven consistent and efficient in solving a wide range of NP problems, such as the one of electric vehicle charging station deployment. They rely on bio-inspired operators, including selection, crossover, and mutation across decision variable values (Figure 1). The chromosome consists of two parts: a string of the \((x,y)\) coordinates of the charging stations and a string of binary values indicating whether a specific station is going to be deployed or not. For the latter part of the chromosome, if a station gets a value of 1, it is ordinarily evaluated based on its proximity to the demand points; otherwise, it is artificially excluded from evaluation either by using the \"if\" command or by assigning an additional high transport cost (penalty) to any demand assigned to this station. In each algorithm iteration, the distances from each station to all demand spots are calculated, and each spot is assigned to the nearest station. In this model, parents are chosen using a linear ranking-based mechanism. Then, 10% of the fittest members of the population are carried over to the next generation without any changes (crossover or mutation) to them (elitism). This offers a smoother selection probability curve and prevents good organisms from completely dominating evolution at an early point. The crossover process is implemented using a uniform crossover routine, meaning that instead of chopping the list of variables in a given scenario at some point and dealing with each of the two blocks (\"single-point\" or \"double-point\" crossover), two groups are formed by randomly selecting items to be in one group or another. The uniform crossover method is considered better at preserving and generating any schema from the two parents when compared to traditional x-point crossovers that could bias the search with the irrelevant position of the variables. The mutation process is performed by looking at each variable individually. A random number between 0 and 1 is generated for each of the variables in the organism, and if a variable gets a number that is less than or equal to the mutation rate (for example, 0.1), that variable is mutated. Mutating a variable involves replacing it with a randomly generated value (within its valid min-max range). Part of the analysis is the fine-tuning of the algorithm parameters for the specific problem to achieve better convergence within a reasonable computation time. In particular, the genetic algorithm is parameterized to use 50 chromosomes to form the initial population with crossover and mutation rates of 0.5 and 0.1, respectively. An iterative procedure of 200,000 trials, or 60 min of runtime, is used for all the scenarios that have been tested. Due to the stochastic nature of the GA, the algorithm was run a number of times (typically three or five) in each specific scenario, and the solution with the best fitness value was recorded.