wireless network snr enhancement using mobile relay stations€¦ · berto leon-garcia and...
TRANSCRIPT
Wireless Network SNR Enhancement Using Mobile RelayStations
by
Rostom Ohannessian
A thesis submitted in conformity with the requirementsfor the degree of Master of Applied Science (M.A.Sc.)
Graduate Department of Electrical and Computer EngineeringUniversity of Toronto
Copyright c© 2010 by Rostom Ohannessian
Abstract
Wireless Network SNR Enhancement Using Mobile Relay Stations
Rostom Ohannessian
Master of Applied Science (M.A.Sc.)
Graduate Department of Electrical and Computer Engineering
University of Toronto
2010
With the proliferation of wireless technologies, wireless Internet access in public places
will become a necessity in the near future. In outdoor areas, where the base stations are
sparsely distributed, mobile users at the edge of the network communicate with the base
station at a very low rate and thus waste network resources. To solve this problem, one of
the previously taken approaches was the use of relay stations to improve the throughput
of the network. In this work, we take this approach to the next level by updating the
positions of the relays according to the particular distribution of the users at certain
time instants. By comparing the proposed scheme to fixed relay placement strategies,
we show that the former has 15-60% performance improvement over the latter, in terms
of the average SNR of the network.
ii
To my family
iii
Acknowledgements
First of all, I would like to express my gratitude to my supervisor, Professor Ben Liang,
for his patient guidance and continuous support throughout the process of completing
my Master of Applied Science degree. I appreciate his vast knowledge and skills in many
areas. I am greatly indebted to the many discussions we had on my research work and
other interesting topics. His logical way of thinking have been of great value for me.
I wish to thank my thesis committee members, Professor Baochun Li, Professor Al-
berto Leon-Garcia and Professor Jianwen Zhu for their valuable comments on this thesis.
Their critical feedback helped me to further improve the quality of my thesis.
I owe my most sincere thanks for my colleagues in the WHIMSIC research group
Dr. Mahdi Lotfinezhad, Dr. Yunfeng Lin, Guang Ji, Seyed Amir Hejazi, Amin Farbod,
Mahdi Hajiaghayi, Seyed Hossein Seyedmehdi, Lei Hua, and Junqi Yu. You provided me
with many valuable comments and great friendship. It has been a pleasure sharing the
past two years with you.
I would like to express my gratitude to my family. To my father, mother, brother,
and sister I thank you from the bottom of my heart for your unconditional love and
support throughout my life. I wish to send you my sincere gratitude for the love and
encouragement from overseas. Without my family’s constant support, I would not have
come this far.
Finally, I give thanks to God Almighty, who has given me life and reason. It is His
hand I see everywhere in the lives of those around me and in the awe-inspiring creation
that it is my privilege to study.
iv
Contents
1 Introduction 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Importance of Relaying . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Summary of Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Background 6
2.1 Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 k-means Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.1 Conditions of the Optimal Solution . . . . . . . . . . . . . . . . . 7
2.2.2 Computational Complexity of the Optimal Solution . . . . . . . . 7
2.3 Lloyd’s Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3 Related Work 9
3.1 Relay Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 Mobile Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3 Continuous Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.4 Distributed Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4 Network and Mobility Model 14
v
4.1 Network Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2 Mobility Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2.1 Uniform Mobility . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2.2 Group Mobility . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2.3 Converging Mobility . . . . . . . . . . . . . . . . . . . . . . . . . 18
5 Optimization Problem 19
5.1 Conditions of the Optimal Solution . . . . . . . . . . . . . . . . . . . . . 20
5.2 Resemblance to the k-means . . . . . . . . . . . . . . . . . . . . . . . . . 22
6 Relay Placement and Movement Algorithms 23
6.1 Optimal Relay Placement . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.2 Suboptimal Relay Placement with User Tracking: VSuC . . . . . . . . . 25
6.3 Our Proposed Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.4 Variations of Our Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.4.1 Variation 1: local-search . . . . . . . . . . . . . . . . . . . . . . 27
6.4.2 Variation 2: Voronoi-search . . . . . . . . . . . . . . . . . . . . 27
6.4.3 Variation 3: limited-space . . . . . . . . . . . . . . . . . . . . . 28
6.5 Algorithm Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.6 Comparing Voronoi-search to VSuC . . . . . . . . . . . . . . . . . . . . 32
7 Bound of the Algorithm 35
7.1 Two Relay Placement Performances . . . . . . . . . . . . . . . . . . . . . 35
7.1.1 Random Relay Placement Performance . . . . . . . . . . . . . . . 35
7.1.2 Regular Relay Placement Performance . . . . . . . . . . . . . . . 37
7.2 Upper and Lower Bounds of the Algorithm . . . . . . . . . . . . . . . . . 40
8 Simulation Results 42
8.1 Effect of the Mobility Models . . . . . . . . . . . . . . . . . . . . . . . . 42
vi
8.1.1 Fixed Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
8.1.2 Mobile Users: Uniform Mobility . . . . . . . . . . . . . . . . . . . 43
8.1.3 Mobile Users: Converging Mobility . . . . . . . . . . . . . . . . . 45
8.1.4 Mobile Users: Group Mobility . . . . . . . . . . . . . . . . . . . . 50
8.2 Effect of the Number of Relays and Users . . . . . . . . . . . . . . . . . . 51
8.2.1 Users Moving with Uniform Mobility . . . . . . . . . . . . . . . . 51
8.2.2 Users Moving with Group Mobility . . . . . . . . . . . . . . . . . 55
8.3 Effect of the Algorithm Update Frequency . . . . . . . . . . . . . . . . . 55
9 Conclusion 63
9.1 Main Ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
9.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
vii
List of Tables
8.1 Performance Comparison with Fixed Users . . . . . . . . . . . . . . . . . 44
8.2 Performance Comparison with Mobile Users in Uniform Mobility . . . . . 46
8.3 Performance Comparison with Mobile Users in Converging Mobility with
6 Centers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
8.4 Performance Comparison with Mobile Users in Converging Mobility with
3 Centers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
8.5 Performance Comparison with Mobile Users in Converging Mobility with
12 Centers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
8.6 Performance Comparison with Mobile Users in Group Mobility with 6
Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
8.7 Performance Comparison with Mobile Users in Group Mobility with 3
Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
8.8 Performance Comparison with Mobile Users in Group Mobility with 12
Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
8.9 Performance Comparison Under Uniform Mobility with Varying Number
of Users and Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
8.10 Performance Comparison Under Group Mobility with Varying Number of
Users and Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
8.11 Performance Comparison with Different Algorithm Update Frequencies . 60
viii
8.12 Performance Comparison with Different Algorithm Update Frequencies
(Maximum User Speed of 2) . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.13 Performance Comparison with Different Algorithm Update Frequencies
(Maximum User Speed of 5) . . . . . . . . . . . . . . . . . . . . . . . . . 62
ix
List of Figures
4.1 Cell Discretization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.1 Relative positions of the test points and the original position of the relay 28
6.2 An example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.3 Voronoi regions of three relays and the “restricted” region for the users
(shaded area) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
7.1 Π1-particle Voronoi cells and Π0-particle memberships . . . . . . . . . . 36
7.2 Performance of randomly placed relays as a function of the number of
relays and users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.3 Regular placement of 6 relays . . . . . . . . . . . . . . . . . . . . . . . . 38
7.4 Performance of regularly placed relays as a function of the number of relays
and users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
8.1 SNR vs. time for 50 fixed users, when the relays are initially placed (a)
regularly, and (b) randomly . . . . . . . . . . . . . . . . . . . . . . . . . 44
8.2 SNR vs. time for 50 mobile users, moving according to the uniform mo-
bility, when the relays are initially placed (a) regularly, (b) randomly, and
(c) optimally . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
8.3 SNR vs. time for 50 mobile users, in converging mobility, with 6 centers,
when the relays are initially placed (a) regularly, (b) randomly, and (c)
optimally . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
x
8.4 SNR vs. time for 50 mobile users, in converging mobility, with 3 centers,
when the relays are initially placed (a) regularly, (b) randomly, and (c)
optimally . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
8.5 SNR vs. time for 50 mobile users, in converging mobility, with 12 centers,
when the relays are initially placed (a) regularly, (b) randomly, and (c)
optimally . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
8.6 SNR vs. time for 50 mobile users, moving according to the group mobility,
in 6 groups, when the relays are initially placed (a) regularly, (b) randomly,
and (c) optimally . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
8.7 SNR vs. time for 50 mobile users, moving according to the group mobility,
in 3 groups, when the relays are initially placed (a) regularly, (b) randomly,
and (c) optimally . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
8.8 SNR vs. time for 50 mobile users, moving according to the group mo-
bility, in 12 groups, when the relays are initially placed (a) regularly, (b)
randomly, and (c) optimally . . . . . . . . . . . . . . . . . . . . . . . . . 54
8.9 SNR vs. number of relays for (a) 50, (b) 100, (c) 200, and (d) 500 mobile
users, moving according to the uniform mobility . . . . . . . . . . . . . . 56
8.10 SNR vs. number of relays for (a) 50, (b) 100, (c) 200, and (d) 500 mobile
users, moving in 18 groups . . . . . . . . . . . . . . . . . . . . . . . . . . 57
8.11 SNR vs. number with (a) reference update frequency, (b) update frequency
5 times faster than the reference, (c) update frequency 10 times faster than
the reference, (d) update frequency 20 times faster than the reference,
(e) update frequency 50 times faster than the reference, and (f) update
frequency 100 times faster than the reference . . . . . . . . . . . . . . . . 59
xi
Chapter 1
Introduction
1.1 Motivation
Recently, researchers have focused a lot on the issue of optimally placing relay stations
in a wireless network. One of the main reasons why this is an attractive field of research
is that it is a very practical way to improve the throughput of a wireless network. This is
an important objective, because in the near future it is expected that Internet access in
public places will become an almost necessity. We already see such a scenario proliferating
with the current technology that gives people access to the Internet on their phones in
public places. With time, not having immediate and continuous access to the Internet
could become a strong impediment to people’s lives. Moreover, since using a wired
approach to solve the problem is usually impossible in some areas, and it is generally
economically infeasible, a wireless approach to the problem, with low-cost relay stations,
can become very practical.
1.2 Importance of Relaying
Relay stations can be used to enhance the coverage of the base station by helping users
that are experiencing severe shadowing effects, for example by being situated behind a
1
Chapter 1. Introduction 2
tall building that is blocking the line of sight component of the signal of the base station.
They are also used to enhance the range of the base stations, by relaying its signals to
areas outside its coverage region. Relays could also be used to enhance the capacity of
the network. This is done by helping users that have very poor channel conditions with
the base station. These are mainly the users that are situated in the peripheries of the
network. Finally, relays help improving the communication reliability by sending data to
the users through multiple paths. After an antenna receives multiple copies of the data
(coming via the different paths) it can then combine them to produce a better signal.
The current standard that supports relaying is the IEEE 802.16j – Mobile Multihop
Relay (MMR). In here the adjective “mobile” refers to both mobile users and relays.
1.3 Objective
In this work, the objective is to improve the average SNR of a wireless network by the
use of relay stations. However, unlike some of the previous work, which mainly focuses
on the placement of the relays, we update their positions at every time-step, in order
to improve the average SNR of the overall system as much as practically possible. This
process could be done mainly in two different ways. First, one can assume that the
relays are provided with a way that allows them to move at every time step, in order to
update their positions in the best way possible – obviously with some distance, speed,
and space restrictions. For example, they could be installed on robots or buses. Also,
we can realize this by activating/deactivating a certain (or variable) number of relays at
every time step in order to achieve our objective. To do that, we have to have the relays
to be activated already placed at the needed locations. Thus, to update the positions of
the relays by using this second approach, we should have relays densely placed over the
total surface of the network. The second approach seems more practical, but of course
more costly. Moreover an obvious question in here would be about the issue of activating
Chapter 1. Introduction 3
all of the relays at the same time. In our opinion, this case should be avoided because
the interference may be a problem in the case where the relays (and possibly the base
station and mobile users) share the same spectrum. Furthermore, if the relays do not
have access to a constant energy source they will need to use their energy efficiently and
go to sleep mode, whenever their use is little. To make things more practical, in this work
we assume that we are using the activation/deactivation method for a fixed number of
relay stations. Moreover, since they will not be changing their positions, we assume that
they can easily have access to a source of constant energy, and thus the power constraints
should not be a problem.
Note that, updating the positions of the relays in the optimal way is very time con-
suming and will require a centralized way to be accomplished. Basically, to calculate the
exact positions of the relays under such a placement scheme, one should search for the
solution thoroughly in the total area of the network. To do that, a centralized way to
find the solution is generally required. Further, this process is only for one particular
distribution for the users. In other words, it should be done for different user configura-
tions, as the latter changes with the user movement. We discuss these issues in a more
detailed way in the coming sections of the thesis.
On the other hand, having fixed relays to serve the users is suboptimal since it does
not take the particular distribution of the users at a given time instant into consider-
ation. This method is usually used in the following way. First, it is assumed that the
configuration of the users follows a particular distribution at all times. For example, it
could be assumed that the users are distributed within the area of the network following
a uniform distribution. Second, the relays are placed optimally given such an assumption
on the distribution of the users. However, since it is assumed that the users will follow
the distribution at all times, such an optimal solution is found only once, and that is
why the relays are fixed under such a placement scheme. This means that, the user
distributions at particular time instants will not be “exploited,” as said earlier.
Chapter 1. Introduction 4
Thus, the objective is to describe and numerically evaluate a placement scheme, in
which the relays are able to move with the users, however in a decentralized manner to
be able to alleviate the above mentioned problems of the optimal and fixed placement
schemes. Since in this work we are trying to maximize the average SNR of the network,
this task is done in such a way to maximize this metric for a particular user distribution.
This is the main idea of this work, which will be discussed and numeriv=cally evaluated
in great detail throughout the thesis.
1.4 Contributions
Our contributions can be summarized in the following points.
• We formulate and analyze the optimization problem specific to the maximization
of the average SNR in our network model;
• We present a simple distributed family of tracking algorithms, with three different
ways to update the positions of the relays;
• We upper-bound and lower-bound the performance of the algorithm;
• We simulate the performance of our algorithm under different system parameters,
and compare it to the performance of the fixed and optimal relay placements.
1.5 Summary of Results
After running the simulations, the results show that the difference in the performance of
our algorithm and that of the optimal is usually around 10%. On the other hand, the
minimum gain of our algorithm over the fixed placement strategies is around 15%. This
gain goes up to 50-60% with some of the mobility models.
Chapter 1. Introduction 5
The rest of the thesis is organized in the following way. The background and related
work are presented in Chapters 2 and 3, respectively. We present our network model in
Chapter 4. In Chapter 5, we detail the optimization problem required for our purposes.
Chapter 6 talks about the developed algorithms. In Chapter 7, we formulate the perfor-
mance of two types of relay placement schemes. We find some bounds to our algorithm
in Chapter 8. Chapter 9 presents our simulations, and in Chapter 10 we conclude.
Chapter 2
Background
2.1 Clustering
In simple words, clustering is a sort of separation of data into groups of similar objects.
In each group, called a cluster, the objects share a similarity criterion with one another
and are different from the objects of the other groups. The definition of the similarity
criterion is application dependant. The main objective of clustering is achieving simplicity
in terms of data representation. However, this is at the cost of losing certain fine details.
Clustering has an important role in various applications from medicine to data mining
to social networks analysis.
There are several types of clustering, of which we are interested in partitional clus-
tering, in which an object of the data belongs to only one particular cluster at all times.
For additional information about clustering, the reader is referred to the excellent
surveys [1] and [2].
2.2 k-means Clustering
A very popular partitional clustering method is the k-means clustering. Its objective is
to minimize the within cluster sum of squares. Analytically, it can be represented in the
6
Chapter 2. Background 7
following way. Given a set of n data points, {x1,x2, . . . ,xn}, where each data point is a
d-dimensional real vector, the aim of k-means is to partition the n points into k clusters,
{X1, X2, . . . , Xk}, with k < n (and usually k << n), while minimizing the following sum,
k∑i=1
∑xj∈Xi
‖xj − µi‖2 (2.1)
In (2.1), µi is the d-dimensional cluster-head vector of the points in Xi, and ‖.‖ is the
Euclidean distance.
2.2.1 Conditions of the Optimal Solution
The optimal solution of k-means should satisfy the following two conditions.
1. Given the optimal clusters, the cluster-head of each one of them should be the
geometric mean of their respective data points;
2. Given the optimal cluster-heads, the optimal way to choose the clusters is to assign
each data point to its nearest cluster-head.
These two conditions are necessary for the minimization of the within cluster sum
of squares. Moreover, it should be noted that once we have the optimal clusters, the
optimal cluster-heads can be easily determined, and vice versa.
2.2.2 Computational Complexity of the Optimal Solution
It has been proven that k-means clustering is (i) NP-Hard in a d-dimensional Euclidean
space, even for k = 2 [3]; (ii) NP-Hard for k clusters, even in the plane [4]; (iii) given
fixed k and d the optimal solution can be found in time O(ndk+1 log n) [5].
Chapter 2. Background 8
2.3 Lloyd’s Algorithm
Lloyd’s algorithm [6] is a heuristic way to find a sub-optimal solution for the k-means
problem. Due to its simplicity and fast convergence properties, it is also called “k-means
algorithm.” The steps of this algorithm are explained below.
Step 1 (Initialization): Select a set of k points from the n data points, {x1,x2, . . . ,xn}.
This can be done in a random way or according to a certain heuristic [7, 8, 9, 10, 11, 12,
13]. Let {m1,m2, . . . ,mk} be the chosen centers.
Step 2 (Cluster Assignment): Each data point xi, 1 ≤ i ≤ n, is assigned to the
center that has the has the closest Euclidean distance with it. In [14] the authors prove
that this phase gives the optimal partitioning for the given centers.
Step 3 (Center Recalculation): Each one of the centers mi, 1 ≤ i ≤ k, is assigned to
the center of mass of its current cluster. For example if mi is the center of cluster Xi,
with cardinality |Xi|, its new value will be mi =∑
x∈Xix/|Xi|. In [14], the authors prove
that this phase gives the optimal center locations for the given partitioning of the data.
Step 4 (Converged Solution): Steps 2 and 3 are repeated until the algorithm con-
verges, i.e. whenever the centers do not change their locations anymore. It can be easily
proven that this algorithm always converges, since there are only finitely many ways to
group the data points in clusters, and the way the algorithm is designed the solution from
one iteration to the next is always being improved. So, if the algorithm goes through all
of the cluster grouping possibilities, it will eventually converge.
Chapter 3
Related Work
3.1 Relay Placement
Two of the important works done in the field of relay placement are [15] and [16]. In [15],
the authors assume a two-hop communication scheme, where at most one Relay Station
(RS) can help a Mobile Host (MH). In other words, if the transmission delay between the
MH and the Access Point (AP) could be reduced by using one of the deployed relays, that
particular RS will help the MH to transmit its data. Otherwise, i.e. if none of the relays
can help reducing the delay, the MH will directly be connected to the AP. These decisions
are assumed to be made by the AP, by some methods that are not within the scope of
the paper. The objective is to maximize system capacity. To solve the problem, the
authors derive an optimization problem, and to avoid having an infinite search space for
the placement of the relay stations, they divide the search space into a grid, every point
of which is a candidate position for the relay placement. After reformulating the problem
in the discretized version of the search space and finding that it is NP-hard, the problem
is solved through a Lagrangian relaxation iterative algorithm. Further, its complexity
can be reduced if the distribution of the mobile users is assumed to be uniform. The
results show a large improvement in the capacity of the network, when compared to the
9
Chapter 3. Related Work 10
cases where no relays are used, and where relays are randomly placed.
In [16], the authors also assume a two-hop communication scheme. However in this
case, they enforce the condition that every MH should talk to the AP via two relays, and
vice versa, so that they could also exploit the advantages of spatial diversity. In other
words, the MH is receiving the data sent by the AP via two paths, coming from two
different relays, in order to create a virtual MIMO system. Also, they assume that the
relays use the decode-and-forward cooperative technique. The main objective of the work
is to improve the capacity of the worst channel condition, which is assumed to be between
the AP and the farthest MH from it, by using a minimum number of relays, i.e. that
particular MH should be able to have a guaranteed achievable rate above a threshold
limit, while the number of relays is kept to a minimum. This way, the other mobile
nodes in the cell would also enjoy higher channel capacity. To deal with the problem,
the authors formulate it as an optimization problem, which is found to be NP-hard; as a
result it is solved by a heuristic algorithm. The results are almost optimal, in the sense
that the relays are placed in an almost optimal way, when compared to the results of
an exhaustive search algorithm. Note that, the authors assume that the relays could be
placed at some predefined positions. This means that the search space in the exhaustive
search is not infinite, and the obtained results are near-optimal in the predefined search
space, which usually does not cover the total area of the cell. No simulations were done
with a search space covering the total area.
3.2 Mobile Relays
In terms of relay movement, almost no work has been done in the past. The only two
works that deal with this issue are [17] and [18]. The latter is not directly related to
the networking field; instead it is a publication in the robotics area. In [17], the authors
first aim to place the relays for a realization of fault-tolerance in ad-hoc networks. By
Chapter 3. Related Work 11
fault-tolerance they mean that they want to place some relays in an ad-hoc network, so
that the overall system is k-connected. In other words, they want to create a network,
in which if k − 1 nodes fail, the overall system would still be connected, i.e. every
node would still have the ability to communicate with another by using at least a given
path. As a second step, this publication aims to update the positions of the relays, with
the movement of the mobile nodes, so that the network is still k-connected, through
some algorithms. This work is not directly related to our work, since it does not deal
with capacity maximization. Furthermore, it is poorly developed, in the sense that the
movement algorithms are not clearly explained.
On the other hand, in [18], the authors want to keep the communication alive between
an explorer robot and an AP via relay stations, as the explorer moves away from the AP.
For this purpose, they deploy some robot relays, from the side of the AP whenever the
distance between the robot – or the last deployed relay – and the AP gets to a critical
limit, which is close to the communication range between them. So in this work, the
number of the relays is usually more than one, to help just an explorer robot. Its idea
could be useful, however, we are dealing with many mobile hosts in a given cell and we
are going to help them, in terms of their channel capacity with the AP, with some relay
stations, the number of which is normally much less than that of the mobile hosts.
3.3 Continuous Clustering
In the continuous clustering field, the objective is to maintain a clustering over a set of
mobile objects. Two well known works in this field are [19] and [20]. In [19], the authors
argue that one straightforward way to cluster mobile objects is to do it periodically.
However, such an approach would be very time consuming if the interval between a
clustering and the next is very short, especially if the data-set is very large. To avoid such
a scenario, the authors propose a way to handle the clustering with a micro-clustering
Chapter 3. Related Work 12
concept. A micro-cluster is a group of data that are so close to each other that they are
likely to belong to one cluster. The definition of closeness is an application dependent
issue. In this work, the authors extend this concept to moving micro-cluster, in which the
objects are very close to each other and are likely to move together, at least for a while.
Thus, having the movement information of their datapoints, the authors arrange them in
micro-clusters. However, due to the difference in the movements, after a period of time,
the objects in the micro-clusters will scatter and will no longer satisfy the requirements
of a micro-cluster and thus the quality of the clustering will deteriorate. To avoid such
cases, the authors propose an algorithm to keep the micro-clusters as much geographically
compact as possible. The type of clustering used in the experiments of this work is k-
means clustering. The simulation results show a great run time improvement of the
proposed algorithm over the k-means algorithm, and a fairly close performance to that of
the k-means algorithm, which gets degraded with the number of datapoints and improved
with the number of clusters. The problem with such a work is that it is fully centralized
and some information about the movement of the objects are essential for the algorithm.
In [20], the objective of the authors is also to minimize the computation time spent in
continuous clustering. For that, they propose a method, in which every object is assigned
a threshold. If it moves more than its assigned threshold from its original position, it
updates the main server with its new location, so that the clustering can be adjusted.
Note that, the clustering will be updated on the old positions of the objects that did
not violate their threshold requirement. After each clustering update, the objects will be
assigned new thresholds. The clustering used in this work is also k-means. The simula-
tions show a good run time improvement of the proposed algorithm over the continuous
k-means clustering, in which the clustering is updated after every single movement of the
objects. Our work differs from this one in the sense that the clustering updates are done
after a certain time period in a distributed way.
Chapter 3. Related Work 13
3.4 Distributed Clustering
Since our algorithm is a distributed clustering algorithm, we find it necessary to review
some of the important works in this field. Two of the major works are [21] and [22].
In these two works, the data are distributed among a certain number of processors or
computing nodes, P , and cannot be sent to a main server – due to memory constraints
– for it to do the clustering in a centralized way. These two works basically do the same
thing, with the only difference that the former concentrates on k-means and assumes that
P divides the number of data-points, while the latter presents an algorithm that can be
applied on any data clustering iterative algorithm and assumes that the data-points
are divided almost uniformly among the computing nodes. The algorithm presented in
these works basically parallelizes the process of computing the centers in each iteration,
by globalizing the sufficient statistics at the end of an iteration so that they would be
available to each of the computing nodes. So, these works present distributed algorithms
in the sense that the data are distributed among several computing nodes. So, the end
objective in here is to accelerate the computing process of the algorithm to produce the
same exact result as its centralized version.
Another work in the field is [23]. In here, the authors present a fully distributed
algorithm, in the sense that the data is distributed among several computing nodes and
the computing nodes update their neighbors with their computed centers as in a peer-
to-peer network. In other words, to compute the centers of an iteration, the computing
nodes have to wait their neighbor nodes to send them their computed centers of the
previous iteration, so that these results could be incorporated in the computation of the
centers of the next iteration. This means that, the center set at a given iteration is not
the same at the computing nodes, unlike in [21] and [22]. Also, this means that the
algorithm is asynchronous in the sense that not all of the nodes have to be on the same
iteration, but partial synchronization is required in the sense that the computing nodes
can be at most one iteration ahead (or behind) with respect to their neighbors.
Chapter 4
Network and Mobility Model
4.1 Network Model
In this work, we consider a single cell, with a base station at its center. Also, we assume
that the positions of the users in the cell will be available locally to the relay stations
when needed or queried for. This last assumption is essential because in this work we
are trying to update the positions of the relays given the movement of the mobile users
in the system (or given the positions of all the users at certain time instances). It is also
practical nowadays, with the improvements on GPS technology.
On the other hand, in our SNR model we consider only the pathloss effect. Shadowing
and fading could be incorporated in the future work. The pathloss effect alone is modeled
by (4.1).
Pr = κPtdα
(4.1)
In (4.1), Pr is the received power, κ is the pathloss constant, Pt is the transmitted
power, d is the distance between the transmitter and the receiver and α is the pathloss
exponent. The pathloss constant could further be modeled by (4.2).
14
Chapter 4. Network and Mobility Model 15
κ =GtGrλ
2
(4π)2(4.2)
In (4.2) Gt and Gr are transmitter and receiver antenna gains, respectively, and λ
is the wavelength. Thus, the SNR between two points is modeled as: SNR = Pr/PN ,
where PN is the power of the noise, usually taken as unity for normalization purposes.
In this thesis, all powers are normalized such that κPt/PN = 1.
Also, in this work, we only consider the links between the relay stations – and the
base station – and the users. So, in this sense, the base station could also be considered
as a relay station that does not update its position. We only consider these links because
we assume that the channel between the base station and the relays is much better than
the channel between the relays and the users, due to the power limitations of the mobile
users. Also, arguably, the channel between the relays and the users is the “bottleneck”
of the system, that we are trying to improve.
Furthermore, it is very important to have a relay assignment scheme in this work.
Since the metric considered is the SNR, which is here modeled as a function of distance
mainly, the optimal way to assign the users to the relays is to assign them to the closest
one, assuming that the relays could serve a large amount of users. This could be done
in a proactive way: the base station could broadcast the positions of the relays to the
users with a certain frequency, so that the users could assign themselves to their closest
relays. Next, the users can update their respective relays with their positions.
This could also be done in a more distributed manner. An example on how this could
be implemented is given in [24]. Basically, the idea there is that whenever a user wants to
know which relay it should be assigned to, it sends a “Hello” message to the relays and the
ones that heard it will respond with their current positions. We assume that the closest
relay will always hear the message. After hearing the different responses, the user can
go with the closest one, if it is at a closer distance than the base station, by responding
back with a message containing its coordinates. However, this would need a sort of
Chapter 4. Network and Mobility Model 16
synchronization with the relays, so that they would have an updated list of their users at
the beginning of each time-step. This could be solved with a “Request-to-Hello” message
by the relays to their users at the end of the current time-step, assuming that all of the
relays and the base station are synchronized with each other, either directly through the
base station or messages to each other. Intuitively, this way of relay assignment technique
requires a longer time compared to the other, but if the application specifies that the
system should be fully distributed, one can go with this simple strategy.
Finally, in our model we assume that the relays could be placed on and move to
specific locations. In other words, we discretize the area of the cell into a grid and allow
the relays to be placed on and move to the grid points only. The type of discretization
used in this work is triangular, i.e., we decompose the cell into equally sized equilateral
triangles (Figure 4.1).
Figure 4.1: Cell Discretization
To end with, to simplify the work, we do not consider interference. In addition, we
Chapter 4. Network and Mobility Model 17
do not consider diversity either, i.e., the signals coming from the base station to a mobile
user are ignored, unless that particular user is being served by the base station directly.
4.2 Mobility Models
We consider three mobility types of the users: uniform, converging, and group mobility.
4.2.1 Uniform Mobility
In the uniform mobility, the users are, at the beginning, randomly placed in the cell,
according to a uniform distribution. At every time step to each user we assign a step size
chosen uniformly randomly over a range of zero and a maximum step size, and an angle
chosen uniformly randomly over a range of −π and π radians. In the case where a user
gets out of the boundaries of the cell, a new user comes back in from the opposite side
of the cell.
The reason why we use this mobility model is to keep the distribution of the users
uniform on average and to test to what extent will our algorithm be able to exploit the
non-uniformity at particular time instants.
4.2.2 Group Mobility
In the group mobility, the users are always concentrated around a given number of points.
Those points move as in the case of the uniform mobility, but they choose not to get
out of the boundaries of the cell, for simplicity. Each one of the points is assigned to
a random number of users, which remains constant throughout the entire time period.
Moreover, the users are assigned in a way not to get out of the boundaries of the cell.
We use this mobility model to test the ability of our algorithm in terms of tracking
groups of users. For example, if in the system there is an equal number of relays and
Chapter 4. Network and Mobility Model 18
groups, we want to see if the relays in our algorithm will be able to detect and track all
of them.
4.2.3 Converging Mobility
In the converging mobility, the users are also placed uniformly randomly at the beginning.
However in this case, there is a number of centers of attraction in the cell. During each
time step, the users move closer to the closest center of attraction to their position with
a certain probability. If it chooses to get closer to the center, it approaches to it with
an angle chosen uniformly over a certain range with a mean equal to the angle between
the user and the center. Otherwise, it just moves in a similar way as in the case of the
uniform mobility. Also, if a user gets out of the boundaries of the cell, a new one will
replace it at the opposite side of the cell.
This model is a combination of the previous two, since in this case we can expect in
the long run the users to converge to the centers. However in this case, the centers will
not move as the groups in group mobility, but in the arrangement of the users over the
long run will be similar to the one in group mobility in a given time-step. This means
that, in this case the distribution of the users will transform from uniform on average
to clustered around certain centers. Note that in such a case the uniform distribution
at the beginning of the time period could act as a sort of noise, in the sense that it will
not allow the relays to find the centers of attraction from the start. We use this sort of
mobility model to see if the relays of our algorithm will be able to detect the converged
groups over the long run.
Chapter 5
Optimization Problem
Let Nu be the number of users, Nr the number of relays, h the height of the relays,(x
(u)i , y
(u)i
)the coordinates of the ith user,
(x
(r)i , y
(r)i
)the coordinates of the ith relay, and
S the feasible areas for the placement of a relay (namely the total area of the cell). Let the
vectors Xu, Yu, Xr, and Yr be defined as Xu =[x
(u)1 x
(u)2 . . . x
(u)Nu
]′, Yu =
[y
(u)1 y
(u)2 . . . y
(u)Nu
]′,
Xr =[x
(r)1 x
(r)2 . . . x
(r)Nr
]′, Yr =
[y
(r)1 y
(r)2 . . . y
(r)Nr
]′. Let d(i, j) be the Euclidean distance
between the ith user and the jth relay and let d0(i) be the Euclidean distance between
the ith user and the base station. Namely,
d(i, j) =
√(x
(u)i − x
(r)j
)2
+(y
(u)i − y
(r)j
)2
+ h2 (5.1)
d0(i) =
√(x
(u)i
)2
+(y
(u)i
)2
+ h2 (5.2)
Now, the expected SNR (without the shadowing effect) between user i and relay j is
expressed as SNR(i, j, α) = (d(i, j))−α and the expected SNR between the base station
and user i is SNR0(i, α) = (d0(i))−α. Finally, the average SNR after the relay assignment
can be expressed as
SNR(Xr, Yr) =Nu∑i=1
max
[SNR0(i, α), max
1≤j≤Nr
SNR(i, j, α)
]/Nu (5.3)
19
Chapter 5. Optimization Problem 20
Having all the above notation we can now express the optimization problem in the
following way.
maximizeXr,Yr
SNR(Xr, Yr)
subject to(x
(r)i , y
(r)i
)∈ S ∀ 1 ≤ i ≤ Nr
(5.4)
Finally, note that this optimization problem formulation does not take into consider-
ation the mobility of the users. To integrate that, one has to solve for it for the required
configurations in different time instants.
5.1 Conditions of the Optimal Solution
From the formulation of our optimization problem, it can be seen that it is a partitional
clustering problem, in the sense that a given user can only be served by just one relay
(or the base station), so it is in just one cluster at any given time. This means that, if
the configuration of the users does not change, the optimal relay placement configuration
will not need to change either, and the users will stay in the same clusters at all times.
Now, let us assume that we are given the optimal locations of the relays. In this case,
a user belongs to the cluster of a given relay (or the base station) if it is closer to that
relay than to any other one. Ties can be broken randomly, since we consider that any
relay has the ability to serve all of the users in the system. Assigning users to relays in
this way is optimal for our maximization problem. Thus, given the optimal positions of
the relays, we can determine the optimal clusters.
Second, let us assume that we are given the optimal clusters. Let us consider any one
of the clusters, X (with cardinality |X|), in order to place the relay in the optimal way
in it. This analysis is not valid to the case of the base station’s cluster, since its position
is fixed at all times. In a given cluster we have to place the relay in a way to maximize
the following sum.
Chapter 5. Optimization Problem 21
|X|∑i=1
(‖xi − c‖2 + h2
)−α/2(5.5)
In (5.5), xi is the position of the ith user of the cluster, c is the position of the relay
to be determined, h is its height, and ‖.‖ is the Euclidean distance. Note that any xi and
c are d-dimensional vectors, and h could be interpreted as an additional dimension of
the relay’s position over the positions of the users. In our optimization problem, d = 2.
Note that, we need to have a non-zero height for the relays in this work, since otherwise
the solution of the optimization problem will be placing just one of the relays on top of
a user, which makes the objective function go to infinity. Now, to maximize (5.5), it can
be easily shown that the the expression of c should be the following.
c =
∑|X|i=1 xi/
(‖xi − c‖2 + h2
)α/2+1∑|X|i=1 1/
(‖xi − c‖2 + h2
)α/2+1(5.6)
To see this, one has to find the derivative of (5.5) with respect to c. This is given by
(5.7).
−α|X|∑i=1
xi − c(‖xi − c‖2 + h2
)α/2+1(5.7)
Equating (5.7) to zero and rearranging the terms properly, we obtain (5.8). This
rearrangement easily leads to (5.6).
|X|∑i=1
xi(‖xi − c‖2 + h2
)α/2+1=
|X|∑i=1
c(‖xi − c‖2 + h2
)α/2+1=
c∑|X|i=1
(‖xi − c‖2 + h2
)α/2+1
(5.8)
Note that, c does not have a closed form. Thus, to solve for c in (5.5) we have to
rely on a brute force search by plotting the sum with respect to the coordinates of c and
determine its highest value. This is a fairly simple task, especially if c is 2-dimensional
vector.
Chapter 5. Optimization Problem 22
5.2 Resemblance to the k-means
In a sense, our optimization problem is very similar to the k-means problem; if we replace
α by −2 and h by 0 in (5.3), the optimization problem in (5.4) will be the same as (2.1),
with the exception that in (5.4) we have a fixed cluster-head. However, note that (2.1) is
a minimization problem and (5.4) is a maximization problem, but one can easily argue
that when α is replaced by −2 in (5.4), the maximization problem would not make any
sense, since then we would be trying to maximize the within cluster sum of squares, the
trivial solution to which is to place a cluster-head at infinity and assign to it just one
data point, to make the objective function go to infinity.
Thus, for α = −2 and h = 0, our optimization problem is the same as k-means, with
the exception that it has one fixed cluster-head. Moreover, if we replace these numbers
in (5.6), we see that in this case c =∑|X|
i=1 xi/|X|, which is a condition that should be
satisfied for the k-means optimization. In fact, if we just replace α by −2 – for any real
h – we will get to the same conclusion. Indeed, one can easily prove that minimizing∑ki=1
∑xj∈Xi
(‖xj − µi‖2
)is the same as minimizing
∑ki=1
∑xj∈Xi
(‖xj − µi‖2 + h2
).
Finally, we can say that the computational complexity of this optimization problem
is NP-hard, because of its strong resemblance to the k-means problem.
Chapter 6
Relay Placement and Movement
Algorithms
6.1 Optimal Relay Placement
For comparison with the proposed algorithm in Section 6.3, we first present in this section
way to place the relays in an almost optimal way, in the sense that if there are other
configurations of the relays that would be able to produce a better average SNR in the
network, their performance will be just slightly better than the one of this algorithm.
This is done in a centralized and non-iterative fashion, i.e., a relay cannot take a decision
by its own and the positions of the relays in a given time step will be independent from the
ones of the previous time step. To accomplish such a task, we introduce three placement
algorithms.
The first algorithm is summarized in the following steps.
Step 1: An initialization step is performed. This initially places the relays on top of
the users in a maximum separated manner, with the first relay chosen randomly among
the users. This technique is explained in more details in [7].
Step 2: Lloyd’s iterative algorithm – based on square distances – is performed on
23
Chapter 6. Relay Placement and Movement Algorithms 24
the relays, until convergence. The details of this algorithm can be found in Section 2.3.
However, in our case we have to make sure that the position of the base station remains
unchanged. Also, note that, in this algorithm, the relays are not bound to be placed on
the grid points.
Step 3: A variation of the Lloyd’s algorithm is performed in this step. This is
basically the same as Lloyd’s algorithm, but instead of the relays being placed at the
centroid of their users in each iteration, they are placed at the position, from which they
can generate the highest SNR to their assigned users of that iteration. Also, we have to
make sure that the location of the base station remains unchanged.
Step 4: Steps 2, 3, and 4 are repeated a certain number of times and the relay
configuration that generated the best overall SNR is returned.
The following are the steps of the second algorithm.
Step 1: Same as Step 1 of the first algorithm.
Step 2: Same as Step 3 of the first algorithm.
Step 3: The previous two steps are repeated a certain number of times and the relay
configuration that generated the best overall SNR is returned.
The third algorithm could be summarized in the following steps.
Step 1: A relay initialization step is performed in the following way. In this placement
technique, we want all of the relays and the base station to serve an equal number of
users. Since the position of the base station is fixed at the center of the cell, the closest
bNu/(Nr + 1)c users are assigned to it and ignored for the rest of this step. With the
remaining users, we search the best position to place the first relay (i.e., the position from
which it generates the highest SNR) in case it has to serve the rest of the users. Once
placed, its closest bNu/(Nr + 1)c of the remaining users are assigned to it and ignored
for the rest of the step. This process is repeated until all of the Nr relays are placed.
Step 2: Same as Step 3 of the first algorithm, and the converged positions of the
relays are returned.
Chapter 6. Relay Placement and Movement Algorithms 25
For every time-step, these algorithms are performed and the best of the three resulted
solutions is declared as the optimal relay configuration of the time-step. Note that, in
our simulations, we noticed that the best configuration could result from either one of
the three algorithms in an almost equally likely manner.
Note that, the solution obtained in this process will just be used as a reference.
This process provides multiple attempts on a search for the optimal solution, and as our
simulations show the three obtained results might return very different placements of the
relays but they are almost similar in terms of the generated SNR, so we cannot say that
a particular one of them is substantially better than the other two. This means that
any one of the presented algorithms in this section could produce a decent solution for a
given time-step. However, we do this deep search to obtain as good of a solution as we
can, so that we can have it as a reference to our algorithm, which is presented in Section
6.3.
6.2 Suboptimal Relay Placement with User Track-
ing: VSuC
In this relay updating scheme, initially the relays are placed randomly in the cell – or
according to a particular or predefined placement strategy. To update the positions of
the relays according to this scheme, Step 3 of the first algorithm (discussed in 6.1) is
applied to that placement, until convergence. During the later time-steps, this same step
is applied on the converged relay locations of the previous time-step, with the rationale
that the relays in the previous time-step are closer to the optimal positions than any
other configuration. However, as will be explained later and shown in the simulations,
this reasoning is far from being accurate. We refer to this algorithm as Voronoi Search
until Convergence (VSuC).
Note that VSuC is the best suboptimal solution one can have, given a certain relay
Chapter 6. Relay Placement and Movement Algorithms 26
placement, since given the locations of the relays, the best way to assign the users to
them in order to maximize the objective function is to assign each users to its closest
relay. Also, given a user assignment, the best way to place the relays is to move them to
the location where they can generate the highest SNR to their assigned users. In Step
3 of the first algorithm (discussed in 6.1), these two optimizations are being performed
in an iterative way, until no further improvement can be made. This is why, given the
locations of the relays (or the user assignment), VSuC is the best solution one can come
up with.
6.3 Our Proposed Algorithm
The algorithm used here is a simple iterative algorithm. It is explained in the following
steps. Note that this is a family of algorithms. In the next section, we present three
different variations for it.
Step 1: A snapshot of the network topology is taken. It includes the positions of the
relays and the users.
Step 2: The relay assignment is performed: each user is assigned to the closest relay.
Step 3: The position of each relay is updated. Each relay performs this step inde-
pendently of the other ones. This is the step in which the three presented variations
differ. See section 6.4 for a detailed description of the variations.
Step 4: The algorithm is repeated from Step 1, after a certain time period, with the
positions of the relays found in the previous step.
Note that steps 2 and 3 of this algorithm are only repeated once in each time-step.
In other words, we do not require this algorithm to converge in a given time-step, unlike
the optimal algorithm and VSuC.
Chapter 6. Relay Placement and Movement Algorithms 27
6.4 Variations of Our Algorithm
As mentioned earlier, we have developed three different variations of the proposed algo-
rithm: We refer to the main version as local-search, Voronoi-search, and limited-space.
We remind the reader that the only difference among these three variations is in the way
the positions of the relays are updated during each time-step.
6.4.1 Variation 1: local-search
In this variation, each relay estimates the average SNR that it can generate to its assigned
users in six different directions on four different radii, i.e., for 24 different test points,
all of them residing on the grid (Figure 6.1). The reason why we have chosen these 24
test points is that (i) we do not want the relays to be placed outside the grid points (ii)
by doing so, the relays will have the option to choose one of four different speeds on six
different directions. Now, if one of those estimated SNR values is better than the one of
the current position, the relay migrates to that point. So, if we are using the selective
activation scheme to update the positions of the relays, the relay at the current position
will be deactivated and the one at the best estimated SNR test point will be activated.
6.4.2 Variation 2: Voronoi-search
We refer to this variation as Voronoi-search. This variation, instead of limiting its
search region to the 24 test points, in its third step the relays move to the best location
where they can generate the highest SNR to their assigned users in their respective
coverage regions. Arguably, this point will be inside the Voronoi region [26] of each relay,
hence the name Voronoi-search. Of course, this variation will be generating better
results than the main one, but it is much less practical, since the relays might have to
move to a location that is not reachable until the start of the next time-step.
Chapter 6. Relay Placement and Movement Algorithms 28
Grid PointsInitial PositionTest Points
Figure 6.1: Relative positions of the test points and the original position of the relay
6.4.3 Variation 3: limited-space
We refer to this variation as limited-space. The difference between this version and
local-search is that in this one the relays do not limit themselves to the 24 test points,
however they will not be able to move outside a certain predefined region for each one
of them. This is the most practical version among the three. An example of an imple-
mentation of this version can be placing the relays on rooftops. This way, the relays
might also have access to a constant source of energy. However, arguably, this will be
generating worse results than local-search.
6.5 Algorithm Comparison
In this section we compare the optimal algorithm to the family of algorithms we have
proposed. The differences between these two are very clear. Our proposed algorithm
Chapter 6. Relay Placement and Movement Algorithms 29
is iterative and distributed, while the optimal placement algorithm is non-iterative and
centralized. One can always choose to apply the optimal algorithm during every time step
to have better results, but that has some disadvantages. Being centralized by nature,
it is much more time consuming and if it were to be implemented practically there
would be lots of control signals between the base station and the relays and a lot of
computational load on the base station. On the other hand, since our proposed algorithm
is decentralized, the computational load will be much less on the base station: it is true
that the base station would still do most the communication job, but the relays in this
case are there to help with the rest. Also, the control signals in this case are just a subset
of the ones used in the optimal placement algorithm: this means that the probability of
collisions and interference problem are less of an issue, in our proposed algorithm.
Moreover, the optimal placement algorithm is non-iterative. This means that the
solution at one time step could be totally different than the previous one. So if the relays
are to move from one position to another, they may have to travel a long distance and by
the time they get to their destinations the computed solution for that time step could be
very ineffective. On the other hand, our proposed algorithm is iterative. By definition,
this means that the solution at a given time step depends on the previous one, which
means that the difference between the solutions is not that big, and so, the relays will be
able to get to their destinations quickly.
However, one might intuitively argue that if we dedicate some time to calculate the
optimal locations of the relays at some point, place the relays at the proper locations,
and then run a sort of tracking algorithm like ours, it might be possible to track the
optimal locations of the relays. This way of thinking is very intuitive, but also very
ineffective. To this end, in [25], the author shows that even a small change in the data
can lead to relatively chaotic changes in the clustering. In fact, in our simulations we
show that the final performance that our algorithm results in is on average independent
of the initial locations of the relays. This means that placing them in an optimal way in
Chapter 6. Relay Placement and Movement Algorithms 30
a given time-step is not introducing a large advantage in the long run.
To see this, we give an example in Figure 6.2. In Figure 6.2(a), the optimal way of
clustering the users (represented in black dots) into two clusters, is to cluster the ones
on the left in one cluster and the ones on the right in another, as shown in Figure 6.2(a)
by the ‘x’ marks. Now assume that these users move in a way that is shown in Figure
6.2(b). In here, e can be an infinitesimally small positive number. This way, the new
optimal clustering would be to cluster the upper two users in a cluster and the lower
ones in another, as shown in 6.2(c). Also, since in our algorithm the locations of the
relays in a given time-step depend on their locations in the previous time-step, in this
new configuration they will end up at the ‘o’ marked points in 6.2(c). Now if e is very
small, there will not be a big difference in the performance of our algorithm and that of
the optimal. However, if e is of the same order of d, this difference will be noticeable.
So, from this example we conclude that the locations of the optimal relays cannot be
tracked, since their configuration in a given time-step can be very different than that
of the previous one. In fact, if e is infinitesimally small positive number, such a small
movement of the users will create such a big jump of the optimal relays.
Note that, from one time-step to the next, if we are searching for the solution starting
from the converged one of the previous time-step, the trackability problem will not be a
big issue. However, over time errors might stack and a search for a solution as in VSuC
might diverge from the optimal one, as is shown in our simulations. However, this does
not mean that in practice, in terms of generated SNR, the performance of VSuC-type
algorithms will be bad. However, if the application requires the absolute optimal solution,
the trackability might be of concern. Also, as we have mentioned earlier, just to have the
best reference solution for our algorithm, in our simulations we require to have the best
possible solution. This means that, the trackability is an issue for us, as far as this work
is concerned.
This means that, if the application requires a quick and computationally low update
Chapter 6. Relay Placement and Movement Algorithms 31
of the positions of the relays, it is almost impossible to track the optimal solution with
the movement of the users. And since in this work we are trying to make the process as
practical and fast as possible, we should not make attempts to track the optimal solution.
This leads us to one of the main disadvantages of the proposed algorithm: it will
produce worse results than the optimal placement algorithm, for the intuitive fact that
the search for the optimal solution in the optimal algorithm is done much more deeply.
In this work, we were not able to analytically prove how much worse our algorithm will
be compared to the optimal placement, but our simulations show that, in most of the
tried cases, there is around 7-10% difference between these two schemes, in the long run.
This brings us to another disadvantage of our algorithm: it takes some time for it to
reach to a decent performance level. In the optimal placement algorithm we do not have
to worry about this issue. This can be solved if we originally place our relays optimally
and continue with the iterative algorithm. However, as discussed above, this does not
have a special advantage on the long run, thus it is just an application dependent problem.
d d
d + e
d + e
(a) Initial configuration of
the users
e e
e e
(b) The users move
d d
d - e
d - e
(c) Final configuration of the
users
Figure 6.2: An example
Chapter 6. Relay Placement and Movement Algorithms 32
6.6 Comparing Voronoi-search to VSuC
In this section, we find the conditions under which Voronoi-search (6.4.2) and VSuC
(6.2) result in the same clustering. Since the relays in Voronoi-search are not bound
to be placed on the grid, this also means that, under these conditions, the two above
mentioned placement schemes will also return the same positions of the users.
Now, lets assume that from one time-step to the next, the users do not move a
lot. This could be done by updating Voronoi-search very frequently. We also assume
that the two algorithms are updated at the same time instants and that the relays in
both are initially placed according to the optimal placement scheme of the initial user
configuration, or according to a placement scheme in which VSuC is in a converged state.
Lastly, we assume that when the movement of the users from one time-step to the next is
very small, there will be no users crossing the Voronoi cells of the current configuration of
the relays, i.e. the configuration before the positions of the relays are updated according
to either updating scheme. Note that there are no restrictions on the number of users
moving during this small time-step. From this last assumption, we can say that the
maximum step a relay can take in Voronoi-search and in the first iteration of VSuC is
the same as the maximum step a user can take. Lets call it su. This happens when all
of the users take their maximum steps and all of them move to the same direction, if the
last assumption holds.
Our aim here is to find the conditions under which both of these algorithms return the
same result. For that to happen, VSuC must do just one iteration to converge to its final
result, since that is exactly what Voronoi-search does. This means that, after VSuC
does this iteration, the relays must stay with the same user configuration to guarantee
the convergence of VSuC. This further means that within a distance su from each of the
boundaries of the Voronoi regions of the current relay configuration there must be no
users after their movement (the shaded region in Figure 6.3). We refer to this region as
“restricted” for the rest of this section. The aim now is to calculate the maximum area of
Chapter 6. Relay Placement and Movement Algorithms 33
this region to find the minimum probability of such an event occurring (not having users
in the restricted region). To do that, we know that each of the Voronoi region edges is
less than the largest distance, 2r, in the cell. In here, we can say that r is the radius of
the smallest circle that includes all of the boundaries of the cell.
2su
Figure 6.3: Voronoi regions of three relays and the “restricted” region for the users
(shaded area)
It remains to find an upper bound on the number of edges in a Voronoi graph. Given
the fact that there are (Nr+1) relays in the cell, including the base station, the maximum
number of edges would be to have a boundary between each pair of relays. This would
give us a maximum of(Nr+1
2
)= (Nr + 1)Nr/2 edges. Thus, the maximum area of the
restricted region would be Arestricted = 2r × 2su × (Nr + 1)Nr/2 = 2(Nr + 1)Nrsur.
This means that the maximum probability of having a single user in the restricted
region is p = 2(Nr + 1)Nrsur/Acell, where Acell is the total area of the cell. We can now
lower bound the probability of the above mentioned event, A (having no users in the
restricted region).
Chapter 6. Relay Placement and Movement Algorithms 34
P (A) ≥ (1− p)Nu =
(1− 2(Nr + 1)Nrsur
Acell
)Nu
(6.1)
In (6.1), Nu is the total number of users.
As it can be seen, the lower bound of P (A) approaches to one as su goes to zero.
This means that if we update the positions of the relays with Voronoi-search very
frequently, and if in a previous time-step the relays in there were at the same positions of
the relays in VSuC, in the next time-step the relays in both of these algorithms will be
at the same positions with probability P (A). Further, when the positions of the relays
in Voronoi-search are uninterruptedly updated, i.e. when su = 0, P (A) = 1.
Chapter 7
Bound of the Algorithm
7.1 Two Relay Placement Performances
In this section, we formulate the performance of two special types of fixed relay place-
ments.
7.1.1 Random Relay Placement Performance
By “random relay placement,” we mean that the relays are placed randomly, according
to a uniform distribution, over the area of the cell. In this case, we treat the base station
as a relay as well, which also is randomly placed.
The performance of this kind of placement is discussed in [27]. In [27], the authors
consider two independent Poisson point processes, Π0 and Π1, with intensities λ0 and
λ1 respectively, the points (also called particles) of which are distributed over the same
area. The definition of the intensity is that over a certain percentage, p, of the total
area, A, one will expect to have pAλi Πi-particles. After, the points of the two processes
are generated and placed in the area, the authors consider the Voronoi partitioning of
the area, with respect to the Π1-particles, and the membership of the Π0-particles to
these Voronoi cells, i.e. if a Π0-particle, i, is in the Voronoi cell of a Π1-particle, j, i is a
35
Chapter 7. Bound of the Algorithm 36
member of j. Note that, any Π0-particle could be the member of just one Π1-particle. An
example is illustrated in Figure 7.1 (The hexagonally shaped cell is just for the sake of
an example). Next, the authors consider a Euclidean distance function, f(.), between a
Π1-particle and its members, and they analytically express the first and second moments
of the sum of f(.), Sf , in any one of the Voronoi cells, between the Π1-particle and its
members.
Π1−particles
Π0−particles
Figure 7.1: Π1-particle Voronoi cells and Π0-particle memberships
There is a good resemblance between this work and ours. The Π1-particles of [27] are
similar to relays and the Π0-particles are similar to the users of our work, in terms of
Voronoi cell creation and membership. Also, the SNR in our work is a function purely
Chapter 7. Bound of the Algorithm 37
dependent on Euclidean distance. So, we can use the results of this work to find the
performance, i.e. the average SNR generated by each relay, under uniform relay and user
distributions. In our case, we just need the first moment of Sf . It is expressed in (7.1)
[27].
ESf = λ0
∫f(x)e−λ1π|x|2dx (7.1)
In (7.1), x represents the Euclidean distance. In our case, f(x) =(√
x2 + h2)−α
,
λ0 = Nu/Acell, and λ1 = (Nr + 1)/Acell, where h is the height of the relays, α is the
pathloss exponent, Nu is the number of users, Nr is the number of relays (as previously
defined), and Acell is the area of the cell. Note that (Nr +1) accounts for the base station
as well. Also, since we want to express the average SNR and not the sum SNR, we can
divide (7.1) by the average number of users per relay (λ0/λ1) to get the expression of the
average SNR, when the relays are uniformly randomly placed. It is given in (7.2). Note
that it does not depend on λ0.
SNRrand = λ1
∫ (√x2 + h2
)−αe−λ1π|x|2dx (7.2)
Figure 7.2 compares the analytical expression to the simulation results, in an hexag-
onal cell with radius r = 10, h = 2, and α = 2 with different number of users and relays.
The simulation results are the average of thirty runs. Note the accuracy of the expression
and its non-dependence on the number of users, or equivalently its non-dependence on
λ0.
7.1.2 Regular Relay Placement Performance
By “regular relay placement,” we mean that the relays are placed in a way to serve an
almost equal portion of the total area of the cell. An example of such a placement, with
six relays and the base station at the center of the cell, is shown in Figure 7.3.
Chapter 7. Bound of the Algorithm 38
0 5 10 15 20 25
0.08
0.09
0.1
0.11
0.12
0.13
0.14
0.15
0.16
Number of Relays
SN
R
Simulation − 100 UsersSimulation − 500 UsersAnalysis
Figure 7.2: Performance of randomly placed relays as a function of the number of relays
and users
Figure 7.3: Regular placement of 6 relays
Chapter 7. Bound of the Algorithm 39
The performance of this kind of placement is fairly simple to be expressed analytically.
First, to make things simpler let us just assume that the serving area of each relay (or that
of the base station) can be approximated by a square. However, note that the locations
of the relays in this case are predefined. This means that we can also perform the exact
calculation of the serving area of each relay. However in that case, the expression will be
very specific to the number of relays. So, to generalize the expression and to make the
calculations simpler, we are going to make the above mentioned assumption.
Let us assume that Acell is the total area in the cell. So each of the serving areas of
the relays is given by: Arelay = Acell/(Nr + 1), where Nr + 1 is the number of relays,
including the base station. This means that the side of the square serving area is given
by: rs =√Arelay = 1/
√λ1. Note that, this could be applied on any type of randomly
shaped cell. The important part here is to get the size of the square’s side. For that, all
we need is the total area of the cell of any shape.
Now since the users are uniformly distributed in the total cell and the relays are placed
regularly, we can simply assume that the users inside each of the serving areas are also
distributed according to a uniform distribution in each of the serving areas. Moreover,
since by definition all of the serving areas are equal, the average generated SNR in each
of them must be the same. So, let us just consider the serving area of the base station.
The average SNR of this placement strategy is thus given by (7.3). Note that, like (7.2),
(7.3) does not depend on the number of users.
SNRreg ≈1
r2s
∫ rs/2
−rs/2
∫ rs/2
−rs/2
(√x2 + y2 + h2
)−α/2dxdy (7.3)
Figure 7.4 compares the analytical expression to the simulation results, in an hexag-
onal cell with radius r = 10, h = 2, and α = 2 with different number of users and relays.
The simulation results are the average of thirty runs. Note the accuracy of the expression
and its non-dependence on the number of users.
Chapter 7. Bound of the Algorithm 40
0 5 10 15 20 250.08
0.1
0.12
0.14
0.16
0.18
0.2
Number of Relays
SN
R
Simulation − 100 UsersSimulation − 500 UsersAnalysis
Figure 7.4: Performance of regularly placed relays as a function of the number of relays
and users
7.2 Upper and Lower Bounds of the Algorithm
Equation (7.2) is a clear lower bound on the performance of all three variations of our
algorithm. This is true, because at any time-step we can look at the relays in the algo-
rithm as an improved version of randomly placed fixed relays. Of course, the improvement
comes because of the update of the locations at every time-step. However, if at the initial
time-step the relays are regularly placed, we can argue that the lower bound in this case
is equation (7.3). Again, this bound applies on all three variations of the algorithm.
On the other hand, we can say that a trivial upper bound on the optimal placement
is h−α. We can see this from equation (5.5). This bound could be reached in two cases:
(i) if there are more relays than users, and (ii) all of the users are under their respective
relays. In the first case, each relay will be serving at most one user. This means that
in the optimal placement the relays that are serving users will be placed directly on top
of them. So the height of the relays will be the only distance difference between the
Chapter 7. Bound of the Algorithm 41
relays and their respective users. Thus, (5.5) will be reduced to h−α in every cluster. In
the second case, by default, the distance difference between each relay and its respective
users is just the height of the relay, which guides us to the same conclusion as in the first
case. This bound might seem very unrealistic, but our simulations show that there are
cases, in which the performance of the optimal placement algorithm comes very close to
it.
Now, having upper and lower bounds for the algorithm, we can find a constant factor
approximation for it. A general constant factor can be given in (7.4).
β1 =h−α
SNRrand
(7.4)
However, if the relays are initially regularly placed, this factor can be improved and
expressed by (7.5).
β2 =h−α
SNRreg
(7.5)
Note that both of these factors are inversely related with the density of relays (λ1).
Chapter 8
Simulation Results
In all of the following simulations, the results are obtained by averaging the results of
thirty independent runs.
8.1 Effect of the Mobility Models
The simulations in this section were done using 6 relays and a base station at the center of
the cell. The regularly fixed relays are placed according to Fig. 7.3 shown above. The cell
is hexagonal, with radius r = 10. The relays have a height h = 2. The pathloss exponent
is α = 2. There are 50 users, moving according to either one of the three mobility models
or not moving at all. When the users are moving, their maximum step size from one
time-step to the next is 1, the maximum step size of the relays in local-search is 1,
and the relays in limited-space search within a radius of 1 from their initial locations.
8.1.1 Fixed Users
In this section the users are fixed. Figure 8.1 compares the three variations of our al-
gorithm to their respective fixed placements and to the optimal placement, which was
obtained by the optimal placement algorithm discussed earlier (Section 6.1). Note that
42
Chapter 8. Simulation Results 43
both of these simulation sets were performed on the same sets of users, which makes
the optimal solution the exact same in both. As expected, the steady state perfor-
mance grows higher in the following order: fixed relays, limited-space, local-search,
Voronoi-search, optimal placement. However, in the same order, the algorithms be-
come less practical. Table 8.1 compares the performance differences between the three
variations of the algorithm and their respective fixed and optimal placements. Notice the
large improvement of local-search and Voronoi-search over the fixed placement and
their closeness to the optimal placement.
8.1.2 Mobile Users: Uniform Mobility
In this section the users move according to the uniform mobility.
Figure 8.2 compares the three variations of our algorithm to their respective fixed
placements and to the optimal placement. By “initially optimally placed,” we mean
that during the first time-step the optimal placement was performed and the relays in
the algorithms started to move from the computed locations. Note that all three of
these simulation sets were performed on the same sets of users, which makes the optimal
solution the exact same in all of them. Again, the steady state performance grows higher
in the following order: fixed relays, limited-space, local-search, Voronoi-search,
optimal placement. When we compare these three figures to each other, we see that the
steady state performance of local-search is independent of the initial placement of the
relays. This is an important result, as it shows the stability of the algorithm. Also, one
might think that the users with this mobility model will not deviate a lot from their
initial locations. So, intuitively, if we place fixed relays at the optimal locations of the
initial time-step, we would expect decent results. However, as Figure 8.2(c) shows, the
performance of this placement is worse than that of the regular placement, on average.
Finally, our intention of starting local-search and Voronoi-search from the optimal
position of the initial time-step was to try to track the optimal locations of the relays.
Chapter 8. Simulation Results 44
0 5 10 15 20 25 300.115
0.12
0.125
0.13
0.135
0.14
0.145
0.15
time
SN
R
Optimal Placementlimited−spacelocal−searchVoronoi−searchFixed Relays
(a)
0 5 10 15 20 25 300.09
0.1
0.11
0.12
0.13
0.14
0.15
time
SN
R
Optimal Placementlimited−spacelocal−searchVoronoi−searchFixed Relays
(b)
Figure 8.1: SNR vs. time for 50 fixed users, when the relays are initially placed (a)
regularly, and (b) randomly
Table 8.1: Performance Comparison with Fixed Users
Initial Placement: Regular Random
% Difference with:Fixed Optimal Fixed Optimal
Relays Placement Relays Placement
limited-space 9.85% 10.84% 13.30% 27.37%
local-search 16.75% 3.48% 29.65% 10.67%
Voronoi-search 17.21% 2.93% 32.92% 6.14%
Chapter 8. Simulation Results 45
However, as 8.2(c) shows, we failed to achieve that objective, since a small change in
the positions of the users induce a large deviation in the optimal placement, as discussed
earlier. Table 8.2 compares the performance differences between the three variations of
the algorithm and their respective fixed and optimal placements.
8.1.3 Mobile Users: Converging Mobility
In this section the users move according to the converging mobility.
Figure 8.3 compares the three variations of our algorithm to their respective fixed
placements and to the optimal placement. In here, the users converge to six centers
of attraction. On these plots there is an additional placement strategy, in which we
place fixed relays at the centers. We refer to this placement as FRatC (Fixed Relays at
Centers). Note that all three of these simulation sets were performed on the same sets of
users, which makes the optimal solution and the performance of FRatC the exact same in
all of them. The steady state performance of the algorithms, compared to each other and
to the fixed and optimal placements, is predictable and similar to the previous results.
Something new to note from these plots is that the performance of the optimal placement
is very close to its upper bound h−α = 0.25, in this scenario. Also, the performance of
FRatC slightly outperforms local-search and Voronoi-search. The explanation for
such a behavior is that during some of the runs, the mobile relays are not converging
to all of the centers. In other words, there may be some runs, during which some of
the centers are remaining “relay-less,” while others are attracting more than one. This
means that, FRatC is a trivial solution in this mobility scheme. However, if the centers
are not known beforehand, the relays of our algorithm will be able to produce good
results. Table 8.3 compares the performance differences between the three variations of
the algorithm and their respective fixed and optimal placements. The difference between
the fixed strategies and the mobile relays are really noticeable in such a scenario.
In Figures 8.4 and 8.5, we present some results with three and twelve centers of
Chapter 8. Simulation Results 46
0 5 10 15 20 25 300.11
0.115
0.12
0.125
0.13
0.135
0.14
0.145
0.15
time
SN
R
Optimal Placementlimited−spacelocal−searchVoronoi−searchFixed Relays
(a)
0 5 10 15 20 25 300.09
0.1
0.11
0.12
0.13
0.14
0.15
time
SN
R
Optimal Placementlimited−spacelocal−searchVoronoi−searchFixed Relays
(b)
0 5 10 15 20 25 300.115
0.12
0.125
0.13
0.135
0.14
0.145
0.15
time
SN
R
Optimal Placementlimited−spacelocal−searchVoronoi−searchFixed Relays
(c)
Figure 8.2: SNR vs. time for 50 mobile users, moving according to the uniform mobility,
when the relays are initially placed (a) regularly, (b) randomly, and (c) optimally
Table 8.2: Performance Comparison with Mobile Users in Uniform Mobility
Initial Placement: Regular Random Optimal
% Difference with:Fixed Optimal Fixed Optimal Fixed Optimal
Relays Placement Relays Placement Relays Placement
limited-space 10.21% 10.71% 12.53% 23.05% 6.75% 6.68%
local-search 16.43% 4.09% 27.19% 7.73% 10.84% 2.45%
Voronoi-search 17.91% 2.33% 30.27% 3.49% 11.47% 1.75%
Chapter 8. Simulation Results 47
0 5 10 15 20 25 300.08
0.1
0.12
0.14
0.16
0.18
0.2
0.22
0.24
time
SN
R
Optimal Placementlimited−spacelocal−searchVoronoi−searchFixed RelaysFixed Relays at Centers
(a)
0 5 10 15 20 25 300.08
0.1
0.12
0.14
0.16
0.18
0.2
0.22
0.24
time
SN
R
Optimal Placementlimited−spacelocal−searchVoronoi−searchFixed RelaysFixed Relays at Centers
(b)
0 5 10 15 20 25 300.08
0.1
0.12
0.14
0.16
0.18
0.2
0.22
0.24
time
SN
R
Optimal Placementlimited−spacelocal−searchVoronoi−searchFixed RelaysFixed Relays at Centers
(c)
Figure 8.3: SNR vs. time for 50 mobile users, in converging mobility, with 6 centers,
when the relays are initially placed (a) regularly, (b) randomly, and (c) optimally
Table 8.3: Performance Comparison with Mobile Users in Converging Mobility with 6
Centers
Initial Placement: Regular Random Optimal
% Difference with:Fixed Optimal Fixed Optimal Fixed Optimal
Relays Placement Relays Placement Relays Placement
limited-space 20.25% 29.06% 21.86% 46.14% 19.79% 33.02%
local-search 41.14% 4.43% 54.19% 9.23% 44.40% 4.29%
Voronoi-search 41.67% 3.46% 55.24% 6.50% 44.96% 3.33%
Chapter 8. Simulation Results 48
0 5 10 15 20 25 300.08
0.1
0.12
0.14
0.16
0.18
0.2
0.22
0.24
time
SN
R
Optimal Placementlimited−spacelocal−searchVoronoi−searchFixed RelaysFixed Relays at Centers
(a)
0 5 10 15 20 25 300.08
0.1
0.12
0.14
0.16
0.18
0.2
0.22
0.24
time
SN
R
Optimal Placementlimited−spacelocal−searchVoronoi−searchFixed RelaysFixed Relays at Centers
(b)
0 5 10 15 20 25 300.08
0.1
0.12
0.14
0.16
0.18
0.2
0.22
0.24
Optimal Placementlimited−spacelocal−searchVoronoi−searchFixed RelaysFixed Relays at Centers
(c)
Figure 8.4: SNR vs. time for 50 mobile users, in converging mobility, with 3 centers,
when the relays are initially placed (a) regularly, (b) randomly, and (c) optimally
Table 8.4: Performance Comparison with Mobile Users in Converging Mobility with 3
Centers
Initial Placement: Regular Random Optimal
% Difference with:Fixed Optimal Fixed Optimal Fixed Optimal
Relays Placement Relays Placement Relays Placement
limited-space 20.57% 29.91% 21.00% 40.68% 16.07% 30.72%
local-search 43.02% 3.17% 51.20% 4.96% 40.40% 3.10%
Voronoi-search 43.67% 1.92% 52.02% 2.95% 41.04% 2.06%
Chapter 8. Simulation Results 49
0 5 10 15 20 25 300.08
0.1
0.12
0.14
0.16
0.18
0.2
0.22
time
SN
R
Optimal Placementlimited−spacelocal−searchVoronoi−searchFixed RelaysFixed Relays at Centers
(a)
0 5 10 15 20 25 300.08
0.1
0.12
0.14
0.16
0.18
0.2
0.22
time
SN
R
Optimal Placementlimited−spacelocal−searchVoronoi−searchFixed RelaysFixed Relays at Centers
(b)
0 5 10 15 20 25 300.08
0.1
0.12
0.14
0.16
0.18
0.2
0.22
time
SN
R
Optimal Placementlimited−spacelocal−searchVoronoi−searchFixed RelaysFixed Relays at Centers
(c)
Figure 8.5: SNR vs. time for 50 mobile users, in converging mobility, with 12 centers,
when the relays are initially placed (a) regularly, (b) randomly, and (c) optimally
Table 8.5: Performance Comparison with Mobile Users in Converging Mobility with 12
Centers
Initial Placement: Regular Random Optimal
% Difference with:Fixed Optimal Fixed Optimal Fixed Optimal
Relays Placement Relays Placement Relays Placement
limited-space 19.79% 24.28% 18.16% 37.93% 17.26% 22.27%
local-search 35.88% 5.62% 44.37% 9.29% 32.14% 5.58%
Voronoi-search 37.00% 3.84% 45.42% 7.11% 33.12% 4.22%
Chapter 8. Simulation Results 50
convergence, to see if there are any differences in the performances. When we have three
centers, three fixed relays in FRatC are placed at the three centers and the other three
are placed randomly. Whereas when we have twelve centers, the relays in this strategy
are placed at six random centers out of the twelve. Although the results are very similar
to the ones with six centers, we present the summary of these two scenarios in Tables 8.4
and 8.5, for the completeness of the work. One important observation here is that FRatC
no longer performs as well as local-search and Voronoi-search. The explanation for
this is that, with three centers, more than one relay might converge to one center, since
there are more relays than centers, and with twelve centers a relay might equally serve
two centers, instead of concentrating on just one, as in FRatC.
8.1.4 Mobile Users: Group Mobility
In this section the users move according to the group mobility. In the simulation results,
the maximum step that a group center can take, from one time step to the next, is 1.
Figure 8.6 compares the three variations of our algorithm to their respective fixed
placements and to the optimal placement. Here, the users move in six groups. Again,
all three of these simulation sets were performed on the same sets of users, which makes
the optimal solution the exact same in all of them. The steady state performance of
the algorithms, compared to each other and to the fixed and optimal placements, is
predictable and similar to the previous results. Also, the performance of the optimal
placement is very close to its upper bound h−α = 0.25, in this scenario. An important
observation here is that, when the relays start at the optimal locations (Figure 8.6(c)),
they are being able to track the optimal solution in a more efficient way than the previous
cases. The explanation for this behavior is that, intuitively, there will only be one optimal
relay in each group throughout the entire time window, since there are as many groups as
relays, if the groups are well separated from each other. So, if the relays are placed at the
optimal locations initially (or during any time-step), they will stick to the groups, since
Chapter 8. Simulation Results 51
they have the same maximum speed. Table 8.6 compares the performance differences
between the three variations of the algorithm and their respective fixed and optimal
placements. The difference between the fixed strategies and the mobile relays are really
noticeable in such a scenario.
In Figures 8.7 and 8.8, we present some results with three and twelve moving groups,
to see if there are any differences in the performances. Although the results are very
similar to the ones with six centers, we present the summary of these two scenarios in
Tables 8.7 and 8.8, for the completeness of the work. Again, with three groups, more
than one relay might converge to each group and with twelve groups, some may remain
“relay-less.” That is why, in the first case, the performance of the algorithm is better
and in the second, it is worse, compared to the case with six groups.
8.2 Effect of the Number of Relays and Users
The conditions of the simulations in this section are the same as in the previous section,
with the exception that in the following ones we vary the number of relays from 3 to 24,
with steps of 3, and we simulate with different number of users. In here, we compare
the results of three types relay placement strategies: regular placement, mobile relays
(local-search), and optimal placement. The results were taken after local-search
reached a steady-state.
8.2.1 Users Moving with Uniform Mobility
Figure 8.9 shows the results with varying number of relays and users, and Table 8.9
compares the performance of our algorithm to the other placement strategies. As it can
be noticed the percent difference between local-search and the optimal placement is
decreasing with the number of users. However, the same observation is also true for the
percentage difference with the regular placement. This is a result to be expected because
Chapter 8. Simulation Results 52
0 5 10 15 20 25 300.1
0.15
0.2
0.25
time
SN
R
Optimal Placementlimited−spacelocal−searchVoronoi−searchFixed Relays
(a)
0 5 10 15 20 25 300.08
0.1
0.12
0.14
0.16
0.18
0.2
0.22
0.24
0.26
time
SN
R
Optimal Placementlimited−spacelocal−searchVoronoi−searchFixed Relays
(b)
0 5 10 15 20 25 300.17
0.18
0.19
0.2
0.21
0.22
0.23
0.24
0.25
time
SN
R
Optimal Placementlimited−spacelocal−searchVoronoi−searchFixed Relays
(c)
Figure 8.6: SNR vs. time for 50 mobile users, moving according to the group mobility,
in 6 groups, when the relays are initially placed (a) regularly, (b) randomly, and (c)
optimally
Table 8.6: Performance Comparison with Mobile Users in Group Mobility with 6 Groups
Initial Placement: Regular Random Optimal
% Difference with:Fixed Optimal Fixed Optimal Fixed Optimal
Relays Placement Relays Placement Relays Placement
limited-space 30.00% 37.00% 22.26% 53.90% 13.07% 3.63%
local-search 53.23% 6.18% 58.59% 14.88% 16.04% 0.39%
Voronoi-search 54.37% 3.36% 60.44% 9.41% 16.32% 0.07%
Chapter 8. Simulation Results 53
0 5 10 15 20 25 300.08
0.1
0.12
0.14
0.16
0.18
0.2
0.22
0.24
0.26
time
SN
R
Optimal Placementlimited−spacelocal−searchVoronoi−searchFixed Relays
(a)
0 5 10 15 20 25 300.06
0.08
0.1
0.12
0.14
0.16
0.18
0.2
0.22
0.24
0.26
time
SN
R
Optimal Placementlimited−spacelocal−searchVoronoi−searchFixed Relays
(b)
0 5 10 15 20 25 300.18
0.19
0.2
0.21
0.22
0.23
0.24
0.25
time
SN
R
Optimal Placementlimited−spacelocal−searchVoronoi−searchFixed Relays
(c)
Figure 8.7: SNR vs. time for 50 mobile users, moving according to the group mobility,
in 3 groups, when the relays are initially placed (a) regularly, (b) randomly, and (c)
optimally
Table 8.7: Performance Comparison with Mobile Users in Group Mobility with 3 Groups
Initial Placement: Regular Random Optimal
% Difference with:Fixed Optimal Fixed Optimal Fixed Optimal
Relays Placement Relays Placement Relays Placement
limited-space 33.63% 36.50% 29.15% 57.10% 12.11% 3.15%
local-search 56.82% 2.96% 65.76% 13.28% 14.38% 0.76%
Voronoi-search 57.52% 0.82% 67.30% 7.07% 14.68% 0.41%
Chapter 8. Simulation Results 54
0 5 10 15 20 25 300.1
0.11
0.12
0.13
0.14
0.15
0.16
0.17
0.18
0.19
0.2
time
SN
R
Optimal Placementlimited−spacelocal−searchVoronoi−searchFixed Relays
(a)
0 5 10 15 20 25 300.08
0.1
0.12
0.14
0.16
0.18
0.2
time
SN
R
Optimal Placementlimited−spacelocal−searchVoronoi−searchFixed Relays
(b)
0 5 10 15 20 25 30
0.15
0.16
0.17
0.18
0.19
0.2
time
SN
R
Optimal Placementlimited−spacelocal−searchVoronoi−searchFixed Relays
(c)
Figure 8.8: SNR vs. time for 50 mobile users, moving according to the group mobility,
in 12 groups, when the relays are initially placed (a) regularly, (b) randomly, and (c)
optimally
Table 8.8: Performance Comparison with Mobile Users in Group Mobility with 12 Groups
Initial Placement: Regular Random Optimal
% Difference with:Fixed Optimal Fixed Optimal Fixed Optimal
Relays Placement Relays Placement Relays Placement
limited-space 21.13% 30.86% 18.93% 45.49% 12.39% 4.59%
local-search 39.92% 9.45% 47.52% 16.41% 15.66% 1.06%
Voronoi-search 42.34% 5.41% 51.67% 8.60% 16.23% 0.41%
Chapter 8. Simulation Results 55
as the number of users grows in the cell, the distribution of the users will become more
and more close to a perfectly uniform distribution and since the regular relays serve an
almost equal portion of the total area, the performance of the placement will approach
to that of the optimal.
8.2.2 Users Moving with Group Mobility
In this section the users move in 18 groups. Figure 8.10 shows the results with varying
number of relays and users, and Table 8.10 compares the performance our algorithm to
the other placement strategies. Not much can be concluded from those results. However,
it seems that the gain of the mobile relays on the fixed placement is almost constant.
The same conclusion can be made about the difference between the mobile and optimal
relays. Moreover, we can see that when we have more than 18 relays the gap between
the mobile and optimal relays’ performances is closing. That is because with more relays
than groups, more than one relays could serve some of the groups. Finally, note that the
performance of the optimal is almost reaching its upper bound of h−α = 0.25.
8.3 Effect of the Algorithm Update Frequency
In this section, we run our simulations with 6 relays and 50 users, moving according
to the uniform mobility. The rest of the variables are the same as in the previous two
sections. In here, we see the effect of updating the positions of the relays with a faster
frequency. This is another attempt in order to track the optimal locations of the relays.
In the following graphs, we plot the SNR vs. time for four different update strategies:
optimal placement, local-search, Voronoi-search, and VSuC. However, since we are
interested in tracking the optimal solution, instead of starting with random or regular
initial placement, in the simulations the relays will start at the optimal positions of the
initial time-step.
Chapter 8. Simulation Results 56
0 5 10 15 20 250.08
0.1
0.12
0.14
0.16
0.18
0.2
0.22
0.24
Number of Relays
SN
R
Fixed Relayslocal−searchOptimal Placement
(a)
0 5 10 15 20 250.08
0.1
0.12
0.14
0.16
0.18
0.2
0.22
Number of Relays
SN
R
Fixed Relayslocal−searchOptimal Placement
(b)
0 5 10 15 20 250.08
0.1
0.12
0.14
0.16
0.18
0.2
Number of Relays
SN
R
Fixed Relayslocal−searchOptimal Placement
(c)
0 5 10 15 20 250.08
0.1
0.12
0.14
0.16
0.18
0.2
Number of Relays
SN
R
Fixed Relayslocal−searchOptimal Placement
(d)
Figure 8.9: SNR vs. number of relays for (a) 50, (b) 100, (c) 200, and (d) 500 mobile
users, moving according to the uniform mobility
Table 8.9: Performance Comparison Under Uniform Mobility with Varying Number of
Users and Relays
Difference between Difference between
Number of Users mobile and mobile relays and
fixed relays optimal placement
50 16.44% 5.22%
100 10.63% 3.31%
200 6.66% 2.40%
500 3.21% 1.48%
Chapter 8. Simulation Results 57
0 5 10 15 20 250.08
0.1
0.12
0.14
0.16
0.18
0.2
0.22
0.24
0.26
Number of Relays
SN
R
Fixed Relayslocal−searchOptimal Placement
(a)
0 5 10 15 20 250.08
0.1
0.12
0.14
0.16
0.18
0.2
0.22
0.24
0.26
Number of Relays
SN
R
Fixed Relayslocal−searchOptimal Placement
(b)
0 5 10 15 20 250.08
0.1
0.12
0.14
0.16
0.18
0.2
0.22
0.24
0.26
Number of Relays
SN
R
Fixed Relayslocal−searchOptimal Placement
(c)
0 5 10 15 20 250.08
0.1
0.12
0.14
0.16
0.18
0.2
0.22
0.24
0.26
Number of Relays
SN
R
Fixed Relayslocal−searchOptimal Placement
(d)
Figure 8.10: SNR vs. number of relays for (a) 50, (b) 100, (c) 200, and (d) 500 mobile
users, moving in 18 groups
Table 8.10: Performance Comparison Under Group Mobility with Varying Number of
Users and Relays
Difference between Difference between
Number of Users mobile and mobile relays and
fixed relays optimal placement
50 29.87% 2.82%
100 25.75% 3.13%
200 24.63% 2.89%
500 25.08% 2.97%
Chapter 8. Simulation Results 58
In here, by reference update frequency we mean updating once when the users, in
uniform mobility, choose their speeds and angles and once just before choosing the next
speed-angle pairs. Further, by updating n times faster than the reference frequency we
mean updating once when the users choose their speed-angle pairs and another (n − 1)
times before they choose their next pairs, of course with the new positions of the users.
Figure 8.11 shows the results and Table 8.11 compares the performances of local
-search and Voronoi-search to VSuC and the optimal placement. It can be seen that
even with a faster update frequency, the tracking of the optimal solution seems impos-
sible. However, these results show that our Voronoi-search variation can actually be
very close to VSuC even with a 5 times faster frequency. This is a good result, as VSuC
is the best suboptimal placement, if we do not want to run the optimal placement algo-
rithm during every time-step. Another interesting observation is that the performance
of local-search is being improved when the update frequency is 5 times faster than
the reference case, but after that its performance with respect to the optimal placement
and VSuC is staying almost constant as the update frequency becomes faster, whereas
the performance of Voronoi-search is always being improved – although slowly – both
with respect to the optimal placement and VSuC as the update frequency increases.
This means that there is a potential of proving that local-search is a constant factor
approximation of both the optimal placement and VSuC, the factor of which does not
change with the update frequency. On the other hand, the same conclusion can be made
about Voronoi-search with the difference that in this case the constant factor would be
a decreasing function of the update frequency.
We also have conducted some simulations with different user speeds, while varying
the update frequency. Tables 8.12 and 8.13 compare the performances of local-search
and Voronoi-search to the ones of the optimal placement and VSuC, with user speeds
of 2 and 5, respectively. In here, to avoid repetition, we do not plot the SNR vs. time
curves of these cases. The same conclusions as of the previous case can be made in here
Chapter 8. Simulation Results 59
as well. A further conclusion is that the constant factors of both local-search and
Voronoi-search should be increasing functions of the user speed.
0 5 10 15 20 25 30
0.14
0.142
0.144
time
SN
R
Optimal PlacementVSuCVoronoi−searchlocal−search
(a)
0 5 10 15 20 25 300.14
0.142
0.144
time
SN
R
Optimal PlacementVSuCVoronoi−searchlocal−search
(b)
0 5 10 15 20 25 300.14
0.142
0.144
time
SN
R
Optimal PlacementVSuCVoronoi−searchlocal−search
(c)
0 5 10 15 20 25 300.14
0.142
0.144
time
SN
R
Optimal PlacementVSuCVoronoi−searchlocal−search
(d)
0 5 10 15 20 25 300.14
0.142
0.144
time
SN
R
Optimal PlacementVSuCVoronoi−searchlocal−search
(e)
0 5 10 15 20 25 300.14
0.142
0.144
time
SN
R
Optimal PlacementVSuCVoronoi−searchlocal−search
(f)
Figure 8.11: SNR vs. number with (a) reference update frequency, (b) update frequency
5 times faster than the reference, (c) update frequency 10 times faster than the reference,
(d) update frequency 20 times faster than the reference, (e) update frequency 50 times
faster than the reference, and (f) update frequency 100 times faster than the reference
Chapter 8. Simulation Results 60
Table 8.11: Performance Comparison with Different Algorithm Update Frequencies
Update Frequency % Difference with: VSuCOptimal
Placement
Referencelocal-search 1.07% 2.41%
Voronoi-search 0.45% 1.80%
5Xlocal-search 0.47% 1.86%
Voronoi-search 0.03% 1.40%
10Xlocal-search 0.43% 1.78%
Voronoi-search 0.02% 1.35%
20Xlocal-search 0.51% 1.87%
Voronoi-search 0.008% 1.34%
50Xlocal-search 0.52% 1.86%
Voronoi-search 0.003% 1.32%
100Xlocal-search 0.52% 1.85%
Voronoi-search 0.002% 1.30%
Chapter 8. Simulation Results 61
Table 8.12: Performance Comparison with Different Algorithm Update Frequencies
(Maximum User Speed of 2)
Update Frequency % Difference with: VSuCOptimal
Placement
Referencelocal-search 3.55% 5.51%
Voronoi-search 1.98% 3.97%
5Xlocal-search 0.31% 3.50%
Voronoi-search 0.18% 2.39%
10Xlocal-search 1.11% 3.19%
Voronoi-search 0.07% 2.16%
20Xlocal-search 1.07% 3.18%
Voronoi-search 0.03% 2.13%
50Xlocal-search 1.15% 3.06%
Voronoi-search 0.01% 1.89%
100Xlocal-search 1.15% 3.07%
Voronoi-search 0.006% 1.88%
Chapter 8. Simulation Results 62
Table 8.13: Performance Comparison with Different Algorithm Update Frequencies
(Maximum User Speed of 5)
Update Frequency % Difference with: VSuCOptimal
Placement
Referencelocal-search 11.12% 13.66%
Voronoi-search 4.28% 7.01%
5Xlocal-search 2.09% 4.67%
Voronoi-search 0.98% 3.52%
10Xlocal-search 1.25% 3.78%
Voronoi-search 0.42% 2.91%
20Xlocal-search 1.16% 3.49%
Voronoi-search 0.11% 2.54%
50Xlocal-search 1.12% 3.46%
Voronoi-search 0.04% 2.33%
100Xlocal-search 1.12% 3.25%
Voronoi-search 0.02% 2.17%
Chapter 9
Conclusion
9.1 Main Ideas
In the course of this work, we have looked into the problem of maximizing the SNR in
a wireless network using mobile relays, knowing the positions of the mobile users. After
formulating the required optimization problem to do such a task, we realized that the
optimal positions of the relays cannot be continuously tracked, and so we have developed
a family of tracking algorithms, with which we try to maximize the SNR at a given time-
step as much as possible. Moreover, we present two different options for the application
of this algorithm; in a fully distributed fashion and in a semi distributed way. In the
former, the user to relay assignment is done in a distributed way and in the latter it is
done in a more centralized manner. Further, in both, the relays take their movement
decisions independent from each other and without the intervention of the base station.
Also, to this family of algorithms, we present three different variations to update the
positions of the relay stations.
In terms of theoretical analysis, we find the conditions, through which one of the
variations of the algorithm can produce the same results as a suboptimal version of
the optimization problem. Note that other sets of conditions can also be found for
63
Chapter 9. Conclusion 64
this statement to be true. Also, we upper and lower bound the three variations of the
algorithm. Although these bounds are very trivial, the simulations show that they might
be very accurate in some cases.
In our simulations, we compare the performances of the three different variations of the
algorithm to fixed and optimal placement schemes, under different system parameters. In
some of the cases, we try to track the optimal positions of the relays by placing the relays
in our algorithm at the optimal positions of the user configuration os the initial time-step
and by updating their positions with a faster frequency. However, these attempts always
fail confirming the fact that the positions of the optimal solution cannot be continuously
tracked.
Despite that, in our simulations we always see a performance improvement by our
algorithm over any fixed placement scheme, reaching to 50-60% improvement in some
cases. Further, the simulations show that the performance of our algorithm comes closer
to that of the optimal with the number of relays and with the algorithm update frequency.
In most cases, the performance difference between these two schemes is around 3-7%,
however in some cases it can go down to less than 1%.
9.2 Future Work
This work is far from being complete. In fact, we are just scratching the surface of mobile
relays with this simple tracking algorithm.
The following are some ideas that could be worked on in the future.
• A more realistic model of the SNR could be used, including shadowing and fading,
and considering the links between the base station and the relays;
• Spatial diversity could also be incorporated in the work. In other words, we could
relax the constraint that a user is only receiving its signals from just one relay: the
signals coming from the base station could also be useful;
Chapter 9. Conclusion 65
• The simulation results show that there is a potential of the algorithm being a
constant factor approximation of the optimal solution. Some more theoretical work
could be done in this field, and;
• Real world experiments could be performed, the results of which could be compared
to the ones of the simulations.
Bibliography
[1] A. K. Jain, M. N. Murty, and P. J. Flynn. “Data Clustering: A Review.” ACM
Computing Surveys, 1999.
[2] P. Berkhin. “Survey of Clustering Data Mining Techniques.” Technical report, Accrue
Software, 2002.
[3] D. Aloise, A. Deshpande, P. Hansen, and P. Popat. “NP-hardness of Euclidean Sum-
of-Squares Clustering.” Machine Learning, 2009.
[4] M. Mahajan, P. Nimbhorkar, and K. Varadarajan. “The Planar k-means Problem is
NP-hard.” Lecture Notes in Computer Science, 2009.
[5] M. Inaba, N. Katoh, and H. Imai. “Applications of Weighted Voronoi Diagrams and
Randomization to Variance-Based k-clustering.” Proceedings of the 12th ACM Sym-
posium on Computational Geometry, 1994.
[6] S.P. Lloyd. “Least Squares Quantization in PCM.” IEEE Transactions on Informa-
tion Theory, 1982.
[7] I. Katsavounidis, C. C. Kuo, and Z. Zhang. “A New Initialization Technique for
Generalized Lloyd iteration.” IEEE Signal Processing Letters, 1994.
[8] P. Bradley and U. Fayyad. “Refining Initial Points for k-means Clustering.” Proceed-
ings of the Fifteenth International Conference on Machine Learning, 1998.
66
Bibliography 67
[9] A. Likas, N. Vlassis, and J. J. Verbeek. “The Global k-means Clustering Algorithm.”
Pattern Recognition, 2003.
[10] R. Ostrovsky, Y. Rabani, L. J. Schulman, and C. Swamy. “The Effectiveness of
Lloyd-type Methods for the k-Means Problem.” IEEE Symposium on Foundations of
Computer Science, 2006.
[11] D. Arthur and S. Vassilvitskii. “kmeans++: The Advantages of Careful Seeding.”
ACM-SIAM Symposium on Discrete Algorithms, 2007.
[12] S. J. Redmond and C. Henghan. “A Method for Initializing the k-means Clustering
Algorithm Using kd-trees.” Pattern Recognition Letters, 2007.
[13] K. K. Pavan, A. A. Rao, A. V. D. Rao, and G.R. Sridhar. “Single Pass Seed Selection
Algorithm for k-Means.” Journal of Computer Science, 2010.
[14] A. Gersho, and R.M. Gray. “Vector Quantization and Signal Compression.” Kluwer
Academic Publishers, 1992.
[15] A. So, and B. Liang. “Enhancing WLAN Capacity by Strategic Placement of Teth-
erless Relay Points.” IEEE Transactions on Mobile Computing, May 2007.
[16] B. Lin, P. H. Ho, L. L. Xie, X. Shen. “Relay Station Placement in IEEE 802.16j
Dual-Relay MMR Networks.” International Conference on Communications, 2008.
[17] A. Kashyap, M. Shayman. “Relay Placement and Movement Control for Realiza-
tion of Fault-Tolerant Ad Hoc Networks.” 41st Annual Conference on Information
Sciences and Systems, 2007.
[18] M. Dynia, J. Kutylowski, P. Lorek, and F. M. auf der Heide. “Maintaining Commu-
nication Between an Explorer and a Base Station.” IFIP Conference on Biologically
Inspired Cooperative Computing, 2006.
Bibliography 68
[19] Y. Li, J. Han, and J. Yang. “Clustering Moving Objects.” International Conference
on Knowledge Discovery and Data Mining, 2004.
[20] Z. Zhang, Y. Yang, A. K. H. Tung, and D. Papadias. “Continuous k-means Monitor-
ing over Moving Objects.” IEEE Transactions on Knowledge and Data Engineering,
2008.
[21] I. S. Dhillon and D. S. Modha. “A Data-Clustering Algorithm on Distributed Mem-
ory Multiprocessors.” Large-Scale Parallel Data Mining, 1999.
[22] G. Forman and B. Zhang. “Distributed Data Clustering Can Be Efficient and Exact.”
Special Interest Group on Knowledge Discovery in Data and Data Mining, 2000.
[23] S. Datta, C. R. Giannella, and H. Kargupta. “Approximate Distributed k-means
Clustering over a Peer-to-Peer Network.” IEEE Transactions on Knowledge and Data
Engineering, 2008.
[24] A. K. Sadek, Z. Han, and K. J. R. Liu. “A Distributed Relay Assignment Algorithm
for Cooperative Communications in Wireless Networks.” In Proceedings of the IEEE
International Conference on Communications, 2006.
[25] S. Har-Peled. “Clustering Motion.” IEEE Symposium on Foundations of Computer
Science, 2001.
[26] F. Aurenhammer. “Voronoi diagrams: A Survey of a Fundamental Geometric Data
Structure.” ACM Computing Surveys, 1991.
[27] S. G. Foss and S. A. Zuyev. “On a Voronoi Aggregative Process Related to a Bivariate
Poisson Process.” Advances in Applied Probability, 1996.