Geng 2013
Geng 2013
Geng 2013
Abstract—We propose a novel “smart parking” system for an stages of such research, a number of parking models were built
urban environment. The system assigns and reserves an optimal to understand and replicate parking choice behavior, such as
parking space based on the driver’s cost function that combines CLAMP [19], PARKSIM [33], PARKAGENT [4], multilayer
proximity to destination and parking cost. Our approach solves
a mixed-integer linear programming (MILP) problem at each [8], and others [26]. In most of these models, competitive alter-
decision point defined in a time-driven sequence. The solution of natives are reasonably well known in advance to the decision
each MILP is an optimal allocation based on current state infor- maker (driver).
mation and is updated at the next decision point with a guarantee Over the past two decades, traffic authorities in many cities
that there is no resource reservation conflict and that no driver have developed so-called parking guidance and information
is ever assigned a resource with a cost function higher than this
driver’s current cost function value. Based on simulation results, (PGI) systems for better parking management. PGI systems
compared with uncontrolled parking processes or state-of-the-art present drivers with dynamic information on parking within
guidance-based systems, our system reduces the average time to controlled areas and direct them to vacant parking spots. Park-
find a parking space and the parking cost, whereas the overall ing information may be displayed on variable-message signs
parking capacity is more efficiently utilized. We also describe full (VMS) at major roads, streets, and intersections, or it may
implementation in a garage to test this system, where a new light
system scheme is proposed to guarantee user reservations. be disseminated through the Internet [12], [23], [24]. PGI
systems are based on the development of autonomous vehi-
Index Terms—Dynamic resource allocation, mixed-integer cle detection and parking space monitoring, typically through
linear programming (MILP), parking guidance and information
(PGI), reservation, smart parking. the use of sensors placed in the vicinity of parking spaces
for vehicle detection and surveillance [6]. These sensors can
I. I NTRODUCTION be classified as either “in-roadway” or “over-roadway” [18].
In-roadway sensors are either embedded in the pavement or
essence, such systems change driver behavior from searching to of mixed-integer linear programming (MILP) problems solved
competing for parking: More drivers go toward the same avail- over time at specific decision points.
able parking spots, and it is possible that none is free by the time The rest of this paper is organized as follows: In Section II,
some drivers arrive, thus forcing replanning and competition for we introduce the framework of our “smart parking” system.
other spots. Although there exist some smartphone applications In Section III, we describe the dynamic resource-allocation
for drivers to check real-time parking information using their model we use and formulate the MILP problem solved at every
mobile phone [23], there are also safety issues associated with decision point over time. Simulations based on a case study
drivers watching parking updates while driving. Second, even involving parking resources at Boston University, Boston, MA,
if a driver is successfully guided to a parking space, such a USA, are given in Section IV. A garage implementation is
system increases the probability of finding any parking space described in Section V. Finally, we conclude and discuss future
at the expense of missing the opportunity for a better space. For work in Section VI.
example, a driver may pay to park at an off-street parking spot
but miss the chance to obtain a nearby free on-street parking
spot that may better serve him. Third, from the traffic authority II. “S MART PARKING ” S YSTEM
point of view, parking space utilization becomes imbalanced: Here, we describe the “smart parking” system framework and
Parking spaces for which information is provided are highly its operation.
utilized and cause higher traffic congestion nearby, whereas
other parking spaces may be routinely left vacant. In general,
A. System Framework
guidance systems do not solve the basic parking problem. Even
worse, they may cause new traffic congestion in areas where Our proposed “smart parking” system takes the basic struc-
parking spaces are monitored. ture of PGI systems as one component. In addition, it includes a
In this paper, we propose a new concept for a “smart parking” Driver Request Processing Center (DRPC) and a Smart Parking
system. This system explicitly allocates and reserves optimal Allocation Center (SPAC). Fig. 1 shows this framework. The
parking spaces to drivers, as opposed to simply guiding them Parking Resource Management Center (PRMC) collects and
to a space that may not be available by the time it is reached. updates all real-time parking information and disseminates it
The allocation is based on each user’s objective function that via VMS or the Internet (basic functions of PGI systems). The
combines proximity to destination and parking cost while also DRPC gathers driver parking requests and real-time informa-
ensuring that the overall parking capacity is efficiently utilized. tion (i.e., car location), keeps track of the driver allocation
The reservation in our “smart parking” system is different from status, and sends back the assignment results to drivers. Based
that in the e-parking platform and others earlier mentioned. on driver requests and parking resource states, the SPAC makes
The latter only involves garage space reservations, and there assignment decisions and allocates and reserves parking spaces
is no attempt at any form of optimality, whereas in our “smart for drivers.
parking” system, drivers may reserve both off-street and on- As we can see, compared with PGI systems, the additional
street parking spaces, which are selected to be optimal based cost of these two new components is minimal. Only one or two
on a well-defined objective function structure. servers are required to carry out computation and for user data
In our problem, a key feature is that each driver has specific storage.
requirements and that only a subset of resources (parking spots) The basic allocation process is described as follows. Drivers
can satisfy them. This is similar to the skills-based routing who are looking for parking spots send requests to the DRPC.
(SBR) problem encountered in telephone call centers, where A request is accompanied by two requirements: a constraint
calls are routed based on the skills required for a server to (upper bound) on parking cost and a constraint (upper bound)
respond to the call [1], [9]. Whereas, in SBR, a server remains on the walking distance between a parking spot and the driver’s
assigned to a call until its completion, in “smart parking,” we actual destination. It also contains the driver’s basic informa-
allow parking spaces to be reallocated so that a driver can tion, such as license number, current location, car size, etc. The
continuously upgrade the resource assigned to him until it is SPAC collects all driver requests in the DRPC over a certain
physically occupied. Even without this complicating feature, time window and makes an overall allocation at decision points
however, dynamic routing problems in multiclass multipool in time, seeking to optimize a combination of driver-specific
call centers are outside the reach of exact analytical methods. and system-wide objectives. An assigned parking space is sent
Related research has focused on various forms of approxima- back to each driver via the DRPC. If a driver is satisfied with the
tions to bypass the high dimensionality involved in determining assignment, he/she has the choice to reserve that spot. Once a
optimal routing policies. For example, Koole and Pot [16] reservation is made, the driver still has opportunities to obtain a
used approximate dynamic programming to solve a specific better parking spot (with a guarantee that it can never be worse
structured multiskill call center routing problem. Some work than the current parking spot) before the current assigned spot
considers these problems in a heavy-traffic regime [14], where is reached. The PRMC then updates the corresponding parking
system utilization approaches one. Multiclass single-pool sys- spot from vacant to reserved and provides the guarantee that
tems in this regime are analyzed in [3]. Gurvich and Whitt other drivers have no permission to take that spot. If a driver
[13] also proposed a routing method for multiclass multipool is not satisfied with the assignment (either because of limited
systems based on a fixed-queue-ratio strategy. In this paper, resources or because of his own overly restrictive parking
we view the “smart parking” allocation process as a sequence requirements) or if he/she fails to accept it for any other reason,
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
GENG AND CASSANDRAS: NEW “SMART PARKING” SYSTEM BASED ON RESOURCE ALLOCATION AND RESERVATIONS 3
with the result, then the system reserves that space for him,
and the application shows the driving directions to the reserved
parking space. While he/she is driving, the system may notify
him of a better parking spot based on his real-time position.
The driver needs to respond and tell the system whether he/she
accepts it or not. When the driver arrives at the parking spot,
he/she needs to confirm parking at the allocated spot. All these
driver responses are simply done by pushing a button in the
application. When the car leaves the parking spot, a summary
of charges is sent to him.
Notice that both V2I and I2V communication are imple-
mented through a smartphone application, and data are trans- Fig. 2. Queueing model for dynamic resource allocation.
mitted through the CN. Drivers may reserve a parking space
before a trip and interact with the system by simply pushing to its GREEN or RED state if the parking space is reserved.
buttons on the smartphone, thus not causing distraction from If a driver violates the rule and parks at a space reserved by
driving. someone else, then the blinking RED provides a warning, and
3) Reservation Guarantee: Parking reservations are a key the driver should leave. If he/she does not leave, the system
feature of the “smart parking” system. To implement this func- knows which space is occupied and will tow the car or issue
tion, when a parking spot is reserved by the driver, the system a ticket; in the meantime, the system makes a new assignment
must guarantee that this will not be taken by other vehicles. for the driver who had actually reserved that spot. If the second
For off-street parking resources, it is relatively easy to prevent assignment is worse than the previous assigned spot, then the
drivers with no reservation from taking the spot that has been driver receives some compensation, which may come from the
reserved by someone else. The system can do ID checking (with violator’s fine.
RFID technology) at the gate of a garage or a parking lot. If the 4) Optimal Allocation: One of the benefits of the “smart
driver has made a reservation, then the gate opens, and a space parking” system is that it determines the best parking space
number is provided to him. If the driver made no reservation, for each driver. This is done through an efficient allocation
then he/she either may be allowed to park if there are empty algorithm executed at the SPAC (see Fig. 1). In what follows,
unreserved spaces or is blocked from entering. we will concentrate on the methodology that enables us to make
For on-street parking resources, the reservation scheme is optimal parking space allocations and reservations.
more complicated because there is no central ID checking
location so that drivers may park at any space if it is vacant. One
method is through wireless technology interfacing a vehicle III. DYNAMIC R ESOURCE A LLOCATION
with hardware that makes a space accessible only to the driver For the sake of generality, we will employ the term “user”
who has reserved it. Examples include gates, “folding barriers,” when referring to drivers or vehicles and the term “resource”
and obstacles that emerge from and retract to the ground under a when referring to parking spaces. We adopt a queueing model
parking spot; these are wirelessly activated by devices on-board for the problem, as shown in Fig. 2, where there are N re-
vehicles, similar to mechanisms for electronic toll systems. sources, and every user arrives randomly and independently
However, this method is relatively expensive, and the hardware to join an infinite-capacity queue (labeled WAIT) and waits
is not easy to install and maintain. A “softer” scheme is to use to be assigned a resource if possible. At each decision point,
a light system placed at each parking space, where different the system makes allocations for all users in both the waiting
colors indicate different parking space states. In our system, queue and the queue of users (labeled RESERVE) who have
we use a GREEN light to indicate that a vacant parking spot already been assigned and have reserved a resource from a prior
is available for any driver, a RED light to indicate that the decision point. If a user in WAIT is successfully assigned a
spot is reserved by other drivers, a YELLOW (or blinking resource, he/she joins the RESERVE; otherwise, he/she remains
YELLOW for increased visibility) light to attract a driver in the in WAIT. A user in RESERVE may be assigned a different
vicinity who has reserved that space, and a blinking RED light resource after a decision point and remains in this queue until
to notify a driver who is parking at a space reserved by someone he/she can physically reach the resource and occupy it. A user
else. An LED light with these three colors is connected to and leaves the system after occupying a resource for some amount
controlled by an IRIS sensor node (also referred to as “mote”) of time at which point the resource becomes free again.
placed at each parking space. When a driver is approaching the At each decision point indexed by k, we define the state of
parking space reserved for him, this is automatically detected the allocation system, i.e., X(k), k = 1, 2, . . ., and the state of
by the GPS data sent from his smartphone through our “smart the ith user, i.e., Si (k), i = 1, 2, . . ., as explained next. First,
parking” application. (Alternatively, the driver can explicitly we define
notify the system.) The system then sends a command to the
IRIS mote, which switches the light at his reserved spot from X(k) = {W (k), R(k), P (k)} (1)
RED to YELLOW (or blinking YELLOW). The driver should
then be able to recognize his reserved spot and park there. After where W (k) = {i : user i is in the WAIT queue}, R(k) =
parking, the light goes off until the car leaves, and it returns {i : user i is in the RESERVE queue}, and P (k) = {p1 (k),
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
GENG AND CASSANDRAS: NEW “SMART PARKING” SYSTEM BASED ON RESOURCE ALLOCATION AND RESERVATIONS 5
. . . , pN (k)} is a set describing the state of the jth resource with at the kth decision time. Note that Mij (ri (k), tij (k), ci ) is
pj (k) denoting the number of free parking spaces at resource an expectation since the actual cost is a random variable that
j, j = 1, . . . , N . (This is possibly >1 if a resource models a depends on traffic conditions, which determine the time tij (k)
group of parking spaces, e.g., a parking garage, rather than an and on the resource occupancy time (e.g., the actual parking
individual space.) time) after the resource is reached. Once a pricing scheme is
We assume that each resource has a known location associ- known, Mij (ri (k), tij (k), ci ) can be evaluated if all random
ated to it, which is denoted by yj ∈ Z ⊂ R2 in 2-D Euclidean variables involved are characterized by known probability dis-
space. We also define tributions. Alternatively, an estimate of Mij (ri (k), tij (k), ci )
can be computed. Comparing Mij (ri (k), tij (k), ci ) with Mi
Si (k) = {zi (k), ri (k), qi (k), Ωi (k)} (2) leads with the constraint
where zi (k) ∈ Z ⊂ R2 is the location of user i, ri (k) ∈ R+ is Mij (ri (k), tij (k), ci ) ≤ Mi . (5)
the total time that user i has spent in the RESERVE queue up to
the kth decision point (ri (k) = 0 if i ∈ W (k)), and qi (k) is the This defines a second requirement that contributes to the deter-
reservation status of user i, i.e., mination of Ωi (k) by limiting the set of feasible resources to
those that satisfy (5). To fully specify Ωi (k), we further define
0, if i ∈ W (k)
qi (k) = (3)
j, if user i has reserved resource j. Γ(k) = {j : pj (k) > 0, j = 1, . . . , N }
Finally, Ωi (k) is a feasible resource set for user i, i.e., Ωi (k) ⊆ to be the set of free and reserved resources at the kth decision
{1, . . . , N }, depending on the requirements set forth by this time and set
user regarding the resource requested. In general, Ωi (k) may
be a set that is specified by each user at each decision point; Ωi (k) = {j : Mij (k) ≤ Mi , Dij ≤ Di , j ∈ Γ(k)} (6)
however, for the specific parking problem we are interested in,
we will define Ωi (k) in terms of attributes associated with user where, for simplicity, we have written Mij (k) instead of
i and defined as follows. Mij (ri (k), tij (k), ci ). Note that this set allows the system to
We associate two attributes to user i. The first, which is allocate to user i any resource j ∈ Ωi (k), which satisfies the
denoted by Di , is an upper bound on the distance (walking user’s requirements even if it is currently reserved by another
distance or walking time) between the resource that the user user. Thus, resource j may be dynamically reallocated to dif-
is assigned and his actual destination di ∈ Z ⊂ R2 . If the user ferent users at each decision point until pj (k) = 0, signaling
is assigned resource j located at yj , let Dij = di − yj , where that there is no available resource.
· is a suitable distance metric. Then, the constraint Remark: Since Mij (k) is generally an estimate of the cost a
user incurs, it is subject to noise contributed by random traffic
Dij ≤ Di (4) events and, therefore, so is set Ωi (k), as defined in (6). This
implies that resource j ∈ Ωi (k) may, in fact, be such that j ∈ /
defines a requirement that contributes to the determination of
Ωi (k + l) for some l > 0. Indeed, it is possible that Ωi (k) = ∅,
Ωi (k) by limiting the set of feasible resources to those that
whereas Ωi (k + l) = ∅. In such cases, a user may perceive as
satisfy (4).
unfair the fact that he/she is assigned a feasible resource that
The second attribute for user i, which is denoted by Mi , is
ultimately becomes infeasible subject to his requirements. We
an upper bound on the cost that this user is willing to tolerate
will assume that this happens as a result of uncontrollable ran-
for the benefit of reserving and subsequently using a resource.
dom events, in which case, the user must re-enter the allocation
The actual cost depends on the specific pricing scheme that is
system with new Di and Mi requirement parameters.
adopted by the allocation system and may include a flat fee for
We can now concentrate on defining an objective function,
reserving a resource, a fee dependent on the total reservation
which we will seek to minimize at each decision point by
time, and subsequently, a fee for occupying the resource. Our
allocating resources to users. We use a weighted sum to define
approach does not depend on the specific pricing scheme used,
user i’s cost function, i.e., Jij (k), if he/she is assigned to
but we will assume that each user cost is a monotonically
resource j, as follows:
nondecreasing function of the total reservation time ri (k), user
expected occupancy time ci , and a function of the traveling Mij (k) Dij
time from the user location at the kth decision time, i.e., zi (k), Jij (k) = λi + (1 − λi ) (7)
Mi Di
to a resource location yj . Let sij (k) = zi (k) − yj be this
distance, and define the traveling time where λi ∈ [0, 1] is a weight that reflects the relative importance
assigned by the user between cost and resource quality. In the
tij (k) = f (sij (k), ω) case of parking, resource quality is measured as the walking
distance between the parking spot the user is assigned and his
where ω is a random vector capturing all stochastic traffic actual destination.
conditions. We use Mij (ri (k), tij (k), ci ) to denote the total To capture the essence of “smart parking,” the objective
expected monetary cost for using resource j, which is evaluated of the system is to make allocations for as many users as
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
possible and, at the same time, to achieve minimum user cost located. This introduces unfairness among waiting users. For
as measured by Jij (k). We introduce binary control variables example, a waiting user may be located right next to an avail-
able resource, which, however, is assigned to another waiting
1, if user i is assigned to resource j user at a considerably larger distance from it. To remove such
xij = (8)
0, otherwise unfairness, we add the following constraints:
and define matrix X = [xij ]. We can now formulate the alloca- ⎡ ⎤
tion problem (P) at the kth decision point as follows: ⎣ xin ⎦ − xmj ≥ 0 ∀i, j, m s.t. j ∈ Γ(k)
n∈Ωi (k)
min xij · Jij (k)
X
i∈W (k)∪R(k) j∈Ωi (k) j ∈ Ωi (k), m ∈ W (k), tmj > tij . (15)
⎛ ⎞
These constraints are explained as follows. Consider re-
+ ⎝1 − xij ⎠ (9) source j, which is available for assignment (i.e., j ∈ Γ(k)) and
j ∈ Ωi (k)). If i fails to be allocated
i∈W (k) j∈Ωi (k)
qualified for user i (i.e.,
any resource, we have n∈Ωi (k) xin = 0, and (15) requires that
s.t. xij ≤ 1 ∀i ∈ W (k) (10)
xmj = 0, i.e., any other waiting user m located farther away
j∈Ωi (k)
from j than user i (i.e., tmj > tij ) isforbidden from being
xij = 1 ∀i ∈ R(k) (11) assigned to j. If, on the other hand, n∈Ωi (k) xin = 1, i.e.,
j∈Ωi (k) user i is assigned some resource, then xmj ≤ 1, i.e., there is
no constraint on allocating resource j to any user m as long
xij ≤ pj (k) ∀j ∈ Γ(k) (12) as condition (12) is satisfied. Thus, all subsequent references
i∈W (k)∪R(k) to (P) refer to the original problem modified to include (15).
We also note that there is no fairness issue related to users in
xij · Jij (k) ≤ Jiqi (k−1) (k) ∀i ∈ R(k) (13)
the WAIT queue in terms of how long they have resided in
j∈Ωi (k)
it since this does not affect the cost objective unless a user is
xij ∈ {0, 1} ∀i ∈ W (k) ∪ R(k), j ∈ Γ(k). (14) in the vicinity of his/her destination, which is a situation that
we handle through the wandering ratio metric, as defined later
In this problem, the objective function focuses on user satis- in (17).
faction. One can formulate alternative versions that incorporate Moreover, in between any two decision points, users in the
system-centric objectives, such as maximizing resource utiliza- waiting queue who are close to their destination may reach it
tion or the total revenue without
affecting
the essence of our before having an opportunity to be assigned a parking space.
approach. The term min i∈W (k)∪R(k) j∈Ωi (k) xij · Jij (k) To deal with this effect, we adopt the following immediate
in (9) aims to find the minimum cost over all users.
If the system allocation (IA) policy: Whenever user i is in the WAIT queue
fails to allocate a resource to some user i, i.e., j∈Ωi (k) xij = and reaches location zi such that zi − di ≤ vi τ , he/she is
0, a cost of 1 is added to theobjective function. Therefore, placed in an IA queue. Here, τ is the decision interval, and vi
the added term i∈W (k) (1 − j∈Ωi (k) xij ) in (9) is the total is the average driving speed. If this queue is not empty, then, as
cost contributed by the number of “unsatisfied” users. Since by soon as user departure makes a resource available, the system
its definition in (7) Jij (k) ≤ 1, the added cost of value 1 is immediately prioritizes user i over other users in W (k) and
sufficiently large to ensure that a user is assigned to a resource assigns him this resource if it is feasible. This IA problem is
if there are free qualified resources left. With this added term, easy to solve. We define an “urgent” user set
the problem allocates as many users as possible.
Constraints (10) indicate that any user in the WAIT queue I(k) = {i : i ∈ W (k), zi − di ≤ vi τ }
may be assigned, at most, one resource but may also fail to get
an assignment. On the other hand, (11) guarantees that each and as soon as resource j becomes free, we allocate it to user i
user in the RESERVE queue maintains a resource assignment. such that Jij = minn∈I(k),j∈Ωn (k) Jnj , if such i exists.
Capacity constraints (12) ensure that every resource is occupied Decision Points: An important remaining issue concerns the
by no more than pj (k) users. Constraints (13) add a unique choice of decision points over time or, equivalently, defining
feature to our problem by guaranteeing that every user in the appropriate “decision intervals” τ (k), k = 1, 2, . . .. In this pa-
RESERVE queue is assigned a resource that is no worse than per, we pursue a time-driven strategy for decision making.
that most recently reserved, i.e., qi (k − 1). Together, (11) and After the (k − 1)th decision point, the system waits for some
(13) ensure a reservation guarantee and improvement. duration τ (k) and then makes a new allocation over all users
Fairness: As we can see from (10) and (11), a solution that arrived during τ (k) and all previous users residing in either
of (P) gives a higher assignment priority to users in the the WAIT or the RESERVE queue. Clearly, there is a tradeoff:
RESERVE queue. This is because these users are already A large τ (k) may eventually yield a lower cost for all users
incurring a positive cost. (Recall that the pricing scheme we involved, but it also forces a large number of users to remain in
assume does not impose a fee to unassigned users, i.e., users the WAIT queue with no assignment, until either it is too late
still in the WAIT queue.) On the other hand, (10) makes no because a user has reached his destination or it has lost patience
distinction among waiting users, regardless of where they are and searches for resources by himself. In [10], we empirically
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
GENG AND CASSANDRAS: NEW “SMART PARKING” SYSTEM BASED ON RESOURCE ALLOCATION AND RESERVATIONS 7
explored the effect of varying τ (k) on the performance of the Performance Metrics: In solving problem (P), we aim to
system. minimize user costs as defined by (7) at each decision point. To
Scalability: MILP problems are known to be NP-hard. If we assess the overall system performance over some time interval
deploy the system in a large urban area, problem (P) becomes [0, T ], we define several appropriate metrics that are evaluated
huge with a large number of variables and constraints. Obtain- over a total number of users NT served over this interval (e.g.,
ing a solution at each decision point becomes time consuming, a simulation run length).
and during this time, the system state changes, and the solution From the system’s point of view, we consider resource uti-
may no longer be optimal. In that case, we use the following lization as a performance metric and break it down into two
steps to reduce the complexity of the problem. parts: ur (T ) is the utilization of resources by reservation (i.e.,
the fraction of resources that are reserved), and up (T ) is the
1) Area partitioning: Observe that driver requests are in-
utilization by occupancy (i.e., the fraction of resources that are
dependent if their destinations are far away from each
physically occupied by a user).
other. Practically speaking, an allocation made for driver
From users’ point of view, we first define a satisfaction metric
A has little or no influence on driver B if B’s destination
for those users that actually occupy a resource. Let P (T ) be
is several miles away from driver A. Thus, rather than
the set of such users over [0, T ]. Moreover, returning to (7), let
aggregating all drivers and resources in one problem, we
qi∗ ∈ {1, . . . , N } be the resource that is ultimately assigned to
can instead partition the whole area into several small
user i ∈ P (T ). We then define
“districts.” For each district, we solve problem (P) for
all drivers whose destinations are located in the district. Miqi∗ Diqi∗
Notice that drivers whose destinations are on the border Jiqi∗ = λi + (1 − λi )
Mi Di
of two adjacent districts are considered for allocation in
both districts. ¯ )= 1
J(T Jiqi∗
2) Grouping resources: Even in a single district, the total |P (T )|
i∈P (T )
number of parking spaces may be large, particularly in a
business district or downtown. However, drivers normally measuring the average cost of users served. In addition, unlike
do not request a specific spot but only care for a street or a traditional queueing problems, waiting times are not a measure
in which garage to park. Therefore, all spaces in the same of user satisfaction, since users do not actually need a resource
garage or parking lot can be treated as a single resource, until they have physically reached it. Instead, another metric
with pj denoting the number of vacant spaces. Similarly, that we will use is the wandering ratio w(T ), which is defined
we can group all on-street parking spots in the same street as follows: Let
block as one resource. The system may randomly pick
a vacant spot for the driver when he/she arrives. The AW (k) = {i : i ∈ W (k), zi (k) − di ≤ }
problem size is thus greatly reduced.
3) Discriminating users: Drivers who are far away from their be the set of users who reach their destination but are still in the
destination do not usually require an IA result. This is be- WAIT queue at the kth decision point, where ≥ 0 is a small
cause once they make a reservation, they incur a cost that real number used to indicate that a user is in the immediate
accumulates over time. Moreover, long-term reservations vicinity of his destination di . Letting kT denote the last decision
are detrimental to the system. First, users who are close to point within the time interval of length T , we then define
their destination may fail to obtain an assignment because |AW (kT )|
available resources may have been reserved by users who w(T ) = . (17)
NT
are still far away and can be accommodated with later
assignments. Second, there is a large fraction of resources Finally, we consider the average time-to-park tp (T ), which is
left physically vacant because of reservations, which may the time from the instant a user sends a parking request to the
cause user discontent when they cannot be allocated a instant he/she physically occupies a parking resource.
resource. This points to a tradeoff in “smart parking”
between a reasonable reservation scheme and parking
space utilization. This can be achieved by restricting the IV. S IMULATION R ESULTS
number of users in the waiting queue who are assigned a
In all simulations, we assume that user arrivals (requests)
resource. Thus, we introduce threshold t0 : Users within
to each destination i are Poisson distributed with rate λi .
t0 min away from their destination are considered for
User travel times to reach their destination are exponentially
assignment; otherwise, they are kept in the waiting queue.
distributed with rate γ. The resource occupancy time is also
Therefore, waiting set W (k) in (P) is replaced by W̃ (k),
exponentially distributed with rate μ. User cost parameter
which is defined as
Mi is uniformly distributed in interval [Mmin , Mmax ], and
walking-distance parameter Di is also uniformly distributed
W̃ (k) = {i : i ∈ W (k), tij (k) ≤ t0 } . (16) in [Dmin , Dmax ]. For simplicity, we adopt a constant decision
interval τ (k) = τ , k = 1, 2, . . .. Note that τ (k) can be made
Of course, the number of decision variables in problem adjustable according to traffic conditions at the kth decision
(P) also decreases with this restriction. time.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
TABLE I
P ERFORMANCE M ETRICS U NDER T WO D IFFERENT T RAFFIC I NTENSITIES
GENG AND CASSANDRAS: NEW “SMART PARKING” SYSTEM BASED ON RESOURCE ALLOCATION AND RESERVATIONS 9
for allocation, the results are optimal for them but not for
all users in the waiting queue; users farther away from their
destinations generally end up with a parking spot of worse
quality than closer users, and the overall average cost increases.
Moreover, if we set t0 too small, drivers have less time to adjust
their requirements when they fail to be allocated. In short,
the choice of threshold t0 requires careful consideration. For
example, in Table II, t0 = 10 appears to be a good choice.
By setting t0 = 10, we have obtained additional simulation
results summarized in Fig. 4. All four performance metrics
(off-street utilization is not shown here) are compared under
different traffic intensities determined by λi . We find that
in all scenarios, the SP approach improves parking resource Fig. 5. “Smart parking” application and website.
utilization and decreases user cost and search time. As traffic in-
tensity increases, the improvement offered by the SP approach
system. We have also installed cameras and use standard image
becomes more significant. Moreover, w(T ) can be further
processing algorithms, based on which the state of each parking
decreased using the IA policy mentioned earlier. (Results are
space (vacant or occupied) is determined; the joint data from
shown in [10].)
the ground sensors and the cameras are combined to increase
the reliability of parking state estimates.
We have also built a smartphone application (see http://
V. I MPLEMENTATION
smartpark.bu.edu/smartparking/home.php), through which
The “smart parking” system, as described in this paper, has users can send parking requests and obtain reservations. The
been deployed in a garage at Boston University, which contains application sends all user requests to a computer, which serves
27 parking spaces. At each parking space, we have installed as both DRPC and SPAC (see Fig. 1). The computer maintains
a Streetline [23] parking detection sensor on the ground and all driver requests, solves the optimal allocation problem (P),
an LED device for controlling our light system described in updates the parking space state database, and sends commands
Section II-B. A Streetline gateway receives data from each to control the state of the light at each parking space device.
sensor in the network and forwards it to an upper level database, Fig. 5 shows the smartphone application and real-time parking
which serves as the PRMC with the state (vacant or occupied) information website.
of each parking space. The real-time parking information is An important component of our implementation is a super-
published and updated on the web and can be obtained by users. visory controller based on a finite-state automaton describing
Thus, our system still provides the service of a normal PGI full system operations. Fig. 6 shows the automaton associated
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
with a single parking space. The state S = {L, R, P, C, D, A} Flow (3): A parking spot is reserved by a driver. The driver
is defined as follows: parks his vehicle and immediately confirms parking before
1) Light Status (L) = {GREEN (G), RED(R), the system sends any parking confirmation request.
Y ELLOW _BLIN K(BY ), RED_BLIN K(BR), Flow (4): A parking spot is reserved by a driver. The driver
OF F (O)}; parks his vehicle but forgets to confirm. The system re-
2) Reservation Status (R) = {N OT_RESERV ED(nRD), quests confirmation, and the driver says YES.
RESERV ED(RD)}; Flow (5): This is the same as Flow (4), except that the driver
3) Parking Status (P) = {V ACAN T (V ), says NO. This indicates that the parking spot is occupied
OCCU P IED(O)}; by a different driver. This is a violation.
4) Driver’s Response Status (C) = {Y ES(Y ), N O(N ), Flow (6): This is the same as Flow (4), except that the driver
P EN DIN G(P ), T IM EOU T (T O), N U LL(N A)}; did not respond to the parking confirmation request. In this
5) Driver’s Position Status (D) = {N EARBY (N R), case, the system conservatively assumes that the spot is
F AR(F R), N U LL(N A)}; occupied by someone else.
6) Driver’s Self-Confirmation Status (A) = Flow (7): This flow involves all possible timeout events while a
{CON F IRM ED(P ), N U LL(N A)}. parking spot is reserved by a driver. For example, a parking
In this automaton, Driver’s Self-Confirmation indicates that spot is reserved by a driver, but the driver does not show up
the driver presses a button in the smartphone to confirm that within 1 h.
he/she has parked before the sensor detects his vehicle in the The system is now being used by approximately 30 registered
parking spot. If the driver forgets to confirm parking but the users. A pilot study is ongoing to analyze utilization and user
sensor detects a car in his reserved spot, the system will ask cost data and collect feedback on system usability.
whether he/she parked there or not. Driver’s Response Status is
then used to store the driver’s response. The driver may answer
YES or NO or not reply (TIMEOUT). The value NULL(NA) VI. C ONCLUSION AND F UTURE W ORK
means that the status is not applicable. We also assume that We have proposed a “smart parking” system that exploits
all sensors have 100% accuracy. Thus, we assume that the car technologies for parking space availability detection and for
parked event in the automaton indicates that the sensor detects driver localization and that allocates parking spots to drivers
a car and that the car indeed parked there. However, if a sensor instead of only supplying guidance to them. We have focused
reports an erroneous parking status, we allow users to report on determining an efficient and optimal allocation strategy for
the wrong situation using the smartphone, and the system will both users and the system by solving a sequence of MILP
either adjust the sensor state or replace it with a new one. problems, which are guaranteed to have a feasible solution and
The automaton describes the complete operational function- to satisfy some fairness constraints. Simulation results show
ality of the system. Considering a vacant parking spot without significant performance improvements over existing parking
reservation as the initial state, there are seven possible state behavior, including the use of guidance-based systems.
transition flows (see Fig. 6) for a parking spot to return to the Current research focuses on selecting (possibly state-
initial state. (The flows are color differentiated, and the flow dependent) proper decision intervals and on the use of pricing
number indicates the last step of the corresponding flow.) control to adjust parking space prices for different classes
Flow (1): A parking spot is occupied by a driver with no system of users or other bidding-type mechanisms that can enhance
allocation. fairness. Moreover, through an ongoing collaboration with the
Flow (2): A parking spot is reserved by a driver, but it is City of Boston, we plan to expand deployment tests to on-street
occupied by a different driver. This is a violation. parking on several urban blocks.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
GENG AND CASSANDRAS: NEW “SMART PARKING” SYSTEM BASED ON RESOURCE ALLOCATION AND RESERVATIONS 11