X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/JournalMultiPeriods.git/blobdiff_plain/b1b2bcf6b31b02feb007b797acda1b7a72c60554..153bdb7b8dc4b2d64354aa33053bade4c93e86f4:/article.tex?ds=inline diff --git a/article.tex b/article.tex index af96820..cbb393c 100644 --- a/article.tex +++ b/article.tex @@ -84,14 +84,11 @@ %e-mail: ali.idness@edu.univ-fcomte.fr, \\ %$\lbrace$karine.deschinkel, michel.salomon, raphael.couturier$\rbrace$@univ-fcomte.fr.} - -\author{Ali Kadhum Idrees$^{a,b}$, Karine Deschinkel$^{a}$, \\ -Michel Salomon$^{a}$ and Rapha\"el Couturier $^{a}$ \\ - $^{a}${\em{FEMTO-ST Institute, UMR 6174 CNRS, \\ - University Bourgogne Franche-Comt\'e, Belfort, France}} \\ - $^{b}${\em{Department of Computer Science, University of Babylon, Babylon, Iraq}} -} - +\author{Ali Kadhum Idrees$^{a,b}$, Karine Deschinkel$^{a}$, \\ Michel + Salomon$^{a}$, and Rapha\"el Couturier $^{a}$ \\ $^{a}${\em{FEMTO-ST + Institute, UMR 6174 CNRS, \\ University Bourgogne Franche-Comt\'e, + Belfort, France}} \\ $^{b}${\em{Department of Computer Science, University + of Babylon, Babylon, Iraq}} } \begin{abstract} %One of the fundamental challenges in Wireless Sensor Networks (WSNs) @@ -99,31 +96,33 @@ Michel Salomon$^{a}$ and Rapha\"el Couturier $^{a}$ \\ %continuously and effectively when monitoring a certain area (or %region) of interest. Coverage and lifetime are two paramount problems in Wireless Sensor Networks -(WSNs). In this paper, a method called Multiround Distributed Lifetime Coverage +(WSNs). In this paper, a method called Multiround Distributed Lifetime Coverage Optimization protocol (MuDiLCO) is proposed to maintain the coverage and to improve the lifetime in wireless sensor networks. The area of interest is first -divided into subregions and then the MuDiLCO protocol is distributed on the -sensor nodes in each subregion. The proposed MuDiLCO protocol works in periods -during which sets of sensor nodes are scheduled to remain active for a number of -rounds during the sensing phase, to ensure coverage so as to maximize the -lifetime of WSN. \textcolor{green}{The decision process is carried out by a leader node, which -solves an optimization problem to produce the best representative sets to be used -during the rounds of the sensing phase. The optimization problem formulated as an integer program is solved to optimality through a branch-and-Bound method for small instances. For larger instances, the best feasible solution found by the solver after a given time limit threshold is considered. } +divided into subregions and then the MuDiLCO protocol is distributed on the +sensor nodes in each subregion. The proposed MuDiLCO protocol works in periods +during which sets of sensor nodes are scheduled, with one set for each round of +a period, to remain active during the sensing phase and thus ensure coverage so +as to maximize the WSN lifetime. \textcolor{blue}{The decision process is + carried out by a leader node, which solves an optimization problem to produce + the best representative sets to be used during the rounds of the sensing + phase. The optimization problem formulated as an integer program is solved to + optimality through a Branch-and-Bound method for small instances. For larger + instances, the best feasible solution found by the solver after a given time + limit threshold is considered.} %The decision process is carried out by a leader node, which %solves an integer program to produce the best representative sets to be used %during the rounds of the sensing phase. %\textcolor{red}{The integer program is solved by either GLPK solver or Genetic Algorithm (GA)}. -Compared with some existing protocols, -simulation results based on multiple criteria (energy consumption, coverage -ratio, and so on) show that the proposed protocol can prolong efficiently the -network lifetime and improve the coverage performance. - +Compared with some existing protocols, simulation results based on multiple +criteria (energy consumption, coverage ratio, and so on) show that the proposed +protocol can prolong efficiently the network lifetime and improve the coverage +performance. \end{abstract} \begin{keyword} Wireless Sensor Networks, Area Coverage, Network Lifetime, Optimization, Scheduling, Distributed Computation. - \end{keyword} \end{frontmatter} @@ -167,10 +166,10 @@ the network lifetime by using an optimized multiround scheduling. The remainder of the paper is organized as follows. The next section % Section~\ref{rw} -reviews the related works in the field. Section~\ref{pd} is devoted to the +reviews the related works in the field. Section~\ref{pd} is devoted to the description of MuDiLCO protocol. Section~\ref{exp} shows the simulation results obtained using the discrete event simulator OMNeT++ \cite{varga}. They fully -demonstrate the usefulness of the proposed approach. Finally, we give +demonstrate the usefulness of the proposed approach. Finally, we give concluding remarks and some suggestions for future works in Section~\ref{sec:conclusion}. @@ -204,43 +203,47 @@ many cover sets) can be added to the above list. The major approach is to divide/organize the sensors into a suitable number of cover sets where each set completely covers an interest region and to activate these cover sets successively. The centralized algorithms always provide nearly -or close to optimal solution since the algorithm has global view of the whole +or close to optimal solution since the algorithm has global view of the whole network. Note that centralized algorithms have the advantage of requiring very low processing power from the sensor nodes, which usually have limited -processing capabilities. The main drawback of this kind of approach is its +processing capabilities. The main drawback of this kind of approach is its higher cost in communications, since the node that will make the decision needs -information from all the sensor nodes. \textcolor{green} {Exact or heuristics approaches are designed to provide cover sets. - %(Moreover, centralized approaches usually +information from all the sensor nodes. \textcolor{blue} {Exact or heuristic + approaches are designed to provide cover sets. +%(Moreover, centralized approaches usually %suffer from the scalability problem, making them less competitive as the network %size increases.) -Contrary to exact methods, heuristic methods can handle very large and centralized problems. They are proposed to reduce computational overhead such as energy consumption, delay and generally increase in -the network lifetime. } +Contrary to exact methods, heuristic ones can handle very large and centralized +problems. They are proposed to reduce computational overhead such as energy +consumption, delay, and generally allow to increase the network lifetime.} The first algorithms proposed in the literature consider that the cover sets are disjoint: a sensor node appears in exactly one of the generated cover -sets~\cite{abrams2004set,cardei2005improving,Slijepcevic01powerefficient}. In -the case of non-disjoint algorithms \cite{pujari2011high}, sensors may -participate in more than one cover set. In some cases, this may prolong the +sets~\cite{abrams2004set,cardei2005improving,Slijepcevic01powerefficient}. In +the case of non-disjoint algorithms \cite{pujari2011high}, sensors may +participate in more than one cover set. In some cases, this may prolong the lifetime of the network in comparison to the disjoint cover set algorithms, but -designing algorithms for non-disjoint cover sets generally induces a higher +designing algorithms for non-disjoint cover sets generally induces a higher order of complexity. Moreover, in case of a sensor's failure, non-disjoint -scheduling policies are less resilient and reliable because a sensor may be +scheduling policies are less resilient and reliable because a sensor may be involved in more than one cover sets. %For instance, the proposed work in ~\cite{cardei2005energy, berman04} -In~\cite{yang2014maximum}, the authors have considered a linear programming +In~\cite{yang2014maximum}, the authors have considered a linear programming approach to select the minimum number of working sensor nodes, in order to -preserve a maximum coverage and to extend lifetime of the network. Cheng et +preserve a maximum coverage and to extend lifetime of the network. Cheng et al.~\cite{cheng2014energy} have defined a heuristic algorithm called Cover Sets Balance (CSB), which chooses a set of active nodes using the tuple (data coverage range, residual energy). Then, they have introduced a new Correlated -Node Set Computing (CNSC) algorithm to find the correlated node set for a given -node. After that, they proposed a High Residual Energy First (HREF) node -selection algorithm to minimize the number of active nodes so as to prolong the -network lifetime. Various centralized methods based on column generation -approaches have also been -proposed~\cite{gentili2013,castano2013column,rossi2012exact,deschinkel2012column}. -\textcolor{green}{In~\cite{gentili2013}, authors highlight the trade-off between the network lifetime and the coverage percentage. They show that network lifetime can be hugely improved by decreasing the coverage ratio. } +Node Set Computing (CNSC) algorithm to find the correlated node set for a given +node. After that, they proposed a High Residual Energy First (HREF) node +selection algorithm to minimize the number of active nodes so as to prolong the +network lifetime. Various centralized methods based on column generation +approaches have also been +proposed~\cite{gentili2013,castano2013column,rossi2012exact,deschinkel2012column}. +\textcolor{blue}{In~\cite{gentili2013}, authors highlight the trade-off between + the network lifetime and the coverage percentage. They show that network + lifetime can be hugely improved by decreasing the coverage ratio.} \subsection{Distributed approaches} %{\bf Distributed approaches} @@ -297,16 +300,19 @@ Indeed, each sensor maintains its own timer and its wake-up time is randomized \cite{Ye03} or regulated \cite{cardei2005maximum} over time. The MuDiLCO protocol (for Multiround Distributed Lifetime Coverage Optimization -protocol) presented in this paper is an extension of the approach introduced +protocol) presented in this paper is an extension of the approach introduced in~\cite{idrees2014coverage}. In~\cite{idrees2014coverage}, the protocol is -deployed over only two subregions. Simulation results have shown that it was +deployed over only two subregions. Simulation results have shown that it was more interesting to divide the area into several subregions, given the computation complexity. Compared to our previous paper, in this one we study the possibility of dividing the sensing phase into multiple rounds and we also add -an improved model of energy consumption to assess the efficiency of our +an improved model of energy consumption to assess the efficiency of our approach. In fact, in this paper we make a multiround optimization, while it was -a single round optimization in our previous work. \textcolor{green}{The idea is to take advantage of the pre-sensing phase - to plan the sensor's activity for several rounds instead of one, thus saving energy. In addition, when the optimization problem becomes more complex, its resolution is stopped after a given time threshold}. +a single round optimization in our previous work. \textcolor{blue}{The idea is + to take advantage of the pre-sensing phase to plan the sensor's activity for + several rounds instead of one, thus saving energy. In addition, when the + optimization problem becomes more complex, its resolution is stopped after a + given time threshold}. \iffalse @@ -540,32 +546,36 @@ active nodes. %Instead of working with a continuous coverage area, we make it discrete by considering for each sensor a set of points called primary points. Consequently, we assume that the sensing disk defined by a sensor is covered if all of its primary points are covered. The choice of number and locations of primary points is the subject of another study not presented here. +\indent Instead of working with the coverage area, we consider for each sensor a +set of points called primary points~\cite{idrees2014coverage}. We assume that +the sensing disk defined by a sensor is covered if all the primary points of +this sensor are covered. By knowing the position of wireless sensor node +(centered at the the position $\left(p_x,p_y\right)$) and it's sensing range +$R_s$, we define up to 25 primary points $X_1$ to $X_{25}$ as decribed on +Figure~\ref{fig1}. The optimal number of primary points is investigated in +section~\ref{ch4:sec:04:06}. -\indent Instead of working with the coverage area, we consider for each sensor a set of points called primary points~\cite{idrees2014coverage}. We also assume that the sensing disk defined by a sensor is covered if all the primary points of this sensor are covered. By knowing the position (point center: ($p_x,p_y$)) of a wireless sensor node and it's sensing range $R_s$, we calculate the primary points directly based on the proposed model. We use these primary points (that can be increased or decreased if necessary) as references to ensure that the monitored region of interest is covered by the selected set of sensors, instead of using all the points in the area. -We can calculate the positions of the selected primary -points in the circle disk of the sensing range of a wireless sensor -node (see Figure~\ref{fig1}) as follows:\\ -Assuming that the point center of a wireless sensor node is located at $(p_x,p_y)$, we can define up to 25 primary points $X_1$ to $X_{25}$.\\ +The coordinates of the primary points are defined as follows:\\ %$(p_x,p_y)$ = point center of wireless sensor node\\ $X_1=(p_x,p_y)$ \\ $X_2=( p_x + R_s * (1), p_y + R_s * (0) )$\\ $X_3=( p_x + R_s * (-1), p_y + R_s * (0)) $\\ $X_4=( p_x + R_s * (0), p_y + R_s * (1) )$\\ $X_5=( p_x + R_s * (0), p_y + R_s * (-1 )) $\\ -$X_6= ( p_x + R_s * (\frac{-\sqrt{2}}{2}), p_y + R_s * (0)) $\\ -$X_7=( p_x + R_s * (\frac{\sqrt{2}}{2}), p_y + R_s * (0))$\\ +$X_6=( p_x + R_s * (\frac{-\sqrt{2}}{2}), p_y + R_s * (\frac{\sqrt{2}}{2})) $\\ +$X_7=( p_x + R_s * (\frac{\sqrt{2}}{2}), p_y + R_s * (\frac{\sqrt{2}}{2})) $\\ $X_8=( p_x + R_s * (\frac{-\sqrt{2}}{2}), p_y + R_s * (\frac{-\sqrt{2}}{2})) $\\ $X_9=( p_x + R_s * (\frac{\sqrt{2}}{2}), p_y + R_s * (\frac{-\sqrt{2}}{2})) $\\ -$X_{10}=( p_x + R_s * (\frac{-\sqrt{2}}{2}), p_y + R_s * (\frac{\sqrt{2}}{2})) $\\ -$X_{11}=( p_x + R_s * (\frac{\sqrt{2}}{2}), p_y + R_s * (\frac{\sqrt{2}}{2})) $\\ +$X_{10}= ( p_x + R_s * (\frac{-\sqrt{2}}{2}), p_y + R_s * (0)) $\\ +$X_{11}=( p_x + R_s * (\frac{\sqrt{2}}{2}), p_y + R_s * (0))$\\ $X_{12}=( p_x + R_s * (0), p_y + R_s * (\frac{\sqrt{2}}{2})) $\\ $X_{13}=( p_x + R_s * (0), p_y + R_s * (\frac{-\sqrt{2}}{2})) $\\ $X_{14}=( p_x + R_s * (\frac{\sqrt{3}}{2}), p_y + R_s * (\frac{1}{2})) $\\ $X_{15}=( p_x + R_s * (\frac{-\sqrt{3}}{2}), p_y + R_s * (\frac{1}{2})) $\\ $X_{16}=( p_x + R_s * (\frac{\sqrt{3}}{2}), p_y + R_s * (\frac{- 1}{2})) $\\ $X_{17}=( p_x + R_s * (\frac{-\sqrt{3}}{2}), p_y + R_s * (\frac{- 1}{2})) $\\ -$X_{18}=( p_x + R_s * (\frac{\sqrt{3}}{2}), p_y + R_s * (0) $\\ -$X_{19}=( p_x + R_s * (\frac{-\sqrt{3}}{2}), p_y + R_s * (0) $\\ +$X_{18}=( p_x + R_s * (\frac{\sqrt{3}}{2}), p_y + R_s * (0)) $\\ +$X_{19}=( p_x + R_s * (\frac{-\sqrt{3}}{2}), p_y + R_s * (0)) $\\ $X_{20}=( p_x + R_s * (0), p_y + R_s * (\frac{1}{2})) $\\ $X_{21}=( p_x + R_s * (0), p_y + R_s * (-\frac{1}{2})) $\\ $X_{22}=( p_x + R_s * (\frac{1}{2}), p_y + R_s * (\frac{\sqrt{3}}{2})) $\\ @@ -574,28 +584,29 @@ $X_{24}=( p_x + R_s * (\frac{- 1}{2}), p_y + R_s * (\frac{-\sqrt{3}}{2})) $\\ $X_{25}=( p_x + R_s * (\frac{1}{2}), p_y + R_s * (\frac{-\sqrt{3}}{2})) $. - -\begin{figure} %[h!] -\centering - \begin{multicols}{2} -\centering -\includegraphics[scale=0.28]{fig21.pdf}\\~ (a) -\includegraphics[scale=0.28]{principles13.pdf}\\~(c) -\hfill \hfill -\includegraphics[scale=0.28]{fig25.pdf}\\~(e) -\includegraphics[scale=0.28]{fig22.pdf}\\~(b) -\hfill \hfill -\includegraphics[scale=0.28]{fig24.pdf}\\~(d) -\includegraphics[scale=0.28]{fig26.pdf}\\~(f) -\end{multicols} -\caption{Wireless Sensor Node represented by (a) 5, (b) 9, (c) 13, (d) 17, (e) 21 and (f) 25 primary points respectively} -\label{fig1} -\end{figure} +%\begin{figure} %[h!] +%\centering +% \begin{multicols}{2} +%\centering +%\includegraphics[scale=0.28]{fig21.pdf}\\~ (a) +%\includegraphics[scale=0.28]{principles13.pdf}\\~(c) +%\hfill \hfill +%\includegraphics[scale=0.28]{fig25.pdf}\\~(e) +%\includegraphics[scale=0.28]{fig22.pdf}\\~(b) +%\hfill \hfill +%\includegraphics[scale=0.28]{fig24.pdf}\\~(d) +%\includegraphics[scale=0.28]{fig26.pdf}\\~(f) +%\end{multicols} +%\caption{Wireless Sensor Node represented by (a) 5, (b) 9, (c) 13, (d) 17, (e) 21 and (f) 25 primary points respectively} +%\label{fig1} +%\end{figure} - - - - +\begin{figure}[h] + \centering + \includegraphics[scale=0.375]{fig26.pdf} + \label{fig1} + \caption{Wireless sensor node represented by up to 25~primary points} +\end{figure} %By knowing the position (point center: ($p_x,p_y$)) of a wireless %sensor node and its $R_s$, we calculate the primary points directly @@ -612,19 +623,28 @@ $X_{25}=( p_x + R_s * (\frac{1}{2}), p_y + R_s * (\frac{-\sqrt{3}}{2})) $. \subsection{Background idea} %%RC : we need to clarify the difference between round and period. Currently it seems to be the same (for me at least). -The area of interest can be divided using the divide-and-conquer strategy into -smaller areas, called subregions, and then our MuDiLCO protocol will be -implemented in each subregion in a distributed way. - -As can be seen in Figure~\ref{fig2}, our protocol works in periods fashion, -where each is divided into 4 phases: Information~Exchange, Leader~Election, -Decision, and Sensing. Each sensing phase may be itself divided into $T$ rounds -\textcolor{green} {of equal duration} and for each round a set of sensors (a cover set) is responsible for the sensing -task. In this way a multiround optimization process is performed during each -period after Information~Exchange and Leader~Election phases, in order to -produce $T$ cover sets that will take the mission of sensing for $T$ rounds. -\begin{figure}[ht!] -\centering \includegraphics[width=100mm]{Modelgeneral.pdf} % 70mm +%The area of interest can be divided using the divide-and-conquer strategy into +%smaller areas, called subregions, and then our MuDiLCO protocol will be +%implemented in each subregion in a distributed way. + +\textcolor{blue}{The WSN area of interest is, at first, divided into + regular homogeneous subregions using a divide-and-conquer algorithm. Then, our protocol will be executed in a distributed way in each + subregion simultaneously to schedule nodes' activities for one sensing + period. Sensor nodes are assumed to be deployed almost uniformly and with high + density over the region. The regular subdivision is made so that the number + of hops between any pairs of sensors inside a subregion is less than or equal + to 3.} + +As can be seen in Figure~\ref{fig2}, our protocol works in periods fashion, +where each period is divided into 4~phases: Information~Exchange, +Leader~Election, Decision, and Sensing. Each sensing phase may be itself +divided into $T$ rounds \textcolor{blue} {of equal duration} and for each round +a set of sensors (a cover set) is responsible for the sensing task. In this way +a multiround optimization process is performed during each period after +Information~Exchange and Leader~Election phases, in order to produce $T$ cover +sets that will take the mission of sensing for $T$ rounds. +\begin{figure}[t!] +\centering \includegraphics[width=125mm]{Modelgeneral.pdf} % 70mm \caption{The MuDiLCO protocol scheme executed on each node} \label{fig2} \end{figure} @@ -634,15 +654,18 @@ produce $T$ cover sets that will take the mission of sensing for $T$ rounds. % set cover responsible for the sensing task. %For each round a set of sensors (said a cover set) is responsible for the sensing task. -This protocol minimizes the impact of unexpected node failure (not due to batteries -running out of energy), because it works in periods. +This protocol minimizes the impact of unexpected node failure (not due to +batteries running out of energy), because it works in periods. %This protocol is reliable against an unexpected node failure, because it works in periods. %%RC : why? I am not convinced - On the one hand, if a node failure is detected before making the -decision, the node will not participate to this phase, and, on the other hand, -if the node failure occurs after the decision, the sensing task of the network -will be temporarily affected: only during the period of sensing until a new -period starts. \textcolor{green}{The duration of the rounds are predefined parameters. Round duration should be long enough to hide the system control overhead and short enough to minimize the negative effects in case of node failure.} + On the one hand, if a node failure is detected before making the decision, the + node will not participate to this phase, and, on the other hand, if the node + failure occurs after the decision, the sensing task of the network will be + temporarily affected: only during the period of sensing until a new period + starts. \textcolor{blue}{The duration of the rounds is a predefined + parameter. Round duration should be long enough to hide the system control + overhead and short enough to minimize the negative effects in case of node + failures.} %%RC so if there are at least one failure per period, the coverage is bad... %%MS if we want to be reliable against many node failures we need to have an @@ -694,16 +717,16 @@ corresponds to the time that a sensor can live in the active mode. \subsection{Leader Election phase} -This step consists in choosing the Wireless Sensor Node Leader (WSNL), which +This step consists in choosing the Wireless Sensor Node Leader (WSNL), which will be responsible for executing the coverage algorithm. Each subregion in the area of interest will select its own WSNL independently for each period. All -the sensor nodes cooperate to elect a WSNL. The nodes in the same subregion -will select the leader based on the received information from all other nodes -in the same subregion. The selection criteria are, in order of importance: -larger number of neighbors, larger remaining energy, and then in case of -equality, larger index. Observations on previous simulations suggest to use the -number of one-hop neighbors as the primary criterion to reduce energy -consumption due to the communications. +the sensor nodes cooperate to elect a WSNL. The nodes in the same subregion +will select the leader based on the received information from all other nodes in +the same subregion. The selection criteria are, in order of importance: larger +number of neighbors, larger remaining energy, and then in case of equality, +larger index. Observations on previous simulations suggest to use the number of +one-hop neighbors as the primary criterion to reduce energy consumption due to +the communications. %the more priority selection factor is the number of $1-hop$ neighbors, $NBR j$, which can minimize the energy consumption during the communication Significantly. %The pseudo-code for leader election phase is provided in Algorithm~1. @@ -712,10 +735,12 @@ consumption due to the communications. \subsection{Decision phase} -Each WSNL will \textcolor{green}{ solve an integer program to select which cover sets will be -activated in the following sensing phase to cover the subregion to which it -belongs. $T$ cover sets will be produced, one for each round. The WSNL will send an Active-Sleep packet to each sensor in the subregion based on the algorithm's results, indicating if the sensor should be active or not in -each round of the sensing phase. } +Each WSNL will \textcolor{blue}{solve an integer program to select which cover + sets will be activated in the following sensing phase to cover the subregion + to which it belongs. $T$ cover sets will be produced, one for each round. The + WSNL will send an Active-Sleep packet to each sensor in the subregion based on + the algorithm's results, indicating if the sensor should be active or not in + each round of the sensing phase.} %Each WSNL will \textcolor{red}{ execute an optimization algorithm (see section \ref{oa})} to select which cover sets will be %activated in the following sensing phase to cover the subregion to which it %belongs. The \textcolor{red}{optimization algorithm} will produce $T$ cover sets, one for each round. The WSNL will send an Active-Sleep packet to each sensor in the subregion based on the algorithm's results, indicating if the sensor should be active or not in @@ -732,15 +757,16 @@ each round of the sensing phase. } %\section{\textcolor{red}{ Optimization Algorithm for Multiround Lifetime Coverage Optimization}} %\label{oa} -As shown in Algorithm~\ref{alg:MuDiLCO}, the leader will execute an optimization algorithm based on an integer program. The integer program is based on the model -proposed by \cite{pedraza2006} with some modifications, where the objective is -to find a maximum number of disjoint cover sets. To fulfill this goal, the -authors proposed an integer program which forces undercoverage and overcoverage +As shown in Algorithm~\ref{alg:MuDiLCO}, the leader will execute an optimization +algorithm based on an integer program. The integer program is based on the model +proposed by \cite{pedraza2006} with some modifications, where the objective is +to find a maximum number of disjoint cover sets. To fulfill this goal, the +authors proposed an integer program which forces undercoverage and overcoverage of targets to become minimal at the same time. They use binary variables $x_{jl}$ to indicate if sensor $j$ belongs to cover set $l$. In our model, we -consider binary variables $X_{t,j}$ to determine the possibility of activating -sensor $j$ during round $t$ of a given sensing phase. We also consider primary -points as targets. The set of primary points is denoted by $P$ and the set of +consider binary variables $X_{t,j}$ to determine the possibility of activating +sensor $j$ during round $t$ of a given sensing phase. We also consider primary +points as targets. The set of primary points is denoted by $P$ and the set of sensors by $J$. Only sensors able to be alive during at least one round are involved in the integer program. @@ -792,7 +818,7 @@ U_{t,p} = \left \{ Our coverage optimization problem can then be formulated as follows: \begin{equation} - \min \sum_{t=1}^{T} \sum_{p=1}^{P} \left(W_{\theta}* \Theta_{t,p} + W_{U} * U_{t,p} \right) \label{eq15} + \min \sum_{t=1}^{T} \sum_{p=1}^{|P|} \left(W_{\theta}* \Theta_{t,p} + W_{U} * U_{t,p} \right) \label{eq15} \end{equation} Subject to @@ -801,7 +827,7 @@ Subject to \end{equation} \begin{equation} - \sum_{t=1}^{T} X_{t,j} \leq \floor*{RE_{j}/E_{R}} \hspace{6 mm} \forall j \in J, t = 1,\dots,T + \sum_{t=1}^{T} X_{t,j} \leq \floor*{RE_{j}/E_{R}} \hspace{10 mm}\forall j \in J\hspace{6 mm} \label{eq144} \end{equation} @@ -835,30 +861,37 @@ U_{t,p} \in \lbrace0,1\rbrace, \hspace{10 mm}\forall p \in P, t = 1,\dots,T \la The first group of constraints indicates that some primary point $p$ should be covered by at least one sensor and, if it is not always the case, overcoverage -and undercoverage variables help balancing the restriction equations by taking +and undercoverage variables help balancing the restriction equations by taking positive values. The constraint given by equation~(\ref{eq144}) guarantees that the sensor has enough energy ($RE_j$ corresponds to its remaining energy) to be alive during the selected rounds knowing that $E_{R}$ is the amount of energy required to be alive during one round. -There are two main objectives. First, we limit the overcoverage of primary -points in order to activate a minimum number of sensors. Second we prevent the -absence of monitoring on some parts of the subregion by minimizing the -undercoverage. The weights $W_\theta$ and $W_U$ must be properly chosen so as -to guarantee that the maximum number of points are covered during each round. +There are two main objectives. First, we limit the overcoverage of primary +points in order to activate a minimum number of sensors. Second we prevent the +absence of monitoring on some parts of the subregion by minimizing the +undercoverage. The weights $W_\theta$ and $W_U$ must be properly chosen so as +to guarantee that the maximum number of points are covered during each round. %% MS W_theta is smaller than W_u => problem with the following sentence -In our simulations priority is given to the coverage by choosing $W_{U}$ very +In our simulations, priority is given to the coverage by choosing $W_{U}$ very large compared to $W_{\theta}$. -%The Active-Sleep packet includes the schedule vector with the number of rounds that should be applied by the receiving sensor node during the sensing phase. +\textcolor{blue}{The size of the problem depends on the number of variables and + constraints. The number of variables is linked to the number of alive sensors + $A \subseteq J$, the number of rounds $T$, and the number of primary points + $P$. Thus the integer program contains $A*T$ variables of type $X_{t,j}$, + $P*T$ overcoverage variables and $P*T$ undercoverage variables. The number of + constraints is equal to $P*T$ (for constraints (\ref{eq16})) $+$ $A$ (for + constraints (\ref{eq144})).} +%The Active-Sleep packet includes the schedule vector with the number of rounds that should be applied by the receiving sensor node during the sensing phase \subsection{Sensing phase} The sensing phase consists of $T$ rounds. Each sensor node in the subregion will receive an Active-Sleep packet from WSNL, informing it to stay awake or to go to -sleep for each round of the sensing phase. Algorithm~\ref{alg:MuDiLCO}, which -will be executed by each node at the beginning of a period, explains how the -Active-Sleep packet is obtained. +sleep for each round of the sensing phase. Algorithm~\ref{alg:MuDiLCO}, which +will be executed by each sensor node~$s_j$ at the beginning of a period, +explains how the Active-Sleep packet is obtained. % In each round during the sensing phase, there is a cover set of sensor nodes, in which the active sensors will execute their sensing task to preserve maximal coverage and lifetime in the subregion and this will continue until finishing the round $T$ and starting new period. @@ -880,9 +913,9 @@ Active-Sleep packet is obtained. \If{$ s_j.ID = LeaderID $}{ \emph{$s_j.status$ = COMPUTATION}\; \emph{$\left\{\left(X_{1,k},\dots,X_{T,k}\right)\right\}_{k \in J}$ = - Execute \textcolor{red}{Optimization Algorithm}($T,J$)}\; + Execute Integer Program Algorithm($T,J$)}\; \emph{$s_j.status$ = COMMUNICATION}\; - \emph{Send $ActiveSleep()$ to each node $k$ in subregion a packet \\ + \emph{Send $ActiveSleep()$ packet to each node $k$ in subregion: a packet \\ with vector of activity scheduling $(X_{1,k},\dots,X_{T,k})$}\; \emph{Update $RE_j $}\; } @@ -1070,22 +1103,22 @@ The proposed GA-MuDiLCO stops when the stopping criteria is met. It stops after \fi +%% EXPERIMENTAL STUDY + \section{Experimental study} \label{exp} \subsection{Simulation setup} -We conducted a series of simulations to evaluate the efficiency and the -relevance of our approach, using the discrete event simulator OMNeT++ -\cite{varga}. The simulation parameters are summarized in -Table~\ref{table3}. Each experiment for a network is run over 25~different -random topologies and the results presented hereafter are the average of these -25 runs. +We conducted a series of simulations to evaluate the efficiency and the +relevance of our approach, using the discrete event simulator OMNeT++ +\cite{varga}. The simulation parameters are summarized in Table~\ref{table3}. +Each experiment for a network is run over 25~different random topologies and the +results presented hereafter are the average of these 25 runs. %Based on the results of our proposed work in~\cite{idrees2014coverage}, we found as the region of interest are divided into larger subregions as the network lifetime increased. In this simulation, the network are divided into 16 subregions. We performed simulations for five different densities varying from 50 to -250~nodes deployed over a $50 \times 25~m^2 $ sensing field. More -precisely, the deployment is controlled at a coarse scale in order to ensure -that the deployed nodes can cover the sensing field with the given sensing -range. +250~nodes deployed over a $50 \times 25~m^2 $ sensing field. More precisely, +the deployment is controlled at a coarse scale in order to ensure that the +deployed nodes can cover the sensing field with the given sensing range. %%RC these parameters are realistic? %% maybe we can increase the field and sensing range. 5mfor Rs it seems very small... what do the other good papers consider ? @@ -1129,43 +1162,55 @@ $W_{U}$ & $|P|^2$ \\ \label{table3} % is used to refer this table in the text \end{table} - -\textcolor{red}{Our first protocol based GLPK optimization solver is declined into four versions: MuDiLCO-1, MuDiLCO-3, MuDiLCO-5, -and MuDiLCO-7, corresponding respectively to $T=1,3,5,7$ ($T$ the number of rounds in one sensing period). -Table \ref{tl} shows time limit values for MuDiLCO protocol versions. After extensive experiments, we chose the values that explained in Table \ref{tl} because they gave the best results. In these experiments, we started with the average execution time of the corresponding MuDiLCO version and network size divided by 3 as a time limit. After that, we increase these values until reaching the best results. In fact, selecting the optimal values for the time limits can be investigated in future. In Table \ref{tl}, "NO" refers to apply the GLPK solver without time limit because we did not find improvement on the results of MuDiLCO protocol with the time limit. }. - -\begin{table}[ht] -\caption{Time limit values for MuDiLCO protocol versions } -\centering -\begin{tabular}{|c|c|c|c|c|} - \hline - WSN size & MuDiLCO-1 & MuDiLCO-3 & MuDiLCO-5 & MuDiLCO-7 \\ [0.5ex] -\hline - 50 & NO & NO & NO & NO \\ - \hline -100 & NO & NO & NO & NO \\ -\hline -150 & NO & NO & NO & 0.03 \\ -\hline -200 & NO & NO & NO & 0.06 \\ - \hline - 250 & NO & NO & NO & 0.08 \\ - \hline -\end{tabular} - -\label{tl} - -\end{table} +\textcolor{blue}{Our protocol is declined into four versions: MuDiLCO-1, + MuDiLCO-3, MuDiLCO-5, and MuDiLCO-7, corresponding respectively to $T=1,3,5,7$ + ($T$ the number of rounds in one sensing period). Since the time resolution + may be prohibitive when the size of the problem increases, a time limit + threshold has been fixed when solving large instances. In these cases, the + solver returns the best solution found, which is not necessary the optimal + one. In practice, we only set time limit values for the three largest network + sizes when $T=7$, using the following respective values (in second): 0.03 for + 150~nodes, 0.06 for 200~nodes, and 0.08 for 250~nodes. +% Table \ref{tl} shows time limit values. + These time limit thresholds have been set empirically. The basic idea consists + in considering the average execution time to solve the integer programs to + optimality, then in dividing this average time by three to set the threshold + value. After that, this threshold value is increased if necessary so that + the solver is able to deliver a feasible solution within the time limit. In + fact, selecting the optimal values for the time limits will be investigated in + the future.} +%In Table \ref{tl}, "NO" indicates that the problem has been solved to optimality without time limit.} + +%\begin{table}[ht] +%\caption{Time limit values for MuDiLCO protocol versions } +%\centering +%\begin{tabular}{|c|c|c|c|c|} +% \hline +% WSN size & MuDiLCO-1 & MuDiLCO-3 & MuDiLCO-5 & MuDiLCO-7 \\ [0.5ex] +%\hline +% 50 & NO & NO & NO & NO \\ +% \hline +%100 & NO & NO & NO & NO \\ +%\hline +%150 & NO & NO & NO & 0.03 \\ +%\hline +%200 & NO & NO & NO & 0.06 \\ +% \hline +% 250 & NO & NO & NO & 0.08 \\ +% \hline +%\end{tabular} +%\label{tl} +%\end{table} - In the following, we will make comparisons with -two other methods. The first method, called DESK and proposed by \cite{ChinhVu}, -is a full distributed coverage algorithm. The second method, called -GAF~\cite{xu2001geography}, consists in dividing the region into fixed squares. -During the decision phase, in each square, one sensor is then chosen to remain -active during the sensing phase time. + In the following, we will make comparisons with two other methods. The first + method, called DESK and proposed by \cite{ChinhVu}, is a full distributed + coverage algorithm. The second method, called GAF~\cite{xu2001geography}, + consists in dividing the region into fixed squares. During the decision phase, + in each square, one sensor is then chosen to remain active during the sensing + phase time. Some preliminary experiments were performed to study the choice of the number of subregions which subdivides the sensing field, considering different network @@ -1227,24 +1272,24 @@ COMPUTATION & on & on & on & 26.83 \\ % is used to refer this table in the text \end{table} -For the sake of simplicity we ignore the energy needed to turn on the radio, to +For the sake of simplicity we ignore the energy needed to turn on the radio, to start up the sensor node, to move from one status to another, etc. %We also do not consider the need of collecting sensing data. PAS COMPRIS -Thus, when a sensor becomes active (i.e., it has already chosen its status), it can -turn its radio off to save battery. MuDiLCO uses two types of packets for -communication. The size of the INFO packet and Active-Sleep packet are 112~bits -and 24~bits respectively. The value of energy spent to send a 1-bit-content +Thus, when a sensor becomes active (i.e., it has already chosen its status), it +can turn its radio off to save battery. MuDiLCO uses two types of packets for +communication. The size of the INFO packet and Active-Sleep packet are 112~bits +and 24~bits respectively. The value of energy spent to send a 1-bit-content message is obtained by using the equation in ~\cite{raghunathan2002energy} to -calculate the energy cost for transmitting messages and we propose the same -value for receiving the packets. The energy needed to send or receive a 1-bit +calculate the energy cost for transmitting messages and we propose the same +value for receiving the packets. The energy needed to send or receive a 1-bit packet is equal to 0.2575~mW. -The initial energy of each node is randomly set in the interval $[500;700]$. A -sensor node will not participate in the next round if its remaining energy is +The initial energy of each node is randomly set in the interval $[500;700]$. A +sensor node will not participate in the next round if its remaining energy is less than $E_{R}=36~\mbox{Joules}$, the minimum energy needed for the node to -stay alive during one round. This value has been computed by multiplying the +stay alive during one round. This value has been computed by multiplying the energy consumed in active state (9.72 mW) by the time in second for one round -(3600 seconds). According to the interval of initial energy, a sensor may be +(3600 seconds). According to the interval of initial energy, a sensor may be alive during at most 20 rounds. \subsection{Metrics} @@ -1319,14 +1364,14 @@ network, and $R$ is the total number of subregions in the network. % Old version -> where $M_L$ and $T_L$ are respectively the number of periods and rounds during %$Lifetime_{95}$ or $Lifetime_{50}$. % New version -where $M$ is the number of periods and $T_m$ the number of rounds in a +where $M$ is the number of periods and $T_m$ the number of rounds in a period~$m$, both during $Lifetime_{95}$ or $Lifetime_{50}$. The total energy -consumed by the sensors (EC) comes through taking into consideration four main +consumed by the sensors (EC) comes through taking into consideration four main energy factors. The first one , denoted $E^{\scriptsize \mbox{com}}_m$, -represents the energy consumption spent by all the nodes for wireless -communications during period $m$. $E^{\scriptsize \mbox{list}}_m$, the next -factor, corresponds to the energy consumed by the sensors in LISTENING status -before receiving the decision to go active or sleep in period $m$. +represents the energy consumption spent by all the nodes for wireless +communications during period $m$. $E^{\scriptsize \mbox{list}}_m$, the next +factor, corresponds to the energy consumed by the sensors in LISTENING status +before receiving the decision to go active or sleep in period $m$. $E^{\scriptsize \mbox{comp}}_m$ refers to the energy needed by all the leader nodes to solve the integer program during a period. Finally, $E^a_t$ and $E^s_t$ indicate the energy consumed by the whole network in round $t$. @@ -1346,37 +1391,50 @@ indicate the energy consumed by the whole network in round $t$. \end{enumerate} -\subsection{Performance Analysis for Different Number of Primary Points} +\subsection{Performance analysis for different number of primary points} \label{ch4:sec:04:06} -In this section, we study the performance of MuDiLCO-1 approach for different numbers of primary points. The objective of this comparison is to select the suitable primary point model to be used by a MuDiLCO protocol. In this comparison, MuDiLCO-1 protocol is used with five models, which are called Model-5 (it uses 5 primary points), Model-9, Model-13, Model-17, and Model-21. - +In this section, we study the performance of MuDiLCO-1 approach for different +numbers of primary points. The objective of this comparison is to select the +suitable number of primary points to be used by a MuDiLCO protocol. In this +comparison, MuDiLCO-1 protocol is used with five primary point models, each +model corresponding to a number of primary points, which are called Model-5 (it +uses 5 primary points), Model-9, Model-13, Model-17, and Model-21. %\begin{enumerate}[i)] %\item {{\bf Coverage Ratio}} -\subsubsection{Coverage Ratio} +\subsubsection{Coverage ratio} -Figure~\ref{Figures/ch4/R2/CR} shows the average coverage ratio for 150 deployed nodes. -\parskip 0pt -\begin{figure}[h!] +Figure~\ref{Figures/ch4/R2/CR} shows the average coverage ratio for 150 deployed +nodes. As can be seen, at the beginning the models which use a larger number of +primary points provide slightly better coverage ratios, but latter they are the +worst. +%Moreover, when the number of periods increases, coverage ratio produced by Model-9, Model-13, Model-17, and Model-21 decreases in comparison with Model-5 due to a larger time computation for the decision process for larger number of primary points. +Moreover, when the number of periods increases, the coverage ratio produced by +all models decrease due to dead nodes. However, Model-5 is the one with the +slowest decrease due to lower numbers of active sensors in the earlier periods. +% smaller time computation of decision process for a smaller number of primary points. +Overall this model is slightly more efficient than the other ones, because it +offers a good coverage ratio for a larger number of periods. +%\parskip 0pt +\begin{figure}[t!] \centering \includegraphics[scale=0.5] {R2/CR.pdf} \caption{Coverage ratio for 150 deployed nodes} \label{Figures/ch4/R2/CR} \end{figure} -As can be seen in Figure~\ref{Figures/ch4/R2/CR}, at the beginning the models which use a larger number of primary points provide slightly better coverage ratios, but latter they are the worst. -%Moreover, when the number of periods increases, coverage ratio produced by Model-9, Model-13, Model-17, and Model-21 decreases in comparison with Model-5 due to a larger time computation for the decision process for larger number of primary points. -Moreover, when the number of periods increases, coverage ratio produced by all models decrease, but Model-5 is the one with the slowest decrease due to a smaller time computation of decision process for a smaller number of primary points. -As shown in Figure ~\ref{Figures/ch4/R2/CR}, coverage ratio decreases when the number of periods increases due to dead nodes. Model-5 is slightly more efficient than other models, because it offers a good coverage ratio for a larger number of periods in comparison with other models. %\item {{\bf Network Lifetime}} -\subsubsection{Network Lifetime} +\subsubsection{Network lifetime} -Finally, we study the effect of increasing the primary points on the lifetime of the network. +Finally, we study the effect of increasing the number of primary points on the lifetime of the network. %In Figure~\ref{Figures/ch4/R2/LT95} and in Figure~\ref{Figures/ch4/R2/LT50}, network lifetime, $Lifetime95$ and $Lifetime50$ respectively, are illustrated for different network sizes. -As highlighted by Figures~\ref{Figures/ch4/R2/LT}(a) and \ref{Figures/ch4/R2/LT}(b), the network lifetime obviously increases when the size of the network increases, with Model-5 that leads to the larger lifetime improvement. +As highlighted by Figures~\ref{Figures/ch4/R2/LT}(a) and +\ref{Figures/ch4/R2/LT}(b), the network lifetime obviously increases when the +size of the network increases, with Model-5 which leads to the largest lifetime +improvement. \begin{figure}[h!] \centering @@ -1389,12 +1447,17 @@ As highlighted by Figures~\ref{Figures/ch4/R2/LT}(a) and \ref{Figures/ch4/R2/LT} \label{Figures/ch4/R2/LT} \end{figure} -Comparison shows that Model-5, which uses less number of primary points, is the best one because it is less energy consuming during the network lifetime. It is also the better one from the point of view of coverage ratio. Our proposed Model-5 efficiently prolongs the network lifetime with a good coverage ratio in comparison with other models. Therefore, we have chosen Model-5 for all the experiments presented thereafter. +Comparison shows that Model-5, which uses less number of primary points, is the +best one because it is less energy consuming during the network lifetime. It is +also the better one from the point of view of coverage ratio, as stated +before. Therefore, we have chosen the model with five primary points for all the +experiments presented thereafter. %\end{enumerate} +% MICHEL => TO BE CONTINUED -\subsection{Results and analysis} +\subsection{Experimental results and analysis} \subsubsection{Coverage ratio} @@ -1494,8 +1557,9 @@ network sizes, for $Lifetime_{95}$ and $Lifetime_{50}$. The results show that MuDiLCO is the most competitive from the energy consumption point of view. The other approaches have a high energy consumption -due to activating a larger number of redundant nodes as well as the energy consumed during the different status of the sensor node. Among the different versions of our protocol, the MuDiLCO-7 one consumes more energy than the other -versions. This is easy to understand since the bigger the number of rounds and the number of sensors involved in the integer program are, the larger the time computation to solve the optimization problem is. To improve the performances of MuDiLCO-7, we should increase the number of subregions in order to have less sensors to consider in the integer program. +due to activating a larger number of redundant nodes as well as the energy consumed during the different status of the sensor node. +% Among the different versions of our protocol, the MuDiLCO-7 one consumes more energy than the other +%versions. This is easy to understand since the bigger the number of rounds and the number of sensors involved in the integer program are, the larger the time computation to solve the optimization problem is. To improve the performances of MuDiLCO-7, we should increase the number of subregions in order to have less sensors to consider in the integer program. %\textcolor{red}{As shown in Figure~\ref{fig7}, GA-MuDiLCO consumes less energy than both DESK and GAF, but a little bit higher than MuDiLCO because it provides a near optimal solution by activating a larger number of nodes during the sensing phase. GA-MuDiLCO consumes less energy in comparison with MuDiLCO-7 version, especially for the dense networks. However, MuDiLCO protocol and GA-MuDiLCO protocol are the most competitive from the energy %consumption point of view. The other approaches have a high energy consumption %due to activating a larger number of redundant nodes.}