If each PGI sign board displays the availability status of all parking spaces in this system, there will be 2IJ possible status combinations for each interval. Because of the large amount of possible display configurations and the complexity of the relationships, an accuracy solution procedure cannot be applied. Thus, an algorithm with a faster convergence speed and more accurate result is very necessary.
Genetic algorithm (GA) is a self-organized and adoptive artificial intelligent (AI) technology based on the simulation of Darwin's Biological Evolution Theory and Mendel's Genetic Variation/Mutation Theory. It can be classified as the configuration search and optimization method. From the eyes of overall optimization, GA does not need to calculate the partial derivative; neither does it need the continuity and differentiability of the optimized objects. Compared to the former two, every step in GA makes full use of available status to guide the search procedure, in order to pass on the good information to the offspring as well as to eliminate the bad information. Besides, GA allows more than one current result during the search time, to obtain good robustness. It can not only enhance the optimization level on numerical results but also get the approximate linear acceleration effect [22, 23]. Thus, GA can find the optimized result in a reasonable time.
As GA works based on probability while the parking choice probability is influenced by the saturation of parking spaces, according to Equation 11, the availability status displayed on VMS during a specified time interval are coded as the chromosome:
(12)
where [l/J] is an integer less than or equal to l/J.
Based on standard genetic algorithm (SGA) and 'configuration optimization method', procedures of mortified SGA are implemented;
-
1.
Coding: Binary coding is the simplest coding method. Since δm in Equation 12 has two values, 0 or 1, the binary coding is possible. It can make Gene Icon with low rank, short length, and high fitness to generate more offspring. This method speeds up the convergence and agrees with the principle of GA.
Since GA cannot address the spatial solution set data, the chromosome variables δm is first coded as binaries to make them the genetic string structure data in genetic space. When coding, more than one variable can be code, or all variables can be coded into one chromosome to make each variable as a part of the chromosome. To make the article compact and the presentation easy, we code j parking spaces in zone k as I chromosomes based on the entrance number just like what Figure 3 shows. Each chromosome is a data string composed by 1 and 0.
-
2.
Generate initial solution set: Based on the characteristics of GA, for the fixed m(m = 1,2,...,IJ) VMSs' status, H = 2IJ initial solution sets are determined randomly, then N = H initial population can be obtained. In the model, N is determined by the number of parking spaces in the certain zone and the accuracy of solution.
-
3.
Determination of fitness function and calculation of individual fitness: This model aims at the shortest total travel time in certain zone. The fitness function is the objective function in Equation 10.
The constrained conditions are given in Equation 11. Put N initial populations into Equation 10 and the related fitness can be get.
During the calculation, the binary coded individual should be decoded as the decimal form in the search space. For example, 10100 should be decoded as 20.
-
4.
Population's selection and duplication: In order to select good individuals from the N = H initial populations, the probability method which is direct proportional to the individual fitness is adopted. The detail procedures are as follows;
○ Optimize the initial population for N times, get the individual fitness f
i
= min (T
i
) (I = 1,2,...,N).
○ Calculate out the sum of all the individual fitness .
○ Calculate out the percentage of the value of the individual is fitness in S.
○ Based on the aim to get the shortest total travel time, the order of selection probability P
i
as the reverse order of f
i
/S is determined, which means the one with the lowest fitness will get the highest probability to be selected out.
○ Based on the selection probability and the number of population, the duplication is conducted, which means when δ
j
(j = 1,2,...,m)s selection probability is P
j
, N × P
j
individuals from duplication can be get. The population with large selection probability will get more choice to be duplicated and those with small selection probability would be eliminated. Because of duplication, the populations in mating pool reduce the average travel time in certain zone. However, no new chromosome is given birth to, leaving the fitness of the best individuals in the population unchanged.
-
5.
Crossover: The detail procedures of crossover are as follows:
○ Pair the δ
j
(j = 1,2,...,m) in the population where there are N = m individuals randomly.
○ Identify the crossover probability Pc, standing for the percentage of individuals which involves into crossover. For example, if Pc = 0.5, then half of the population are paired and the information is exchanged. The larger Pc is the fast the exchanges are and more possible the good individuals are produced, the fast the speed of convergence is.
○ Decide the crossover location in the paired individuals. The paired ones exchange part of the binary information, leaving other parts unchanged. Two new individuals are produced by crossover. Figure 4 shows how single-point crossover works.
Mutation:
For mutation, the larger Pm is, the more possible the good individuals are produced. However, algorithm convergence would be ineffective; if Pm is too small, then the variation ability would be bad, which could make the initial population become a same population too early. The value empirically in the suggested range can be selected.
-
6.
Termination: Take the mutated population into step (3) to calculate out the minimum fitness of total travel time in certain zone. Whether the algorithm should be terminated is determined by the principles set above. There are two conditions in which the algorithm can be terminated.
For the fixed m, if there exist an individual δ
j
(1 < j ≤ H) which makes min (T) < min (Tini), then make min (Tini) = min (T), repeat the selection, crossover and mutation to conduct the iteration.
The number of offspring has exceeded the minimum times of iteration M set before.