]> AND Private Git Repository - ThesisAli.git/blobdiff - CHAPITRE_05.tex
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
Update by Ali
[ThesisAli.git] / CHAPITRE_05.tex
index 01d5dbe080588f817368bd1ea2c693729d121747..91014fb9ba229257a060435a5450f0267123a523 100644 (file)
 %%                          %%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 %%                          %%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-\chapter{Perimeter-based Coverage Optimization to Improve Lifetime in Wireless Sensor Networks}
+\chapter{Multiround Distributed Lifetime Coverage Optimization Protocol in Wireless Sensor Networks}
 \label{ch5}
 
 
 \label{ch5}
 
 
-\section{summary}
+\section{Introduction}
 \label{ch5:sec:01}
 
 \label{ch5:sec:01}
 
-The most important problem in a Wireless Sensor Network (WSN) is to optimize the
-use of its limited energy provision, so that it can fulfill its monitoring task
-as long as  possible. Among  known  available approaches  that can  be used  to
-improve  power  management,  lifetime coverage  optimization  provides  activity
-scheduling which ensures sensing coverage while minimizing the energy cost. In
-this paper,  we propose such an approach called Perimeter-based Coverage Optimization
-protocol (PeCO). It is a  hybrid of centralized and distributed methods: the
-region of interest is first subdivided into subregions and our protocol is then
-distributed among sensor nodes in each  subregion.
-The novelty of our approach lies essentially in the formulation of a new
-mathematical optimization  model based on the  perimeter coverage level  to schedule
-sensors' activities.  Extensive simulation experiments have been performed using
-OMNeT++, the  discrete event simulator, to  demonstrate that PeCO  can
-offer longer lifetime coverage for WSNs in comparison with some other protocols.
-
-\section{THE PeCO PROTOCOL DESCRIPTION}
-\label{ch5:sec:02}
-
-\noindent  In  this  section,  we  describe in  details  our  Lifetime  Coverage
-Optimization protocol.  First we present the  assumptions we made and the models
-we considered (in particular the perimeter coverage one), second we describe the
-background idea of our protocol, and third  we give the outline of the algorithm
-executed by each node.
-
-
+\indent  The fast  developments of low-cost  sensor devices  and  wireless
+communications have allowed the emergence of WSNs. A WSN includes a large number
+of small, limited-power sensors that  can sense, process, and transmit data over
+a wireless  communication. They communicate  with each other by using multi-hop
+wireless communications and cooperate together  to monitor the area of interest,
+so that  each measured data can be  reported to a monitoring  center called sink
+for further  analysis~\cite{ref222}.  There  are several fields  of application
+covering  a wide  spectrum for a  WSN, including health, home, environmental,
+military, and industrial applications~\cite{ref19}.
 
 
-\subsection{Assumptions and Models}
-\label{ch5:sec:02:01}
-PeCO protocol uses the same assumptions and network model that presented in chapter 3, section \ref{ch3:sec:02:01}.
-
-The PeCO protocol  uses the  same perimeter-coverage  model as  Huang and
-Tseng in~\cite{ref133}. It  can be expressed as follows:  a sensor is
-said to be perimeter  covered if all the points on its  perimeter are covered by
-at least  one sensor  other than  itself.  They  proved that  a network  area is
-$k$-covered if and only if each sensor in the network is $k$-perimeter-covered (perimeter covered by at least $k$ sensors).
-  
-Figure~\ref{pcm2sensors}(a)  shows  the coverage  of  sensor  node~$0$. On  this
-figure, we can  see that sensor~$0$ has  nine neighbors and we  have reported on
-its  perimeter (the  perimeter  of the  disk  covered by  the  sensor) for  each
-neighbor  the  two  points  resulting  from  intersection  of  the  two  sensing
-areas. These points are denoted for  neighbor~$i$ by $iL$ and $iR$, respectively
-for  left and  right from  neighbor  point of  view.  The  resulting couples  of
-intersection points subdivide the perimeter of sensor~$0$ into portions called
-arcs.
-
-\begin{figure}[ht!]
-  \centering
-  \begin{tabular}{@{}cr@{}}
-    \includegraphics[width=95mm]{Figures/ch5/pcm.jpg} & \raisebox{3.25cm}{(a)} \\
-    \includegraphics[width=95mm]{Figures/ch5/twosensors.jpg} & \raisebox{2.75cm}{(b)}
-  \end{tabular}
-  \caption{(a) Perimeter  coverage of sensor node  0 and (b) finding  the arc of
-    $u$'s perimeter covered by $v$.}
-  \label{pcm2sensors}
-\end{figure} 
+On the one hand sensor nodes run on batteries with limited capacities, and it is
+often  costly  or  simply  impossible  to  replace  and/or  recharge  batteries,
+especially in remote and hostile environments. Obviously, to achieve a long life
+of the  network it is important  to conserve battery  power. Therefore, lifetime
+optimization is one of the most critical issues in wireless sensor networks. On
+the other hand we must guarantee  coverage over the area of interest. To fulfill
+these two objectives, the main idea  is to take advantage of overlapping sensing
+regions to turn-off redundant sensor nodes  and thus save energy. In this paper,
+we concentrate  on the area coverage  problem, with the  objective of maximizing
+the network lifetime by using an optimized multiround scheduling.
 
 
-Figure~\ref{pcm2sensors}(b) describes the geometric information used to find the
-locations of the  left and right points of  an arc on the perimeter  of a sensor
-node~$u$ covered by a sensor node~$v$. Node~$v$ is supposed to be located on the
-west  side of  sensor~$u$,  with  the following  respective  coordinates in  the
-sensing area~: $(v_x,v_y)$ and $(u_x,u_y)$. From the previous coordinates we can
-compute the euclidean distance between nodes~$u$ and $v$: $Dist(u,v)=\sqrt{\vert
-  u_x  - v_x  \vert^2 +  \vert u_y-v_y  \vert^2}$, while  the angle~$\alpha$  is
-obtained through  the formula: $$\alpha =  \arccos \left(\dfrac{Dist(u,v)}{2R_s}
-\right).$$ The arc on the perimeter of~$u$ defined by the angular interval $[\pi
-  - \alpha,\pi + \alpha]$ is said to be perimeter-covered by sensor~$v$.
-
-Every couple of intersection points is placed on the angular interval $[0,2\pi]$
-in  a  counterclockwise manner,  leading  to  a  partitioning of  the  interval.
-Figure~\ref{pcm2sensors}(a)  illustrates  the arcs  for  the  nine neighbors  of
-sensor $0$ and  Figure~\ref{expcm} gives the position of  the corresponding arcs
-in  the interval  $[0,2\pi]$. More  precisely, we  can see  that the  points are
-ordered according  to the  measures of  the angles  defined by  their respective
-positions. The intersection points are  then visited one after another, starting
-from the first  intersection point  after  point~zero,  and  the maximum  level  of
-coverage is determined  for each interval defined by two  successive points. The
-maximum  level of  coverage is  equal to  the number  of overlapping  arcs.  For
-example, 
-between~$5L$  and~$6L$ the maximum  level of  coverage is equal  to $3$
-(the value is highlighted in yellow  at the bottom of Figure~\ref{expcm}), which
-means that at most 2~neighbors can cover  the perimeter in addition to node $0$. 
-Table~\ref{my-label} summarizes for each coverage  interval the maximum level of
-coverage and  the sensor  nodes covering the  perimeter.  The  example discussed
-above is thus given by the sixth line of the table.
-
-
-\begin{figure*}[t!]
-\centering
-\includegraphics[width=150.5mm]{Figures/ch5/expcm2.jpg}  
-\caption{Maximum coverage levels for perimeter of sensor node $0$.}
-\label{expcm}
-\end{figure*} 
+We study the problem of designing an energy-efficient optimization algorithm that divides the sensor nodes in a WSN into multiple cover sets such that the area of interest is monitored as long as possible. Providing multiple cover sets can be used to improve the energy efficiency of WSNs. Therefore, in order to increase the longevity of the WSN and conserve the energy, it can be useful to provide multiple cover sets in one time after that schedule them for multiple rounds, so that the battery life of a sensor is not wasted due to the repeated execution of the coverage optimization algorithm, as well as the information exchange and leader election.
 
 
+The MuDiLCO protocol (for Multiround Distributed Lifetime Coverage Optimization protocol) presented in this chapter is an extension of the approach introduced in chapter 4. Simulation results have shown that it was more interesting to divide the area into several subregions, given the computation complexity. Compared to our protocol in chapter 4, in this one we study the possibility of dividing the sensing phase into multiple rounds. In fact, in this chapter we make a multiround optimization while it was a single round optimization in our protocol in chapter 4.
 
 
- \begin{table}[h!]
- \caption{Coverage intervals and contributing sensors for sensor node 0.}
- \centering
-\begin{tabular}{|c|c|c|c|c|c|c|c|c|}
-\hline
-\begin{tabular}[c]{@{}c@{}}Left \\ point \\ angle~$\alpha$ \end{tabular} & \begin{tabular}[c]{@{}c@{}}Interval \\ left \\ point\end{tabular} & \begin{tabular}[c]{@{}c@{}}Interval \\ right \\ point\end{tabular} & \begin{tabular}[c]{@{}c@{}}Maximum \\ coverage\\  level\end{tabular} & \multicolumn{5}{c|}{\begin{tabular}[c]{@{}c@{}}Set of sensors\\ involved \\ in coverage interval\end{tabular}} \\ \hline
-0.0291    & 1L                                                                        & 2L                                                        & 4                                                                     & 0                     & 1                     & 3                    & 4                    &                      \\ \hline
-0.104     & 2L                                                                        & 3R                                                        & 5                                                                     & 0                     & 1                     & 3                    & 4                    & 2                    \\ \hline
-0.3168    & 3R                                                                        & 4R                                                        & 4                                                                     & 0                     & 1                     & 4                    & 2                    &                      \\ \hline
-0.6752    & 4R                                                                        & 1R                                                        & 3                                                                     & 0                     & 1                     & 2                    &                      &                      \\ \hline
-1.8127    & 1R                                                                        & 5L                                                        & 2                                                                     & 0                     & 2                     &                      &                      &                      \\ \hline
-1.9228    & 5L                                                                        & 6L                                                        & 3                                                                     & 0                     & 2                     & 5                    &                      &                      \\ \hline
-2.3959    & 6L                                                                        & 2R                                                        & 4                                                                     & 0                     & 2                     & 5                    & 6                    &                      \\ \hline
-2.4258    & 2R                                                                        & 7L                                                        & 3                                                                     & 0                     & 5                     & 6                    &                      &                      \\ \hline
-2.7868    & 7L                                                                        & 8L                                                        & 4                                                                     & 0                     & 5                     & 6                    & 7                    &                      \\ \hline
-2.8358    & 8L                                                                        & 5R                                                        & 5                                                                     & 0                     & 5                     & 6                    & 7                    & 8                    \\ \hline
-2.9184    & 5R                                                                        & 7R                                                        & 4                                                                     & 0                     & 6                     & 7                    & 8                    &                      \\ \hline
-3.3301    & 7R                                                                        & 9R                                                        & 3                                                                     & 0                     & 6                     & 8                    &                      &                      \\ \hline
-3.9464    & 9R                                                                        & 6R                                                        & 4                                                                     & 0                     & 6                     & 8                    & 9                    &                      \\ \hline
-4.767     & 6R                                                                        & 3L                                                        & 3                                                                     & 0                     & 8                     & 9                    &                      &                      \\ \hline
-4.8425    & 3L                                                                        & 8R                                                        & 4                                                                     & 0                     & 3                     & 8                    & 9                    &                      \\ \hline
-4.9072    & 8R                                                                        & 4L                                                        & 3                                                                     & 0                     & 3                     & 9                    &                      &                      \\ \hline
-5.3804    & 4L                                                                        & 9R                                                        & 4                                                                     & 0                     & 3                     & 4                    & 9                    &                      \\ \hline
-5.9157    & 9R                                                                        & 1L                                                        & 3                                                                     & 0                     & 3                     & 4                    &                      &                      \\ \hline
-\end{tabular}
 
 
-\label{my-label}
-\end{table}
-
-
-In the PeCO  protocol, the scheduling of the sensor  nodes' activities is formulated  with an
-integer program  based on  coverage intervals. The  formulation of  the coverage
-optimization problem is  detailed in~section~\ref{ch5:sec:03}.  Note that  when a sensor
-node  has a  part of  its sensing  range outside  the WSN  sensing field,  as in
-Figure~\ref{ex4pcm}, the maximum coverage level for  this arc is set to $\infty$
-and  the  corresponding  interval  will  not   be  taken  into  account  by  the
-optimization algorithm.
-
-
-\begin{figure}[h!]
-\centering
-\includegraphics[width=95.5mm]{Figures/ch5/ex4pcm.jpg}  
-\caption{Sensing range outside the WSN's area of interest.}
-\label{ex4pcm}
-\end{figure} 
+The remainder of the chapter continues with section \ref{ch5:sec:02} where a detail of MuDiLCO Protocol is presented. The next section describes the Primary Points based Multiround Coverage Problem formulation  which is used to schedule the activation of sensors in T cover sets. Section \ref{ch5:sec:04} shows the simulation
+results. The chapter ends with a conclusion and some suggestions for further work.
 
 
 
 
 
 
 
 
+\section{MuDiLCO Protocol Description}
+\label{ch5:sec:02}
+\noindent In this section, we introduce the MuDiLCO protocol which is distributed on each subregion in the area of interest. It is based on two energy-efficient
+mechanisms: subdividing the area of interest into several subregions (like cluster architecture) using divide and conquer method, where the sensor nodes cooperate within each subregion as independent group in order to achieve a network leader election; and sensor activity scheduling for maintaining the coverage and prolonging the network lifetime, which are applied periodically. MuDiLCO protocol uses the same assumptions and network model that presented in chapter 4, section \ref{ch4:sec:02:01} and it has been used the primary point coverage model which is described in the same chapter, section \ref{ch4:sec:02:02}.
 
 
-\subsection{The Main Idea}
+\subsection{Background Idea and Algorithm}
 \label{ch5:sec:02:02}
 \label{ch5:sec:02:02}
-
-\noindent The  WSN area of interest is, in a  first step, divided  into regular
-homogeneous subregions  using a divide-and-conquer  algorithm. In a  second step
-our  protocol  will  be  executed  in a distributed way in each subregion
-simultaneously to schedule nodes' activities for one sensing period.
-
-As  shown in  Figure~\ref{fig2}, node  activity  scheduling is  produced by  our
-protocol in a periodic manner. Each period is divided into 4 stages: Information
-(INFO)  Exchange,  Leader Election,  Decision  (the  result of  an  optimization
-problem),  and  Sensing.   For  each  period there  is  exactly  one  set  cover
-responsible for  the sensing task.  Protocols  based on a periodic  scheme, like
-PeCO, are more  robust against an unexpected  node failure. On the  one hand, if
-a node failure is discovered before  taking the decision, the corresponding sensor
-node will  not be considered  by the optimization  algorithm. On  the other
-hand, if the sensor failure happens after  the decision, the sensing task of the
-network will be temporarily affected: only  during the period of sensing until a
-new period starts, since a new set cover will take charge of the sensing task in
-the next period. The energy consumption and some other constraints can easily be
-taken  into  account since  the  sensors  can  update  and then  exchange  their
-information (including their  residual energy) at the beginning  of each period.
-However, the pre-sensing  phases (INFO Exchange, Leader  Election, and Decision)
-are energy consuming, even for nodes that will not join the set cover to monitor
-the area.
-
-\begin{figure}[t!]
-\centering
-\includegraphics[width=95.5mm]{Figures/ch5/Model.pdf}  
-\caption{PeCO protocol.}
+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. The information exchange among wireless sensor nodes is described in chapter 4, section \ref{ch4:sec:02:03:01}. The leader election in each subregion is explained in chapter 4, section \ref{ch4:sec:02:03:02}, but the difference in that the elected leader in each subregion is for each period. In decision phase, each WSNL will 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.  The integer  program 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
+each round  of the  sensing phase. Each sensing phase may be itself divided into $T$ rounds
+and for each round a set of sensors (a cover set) is responsible for the sensing
+task. 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. 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=160mm]{Figures/ch5/GeneralModel.jpg} % 70mm  Modelgeneral.pdf
+\caption{The MuDiLCO protocol scheme executed on each node}
 \label{fig2}
 \end{figure} 
 
 
 \label{fig2}
 \end{figure} 
 
 
+This protocol minimizes the impact of unexpected node failure (not due to batteries running out of energy), because it works in periods. 
 
 
+On the one hand, if a node failure is detected before making the decision, the node will not participate during 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.
 
 
-\subsection{PeCO Protocol Algorithm}
-\label{ch5:sec:02:03}
+The  energy consumption  and some other constraints  can easily  be  taken into account since the  sensors  can  update and  then  exchange their  information (including their residual energy) at the beginning of each period.  However, the pre-sensing  phases (Information  Exchange, Leader  Election, and  Decision) are energy  consuming for some  nodes, even  when they  do not  join the  network to monitor the area.
 
 
-
-\noindent The  pseudocode implementing the protocol on a node is  given below.
-More  precisely,  Algorithm~\ref{alg:PeCO}  gives  a brief  description  of  the
-protocol applied by a sensor node $s_k$ where $k$ is the node index in the WSN.
 
 \begin{algorithm}[h!]                
  % \KwIn{all the parameters related to information exchange}
 
 \begin{algorithm}[h!]                
  % \KwIn{all the parameters related to information exchange}
@@ -205,364 +90,469 @@ protocol applied by a sensor node $s_k$ where $k$ is the node index in the WSN.
   \BlankLine
   %\emph{Initialize the sensor node and determine it's position and subregion} \; 
   
   \BlankLine
   %\emph{Initialize the sensor node and determine it's position and subregion} \; 
   
-  \If{ $RE_k \geq E_{th}$ }{
-      \emph{$s_k.status$ = COMMUNICATION}\;
-      \emph{Send $INFO()$ packet to other nodes in subregion}\;
-      \emph{Wait $INFO()$ packet from other nodes in subregion}\; 
-      \emph{Update K.CurrentSize}\;
-      \emph{LeaderID = Leader election}\;
-      \If{$ s_k.ID = LeaderID $}{
-         \emph{$s_k.status$ = COMPUTATION}\;
-         
-      \If{$ s_k.ID $ is Not previously selected as a Leader }{
-          \emph{ Execute the perimeter coverage model}\;
-         % \emph{ Determine the segment points using perimeter coverage model}\;
-      }
+  \If{ $RE_j \geq E_{R}$ }{
+      \emph{$s_j.status$ = COMMUNICATION}\;
+      \emph{Send $INFO()$ packet to other nodes in the subregion}\;
+      \emph{Wait $INFO()$ packet from other nodes in the subregion}\; 
+      %\emph{UPDATE $RE_j$ for every sent or received INFO Packet}\;
+      %\emph{ Collect information and construct the list L for all nodes in the subregion}\;
       
       
-      \If{$ (s_k.ID $ is the same Previous Leader) And (K.CurrentSize = K.PreviousSize)}{
-      
-        \emph{ Use the same previous cover set for current sensing stage}\;
-      }
-      \Else{
-            \emph{Update $a^j_{ik}$; prepare data for IP~Algorithm}\;
-            \emph{$\left\{\left(X_{1},\dots,X_{l},\dots,X_{K}\right)\right\}$ = Execute Integer Program Algorithm($K$)}\;
-            \emph{K.PreviousSize = K.CurrentSize}\;
-           }
-      
-        \emph{$s_k.status$ = COMMUNICATION}\;
-        \emph{Send $ActiveSleep()$ to each node $l$ in subregion}\;
-        \emph{Update $RE_k $}\;
+      %\If{ the received INFO Packet = No. of nodes in it's subregion -1  }{
+      \emph{LeaderID = Leader election}\;
+      \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 Integer Program Algorithm($T,J$)}\;
+        \emph{$s_j.status$ = COMMUNICATION}\;
+        \emph{Send $ActiveSleep()$ to each node $k$ in subregion a packet \\
+          with vector of activity scheduling $(X_{1,k},\dots,X_{T,k})$}\;
+        \emph{Update $RE_j $}\;
       }          
       \Else{
       }          
       \Else{
-        \emph{$s_k.status$ = LISTENING}\;
+        \emph{$s_j.status$ = LISTENING}\;
         \emph{Wait $ActiveSleep()$ packet from the Leader}\;
         \emph{Wait $ActiveSleep()$ packet from the Leader}\;
-        \emph{Update $RE_k $}\;
+        % \emph{After receiving Packet, Retrieve the schedule and the $T$ rounds}\;
+        \emph{Update $RE_j $}\;
       }  
       }  
+      %  }
   }
   }
-  \Else { Exclude $s_k$ from entering in the current sensing stage}
-\caption{PeCO($s_k$)}
-\label{alg:PeCO}
+  \Else { Exclude $s_j$ from entering in the current sensing phase}
+  
+ %   \emph{return X} \;
+\caption{MuDiLCO($s_j$)}
+\label{alg:MuDiLCO}
+
 \end{algorithm}
 
 \end{algorithm}
 
-In this  algorithm, K.CurrentSize and K.PreviousSize  respectively represent the
-current number and  the previous number of living nodes in  the subnetwork of the
-subregion.  Initially, the sensor node checks its remaining energy $RE_k$, which
-must be greater than a threshold $E_{th}$ in order to participate in the current
-period.  Each  sensor node  determines its position  and its subregion  using an
-embedded  GPS or a  location discovery  algorithm. After  that, all  the sensors
-collect position coordinates,  remaining energy, sensor node ID,  and the number
-of their  one-hop live  neighbors during the  information exchange.  The sensors
-inside a same region cooperate to elect a leader. The selection criteria for the
-leader, in order of priority,  are: larger numbers of neighbors, larger remaining
-energy, and  then in case  of equality, larger  index.  Once chosen,  the leader
-collects information to formulate and  solve the integer program which allows to
-construct the set of active sensors in the sensing stage.
 
 
 
 
 
 
-\section{Perimeter-based Coverage Problem Formulation}
+\section{Primary Points based Multiround Coverage Problem Formulation}
 \label{ch5:sec:03}
 
 
 \label{ch5:sec:03}
 
 
-\noindent In this  section, the coverage model is  mathematically formulated. We
-start  with a  description of  the notations  that will  be used  throughout the
-section.
+According to our algorithm~\ref{alg:MuDiLCO}, the integer program is based on the model
+proposed by  \cite{ref156} 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
+sensors by  $J$. Only sensors  able to  be alive during  at least one  round are
+involved in the integer program.
 
 
-First, we have the following sets:
-\begin{itemize}
-\item $S$ represents the set of WSN sensor nodes;
-\item $A \subseteq S $ is the subset of alive sensors;
-\item  $I_j$  designates  the  set  of  coverage  intervals  (CI)  obtained  for
-  sensor~$j$.
-\end{itemize}
-$I_j$ refers to the set of  coverage intervals which have been defined according
-to the  method introduced in  subsection~\ref{ch5:sec:02:01}. For a coverage  interval $i$,
-let $a^j_{ik}$ denotes  the indicator function of whether  sensor~$k$ is involved
-in coverage interval~$i$ of sensor~$j$, that is:
+
+For a  primary point  $p$, let $\alpha_{j,p}$  denote the indicator  function of
+whether the point $p$ is covered, that is
 \begin{equation}
 \begin{equation}
-a^j_{ik} = \left \{ 
-\begin{array}{lll}
-  1 & \mbox{if sensor $k$ is involved in the } \\
      &       \mbox{coverage interval $i$ of sensor $j$}, \\
+\alpha_{j,p} = \left \{ 
+\begin{array}{l l}
+  1 & \mbox{if the primary point $p$ is covered} \\
& \mbox{by sensor node $j$}, \\
   0 & \mbox{otherwise.}\\
 \end{array} \right.
 %\label{eq12} 
   0 & \mbox{otherwise.}\\
 \end{array} \right.
 %\label{eq12} 
-\notag
 \end{equation}
 \end{equation}
-Note that $a^k_{ik}=1$ by definition of the interval.
-
-Second,  we define  several binary  and integer  variables.  Hence,  each binary
-variable $X_{k}$  determines the activation of  sensor $k$ in the  sensing phase
-($X_k=1$ if  the sensor $k$  is active or 0  otherwise).  $M^j_i$ is  an integer
-variable  which  measures  the  undercoverage  for  the  coverage  interval  $i$
-corresponding to  sensor~$j$. In  the same  way, the  overcoverage for  the same
-coverage interval is given by the variable $V^j_i$.
-
-If we decide to sustain a level of coverage equal to $l$ all along the perimeter
-of sensor  $j$, we have  to ensure  that at least  $l$ sensors involved  in each
-coverage  interval $i  \in I_j$  of  sensor $j$  are active.   According to  the
-previous notations, the number of active sensors in the coverage interval $i$ of
-sensor $j$  is given by  $\sum_{k \in A} a^j_{ik}  X_k$.  To extend  the network
-lifetime,  the objective  is to  activate a  minimal number  of sensors  in each
-period to  ensure the  desired coverage  level. As the  number of  alive sensors
-decreases, it becomes impossible to reach  the desired level of coverage for all
-coverage intervals. Therefore we use variables  $M^j_i$ and $V^j_i$ as a measure
-of the  deviation between  the desired  number of active  sensors in  a coverage
-interval and  the effective  number. And  we try  to minimize  these deviations,
-first to  force the  activation of  a minimal  number of  sensors to  ensure the
-desired coverage level, and if the desired level cannot be completely satisfied,
-to reach a coverage level as close as possible to the desired one.
-
-
-Our coverage optimization problem can then be mathematically expressed as follows: 
-%Objective:
-\begin{equation} %\label{eq:ip2r}
-\left \{
-\begin{array}{ll}
-\min \sum_{j \in S} \sum_{i \in I_j} (\alpha^j_i ~ M^j_i + \beta^j_i ~ V^j_i )&\\
-\textrm{subject to :}&\\
-\sum_{k \in A} ( a^j_{ik} ~ X_{k}) + M^j_i  \geq l \quad \forall i \in I_j, \forall j \in S\\
-%\label{c1} 
-\sum_{k \in A} ( a^j_{ik} ~ X_{k}) - V^j_i  \leq l \quad \forall i \in I_j, \forall j \in S\\
-% \label{c2}
-% \Theta_{p}\in \mathbb{N}, &\forall p \in P\\
-% U_{p} \in \{0,1\}, &\forall p \in P\\
-X_{k} \in \{0,1\}, \forall k \in A
-\end{array}
-\right.
-\notag
+The number of  active sensors that cover the  primary point $p$ during
+round $t$ is equal to $\sum_{j \in J} \alpha_{j,p} * X_{t,j}$ where
+\begin{equation}
+X_{t,j} = \left \{ 
+\begin{array}{l l}
+  1& \mbox{if sensor $j$  is active during round $t$,} \\
+  0 &  \mbox{otherwise.}\\
+\end{array} \right.
+%\label{eq11} 
+\end{equation}
+We define the Overcoverage variable $\Theta_{t,p}$ as
+\begin{equation}
+ \Theta_{t,p} = \left \{ 
+\begin{array}{l l}
+  0 & \mbox{if the primary point $p$}\\
+    & \mbox{is not covered during round $t$,}\\
+  \left( \sum_{j \in J} \alpha_{jp} * X_{tj} \right)- 1 & \mbox{otherwise.}\\
+\end{array} \right.
+\label{eq13} 
+\end{equation}
+More  precisely, $\Theta_{t,p}$  represents the  number of  active  sensor nodes
+minus  one  that  cover  the  primary  point $p$  during  round  $t$.   The
+Undercoverage variable  $U_{t,p}$ of the primary  point $p$ during  round $t$ is
+defined by
+\begin{equation}
+U_{t,p} = \left \{ 
+\begin{array}{l l}
+  1 &\mbox{if the primary point $p$ is not covered during round $t$,} \\
+  0 & \mbox{otherwise.}\\
+\end{array} \right.
+\label{eq14} 
+\end{equation}
+
+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} 
+\end{equation}
+
+Subject to
+\begin{equation}
+  \sum_{j=1}^{|J|} \alpha_{j,p} * X_{t,j}   = \Theta_{t,p} - U_{t,p} + 1 \label{eq16} \hspace{6 mm} \forall p \in P, t = 1,\dots,T
+\end{equation}
+
+\begin{equation}
+  \sum_{t=1}^{T}  X_{t,j}   \leq  \lfloor {RE_{j}/E_{R}} \rfloor \hspace{6 mm} \forall j \in J, t = 1,\dots,T
+  \label{eq144} 
+\end{equation}
+
+\begin{equation}
+X_{t,j} \in \lbrace0,1\rbrace,   \hspace{10 mm} \forall j \in J, t = 1,\dots,T \label{eq17} 
+\end{equation}
+
+\begin{equation}
+U_{t,p} \in \lbrace0,1\rbrace, \hspace{10 mm}\forall p \in P, t = 1,\dots,T  \label{eq18} 
+\end{equation}
+
+\begin{equation}
+ \Theta_{t,p} \geq 0 \hspace{10 mm}\forall p \in P, t = 1,\dots,T \label{eq178}
 \end{equation}
 \end{equation}
-$\alpha^j_i$ and $\beta^j_i$  are nonnegative weights selected  according to the
-relative importance of satisfying the associated level of coverage. For example,
-weights associated with  coverage intervals of a specified part  of a region may
-be  given by a  relatively larger  magnitude than  weights associated  with another
-region. This  kind of integer program  is inspired from the  model developed for
-brachytherapy treatment planning  for optimizing dose  distribution
-\cite{0031-9155-44-1-012}. The integer  program must be solved by  the leader in
-each subregion at the beginning of  each sensing phase, whenever the environment
-has  changed (new  leader,  death of  some  sensors). Note  that  the number  of
-constraints in the model is constant  (constraints of coverage expressed for all
-sensors), whereas the number of variables $X_k$ decreases over periods, since we
-consider only alive  sensors (sensors with enough energy to  be alive during one
-sensing phase) in the model.
-
-\section{Performance Evaluation and Analysis}
+
+
+
+\begin{itemize}
+\item $X_{t,j}$:  indicates whether  or not the  sensor $j$ is  actively sensing
+  during round $t$ (1 if yes and 0 if not);
+\item $\Theta_{t,p}$ - {\it overcoverage}:  the number of sensors minus one that
+  are covering the primary point $p$ during round $t$;
+\item  $U_{t,p}$ -  {\it undercoverage}:  indicates whether  or not  the primary
+  point $p$  is being covered during round $t$ (1  if not covered  and 0 if
+  covered).
+\end{itemize}
+
+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
+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. 
+%% 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
+large compared to $W_{\theta}$.
+
+
+
+\section{Experimental Study and Analysis}
 \label{ch5:sec:04}
 
 \label{ch5:sec:04}
 
-\subsection{Simulation Settings}
+\subsection{Simulation Setup}
 \label{ch5:sec:04:01}
 \label{ch5:sec:04:01}
-
-The WSN  area of interest is  supposed to be divided  into 16~regular subregions. %and we use the same energy consumption than in our previous work~\cite{Idrees2}.
-Table~\ref{table3} gives the chosen parameters settings.
+We  conducted  a  series of  simulations  to  evaluate  the efficiency  and  the
+relevance  of our  approach,  using  the  discrete   event  simulator  OMNeT++
+\cite{ref158}. 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.
+
+%%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 ?
 
 \begin{table}[ht]
 
 \begin{table}[ht]
-\caption{Relevant parameters for network initialization.}
+\caption{Relevant parameters for network initializing.}
 % title of Table
 \centering
 % used for centering table
 \begin{tabular}{c|c}
 % centered columns (4 columns)
 % title of Table
 \centering
 % used for centering table
 \begin{tabular}{c|c}
 % centered columns (4 columns)
-\hline
+      \hline
+%inserts double horizontal lines
 Parameter & Value  \\ [0.5ex]
    
 Parameter & Value  \\ [0.5ex]
    
+%Case & Strategy (with Two Leaders) & Strategy (with One Leader) & Simple Heuristic \\ [0.5ex]
+% inserts table
+%heading
 \hline
 % inserts single horizontal line
 \hline
 % inserts single horizontal line
-Sensing field & $(50 \times 25)~m^2 $   \\
-
-WSN size &  100, 150, 200, 250, and 300~nodes   \\
+Sensing field size & $(50 \times 25)~m^2 $   \\
+% inserting body of the table
 %\hline
 %\hline
-Initial energy  & in range 500-700~Joules  \\  
+Network size &  50, 100, 150, 200 and 250~nodes   \\
 %\hline
 %\hline
-Sensing period & duration of 60 minutes \\
-$E_{th}$ & 36~Joules\\
+Initial energy  & 500-700~joules  \\  
+%\hline
+Sensing time for one round & 60 Minutes \\
+$E_{R}$ & 36 Joules\\
 $R_s$ & 5~m   \\     
 %\hline
 $R_s$ & 5~m   \\     
 %\hline
-$\alpha^j_i$ & 0.6   \\
+$W_{\Theta}$ & 1   \\
 % [1ex] adds vertical space
 %\hline
 % [1ex] adds vertical space
 %\hline
-$\beta^j_i$ & 0.4
+$W_{U}$ & $|P|^2$
 %inserts single line
 \end{tabular}
 \label{table3}
 % is used to refer this table in the text
 \end{table}
 %inserts single line
 \end{tabular}
 \label{table3}
 % is used to refer this table in the text
 \end{table}
+  
+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).  In  the following, we will make comparisons with two other methods. The first method, called DESK and proposed by \cite{DESK}, is  a   fully  distributed  coverage   algorithm.   The  second   method is called
+GAF~\cite{GAF}, 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 in chapter 4 to study the choice of the number of subregions  which subdivides  the  sensing field,  considering different  network
+sizes. They show that as the number of subregions increases, so does the network
+lifetime. Moreover,  it makes  the MuDiLCO protocol  more robust  against random
+network  disconnection due  to node  failures.  However,  too  many subdivisions
+reduce the advantage  of the optimization. In fact, there  is a balance between
+the  benefit  from the  optimization  and the  execution  time  needed to  solve
+it. Therefore, we have set the number of subregions to 16 rather than 32.
 
 
-To obtain experimental results which are relevant,  simulations  with  five
-different node densities going from  100 to 300~nodes were performed considering
-each time 25~randomly  generated networks. The nodes are deployed  on a field of
-interest of $(50 \times 25)~m^2 $ in such a way that they cover the field with a
-high coverage ratio. Each node has an  initial energy level, in Joules, which is
-randomly drawn in the interval $[500-700]$. If its energy provision reaches a
-value below  the threshold $E_{th}=36$~Joules,  the minimum energy needed  for a
-node  to stay  active during  one period,  it will no more  participate in the
-coverage task. This value corresponds to the energy needed by the sensing phase,
-obtained by multiplying the energy consumed in active state (9.72 mW) with the
-time in seconds for one  period (3600 seconds), and  adding the energy  for the
-pre-sensing phases. According  to the interval of initial energy,  a sensor may
-be active during at most 20 periods.
+We used the modeling language and the optimization solver which are mentioned in chapter 4, section \ref{ch4:sec:04:02}. In addition, we employed an energy consumption model, which is presented in chapter 4, section \ref{ch4:sec:04:03}. 
 
 
+%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 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 alive during at most 20 rounds.
 
 
-The values  of $\alpha^j_i$ and  $\beta^j_i$ have been  chosen to ensure  a good
-network coverage and a longer WSN lifetime.  We have given a higher priority to
-the  undercoverage  (by  setting  the  $\alpha^j_i$ with  a  larger  value  than
-$\beta^j_i$)  so as  to prevent  the non-coverage  for the  interval~$i$ of  the
-sensor~$j$.  On the  other hand,  we have assigned to
-$\beta^j_i$ a value which is slightly lower so as to minimize the number of active sensor nodes which contribute
-in covering the interval.
+\subsection{Metrics}
+\label{ch5:sec:04:02}
+To evaluate our approach we consider the following performance metrics:
+
+\begin{enumerate}[i]
+  
+\item {{\bf Coverage Ratio (CR)}:} the coverage ratio measures how much of the area
+  of a sensor field is covered. In our case, the sensing field is represented as
+  a connected grid  of points and we use  each grid point as a  sample point to
+  compute the coverage. The coverage ratio can be calculated by:
+\begin{equation*}
+\scriptsize
+\mbox{CR}(\%) = \frac{\mbox{$n^t$}}{\mbox{$N$}} \times 100,
+\end{equation*}
+where $n^t$ is  the number of covered  grid points by the active  sensors of all
+subregions during round $t$ in the current sensing phase and $N$ is the total number
+of grid points  in the sensing field of  the network. In our simulations $N = 51
+\times 26 = 1326$ grid points.
+
+\item{{\bf Number  of Active Sensors Ratio  (ASR)}:} it is important  to have as
+  few  active  nodes  as  possible  in  each  round, in  order  to  minimize  the
+  communication overhead  and maximize the network lifetime.  The Active Sensors
+  Ratio is defined as follows:
+\begin{equation*}
+\scriptsize  \mbox{ASR}(\%) = \frac{\sum\limits_{r=1}^R
+  \mbox{$A_r^t$}}{\mbox{$|J|$}} \times 100,
+\end{equation*}
+where $A_r^t$ is the number of  active sensors in the subregion $r$ during round
+$t$ in the  current sensing phase, $|J|$  is the total number of  sensors in the
+network, and $R$ is the total number of subregions in the network.
+
+\item {{\bf Network Lifetime}:} is described in chapter 4, section \ref{ch4:sec:04:04}.
+
+\item {{\bf  Energy Consumption  (EC)}:} the average energy consumption  can be
+  seen as the total energy consumed by the sensors during the $Lifetime_{95}$ or
+  $Lifetime_{50}$  divided  by the  number  of rounds.  EC  can  be computed  as
+  follows:
+
+ % New version with global loops on period
+  \begin{equation*}
+    \scriptsize
+    \mbox{EC} = \frac{\sum\limits_{m=1}^{M_L} \left[ \left( E^{\mbox{com}}_m+E^{\mbox{list}}_m+E^{\mbox{comp}}_m \right) +\sum\limits_{t=1}^{T_m} \left( E^{a}_t+E^{s}_t \right) \right]}{\sum\limits_{m=1}^{M_L} T_m},
+  \end{equation*}
+
+
+where  $M_L$ 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
+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$.
+$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$.
+
+
+\item {{\bf Execution Time}:} is described in chapter 4, section \ref{ch4:sec:04:04}.
+  
+\item {{\bf Stopped simulation runs}:} is described in chapter 4, section \ref{ch4:sec:04:04}.
 
 
-We applied the performance metrics, which are described in chapter 3, section \ref{ch3:sec:04:04} in order to evaluate the efficiency of our approach. We used the modeling language and the optimization solver which are mentioned in chapter 3, section \ref{ch3:sec:04:02}. In addition, we employed an energy consumption model, which is presented in chapter 3, section \ref{ch3:sec:04:03}.
+\end{enumerate}
 
 
 
 
-\subsection{Simulation Results}
+
+\subsection{Results Analysis and Comparison }
 \label{ch5:sec:04:02}
 
 \label{ch5:sec:04:02}
 
-In  order  to  assess and  analyze  the  performance  of  our protocol  we  have implemented PeCO protocol in  OMNeT++~\cite{ref158} simulator.  Besides PeCO, three other protocols,  described in  the next paragraph,  will  be  evaluated for comparison purposes. 
-%The simulations were run  on a laptop DELL with an Intel Core~i3~2370~M (2.4~GHz) processor (2  cores) whose MIPS  (Million Instructions Per Second) rate  is equal to 35330. To  be consistent with the use  of a sensor node based on  Atmels AVR ATmega103L microcontroller (6~MHz) having  a MIPS rate equal to 6, the original execution time  on the laptop is  multiplied by 2944.2 $\left(\frac{35330}{2} \times  \frac{1}{6} \right)$.  The modeling  language for Mathematical Programming (AMPL)~\cite{AMPL} is  employed to generate the integer program instance  in a  standard format, which  is then read  and solved  by the optimization solver  GLPK (GNU  linear Programming Kit  available in  the public domain) \cite{glpk} through a Branch-and-Bound method.
-As said previously, the PeCO is  compared with three other approaches. The first one,  called  DESK,  is  a  fully distributed  coverage  algorithm  proposed  by \cite{DESK}. The second one,  called GAF~\cite{GAF}, consists in dividing  the monitoring  area into  fixed  squares. Then,  during the  decision phase, in each square, one sensor is  chosen to remain active during the sensing phase. The last  one, the DiLCO protocol~\cite{Idrees2}, is  an improved version of a research work we presented in~\cite{ref159}. Let us notice that PeCO and  DiLCO protocols are  based on the  same framework. In  particular, the choice for the simulations of a partitioning in 16~subregions was chosen because it corresponds to the configuration producing the better results for DiLCO. The protocols are distinguished from one another by the formulation  of the integer program providing the set of sensors which have to be activated in each sensing phase. DiLCO protocol tries to satisfy the coverage of a set of primary points, whereas PeCO protocol objective is to reach a desired level of coverage for each sensor perimeter. In our experimentations, we chose a level of coverage equal to one ($l=1$).
 
 
+\begin{enumerate}[(i)]
 
 
+\item {{\bf Coverage Ratio}}
+%\subsection{Coverage ratio} 
+%\label{ch5:sec:03:02:01}
 
 
-\subsubsection{Coverage Ratio}
-\label{ch5:sec:04:02:01}
+Figure~\ref{fig3} shows  the average coverage  ratio for 150 deployed  nodes. We
+can notice that for the first thirty rounds both DESK and GAF provide a coverage
+which is a little bit better than the one of MuDiLCO.  
 
 
-Figure~\ref{fig333}  shows the  average coverage  ratio for  200 deployed  nodes
-obtained with the  four protocols. DESK, GAF, and DiLCO  provide a slightly better
-coverage ratio with respectively 99.99\%,  99.91\%, and 99.02\%, compared to the 98.76\%
-produced by  PeCO for the  first periods. This  is due to  the fact that  at the
-beginning the DiLCO protocol  puts to  sleep status  more redundant  sensors (which
-slightly decreases the coverage ratio), while the three other protocols activate
-more sensor  nodes. Later, when the  number of periods is  beyond~70, it clearly
-appears that  PeCO provides a better  coverage ratio and keeps  a coverage ratio
-greater  than 50\%  for  longer periods  (15  more compared  to  DiLCO, 40  more
-compared to DESK). The energy saved by  PeCO in the early periods allows later a
-substantial increase of the coverage performance.
+This is due  to the fact that, in comparison with  MuDiLCO which uses optimization
+to put in  SLEEP status redundant sensors, more sensor  nodes remain active with
+DESK and GAF. As a consequence, when the number of  rounds increases, a larger
+number of node failures  can be observed in DESK and GAF,  resulting in a faster
+decrease of the coverage ratio.   Furthermore, our protocol allows to maintain a
+coverage ratio  greater than  50\% for far  more rounds.  Overall,  the proposed
+sensor  activity scheduling based  on optimization  in MuDiLCO  maintains higher
+coverage ratios of the  area of interest for a larger number  of rounds. It also
+means that MuDiLCO saves more energy,  with fewer dead nodes, at most for several
+rounds, and thus should extend the network lifetime.
 
 
-\parskip 0pt    
-\begin{figure}[h!]
+\begin{figure}[ht!]
 \centering
 \centering
- \includegraphics[scale=0.5] {Figures/ch5/R/CR.eps} 
-\caption{Coverage ratio for 200 deployed nodes.}
-\label{fig333}
+ \includegraphics[scale=0.8] {Figures/ch5/R1/CR.pdf}   
+\caption{Average coverage ratio for 150 deployed nodes}
+\label{fig3}
 \end{figure} 
 
 
 \end{figure} 
 
 
+\item {{\bf Active sensors ratio}}
+%\subsection{Active sensors ratio} 
+%\label{ch5:sec:03:02:02}
 
 
-\subsubsection{Active Sensors Ratio}
-\label{ch5:sec:04:02:02}
+It is crucial to have as few active nodes as possible in each round, in order to 
+minimize    the    communication    overhead    and   maximize    the    network
+lifetime. Figure~\ref{fig4}  presents the active  sensor ratio for  150 deployed
+nodes all along the network lifetime. It appears that up to round thirteen, DESK
+and GAF have  respectively 37.6\% and 44.8\% of nodes  in ACTIVE status, whereas
+MuDiLCO clearly  outperforms them  with only 24.8\%  of active nodes.  After the
+thirty-fifth round, MuDiLCO exhibits larger numbers of active nodes, which agrees
+with  the  dual  observation  of  higher  level  of  coverage  made  previously.
+Obviously, in  that case, DESK and GAF have fewer active nodes since they have activated many nodes  in the beginning. Anyway, MuDiLCO  activates the available nodes in a more efficient manner.
 
 
-Having the less active sensor nodes in  each period is essential to minimize the
-energy consumption  and thus to  maximize the network  lifetime.  Figure~\ref{fig444}
-shows the  average active nodes ratio  for 200 deployed nodes.   We observe that
-DESK and  GAF have 30.36  \% and  34.96 \% active  nodes for the  first fourteen
-rounds and  DiLCO and PeCO  protocols compete perfectly  with only 17.92  \% and
-20.16 \% active  nodes during the same  time interval. As the  number of periods
-increases, PeCO protocol  has a lower number of active  nodes in comparison with
-the three other approaches, while keeping a greater coverage ratio as shown in
-Figure \ref{fig333}.
+\begin{figure}[ht!]
+\centering
+\includegraphics[scale=0.8]{Figures/ch5/R1/ASR.pdf}  
+\caption{Active sensors ratio for 150 deployed nodes}
+\label{fig4}
+\end{figure} 
 
 
-\begin{figure}[h!]
+\item {{\bf Stopped simulation runs}}
+%\subsection{Stopped simulation runs}
+%\label{ch5:sec:03:02:03}
+
+Figure~\ref{fig6} reports the cumulative  percentage of stopped simulations runs
+per round for 150 deployed nodes. This figure gives the  breakpoint for each method.  DESK stops first,  after approximately 45~rounds, because it consumes the
+more energy by  turning on a large number of redundant  nodes during the sensing
+phase. GAF  stops secondly for the  same reason than  DESK.  MuDiLCO overcomes
+DESK and GAF because the  optimization process distributed on several subregions
+leads  to coverage  preservation and  so extends  the network  lifetime.  Let us
+emphasize that the  simulation continues as long as a network  in a subregion is
+still connected.
+
+
+\begin{figure}[ht!]
 \centering
 \centering
-\includegraphics[scale=0.5]{Figures/ch5/R/ASR.eps}  
-\caption{Active sensors ratio for 200 deployed nodes.}
-\label{fig444}
+\includegraphics[scale=0.8]{Figures/ch5/R1/SR.pdf} 
+\caption{Cumulative percentage of stopped simulation runs for 150 deployed nodes }
+\label{fig6}
 \end{figure} 
 
 \end{figure} 
 
-\subsubsection{The Energy Consumption}
-\label{ch5:sec:04:02:03}
-
-We studied the effect of the energy  consumed by the WSN during the communication,
-computation, listening, active, and sleep status for different network densities
-and  compared  it for  the  four  approaches.  Figures~\ref{fig3EC}(a)  and  (b)
-illustrate  the  energy   consumption  for  different  network   sizes  and  for
-$Lifetime95$ and  $Lifetime50$. The results show  that our PeCO protocol  is the
-most competitive  from the energy  consumption point of  view. As shown  in both
-figures, PeCO consumes much less energy than the three other methods.  One might
-think that the  resolution of the integer  program is too costly  in energy, but
-the  results show  that it  is very  beneficial to  lose a  bit of  time in  the
-selection of  sensors to  activate.  Indeed the  optimization program  allows to
-reduce significantly the number of active  sensors and so the energy consumption
-while keeping a good coverage level.
 
 
+\item {{\bf Energy consumption}} \label{subsec:EC} 
+%\subsection{Energy consumption} 
+%\label{ch5:sec:03:02:04}
+
+We  measure  the  energy  consumed  by the  sensors  during  the  communication,
+listening, computation, active, and sleep status for different network densities
+and   compare   it   with   the  two   other   methods.  Figures~\ref{fig7}(a)
+and~\ref{fig7}(b)  illustrate  the  energy  consumption,  considering  different
+network sizes, for $Lifetime_{95}$ and $Lifetime_{50}$.
+
 \begin{figure}[h!]
 \begin{figure}[h!]
-  \centering
-  \begin{tabular}{@{}cr@{}}
-    \includegraphics[scale=0.475]{Figures/ch5/R/EC95.eps} & \raisebox{2.75cm}{(a)} \\
-    \includegraphics[scale=0.475]{Figures/ch5/R/EC50.eps} & \raisebox{2.75cm}{(b)}
-  \end{tabular}
-  \caption{Energy consumption per period for (a)~$Lifetime_{95}$ and (b)~$Lifetime_{50}$.}
-  \label{fig3EC}
-\end{figure} 
+\centering
+ %\begin{multicols}{1}
+\centering
+\includegraphics[scale=0.8]{Figures/ch5/R1/EC95.pdf}\\~ ~ ~ ~ ~(a) \\
+%\vfill
+\includegraphics[scale=0.8]{Figures/ch5/R1/EC50.pdf}\\~ ~ ~ ~ ~(b)
 
 
+%\end{multicols} 
+\caption{Energy consumption for (a) $Lifetime_{95}$ and (b) $Lifetime_{50}$}
+\label{fig7}
+\end{figure}
 
 
 
 
-\subsubsection{The Network Lifetime}
-\label{ch5:sec:04:02:04}
+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 is  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 fewer sensors to consider in the integer program.
 
 
-We observe the superiority of PeCO and DiLCO protocols in comparison with the
-two    other   approaches    in    prolonging   the    network   lifetime.    In
-Figures~\ref{fig3LT}(a)  and (b),  $Lifetime95$ and  $Lifetime50$ are  shown for
-different  network  sizes.   As  highlighted  by  these  figures,  the  lifetime
-increases with the size  of the network, and it is clearly   largest for DiLCO
-and PeCO  protocols.  For instance,  for a  network of 300~sensors  and coverage
-ratio greater than 50\%, we can  see on Figure~\ref{fig3LT}(b) that the lifetime
-is about twice longer with  PeCO compared to DESK protocol.  The performance
-difference    is    more    obvious   in    Figure~\ref{fig3LT}(b)    than    in
-Figure~\ref{fig3LT}(a) because the gain induced  by our protocols increases with
- time, and the lifetime with a coverage  of 50\% is far  longer than with
-95\%.
 
 
-\begin{figure}[h!]
-  \centering
-  \begin{tabular}{@{}cr@{}}
-    \includegraphics[scale=0.475]{Figures/ch5/R/LT95.eps} & \raisebox{2.75cm}{(a)} \\  
-    \includegraphics[scale=0.475]{Figures/ch5/R/LT50.eps} & \raisebox{2.75cm}{(b)}
-  \end{tabular}
-  \caption{Network Lifetime for (a)~$Lifetime_{95}$ and (b)~$Lifetime_{50}$.}
-  \label{fig3LT}
+
+ \item {{\bf Execution time}}
+%\subsection{Execution time}
+%\label{ch5:sec:03:02:05}
+
+We observe  the impact of the  network size and of  the number of  rounds on the
+computation  time.   Figure~\ref{fig77} gives  the  average  execution times  in
+seconds (needed to solve optimization problem) for different values of $T$. The original execution time is computed as described in chapter 4, section \ref{ch4:sec:04:02}.
+
+%The original execution time  is computed on a laptop  DELL with Intel Core~i3~2370~M (2.4 GHz)  processor (2  cores) and the  MIPS (Million Instructions  Per Second) rate equal to 35330. To be consistent  with the use of a sensor node with Atmels AVR ATmega103L  microcontroller (6 MHz) and  a MIPS rate  equal to 6 to  run the optimization   resolution,   this  time   is   multiplied   by  2944.2   $\left( \frac{35330}{2} \times  \frac{1}{6} \right)$ and  reported on Figure~\ref{fig77} for different network sizes.
+
+\begin{figure}[ht!]
+\centering
+\includegraphics[scale=0.8]{Figures/ch5/R1/T.pdf}  
+\caption{Execution Time (in seconds)}
+\label{fig77}
 \end{figure} 
 
 \end{figure} 
 
-Figure~\ref{figLTALL}  compares  the  lifetime  coverage of  our  protocols  for
-different coverage  ratios. We denote by  Protocol/50, Protocol/80, Protocol/85,
-Protocol/90, and  Protocol/95 the amount  of time  during which the  network can
-satisfy an area coverage greater than $50\%$, $80\%$, $85\%$, $90\%$, and $95\%$
-respectively, where the term Protocol refers to  DiLCO  or PeCO.  Indeed there  are applications
-that do not require a 100\% coverage of  the area to be monitored. PeCO might be
-an interesting  method since  it achieves  a good balance  between a  high level
-coverage ratio and network lifetime. PeCO always outperforms DiLCO for the three
-lower  coverage  ratios,  moreover  the   improvements  grow  with  the  network
-size. DiLCO is better  for coverage ratios near 100\%, but in  that case PeCO is
-not ineffective for the smallest network sizes.
+As expected,  the execution time increases  with the number of  rounds $T$ taken into account to schedule the sensing phase. The times obtained for $T=1,3$ or $5$ seem bearable, but for $T=7$ they become quickly unsuitable for a sensor node, especially when  the sensor network size increases.   Again, we can notice that if we want  to schedule the nodes activities for a  large number of rounds,
+we need to choose a relevant number of subregions in order to avoid a complicated and cumbersome optimization.  On the one hand, a large value  for $T$ permits to reduce the  energy overhead due  to the three  pre-sensing phases, on  the other hand  a leader  node may  waste a  considerable amount  of energy  to  solve the optimization problem.
+
+
+
+\item {{\bf Network lifetime}}
+%\subsection{Network lifetime}
+%\label{ch5:sec:03:02:06}
+
+The next  two figures,  Figures~\ref{fig8}(a) and \ref{fig8}(b),  illustrate the network lifetime  for different network sizes,  respectively for $Lifetime_{95}$ and  $Lifetime_{50}$.  Both  figures show  that the  network  lifetime increases together with the  number of sensor nodes, whatever the  protocol, thanks to the node  density  which  results in  more  and  more  redundant  nodes that  can  be deactivated and thus save energy.  Compared to the other approaches, our MuDiLCO
+protocol  maximizes the  lifetime of  the network.   In particular,  the  gain in lifetime for a  coverage over 95\% is greater than 38\%  when switching from GAF to MuDiLCO-3.  The  slight decrease that can be observed  for MuDiLCO-7 in case of  $Lifetime_{95}$  with  large  wireless  sensor  networks  results  from  the difficulty  of the optimization  problem to  be solved  by the  integer program.
+This  point was  already noticed  in \ref{subsec:EC} devoted  to the
+energy consumption,  since network lifetime and energy  consumption are directly linked.
+
 
 \begin{figure}[h!]
 
 \begin{figure}[h!]
-\centering \includegraphics[scale=0.5]{Figures/ch5/R/LTa.eps}
-\caption{Network lifetime for different coverage ratios.}
-\label{figLTALL}
-\end{figure} 
+\centering
+% \begin{multicols}{0}
+\centering
+\includegraphics[scale=0.8]{Figures/ch5/R1/LT95.pdf}\\~ ~ ~ ~ ~(a) \\
+%\hfill 
+\includegraphics[scale=0.8]{Figures/ch5/R1/LT50.pdf}\\~ ~ ~ ~ ~(b)
+
+%\end{multicols} 
+\caption{Network lifetime for (a) $Lifetime_{95}$ and (b) $Lifetime_{50}$}
+  \label{fig8}
+\end{figure}
+
+
 
 
+\end{enumerate}
 
 
 \section{Conclusion}
 
 
 \section{Conclusion}
-\label{ch5:sec:04}
+\label{ch5:sec:05}
+
+We have addressed  the problem of the coverage and of the lifetime optimization in wireless  sensor networks.  This is  a key  issue as  sensor nodes  have limited resources in terms of memory, energy, and computational power. To cope with this problem,  the field  of sensing  is divided  into smaller  subregions  using the concept  of divide-and-conquer  method, and  then  we propose  a protocol  which optimizes coverage  and lifetime performances in each  subregion.  Our protocol,
+called MuDiLCO (Multiround  Distributed Lifetime Coverage Optimization) combines two  efficient   techniques:  network   leader  election  and   sensor  activity scheduling.
+
+The activity  scheduling in each subregion  works in periods,  where each period consists of four  phases: (i) Information Exchange, (ii)  Leader Election, (iii) Decision Phase to plan the activity  of the sensors over $T$ rounds, (iv) Sensing Phase itself divided into T rounds.
+
+Simulations  results show the  relevance of  the proposed  protocol in  terms of lifetime, coverage  ratio, active  sensors ratio, energy  consumption, execution time. Indeed,  when dealing with  large wireless sensor networks,  a distributed approach, like  the one we  propose, allows to  reduce the difficulty of  a single global optimization problem by partitioning it into many smaller problems, one per subregion, that can be solved  more easily. Nevertheless, results also show that it is not possible to plan the activity of sensors over too many rounds because the resulting optimization problem leads to too high-resolution times and thus to an excessive energy consumption.
+
+
+
 
 
-In this chapter, we have studied the problem of  Perimeter-based Coverage Optimization in
-WSNs. We have designed  a new protocol, called Perimeter-based  Coverage Optimization, which
-schedules nodes'  activities (wake up  and sleep  stages) with the  objective of
-maintaining a  good coverage ratio  while maximizing the network  lifetime. This
-protocol is  applied in a distributed  way in regular subregions  obtained after
-partitioning the area of interest in a preliminary step. It works in periods and
-is based on the resolution of an integer program to select the subset of sensors
-operating in active status for each period. Our work is original in so far as it
-proposes for  the first  time an  integer program  scheduling the  activation of
-sensors  based on  their perimeter  coverage level,  instead of  using a  set of
-targets/points to be covered. We  have carried out  several simulations  to  evaluate the  proposed protocol. The simulation  results  show   that  PeCO  is  more   energy-efficient  than  other approaches, with respect to lifetime,  coverage ratio, active sensors ratio, and
-energy consumption.
-
-We plan to extend our framework so that the schedules are planned for multiple
-sensing periods.
-%in order to compute all active sensor schedules in only one step for many periods;
-We also want  to improve our integer program to  take into account heterogeneous
-sensors  from both  energy  and node  characteristics point of views.
-%the third, we are investigating new optimization model based on the sensing range so as to maximize the lifetime coverage in WSN;
-Finally,  it   would  be   interesting  to  implement   our  protocol   using  a
-sensor-testbed to evaluate it in real world applications.
\ No newline at end of file