Efficient Algorithms for the Uncapacitated Single ...

5 downloads 24999 Views 253KB Size Report
δ because of the volume discount accruing from transfer of bulk mail in energy ..... All numerical tests were carried out on a DEC 3000/700 (200MHz alpha chip).
Efficient Algorithms for the Uncapacitated Single Allocation p-hub Median Problem Andreas T. Ernst and Mohan Krishnamoorthy Feburary 1996

CSIRO Division of Mathematics and Statistics Private Bag 10, Rosebank MDC, Clayton, VIC 3169, Australia. [email protected], [email protected]

Abstract We present a new LP formulation for the single allocation p-hub median problem, which requires fewer variables and constraints than those traditionally used in the literature. We develop a good heuristic algorithm for its solution based on simulated annealing (SA). We use the SA upper bound to develop an LP based branch and bound solution method. We present computational results for well known problems from the literature which show that exact solutions can be found in a reasonable amount of computational

1

time. We also benchmark our new solution approach on a new data set. This data set, which includes problems that are larger than those used in the literature, is based on a postal delivery network.

Keywords: hub-location, linear programming, heuristic solution, simulated annealing, branch and bound.

1

Introduction

The problem of locating interacting hub facilities arises in designing telecommunications networks, airline passenger networks and postal delivery networks. The problem arises in instances where traffic between nodes on a network has to be routed via a set of nodes, designated as hubs. The hubs, which are fully interconnected, facilitate easy flow of traffic. The non-hub nodes are connected to hub nodes. The hubs serve as transshipment points or switching points for flows between non-hub nodes. Non-negative flows are associated with each origin-destination (O-D) pair of nodes in the network. Between any two nodes there is a “cost” based on factors such as time, money and/or distance for routing flow between these nodes. These flows are generally routed via one or (at most) two hubs. The resulting network has a hub-and-spoke structure. The problem is to find the optimal hub locations and the non-hub to hub allocations (the spokes). In this paper we study the uncapacitated, single allocation, p-hub median problem (referred to in this paper as the USApHMP). Other versions of this problem involve capacity restrictions on the hubs, multiple allocations, and so on. Collectively these are known as p-hub problems. For a recent survey of p-hub problems, refer to Campbell (?). The USApHMP is a location–allocation decision problem. We are given a complete graph 2

G = (N, A), where N = {1, . . . , n} is the node set and A = N × N is the set of arcs. For each node pair (i, j) we are given a flow demand Wij which characterises the volume of traffic between the two nodes. In the literature it is sometimes assumed that the flow volumes are symmetric, i.e., Wij = Wji . However this is not a restriction in our study. We are also given distances dij , usually Euclidean, between node pairs (i, j). Given p, the number of hubs to locate on the network, the USApHMP is a problem of finding the optimal locations of the hubs (a subset of the nodes), as well as the allocation of the remaining nodes to hubs. Each non-hub node is allocated to exactly one hub in such a way that the overall cost of satisfying the flow demand is minimised. Each flow, Wij , from i to j has three separate components associated with it. We denote these as collection, transfer, and distribution. These components are of particular significance in the postal delivery network application. Collection represents the movement of mail from postcode districts to its allocated mail sorting centre (the hub). Transfer is the movement of mail between hubs. Distribution occurs from the terminal hub to the destination postal district. Each of these activities has a cost per unit flow which is proportional to the distance. The cost coefficients are denoted, respectively, as χ, α and δ. The cost structure in our study is different to that which is commonly used in the literature, in that χ and δ may be different. In the postal example, this may occur due to the use of different modes for collection, transfer and distribution. Usually α is much less than either χ or δ because of the volume discount accruing from transfer of bulk mail in energy efficient modes of transport. However if χ = δ = 1 and 0 < α ≤ 1, and Wii = 0, then this represents the p-hub problem of the form studied in the literature (see ?). On the other hand in the postal delivery application, it is important to permit Wii > 0 because this allows us to cost the collection and

3

distribution of mail within the same postal district. Due to the number of important applications in transportation and telecommunication systems, hub location problems have recently received a lot of attention. The single allocation case has been studied by Aykin (?; ?; ?), Campbell (?; ?; ?), Helm and Vankataramanan (?), Klincewicz (?; ?), O’Kelly, Skorin-Kapov and Skorin-Kapov (?), O’Kelly (?; ?; ?; ?), SkorinKapov and Skorin-Kapov (?), and Skorin-Kapov, Skorin-Kapov and O’Kelly (?). The hub location problem was first formulated by O’Kelly (?) as a quadratic integer program with a non-convex objective function. This problem is known to be NP-hard even when the hub locations are fixed (see Love, Morris and Wesolowsky ?). Campbell (?) presented mixed integer 0-1 LP formulations for a variety of p-hub problems. Most of these formulations involve a large number of variables, generally of magnitude O(n4 ). The majority of solution approaches to the USApHMP are heuristics that do not guarantee optimal solutions. These include problem-specific heuristics (?; ?), tabu-search (?; ?), simulated annealing (?) and neural networks (?). To our knowledge, the only previous exact solution method in the literature is by Skorin-Kapov, Skorin-Kapov and O’Kelly (?). In this paper we present a mixed integer LP formulation of USApHMP which involves fewer variables and constraints than that reported in (?). We also describe a simple simulated annealing (SA) algorithm for the USApHMP and show that it provides upper bounds which are comparable, in terms of solution quality as well as computational time, to those given by the tabu-search approach of Skorin-Kapov and Skorin-Kapov (?). Our approaches are tested on a well known data set from the literature (see for example Fotheringham ? or O’Kelly ?). This data set originates from the Civil Aeronautics Board (CAB) and consists of 25 interacting nodes along with their flow volumes and co-ordinates.

4

Problems of size n = 10, 15, 20 and 25 are extracted from this data set. For each problem size n, further problems are obtained by varying the number of hubs p ∈ {2, 3, 4} and the transfer cost α ∈ {0.2, 0.4, 0.6, 0.8, 1.0} while keeping χ = δ = 1. In addition, we provide a new data set based on a postal delivery network. Further details of our new data set are provided in Section ??. Our motivation for doing this work is derived from a consultancy that we undertook for “Australia Post”, the Australian national postal carrier. Due to the large size of the practical problems that had to be solved, we employed a SA algorithm to obtain the required results (see Krishnamoorthy, Mills and Sier (?) and Barton et al. (?)). The current research is directed towards evaluating the performance of our SA algorithm, relative to exact solution approaches. The paper is structured as follows. In Section ?? we provide our new MILP formulation and compare it with the one used in Skorin-Kapov, Skorin-Kapov and O’Kelly (?). We describe our SA algorithm in Section ??. In Section ?? we describe our exact solution approach. Extensive computational results and comparisons are provided in Section ??. We conclude with directions for further research in Section ??.

2

Mathematical formulations

Problem USApHMP was first formulated by O’Kelly (?) as a quadratic integer program with a non-convex objective function. Due to the non-convexity of the objective function, the continuous relaxation does not yield a useful solution approach. Let Zij ∈ {0, 1} be 1 if node i is allocated to a hub located at node j and 0 otherwise. (In particular Zkk = 1 implies that node k is selected as a hub). Then the quadratic 0-1 formulation

5

may be stated as follows:

Problem USApHMP-Q

Min.

X X X X

Wij (χ dik Zik + α dkl Zik Zjl + δ djl Zjl )

i∈N k∈N l∈N j∈N

S.t.

X

Zkk = p,

(1)

k∈N

X

∀ i ∈ N,

(2)

Zik ≤ Zkk ,

∀ i, k ∈ N,

(3)

Zik ∈ {0, 1}

∀ i, k ∈ N.

(4)

Zik = 1,

k∈N

Equation (??) ensures that exactly p, the prescribed number of hubs, are chosen. Equation (??) together with (??) enforces single allocations for each node and prevents hub nodes from being allocated to other nodes. Equations (??) prevents allocations to non-hub nodes. USApHMP-Q is a quadratic integer program and thus very difficult to solve exactly. Although it is possible to linearize the above formulation using well known techniques that have been applied to solve quadratic assignment problems (QAPs), it restricts the size of problems that may be solved exactly. O’Kelly, Skorin-Kapov and Skorin-Kapov (?) formulated equation (??) using fewer constraints as (n − p + 1) Zkk −

X

Zik ≥ 0,

∀ k ∈ N.

(5)

i∈N

Skorin-Kapov, Skorin-Kapov and O’Kelly (?) obtain exact solutions to USApHMP by using an alternative formulation based on an MILP formulation due to Campbell (?). Here Xijkl is 6

defined as the fraction of total flow from node i to node j via hubs located at nodes k and l. Further Cijkl is defined as the cost of routing one unit of flow along this path. The formulation is then:

Problem USApHMP-LP

Min.

X X X X

Wij Cijkl Xijkl

i∈N k∈N l∈N j∈N

X

S.t.

Zkk = p,

(6)

k∈N

X

∀ i ∈ N,

(7)

∀ i, k ∈ N,

(8)

Xijkl = Zik ,

∀ i, j, k ∈ N,

(9)

Xijkl = Zjl ,

∀ i, j, l ∈ N,

(10)

Zik ∈ {0, 1}

∀ i, k ∈ N,

(11)

∀ i, j, k, l ∈ N.

(12)

Zik = 1,

k∈N

Zik ≤ Zkk , X l∈N

X k∈N

Xijkl ≥ 0

Problem USApHMP-LP is a problem involving (n4 + n2 ) variables of which n2 are binary. It requires (1 + n + n2 + 2n3 ) linear constraints. Clearly, this formulation has advantages over the equivalent quadratic integer formulation USApHMP-Q. It provides exact solutions by transforming the quadratic objective function into an equivalent linear one using Xijkl = Zik ∗ Zil . This formulation is linear but comes at the cost of significantly more variables being introduced. Further the LP relaxation is quite tight as shown in Skorin-Kapov, Skorin-Kapov and O’Kelly (?). However as n increases, this formulation becomes intractable due to the explosive 7

growth in the number of variables and constraints. The motivation for our new formulation stems from the desire to solve larger problems. The basic idea behind our formulation, which we call USApHMP-N, is to remove the Xijkl variables by treating the inter-hub transfers as a multi-commodity flow problem. Each commodity represents the traffic flow originating from a particular node. Define Ykli as the total amount of flow of commodity i (ie. traffic emanating from node i) that is routed between hubs k and l. To simplify the notation we define Oi = Di =

P

j∈N

P

j∈N

Wij and

Wji . Our new formulation is then:

Problem USApHMP-N

Min.

X X

dik Zik (χ Oi + δ Di ) +

i∈N k∈N

α dkl Ykli

i∈N k∈N l∈N

X

S.t.

X X X

Zkk = p,

(13)

k∈N

X

Zik = 1,

∀ i ∈ N,

(14)

Zik ≤ Zkk ,

∀ i, k ∈ N,

(15)

∀ i, k ∈ N,

(16)

Zik ∈ {0, 1}

∀ i, k ∈ N,

(17)

Ykli ≥ 0

∀ i, k, l ∈ N.

(18)

k∈N

X l∈N

Ykli −

X

Ylki = Oi Zik −

X

Wij Zjk

j∈N

l∈N

Equation (??) is the divergence equation for commodity i at node k in a complete graph, where the demand and supply at the nodes is determined by the allocations Zik . In comparison to USApHMP-LP, the above formulation decreases the problem size. This is achieved because we no longer keep track of each and every flow of traffic between pairs of 8

nodes separately. Problem USApHMP-N is a problem involving (n3 + n2 ) variables of which n2 are binary. It requires (1 + n + 2n2 ) linear constraints. In other words the problem size, both in number of variables and constraints, has been reduced by a factor of n. The 0-1 constraints (??) in USApHMP-N can be relaxed to yield a LP problem. The formulation contains a network structure with some side constraints. Apart from the multi-commodity flow between hubs, the Zik can also be incorporated into the network structure by a straight forward transformation. However for the sake of brevity and since this is efficiently implemented in the commercially available (network) LP solver that we use, we will not elaborate on this aspect here. The network structure of our formulation may be exploited to solve the LP relaxation of USApHMP-N more efficiently. We solve USApHMP-N by using a branch and bound algorithm based on the LP relaxation. At the root node we derive tight upper bounds using a simulated annealing algorithm which is described in the next section.

3

Upper bounds from simulated annealing

Simulated annealing (SA) is recognised for its general applicability, needing only an initial solution, a definition of a neighbourhood and a cost function to be applied to a problem. This simplicity has led to the wide acceptance of SA as a solution method for combinatorial optimisation problems. See Collins, Eglese and Golden(?) for a comprehensive bibliography of SA references and applications. Due to the popularity of SA, we will not give a detailed description of this method, but restrict ourselves to describing the specific implementation details. In our SA implementation we only consider feasible solutions. We start with a randomly 9

generated initial solution. We define a cluster as the set of nodes allocated to the same hub. Our solution then has p clusters. We use the following three types of transitions to generate neighbouring solutions: 1. Change the allocation of a randomly chosen non-hub node to a different cluster. 2. Change the location of the hub within a randomly chosen cluster to a different (randomly chosen) node in the cluster. 3. In the special case where a cluster contains only a single node, namely the cluster consists of only the hub, we perform the following move. • Pick a non-hub node at random and make it a hub, • Allocate the previous single hub-node to a randomly chosen cluster. The first transition operator is called a swap, the second a move. The third operator is treated as a special case of a move (indeed it consists of two swaps and a move). The swap helps to solve the allocation problem, while the move helps in solving the location problem. The third operator serves to increase the diversity of solutions obtained. In particular we found this to be beneficial in escaping local optima. In order to obtain a solution in the neighbourhood of the current one, we choose one of the above transition operators. The transition probabilities, defined as the probability of choosing one of the operators, are initially set at 0.4 and 0.6 for swaps and moves respectively. The third transition occurrs whenever the cluster that is chosen for a swap is a singleton. Through the use of appropriate data-structures, it is possible to calculate the incremental cost of neighbouring solutions rapidly. In the usual way of SA, transitions that result in a decrease of the objective value are automatically accepted, while those that increase the 10

objective value are accepted according to Boltzmann’s probability. This probability depends on the temperature which is periodically updated. The computation of our initial temperature θ0 , was based on White (?) who proposed that the starting temperature should be the one at which the expected cost is just within one standard deviation of the mean cost. In practice, this amounts to computing the standard deviation of the cost for a fixed number of transitions, all of which are accepted. The initial temperature is then set to this value. We use temperature reheats as a means of escaping from local minima. Our reheating scheme is based on Osman (?). We perform a total of 4 reheats. At any reheat the initial temperature is set at θr = max(θr−1 /2, θb ), where r = 1, . . . , 4 and θb is the temperature at which the best solution (so far) is obtained. We use a simple geometric cooling regime whereby the temperature between successive Markov chains is updated according to θr ← ρθr where ρ, the cooling rate, is set at ρ = 0.97. We reheat when there is no change in the solution for 5 Markov chains. We fix the Markov chain length at 2np. At each reheat, we also alter the transition probabilities, increasing the probability of a swap by 0.05 (and consequently, decreasing the move probability by the same amount). The aim of this approach is to concentrate on finding the optimal location of the hubs initially, while putting more effort on solving the allocation problem during subsequent reheats. There are two main reasons for using a simulated annealing heuristic. Firstly it is easy to implement. Secondly it can easily make use of the structure we perceive in the problem. The problem USApHMP naturally decomposes into two sub problems: the hub location problem, and the allocation problem. The SA algorithm tackles these two parts through the use of different neighbourhood transitions.

11

4

Branch and bound algorithm

It was observed by Skorin-Kapov, Skorin-Kapov and O’Kelly (?) that most of the standard test problems were solved at the root node. In other words the solution of the LP relaxation of USApHMP-LP is integral in most cases. For problems that do not result in integral solutions they add integrality constraints, via an implicit enumeration search, until an integer solution is found. Such an approach is possible due to the tightness of the LP relaxation of USApHMP-LP. Although the USApHMP-N formulation is smaller, it is weaker than USApHMP-LP in terms of the LP based lower bounds that are obtained. Hence it is necessary to invest more effort into developing an efficient branch and bound strategy. At the root node we derive an upper bound using our SA algorithm. Due to the good quality of this upper bound, we can significantly reduce the number of tree nodes that have to be searched. We are also able to use this upper bound to fix variables at each node of the tree.

4.1

Variable fixing

At every node of the tree search, including the root node, we fix non-basic variables at their bounds based on their reduced costs, the current lower bound of the subproblem, and the global upper bound. Consider a non-basic variable Zik = 0 for which we have V (USApHMP-N) + c¯ik > V (U B), where V (USApHMP-N) is the current lower bound, c¯ik is the reduced cost coefficient of Zik and V (U B) is the best upper bound obtained so far. Then Zik can be fixed at 0. Also as a result we can fix the variables Ykli for all l ∈ N at 0. Similarly variable fixing can be done for non-basic variables Zik = 1, however this occurs only rarely in practice. This results in a problem size reduction for all nodes further down in the tree. In practice we observe that this has a considerable impact on solution times, particularly if we are able to 12

reduce the problem size at the root node with the help of a tight upper bound. For the test problems we routinely observed variable reductions of about 50% of the Y and Z variables at root node.

4.2

Branching rules

We use two different branching strategies in our tree search. The first of these is based on developing constraints to branch on while the other branches on variable values being fixed to either 0 or 1. Where possible, we branch by developing constraints. In practice, we observed that this performs better than merely fixing fractional variable values to either 0 or to 1. Also, in general, we fix on fractional Zkk values before fixing fractional Zik values. In other words, when faced with a situation wherein we have fractional hub locations and fractional allocations, we choose to fix the the hub locations first. Once all of the Zkk are resolved, we branch on the allocation variables, Zik which are non-integral.

BC1 Branching constraint 1 At any node of the tree search, if we have a situation such that the LP solution to USApHMP-N yields several values Zkk that are fractional, we choose two nodes s and t such that:

Zss +Ztt = max {Zkk + Zll | k, l ∈ N ; k 6= l; 0 < Zkk < 1; 0 < Zll < 1; Zkk + Zll > 1.0} .

We then develop two branches and set, respectively, Zss + Ztt ≥ 2 and Zss + Ztt ≤ 1, to yield two subproblems. Along the first branch, both nodes s and t have to be fixed as hubs. Along the second branch, the subproblem must make a hub location choice between the nodes s and t.

13

BC2 Branching constraint 2 Consider the situation where no further constraints of type BC1 can be found even though some fractional Zkk exist. If there is at least one node s such that Zss = 1 then we choose node t such that:

Zss + Ztt = max {Zss + Zll | l ∈ N ; l 6= s; Zss = 1; 0 < Zll < 1} .

We then develop two branches and set, respectively, Zss + Ztt ≥ 2 and Zss + Ztt ≤ 1, to yield two new subproblems. As in the case of BC1, along the first branch both nodes s and t have to be fixed as hubs. Along the second branch the subproblem must make a hub location choice between the nodes s and t. BC3 Branching constraint 3 In most cases, if we are not able to find constraints of the type BC1 and BC2, this means that the LP relaxation of USApHMP-N satisfies constraint (??) with integer valued variables Zkk , ∀ k ∈ N . The only exception to this occurs when all of the non-zero Zkk are fractional with the sum of all pairs being at most one. In such cases we branch on the individual Zkk variables (branching first on those which violate integrality the most). BC4 Branching Constraint 4 Consider for example, the situation where, for a particular node k ∈ N , with Zkk = 1, we have, 0 < Zik < 1, for some values i ∈ I ⊂ N . Further, assume that

P

i∈I

Zik = v, where v ∈ IRn . We can then develop two branches, similar

to BC1 and BC2, of the form:

P

i∈I⊂N

Zik ≤ bvc and

P

i∈I⊂N

Zik ≥ dve + 1 (where bvc

returns the greatest integer contained in the real value v, and dve is the least integer greater than v). 14

BC5 Branching based on the SA solution In most cases our SA algorithm yielded optimal, or very good solutions. Hence, we use the SA solution to guide the branch and bound approach. Consider, for example, a node of the tree search which contains some noninteger valued Zik . Define the set J ⊂ N × N as J = {(i, k) | i 6= k; 0 < Zik < 1; Zik = 0 in the SA solution}. In other words, J represents the fractional valued arcs in the solution of the LP relaxation USApHMP-N that do not even feature in the SA solution. Choose s and t such that Zst = max{Zik | (i, k) ∈ J}. Branch on this variable by setting Zst = 0 and Zst = 1 alternatively to generate two subproblems. The idea behind this rule is to identify a variable which has a large effect on the solution value when forced to either of its bounds. When fixed at one, the solution to the subproblem is forced away from the SA solution (which we hope to be optimal or close to optimal), hence forcing the cost up. Alternatively when the variable is fixed at zero, we achieve the maximum impact on the solution. This should ensure that the objective value on both branches is brought closer to the current upper bound, allowing the search to terminate quicker. BC6 Branching on variables We also tried another type of branching strategy to choose non-integral Zik to branch on. Here we use estimates Υik and ∆ik of the change in the solution when Zik is fixed at the upper and lower bound respectively. Define the set P ⊂ N × N as P = {(i, k) | 0 < Zik < 1; i 6= k}. Let

Υik = (Oi + Di ) ∗ (1 − Zik ) + (Ok + Dk ) ∗ (1 − Zkk ) and ∆ik = (Oi + Di ) ∗ Zik .

15

Similarly define the set Q ⊂ N × N as Q = {(k, k) | 0 < Zkk < 1}. For this set define

Υkk = (1 − Zkk ) ∗ (Ok + Dk ) and ∆kk = (Ok + Dk ) ∗ Zkk +

X

(Oj + Dj ) ∗ Zjk .

j∈N j6=k

We then select s and t such that

min{Υst , ∆st } = max {min{Υik , ∆ik }} . i,k∈N

The idea behind this rule is to identify the variable which has, potentially, the maximum effect on the solution value when forced to either of its bounds. This should ensure that the objective value on both branches is brought closer to the current upper bound, allowing the search to terminate quicker.

4.2.1

The branching strategy that is chosen

While branching on constraints (BC1, BC2) was found to be very useful for resolving the crucial Zkk variables, we chose not to follow a similar path for resolving non-integral Zik (as suggested by BC4). This decision was made due to the large number of Zik variables and the potentially large number of constraints that would need to be added. In practice we did not need branches of the type BC3 (the description is included here for the sake of completeness). The branching rule BC5 was tried and found to be similar in performance to BC6. Hence, in our implementation of the LP based branch and bound method for solving USApHMP-N, we employ a branching strategy which finds constraints of type BC1, BC2, BC3 and then BC6. 16

5

Computational results

All numerical tests were carried out on a DEC 3000/700 (200MHz alpha chip). The algorithms were coded in C. We used CPLEX version 3.0 (?) for solving the LP subproblems. The computational comparisons are based on the CAB data set as well as a new data set referred to as the Australia Post (AP) data set. The CAB data set consists of 25 nodes. Smaller problems consisting of the first n nodes are generated from this for n = 10, 15, 20 and 25. Also the cost coefficient for inter-hub transfers, α, is varied between 0.2 and 1 in steps of 0.2, while χ = δ = 1. This yields 60 problems in all. The AP data set (which is available on request from the authors), consists of 200 nodes, which represent postcode districts, along with their coordinates, flow volumes (mail flow) as well as χ, α and δ. The values of transport costs per unit volume and distance are constants given by χ = 3, α = 0.75 and δ = 2. In order to generate smaller size problems, we combined nodes as follows. First sort the nodes by their y-coordinates and divide them into 5 subsets of size 40 nodes each. Then we sort each of these subsets by their x-coordinates. Depending on the problem size required, we divide each of these subsets into 2, 4, 5, 8 or 10 smaller subsets S. These smaller subsets, S, are then combined into a single node. The new coordinates for each subset S are obtained by taking the weighted average of the x and y coordinates (weighted by Oi +Di , i ∈ S). The mail flows are amalgamated within each subset S. The reason for choosing this transformation is that it provides smaller problems, which are a reasonable approximation to the original problem. (A C program for this transformation is available along with the data set). See Figure ?? for a representation of the original 200 node problem as well as its reduction to 25 nodes. There are several significant differences between the AP data set and the rigorously bench-

17

marked CAB data set. For a start, the cost structure is non-symmetric with χ > δ > α. This is required to accurately model the real world situation of postal delivery networks, where collection, distribution and transfer methods are all different. We conjecture that this differentiation does not have a large impact on the difficulty of solving single allocation problems. However it can lead to non-symmetric multiple allocation solutions (where collection and distritubtion for any node may be performed using different hubs in order to minimize costs). For comparison sake, our data set with χ, α and δ as given above, can be considered to be most similar to the CAB data set with 0.25 ≤ α ≤ 0.4. The AP data set provides opportunities for researchers to tackle larger real world problems. (Problems of size up to n = 200 can be generated). A feature of this data is that it reflects the presence of a Central Business District (CBD) located roughly at (30000,47000) in our coordinate system (see Figure??). This means that there is a large volume flowing into and out of the CBD nodes. Also the flow matrix is not symmetrical. More over, as has already been mentioned, the Wii need not be zero as in the CAB data. Note that despite the non-symmetric flow volumes and costs, it is still possible for problems to have multiple optima.

Figure “figure1a” goes here. Figure “figure1b” goes here. Figure 1: Nodes for full problem and a 25 node problem

In our computational experiments we test the effectiveness of our simple upper bound heuristic. We also provide the initial lower bound (at the root node) of the LP relaxation of USApHMP-N. We then compare the performance of our formulation and solutions with that of USApHMP-LP used in Skorin-Kapov, Skorin-Kapov and O’Kelly (?). In order to perform this 18

comparison we implemented the formulation USApHMP-LP and solved it using CPLEX. To test our branch and bound algorithm we compare it with the unaided branch and bound method implemented in CPLEX. We note here that the term ‘unaided’ refers only to the lack of problem specific decision aids for selecting variables to branch on. We let CPLEX decide on the branching strategy using its own defaults. However we attempt to optimize the performance of CPLEX using some of the available tuning parameters provided. The branch and bound implemented in CPLEX is used to test the effectiveness of our branching constraints. In the computational performance analysis that follows, we denote CPLEX’s branch and bound method for solving USApHMP-N as “General B&B”; our implementation is denoted as “Custom B&B”. The results are presented in Tables ??–??. The column headings have the following meaning. n is the number of nodes, p the number of hubs. For the CAB test problems the values of χ and δ are set to one. Hence only α is given in the table. The tables provide the optimal solutions to each of the problems. For the SA heuristic the percentage upper gap and running time are given for each problem. The running time includes the tune-up time to find the inital temperature. Here, upper gap is SA solution − 1) ∗ 100. defined as ( optimal solution

Results for using the formulation USApHMP-N are given next. They include the initial lower gap, the number of tree nodes and total running time (including the SA time). The lower gap is LP solution defined as (1 − Relaxed ) ∗ 100. Two sets of branch and bound results are presented for optimal solution

USApHMP-N, the first for “Custom B & B”, the second for “General B & B”. As a general rule, we use the number of tree nodes (rather than CPU time) to compare the effectiveness of our branch and bound algorithm with that of CPLEX. This is because the CPLEX implementation

19

has direct access to the data-structures and contains more heavily optimised code, so we do not feel that the running times will accurately reflect the efficiency of the algorithms. Results for the formulation USApHMP-LP are only given for the CAB data set with up to 15 nodes. This column is provided merely to give an indication of the efficiency of our approach over the best approach in the literature; that of Skorin-Kapov, Skorin-Kapov and O’Kelly (?). The reason for not including results for bigger problems is that this formulation requires excessive memory and CPU resources as problem size increases. Table ?? provides the results for the CAB data set for n = 10, 15. We observe that our SA algorithm provides optimal solutions for all problems in this table. Furthermore the average running time is only 0.93 seconds. The average lower gap obtained by the LP relaxation of USApHMP-N is 1.89%. In contrast, the algorithm of Skorin-Kapov, Skorin-Kapov and O’Kelly (?) produces integral solutions at the root node for all problems bar one (marked with an ∗ in the table). For this problem USApHMP-LP only requires two tree nodes in the branch and bound algorithm to obtain the optimal solution. The difference between our branch and bound algorithm and that implemented in CPLEX is generally small. However for the problems with n = 15 we observe that our custom branch and bound generally searches fewer tree nodes. Table ?? also shows the times for solving USApHMP-LP. We implemented this using the dual simplex algorithm of CPLEX. (The running times were much worse when using the primal simplex). We observed that there is a dramatic increase in computational time (of more than one order of magnitude) when going from problems with 10 nodes to those with 15. This shows that the formulation USApHMP-LP scales poorly with n, particularly in comparison with our method based on USApHMP-N. Table ?? provides the results for the CAB data set for n = 20, 25. We note that our SA

20

algorithm provides optimal solutions for all problems in this table bar one (n = 25, p = 2, α = 1). The average time taken by the SA to obtain solutions is 2.18 seconds. This compares favourably with limited running times reported for a tabu search heuristic by Skorin-Kapov and Skorin-Kapov (?). We note that their tabu search heuristic provides optimal solutions for all instances of the CAB problems. The average lower gap obtained by the LP relaxation of USApHMP-N is 2.63% over all the problems in Table ??. Over the same set of problems, Skorin-Kapov, Skorin-Kapov and O’Kelly (?) obtained optimal solutions at the root node for all problems bar two. However their problems solved in up to 3 hours or more of CPU time (according to ? running a SUN Sparc 2). Although our approach solves only one problem at the root node (n = 25, p = 2, α = 0.2), the longest overall running time encountered for USApHMP-N was under half an hour with a general branch and bound algorithm (and about 13 minutes of CPU time for our custom branch and bound method). We realize that comparsions of running times on different computers is difficult at best. However we were unable to run the larger problem using USApHMP-LP. Moreover extrapolation from the comparative results shown in Table ?? indicates that USApHMP-LP would probably take a couple of hours even using an identical computer. In general, the lower gap increases with problem complexity, which is mainly determined by α. From Table ?? we observe that the branching constraints that we use are effective. The custom branch and bound searches fewer tree nodes than the general branch and bound algorithm of CPLEX for most problems. It searches more tree nodes for only two of the problems. Table ?? provides the results for the AP data set for n = 10 and 20. The optimal solutions for this data set are presented in the third column. As in the previous tables we observe

21

that the SA solution is almost always optimal with only one exception (n = 40, p = 5). The computational time, even for the larger problems, is still approximately a quarter of a minute. The lower gap of the LP relaxation of USApHMP-N is, on average, 1.33%. The number of tree nodes required for solving even the larger problems is generally quite small. In most cases our custom branch and bound requires fewer tree nodes than the CPLEX branch and bound. However we notice that we often require significantly more CPU time than CPLEX’s branch and bound implementation, particularly for the larger problems. It is not entirely clear why this should be the case. In the absence of a detailed description of CPLEX’s branching method we attribute the better times of CPLEX to a highly optimised implementation (rather than a better algorithm for these problems).

6

Conclusion

The motivation for this research was to provide Australia Post with a solution method for deciding the optimal location of mail sorting centres. We developed a heuristic algorithm based on simulated annealing (SA) for this purpose. In this paper we improve the original SA algorithm that was implemented and, we set out to test the effectiveness of the new SA algorithm. In order to do this, we developed a new formulation of the single allocation p-hub median problem. We also developed a branch and bound algorithm for its solution. Our SA algorithm was found to be quite efficient. For most of the test problems, the SA obtained optimal solutions in a small amount of computational time. We are also able to solve much larger problems (even of size n = 200, p = 15). Our LP formulation, although not as tight as that of Skorin-Kapov, Skorin-Kapov and O’Kelly (?), yields optimal solutions in significantly less computing time. Moreover our formulation is less memory intensive. This is 22

because our formulation requires fewer variables and constraints. Hence we are able to solve larger problems faster. Practical sized problems are, unfortunately, larger than any solved exactly in this paper. Hence future work must concentrate on solving larger problems. We have attempted a Lagrangian relaxation approach (in which we relaxed the divergence constraints) with limited success. The Lagrangian relaxation approach has the advantage of being able to reduce the problem size by solving a sequence of smaller subproblems. Hence future work could concentrate on improved Lagrangian methods. An alternative approach is column generation. We intend to pursue this approach as well. Our formulation can be easily extended to take into account capacity restrictions on the mail processing centres (hubs), fixed costs for hub locations, “locking in” certain hub locations and other features. Further multiple allocation models may also be investigated using our new formulation.

Acknowledgements We wish to thank Australia Post for their permission to make the AP data set publicly available in the literature. We also wish to thank the guest editor Dr James Campbell and the two anonymous referees for their constructive comments and suggestions.

23

n

p

α

Optimal Cost

SA solution

USApHMP-N

Gap

CPU Gap

(%)

(sec.)

Custom B&B

(%) Nodes

USApHMP-LP

General B&B

CPU

CPU

Nodes

CPU

(sec.)

10

2

0.2

615.99

0.00

0.19

0.00

0

0.34

0

0.41

7.68

10

2

0.4

674.31

0.00

0.26

0.03

2

0.52

1

0.51

6.70

10

2

0.6

732.63

0.00

0.23

0.35

2

0.52

1

0.49

8.42

10

2

0.8

790.94

0.00

0.24

1.81

6

0.69

9

0.63

8.45

10

2

1

835.81

0.00

0.36

3.02

10

1.11

8

0.82

8.26

10

3

0.2

491.93

0.00

0.47

0.58

2

0.78

2

0.72

6.94

10

3

0.4

567.91

0.00

0.57

0.49

4

0.93

4

0.87

7.24

10

3

0.6

643.89

0.00

0.62

2.64

30

1.95

16

1.14

7.22

10

3

0.8

716.98

0.00

0.47

4.77

42

2.25

41

1.31

7.97

10

3

1

776.68

0.00

0.66

5.30

50

2.89

36

1.49

8.00

10

4

0.2

395.13

0.00

0.77

0.27

2

1.02

1

1.02

5.86

10

4

0.4

493.79

0.00

1.21

1.81

10

1.79

14

1.64

6.51

10

4

0.6

577.83

0.00

1.10

2.62

6

1.53

30

1.73

6.96

10

4

0.8

661.42

0.00

1.40

3.64

40

3.03

57

2.40

7.50

10

4

1

736.26

0.00

1.09

4.56

72

4.41

61

2.20

8.05

15

2

0.2

981.28

0.00

0.72

0.40

2

1.74

1

1.61

148.70

15

2

0.4

1062.63

0.00

0.51

0.65

6

2.50

6

2.05

145.64

15

2

0.6

1143.97

0.00

0.63

1.83

6

2.68

12

3.08

141.26

15

2

0.8

1190.77

0.00

0.67

1.10

14

5.45

18

3.50

139.31

15

2

1

1221.92

0.00

0.72

1.12

10

3.79

12

3.03

108.24

15

3

0.2

799.97

0.00

1.63

1.12 24

12

3.88

12

3.09

121.29

15

3

0.4

905.10

0.00

1.27

1.49

10

3.54

11

3.39

136.04

n

p

α

Optimal

SA solution

Cost Gap

USApHMP-N

CPU Gap

(%)

(sec.)

Custom B&B

(%) Nodes

General B&B

CPU Nodes

CPU

20

2

0.2

979.09

0.00

0.96

0.05

2

7.78

2

5.59

20

2

0.4

1042.57

0.00

0.93

0.59

8

8.58

10

6.91

20

2

0.6

1106.04

0.00

0.92

1.48

12

13.34

22

11.02

20

2

0.8

1169.52

0.00

1.05

2.60

28

36.12

50

19.25

20

2

1

1210.08

0.00

1.04

2.48

22

27.24

60

22.71

20

3

0.2

724.54

0.00

1.69

0.45

4

5.40

4

4.66

20

3

0.4

847.77

0.00

1.67

1.55

12

14.93

18

7.98

20

3

0.6

971.00

0.00

1.82

3.26

30

22.63

78

26.65

20

3

0.8

1091.05

0.00

1.85

5.29

228

124.67

714

155.62

20

3

1

1156.07

0.00

1.96

4.37

98

91.41

396

145.34

20

4

0.2

577.62

0.00

2.14

0.42

4

6.25

3

5.33

20

4

0.4

727.10

0.00

2.32

2.06

14

11.42

20

9.40

20

4

0.6

869.16

0.00

2.16

3.50

24

18.50

79

27.50

20

4

0.8

1008.49

0.00

2.38

5.19

188

140.88

881

228.07

20

4

1

1111.02

0.00

2.80

5.72

356

246.73

1423

396.08

25

2

0.2

1000.91

0.00

1.48

0.00

0

10.04

0

10.31

25

2

0.4

1101.63

0.00

1.59

0.38

4

15.98

3

16.56

25

2

0.6

1201.21

0.00

1.96

2.04

10

45.51

16

30.38

25

2

0.8

1294.08

0.00

1.93

3.53

26

70.08

56

76.55

25

2

1

1359.19

0.22

1.91

3.90

20

58.67

147

139.18

25

3

0.2

767.35

0.00

2.91 25 1.33

8

17.44

16

16.89

25

3

0.4

901.70

0.00

2.62

26

45.24

42

30.04

2.47

n

p

Optimal

SA solution

Cost Gap

USApHMP-N

CPU Gap

(%)

(sec.)

Custom B&B

(%) Nodes

General B&B

CPU

Nodes

CPU

10

2 167493.06

0.00

0.28

0.69

2

0.55

2

0.57

10

3 136008.13

0.00

0.50

2.36

12

1.05

6

0.80

10

4 112396.07

0.00

0.85

2.02

14

1.45

15

1.24

10

5

91105.37

0.00

1.34

2.01

14

1.87

18

1.73

20

2 172816.69

0.00

1.10

0.43

6

4.58

6

4.03

20

3 151533.08

0.00

1.67

0.96

10

7.85

12

7.18

20

4 135624.88

0.00

2.56

1.41

10

9.83

10

8.44

20

5 123130.09

0.00

3.61

2.11

12

10.03

39

13.76

25

2 175541.98

0.00

2.14

0.88

16

15.66

20

10.48

25

3 155256.32

0.00

2.65

1.18

10

21.14

18

17.99

25

4 139197.17

0.00

3.37

1.82

10

25.33

40

30.36

25

5 123574.29

0.00

4.33

1.21

6

19.02

17

19.69

40

2 177471.67

0.00

4.34

0.30

12

163.21

15

73.53

40

3 158830.54

0.00

6.92

0.84

14

226.43

28

174.88

40

4 143968.88

0.00

9.07

1.06

12

226.38

27

187.89

40

5 134264.97

0.13

12.08

1.72

56

1079.50

59

326.76

50

2 178484.29

0.00

8.68

0.57

36

2585.76

55

303.08

50

3 158569.93

0.00

12.02

0.49

12

1157.25

20

451.04

50

4 143378.05

0.00

17.22

0.62

14

729.61

18

411.02

50

5 132366.95

0.00

19.53

0.95

16

629.42

42

578.54

Table 3: Results for the AP problems26with χ = 3.00, α = 0.75 and δ = 2.00

Suggest Documents