• 沒有找到結果。

CHAPTER 2 LITERATURE REVIEW

2.4 Summary

This chapter first presented the problems of the DARP and PDPTW. As DARP is a generalization of PDPTW problem, they are in similar mathematical formulation in static problem. However, DARP problems, which focus on carrying passengers, and PDPTW problems, which focus on courier services, are different in problem settings.

The literature reviews for DARP problems are then followed. Since it is a NP-hard problem, the DARP problem containing the paired constraints and precedence constraints is difficult to find an exact solution. In static problems, DARP problem can be solved by heuristics methods, such as cheapest insertion method, tabu-search heuristics and other meta-heuristic methods. In dynamic problems, some ideas solving dynamic PDP paired problems were reviewed. First, an idea of degree of dynamism which will be adopted in our studies was introduced. Another idea using the strategies to solve dynamic PDPTW problem were studied. As the use of efficient strategy solving dynamic PDPTW problem may not be efficient in solving DDARP. Therefore, a new strategy is proposed to solve DDARP.

CHAPTER 3

ROUTING AND SCHEDULING OF DARP

There are two components in solving DDARP: routing and scheduling components (Cordeau and Laporte 2003b). Routing is a sub-problem of route construction where an ordered sequence of locations is planned into vehicle routes. Scheduling consists of using waiting strategies to determine the arrival and departure times for each location i along the route.

For the requests that are known before planning, routing component is used to construct the routes with minimum operating costs, and then the vehicles can be scheduled to visit all the locations. In this case the scheduling component does not affect the overall solution, since we are only interested in the sequence of stops on the route.

When the real-time requests arrive as the vehicles are serving the requests on the routes, the routing and scheduling processes will be executed again to put the dynamic requests to the existing routes. However, scheduling with different strategies will be different in the situations of the waiting time, which is an important issue when our objective is to insert as many real-time requests as possible in the future. Therefore, different strategies will be different in result of total number of vehicles and total travel distance when serving the same set of requests.

The routing and scheduling, which are the decision factors that make the appropriate vehicle serving the requests, are discussed in section 3.1 and 3.2. Finally, the summary of this chapter is presented in section 3.3.

3.1 Route Construction and Improvement Methods

Routing is the procedure to decide where the requests are placed in a route.

Section 3.1.1, the cheapest insertion (CI) heuristic method is introduced. In addition,

section 3.1.2 presents an exchange method to improve the solution by cheapest insertion heuristic method.

3.1.1 Route construction: cheapest insertion heuristic

In this section we will present the insertion heuristic method which is first proposed by Jaw et al. (1986). It is a quick and simple algorithm with inserting requests to routes. On the other hand, it is known that the solution can be improved by using meta-heuristic methods, e.g. tabu heuristic improvement (Cordeau and Laporte 2003a) have been proposed to solve the problem. They provide a better result than insertion heuristic methods with longer computing time. However, as the dynamic requests are revealed in real-time, the requests have to be inserted into the existed routes as soon as possible. Therefore, the meta-heuristic methods may not be a suitable method in solving dynamic problem. The simple cheapest insertion is the suitable method in react to the real-time requests, and therefore, will be considered in this study.

The procedure of the insertion heuristic is shown in Table 3.1. First of all, the operator use one vehicle to serve the requests with M = 1. For each request i who specified his or her Oi, Di and DPTi or DDTi in a set of static problems, the operator calculates DRTi, MRTi, EPTi, LPTi, EDTi and LDTi using the equations (19) to (27).

The requests are then sorted with the EPT in ascending order. This sorting can generate better result in insertion method.

For each of the requests that has not been inserted, they are considered to be inserted in sequence into a suitable position without violating the time windows. If there are more than one vehicle that could feasibly serve the request, a comparison between the vehicles is made for minimizing operating cost, and the request is inserted into the best position. If there is no vehicle feasibly serving the request, it will be served by a new vehicle. The total fleet will therefore become M = M + 1. In addition, the capacity is usually non-binding in the capacity of 9 passengers in maximum. The insertion heuristics is finally terminated when all the static requests are satisfied.

Table 3.1 Pseudo code for routing procedure

3.1.2 Route improvement: exchange method

To our assumptions, the solution can be improved by using an exchange method only for initial route constructions. We assume that the customers are informed to be served by a fixed vehicle, that is, the customers will be picked up by the vehicles with pre-known vehicle identification numbers. This information can be changed before the vehicles start visiting the requests. Cheapest insertion heuristics provides a quick but simple solution; however, a better solution can be obtained by removing and re-inserting the requests one by one. Similar algorithm can be referred to the “Trip Insertion” of Toth and Vigo (1997). Cheapest insertion with exchange method can be used to improve the routes of static requests, which potentially provide more flexible insertion in responding to real-time requests. The pseudo code for the cheapest insertion with exchange method is shown in Table 3.2.

SET M = 1

GIVEN Oi, Di and DPTi or DDTi for iNand user-specified constant A, B and WS CALCULATE DRTi and MRTi by equation (19)

CALCULATE EPTi, LPTi, EDTi and LDTi using equations (20) to (27) SORT the requests with the earliest pickup time in ascending order FOR each request i

FOR each vehicle m in the fleet size M

FIND all feasible positions of insertion that do not violate the time windows FIND the ( best ) position in minimizing the operating costs

ENDFOR

IF there are any ( best ) position is found THEN

FIND the vehicle m with the minimal additional cost INSERT request i to vehicle m

ELSE

SET a new vehicle to the fleet size ( M = M + 1 ) INSERT the request to the new vehicle

ENDIF

ENDFOR

The idea of the trip insertion can be explained as follows:

1. Remove a pair of locations (i+, i-) from a vehicle j.

2. Compare the cost to the minimum cost if it is served by another vehicle m.

3. Re-insert the request to another vehicle which feasibly serves the request with a smaller cost.

Table 3.2 Pseudo code of the exchange method

3.2 Scheduling and Waiting Strategies

A scheduling strategy designs the arrival time and departure time of each stop along the routes. A number of feasible solutions which satisfy the time window constraints are presented. In the scheduling, different strategies are included to evaluate the better service of quality, where the strategies affect on passenger waiting times.

The routing decision introduced in previous section plans the vehicles to serve a set of paired pickup and delivery locations. Once the routes are planned, the schedules will be similar to Figure 3.1 (a). The figure shows three locations in one route for an

FOR each request i

REMOVE from the inserted vehicle j FOR each vehicle m in the fleet size M

FIND all feasible positions of insertion that do not violate the time windows FIND the ( best ) position in minimizing the operating costs

ENDFOR

IF there are other vehicles that can be feasible to serve the request i THEN INSERT request i to vehicle m with the minimal serving cost

ELSE

INSERT request i back to vehicle j ENDIF

ENDFOR

instance. For simplicity, we do not discuss the properties for the pickup or delivery locations in this section, but consider on using efficient strategies to generate paths to serve all the locations. Let the boundary [ai, bi] be the time window of a location i, where ai refers to the earliest serving time and bi is the latest serving time. Three strategies will be introduced in this section, namely Drive First (DF) strategy, Wait First (WF) strategy and Dynamic Wait (DW) strategy. Mitrovic-Minic and Laporte (2004) also proposed four waiting strategies solving Dynamic Pickup and Delivery Problem with time windows. The DF and WF strategies in this study are similar to their study.

However, our proposed DW strategy, in which we concern the improvement of DF strategy, is different from their DW and ADW strategies, in which they concerned dynamic partitioning to form service zones. The planned route serving the locations is demonstrated in Figure 3.1 (b). According to the characteristics of different waiting strategies, operators construct a list of timetable to serve the locations. Therefore, the route of the vehicle will follow the line shows in the figure.

Figure 3.1 A route represented in three-dimensional space: (a) locations on the route;

(b) trajectory of the vehicle

In the above figures, the three-dimensional diagram is converted into the bases refer to the coordinates of the locations while the vertical axis is the time axis.

However, the routes will be intricate when the locations become more. For simplicity, the two-dimensional space, in which the indicated locations represent the bases of the

b1

Figure 3.1 (a) Figure 3.1 (b)

Depot

coordinate axes, is used to express the routes instead in three-dimensional space.

Therefore, the x-axis in the two-dimensional space giving in Figure 3.2 represents location of requests but does not follow a distance scale.

Figure 3.2 Locations on a route in a two-dimensional space 3.2.1 Drive First (DF) strategy

For the Drive First (DF) strategy, the vehicle is driven as soon as it can, where Ai is the arrival time and Di is the departure time for DF strategy. Again, [ai, bi] is the boundary of time windows that each stop can be served. If the arrival time Ai is earlier than the earliest serving time ai, the vehicle has to wait at the arrived location until the start serving at ai, then the vehicle departs at time Di. Therefore, Di = ai, and waiting time is the difference between Di and Ai. On the other hand, if Ai is later than ai, the vehicle starts serving and departs immediately at Di with no wait. Figure 3.3 displays the DF strategy for a route of a vehicle. For example, the vehicle arrives at location 1 at A1, which is earlier than a1, the vehicle then wait until start serving at a1, therefore, the earliest departure time D1 will be at a1, i.e. D1 = a1. Furthermore, the waiting time for the vehicle at location 1 would beD1A1. When the vehicle arrive at location 3 at A3 which is later than a3, the vehicle serve the location immediately and depart without waiting, therefore A3 = D3. The vehicle departs immediately to the depot after serving all the requests.

Depot b1

a1

Time

Location

1 2 3

b3

a3

b2

a2

Figure 3.3 Trajectory of a vehicle using Drive First (DF) strategy (SOURCE: Mitrovic-Minic and Laporte 2004)

Assume that there are N locations along a route. The vehicle, starting at a depot of location 0, has an initial arrival time and departure time of A0 and D0, respectively.

The pseudo code for DF strategy is shown in Table 3.3. The arrival time and departure time for every location is therefore calculated by the criteria below. WTi defines the time of wait of the vehicle at location i.

Table 3.3 Pseudo code for Drive First (DF) strategy  

SET N = number of stops along the route SET A0 = D0 = 0 for depot

3.2.2 Wait First (WF) strategy

In the Wait First (WF) strategy, the vehicle stays to wait at its current location as long as it is feasible. [ai, bi] is the boundary for serving each stop and the arrival time and departure time for this strategy denote asAiand Di, respectively. When the latest arrival time in location i+1 is bi+1, the vehicle waits at location i until the time plus the direct travel time to the location i+1 is at bi+1. Figure 3.4 shows an example for a route using WF strategy. The latest arrival time for location 2 is b2, the vehicle therefore waits at location 1 and departs at D1. A1 is then equal to b1, The waiting time in location 1 is thereforeD1A1.

Figure 3.4 Trajectory of a vehicle using Wait First (WF) strategy (SOURCE: Mitrovic-Minic and Laporte 2004)

The Pseudo code for WF strategy is shown in and Table 3.4. Again, we have N serving locations, where N+1 is an additional indicator for the depot when the vehicle is off duty. When an arrival time for one location is known, the departure time before that location can then be calculated. Let the time of “end of day” be AN+1, the rest of the arrival time and departure time for all locations can be calculated as follows.

D1

1 b1

A = D2

3 3

3 D b

A = =

Time

Location

1 2 3

2 b2

A =

a1

a2

a3

Depot

D0

0

0 = A

Table 3.4 Pseudo code for Wait First (WF) strategy

When the dynamic requests are considered, WF requires more number of vehicles but less total travel distance than DF. As WF requires vehicles waiting at the current location as long as possible, especially when the vehicles wait at depot, more requests will be known before the vehicles start routing the locations. Therefore, it has an advantage to improve the planned routes more efficiently than DF strategy. It results in shorter total travel distance than DF. However, WF wastes too much time to wait for the dynamic requests, the new requests may not be inserted to the existing routes because of violating the time windows, more number of vehicles are necessary to serve the same amount of requests than DF (Mitrovic-Minic and Laporte, 2004). On the other hand, DF needs longer travel distance in dynamic problems. When dynamic request reveals where the vehicle waits to serve a location, it is possible to use the waiting time to serve the new request and then go back to the location. Therefore, a detour will be existed in this situation. A strategy of dynamic waiting is proposed here to improve the efficiency of DF and WF for smaller number of vehicles and total travel distance.

3.2.3 Dynamic Wait (DW) strategy

For the reason that DF has a potential of less number of vehicles but longer total SET N = number of stops along the route

SET AN+1 = D N+1 = the time of “end of day” at the depot FOR each location i (for i = N+1, N-1, …, 1)

Di-1 = Ai - ti,(i+1)

IF Di-1 is later than bi-1 THEN Ai-1 = bi-1

WTi-1 = Di-1 - Ai-1

ELSEIF Di-1 is smaller than or equal to bi-1 THEN Ai-1 = Di-1

WTi-1 = 0 ENDIF ENDFOR

travel distance than WF in solving DDARP, an idea of Dynamic Waiting (DW) strategy which tries to combine the benefits of these two strategies is considered. The DW strategy is developed based on DF, since DF requires less number of vehicles than WF in dynamic from our numerical test that will be presented in CHAPTER 5.

When the route is scheduled by DF, the arrival time, departure time and waiting time are obtained in every location. Avoided the chance of detour, the vehicle should not wait to serve the location, but could be wait after serving the location. Figure 3.5 shows the sketch for DW strategy. Compare to the DF strategy in Figure 3.3, location 2 has a time interval for the vehicle to wait until location 2 starts to be served at a2. If a real-time request appears nearby this vehicle, it is allowed to serve the real-time request and then goes back to serve the request at location 2. A detour will therefore be generated. In order to eliminate the detour state, the time of wait in location 2 is planned to shift to location 1, the vehicle does not wait to serve location 2. Since the idle time is located at the served location 1, the vehicle will not go back to location 1 as real-time request appears because it has already been served. The difference between DW and WF is that DW departs from the served location when the direct time to the next location can be started serving where WF departs from the served location when the direct time to the location can be ended serving. DW is therefore similar in total number of vehicles as DF but in less total travel distance.

Figure 3.5 Trajectory of a vehicle using Dynamic Waiting (DW) strategy  

Table 3.5 is a pseudo code for the DW strategy. The notations for the DW strategy are Ai, Di and WTi, representing arrival time, departure time and waiting time of

Depot

location i, respectively.

Figure 3.6 shows the paths which are produced by using DF, WF and DW strategies. The two extreme strategies, DF and WF, construct a service interval, noted that any path suggested by a strategy within this interval is feasible. The dash line at the bottom of the interval stands for DF strategy when the dotted line at the top of it stands for WF strategy. Finally, the path with solid line in the interval is constructed by DW strategy.

Table 3.5 Pseudo code for Dynamic Wait (DW) strategy  

Figure 3.6 Trajectory of a vehicle using the three waiting strategies

3.3 Summary

This chapter showed how to solve DARP problems by two components, routing and scheduling. Routing is a decision placing the requests in suitable routes with several objectives. We present cheapest insertion method which is a quick and simple algorithm to insert the requests in the routes. Since we assume that the customers are informed to be served by a fixed vehicle, an exchange method is used to improve the solution only in static problem.

Scheduling considers waiting strategies to design the arrival time and departure time of each stop along the routes. The characteristics of three waiting strategies, Drive First (DF), Wait First (WF) and Dynamic Wait (DW) are introduced. Although their performances to serve the static requests are the same, they are different in respond to real-time requests. As DF assigns the vehicles driving to the service location as soon as possible, it results in more total travel distance because of detouring but less

WF

DW DF

Time

Location

Depot 1 2 3 4 5 6

number of vehicles requirement. On the other hand, WF assigns the vehicle waiting at the service location as soon as possible, it results in more number of vehicles because of long waiting time at the locations but less total travel distance. In the objectives of minimizing number of vehicles and total travel distance, we propose DW strategy as an improvement of the DF strategy. Here we only show the rule and assumptions of the three waiting strategies. The issues of how to implement them in solving dynamic requests by dynamic dispatching will be discussed in the next chapter.

CHAPTER 4

DYNAMIC DISPATCHING USING DIFFERENT WAITING STRATEGIES

We focus on solving the dynamic problems in this section. In the static case in which some requests are known in advance, the operator plans routes with minimum operating cost to satisfy the known requests. In dynamic problem, however, idle time is the important issue to insert real-time requests to the existed routes. The purpose of the waiting strategies is to allocate the waiting time in response to the real-time requests.

In section 4.1, the assumptions for the system’s operating mode are introduced. Three cases for the vehicles states when dynamic requests arrive will be explained in section

In section 4.1, the assumptions for the system’s operating mode are introduced. Three cases for the vehicles states when dynamic requests arrive will be explained in section

相關文件