• No results found

Part III Experimentation and Analysis

D.5 Competition

3.4 procedure DELETE REDUNDANCY

// Reduces the number of times an arc is traversed and re-routes the solution through // the same set of arcs, possibly in a different order.

Scope: ASRP problems

Input: R // The current solution route, expressed as an ordered sequence of arcs

Output: R* // The new solution route

A← the distinct set of arcs in R // Each distinct arc appears in A only once GE

construct Eulerian graph from A using the matching algorithm of Edmonds and Johnson [78]

R*←CONSTRUCT EULER TOUR FROM EULERIAN GRAPH(GE) (Algorithm 2.1) end

3.3.1

Basic ASRP move-types for local search heuristics

The following procedures are combined as moves in local search heuristics, such as Tabu Search and Steepest Ascent. These move-types are defined on general graphs, not necessarily limited to the grid graphs that are used for the experimental phase, however they are most easily visualized on grids, as in Figure 3.3.

Figure 3.3: Basic ASRP move-types

3.3.1.1

Add

Given a route S traversing a subset RE of edges, and given an edge (vj, vk) ∈E\R, the ADD procedure adds this edge twice, inserting it between a pair of adjacent arcs.

For example, if a section of the route is (…, A, B, C, E, …) and we wish to add edge (C, D), then the new path is (…, A, B, C, D, C, E, …). The cost of the route is increased by cCD + cDC = 2cCD, for a

50 Preliminary Investigation of the ASRP Chapter 3

3.3.1.2

Drop

DROP is the opposite procedure to ADD. Given a route S traversing a subset RE of edges, and given an edge (vj, vk) ∈R, which is included at least twice consecutively in S, this procedure constructs a new, shorter, route without this edge.

For example, if a section of the route is (…, A, B, C, D, C, E, …), and we wish to DROP edge (C, D), then the new path is (…, A, B, C, E, …). The cost of the route is reduced by cCD + cDC = 2cCD, for a

symmetric cost matrix.

3.3.1.3

Shortcut

Given a route S traversing a subset RE of edges, and given a subpath of S, S′ = (vi, vj, vm, vn), if edge (vi, vn) ∈ E then the SHORTCUT procedure deletes the edges (vi, vj), (vj, vm), and (vm, vn) from S′ and replaces them with edge (vi, vn). On a grid, this is equivalent to traversing one side of a square, instead of the other three.

For example, if a section of the route is (…, A, B, C, D, E, F, …), and we wish to shortcut the subpath (B, C, D, E), then the new path is (…, A, B, E, F, …). The cost of the route has been reduced by

cBC + cCD + cDEcBE.

3.3.1.4

Detour

Given a route S traversing a subset RE of edges, and given a subpath of S, S′ = (vi, vj, vk), if edge (vi, vm) ∈E and edge (vm, vk) ∈E then the DETOUR procedure deletes edges (vi, vj), (vj, vk) from S′ and replaces them with edges (vi, vm), (vm, vk). On a grid, this is equivalent to traversing two sides of a square, rather than the other two.

For example, if a section of the route is (…, A, B, C, D, F, …), and we wish to detour the subpath (B, C, D) via vertex E, then the new path is (…, A, B, E, D, F, …). The cost of the route has been reduced by cBC + cCDcBEcED.

3.3.2

Extended ASRP move-types

In addition to the basic move-types that are used in the improvement procedures in this chapter, we also define four extended move-types that will be used in later chapters. The extended move-types are generalizations of their basic counterparts. All the extended move-types are general to any type of graph; they are not limited to grid graphs.

The extended move-types are parameterized with a look-ahead parameter λ. The look-ahead determines the potential size of the move; λ = 1 makes the extended move-types equivalent to the basic move-types.

3.3 Improvement procedures 51

3.3.2.1

nAdd

NADD is the generalized version of ADD. Given a route S visiting a subset RV of vertices, and given a vertex viR and a vertex vjV \ R, let Yij be the length of the shortest path between vi and vj. If Yij≤ λ then the NADD procedure inserts the shortest path between vi and vj into S, starting at vi, and then inserts the shortest path between vj and vi into S directly after it to reconnect the route. The length of the route is increased by 2Yij.

3.3.2.2

nDrop

NDROP is the generalized version of DROP. Given a route S with a sequence of arcs ai, ai+1, ..., an,

NDROP deletes a cycle within this sequence, such that the length of the cycle does not exceed λ.

For example, if a section of the route is (..., A, B, C, D, C, F, B, ...), then there are two cycles that can be considered for deletion: (C, D, C) and (B, C, D, C, F, B). The cost of the route is reduced by the length of the cycle.

Note that the Route and Prune construction heuristic is equivalent to repeated application of NDROP, starting from the "giant" tour resulting from solving the CPP relaxation.

3.3.2.3

nShortcut

NSHORTCUT is the generalized version of SHORTCUT. Given a route S visiting a subset RV of

vertices, and a sequence of vertices within S: vi, vi+1, ..., vj, let Yij be the length of the shortest path between vi and vj. If Yij≤λ then the NSHORTCUT procedure replaces the path in the route from vito vj with the shortest path from vi to vj.

3.3.2.4

nDetour

NDETOUR is the generalized version of DETOUR. Given a route S visiting a subset RV of vertices, and a sequence of vertices within S: vi, ... vp, ..., vj, and let vq be a vertex not in R, then let Yiq be the length of the shortest path between vi and vq, and let Yqj be the length of the shortest path between vq and

vj.

If Yiq≤λ and Yqj≤λ then NDETOUR replaces the path in the route from vito vj via vp with the shortest path from vi to vq and the shortest path from vq to vj. Essentially the path from vi to vj detours through

vq.

3.3.3

Steepest Ascent

Ascent Search is a heuristic improvement procedure (descent for minimization problems). It starts from an initial solution and, at each step, selects an improving move and sets that as the current solution. It continues until no improving moves are available, and the current solution is then a local optimum. Steepest Ascent follows the same procedure, but it selects the best improving move at each step.

52 Preliminary Investigation of the ASRP Chapter 3

Our version of Steepest Ascent selects from the neighbourhood of solutions generated by the moves described above: ADD, DROP, SHORTCUT, and DETOUR.

3.3.4

Tabu Search

Tabu Search is a metaheuristic that has been applied with considerable success to routing problems. We consider a basic version, as an improvement procedure to the construction heuristics. Its basic operation is similar to Steepest Ascent. It starts with an initial solution and at each step, evaluates all the possible moves and compiles a list of candidate moves. It then checks the tabu status of each of the moves and, if the move is not tabu, or if it is tabu but satisfies the aspiration criterion, then the move is added to the list of admissible moves. Then, the best admissible move is selected and becomes the current solution and the tabu list is updated.

The tabu list works by making some moves unavailable for selection. The purpose of this is to encourage diversification and prevent cycling. This version of Tabu Search uses the four moves described above: ADD, DROP, SHORTCUT, and DETOUR. Any arcs which are added to, or dropped from, the route as a result of a move are made tabu for a set number of moves (known as the tabu tenure). The exception is when a move requires a tabu edge and that move would result in the satisfaction of the aspiration criterion. The most common aspiration criterion is that the resulting solution would be better than the best found so far. After each step, the number of tabu iterations remaining for each edge on the list is reduced by one.

Our version of Tabu Search for this chapter allows solutions that are infeasible with respect to the cost budget, but apply a penalty to each unit of cost over the cost budget that is incurred, and the best- solution-so-far is only updated with feasible solutions.

3.4

Problem generation principles

In this section we discuss some issues involved in problem generation for the ASRP.

3.4.1

Graph generation

All of our computational experiments are implemented on grid graphs with arcs of unit length. A grid graph is one in which all the arcs are laid out in the form of a grid, and we denote the size of a grid by the number of vertices down and across. For example, Figure 3.4 gives an example of a 6×6 grid graph; the arcs are laid out on a lattice of six rows by six columns of vertices.

3.4 Problem generation principles 53

Grid graphs offer a number of advantages over more general graphs, and have been used several times by other researchers. Frizzell and Giffin [104] study a variation on the Vehicle Routing Problem, using quite small (6×6) square grid graphs with constant edge costs. They note that grid graphs have a layout that more closely models that of actual road networks, especially in an urban environment. From an experimental perspective, they also allow more finely grained control over the structure of the networks, reducing the degrees of freedom. Mohan et al. [195] study the Stochastic Eulerian Tour Problem on grid graphs of sizes 4×4, 5×5, 6×6, 7×7, 8×8 and 9×9. Johnston and Chukova [151] briefly study a version of the Arc Subset Routing Problem, which they call the Rural Postman Problem with Rewards, on grid graphs of size 9×9. For the purposes of exposition, we will limit ourselves to a 10×10 grid, and we define each arc to have unit length.

3.4.1.1

General graph characteristics

In order to compare and classify different graphs, we define several graph characteristics. Given a graph, G = (V, E), let

•E be the cardinality of the edge set (the number of edges).

•V be the cardinality of the vertex set. For a 10 × 10 grid, this is nominally 100, but, as can be seen in Figure 3.5, the graph generation techniques may result in some of the vertices being isolated.

i

v

D

be the degree of vertex vi (the number of arcs incident on vi). • DV be the average degree of the vertices in the graph.

V D D v V v V i i

∈ = •E1

E be the set of pendant-edges. A pendant-edge is an edge incident on a vertex vi, with

i

v

D

= 1. Let E1 be the cardinality of the set of pendant-edges.

ϒ

be the matrix of shortest path lengths, where element

ϒ

ij is the length of the shortest path from vertex vi to vertex vj. Further, let

ϒ

V be the average of the shortest distances between all pairs of vertices, and let

ϒ

d be the average of the shortest distances from the depot to every other vertex.

3.4.1.2

Grid graph characteristics

We also define several measures specific to grid graphs. Given a grid graph, G = (V, E), let

m be the number of rows of vertices, and n be the number of columns of vertices, in the grid. We then say that G is an m × n grid.

54 Preliminary Investigation of the ASRP Chapter 3

EC

be the set of edges in the complete grid (one where all possible edges are included) corresponding to G. EEC

. Let EC

be the cardinality of the edges of the complete grid. For an m × n grid,

n

m

mn

m

n

n

m

E

C

=

+

=

(

1)

(

1)

2

•ΨG be the density of G. The density is the number of edges in the graph divided by the number of edges there would be in a complete grid.

C G E E = Ψ • PC = P1 C ,P2 C ,...,Pk C

{

}

be a partition of EC

, such that every edge in EC

is an element of one, and only one, element of P; i.e. PiCEC and PiCPjC = ∅∀i,j; and P1CP2C∪ … ∪PkC =

EC. Let P=

{

P1,P2,...,Pk

}

be the corresponding partition of E

P

P

i

C i

i

.

ΨPi

be the density of set i of partition P.

C i i P P P i = Ψ

3.4.1.3

Example of a grid graph

In our experiments we use a 10 × 10 grid, so

E

C = 180.

Figure 3.5. Example of a grid graph.

In Figure 3.5, we see an example of a 10×10 grid graph. This graph has the following characteristics:

E = 110, V = 97, DV = 2.27,

E

1 = 17, ΨG = 0.61,

ϒ

V = 11.72,

ϒ

d = 13.21. We may derive other measures from these, if desired, for example, the proportion of end-edges is 17/120 = 0.155.

3.4.1.4

Graph generation methods

Two methods of generating random grid-graphs are presented. The main restriction on the generation of the graphs is that, for our purposes, the graphs must be connected. Clossey et al. [54] also used grid graphs, studying the Chinese Postman Problem with Turn Penalties. Their method of grid generation was to grow a connected graph by adding arcs adjacent to those already added. We believe that this

3.4 Problem generation principles 55

method will tend to create graphs with regions of high density, surrounded by regions of lower density. We refer to this method as GRID GROW, and it is described in Algorithm 3.5.

Related documents