• No se han encontrado resultados

Routing problem with service-time dependent profits

N/A
N/A
Protected

Academic year: 2020

Share "Routing problem with service-time dependent profits"

Copied!
11
0
0

Texto completo

(1)

Routing problem with service-time dependent profits

Juan Sebasti´an G´omez Rodr´ıguez

Departamento de Ingenier´ıa Industrial, Universidad de Los Andes, Bogot´a, Colombia

Verena Schmid

Departamento de Ingenier´ıa Industrial, Universidad de Los Andes, Bogot´a, Colombia Department of Business Administration, University of Vienna, Austria

Abstract

We consider a Profitable Tour Problem with Service-Time Dependent Profits (PTPTWSTDP) where the main goal is to maximize the sum of collected profit at the nodes visited, as well as to minimize the travel cost, at the same time. Any node is visited at most once and the service at a node must be within its time window. A profit will be collected when visiting a node, and the amount to be collected is a decreasing function of time. We propose a Mixed Integer Program (MIP) and a metaheuristic based on Large Neighborhood Search (LNS) to solve the problem at hand. For the metaheuristic, we decompose the problem in two subproblems: one subproblem for routing and scheduling part. Based on a given route, we will determine the service time by using Dynamic Programming, in order to solve the resulting scheduling problem. Finally we present computational results for different instances, comparing two solution approaches.

Keywords: Hybrid large neighborhood search, Routing problem, Service-time dependent profit

1. Introduction

That tries The Profitable Tour Problem with Time Windows and Service-Time Dependent Profit (PTPTWSTDP) is a problem to try to identify a tour, that maximizes the collected profit minus traveling cost. We can choose the nodes that we want to visit, some of the nodes may have to be visited. Each node has a profit function, a minimum service time and maximum service time, as well as time window. The collected profit depends on the time spent at the node. Service may only start within the time window. Finally, the tour must start and end at the depot.

There are several classes of applications that can be modeled using service-time dependent profit: e.g. tourist trips design to maximize the value of visited attractions within a limited period (Vansteenwegen and Van Oudheusden (2007)), high-school athletes recruiting for college teams (Butt and Cavalier(1994)), oil tankers routing to serve ships at different locations (Golden et al.(1987)), visiting patients at a hospital, among others.

In this paper we propose a metaheuristic approach to solve the PTPTWSTDP. We decompose the problem in two subproblems. One subproblem for routing, that consist in select the nodes and determine its order. And one subproblem for scheduling, that consist in determine how long to stay in each node. There is a Large Neighborhood Search (LNS) for routing problem and there is a Dynamic Programming (DP) responsible for the scheduling problem or to determine the service time. This results in a Hybrid Large Neighborhood Search. The goal for LNS is to generate a near-optimal route. For this, iteratively the incumbent solution is partially destroyed and then it is repaired. The DP is used to determine the best service time for each node given the sequence of the route.

The paper is organized as follows: In Section2related literature on the PTPTWSTDP is reviewed, while in Section 3the mathematical model is provided. In Section4the metaheuristic solution approach is presented. Finally in Section 5computational results for several instances are reported.

Email addresses:js.gomez103@uniandes.edu.co( Juan Sebasti´an G´omez Rodr´ıguez ),v.schmid@uniandes.edu.co,

(2)

2. Literature Review

The Routing Problem with Profits, also called Orienteering Problem (OP) considers a set of nodes (customers), each with an associated profit, and a set of arcs, each with associated travel time. The goal is to determine a path that starts and ends on the depot, which then visits some nodes and maximizes the sum of collected profit. The OP is also known as the Selective Traveling Salesperson Problem (Laporte and Martello(1990),Gendreau et al.(1998)), the Maximum Collection Problem (Kataoka(1988),Butt and Cavalier(1994)) and the Bank Robber Problem (Arkin et al.(1998)).Feillet et al.(2005) classified the OP, depending on the way the two objectives are addressed. Based on their classification, our problem can been seen as an extension of the Profitable Tour Problem (PTP) byDell’Amico et al.(1995). The PTP is an OP that considers a single vehicle. Both objectives are combined in one single objective function; the aim is to find a circuit that maximizes the collected profit minus travel cost.B´erub´e et al.(2009) present a branch and cut algorithm to solve the PTP.Archetti et al.(2008) study the capacitated PTP (CPTP), which is the case where a fleet of capacitated vehicles is available. They propose an exact and heuristic solutions approaches.

An important variant of the TPT includes the Profitable Tour Problem with Time Windows (PTPTW), which is a TSP where each node has a time window when the start of service is permitted. Righini and Salanipresent an exact optimization algorithm for the Orienteering Problem with Time Windows (OPTW). The OPTW is the case where in the objective function the travel cost objective is stated as a constraint; the aim is to find a circuit that maximizes collected profit such that travel costs do not exceed a preset value. Wouter Souffriau(2010) also study OPTW, they present a fast and effective algorithm by hybridizing Iterated Local Search with a Greedy Randomized Adaptive Search Procedure.

Our problem is an extension of the PTPTW, where the difference lies on the fact we do not have a fixed profit associated with each node. The collected profit depends on the service time and it is not restricted by the time window. Keskin et al.(2012) present a similar real application, which consists on determining the patrol routes of state troopers for maximum coverage of highway spots with high frequencies of crashes. The differences between our problem andKeskin et al. are: their problem is an OPTW and they limited the collected profit to time window. They develop an specific mixed integer linear programming model for this problem under time feasibility and budget limitation. Also, they solve this model with local and tabu-search based heuristics.

Among the metaheuristics proposed for the solution of routing problems with time windows, the Large Neigh-borhood Search (LNS) byPisinger and Ropke(2007) has been shown to be very effective. LNS is a local search framework in which a number of simple operators compete to modify the current solution. In each iteration an op-erator is chosen to destroy the current solution, likewise an opop-erator is chosen to repair the solution. Therefore, we propose a metaheuristics based on LNS for our problem.

3. Mathematical Model

The PTPTWSTDP is defined on a networkG=(V,A), Wherenis the number of customers andC={1, ...,n}is the set of customers,V={0,n+1} ∪ {1, ...,n}the set of total nodes, one for each costumer, where 0 is the depot and

n+1 is copy a of the depot that indicates the beginning and end of the route,A={(i,j) :i,j∈ V,i, j}is the set of

arcs, andMV ⊆ Vis the set of mandatory customers. Each arc (i,j)∈ Awhere (i,j)∈ Vis associated with a travel costci jand a travel timeti j. We assume that cost and travel time matrixes satisfy the triangular inequality. Each node

i ∈ Vis associated with a demandqithat needs to be satisfied by a vehicle, a minimum service timeli, maximum service timeLi.pirepresents the marginal profit we gain for each time unittwe decided to stay within the firstlitime units. After that, the profit decreases linearly as show in Figure3.1. Equation (3.1) shows theprofit functionfor pi, and Equation (3.2) shows themarginal profit.

pro f it(i,t)=                 

pi t≤li

− pi

Li−lit+ Lipi

Li−li li<t≤Li

0 t>Li

(3)

mpro f it(t)=                 

pili t=li

pi(li+t)− t

2p

i

2 (Li−li) li<t≤Li

0 t>Li

(3.2) pi li Li Profit Time

Figure 3.1: Profit function

Furthermore each node is associated with time window [ei,ai] whereei is the earliest andai is the latest time service may start. Early arriving vehicles need to wait until the start of the time window. For the depot nodes, we assume thatq0 = qn+1 = l0 = ln+1 = L0 = Ln+1 = 0. The time windows associated with the depot (where

e0 =en+1,a0=an+1) represent the earliest possible departure from the depot as well as the latest possible return time

to the depot, respectively. We consider one vehicle withCcapacity. The PTPTWSTDP consists on finding a 1 route such that

(i) route starts and ends at the depot,

(ii) every mandatory customer must be visited exactly once and (iii) every customer might be visited at most once,

(iv) the total demand of customers assigned to the vehicle does not exceed its loading capacity, (v) all time windows are obeyed, and

(vi) the sum of the collected profit minus the routing cost is maximized.

For themathematical model, the PTPTWSTDP can be formulated as an mixed integer problem (MIP) using the following decision variables: We define a binary variables xi j which is equal to 1 if the vehicle traverses the arc (i,j)∈ A. Binary variablesyiwill be equal to 1 if nodeiis part of the route. We are discretizing time. The amont of additional time we stay at nodeibeyondli must be chosen from the subsetOi = {0, ...,(Li−li)}, based on this we introduce binary variablesbiowhich is equal to 1 if the vehicle leaves the nodei,o ∈ Oiunits afterli. Variables

si define the start of service by the vehicle at nodei. Variablesdi model the duration of service at nodei. The

mathematical modelwas taken fromSchmid et al.(2013) with some specific changes for our problem. we do not consider a fleet of vehicles, that is, we only have one vehicle.

max−→X

i∈V        

dipi−X o∈Oi

o2pi

2 (Li−li)

!        −X i∈V X j∈V

xi jci j (3.3)

(4)

X

j∈V

xi j=yi ∀i∈ V \ {n+1} (3.5)

X

j∈V

xji=yi ∀i∈ V \ {0} (3.6)

si+di+ti j ≤sj+M

1−xi j ∀i,j∈ V (3.7)

si≥eiyi ∀i∈ V (3.8)

si≤aiyi ∀i∈ V (3.9)

X

o∈Oi

bio=yi ∀i∈ V (3.10)

di≤li+X o∈Oi

tbio+M(1−yi) ∀i∈ V (3.11)

di≥li+X o∈Oi

tbio−M(1−yi) ∀i∈ V (3.12)

di≤Liyi ∀i∈ V (3.13)

X

i∈V

qiyi≤C (3.14)

yi∈ {0,1} ∀i∈ V (3.15)

xi j∈ {0,1} ∀i,j∈ V (3.16)

bio∈ {0,1} ∀i∈ V,o∈ Oi (3.17)

si≥0 ∀i∈ V (3.18)

di≥0 ∀i∈ V (3.19)

The objective function (3.3) maximizes the revenue (total profit collected minus routing cost). The constraints (3.4) ensure that every mandatory customer is visited exactly once. Constraints (3.5) and (3.6) guarantee flow conservation. Constraints (3.7) take care of timing and at the same time, eliminate the sub tours. Constraints (3.8) and (3.9) make sure time windows are obeyed. Constraints (3.10) force to choose the additional time spent at node (one has to be chosen if visited). Constraints (3.11), (3.12) and (3.13) link the duration of the service withbio and guarantee the

minimum service timelias well as maximum service timeLi. Constraints (3.14) ensure the capacity not be exceeded. Finally, the constraints (3.15)−(3.19) impose conditions on the variables.

4. Solution Approach

We propose a metaheuristic solution approach based onHybrid Large Neighborhood Search(HLNS). We decom-pose the problem into two parts: we use aLarge Neighborhood Search(LNS) (based onPisinger and Ropke(2007)) to solve the embedded routing problem. We use aDynamic Programming(DP) algorithm for the scheduling prob-lem, that is, to determine the service time given a route. The goal forHLNS is to generate a near-optimal routeK. Therefore, iteratively the incumbent solution (or route)K0is partially destroyed and then it is repaired again; that is, in each iteration first a given number of elements (customers or nodes) are removed and then they are reinserted. Every time these operations lead to an improved solution, the new solution replaces the incumbent solution, hence trying to improve the quality of the solution in each iteration. In the next section we are going to describe in detail how the solution is destroyed and repaired.

(5)

4.1. Destroy Operator

Thedestroy operatorconsists ondestroyingthe route by eliminating nodes (throughout the paper, nodes means the same as customers). Every time we use the destroy operator, it is necessary to determine how many nodes must be eliminated. In our case, the number of nodes is chosen randomly between 0 and 50% out of the number of customers who are currently part of the route. Afterwards, in order to determine which nodes will be removed, we evaluate the consequences upon removal. The Selection is biased with respect to consequences. We approximate the consequences in two parts; the collected profit we will lose and the routing cost we will to save. We denote the approximation as

∆OFand calculated as follows:

i j

k

(a)

i j

k

(b)

Figure 4.1: Destroy operator

Figure4.1a shows a part of a route, the solid lines represent the arcs that currently are part of a route. Figure 4.1bshows the consequences if nodekis removed. The solid line represents the arc added after removing the nodek, and the dashed lines represent the arcs eliminated after removing the nodek. Upon removal, we will lose the profit currently collected and we will need to take into account the additional routing cost. This change can be expressed as follows:

∆OFD=−pro f itdkˆ+cik+ck j−ci j (4.1)

Where ˆdkis the duration at nodek.∆OFis the approximation of how much the objective function changes if the nodekis eliminated.

Afterwards, the node to be eliminated will be chosen randomly, and the selection probability is biased respect to∆OFD; that is, we assign a higher probability of being eliminated to those nodes where∆OFD is larger. The underlying intuitions is that we want to eliminate the ”bad” nodes; these are those nodes that upon removal improve objective function.

4.2. Repair Operator

The idea ofrepair operatoris torepairthe route by inserting nodes. Every time we use the repair operator, we try to insert nodes until we fail five times in inserting a new node. For computational reasons only a subset of nodes will be considered for for repairing the route. We considered only nodes not part of the current route and nodes that are close to the current route. A node is considered close, if it is among theQclosest nodes of node which is currently part of the route (where 1≤Q≤ ∞). Afterwards, we evaluated the consequences to find the best insertion position. We approximate the consequences in two parts: the additional collected profit and the additional routing cost. We denote the approximation as∆OF. Figure4.2ashows a part of a route, the solid lines represent the arcs that actually are part of a route. Figure4.2bshows the consequences if nodekis inserted, The solid lines represents the arcs added after inserting the nodek, and the dashed line represents the arcs eliminated after inserting the nodek.

(6)

i j k

(a)

i j

k

(b)

Figure 4.2: Repair operator

Additional profit we approximate by the profit if we stay Lk, and we need to take into account the additional routing cost. Mathematically, these changes can be expressed as follows:

∆OFR=

pro f it(Lk)−cik−ck j+ci j (4.2)

∆OFR is the approximation of how much the objective function changes if a customer is inserted. Selection

probability is biased with respect to its consequences. After selecting the node that will be inserted, therepair operatorinserts the selected node in its best position; this is associated with the higher∆OFR. The intuition behind is

insert the best nodes; these are those nodes that upon inserted improve objective function.

4.3. Evaluation

We use Dynamic Programming (DP), an exact algorithm, for evaluating any given route (or sequence). The evaluation consists on determining the service time for each node within the route. In the next section we are going to describe in detail the DP algorithm, as well as the preprocessing we propose to reduce the problem.

4.3.1. Dynamic Programming

We useDPbased on a sequence (or route). In our particular case, we define a stateSt(it,dt) wheret ∈ T is the

current stage andT is the set of all stages represented by the depot time window [e0=en+1,a0=an+1], Further,it∈ V

is the node where we are in stagetanddtis the current service time. We have a decision vectorxt ∈ {0,1}for each decision epocht∈ T, wherextis equal to 1 if we stay at the current nodeii, or otherwise is equal to 0 if we leave to

the next node. The decisions are subject to the following constraints:

Li−1≥dtxt (4.3)

dt≥li−M xt (4.4)

Where the Constraint (4.3) ensures leave after spending the maximum service timeLiand Constraint (4.4) ensures not to leave before minimum service timeli. We define the following transition function:

St+∆t(it+∆t,dt+∆t)=SM(St,xt)

∆t=

    

1 if xt=1

ti,i+1 if xt=0

it+∆t=

    

it xt=1

next(it) xt=0

dt+∆t=

    

dt+1 xt=1

0 xt=0

(7)

which relates the current stateStand decisionxtwith the state we would reach in the next decision epochSt+∆t.

Ct(St,xt)=

    

0 ifxt=0 (leave)

mpro f it(it,dt) ifxt=1 stay

(4.6)

The Immediate contributionCt(St,xt) is the profit that we generated from staying one more unit in the stateSt and

by having made the decisionxt; that is, if we decide to stay on current node one more time unit. The contribution will be marginal profit by having stayed one more time unit. Our objective function is:

max−→X

t∈T

Ct(St,xt) (4.7)

Finally we use theBellman’s equationto solve the problem at hand:

Vt(St)=max xt

{Ct(St,xt)+Vt+∆t(St+∆t)} ∀St∈ St (4.8)

In order to determine the value of stateStbased on contributionCtand value of next stateSt+∆t, by using backward

induction. Then, every time we useDPwithinHLNS we find the optimal schedule and hence the maximum collected profit for the sequence.

Then, in every iteration of the HLNS the route is partially destroyed (by thedestroy operator) and then it is repaired again (by therepair operation).DPis used as solution evaluation. As depicted in the Algorithm4.1

Algorithm 4.1Basic Steps for HLNS

x←Initial solution

ˆ

x←Best solution

whiletermination criteria not reacheddo

x0←destroy(x)

x00←DP(x0) if x00>xˆthen

ˆ

x←x00

end if

x0←repair(x0)

x00←DP(x0) if x00>xˆthen

ˆ

x←x00 end if end while

4.3.2. Preprocessing

The preprocessing is based on sequenceR ={0, ...,f, ...,F}(or route). The idea of preprocessing is to limit the feasible points in timetand hence reduce the possible states where we can be at any node f ∈ R. We propose three ways to exclude the set of feasible points in time. The first one is the earliest point in time to be at the node that is located at position f of the route (Ef), taking into account what happens before in the route. Mathematically, it can

be expressed as follows.

E0=0

Ef =Ef−1+max

n

ef−1−Ef−1,0

o

+lf−1+tf−1,i

(4.9)

Where ef, lf and tf−1,f are the start of time window, minimum service time and travel time from preceding

node to node at position f respectively. Additionally we calculate the latest time to be at the node that is located at position f (Wf), taking into account what happens afterwards in the route, and hence ensuring the routes feasibility.

(8)

WF =an+1

Wf =min

n

af +Lf,Wf+1−tf,f+1−lf+1

os (4.10)

Whereaf,Lf andtf,f+1 are the end of time window, maximum service time and travel time between node at

position f and its successor for the customer at position f respectively. Finally we calculate the latest feasible time to start the service in the node located at position f (MWf). To calculatedMWf, first it is necessary to complete the

following calculations: Uf (Equation (4.11)), is the latest time to start the service, taking into account what happens afterwards in the route, andBf(Equation (4.12)) is the latest time to start the service, taking into account what happens

before in the route.Uf andBf are calculated for node located at position f in the route.

UF =an+1

Uf =minnaf,Uf+1−tf,f+1−lf

o (4.11)

B0=0

Bf =max

n

ef,min

n

af−1,Bf−1

o

+Lf−1+tf−1,f

o (4.12)

Thus,MWican be mathematically express as follows.

MWf =min

n

Uf,Bf

o

(4.13)

5. Results

To test the metaheuristics, we used a modified version ofSolomon’sinstances, more specifically the instance of

R101. This consist for 100 customers, are randomly generated. It has a short scheduling horizon and allow only a few customers per route. Each node has a time window [ei,ai]. Routing costsci j and travel timesti jfrom a nodeito a node jcorrespond to the Euclidean distance between these two nodes. In addition, we defined for each node: a profit

pi=10, minimum service timeli=5 and maximum service timeLi=15, the capacity is unrestrictedC=∞and the set of mandatory nodes are empty (MV={∅}). The metaheuristics was implemented in Java. All tests were carried out in Intel Core 2 Duo CPU at 2,66 GHz with 8GB of RAM. We imposed a run time limit of 100 s. The MIP was solved in Xpress-MP.

Based on this information, our main instance was very large and we wanted to try the algorithm with smaller instances. Hence, we reduced the number of nodes and we generated 5 classes of smaller instances as follows: we generated two instances of size 50, thereafter called 50-1 and 50-2. The first 50 customers were considered in instance 50-1 and the second 50 customers were considered in instance 50-2. For other classes of instances the procedure was similar. Table5.1shows all instances and their naming conventions used trhroughout the rest of the paper.

Number of instances Number of nodes Name of instance

10 10 10-1...10-10

5 20 20-1...20-5

3 30 30-1...30-3

2 50 50-1...50-2

1 100 100-1

Table 5.1: Classes of instances.

We introduced parameterQ, which is an important parameter of the metaheuristics. It has an impact on the run time required of our repair operator. For this reason, we wanted first to find out which value ofQworks best, thats why we set up the following experiment; we tested three different values forQ, 5, 10 and 15. Table5.2reports the performance of our algorithm for different values ofQ. We did five independent runs per instances using different seeds for initializing random number generator. The presented results are averaged across instances of the same

(9)

number of customers. The first column shows the size of the instance, the column headed with ”Best avg. solution” contains the average of the best solution per class of instances. The column headed with ”Avg. solution” contains the average of the solution for each class of instance. The column headed with ”Time found” shows the average time when the best solution was found in seconds. The last row contains results average across all 21 instances under consideration. The best average results obtained per class of instances for different values ofQare highlighted in bold.

Table5.2shows that the best value for the parameterQis fifteenQ=10. Hence we continue to use this value for all subsequent experiments.

Q=5 Q=10 Q=15

Number of nodes Best avg. solution Avg. solution Time found [s] Best avg. solution Avg. solution Time found [s] Best avg. solution Avg. solution Time found [s]

10 382.15 382.15 0.24 831.50 382.15 0.19 831.50 382.15 0.19

20 542.90 542.90 0.59 538.50 542.90 0.43 538.50 542.90 0.91

30 536.67 536.67 1.01 575.50 536.67 0.73 575.50 536.67 1.66

50 719.95 720.00 3.51 723.50 723.50 3.05 723.50 723.50 3.32

100 894.00 865.80 10.51 899.50 895.30 10.09 895.00 876.00 10.71

Average 615.13 609.50 3.17 713.70 616.10 2.90 712.80 612.24 3.36

Table 5.2: Performance for differentq.

Then, the results indicate thatQ=10 is a good choice for this parameter hence we continue to use this parameter in the following experiments. We compared the HLNS solution with the MIP optimal solution obtained when solving the MIP using Xpress (Optimizer Version 23.01.05) . Table5.3- Table5.7show the results for all individual instances. Table5.3reports the results for the instances of the smallest class considering only 10 nodes 10-1...10-10. The first column shows the name of the instance. We first present the results obtained by solving the problem using Xpress, the column are headed by ”MIP”; the second and third columns show the optimal solution and the time in seconds where this was found by Xpress, respectively. Afterwards, we present the results obtained by our proposed metaheuristics; the next columns present the best solution which was found in five runs, the average solution obtained and the time where the best solution was found in seconds. The last row contains the average results across all instances within this class. Values are highlighted in bold when the solution obtained by LNS and Xpress was the same. The algorithm was always able to find the optimal solution. The run time required was similar to the one used by Xpress 0.19s vs 0.2s.

We also did the same type of comparison for larger instances. Tables5.4,5.5,5.6and5.7contain the result for the classes consisting of 20, 30, 50 and 100 nodes, respectively.

MIP HLNS

Instance Solution Time [s] Best solution Average solution % Avg. Gap Time found [s]

10-1 335.50 0.14 335.50 335.50 0.00 0.32

10-2 226.00 0.13 226.00 226.00 0.00 0.25

10-3 436.50 0.33 436.50 436.50 0.00 0.13

10-4 214.00 0.16 214.00 214.00 0.00 0.15

10-5 297.00 0.18 297.00 297.00 0.00 0.13

10-6 443.00 0.17 443.00 443.00 0.00 0.15

10-7 425.50 0.21 425.50 425.50 0.00 0.28

10-8 327.50 0.33 327.50 327.50 0.00 0.18

10-9 831.50 0.24 831.50 831.50 0.00 0.17

10-10 285.00 0.14 285.00 285.00 0.00 0.16

382.15 0.20 382.15 382.15 0.00 0.19

(10)

MIP HLNS

Instance Solution Time [s] Best solution Average solution % Avg. Gap Time found [s]

20-1 357.50 0.80 357.50 357.50 0.00 0.68

20-2 452.50 0.86 452.50 452.50 0.00 0.50

20-3 538.50 0.26 538.50 538.50 0.00 0.41

20-4 534.50 0.26 534.50 534.50 0.00 0.26

20-5 831.50 0.49 831.50 831.50 0.00 0.29

542.90 0.53 542.90 542.90 0.00 0.43

Table 5.4: Results for instances 20-1...20-5.

MIP HLNS

Instance Solution Time [s] Best solution Average solution % Avg. Gap Time found [s]

30-1 500.00 1.77 500.00 500.00 0.00 1.53

30-2 575.50 0.41 575.50 575.50 0.00 0.32

30-3 534.50 0.95 534.50 534.50 0.00 0.35

536.67 1.04 536.67 536.67 0.00 0.73

Table 5.5: Results for instances 30-1...30-3.

MIP HLNS

Instance Solution Time [s] Best solution Average solution % Avg. Gap Time found [s]

50-1 547.50 8.59 547.50 547.50 0.00 4.78

50-2 955.50 4.44 899.50 899.50 0.06 1.32

751.50 6.51 723.50 723.50 0.03 3.05

Table 5.6: Results for instances 50-1...50-2.

MIP HLNS

Instance Solution Time [s] Best solution Average solution % Avg. Gap Time found [s]

100-1 n/a n/a 899.50 895.30 n/a 10.09

Table 5.7: Results for instance 100.

The algorithm (LNS) is robust, always found optimal solutions for all instances consisting of up to 30 customers. On average, per class, run time required using LNS is smaller than the time required to solve the problem using Xpress. For instances including 50 customers, the algorithm was able to always find the optimal solution for the first instance. For the second instance the average gap was 0.03%. Finally for the largest instance, Xpress was not able to find a feasible solution within 3600 seconds. The best solution found by LNS is 899.50, the average solution obtained is 895,30 and the average run time required was 10.09 s.

(11)

6. Conclusions

In this paper, we introduced the Profitable Tour Problem with Time Windows and Service-Time Dependent Profit, a problem that tries to identify a tour, whose the objective function is to maximize the collected profit minus traveling cost. We can choose the nodes that we want to visit, some of the nodes may have to be visited. Each node has a profit function, a minimum service time and maximum service time, as well as time window. The collected profit depends on the time we stay at the node. The service must start within the time window. Finally, the tour must start and end at the depot. This problem is hard for commercial solvers, at least for interesting sized instances. We therefore developed a metaheuristics to provide good solutions in a reasonable amount of time. The problem is decomposed into two components for solving the embedded routing and scheduling problem; Large Neighborhood Search will be used for the the routing problem, as well as Dynamic Programming for the scheduling problem. For small instances, even the optimal solution is found in a few seconds. Finally we compared our method versus Mixed Integer Programming, and showed that for largest instances the solver is not able to provide a solution whereas the metaheuristics did provide a good solution in a few seconds.

References

Archetti, C., Feillet, D., Hertz, A., Speranza, M. G., 2008. The capacitated team orienteering and profitable tour problems. Journal of the Operational Research Society 60 (6), 831–842.

Arkin, E. M., Mitchell, J. S. B., Narasimhan, G., 1998. Resource-constrained geometric network optimization. In: Proceedings of the fourteenth annual symposium on Computational geometry. SCG ’98. ACM, New York, NY, USA, pp. 307–316.

URLhttp://doi.acm.org/10.1145/276884.276919

B´erub´e, J.-F., Gendreau, M., Potvin, J.-Y., 2009. A branch-and-cut algorithm for the undirected prize collecting traveling salesman problem. Networks 54 (1), 56–67.

URLhttp://dx.doi.org/10.1002/net.20307

Butt, S. E., Cavalier, T. M., 1994. A heuristic for the multiple tour maximum collection problem. Computers & Operations Research 21 (1), 101 – 111.

URLhttp://www.sciencedirect.com/science/article/pii/0305054894900655

Dell’Amico, M., Maffioli, F., V¨arbrand, P., 1995. On prize-collecting tours and the asymmetric travelling salesman problem. International Trans-actions in Operational Research 2 (3), 297–308.

URLhttp://dx.doi.org/10.1111/j.1475-3995.1995.tb00023.x

Feillet, D., Dejax, P., Gendreau, M., 2005. Traveling salesman problems with profits. Transportation Science 39 (2), 188–205.

URLhttp://transci.journal.informs.org/content/39/2/188.abstract

Gendreau, M., Laporte, G., Semet, F., 1998. A tabu search heuristic for the undirected selective travelling salesman problem. European Journal of Operational Research 106 (2–3), 539 – 545.

URLhttp://www.sciencedirect.com/science/article/pii/S0377221797002890

Golden, B. L., Levy, L., Vohra, R., 1987. The orienteering problem. Naval Research Logistics (NRL) 34 (3), 307–318.

URLhttp://dx.doi.org/10.1002/1520-6750(198706)34:3<307::AID-NAV3220340302>3.0.CO;2-D

Kataoka, S., 1988. An algorithm for single constraint maximum collection problem. J. OPER. RES. SOC. JAPAN. 31 (4), 515–530.

Keskin, B. B., Li, S. R., Steil, D., Spiller, S., 2012. Analysis of an integrated maximum covering and patrol routing problem. Transportation Research Part E: Logistics and Transportation Review 48 (1), 215 – 232, ¡ce:title¿Select Papers from the 19th International Symposium on Transportation and Traffic Theory¡/ce:title¿.

URLhttp://www.sciencedirect.com/science/article/pii/S1366554511000895

Laporte, G., Martello, S., 1990. The selective travelling salesman problem. Discrete Applied Mathematics 26 (2–3), 193 – 207.

URLhttp://www.sciencedirect.com/science/article/pii/0166218X9090100Q

Pisinger, D., Ropke, S., 2007. A general heuristic for vehicle routing problems. Computers & Operations Research 34 (8), 2403 – 2435.

URLhttp://www.sciencedirect.com/science/article/pii/S0305054805003023

Righini, G., Salani, M., 2009. Decremental state space relaxation strategies and initialization heuristics for solving the orienteering problem with time windows with dynamic programming. Computers & Operations Research 36 (4), 1191 – 1203.

URLhttp://www.sciencedirect.com/science/article/pii/S030505480800004X

Schmid, V., Doerner, K. F., Laporte, G., 2013. Rich routing problems arising in supply chain management. European Journal of Operational Research 224 (3), 435 – 448.

URLhttp://www.sciencedirect.com/science/article/pii/S0377221712006376

Vansteenwegen, P., Van Oudheusden, D., 07 2007. The mobile tourist guide: An or opportunity. ORI 20 (3), 21–27.

URLhttp://dx.doi.org/10.1057/ori.2007.17

Wouter Souffriau, Pieter Vansteenwegen, G. V. B. D. V. O., 2010. The multi-constraint team orienteering problem with multiple time windows. Transportation Science.

Referencias

Documento similar

The optimization problem of a pseudo-Boolean function is NP-hard, even when the objective function is quadratic; this is due to the fact that the problem encompasses several

In this context, the Parking Slot Assignment Problem is the math- ematical problem that finds assignments of carriers to parking places that satisfy their time windows requests..

In [9], it is proven that the lim-reachability problem for consistent CPN systems with no empty siphons in the initial marking is decidable in polynomial time.. We improve this

We also prove formally (Appendix A) that the two problems are related; in particular, the proposed problem can be derived from the LP-max problem and the optimal value of the

SVMs applied to a regression problem perform a linear regression in the feature space using the -insensitive loss as cost function and, at the same time, regularizing the weights

Similar to the results obtained in the genetic model, we observed a time- dependent decrease of the CD133+ cell fraction in ATR siRNA-treated cells along with a

From a network planning perspective, the problem of finding the lightpaths to accommodate a given traffic demand is called the routing and wavelength assignment (RWA) problem

Abstract This paper addresses the problem of finding a static virtual topology design and flow routing in transparent optical WDM networks under a time-varying (multi-hour) traffic