You are on page 1of 17

3rd Conference on Sustainable Urban Mobility

26-27 May, 2016, Volos, Greece

Online algorithm for dynamic dial a


ride problem and its metrics.
Athanasios Lois, University of Thessaly
What is the problem?
1. To investigate how an ONLINE Demand Responsive Transportation SYSTEM
behaves (in terms of profitability) under heavy demand where each trip request:
1. Should get an YES/NO answer in no more than 60 seconds.
2. Should be optimized as much as possible in terms of cost (distance).

Who are the potential users?


1. Local authorities who want to offer transportation services on demand.
2. Taxi and minivan companies who are interested for DRT systems.
What was the proposed system concept/challenges
1. Build an online DRT system which has an online dial-a-ride algorithm as its core.
2. Use the regret optimization technique.
3. Design the optimization procedure so that every trip request is handled as an
emergency request.
DATA
1. The Data was acquired during a nine week run of a static DRT application in the
municipality of Philippi .
2. There were full details for each trip, including the call time and the location of the
request.
3. We constructed 9 experiments based on this Dataset
Operational Environment and simulation assumptions
1. Unlimited fleet size.
2. Vehicle capacity 12 seats.
3. The Maximum time that an online trip request must be processed or rejected, was 60
seconds. After that, dispatcher proceeds to the next trip request.
4. Maximum pickup waiting time:15 minutes
5. Maximum trip demand ride time: 1.5 times the absolute shortest path time.
6. Cost per distance unit (Km): 0.32 currency units.
7. Charging price per distance unit (Km) per customer: 0.32 currency units.
8. Work period: one full day (or 86400 seconds).
Simulating Online Nature
How we simulated the online nature?
By creating:
1. Virtual dispatcher to initiate realistic trip requests based on real data record.
2. Virtual phone operator who accepts these requests and feeds them to the online DRT
system
Combined Algorithmic scheme
Step1: While (run continuously reading current time)
Step 1.1: Get Dispatcher input
Step 1.2: If there is a Demand
Call online Fast Insertion (OR-DARP-NoOpt)
Else if Routes Schedule can be optimized more Fast
Call online Regret optimization (OR-DARP-Opt) Dispatcher
Insertion

Regret
Optimization
Dispatcher Module
While (continuously accept demands)
if Demands Queue not empty and demands waiting time <= 60 seconds
If online algorithm signals IDLE_STATE or SOFT_WORKING_STATE wait send
Send to the online algorithm the current demand
Remove it from QUEUE
Else
Do Nothing
if waiting time > 60 seconds
Reject Demand
d
Remove it from QUEUE s
e
End while i
m
a g
The dispatcher algorithm works under three conditions concerning the response of the online n n
algorithm. d a
s l
Condition 1: HARD_WORKING_STATE.
Condition 2: SOFT_WORKING_STATE.
Condition 3: IDLE_STATE.

algorithm


Online Fast Insertion Algorithm(OR-DARP-NoOpt)
(minimum optimization)
Step0: Build routes for every vehicle
Step1: for every Online Demand
Step1.1:for every vehicle routes do
Α. find the Best Insertion Position
Β. If not Best Insertion Position found, then Reject trip request and repeat step1
Step1.2: From all Best Insertion Positions select the minimum cost one
Step1.3: Assign that Online Demand to the appropriate Vehicle Route and go to step 1

PASS FUTURE
Route 1
Route 2 b
Route 3
…. e
… s
Route n
t
Online Regret Optimization Algorithm(OR-DARP-Opt)
(maximum optimization)
Step 1:While(run continuously)
if System can be optimized more
Step 1.1: for every Route find the “Most Expensive” Trip Assignment !diagonal cells
Step 1.2: for every Route
find the assignment cost of the “Most Expensive” trip to any other route ! same column
keep the minimum assignment cost (if it is below “Most Expensive” assignment)
Step 1.3: From all minimum assignment costs select the maximum difference between them and the most
expensive assignment of each row
Move the “Most Expensive” trip to the appropriate new route
Else Do nothing

Step 1.1 Step 1.2 Step 1.2

D1 D2 D3 D4 D5 Dn D1 D2 D3 D4 D5 Dn D1 D2 D3 D4 D5 Dn
Route 1 100 Route 1 100 inf inf 100 110 58 Route 1 100 inf inf 100 110 58
Route 2 140 Route 2 145 140 50 23 38 33 Route 2 145 140 50 23 38 33
Route 3 55 Route 3 180 120 55 50 inf inf Route 3 180 120 55 50 inf inf
Route 4 33 Route 4 Inf 123 30 33 90 20 Route 4 Inf 123 30 33 90 20
Route 5 80 Route 5 inf 155 inf 68 80 60 Route 5 inf 155 inf 68 80 60
Route n 39 Route n 60 135 130 34 85 39 Route n 60 135 130 34 85 39
Max diff 40 20 25 10 42 19

Move D5 from route 5 to route 2 Repeat the Opt Cycle until no


because the gain is the largest one 42. improvement is possible.
Online Regret Algorithm test results
for 1-day operation period
# Requested Online Assigned Not satisfied trip Avg Passengers
Trip demands Online trip demands per KM
demands percentage
1 94 94 0.00% 1.4
2 226 226 0.00% 1.77
3 415 414 -0.24% 2.27
4 624 622 -0.32% 2.43
5 803 735 -8.47% 2.57
6 949 727 -23.39% 2.51
7 1151 873 -24.15% 2.46
8 1370 890 -35.04% 2.4
9 1619 1012 -37.49% 2.59

1. After experiment #5 our online DRT has non served demands.


2. On experiment #9 where demand is heavy and comes in burst mode our
DRT has 37% non served demands.
Online Fast Insertion vs Online Regret Optimization
What consumes our processing time?
# Trip Assign Insertion Total Max Max
Insertion Vs Regret (Time -
Reques ed Time Regret Insertion Regret
Dimension)
ts Trips (Sec) Time Time(sec) Time(Sec) 60000
(Sec) 50000
1 94 94 12.97 60.41 0.410 3.330 40000
2 226 226 182.69 1266.11 2.57 39.24 30000
3 415 414 404.88 7330.59 2.82 196.83 20000
4 624 622 730.92 15246.4 3.51 343.3
10000
5 803 735 1862.51 29432.5 7.160 790.9
0
6 949 727 2406.16 37519.2 11.41 909. 1 2 3 4 5 6 7 8 9

7 1151 873 2456.50 41219.0 9.2 768.0


8 1370 890 2857.13 44882.7 12.37 709.7
9 1619 1012 3636.53 48463.1 14.1 1207

Regret Optimization consumes the major part of the processing Time


Online Regret Optimization vs Online Fast Insertion. Is
it worth it?
# Serviced Demands Serviced Objective improvement
By Demands (if Regret optimization applied)
Fast By
Insertion Fast Ins & Regret
OPT
1 94 94 1.148%
2 226 226 1.906%
3 414 414 3.725%
4 622 622 3.073%
5 735 735 3.289%
6 727 727 0.679%
7 873 873 0.410%
8 890 890 3.046%
9 1012 1012 2.918%

Definitely YES. In all experiments online regret optimization outperforms fast insertion.
Best score is close to 4% which is not bad given the online nature, where optimization
applies to a limited (future horizon) set of trip demands
What if we were using only Fast Insertion Algorithm?
# Trip Requests Assigned Trips
1 94 94
2 226 226
3 415 415
4 624 624
5 803 803
6 949 949
7 1151 1151
8 1370 1370
9 1619 1619

All trip requested were accepted. No Rejection at all.


Investor Question: Do we need an optimization engine?

# Fast Insertion Regret Trips Profits Profits Diff %


Served Optimization Diff % Difference
Demands Served demands
1 94 94 0.00% 46€-48€(2) 4,348%
2 226 226 0.00% 193€-200€(7) 3,627%
3 415 414 -0.24% 535€-554€(19) 3,551%
4 624 622 -0.32% 874€-886€(12) 1,373%
5 803 735 -8.47% 1180€-1096€(-84) -7,119%
6 949 727 -23.39% 1514€-1071€(-443) -29,260%
7 1151 873 -24.15% 1794€-1263€(-531) -29,599%
8 1370 890 -35.04% 2076€-1225€(-851) -40,992%
9 1619 1012 -37.49% 2521€-1496€(-1025) -40,658%

Answer: Yes, below a certain number of trip requests the optimization engine makes a
profit. Above this number we loose more because of unserved demands.
Investor Question: What is the critical point?
performance vs profits
1(94) 2(226) 3(415) 4(624) 5(803) 6(949) 7(1151) 8(1370) 9(1619)
10.00%
0.00%
-10.00%
-20.00%
-30.00%
-40.00%
-50.00%

Trips Diff % Profit Diff %

# Trips Diff% Profit Diff %


1(94) 0.00% 4,348%
2(226) 0.00% 3,627%
3(415) -0.24% 3,551%
4(624) -0.32% 1,373%
Critical 5(803) -8.47% -7,119%
6(949) -23.39% -29,260%
7(1151) -24.15% -29,599%
8(1370) -35.04% -40,992%
9(1619) -37.49% -40,658%
Some conclusions
In this study we presented metrics on performance vs profits of an
online dial-a-ride algorithm.
1. The proposed online algorithm is designed to use optimization procedures during idle
processing time.
2. Every trip request is handled as an emergency trip request taking the highest priority
for optimization tasks.
3. The selected approach ensures that customers get prompt, appropriate, and final
response, independent of system load.
4. The proposed online -regret based- dial a ride algorithm reaches a critical point where,
the application of the optimization procedure is no longer a profit factor for the DRT
system because of the non-served demands.
Open issues
1. The optimization procedures.
1. The appropriate use of optimization procedures in online algorithms.
2. The way we embed optimization into online algorithms.
3. The balance between the effectiveness of optimization and the rejection of
requested trips.
2. The forecast of the incoming demands.
1. The utilization of historical data regarding users’ mobility habits and the duration
of the forecasting period.
2. Fine tuning forecasting parameter values (time horizons, demand occurrence
probabilities).

You might also like