3.1. Simulation for Car Sharing
In this paper, a simulation model is presented to evaluate a station based one-way service, which allows customers to use a car and return it to a different station. In addition, the result of simulation can be used to analyze the impact of a one-way service and the size of the station. A comparison is presented in this report based on the acceptance ratio, utilization ratio, average number of parked cars, and maximum number of parked cars for a one-way car sharing service. The simulation is run for every possible combination such as number of cars, number of reservations, and different distribution of one-way reservation.
As shown in
Figure 1, a three-step process is used in this study. First, the simulation scenarios which contain the artificial data (reservation, station, vehicle data) are generated using the trip generator based on customer travel demand, number of vehicles, number of stations, number of reservation and service options. Different combinations of this input (parameters) will generate different simulation scenarios. Thus, the simulation result of each scenario can be presented as a result in the third step.
Figure 1.
Architecture of System.
Figure 1.
Architecture of System.
Second, the simulation tool evaluates the round trip and one-way service for every simulation scenario, i.e., combination of the number of cars, number of stations, number of reservations, and different proportions of one-way reservations. For each scenario of simulation, the data (which was previously generated) are updated, once the simulation process is complete. The reservation data contains the customer trip plan, giving the starting time, ending time, departure station, destination station, and the status of the reservation in terms of whether it is accepted or rejected. The station data contains information about the number of available vehicles in each station for each hour during the simulation process. In addition, the vehicle data contains information about the vehicle status in terms of whether it is parked or on the road during the simulation process. The simulation checks the customer reservation in reservation data; thus, some values on reservation data, station data and vehicle data are changed during the simulation process.
Finally, the simulation results are presented and analyzed to define the efficiency of the service operation in car sharing. The result of each scenario is presented with output parameter, such as utilization ratio, acceptance ratio, average number of parked cars, and maximum number of parked cars in each station. In this section, a comparison of service performance on different input values is presented. The results can be used by car sharing companies to predict their future policy on implementing a new business service (one-way), given their current input parameters such as number of customers, number of operational cars, and number of stations.
In this report, the discrete event simulation is implemented, in which a list of events is generated from the customer reservation as shown in
Table 1.
Table 1.
List of events generated from customer reservation.
Table 1.
List of events generated from customer reservation.
One-way Service | Event | Description |
---|
Reservation based | Instant access |
---|
✓ | | calling | The time when the customer makes reservation. |
✓ | | assign | The time when the system has to assign the free (parked) car to the particular reservation. |
✓ | ✓ | starting | The time when the customer starts the travel. |
✓ | ✓ | ending | The time when the customer ends the travel |
As can be seen from
Table 1, two event generations are possible that are based on the service model which is run in the simulation. The
reservation based one-way generates all four events while the
instant access one-way only generates the
starting and
ending time. This is because in
instant access one-way, a reservation via phone/internet is not required, as customers directly visit the departure station at the
starting time to pick up the car and return it to the destination station at the
ending time. In this study, a simulation is presented to evaluate the round trip and one-way service. In the round trip service, the setting of the destination station of the trip is the same as the departure station, while in the one-way service the destination station differs from the departure station. In addition, this study considers the percentage of one-way reservations as simulation input. In the real car sharing business, if the company only operates a round trip service, the distribution of cars at each station will be fixed at the end of the day. On the other hand, if a company operates a one-way service, it also allows customers to use the round trip service since the roundtrip service is a standard service for car sharing businesses. For example, in the case where 70% of customers in a company will rent the car for a one-way trip, the simulation will run for both a round trip service and a one-way service with different proportions of the reservation. However, allowing the one-way service without relocation implementation will create an unbalanced car distribution at the stations.
3.2. Data Collection and Simulation Input
The best way to investigate the impact of car sharing in detail is to collect a targeted sample data. Therefore, this paper presents the results of investigation of car sharing user behaviors through an examination of the dataset from a car sharing service in Korea. The simulation input follows the time of day travel pattern, which reveals the customer reservations distribution of morning, afternoon, and evening is 10%, 20%, and 70%, respectively. In addition, the Korean dataset showed the distribution of Vehicle Hours Travel (VHT) and revealed that the average customer VHT is 2–3 hours, while the majority of trips made by customers are short-distance trips of less than 100 km and the average is 20–30 km. The VHT follows normal distribution with its average and standard deviations being 2.6 and 1.26, respectively. In terms of the day of the week, the percentage of trips is lowest at the beginning of the week and increases as the week progresses. The detailed explanations about the Korean car sharing dataset are described elsewhere and are not repeated here [
21]. In this section, a survey study on different car sharing businesses was performed. A similarity is observed in the distribution of trips between a Toronto case study [
14] and our dataset regarding trip length distribution. In the Toronto case study, more than 60 percent of trips were less than 40 km long, and similarly, in our dataset, trip length was mostly 10–40 km. This information is very important for generating an artificial dataset in this study. Due to the limitation of the dataset, in this paper the distribution of departure-destination station follows uniform distribution, which means that when the trip generator generates the reservation data, the information of departure-destination will be assigned randomly. In addition, the reservation is made by a customer with a maximum of 3 hours before the starting time in order to minimize the booking time; thus, the other customers will have a higher chance of gaining accepted reservations.
The trip generator generates three matrix based data sets for input of simulation such as Reservation data, Vehicle Data, and Station Data. This generation and simulation process requires high memory consumption, thus implementation in C++ for both the trip generator and simulator helps to reduce the time computation. The Reservation matrix is defined as
, where
m is the number of reservations and
n is the number of hours. If the simulation is run for one week, then the maximum
n is 168. This discrete event simulation will check the event from the
1st column until the
nth column and perform the task based on the event. The rows represent all of the reservations made by all customers, which combines round trip and one-way reservations. The details can be seen in
Table 2.
Table 2.
The matrix of reservation data.
Table 2.
The matrix of reservation data.
| 1 | 2 | 3 | 4 | .. | n |
---|
1 | calling,0,63,92,4,7,0 | 0,0,0,0,0,0,0 | assign,0,63,92,4,7,0 | starting,0,63,92,4,7,0 | ... | 0,0,0,0,0,0,0 |
2 | 0,0,0,0,0,0,0 | 0,0,0,0,0,0,0 | calling,0,23,45,6,8,0 | assign,0,23,45,6,8,0 | ... | 0,0,0,0,0,0,0 |
3 | calling,0,87,55,3,6,0 | assign,0,87,55,3,6,0 | starting,0,87,55,3,6,0 | 0,0,0,0,0,0,0 | ... | 0,0,0,0,0,0,0 |
.. | ... | ... | ... | ... | ... | |
m | 0,0,0,0,0,0,0 | 0,0,0,0,0,0,0 | 0,0,0,0,0,0,0 | calling,0,56,4,8,9,0 | ... | 0,0,0,0,0,0,0 |
The reservation matrix in
Table 2 shows
= calling, 0, 63, 92, 4, 7, 0. These values represent the
event status, decision, departure station, destination station, starting time, ending time, and vehicle id, respectively. The
status of event is ‘calling’, which reveals the time when the customer makes the reservation (requests a car) to the system, while the
decision is information on whether or not the reservation will be accepted by the system. The default of
decision at the initial state before simulation process is 0, while the value of 1 shows that the reservation is
accepted after being evaluated by the simulator. This example shows that the customer requests a reservation at the
1st hour of the total simulation hours, starts the car from the
4th hour at station 63, and returns it at the
7th hour to station 92. This value only appears at the time when the customer makes a reservation, the time when the system assigns a car, the starting time, and the ending time, and the remainder of the time will be assigned with the value 0, as no event has occurred. Next, the values of
decision in
reservation data are updated when the simulation is run since some of the reservations are accepted or others are rejected.
In addition, for the case of instant access one-way, the event only consists of a starting and ending time, due to no reservation being required for instant access one-way.
In addition, the matrix of the station is also generated and represented as
, where
m is the number of stations and
n is the number of hours for the simulation. For the case in which a company owns 100 stations, the total number of rows of a station matrix will be 100 rows. The detail of the station matrix can be seen in
Table 3.
Table 3.
The matrix of station data.
Table 3.
The matrix of station data.
| 1 | 2 | 3 | 4 | .. | n |
---|
1 | 1,10,0,0,5,5 | 1,10,0,0,5,5 | 1,10,0,0,5,5 | 1,10,0,0,5,5 | .. | 1,10,0,0,5,5 |
2 | 2,10,0,0,5,5 | 2,10,0,0,5,5 | 2,10,0,0,5,5 | 2,10,0,0,5,5 | .. | 2,10,0,0,5,5 |
3 | 3,10,0,0,5,5 | 3,10,0,0,5,5 | 3,10,0,0,5,5 | 3,10,0,0,5,5 | .. | 3,10,0,0,5,5 |
.. | .. | .. | .. | .. | .. | .. |
m | m,10,0,0,5,5 | m,10,0,0,5,5 | m,10,0,0,5,5 | m,10,0,0,5,5 | .. | m,10,0,0,5,5 |
As can be seen from
Table 3, the station matrix for
= 1, 10, 0, 0, 5, 5. This value represents
station id, total number of lots, VIN, VOUT, VPRESENT and
AV_SPACE, respectively. The
total lot/space in the station is the maximum number of lots/cars possible within a particular station. The
VIN is the total number of cars scheduled to return to the particular station while
VOUT is the number of vehicles that are not available for use because they have been reserved (scheduled to be out) from a particular station.
VPRESENT is the actual number of parked vehicles at particular stations, while
AV_SPACE is the available space (empty lots) at particular stations during the time simulation. In this example, station 1 has a maximum of 10 lots where no vehicle is scheduled to be IN and OUT, the total number of parked cars is 5, and the available parking space is 5.
Table 3 shows that the total lots,
VIN,
VOUT,
VPRESENT, and
AV_SPACE in each station are the same at the initial time before a simulation is run.
Furthermore, the vehicle matrix is also generated and represented as
, where
m is the number of vehicles and
n is the number of hours for simulation. For the case in which the company own 500 cars, the total rows of the vehicle matrix will be 500 rows. The detail of the station matrix can be seen in
Table 4.
Table 4.
The matrix of vehicle data.
Table 4.
The matrix of vehicle data.
| 1 | 2 | 3 | 4 | .. | n |
---|
1 | 1,parked,1 | 1,parked,1 | 1,parked,1 | 1,parked,1 | | 1,parked,1 |
2 | 2,parked,1 | 2,parked,1 | 2,parked,1 | 2,parked,1 | | 2,parked,1 |
3 | 3,parked,1 | 3,parked,1 | 3,parked,1 | 3,parked,1 | | 3,parked,1 |
.. | .. | .. | .. | .. | ... | ... |
m | m,parked,100 | m,parked,100 | m,parked,100 | m,parked,100 | | m,parked,100 |
As can be seen from
Table 4, the vehicle matrix of
=
1,
parked, 1. This value represents the
vehicle id,
vehicle status, and
the current location (station) of vehicle, respectively.
Vehicle status consists of three choices, whether it is
parked,
booked, or
on road. The
parked value indicates that the car is unoccupied and parked at the station,
booked shows that the customer already booked the car at a particular time, while
on road indicates the status of the car when the car is driven by the customer. The
current location of the vehicle is information about the station where the car is located at the current time. The matrix data from the reservation, vehicle, and stations are related to each other and some of the values in
reservation,
vehicle and
station matrix are updated when the simulation is run since the values will change as the customers continue to make reservations and drive the cars to other stations.
3.3. Output Variable for Simulation
Four outputs (car utilization ratio, reservation acceptance ratio, average number of parked cars, and maximum number of parked cars) are defined in the simulation to evaluate the performance of the one-way service, as can be seen in
Table 5.
Table 5.
Output variables for simulation.
Table 5.
Output variables for simulation.
Output Variable | Equation |
---|
Utilization Ratio | |
Acceptance ratio | |
Average of parked car | |
Maximum of parked car | |
The car utilization ratio is the percentage of total actual driving hours of rented cars divided by the total possible driving hours of cars. The value of utilization ranges between 0 and 1, where the value of 0 means the cars are not rented by a customer, while the value of 1 shows that all of the cars are being driven by customers during the simulation time. Since a car sharing company normally wants to optimize the number of operational cars, the company needs to ensure that all cars can be rented (fully operated) to increase the profit and reduce the operational car cost.
The acceptance ratio provides information on the number of reservations that have been accepted compared to the total number of requested reservations. An accepted reservation means that when a customer makes a reservation, the car sharing reservation system will check whether or not the customer can acquire an available car at the destination station. The value of the acceptance ratio is on a scale of between 0 and 1, where the value 0 implies no accepted reservation while the value 1 shows all reservations made by customers to the system are accepted. In this study, all reservations are assumed to be made by customers in a problem-free scenario, such as when a customer parks the car at the destination he/she decided upon earlier in the reservation or there is no cancelation for the earlier reservation. This reservation acceptance ratio can provide the ideal situation to reveal customer satisfaction.
In addition, the average number of parked cars provides information about the average number of cars that are parked in all stations during the time of the simulation, while the maximum number of parked cars shows information about the maximum total number of cars that are parked in all stations during the time of simulation. This information is used to analyze the spread of imbalance of cars in stations during the simulation that evaluates the certain service model. Furthermore, this information can be used to predict the size of the station in order to maximize the profit and minimize station cost for the operator.
3.4. Experimental Scenarios
This simulation tool will check the event from the calendar sequentially from the earliest event until the last event, and the simulation tool will implement the task based on the calendar. The program will read the input matrix such as reservation, station, and vehicle in the memory and check every hour of each reservation. The program will check the event or reservation status to determine whether it is calling, assign, starting or ending.
The program will check
reservation matrix, if the status of reservation is
calling, the system will calculate vehicle availability from the departure station. To calculate the vehicle availability for
reservation based one-way at
time t in
station s, the information is extracted from
reservation, vehicle and
station matrix and the details can be seen as follows:
where
VPRESENT(s,t) is the real number of parked vehicles in
station s at
time t,
VIN(s,t) is the total number of vehicles scheduled to return to
station s as
time t, and
VOUT(s,t) is the number of vehicles that are not available for use because they have been reserved (scheduled to be out) from station
s as time
t. If the
(vehicle is available in departure station) and
AV_SPACE at the destination station is greater than 0, then the reservation will be accepted, otherwise it will be rejected. In addition, for the accepted reservation, the value of
VOUT in the
departure station will be added to 1, but
AV_SPACE in the destination station will be subtracted from 1, starting from
calling time reservation until
end of time t simulation. The
VIN in
destination station will be added to 1, starting from the
ending time reservation until the
end of time t simulation. This is because an additional one car will depart from the departure station at the
calling time and this additional car will arrive at the destination station at the ending time of the reservation. In addition, the system reserves one available space at the destination station starting from the
calling time of the reservation.
The second possible event is when the status of the accepted reservation is assign, where the system will find a car which is located (current location) in the departure station and its status is parked only at the starting time. The system randomly selects parked car and assigns it to the particular reservation. Once the process finishes, the status of the car is changed from parked to booked, starting from assign time in the reservation until the end of time t simulation. The status of the car is changed to booked to prevent the car being assigned to the next reservation until the status of that particular car changes to parked again.
For the case where the status of an accepted reservation is starting, the system will update the VOUT (number of cars scheduled to be out) and the VPRESENT of the departure station by subtracting 1, but the AV_SPACE at the departure station will be added to 1, start from starting time until end of time t simulation. This is because, at the time t simulation, the car is no longer scheduled to be OUT or parked, but is being driven by the customer; thus, the status of the car is changed from booked to on road start from the starting time until end of time t simulation. In addition, the system adds one available space in the departure station when the car leaves at the starting time of the reservation. Once the customer trip ends, shown as the status of acceptance of the ending of the reservation, the system will update the VPRESENT of destination station by adding 1, starting from ending time reservation until end of time t simulation. In addition, the system updates the VIN (number of cars scheduled to be in) of the destination station by subtracting 1, starting from end of reservation until end of time t simulation. This is because the car is not scheduled to be in the destination station at a future time, because it has already arrived at the destination station; thus, the status of the car is changed from on road to park and its current location is updated to destination station. All of the updated information described above will be updated to reservation, station, and vehicle matrix; thus, the values of this matrix will always change while the simulation is operating.
At the end of the time t simulation, the simulation will show the average car utilization ratio, reservation acceptance ratio, average number of parked cars, and maximum number of parked cars for a certain simulation scenario. The different scenario simulations will then be completed, the input of which consists of the total number of cars, number of reservations, and one-way proportion in reservations. All simulation results are then collected and ready to be analyzed to evaluate the reservation based one-way model.
In addition, a different implementation is used for
instant access one-way as its event only consists of
starting time and
ending time. The program will check
reservation matrix, and if the status of the customer travel plan is
starting, the system will calculate the vehicle availability from the departure station. To calculate the vehicle availability for
instant access one-way at
time t in
station s, the information is extracted from
reservation, vehicle, and
station matrix and the details can be seen as follows:
where
VPRESENT(s,t) is the real number of parked vehicles at
station s at
time t. The
instant access one-way does not recognize the
VIN and
VOUT information, since the
instant access one-way does not have reservation system capability; however, it does have reservation system capability in the situation where a customer visits the departure station and picks up an available car. If
(vehicle is available), then the customer travel plan will be accepted, otherwise it will be rejected. In this paper, for the case of
instant access one way, the destination spaces are assumed to be always available since, in a real case, the customers are allowed to park the car in nearby stations if the spaces at the station are full. Next, the system updates the
VPRESENT at
departure station by subtracting it from 1, start from
starting time of travel plan until
end of time t simulation. The system will find a random
parked car of which the location is (
current location) the
departure station and assign it to the particular customer travel plan. In addition, the status of the car is changed from
parked to
on road starting from the
starting time until the
end of time t simulation. This status shows that at the
starting time of simulation, the car is driven by the customer.
Once the customer trip ends, of which the status of the accepted trip plan is ending, the system will update the VPRESENT of destination station by adding it to 1, starting from the end of time travel plan until end of time t simulation. The car has already arrived at the destination station; thus, the status of the car is changed from on road to parked and its current location is updated to destination station.
In addition, at the end of simulation time, the program will show the status of
parked cars (present car) for all stations during time simulation (hourly basis) in a week as can be seen in
Figure 2.
Figure 2 shows an example of a simulation scenario with 10 stations in which its initial number of
parked cars is the same, 5 cars in each station with total reservation is 400 in a week. The figure shows that the total number of
parked cars at each stations is changed once the simulation is complete; the figure also shows the imbalance distribution of
parked cars in each station. The result showed the utilization is 0.15 while acceptance ratio is 0.78.
Figure 2.
Result of VPRESENT each hours
Figure 2.
Result of VPRESENT each hours
The status of the reservation at
calling time is also presented in
Figure 3, once the simulation has been completed. Two possible reservation results, accepted and rejected, are both presented on an hourly basis during the time simulation. The figure shows that the total number of accepted and rejected reservations in one week is equal to the initial input of total reservation, which is represented in the
reservation matrix before simulation starts. Furthermore,
Figure 4 shows the status of all 50 cars during the time of simulation. The total number of cars is a combination of
booked cars, parked cars, and
on road cars.
Figure 3.
Quality of Service.
Figure 3.
Quality of Service.
Figure 4.
Status of Cars.
Figure 4.
Status of Cars.