• No se han encontrado resultados

6. EL MARCO CONCEPTUAL DE LA ESTRATEGIA

9.3 ESTRUCTURA DE LA ESTRATEGIA

Table 4.2 compares the complexity associated with finding the best insertion position for a job in a VRP solution and in a truck-and-drone solution. ‘Nb. Insertions’ counts the total number of insertions to be tested and ‘Complexity’ gives the computational complexity resulting from checking the feasibility of an insertion and evaluating the as- sociated solution cost. n denotes the number of jobs in the solution. ‘BFCT’ stands for the previously mentioned straightforward approach that recomputes the whole solution

Algorithm 9 Check the feasibility and evaluate the cost of serving a client with a truck.

Input: truck-and-drone route Rh; job j ∈ J ; launch and retrieval points for the drone: (i, k) ∈

Rh.

(1) Check the feasibility:

(a) Identify if a drone on flight: let (σs, σe) ∈ Rh the launch and retrieve points of a drone

such that: σs is visited before i, σe is visited after i in Rh.

Set the launch time σs of the drone in Rh; Set σs = ∞ if such a flight does not exist.

Set the retrieval σe time of the drone in Rh; Set σe = 0 if such a flight does not exist.

Set the wait time wi+1,σe between i + 1 and σein Rh; Set wi+1,σe = ∞ if such flight does

not exist.

(b) Set the service time at j: j = max{i+ δi+ τij, ej}; return ‘infeasibility’ if j > lj.

(c) Set the delay at i + 1: δi+1 = max{0, j + pj + ˜τj,i+1− i+1}; return ‘infeasibility’ if

i+1+ δi+1> λi+1.

(d) Set delay at σe: δσe = max{0, δi+1− wi+1,σe}; return ‘infeasibility’ if σe+ δσe− σs > E.

(2) Evaluate the cost with the obtained values (i, δi, δi+1, δe):

(a) Compute the driving cost: ∆driving= (cdi,j+ cdj,i+1− cd i,i+1).

(b) Compute the increased driver salary: ∆salary= max(0, δi+1− wi+1,3·n+1) · ct.

(b) Compute the flying cost: ∆f lying = δσe· ˜c

t.

to check its feasibility. When inserting a job into a truck route, the number of insertions to be tested grows linearly with the number of jobs served by the truck. The number of possible insertions into a drone schedule grows with the square of the number of jobs to be inserted as we need to test all pairs (i, k) (i served before k) in the truck routes. In the VRP case, checking the feasibility can be done in constant time due to the FTS principle.

Table 4.2 shows that in the VRP case, the computational complexity required to find the best insertion position for a job grows with O(n). In the truck-and-drone case, our heuristics allow decreasing the computational complexity from O(n4) (i.e., the straight-

forward approach that recomputes the whole solution for each tested insertion) to O(n2).

However, whereas our heuristics also allow evaluating the feasibility and the cost of an insertion in constant time, the number of insertion positions to be tested is larger in the truck-and-drone case than in the VRP case. As a result, for the same execution time, ALNS will be able to visit fewer neighbor solutions than in the VRP case.

Truck-only Truck-and-drone

Vehicle Nb. Insertions Comp. Complexity Nb. Insertions Complexity BFCT Complexity our algorithms Truck O(n) O(1) O(n) O(n2) O(1)

Drone - - O(n2) O(n2) O(1)

Table 4.2: Complexity comparison for insertion procedures.

4.6

Computational Experiments and Managerial In-

sights

The MILP and all algorithms have been coded in C++. The MILP is solved with CPLEX 12.4 (called using the Concert Technology). Computations were performed on a 2.2 GHz Intel Core i7 with 16 GB 1600 MHz DDR3 RAM. For the considered static day-ahead problem, the ELP limits the total execution time to 5 hours.

4.6.1

Instances

The instance set was built based on input from the ELP, with the aim of covering the various situations occurring in practice (i.e., situations involving urban and suburban ter- ritories). The jobs are randomly generated in a 25×25km squared grid. In the considered transportation network, the Manhattan (resp. Euclidean) distance is considered for the trucks (resp. drones). The depot is located at the center of the grid. The working day begins at 8am and must end before 5pm. Expenses related to the drivers’ salaries are proportional to the amount of time they spend away from the depot. The possible 2-hour TWs for the parcel deliveries are [8am, 10am], [9am, 11am], . . . , [3pm, 5pm]). Each truck (resp. drone) travels at an average speed of 30km/h (resp. 60km/h). When reaching the involved node, the parcel delivery has a duration of 3 (resp. 5) minutes when processed by a driver (resp. drone). More time is needed for the drone case as the customer has to unlock the parcel. All jobs cannot be performed by a drone. Hence, we consider the accessibility of the jobs by drone, which acknowledges the fact that some parcels are too heavy to be transported by a drone, or some customers are not eligible to receive a parcel by drone. For each instance, 5 configurations of job accessibility by drone are generated: 0% (i.e., when no job can be reached by drone, which corresponds to the VRP case), 25%, 50%, 75%, and 100% (i.e., when all the jobs can be performed by a drone).

We have generated several instances from n = 10 to n = 100 jobs. The smallest instances are used to compare the results of ALNS with those of the MILP, whereas the larger instances better capture real situations. Each instance is denoted as follows: N n Apa i,

where n is the number of jobs, pa indicates the percentage of customers that can be

served by drones, and i discriminates between the instances that share the same number of customers and the same percentage of jobs reachable by drones. Following this notation, N 50 A75 1 is the first instance involving 50 customers, 75% of which can be served by drone. We have generated 71 instances: 21 small instances with n ∈ [10, 25], 25 medium- sized instances with n = 50, and 25 larger instances with n = 100. TWs are only employed

for the realistic instances, involving 50 or 100 customers.

We consider the real cost structure provided by the ELP. While the absolute values of the various costs (i.e., fixed and variable; see Section 4.3.3) cannot be given because of confidentiality issues, we indicate the ratio of these costs between trucks and drones: the daily fixed cost for a truck is 5.6 times larger than the fixed cost for a drone; employing a driver for one hour is 9.2 times more expensive than using a drone for one hour; the cost per km driven per truck is 4.3 times cheaper than the cost of powering a drone for one hour.

4.6.2

Results

In this section, we first compare ALNS with CPLEX on the smallest instances, and we then compare ALNS with RFCS on the larger but realistic instances.

ALNS versus CPLEX (smaller instances)

Table 4.3 compares the performance of ALNS and CPLEX for the instances involving up to 25 jobs (without TWs). Columns ‘Obj.’ (resp. ‘Time [s]’) gives the value of the objective function in e (resp. the execution time, in seconds). The execution time is bounded to one hour for CPLEX. It is not reported in Table 4.3 as CPLEX was, for all instances, never able to prove the optimal solution within this time limit. For the MILP, column ‘LB’ indicates the value of the lower bound returned by CPLEX when optimality was not proven. We can observe that CPLEX turns out to be competitive for instances involving up to n = 20 jobs. Indeed, for instances with n ∈ [10, 20] jobs, CPLEX (resp. ALNS) finds the best solution for 8 (resp. 15) instances over 18. However, for all 18 instances with n ∈ [10, 20], the ALNS produced solutions with an average improvement

of 0.8% compared to CPLEX. Furthermore, the ALNS finds its best solution in less than 10 minutes for these instances, whereas CPLEX uses the entire one hour time budget. For larger instances (n > 20), ALNS significantly outperforms CPLEX on both the solution quality and speed. For instances involving n = 25 jobs, the ALNS improves CPLEX results on average by 11%. It is interesting to note that the more jobs are eligible to be served by drone, the less efficient is CPLEX (i.e., the gap between the solution returned by CPLEX and the lower bound increases with the percentage of jobs reachable by drone). Note that we have tested CPLEX for the 50-job instances, but no feasible solution was found.

CPLEX ALNS

Instance Obj. LB Obj Time [s] N10 A50 1 118.6 115.6 118.6 30 N10 A75 1 118.6 95.9 118.6 30 N10 A100 1 101.5 84.3 101.7 20 N10 A50 2 117.3 114.8 117.3 10 N10 A75 2 112.4 91.3 112.2 15 N10 A100 2 112.4 85.6 112.1 25 N15 A50 1 136.0 84.9 136.0 12 N15 A75 1 128.8 76.8 128.2 30 N15 A100 1 114.4 68.2 117.0 47 N15 A50 2 130.3 80.9 131.6 55 N15 A75 2 119.2 72.6 118.8 165 N15 A100 2 119.2 70.1 117.1 180 N20 A50 1 148.4 83.3 147.5 365 N20 A75 1 131.7 75.1 132.1 182 N20 A100 1 133.9 65.8 132.1 242 N20 A50 2 134.3 79.0 132.9 235 N20 A75 2 130.6 72.13 128.6 156 N20 A100 2 140.6 67.2 127.7 370 N25 A50 1 162.7 87.1 161.8 401 N25 A75 1 154.0 74.1 140.2 750 N25 A100 1 169.2 65 139.5 559

ALNS versus RFCS (larger instances)

Table 4.4 compares the results of RFCS and ALNS. ‘Obj.’ refer to the cost found by the corresponding method. ‘Time [h]’ indicates the average time (in hours) at which the best solution was found. Finally, column ‘% (RFCS)’ indicates the average percentage gap of the ALNS solution with respect to the RFCS solution. It is computed as (fRF CS −

fALN S)/fRF CS, where fRF CS (resp. fALN S) denotes the cost of the solution returned by

RFCS (resp. ALNS). The stopping criterion for the ALNS is when the execution time reaches 5 hours, and for the RFCS is when no more improvements can be made. Whereas the RFCS acts as a decomposition solution method that first builds the truck routes and then incorporates drone subtours into these routes, the ALNS acts as an integrated method that simultaneously builds trucks and drones’ routes. One can observe that although RFCS generates its best solutions more rapidly, its results can be significantly improved by ALNS as the average percentage gap is 8.8%.

Visualization of a Truck-and-Drone Solution

For instance N 10 A100 1 involving 10 customers, Figure 4.4 compares a truck-and-drone solution (right side) with the optimal truck-only solution (left side). To simplify the visualization, the truck route is denoted by a straight line from one customer to another, whereas it uses the Manhattan grid in reality. The right side of Figure 4.4 displays all types of synchronization that can happen between a truck and its assigned drone. In the truck-and-drone solution, the drone leaves the truck when it is located at the depot and flies to drop a parcel at job 9 before being refilled by the truck at job 2. Next, the truck transports the drone to job 0. At jobs 1 and 4, the truck acts as a delocalized depot. Indeed, at these nodes, all operations described in Section 4.3.2 take place: ‘Drone Retrieval’, ‘Drone Launch and Retrieval’, and ‘Drone Launch, then Leave’.

Instance RFCS ALNS

Obj. Time [h] Obj. Time [h] % (RFCS) N50 A25 1 420.8 1.1 420.8 3.2 0.0% N50 A25 2 423.5 1.4 423.5 1.8 0.0% N50 A25 3 418.9 1.5 412.8 2.4 -1.5% N50 A25 4 433.6 1.9 392.3 3.0 -9.5% N50 A25 5 427.2 1.3 427.2 2.9 0.0% N50 A50 1 406.1 1.2 380.8 3.4 -6.2% N50 A50 2 423.5 1.5 408.5 2.1 -3.5% N50 A50 3 420.9 1.7 400.6 2.5 -4.8% N50 A50 4 433.6 2.0 371.0 3.1 -14.4% N50 A50 5 424.3 1.4 407.5 3.4 -4.0% N50 A75 1 385.1 1.4 344.3 3.0 -10.6% N50 A75 2 387.8 1.5 345.7 3.5 -10.9% N50 A75 3 396.6 1.7 359.2 3.4 -9.4% N50 A75 4 381.3 2.2 357.2 3.8 -6.3% N50 A75 5 374.8 1.5 339.6 5.2 -9.4% N50 A100 1 354.0 1.4 310.8 3.9 -12.2% N50 A100 2 346.7 1.6 319.7 4.6 -7.8% N50 A100 3 369.4 1.8 327.8 3.8 -11.3% N50 A100 4 343.6 2.3 312.9 3.9 -8.9% N50 A100 5 342.2 1.6 302.9 4.9 -11.5% N100 A25 1 627.2 3.3 622.3 3.8 -0.8% N100 A25 2 650.6 3.0 643.1 3.0 -1.2% N100 A25 3 623.9 3.8 622.9 4.0 -0.2% N100 A25 4 646.7 2.9 633.2 3.5 -2.1% N100 A25 5 633.3 2.8 625.3 2.2 -1.3% N100 A50 1 627.2 3.4 586.5 4.4 -6.5% N100 A50 2 647.4 3.2 586.6 4.4 -9.4% N100 A50 3 623.9 3.9 594.4 4.6 -4.7% N100 A50 4 645.2 3.2 583.7 4.3 -9.5% N100 A50 5 633.3 2.9 597.3 4.6 -5.7% N100 A75 1 582.3 3.7 537.4 4.4 -7.7% N100 A75 2 548.3 3.3 446.0 5.0 -18.7% N100 A75 3 530.3 4.1 436.6 5.0 -17.7% N100 A75 4 602.5 3.3 558.2 4.8 -7.3% N100 A75 5 577.9 3.0 522.5 4.8 -9.6% N100 A100 1 520.6 3.8 409.6 3.8 -21.3% N100 A100 2 520.5 3.6 413.5 4.5 -20.6% N100 A100 3 530.3 4.2 385.7 5.0 -27.3% N100 A100 4 543.2 3.5 429.7 2.9 -20.9% N100 A100 5 500.3 3.1 411.5 4.3 -17.8%

Figure 4.4: Truck-only (left side) versus truck-and-drone (right side) solutions. Plain (resp. dashed) lines are truck (resp. drone) trips.

4.6.3

Sensitivity Analysis of the Percentage of Jobs Reachable

Documento similar