1 Introduction

The application of information and communication technologies in everyday urban life has given rise to the concept of the smart city. Smart cities are attracting attention today as life in the urban areas is becoming a growing challenge. Traffic management is one of the most important challenges for city authorities, and the movement of vehicles hunting for parking spaces contributes to hindering the flow of traffic, especially in the city center and other crowed areas where parking places are limited. According to [6, 18] the hunt for a parking space can increase the flow of traffic in the cities by about 25–40 %.

Due to the significance of the parking problem, various technical developments to resolve it have been introduced and implemented so far. For example, the parking guidance and information system (PGIS) and intelligent parking reservation systems (IPR) are the most frequently adopted solutions in many cities. Generally speaking, PGIS [16] takes the form of a message board which is installed on the road to help circling drivers who are trying to find parking spaces. Based on the PGIS message board, drivers can decide which parking facility they will use. IPR systems allow customers to select and book a parking space according to their preferences, and pay their booking in advance. Considering the aim of PGIS and IPR, the most important thing is to maximize the probability of finding free parking spaces for the drivers when they arrive at the proposed parking lot.

To this end, some research has focused on improving the reliability of PGIS. For example, [17] suggested a real-time and dynamic PGIS providing dynamic guidance. In [11], the concept of guiding parking reliability of urban parking variable message signs (VMSs) was introduced. Based on the analysis of parking choice, a guiding parking reliability model was defined as a mathematical program model to determine the reliability of guiding parking with VMS. In [19], an extended concept of urban PGIS based on the message board was examined. In their approach, a PGIS framework was introduced, and the necessary entities and processes for parking guidance were described. In [4], the authors focused on the improvement of prediction of free space at parking lots. They developed a system to monitor the occupancy status of parking lots and defined the prediction model for lot occupation.

On the other hand, to improve parking guidance a new process such as on-line reservation has been also adopted in parking management systems. In [20], a reservation function in an intelligent parking system was introduced, to decide whether to accept or reject new parking requests in real-time; the proposed system is based on a combination of simulation, optimization, and fuzzy logic. In [5], the authors adopted a reservation concept and presented a new smart parking system based on a wireless network. They applied a queueing model in order to solve the optimal allocation problem of parking lots, considering parking costs and distance to destination. In [7], a new reservation system enabling parking reservation through a short message service (SMS) was presented.

Most previous research work has been related with the generation of parking information based on message boards. However, the main issue of existing approaches is the parking decision, where the choice of the parking facility is manually determined by the driver based on the information delivered to them. However, there are automatic ways to allow the driver to find better parking spots and to concentrate on the road while seeking to determine the best parking slot choice [1]. Furthermore, the information delivered by a PGIS message board is limited. It is therefore impossible to provide customized information such as which parking facility is the closest to the driver, which one is the cheapest, and which parking facility better suits the driver when considering a restriction on the time rotation that a vehicle can take up a parking space. In summary, guidance and IPR systems do not solve the parking decision issue, either for a group of drivers, or for one driver. Due to this shortcoming, the impact of parking guidance systems may be relatively limited from the viewpoint of reducing the time the car is circulating and the cost of searching for a parking space [22].

Within this framework, this paper is a comprehensive extension of the paper [1], where the authors considered distance to parking facility, expected parking cost and time restriction for solving the parking slot assignment problem for groups of drivers (PSAPG). The innovative feature for this work is a new variant for the PSAPG problem presented for the first time, with a mathematical model to discover when the parking spot is vacated, in most cases long before the payment expires. In addition, this study proposes a demand assignment method to provide efficient parking assignments for a group of drivers, considering several factors which affect the assignment of cars to parking facilities. This removes the responsibility of making a parking decision from the driver who no longer has to weigh up parking information received.

The proposed method could be operated from a central transportation server, and could evaluate each parking facility from the viewpoint of each driver’s parking preference. Then most appropriate parking facility could be selected based on the current status of parking lots and the information obtained from the personal navigation device (current location of the car, driver’s parking preference, journey time and distance from current car to parking facilities). We are dealing here, with any type of parking facility, as long as it is equipped with a parking management system. The parking facility selected by the parking assignment algorithm is suggested to the driver through the personal navigation device. If there are few parking spaces, we can apply a sort of queue (waiting list). In our case, in the definition of the PSAPG problem, we have assumed that the number of available parking spaces exceeds the number of assignment requests (vehicles).

The paper is organized as follows. Section 2 studies and formulates four cases of the PSAPG problem, each case deals with some of the following constraints: distance, amount to pay, time restriction and journey time. Section 3 defines the different algorithms designed to solve the PSAPG problem. Section 4 validates the proposed algorithms with simulation tests based on a real case study (Tunis city), and discusses the empirical results and their analysis. Finally, conclusion and future research are discussed in Section 5.

2 PSAPG: Problem Definition

The search for a vacant parking space is a typical example of a search process. Every parking search strategy is composed of a set of vague rules. It is usually difficult to describe these rules explicitly, because different types of drivers have different types of parking demands. In what follows we reports a comprehensive description of the PSAPG problem using four configurations, as well as the mathematical formulation of each variant of the PSAPG problem.

2.1 Parking Problem with Variable Distance

Parking demand is dependent on the distance that would be traveled by car in order to reach a free parking spot. The total distance is then a critical factor in evaluating parking assignations. The first variant of the PSAPG problem that is considered in this section only takes into account distances from vehicles to parking zones Fig. 1. To present the problem, we consider the case in which we have a set Z={z 1,...,z N } of N parking zones, each zone z j with \(p_{z_{j}}\) free parking slots. In addition, we have a set C={c 1,...,c M } of M vehicles demanding a parking slot, each vehicle c i at distance d(c i ,z j ) from the parking zone z j .

Fig. 1
figure 1

Parking problem with variable distance

In this problem, the objective is to assign a free parking slot to each vehicle in such a way as to minimize the sum of the distances from each vehicle to the parking slot assigned to it. Each feasible assignment is represented by a matrix

$$ A\,=\,(a_{ij})_{M\times N}, s.t.~~ a_{ij}\in\{0,1\}, \sum\limits_{j=1}^{N} ~a_{ij}\,=\,1, \sum\limits_{i=1}^{M} ~a_{ij} \leq p_{z_{j}}, $$
(1)

where a i j =1 means that vehicle c i is assigned to zone z j , and representing the distances between vehicles and parking zones by a matrix D=(d i j ) M×N where d i j = d(c i ,z j ), the objective will be to minimize the following cost function

$$ F_{1}(A)= \sum\limits_{i=1,j= 1}^{M,N}~~ a_{ij} d_{ij} $$
(2)

Example 1

To strengthen the understanding of the previous description of the problem, let consider the following example where Z is a set of 7 parking zonesZ= {z 1, z 2, z 3, z 4, z 5, z 6, z 7} and C is a set of 3 cars C= {c 1, c 2, c 3}, while representing the number of free spots in each parking zone by a vector fs:

figure e

The distance from car c i to zone z j is presented by:

figure f

The result of this is a matrix A=(a i j ) M×N which represents a feasible solution designed to minimize the sum of the distances (cost function) to the parking zones for all the vehicles. Therefore, we obtain the following matrix and a value equal to 0.1 for the cost function F 1(A).

figure g

2.2 Parking Problem with Variable Distance and Cost

In [9], the authors used detailed data on various urban form factors to assess their approach’s impact on car travel and carbon emissions. Their analysis indicates that parking pricing can have a significant effect on car travel and emissions. Drivers need free parking slots that are located as close as possible to their destination (as we considered for the first version of the problem), but often they have to pay a rate for parking. In this scenario, what constitutes an adequate assignment varies depending on distances and paying rates.

For this second problem formulation, we extend the first one just presented by taking into account the rate of each parking zone as a function \(pr: Z \rightarrow \mathbb {R}^{+} \bigcup \{0\}\) mapping zones to their rates (amount to pay per minute). This function can be implemented as a vector p r=(p r j ) N where p r j is the rate of z j . We incorporate another function into the model, the required stay time function, \(dt: C \rightarrow \mathbb {N}\) that reflects the stay time (in minutes) demanded by each vehicle. This function can also be implemented as a vector, d t=(d t i ) M where d t i is the time required by the vehicle c i .

In this problem the objective is to minimize the sum of the distances plus the sum of the amounts that the vehicles have to pay. Distances and rates should be weighted in such a way they reflect the drivers preferences, with the objective being to minimize the resulting function:

$$ F_{2}(A)= \sum\limits_{i=1,j= 1}^{M,N}~~ a_{ij}*\alpha_{i}* d_{ij}+ \sum\limits_{i=1,j= 1}^{M,N}~~ a_{ij}*\beta_{i}*dt_{i}*pr_{j} $$
(3)

where α i and β i are factors that denote (respectively) how important for the driver are the distance that the car c i has to go and the amount that he has to pay, such that α i + β i = 1. The basic problem is a special case of this problem when β i is 0 and α i =1. In such a case, the required stay time function dt is not necessary.

Example 2

We reconsider example 1 by adding the rate of each parking zone and the stay time required by each car. Let pr be the vector that implements the function which maps the zones to their rates (amount to pay per minute).

figure h

Let the following vector reflect the stay time (in minutes) required by each vehicle:

figure i

Let α be the vector that denotes how important is the distance to the driver:

figure j

Let β be the vector that denotes the importance to the driver of the amount to pay:

figure k

The solution of this example is a matrix A=(a i j ) M×N , in such a way that it produces the lowest value of the following expression (α i d i j )+(β i p r j d t i ). For this assignment matrix the cost is 0.38.

figure l

2.3 Parking Problem with a Time Restriction

The parking services can be managed and regulated to encourage a more efficient use of the parking spaces. This involves for example time regulation, limiting the maximum time a vehicle can park in a subset of special places, to encourage turnover and shift long-term parkers to less convenient facilities.

The third problem appears as a refinement of the second problem by taking into account a restriction on the time that a vehicle can stay on a parking zone. So, we divide set Z into three subsets of parking zones: Z p , for permanent zones with no stay limit, Z n , for normal rotation zones with a maximum stay limit of 120 m i n u t e s, and Z f , for fast rotation zones with a maximum stay limit of 30 m i n u t e s.

$$ Z~=~Z_{p} ~\bigcup~ Z_{n}~ \bigcup~ Z_{f} $$
(4)

In this problem the objective is to minimize the objective function F 3(A):

$$ F_{3}(A)= \displaystyle{\sum\limits_{i=1,j= 1}^{M,N}}~~ a_{ij}*\alpha_{i}* d_{ij}+ \displaystyle{\sum\limits_{i=1,j= 1}^{M,N}}~~ a_{ij}*\beta_{i}*dt_{i}*pr_{j} $$
(5)

These problems only differ in the constraints of the assignment functions. The second problem is a special case of this problem when Z = Z p .

Example 3

In this example, parking demand is affected by duration (how long vehicles remain parked). Different types of parking zones are denoted by p for permanent, n for normal and f for fast. We use the same data description as in Example 1 and Example 2. Let the following vector pt that reflects the nature of each parking zone:

figure m

The solution for this example is the assignment matrix A, that minimize the distance and the amount to pay while assigning each vehicle c i to a targeted zone with a free slot in Z p , Z n or Z f according to the required stay time. For this solution the cost is 0.5.

figure n

2.4 Parking Problem According to the Arrival Time of Car

In [14], the authors show through a simulated model of an urban city center, that when real-time occupancy of parking is disseminated to drivers, it results in a reduction of 15 % in total travel time. Very few theoretical parking models consider parking arrival time, but it is of a great concern in parking management and regulation. Then, the main challenge is to discover when the parking spot is vacated, in most cases long before the payment expires. This lack of information on the availability of parking spaces is usually frustrating for users and leads to cruising drivers looking for vacant spots. So, it seems useful to make occupied spots available for vehicles that can arrive when these spots become unoccupied.

A fourth problem consists in taking into account the remaining time for each parked car and the estimated time that each car takes to arrive at each parking zone as functions: \(rt_{j}:~z_{j} \rightarrow \mathbb {N}\), which gives the time that each parking slot will remain occupied in the zone z j - for each free parking slot p, r t j (p) = 0- and \(at:~C \times Z \rightarrow \mathbb {N}\), which gives the arrival time at each parking zone for each car. The first function (r t j ) can be presented as N vectors r t j =(p i j )i=1p z j this vector has components p i j with i ranging from 1 to p z j . In this case, \(p_{z_{j}}\) denotes all places (free and occupied) in zone j. The second function (at) can be implemented as a matrix A T=(a t i j ) M×N where a t i j is the arrival time at the parking zone z j for car c i related to distance and traffic density. In this problem the objective will be to minimize the following expression:

$$ F_{4}(A)= \displaystyle{\sum\limits_{i=1,j= 1}^{M,N}}~~ a_{ij}*\alpha_{i}* d_{ij}+ \displaystyle{\sum\limits_{i=1,j= 1}^{M,N}}~~ a_{ij}*\beta_{i}* dt_{i}*pr_{j} $$
(6)

We must take into account in our algorithm, the arrival time together with the remaining time so as to detect the available parking slots that can then be assigned to each vehicle i.

Example 4

We enhance the data description previously used in Example 3, with seven vectors that reflect the remaining time for each parking slot in the zone j and a matrix A T=(a t i j ) M×N that contains the arrival time for each parking zone for each vehicle. Let the following vectors reflect the remaining time (in minutes) for each parking slot in zones z 1, z 2, z 3, z 4, z 5, z 6 and z 7:

figure o

Let the matrix A T=(a t i j ) M×N give the arrival time (in minutes) at each parking zone for each vehicle:

figure p

The output of this problem is an assignment matrix A, the cost for this solution is 0.71.

figure q

3 Algorithms Designed to Solve PSAPGs

The parking assignment problem it can be considered as an assignment problem (AP), is a NP-complete combinatorial optimization problem [21]. Although, many heuristic methods for AP have been developed, there is still no widely accepted winner among these strategies.

In this section, we present three well-known algorithms widely studied in the field of optimization problems, with the intention of comparing their performance to that of the hybrid genetic algorithm (HGASP) and the greedy assignment heuristic (GAH) proposed in this study. A full description, and the relative pseudocode of these algorithms are reported in what follows. Where all the algorithms use the same data as input and generate an assignment matrix as output:

figure r

For the proposed algorithms, the encoding of a solution is designed as a vector of parking zones (Fig. 2), that expresses the index zone, which will receive the vehicle.

Fig. 2
figure 2

Encoding schema

3.1 Random Algorithm

Random algorithms use the concept of randomness when designing solutions. Algorithm 1 draws the different steps of a random algorithm (Rand) for solving the PSAPG problem. This algorithm operates by arranging the vehicles while respecting the request order, then randomly assigning each vehicle to a parking slot while respecting the assignment constraints of the problem.

One might think that Rand is a straightforward algorithm which would be easy to beat. However, the actual scenario is quite different: researchers should always explicitly compare to Rand to show that this is true, as a kind of sanity check for the final claims made.

figure s

3.2 Greedy Assignment Heuristic

To solve the PSAPG problem we propose a sort of greedy assignment heuristic (GAH) to iteratively allocate parking requests to the most suitable parking facility. GAH starts by sorting the vehicles according to the order of requests, then selects the vehicles one by one to find a free place in the best parking zone, while respecting the driver’s preferences. The following algorithm present the GAH process.

figure t

3.3 Greedy Randomized Adaptive Search Procedure

Greedy randomized adaptive search procedure (GRASP) is an iterative search which has gained considerable popularity in combinatorial optimization [13]. Each iteration consists of two phases, a construction phase and a local search procedure. In the construction phase, a randomized function is used to build up an initial solution. This phase can be described as a process which stepwise adds one element at a time to a partial (incomplete) solution. The choice of the next element to be added is determined by ordering all elements in a candidate list to the order of requests. In the second phase, this solution is then display so that it can improved upon in the local search phase. The final result is simply the best solution found over all search process.

figure u

3.4 Steady State Genetic Algorithm

Genetic algorithms are randomized search techniques that simulate some of the processes observed in natural evolution [12]. In its most basic version, a GA evolves a population of solutions by three main steps: selection, reproduction (crossover and mutation), and replacement. Algorithm 3 shows the GA we use in this study.

The algorithm begins by initializing the population by generating a number of 50 individuals randomly, and evaluating them afterwards. Two solutions are selected randomly from the population using the tournament selection. Therefore each parent is selected and submitted to a recombination in pairs (crossover), by using the one point crossover operator. The best obtained offspring goes through a mutation step (swap(1,1) operator is applied) before being introduced into the population to always substitute the worst individual (replacement). Thus, the new population is created and the algorithm iterates until a maximum number of iterations is reached.

figure v

3.5 Hybrid Genetic Assignment Search Procedure

We propose a new hybrid heuristic for solving the four previous problem formulations of the PSAPG problem presented, which we call the hybrid genetic assignment search procedure (HGASP).

HGASP is a combination of a genetic algorithm and a GRASP. The most significant feature of the HGASP is that the initial population is produced by GRASP with individuals of good quality. Another innovative feature concerns the crossover process (Multi-Parent Crossover MPX operator). Although, the most popular crossover operator is the one point crossover, the cycle crossover and the order-based crossover, the proposed algorithm uses a proved crossover operator which selects random characteristics of the parents and passes them to their offspring. Through the correct balance between the greedy method (GRASP) which improves the quality of the initial population and the GA operators (crossover and mutation) that promotes diversity, we can obtain a fairly effective heuristic algorithm for solving the PSAPG problem. Now an outline of the algorithm is given.

figure w

The algorithm starts with an initial population of 50 chromosomes generated using GRASP. To evaluate each solution, we calculate the fitness function, which is the objective function for each problem (cited in Section 2). Then, we repeat the following process until reaching the maximum number of iterations:

Two solutions are randomly selected from the population and the tournament selection is then applied to select each P 1 and P 2. The following crossover operator (Fig. 3) is then applied to the parents P 1 and P 2:

Fig. 3
figure 3

MPX crossover operator

All genes of parents A and B corresponding to the position of value 0 in the random vector ‘Rand0_1’ are passed on to o f f s p r i n g A and o f f s p r i n g B. The remaining genes of offsprings A and B are replaced by the remain genes in the same position in parents B and A respectively. Check the feasibility of the generated offsprings, by ensuring that each used parking zone j does not exceed its capacity f s[j]. If it is not the case, assign each wrong assigned vehicle to the nearest available zone k and update f s[k].

Afterwards, apply the mutation operation Swap(1,1). The offspring having the minimum fitness function is selected, then, swap two assigned vehicle arbitrary, as shown in Fig. 4. Apply the elitism operator, insert the new offspring into the initial population to always substitute the worst individual.

Fig. 4
figure 4

Swap(1,1) mutation operator

4 Empirical Analysis

The proposed algorithms are coded in Java in Win32 mode. All tests are performed on an old personal laptop of low computational power (an Intel Core Duo CPU at 1.6 GHz and 2GB of RAM). Table 1 explains the notations used in this section. For the analysis and evaluation of the proposed algorithm, a discrete time based simulation was performed considering real world spatial environment.

Table 1 Table of notation

The simulation test case was taken from the city of Tunis, since Tunis has a serious parking problem due to traffic congestion and limited areas for parking. The target test area is depicted in Fig. 5. The locations of the cars requesting parking are randomly generated within this area (10k m). The area of location generation is narrowed down to the central city area since the city center has a higher demand for parking and the effect of smart parking assignment in congested area can be shown in a pedagogical way. The driving distance and duration from a car to each parking facility are calculated using the Google map service so as to consider the real environment. The 17 parking facilities in the city center are selected and used for the simulation.

Fig. 5
figure 5

Target area (10 km) for our studies

The GPS data of each parking facility is gathered from the geographical information system (GIS) of Google maps. The capacity of each parking facility is generated based on the information delivered by the municipality of Tunis city (see Table 2) to make our study more realistic.

Table 2 The number of parking spaces of each parking facility

4.1 Simulation Parameters

The study has been performed in order to evaluate the effectiveness of the proposed algorithms at the Tunis city. The total simulation time is run to 6 h. In the real world, the parking request occurs in continuous time domain. However, our simulation works in discrete time domain in order to reduce calculation burden. During the study test, totally about 4800 locations of cars within the city area are generated and processed. To improve reality, the cars which do not use our parking assignment method are also included in the study since it is natural that not all cars will use the proposed assignment method. These cars occupy free parking slots unexpectedly and affect parking assignment. We assume that the maximum number of unexpected occupying cars cannot exceed 90 % of the capacity of each parking facility, since in the definition of the problem we supposed that the number of available parking spaces exceeds the number of assignment requests (vehicles).

We classified all the gathered data into a file called fixed parking data (fpd) which we then used to generate the vpd (variable parking data) and the vcd (variable car data) files.

Our data sets are composed of two types of files, vpd and vcd. The vpd describes the remaining time of each slot in each parking zone, one line per zone. The vcd describes the coordinates (latitude x, longitude y), the required stay time and the two preference factors α and β which represent the wishes of the driver, one line per vehicle, where the geographic distribution of the vehicles is bounded in the perimeter of the city center and we suppose that any vehicle in that range can be seeking a parking space. We generated three data sets (S e t 1, S e t 2, and S e t 3) of three instances for each set, with different degrees of hardness, based on three main configurations: 100, 500, and 1000 for the number of vehicles and with a ratio of availability equal to 6.42, 2.32, and 1.92, respectively. Where the ratio of availability is the number of free slot over one car for a parking zone.

4.2 Results and Analysis

In order to assess the merit of the algorithms, we compared the HGASP and the GAH to three logical competitors, the steady state genetic algorithm (SSGA), the GRASP and the random algorithm (Rand). Table 3 reports the parameterizations of the afore mentioned algorithms.

Table 3 Configuration of algorithms’ parameters

Moreover, we performed a statistical significance test to assess whether the algorithms were significantly different in their performance. The results of the significance test and those of the performance measures are reported and summarized briefly in Table 4. This table contains the maximum, median, minimum, and Pv a l u e of the fitness values obtained (out of 33 independent runs) by the proposed HGASP for the third data sets (where the number of cars is 1000 and the difference is more significant). Additionally, the values obtained by GAH, SSGA, GRASP, and Rand algorithms are also provided in order to allow comparisons. In this table, the last two columns for each instance corresponds to the output of the real data where we compute the number of km saved, which directly translates into a reduction in emissions of C O 2. We estimated the fuel consumption based on a car of type Mid-size (8 liters per 100 k m). We can clearly observe that HGASP obtained the best results (marked in boldface).

Table 4 Numerical comparison of HGASP, SSGA, GAH, GRASP, and Rand with respect to different performance measures

HGASP is the best ranked algorithm in Friedman test. We have used this non-parametric procedure since the distribution of the results do not show the conditions of normality and equality of variances (Kolmogorov-Smirnov test) to apply ANOVA or other parametric test. The confidence level was set at 95 % (pv a l u e=0.05), which allows us to ensure that all these distributions are statistically different if they result in pv a l u e<0.05. In fact, as shown in Table 4, all these comparisons result in pv a l u e s<0.05 for all instances. Therefore, we can claim that HGASP obtained statistically better results than the other four algorithms.

Table 5 details the results (the fitness value and the CPU time) of the Cplex and the GAH for the first problem (where the objective is to minimize the distance), while using a small data set of 30 vehicles for each instance. The ILOG CPLEX [8] Mixed Integer Optimizer is a state-of-the-art solver for mixed integer programming, is a tool developed for solving large-scale linear optimization problems. We used the Cplex to try to solve the generated problem instances used for the previous metaheuristics.

Table 5 Small data set

But, we found that Cplex is unable to solve a problem instance that exceeds a limit of 30 vehicles. Since we want to analyze a city or large portions of it, traditional algorithms like the one included in Cplex cannot be used to solve the parking slot assignment problem for groups of drivers. We can conclude that it is quite impossible to solve the presented variants of the PSAPG problem with Cplex. Neither is it possible to carry out the optimal solution in a reasonable time.

In this study, the performance of the proposed algorithms is assessed in terms of fitness value. This measure indicates the cost value of the objective function of the PSAPG problem. The lower value of this measure is more desirable in that the redundant consumption of time and energy can be reduced and the harmful effect such as air pollution can be diminished.

In order to show a first explanation view of the internal behavior of the competitive algorithms. We can mention that the difference between the algorithms in terms of solution quality increases from the first data set (S e t 1) to the third data set (S e t 3), which confirms that the instances become increasingly more difficult, and the hardness of the problem is related to the number of available slots. As the ratio of availability decrease, the competition for slots becomes more contentious. In fact, the gap between the competitive approaches grows proportionally to the problem size. For a number of vehicles M=100, the HGASP generates better results than SSGA. When M∈{500,1000} the HGASP performs well once compared to the other competitive algorithms. In some test cases the improvement in terms of number of km saved is more than 500 k m.

We have run the test instances under four different variants (p1, p2, p3, and p4). Table 4 shows the test problems according to the different preferences of the driver’s for S e t 3. Regarding the fitness value p4 puts more assignment restrictions on the factors (driving duration and rate to pay) of the objective function. Furthermore, it can be observed that in the first two variants (p1 and p2) of the PSAPG problem there is no big difference between the HGASP and the rest of algorithms, with the exception of the Rand algorithm. However, for the third (p3) and the fourth (p4) variants of the PSAPG problem, HGASP outperforms the other algorithms in terms of solution quality. This is clear as the difference in the number of saved km is significant. From this fact we could conclude that adding more assignment restrictions from the first variant (p 1) to last variant (p 4) would increase the gap between the algorithms as well as the computation time, especially in the case of the fourth problem.

The last two columns in Table 4 report the real advantage of using our HGASP in practice, with regards to the number of saved km and C O 2 emissions. It is worth mentioning that the improvement reached by HGASP compared to the rest of algorithms is higher in all cases. On average, the reduction in C O 2 emissions is about 200 k g when compared to the random case.

An interesting observation is that, GAH computes better results in the first problem. Where there are fewer assignment restrictions, the algorithm easier converged to the best result. But, this was not the case for the rest of the variants of the PSAPG problem where there were more assignment restrictions reflecting the driver’s preference and the instances became more difficult. So GAH is not very efficient in a complex search space.

The steady state genetic algorithm (SSGA) and GRASP are used to asses the effectiveness of the proposed combination between the genetic and the GRASP algorithms. It is obvious that SSGA is the second best algorithm across all the tests and it computes good results.

We also considered a random algorithm Rand as an evaluation metric. This algorithm is included here not as a serious competitor, but as a sanity check to find out if an intelligent algorithm is actually needed. This is a good habit in research, since many published algorithms have later been competitively solved by random search, so a not trivial solution has to be proved in all serious research.

5 Conclusion and Future Work

In this work, a comprehensive description of the parking slot assignment problem for groups of drivers has been presented and apply it to four particular cases with increasing levels of difficulty. We have proposed two heuristic-based solutions (GAH and HGASP) for solving these cases. Moreover we have highlighted the most cost saving solution depending on the data set used.

An extensive numerical comparison between these two approaches and other three algorithms shows that HGASP computes the best results across all the tests and performs better with large problems. We can conclude that HGASP obtained results statistically better than the other four compared algorithms, and that difference is quietly clear in numbers of km saved (more than 500 km) for each solution. Moreover, the maximum fitness values of our proposal are lower than the minimum fitness values shown by the other four compared algorithms.

Our proposals has been developed and validated using parking data from Tunis city. The analysis proposed here has used Google maps and data from Tunisia. As a future direction we intend to investigate other variants of the PSAPG such as adopting the online version for the resolution of this problem. We also plan to analyze other cities in the world so as to assess the interest of the proposed algorithm.