Improving Parking Garage Efficiency using Reservation Optimization Techniques By Arjun Rao Advisor : Dr. Ivan Marsic Committee Members : Dr. Joseph Wilder Dr. Manish Parashar INTRODUCTION Problems with Parking Garages • No reservation policy – Only display of rates and location – No reservation of parking spots • Ambiguity of information – Display of number of parking spots available creates ambiguity • Environmental concerns – 40% of total traffic (1) – 47000 gallons of gas was used up in a year in a business district of LA(1) • Lack of revenue management 2 OUTLINE • Goals • Proposed Solutions • Research Questions • System Architecture • Algorithms • Results • Conclusions and Future Work 3 GOALS Improve parking garage operation efficiency 1. Track car position for real-time monitoring 2. Improve reservation efficiency in garages using reservation defragmentation techniques 3. Improving revenue for parking garages using revenue management techniques 4 OUTLINE • Goals • Proposed Solutions • Research Questions • System Architecture • Algorithms • Results • Conclusions and Future Work 5 PROPOSED SOLUTIONS What is Tracking of a car in a parking garage? • Knowing real-time position from entrance up to parking. • Obtaining knowledge of which parking spot has the car been actually parked in • Tracking is simulated based on real-world parameters 6 PROPOSED SOLUTIONS What is Reservation Defragmentation? Parking Slots • Aim to free parking spots so as to accommodate more parking reservations Time Slots 1 • Re-arrangement of reservations to increase efficiency •Similar to disk defragmentation in principle. 2 3 4 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 5 2 3 4 5 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 After Compaction Reservations Swapped Reservations moved due to defragmentation Reservations not moved even after defragmentation 7 PROPOSED SOLUTIONS What is Revenue Management? • Implemented Types: -Booking Limits: Classifying parking spots in garage based on fare to increase revenue Corporate Class Leisure Class Booking Limits -Overbooking: Permitting reservations beyond capacity of parking garage to account for noshows i. Spoilage Costs ii. Denied Parking Overbooking 8 OUTLINE • Goals • Proposed Solutions • Research Questions • System Architecture • Algorithms • Results • Conclusions and Future Work 9 RESEARCH QUESTIONS A) Tracking • • What method can be used to track cars? What metrics should be selected to show effectiveness of these algorithms? B) Reservation Defragmentation • • What methods can be used for packing more number of reservations into the garage? What metrics should be chosen to demonstrate efficiency of such algorithms? C) Revenue Management • • What techniques can be used for revenue management? Can these techniques from other industries be directly be ported over to the parking garages? 10 OUTLINE • Goals • Proposed Solutions • Research Questions • System Architecture • Algorithms • Results • Conclusions and Future Work 11 SYSTEM ARCHITECTURE Overall System Tracking Sub-System Reservation Defragmentation Sub-System Parking Garage Entrance Console Database Remote Client Revenue Management Sub-System 12 SYSTEM ARCHITECTURE Tracking System Parking Lot Functions ______________ Simulator ______________ -Mark entry -Track -Park - Provide new spot -Determine accuracy -Arrival Thread -Sensor detection -Path vectors - Modified spot generation Database (MySQL) SYSTEM ARCHITECTURE Reservation Defragmentation Parking Lot Functions ______________ -Make reservation -Defragmentation -Update reservations Simulator ______________ -Reservation thread -Bitmap/Vector allocation -Defragmentation thread Database (MySQL) 14 SYSTEM ARCHITECTURE Revenue Management Database -Decide Parameters -Run Booking Limit Algorithm -Decide Parameters -Run Overbooking Algorithm Set Booking Limits Set Overbooking capacity OUTLINE • Goals • Proposed Solutions • Research Questions • System Architecture • Algorithms • Results • Conclusions and Future Work 16 ALGORITHMS I. Tracking Sensor details • Sensor action is simulated using real-world commercially available sensor data (cost and accuracy). Ultrasonic Sensor Prototype(2) • Ultrasonic sensors used for car detection (motion and occupancy) • Sensors are used for interfloor and intra-floor motion detection • All sensors are ceiling mounted Wiring up ultrasonic sensors(2) Example of a parking garage with ultrasonic sensors ALGORITHMS Tracking Floor Exit Floor Floor ExitSensor Sensor 23.5 ft • Features included – Track car path – Dynamic allocation 23.5 ft Forward Algorithm tracks car based on sensor crossed 23.5 ft Floor Sensor Floor Sensor Sensor Floor Entry Floor Entry • Forward High Accuracy/High cost 23.5 ft • 23.5 ft 9 ft Forward More sensors used 18 ft 200 ft • 18 ft 23.5 ft a) Algorithm T1 202 ft Forward I. 18 ALGORITHMS Tracking Floor Exit FloorExit Sensor Floor Sensor 23.5 ft • Features included – Track car path – Dynamic allocation 23.5 ft Row Sensor Row Sensor Row Sensor Forward Algorithm tracks car based on sensor crossed 23.5 ft Row Sensor Floor Sensor FloorFloor EntrySensor Sensor Floor Entry • Forward Low Accuracy/Low cost 23.5 ft 23.5 ft • 18 ft 9 ft Forward Fewer sensors used 200 ft • 18 ft 23.5 ft b) Algorithm T2 202 ft Forward I. 19 ALGORITHMS I. Tracking c) Performance metrics • Inaccurate Tracking - Fail to detect occupancy sensor OR - Fail to achieve the tolerance limit (10%,50%,75% ) • Example of 50% tolerance Number of sensor points Example of 75% tolerance ALGORITHMS II. Reservation Defragmentation Usage of bitmap Parking Spot Index 1 2 3 4 5 . . 500 ... 0000 1 1 1 0 0 0 0 0030 0 0 1 1 1 1 1 0100 0 0 0 0 0 1 0 0 0 0 1 1 1 • It is a matrix of 1’s and 0’s having ‘m’ rows each indicating ‘30 minutes’ of time and ‘n’ columns indicating parking spot index. • ‘1’ indicates ‘Reservation made’ and ‘0’ indicates ‘Free space’. Time (hours) • Bitmap indicates if reservation is made for that spot and time. : : : 2330 0 Bitmap matrix 21 ALGORITHMS II. Reservation Defragmentation Bitmap Terminology Current Time Contiguous Free Time Slot for Spot 4 Time Free Space Current Time Time Slot Index Reservation Made 0 1 2 3 4 5 6 7 8 9 Contiguous Free Time Slot for Spot 4 0 1 Before Defragmentation 2 3 Parking Spot Index 4 After Defragmentation ALGORITHMS II. Reservation Defragmentation Types of reservations used 1. Next Day Reservations 2. Current Day Reservations 23 ALGORITHMS II. Reservation Defragmentation Basic Components First Fit Algorithm Defragmentation Algorithm 24 ALGORITHMS II. Reservation Defragmentation Parking Spot Index a) First Fit Algorithm(3) • • • Attempts to place the reservation in the first parking spot that can accommodate the reservation. Easy to implement. 1 1 2 2 3 4 5 6 5 11 6 2 8 3 10 4 3 5 9 Fast allocation Inefficient allocation 1 0 Time slot Index • 0 6 7 4 12 7 ALGORITHMS II. Reservation Defragmentation Implemented Algorithms 1. • Algorithm R1 • Interval Scheduling 2. • Algorithm R2 • Recursive First Fit 3. • Algorithm R3 • Free Space Vector 26 ALGORITHMS II. Reservation Defragmentation b) Algorithm R2: Recursive First Fit Decreasing(5) Sort Arrange • Sort reservations according to decreasing reservation duration • Re-arrange compatible reservations using first-fit algorithm. 27 28 ALGORITHMS II. Reservation Defragmentation • Algorithm R2: Example Reservations sorted according to durations Sort 8 7 12 1 4 11 2 10 9 5 3 28 ALGORITHMS II. Reservation Defragmentation • Algorithm R2: Example->Current Day Parking Spot Index 0 1 2 3 4 5 Parking Spot Index 6 7 Current Time 0 1 2 3 4 5 1 3 8 4 3 5 9 6 11 11 Time slot Time Slot Index 6 7 4 10 12 2 1 6 2 1 PostDefrag 3 8 10 7 12 4 3 4 9 5 6 Time Slot Index 2 5 5 2 7 0 0 1 6 ALGORITHMS II. • Reservation Defragmentation Algorithm R3: Example-> Current Day Parking Spot Index Parking Spot Index Current Time 0 1 2 3 4 5 6 7 0 0 4 3 5 9 7 4 10 12 PostDefrag 11 Time slot 8 6 2 1 3 6 11 Time slot Time Slot Index 2 6 2 1 5 1 8 3 9 7 4 10 2 3 4 12 5 6 Time Slot Index 5 1 ALGORITHMS II. Reservation Defragmentation • Algorithm R1: Example->Next Day Parking Spot Index 0 1 2 3 4 5 Parking Spot Index 6 7 Current Time 0 1 2 3 4 5 6 7 0 11 5 5 8 10 4 3 5 9 6 7 4 6 2 2 3 11 1 6 2 Time slot Time Slot Index 1 PostDefrag 8 10 3 12 12 9 7 4 Time Slot Index 1 ALGORITHMS II. Reservation Defragmentation Performance Metrics • Percentage Reduction in Free time slots = Number of empty time slots (Pre-defrag)-Number of empty time slots(Post-defrag) Number of empty time slots (Pre-Defrag) 100 • Percentage Decrease in Occupied Parking spots = Number of empty parking spots (Pre-defrag)-Number of empty parking spots(Post-defrag) Number of empty time slots (Pre-Defrag) 100 ALGORITHMS II. Reservation Defragmentation Performance Metrics • Reduction in mean length of contiguous free time slot (say Mx) : – Calculate total number of free time slots per parking spot (say FTM) – Calculate number of sets of contiguous time slots per parking spot (say S) Mx = FTM / S • Percentage Increase in garage capacity = Total number of cars in garage( Post-defrag) - Total number of cars in garage (pre-defrag) Total number of cars in garage (Pre-defrag) 100 ALGORITHMS III. Revenue Management a) Booking Limits Algorithm(7) • Booking Limit = C – Q* Where C = Capacity of garage Q* = Optimal Protection level • Calculate F(Q) where F(Q) is the cumulative probability of demand for the spot at the corporate class cost given that Q is the protection level. Traditionally, derived from historical data but in our case derived from simulation based on real- world values 500 parking slots • Two fare class model (Leisure class and Corporate class Q+1 slots protected (protection level) Customer wants this slot at lower price 500-Q-1 slots sold at a lower price (booking limit) 34 ALGORITHMS III. Revenue Management a) Booking Limits Algorithm •Mathematical decision: If we protect Q+1 spots for the corporate class, then we should lower the protection to ‘Q’ as long as: (1 – F(Q)) (Rh) <= Rl ; F(Q) = Cumulative Probability Rh = Corporate class fare Rl = Leisure class fare Lower Protection Level from Q+1 to Q Yes Revenue = Leisure Class Price No Probability = F(Q) Revenue = 0 No Is Protected Slot sold before end of day? Yes Probability = 1-F(Q) Revenue = Corporate Class Price 35 ALGORITHMS III. Revenue Management b) Overbooking Algorithm: Probabilistic/Risk Model(8) • Probability equation decides amount of overbooking to be done. • Overbooking (AU) on a garage [capacity (CAP)] such that we have a minimum number of customers denied parking. Basic Equation AU × (1-NSR)* = CAP Overbooking •Gaussian no-show rate (NSR) for reservations. 36 ALGORITHMS III. Revenue Management c) Overbooking Algorithm: Probabilistic/Risk Model • Difference between airline and garage overbooking • Overbooking amount calculated prior reservations being made. is to •Overbooking done on entire garage capacity. Formula AU = _______CAP_______ (1-NSR + 1.645*STD) Where, AU = Total Overbooked Capacity (in 30 minute slots) CAP = Garage Capacity (in hours) NSR = No-show rate STD = Std. Deviation of NSR 37 Outline • Goals • Proposed Solutions • Research Questions • System Architecture • Algorithms • Results • Conclusions and Future Work 38 RESULTS I. Tracking Simulation Parameters Sr. No. Parameter Value Garage Operator Parameters 1. Sensor failure 2%,5%,10%,20%,50% Yes 2. Speed Limit Max. limit of 30.23mph Yes 3. Arrival Distribution Poisson Distribution Yes 4. Customer Arrival Rate 100 cars per hour Yes 5. Garage Capacity 500 parking spots Yes 6. Performance Metric 10%, 50% and 75% tolerance Yes 39 RESULTS Tracking Percentage inaccurate trackings for given tolerance 100 90 Percentage Inaccurate Trackings I. 80 70 60 Algo. T1 : 75% 50 Algo. T2 : 75% 40 Algo. T1 : 10% 30 Algo. T2 : 10% 20 10 0 2 5 10 20 Sensor Failure Rate(in %) Capacity of garage = 500 spots 50 40 RESULTS Tracking Average number of sensor points per car 12 Number of sensors whose data is recorded I. 10 8 6 Algorithm 1 Algorithm 2 4 2 0 2% 5% 10% Sensor Failure Rate 20% 50% 41 RESULTS I. Tracking Conclusions • With increase in sensor failure rate, increase in inaccurate tracking is exponential • Algorithm T2 is more inaccurate than Algorithm T1 due to usage of fewer sensors • Higher the failure tolerance, lesser are the inaccurate readings Sensor Failure Rate Failure Tolerance Inaccurate tracking Inaccuracies observed RESULTS I. Tracking Conclusions • Information Provided 3 Algorithm T1 • Algorithm T2 11 Implementation Costs Algorithm T1 Algorithm T2 RESULTS II. Reservation Defragmentation Simulation Parameters Sr. No. Parameter Value 1. Garage Capacity 500 parking spots 2. Period of observation 24 hours 3. Duration of reservations 30 minutes to 22 hours 4. No-show rate 15% 5. Type of reservations Next-day reservations 6. Performance Metric 1 Time slots freed Performance Metric 2 Parking spots freed Performance Metric 3 Length of contiguous free time slots 44 RESULTS II. Reservation Defragmentation Decrease in fragmented free time slots after 15% random cancellation % decrease in fragmented free time slots 70 60 50 40 Algorithm R1 30 Algorithm R2 Algorithm R3 20 10 0 200 500 1000 Number of reservations made for the day 1750 Reservations 95% of maximum capacity 1750 RESULTS II. Reservation Defragmentation Decrease in occupied parking spots after 15% random cancellation 20 % increase in free parking spots 18 16 14 12 Algorithm R1 10 Algorithm R2 8 Algorithm R3 6 4 2 0 200 500 1000 Number of reservations made in the day 1750 Reservations 1750 95% of maximum capacity 46 RESULTS II. Reservation Defragmentation Mean length of contiguous free time slots (Before Defragmentation) 50 48 time slots (max. number of free time slots per parking spot) 40 30 20 ---- Pre-Defrag 10 0 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300 310 320 330 340 350 360 370 380 390 400 410 420 430 440 450 460 470 480 490 Mean Length of number of free time slots 60 Parking Spot Index 47 RESULTS Mean Length of number of free time slots II. Reservation Defragmentation 48 time slots (max. number of free time slots per parking spot) 48 For 1750 reservations RESULTS II. Reservation Defragmentation Conclusions (Next day) • Increase in number of reservations causes increase in percentage defragmentation • Algorithm R2 provides best defragmentation in terms of metrics when random cancellation is carried out. • Algorithm R3 provides improved parking garage spot occupancy when block cancellation is carried out. • Std. deviation for R2 is lesser than R1 and R3 indicating more predictability of algorithm R2. 49 RESULTS II. Reservation Defragmentation Simulation Parameters Sr. No. Parameter Value 1. Garage Capacity 500 parking spots 2. Period of observation 24 hours 3. Duration of reservations 30 min to 22 hrs (exp. dist.) 4. No-show rate 15% 5. Type of reservations Current-day reservations 6. Performance Metric Increase in garage capacity 50 RESULTS II. Reservation Defragmentation Percentage increase in maximum occupancy of parking garage 6.00% Percentage Increase 5.00% 4.00% Algorithm R1 3.00% Algorithm R2 Algorithm R3 2.00% 1.00% 0.00% 51 RESULTS III. Revenue Management Simulation Parameters Sr. No. Parameter Value 1. Garage Capacity 500 parking spots 2. Fare classes Leisure Class and Corporate class 3. Leisure Fare/Corporate Fare 0.166-0.75 (based on airlines) 4. Corporate Customer Arrival Distribution Poisson Distribution 5. Corporate Customer Arrival Rate 5 cars/hour to 500 cars/hour 6. Performance Metric Protection level and Booking Limit 52 RESULTS III. Revenue Management Protection level for Poisson distribution Percentage of parking spots reserved for corporate booking 100 90 80 70 Rl/Rh 60 0.166 0.23 50 0.33 40 0.5 30 0.667 20 0.75 10 0 5 10 25 50 100 150 250 Corporate Arrivals (Cars per hour) Parking Garage Capacity = 500 spots 400 500 53 RESULTS III. Revenue Management Simulation Parameters Sr. No. Parameter Value 1. Garage Capacity 500 parking spots 2. Fare classes Leisure Class and Corporate class 3. Leisure Fare/Corporate Fare 0.166-0.75 (based on airlines) 4. Corporate customer arrival distribution Binomial Distribution (used for heavy traffic with uniform distribution) 5. Corporate customer arrival Probability 10% - 90% 6. Performance Metric Protection level and Booking Limit 54 RESULTS III. Revenue Management Booking Limits for Binomial Distribution 100 90 Percentage of spots reserved for Corporate Booking 80 Rl/Rh 70 60 0.166 50 0.23 0.33 40 0.5 0.666 30 0.75 20 10 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 Probability of customer entering to be a corporate customer Parking Garage Capacity = 500 spots 0.9 55 RESULTS III. Revenue Management Conclusions • With Poisson arrival distribution, increase in corporate customer arrival rate and rate ratio leads to an exponential increase in protection level • For Poisson distribution, increase in arrival rate of corporate customers causes more proportional increase in protection level as compared with increase in ratio of leisure class to corporate class fare. • With Binomial distribution, as the probability of an entering customer to be a corporate customer increases, with increasing rate ratio, protection level increases almost linearly. • Hence, for optimum protection level, irrespective of arrival distribution, the parking garage should have a high corporate customer arrival and high Rl/Rh ratio. RESULTS III. Revenue Management Simulation Parameters Sr. No. Parameter Value 1. Garage Capacity 500 parking spots 2. No-show distribution Gaussian 3. No-show rate 10% - 50% 4. Std. Dev. Of No-show rate 0.01 - 0.5 4. Customer Arrival Distribution Poisson 5. Performance Metric Overbooking Capacity 57 RESULTS III. Revenue Management 250 Overbooking limits for Probabilistic/Risk Model Total % of overbooking (AU) 200 NSR 150 0.1 0.2 0.3 100 0.4 0.5 50 0 0.01 0.02 0.05 0.08 0.1 0.25 Standard Deviation for Gaussian Distribution of No-shows 0.5 58 RESULTS III. Revenue Management Conclusions • For low values of standard deviation of no-show rate, overbooking is useful since we can afford to book more reservations than the maximum capacity of parking garage. • For high values of standard deviation of no-show rate, overbooking is futile since we are not even able to reach capacity booking • For high values of no-show rate, we see higher values of overbooking as compared with low values of no-show rate. . 59 Outline • Goals • Proposed Solutions • Research Questions • System Architecture • Algorithms • Results • Conclusions and Future Work 60 CONCLUSIONS I. Discussion of Research Questions • A suitable tracking metric was developed Duration [Tolerance] Tracking Metric Accuracy [Inaccurate trackings] Total Freed parking spots Total Freed time slots Defrag Metric Increase in capacity of garage Contiguous free time slots • A suitable reservation defragmentation metric was developed 61 CONCLUSIONS I. Discussion of Research Questions Existing formulae • Suitable modifications were made to obtain booking limits for parking garages. Booking Limits for Parking Garages Suitable Parking distributions Airline [Airline Seats] Overbooking Parking Garage [Hours of Parking] • Modification of overbooking for parking garage led to a suitable metric 62 FUTURE WORK • Usage of a prediction model which would give some prior knowledge about the future usage of system which would enable allocating spots to users in a more efficient manner. • Explore feasibility of n-fare booking limits for parking garage • Perform overbooking only on certain booking classes • Look into implementation of overbooking with reservation defragmentation 63 REFERENCES (1) Shoup D. (2007), “Cruising for parking,” Access, vol. 30, 16–22. (2) Lee, S.; Yoon, D.; Ghosh, A.; , "Intelligent parking lot application using wireless sensor networks," Collaborative Technologies and Systems, 2008. CTS 2008. International Symposium on , vol., no., pp.48-57, 19-23 May 2008 doi: 10.1109/CTS.2008.4543911 (3) Robson J.M. (1977), ‘Worst case fragmentation of first fit and best bit storage allocation strategies’, ACM Computer Journal, 20(3), 242-244. (4) Kleinberg J., Tardos E. (2005), ‘Algorithm Design’, Pearson-Addison Wesley 2005, 3-8 (5) Lodi A., Marro G., Martello S., Toth P. (1996), ‘Algorithms for Two-Dimensional Bin Packing and Assignment Problems’, Universitµa Degli Studi Di Bologna, 46-60 (6) Jensen C. (1994), Fragmentation: The Condition, the Cause, the Cure, Executive Software International (ISBN 09640049-0-9). (7) Netessine S. and Shumsky R. (2002), Introduction to the Theory and Practice of Yield Management, INFORMS Transactions on Education, 3, 34-44. (8) Belobaba, P.P. (1987), ‘Survey Paper--Airline Yield Management: An Overview of Seat Inventory Control’, Transportation Science 1987 21, 63-73 64 Thank You!