Prediction-based One-shot Dynamic Parking Pricing

Seoyoung Hong Yonsei UniversitySeoulKorea seoyoungh@yonsei.ac.kr Heejoo Shin University of California San DiegoSan DiegoUSA hes002@ucsd.edu Jeongwhan Choi Yonsei UniversitySeoulKorea jeongwhan.choi@yonsei.ac.kr  and  Noseong Park Yonsei UniversitySeoulKorea noseong@yonsei.ac.kr
Abstract.

Many U.S. metropolitan cities are notorious for their severe shortage of parking spots. To this end, we present a proactive prediction-driven optimization framework to dynamically adjust parking prices. We use state-of-the-art deep learning technologies such as neural ordinary differential equations (NODEs) to design our future parking occupancy rate prediction model given historical occupancy rates and price information. Owing to the continuous and bijective characteristics of NODEs, in addition, we design a “one-shot” price optimization method given a pre-trained prediction model, which requires only one iteration to find the optimal solution. In other words, we optimize the price input to the pre-trained prediction model to achieve targeted occupancy rates in the parking blocks. We conduct experiments with the data collected in San Francisco and Seattle for years. Our prediction model shows the best accuracy in comparison with various temporal or spatio-temporal forecasting models. Our “one-shot” optimization method greatly outperforms other black-box and white-box search methods in terms of the search time and always returns the optimal price solution.

dynamic pricing, parking occupancy prediction, price modeling, prediction-driven optimization
journalyear: 2022copyright: acmcopyrightconference: Proceedings of the 31st ACM International Conference on Information and Knowledge Management; October 17–21, 2022; Atlanta, GA, USAbooktitle: Proceedings of the 31st ACM International Conference on Information and Knowledge Management (CIKM ’22), October 17–21, 2022, Atlanta, GA, USAprice: 15.00doi: 10.1145/3511808.3557421isbn: 978-1-4503-9236-5/22/10ccs: Theory of computation Mathematical optimizationccs: Computing methodologies Neural networks

1. Introduction

Maintaining an adequate parking occupancy rate is a highly essential but challenging problem in crowded metropolitan areas  (Saharan et al., 2020; Shao et al., 2018; Camero et al., 2018). In 2011-2013, for instance, San Francisco piloted SFpark, a demand-responsive parking pricing program adjusts parking prices based on observed occupancy rates. (Pierce and Shoup, 2013) If an observed occupancy rate is higher than a target occupancy rate, its price is increased. By adjusting prices in this manner, the program aimed to control parking occupancy rates around a target (ideal) rate of 70%-80%. SFpark’s success has led to its adoption to other cities such as Los Angeles, Seattle, and Madrid (Ghent et al., 2012; Pierce and Shoup, 2013; Lin et al., 2017). They mainly focused on improving parking availability by keeping occupancy rates below the ideal rate, which is also of our utmost interest in this paper.

Comparison of two paradigms of prediction-driven optimization. (a) The black-box query-based method typically requires a large number of queries until convergence of the solution. (b) As the name “one-shot” suggests, our method requires only one query to find the optimal solution. We can easily find the optimal price by solving the reverse-mode integral problem of the NODE layer in our model.
(a) Black-box query-based prediction-driven optimization
Comparison of two paradigms of prediction-driven optimization. (a) The black-box query-based method typically requires a large number of queries until convergence of the solution. (b) As the name “one-shot” suggests, our method requires only one query to find the optimal solution. We can easily find the optimal price by solving the reverse-mode integral problem of the NODE layer in our model.
(b) Our proposed “one-shot”, i.e., -runtime, prediction-driven optimization
Figure 1. Comparison of two paradigms of prediction-driven optimization. (a) The black-box query-based method typically requires a large number of queries until convergence of the solution. (b) As the name “one-shot” suggests, our method requires only one query to find the optimal solution. We can easily find the optimal price by solving the reverse-mode integral problem of the NODE layer in our model.

In this work, we propose an advanced prediction-driven optimization method to optimally adjust prices and achieve target on-street parking occupancy rates — we conduct experiments for San Francisco and Seattle. Our approach differs from previous methods in the following sense: i) previous methods relied on observed parking demand to optimize price, i.e., reactive, but we implement a prediction-based optimization model which predicts occupancy rates and optimizes prices based on those predictions, i.e., proactive. ii) The price elasticity of demand varies depending on locations (Pierce and Shoup, 2013), which implies that each block’s demand may have a different degree of responsiveness to price changes. This is not considered in the existing approach, as it adjusts parking prices simultaneously for all blocks by fixed amounts. Our approach can change prices in a much more fine-grained manner, e.g., hourly and separately for each block. iii) We adjust the prices accurately, maximizing the influence of price adjustment.

The overall workflow of our prediction-driven dynamic price optimization. (a) Our predictive model consists of three parts: i) an initial prediction module with spatiotemporal processing to process short-term and long-term occupancy history, ii) a price reflection module to adjust the initial prediction with price information, and iii) a final prediction module to make the final predictions on the future occupancy rates of
(a) Overall workflow of how we predict the future occupancy rate
The overall workflow of our prediction-driven dynamic price optimization. (a) Our predictive model consists of three parts: i) an initial prediction module with spatiotemporal processing to process short-term and long-term occupancy history, ii) a price reflection module to adjust the initial prediction with price information, and iii) a final prediction module to make the final predictions on the future occupancy rates of
(b) Overall workflow of how we optimize the price
Figure 2. The overall workflow of our prediction-driven dynamic price optimization. (a) Our predictive model consists of three parts: i) an initial prediction module with spatiotemporal processing to process short-term and long-term occupancy history, ii) a price reflection module to adjust the initial prediction with price information, and iii) a final prediction module to make the final predictions on the future occupancy rates of parking blocks. (b) Our price optimization process, which happens after training the prediction model, consists of three steps: i) given a pre-trained model and the short-term and long-term history, is created as shown in the red box, ii) given a pre-trained model and a target occupancy rate , we solve the reverse-mode integral problem to derive as shown in the blue box, and iii) we find the optimal price which minimizes the error between and in the green box (cf. Eq. (9)).

Given a set of parking blocks, denoted , let be an -dimensional vector which contains target occupancy rates for parking blocks. Our method finds , where / denotes the maximum/minimum price, which makes the pre-trained occupancy prediction model output (cf. Fig. 1 (b)). In this research, it is important to design a high-accuracy prediction model since it is imperative to guarantee the quality of price optimization. The most important technical concern is, however, how to integrate the prediction model and the optimization method because an ill-integrated prediction-driven optimization does not return a solution in time  (An et al., 2016, 2017; Li et al., 2021; Jeon et al., 2021). The simplest method is to use black-box queries, where the optimization algorithm queries the prediction model about the quality of a solution (cf. Fig. 1 (a)). This black-box method typically requires a non-trivial number of queries. A better approach is the gradient-based white-box method. Gradients are created from the internals of the prediction model to update the input feature (i.e., the parking prices in our case). This approach achieves a shorter search time than that of the black-box method. However, this also requires multiple iterations to achieve a reliable solution.

In this work, we propose yet another “one-shot” white-box search method that can find the optimal price solution with only one query to the prediction model, owing to the continuous and bijective characteristic of neural ordinary differential equations (NODEs  (Chen et al., 2018b)). Fig. 2 shows our model design. Since we solve two coupled problems in this paper, the occupancy rate prediction and the price optimization, Figs. 2 (a) and (b) show the two workflows of a) how we forecast the future occupancy rates and b) how we optimize the prices, respectively. The final prediction module in our model, which consists of NODEs, is continuous and bijective, and our one-shot prediction-driven optimization process in Fig. 2 (b) is possible.

Our prediction model consists of three modules as shown in Fig. 2 (a): i) the initial prediction module, ii) the price reflection module, and iii) the final prediction module. The initial prediction module is further decomposed into three layers, depending on the type of processed information. The short-term layer processes the occupancy rates during recent periods and the long-term layer processes the past occupancy rates older than the short-term information, e.g., a week ago. The concatenated processing layer combines the two hidden representations, one by the short-term layer and the other by the long-term layer, to produce the initial predictions on the future occupancy rates of all those parking blocks. Up to this moment, however, we do not consider the price information yet, and it is the second price reflection module that processes the price information to enhance the initial occupancy predictions. The final prediction module fine-tunes the predictions to increase the model accuracy. The continuous and bijective characteristics of the final prediction module enables the one-shot price optimization.

The detailed price optimization process is depicted in Fig. 2 (b). We first train the predictive model and then give the observed short/long-term occupancy information and the target occupancy rates , we decide the best prices which yield the target rates. The red box of Fig. 2 (b) is first processed with the observed short/long-term input to derive the initial prediction and the blue box is processed to derive . We note that at this moment, the input and output of the final prediction module are opposite in comparison with Fig. 2 (a), which is theoretically possible due to its continuous and bijective properties. Then, we calculate which matches to .

We conduct experiments on two datasets collected in San Francisco and Seattle for multiple years. Our prediction model outperforms various baselines, and our one-shot optimization can very quickly find the optimal prices for most of the parking blocks during the testing period, whereas other black-box and white-box methods fail to do so. In addition, our visualization results intuitively show that our proposed method is effective in adjusting the parking occupancy rates to on or below the ideal occupancy rate. Our contributions can be summarized as follows:

  1. We design a sophisticated future parking occupancy rate prediction model based on NODEs.

  2. We design a novel one-shot price optimization, owing to the continuous and bijective characteristics of NODEs.

  3. In our experiments with two real-world datasets, our prediction model outperforms many existing temporal and spatiotemporal models, and our one-shot optimization finds better solutions in several orders of magnitude faster in comparison with other prediction-driven optimization paradigms.

2. Related Work and Preliminaries

2.1. Neural Ordinary Differential Equations

NODEs solve the following integral problem to calculate the last hidden vector from the initial vector  (Chen et al., 2018b):

(1)

where , which we call ODE function, is a neural network to approximate . To solve the integral problem, NODEs rely on ODE solvers, e.g., the explicit Euler method, the Dormand–Prince (DOPRI) method, and so forth (Dormand and Prince, 1980).

Let be a mapping from to created by an ODE after solving the integral problem. It is well-known that becomes a homeomorphic mapping (Dupont et al., 2019; Massaroli et al., 2020): is continuous and bijective and is also continuous for all . It was shown that the homeomorphic characteristic increases the robustness of NODEs to scarce input (Kim et al., 2021; Choi et al., 2021). We conjecture that NODEs are, for the same reason, also suitable for our occupancy prediction, since we cannot feed abundant information to our model due to the difficulty of collecting other auxiliary data. Occupancy prediction is an information-scarce task and therefore, the robustness of the model is crucial for our task.

Reverse-mode integral problem

In addition, the bijective characteristic makes our prediction optimization process easier than other methods. For instance, let be the preferred output that we want to see. Our price optimization corresponds to finding the that leads to . In the case of NODEs, for finding , we can solve the reverse-mode integral problem, i.e., , and is unique.

Adjoint sensitivity method

Instead of the backpropagation method, the adjoint sensitivity method is used to train NODEs for its efficiency and theoretical correctness (Chen et al., 2018b). After letting for a task-specific loss , it calculates the gradient of loss w.r.t model parameters with another reverse-mode integral as follows:

can also be calculated similarly and we can propagate the gradient backward to layers before the ODE if any. It is worth mentioning that the space complexity of the adjoint sensitivity method is whereas using the backpropagation to train NODEs has a space complexity proportional to the number of DOPRI steps. The time complexity of the adjoint sensitivity method is similar, or slightly more efficient than that of backpropagation. Therefore, we can train NODEs efficiently.

2.2. Parking Occupancy Prediction

Parking management in metropolitan areas has long been a matter of interest and researched from diverse perspectives since the 1970s. In recent years, there have been many studies on predicting parking availability, of which several have focused on the SFpark data. Two studies compared the efficacy of regression trees and various regression methods for predicting San Francisco’s parking occupancy rates (Zheng et al., 2015; Simhon et al., 2017). Other studies have been conducted on other data, such as Santander, Spain (Vlahogianni et al., 2016); Birmingham, UK (Camero et al., 2018); Melbourne, Australia (Shao et al., 2018). Traditional machine learning algorithms have been extended for processing spatiotemporal data, e.g., traffic forecasting (Yu et al., 2018; Li et al., 2018; Bai et al., 2020; Choi et al., 2022). According to the survey (Jiang and Luo, 2021), two recent researches (Zhang et al., 2020; Jiang and Luo, 2021) used a spatiotemporal model to predict the parking occupancy rates of Beijing and Shenzhen in China. These models are fine-grained and use different features and datasets. Most importantly, they do not consider the price information and their models are designed without considering the price optimization. We instead compare our model with spatiotemporal models.

2.3. Parking Price Optimization

The parking price optimization problem can be formulated as adjusting prices to minimize the error between predicted and target occupancy rates. In (Fabusuyi and Hampshire, 2018), they introduced a predictive optimization strategy that enables proactive parking pricing rather than a reactive approach based on observed parking rates. By implementing a regression-based prediction model considering price elasticity, they optimized parking prices. However, their model is a simple regression for which prediction-driven optimization is technically straightforward. In (Saharan et al., 2020), they compared various machine learning prediction models and utilized them to produce occupancy-based parking prices for Seattle city’s on-street parking system.

These papers have adopted prediction-based optimization, formulating pricing schemes based on predicted occupancy rates (as in ours). However, our method is novel in the following aspects:

  1. Most of the previous work implemented predictive models with simple machine learning approaches such as linear regression. Our model uses the latest and advanced deep learning approaches, such as NODEs.

  2. Traditional optimization methods, such as greedy, gradient-based optimization, and so forth, were used for previous papers. We greatly reduce the running time of our method using the novel one-shot optimization which relies on the continuous and bijective nature of NODEs.

3. Occupancy Rate Prediction

3.1. Overall Architecture

As shown in Fig. 2, our proposed method consists of three modules: Firstly, the initial prediction module with spatiotemporal processing can be further decomposed into the following three layers:

  1. The short-term layer processes the short-term occupancy rate information. This layer only considers recent occupancy rates and produces the hidden representation matrix .

  2. The long-term layer reads the long-term occupancy rate information (i.e., the mean occupancy rates on the same day of the last week/last two weeks/last month/last two months and so forth). Since the long-term occupancy rate has irregular time intervals, we found that the fully-connected layer is a reasonable design for this layer. This layer produces the hidden representation matrix .

  3. Given the concatenated hidden representation matrix , where means the horizontal concatenation, the concatenated processing layer produces the initial future occupancy rate prediction .

Secondly, the price reflection module adjusts created by the initial prediction module since it does not consider the price information yet. Given , this module adjusts it to by considering the inputted price information.

Lastly, the final prediction module evolves to the final prediction . We use a series of NODEs since we found that a single NODE does not return reliable predictions.

3.2. Initial Prediction Module

We note that in this module, all parking blocks’ short-term and long-term occupancy information is processed altogether. Therefore, our model is able to consider, when predicting for a parking block, not only its own historical information but also other related parking blocks’ historical information, i.e., spatiotemporal processing.

Short-term history layer

Given a set of recent short-term occupancy rates, denoted , where , refers to the number of parking blocks, and represents the most recent record, we extract the hidden representation of the short-term history. We note that constitutes a time-series sample for which any type of time-series processing technique can be applied. This layer is to use the following NODE where is created from :

(2)

The ODE function is defined as follows:

where is a rectified linear unit, is a hyperbolic tangent, refers to the parameters of the three fully-connected layers. Note that this ODE layer’s hidden size is the same as the input size .

Long-term history layer

Let , where , be a set of the long-term occupancy rate information. We have 12 types of the long-term historical information for each parking block, i.e., , which includes the past occupancy rates at different time points. We use the following fully-connected layer to process the long-term history since they do not clearly constitute a time-series sample:

(3)

where means the fully-connected layer with an input size (i.e., the dimensionality of input matrix) of to an output size of .

Concatenated processing layer

We horizontally combine and to produce the initial prediction . We evolve from by referring to . In this layer, we have one more augmented NODE layer as follows:

(4)

where . We note that after this processing, . For reducing the overall computational overhead of our method, we early make the initial prediction.

The ODE function is defined as follows:

where refers to the parameters of the three fully-connected layers. In particular, this type of NODEs is called as augmented NODEs, which can be written as follows for our case:

(5)

3.3. Price Reflection Module

The above initial prediction module does not consider one of the most important factors in forecasting the future occupancy, which is the price information. We reflect the price information into and create in this module. We use the following regressor for this module:

(6)

where is a coefficient vector that represents the demand elasticity on price changes, i.e. how much the occupancy rate reacts to the price. means the element-wise product. is a bias (column) vector.

3.4. Final Prediction Module

Given the adjusted prediction , there are multiple NODE layers to evolve it to the future occupancy prediction . Since we found that only one NODE layer is not enough for this purpose, we adopt the following NODE layers:

(7)

where the future occupancy prediction .

We use the following identical architecture for , for all , but their parameters are different:

Input: Training data , Validating data , Maximum iteration number
1 Initialize all parameters, denoted ; ; while  do
2       Train all parameters with the loss ; Validate and update the best parameters;
3       ;
return the selected best parameters;
Algorithm 1 How to train our model

3.5. Training Algorithm

We use the adjoint method (Chen et al., 2018b) to train each NODE layer in our model, which requires a memory of and a time of where is the (average) step-size of an underlying ODE solver. In Alg. (1), we show our training algorithm. We use the following mean squared error loss with the training data :

where and mean the ground-truth and predicted occupancy rate of the -th training sample, respectively. is the coefficient of the regularization term. denotes the super set of the all parameters in our model.

Well-posedness of Training

The well-posedness111A well-posed problem means i) its solution uniquely exists, and ii) its solution continuously changes as input data changes. of NODEs was already proved in (Lyons et al., 2004, Theorem 1.3) under the mild condition of the Lipschitz continuity. We show that training our NODE layers is also a well-posed problem. Almost all activations, such as ReLU, Leaky ReLU, SoftPlus, Tanh, Sigmoid, ArcTan, and Softsign, have a Lipschitz constant of 1. Other common neural network layers, such as dropout, batch normalization and other pooling methods, have explicit Lipschitz constant values. Therefore, the Lipschitz continuity of , and for all can be fulfilled in our case, making it is a well-posed training problem. Our training algorithm solves a well-posed problem so its training process is stable in practice.

4. One-shot Price Optimization

We describe our proposed dynamic pricing method. The key algorithm is the following “one-shot” price optimization method which finds a solution in one iteration. For this step, we pre-train the prediction model and all its parameters are considered as constants during this step.

Given the short-term history information , the long-term history information , and the target occupancy rates , we want to find the optimal prices that leads to as follows:

(8)

where is our pre-trained occupancy prediction model, and is its set of parameters. This becomes a complicated non-linear resource allocation problem, whose polynomial-time solver is unknown, if is a general deep neural network (1; O. Granmo and B. J. Oommen (2010)). For those reasons, people typically rely on the Karush–Kuhn–Tucker (KKT) condition, when it is possible to calculate the derivative of objective, which teaches us the necessary condition of optimality to find a reasonable solution, but this method sometimes converges to saddle points that are not good enough (Ruszczynski, 2006). In our case, however, we use the following one-shot method due to our special design suitable for solving the problem:

  1. We feed the given short-term and the long-term history information and derive from the initial prediction module;

  2. Let is the target occupancy rates that we want to achieve. We then solve the following series of reverse-mode integral problems to derive :

  3. The optimal price vector can be calculated as follows:

    (9)

We note that we query the initial prediction module and solve each of the integral problems exactly once, i.e., a constant complexity of given a fixed number of NODE layers, which is theoretically the minimum complexity that we can achieve (since optimization with zero queries is infeasible). Note does not vary during operation but is fixed given a prediction model.

\toprule Training Dataset Test Dataset
\midrule San Francisco 407,008 183,280
356,132 160,370
305,256 137,460
\midruleSeattle 75,264 31,360
65,856 27,440
56,448 23,520
\bottomrule
Table 1. The size of the training/testing datasets
The visualization of parking operating hours and meter operating hours of San Francisco
Figure 3. The visualization of parking operating hours and meter operating hours of San Francisco

5. Experiments on Prediction

Our software and hardware environments are as follows: Ubuntu 18.04 LTS, Python 3.7.10, PyTorch 1.6.0, TORCHDIFFEQ 0.2.2, TORCHDIFFEQPACK 0.1.0, CUDA 11.2, and NVIDIA Driver 460.91.03, and i7 CPU, and NVIDIA Quadro RTX 8000.

\toprule Model Batch size Learning rate Weight decay #Final layers Initial coefficient #Params
\midrule San Francisco Substitute Eq. (2) with RNN 64 10 0.03 7,911,217
LSTM 64 10 0.03 10,404,217
GRU 64 10 0.03 9,573,217
STGCN 64 10 0.03 7,700,854
DCRNN 64 10 0.03 7,753,914
AGCRN 64 10 0.03 13,594,000
\cmidrule2-9 Proposed (full model) 64 15 0.03 7,001,059
Proposed (w/o final module) 64 15 0.03 8,131,549
\midrule Seattle Substitute Eq. (2) with RNN 64 10 0.5 3,544,657
LSTM 64 10 0.5 5,947,657
GRU 64 10 0.5 5,146,657
STGCN 64 10 0.5 2,977,894
DCRNN 64 10 0.5 3,031,074
AGCRN 64 10 0.5 5,322,406
\cmidrule2-9 Proposed (full model) 64 10 0.5 2,985,619
Proposed (w/o final module) 64 10 0.5 2,694,559
\bottomrule
Table 2. Best hyperparameters and the number of trainable parameters. The weight decay is the regularization coefficient term of  (3.5). The number of final layers is of  (7). Considering the original price range of each dataset, we set the initial coefficient value of the price reflection module, of  (6).

5.1. Experimental Environments

Dataset

The San Francisco Municipal Transportation Agency (SFMTA) website 222https://www.sfmta.com/getting-around/drive-park/demand-responsive-pricing/sfpark-evaluation provides data collected during the SFpark pilot project. On-street occupancy rate data contain per-block hourly occupancy rate and meter prices for seven parking districts.

The Seattle Department of Transportation (SDOT) sets on-street parking rates based on data to obtain a target occupancy rate of 70% to 85%. The SDOT website 333https://www.seattle.gov/transportation/projects-and-programs/programs/parking-program/performance-based-parking-pricing-program provides a dataset of on-street occupancy rates from 2010. In contrast to San Francisco, Seattle has fixed annual pricing that is updated based on the previous year’s data. Prices vary depending on the time of day; 8 a.m. to 11 a.m., 11 a.m. to 5 p.m., and 5 p.m. to 8 p.m.

Since we optimize the parking price, we define parking occupancy as metered parking occupancy and only predict and optimize when the parking blocks are metered. For instance, as shown in Fig.  3, meters are only operational from 9 a.m. to 5 p.m in San Francisco. Many parking blocks in Seattle also are not metered after 5 p.m. In San Francisco, parking is free on all weekends, and in Seattle on Sundays. Therefore, only data from 9 a.m. to 5 p.m. of San Francisco and data from 8 a.m. to 5 p.m. of Seattle on weekdays are used in our experiments.

We use data from August 11, 2011, to July 31, 2013 for San Francisco. Finally, blocks from 63 streets and 7 districts with no missing data in the aforementioned period are selected for prediction/optimization. For Seattle, we extract the most recent data from July 19, 2019 to March 23, 2020 and predict/optimize parking blocks in 9 parking areas.

Historical data from various periods are derived via feature engineering. In the case of short-term history, the occupancy rate in the past hours is given as a feature. Different settings lead to different training/testing data as shown in Table 1. For example, San Francisco dataset consists of 407,008 (resp. 356,132) samples, when (resp. ). The ratio between a training set and a test set is 7:3. We only consider for short-term history length in our experiments because longer settings lead to a drastic reduction in the number of training samples (as daily occupancy rates are only available from 8 a.m./9 a.m. to 5 p.m.). However, long-term history contains much detailed information.

For the long-term historical features, we obtained historical occupancy records for various periods. The average occupancy rates for the last week, last two weeks, last month, and past two months are derived. Moreover, we separated the time zones into 9 a.m. to 11 a.m., 12 p.m. to 2 p.m., and 3 p.m. to 5 p.m. Adopting this strategy, we ended up with 12 long-term history features.

Baselines

We compare our model with the following baseline prediction models:

  1. RNN, LSTM (Hochreiter and Schmidhuber, 1997) and GRU (Chung et al., 2014) are popular time-series processing models. We create two different ways of how to utilize them for experiments: i) These models are used instead of our short-term history layer and other implementations are the same. ii) We feed only the short-term historical information to them and predict (without any other layers) since they are designed to consider only one type of sequence.

  2. DCRNN (Li et al., 2018), AGCRN (Bai et al., 2020), and STGCN (Yu et al., 2018) are popular baselines in the field of spatiotemporal machine learning. DCRNN combines graph convolution with recurrent neural networks in an encoder-decoder manner. AGCRN learns an adaptive adjacency matrix from data. STGCN combines graph convolution with gated temporal convolution. We also define two different versions for them in the same way above.

\toprule Model
\cmidrule5-10 MSE MSE MSE
\midrule San Francisco Ours Substitute Eq. (2) with RNN 0.01374 0.00027 0.60727 0.00763 0.01296 0.00223 0.62080 0.00223 0.01373 0.00016 0.59760 0.00457
LSTM 0.01701 0.00027 0.51369 0.01161 0.01443 0.00321 0.57783 0.00321 0.01517 0.00009 0.55557 0.00261
GRU 0.01505 0.00039 0.56983 0.01113 0.01395 0.00334 0.59187 0.00334 0.01446 0.00014 0.57618 0.00406
STGCN 0.01040 0.00050 0.70287 0.01419 0.01027 0.00045 0.69969 0.01319 0.01037 0.00049 0.69619 0.01433
DCRNN 0.01022 0.00030 0.70796 0.00851 0.01012 0.00041 0.70404 0.01199 0.01020 0.00053 0.70113 0.01534
AGCRN 0.01021 0.00012 0.70821 0.00329 0.01001 0.00014 0.70727 0.00417 0.01047 0.00032 0.69326 0.00938
\cmidrule3-10 Proposed (full model) 0.00980 0.00002 0.71985 0.00046 0.00975 0.00001 0.71473 0.00034 0.00999 0.00003 0.70726 0.00092
Proposed (w/o final module) 0.01005 0.00003 0.71278 0.00084 0.00994 0.00004 0.70915 0.00109 0.01009 0.00003 0.70435 0.00090
\cmidrule2-10 Existing Method (only short-term) RNN 0.01295 0.00004 0.62994 0.00120 0.01258 0.00003 0.63189 0.00102 0.01321 0.01378 0.61225 0.00145
LSTM 0.01564 0.00020 0.55307 0.00562 0.01395 0.00005 0.59198 0.00137 0.01476 0.01378 0.56762 0.00296
GRU 0.01374 0.00006 0.60724 0.00174 0.01280 0.00006 0.62547 0.00167 0.01319 0.01378 0.61344 0.00240
STGCN 0.01119 0.00054 0.68005 0.01546 0.01100 0.00047 0.67825 0.01378 0.01112 0.00077 0.67407 0.02243
DCRNN 0.01125 0.00004 0.67850 0.00127 0.01077 0.00002 0.68493 0.00046 0.01072 0.00005 0.68578 0.00136
AGCRN 0.01092 0.00010 0.68796 0.00282 0.01059 0.00012 0.69012 0.00355 0.01095 0.00066 0.67913 0.01948
NODE 0.01058 0.00005 0.69753 0.00146 0.01055 0.00008 0.69123 0.00238 0.01063 0.00006 0.68840 0.00170
\midrule Seattle Ours Substitute Eq. (2) with RNN 0.02392 0.00015 0.62621 0.00225 0.02721 0.00036 0.57511 0.00567 0.02799 0.00053 0.56240 0.00828
LSTM 0.02564 0.00034 0.59918 0.00529 0.02797 0.00032 0.56323 0.00500 0.03128 0.00085 0.51106 0.01323
GRU 0.02466 0.00010 0.61449 0.00151 0.02660 0.00058 0.58451 0.00902 0.02917 0.00149 0.54399 0.01746
STGCN 0.02125 0.00029 0.66792 0.00451 0.02154 0.00103 0.66360 0.01611 0.02183 0.00112 0.65870 0.01746
DCRNN 0.02128 0.00023 0.66740 0.00352 0.02171 0.00056 0.66094 0.00873 0.02203 0.00088 0.65556 0.01376
AGCRN 0.02165 0.00009 0.66162 0.00140 0.02170 0.00038 0.66137 0.00643 0.02359 0.00038 0.63345 0.00610
\cmidrule3-10 Proposed (full model) 0.02098 0.00006 0.67204 0.00088 0.02126 0.00008 0.66803 0.00122 0.02153 0.0000 0.66339 0.00029
Proposed (w/o final module) 0.02266 0.00009 0.64580 0.00140 0.02331 0.00017 0.63599 0.00263 0.02386 0.00021 0.62708 0.00327
\cmidrule2-10 Existing Method (only short-term) RNN 0.02428 0.00002 0.62045 0.00035 0.02674 0.00010 0.58230 0.00162 0.02712 0.00010 0.57598 0.00155
LSTM 0.02490 0.00008 0.61076 0.00118 0.02529 0.00013 0.60497 0.00202 0.02720 0.00004 0.57485 0.00063
GRU 0.02427 0.00006 0.62067 0.00088 0.02466 0.00004 0.61491 0.00064 0.02548 0.00010 0.60162 0.00156
STGCN 0.02148 0.00037 0.66423 0.00574 0.02167 0.00007 0.66158 0.00111 0.02179 0.00008 0.65931 0.00131
DCRNN 0.02416 0.00022 0.62232 0.00338 0.02323 0.00047 0.63721 0.00735 0.02250 0.00036 0.64833 0.00558
AGCRN 0.02158 0.00010 0.66263 0.00158 0.02485 0.00217 0.61193 0.03388 0.02168 0.00021 0.66108 0.00321
NODE 0.02138 0.00006 0.66596 0.00094 0.02163 0.00005 0.66211 0.00078 0.02182 0.00005 0.65894 0.00080
\bottomrule
Table 3. The results of parking occupancy prediction (mean std.dev.)

Hyperparameters

We test the following hyperparameters for each model — we trained for 1,000 epochs with a batch size of 64 for all models and other detailed settings are in Table 2:

  1. For RNN, LSTM, and GRU, we use one layer has the hidden size of 500.

  2. For STGCN, we set the channels of three layers (two temporal gated convolution layers and one spatial graph convolution layer) in ST-Conv block to 64, and the Chebyshev polynomials to 1. To construct a parking block graph, we compute the pairwise network distances between blocks and build an adjacency matrix using thresholded Gaussian kernel.

  3. For DCRNN, we set the number of GRU hidden units to 64 and the number of recurrent layers to 2. We use the weighted adjacency matrix constructed in the same way as STGCN.

  4. For AGCRN, we set the hidden unit to 64 for all the AGCRN cells. The size of node embeddings is set to 2 and 5 for San Francisco and Seattle, respectively.

  5. For ours, NODE, we use MALI (Zhuang et al., 2021), the training algorithm for NODEs and the ODE solver error tolerance is set to 1e-5.

5.2. Experimental Results

Experimental results are summarized in Table 3 — we report the mean and std. dev. performance with five different random seeds. In general, RNN-based models perform poorly compared to other spatiotemporal models, such as AGCRN and STGCN. Moreover, when spatiotemporal models are plugged into our model in the place of Eq. (2), they mostly perform better than when they are used solely with the short-term information. Other modules remain the same when we substitute Eq. (2) with other baselines, thus the long-term features and price are also used, which is reasonable. In all cases, the best outcomes are achieved by our full model.

Ablation Study

As an ablation study, we remove the final prediction module and let be the final prediction. Since is adjusted with the price information from the initial prediction, we can also use it for price optimization (or dynamic pricing). However, the proposed prediction model without the final prediction module does not perform as well as our full model as shown in Table 3.

6. Experiments on Optimization

We describe our optimization results. The prediction model is fixed during this process and we optimize an actionable input, i.e., price, to achieve target occupancy rates. Since our proposed full model produces the lowest prediction errors, we use it as an oracle. In this step, it is crucial to use the best predictive model as an oracle (although some sub-optimal models provide a lower complexity) (An et al., 2016, 2017; Chen et al., 2018a; Li et al., 2021; Jeon et al., 2021; Park and others, ). If not, the optimized solution (toward the sub-optimal model) does not yield expected outcomes when being applied to real-world environments.

6.1. Experimental Environments

\toprule Optimization Performance Runtime (seconds)
\midruleObserved in Data 0.5475 0.4440 0.3450 N/A
Greedy 0.4685 0.2045 0.0553 446.6343
Gradient-based 0.3606 0.1609 0.0488 0.5471
\midruleOne-shot (Ours) 0.1938 0.0065 0.0033 0.0000007
\bottomrule
Table 4. The optimization performance (the ratio of failed test cases where the optimized occupancy rate exceeds the threshold ) and the average runtime of San Francisco
\toprule Optimization Performance Runtime (seconds)
\midruleObserved in Data 0.1307 0.1003 0.0756 N/A
Greedy 0.1533 0.0917 0.0495 0.5438
Gradient-based 0.1739 0.1171 0.0724 0.0042
\midruleOne-shot (Ours) 0.0997 0.0684 0.0440 0.0000007
\bottomrule
Table 5. The optimization performance and the average runtime of Seattle

Baselines

We compare our method with the following baseline methods (whose design concepts are similar to what used in (An et al., 2016, 2017; Li et al., 2021; Jeon et al., 2021)) — the target occupancy rate is set to 70% and the minimum price is set to $0.25 and $0.5 for San Francisco and Seattle, respectively; the maximum price is set to $34.5 for San Francisco and $3.0 for Seattle. Given the short-term, long-term occupancy rates, and the pre-trained prediction model’s parameters , we optimize the price given the target occupancy rate :

  1. We use the following greedy black-box search strategy: We set the initial price vector to for all parking blocks. For each iteration, we increase each block’s parking price by $0.25 (given that its price has not already reached ) and find the parking block which decreases the error term the most. We then increase the price of this block by $0.25. The aforementioned strategy is repeated until the current iteration does not decrease the error term.

  2. We test the following gradient-based white-box strategy: The gradient flows to with the Adam optimizer (Kingma and Ba, 2014) up to 1,000 iterations until the error term stabilizes — is initialized to $0.25 for all parking blocks. Note that in this scheme, is optimized to minimize the error term, with . This method can find the optimal solution if the error term is a convex function, which is not the case in our setting, so it returns a sub-optimal solution.

The worst-case complexity of the greedy strategy is whereas our method has a complexity of . Depending on how quickly the solution converges, the gradient method’s performance varies substantially.

Research Questions

We answer the following research questions from our experiments:

  1. (RQ1) What is the runtime of each method?

  2. (RQ2) For how many test cases does each method successfully find (or fail to find) ?

6.2. Experimental Results

Rq1

In Tables 4 and 5, we compare the optimization results. In the case of San Francisco, our method is several orders of magnitude faster than the greedy black-box method and the gradient-based white box method. The greedy method, in particular, showed significant limitations in terms of runtime, with one test case lasting 447 seconds on average and taking up to 4,653 iterations. Considering that we optimized 183,280 cases in the test period, our one-shot method showed remarkable runtime. Seattle’s price range is not as broad as San Francisco’s, i.e., $0.5 to $3.0. As a result, the optimization of Seattle showed faster runtime in Table 5.

Rq2

We also show the percentage of the failure cases where the optimized occupancy rate is larger than the threshold . These errors occur due to imperfections in the price optimization process. Our method greatly outperforms other methods by showing a much smaller failure ratio in comparison to others. Theoretically, our method should show zero error if we can exactly solve the reverse-mode integral, but due to the practical limitation of ODE solvers, it produces a small amount of error. However, 80.6% to 99.7% of the 183,280 cases in San Francisco, and 91% to 95.6% of the 31,360 cases in Seattle are still below the optimal occupancy rate , which are acceptable.

San Francisco’s mean observed occupancy rate and the mean optimized parking price at 12:00 p.m. in the test period for seven blocks in seven different districts
Figure 4. San Francisco’s mean observed occupancy rate and the mean optimized parking price at 12:00 p.m. in the test period for seven blocks in seven different districts

7. Case Studies

We introduce selected examples of prediction and price optimization outcomes with visualization. Figure 4 shows the mean observed (or ground-truth in the dataset) occupancy rate and optimized parking price of San Francisco during the test period. As shown, the optimized parking price and the observed parking occupancy rate are highly correlated. The correlation between the mean hourly observed occupancy rate and the mean optimized price on each block is 0.724 in our San Francisco’s test set.

The interesting point is that the mean optimized price jumped when the observed occupancy exceeded the ideal rate of 80%. The parking block in downtown, 500 Battery St’s occupancy rate was almost always over 90% at noon, with a mean rate of 93%. The mean optimized price at noon is $15, a fairly high price. Since the parking block is almost always over-occupied, our framework accordingly recommends a reasonably high price to reduce the occupancy rate. The average parking price observed in the dataset was $5.9, which seems to be insufficiently high to achieve the target occupancy rate.

Our strategy also shows adaptability to sudden changes in demand. On July 4, 2013, the aforementioned block’s parking occupancy rate was observed 1% at noon. For this day, our method dynamically decreased the price to $0.25, the minimum price. However, the observed price was $6. Similarly, the block in the civic center, 500 Franklin St., showed a low occupancy rate on average. However, on April 12, the occupancy rate at noon was higher than usual at 81%. Our optimized price was $1.72, while the observed price was $0.75–even lower than the mean price of $0.86. These cases demonstrate the robustness of our proactive optimization.

Fig. 5 shows the effectiveness of our dynamic pricing with some selected examples in two parking blocks in Seattle. As shown, their occupancy rates by the oracle in red are well controlled by our dynamic pricing in blue. The observed ground-truth price of these blocks is set to the basic price, $0.5, and adjusted to $1 at 5 p.m.

In Fig. 6, we show other types of visualization. In the four parking blocks of Seattle, the ground-truth occupancy rates observed in the data are above the ideal range in many cases, whereas our method successfully suppresses the occupancy rates on or below the range.

The correlation visualization between the occupancy rate and the optimized price. These figures include Seattle’s test data from January 31st.
(a) The block between E James St and E Cherry St, 12th Avenue
The correlation visualization between the occupancy rate and the optimized price. These figures include Seattle’s test data from January 31st.
(b) The block between E Marison St and E Spring St, 12th Avenue
Figure 5. The correlation visualization between the occupancy rate and the optimized price. These figures include Seattle’s test data from January 31st.
The comparison between the ground-truth occupancy rate and the predicted occupancy rate when our optimized pricing is applied. These figures show Seattle’s data.
(a) East Green Lake Dr N between NE 72nd St and NE Maple Leaf Pl
The comparison between the ground-truth occupancy rate and the predicted occupancy rate when our optimized pricing is applied. These figures show Seattle’s data.
(b) East Green Lake Dr N between NE Ravenna EB Blvd and NE 72nd St
The comparison between the ground-truth occupancy rate and the predicted occupancy rate when our optimized pricing is applied. These figures show Seattle’s data.
(c) East Green Lake Way N between 4th Ave NEand NE Ravenna SR Blvd
The comparison between the ground-truth occupancy rate and the predicted occupancy rate when our optimized pricing is applied. These figures show Seattle’s data.
(d) NE 64th St between 9th Ave NE and Roosebelt Way NE
Figure 6. The comparison between the ground-truth occupancy rate and the predicted occupancy rate when our optimized pricing is applied. These figures show Seattle’s data.

8. Conclusions & Limitations

In the U.S. metropolitan cities, dynamic pricing is necessary to keep parking occupancy rates within a tolerable range. To this end, we presented a one-shot prediction-driven optimization framework which is featured by i) an effective prediction model for the price-occupancy relation, and ii) a one-shot optimization method. Our prediction model is carefully tailored for the price-occupancy relation and therefore, it outperforms other general time series (or spatiotemporal) forecasting models. Our sophisticated prediction model, which includes many layers for processing the short-term and the long-term historical information, and the price information, is designed considering the optimization process, which is quite different from other predictive models. In general, predictive models are not designed considering optimization, and therefore, one should rely on a black-box optimization technique and so on. In our case, however, the price reflection module is deferred to after the initial prediction module, and the final prediction module relies on NODEs which are bijective and continuous. Owing to all these design points, the price optimization can be solved in . Our experiments with the data collected in San Francisco and Seattle show that the presented dynamic pricing works well as intended, outperforming other optimization methods. Our method is several orders of magnitude faster than them and successfully suppresses too large occupancy rates.

One limitation in our work is that we should have relied on the oracle model to verify the efficacy of our method (instead of running real systems in San Francisco and Seattle). However, this is a common limitation of many prediction-driven optimization researches (An et al., 2016, 2017; Chen et al., 2018a; Li et al., 2021; Jeon et al., 2021; Park and others, ). We contribute a novel approach, which drastically enhances the complexity of solving the optimization problem, to the community of prediction-driven optimization.

Acknowledgement

Noseong Park is the corresponding author. This work was supported by the Institute of Information & Communications Technology Planning & Evaluation (IITP) grant funded by the Korean government (MSIT) (No. 2020-0-01361, Artificial Intelligence Graduate School Program (Yonsei University)).

References

  • [1] (1995) A nonlinear knapsack problem. Operations Research Letters 17 (3), pp. 103–110. Cited by: §4.
  • B. An, H. Chen, N. Park, and V. S. Subrahmanian (2017) Data-driven frequency-based airline profit maximization. ACM Trans. Intell. Syst. Technol. 8 (4). Cited by: §1, §6.1, §6, §8.
  • B. An, H. Chen, N. Park, and V.S. Subrahmanian (2016) MAP: frequency-based maximization of airline profits based on an ensemble forecasting approach. In KDD, Cited by: §1, §6.1, §6, §8.
  • L. Bai, L. Yao, C. Li, X. Wang, and C. Wang (2020) Adaptive graph convolutional recurrent network for traffic forecasting. In NeurIPS, Cited by: §2.2, item 2.
  • A. Camero, J. Toutouh, D. H. Stolfi, and E. Alba (2018) Evolutionary deep learning for car park occupancy prediction in smart cities. In LION, pp. 386–401. Cited by: §1, §2.2.
  • H. Chen, B. An, G. Sharon, J. P. Hanna, P. Stone, C. Miao, and Y. C. Soh (2018a) DyETC: dynamic electronic toll collection for traffic congestion alleviation. In AAAI, Cited by: §6, §8.
  • R. T. Q. Chen, Y. Rubanova, J. Bettencourt, and D. K. Duvenaud (2018b) Neural ordinary differential equations. In NeurIPS, Cited by: §1, §2.1, §2.1, §3.5.
  • J. Choi, H. Choi, J. Hwang, and N. Park (2022) Graph neural controlled differential equations for traffic forecasting. In AAAI, Cited by: §2.2.
  • J. Choi, J. Jeon, and N. Park (2021) LT-ocf: learnable-time ode-based collaborative filtering. In CIKM, pp. 1020–1031. Cited by: §2.1.
  • J. Chung, C. Gulcehre, K. Cho, and Y. Bengio (2014) Empirical evaluation of gated recurrent neural networks on sequence modeling. arXiv:1412.3555. Cited by: item 1.
  • J.R. Dormand and P.J. Prince (1980) A family of embedded runge-kutta formulae. Journal of Computational and Applied Mathematics 6 (1), pp. 19 – 26. Cited by: §2.1.
  • E. Dupont, A. Doucet, and Y. W. Teh (2019) Augmented neural odes. In NeurIPS, Cited by: §2.1.
  • T. Fabusuyi and R. C. Hampshire (2018) Rethinking performance based parking pricing: a case study of sfpark. Transportation Research Part A: Policy and Practice 115, pp. 90–101. Cited by: §2.3.
  • P. Ghent, D. Mitchell, and A. Sedadi (2012) LA express park™-curbing downtown congestion through intelligent parking management. In 19th ITS World CongressERTICO-ITS EuropeEuropean CommissionITS AmericaITS Asia-Pacific, Cited by: §1.
  • O. Granmo and B. J. Oommen (2010) Solving stochastic nonlinear resource allocation problems using a hierarchy of twofold resource allocation automata. IEEE Transactions on Computers 59 (4), pp. 545–560. Cited by: §4.
  • S. Hochreiter and J. Schmidhuber (1997) Long short-term memory. Neural computation 9, pp. 1735–80. External Links: Document Cited by: item 1.
  • J. Jeon, D. Lee, S. Hwang, S. Kang, N. Park, D. Li, K. Lee, and J. Liu (2021) Large-scale flight frequency optimization with global convergence in the us domestic air passenger markets. In SDM, Cited by: §1, §6.1, §6, §8.
  • W. Jiang and J. Luo (2021) Graph neural network for traffic forecasting: a survey. arXiv preprint arXiv:2101.11174. Cited by: §2.2.
  • J. Kim, J. Jeon, J. Lee, J. Hyeong, and N. Park (2021) OCT-gan: neural ode-based conditional tabular gans. In TheWebConf, Cited by: §2.1.
  • D. P. Kingma and J. Ba (2014) Adam: a method for stochastic optimization. arXiv preprint arXiv:1412.6980. Cited by: item 2.
  • D. Li, J. Liu, J. Jeon, S. Hong, T. Le, D. Lee, and N. Park (2021) Large-scale data-driven airline market influence maximization. In KDD, Cited by: §1, §6.1, §6, §8.
  • Y. Li, R. Yu, C. Shahabi, and Y. Liu (2018) Diffusion convolutional recurrent neural network: data-driven traffic forecasting. In ICLR, Cited by: §2.2, item 2.
  • T. Lin, H. Rivano, and F. Le Mouël (2017) A survey of smart parking solutions. IEEE Transactions on Intelligent Transportation Systems 18 (12), pp. 3229–3253. Cited by: §1.
  • T. Lyons, M. Caruana, and T. Lévy (2004) Differential equations driven by rough paths. Note: École D’Eté de Probabilités de Saint-Flour XXXIV - 2004 Cited by: §3.5.
  • S. Massaroli, M. Poli, J. Park, A. Yamashita, and H. Asama (2020) Dissecting neural odes. External Links: 2002.08071 Cited by: §2.1.
  • [26] N. Park et al. APE: a data-driven, behavioral model based anti-poaching engine. to appear in IEEE Trans. Computational Social Systems. Cited by: §6, §8.
  • G. Pierce and D. Shoup (2013) Getting the prices right: an evaluation of pricing parking by demand in san francisco. Journal of the american planning association 79 (1), pp. 67–81. Cited by: §1, §1.
  • A. Ruszczynski (2006) Nonlinear optimization. Princeton University Press. Cited by: §4.
  • S. Saharan, N. Kumar, and S. Bawa (2020) An efficient smart parking pricing system for smart city environment: a machine-learning based approach. Future Generation Computer Systems 106. Cited by: §1, §2.3.
  • W. Shao, Y. Zhang, B. Guo, K. Qin, J. Chan, and F. D. Salim (2018) Parking availability prediction with long short term memory model. In International Conference on Green, Pervasive, and Cloud Computing, pp. 124–137. Cited by: §1, §2.2.
  • E. Simhon, C. Liao, and D. Starobinski (2017) Smart parking pricing: a machine learning approach. In 2017 IEEE Conference on Computer Communications Workshops, Cited by: §2.2.
  • E. I. Vlahogianni, K. Kepaptsoglou, V. Tsetsos, and M. G. Karlaftis (2016) A real-time parking prediction system for smart cities. Journal of Intelligent Transportation Systems 20 (2), pp. 192–204. Cited by: §2.2.
  • B. Yu, H. Yin, and Z. Zhu (2018) Spatio-temporal graph convolutional networks: a deep learning framework for traffic forecasting. In IJCAI, Cited by: §2.2, item 2.
  • W. Zhang, H. Liu, Y. Liu, J. Zhou, and H. Xiong (2020) Semi-supervised hierarchical recurrent graph neural network for city-wide parking availability prediction. In AAAI, Cited by: §2.2.
  • Y. Zheng, S. Rajasegarar, and C. Leckie (2015) Parking availability prediction for sensor-enabled car parks in smart cities. In ISSNIP, Cited by: §2.2.
  • J. Zhuang, N. C. Dvornek, S. Tatikonda, and J. S. Duncan (2021) MALI: a memory efficient and reverse accurate integrator for neural odes. In ICLR, Cited by: item 5.