• No results found

Chapter 4 An Enhanced Implementation of Drezner’s Exact Method

4.2 Z−maximal Circles

4.2.1

Introduction and Definitions

Drezner proposed an exact method to find the optimal solution for the p−centre prob- lem in the plane using a group of circles called Z−maximal circles. A circle is defined as maximal based on a given upper bound, Z. The set of Z−maximal circles are identified and their centres are used as a subset of potential facility locations to find the optimal solution value. An initial upper bound is found using a heuristic method,

and each iteration of the algorithm either finds a better solution (i.e. a smaller upper bound) which becomes the new upper bound, or proves that there is none and so has reached optimality.

Let us begin by defining the additional notations and concepts that are needed. Definition 4.2.1. The closure of circle Cj is the set of demand points encompassed

by circle Cj which is defined as

Clj = {i ∈ I| di,j ≤ rj} ∀ j = 1 . . . m.

Let:

K: a subset of I;

R(K): radius of the smallest circle encompassing all points in K; JZ: set of Z−maximal circles (JZ ⊂ J);

d′

i,l: Euclidean distance from demand point i to demand point l;

Z: the upper bound at a given iteration.

Definition 4.2.2. The minimum covering circle (M CC) of the set K is the small- est circle encompassing all points in K with radius R(K).

We can now define a Z−maximal circle. The following definition was taken directly from Drezner (1984a).

Definition 4.2.3. A circle Cj with radius rj is said to be Z−maximal (often simply

called maximal) if: 1. rj < Z;

2. For every demand point i /∈ Clj, R(Clj ∪ {i}) ≥ Z.

In other words, if rj ≥ Z, then circle Cj cannot be classified as a Z−maximal circle.

However, if rj < Z, the next step is to add a demand point i /∈ Clj and find R(Clj∪{i}).

If R(Clj ∪ {i}) ≥ Z ∀ i /∈ Clj, then circle Cj is said to be Z−maximal.

4.2.2

Drezner’s Optimal Algorithm

Introduction

The first, which will be referred to as F or(a)0 , uses the set covering problem (formulated in Chapter 3) to find the minimum number of Z−maximal circles needed. For clarity, we shall define F or(a)0 below.

(F or(a)0 ) : Minimise X j∈JZ xj (4.1) subject to X j∈JZ Ai,jxj ≥ 1 ∀i ∈ I, (4.2) xj ∈ {0, 1} ∀j ∈ JZ, (4.3) where Ai,j      1 if i ∈ Clj, 0 else, (4.4) xj =     

1 if Z−maximal circle Cj is selected,

0 else.

(4.5) The objective function (4.1) refers to minimising the number of Z−maximal circles required to cover the set of demand points. Constraint (4.2) guarantees that every demand point is encompassed, or covered, by at least one Z−maximal circle. If the minimum number found in (4.1) is ≤ p, then the upper bound is decreased by setting Z to the radius of the largest Z−maximal circle from the obtained solution. The process of identifying the Z−maximal circles is then repeated. Else (i.e. the minimum number is > p), the current upper bound Z is taken as the optimal solution and the algorithm terminates.

In the second method, referred to as F or(b)0 , a new constraint (4.6) is added to F or0(a) to impose that the number of covering circles has to be equal to p, while the objective function (4.1) is omitted turning the problem into a feasibility problem.

(F or0(b)): Find xj ∈ {0, 1} ∀j ∈ JZ subject to

(4.2) - (4.3), X

j∈JZ

xj = p. (4.6)

circles as described in Figure 4.1, we shall first define the following additional notations. C1

J: the set of null circles created from one critical point only (i.e., rj = 0 ∀ Cj ∈ CJ1);

C2

J: the set of circles created from two critical points defining its diameter;

C3

J: the set of circles created from three critical points forming an acute triangle.

Step 1. Find the three sets of circles C1

J, CJ2 and CJ3.

Step 2. Find an initial solution and set the solution value as the initial upper bound, Z.

Step 3. Eliminate all circles whose radii are ≥ Z from CJ2 and CJ3.

Step 4. Find all Z−maximal circles using Procedure F M C(CJ1, CJ2, CJ3, Z, JZ)

(see Figure 4.2).

Step 5. Solve CP0(a) or CP0(b) using the Z−maximal circles JZ.

If the optimal value of CP0(a) is ≤ p or CP0(b) is feasible, set the new upper bound Z as the radius of the largest Z−maximal circle found in the solution and go to Step 3.

Else take the upper bound Z as the optimal solution value of the planar p−centre problem and stop.

Figure 4.1: Drezner’s Original Algorithm (Drezner (1984a))

It is important to note that an appropriate heuristic must be used to find an initial upper bound. For instance, a simple multi start heuristic can be used. In this study we opted for the H2 heuristic proposed by Drezner (1984a) for consistency reasons.

Computing all Z−maximal Circles

We now construct an algorithm that finds which circles (i.e. the set of potential facility locations) are Z−maximal. This ‘finding Z−maximal circles’ algorithm will be referred to as the F M C algorithm for short and is given in Figure 4.2.

Time Complexity

The time complexity of the algorithm is examined at each of the steps described in Figure 4.1. The complexity is bounded by Step 5 which is NP-hard. However, let us examine the other four steps.

Procedure F M C(C1

J, CJ2, CJ3, Z, JZ)

Step 1. Set JZ = ∅.

Step 2. (Find all Z−maximal circles in the set C1 J.)

For each Cj = {i} ∈ CJ1 do: If d′

i,l

2 > Z ∀ l 6= i ∈ I, add Cj to JZ.

Else the (single point) circle Cj is not Z−maximal.

Step 3. (Find all Z−maximal circles in the set C2

J∪ CJ3.)

For all Cj ∈ {CJ2∪ CJ3} do:

If R(Clj∪ {i}) > Z ∀ i /∈ Clj (i.e. the circle Cj is Z−maximal

by definition) set JZ = JZ∪ {Cj}.

Else, the circle Cj is not Z−maximal.

Step 4. Return JZ.

Figure 4.2: The FMC Algorithm

In Step 1, the total number of circles created from one, two or three demand points is at most n0 = n(n

2

+5)

6 , giving a time complexity of O(n

3). If the H

2 heuristic is used

in Step 2, it has a time complexity of O(n2) which is dominantly the Elzinga-Hearn

algorithm (see Drezner & Shelah (1987)). Note that H2 is run h times and the best

is chosen. The wost-case time complexity for Step 2 is O(n3), and the worst case for

Step 3 has a complexity of O(n). Finally, the worse case scenario in Step 4 would be to calculate all the Z−maximal circles given so that every possible circle is evaluated. If the closure of circle Cj holds nj demand points, the time complexity for this step

becomes O(n6) as this requires Pn0

j=1(n − nj)n2 calculations.