• No results found

The Orienteering Problem with Set Bonuses. Master’s Thesis

N/A
N/A
Protected

Academic year: 2021

Share "The Orienteering Problem with Set Bonuses. Master’s Thesis"

Copied!
26
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

The Orienteering Problem with Set Bonuses.

Master’s Thesis

(2)
(3)

Abstract

The Traveling Salesman Problem is the problem of finding the shortest route through a given set of vertices on a graph. An extension of this problem is the Orienteering Problem (OP), where each vertex has an associated reward. The problem is to find a route with highest reward, such that total travel time does not exceed a certain maximum.

In this Thesis we extend the OP to the Orienteering Problem with Set Bonuses, in which sets of vertices have associated rewards as opposed to just single vertices. A Genetic Algo-rithm and an Ant Colony Optimization heuristic are constructed and compared to optimal solutions and to a simple greedy heuristic.

We find that the GA and the ACO perform significantly better than the greedy heuristic, finding optimal solutions for a large number of instances.

1

Introduction

The Travelling Salesman Problem (TSP) is the problem of finding the shortest route through a given set of vertices on a graph G = (V, E). An extension of this problem is the Orienteering Problem (OP), where each vertex has an associated reward. Whether or not a vertex is visited is left to the decision maker. The problem then becomes to find a route with highest reward either such that the total distance travelled is less than a certain maximum or with a penalty for distance travelled (the multi-objective OP). Other problems that are equivalent to the OP are Selective TSP [1][2], Maximum Collection Problem [3], Bank Robber Problem [4] and Prize Collecting TSP [5].

Several solution approaches have been used to tackle the OP. Exact approaches use a variant of branch-and-bound or branch-and-cut to solve instances up to 500 vertices [1][6]. Numerous heuristics have been constructed as solution methods. In a recent survey Vansteenwegen et al. [7] give an extensive overview. Schilde et al. [8] propose an Ant Colony Optimization hybrid and a Variable Neighbourhood Search hybrid. Even though these heuristics are designed to solve the multi objective OP, they outperform other heuristics designed specifically for the OP. Tasgetiren [9] et al. propose a genetic algorithm, which shows promising results.

(4)

pro-posed by Schilde et al. [8] to solve the OPSB and compare those with optimal solutions found by using standard solvers. For larger instances, where optimal solutions are not easily obtained, we will compare the GA and the ACO with a simple greedy heuristic.

The OPSB is highly relevant for practice. With the advance of e-commerce, the number of com-panies serving customers from multiple warehouses is on the rising. The OPSB is motivated by the problem these businesses face when fulfilling customer orders containing products from two or more of these warehouses. The products could be shipped individually, using the exter-nal netwerk typically used to deliver the products to customers, or they can be shipped together, which means they must be packed in one of the warehouses. If this problem occurs frequently, the company may decide to employ its own transportation system to bring such products to-gether. The daily routing of the truck is then exactly the OPSB.

This problem is faced by libraries in The Netherlands. There are many small library locations where customers can reserve books, which need to be collected from other library locations in the region. The reserved books then have to be shipped to the libraries where they were re-served. The way most libraries handle this problem now is by letting a truck for each region visit all libraries in their respective regions and collecting all books that are on order from other libraries. This strategy is very expensive though and with budget cuts coming, library man-agement may look into other ways to execute this operation. One example is using external delivery services for libraries with a low supply of books for other libraries. To decide which libraries fit these category and may benefit from using these external delivery services the OPSB can be used.

The OPSB can also be used to solve the more classical problem of planning tourists routes, tak-ing into account the similarity of some tourist sites. This can be done by incorporattak-ing negative paired bonuses for attractions that are similar, making it less desirable to visit both.

(5)

2

Problem formulation

In this section we formulate the Orienteering Problem with Set Bonuses. The OPSB is defined on a graph G= (V, E). Let there be M bonus sets S1, . . . , SM, with Sk ⊆V for k∈ {1, . . . , M}. Let

N be the number of vertices, hence N= |V|. Throughout the paper we denote V= {1, . . . , N}, without loss of generality let 1 be the starting vertex. Define the following parameters:

tij The time it takes to traverse arc(i, j) ∈E.

Tmax The maximum allowed time to travel a route.

bk The bonus for visiting all nodes of bonus set Sk, 1≤k≤M.

Let a route r be a path on G and be denoted by(i, . . . , j), where the order of the vertices given by r is the order in which the vertices are visited. Call a route r partial if i6=1 or j6=1. Let E(r)

be the edgeset induced by the route r, that is E(r) = {(i, j) ∈E|j is visited directly after i in r}. Let V(r)be the set of vertices visited by route r. Call two partial routes r1and r2disjoint if and

only if V(r1) ∩V(r2) = ∅. For two disjoint partial routes r1 = (i, . . . , j)and r2 = (u, . . . , v)

denote r1+r2= (i, . . . , j, u, . . . , v).

We call a partial route rsa subroute of r (denote rs ⊂r) if we can write r=rb+rs+re, where rb

and remay be empty routes.

The bonus of bonus set Sk(k ∈ {1, . . . , M})is awarded to a route r if and only if∀v ∈ V, v ∈

Sk ⇒ v ∈ V(r). The objective of the problem is then to find a route with the highest possible

associated score, without exceeding the maximum allowed travel time Tmax. The bonus of a set

can be negative, whereas the times to traverse the arcs are assumed nonnegative. Throughout the paper it is assumed that the graph G is complete.

2.1

Mathematical Formulation

Define the following variables:

xij Binary variable indicating whether the arc(i, j) ∈E is contained in the route.

(6)

Then the orienteering problem with set bonuses can be written as: max M

k=1 bkzk (1) s.t. N

j=2 x1j=1 (2) N

i=1 xik= N

j=1 xkj≤1 k∈ {2, . . . , N} (3) N

i=1 N

j=1 tijxij ≤Tmax (4) 2≤ui ≤N i∈ {2, . . . , N} (5) ui−uj+1≤N(1−xij) i, j∈ {2, . . . , N} (6)

i∈Sk N

j=1 xij≤ |Sk| +zk−1 k∈ {1, . . . , M} (7)

i∈Sk N

j=1 xij ≥ |Sk|zk k∈ {1, . . . , M} (8) xij∈ {0, 1} i, j∈ {1, . . . , N} (9) zk∈ {0, 1} k∈ {1, . . . , M} (10)

The objective function 1 is the sum of all bonuses of completely visited sets. Constraint 2 makes sure vertex 1 is the starting vertex. Constraint 3 makes sure the route is connected and each vertex is visited at most once. From constraints 2 and 3 it follows that∑Ni=2xi1=1, making sure

the route is closed. Constraint 4 is in place to ensure the route does not exceed the maximum time limit Tmax. Constraints 5 and 6 are subtour elimination constraints. Constraints 3-6 are

similar to the ones formulated by Vansteenwegen et al. [7], who formulated the OP with a distinct start and end vertex. Constraint 7 implies that zkhas to be 1 if all vertices in set Skare

visited, this is needed when bk<0. Constraint 8 makes sure all vertices of bonus set Skhave to

be visited if zk=1 for k∈ {1, . . . , M}.

(7)

2.2

Complexity

Golden et al. [11] have shown that the OP is NP-hard, as it is a generalization of the TSP. It is easy to identify the OPSB as a generalization of the OP. Let an instance of the OP be given on a graph G = (V, E)with scores ˆsi for nodes i ∈ V and a maximum allowed time to travel ˆTmax.

Now consider the OPSB with Sk = {k},∀k ∈ V and bk = ˆsk. The mathematical formulation

given in 2.1 then reduces to the mathematical formulation given by Vansteenwegen et al. [7] for the OP. Since the OPSB thus reduces to the OP, which is NP-hard, we can conclude that the OPSB is NP-hard.

3

Solution Approaches

As shown in the previous section, the OPSB is NP-hard. This means that, unless P = NP, no efficient solution methods solving the problem to optimality exist. Therefore we propose to use heuristics to solve the problem. In this section we explain the details of these heuristics. For the first heuristic method we have adaptated the Ant Colony Optimization method proposed by Schilde et al. [8]. This method was originally designed to provide good solutions for the multi-objective OP, but could not be directly applied to the OPSB. The second method is a Genetic Algorithm.

3.1

Ant Colony Optimization

(8)

the shortest path problem [12]. The ACO has also been used to solve a large number of other problems [13].

Schilde et al. [8] designed an ACO heuristic for the Orienteering Problem. We have adapted this heuristic to work for the OPSB, the main difference being the way heuristic information is determined.

To describe the algorithm some additional notation is needed. Let T(r)be the time it takes to traverse the partial path r:

T(r) =

e∈E(r)

te.

Define the set of candidate vertices of a partial route r= (1, . . . , i)as Ω(r) ≡ {j∈V|(i, j) ∈E\E(r), tij+tj1≤Tmax−T(r)}.

Finally call a partial route r = (1, . . . , i) maximal ifΩ(r) = {}. Then the algorithm can be described as follows [8]:

Repeat the following steps until the stopping condition is met: 1. Create an ant population positioned at the starting vertex 1 2. Assign initial route{1}to each ant.

3. Repeat the following steps until each ant has built a maximal route: (a) Select next vertex to visit for each ant’s partial route.

(b) Perform local pheromone update on used arcs.

4. Add vertex 1 to the maximal route to create a complete route. 5. Apply iterative improvement to each ants route.

6. Perform global pheromone update.

3.1.1 Select next vertex to visit for each ant’s partial route

(9)

(i, j), which is a priority measure that indicates the desirability of visiting j from i. Schilde et al. [8] use

ηij=

sj

tij,

where sj is the score of visiting vertex j. For the OPSB this measure does not make sense, as

there is no single score for each vertex.

Therefore we propose to use the following measure of desirability of a vertex:

ηij= ∑{Sk|j∈Sk}γ|S k|· bk |Sk| cij ,

where γ|Sk|is a scaling factor to give lower priority to sets with higher cardinality. Larger bonus

sets are less likely to be completely visited, which this factor can account for. This heuristic information criterion is a generalization of the previously mentioned score of Schilde et al. Apart from the heuristic information, there is also pheromone information of the arc(i, j) ∈E, denoted by τij. Where the heuristic information is a measure of desirability based on some user

defined priority rules, the pheromone information is gradually build during a run, to reflect the desirability of arcs based on their performance in routes found in previous iterations. Later we will discuss how this pheromone information changes during a run.

The heuristic information and the pheromone information is combined into a single score sjfor

each vertex by sj=    τijαηijβ j∈Ω(r) 0 j /∈Ω(r).

The user defined parameters α and β control the weight of the pheromone information and the heuristic information respectively.

The next vertex to visit is either the vertex with the highest score or given by biased random selection, giving higher weight to vertices with higher scores. Whether the first or second selec-tion method is used is chosen randomly with probability q0, which is user specified. The vertex

argmaxj∈Vsjis selected with probability q0. With probability 1−q0we select the next vertex by

random sampling, where the probability of selecting vertex j∈V is given by P(j) = sj

∑k∈VSk

(10)

The way the set of candidate vertices is defined, selecting the vertices this way always yields a maximal route. After the ant has finished travelling a maximal route, the depot vertex is added to the route, creating a feasible route.

3.1.2 Pheromone update

During a run of the ACO the pheromone levels of the arcs are updated. The pheromone level of all vertices is initialized at τ0. The level of pheromones on the arc can be used for diversification

of the search and for intensification. For these purposes there are two types of updates: local updates and global updates.

The local update is performed directly after an arc is selected. If arc(i, j) ∈ E is selected the update is performed as follows, with evaporation rate 0≤ρ≤1:

τijnew= (1−ρ)τijold+ρτ0.

This update ensures that selected arcs are less likely to be selected in future iterations, enabling a wider search.

The global update is performed, after all the ants in the population are finished selecting their routes and after iterative improvement has been applied to their routes. A factor∆τ is added to the best route found in the iteration and a factor 12∆τ is added to the second best routes. This way the pheromones on the arcs of the two best found routes are reinforced. Let r∗be the best found route in the iteration and r∗∗ be the second best route. Then the new pheromone information can be given by:

τenew=                τeold+1.5∆τ if e∈E(r∗)and e∈E(r∗∗) τeold+∆τ if e∈E(r∗)and e /∈E(r∗∗) τeold+0.5∆τ if e /∈E(r∗)and e∈E(r∗∗) τeold if e /∈E(r∗)and e /∈E(r∗∗)

(11)

3.1.3 Applying iterative improvement to each ants route

After the routes are constructed, they are improved by a local search. There are 3 operators used in this procedure.

Two-opt Two-opt is a local search procedure originally designed for the travelling salesman problem [15]. When applied to a route, it constructs new routes by deleting two arcs from the route and substituting them with the only two other feasible arcs to construct a new route. Since the route has maximum length n, there are at most n(n−1)pairs of arcs to be deleted, which makes it a fast procedure (O(n2)). The procedure is implemented as a first-improvement, which means that whenever the route is shortened by constructing a new route it is returned as the new route. This in contrast to best-improvement, which tries all possible pairs of deletions and returns the shortest route.

Feasible insertion The two-opt operator is capable of shortening routes, but the route length is not in the objective function. This means that it is not capable of improving solution quality as defined in the problem description. A shorter route may give rise to the possibility of adding new vertices to the route. For this purpose the feasible insertion operator is used. When applied to a route, it takes a vertex not yet in the route and adds it to the route. Every place of the route is considered. When it finds a feasible place for the new vertex it returns the route with the vertex inserted at this place. Again first-improvement is used. The number of nodes is at most n, the number of places to insert a new vertex is also n, hence this procedure is alsoO(n2).

Exchange Another way of shortening a route is by deleting vertices. This does however de-crease the total score of the route, hence it makes sense to immediately insert a vertex after the deletion. This is the way the exchange operator works. It deletes a vertex from the route and tries to replace it by one of the vertices not yet in the route. The place of the new vertex is the same as the place the old vertex is deleted, to keep the procedure fast. This is done until an improvement is found or all possible exchanges are considered. Analogue to the insertion operator this procedure runs inO(n2).

(12)

3.2

Genetic Algorithm

Genetic Algorithms are evolutionary algorithms fit for use in a wide number of applications. It was originally proposed by Holland to study the phenomenon of adaptation and look for ways to adopt this in computer science [16], but scientists found that in a number of applications it was also well suited for optimization problems.

For the orienteering problem Tasgetiren et al.[9] constructed a Genetic Algorithm. The results they show are promising, obtaining best known solutions to a number of albeit small instances. Direct application of their algorithm to the OPSB did not produce as good solutions. Therefore we adapted the GA to give better results for the OPSB, the details of the GA will be presented in this section.

A GA works by iteratively applying selection, crossover and mutation to members of a popu-lation. In this case the individuals of the population are routes. The chromosomes of the routes are the locations they visit. This means that a route r = (1, . . . , i, j, . . . , 1)is directly coded as such.

At the start of an iteration new offspring are created by the crossover of parents, which are selected from the population and hence are routes. The crossover operator takes characteristics of the parents to create a new route, which is called the child. After this a part of the population is mutated, which means that their route is slightly altered. As the term mutation suggest, this is usually done in a random way.

At the end of an iteration the starting population of the next iteration is selected. This can be done in numerous ways [16], but better solutions have a better chance at surviving the selection procedure than worse solutions. Over time the population consists of only high quality indi-viduals due to the selection pressure. These indiindi-viduals can then be combined to even better routes through crossover. The mutation ensures that the process does not converge too fast and hence does not focus on a too narrow part of the search space.

The GA for the OPSB can be described as follows: 1. Construct initial population.

(13)

(b) Create a new route by crossover these parents. 3. Mutate routes.

4. Select new population from old population, mutations and children. 5. If stopping criteria is met then stop, else go to step 2.

6. Apply iterative improvement to final population.

3.2.1 Construct initial population

The Ant Colony Optimization algorithm described above is also well suited to initialize the GA. We use the ACO with a very small β (e.g. β = 0.001) and only one iteration, to ensure a near random generation of routes. A β of 0 is not advisable, as it means infeasible routes can be constructed (assuming 00=1).

3.2.2 Creating offspring

Let the population of routes at the beginning of iteration c be given by H(c). Let the value of the objective function of a route r∈ H(c)be given by o(r). Generating a child consists of first selecting two parents from H(c)and secondly using properties of both parents to create a child through crossover. The probability of selecting an individual r∈ H(c)as parent is given by:

o(r)

∑k∈H(c)o(k)

.

Two parents are selected at a time. Sampling of parents is with replacement, i.e. a route can be selected to serve as a parent to more than one child.

In a TSP coding routes as their vertex sequences yields fixed length individuals, as all vertices are visited exactly once. For the OP and the OPSB this is not the case, hence the individuals of the population differ in length. Therefore we have implemented two different crossover operators.

(14)

In other words let u ∈ V(r1)\{1}be the randomly selected vertex from the first parent r1 =

(1, . . . , u, . . . , 1)and define rr = (1, . . . , u). Let the second route be given by r2= (1, . . . , j, . . . , 1),

where

j= argmax

{k∈r2|T(rr+(k,...,1))≤Tmax,(k,...,1)⊂r2}

o(rr+ (k, . . . , 1)).

Then the child is given by rc = rr+ (j, . . . , 1), where (j, . . . , 1) ⊂ r2. Note that this always

produces a feasible child in an OPSB with Euclidean Distances in a complete graph, as it is always feasible to only select the last vertex from the second parent, which means that the child is identical to the first parent, possibly with some vertices omitted. This will not result in a longer route as the triangle inequality holds.

Crossover II Randomly select two different vertices u and v from the first parent

r1= (1, . . . , u, . . . , v, . . . , 1). Combine the partial route between these two vertices rr = (u, . . . , v) ⊂

r1 with two partial routes rb, re ⊂ r2 from the second parent r2 to form a child. These two

parts must be from the beginning and the end of the second parent, hence we can write rb =

(1, . . . , i) and re = (j, . . . , 1)for some i, j ∈ r2. For each possible begin rb different ends re

tried. For computational reasons not every possible end is considered, but only those that start a number of positions after the considered beginning. This means that there have to be be-tween λδand λ+δvertices between i and j in r2, with λ the number of vertices of rr and

δ =max(10, 10% number of vertices in r2). The best combination of beginning and end of the

second parent combined with the first random part from the first parent is the new offspring.

3.2.3 Mutate routes

A fixed number of individuals of the population is mutated each iteration. The mutation op-erators also include improvement opop-erators to enable small local improvements which cannot easily be obtained by crossover. Each time an individual is mutated a mutation operator is selected randomly. The mutation operators are:

Add a vertex Randomly select a vertex not yet in the route and randomly insert it in the route.

Delete a vertex Randomly select a vertex from the route and delete it from the route.

(15)

2-opt As explained in section 3.1.3.

Insert a vertex As explained in section 3.1.3.

Exchange vertices As explained in section 3.1.3.

The individuals that are selected for mutation are kept in the original population, whereas the mutated individual is added to the mutated routes.

3.2.4 Selection

The current population is combined with the mutations and offspring yielded in the previous steps. The population is ordered by fitness. Selection is then done by tournament selection. This means two individuals are selected at random and the individual with the higher fitness has a probability p (with p >0.5)to survive. If the fitter individual does not survive, the less fit in-dividual survives. All inin-dividuals have equal probability to be selected for the tournament and selection is done without replacements. Hence if an individual is selected for the tournament and loses, it is not preserved and cannot be selected for the tournament again. To make sure very fit individuals stay in the population, a number of the fittest individuals always advance to the next generation. This is called elitism and was introduced by De Jong [17].

Rank based selection of individuals to advance to the tournament has also been investigated. Let[k]be the rank of the individual, then the probability of selecting this individual is given by

P(k) =Ca([k]), 0<a≤1.

The parameter a is used for scaling; an a close to 1 gives all individuals the same probability of being selected, whereas an a close to 0 is nearly deterministic. The factor C is to normalize the probabilities such that they sum to 1. Note that an a of 1 is equal to the uniform random selection method described above.

3.2.5 Stopping criterion

(16)

iteration. For this case we apply iterative improvement as described in section 3.1.3 to search the neighbourhoods of the members of the population, which can be done relatively fast.

4

Parameter tuning

The performance of the algorithms depends a lot on the parameter settings used. Therefore a number of experiments have been run to test the performance of different settings of the param-eters on the OPSB. The first instance set of Tsiligirides [19] and the first instance set of Chao et al. [18] were adapted to be used for determining this performance. We call these problem sets Problem Set 1 and Problem Set 4 respectively. The paired bonuses were generated randomly with values of 0, 10, 20 and 60. Optimal values were found for the instances of Problem Set 1 using the C-Plex solver. Due to the size of the instances of Problem Set 4, optimal solutions could not be obtained for these instances in reasonable time.

4.1

Ant Colony Optimization

The parameters of the ACO are given by α The weight of the pheromone information. β The weight of the heuristic information. γ1, γ2 The factor for different size bonus sets.

Population size The number of ants to create routes every iteration.

Number of iterations The number of iterations to run the algorithm. τ0 The initial level of pheromones on every arc.

∆τ The amount with which to increment the level of pheromones on all arcs.

Analogue to Schilde et al. [8] the following values are used α = 2, β = 1, τ0 = 10,∆τ = 10,

number of iterations=100 and a population size of 100. The factor γ1is set at 1 and the value

of γ2is experimented with. Relevant values are between 0 and 1, as γ2 > 1 indicates that the

(17)

than the unconditional bonus of the bonus set of size 1, whereas γ2<0 would give a negative

weight to positive set bonuses, which does not make sense.

In Table 1 the results for various values of γ2is shown for Problem Set 1. The value of γ2has

little influence on the performance of the ACO, optimal values are found for all but 2 cases. This can be explained by the fact that the instances from Tsiligirides only have 32 vertices and the ACO is powerful enough to do without the extra information from the paired bonuses. The instances from Chao again do not indicate a clear value for γ2. More tests are needed to be able

to specify a good value for γ2, however in the remainder a γ2of 0.01 is used.

4.2

Genetic Algorithm

The parameters of the genetic algorithm are given by:

Population size The number of individuals to select at the end of each iteration.

Birth rate The number of children to generate as a fraction of the population size.

Mutation rate The number of mutated individuals to generate as a fraction of the population size.

Mutation operator probabilities The probability with which to select each mutator.

Crossover operator probabilities The probability wiith which to select the crossover operator.

p The probability for the fitter individual to win in the tournament.

a Parameter scaling rank based selection.

(18)

Table 1: Results of the ACO for Problem Set 1. Tmax\γ2 0,001 0,01 0,1 0,3 0,7 Optimal 5 10 10 10 10 10 10 10 35 35 35 35 35 35 15 155 155 155 155 155 155 20 355 355 355 355 355 355 25 505 505 505 505 505 505 30 620 620 620 620 620 620 35 940 940 940 940 940 940 40 1240 1240 1240 1240 1240 1240 46 1445 1445 1445 1445 1445 1445 50 1595 1595 1595 1595 1595 1895 55 1780 1780 1780 1780 1780 1780 60 1975 1975 1975 1975 1975 1975 65 2200 2200 2200 2200 2200 2200 70 2355 2355 2355 2355 2355 2355 73 2480 2480 2435 2480 2480 2480 75 2540 2540 2540 2540 2540 2540 80 2665 2665 2665 2650 2665 2665

(19)
(20)

Table 3: Average deviation (in %) from the optimal solution for Problem Set 1 for different values of the parameters of the GA.

(21)

5

Results

The solution methods explained in section 3 were run on a 2.0 GhZ processor with the parame-ter settings of the previous section. For the orienteering problem various benchmark instances are available [7]. Since the OPSB is a generalization of the OP, the solution methods are able to provide solutions for these sets. The solution methods are tested on instance sets, which were obtained by adapting the problem sets of Tsiligrides [19] to Problem Set 1, 2 and 3 and Chao et al. [18] to Problem Set 4 and 5. To create these Problem Sets all pairs of vertices were given bonuses, which were distributed on 0, 10, 20 and 60 with probabilities 0.8, 0.1, 0.06 and 0.04 respectively. Within the Problem Sets the instances differ in Tmax, but the paired and individual

bonuses are the same.

The performance of a simple greedy construction heuristic (GH) is also recorded. This heuristic constructs a route by extending the partial route with the vertex which has the highest heuristic information score as used in the ACO. Different values of γ2between 0 and 1 are used. After

this the routes are improved by iterative improvement as described in section 3.1.3. The best of the routes is the output of the heuristic.

In Table 4 the results of Problem Set 2 are shown. This is a problem set with 21 vertices. The ACO finds optimal solutions for all instances, whereas the GA finds optimal solutions for all but 1. The GH does not find any optimal solutions.

For Problem Set 3 optimal solutions were obtained by neither the ACO nor the GA. The ACO again performs better than the GA, finding better solutions for almost all instances. The fact that no optimal solutions could be found for these instances is surprising. The instances are still moderately sized with 33 vertices. Instances of the OP with as much as 66 vertices were solved to optimality using ACO and GA [8][9]. This indicates that the OPSB is harder to solve to optimality than the OP. Hence it may be useful to look into different solution methods, such as the Variable Neighbourhood Search method for the OPSB.

Finally in Table 6 the results for Problem Set 5 is shown. These results confirm that the ACO performs better than the GA for the OPSB.

(22)

Table 4: Results for Problem Set 2.

Tmax Optimal GA Gap optimal ACO Gap optimal GH Gap optimal

15 280 280 0.0% 280 0.0% 245 12.50% 20 430 430 0.0% 430 0.0% 335 22.09% 23 430 430 0.0% 430 0.0% 310 27.91% 25 470 470 0.0% 470 0.0% 435 7.45% 27 490 490 0.0% 490 0.0% 460 6.12% 30 580 580 0.0% 580 0.0% 510 12.07% 32 630 630 0.0% 630 0.0% 580 7.94% 35 785 705 10.19% 785 0.0% 665 15.29% 38 890 890 0.0% 890 0.0% 860 3.37% 40 940 940 0.0% 940 0.0% 890 5.32% 45 1100 1100 0.0% 1100 0.0% 1030 6.36%

6

Conclusion

In this thesis we have posed the Orienteering Problem with Paired Bonuses and the Orienteer-ing Problem with Set Bonuses as extensions of the extensively studied OrienteerOrienteer-ing Problem [7]. We have extended existing solution methods for the OP to the OPSB and found that they perform well in general, but could be improved upon. Further research could show whether the Variable Neighbourhood Search heuristic, which shows promising results for the OP, is a good search method for the OPSB.

(23)

Table 5: Results for Problem Set 3.

Tmax Optimal GA Gap optimal ACO Gap optimal GH Gap optimal

(24)
(25)

References

[1] Laporte, G., Martello, S. (1990) The selective travelling salesman problem, Discrete Ap-plied Mathematics 26, 193-207.

[2] Gendreau, M., Laporte, G. (1998) A branch-and-cut algorithm for the undirected selec-tive travelling salesman problem, Networks 32, 263-273.

[3] Kataoka, S., Morito, S. (1988) An algorithm for the single constraint maximum collec-tiong problem, Journal of the Operations Research Society Japan 31(4), 515-530.

[4] Arkin, E., Mitchell, J., Narasimhan, G. (1998) Resource-constrained geometric network optimisation, Proc. 14th ACM symposium on Computational Geometry, June 307-316. [5] Dell’Amico, M., Maffioli, F., Sciomachen, A. (1998) A lagrangian heuristic for the prize

collecting travelling salesman problem, Annals of Operations Research 81, 289-305. [6] Feillet, D., Dejax, P., Gendreau, M. (2005) Travelling salesman problems with profits,

Transportation Science 39, 188-205.

[7] Vansteenwegen, P., Souffriau, W., Van Oudheusden, D. (2011) The orienteering prob-lem: A survey, European Journal of Operational Research 209(1), 1-10.

[8] Schilde, M., Doerner, K., Hartl, R., Kiechle, G. (2009) Metaheuristics for the bi-objective orienteering problem, Swarm Intelligence 3, 179-201.

[9] Tasgetiren, M. (2001) A genetic algorithm with an adaptive penalty function for the orienteering problem, Journal of Economic and Social Research 4 (2), 1-26.

[10] Mak, V., Thomadsen, T. (2006) Polyhedral combinatorics of the cardinality constrained quadratic knapsack problem and the quadratic selective travelling salesman problem, Journal of Combinatorial Optimization 11(4), 421-434.

[11] Golden, B. L., Levy, L., Vohra, R. (1987) The Orienteering Problem. Nacal Research Logis-tics 34, 307-318.

(26)

[13] Ant colony optimization algorithms. (2012, October 19), Wikipedia, The Free Encyclope-dia. Retrieved 10:16, October 24, 2012, from http://en.wikipeEncyclope-dia.org/w/index. php?title=Ant_colony_optimization_algorithms&oldid=518712729 [14] Doerner, K. F., Gutjahr, W.J., Hartl, R.F., Strauss, C., Stummer, C. (2004) Pareto ant

colony optimization: A metaheuristic approach to multiobjective portfolio selection, Annals of Operations Research 131(1), 79-99.

[15] Croes, G. A., A method for solving traveling-salesman problems, Journal of the opera-tional Research Society 35(9), 797-809.

[16] Mitchell, M. (1998) An Introduction to Genetic Algorithms, Cambridge MA: MIT Press. [17] De Jong, A. K. (1975) An analysis of the behavior of a class of genetic adaptive systems, Ph. D.

Thesis, University of Michigan, USA.

[18] Chao, I. (1993) Algorithms and solutions to multi-level vehicle routing problems, Ph.D. Dis-sertation, University of Maryland, USA.

[19] Tsiligirides, T. (1984) Heuristic methods applied to orienteering, Operations Research 6(6), 791-812.

[20] Fischetti, M., Salazar, J., Toth, P. (1998) Solving the orienteering problem through branch and cut, INFORMS Journal on Computing 10, 133-148.

Referenties

GERELATEERDE DOCUMENTEN

Hieruit zijn de volgende conclusies getrokken voor het fase 1 modelsysteem: i jaarlijkse water- stikstof en fosforbalansen zijn voor een reeks van jaren sluitend op te stellen, ii

Het is onvoldoende bekend of en in welke mate hormoonverstorende verbindingen via de bodem terecht kunnen komen in de voedselketens die naar landbouwhuisdieren en mensen lopen en of

Tegenwoordig maakt kleine pim- pernel vaak onderdeel uit van zaadmengsels van wilde bloemen waarmee bloemrijke graslanden worden ingezaaid.. Het is een erg vormenrijke soort

Op kleine schaal zijn veel soorten uit de bijzondere Winterswijkse natuur in Heemtuin Freriks te vinden.. Omstreeks 1980 werd de tuin ingericht, daarna waren er

Schmidtverhaal over de koekoek , en dat op een plekje waar onze heempark­ ko ekoek altijd koekoek roept.... Heel wat kinderen kregen gr assprietfluitjes en lui sterden

Als tijdens het ontwerpend onderzoek blijkt dat een bepaald concept of scenario afbreuk zal doen aan de krachtlijnen van de site, dan kunnen de onderzoekers eerst bekijken of het

Empiricism is here revealed to be the antidote to the transcendental image of thought precisely on the basis of the priorities assigned to the subject – in transcendental

Ten eerste moest er een mogelijkheid komen om door middel van post-globale commando's er voor te zorgen dat stukken tekst alleen op het computerscherm worden