A Novel Chaotic Particle Swarm Optimization Algorithm for Parking Space Guidance

An evolutionary approach of parking space guidance based upon a novel Chaotic Particle Swarm Optimization (CPSO) algorithm is proposed. In the newly proposed CPSO algorithm, the chaotic dynamics is combined into the position updating rules of Particle SwarmOptimization to improve the diversity of solutions and to avoid being trapped in the local optima.This novel approach, that combines the strengths of Particle Swarm Optimization and chaotic dynamics, is then applied into the route optimization (RO) problem of parking lots, which is an important issue in the management systems of large-scale parking lots. It is used to find out the optimized paths between any source anddestinationnodes in the route network. Route optimization problems based on real parking lots are introduced for analyzing and the effectiveness and practicability of this novel optimization algorithm for parking space guidance have been verified through the application results.


Introduction
Recently, there are a large number of research works in the area of parking management systems [1][2][3].Mei and Tian proposed a new parking guidance and information (PGI) configuration model based on the optimized combination method by analyzing of parking choice behavior [1].Thompson et al. [2] described a behavioral model of parking choice incorporating drivers' perceptions of waiting times at car parks based on PGI signs and formulated a mathematical program to determine the optimal display PGI sign configuration and finally applied it to an existing PGI system operating in Tama New Town near Tokyo.Lee et al. [3] designed and implemented a hybrid artificial intelligent control scheme for a car-like vehicle to perform the task of optimal parking.In the literature, there have been several algorithms to solve different path optimization problems, but they all have their own shortcomings [4].These traditional algorithms have some major shortcomings, as they only search for the shortest route but cannot determine any other similar/ nonsimilar short routes; also, they exhibit high computational complexity when solving real-time problems [5].As the mostly used  * and Dijkstra algorithms,  * is a quite efficient and widely used path optimization algorithm, but the users need to balance its ℎ() and () well in order to get a most satisfying result; Dijkstra algorithm is also widely used, but it is relatively slow in searching [6][7][8].Artificial neural networks (ANN) are also successfully used to solve the path optimization problems [9,10].However, the ANN approaches also suffer from some limitations.The complexity of the hardware increases considerably with increasing number of network nodes, while decreasing the reliability of the solution.Also, suboptimal paths cannot be obtained by the ANN approaches [5].In the pursuit for more efficient algorithms, evolutionary programming techniques have been widely investigated among other methodologies for this problem and successful applications have been reported [11][12][13][14].The success of these evolutionary programming approaches inspires us to investigate the use of other more powerful evolutionary algorithms for this kind of problems.And in this paper, we explore a more efficient and accurate way, based on heuristic optimizations, to solve the RO problem of the parking lot management system.This study of the parking inducing problem aimed at specific objectives, namely, searching the parking spaces with the shortest distance by a newly proposed Chaotic Particle Swarm Optimization algorithm.
Particle Swarm Optimization (PSO) technique is considered as one of the modern stochastic search algorithms for optimization introduced by Kennedy and Eberhart [15].Due to its simple concept, easy implementation, and quick convergence, nowadays, PSO has gained much attention and wide applications in different fields.For examples, Sun [16] applied PSO to roundness measurement under a machine vision system and Omran et al. [17] proposed a PSObased image clustering method.However, the standard PSO greatly depends on its parameters and exists as a premature phenomenon, especially in solving complex problems [18].Also, PSO has an excessive decrease of particle variety as the number of generations increases and the swarm becomes stagnated after a certain number of iterations, which means it lacks the ability to achieve sustainable development.In order to keep the particles from the stagnation state and improve the PSO algorithm, the chaos optimization mechanism is introduced in this paper and a novel chaotic optimization algorithm is proposed.
Chaos is a kind of characteristic of nonlinear systems and chaotic motion can traverse every state in a certain region by its own regularity and, nowadays, has been applied in different fields [19,20].Due to the unique ergodicity and special ability in avoiding being trapped in local optima, chaos search has been proved to be much more efficient than some other stochastic algorithms [21], and chaotic systems have been exploited in some metaheuristic methods to solve global optimization problems with a large number of local minima.By making use of chaotic behaviors, those optimization methods search extensively for solutions and are able to find a desirable solution within a practical time.It has been indicated that a chaotic variable has three basic traits, namely, pseudorandomness, ergodicity, and irregularity, which makes it generally exhibit better numerical performance than random operators in searching [22].A lot of existing optimization results demonstrated that chaos optimization algorithms (COAs) and hybrid COA can more easily escape from local minima than classical stochastic optimization algorithms and they have been proven to be more effective than stochastic algorithms [23][24][25].Recently, several attempts for evolutionary optimization algorithms using chaos methods were made [26][27][28] and obtained rich harvests.Xie et al. [26] introduced chaos into the system by randomly reinitializing the particle positions with a small constant probability.Liu et al. [27] incorporated chaos into PSO with adaptive inertia weight factor to construct a Chaotic PSO.Chauhan et al. [28] investigated a Chaotic PSO, namely, Totally Disturbed Particle Swarm Optimization (TDPSO), and employed this enhanced variant of PSO for obtaining the optimal machining conditions during multipass turning operations subject to various constraints.In this paper, the notion of chaos is introduced into the PSO's position updating rules and the novel chaotic optimization algorithm is then applied to solve the parking space guidance problems.
Simulation tests are conducted based on a real parking lot and the effectiveness of the proposed method has been revealed through the simulation results.

Chaotic Particle Swarm Optimization
PSO is an optimization technique which maintains a population of individuals, namely, particles, where each particle is guided by the social interaction in order to reach the most promising area of the search space.The particles start at a random initial position in a multidimensional search space and search for the minimum or maximum of a given objective function by flying through the search space.Each particle flies in -dimensional problem space with a velocity, which is adjusted at each time step.The movement of th particle,   , depends on its velocity, V  , and the location where the personal best position so far,   = ( 1 ,  2 , . . .,   ), or the neighborhood best position,   = ( 1 ,  2 , . . .,   ), has already been found.Equation (1) updates the velocity of each particle, whereas (2) updates each particle's position in the search space, and  1 and  2 are cognitive coefficients and  1 and  2 are two uniform random numbers from (0, 1): Here, in order to enrich the search behavior, the chaotic dynamics is incorporated into the optimization algorithm.

Incorporating Chaotic Dynamics into PSO.
Since it gives the uniform distribution function in the interval [0, 1], the tent map shows outstanding advantages and higher iterative speed than the logistic map [29].In this paper, the tent map is used to generate chaos variables.The tent map is defined by where  ∈ (0, 1) is the bifurcation parameter.Specifically, when  = 1, the tent map exhibits entirely chaotic dynamics and ergodicity in the interval [0, 1]. Figure 1 shows the distribution of two chaos sequences after 1500 iterations with the initial point ( 10 = 0.231,  20 = 0.356) in 2D space.Each point in Figure 1 can be described by ( 1 ,  2 ),  = 1, 2, . . ., 1500.
The chaotic dynamic is used for initialization, which can be described as follows.
Using the tent map ( = 1) to generate the chaos variables and rewriting (3) give where   denotes the th chaos variable and  denotes the chaos iteration number.Set  = 0 and generate  chaos variables by (4).After that, let  = 1, 2, . . .,  in turn and generate the initial swarm.Then, the chaos variable above  ()  ,  = 1, 2, . . ., , will be mapped into the search range of the decision variable: Defining the chaotic initialized swarm can be obtained.
According to the chaotic search, a chaotic disturbance can be added as follows: where  is a parameter that falls in [0, 1],   = (  1 ,   2 , . . .,    ) is the chaos vector where the disturbance has been added, and  * is the optimal chaos vector where the current optima  * = ( * 1 ,  * 2 , . . .,  *  ) are mapped into the interval [0, 1]: The Chaotic PSO algorithm is described as follows.
Step 2. Evaluate the fitness   and update   and   if needed.
Step 3. Update the velocity V  and position   of the particle by ( 1) and (2), respectively.
Step 4. Rank the swarm by fitness in an ascending order.
If the current iteration  ≤ (1/2) max and the current optimum (  ) stays the same for several iterations, go to Step 5; otherwise, turn to Step 6.
Step 5. Introduce the chaotic disturbance to update the best particle.Add a chaotic disturbance to the bottom 30% of particles in the swarm by (7), and, then, map them into the decision variables by (5).Rerank the swarm by fitness and find out the new best particle.
Step 6.If a stopping criterion is satisfied, stop; otherwise, let  =  + 1 and go back to Step 2.
For both functions, the parameters are fixed as  = 20,  max = 1500.The fitness value is set as the function value.The standard PSO, PSO with mutation (MPSO) [32], and GA are introduced here for comparison tests.For each function, different dimensions (10, 20, and 30) are tested. 1 =  2 = 2, and  is fixed as 0.5 for all PSO algorithms.The GA is real code, crossover probability   = 0.8, and mutation probability   = 0.1.Table 1 lists the mean minimum of 50 independent runs.
From Table 1, it can be seen that the proposed Chaotic PSO has better accuracy and is superior to other optimization algorithms in terms of the searching solutions.

Application in Parking Space Guidance
In this research, there are several assumptions about the workspace of the parking lots: (1) Vehicles move in a limited two-dimensional space.
(2) The paths in parking lots are equivalent to "straight line" and a vehicle is equivalent to a "particle." (3) It is assumed that there is one entry and one exit, with several free parking stalls.The weight of side corresponds to the length between two continuous Any particle   ∈   , for  = 1 to , is similar to   which was described in the previous subsection.
(  ,  +1 ) represents an edge   ∈ , whose starting node is   and ending node is  +1 .In PSO, the positions of particles change iteratively during the optimization process by adding the velocities into their current positions.The velocity of any particle (  ) at time or iteration  is represented as V   ().The particles' velocities are also updated iteratively.In PSO, the best position of any particle can be decided by arg min where In the th iteration, the velocity of each particle for the next iteration  + 1 can be calculated as for  = 1, 2, . . ., .The calculation of the velocities here is a little different from the traditional PSO, and it involves the notion of the difference between two particles.The method proposed to find the difference between any two particles,  1 ( 0 ,  1 , . . .,  −1 ) and  2 ( 0 ,  1 , . . .,  −1 ), is shown in Algorithm 1.The idea behind the proposed method is that it returns the number of nodes which exist in the particle  1 but do not exist in the particle  2 .Now we know that, in the proposed approach, the velocity of the particle for the next iteration which is represented by V   ( + 1) is a positive real number.And after the velocities are determined, they will be used to update the particles' positions.In the application of parking guidance here, the chaotic dynamics is mainly used to do the selection, and, thus, the scheme of chaotic selection is proposed, which can be described in the following process: (i) Firstly, suppose the searching range is [, ] ( < ) and the aim is to generate one random round number in that range.
(ii) Then, run the chaotic map once and get one chaos variable  by ( 4).
(iii) Map the chaos variable into the range of the decision variable, which is [, ] in this case, and get the variable  by ( 5).(iv) At last, get the round value of , and complete the chaotic selection for once.
This work combines the chaotic selection scheme into the position updating rules and the proposed method of updating the particles is shown in Figure 2. The inputs are   (), which is the position of the particle in the iteration , V   ( + 1) or just V   , which is the velocity of the particle in the ( + 1)th iteration, and   ∈  + , which is usually predetermined.The flowchart assumes that  is the number of nonnull elements in any particle.The objective function is determined by calling the function Obj( ) and Obj() = ∞ when  = null.
In each iteration, an element is selected by using the chaotic map from   () and storing it in   .Then, the function form path( ) is called, to build at-most   number of paths from   to the destination node.The paths are stored in the array Path[ ].The inner loop is executed for each path in the array Path[ ].The paths in Path[ ] exist from the node   to the destination node.  is a preset vector that controls how many newly formed paths should be evaluated for   .  contains the portion of   () from its first element to the th position.  contains the path which is at the th position in Path[ ], while  is a positive integer that is generated through chaotic mapping.The path Tem is the concatenation of the   and   paths.The variable  best stores the position (or path) which has minimum value of the objective function among all the positions built in the inner loop.The last portion of the flowchart returns the position of   for the ( + 1)th iteration which is represented by   ( + 1).

Simulation Analysis
In order to test the performance of the proposed methodology, a route optimization problem based on a real parking lot (shown in Figure 3) is introduced for analyzing.Each parking stall has a pilot light to indicate whether this parking stall is available.As shown in Figure 3, there is one light for each stall, and when the light is on (white), it means this stall is still available, and when it is off (black), it means it is occupied.In order to facilitate the simulation test, a relatively simple parking structure is chosen here.There are one entrance and one exit for this parking lot and four blocks connected by five two-lane roads.Each block has six parking stalls.To make it more flexible, four extensible nodes are designed at the ends of the roads, denoted as , , , and , which means they can lead to other parking areas.The simulation tests are done based on the 24-stall parking area as shown in Figure 3, and , , , and  are treated as four return points.To make it clear and easier for analysis, a sketch map is given in Figure 4.
In the sketch, all the parking stalls and the crosses are marked by numbers and the objective is to find the shorted path from the entrance to the assigned parking stall and then to the exit.There are several assumptions: (i) All the information of the parking lot (number and the exact locations of the parking stalls that are available) is saved on a server and real-time data can be obtained when a car comes.
(ii) An available parking stall is assigned randomly at each time.
(iii) The distance from one node to its adjacent node is fixed previously and is irrelevant to the nodes' locations.
The focus here is the shortest distance for a car to drive in the parking lot, which includes two parts: one is the distance from the entrance to the parking stall, and the other is the distance from the parking stall to the exit.
The proposed Chaotic PSO is used for the path optimization and each particle stands for a path.Assume the parking stall number 10 is chosen at this moment, examples of the drive-in and drive-out particles can be illustrated in Figure 5. Thus, the fitness function can be written as follows: where (, ) represents the average length for the vehicle to travel on the edge (, ) and ∑  stands for the total distance from the entrance to the chosen parking stall, while ∑ ℎ stands for the total distance from the chosen stall to the exit.For each car entering this parking lot, once an available parking stall is assigned, run the chaotic optimization algorithm proposed above twice, to get the optimized paths to drive in from the entrance to the assigned parking stall and to drive out from the parking stall to the exit.And the complete optimized path from the entrance to the exit can be obtained by joining the two optimized paths together.
In order to test the performance of the proposed method, standard PSO and GA are introduced for comparison.They are used to search for the shortest path in the space of all the possible paths passing through a given parking stall.All the trial tests are coded in MATLAB and executed independently where  min in and  min out stand for the actual shortest distance from the entrance to the given parking stall and from the parking stall to the exit, while ∑  and ∑ ℎ stand for the corresponding distances of the optimized paths calculated by the optimization methods.Thus, 0 <  ⩽ 1, and when the route optimization algorithm gives the shortest path,  = 1; otherwise,  will be a number between 0 and 1.The bigger  is, the better the optimized route is, which also means the corresponding route optimization method is more effective.All the simulation tests have been conducted based on the sketch map shown in Figure 4. Most of the distances between two adjacent parking stalls (noted as (  ,  +1 )) are fixed as 1 in the simulation tests, except for five special ones, which are fixed as (, 1) = 3, (19, ) = 3, (7, 13) = 2, (9, 15) = 2, and (12, 18) = 2.The distances can also be decided in other ways based on different situations when applying the path optimization method to other parking lots.Different parking stalls are assigned each time for simulation tests.GA, PSO, and our proposed method are applied independently to solve the same problem.Each method ran 30 independent trials to get the mean value of  and its corresponding standard deviation.All data of different methods has been recorded and analyzed, and the comparison results of each test are reported in Tables 2-5.The optimized paths for different given parking stalls, which are obtained by the   From the comparison results shown in Tables 2-5, it can be seen obviously that the proposed Chaotic PSO method gets much higher successful rate (mostly 100%) and can get the most optimized route within 5 seconds, which is quite satisfying and eligible for practical use.It can be concluded that the proposed method is more effective than the other two optimization methods and is a fast and reliable way to solve the route optimization problem of parking lots.
In order to further test the proposed optimization method's capability of handling more complex RO problems of parking lots, a larger size instance with 96 stalls (Figure 10) is introduced for analyzing.Its sketch map is given in Figure 11.Parking stalls numbers 28, 82, and 56 are assigned for simulation tests.The optimized paths for different given parking stalls, which are obtained by the proposed Chaotic Particle Swarm Optimization method, are given in Figures 12-14.30 independent trails have been run for each given stall and the average time to find the shortest paths has been recorded.For stall number 28, the average time of 30 trails is 3.276 seconds, and the optimized path is shown in Figure 12.For stalls numbers 82 and 56, the shortest paths are not unique, and here we set the algorithm to find the first three different shortest paths for each given stall.The average run time for stall number 82 is 6.732 seconds and the three shortest paths found by a single trail are given in Figure 13.For stall number 56, the average run time is 6.150 seconds and the corresponding results are shown in Figure 14.
The simulation results above showed that the newly proposed optimization method can successfully find out the shortest paths within an acceptable time, and, thus, the capability and effectiveness of our proposed methodology handling RO problems of parking lots under more complex circumstances have been fully illustrated.

Conclusions
This paper presents a Chaotic PSO-based route optimization method for parking guidance.The proposed method has successfully solved the route optimization problems based upon real parking lots.The first experimental results show that the proposed algorithm can successfully find the optimized route for a randomly given parking stall within 5 seconds, and with a much higher successful rate than using other approaches, which is more than 90% in all runs.Most importantly, better stability has been achieved using the proposed Chaotic PSObased route optimization method as the standard errors of  were 0 in most cases and are much smaller comparing with the other two approaches.The second simulation test shows the capability and effectiveness of our proposed chaotic methodology handling more complex RO problems of parking lots.The capability and applicability of the proposed method have been fully illustrated through all the simulation results.The Chaotic PSO-based approach in the area of parking guidance is still untapped; hence, our future research will aim at investigating more possible applications in some more complicated and large-scale parking lots.Figure 14: The optimized route obtained by the proposed method for the given parking stall number 56.

2 Figure 1 :
Figure 1: Distribution of the chaos variables.

Start i = 1 ; 1 IFigure 2 :
Figure 2: Flowchart of the proposed chaotic optimization algorithm for parking space guidance.

Figure 4 :
Figure 4: Sketch map of the 24-stall parking area.

Table 1 :
Comparison results of mean fitness for  1 and  2 .
points.All the points are numbered from 1 to .The issue about parking guidance is to find a collection of points  = {,  1 ,  2 , ...,   , }, where  stands for the starting point and  for the ending point;  = { 1 ,  2 , ...,   } is a sequence of points, named planning target.There are some requests to   .Firstly,   is a nonbarrier point.Secondly, there are no barrier points on the line connecting   and its adjacent point.3.1.Problem Description.Let us consider a route network (, ), where  is the set of parking stalls and  is the set of edges.Each edge is represented by (, ), where ,  ∈  and  is the starting node and  is its adjacent node.The paths should be found from the source  to the destination node .Any path is represented by   = {(, ), (, ), . . ., (, )}, (, ), (, ), . . ., (, ) ∈  and , , , . . ., ,  ∈ .In the proposed work here, each edge (, ) is associated with one parameter (, ), which represents the average length for the vehicle to travel on the edge (, ).

Table 2 :
Comparison results of different methods for the given stall number 8 within 5 seconds out of 30 independent runs.

Table 3 :
Comparison results of different methods for the given stall number 17 within 5 seconds out of 30 independent runs.
* Success rate means how many times that the actual shortest path can be found successfully during 30 runs. on a Genuine Intel 3.0 GHz CPU with a 4 G RAM desktop computer.A performance index function is introduced for comparison of different route optimization methods in terms of the effectiveness:  =  min in +  min out

Table 4 :
Comparison results of different methods for the given stall number 12 within 5 seconds out of 30 independent runs.

Table 5 :
Comparison results of different methods for the given stall number 4 within 5 seconds out of 30 independent runs.
The optimized route obtained by the proposed method for the given parking stall number 28.