You are on page 1of 113

# PLANAR k-CENTRA SINGLE-FACILITY EUCLIDEAN LOCATION PROBLEM

A thesis presented to
the faculty of
the Fritz J. and Dolores H. Russ
College of Engineering and Technology of Ohio University

In partial fulfillment
of the requirements for the degree
Master of Science

Siddharth R. Kotian
November 2005

This thesis entitled

PLANAR k-CENTRA SINGLE-FACILITY EUCLIDEAN LOCATION PROBLEM

by
SIDDHARTH R. KOTIAN

has been approved for
the Department of Industrial and Manufacturing Systems Engineering
and the Russ College of Engineering and Technology by

Trevor Hale

Assistant Professor of Industrial and Manufacturing Systems Engineering

Dennis Irwin

Dean, Russ College of Engineering and Technology

KOTIAN, SIDDHARTH R. M.S. November 2005. Industrial and Manufacturing Systems
Engineering
Planar k-Centra Single-Facility Euclidean Location Problem (113 pp.)
Director of Thesis: Trevor Hale

Facility location represents the process of identifying the best location for a
service, commodity or production facility. The objective of this thesis is to solve the
planar k-centra single-facility location problem with Euclidean distances. The problem
statement is to locate a single service point that minimizes the sum of the distances to the
k-farthest demand points out of a set of given points. A k-centra problem is a location
analysis problem which encloses attributes from both the minimax (center) as well as the
minisum (median) approaches. The k-centra methodology used in this thesis employs
selectively evaluating a few points out of all the existing points. This is the biggest
difference between a k-centra methodology and the traditional minisum methodology.
The solution procedure used in this thesis is an extension of one of the oldest
heuristic methods existing in location science-Weiszfelds algorithm. Starting with the
minimax solution, Weiszfelds algorithm is alternated with reducing radius points until
all k points lie inside the smallest possible circle (one at a time). This method is repeated
until optimality is obtained. k-Centra optimality is obtained when the same k-points are
farthest away from the starting solution. Three problems based on real life city problems
are solved using Excel substitution. A MATLAB solution is also provided in this thesis.

Experimentation is conducted to compare solution quality and computation time
of the k-centra method compared to the minisum method. Five problems each were
solved for n = 15 and n = 30. Results obtained showed that the solution quality improves
as the k value increases from 1 to n. At k = n, the solution obtained is optimal for the
minisum objective function. To evaluate this solution characteristic, few more problems
are solved to find the cutoff point of k as a percentage of n where 1% above optimal
solution is obtained. Results obtained show that at 40%-50% of n, there is a 1% increase
from optimal solution. A few more problems are evaluated to find out the computational
time for k-centra problems. It is observed that there is negligible difference in
computational time between k-centra and minisum methodologies.
The proposed k-centra method provides the user with a near-optimal solution.
However, it can be concluded that even though there is some reduction in the total
computational time for the proposed k-centra method as compared to the minisum
method, the time saved is negligible.

Approved:
Trevor Hale

Assistant Professor of Industrial and Manufacturing Systems Engineering
5

ABSTRACT........................................................................................................................ 3
LIST OF FIGURES ............................................................................................................ 7
LIST OF TABLES.............................................................................................................. 9
1. INTRODUCTION........................................................................................................ 11
1.1 MOTIVATION FOR RESEARCH............................................................................ 12
1.2 FACILITY LOCATION AN OVERVIEW.............................................................. 13
1.2.1 Type of Location Problem................................................................................ 14
1.2.2 Nature of Solution Space ................................................................................. 14
1.2.3 Distance Metric................................................................................................ 15
1.2.4 Type of Objective Function.............................................................................. 16
1.3 PLANAR K-CENTRA SINGLE-FACILITY LOCATION PROBLEM........................... 18
1.3.1 Types of Problems Evaluated........................................................................... 22
1.4 STRUCTURE OF THE THESIS............................................................................... 24
2. LITERATURE REVIEW............................................................................................. 25
2.1 PURE LOCATION PROBLEMS ............................................................................. 26
2.1.1 Rectilinear Distance Metric Problem.............................................................. 26
2.1.2 Euclidean Distance Metric Problem................................................................ 27
2.1.3 Location-Allocation Problems ......................................................................... 28
2.1.4. K-Centra Problems ......................................................................................... 28
3. METHODOLOGY ....................................................................................................... 32
3.1 WEISZFELDS ALGORITHM ILLUSTRATION....................................................... 32
3.1.1 Solved Example for Weiszfelds Algorithm...................................................... 34
3.2 APPLICATION OF WEISZFELDS ALGORITHM - K-CENTRA PROBLEM ............... 37
3.3 SOLVED EXAMPLES ILLUSTRATING REAL LIFE LOCATION SCENARIOS. .......... 40
3.3.1 Unplanned City Problem with Random Existing Locations ............................ 40
3.3.2 Planned City Problem with Annular Existing Customer Locations ................ 48
3.3.3 Planned City Problem with Distributed Location Clusters ............................. 50

6

3.4 MATLAB METHODOLOGY............................................................................... 52
3.4.1 MATLAB Application to the k-Centra Problem............................................... 53
3.4.2 Data Flow Logic and MATLAB Functions ...................................................... 53
3.4.3 Minimax Logic ................................................................................................. 55
3.4.4 Finding the k-Maximum x-y Coordinates ........................................................ 59
3.4.5 Weiszfelds Function........................................................................................ 59
4. RESULTS..................................................................................................................... 61
4.1 RESULTS FOR THE RANDOM LOCATION PROBLEM-EXCEL AND MATLAB...... 61
4.2 OPTIMALITY COMPARISON BETWEEN K-CENTRA AND MINISUM SOLUTIONS .. 66
4.3 DETERMINING THE VALUE OF K TO OBTAIN 1% INCREASE FROM OPTIMALITY73
4. 4 DETERMINING THE COMPUTATIONAL TIME FOR K-CENTRA PROBLEMS.......... 75
5. CONCLUSIONS AND FUTURE RESEARCH .......................................................... 79
5.1 ACCURACY OF THE K-CENTRA SOLUTION ........................................................ 79
5.2 SELECTING THE RIGHT K VALUE....................................................................... 80
5.3 COMPUTATION TIME FOR A K-CENTRA PROBLEM............................................ 80
5.4 FUTURE RESEARCH........................................................................................... 81
BIBLIOGRAPHY............................................................................................................. 83
APPENDIX A MATLAB CODE.................................................................................. 86
APPENDIX B RESULTS FOR THE ANNULAR LOCATION PROBLEM.............. 91
APPENDIX C - RESULTS FOR THE CLUSTERED LOCATION PROBLEM........... 95
APPENDIX D MATLAB SOLUTION FOR SOLVED EXAMPLE 1......................... 99
APPENDIX E MATLAB SOLUTION FOR SOLVED EXAMPLE 2....................... 104
APPENDIX F MATLAB SOLUTION FOR SOLVED EXAMPLE 3 ....................... 109
7

LIST OF FIGURES

FIGURE 1. TYPE OF LOCATION PROBLEM........................................................................... 14
FIGURE 2. NATURE OF SOLUTION SPACE............................................................................ 15
FIGURE 3. CLASSIFICATION OF DISTANCE METRIC ............................................................ 16
FIGURE 4. TYPE OF OBJECTIVE FUNCTION INVOLVED........................................................ 17
FIGURE 5. A SCHEMATIC EXAMPLE OF THE SINGLE FACILITY K-CENTRA PROBLEM......... 21
FIGURE 6. A SCHEMATIC EXAMPLE OF A RANDOM UNPLANNED CITY PROBLEM.............. 22
FIGURE 7. A SCHEMATIC EXAMPLE OF A CITY PROBLEM WITH ANNULAR LAYOUT ......... 23
FIGURE 8. A SCHEMATIC EXAMPLE OF A PROBLEM WITH LOCATION CLUSTERS............... 23
FIGURE 9. A FLOWCHART SHOWING K-CENTRA SOLUTION APPROACH............................ 39
FIGURE 10. GRAPHICAL REPRESENTATION OF AN UNPLANNED CITY LAYOUT.................. 42
FIGURE 11. FLOWCHART FOR THE ELZINGA-HEARN ALGORITHM..................................... 43
FIGURE 12. GRAPHICAL REPRESENTATION OF AN ANNULAR CITY LAYOUT ..................... 50
FIGURE 13. GRAPHICAL REPRESENTATION OF A CLUSTERED CITY LAYOUT..................... 52
FIGURE 14. SOFTWARE FLOW DIAGRAM........................................................................... 54
FIGURE 15. MINIMAX FUNCTION FLOWCHART.................................................................. 58
FIGURE 16. WEISZFELD FUNCTION FLOWCHART............................................................... 60
FIGURE 17. K = 6, RANDOM LOCATION PROBLEM............................................................. 64
FIGURE 18. K = 5, RANDOM LOCATION PROBLEM............................................................. 65
FIGURE 19. OBJECTIVE FUNCTION PLOTS FOR N = 15........................................................ 67
FIGURE 20. PERCENTAGE INCREASE FROM OPTIMAL VALUE (N = 15)............................... 68
FIGURE 21. OBJECTIVE FUNCTION PLOTS FOR N = 30........................................................ 70
FIGURE 22. PERCENTAGE INCREASE FROM OPTIMAL VALUE (N = 30)............................... 71
FIGURE 23. AVERAGE INCREASE FROM OPTIMAL SOLUTION VALUE AT VARIOUS LEVELS
OF N ........................................................................................................................... 72
FIGURE 24. VALUE OF K (% OF N) TO OBTAIN 101% OF OPTIMAL SOLUTION VALUE ....... 75
FIGURE 25. PERCENTAGE REDUCTION IN COMPUTATION TIME AT 50% OF N.................... 77
FIGURE 26. K=12, ANNULAR LOCATION PROBLEM-FEASIBLE........................................... 93
FIGURE 27. K=3, ANNULAR LOCATION PROBLEM-DEGENERATE ..................................... 94
8

FIGURE 28. K = 10, CLUSTERED LOCATION PROBLEM-OPTIMAL....................................... 97
FIGURE 29. K = 6, CLUSTERED LOCATION PROBLEM-DEGENERATE ................................. 98

9

LIST OF TABLES
TABLE 1. WEISZFELDS EXAMPLE COORDINATES.............................................................. 34
TABLE 2. UNPLANNED CITY PROBLEM.............................................................................. 41
TABLE 3. ELZINGA-HEARN ALGORITHM............................................................................ 44
TABLE 4. DISTANCE ALGORITHM....................................................................................... 45
TABLE 5.
i
VALUES........................................................................................................ 46
TABLE 6.
i
VALUES ........................................................................................................ 47
TABLE 7. WF VALUES........................................................................................................ 47
TABLE 8. OBJECTIVE FUNCTION VALUES........................................................................... 48
TABLE 9. ANNULAR LAYOUT PROBLEM............................................................................. 49
TABLE 10. CLUSTERED LAYOUT PROBLEM........................................................................ 51
TABLE 11. MINIMAX DATA REPRESENTATION................................................................... 56
TABLE 12. MAXIMUM DISTANCE MATRIX......................................................................... 56
TABLE 13. INTERMEDIATE DISTANCE MATRIX .................................................................. 57
TABLE 14. SEARCH GRID COORDINATES ........................................................................... 57
TABLE 15. EXCEL SOLUTION-RANDOM LOCATION PROBLEM............................................ 62
TABLE 16. MATLAB SOLUTION-RANDOM LOCATION PROBLEM...................................... 63
TABLE 17. OBJECTIVE FUNCTION VALUES FOR K = 3, 6, 9, 12 AND MINISUM PROBLEMS .. 66
TABLE 18. PERCENTAGE INCREASE FROM OPTIMAL VALUE (N = 15)................................. 67
TABLE 19. OBJECTIVE FUNCTION VALUES FOR K = 6, 12, 18, 24 AND MINISUM PROBLEM 69
TABLE 20. PERCENTAGE INCREASE FROM OPTIMAL VALUE (N = 30)................................. 70
TABLE 21. AVERAGE INCREASE FROM OPTIMAL VALUE AT 20% INTERVALS OF N............ 72
TABLE 22. VALUE OF K REQUIRED TO OBTAIN 101% OF OPTIMAL SOLUTION VALUE....... 74
TABLE 23. COMPUTATIONAL TIME FOR MINISUM AND K-CENTRA FUNCTIONS ................. 76
TABLE 24. COMPUTATION TIME REDUCTION AND OPTIMALITY LOSS AT 50% OF N........... 76
TABLE 25. EXCEL SOLUTION-ANNULAR LOCATION PROBLEM.......................................... 91
TABLE 26. MATLAB SOLUTION-ANNULAR LOCATION PROBLEM.................................... 92

10

TABLE 27. EXCEL SOLUTION-CLUSTERED LOCATION PROBLEM........................................ 95
TABLE 28. MATLAB SOLUTION-CLUSTERED LOCATION PROBLEM ................................. 96
11

Chapter 1
1. Introduction

Facility location represents the process of identifying the best location for a
service, commodity or production facility. Facility location optimization is a classical
research area in operations research concerned with the location of one or more facilities
so as to satisfy objective function requirements such as minimizing operational and
supply costs; providing fast and reliable service to customers; and capturing the largest
market share. Optimum location decision depends on the following factors:
Service facility location: This aims at reducing transportation costs and
simplifying the transfer of bulky, expensive or perishable goods.
Customer location: Cost is again a factor here. Also, most companies prefer
being in close proximity to high-population density areas or their suppliers.
Labor availability: Availability of local labor means local labor rates are
applicable thus saving costs.
Community/Environmental issues: Attitude of the local community towards the
facility is an important factor here. Also, an important consideration is the
environmental concerns involved in the area.
Local area considerations: This varies from region to region. The idea here is to
obtain the best possible tax cuts, utilities, labor laws and zoning regulations
provided by the local authorities.
12

Human issues: Labor culture, climatic constraints, cultural attractions, commute
times.
Other factors: Options for further expansion, local competition, etc.
Applications of facility location models can be found in various fields. Locations
of warehouses, plants, hospitals, retail outlets, fire stations are important applications.
Applications can also be found in the location of electronic components, fire alarms,
sprinklers, radar beams, exploratory oil wells, waste disposal sites, telephone exchanges
etc.
1.1 Motivation for Research
Facility location problems date back to the 17th century when Pierre Fermat [1],
Evarista Toricelli, and Battista Cavalieri [2] simultaneously introduced the concept,
although this theory is widely contested by location analysis experts. Late in the 18th
century Pierre Varignon presented the Varignon Frame which was an analog solution
to the planar minisum location problem. However, facility location started garnering
more interest when Alfred Weber [3] introduced the planar Euclidean single facility
minisum problem in 1909. The Weber problem considers the example of locating a
warehouse in the best possible location such that the distance traveled between the
warehouse and its customers is minimized. Endre Weiszfeld [4] in 1937 conceptualized
an iterative method to solve the minisum Euclidean problem today called the Weiszfelds
Procedure.
13

In 1964, Hakimi [5] introduced a seminal paper on locating one or more points
on a network with an objective to minimize the maximum distance or the sum of all the
distances from existing customer locations already on the network. Francis et al. [6]
presented a survey paper in location analysis, which defined four classes of location
problems and described algorithms to optimize them. The paper described continuous
planar, discrete planar, mixed planar and discrete network problems.
In 1998, Susan Owen and Mark Daskin [7] reviewed various strategic location
problems where they emphasized that a good facility location decision is a critical
element in the success of any supply chain. They explained median problems, center
problems, covering problems, and other dynamic location problem formulations in the
context of a supply chain environment.
The research on facility location problems spans many research fields like
operations research, management science, mathematics, statistics, urban planning,
designing, etc.
1.2 Facility Location An Overview
Since this thesis deals with new facility location, the major elements considered are
type of location problems, the nature of the solution space, distance measures and the
objective function.
14

1.2.1 Type of Location Problem
A facility location problem can be classified according to the number of facilities
involved. As shown in Figure 1, a new facility problem could be a single or a multiple
facility problem.

Figure 1. Type of Location Problem

A single facility location problem can be locating a single point or an enclosed
area. Multiple facility location problems can be problems defined by certain parameters
like length or certain decision variables. The obtained solution can be dependent or
independent of other parameters or decision variables. For example, the new located
point could be dependent or independent of the existing customer locations.
1.2.2 Nature of Solution Space

The other category for classification would be the solution space for the location
problem. As shown in Figure 2, some spaces can be one-dimensional such as locating
15

points on a line while others are multidimensional as in locating points in 2-D or 3-D
spaces. The solution subspace can be discrete (finite number of possible locations) or
continuous (infinite number of possible locations). Also, the solution space can be
constraint bounded or unconstrained.

Figure 2. Nature of Solution Space

In continuous space, there is no restriction on the location of the new facility. The
new facility could be located anywhere inside the convex hull. In the case of discrete
space problems, the new facility has to be located among one of the discrete points
1.2.3 Distance Metric

Another form of classification is the distance metric selected which could be
rectilinear, Euclidean or some other form of defined metrics (Figure 3). The most
common distance metric is the l
p
distance metric, where l
p
is given by Equation 1.
p
n
i
p
i i p
y x l
/ 1
1

=
(1)
where,
16

x
i =
x-coordinate of the facility location
y
i =
y-coordinate of the facility location
p = 1, Rectilinear or Manhattan distance metric
p = 2, Euclidean or Straight-line distance metric
n = Number of facility locations

Figure 3. Classification of Distance Metric

Other distance metrics include the weight 1- norm, block norm, round norm,
mixed norms, Jaccard, expected, central, and mixed gauges.
1.2.4 Type of Objective Function
The final category is the classification of objective functions. As shown in Figure
4, a problem can be qualitative (generally facility layout problem) or quantitative (facility
location problem). Quantitative objectives could be minimization, maximization or some
other function depending on the formulated problem.
17

Figure 4. Type of Objective Function Involved

Minisum is considered as one of the quantitative objective functions. It
minimizes the sum of the distances between the new facility to be located and the
existing facility locations. It is also known as the median problem. Minimax involves
minimizing the maximum distance between the existing facility location and new facility
to be located. It is also known as the center problem.
Maxisum is maximizing the sum of the distances between the new facility to be
located and the existing facility locations. Maximin is maximizing the minimum distance
between the existing facilities and the new facility to be located. The maxisum and
maximin objective functions are useful for evaluating problems involving undesirable
facilities like nuclear waste sites, garbage dumps etc. A set covering objective function
refers to the problem in which a minimal number of new facilities to be located are
determined. The constraint involved is that the new facility cannot be further than some
pre-specified distance away from the existing facility. The maximal covering problem has
18

the number of new facilities to be located as the problem input, but the distance between
the existing facility and the new facilities is to be maximized. These are the frequently
used objective functions of a facility location problem.
In one important class of facility location problems, the goal is to find one or
more center points in order to minimize the maximal distance between a demand point
and the facility that is nearest to it. These problems are called k-center problems, where k
is the number of desired facility locations. The simplest problem in this class is the
basic 1-center problem, in which one is to find a point in the plane that minimizes the
maximal distance to a set of n demand points.
In another important class of problems, the goal is to find one or more median
points in order to minimize the average distance (i.e., the sum of the distances) between a
demand point and the facility that is nearest to it. These problems are called k-median
problems, where k is the number of desired facility locations. When k = 1 the problem is
known as the Weber problem.

1.3 Planar k-Centra Single-Facility Location Problem
Facility location handles problems with an aim of locating one or more service
points so as to satisfy certain objectives. In the case of this thesis the optimizing factor is
distance. Median and center problems are well known distance dependant location
problems with a multitude of applications. The median approach locates a set of service
points in order to minimize the average distances from other customer location points.
The center approach handles a different type of location problem with the objective of
19

having farthest users as close as possible. An application of center approach is the
location of emergency facilities. However, in real life applications, most problems that
come up generally require a unique combination of both the discussed objective
functions. In the process of locating a new facility, more than one deciding factors are
involved. This is due to the fact that typically the cost associated with this decision is
very high. Thus different approaches are evaluated and compared in order to be
implemented.
A median approach provides solutions where remote and low-population (less
weight) density areas are neglected compared to centrally situated or high-population
(more weight) density areas. On the other hand using a center approach may cause a
large increase in total traveled distance, thereby causing inefficient use of available space.
The problem is therefore to select the best factors out of the two objective functions to
solve the problem. Similar logic problems are the centdian problem or the k-centra
problem. A centdian problem minimizes the convex combination of the center and
median objective function. The convex combination is decided depending on the
associated weights allocated to the customer points.
The objective of this thesis is to solve the planar k-centra single facility problem
with Euclidean distances. The problem statement is to locate a single service point that
minimizes the sum of the distances to the k-farthest demand points out of a set of given
points. A k-centra problem is a location analysis problem which encloses attributes from
both the center as well as the median approaches. However, this is not a linear
20

combination. In a k-centra problem, a set value of k is predefined and is used in the
evaluation. If k = 2 then the corresponding problem becomes a center problem and when
k = n the corresponding problem becomes a median problem, thus enclosing both
approaches. It also gives the decision-maker a more flexible tool to make an informed
and a calculated decision. A real life example for a k-centra problem could be locating a
warehouse to satisfy a set number of distant customers. The advantage here over a
minimax solution for a similar problem is that the minimax approach is generally
governed by a single largest distance. A good example here would be in the case of an
isolated unit located at a significant distance from all other units. In this case, the
minimax problem is reduced to the minimization of the distance of the particular unit
leaving few of the location decisions unsatisfied.
A k-centra problem considers k largest distances thus encompassing more of the
problem characteristics before deciding on the solution. Another application is when the
problem is very large and there are a multitude of existing locations to evaluate, thereby
costing a lot of analysis time. The k-centra approach simplifies the solution method by
selectively evaluating only a certain number of points out of the existing location. This
selective evaluation does not sacrifice too many problem characteristics and gives a near
optimal solution in a shorter period of time. However, the k-centra method comes with a
few disadvantages. Solution optimality is not guaranteed in case of a k-centra method.
The iterative nature of the solution method can cause the problem to go in a loop.
21

The solution procedure used in this thesis is an extension of one of the oldest
heuristic methods existing in location science-Weiszfelds algorithm. Starting out with
2n minimax solution (n being the number of demand points), the distance from the radius
of the solution would be reduced until k points lie outside the circle. Then, minisum is
applied on the problem and it is solved for the k points by considering the smallest
possible circle that encompasses (n - k) points. The solution is tested for feasibility, and
if the original k points are outside the smallest circle, the solution is optimal. If not, this
procedure is repeated again. The solution method used to solve this problem would be an
Alternating Weiszfelds Algorithm. Here, Weiszfelds algorithm would be alternated
with reducing radius points until all k points are inside the smallest possible circle (one at
a time) and then Weiszfelds is applied one more time. This method is repeated until
optimality is obtained.

Figure 5. A Schematic Example of the Single Facility k-Centra Problem
22

1.3.1 Types of Problems Evaluated

Three types of problems were evaluated in this thesis. The problems were derived
from examples seen in real life scenarios. The objective function remains the same for all
the example problems that is to locate a single service facility. The first problem
considered is a typical unplanned city problem with random existing customer facilities.

Figure 6. A Schematic Example of a Random Unplanned City Problem
The next example considered is a planned city layout where customers are located
in the annular region surrounding a central facility. The central facility could be a
historic landmark or an airport.
23

Figure 7. A Schematic Example of a City Problem with Annular Layout

The final example considered is one where customer settlements are bunched
together in isolated clusters all around the city. This example holds well in an industrial
city where the workforce resides in the few available residential areas.

Figure 8. A Schematic Example of a Problem with Location Clusters
24

1.4 Structure of the Thesis

The layout of this thesis is as described below. Chapter one introduces the basic
concepts of facility location analysis. This chapter also describes the problem statement
to be evaluated in this thesis. Chapter two deals with an extensive literature review
which goes into the concept development for this thesis. Chapter three describes the
methods and practices used to solve the problem. It also describes the various process
algorithms used, methods to develop them, and steps to verify the accuracy of the
proposed algorithms. The thesis conclusion is listed in chapter four. Chapter four also
discusses the scope for extension of this thesis in future research.
25

Chapter 2
2. Literature Review
In this chapter, a review of the literature existing in the area of facility location is
presented. Location analysis goes back to the influential book of the German industrial
author Alfred Weber [3]. The research was motivated by observing a warehouse
operation and its inefficiencies. Weber considered the single warehouse location problem
and evaluated it such that the travel distances for pickups and replenishment were
reduced. Other notable work in this field was by Pierre de Fermat [1], who solved the
location problem for three points constituting a triangle.
Another major concept in the field of location analysis was the concept of
competitive location analysis introduced by Hotelling [8] in 1929. The paper discussed a
method to locate a new facility considering already existing competition. The considered
facilities were on a straight line. He proposed that the customers generally prefer visiting
the closest service facility. He introduced the Hotellings Proximity Rule which can be
used to determine the market share captured by each facility. He just considered the
distance metric during his analysis. The Hotelling model was extended by Drezner [9]
who introduced the concept of varying attractiveness among competing facilities. He
analyzed cost and quality factors in addition to the distance metric involved. Huff [10]
proposed the famous Gravity Model for estimating the market share captured by
competitors. The gravity model states that existing customer locations attract business
26

from a service facility in direct proportion to the existing locations and in inverse
proportion to the distance between the service location and the existing customer
locations [10].
2.1 Pure Location Problems
A pure location problem deals with optimally locating one or more new service
facilities to serve the demand at existing customer locations. Selecting different distance
measures, and by using different constraints, we obtain different variants of the multi or
single facility location problem. Furthermore, we can introduce additional variants by
restricting new facility locations to specific sites, and by letting demands be either
stochastic or distributed over areas.
2.1.1 Rectilinear Distance Metric Problem

The rectilinear distance location problem is a variant of the classic location
problem. Rectilinear distance metric is the axial distance between two corresponding
points taken at right angles from each other. Francis [11] first considered the single
facility location problem with rectilinear distances. The paper considered a simple
substitution method for solving the proposed problem. Francis [12] also solved the multi-
facility rectilinear location problem with equal demand weights. The objective function
is as given by Equation 2.
Minimize

= = ) , ( . ) .... 1 ( ) ( Pi X d Wi m i x f (2)
where:
27

Wi = Weights associated with the locations.
m = Number of existing locations
2.1.2 Euclidean Distance Metric Problem
The difference between Euclidean and rectilinear distances is that where
rectilinear distance metric considers right-angle distances, a Euclidean metric considers
straight line distances between points. In a plane with points at (x
1
, y
1
) and (x
2
, y
2
), it is
given by Equation 3.
Minimize f(x,y) = ( ) ( )
2
2 1
2
2 1
y y x x + ..... (3)
This problem is also known as the Weber problem .It is also known as the planar
Euclidean minisum distance single facility location problem, which adequately defines its
characteristics. The upper and lower bound on f
euc
is as shown in Equation 4.

..... (4)
For collinear single facility location problems with Euclidean distances, a user can
always obtain an optimal solution as discussed in the paper by Rosen and Xue [13]. This
thesis assumes that the existing facilities are non-collinear. For non collinear location
problems, Weiszfeld [4] was the first to propose a fixed-point iterative method that is
known as the Weiszfeld procedure. Weiszfeld's algorithm iteratively solves for the
minisum location to the Weber problem based on the objective function
( ) ( ) ) * y , * (x f ) * y , * (x f
2
y f
2
x f
rec rec euc euc euc euc 2 1
<= <= +
28

Drezner [13] in his paper conducted some sensitivity analyses for the single
facility problem. He studied various variants of the problem with weight restrictions and
location restrictions.
2.1.3 Location-Allocation Problems
Since 1963, when the first location-allocation model was formulated by Cooper
[15], there has been extensive research on this field. The simplest location-allocation
problem is the Weber problem addressed by Friedrich [16] in 1929. This paper discussed
the steps in locating a machine so as to minimize the sum of the weighted distances from
all the raw materials sources. The seminal work in this area was on the p-median
problem, initially formulated by Hakimi [5]. The median problem was considered on a
graph and the objective function was to reduce the average or the sum of the
transportation costs from the service facility to the demand locations. It was derived that
one of the optimal solutions locates the service facility on one of the nodes of the
network.
2.1.4. K-Centra Problems
Majority of the research in the field of location analysis focuses on the
minimization of the average (or total) distance (median function) or the minimization of
the maximum distance (center function) to some service facility. Approaches based on
the median model are primarily concerned with achieving maximum spatial efficiency.
This approach generally provides solutions in which remote and low-population density
29

areas are neglected in favor of providing maximum accessibility to centrally situated and
high-population density areas. To avoid this drawback, the center method can be applied
which primarily addresses geographical equity issues compromising optimum spatial
efficiency. Sometimes locating a facility using the center method doesnt satisfy all the
complex underlying constraints a location problem is associated with. These factors led
to more research in lieu of obtaining a compromise solution concept.
Halpern [17] first introduced the cent-dian model as a parametric solution concept
based on the bicriteria center/median model. Halpern modeled the problem in such a way
that a compromise was achieved between median and centre objective functions such that
the inherent objective function characteristics of both the problems are considered while
solving. The two objective functions considered are total distance minimization and the
maximum distance minimization criterions. The goal here was to find an optimal balance
between efficiency (least-cost) and equity (worst-case). However, this particular method
can sometimes fail to provide a solution to a discrete location problem mostly due to the
limitations involved with direct combinations of two different functions.
Hansen et al. [18] introduced a variation of the cent-dian problem in the
generalized center problem, which minimizes the difference between the maximum
distance and the average distance. This model can be extended to formulate solutions for
multiple facility location problems on a plane as well as on a network. This model can
also be applied to discrete location problems.
30

The k-centra problem concept was formulated by Slater [19]. The k-centra model
combines both the center as well as the median concepts by minimization of the sum of
the k largest distances. If k = 2 the model reduces to a standard center problem while
with k = n it becomes a standard median problem. This paper concentrated on the
discrete single facility location problem on a tree graph.
Peeters [20] studied the k-centrum model and introduced a full classification of
the k-centrum criteria and some solution concepts. He proposed two different variations
on the median and the center functions each. The functions considered were upper k-
median where the sum of the k largest distances are minimized, lower k-median where
the sum of the k smallest distances are minimized, upper k-center where the k largest
distances are minimized, and lower k-center where the k smallest distances are
minimized.
The k-centrum model is generally reserved for unweighted problems. However,
significant research has been performed to show that satisfying the above criteria is not
always necessary. Recently, Tamir [21] solved a weighted multiple facility k-centrum
problem on paths and tree graphs using simple polynomial time algorithms. In this
method, weights are assigned to all the distances from the new location to the existing
locations and the distances are scaled accordingly.
Ogryczak and Zawadski [22] in their paper introduced the conditional median
method which is an extension of the k-centrum concept when applied to weighted
problems. The paper proposes that a k-centrum problem can be evaluated for optimality
31

by just considering only that specific part of the demand which is in direct proportion to
the existing largest distances. Thus this concept solves the objective function for the
entire portion of the largest distances for a specified portion of the demand.
32

Chapter 3
3. Methodology

3.1 Weiszfelds Algorithm Illustration
The objective function of the Weiszfelds algorithm is to minimize the sum of the
distances between the existing facility locations and the new facility location.
Weiszfelds algorithm can be used to solve planar as well as network problems
considering two-dimensional or three-dimensional coordinates. Weiszfelds algorithm
iteratively solves for the minisum location to the Weber problem based on its objective
function as shown in Equation 5.
Minimize ( ) ( ) ( )

+ =
2 2
,
i i i
b y a x w y x f .. (5)
where,
w
i
= Weights associated with the existing locations.
x = x coordinate of the starting solution and later obtained by successive iterations.
y = y coordinate of the starting solution and later obtained by successive iterations.
a
i
= x coordinate of existing locations.
b
i
= x coordinate of existing locations.
The steps followed in Weiszfelds Algorithm to solve a planar Euclidean
location problem are as listed below:
33

Step 1: Input initial coordinates (x,y).
Step 2: Solve for every
i
as per Equation 6.

( ) ( )
2 2
i i
i
i
b y a x
w
+
= .. (6)
where,
x = x-coordinate of starting point for the iterative algorithm
y = y-coordinate of starting point for the iterative algorithm
Step 3: Sum for every i for (x,y) shown by Equation 7.

=
=
m
i
i
y x y x
1
) , ( ) , ( . (7)
Step 4: Determine all
i
= / as shown in Equation 8.

) , (
) , (
) , (
y x
y x
y x
i
i

.... (8)
Step 5: Weiszfelds (x) = WFx =

=
i i
a m i . ) ... 1 ( .... (9)
Weiszfelds (y) = WFy =

=
i i
b m i . ) ... 1 (

...... (10)
Step 6: Determine the objective function value by summing the individual objective
function values for all i as per Equation 11.
( ) ( )
2 2
i i i euc
b y a x w f + =

. (11)
Step 7: Repeat until stopping conditions are met.
Considering a random starting solution, the algorithm is evaluated to obtain a
second set of trial values (WFx,WFy). The obtained coordinates are substituted to obtain
34

the third set of trial values and so on. By reiterating the Weiszfelds values for x, y, we
can find the Euclidean solution close to or equal to the optimal solution. The stopping
conditions are met when the difference between subsequent objective function values
obtained is less than or equal to zero.
3.1.1 Solved Example for Weiszfelds Algorithm

The objective of Weiszfelds algorithm is to find the minisum solution to a
location problem. The example problem considered here is a non-weighted planar
problem with coordinates listed in Table 1.
Points x y
P1 2 3
P2 0 8
P3 9 3
P4 6 2
P5 7 2
P6 1 5

Table 1. Weiszfelds Example Coordinates
Considering the initial solution as (x,y) = (3,2). This value could be selected as
any value depending on the users discretion. To reduce the number of iterations
required to solve the objective function, the starting point based on visual judgment.
) 2 , 3 ( ) , ( = y x
By substituting the value of ) , ( y x in Equation 6 we get the following
i
values:
35

( ) ( )
707 . 0
3 2 2 3
1
) , (
2 2
1
=
+
= y x
149 . 0 ) , (
2
= y x
164 . 0 ) , (
3
= y x
333 . 0 ) , (
4
= y x
25 . 0 ) , (
5
= y x
277 . 0 ) , (
6
= y x
The above values are summed up to obtain the value.
881 . 1 ) 277 . 0 25 . 0 333 . 0 164 . 0 149 . 0 707 . 0 ( ) , ( = + + + + + = y x
Using and the corresponding value, values were calculated for each of the
existing facility locations.
375 . 0
881 . 1
707 . 0
) , (
1
= = y x
0792 . 0 ) , (
2
= y x
0873 . 0 ) , (
3
= y x
177 . 0 ) , (
4
= y x

147 . 0 ) , (
6
= y x
Using the obtained values, Weiszfeld coordinates (WFx,WFy) are calculated
using the Equations 9 and 10.
132 . 0 ) , (
5
= y x
36

( ) ( ) ( ) ( ) ( ) ( )
14 . 3
1 * 147 . 0 7 * 132 . 0 6 * 177 . 0 9 * 0873 . 0 0 * 0792 . 0 2 * 375 . 0
* ) (
1
=
+ + + + + =
=

=
m
i
i i
a x WF

( ) ( ) ( ) ( ) ( ) ( )
201 . 3
5 * 147 . 0 2 * 132 . 0 2 * 177 . 0 3 * 0873 . 0 8 * 0792 . 0 3 * 375 . 0
* ) (
1
=
+ + + + + =
=

=
m
i
i i
b y WF

By using the trial solution coordinates, calculate the individual function values for
all i. The sum of the obtained individual function values would give the objective
function value for trial solution 2 as shown in Equation 12.
( ) ( ) 157 . 1 3 201 . 3 2 14 . 3
2 2
1
= + =
eucP
f
734 . 5
2
=
eucP
f
863 . 5
3
=
eucP
f
101 . 3
4
=
eucP
f
042 . 4
5
=
eucP
f
795 . 2
6
=
eucP
f

= = 695 . 22
eucPi n
f f
. (12)
The procedure described above is repeated until stopping conditions are achieved.
Stopping condition is defined by Equation 13.
0
1

+ eucn eucn
f f
. (13)
37

3.2 Application of Weiszfelds Algorithm - k-Centra Problem
The objective this thesis is to solve a single facility, unweighted, planar k-centra
problem with an aim to locate a service point to minimize the distance to the k-farthest
customer points among several existing points. The approach used in this thesis to solve
the k-centra problem is a new method never been used before. The input required for the
problem includes the coordinates for the existing customer locations as well a k value.
This k value depends on the type of problem, the type of coverage required, the existing
customer locations on the plane or the discretion of the user.
The solution methodology used in this thesis is an iterative heuristic method
utilizing Weiszfelds algorithm. The solution steps are listed below:
Step 1: The first step is to find the minimax solution for all the existing
customer locations. This minimax solution is used as a starting point for
following iterations.
Step 2: The next step is to find the distances of all existing locations from
the minimax solution. The top k distances are considered to find the k
farthest location points.
Step 3: The next step is to use the minisum approach to evaluate the
obtained k farthest points. Weiszfelds algorithm is applied to solve the
minisum aspect. After the first iteration, a new location point is obtained.
Step 4: The next step is to check whether the same k points still are the
points lying farthest away.
38

o If so, the solution obtained is the optimal k-centra solution.
o If not, reiterate by considering the new k-largest distances and the
corresponding existing points.
o Stopping conditions are met when you end up with the same k-
farthest points you started with.
The procedure is illustrated with a flowchart as shown in Figure 9. However
there are chances that the algorithm may go in a loop. This happens when the solution
comes up with a different set of k points and this keeps repeating. This leads to an
infeasible solution. Generally it is observed that the infeasibility is due to a single point
getting displaced from the initial set of k points. The only solution possible here is a
semi-optimal solution which neglects the coordinates of the rogue point. This point is
better explained in the later part of the thesis where a MATLAB code for the discussed k-
centra approach is provided.
This approach was applied to solve three small examples problems influenced by
real life problems on location planning. Excel was used as a tool to solve the problems
manually. The example problems were also solved in MATLAB to verify obtained
solutions.
39

Figure 9. A Flowchart Showing k-Centra Solution Approach

STARTING POINT
- n # of existing locations
- k # of defined locations
STEP 1
Find minimax solution:
- Elzinga Hearn Algorithm
- Solver Solution
STEP 2
Find individual distances from
minimax solution:
- Distance Algorithm
STEP 3
Select k points with largest
distances from the solution
STEP 4
Solve minisum with selected
k points:
- Weiszfelds Algorithm
CHECK
Same k points still
farthest away?
k-centra
solution
WF Minisum
Solution
(WFx,WFy)
YES
NO
40

3.3 Solved Examples Illustrating Real Life Location Scenarios.
Three small location problems were solved in this thesis using the k-centra
methodology as discussed in the previous section. The analogy used was real life area
planning problems in cities. There are numerous examples of planned and unplanned city
layouts. Older cities generally fall in the unplanned category while newer cities are
methodically planned depending on population density, topographical features and
business sectors. Solution methodology for one of the considered examples is discussed
in detail while the other two problems are explained briefly.
3.3.1 Unplanned City Problem with Random Existing Locations
This is the most common layout seen in most cities all over the world. A single-
facility planar location problem associated with such a layout presents one of the most
complex and time-consuming problems in the field of location analysis. However, using
the k-centra approach discussed in this thesis, only a selective few points are evaluated
out of all the existing locations. Thus the computing time as well as complexity of the
problem is reduced. The problem considered is a 15 point problem as shown in Table 2.
The problem is evaluated for different values of k (k = 1 to 15). The flowchart as shown
in Figure 9 is used as the solution guideline for evaluating the problem. The problem is
first evaluated in Excel using manual iterations. The solution obtained is verified using
the MATLAB solver.

41

Points X Y
P1 2 2
P2 2 4
P3 5 2
P4 3.5 4
P5 7 4
P6 9.5 4.5
P7 10.5 2
P8 11.5 5.5
P9 9.5 8
P10 7 6.5
P11 5 6.5
P12 2 9
P13 5.5 8.5
P14 8.5 9
P15 11 9.5

Table 2. Unplanned City Problem
The graphical representation is shown in Figure 10. As the graph suggests, the
existing points are randomly located on a planar layout. This problem is just an
illustration; similar problems could include over 1000 customer locations. Good
examples here could be something as important as locating emergency services or as
simple as locating a pizza shop. The aim is to locate a single service facility in the plane
so as to minimize the sum of the distances to the k farthest points. The data required for
this problem includes the coordinates for existing customer locations and a value for k.
Reiterating, a k value could depend on the nature of the problem or it could be based on
logical reasoning and demand flow.
42

.
2, 2
2, 4
5, 2
3.5, 4 7, 4
9.5, 4.5
10.5, 2
11.5, 5.5
9.5, 8
7, 6.5 5, 6.5
2, 9
5.5, 8.5
8.5, 9
11, 9.5
0
1
2
3
4
5
6
7
8
9
10
0 2 4 6 8 10 12 14
x Coordinate
y

C
o
o
r
d
i
n
a
t
e

Figure 10. Graphical Representation of an Unplanned City Layout
The first step in the discussed methodology is obtaining the minimax solution
considering Euclidean metric. Two different methods were used to obtain the minimax
solution. The first method is a graphical solution based on the Elzinga-Hearn algorithm.
The Elzinga-Hearn algorithm is a graphical method of solving the minimax objective
function for a location problem. The method involved is the smallest circle covering
method where the objective is to find the smallest possible circle which encompasses all
the existing locations in the plane. The method involved is shown in Figure 11.
43

Figure 11. Flowchart for the Elzinga-Hearn Algorithm
44

Procedure Called Defining Points Outside Point Radius
TwoPoints 1,3 1.5
TwoPoints 1,3 2
TwoPointsPlus 1,3,2 1.8
FourPoints 1,3,2 5
TwoPointsPlus 1,2,5 2.75
FourPoints 1,2,5 6
TwoPointsPlus 1,2,6 4
TwoPoints 1,6 9
TwoPointsPlus 1,6,9 4.9
TwoPoints 1,9 15
TwoPointsPlus 1,9,15 6
TwoPoints 1,15 None

Table 3. Elzinga-Hearn Algorithm
The minimax solution is obtained at x = 6.5 and y = 5.75. Excel solver was also
used to obtain the minimax solution and verify the results obtained by using the Elzinga-
Hearn algorithm. The next step is to find the distance between the calculated minimax
solution and the all the other existing location points. This provides the starting point for
the k-centra algorithm. Distance algorithm is used for this computation. The distances
are sorted in descending order as shown in Table 4. The top k distances are considered
and the problem is evaluated for just the obtained k farthest points.

45

Points Distance
P1 5.857687
P15 5.857687
P12 5.550901
P7 5.482928
P8 5.006246
P2 4.828302
P3 4.038874
P14 3.816084
P9 3.75
P4 3.473111
P6 3.25
P13 2.926175
P5 1.820027
P11 1.677051
P10 0.901388

Table 4. Distance Algorithm
Considering k = 6 for this illustration, points P1, P15, P12, P7, P8 and P2 are the
points farthest away from the minimax solution (6.5,5.75). Considering the minimax
solution as the starting solution, Weiszfelds algorithm is used to solve the minisum
objective function. The Weiszfelds function is shown in Equation 14.
Minimize ( ) ( ) ( )

+ =
2 2
,
i i i
b y a x w y x f ... (14)
The next step is for solve for every
i
as shown in Equation 15. x and y are the
starting solution coordinates.
( ) ( )
2 2
i i
i
i
b y a x
w
+
= .. (15)
46

The
i
values obtained are shown in Table 5.
1 0.17072
12 0.18015
2 0.20711
8 0.19975
7 0.18238
15 0.17072

Table 5.
i
Values
The next step is to obtain the (x,y) value by summing for every i. The value of
(x,y) comes out to be 1.1108 in this case. The (x,y) value calculation is shown in
Equation 16.

=
=
m
i
i
y x y x
1
) , ( ) , ( ...............(16)
The next step is to determine all
i
values as shown in Equation 17. The values
obtained are listed in Table 6.
) , (
) , (
) , (
y x
y x
y x
i
i

..............(17)

47

1
0.15368

12
0.16218

2
0.18645

8
0.17982

7
0.16419

15
0.15368

Table 6.
i
Values
The final step is to find the Weiszfeld values for x and y and the objective function
value. The formulae are listed in Equations 18, 19, and 20. The WF values are presented
in Table 7.
Weiszfelds (x) = WFx = (i = 1 to m)
i
.a
i
..............(18)
Weiszfelds (y) = WFy = (i = 1 to m)
i
.b
i
..............(19)

Objective function value: ( ) ( )
2 2
i i i euc
b y a x w f + =

..............(20)

WF(x) WF(y)
7.86376 6.28355

Table 7. WF values
The objective function values are shown in Table 8.

48

f
eucP1
7.26172
f
eucP12
6.46241
f
eucP14
2.78996
f
eucP9
2.37139
f
eucP8
3.7197
f
eucP7
5.02977
f
eucP15
4.49239
f
euc
32.1273

Table 8. Objective Function Values
Using the distance algorithm to find the distance from the obtained minisum
solution to all existing locations, it is observed that the same six points are farthest away.
In this case, this solution is feasible and optimal for k = 6. Thus the k-centra solution for
this problem lies at x = 7.86 and y = 6.28. However, it was noticed that for k = 5, the
algorithm goes into a loop and the solution points keep jumping from one solution space
to the other. In this case, the MATLAB software discussed later in this chapter can be
used to find a sub-optimal solution. The solution is presented in Chapter 4.
3.3.2 Planned City Problem with Annular Existing Customer Locations
The next problem considered is another common problem in location analysis.
This is a planned city problem where customers are located around a central city
landmark, be it a school or a big employer or a tourist attraction. The problem considered
is the same as the earlier problem that is locating a single service facility such that the
distance from the k farthest points is minimized. The example problem considered is a
15-point problem and the problem is solved for k = 1 to k = 15. The solution
49

methodology used is similar to the method employed to solve the earlier example. The
existing customer locations are listed in Table 9.
Points X Y
P1 2 10
P2 3 6
P3 7 4
P4 11 4
P5 15 11
P6 13 16
P7 8 18
P8 4 15
P9 7 10
P10 8 9
P11 10.5 11.5
P12 9 10.5
P13 10 12
P14 8 12
P15 8 11.5

Table 9. Annular Layout Problem
The graphical representation is shown in Figure 12. The k-centra methodology is
applied to the existing location points and the problem is evaluated for all the values of k.
The obtained solution is listed in the next chapter and the solution methodology is
discussed in detail in the appendix section of this thesis.
50

2, 10
3, 6
7, 4 11, 4
15, 11
13, 16
8, 18
4, 15
7, 10
8, 9
10.5, 11.5
9, 10.5
8, 12
10, 12
8, 11.5
0
2
4
6
8
10
12
14
16
18
20
0 2 4 6 8 10 12 14 16
x Coordinate
y

C
o
o
r
d
i
n
a
t
e

Figure 12. Graphical Representation of an Annular City Layout
3.3.3 Planned City Problem with Distributed Location Clusters
The final example problem considered is a city problem with distributed location
clusters. This is also a common layout for modern cities where the population is located
in concentrated clusters. The concentrations could be developed residential areas or
individual housing complexes. The existing customer locations are listed in Table 10.

51

Points X Y
P1 2 1
P2 3 4
P3 1 1
P4 1 4
P5 2 3
P6 9 9
P7 10 9
P8 8 10
P9 8 8
P10 10 11
P11 8 1
P12 8 3
P13 9 2
P14 10 3
P15 9 4

Table 10. Clustered Layout Problem
The graphical representation for the problem is depicted in Figure 13.
52

2, 1
3, 4
1, 1
1, 4
2, 3
9, 9 10, 9
8, 10
8, 8
10, 11
8, 1
10, 3
8, 3
9, 2
9, 4
0
2
4
6
8
10
12
0 2 4 6 8 10 12
x Coordinate
y

C
o
o
r
d
i
n
a
t
e

Figure 13. Graphical Representation of a Clustered City Layout
The solution is listed in the fourth chapter and the results are given in the
appendix. The three examples discussed above are also solved using the k-centra code
written in MATLAB.
3.4 MATLAB Methodology
MATLAB is a high-level computer language recognized worldwide in the
mathematical community for its computational prowess in performing various complex
mathematical tasks. It is superior to various traditional solving methods as well as
programming languages like C, or C++ for handling computationally intensive projects.
The MATLAB package is available with many software add-ons to solve a multitude of
problems in various application areas. It is an interactive tool with options for 2-D or 3-
53

D visualization of input or output data. MATLAB can be integrated with various other
software applications to suit every computational need.
3.4.1 MATLAB Application to the k-Centra Problem
The advantage of using MATLAB to solve a location problem over traditional
manual methods is better accuracy as well as increased computational speed. The manual
method for evaluating k-centra problems is a very tedious one involving much iteration to
get a more accurate solution. The other advantage is you can manipulate or massage the
code to suit your computational needs. The code discussed later in this chapter has input
options which are user-defined like the number of existing locations, value of k, number
of iterations, search space boundaries, and search space increment. The code has been
programmed to output the coordinate solution in a graphical representation. You can add
a lot more features like inputting coordinate data directly from other applications, 3-D
visualization, report generation, decision support using neural networks, etc.
The same logic used for manually solving a k-centra problem is used to code the
MATLAB program.
3.4.2 Data Flow Logic and MATLAB Functions
The k-centra example problems involved were solved in MATLAB 6.0, in the
following manner. The user interface is a basic MATLAB program that prompts the user
to input various data point coordinates and other parameters. User input includes the
number of existing locations (N) and respective coordinates entered one by one (x and y
54

separately), maximum range of x and y, search space increment, k-term, and number of
iterations. The added advantage is that this can be modified easily as per the users
in a seamless fashion.
This program then calls the main program which stores the user inputted data,
saves and computes the various distances and k-centra parameters by calling the
respective functions. The overall flow diagram is as seen in Figure 14.
SOFTWARE FLOW DIAGRAM
User interf ace - Prompts the user f or data
File name: view.m
Main program that sorts and stores, computes
and calls the necessary f unctions f or each
process
File name : kot_wts.m
Scatter Plot
Outputs the values to the user
Function: f indpos.m is used to f ind the K
maximum distance X-Y coordinates f or
f uture computation of Weiszf elds
coordinates
Function: WFxy.m is used to compute the
Weiszf elds X and Y coordinates

Figure 14. Software Flow Diagram
55

3.4.3 Minimax Logic

The minimax function forms an important part of the logic flow for this program.
The minimax function is called upon after the View function and uses user input as its
starting variables. Data used for the function includes N number of existing locations
and corresponding coordinates. Consider the N data points to be Data1, Data2..Data
N. The user reference is initiated as Xref and Yref and is started at (0,0) and is
incremented on the basis of user input. The maximum range threshold is also set by the
user (Xmax and Ymax). The distance or range for each data point from this reference is
then computed using the distance formula as shown by Equation 21.
( ) ( )
2 2
y y x x DN
ref ref xy
+ = (21)
The distances are represented as D1
00,
D1
01...,
D1
20...,
D1
x0
DN
xy
. The tabular
representation is shown in Table 11.

56

Xref Yref Data1 Data2 ..
Data
..
DataN Max
0 0 D1
00
D2
00
.. DN
00
Dmax
00
0 1 D1
01
D2
01
.. DN
01
Dmax
01
0 2 D1
02
D2
02
.. DN
02
Dmax
02
.. .. .. .. .. ..
0 Ymax
= y
D1
0y
D2
0y
.. DN
0y
Dmax
0y
1 0 D1
10
D2
10
.. DN
10
Dmax
10
1 1 D1
11
D2
11
.. DN
11
Dmax
11
1 2 D1
12
D2
12
.. DN
12
Dmax
12
.. .. .. .. .. ..
2 0 D1
20
D2
20
.. DN
20
Dmax
20
2 1 D1
21
D2
21
.. DN
21
Dmax
21
.. .. .. .. .. ..
.. .. .. .. .. ..
Xmax = x Ymax
= y
D1
xy
D2
xy
.. DN
xy
Dmax
xy

Table 11. Minimax Data Representation
After each increment, and progressively stepping through the search grid, the
program computes the maximum of each of these distances and is represented in the
program as Dmax
00
.., Dmax
xy
shown in Table 12.
Dmax
00
Dmax
01
Dmax
0y

Dmax
10
Dmax
11
Dmax
1y

Dmax
20
Dmax
21
Dmax
2y

Dmax
x0
Dmax
x1
Dmax
xy

Table 12. Maximum Distance Matrix
The minimum values from each of the above values are calculated and forms an
intermediate step in the calculation. The matrix is shown in Table 13.
57

Min of Dmax
00
:
Dmax
x0

Min of Dmax
01
:
Dmax
x0

Min of Dmax
0y
:
Dmax
xy

Table 13. Intermediate Distance Matrix
The next step is to find the minimum of these intermediate minimums. This is the
minimax solution distance. We can trace the (Xref,Yref) coordinate where this occurs as
the maximum distances matrix directly represents the search grid of (Xref,Yref)
coordinates as shown in Table 14 below, and the user data points (D1, D2.. DN) will also
lie inside this grid.
0 0 0 1 0 2 0 y
1 0 1 1 1 2 1 y
2 0 2 1 2 2 2 y

x 0 x 1 x 2 x y

Table 14. Search Grid Coordinates
Thus the minimax solution, its coordinates and its distance from other existing
locations can be calculated. The flow chart for the minimax function is provided in
Figure 15. The function code is provided in the appendix section of this thesis.
58

LOCATION ANALYSIS USING K-CENTRA
Enter the no. of data points N
Enter the data point coordinates (X,Y)
Enter the maxium range f or location
search in X and Y (Xmax,Ymax)
Enter the space search increment
Enter the K centra K term
Enter the Weiszf elds Weight
Enter the number of iterations
Verif y and monitor the
data points f or errors
and report to user
Compute the MINIMAX SOLUTION
For Xref = 0 to Xmax in steps of incr
For all the data points (From 1 to N)
For Yref = 0 to Ymax in steps of incr
Compute the distance of each data point f rom the Xref and
Yref
Distance = Sqrt{(X-Xref )^2-(Y-Yref )^2}
Compute and save the maximum of the distances
computed f or each iteration and f ind the corresponding
X Y coordinates
Find the minimum of these maximums, and output the X and Y coordinate. This is
the Minimax Solution
Data Points Loop
Yref Loop
Xref Loop

Figure 15. Minimax Function Flowchart

59

3.4.4 Finding the k-Maximum x-y Coordinates
The next step in the flow is to find the coordinates associated with the k-
maximum distances from the minimax solution. The user inputs the data coordinates and
the value of k. The position for each of the coordinates from the minimax solution is
computed. Depending on the value of k, the x-y coordinates furthest from this minimax
solution is stored for future use. Say k is 5, the five furthest distances and their
coordinates are considered. The MATLAB process uses inbuilt functions like find (to
find the position of the data if its stored in an array), and max (to find the maximum
distance).
Since the data was stored in an array, we zeroed the selected values to avoid
repetitions while it uses these inbuilt functions.
3.4.5 Weiszfelds Function
In this case, the only difference is that the minimax solution is used as the
reference coordinates i.e., as the initialization parameters. In future iterations, the
Weiszfelds functions (WFxy.m) are computed iteratively, and processed for the number
of iterations prompted by the user. The Weiszfeld logic is coded similar to the method
used in the manual solutions. The method is discussed in detail in Section 3.1 of this
chapter. The steps are repeated for as many iterations as requested but the user.
In every iteration, we use the findpos.m function to compute the furthermost k
points from each iteratively computed WFxy. The flowchart is given in Figure 16.
60

Minimax solution X-Y coordinates
Compute the K maximum X-Y coordinates f rom this
minimax solution f or the given data set (f indpos.m)
Using the minimax solution as the inital parameters
f or Weiszf elds f unction, and using the selected K X-
Y coordinates compte the Weiszf elds X Y
coordinates (WFxy.m)
First Iteration
Find the K maximum distances f rom the f irst iterative
Weiszf elds X and Y coordinate
For the number of iterations specif ied by the user
(num_iter)
For i = 1 to the num_iter
Compte the Weiszf elds XY coordinates iteratively, and
save f or f uture use
SCATTER PLOT and other methods of outputting the computed parameters
If i =
num_iter
No
Yes

Figure 16. Weiszfeld Function Flowchart

61

Chapter 4
4. Results
This thesis developed a unique, analytical method to solve the planar k-centra
single facility location problem with Euclidean distances. Problems were solved
manually using Excel iterations. A MATLAB code was developed as a faster mode for
solving k-centra problems. After the method was verified, the next step was to find the
accuracy of the k-centra solutions obtained as compared to the optimal minisum solution
for the problems. The final step was to conduct further experimentation to find the
computational time for the k-centra and corresponding minisum problems.
4.1 Results for the Random Location Problem-Excel and MATLAB
The results obtained by using the k-centra methodology to solve the random
location problem using Excel are displayed in Table 15.

62

Minimax 6.5 5.75 Optimal
k-centra (k=2) 6.5 5.75 Optimal
k-centra (k=3) 2.94573 4.87253 Degenerate
k-centra (k=4) 6.38474 5.61015 Optimal
k-centra (k=5) 10.0325 7.00555 Degenerate
k-centra (k=6) 6.48704 5.29013 Optimal
k-centra (k=7) 4.94579 4.44125 Degenerate
k-centra (k=8) 6.58535 5.38736 Optimal
k-centra (k=9) 6.99721 5.75654 Degenerate
k-centra (k=10) 6.53427 5.52402 Optimal
k-centra (k=11) 6.90182 5.39711 Degenerate
k-centra (k=12) 6.73221 5.77254 Optimal
k-centra (k=13) 6.77582 5.48388 Degenerate
k-centra (k=14) 6.79665 5.55367 Optimal
k-centra (k=15) 6.74856 5.95321 Optimal

Table 15. Excel Solution-Random Location Problem
It is observed that for k = 2, 4, 6, 8, 10, 12, 14, 15, we get an optimal k-centra
solution. An optimal k-centra solution implies that the point obtained after the first
iteration still has the original k points as the k points lying farthest away. For all other k
values, the problem becomes degenerate and the algorithm falls in a loop. This means
that that the solution point obtained after all the iterations does not have the same k points
lying farthest away as it started with. The solution point jumps around between 2 or 3
possible solution points never obtaining optimality. This occurrence is better explained
when the MATLAB results are studied. The results obtained using the MATLAB
methodology is shown in Table 16.

63

k Value x y
2
6.4951 5.7459
3 10.9906 5.5276
3 2.0000 4.9834
4 6.2264 5.5206
5 10.1159 6.7560
5 3.023 4.1519
6 6.353 5.1108
7 5.4278 4.6738
7 7.4667 6.2096
8 6.805 5.8855
9 6.6943 4.7370
9 7.032 6.3561
10 6.4317 5.3727
11 6.9824 5.4588
11 6.6027 5.8715
12 7.0524 5.8734
13 6.8411 5.5280
13 6.629 5.8243
14 6.5318 5.5320
15 6.7462 5.9592

Table 16. MATLAB Solution-Random Location Problem
The example problems were solved for 10 iterations. When we have a
degenerate solution for some value of k, it comes out as a separate solution in MATLAB
compiler. Thus, there are two solutions for k = 3, k = 5, k = 7, k = 9, k = 11, and k = 13.
The user has all probable optimal and semi-optimal k-centra solutions in front of him to
assist him with the decision making. The graph shown in Figure 17 shows the solution
plot for k = 6. This scatter plot is automatically generated by the proposed MATLAB
code. The diamond indicates the location of the minimax solution while the asterisk
shows the k-centra solution. In this case, k = 6 gives a feasible k-centra solution at x =
64

6.35 and y = 5.1. Thus if the user has 15 existing customer locations and he needs to
locate a single service facility considering that the criteria involved is that he has to serve
atleast 6 customers lying farthest away, this method provides an alternative solution to
the solution obtained by using the minisum method.

Figure 17. k = 6, Random Location Problem
The solution plot for k = 5 is shown in Figure 18. This is an example of a
degenerate solution where the obtained location point jumps between 2 points,
(10.1,6.75) and (3,4.15). In this case, the objective function values (f
euc
values) are
calculated for the obtained solution points and the lowest f
euc
value obtained is considered
65

as the k-centra solution. This scenario can also be resolved by using a second constraint
(e.g. weights of the surrounding customer locations) to decide on the appropriate location
for the service facility.

Figure 18. k = 5, Random Location Problem
The results for all three solved examples are presented in a similar way with
different tables for the Excel as well as the MATLAB solution along with two graphical
illustrations showing a feasible and a degenerate solution. The solution tables and graphs
for the annular layout problem and the clustered layout problem are listed in Appendix B
and Appendix C respectively.
66

4.2 Optimality Comparison between k-Centra and Minisum Solutions
In order to check the accuracy of k-centra solution as compared to the optimal
minisum solution, five problems each with fifteen (n = 15) and thirty (n = 30) existing
locations were solved in MATLAB. The coordinates were randomly generated in
MATLAB. The problems were solved for 5 equally interspaced k-values for 20 iterations
each. The objective function value (f
euc
) was calculated at the end of all the iterations and
used as a comparison measure between the k-centra and minisum method. The objective
function values for the 15-point problems are listed in Table 17.
k Value f
euc
P1 f
euc
P2 f
euc
P3 f
euc
P4 f
euc
P5
3 164.20 159.09 133.08 146.97 122.06
6 133.58 124.93 110.86 130.13 108.28
9 118.85 107.87 102.57 110.41 96.03
12 117.40 106.38 100.88 108.25 94.77
Minisum 116.90 106.08 100.55 107.53 94.08

Table 17. Objective Function Values for k = 3, 6, 9, 12 and Minisum Problems
Table 17 shows the f
euc
values for 5 problems (P1, P2, P3, P4, and P5) when k =
3, 6, 9, and 12. When k = 15, the problem becomes a minisum problem which is the
optimal solution to the problem. The lesser the objective function value, the better the
solution. From the table, it is clear that the objective function value reduces as we move
from k = 3 to k = 15. This is due to the fact that more of the problem characteristics get
incorporated in the solution as the value of k is increased. Further observations can be
made with a plot for Table 17. The graphical representation is shown in Figure 19.
67

0
20
40
60
80
100
120
140
160
180
0 5 10 15 20
k Value
f
e
u
c

V
a
l
u
e
feucP1
feucP2
feucP3
feucP4
feucP5

Figure 19. Objective Function Plots for n = 15
Figure 19 shows the objective function plot for the 15-point solved problems.
From the plot, it can be observed that the f
euc
curves for all the considered problems have
a similar pattern. Also, the curve drops sharply from k = 3 to k = 9 after which it evens
out until we reach k = 15. This is consistent with all the five solved problems. The
percentage increase from optimal value as k drops from 15 to 3 for problems P1, P2, P3,
P4, and P5 is shown in Table 18.
k Value
% More
P1
% More
P2
% More
P3
% More
P4
% More
P5
3 40.45% 49.96% 32.35% 36.68% 29.74%
6 14.26% 17.77% 10.26% 21.02% 15.10%
9 1.66% 1.62% 2.01% 1.69% 2.19%
12 0.43% 0.28% 0.33% 0.68% 0.73%
Minisum 0.00% 0.00% 0.00% 0.00% 0.00%

Table 18. Percentage Increase from Optimal Value (n = 15)
68

It is observed that at k = 3, the objective function value is 40.45% more than the
optimal objective function value. The objective function value decreases as k moves
towards n. At k = 9, the increase from the optimal solution is very low (1%-2.2%) and it
becomes lower at k = 12 (less than 1%). The graphical plot for Table 18 is shown in
Figure 20.
0%
10%
20%
30%
40%
50%
60%
0 2 4 6 8 10 12 14 16
k Value
%

I
n
c
r
e
a
s
e

f
r
o
m

O
p
t
i
m
a
l

V
a
l
u
e
% More P1
% More P2
% More P3
% More P4
% More P5

Figure 20. Percentage Increase from Optimal Value (n = 15)
From Figure 20, it is evident that the objective function value increases as we
increase the k value. However, after a certain cutoff value for k, there is negligible
increase in the objective function value. To investigate this solution aspect, five 30-point
problems were solved for k = 6, 12, 18, 24 and 30. The k values for the 30-point
problems were chosen in the same 20% intervals as in the 15-point problems so as to
compare and analyze both the problem sets across similar solution trends and to verify
whether this trend would hold for other problems as well. The coordinates were
69

randomly generated and saved as a separate array in the MATLAB workspace. The
objective function (f
euc
) values for various values of k are listed in Table 19.
k Value f
euc
P1 f
euc
P2 f
euc
P3 f
euc
P4 f
euc
P5
6 308.63 292.10 323.46 256.32 299.49
12 257.40 227.04 248.72 218.62 258.63
18 222.70 210.88 235.89 203.03 234.95
24 220.84 208.99 233.91 201.12 233.44
Minisum 220.22 208.59 233.06 200.39 233.03

Table 19. Objective Function Values for k = 6, 12, 18, 24 and Minisum Problem
The optimal objective function value is obtained when all the 30 points are
evaluated for the minisum function. From Table 19, it can be observed that the objective
function values increase as k decreases from 30 to 6. This is the same trend which is
observed in Table 17 for the 15-point problems. The objective function plot for the 30-
point problems is shown in Figure 21.

70

0
50
100
150
200
250
300
350
6 12 18 24 30
k Value
f
e
u
c

V
a
l
u
e
feucP1
feucP2
feucP3
feucP4
feucP5

Figure 21. Objective Function Plots for n = 30
The objective function plots for the 30-point problems reflect the same slope as
the 15-point problems. It can be observed that the objective function value drops
significantly as k is changed from 6 to 18. At k = 18, the objective function curve flattens
out. The percentage increase from optimal value as k drops from 30 to 6 for problems
P1, P2, P3, P4, and P5 is shown in Table 20.
k Value
% More
P1
% More
P2
% More
P3
% More
P4
% More
P5
6 40.14% 40.04% 38.79% 27.91% 28.52%
12 16.88% 8.85% 6.72% 9.09% 10.98%
18 1.12% 1.10% 1.21% 1.32% 0.82%
24 0.28% 0.19% 0.37% 0.36% 0.17%
Minisum 0.00% 0.00% 0.00% 0.00% 0.00%

Table 20. Percentage Increase from Optimal Value (n = 30)
71

At k = 6, there is a significant increase from the optimal solution value when
compared to the increase at k = 18. The plot for Table 20 is shown in Figure 22.
0%
5%
10%
15%
20%
25%
30%
35%
40%
45%
0 5 10 15 20 25 30 35
k Value
%

I
n
c
r
e
a
s
e

f
r
o
m

O
p
t
i
m
a
l

V
a
l
u
e
% More P1
% More P2
% More P3
% More P4
% More P5

Figure 22. Percentage Increase from Optimal Value (n = 30)
From Figure 22, it can be observed that for all 5 problems, at k = 6 we have a high
objective function value. This objective function value decreases as the k value increases
towards n. At k = 18, the increase from optimal value is just about 1%. This is the same
trend observed in all the problems irrespective of the value of n. By consolidating all the
data obtained from solving the 15-point and 30-point problems, it is easy to visualize the
solution trends. Table 21 shows the average percentage increase from optimality at 20%
intervals of n for the 15-point and 30-point problems.

72

%n 15-point 30-point
20% 37.84% 35.08%
40% 15.68% 10.51%
60% 1.83% 1.12%
80% 0.49% 0.27%
100% 0.00% 0.00%

Table 21. Average Increase from Optimal Value at 20% Intervals of n
From Table 21, it can be observed that at various percentages of n, the increase
from the optimal solution value is very similar for both the 15-point and the 30-point
problems. The graphical representation is shown in Figure 23.
0%
5%
10%
15%
20%
25%
30%
35%
40%
0% 50% 100% 150%
Percentage of n
%

I
n
c
r
e
a
s
e

f
r
o
m

O
p
t
i
m
a
l

V
a
l
u
e
15 point
30 point

Figure 23. Average Increase from Optimal Solution Value at Various Levels of n
The plots for the 15-point and 30-point problems follow a similar trend. The
important points to note here are the significant down-slope at low percentages of n and
the flattening of the curve at about 60% of the value of n. Considering all the information
73

provided in this section, it can be interpreted that by taking a k-value at a certain
percentage of n, a good solution (negligible increase from optimal value) is obtained.
This problem characteristic required further investigation so as to find out the range of k
as a percentage of n where the increase from optimal solution value is negligible. Due to
the similarity of the solution trends, it can be inferred that the range of k (as a percentage
of n) to obtain a good k-centra solution would hold good for any problem. The range
obtained would provide a user with a viable idea to predict the smallest value of k so as to
obtain a nearly optimal solution for any k-centra problem.
4.3 Determining the Value of k to Obtain 1% Increase from Optimality
From Section 4.2, it can be observed that the objective function value of the
solution decreases from k = 1 to k = n. To obtain a benchmark value of k (at a certain
percentage of n) where 101% of optimal (i.e. 1% increase over optimal objective function
value) is obtained, problems were solved for n = 15, 30, 60, 120, 500, 1000, and 2000.
Once the cutoff percent is obtained for a particular value of n, four more problems were
solved for the same value of n to verify the obtained benchmark value of k for the
corresponding value of n. This was repeated for n = 15, 30, 60, 120, 500, 1000, and
2000. The results obtained after the experimentation are displayed in Table 22.

74

n
Value
Value of k (Percentage of n) to Obtain 101%
of Optimality
Average
101% Solution
at k =
15 60.00% 60.00% 66.67% 60.00% 60.00% 61.33% 9
30 53.33% 50.00% 53.33% 53.33% 50.00% 52.00% 16
60 48.00% 48.00% 50.00% 48.00% 48.00% 48.40% 29
120 45.00% 45.00% 45.83% 45.83% 45.83% 45.50% 55
500 44.00% 44.20% 44.40% 44.80% 44.96% 44.47% 222
1000 44.00% 43.33% 43.70% 44.10% 44.60% 43.95% 439
2000 43.55% 43.30% 43.10% 43.55% 43.80% 43.46% 869

Table 22. Value of k Required to Obtain 101% of Optimal Solution Value
For n = 15, 1% above optimality is obtained on an average at 61.33% value of n
which in this case is at k = 9. For n = 2000, 101% of optimality is obtained at 43.46% of
n which comes up as k = 869. The important point to observe in Table 22 is the trend at
which the cutoff point varies as n increases from 15 to 2000. It can be noted that the
cutoff point average drops sharply from 61% at n = 15 to 48.4% at n = 60. From n = 120
to n = 2000, the average cutoff point for 101% of optimality drops from 45.5% to
43.46%. This means that the cutoff point for 101% of optimal changes with the problem
size. However, this change is not linear. There is significant variance in the cutoff point
percentage at lower values of n. At higher values of n, this variance reduces considerably
and the value of k to obtain a nearly optimal solution can be predicted within the cutoff
range. So, depending on the problem size and within certain accuracy, a user can decide
on a particular value of k to obtain a good solution by studying this particular problem
characteristic. The plot for this experiment is given in Figure 24.
75

0%
10%
20%
30%
40%
50%
60%
70%
0 500 1000 1500 2000 2500
n Value
A
v
e
r
a
g
e

P
e
r
c
e
n
t
a
g
e

o
f

n

t
o

O
b
t
a
i
n

1
0
1
%

o
f

O
p
t
i
m
a
l
i
t
y

Figure 24. Value of k (% of n) to Obtain 101% of Optimal Solution Value
From Figure 24, it can be observed that the 101% cutoff curve drops sharply at a
lower value of n and it straightens out as n increases. If the curve is extrapolated, it can
be inferred that the cutoff k percentage for 101% of optimality would lay between 40%-
45% of n for any n values greater than 120. Thus, for higher values of n, a user can solve
the k-centra problem for 40%-45% of all the existing locations and obtain a nearly
optimal solution.
4. 4 Determining the Computational Time for k-Centra Problems
From Sections 4.2 and 4.3, it can be concluded that a good solution which is
nearly optimal is obtained even if just 50% of all the existing locations is used to solve
the problem. The next aspect to evaluate is the amount of time saved by solving the k-
centra problem for a certain percent of all the existing locations. Experimentation was
conducted considering only 50% of the points as the value of k. The time taken to solve
76

the k-centra and the minisum objective functions for a particular value of n were found.
The objective function (f
euc
) values were also found to verify the accuracy of the
solutions obtained. Problems were solved for n = 2000, 1000, 5000, 250, and 100. The
results obtained are shown in Table 23.
n Value Function
Computational
Time
f
euc
Value
Minisum 922.51 15194.06
n = 2000
k = 1000 898.51 15241.19
Minisum 470.54 7709.9
n = 1000
k = 500 460.5 7737.29
Minisum 231.34 3839.85
n = 500
k = 250 227.06 3855.77
Minisum 116.58 1901.43
n = 250
k = 125 115.02 1912.66
Minisum 46.53 717.74
n = 100
k = 50 46.1 723.18

Table 23. Computational Time for Minisum and k-Centra Functions
The results displayed in Table 23 are compiled and interpreted in Table 24.
n Value % Time Reduction at 50% n
% above Optimal Solution at
50% n
2000 2.60% (k = 1000) 0.31% (k = 1000)
1000 2.13% (k = 500) 0.36% (k = 500)
500 1.85% (k = 250) 0.41% (k = 250)
250 1.33% (k = 125) 0.59% (k = 125)
100 0.91% (k = 50) 0.76% (k = 50)

Table 24. Computation Time Reduction and Optimality Loss at 50% of n
77

A 2000-point minisum problem takes 2.60% more computation time than a k-
centra problem for the same 2000 points with k = 1000. The increase in the objective
function value for k = 1000 compared to the minisum objective function however is
negligible (0.31%). The same trend is observed in the 100-point problem. A 100-point
minisum problem takes 0.91% more computation time than the k-centra problem
considering k = 50. However, in this case the objective function value obtained for the k-
centra solution is 0.76% more than the optimal minisum solution. Thus, it can be inferred
that evaluating the k-centra problem taking k as 50% of the existing points provides very
good, nearly optimal solutions taking less computational time than the traditional
minisum method. The percent computation time reduction versus n value plot is shown
in Figure 25.
0.0%
0.5%
1.0%
1.5%
2.0%
2.5%
3.0%
0 500 1000 1500 2000 2500
Number of Existing Locations (n )
%

L
e
s
s

C
o
m
p
u
t
a
t
i
o
n

T
i
m
e

a
t

5
0
%

o
f

n

Figure 25. Percentage Reduction in Computation Time at 50% of n
78

It can be inferred that for a corresponding minisum problem, a k-centra problem
with k taken as 50% of the number of existing points (n) takes a little less computational
time. From the plot trend in Figure 25, it can be also inferred that as the n value increases
the computational time would reduce correspondingly. It can also be observed that with
k taken as 50% of n, the percentage of computational time reduction at lower values of n
is less than the time reduction percentage at higher values of n.

79

Chapter 5
5. Conclusions and Future Research
This objective of this thesis was to find a unique method to solve the planar
single-facility k-centra problem with Euclidean distances. The method developed uses
the iterative nature of Weiszfelds method to selectively solve the minisum objective
function for a set of predefined k-farthest away points. Three examples influenced by
existing real-life location problems were solved manually in Excel and the results
obtained were verified using a MATLAB code written for evaluating such problems.
Further experimentation was conducted to check the accuracy and the speed of the k-
centra solution as compared to the minisum solution.
5.1 Accuracy of the k-Centra Solution
In this thesis a k-centra method is proposed as an alternative approach to the
minisum method. So, it was necessary to verify the accuracy of the solutions obtained
with the k-centra approach. Five 15-point and 30-point problems were solved each for
various values of k and were compared to the optimal minisum solution. It can be
concluded that for an n-point problem, the objective function value decreases as k is
increased from 1 to n. However, this is not a linear decrease. For a particular n-point
problem, the percent increase from optimality drops steadily until k reaches a certain
threshold percentage of n after which the drop is very gradual until the solution reaches
complete optimality at k = n. There is a significant increase from optimality at lower
80

values of k. Thus, the proposed k-centra approach provides the user with a good nearly
optimal solution, provided the k value is selected appropriately.
5.2 Selecting the Right k Value
It is absolutely necessary to select a good k value so that solution optimality is not
completely sacrificed. A few problems were evaluated for 1% increase in optimality
considering various values of n to obtain a general idea on selecting the right value of k.
From the results obtained, it can be concluded that for smaller problems (n<30), selecting
a k value between 50% - 60% of n yields a good solution. For bigger problems (n>30), a
nearly optimal solution is obtained by selecting k between 40% - 50% of n. From the
experimentation, it was also evident that the cutoff value of k (as a percent of n) to obtain
101% of optimality reduces from smaller to larger problems. However, after reaching a
certain value of n, 101% of optimality is consistently obtained in the same range (40% -
50% of n).
5.3 Computation Time for a k-Centra Problem
The aim of this thesis was to find a good alternative methodology to the
minisum method. A good alternative method should provide good results preferably
using less computational time. The proposed k-centra method provides the user with an
nearly optimal solution. However, it can be concluded that even though there is some
reduction in the total computational time for the proposed k-centra method as compared
to the minisum method, the time saved is negligible. Thus, the proposed k-centra
81

methodology is not significantly faster than the traditional minisum method. This
translates into a tradeoff between achieving complete optimality and computational time.
The negligible reduction in computation time by using this method does not justify the
deviation from optimality.
5.4 Future Research
The proposed k-centra method discussed in this thesis has its drawbacks in
terms of the probability of achieving a single optimal solution. Degeneracy is also an
inherent problem with this particular method. These issues are easily handled by adding
a few more parameters and constraints to the objective function. A few examples include
addition of weights depending on demand, or frequency, terrain conditions, traffic issues
and delivery cost considerations can easily negate sub-optimality and provide a single
feasible solution.
Certain changes can be made to the proposed methodology so as to ensure that the
computational time is reduced significantly as compared to a minisum method. Changes
can include a different method to solve the Weiszfelds loop, different selection criteria
for k after every iteration, different software used to evaluate the problem, etc.
This thesis considers a single facility location problem. This method can be
extended to more than a single facility problem depending on the size and nature of the
problem. The other aspect is the consideration of rectilinear distance metric. This
method can be modified to consider rectilinear distances by changing the considered
82

objective function. A good example for an application for the k-centra problem with
rectilinear distances is in warehousing and the design of aisles. This thesis considers a set
of location points on a plane; an interesting formulation would be to consider the points
on a network with 3-D spaces. In this thesis, the aim is to locate a single-point facility.
This thesis can also be extended to locate 2-D area spaces within a set of existing areas.
The anti k-centra problem is to locate one or more points so as to maximize the
distance to the k-closest points out of the set of existing locations. Future research in this
aspect is to solve weighted or unweighted instances of the anti k-centra problem.
Finally, the MATLAB program coded in this thesis can be easily modified to
consider all the above discussed variations. Some other possible additions to the program
includes solving the k-centra problem for a set of randomly generated existing location
coordinates, the addition of demand or cost weights, cross referencing of data from
external sources like Excel or Access, various different graphical representations, etc.

83

Bibliography
[1] Fermat, P. De. (1643) Methodus de maximis et minimis. In Fermat-Oeuvres
I.,Tannery, H. (Ed), Paris, 1896, supplement, Paris, 1922.
[2] Cavalieri, T. M. (1647) Exercitatio sexta. In CAVALIERI, Exercitationes
geometricae., Bologna, 1647.
[3] Weber, A. (1909) Ueber den Standort der Industrien. Erster Teil. Reine Theorie
der Standorte. Mit einem mathematischen Anhang von G.PICK. (in German).
Verlag, J. C. B. Mohr, Tbingen, Germany.
[4] Weiszfeld, E. (1937) Sur le point pour lequel la somme des distances de n points
donnes est minimum. Tohoku Mathematical Journal, 43, 355-386.
[5] Hakimi, S. L. (1964) Optimum locations of switching centres and the absolute
centres and medians of a graph. Operations Research, 12, 450-459.
[6] Francis, R. L., McGinnis, L. F., and White, J. A. (1983) Locational analysis.
European Journal of Operational Research, 12, 220-252.
[7] Daskin, M. S. and Owen, S. H. (1998) Two new location covering problems: The
partial covering p-center problem and the partial set covering problem.
Geographical Analysis, ww, yy-zz.
[8] Hotelling, H. (1929) Stability in competition. Economic Journal, 39, 41-57.
[9] Drezner, Z. (1993) Recent results in competitive facility location. Studies in
Locational Analysis, 4, 97-103.
84

[10] Huff, D. L. (1966) A programmed solution for approximating an optimum retail
location. Land Economics, 42, 293-303.
[11] Francis, R. L. (1963) A note on the optimum location of new machines in existing
plant layouts. The Journal of Industrial Engineering, 14, 57-59.
[12] Francis, R. L. (1964) On the location of multiple new facilities with respect to
existing facilities. The Journal of Industrial Engineering, 15, 106-107.
[13] Rosen, J. B. and Xue, G. L. (1993) On the convergence of a hyperboloid
approximation procedure for the perturbed Euclidean multifacility location
problem. Operations Research, 41, 1164-1171.
[14] Drezner, Z. (1985) Sensitivity analysis of the optimal location of a facility. Naval
Research Logistics Quarterly, 32, 209-224.
[15] Cooper, L. (1963) Location-allocation problems. Operations Research, 11, 331-
343.
[16] Friedrich, F. (1929) Alfred Weber's theory of the location of industries. Chicago
University Press, Chicago, Illinois.
[17] Halpern, J. (1976) The location of a cent-dian convex combination on an
undirected tree. Journal of Regional Science, 16, 237-245.
[18] Hansen, P., Labbe, M. and Thisse, J. F. (1991) An Overview of Representative
Problems in Location Research. RAIRO Recherche Operationelle, 25, 73-86.
[19] Slater, P. J. (1978) Structure of the k-centra in a tree. Proceedings of the 9th
Southeast Conference on Combinatorics, Graph Theory and Computing, 663-670.
85

[20] Peeters, P. H. (1998) Some New Algorithms for Location Problems on Networks.
European Journal of Operational Research, 104, 299-309.
[21] Tamir, A. (2001) The K-centrum Multi-Facility Location Problem. Discrete
Applied Mathematics, 109, 293-307.
[22] Ogryczak, W. and Zawadzki, M. (2002) Conditional Median: A Parametric
Solution Concept for Location Problems. Annals of Operations Research, 110,
167-181.
86

Appendix A MATLAB Code

clear all;
close all;
clc;

fprintf('*****************************************************************
**********************\n');
fprintf(' Location Analysis using Mini-Max and Weiszfelds Function \n');
fprintf(' Siddharth Kotian \n');
fprintf('*****************************************************************
**********************\n');

no = input('Number of data points ');
%weights = input('If weights are used alongside distance enter 1 else enter 0');

for i = 1:1:no
fprintf('Data Point %d \n',i);
data(i,1) = input('X ');
data(i,2) = input('Y ');
% if (weights == 1)
% data_wt(i) = input('Data Point Weightage ');
% end
fprintf(' \n');
end

xmax = input('Max Range of X ');
ymax = input('Max Range of Y ');
incr = input('Search Space Increment ');
K = input('K Centra K term ');
Wt = input('Weizfelds Weight ');
num_iter = input('Number of iterations ');

kot_wts

% % DATA INPUT IF IN DEBUG MODE - JUST TESTING
% clear all;
% close all;
% clc;
%
% % Input the Data numbers
87

% % data = [2,2; 2,4; 5,2; 3.5,4; 7,4; 9.5,4.5; 10.5,2; 11.5,5.5; 9.5,8; 7,6.5;
% % 5,6.5; 2,9; 5.5, 8.5; 8.5, 9; 11,9.5 ];
%
% %data = [2,10; 3,6; 7,4; 11,4; 15,11; 13,16; 8,18; 4,15; 7,10; 8,9; 10.5,11.5; 9,10.5;
10,12; 8,12; 8,11.5];
%
% data = [2,1; 3,4; 1,1; 1,4; 2,3; 9,9; 10,9; 8,10; 8,8; 10,11; 8,1; 8,3; 9,2; 10,3; 9,4];
%
% xmax = 12;
% ymax = 12;
% incr = 0.1;
% K = 3;
% Wt = 1;
% num_iter = 10;
% TO BE COMMENTED OFF IF YOU ARE RUNNING view.m
%--------------------------------------------------------------------------------------------
x = 1; % count variable
y = 1; % count variable

for xref = 0:incr:xmax; % From 0 to max range of X inputted by user
for yref = 0:incr:ymax; % From 0 to max range of Y inputted by user
for i = 1:1:length(data); % From 1 to the actual length of the data file
dist(i) = sqrt((data(i,1)-xref)^2+(data(i,2)-yref)^2); % Compute iteratively the
distance of each of the
% data point from 0 to each of the maximum ranges for
X and Y
end
maxdist(x,y) = max(dist); % The maximum obtained from this distance eq for the
given data set
y = y + 1; % keeping track of the count, so that the max dist is saved correctly
end
if ( y > ymax+1)% Incrementing the count so that if the y loop is reached, reset the
counters:
x = x+1; % increment the counter for x
y = 1; % reset the counter for y
end
end
xcols = [0:incr:xmax];% reperesent the x and y coordinates, for easy reference
ycols = [0:incr:ymax];

intmin = min(maxdist); % intermedieate minimum as matlab searches columns!
minimax = min(intmin); % The minimax solution

% Finding the position of this minimax
88

[row,col] = find(maxdist == minimax);

% Correcting for the 0 offset
bestX = xcols(row);
bestY = ycols(col);

for i = 1:1:length(data);
bestdist(i) = sqrt((data(i,1)-bestX)^2+(data(i,2)-bestY)^2); %Distance equation
end

%-------------------------------------------------------------------------------------

[maxd,xx,yy,bdist,cnt] = findpos(bestdist,K,data); % Calling function findpos to find the
max K distance XY coordinates
%Ouptut from the function Input to the function

% only for software debugging
% Use bdist for easy verify crosscheck! The top K values should be Zeroed
% Cross check cnt should be 1 more than K

kpts = [xx' yy']; % Data set for further use

% Weiszfelds function for computing the X and Y coordinates
[WFx,WFy] = WFxy(kpts,bestX,bestY,K,Wt); % First iteration for WF ( function
%WFxy)
%Computing the first WF X and Y terms non-iteratively, by using just the minimax
solution
%bestX = X coordinate of minimax soln; bestY = Y coordinate of minimax soln.
%kpts= the maximum K points coordinates from the minimax solution
%Wt is usually 1
%------------------------------------------------------------------------------------------
%Iterative computation of further WF X Y terms
for z = 1:1:num_iter % Iterating until the user wants
clear i % variable is cleared to use again
for i = 1:1:length(data)
newdist(i) = sqrt((data(i,1)-WFx)^2+(data(i,2)-WFy)^2); % Distance equation using
the first
%WFx and WFy points computed previously from the single iteration function
above
end

[maxd_new,xx_new,yy_new,bdist_new,cnt_new] = findpos(newdist,K,data); %Calling
function findpos
%to find the top K distance XY coordinates
89

kpts_new = [xx_new' yy_new'];% Data set for further use

[WFx,WFy] = WFxy(kpts_new,WFx,WFy,K,Wt); % iteration for WF ( function
WFxy), uses the previous
% values of WFx and WFy to compute new solution
WFXY(z,:) = [WFx WFy]; % OUTPUT DATA SET WF -saved

clear newdist; % clear variable for reuse
end

WFXY % output data
%--------------------------------------------------------------------------
%Scatter plots for data points, the minimax solution and k-centra solution
scatter(data(:,1),data(:,2))
hold on
grid
xlabel('X coordinate')
ylabel('Y coordinate')
axis([0 12 0 12]) % SET THE AXIS as you want it in the plot
title('Scatter plot - k-centra Analysis K = 12')
hold on
scatter(bestX,bestY,48,'rd') % minimax
hold on
scatter(WFXY(:,1),WFXY(:,2),48,'k*') % WF plots
hold on

% Function to compute the maximum K distance points from
% the minimax solution.
function [maxd,xx,yy,bdist,cnt] = findpos(bdist,k,data);
cnt = 1; % internal counter
while (k~=0) % Until all the points inputted by the user are covered

maxdist(cnt) = max(bdist); % finds maximum of the distances
pos = find(bdist == maxdist(cnt)); % finds its position

if (length(pos) > 1)
for n = 1:1:length(pos)% Incase its multidimensional keep track of the points
xx(cnt) = data(pos(n),1); % array manipulation
yy(cnt) = data(pos(n),2);
% maxd(cnt) = maxdist(cnt);
bdist(pos(n)) = 0; % zeroing it out for next data max search, to prevent
repetition
cnt = cnt + 1; %increment count
90

if (cnt == k+1) %keep track of count
k = 0;
end
end
clear pos
else
xx(cnt) = data(pos,1);
yy(cnt) = data(pos,2);
%maxd(cnt) = maxdist(cnt);
bdist(pos) = 0;
cnt = cnt + 1;
if (cnt == k+1)
k = 0;
end
clear pos

end
maxd = 0;
end

% Function for Weiszfelds algorithm to compute the minisum values

function [WFx,WFy] = WFxy(kpts,bestX,bestY,K,Wt);

for g = 1:1:K
gamma(g) = Wt/sqrt((kpts(g,1)-bestX)^2 + (kpts(g,2)-bestY)^2);% First step to WF
end

tau = sum(gamma); % Second step to WF

for l = 1:1:K
lamda(l) = gamma(l)/tau; % Third Step to WF
lam_X(l) = lamda(l)*kpts(l,1); % lamda*X1 .. lamda*X2 .. ... lamda*X5
lam_Y(l) = lamda(l)*kpts(l,2); % lamda*Y1 .. lamda*Y2 ...
end

WFx = sum(lam_X);
WFy = sum(lam_Y);
91

Appendix B Results for the Annular Location Problem
The tabular results for the annular location problem solved in Excel and MATLAB are
shown in Tables 25 and 26 respectively.
Minimax 8.45 10.8 Optimal
k-centra (k=2) 6.5 5.75 Degenerate
k-centra (k=3) 7.33482 9.35265 Degenerate
k-centra (k=4) 7.24849 7.97259 Degenerate
k-centra (k=5) 8.43329 9.62622 Degenerate
k-centra (k=6) 9.6051 9.87137 Degenerate
k-centra (k=7) 8.44544 9.89098 Degenerate
k-centra (k=8) 7.8258 10.6031 Optimal
k-centra (k=9) 8.58127 10.8565 Optimal
k-centra (k=10) 8.91881 11.1285 Degenerate
k-centra (k=11) 8.73425 10.701 Degenerate
k-centra (k=12) 8.41566 10.5722 Optimal
k-centra (k=13) 8.33592 10.8461 Optimal
k-centra (k=14) 8.2086 11.2759 Optimal
k-centra (k=15) 8.4432 11.3161 Optimal

Table 25. Excel Solution-Annular Location Problem

92

k Value x y
2 10.4754
17.0098
2 4.9882 5.0059
3 11.9842 14.9606
3 3.964 6.7660
4 5.568 6.2071
4 9.6731 14.8717
5 7.7326 13.4445
5 7.405 7.4007
6 7.1789 12.1363
6 9.4104 10.4866
6 5.9384 9.3724
7 7.773 11.1424
7 8.1799 9.9744
8 7.2562 10.2746
9 8.5562 10.8189
10 7.7917 10.1816
10 8.9422 11.1337
11 8.7619 10.7173
11 8.2714 10.3365
12 8.3545 10.4694
13 8.2557 10.8414
14 8.2534 11.022
15 8.3762 10.9827

Table 26. MATLAB Solution-Annular Location Problem
The solution illustrations for the annular layout problem are as shown in Figures
19 and 20, optimal and degenerate solutions respectively.
93

Figure 26. k=12, Annular Location Problem-Feasible

94

Figure 27. k=3, Annular Location Problem-Degenerate
95

Appendix C - Results for the Clustered Location Problem

The tabular results for the clustered location problem solved in Excel and
MATLAB are shown in Tables 27 and 28 respectively.
Minimax 5.4900 6.0000 Optimal
k-centra (k=2) 5.4955 5.9950 Optimal
k-centra (k=3) 4.252853 4.21928 Degenerate
k-centra (k=4) 5.299275 3.32027 Degenerate
k-centra (k=5) 6.351602 4.59176 Degenerate
k-centra (k=6) 7.018953 4.3006 Degenerate
k-centra (k=7) 9.4010 7.1000 Degenerate
k-centra (k=8) 5.1135 5.8244 Degenerate
k-centra (k=9) 6.0876 3.8864 Degenerate
k-centra (k=10) 6.2231 5.0577 Optimal
k-centra (k=11) 6.7038 5.0001 Degenerate
k-centra (k=12) 6.3718 6.6343 Degenerate
k-centra (k=13) 6.4110 4.9985 Optimal
k-centra (k=14) 6.9987 4.8355 Optimal
k-centra (k=15) 7.3000 4.3569 Optimal

Table 27. Excel Solution-Clustered Location Problem

96

k
Value
x y
2 5.5000
6.0000
3 9.2767 9.9635
3 1.3249 9.7063
4 9.2016 6.7660
4 1.5086 2.3469
5 8.9143 9.2882
5 3.03 2.0338
6 5.3124 5.9687
6 6.9422 4.2437
7 4.4168 2.2909
7 9.1251 7.0399
8 6.5245 4.0596
8 5.0971 5.7257
8 7.2607 4.6370
9 6.0756 3.8138
9 5.2219 5.7791
10 6.2459 5.0479
11 6.0183 4.9081
11 6.6943 4.8387
12 6.3702 4.6113
12 6.7248 4.8884
13 6.3963 4.9695
14 7.0041 4.8477
15 7.2818 4.3501

Table 28. MATLAB Solution-Clustered Location Problem
The solution illustrations for the clustered layout problem are as shown in Figures
29 and 30, optimal and degenerate solutions respectively.
97

Figure 28. k = 10, Clustered Location Problem-Optimal

98

Figure 29. k = 6, Clustered Location Problem-Degenerate

99

Appendix D MATLAB Solution for Solved Example 1

K = 1
WFXY =

2.0000 2.0000
11.0000 9.5000
2.0000 2.0000
11.0000 9.5000
2.0000 2.0000
11.0000 9.5000
2.0000 2.0000
11.0000 9.5000
2.0000 2.0000
11.0000 9.5000

K=2
WFXY =

6.4951 5.7459
6.4951 5.7459
6.4951 5.7459
6.4951 5.7459
6.4951 5.7459
6.4951 5.7459
6.4951 5.7459
6.4951 5.7459
6.4951 5.7459
6.4951 5.7459

K=3
WFXY =

11.0160 5.7979
2.0000 5.0084
10.9908 5.5301
2.0000 4.9837
10.9906 5.5276
2.0000 4.9834
10.9906 5.5276
2.0000 4.9834
10.9906 5.5276
100

2.0000 4.9834

K=4
WFXY =

6.3922 5.5103
6.3243 5.5141
6.2839 5.5166
6.2600 5.5182
6.2457 5.5192
6.2372 5.5198
6.2322 5.5202
6.2292 5.5204
6.2275 5.5205
6.2264 5.5206

K=5
WFXY =

8.6666 6.8312
3.0169 4.1907
10.1147 6.7609
3.0228 4.1524
10.1159 6.7561
3.0230 4.1519
10.1159 6.7560
3.0230 4.1519
10.1159 6.7560
3.0230 4.1519

K=6
WFXY =

6.5509 5.1548
6.4968 5.1315
6.4560 5.1228
6.4256 5.1186
6.4031 5.1161
6.3864 5.1143
6.3740 5.1130
6.3648 5.1121
6.3581 5.1113
6.3530 5.1108

101

K=7
WFXY =

6.5187 4.7900
6.7844 5.6701
6.3836 4.6893
7.9440 6.2926
5.6453 4.7511
7.5857 6.2581
5.4741 4.6959
7.4929 6.2221
5.4278 4.6738
7.4667 6.2096

K=8
WFXY =

7.3303 6.1964
6.2883 4.7783
7.0361 5.9762
6.0863 4.6847
6.8959 5.9187
5.9951 4.6543
6.8330 5.8956
5.9547 4.6416
6.8050 5.8855
5.9368 4.6361

K=9
WFXY =

6.4296 5.2524
6.8593 5.5260
6.2871 5.1532
6.8402 6.4686
6.5845 4.7509
6.9738 6.3542
6.6667 4.7339
7.0170 6.3535
6.6943 4.7370
7.0320 6.3561

K=10
WFXY =
102

6.5259 5.4317
6.4763 5.4012
6.4398 5.3776
6.6950 5.9922
6.7060 5.6693
6.6374 5.5388
6.5669 5.4698
6.5094 5.4259
6.4651 5.3951
6.4317 5.3727

K=11
WFXY =

6.8930 5.4252
6.5496 5.8428
6.9475 5.4400
6.5810 5.8578
6.9690 5.4510
6.5943 5.8660
6.9783 5.4564
6.6001 5.8698
6.9824 5.4588
6.6027 5.8715

K=12
WFXY =

6.9075 5.7746
6.9638 5.8200
6.9991 5.8440
7.0208 5.8570
7.0340 5.8643
7.0420 5.8684
7.0468 5.8708
7.0496 5.8721
7.0514 5.8729
7.0524 5.8734

K=13
WFXY =

6.8002 5.5159
6.6042 5.8185
103

6.8292 5.5238
6.6218 5.8224
6.8378 5.5267
6.6270 5.8237
6.8403 5.5277
6.6285 5.8242
6.8411 5.5280
6.6290 5.8243

K=14
WFXY =

6.5770 5.5202
6.5554 5.5250
6.5441 5.5279
6.5382 5.5297
6.5351 5.5307
6.5334 5.5313
6.5326 5.5316
6.5321 5.5318
6.5319 5.5319
6.5318 5.5320

K=15
WFXY =

6.7004 5.8143
6.7121 5.8749
6.7227 5.9092
6.7309 5.9292
6.7366 5.9413
6.7404 5.9487
6.7429 5.9533
6.7445 5.9562
6.7456 5.9581
6.7462 5.9592
104

Appendix E MATLAB Solution for Solved Example 2

K=1
WFXY =

8 18
11 4
8 18
11 4
8 18
11 4
8 18
11 4
8 18
11 4

K=2
WFXY =

10.5491 16.9804
4.9902 5.0049
10.4755 17.0098
4.9882 5.0059
10.4754 17.0098
4.9882 5.0059
10.4754 17.0098
4.9882 5.0059
10.4754 17.0098
4.9882 5.0059

K=3
WFXY =

12.0991 14.8620
3.9715 6.7569
11.9852 14.9596
3.9641 6.7659
11.9842 14.9606
3.9640 6.7660
11.9842 14.9606
3.9640 6.7660
11.9842 14.9606
3.9640 6.7660
105

K=4
WFXY =

7.2997 8.1544
9.8389 14.8248
5.5924 6.1901
9.6793 14.8696
5.5689 6.2064
9.6733 14.8716
5.5680 6.2071
9.6731 14.8717
5.5680 6.2071
9.6731 14.8717

K=5
WFXY =

8.4862 12.8459
7.7298 7.3847
7.8868 13.4741
7.4761 7.4056
7.7651 13.4516
7.4200 7.4017
7.7385 13.4458
7.4077 7.4009
7.7326 13.4445
7.4050 7.4007

K=6
WFXY =

6.2592 11.2517
9.0170 9.7822
6.1006 11.1023
8.9428 9.6676
7.5993 12.4198
8.3668 8.9836
7.1789 12.1363
9.4104 10.4866
5.9384 9.3724
9.0218 10.6927

K=7
WFXY =
106

7.8968 11.1109
8.2328 9.9754
7.8003 11.1448
8.1929 9.9794
7.7796 11.1449
8.1833 9.9766
7.7744 11.1432
8.1807 9.9750
7.7730 11.1424
8.1799 9.9744

K=8
WFXY =

7.5190 10.4700
7.3838 10.3890
7.3187 10.3404
7.2871 10.3119
7.2715 10.2953
7.2637 10.2858
7.2598 10.2804
7.2578 10.2773
7.2568 10.2756
7.2562 10.2746

K=9
WFXY =

8.6469 10.8889
7.9452 10.1615
8.2297 10.5252
8.4248 10.7168
8.5569 10.8196
8.6458 10.8769
7.9445 10.1550
8.2285 10.5222
8.4238 10.7154
8.5562 10.8189

K=10
WFXY =

7.8071 10.2382
8.5126 10.8203
107

8.9543 11.1453
7.8289 10.2537
8.5255 10.8296
8.4768 10.4240
8.8679 10.9890
7.7917 10.1816
8.4970 10.7950
8.9422 11.1337

K=11
WFXY =

8.6338 10.9061
8.2372 10.3865
8.5699 11.1890
8.2489 10.4851
8.5796 11.2294
8.2601 10.5024
8.5853 10.5012
8.5068 10.8065
8.7619 10.7173
8.2714 10.3365

K = 12
WFXY =

8.3238 10.4489
8.4855 10.7709
8.4276 10.5683
8.3464 10.4622
8.4951 10.7822
8.4357 10.5758
8.3525 10.4676
8.4980 10.7863
8.4383 10.5784
8.3545 10.4694

K=13
WFXY =

8.2804 10.8481
8.2673 10.8486
8.2617 10.8470
8.2590 10.8453
108

8.2576 10.8440
8.2568 10.8430
8.2563 10.8424
8.2560 10.8419
8.2558 10.8416
8.2557 10.8414

K = 14
WFXY =

8.4212 10.8377
8.2503 11.0139
8.4258 10.8486
8.2526 11.0197
8.4268 10.8517
8.2532 11.0214
8.4270 10.8526
8.2533 11.0218
8.4271 10.8528
8.2534 11.0220

K= 15
WFXY =

8.4016 10.9278
8.3945 10.9507
8.3885 10.9636
8.3841 10.9712
8.3811 10.9758
8.3792 10.9787
8.3779 10.9805
8.3771 10.9816
8.3766 10.9823
8.3762 10.9827
109

Appendix F MATLAB Solution for Solved Example 3

K=1
WFXY =

10 11
1 1
10 11
1 1
10 11
1 1
10 11
1 1
10 11
1 1

K=2
WFXY =

5.5000 6.0000
5.5000 6.0000
5.5000 6.0000
5.5000 6.0000
5.5000 6.0000
5.5000 6.0000
5.5000 6.0000
5.5000 6.0000
5.5000 6.0000
5.5000 6.0000

K=3
WFXY =

9.2583 9.9456
1.3249 2.1033
9.2767 9.9635
1.3249 2.1030
9.2767 9.9635
1.3249 2.1030
9.2767 9.9635
1.3249 2.1030
9.2767 9.9635
1.3249 2.1030
110

K=4
WFXY =

9.2024 9.6771
1.5087 2.3468
9.2016 9.7063
1.5086 2.3469
9.2016 9.7063
1.5086 2.3469
9.2016 9.7063
1.5086 2.3469
9.2016 9.7063
1.5086 2.3469

K=5
WFXY =

6.1379 6.3060
4.5750 3.7090
8.8875 9.2505
3.0305 2.0339
8.9143 9.2882
3.0300 2.0338
8.9143 9.2882
3.0300 2.0338
8.9143 9.2882
3.0300 2.0338

K=6
WFXY =

5.3679 6.0232
6.9767 4.2807
5.3395 5.9958
6.9592 4.2619
5.3246 5.9809
6.9498 4.2519
5.3167 5.9729
6.9449 4.2465
5.3124 5.9687
6.9422 4.2437

111

K=7
WFXY =

4.8023 5.4978
7.9361 6.1162
4.3742 3.8673
9.0874 6.8989
4.4403 2.2873
9.1255 7.0357
4.4177 2.2907
9.1251 7.0397
4.4168 2.2909
9.1251 7.0399

K=8
WFXY =

5.0057 5.6371
7.2141 4.5774
5.6091 6.2105
6.5018 4.0410
5.0796 5.7089
7.2519 4.6256
5.6453 6.2450
6.5245 4.0596
5.0971 5.7257
7.2607 4.6370

K=9
WFXY =

5.8078 5.2856
6.6312 5.3423
5.9904 5.6187
5.8944 4.7772
6.5641 5.1056
5.8857 5.4664
6.7083 5.4520
6.0602 5.7051
6.0756 3.8138
5.2219 5.7791

K=10
WFXY =
112

6.0565 4.7757
6.0930 4.8812
6.1345 4.9383
6.1684 4.9742
6.1938 4.9987
6.2121 5.0159
6.2252 5.0283
6.2345 5.0371
6.2412 5.0434
6.2459 5.0479

K=11
WFXY =

6.6241 4.7066
5.9587 4.8358
6.3832 4.5649
6.4409 5.2239
6.6797 4.8224
6.0077 4.8980
6.4183 4.6002
6.4648 5.2483
6.6943 4.8387
6.0183 4.9081

K=12
WFXY =

6.3420 4.6112
6.7115 4.8851
6.3631 4.6084
6.7211 4.8861
6.3682 4.6099
6.7237 4.8874
6.3697 4.6109
6.7245 4.8881
6.3702 4.6113
6.7248 4.8884

K=13
WFXY =

113

6.5620 4.8943
6.4675 4.9576
6.4299 4.9749
6.4138 4.9773
6.4060 4.9759
6.4019 4.9739
6.3994 4.9722
6.3979 4.9710
6.3969 4.9701
6.3963 4.9695

K=14
WFXY =

6.6580 4.7103
6.8151 4.7643
6.9027 4.7986
6.9504 4.8195
6.9760 4.8319
6.9897 4.8391
6.9970 4.8433
7.0009 4.8457
7.0030 4.8470
7.0041 4.8477

K=15
WFXY =

6.9188 4.6537
7.0940 4.5142
7.1824 4.4416
7.2286 4.4014
7.2533 4.3787
7.2668 4.3657
7.2742 4.3582
7.2783 4.3539
7.2805 4.3515
7.2818 4.3501