The mathematical model of the shortest path problem can be formulated as follows, ... The solution to this linear programming problem will give the shortest route from ... Therefore by solving the dual problem we could reduce the computational ... of node i is its shortest path distance from the source node along a path whose ...
AN APPLICATION OF THE SHORTEST PATH PROBLEM TO THE ROAD NETWORK IN SRI LANKA
by JAYALAL WETTAS[NGHE
&
(
PG.diploma
U I MAR 2006
2005
AN APPLICATION OF THE SHORTEST PATH PROBLEM TO THE ROAD NETWORK IN SRI LANKA
by JAYALAL WETTASINGHE
Thesis submitted to the university of Sri Jayawardenepura for the award of the PostGraduate diploma in Industrial Mathematics
DECLARATION The work described in this thesis was carried out by me under the supervision of Dr.W.B.Daundasekera and a report on this has not been submitted in whole or in part to any university or any other institution for another Degree/ Diploma.
Jayalal Wettasinghe November 2005
We approve the thesis of Mr.Jayalal Wettasinghe for the Postgraduate diploma in Industrial Mathematics.
Date:
TI................ Dr. W.B.Daundasekera Senior Lecturer, Dept. of Mathematics University of Peradeniya.
Dr. S.K.Boralugoda Senior Lecturer, Dept. of Mathematics University of Sri Jayawardenepura.
............ Mr. D.D.Ananda Gamini Senior Lecturer, Dept. of Mathematics University of Sri Jayawardenepura.
Chapter 04 Res u its
15
Chapter 05
.
Discussion and Conclusion
T
References
20
LIST OF TABLES Page
Table 4.1 Shortest path from Colombo to Kandy
17
Table 4.2 Road Distances between district capitals
18
Table 4.3 Shortest routes between district capitals
19
IM
LIST OF FIGURES Page
Figure 2.1 An example of a network
04
Figure 2.2 General form of a network diagram
05
Figure 2.3 An Example for a shortest path problem
07
Figure 3.1 An Example to illustrate Dijkstra's algorithm
11
Figure 3.2 Initial stage
II
Figure 3.3 Iteration 1
U
Figure 3.4 Iteration 2
12
Figure 3.5 Iteration 3
12
Figure 3.6 Iteration 4
13
Figure 3.7 Optimal solution
13
Figure 4.1 Main screen of the software
15
Figure 4.2 Selection of origin from the menu
16
Figure 4.3 Selection of destination from the menu
16
Figure 4.5 Result from Colombo to Kandy
17
lv
ABBREVIATIONS AM
-
Ampara
AP
-
Anuradhapura
AV
-
Avissawella
BD
-
Badulla
BT
-
Batticaloa
CB
-
Colombo
GL
-
Galle
HM
-
Hambantota
JF
-
Jaffna
KT
-
Kalutara
KN
-
Kandy
KL
-
Kegalle
KG
-
Kurunegala
M}4
-
Mannar
MT
-
Matale
MR
-
Matara
MG
-
Monaragala
NE
-
Nuwara Eliya
PL
-
Polonnaruwa
PT
-
Puttalam
RP
-
Ratnapura
TC
-
Trincomalee
VU
-
Vavuniya
V
ACKNOWLEDGEMENT
I would like to express my sincere gratitude to my principal supersor Dr.W.B.Daundasckera, Senior Lecturer, Department of Mathematics, Faculty o: Science, University of Peradeniya for his valuable guidance throughout the complenoc of this project work and report. I extend my thanks to my co-supervisors Dr.S.K.Boralugoda., department o: Mathematics and Mr.D.D.A. Gamini, Department of Statistics and Computer Scier.e. University of Sri Jayawardenepura for giving their valuable ideas and guidance. My appreciation is extended to Mr.Prabath Bandara, deputy director, mechan:ca. division, RDA Sri Lanka and Mr.Nishath, Deputy Director, Planning Division, RDA Srr-Lanka for giving their support in collection of data for the project work. My heartfelt gratitude also goes to Mr.Thusitha Jayawardene, Associate Software Engineer, Virtusa (pvt) Ltd. and Mr.B.Giritharan, Department of Statistics inc Computer Science, University of Peradeniya for their endless support which made rn; shortest path software a pleasurable success. I gratefully acknowledge Mr.M.G.Dharmasiri, Mr.S.K.Edirisinghe, Mr.V.Kulatige and Mrs. U.A.Kandanearachchi of National Institute of Technical Education (NITE Sri Lanka for their sincere support given in various ways. Finally, I would wish to thank all persons who gave their fullest support nc encouragement in completing this report.
vi
ABSTRACT In this report we discuss an application to the shortest path problem. In our application we consider the road network connecting district capitals in Sri Lanka. Only class AJB roads are considered in this report. Our objective is to find the shortest route with respect to the distance from the origin to the destination while visiting other selected district capitals. The Dijkstra's algorithm is used and coded in Visual basic 6.0 to find the shortest routes. In this report we have discussed an example to illustrate the algorithm as well as the computer program.
CHAPTER 01
Introduction
It is obvious that human resoui-ce is a key factor in developing our nation. Due t improper management, it is evident that our human resource is not utilized properly Approximately one third of the valuable time of our nation is spent on highways. This is mainly due to wrong selection of path to the destination. The time spent on highways can be cut down by fifty percent by taking optimal paths from origins to destinations.
In this report we considered only the district capitals of Sri Lanka. The objective is t identify all possible paths from a district capital to every other distnct capital an implement a method to find out the optimal path in which the traveling distance is minimized.
In CAHPTER 02, a mathematical model is developed for the above problem. Inetwork optimization theory, this problem is known as the shortest path problem. Th model developed in CAHPTER 02 is a special class of a linear programming model.
CHAPTER 03 consists of the methodology of solving the linear programming proherr described in CAHPTER 02. Mathematical formulation of the shortest path problem is given and has been illustrated by examples. This primal problem can be solved h solving the corresponding dual problem. The way of constructing the dual problem iz also illustrated using the same example used to illustrate the prin'al problem. Altho-g:we can use the dual simplex algorithm to solve this problem, there exists a simple ac
efficient way to solve this it, called Dijkstra's algorithm which is given in CHAPTER 03. The software was developed based on the Dijkstra's algorithm.
The shortest paths obtained by simulating the computer software developed in this project is given in CAHPTER 04 . The sequence of steps leading to the optimal solution is also presented in the same chapter. The complete solution is shown in Table 4.1.
The advantages and limitations of this project have been discussed and possible further improvements have been suggested in CAHPTER 05
2
CHAPTER 02
Problem Definition In network optimization theory, finding the path corresponding to optimal flow between the origin and the destination is known as the Shortest Path problem.
Suppose a person needs to travel from one district capital to another district capital in Sri Lanka in minimal possible distance. In order to find out the path corresponding to minimum traveling distance, we need to apply the shortest path problem to the road network in Sri Lanka.
Suppose we take one district capital as the origin and another one as the destination, our problem is to find out the shortest possible path between the origin and the destination.
2.1 Network A network consists of a set of nodes linked by arcs. The notation for describing a network is (N,A), where Nis the set of nodes andA is the set of arcs. Illustration (2.1) N = {I,2,3,4,5} A = {(l,2),(1,3),(2,3),(2,5).(3,4),(3,5),(4,2), (4,5)}
3
C Figure 2.1 - An example to a network
An arc is said to be directed if it allows positive flow in one direction and zero flow in the opposite direction. If all the arcs of a network are directed, then it is called a directed network. A path is defined as a sequence of distinct arcs that joins two nodes through other nodes regardless of the direction of each arc.
2.2 Shortest path problem. The shortest path problem determines the shortest path between origin and destination in a network.
2.3 Mathematical formulation of the shortest path problem. The mathematical model of the shortest path problem can be formulated as follows, with respect to the following network:
In
Figure 2.2
-
General form of a network diagram
Suppose we need to send a single unit of flow from node I to node n at a minimal traveling distance. Let xi c
=
=
amount of flow in the branch (i,j) cost from node ito nodej per unit flow.
Where x, ~!O,cii ~:O
i,j=l,2 ............ n
Accordingly, cost from node ito nodej =xc1,
Therefore, the total cost for the network =Cii xii
(1)
i=I 1=1
Our objective is to minimize this function subject to the following constraints. 1. One unit of flow is emanating from node I and no flow is absorbed by node 1. Therefore, the potential of node 1 is 1.
i.e.
x
-
=
1
(2)
2.Thcre is one constraint that represents the conservation of flow at each node i.e. for any node, Total input flow = Total output flow The above constraint can be described as follows:
In the shortest path problem, we assume that the unit flow emanated by node 1 will reach node n. Therefore the nodes that are in between node I and node n have zero potential
i.e. Jxj
=
-
0;/
=
2,3.............,n-1
(3)
3.Finally, the unit flow emanated by node 1 will be absorbed by node n. Therefore, the potential of node n is—l. i.e.
Xkn
(4)
=—1
By taking above conditions (1),(2),(3) and (4) together, we can construct the complete mathematical model as an optimization model: Minimize i=l j=l
x
Subject to
=
-
Xk1
(i#1 and /#n)
=0
-
I
-
where, x,
~!
0,c ~! 0
i.j =1,2 ............ n.
6
This is known as a linear programming problem, because the objective function and the constraints are linear in the decision variables. Example 2.3 Consider the following network and suppose that we want to determine the shortest path from node 1 to node 2.
C
60
30
Figure 2.3 - An example for a shortest path problem
Using the above formulation 2.3, the associated linear programming model is presented below:
Minimize x12 + x13 + x, + x33 + x35 + X 42 + x45 Subject to x12 + x13 = X34 + X35 -
- 23 = 0
x42 + x45 - x34 = 0 - x45 - x35 = 0 x23 — x12 - x42 = — 1
The solution to this linear programming problem will give the shortest route from node 1 to node 2.
7
CHAPTER 03
Method of solution The linear programming model of the shortest path problem which was described in CHAPTER 02 can be solved using the Simplex algorithm. The algorithm was developed by Dantzig in 1940's. The optimal Linear Programming solution is always associated with a corner point of the solution space. This is the key result to the development of the general simplex method for solving linear programming models. This algorithm is an iterative algorithm. From iteration to iteration it improves the value of the objective function and terminates when the optimal is reached. Each iteration moves the solution to a new corner point that has the potential to improve the value of the objective function. The algorithm terminates when no further improvements can be made. The simplex method involves tedious and voluminous computations, which makes the computer an essential tool for solving linear programming problems. In fact the simplex algorithm can be coded by a computer programming language. As described in the previous paragraph, when the number of constraints is relatively large, the computational time is very high and more computer memory allocation is needed. In other words. when the problem is in a large scale, the converging rate of the algorithm is very slow. The problem discussed in this report consists of 22 constraints. When the simplex algorithm is concerned this is a relatively large scale problem. This means the simplex algorithm is relatively inefficient to solve our shortest path problem. Therefore, we search for a better and efficient algorithm to find the optimal path.
. M
In optimization theory, for any linear programming model there is an associated linear programming model. These models are called primal and dual. The dual problem is defined directly and systematically from the original (or primal) linear programming model. It can be proved by the strong duality theorem that optimal objective values of the two models are equal. Also, optimal solution of the decision variables of one model will produce the solution of the other.
The dual problem sometimes has a lesser number of constraints than the primal. Therefore by solving the dual problem we could reduce the computational time and computer memory allocation. Considering the above factors we suggest to solve the dual problem to obtain the solution to the shortest path problem.
3.1 The dual of the shortest path problem. The dual of the shortest path problem in CHAPTER 02 can be formulated as follows: Maximize
y
-
Subject to y1 — y, :~ c,, i,j where c
=
=
1,2............. n
cost from node ito nodej per unit flow andy ,i=1 ,2.........n are defined as
the dual variables of the primal problem that are unrestricted in sign.
The dual problem of the example 2.3 can be formulated as follows: Maximize y2
-
YI
SUbject to y2
-
y1 :!~ 100
-
.1 i
-
< 30
:!~ 20
9
y4—y3
!0
'5y3 :~60
-
50
,
where, y1 = distance to node i and unrestricted in sign.
The simplex algorithm described in the previous paragraph can be used to solve the above problem. But when the amount per unit flow is nonnegative in the network, there exists a simple and efficient method developed by Dijkstra to solve the problem. The s algorithm is known as the Dijkstra's algorithm and we hence use the Dijkstra' algorithm to solve our problem.
3.2 Dijkstra's Algorithm. At any intermediate step, the algorithm divides the nodes into two groups. That is, Nodes that are permanently labeled. Nodes that are temporarily labeled. The distance label to any permanent node represents the shortest distance from the source node to that permanent node. Initially, we give our starting node a permanent label of zero and each other nodej a temporary label of
cs
-
At each iteration, the label
of node i is its shortest path distance from the source node along a path whose internal nodes (i.e. nodes other than starting node and the node i itself) are all permanently labeled. The algorithm selects a node with minimum temporary label and makes it permanent. Then the algorithm scans A(i) to update the distance labels of adjacent nodes. The algorithm terminates when it has designated all nodes as permanent-
He
The algorithm will be illustrated by the following example: 2
40
10 2
Figure 3.1 —An example to illustrate Dijkstra's algorithm
Suppose we need to find the shortest path between node 1 and node 6.
00
2
00
40 0 1 2
(D
I
Figure 3.2 - Initial stage
Node 1 is given a pennanent label of zero and all the other nodes are given temporary labels of cc
4 __-__ CO
2
Co
o 0 E N G 4"
6
Co
CO
6 Figure 3.4 - Iteration 2
Figure 3.3 - Iteration I
Algorithm selects a node with
Algorithm updates the distance labels of adjacent nodes.
minimum temporary label and makes it permanent. First it makes node 3 permanent and then node 2.
The steps continue until all the nodes are permanently labeled. It is illustrated in the following sequence of figures:
Figure 3.5 - Iteration 3
12
Figure 3.6 - Iteration 4
Accordingly, the perrnaent distance label of node 6 will be 9. Therefore, we find the optimal solution as:
(D M 6
H 4/
(D
0 I
16
F6]
H
Figure 3.7 - Optimal solution
Therefore, the shortest path from node I to node 6 is 9 units. The shortest path is,
node 1 .
node 3
0
node 5
13
0
node 6
A formal algorithmic description of Dijkstra's algorithm used in our computer program is as follows: Consider the Figure 2.3. Let d(i) be the distance label of node i and A(i) be the arcs starting from node i, where i = 1,2 ......... n.
Dij kstra' s Algorithm begin S: = qi;S :=N; d(i) : =
oo
for each node i E N;
d(s) : = 0 and pred (s) : = 0; while ISI d(i)+c then d(j):= cq and pred(j) : =
end; end;
14
CHAPTER 04
Results The optimal path between any two given district capitals can be obtained by using the computer software developed in this project. The software has been developed using visual basics 6.0 and Dijkstra's algorithm was used to compute the shortest distance and the corresponding path. The path will be given by a graph, consisting of all the district capitals of Sri Lanka. The user should select the origin and the destination using the drop down menu on the screerf and should click on the button "Find path". Then the result will be displayed on the same screen. Figure 4.1 shows the main screen of the program.
Figure 4.1 - Main screen of the software Suppose user needs to find the shortest path from Colombo to Kandy, Then hese needs to select Colombo from the first drop-down rncnu and Kandy from the second. That step is illustrated in Figure 4.2 and Figure 4.3.
15
Figure 4.2 Selection of origin from the menu
Figure 4.3 - Selection of destination from the menu Finally, clicking on the button "Find path" will display the result as follows:
16
Figure 4.4 - Result from Colombo to Kandy
The shortest distance between Colombo and Kandy is II 6 km. The corresponding path is indicated by a sequence of line segments joining the origin and the destination as well as all the other district capitals in between them. For the example considered above, the shortest path will go through the following cities that are displayed in the followir.g table: citv Yakkala Nittambuwa Ambepussa Kegalle Mawanella Kadugannawa Peradeniya Kandy
Distance in kii 77 116
Table 4.1 - Shortest path from Colombo to Kandy Distances between district capitals used as data to the software is shown in Table 4.2. The complete solution is given in Table 4.3
(N
fl A
m
N C' 00 'C N- 30 Ccl N 'C c) C 00 C' 'C N C C N (N-(N-(Nr)r)(N
m
if) C-I (N N
iN C
I
(N
00 ci C
C
ri
-
-
'C 'C
-
- r-
-
N N N 00 CC
C
It
I
(N--(N-(N(N(N--
NN
C(N00 (NC''CNC' 00-NC'--(N'Cf)CC'f)CC-CC(14 CCN-N-(NCCC-l(N(N
r-
N
- if)
CC CC C)
N
rCC
ci i
CC
(N
CC(N
'r if)
-
'C IT
N
N
(N
(N(N
C' 'C
N- 30 'C (N 'C N"C r- C' - If) CC if)
t/C C'
C' N- N- - 00 NC 'C CC 'C r) C-) (NCC-(N(N(N (N 'C CC '/) C) (N if) 00 CC CC C-) CC -
CC C 'C C CC C CC(N(NCC If)
'C
N -
C' - 'C
C'
'C (N
N (N CC
-
I/C
Xl
-
CC N- C' CC 'C CC C C' C'
N-
C C'
Cl
(N C' 00 N
00 N C C' N- C' ifi N
r- r--
-
'C N- I/C N CC (N C C' N- (N It 'C N NIIC-(N(N(NN-(N
ClC)
00 CC I/C 'C - CC
--
-(NC)
C r-CC C 'IC (N 00 if. C CC N 00 C' N(N (N C) (N
(N N- (N
If) N- 'C if) 00 r'C---(N-(N-(N(N C N
CC CC - CcO 'C N 'C N If) (N 30 (N N00 'C N N- 30 (N - C' - CC 'C (N C CCCC(NCCCC-(N (N(N(NCC-(N
N
N- 0'
if)
C
C'
-
C)(N
"C C' C' Cl - -
(N(NCCCC(N
-
N-
C' OCT N C' C (N if)
-
Cl
CC N CC 'C (N CC Cl 'C C ---CCN-
(N (N
- I/C
(N -
N- NCC If) -(N(NN-
(N CC r'C
-
(N 00
1/) CC C' I/C 'C 00 N- C' Cl CC N C' 00 'C CC (N CC C C' if) (N N- C) CC CC (N (N if) N- CC (N (N
C'
N- (N
N C 'C CC It) 'C
(N
If)
CC
-
00 CC (N(N
'C (N If) - C' CC N- (N tIC (N(NCCC'
-
(N(N---
-
C N(NCC
-
(N
CC(N
CC N-
00 'C If)
-CCCN-C'f)00N-NUThC00CCN (NN- N- CC(N-CC-
'cl -
N 00
-
C' CC N- N- C- 'C CC
(N N
(N (N N N (N
INV
-
-(NC)-
r cc
AV
-
N- CC C' 'C
N-
-irs
'C r- 00 0' (N 00 'C N-
-(NCC-(NCC
(N---(N tIC C' N00 CC CC
-ciN-UC'cl
(N(N-(N(N
If) N- ccl 0' 30 'f) C' N- N C' 'C
CC
C'
(N(NCC-
ru
ccl
f) N C
n
'C CC
(N
- r-
(N N- If) CC 'C C N CC 'C C C' (N (N N- C if) N- If) (N C' 'IT C' 00 'C If) 00 (NC'l(NN-(NCC CC 00 C-00 'C (N CC (N
C 00
Ir (N ci N- N 00 If) (N (-(N1f)(N(N
r-
))IAI
30 CC (N(N
-1 - C
ri C' N- CC If) 00 (N (N-(N00C''CC'C'ci CN-(N -- CC-(NfIlM
C N
'C if (N 00 CO
if) Ct r) 30 'C 'f-i 00 If) C' 'C C N
If) C' C'
(N r) C' r C-I 00 if) N (Nr)rN(N(N
--(N
-
cl
r-
CC N (N 'C N-
- 'C 00 C (N C' C' If) "C CC C 'C CC 00 (N (N DC C 00 CC - (N (N C) (N (N
-
00 CC N C CC (N
(NCl CC (N
C'
N (N
'(N(N-(NCC
'C C
N- C
Cl-
(N II') N- '/-- 00 CC (N 30 - N- C C (N - CC Cl (N CC
flA
00 0 0 N N
'f
N '0 cD 0
C' 'C N LC'
CO
('I 00 CC
'0 V
C'
—C'
NN—
N c'"C C' CO — C' C' CC C' 'C — C' Zt N 0 NC'CNNNo_C-o'CrC' NC']
—
N C C'
-i
—
——
N—N—NrCDN
—
Cf
C' 00 N
00
'C' N C N'NN
— cD N 00 V NNN
'CO C' ——N
' f) C' N N N C' c 0 N
C' C'
0000
NN
—(N—
'0000''C C'CD'C cC'0tNCON N CO'0 — o -.1- N o — — 'C CO 'C 'C C' C' — N — — N —N N — N — N N '/ N — N — ;7 ~ ---------------7 00 '0 N N C' N C' N C 'C' rD '0 '0 rD C' C/D t C' 0 '/D — N N 0 'C 'C' NcC' —NC' NNNNN' NN CC' -
WIN
00 0 N '0 rn 'C N C'] N cC' —
—
IT
00 'Cc'] C' CD 'C' 0 0 U] N '/]N C' 0 — 'I] C N——N--NNN
'C' N C' N CC' N —• C
C'
NC'
NC']
rC' --------------
NN
N
'/D N _NC'DC'COC'NN N 'C cC' N — CC'
'CNC'N'CC'']'/D N CC' N N N Z C'] — C'] N
-
I T
T
-------------
ra
[-- — V] N NNN N——N
CC CC' CC' '0 N C't0C'] NNCC'
C' N t'/D_NCO'C'C NN N
N—-N
—NCC'--
N
C'
C' N N CC' N
rn VD C' CC' N 'C
•
—
—
- -N(NC']
1 C' tC' N C'
-
—
'C
— (ID N C' '0 CC' 'C N N NCC'—NN
'ID
N — N N 'ID 00 —
'0 0
CC'
C']
—-
'C
N
—
C']
't] —
(C' '0 C'] C'
'0
C']
—
C'
'C' C']
CC'
C'
C' 'C' 'C '0 00 — C' 'C' N C' N N 'C'
—
—
'C N
CC' C']CC'
C']
C']
'C'
CC'
—
C 'Ct — N
N
—
N
—
—
—
Cc]
Ct N 'C' 'C C'] C CO
N N N
C .4:00 N
.0 rIN — 'NN-NC'D
'ID N N 'ID — C'] —N
.-'
N 'C' N 00
'C C CC'
C'C
'"C']
C'C C'
N,CCCtTC'C'00 "]'C']'CC']'C' Ct —: C'
—
C' I
N C' 0 N 'I] '/" 00 Cl CC' 'Ct 'ID N N
C'] 'ID N — —'C N C' C N '0 C' Ct — C'] N C'] — NC'] C']
'C N
ON rC'N
00
N '0 N 'C N 'C' N 00 N 'Ct CDNNNNC'—N'
N 0 'C CC' 'C' C'] 'ID C _(NN_CtN
N N N N —N 'C N
CC'
'.0 N N 'Ct C' Ct N NN'CtN N
—
0 C' CC' C 'C N
'C C']
o N 4 N N(N
C'0\0(C'00N\0N00C' ZtC' '/]N C'] 'C' N — N C' 'C' N—N— -—
C']NNr']
t
(NN
C']
Ln
v' I N CC'
CC
'I']
'Ct
— 00
N
—
CC'
C'
CHAPTER 05
Discussion and Conclusions In this project when finding the shortest path we mainly consider distance as flow. But in application shortest path with respect to time is more important than with respect to distance. Because travelling time is the key factor with regard to traveling cost. Therefore, we propose that in future studies along this line it would better consider time in analyzing the shortest path. Due to unavailability of the data we were compelled to restrict our studies only to the distance. Due to the *ame factor, our study was limited to the district capitals of Sri Lanka. But we believe that this study will stimulate for furtLer developments. But we must emphasize that the same software developed in this project to find the shortest path can be extended for other cities as well. Also, same software can be used when time is considered as the factor for finding the shortest path. -
Dijkstra's algorithm was used to solve the shortest path problem. One of the advantages of using Dijkstras algorithm is that in addition to computing the distance between origin and destination it also computes the distances to all the nodes that come in between the origin and the destination. In this project we have utilize this advantage to compute all the distances of the district capitals in between the origin and the destination.
20
REFERENCES
[I]. Rvindra K.Ahuja, Thomas L.Maganti, James B.Orlin, Network flows, theory algorithms and applications, Prentice hall, New Jersey,1993, p109-1 10. Hamdy A.Taha, Operations Research, An introduction,
7th edition, Prentice hall of
India, New Delhi, 2003, p213-227 Harvey M.Wagner, Principles of Operations Research, with applications to managerial decisions, second edition, Prentice hall of India, New Delhi, 2001, p223-232 Classification of roads. http://www.rda.gov.lk [5].Road map of Sri Lanka and road distances between cities. http://www.survey-dept.slt.lk [6].Road distances between cities. http://www .mysrilanka.com/travel/distancechart.htm
2I