On Maximizing the Lifetime of Wireless Sensor Networks by Optimally Assigning Energy Supplies
Identifieur interne : 000572 ( Pmc/Corpus ); précédent : 000571; suivant : 000573On Maximizing the Lifetime of Wireless Sensor Networks by Optimally Assigning Energy Supplies
Auteurs : Rafael Asorey-Cacheda ; Antonio Javier García-Sánchez ; Felipe García-Sánchez ; Joan García-Haro ; Francisco Javier Gonzalez-Casta OSource :
- Sensors (Basel, Switzerland) [ 1424-8220 ] ; 2013.
Abstract
The extension of the network lifetime of Wireless Sensor Networks (WSN) is an important issue that has not been appropriately solved yet. This paper addresses this concern and proposes some techniques to plan an arbitrary WSN. To this end, we suggest a hierarchical network architecture, similar to realistic scenarios, where nodes with renewable energy sources (denoted as primary nodes) carry out most message delivery tasks, and nodes equipped with conventional chemical batteries (denoted as secondary nodes) are those with less communication demands. The key design issue of this network architecture is the development of a new optimization framework to calculate the optimal assignment of renewable energy supplies (primary node assignment) to maximize network lifetime, obtaining the minimum number of energy supplies and their node assignment. We also conduct a second optimization step to additionally minimize the number of packet hops between the source and the sink. In this work, we present an algorithm that approaches the results of the optimization framework, but with much faster execution speed, which is a good alternative for large-scale WSN networks. Finally, the network model, the optimization process and the designed algorithm are further evaluated and validated by means of computer simulation under realistic conditions. The results obtained are discussed comparatively.
Url:
DOI: 10.3390/s130810219
PubMed: 23939582
PubMed Central: 3812601
Links to Exploration step
PMC:3812601Le document en format XML
<record><TEI><teiHeader><fileDesc><titleStmt><title xml:lang="en">On Maximizing the Lifetime of Wireless Sensor Networks by Optimally Assigning Energy Supplies</title>
<author><name sortKey="Asorey Cacheda, Rafael" sort="Asorey Cacheda, Rafael" uniqKey="Asorey Cacheda R" first="Rafael" last="Asorey-Cacheda">Rafael Asorey-Cacheda</name>
<affiliation><nlm:aff id="af1-sensors-13-10219"> Centro Universitario de la Defensa, University of Vigo, Praza de España, Marín 36920, Spain</nlm:aff>
</affiliation>
</author>
<author><name sortKey="Garcia Sanchez, Antonio Javier" sort="Garcia Sanchez, Antonio Javier" uniqKey="Garcia Sanchez A" first="Antonio Javier" last="García-Sánchez">Antonio Javier García-Sánchez</name>
<affiliation><nlm:aff id="af2-sensors-13-10219"> Departament of Information and Communication Technologies, Universidad Politécnica de Cartagena (UPCT), ETSIT, Campus Muralla del Mar 1, Cartagena 30202, Spain; E-Mails:<email>antoniojavier.garcia@upct.es</email>
(A.J.G.-S.);<email>felipe.garcia@upct.es</email>
(F.G.-S.);<email>joang.haro@upct.es</email>
(J.G.-H.)</nlm:aff>
</affiliation>
</author>
<author><name sortKey="Garcia Sanchez, Felipe" sort="Garcia Sanchez, Felipe" uniqKey="Garcia Sanchez F" first="Felipe" last="García-Sánchez">Felipe García-Sánchez</name>
<affiliation><nlm:aff id="af2-sensors-13-10219"> Departament of Information and Communication Technologies, Universidad Politécnica de Cartagena (UPCT), ETSIT, Campus Muralla del Mar 1, Cartagena 30202, Spain; E-Mails:<email>antoniojavier.garcia@upct.es</email>
(A.J.G.-S.);<email>felipe.garcia@upct.es</email>
(F.G.-S.);<email>joang.haro@upct.es</email>
(J.G.-H.)</nlm:aff>
</affiliation>
</author>
<author><name sortKey="Garcia Haro, Joan" sort="Garcia Haro, Joan" uniqKey="Garcia Haro J" first="Joan" last="García-Haro">Joan García-Haro</name>
<affiliation><nlm:aff id="af2-sensors-13-10219"> Departament of Information and Communication Technologies, Universidad Politécnica de Cartagena (UPCT), ETSIT, Campus Muralla del Mar 1, Cartagena 30202, Spain; E-Mails:<email>antoniojavier.garcia@upct.es</email>
(A.J.G.-S.);<email>felipe.garcia@upct.es</email>
(F.G.-S.);<email>joang.haro@upct.es</email>
(J.G.-H.)</nlm:aff>
</affiliation>
</author>
<author><name sortKey="Gonzalez Casta O, Francisco Javier" sort="Gonzalez Casta O, Francisco Javier" uniqKey="Gonzalez Casta O F" first="Francisco Javier" last="Gonzalez-Casta O">Francisco Javier Gonzalez-Casta O</name>
<affiliation><nlm:aff id="af3-sensors-13-10219"> Departamento de Enxeñaría Telemática, University of Vigo, Campus, Vigo 36310, Spain; E-Mail:<email>javier@det.uvigo.es</email>
</nlm:aff>
</affiliation>
</author>
</titleStmt>
<publicationStmt><idno type="wicri:source">PMC</idno>
<idno type="pmid">23939582</idno>
<idno type="pmc">3812601</idno>
<idno type="url">http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3812601</idno>
<idno type="RBID">PMC:3812601</idno>
<idno type="doi">10.3390/s130810219</idno>
<date when="2013">2013</date>
<idno type="wicri:Area/Pmc/Corpus">000572</idno>
<idno type="wicri:explorRef" wicri:stream="Pmc" wicri:step="Corpus" wicri:corpus="PMC">000572</idno>
</publicationStmt>
<sourceDesc><biblStruct><analytic><title xml:lang="en" level="a" type="main">On Maximizing the Lifetime of Wireless Sensor Networks by Optimally Assigning Energy Supplies</title>
<author><name sortKey="Asorey Cacheda, Rafael" sort="Asorey Cacheda, Rafael" uniqKey="Asorey Cacheda R" first="Rafael" last="Asorey-Cacheda">Rafael Asorey-Cacheda</name>
<affiliation><nlm:aff id="af1-sensors-13-10219"> Centro Universitario de la Defensa, University of Vigo, Praza de España, Marín 36920, Spain</nlm:aff>
</affiliation>
</author>
<author><name sortKey="Garcia Sanchez, Antonio Javier" sort="Garcia Sanchez, Antonio Javier" uniqKey="Garcia Sanchez A" first="Antonio Javier" last="García-Sánchez">Antonio Javier García-Sánchez</name>
<affiliation><nlm:aff id="af2-sensors-13-10219"> Departament of Information and Communication Technologies, Universidad Politécnica de Cartagena (UPCT), ETSIT, Campus Muralla del Mar 1, Cartagena 30202, Spain; E-Mails:<email>antoniojavier.garcia@upct.es</email>
(A.J.G.-S.);<email>felipe.garcia@upct.es</email>
(F.G.-S.);<email>joang.haro@upct.es</email>
(J.G.-H.)</nlm:aff>
</affiliation>
</author>
<author><name sortKey="Garcia Sanchez, Felipe" sort="Garcia Sanchez, Felipe" uniqKey="Garcia Sanchez F" first="Felipe" last="García-Sánchez">Felipe García-Sánchez</name>
<affiliation><nlm:aff id="af2-sensors-13-10219"> Departament of Information and Communication Technologies, Universidad Politécnica de Cartagena (UPCT), ETSIT, Campus Muralla del Mar 1, Cartagena 30202, Spain; E-Mails:<email>antoniojavier.garcia@upct.es</email>
(A.J.G.-S.);<email>felipe.garcia@upct.es</email>
(F.G.-S.);<email>joang.haro@upct.es</email>
(J.G.-H.)</nlm:aff>
</affiliation>
</author>
<author><name sortKey="Garcia Haro, Joan" sort="Garcia Haro, Joan" uniqKey="Garcia Haro J" first="Joan" last="García-Haro">Joan García-Haro</name>
<affiliation><nlm:aff id="af2-sensors-13-10219"> Departament of Information and Communication Technologies, Universidad Politécnica de Cartagena (UPCT), ETSIT, Campus Muralla del Mar 1, Cartagena 30202, Spain; E-Mails:<email>antoniojavier.garcia@upct.es</email>
(A.J.G.-S.);<email>felipe.garcia@upct.es</email>
(F.G.-S.);<email>joang.haro@upct.es</email>
(J.G.-H.)</nlm:aff>
</affiliation>
</author>
<author><name sortKey="Gonzalez Casta O, Francisco Javier" sort="Gonzalez Casta O, Francisco Javier" uniqKey="Gonzalez Casta O F" first="Francisco Javier" last="Gonzalez-Casta O">Francisco Javier Gonzalez-Casta O</name>
<affiliation><nlm:aff id="af3-sensors-13-10219"> Departamento de Enxeñaría Telemática, University of Vigo, Campus, Vigo 36310, Spain; E-Mail:<email>javier@det.uvigo.es</email>
</nlm:aff>
</affiliation>
</author>
</analytic>
<series><title level="j">Sensors (Basel, Switzerland)</title>
<idno type="eISSN">1424-8220</idno>
<imprint><date when="2013">2013</date>
</imprint>
</series>
</biblStruct>
</sourceDesc>
</fileDesc>
<profileDesc><textClass></textClass>
</profileDesc>
</teiHeader>
<front><div type="abstract" xml:lang="en"><p>The extension of the network lifetime of Wireless Sensor Networks (WSN) is an important issue that has not been appropriately solved yet. This paper addresses this concern and proposes some techniques to plan an arbitrary WSN. To this end, we suggest a hierarchical network architecture, similar to realistic scenarios, where nodes with renewable energy sources (denoted as primary nodes) carry out most message delivery tasks, and nodes equipped with conventional chemical batteries (denoted as secondary nodes) are those with less communication demands. The key design issue of this network architecture is the development of a new optimization framework to calculate the optimal assignment of renewable energy supplies (primary node assignment) to maximize network lifetime, obtaining the minimum number of energy supplies and their node assignment. We also conduct a second optimization step to additionally minimize the number of packet hops between the source and the sink. In this work, we present an algorithm that approaches the results of the optimization framework, but with much faster execution speed, which is a good alternative for large-scale WSN networks. Finally, the network model, the optimization process and the designed algorithm are further evaluated and validated by means of computer simulation under realistic conditions. The results obtained are discussed comparatively.</p>
</div>
</front>
<back><div1 type="bibliography"><listBibl><biblStruct><analytic><author><name sortKey="Norman, B C" uniqKey="Norman B">B.C. Norman</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Garcia Sanchez, A J" uniqKey="Garcia Sanchez A">A.J. Garcia-Sanchez</name>
</author>
<author><name sortKey="Garcia Sanchez, F" uniqKey="Garcia Sanchez F">F. Garcia-Sanchez</name>
</author>
<author><name sortKey="Garcia Haro, J" uniqKey="Garcia Haro J">J. Garcia-Haro</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Vellidis, G" uniqKey="Vellidis G">G. Vellidis</name>
</author>
<author><name sortKey="Tucker, M" uniqKey="Tucker M">M. Tucker</name>
</author>
<author><name sortKey="Perry, C" uniqKey="Perry C">C. Perry</name>
</author>
<author><name sortKey="Kvien, C" uniqKey="Kvien C">C. Kvien</name>
</author>
<author><name sortKey="Bednarz, C" uniqKey="Bednarz C">C. Bednarz</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Abu Baker, A" uniqKey="Abu Baker A">A. Abu-Baker</name>
</author>
<author><name sortKey="Huang, H" uniqKey="Huang H">H. Huang</name>
</author>
<author><name sortKey="Johnson, E" uniqKey="Johnson E">E. Johnson</name>
</author>
<author><name sortKey="Misra, S" uniqKey="Misra S">S. Misra</name>
</author>
<author><name sortKey="Asorey Cacheda, R" uniqKey="Asorey Cacheda R">R. Asorey-Cacheda</name>
</author>
<author><name sortKey="Balakrishnan, M" uniqKey="Balakrishnan M">M. Balakrishnan</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct><analytic><author><name sortKey="La Porta, T" uniqKey="La Porta T">T. La Porta</name>
</author>
<author><name sortKey="Petrioli, C" uniqKey="Petrioli C">C. Petrioli</name>
</author>
<author><name sortKey="Spenza, D" uniqKey="Spenza D">D. Spenza</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Mao, S" uniqKey="Mao S">S. Mao</name>
</author>
<author><name sortKey="Cheung, M H" uniqKey="Cheung M">M.H. Cheung</name>
</author>
<author><name sortKey="Wong, V W S" uniqKey="Wong V">V.W.S. Wong</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Long, H" uniqKey="Long H">H. Long</name>
</author>
<author><name sortKey="Liu, Y" uniqKey="Liu Y">Y. Liu</name>
</author>
<author><name sortKey="Wang, Y" uniqKey="Wang Y">Y. Wang</name>
</author>
<author><name sortKey="Dick, R P" uniqKey="Dick R">R.P. Dick</name>
</author>
<author><name sortKey="Yang, H" uniqKey="Yang H">H. Yang</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Reise, G" uniqKey="Reise G">G. Reise</name>
</author>
<author><name sortKey="Matamoros, J" uniqKey="Matamoros J">J. Matamoros</name>
</author>
<author><name sortKey="Anton Haro, C" uniqKey="Anton Haro C">C. Anton-Haro</name>
</author>
<author><name sortKey="Matz, G" uniqKey="Matz G">G. Matz</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Wu, X" uniqKey="Wu X">X. Wu</name>
</author>
<author><name sortKey="Chen, G" uniqKey="Chen G">G. Chen</name>
</author>
<author><name sortKey="Das, S K" uniqKey="Das S">S.K. Das</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Iranli, A" uniqKey="Iranli A">A. Iranli</name>
</author>
<author><name sortKey="Maleki, M" uniqKey="Maleki M">M. Maleki</name>
</author>
<author><name sortKey="Pedram, M" uniqKey="Pedram M">M. Pedram</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Wang, D" uniqKey="Wang D">D. Wang</name>
</author>
<author><name sortKey="Xie, B" uniqKey="Xie B">B. Xie</name>
</author>
<author><name sortKey="Agrawal, D P" uniqKey="Agrawal D">D.P. Agrawal</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Basagni, S" uniqKey="Basagni S">S. Basagni</name>
</author>
<author><name sortKey="Elia, M" uniqKey="Elia M">M. Elia</name>
</author>
<author><name sortKey="Ghosh, R" uniqKey="Ghosh R">R. Ghosh</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Zhao, Y" uniqKey="Zhao Y">Y. Zhao</name>
</author>
<author><name sortKey="Wu, L" uniqKey="Wu L">L. Wu</name>
</author>
<author><name sortKey="Li, F" uniqKey="Li F">F. Li</name>
</author>
<author><name sortKey="Lu, S" uniqKey="Lu S">S. Lu</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Wang, Z M" uniqKey="Wang Z">Z.M. Wang</name>
</author>
<author><name sortKey="Basagni, S" uniqKey="Basagni S">S. Basagni</name>
</author>
<author><name sortKey="Melachrinoudis, E" uniqKey="Melachrinoudis E">E. Melachrinoudis</name>
</author>
<author><name sortKey="Petrioli, C" uniqKey="Petrioli C">C. Petrioli</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Zhixiang, D" uniqKey="Zhixiang D">D. Zhixiang</name>
</author>
<author><name sortKey="Bensheng, Q" uniqKey="Bensheng Q">Q. Bensheng</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Azim, M A" uniqKey="Azim M">M.A. Azim</name>
</author>
<author><name sortKey="Kibria, M R" uniqKey="Kibria M">M.R. Kibria</name>
</author>
<author><name sortKey="Jamalipour, A" uniqKey="Jamalipour A">A. Jamalipour</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Ting, C K" uniqKey="Ting C">C.K. Ting</name>
</author>
<author><name sortKey="Liao, C C" uniqKey="Liao C">C.C. Liao</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Rajiullah, M" uniqKey="Rajiullah M">M. Rajiullah</name>
</author>
<author><name sortKey="Shimamoto, S" uniqKey="Shimamoto S">S. Shimamoto</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Younis, O" uniqKey="Younis O">O. Younis</name>
</author>
<author><name sortKey="Krunz, M" uniqKey="Krunz M">M. Krunz</name>
</author>
<author><name sortKey="Ramasubramanian, S" uniqKey="Ramasubramanian S">S. Ramasubramanian</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Niyato, D" uniqKey="Niyato D">D. Niyato</name>
</author>
<author><name sortKey="Hossain, E" uniqKey="Hossain E">E. Hossain</name>
</author>
<author><name sortKey="Rashid, M M" uniqKey="Rashid M">M.M. Rashid</name>
</author>
<author><name sortKey="Bhargava, V K" uniqKey="Bhargava V">V.K. Bhargava</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Kim, J" uniqKey="Kim J">J. Kim</name>
</author>
<author><name sortKey="Lin, X" uniqKey="Lin X">X. Lin</name>
</author>
<author><name sortKey="Shroff, N B" uniqKey="Shroff N">N.B. Shroff</name>
</author>
<author><name sortKey="Sinha, P" uniqKey="Sinha P">P. Sinha</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Xiang, M" uniqKey="Xiang M">M. Xiang</name>
</author>
<author><name sortKey="Shi, W R" uniqKey="Shi W">W.-R. Shi</name>
</author>
<author><name sortKey="Jiang, C J" uniqKey="Jiang C">C.-J. Jiang</name>
</author>
<author><name sortKey="Zhang, Y" uniqKey="Zhang Y">Y. Zhang</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Kacimi, R" uniqKey="Kacimi R">R. Kacimi</name>
</author>
<author><name sortKey="Dhaou, R" uniqKey="Dhaou R">R. Dhaou</name>
</author>
<author><name sortKey="Beylor, A L" uniqKey="Beylor A">A.-L. Beylor</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Minhas, M R" uniqKey="Minhas M">M.R. Minhas</name>
</author>
<author><name sortKey="Gopalakrishnan, S" uniqKey="Gopalakrishnan S">S. Gopalakrishnan</name>
</author>
<author><name sortKey="Leung, V C M" uniqKey="Leung V">V.C.M. Leung</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct><analytic><author><name sortKey="Zheng, J" uniqKey="Zheng J">J. Zheng</name>
</author>
<author><name sortKey="Lee, M J" uniqKey="Lee M">M.J. Lee</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct><analytic><author><name sortKey="Casari, P" uniqKey="Casari P">P. Casari</name>
</author>
<author><name sortKey="Nati, M" uniqKey="Nati M">M. Nati</name>
</author>
<author><name sortKey="Petrioli, C" uniqKey="Petrioli C">C. Petrioli</name>
</author>
<author><name sortKey="Zorzi, M" uniqKey="Zorzi M">M. Zorzi</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Vuran, M C" uniqKey="Vuran M">M.C. Vuran</name>
</author>
<author><name sortKey="Akyildiz, I F" uniqKey="Akyildiz I">I.F. Akyildiz</name>
</author>
</analytic>
</biblStruct>
</listBibl>
</div1>
</back>
</TEI>
<pmc article-type="research-article"><pmc-dir>properties open_access</pmc-dir>
<front><journal-meta><journal-id journal-id-type="nlm-ta">Sensors (Basel)</journal-id>
<journal-id journal-id-type="iso-abbrev">Sensors (Basel)</journal-id>
<journal-title-group><journal-title>Sensors (Basel, Switzerland)</journal-title>
</journal-title-group>
<issn pub-type="epub">1424-8220</issn>
<publisher><publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name>
</publisher>
</journal-meta>
<article-meta><article-id pub-id-type="pmid">23939582</article-id>
<article-id pub-id-type="pmc">3812601</article-id>
<article-id pub-id-type="doi">10.3390/s130810219</article-id>
<article-id pub-id-type="publisher-id">sensors-13-10219</article-id>
<article-categories><subj-group subj-group-type="heading"><subject>Article</subject>
</subj-group>
</article-categories>
<title-group><article-title>On Maximizing the Lifetime of Wireless Sensor Networks by Optimally Assigning Energy Supplies</article-title>
</title-group>
<contrib-group><contrib contrib-type="author"><name><surname>Asorey-Cacheda</surname>
<given-names>Rafael</given-names>
</name>
<xref ref-type="aff" rid="af1-sensors-13-10219"><sup>1</sup>
</xref>
<xref rid="c1-sensors-13-10219" ref-type="corresp"><sup>*</sup>
</xref>
</contrib>
<contrib contrib-type="author"><name><surname>García-Sánchez</surname>
<given-names>Antonio Javier</given-names>
</name>
<xref ref-type="aff" rid="af2-sensors-13-10219"><sup>2</sup>
</xref>
</contrib>
<contrib contrib-type="author"><name><surname>García-Sánchez</surname>
<given-names>Felipe</given-names>
</name>
<xref ref-type="aff" rid="af2-sensors-13-10219"><sup>2</sup>
</xref>
</contrib>
<contrib contrib-type="author"><name><surname>García-Haro</surname>
<given-names>Joan</given-names>
</name>
<xref ref-type="aff" rid="af2-sensors-13-10219"><sup>2</sup>
</xref>
</contrib>
<contrib contrib-type="author"><name><surname>Gonzalez-Castaño</surname>
<given-names>Francisco Javier</given-names>
</name>
<xref ref-type="aff" rid="af3-sensors-13-10219"><sup>3</sup>
</xref>
</contrib>
</contrib-group>
<aff id="af1-sensors-13-10219"><label>1</label>
Centro Universitario de la Defensa, University of Vigo, Praza de España, Marín 36920, Spain</aff>
<aff id="af2-sensors-13-10219"><label>2</label>
Departament of Information and Communication Technologies, Universidad Politécnica de Cartagena (UPCT), ETSIT, Campus Muralla del Mar 1, Cartagena 30202, Spain; E-Mails:<email>antoniojavier.garcia@upct.es</email>
(A.J.G.-S.);<email>felipe.garcia@upct.es</email>
(F.G.-S.);<email>joang.haro@upct.es</email>
(J.G.-H.)</aff>
<aff id="af3-sensors-13-10219"><label>3</label>
Departamento de Enxeñaría Telemática, University of Vigo, Campus, Vigo 36310, Spain; E-Mail:<email>javier@det.uvigo.es</email>
</aff>
<author-notes><corresp id="c1-sensors-13-10219"><label>*</label>
Author to whom correspondence should be addressed; E-Mail: <email>rasorey@cud.uvigo.es</email>
; Tel.: +34-986-804-930; Fax: +34-986-804-929.</corresp>
</author-notes>
<pub-date pub-type="collection"><month>8</month>
<year>2013</year>
</pub-date>
<pub-date pub-type="epub"><day>09</day>
<month>8</month>
<year>2013</year>
</pub-date>
<volume>13</volume>
<issue>8</issue>
<fpage>10219</fpage>
<lpage>10244</lpage>
<history><date date-type="received"><day>27</day>
<month>6</month>
<year>2013</year>
</date>
<date date-type="rev-recd"><day>30</day>
<month>7</month>
<year>2013</year>
</date>
<date date-type="accepted"><day>02</day>
<month>8</month>
<year>2013</year>
</date>
</history>
<permissions><copyright-statement>© 2013 by the authors; licensee MDPI, Basel, Switzerland.</copyright-statement>
<copyright-year>2013</copyright-year>
<license><license-p><pmc-comment>CREATIVE COMMONS</pmc-comment>
This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (<ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/3.0/">http://creativecommons.org/licenses/by/3.0/</ext-link>
).</license-p>
</license>
</permissions>
<abstract><p>The extension of the network lifetime of Wireless Sensor Networks (WSN) is an important issue that has not been appropriately solved yet. This paper addresses this concern and proposes some techniques to plan an arbitrary WSN. To this end, we suggest a hierarchical network architecture, similar to realistic scenarios, where nodes with renewable energy sources (denoted as primary nodes) carry out most message delivery tasks, and nodes equipped with conventional chemical batteries (denoted as secondary nodes) are those with less communication demands. The key design issue of this network architecture is the development of a new optimization framework to calculate the optimal assignment of renewable energy supplies (primary node assignment) to maximize network lifetime, obtaining the minimum number of energy supplies and their node assignment. We also conduct a second optimization step to additionally minimize the number of packet hops between the source and the sink. In this work, we present an algorithm that approaches the results of the optimization framework, but with much faster execution speed, which is a good alternative for large-scale WSN networks. Finally, the network model, the optimization process and the designed algorithm are further evaluated and validated by means of computer simulation under realistic conditions. The results obtained are discussed comparatively.</p>
</abstract>
<kwd-group><kwd>wireless sensor networks</kwd>
<kwd>lifetime optimization</kwd>
<kwd>energy supply assignment</kwd>
</kwd-group>
</article-meta>
</front>
<body><sec><label>1.</label>
<title>Introduction</title>
<p>Large-scale wireless sensor networks (WSN) present important design challenges. Among them, network lifetime is a major topic of research, because this kind of network is usually intended for outdoor operation during long periods of time. Moreover, suitable planning before deployment is a fundamental task, albeit extremely complex, due to the many configurations that can be established. Thus, to extend WSN lifetime, we propose to provide certain nodes with additional power supplies (e.g., renewable energy sources). This paper addresses this idea and introduces some novel techniques, an optimization framework and a node assignment algorithm, to allow network planning before the deployment of arbitrary WSNs.</p>
<p>A Wireless Sensor Network consists of a large group of autonomous low-cost devices (nodes)distributed over an area that monitors one or several environmental variables of interest. In thesenetworks, the sources are nodes that capture and collaboratively dispatch the acquired data (temperature, humidity, lightness, <italic>etc.</italic>
) to the sink node/s, which is/are usually out of their direct coverage. As a consequence, intermediate nodes, in the path between sources and sinks, are in charge of retransmitting the sensed data, selecting, in a distributed manner, the best path to the sink. WSNs can be used to observe the physical world at a very fine spatial and temporal granularity and, thus, enabling a plethora of innovative applications in environment monitoring, agriculture, industrial plants, domotic systems, <italic>etc.</italic>
</p>
<p>Current node technology and network lifetime have restricted the deployment of WSNs in recent years. As many other autonomous electronic devices, the most common power source for WSN nodes (including the sensing instrumentation and radio communication subsystems) are chemical batteries. However, these batteries have two main drawbacks: (i) fast depletion when nodes operate intensively; and (ii) non-environmental sustainability of their chemical elements, since they can be abandoned in the monitoring area. To overcome these drawbacks, many real deployments replace chemical batteries with renewable energy supplies, e.g., solar panels or small windmills [<xref rid="b1-sensors-13-10219" ref-type="bibr">1</xref>
]. Depending on node location, these energy harvesting systems provide a long lifetime and, if necessary, continuous operation. However, renewable power supplies are mostly used in outdoor scenarios and notably increase the cost of the network deployment, compared with the regular battery case, especially when all nodes require them. Note that the node placement issue is out of the scope of this paper, as it is assumed that in most WSN deployments, nodes are placed where sensing tasks are required.</p>
<p>The utilization of renewable energy is limited by the network environmental conditions and its cost. To this aim, in this paper, we deal with a more realistic WSN deployment, which combines renewable and chemical power supplies in the same network as in [<xref rid="b2-sensors-13-10219" ref-type="bibr">2</xref>
,<xref rid="b3-sensors-13-10219" ref-type="bibr">3</xref>
]. Note that WSN nodes employ only one of them to reduce costs. Moreover, the decision to power the nodes with one type of energy or another is made in accordance with their operational needs. For instance, edge nodes, located far from the sink, should have shorter operation times, because they will not be used for neighbor message relaying. In this case, cheap and simple chemical batteries are still a suitable option. On the contrary, nodes closer to the sink node have to deliver messages from other nodes with high probability. Consequently, a renewable energy source may be a better option. This arrangement suggests a hierarchical network architecture, where nodes with renewable sources (denoted from now on as primary nodes) carry out most message delivery and nodes equipped with conventional batteries (denoted as secondary nodes) are those with less communication demands. The key design issue of this network architecture is the optimal selection of the proper number and node assignment with renewable energy means and, on the other hand, an estimate of the suitable number of hops between the source and sink. We face this as a planning problem, which is modeled and optimized within this paper.</p>
<p>The main contributions of this work are: First, we calculate the optimal assignment of primary nodes to maximize network lifetime, obtaining their number and node assignment. To solve this, we employ a linear programming model (LP) similar to [<xref rid="b4-sensors-13-10219" ref-type="bibr">4</xref>
]. Second, we evaluate the performance of the network, simultaneously providing the maximum lifetime and the minimum average number of hops to the sink. Again, it is modeled as an LP problem that, in turn, optimizes the flow assignment (traffic load balancing) among a node and its neighbors in coverage. Third, we present a novel algorithm that approaches the results of the optimization framework, but in a short execution time. Fourth, the network model, the optimization process and the algorithm design are further evaluated on an IEEE (Institute of Electrical and Electronics Engineers) 802.15.4-based scenario [<xref rid="b5-sensors-13-10219" ref-type="bibr">5</xref>
] by means of computer simulation. This last step validates the optimization and algorithm results and offers insight into a more realistic network given the planning objectives and for different network metrics.</p>
<p>Lifetime optimization provides information on how long all nodes in a network can operate, but it does not specify a set of routing features as problem constraints. In fact, for a calculated lifetime, there may exist multiple routing alternatives. From them, our proposal selects the path whose goal is the minimization of the number of hops between source and sink. In this sense, although <italic>a priori</italic>
different suitable WSN routing schemes converge to this goal faster than the proposal presented here, the selection of a specific routing algorithm restricts the research under consideration to a particular case. In contrast, we provide a general case study, which employs two different types of energy supplies and, consequently, implies two roles for the network nodes (primary or secondary nodes) in order to maximize the network lifetime metric.</p>
<p>The rest of the paper is organized as follows. Section 2 reviews some relevant work on lifetime maximization approaches found in the recent WSN literature. Section 3 introduces the linear model and problem formulation, and Section 4 presents the novel primary node assignment algorithm. Section 5 discusses the numerical results obtained by both the linear programming model and the primary assignment algorithm. In Section 6, these optimization results are validated by the ones achieved through simulation. Finally, in Section 7, we conclude the paper.</p>
</sec>
<sec><label>2.</label>
<title>Related Work</title>
<p>WSN lifetime maximization on energy harvesting systems has been tackled in the scientific literature from many different points of view. However, it can be broadly categorized into two groups of work. In particular, work included in the first group addresses lifetime maximization as an optimization of the energy consumption for a given network. The most commonly used optimization technique is LP. The second category of work also employs LP, but the main objectives are to appropriately determine the node's location in the network and/or the assignment of a particular role to some of those network nodes in order to increase the network lifetime. Under these general premises, in the next paragraphs, we highlight and describe the following relevant related work.</p>
<p>Concerning the first group of approaches, the work in [<xref rid="b6-sensors-13-10219" ref-type="bibr">6</xref>
] studies and optimizes the operation lifetime of a WSN consisting of nodes fed by solar-based renewable energy systems. Nodes may modify their tasks dynamically, according to external conditions. This implies a variation of the energy consumed and, therefore, the new estimation of the network lifetime. In addition, some of these tasks may involve a noticeable increase in node power consumption, which might make the energy supplied by the solar energy feeding system insufficient. In this case, a linear formulation technique is used to minimize the residual energy of nodes and when the time horizon (maximum network lifetime) is a constraint of the problem; the goal focuses on the full exploitation of this residual energy. This design penalizes total cost, because all network nodes have to incorporate a renewable energy system supply. The work in [<xref rid="b7-sensors-13-10219" ref-type="bibr">7</xref>
] also proposes an optimal algorithm based on a finite time-horizon, which simultaneously maximizes throughput (defined as transmitted bitrate) and network lifetime. Nevertheless, in [<xref rid="b7-sensors-13-10219" ref-type="bibr">7</xref>
], renewable energy sources are not taken into consideration.</p>
<p>In the same line of power consumption optimization, the authors of [<xref rid="b4-sensors-13-10219" ref-type="bibr">4</xref>
] propose an <italic>α</italic>
-lifetime optimization framework. They assume that (i) nodes have a variable supply of renewable energy and (ii) the network will be functional as long as an <italic>α</italic>
portion of the nodes remain alive. This kind of optimization provides longer lifetimes for the selected <italic>α</italic>
nodes by minimizing their respective energy consumption. This is achieved, because the (1 – α) unselected nodes are used to dispatch the network traffic, which extends the other nodes' lifetimes by reducing theirs significantly</p>
<p>Regarding the second group of works, in [<xref rid="b8-sensors-13-10219" ref-type="bibr">8</xref>
], lifetime maximization is addressed by allocating different capacity batteries to network nodes (which also implies a different role for the nodes in the network). In this study, the authors formulate the problem and demonstrate the improvement of the WSN lifetime. To this end, the work proposes an algorithm that efficiently solves the allocation of the most powerful chemical batteries as a function of the nodes' energy requirements. However, the contribution is only focused on a fixed number for each type of these batteries determined beforehand.</p>
<p>In this same context, but referring to the placement of nodes in the area covered by the network, the work in [<xref rid="b9-sensors-13-10219" ref-type="bibr">9</xref>
] proposes to maximize the lifetime, characterizing the energy consumption through a Measurement Square Error (MSE) algorithm. The obtained results are relevant when the sum of all power batteries is used as a goal of the optimization. In the work conducted in [<xref rid="b10-sensors-13-10219" ref-type="bibr">10</xref>
], lifetime is maximized when a sink node is placed at the center of the nodes deployment, achieving significant results as regards the balancing of node operation (mainly understood as the traffic flow assignment from any arbitrary node to each of its neighbors in coverage). Furthermore, a pseudo-optimal traffic load balancing algorithm is also proposed, showing that the sink is reached by a number of hops in the order of <italic>O</italic>
(log <italic>N</italic>
). Both studies do not include nodes without energy restrictions in their formulation (<italic>i.e.</italic>
, nodes with renewable energy systems). The authors of [<xref rid="b11-sensors-13-10219" ref-type="bibr">11</xref>
] develop a two-level WSN, where the lower level nodes transmit data to micro-servers at the top level, providing connectivity between the sensors and a central base station. This work provides a framework that optimizes the positions and the initial energy assigned to the micro-servers. This approach increases network lifetime in comparison with the one achieved by another WSN with the same initial energy, but equally distributed among all network nodes. It should be noted, however, that the use of micro-servers increases the cost and complexity of the installation. In [<xref rid="b12-sensors-13-10219" ref-type="bibr">12</xref>
], the authors study lifetime in WSNs with Gaussian-distributed nodes in a two-dimensional space. The main contribution is the identification of the key parameters for lifetime maximization and the proposal of two location algorithms for the nodes. However, the results achieved only apply to Gaussian distributions of the network nodes location and cannot be easily extended to other deployment distributions</p>
<p>The authors in [<xref rid="b13-sensors-13-10219" ref-type="bibr">13</xref>
,<xref rid="b14-sensors-13-10219" ref-type="bibr">14</xref>
] advocate for the utilization of virtual backbones in which a few nodes are in charge of collecting data from the remaining network nodes and transmitting them to the sinks. In both approaches, chemical batteries power all the nodes, restricting the network lifetime in case of a single backbone. To solve this concern, [<xref rid="b13-sensors-13-10219" ref-type="bibr">13</xref>
,<xref rid="b14-sensors-13-10219" ref-type="bibr">14</xref>
] offer solutions based on complex algorithms, which schedule multiple overlapped backbones. In particular, during the network operation, these algorithms determine the nodes that establish the backbone as a function of metrics, such as the residual energy level. Thereby, these nodes get a new role within the network. Theoretical results obtained by the authors show that virtual backbones balance the network energy consumption among all sensor nodes, considerably increasing network lifetime. However, the real implementation of these algorithms in the nodes would entail, <italic>a priori</italic>
, a higher number of control messages along with an increase in memory and processing demands; those issues are not quantified by the authors. It should be mentioned that these findings are consistent with our work, since optimal primary node placement produces topologies similar to virtual backbones (as we will see later in this paper).</p>
<p>Apart from the previous classification, a special case is the mobile sink proposed in [<xref rid="b15-sensors-13-10219" ref-type="bibr">15</xref>
]. The aim of this paper [<xref rid="b15-sensors-13-10219" ref-type="bibr">15</xref>
] is to maximize lifetime by solving a linear model, so as to choose which particular nodes the mobile sink must visit. As can be expected, a mobile sink increases network lifetime. However, the authors do not consider the energy required for sink mobility and other crucial issues, such as the technological feasibility of the solution. On the other hand, the work in [<xref rid="b16-sensors-13-10219" ref-type="bibr">16</xref>
–<xref rid="b20-sensors-13-10219" ref-type="bibr">20</xref>
] discusses several WSN cross-layer algorithms intended for lifetime maximization by using appropriate flow assignment techniques. These algorithms offer better lifetime than traditional solutions as the IEEE 802.15.4 standard. However, one of the major drawbacks is the centralized behavior of all of them, which, in practice, makes them unfeasible for large-scale networks.</p>
<p>Concerning WSN with renewable power sources and those that do not take into consideration LPtechniques, Niyato <italic>et al.</italic>
[<xref rid="b21-sensors-13-10219" ref-type="bibr">21</xref>
] study the impact on packet transmission losses, by means of a game theoretic approach, when all network nodes incorporate solar-based energy harvesting systems. They obtain the packet loss probabilities, showing significant differences as a function of the solar energy captured. In addition, the authors optimize the duty cycle (the time period in which a node operates; the remaining time, the node is in the sleep mode, therefore, consuming less energy) of the nodes taking into account the packet loss probabilities previously calculated. These considerations are a particular case of our work, since it is intended for any renewable technology.</p>
<p>Finally, the work in [<xref rid="b22-sensors-13-10219" ref-type="bibr">22</xref>
–<xref rid="b24-sensors-13-10219" ref-type="bibr">24</xref>
] should be pointed out, because they provide practical algorithms that can also be implemented in sensor nodes (in particular, [<xref rid="b24-sensors-13-10219" ref-type="bibr">24</xref>
] implements a protocol tested in a real network/scenario), as well as a complete analytical study. Kim <italic>et al.</italic>
[<xref rid="b22-sensors-13-10219" ref-type="bibr">22</xref>
] optimize two objectives in a network in which nodes are only fed by chemical batteries. Firstly, the authors minimize the packet delay metric in order to later maximize the lifetime. The result is a duty-cycle that thoroughly satisfies both optimization objectives. However, these results would clearly improve if the authors considered in its study nodes with renewable energy sources. On the other hand, the work in [<xref rid="b23-sensors-13-10219" ref-type="bibr">23</xref>
] maximizes the lifetime in a cluster topology. To this end, the algorithm calculates (i) the optimal one-hop distance to cover the maximum number of nodes and (ii) the optimum size of the cluster. With these two values, the algorithm selects the most appropriate cluster heads. The authors' solution also optimizes the residual energy value for the cluster head chosen, setting this value as a threshold. In the case that the threshold value is reached, the algorithm selects a neighbor of the cluster head as the new head. Unlike our proposal, [<xref rid="b23-sensors-13-10219" ref-type="bibr">23</xref>
] does not consider primary nodes and load balancing, because the traffic is always centralized by the cluster heads. Concerning the load balancing, an optimal lifetime solution based on traffic load and energy consumption is presented in [<xref rid="b24-sensors-13-10219" ref-type="bibr">24</xref>
]. The authors present two approaches. First, a traffic load balancing technique is used to optimize the energy consumption of the nodes in a grid topology with a base station in a corner. Secondly, a distributed heuristic algorithm extends the improvement of the traffic load balancing to any network topology. As in previous works, all the nodes have the same role and do not take advantage of renewable-energy harvesting systems.</p>
<p>Unlike all these works, we contribute with the estimation of the optimum number of nodes, incorporating renewable energy sources, maximizing network lifetime. In addition, our analytical model is able to obtain the precise location of these nodes into the network regardless of its topology. On the other hand, our research also optimizes the traffic load balancing between a node and its neighbors. These results enable a developer or researcher to easily carry out his own deployment/test-bed, beforehand, learning about (i) the specific nodes that must implement a renewable energy system and (ii) the traffic load share that a node must deliver to each neighbor.</p>
</sec>
<sec><label>3.</label>
<title>Modeling and Formulation of the Problem</title>
<p>In this section, we develop a linear programming formulation for the optimal primary node and flow assignments in WSNs. Basically, we consider that a set, <italic>P</italic>
, of primary nodes is optimal if no other set, <italic>P</italic>
′, implementing an optimal network flow assignment scheme can provide a longer network lifetime. Our problem formulation consists of two steps: (1) lifetime optimization and (2) flow optimization.</p>
<p>In our model, we assume a connected WSN, <italic>G</italic>
, of <italic>N</italic>
nodes. We also assume that all nodes transmit information to a sink node in a hierarchical network and that any node can dispatch packets from other nodes. Two nodes are connected if the distance between them is less than or equal to the transmission range. Regarding the energy model, for simplicity, we assume that sink and primary node lifetimes are much longer than those of secondary nodes, <italic>i.e.</italic>
, we approximate these lifetimes by ∞. Secondary node battery lifetime is limited, and once it is depleted, the node is considered dead. Network lifetime is defined as the minimum secondary node lifetime.</p>
<sec><label>3.1.</label>
<title>Linear Programming Formulation</title>
<p>The problem of primary node assignment is equivalent to that of maximizing network lifetime as shows <xref rid="t1-sensors-13-10219" ref-type="table">Table 1</xref>
. However, flow assignment optimization requires knowing the maximum network lifetime, as long as primary node assignment optimization only optimizes the flow assignment for the nodes dying first. The remaining nodes will be assigned any flow assignment scheme that guarantees that their lifetime is longer than or equal to the minimum network lifetime. For simplicity, we will consider node 1 as the sink for all scenarios.</p>
<p><xref rid="t2-sensors-13-10219" ref-type="table">Table 2</xref>
shows the parameters employed for the linear programming formulation. Expressions (1) to (6) are the linear problem constraints for the lifetime maximization problem:
<list list-type="bullet"><list-item><p>Expression (2) avoids any flow being lower than zero.</p>
</list-item>
<list-item><p>Expression (3) means that all flows are transmitted to the sink.</p>
</list-item>
<list-item><p>Expression (4) represents the flow conservation, <italic>i.e.</italic>
, the summation of the outgoing flows minus the incoming flows of a node, <italic>i</italic>
, must be equal to its data transmission rate.</p>
</list-item>
<list-item><p>Expression (5) models the energy constraints of a node. Note that, in our model, a node consumes energy, even if it is in an idle state or not transmitting. When <italic>I<sub>i</sub>
</italic>
= 1, node <italic>i</italic>
is considered a primary node, and we consider its energy to be virtually ∞.</p>
</list-item>
<list-item><p>Expression (6) is used to limit the number of primary nodes.</p>
</list-item>
</list>
</p>
<p>It is important to stress that there may be several optimal primary node setups. Any of these solutions will maximize lifetime, but we will choose the one that also optimizes the network flow assignment. For this reason, we perform a second optimization step.</p>
<p><xref rid="f1-sensors-13-10219" ref-type="fig">Figure 1</xref>
shows an example scenario for <italic>N</italic>
= 16, in which primary nodes are represented in blue, secondary nodes in yellow and the sink in red. It can be observed that when no primary nodes are available, secondary nodes tend to dispatch traffic through several nodes. This way, traffic is not concentrated on a specific node. As primary nodes become available, they receive most of the traffic from other nodes. When lifetime is maximized, no secondary node relays traffic, as it would reduce its lifetime. Moreover, any optimal solution requires that any primary node can transmit packets through another primary node or transmit them to the sink. In this example, maximum lifetime is achieved with three primary nodes, something that happens when all secondary nodes can relay data through a primary one or send them directly to the sink. <xref rid="f1-sensors-13-10219" ref-type="fig">Figure 1</xref>
also represents the throughput in each link, measuring the amount of information per unit of time that reaches network nodes. As can be observed, the throughput in a link increases as the nodes under consideration (in particular, primary nodes form the virtual backbone) are closer to the sink.</p>
<p>The first optimization provides the maximum lifetime, <italic>T<sub>P</sub>
</italic>
, which canbe achieved when <italic>P</italic>
primary nodes are available and the primary node assignment is solved, <italic>i.e.</italic>
, <italic>I<sub>i</sub>
</italic>
= 1. <italic>T<sub>P</sub>
</italic>
will be used during the second optimization. However, during that optimization, it is possible to choose a different set of primary nodes, because, as pointed out before, there may be several solutions that maximize lifetime, but each one will have a different optimal flow assignment outcome (see <xref rid="t3-sensors-13-10219" ref-type="table">Table 3</xref>
). Thus, we choose the one providing the best flow assignment scheme, which we understand as the minimum average number of packet hops, as explained below.</p>
<p>Expressions (7) to (12) are the set of constraints for the flow assignment optimization problem:
<list list-type="bullet"><list-item><p>In this problem, we minimize Expression (7), which is the summation of products of the distance and the flow between all connected nodes. Minimizing flows is equivalent to minimizing the number of hops, since the average number of hops per packet, <italic>H̅</italic>
, can be calculated as:
<disp-formula id="FD1"><label>(1)</label>
<mml:math id="mm1"><mml:mrow><mml:mover accent="true"><mml:mi>H</mml:mi>
<mml:mo>¯</mml:mo>
</mml:mover>
<mml:mo>=</mml:mo>
<mml:munderover><mml:mtext>∑</mml:mtext>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:mrow><mml:munderover><mml:mtext>∑</mml:mtext>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mi>f</mml:mi>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mi>r</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
Distance <italic>D<sub>ij</sub>
</italic>
does not reduce <italic>H̅</italic>
, but when there exists several feasible paths with the same minimum number of hops, the optimizer will choose one with the minimum total physical distance. Thus, removing <italic>D<sub>ij</sub>
</italic>
is possible, and it does not affect <italic>H̅</italic>
.</p>
</list-item>
<list-item><p>Expressions (8) to (12) are equivalent to Expressions (2) to (6). However, <italic>T<sub>P</sub>
</italic>
is now a constant obtained during the previous lifetime optimization.</p>
</list-item>
</list>
</p>
<p>After these two optimization steps, both lifetime and number of packet hops in the WSN are optimal. Moreover, the optimization process also provides a set of primary nodes to achieve the optimization goal.</p>
<p><xref rid="f2-sensors-13-10219" ref-type="fig">Figure 2</xref>
shows the same example of <xref rid="f1-sensors-13-10219" ref-type="fig">Figure 1</xref>
after the second optimization step. It can be observed that flows get optimized in terms of the average number of hops (e.g., observe node 5 for <italic>P</italic>
= 3 in <xref rid="f1-sensors-13-10219" ref-type="fig">Figure 1</xref>
and <xref rid="f2-sensors-13-10219" ref-type="fig">Figure 2</xref>
). Note that increasing the number of primary nodes does not necessarily decrease <italic>H̅</italic>
, as we prioritize lifetime over the number of packet hops. In general, adding primary nodes implies that secondary nodes relay packets to the closest primary node to the sink to save energy.</p>
<p>LP optimization is simple, although it has some scalability problems. The integer part of the problem implies that its complexity is
<inline-formula><mml:math id="mm2"><mml:mrow><mml:mi>O</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mi>N</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mi>P</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
, as this is the number of combinations of <italic>P</italic>
primary nodes over <italic>N</italic>
– 1 nodes. Thus, as <italic>N</italic>
→ ∞, the problem becomes unfeasible. To overcome this, let us define <italic>A</italic>
as the network area and Δ as the node density, Δ = <italic>N</italic>
/<italic>A</italic>
. We propose to remove from the problem all the primary nodes that cannot provide an optimal solution. To this aim, for a low/medium density network, a primary node must be in the range of another primary node or the sink, as lemma 1 proves. Furthermore, any node with a coverage radius of <italic>c</italic>
is connected on average to a number of nodes, <italic>k</italic>
= <italic>πc<sup>2</sup>
</italic>
/Δ – 1; using this approach, we determine an upper bound for the complexity of the LP problem of <italic>O</italic>
(<italic>k<sup>P</sup>
</italic>
). This approach is scalable, as it does not depend on <italic>N</italic>
. However, it is also true that the number of required primary nodes to achieve the maximum lifetime grows with <italic>N</italic>
, so <italic>P</italic>
→ ∞.</p>
<p><bold>Lemma 1</bold>
: In a WSN deployment, any primary node must be in direct coverage(<italic>i.e.</italic>
, in range) of any other primary node or the sink if each network node satisfies at least one of the following premises: (i) to have, as a maximum value, five neighbors or (ii) to guarantee an amount of neighbors in the path to the sink smaller than half of the total neighbors.</p>
<p><bold>Proof:</bold>
The opposite sentence, a primary node may be unconnected to another primary node or the sink, is false.</p>
<p>Let us take a primary node (<italic>P<sub>x</sub>
</italic>
) unconnected to another primary node or the sink; it must necessarily dispatch their packets to M different secondary nodes (<italic>S<sub>1</sub>
</italic>
, <italic>S<sub>2</sub>
</italic>
, <italic>S<sub>3</sub>
</italic>
, …, <italic>S<sub>m</sub>
</italic>
). M takes a value between one and half of <italic>P<sub>x</sub>
</italic>
's neighbors to fulfill the aforementioned lemma's premises. As all these nodes are not primary nodes, their consumed energy must be lower than the total consumed energy by the primary node, <italic>P<sub>x</sub>
</italic>
, during the network lifetime. Furthermore, any of these secondary nodes cannot be the first node to die, because in that case, the optimizer had assigned it as a primary node. Therefore, another secondary node of the network, <italic>S<sub>k</sub>
</italic>
, must be the first one to deplete its battery. In this scenario, as all nodes have the same data transmission rate, we define <italic>E<sub>λ</sub>
</italic>
as the minimum energy required by a node to transmit only the total information generated by this node (therefore, no computing relay/ retransmission tasks).</p>
<p>In addition, the following two sentences must be true: (i) the total energy consumed by node <italic>P<sub>x</sub>
</italic>
(<italic>E<sub>px</sub>
</italic>
) and, also, the wasted one by node <italic>S<sub>k</sub>
</italic>
(<italic>E<sub>sk</sub>
</italic>
) during the network lifetime are bigger than <italic>E<sub>λ</sub>
</italic>
, because <italic>P<sub>x</sub>
</italic>
and <italic>S<sub>k</sub>
</italic>
perform relay tasks and (ii) the <italic>E<sub>px</sub>
</italic>
must be greater than <italic>E<sub>sk</sub>
</italic>
, as node <italic>P<sub>x</sub>
</italic>
is primary In this case, <italic>E<sub>px</sub>
</italic>
= <italic>E<sub>sk</sub>
</italic>
+ <italic>θ</italic>
, where <italic>θ</italic>
is the difference between both consumed energies. <italic>E<sub>sy</sub>
</italic>
is the power consumed by any <italic>M</italic>
secondary node (denoted as <italic>S<sub>y</sub>
</italic>
) in coverage with the primary, including, on the one hand, <italic>E</italic>
<sub>λ</sub>
, due to the transmission of its own data transmission rate, and, on the other hand, the energy required by the node, <italic>P<sub>x</sub>
</italic>
, to dispatch a fraction/part of its traffic. In particular,
<inline-formula><mml:math id="mm3"><mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mi>E</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mi>M</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
is the fraction of energy for the best case/scenario, because primary node <italic>P<sub>x</sub>
</italic>
balances the same amount of traffic among all the <italic>M</italic>
secondary nodes in its coverage range. Obviously, the
<inline-formula><mml:math id="mm4"><mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mi>E</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mi>M</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
value must be lower than (<italic>E<sub>sk</sub>
</italic>
), because secondary node <italic>S<sub>k</sub>
</italic>
depletes its battery before any other <italic>S<sub>y</sub>
</italic>
. Considering <italic>M</italic>
> 1, this result implies that
<inline-formula><mml:math id="mm5"><mml:mrow><mml:msub><mml:mi>E</mml:mi>
<mml:mrow><mml:mi>P</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>></mml:mo>
<mml:mfrac><mml:mi>M</mml:mi>
<mml:mrow><mml:mi>M</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:msub><mml:mi>E</mml:mi>
<mml:mi>λ</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mfrac><mml:mi>θ</mml:mi>
<mml:mrow><mml:mi>M</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
, as expressed by <xref rid="FD16" ref-type="disp-formula">Equation (16)</xref>
below, which is only feasible if <italic>M</italic>
is a high enough value to relay packets of <italic>M</italic>
+ 1, that is, there are more secondary nodes between node <italic>P<sub>x</sub>
</italic>
and the rest of the network primary nodes than the secondary nodes associated with node <italic>P<sub>x</sub>
</italic>
to deliver their traffic through it. This result guarantees that the node, <italic>S<sub>k</sub>
</italic>
, depletes its battery before any other node, <italic>S<sub>y</sub>
</italic>
, restricting the design to the case of a <bold>high-density node.</bold>
However, this design presents a double shortcoming: on the one hand, a clear increase of the deployment cost, and, on the other hand, the premise labeled as (ii) is not fulfilled. Finally, in the case of a few secondary nodes in coverage range with the primary, that is, a <bold>low-density node deployment</bold>
(<italic>M</italic>
= 1, 2, 3, 4), the outcome is unfeasible, because the optimizer would have to set one of these secondary nodes as a primary node, thus contradicting this proof.</p>
<p><disp-formula id="FD2"><label>(2)</label>
<mml:math id="mm6"><mml:mrow><mml:msub><mml:mi>E</mml:mi>
<mml:mrow><mml:mi>S</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:msub><mml:mi>E</mml:mi>
<mml:mrow><mml:mi>P</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mi>M</mml:mi>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:msub><mml:mi>E</mml:mi>
<mml:mi>λ</mml:mi>
</mml:msub>
<mml:mo><</mml:mo>
<mml:msub><mml:mi>E</mml:mi>
<mml:mrow><mml:mi>S</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
Substituting <italic>E<sub>Px</sub>
</italic>
= <italic>E<sub>Sk</sub>
</italic>
= + <italic>θ</italic>
and operating:
<disp-formula id="FD3"><label>(3)</label>
<mml:math id="mm7"><mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mi>E</mml:mi>
<mml:mrow><mml:mi>S</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>θ</mml:mi>
</mml:mrow>
<mml:mi>M</mml:mi>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:msub><mml:mi>E</mml:mi>
<mml:mi>λ</mml:mi>
</mml:msub>
<mml:mo><</mml:mo>
<mml:msub><mml:mi>E</mml:mi>
<mml:mrow><mml:mi>S</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="FD4"><label>(4)</label>
<mml:math id="mm8"><mml:mrow><mml:mfrac><mml:mi>θ</mml:mi>
<mml:mrow><mml:mi>M</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac><mml:mi>M</mml:mi>
<mml:mrow><mml:mi>M</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:msub><mml:mi>E</mml:mi>
<mml:mi>λ</mml:mi>
</mml:msub>
<mml:mo><</mml:mo>
<mml:msub><mml:mi>E</mml:mi>
<mml:mrow><mml:mi>S</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo><</mml:mo>
<mml:msub><mml:mi>E</mml:mi>
<mml:mrow><mml:mi>P</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
</sec>
<sec><label>3.2.</label>
<title>Minimum Number of Primary Nodes</title>
<p>The most important design issue when maximizing network lifetime is to determine the minimum number of primary nodes that maximizes network lifetime. This number depends on the network node deployment, and we also know that all secondary nodes lie within the range of a primary one. Intuitively, it can be seen that a relation must exist between <italic>N</italic>
and <italic>P</italic>
. One approximation, without loss of generality, is to think of the network as a set of discs centered in the sink, with <italic>N</italic>
being a large number. Thus, all nodes at a distance between <italic>nc</italic>
and (<italic>n</italic>
+ 1)<italic>c</italic>
, <italic>n</italic>
∈ ℕ, <italic>n</italic>
≥ 0 require at least <italic>n</italic>
relays to reach the sink node. Moreover, to obtain a lower bound, a disc, <italic>n</italic>
, requires at least <italic>three</italic>
(<italic>n</italic>
+ 1) primary nodes to relay data from disc <italic>n</italic>
+ 1, <italic>i.e.</italic>
, in the best case, if these relays are placed at the border of the disc at a distance of 2c. Consequently, a WSN network with <italic>n</italic>
+ 1 discs would require a minimum of <italic>P<sub>min</sub>
</italic>
= <italic>3n</italic>
(<italic>n</italic>
+ 1)/2 primary nodes.</p>
<p>In our model, node density is constant, <italic>i.e.</italic>
, the area is a function of <italic>N</italic>
, <italic>A</italic>
= Δ<italic>N</italic>
. Thus, <italic>π</italic>
(<italic>nc</italic>
)<sup>2</sup>
≥ <italic>A</italic>
:
<disp-formula id="FD5"><label>(5)</label>
<mml:math id="mm9"><mml:mrow><mml:mi>n</mml:mi>
<mml:mo>≥</mml:mo>
<mml:mfrac><mml:mn>1</mml:mn>
<mml:mi>c</mml:mi>
</mml:mfrac>
<mml:msqrt><mml:mrow><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mi>π</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>If we plug Expression (17) in <italic>P<sub>min</sub>
</italic>
, we obtain a lower bound on the number of primary nodes as a function of <italic>N</italic>
:
<disp-formula id="FD6"><label>(6)</label>
<mml:math id="mm10"><mml:mrow><mml:msub><mml:mi>P</mml:mi>
<mml:mrow><mml:mo mathvariant="italic">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>≥</mml:mo>
<mml:mfrac><mml:mrow><mml:mn>3</mml:mn>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn>2</mml:mn>
<mml:mi>π</mml:mi>
<mml:msup><mml:mi>c</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac><mml:mn>3</mml:mn>
<mml:mrow><mml:mn>2</mml:mn>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msqrt><mml:mrow><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mi>π</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:msqrt>
<mml:munder><mml:mo>⪆</mml:mo>
<mml:mrow><mml:mi>N</mml:mi>
<mml:mo>→</mml:mo>
<mml:mo>∞</mml:mo>
</mml:mrow>
</mml:munder>
<mml:mfrac><mml:mrow><mml:mn>3</mml:mn>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn>2</mml:mn>
<mml:mi>π</mml:mi>
<mml:msup><mml:mi>c</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mi>O</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Expression (18) indicates that the number of primary nodes to maximize lifetime grows linearly as <italic>N</italic>
→ ∞. Moreover, the complexity of the <italic>P<sub>min</sub>
</italic>
LP optimization is <italic>O</italic>
(<italic>k<sup>N</sup>
</italic>
).</p>
</sec>
</sec>
<sec><label>4.</label>
<title>Primary Node Assignment Algorithm</title>
<p>Optimal primary node assignment complexity can be reduced to <italic>O</italic>
(<italic>k<sup>P</sup>
</italic>
) by discarding all candidate combinations prior to optimization that will not maximize lifetime. However, as <italic>P<sub>min</sub>
</italic>
= <italic>O</italic>
(<italic>N</italic>
), if <italic>N</italic>
→ ∞, the LP optimization becomes unfeasible. To overcome this, we propose the OPT-PRIMalgorithm, which approximates the LP optimization based on the following assumptions:
<list list-type="bullet"><list-item><p>We assume that, for any solution, an appropriate network flow assignment given by a set of primary nodes maximizing lifetime can be found.</p>
</list-item>
<list-item><p>The more secondary nodes within the range of primary nodes, the more network lifetime can be expected. However, this is not necessarily true, as lifetime is limited by the secondary node, dispatching more traffic.</p>
</list-item>
<list-item><p>All primary nodes must be within the range of the sink node or another primary node (lemma 1). Moreover, from any primary node, there must exist a path of only primary nodes to the sink. If this condition is not accomplished, the solution cannot be optimal.</p>
</list-item>
</list>
</p>
<p>Algorithm 1 develops the pseudocode of OPT-PRIM. <xref rid="t4-sensors-13-10219" ref-type="table">Table 4</xref>
is a summary of all variables used by OPT-PRIM. Algorithm OPT-PRIM is simple:
<list list-type="bullet"><list-item><p>OPT-PRIM is iterative. It ends when the maximum lifetime is achieved or the desired number of primary nodes has been allocated.</p>
</list-item>
<list-item><p>Steps 1 and 2 are for initial setup and solution feasibility. If the network is unconnected, the algorithm ends.</p>
</list-item>
<list-item><p>Step 3 updates some variables used in subsequent steps.</p>
</list-item>
<list-item><p>In Step 4, the algorithm generates a list of primary node candidates based on the candidate list from the previous iteration. For each set of primary node candidates, the algorithm adds an extra node from the list of connected nodes. Thus, the set size grows in one unit. Note that Π<sup>0</sup>
= 1, <italic>i.e.</italic>
, the sink node is treated as a primary node by the algorithm. This also guarantees that all primary nodes lie within the range of the sink or another primary node and that they can reach the sink directly or through another primary node.</p>
</list-item>
<list-item><p>Step 5 removes redundancies to speed up the algorithm in subsequent iterations.</p>
</list-item>
<list-item><p>Step 6 generates a list of nodes connected to each primary node candidate of that iteration that will be used in the next iteration. In Step 7, if the algorithm finds a set connected to all nodes in the WSN, it ends and labels those nodes as primary nodes.</p>
</list-item>
<list-item><p>Step 8 goes back to Step 3 if the set size is not <italic>P</italic>
.</p>
</list-item>
<list-item><p>If Step 9 is reached, a list of candidates has been obtained. From that moment, the goal is to select the best set of candidates, as some secondary nodes will have to relay third party packets.</p>
</list-item>
<list-item><p>In Step 9, the minimum number of hops to reach the farthest node in the WSN is obtained.</p>
</list-item>
<list-item><p>Finally, in Step 10, the algorithm selects as primary nodes the set accomplishing the minimum number of hops to the farthest node. Thus, the algorithm aims at minimizing the amount of data dispatched by secondary nodes and, as a consequence, maximizing lifetime.</p>
</list-item>
</list>
</p>
<p>Section 5 presents some OPT-PRIM results. However, before ending this section, we would like to discuss some of its design issues:
<list list-type="bullet"><list-item><p>The algorithm is able to find an optimal solution in terms of network lifetime. We also know from the optimization framework that some node assignments allow implementing better flow assignment schemes. In the case of OPT-PRIM, primary node assignments are comparable to those of the first part of the optimization framework, which also focuses on lifetime optimization. Roughly speaking, the number of operations to allocate <italic>P</italic>
primary nodes in OPT-PRIM is upper-bounded by <italic>O</italic>
(<italic>P</italic>
<sup>2</sup>
<italic>N</italic>
), P ≪ <italic>N</italic>
, lower than
<inline-formula><mml:math id="mm11"><mml:mrow><mml:mi>O</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mi>N</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mi>P</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
of the LP optimization.</p>
</list-item>
<list-item><p>In the WSN model of this paper, network lifetime is limited by the lowest secondary node lifetime. In practice, secondary node lifetime decreases if the node has to dispatch traffic from third parties. Thus, as long as this can be avoided, network lifetime will increase. OPT-PRIM seeks to connect most secondary nodes to primary ones, but among all possible choices, it selects the one that minimizes the average number of hops from any secondary node to its closest primary node.</p>
</list-item>
</list>
</p>
<array><tbody><tr><td valign="bottom" rowspan="1" colspan="1"><hr></hr>
</td>
</tr>
<tr><td align="left" valign="top" rowspan="1" colspan="1"><bold>Algorithm 1</bold>
: OPT-PRIM</td>
</tr>
<tr><td valign="bottom" rowspan="1" colspan="1"><hr></hr>
</td>
</tr>
<tr><td align="left" valign="top" rowspan="1" colspan="1"><list list-type="simple"><list-item><label>Step 1</label>
<p>For iteration <italic>k</italic>
= 0, Π<sup>0</sup>
= 1, Γ<sup>0</sup>
= <italic>ρ</italic>
<sub>1</sub>
.</p>
</list-item>
<list-item><label>Step 2</label>
<p>Obtain ℋ<italic><sub>ij</sub>
</italic>
. If max{ℋ<italic><sub>ij</sub>
</italic>
} = ∞, ∀(<italic>i</italic>
, <italic>j</italic>
) ∈ <italic>N</italic>
, then the WSN is unconnected and the algorithm ends.</p>
</list-item>
<list-item><label>Step 3</label>
<p>Update <italic>k</italic>
= <italic>k</italic>
+1, Π<italic><sup>k</sup>
</italic>
= ∅, Γ<italic><sup>k</sup>
</italic>
= ∅.</p>
</list-item>
<list-item><label>Step 4</label>
<p>For each row
<inline-formula><mml:math id="mm12"><mml:mrow><mml:msubsup><mml:mi>ϱ</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow><mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
in Γ<italic><sup>k</sup>
</italic>
<sup>–1</sup>
:
<list list-type="order"><list-item><p>If
<inline-formula><mml:math id="mm13"><mml:mrow><mml:msubsup><mml:mi>γ</mml:mi>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
, then
<inline-formula><mml:math id="mm14"><mml:mrow><mml:mi>φ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow><mml:mrow><mml:msubsup><mml:mi>ϱ</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow><mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:msub><mml:mi>p</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
.</p>
</list-item>
<list-item><p>If
<inline-formula><mml:math id="mm15"><mml:mrow><mml:mi>φ</mml:mi>
<mml:mo>≠</mml:mo>
<mml:msubsup><mml:mi>ϱ</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow><mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
, aggregate <italic>φ</italic>
to Γ<italic><sup>k</sup>
</italic>
and vector
<inline-formula><mml:math id="mm16"><mml:mrow><mml:mi>V</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:msubsup><mml:mi>ι</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow><mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
. to Π<italic><sup>k</sup>
</italic>
. Otherwise, remove node j.</p>
</list-item>
</list>
</p>
</list-item>
<list-item><label>Step 5</label>
<p>Remove duplicate rows in Π<italic><sup>k</sup>
</italic>
(e.g., [1 7 2] and [1 2 7] are considered equal) and Γ<italic><sup>k</sup>
</italic>
.</p>
</list-item>
<list-item><label>Step 6</label>
<p>For each row,
<inline-formula><mml:math id="mm17"><mml:mrow><mml:msubsup><mml:mi>ϱ</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>k</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
, in Γ<sup>k</sup>
, calculate
<inline-formula><mml:math id="mm18"><mml:mrow><mml:msub><mml:mi>S</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:munder><mml:mtext>∑</mml:mtext>
<mml:mi>j</mml:mi>
</mml:munder>
<mml:mrow><mml:msubsup><mml:mi>γ</mml:mi>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
.</p>
</list-item>
<list-item><label>Step 7</label>
<p>If ∃<italic>m</italic>
\ S<italic><sub>m</sub>
</italic>
= <italic>N</italic>
, the algorithm ends, and the selected primary nodes are
<inline-formula><mml:math id="mm19"><mml:mrow><mml:msubsup><mml:mi>ι</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>k</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
.</p>
</list-item>
<list-item><label>Step 8</label>
<p>If <italic>k</italic>
≠ <italic>P</italic>
, go to Step 3.</p>
</list-item>
<list-item><label>Step 9</label>
<p><inline-formula><mml:math id="mm20"><mml:mrow><mml:mo>∀</mml:mo>
<mml:msub><mml:mi>S</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>\</mml:mo>
<mml:msub><mml:mi>S</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:munder><mml:mrow><mml:mo>max</mml:mo>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:munder>
<mml:msub><mml:mi>S</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
:
<list list-type="order"><list-item><p>For each
<inline-formula><mml:math id="mm21"><mml:mrow><mml:msubsup><mml:mi>γ</mml:mi>
<mml:mrow><mml:mi>m</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
, calculate
<inline-formula><mml:math id="mm22"><mml:mrow><mml:msub><mml:mtext>h</mml:mtext>
<mml:mrow><mml:mi>m</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:munder><mml:mrow><mml:mo>min</mml:mo>
</mml:mrow>
<mml:mrow><mml:msubsup><mml:mi>ι</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>k</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:munder>
<mml:msub><mml:mi>ℋ</mml:mi>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
.</p>
</list-item>
<list-item><p>Calculate
<inline-formula><mml:math id="mm23"><mml:mrow><mml:msub><mml:mi>H</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:munder><mml:mrow><mml:mo>max</mml:mo>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:munder>
<mml:msub><mml:mi>h</mml:mi>
<mml:mrow><mml:mi>m</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
.</p>
</list-item>
</list>
</p>
</list-item>
<list-item><label>Step 10</label>
<p>Select
<inline-formula><mml:math id="mm24"><mml:mrow><mml:msubsup><mml:mi>ι</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>k</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
as primary nodes if
<inline-formula><mml:math id="mm25"><mml:mrow><mml:msub><mml:mi>H</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:munder><mml:mrow><mml:mo>min</mml:mo>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:munder>
<mml:msub><mml:mi>H</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
.</p>
</list-item>
<list-item><label>Step 11</label>
<p>The algorithm ends.</p>
</list-item>
</list>
</td>
</tr>
</tbody>
</array>
</sec>
<sec><label>5.</label>
<title>Numerical Results</title>
<p>This section summarizes some relevant results and provides some examples that will help to understand the benefits of the optimization frameworks.</p>
<p><xref rid="f3-sensors-13-10219" ref-type="fig">Figure 3</xref>
compares the average number of primary nodes calculated by Expression (18) with the results from the optimization experiments. As can be seen, both average values converge as <italic>N</italic>
grows. This validates our previous assumption that the minimum number of primary nodes grows linearly with <italic>N</italic>
. Consequently, it is possible to calculate a rough estimate of the required primary nodes with the only knowledge of the number of nodes and the network area. From the point of view of network planning, the ability to estimate the number of primary nodes required to maximize lifetime speeds up the process of network design.</p>
<p><xref rid="f4-sensors-13-10219" ref-type="fig">Figure 4</xref>
represents the maximum network lifetime as a function of the number of primary nodes. It can be seen that adding primary nodes increases lifetime, although it may remain constant in some cases (e.g., for 4–5 primary nodes). This happens when there are several nodes with minimum lifetime. In this case, adding a primary node to the network will not help to increase lifetime. However, even if lifetime remains constant, this extra primary node can be used to optimize the flow assignments and reduce the number of packet hops, as can be observed in <xref rid="f5-sensors-13-10219" ref-type="fig">Figure 5</xref>
.</p>
<p>Regarding flow assignment (average number of hops), <xref rid="f5-sensors-13-10219" ref-type="fig">Figure 5</xref>
shows that the addition of primary nodes provides different results leading to increments in some cases and reductions in others. However, the <italic>general trend</italic>
is that the average number of hops increases with the number of primary nodes. As lifetime optimization has priority over <italic>flow assignment optimization</italic>
, a node will choose a primary node rather than a secondary one, even if there exists a shorter path through the secondary node. Note, as a particular case, that when a primary assignment does not increase lifetime, it can be used to optimize flows, as it can be assigned to any node. This result is consistent with [<xref rid="b25-sensors-13-10219" ref-type="bibr">25</xref>
], where it is stated that there exists a tradeoff between lifetime and the average number of packet hops. Our scenario is slightly different, as we employ primary nodes and do not perform routing, but the idea behind it still holds.</p>
<p>Some comments can be made regarding the particularity of the optimal primary node assignment. If we take <xref rid="f6-sensors-13-10219" ref-type="fig">Figure 6</xref>
as a reference, we can observe that the primary node assignment can be explained as a problem of building a virtual backbone to be able to transmit all network traffic. This kind of solution is optimal, because by concentrating all traffic in a few nodes (those that form the backbone), the number of primary nodes to maximize lifetime is minimal. This result is consistent with [<xref rid="b13-sensors-13-10219" ref-type="bibr">13</xref>
,<xref rid="b14-sensors-13-10219" ref-type="bibr">14</xref>
], a WSN architecture based on virtual backbones that considerably increases lifetime.</p>
<p>Regarding the primary node assignment algorithm, OPT-PRIM, the results are very similar to those of the optimization framework. However, note that the aim of OPT-PRIM is to maximize lifetime, but it does not consider the optimization of the average number of packet hops between any secondary node and the sink. Thus, a higher number of packet hops can be expected when using OPT-PRIM. <xref rid="f7-sensors-13-10219" ref-type="fig">Figure 7</xref>
shows the results obtained for the same scenarios of <xref rid="f2-sensors-13-10219" ref-type="fig">Figure 2</xref>
and <xref rid="f6-sensors-13-10219" ref-type="fig">Figure 6</xref>
. Even though the average number of packet hops is larger for the 16-node network, for the 49-node example, OPT-PRIM achieves the same result. Moreover, <xref rid="f8-sensors-13-10219" ref-type="fig">Figure 8</xref>
depicts the minimum average number of hops that can be achieved with OPT-PRIM and the optimization framework. As can be observed, OPT-PRIM is slightly less efficient in terms of average number of hops, but it attains the same network lifetime and it outperforms the execution time of the LP formulation for the same problem.</p>
</sec>
<sec><label>6.</label>
<title>Performance Evaluation</title>
<p>Computer simulation is also used to conduct a performance evaluation study under the same general scenarios and requirements proposed in the previous sections. The results here obtained confirm the validity and feasibility of the numerical values achieved by the former optimization process. To this aim, we programmed our energy saving model in an ns-2 (Network Simulation 2) simulation environment [<xref rid="b26-sensors-13-10219" ref-type="bibr">26</xref>
] to study the energy consumed for the different topologies under consideration. In ns-2, the most usual reference for WSN is the Zheng simulator [<xref rid="b27-sensors-13-10219" ref-type="bibr">27</xref>
]. The first Zheng simulator implementation evaluated the performance of a detailed environment under the IEEE 802.15.4 standard [<xref rid="b5-sensors-13-10219" ref-type="bibr">5</xref>
], especially regarding the CSMA-CA (Carrier Sense Multiple Access with Collission Avoidance) channel access control and its mechanism of retransmission of messages. From this first approach, we implemented the necessary ns-2 functions to assess the same scenarios proposed in the optimization section and, therefore, to fairly compare their respective results.</p>
<p>To perform our simulations, different hierarchical topologies with a variable number of nodes (from nine to 400 nodes) were selected from the layouts generated by the optimization study. The distance between nodes is less than or equal to 100 meters, and the maximum transmission range is set to 100 meters. Furthermore, the network coordinator (root) is the sink node appointed to receive all network data. The rest of the network nodes deliver information to the coordinator by constructing their connectivity matrices and generating path/s towards a primary node regarding the results provided by: (i) the optimization study and (ii) the OPT-PRIM algorithm. In this sense, the network nodes assigned by our algorithm as primary ones were designed with this same role in the simulation framework. Constant Bit Rate (CBR) traffic was used for all network nodes, consisting of one message delivered per second (one message/s) at 2.4 GHz for the ISM (industrial, scientific and medical) band (250 Kbps nominal transmission bitrate) with a message size of 127 bytes at the physical (PHY) layer. Traffic generated by network nodes was dispatched under the premises of maximum network lifetime and minimum number of hops calculated by the LP study and OPT-PRIM algorithm. Finally, as most large-scale WSN applications take place in outdoor environments, we use the free-space propagation model, which is a well-accepted approach for these scenarios.</p>
<p>In networks where the unique device without energy restriction is the network coordinator/root, the number of nodes has a significant impact on network lifetime. In this context, we have selected for <xref rid="f9-sensors-13-10219" ref-type="fig">Figure 9</xref>
the best results obtained among all the layouts analyzed by the optimizer in the case of zero primary nodes. The simulation results shown in <xref rid="f9-sensors-13-10219" ref-type="fig">Figure 9</xref>
reveal that networks with a high node density convey a reduction of network lifetime. The reason is twofold: (i) the increase in the number of messages disseminated by the network and (ii) the increase in the number of times that the CSMA-CA mechanism is triggered. As a consequence, there is extra energy consumption. When the network grows, the number of intermediate secondary nodes between the source and the sink (number of hops) also increases, which results in an augmentation of the number of messages dispatched and, consequently, of the probability of packet collision. To avoid packet collisions, IEEE 802.15.4 uses CSMA-CA. This mechanism is based on the idea that network nodes must wait for a random time (backoff time in the medium access protocol jargon) if the channel is busy. When a node is ready to transmit a message, it proceeds to listen to the physical medium, switching its transceiver to the ON mode. If the medium is free, the message is automatically transmitted, but if another neighbor device is also transmitting, the node aborts its transmission attempt and triggers the CSMA-CA algorithm. This algorithm defines the new time to attempt the transmission of the message under consideration. This process consumes energy, until the node finds free the medium, and as a result, the message is delivered. As a consequence, if the number of nodes grows, the probability that the channel is busy also increases, and therefore, more time and energy are invested in sending a message.</p>
<p>Following this line of reasoning, <xref rid="f9-sensors-13-10219" ref-type="fig">Figure 9</xref>
shows that networks of 400 nodes have a shorter lifetime than networks with fewer nodes. In this sense, note that in networks formed by a high number of nodes (large-scale) in which there are no primary ones, the inclusion of new nodes implies a slight reduction of the network lifetime in comparison with this same case applied to topologies with few nodes. In large-scale networks, there will be nodes with a large amount of neighbors in range, which increases the total traffic dispatched by all of them, and, therefore, the nodes' energy consumption by busy channel and data transmissions. Under these circumstances, nodes operate most of the time (they barely switch their transceiver to the OFF mode, thus saving energy), which sharply restricts their life. This is the explanation why the association of new neighbors almost does not entail additional operation by the nodes under study. However, networks consisting of a few nodes are clearly influenced by the appearance of new nodes, because more traffic will be dispatched and, therefore, more triggers of the CSMA-CA algorithm will be executed.</p>
<p><xref rid="f9-sensors-13-10219" ref-type="fig">Figure 9</xref>
also includes the results for hierarchical Zigbee networks [<xref rid="b28-sensors-13-10219" ref-type="bibr">28</xref>
], the most extended commercial solution for WSNs. The Zigbee <italic>de facto</italic>
standard runs continuously, updating the connectivity matrices of the entire network nodes to select the best (and unique) path between any arbitrary pair of source and destination nodes. Network nodes belonging to a particular source-destination path must receive all the data messages of their respective predecessor nodes and retransmit them. This procedure causes nodes included in an active path to consume more energy than the others, which leads to network node with a substantial energy disparity. This fact has a very negative impact on network lifetime. An appropriate redistribution of traffic flows by, for instance, selecting different paths for the same source-destination pair, as our algorithm does, is clearly advantageous in terms of energy saving. Thereby, the lifetime obtained for Zigbee is lower than our result.</p>
<p>The inclusion of primary nodes in the network implies a redistribution of the traffic load. We quantify this issue by means of the metric aggregate throughput, which is represented in <xref rid="f10-sensors-13-10219" ref-type="fig">Figure 10</xref>
. This performance metric applies to the primary nodes and characterizes the total bitrate (sum of all primary nodes' rates) dispatched by them. The simulation results obtained reflect that the consideration of new primary nodes and the appropriate selection of their locations yield a notable increase of the number of messages disseminated by these primary nodes. In our model, primary nodes have no energy restrictions, so that secondary nodes search for primary nodes to deliver their messages. This fact causes primary nodes to handle more data, alleviating the traffic load of secondary nodes. This way, secondary nodes consume less energy and, consequently, their chemical batteries operate for longer times. This contributes to a significant increase in the network lifetime, as shown in <xref rid="f11-sensors-13-10219" ref-type="fig">Figure 11</xref>
. In this Figure, we illustrate the lifetime of a network composed of 49 nodes (same layout/scenario as that represented in <xref rid="f6-sensors-13-10219" ref-type="fig">Figure 6</xref>
) as a function of the number of primary nodes. The results achieved corroborate that the increase in the number of primary nodes has a positive impact on the network lifetime. Furthermore, we can observe that a suitable layout of nine primary nodes generates a virtual backbone, where all the secondary nodes are placed to one-hop of at least one primary node. The result is a scenario that achieves similar lifetime to a network formed only by nine nodes without primary ones, where all of them are directly connected to the root (<xref rid="f9-sensors-13-10219" ref-type="fig">Figure 9</xref>
). In addition, <xref rid="f11-sensors-13-10219" ref-type="fig">Figure 11</xref>
shows the simulation results for the two optimization approaches in this work: our optimization model based on linear programming and the novel OPT-PRIM algorithm. The network lifetimes obtained with OPT-PRIM are nearly the same as the outcome of the LP optimization model. This implies that the primary nodes selected by both techniques maximize network lifetime to the same extent. This validates that OPT-PRIM is an excellent alternative to LP optimization, especially for the cases where the problem formulation is complex or the time required to obtain a solution may be excessive.</p>
<p>Finally, in <xref rid="f9-sensors-13-10219" ref-type="fig">Figure 9</xref>
<xref rid="f10-sensors-13-10219" ref-type="fig">Figure 10</xref>
and <xref rid="f11-sensors-13-10219" ref-type="fig">Figure 11</xref>
, we also present the upper limit obtained from the optimization study. As can be seen, for the same topology, the lifetime and average throughput obtained by simulation is slightly less than the resulting one from the optimization analysis. This is mainly because the simulation includes the effect of the IEEE 802.15.4 MAC (Medium Access Control) and PHY layers. Thereby, for the same scenario, and according to the simulation, nodes consume more energy and yield less throughput, since the optimization procedure obviates real processes, such as channel access control or messages retransmission. However, simulation results are very close to the numerical ones, therefore validating the LP optimization study and the OPT-PRIM algorithm proposed.</p>
</sec>
<sec sec-type="conclusions"><label>7.</label>
<title>Conclusions</title>
<p>Optimal planning of WSNs is a complex problem, due to the high degree of flexibility of this kind of network. For this reason, it is desirable to have tools that support this task. Moreover, as planning is usually based on simplified network models, the reliability of planning tools is very important. This paper has presented an optimization framework to simultaneously maximize lifetime and minimize <italic>the average number of packet hops</italic>
for WSN networks. Additionally, we have also designed an algorithm that achieves results comparable to an optimization problem. In both cases, we have considered two types of nodes: nodes with <italic>long-lasting batteries, or primary nodes</italic>
, and nodes with regular batteries, or secondary nodes. The goal of our optimization framework and the assignment algorithm is to deploy primary nodes, so that lifetime is maximized.</p>
<p>The optimization framework consists of two LP problems. The first one defines a set of constraints to maximize lifetime, whereas the second one is designed to optimize <italic>flow assignments</italic>
, minimizing the average number of packet hops, once the maximum lifetime is known.</p>
<p>As the optimization framework is based on a simplified model, we have also performed some simulations of more realistic networks to validate the optimization results. Simulation results exhibit a close similarity with those of the optimization, which suggests that the simplified network model in the optimization framework is valid. Simulations also show that the well-known Zigbee standard provides poor results in comparison with our studies. Among other reasons, it does not distinguish between different node energy behaviors.</p>
<p>The optimized solution is consistent with previous works: Optimal primary assignment tends to form virtual backbones, which, as previously noted in [<xref rid="b13-sensors-13-10219" ref-type="bibr">13</xref>
,<xref rid="b14-sensors-13-10219" ref-type="bibr">14</xref>
], allows the increase of lifetime. Moreover, there exists a tradeoff between lifetime and the average number of packet hop efficiency. However, when lifetime cannot be increased, primary node assignment would permit an efficient network flow assignment, once lifetime becomes irrelevant.</p>
<p>Due to the complexity of the LP formulation, we also propose an optimization algorithm, OPT-PRIM, which achieves comparable lifetimes as those of the optimization. However, regarding the number of packet hops, it is slightly less efficient, but as OPT-PRIM is much faster, it can be considered a good alternative to complex or large-scale problems. Finally, we also have validated the results of the OPT-PRIM algorithm by means of simulations.</p>
<p>As future work, particular cases may be studied by the consideration of additional features related to the link level, routing scheme or application layer in the constraints of the optimization problem. This may lead to a more reduced solution space, reaching optimal results and narrowing the gap to the simulation results obtained by our study. On the other hand, feasibility/compatibility studies between our OPT-PRIM proposal and WSN routing algorithms, such as ALBA-R (Adaptive Load-Balanced Algorithm, Rainbow version) [<xref rid="b29-sensors-13-10219" ref-type="bibr">29</xref>
] or XLP (Cross Layer Protocol) [<xref rid="b30-sensors-13-10219" ref-type="bibr">30</xref>
], might mean the enhancement of network lifetime and other network performance figures, such as end-to-end delay or packet delivery ratio.</p>
</sec>
</body>
<back><ack><p>This research has been supported by the MINECO/FEDER project grants TEC2010-21405-C02-01/TCM and TEC2010-21405-C02-02/TCM (CALM). It has been also developed in the framework of “Programa de Ayudas a Grupos de Excelencia de la Región de Murcia, de la Fundación Séneca, Agencia de Ciencia y Tecnología de la Región de Murcia”.</p>
</ack>
<notes><title>Conflict of Interest</title>
<p>The authors declare no conflict of interest.</p>
</notes>
<ref-list><title>References</title>
<ref id="b1-sensors-13-10219"><label>1.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Norman</surname>
<given-names>B.C.</given-names>
</name>
</person-group>
<article-title>Power options for wireless sensor networks</article-title>
<source>IEEE Aerosp. Electron. Syst. Mag.</source>
<year>2007</year>
<volume>22</volume>
<fpage>14</fpage>
<lpage>17</lpage>
</element-citation>
</ref>
<ref id="b2-sensors-13-10219"><label>2.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Garcia-Sanchez</surname>
<given-names>A.J.</given-names>
</name>
<name><surname>Garcia-Sanchez</surname>
<given-names>F.</given-names>
</name>
<name><surname>Garcia-Haro</surname>
<given-names>J.</given-names>
</name>
</person-group>
<article-title>Wireless sensor network deployment for integrating video-surveillance and data-monitoring in precision agriculture over distributed crops. Comput. Electron. Agric</article-title>
<year>2011</year>
<volume>75</volume>
<fpage>288</fpage>
<lpage>303</lpage>
</element-citation>
</ref>
<ref id="b3-sensors-13-10219"><label>3.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Vellidis</surname>
<given-names>G.</given-names>
</name>
<name><surname>Tucker</surname>
<given-names>M.</given-names>
</name>
<name><surname>Perry</surname>
<given-names>C.</given-names>
</name>
<name><surname>Kvien</surname>
<given-names>C.</given-names>
</name>
<name><surname>Bednarz</surname>
<given-names>C.</given-names>
</name>
</person-group>
<article-title>A real-time wireless smart sensor array for scheduling irrigation</article-title>
<source>Comput. Electron. Agric.</source>
<year>2008</year>
<volume>61</volume>
<fpage>44</fpage>
<lpage>50</lpage>
</element-citation>
</ref>
<ref id="b4-sensors-13-10219"><label>4.</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Abu-Baker</surname>
<given-names>A.</given-names>
</name>
<name><surname>Huang</surname>
<given-names>H.</given-names>
</name>
<name><surname>Johnson</surname>
<given-names>E.</given-names>
</name>
<name><surname>Misra</surname>
<given-names>S.</given-names>
</name>
<name><surname>Asorey-Cacheda</surname>
<given-names>R.</given-names>
</name>
<name><surname>Balakrishnan</surname>
<given-names>M.</given-names>
</name>
</person-group>
<article-title>Maximizing α-Lifetime of Wireless Sensor Networks with Solar Energy Sources</article-title>
<conf-name>Proceedings of the IEEE Military Communications Conference</conf-name>
<conf-date>31 October–3 November 2010</conf-date>
<fpage>125</fpage>
<lpage>129</lpage>
</element-citation>
</ref>
<ref id="b5-sensors-13-10219"><label>5.</label>
<element-citation publication-type="book"><source>IEEE 802.15.4 Standard Wireless Medium AccessControl (MAC) and Physical Layer (PHY) Specifications</source>
<publisher-name>IEEE 802.15.4 Task Group</publisher-name>
<publisher-loc>New York, NY, USA</publisher-loc>
<year>2006</year>
</element-citation>
</ref>
<ref id="b6-sensors-13-10219"><label>6.</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>La Porta</surname>
<given-names>T.</given-names>
</name>
<name><surname>Petrioli</surname>
<given-names>C.</given-names>
</name>
<name><surname>Spenza</surname>
<given-names>D.</given-names>
</name>
</person-group>
<article-title>Sensor-mission Assignment in Wireless Sensor Networks with Energy Harvesting</article-title>
<conf-name>Proceedings of the 2011 8th Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks</conf-name>
<conf-loc>Sant Lake City, UT, USA</conf-loc>
<conf-date>27–30 June 2011</conf-date>
</element-citation>
</ref>
<ref id="b7-sensors-13-10219"><label>7.</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Mao</surname>
<given-names>S.</given-names>
</name>
<name><surname>Cheung</surname>
<given-names>M.H.</given-names>
</name>
<name><surname>Wong</surname>
<given-names>V.W.S.</given-names>
</name>
</person-group>
<article-title>An Optimal Energy Allocation Algorithm for Energy Harvesting Wireless Sensor Networks</article-title>
<conf-name>Proceedings of the IEEE International Conference on Communications</conf-name>
<conf-loc>Otawa, ON, Canada</conf-loc>
<conf-date>10–15 June 2012</conf-date>
</element-citation>
</ref>
<ref id="b8-sensors-13-10219"><label>8.</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Long</surname>
<given-names>H.</given-names>
</name>
<name><surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name><surname>Wang</surname>
<given-names>Y.</given-names>
</name>
<name><surname>Dick</surname>
<given-names>R.P.</given-names>
</name>
<name><surname>Yang</surname>
<given-names>H.</given-names>
</name>
</person-group>
<article-title>Battery Allocation for Wireless Sensor Network Lifetime Maximization Under Cost Constraints</article-title>
<conf-name>Proceedings of the International Conference on Computer-Aid Design</conf-name>
<conf-loc>San Jose, CA, USA</conf-loc>
<conf-date>2–5 November 2009</conf-date>
</element-citation>
</ref>
<ref id="b9-sensors-13-10219"><label>9.</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Reise</surname>
<given-names>G.</given-names>
</name>
<name><surname>Matamoros</surname>
<given-names>J.</given-names>
</name>
<name><surname>Anton-Haro</surname>
<given-names>C.</given-names>
</name>
<name><surname>Matz</surname>
<given-names>G.</given-names>
</name>
</person-group>
<article-title>MSE-Optimal Power Allocation in Wireless Sensor Networks for Field Reconstruction Based on Shift-Invariant Spaces</article-title>
<conf-name>Proceedings of the Conference Record of the Forty Fifth Asilomar Conference on Signals, Systems and Computers</conf-name>
<conf-loc>Pacific Grove, CA, USA</conf-loc>
<conf-date>6–9 November 2011</conf-date>
<fpage>702</fpage>
<lpage>707</lpage>
</element-citation>
</ref>
<ref id="b10-sensors-13-10219"><label>10.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Wu</surname>
<given-names>X.</given-names>
</name>
<name><surname>Chen</surname>
<given-names>G.</given-names>
</name>
<name><surname>Das</surname>
<given-names>S.K.</given-names>
</name>
</person-group>
<article-title>Avoiding energy holes in wireless sensor networks with nonuniform node distribution</article-title>
<source>IEEE Trans. Parall. Distrib. Syst.</source>
<year>2008</year>
<volume>19</volume>
<fpage>710</fpage>
<lpage>721</lpage>
</element-citation>
</ref>
<ref id="b11-sensors-13-10219"><label>11.</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Iranli</surname>
<given-names>A.</given-names>
</name>
<name><surname>Maleki</surname>
<given-names>M.</given-names>
</name>
<name><surname>Pedram</surname>
<given-names>M.</given-names>
</name>
</person-group>
<article-title>Energy Efficient Strategies for Deployment of a Two-level Wireless Sensor Network</article-title>
<conf-name>Proceedings of the 2005 International Symposium on Low Power Electronics and Design</conf-name>
<conf-loc>San Diego, CA, USA</conf-loc>
<conf-date>8– 10 August 2005</conf-date>
<fpage>233</fpage>
<lpage>238</lpage>
</element-citation>
</ref>
<ref id="b12-sensors-13-10219"><label>12.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Wang</surname>
<given-names>D.</given-names>
</name>
<name><surname>Xie</surname>
<given-names>B.</given-names>
</name>
<name><surname>Agrawal</surname>
<given-names>D.P.</given-names>
</name>
</person-group>
<article-title>Coverage and lifetime optimization of wireless sensor networks with gaussian distribution</article-title>
<source>IEEE Trans. Mob. Comput.</source>
<year>2008</year>
<volume>7</volume>
<fpage>1444</fpage>
<lpage>1458</lpage>
</element-citation>
</ref>
<ref id="b13-sensors-13-10219"><label>13.</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Basagni</surname>
<given-names>S.</given-names>
</name>
<name><surname>Elia</surname>
<given-names>M.</given-names>
</name>
<name><surname>Ghosh</surname>
<given-names>R.</given-names>
</name>
</person-group>
<article-title>ViBES: Virtual Backbone for Energy Saving in Wireless Sensor Networks</article-title>
<conf-name>Proceedings of the IEEE Military Communications Conference</conf-name>
<conf-loc>Monterey, CA, USA</conf-loc>
<conf-date>31 October– 3 November 2004</conf-date>
<fpage>1240</fpage>
<lpage>1246</lpage>
</element-citation>
</ref>
<ref id="b14-sensors-13-10219"><label>14.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Zhao</surname>
<given-names>Y.</given-names>
</name>
<name><surname>Wu</surname>
<given-names>L.</given-names>
</name>
<name><surname>Li</surname>
<given-names>F.</given-names>
</name>
<name><surname>Lu</surname>
<given-names>S.</given-names>
</name>
</person-group>
<article-title>On Maximizing the lifetime of wireless sensor networks using virtual backbone scheduling</article-title>
<source>Trans. Parall. Distrib. Process</source>
<year>2012</year>
<volume>23</volume>
<fpage>1528</fpage>
<lpage>1535</lpage>
</element-citation>
</ref>
<ref id="b15-sensors-13-10219"><label>15.</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Wang</surname>
<given-names>Z.M.</given-names>
</name>
<name><surname>Basagni</surname>
<given-names>S.</given-names>
</name>
<name><surname>Melachrinoudis</surname>
<given-names>E.</given-names>
</name>
<name><surname>Petrioli</surname>
<given-names>C.</given-names>
</name>
</person-group>
<article-title>Exploiting Sink Mobility for Maximizing Sensor Networks Lifetime</article-title>
<conf-name>Proceedings of the Proceedings of the 38th Annual Hawaii International Conference on System Sciences</conf-name>
<conf-loc>Big Island, HI, USA</conf-loc>
<conf-date>3– 6 January 2005</conf-date>
</element-citation>
</ref>
<ref id="b16-sensors-13-10219"><label>16.</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Zhixiang</surname>
<given-names>D.</given-names>
</name>
<name><surname>Bensheng</surname>
<given-names>Q.</given-names>
</name>
</person-group>
<article-title>Three-layered Routing Protocol for WSN based on LEACH Algorithm</article-title>
<conf-name>Proceedings of the IET Conference on Wireless, Mobile and Sensor Networks</conf-name>
<conf-loc>Shanghai, China</conf-loc>
<conf-date>12– 14 December 2007</conf-date>
<fpage>72</fpage>
<lpage>75</lpage>
</element-citation>
</ref>
<ref id="b17-sensors-13-10219"><label>17.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Azim</surname>
<given-names>M.A.</given-names>
</name>
<name><surname>Kibria</surname>
<given-names>M.R.</given-names>
</name>
<name><surname>Jamalipour</surname>
<given-names>A.</given-names>
</name>
</person-group>
<article-title>An optimized forwarding protocol for lifetime extension of wireless sensor networks</article-title>
<source>Wirel. Commun. Mob. Comput.</source>
<year>2009</year>
<volume>9</volume>
<fpage>103</fpage>
<lpage>115</lpage>
</element-citation>
</ref>
<ref id="b18-sensors-13-10219"><label>18.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Ting</surname>
<given-names>C.K.</given-names>
</name>
<name><surname>Liao</surname>
<given-names>C.C.</given-names>
</name>
</person-group>
<article-title>A memetic algorithm for extending wireless sensor network lifetime</article-title>
<source>Inf. Sci.</source>
<year>2010</year>
<volume>180</volume>
<fpage>4818</fpage>
<lpage>4833</lpage>
</element-citation>
</ref>
<ref id="b19-sensors-13-10219"><label>19.</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Rajiullah</surname>
<given-names>M.</given-names>
</name>
<name><surname>Shimamoto</surname>
<given-names>S.</given-names>
</name>
</person-group>
<article-title>An Energy-Aware Periodical Data Gathering Protocol Using Deterministic Clustering in Wireless Sensor Networks (WSN)</article-title>
<conf-name>Proceedings of the IEEE Wireless Communications and Networking Conference</conf-name>
<conf-loc>Hong Kong</conf-loc>
<conf-date>11– 15 March 2007</conf-date>
<fpage>3014</fpage>
<lpage>3018</lpage>
</element-citation>
</ref>
<ref id="b20-sensors-13-10219"><label>20.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Younis</surname>
<given-names>O.</given-names>
</name>
<name><surname>Krunz</surname>
<given-names>M.</given-names>
</name>
<name><surname>Ramasubramanian</surname>
<given-names>S.</given-names>
</name>
</person-group>
<article-title>Node clustering in wireless sensor networks: Recent developments and deployment challenges</article-title>
<source>IEEENetw</source>
<year>2006</year>
<volume>20</volume>
<fpage>20</fpage>
<lpage>25</lpage>
</element-citation>
</ref>
<ref id="b21-sensors-13-10219"><label>21.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Niyato</surname>
<given-names>D.</given-names>
</name>
<name><surname>Hossain</surname>
<given-names>E.</given-names>
</name>
<name><surname>Rashid</surname>
<given-names>M.M.</given-names>
</name>
<name><surname>Bhargava</surname>
<given-names>V.K.</given-names>
</name>
</person-group>
<article-title>Wireless sensor networks with energy harvesting technologies: A game-theoretic approach to optimal energy management</article-title>
<source>IEEE Wirel. Commun.</source>
<year>2007</year>
<volume>14</volume>
<fpage>90</fpage>
<lpage>96</lpage>
</element-citation>
</ref>
<ref id="b22-sensors-13-10219"><label>22.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Kim</surname>
<given-names>J.</given-names>
</name>
<name><surname>Lin</surname>
<given-names>X.</given-names>
</name>
<name><surname>Shroff</surname>
<given-names>N.B.</given-names>
</name>
<name><surname>Sinha</surname>
<given-names>P.</given-names>
</name>
</person-group>
<article-title>Minimizing delay and maximizing lifetime for wireless sensor networks with anycast</article-title>
<source>IEEE/ACM Trans. Netw.</source>
<year>2010</year>
<volume>18</volume>
<fpage>515</fpage>
<lpage>528</lpage>
</element-citation>
</ref>
<ref id="b23-sensors-13-10219"><label>23.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Xiang</surname>
<given-names>M.</given-names>
</name>
<name><surname>Shi</surname>
<given-names>W.-R.</given-names>
</name>
<name><surname>Jiang</surname>
<given-names>C.-J.</given-names>
</name>
<name><surname>Zhang</surname>
<given-names>Y.</given-names>
</name>
</person-group>
<article-title>Energy efficient clustering algorithm for maximizing lifetime of wireless sensor networks</article-title>
<source>Int. J. Electron. Commun.</source>
<year>2009</year>
<pub-id pub-id-type="doi">10.1016/j.aeue.2009.01.004</pub-id>
</element-citation>
</ref>
<ref id="b24-sensors-13-10219"><label>24.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Kacimi</surname>
<given-names>R.</given-names>
</name>
<name><surname>Dhaou</surname>
<given-names>R.</given-names>
</name>
<name><surname>Beylor</surname>
<given-names>A.-L.</given-names>
</name>
</person-group>
<article-title>Load balancing techniques for lifetime maximization of wireless sensor networks</article-title>
<source>Ad Hoc Netw.</source>
<year>2013</year>
<pub-id pub-id-type="doi">10.1016/j.adhoc.2013.04.009</pub-id>
</element-citation>
</ref>
<ref id="b25-sensors-13-10219"><label>25.</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Minhas</surname>
<given-names>M.R.</given-names>
</name>
<name><surname>Gopalakrishnan</surname>
<given-names>S.</given-names>
</name>
<name><surname>Leung</surname>
<given-names>V.C.M.</given-names>
</name>
</person-group>
<article-title>Multiobjective Routing for Simultaneously Optimizing System Lifetime and Source-to-Sink Delay in Wireless Sensor Networks</article-title>
<conf-name>Proceedings of the IEEE International Conference on Distributed Computing Systems Workshops</conf-name>
<conf-loc>Montreal, QC, Canada</conf-loc>
<conf-date>22– 26 June 2009</conf-date>
<fpage>123</fpage>
<lpage>129</lpage>
</element-citation>
</ref>
<ref id="b26-sensors-13-10219"><label>26.</label>
<element-citation publication-type="webpage"><person-group person-group-type="author"><collab>University of Southern California</collab>
</person-group>
<article-title>Network Simulator–NS-2</article-title>
<year>2012</year>
<comment>Available online: <ext-link ext-link-type="uri" xlink:href="http://www.isi.edu/nsnam/ns">http://www.isi.edu/nsnam/ns</ext-link>
</comment>
<date-in-citation>(on accessed 20 December 2012)</date-in-citation>
</element-citation>
</ref>
<ref id="b27-sensors-13-10219"><label>27.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Zheng</surname>
<given-names>J.</given-names>
</name>
<name><surname>Lee</surname>
<given-names>M.J.</given-names>
</name>
</person-group>
<article-title>A comprehensive performance study of IEEE 802.15.4 sensor network operations</article-title>
<source>IEEE Press Wiley Intersci</source>
<year>2006</year>
<volume>4</volume>
<fpage>218</fpage>
<lpage>237</lpage>
</element-citation>
</ref>
<ref id="b28-sensors-13-10219"><label>28.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><collab>Digi</collab>
</person-group>
<article-title>XBee and XBee ZigBee RF Modules</article-title>
<year>2012</year>
<comment>Available online: <ext-link ext-link-type="ftp" xlink:href="ftp://ftp1.digi.com/support/documentation/90000976_F.pdf">ftp://ftp1.digi.com/support/documentation/90000976_F.pdf</ext-link>
</comment>
<date-in-citation>(on accessed 20 December 2012)</date-in-citation>
</element-citation>
</ref>
<ref id="b29-sensors-13-10219"><label>29.</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Casari</surname>
<given-names>P.</given-names>
</name>
<name><surname>Nati</surname>
<given-names>M.</given-names>
</name>
<name><surname>Petrioli</surname>
<given-names>C.</given-names>
</name>
<name><surname>Zorzi</surname>
<given-names>M.</given-names>
</name>
</person-group>
<article-title>Efficient non planar routingaround dead ends in sparse topologies using random forwarding</article-title>
<conf-name>Proceedings of the IEEE International Conference on Communications</conf-name>
<conf-loc>Glasgow, UK</conf-loc>
<conf-date>24–28 June 2007</conf-date>
</element-citation>
</ref>
<ref id="b30-sensors-13-10219"><label>30.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Vuran</surname>
<given-names>M.C.</given-names>
</name>
<name><surname>Akyildiz</surname>
<given-names>I.F.</given-names>
</name>
</person-group>
<article-title>XLP: A cross-layer protocol for efficient communication in wireless sensor networks</article-title>
<source>IEEE Trans. Mob. Comput</source>
<year>2010</year>
<volume>9</volume>
<fpage>1578</fpage>
<lpage>1591</lpage>
</element-citation>
</ref>
</ref-list>
</back>
<floats-group><fig id="f1-sensors-13-10219" position="float"><label>Figure 1.</label>
<caption><p>Lifetime optimization example results for a scenario with 16 nodes. Note how transmission schemes change with the assignment of new primary nodes. Link colors depend on the transmission rate according to the color bar on the upper right corner of each figure.</p>
</caption>
<graphic xlink:href="sensors-13-10219f1"></graphic>
</fig>
<fig id="f2-sensors-13-10219" position="float"><label>Figure 2.</label>
<caption><p>Flow assignment example for a scenario with 16 nodes (the same scenario as in the example of <xref rid="f1-sensors-13-10219" ref-type="fig">Figure 1</xref>
).</p>
</caption>
<graphic xlink:href="sensors-13-10219f2"></graphic>
</fig>
<fig id="f3-sensors-13-10219" position="float"><label>Figure 3.</label>
<caption><p>Comparison of theoretical and optimization results for the average minimum number of primary nodes required to maximize lifetime in a WSN.</p>
</caption>
<graphic xlink:href="sensors-13-10219f3"></graphic>
</fig>
<fig id="f4-sensors-13-10219" position="float"><label>Figure 4.</label>
<caption><p>Network lifetime as a function of the number of primaries for the network of <xref rid="f6-sensors-13-10219" ref-type="fig">Figure 6</xref>
.</p>
</caption>
<graphic xlink:href="sensors-13-10219f4"></graphic>
</fig>
<fig id="f5-sensors-13-10219" position="float"><label>Figure 5.</label>
<caption><p>Minimum average number of hops for the <italic>N</italic>
= 49 scenario of <xref rid="f1-sensors-13-10219" ref-type="fig">Figure 1</xref>
after the first and second optimizations.</p>
</caption>
<graphic xlink:href="sensors-13-10219f5"></graphic>
</fig>
<fig id="f6-sensors-13-10219" position="float"><label>Figure 6.</label>
<caption><p>Example network of 49 nodes. Lifetime optimization without primary nodes. Top-right: lifetime and flow optimization without primary nodes. Bottom-left: lifetime optimization with nine primary nodes. Bottom-right: lifetime and flow optimization with nine primary nodes. Note that primary nodes increase network lifetime, whereas flow optimization reduces the average number of packet hops.</p>
</caption>
<graphic xlink:href="sensors-13-10219f6"></graphic>
</fig>
<fig id="f7-sensors-13-10219" position="float"><label>Figure 7.</label>
<caption><p>OPT-PRIM primary node assignment for the networks of <xref rid="f2-sensors-13-10219" ref-type="fig">Figure 2</xref>
and <xref rid="f6-sensors-13-10219" ref-type="fig">Figure 6</xref>
.</p>
</caption>
<graphic xlink:href="sensors-13-10219f7"></graphic>
</fig>
<fig id="f8-sensors-13-10219" position="float"><label>Figure 8.</label>
<caption><p>Minimum average number of hops achieved with OPT-PRIM and the optimization framework.</p>
</caption>
<graphic xlink:href="sensors-13-10219f8"></graphic>
</fig>
<fig id="f9-sensors-13-10219" position="float"><label>Figure 9.</label>
<caption><p>Network lifetime for different numbers of nodes without primary nodes. The simulation results show the average lifetime and its standard deviation obtained from 20 simulations with different seeds (95% confidence interval, Batch Mean Method).</p>
</caption>
<graphic xlink:href="sensors-13-10219f9"></graphic>
</fig>
<fig id="f10-sensors-13-10219" position="float"><label>Figure 10.</label>
<caption><p>Aggregate throughput for primary nodes. The simulation results show the average aggregate throughput and its standard deviation obtained from 20 simulations with different seeds (95% confidence intervals, Batch Mean Method).</p>
</caption>
<graphic xlink:href="sensors-13-10219f10"></graphic>
</fig>
<fig id="f11-sensors-13-10219" position="float"><label>Figure 11.</label>
<caption><p>Average network lifetime as a function of the number of primary nodes for a WSN network of 49 nodes.</p>
</caption>
<graphic xlink:href="sensors-13-10219f11"></graphic>
</fig>
<table-wrap id="t1-sensors-13-10219" position="float"><label>Table 1.</label>
<caption><p>Problem formulation of primary node assignment.</p>
</caption>
<table frame="hsides" rules="groups"><thead><tr><th colspan="2" align="left" valign="top" rowspan="1"><bold>Primary node assignment problem constraints.</bold>
</th>
</tr>
</thead>
<tbody><tr><td align="right" valign="top" rowspan="1" colspan="1">maximize</td>
<td align="left" valign="top" rowspan="1" colspan="1"><disp-formula id="FD7"><label>(1)</label>
<mml:math id="mm26"><mml:mtable><mml:mtr><mml:mtd columnalign="left"><mml:mrow><mml:msub><mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</td>
</tr>
<tr><td align="right" valign="top" rowspan="1" colspan="1">subject to</td>
<td align="left" valign="top" rowspan="1" colspan="1"><disp-formula id="FD8"><label>(2)</label>
<mml:math id="mm27"><mml:mrow><mml:msub><mml:mi>f</mml:mi>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>≥</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>∀</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>∈</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>≠</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</disp-formula>
</td>
</tr>
<tr><td align="right" valign="top" rowspan="1" colspan="1"></td>
<td align="left" valign="top" rowspan="1" colspan="1"><disp-formula id="FD9"><label>(3)</label>
<mml:math id="mm28"><mml:mrow><mml:munderover><mml:mtext>∑</mml:mtext>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:mrow><mml:msub><mml:mi>L</mml:mi>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:msub><mml:mi>f</mml:mi>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi>r</mml:mi>
<mml:msub><mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
</td>
</tr>
<tr><td align="right" valign="top" rowspan="1" colspan="1"></td>
<td align="left" valign="top" rowspan="1" colspan="1"><disp-formula id="FD10"><label>(4)</label>
<mml:math id="mm29"><mml:mrow><mml:mtable columnalign="left"><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow><mml:munderover><mml:mtext>∑</mml:mtext>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:mrow><mml:msub><mml:mi>L</mml:mi>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:msub><mml:mi>f</mml:mi>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:munderover><mml:mtext>∑</mml:mtext>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:mrow><mml:msub><mml:mi>L</mml:mi>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:msub><mml:mi>f</mml:mi>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>r</mml:mi>
<mml:msub><mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow><mml:mo>∀</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>≠</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>≠</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
</td>
</tr>
<tr><td align="right" valign="top" rowspan="1" colspan="1"></td>
<td align="left" valign="top" rowspan="1" colspan="1"><disp-formula id="FD11"><label>(5)</label>
<mml:math id="mm30"><mml:mrow><mml:mtable columnalign="left"><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow><mml:msub><mml:mi>E</mml:mi>
<mml:mrow><mml:mi>t</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:munderover><mml:mtext>∑</mml:mtext>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:mrow><mml:msub><mml:mi>L</mml:mi>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub><mml:mi>f</mml:mi>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:msub><mml:mi>E</mml:mi>
<mml:mrow><mml:mi>t</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:munderover><mml:mtext>∑</mml:mtext>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:mrow><mml:msub><mml:mi>L</mml:mi>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub><mml:mi>f</mml:mi>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:msub><mml:mi>E</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:msub><mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:mo>≤</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow><mml:mo>≤</mml:mo>
<mml:msub><mml:mi>E</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>M</mml:mi>
<mml:msub><mml:mi>I</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub><mml:mo>∀</mml:mo>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>∈</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>≠</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>≠</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
</td>
</tr>
<tr><td align="right" valign="top" rowspan="1" colspan="1"></td>
<td align="left" valign="top" rowspan="1" colspan="1"><disp-formula id="FD12"><label>(6)</label>
<mml:math id="mm31"><mml:mrow><mml:munderover><mml:mtext>∑</mml:mtext>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:mrow><mml:msub><mml:mi>I</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>≤</mml:mo>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:math>
</disp-formula>
</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="t2-sensors-13-10219" position="float"><label>Table 2.</label>
<caption><p>Primary node assignment problem parameters.</p>
</caption>
<table frame="hsides" rules="groups"><thead><tr><th align="left" valign="top" rowspan="1" colspan="1"><bold>Parameter</bold>
</th>
<th align="left" valign="top" rowspan="1" colspan="1"><bold>Description</bold>
</th>
</tr>
</thead>
<tbody><tr><td align="left" valign="top" rowspan="1" colspan="1"><italic>T<sub>P</sub>
</italic>
</td>
<td align="left" valign="top" rowspan="1" colspan="1">WSN maximum lifetime for <italic>P</italic>
primary nodes.</td>
</tr>
<tr><td align="left" valign="top" rowspan="1" colspan="1"><italic>N</italic>
</td>
<td align="left" valign="top" rowspan="1" colspan="1">Number of nodes of the WSN.</td>
</tr>
<tr><td align="left" valign="top" rowspan="1" colspan="1"><italic>P</italic>
</td>
<td align="left" valign="top" rowspan="1" colspan="1">Number of primary nodes of the WSN.</td>
</tr>
<tr><td align="left" valign="top" rowspan="1" colspan="1"><italic>L<sub>ij</sub>
</italic>
</td>
<td align="left" valign="top" rowspan="1" colspan="1">If <italic>L<sub>ij</sub>
</italic>
= 1, there exists a link between <italic>i</italic>
and <italic>j</italic>
, otherwise <italic>L<sub>ij</sub>
</italic>
= 0.</td>
</tr>
<tr><td align="left" valign="top" rowspan="1" colspan="1"></td>
<td align="left" valign="top" rowspan="1" colspan="1">Additionally, the network is symmetric, <italic>L<sub>ij</sub>
</italic>
= <italic>L<sub>ji</sub>
</italic>
.</td>
</tr>
<tr><td align="left" valign="top" rowspan="1" colspan="1"><italic>D<sub>ij</sub>
</italic>
</td>
<td align="left" valign="top" rowspan="1" colspan="1">It represents the physical distance between node i and node <italic>j</italic>
, <italic>D<sub>ij</sub>
</italic>
= <italic>D<sub>ji</sub>
</italic>
.</td>
</tr>
<tr><td align="left" valign="top" rowspan="1" colspan="1"><italic>f<sub>ij</sub>
</italic>
</td>
<td align="left" valign="top" rowspan="1" colspan="1">The data flow from <italic>i</italic>
to <italic>j</italic>
, <italic>f<sub>ij</sub>
</italic>
≥ 0.</td>
</tr>
<tr><td align="left" valign="top" rowspan="1" colspan="1"><italic>I<sub>i</sub>
</italic>
</td>
<td align="left" valign="top" rowspan="1" colspan="1">A binary variable; if <italic>I<sub>i</sub>
</italic>
= 1, node <italic>i</italic>
is a primary one.</td>
</tr>
<tr><td align="left" valign="top" rowspan="1" colspan="1"><italic>r</italic>
</td>
<td align="left" valign="top" rowspan="1" colspan="1">Node transmission data rate.</td>
</tr>
<tr><td align="left" valign="top" rowspan="1" colspan="1"><italic>M</italic>
</td>
<td align="left" valign="top" rowspan="1" colspan="1">A very large number, <italic>M</italic>
≫1.</td>
</tr>
<tr><td align="left" valign="top" rowspan="1" colspan="1"><italic>E<sub>rx</sub>
</italic>
</td>
<td align="left" valign="top" rowspan="1" colspan="1">Energy consumption to receive a packet.</td>
</tr>
<tr><td align="left" valign="top" rowspan="1" colspan="1"><italic>E<sub>tx</sub>
</italic>
</td>
<td align="left" valign="top" rowspan="1" colspan="1">Energy consumption to transmit a packet.</td>
</tr>
<tr><td align="left" valign="top" rowspan="1" colspan="1"><italic>E<sub>c</sub>
</italic>
</td>
<td align="left" valign="top" rowspan="1" colspan="1">Activity energy consumption (per time unit).</td>
</tr>
<tr><td align="left" valign="top" rowspan="1" colspan="1"><italic>E<sub>i</sub>
</italic>
</td>
<td align="left" valign="top" rowspan="1" colspan="1">Initial node <italic>i</italic>
energy.</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="t3-sensors-13-10219" position="float"><label>Table 3.</label>
<caption><p>Flow assignment optimization.</p>
</caption>
<table frame="hsides" rules="groups"><thead><tr><th colspan="2" align="left" valign="top" rowspan="1"><bold>Network flow assignment problem constraints.</bold>
</th>
</tr>
</thead>
<tbody><tr><td align="right" valign="top" rowspan="1" colspan="1">minimize</td>
<td align="left" valign="top" rowspan="1" colspan="1"><disp-formula id="FD13"><label>(7)</label>
<mml:math id="mm32"><mml:mrow><mml:munderover><mml:mtext>∑</mml:mtext>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:mrow><mml:munderover><mml:mtext>∑</mml:mtext>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:mrow><mml:msub><mml:mi>L</mml:mi>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mrow>
<mml:msub><mml:mi>D</mml:mi>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub><mml:mi>f</mml:mi>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
</td>
</tr>
<tr><td align="right" valign="top" rowspan="1" colspan="1">subject to</td>
<td align="left" valign="top" rowspan="1" colspan="1"><disp-formula id="FD14"><label>(8)</label>
<mml:math id="mm33"><mml:mrow><mml:msub><mml:mi>f</mml:mi>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>≥</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>∀</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>∈</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>≠</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</disp-formula>
</td>
</tr>
<tr><td align="right" valign="top" rowspan="1" colspan="1"></td>
<td align="left" valign="top" rowspan="1" colspan="1"><disp-formula id="FD15"><label>(9)</label>
<mml:math id="mm34"><mml:mrow><mml:munderover><mml:mtext>∑</mml:mtext>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:mrow><mml:msub><mml:mi>L</mml:mi>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:msub><mml:mi>f</mml:mi>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi>r</mml:mi>
<mml:msub><mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
</td>
</tr>
<tr><td align="right" valign="top" rowspan="1" colspan="1"></td>
<td align="left" valign="top" rowspan="1" colspan="1"><disp-formula id="FD16"><label>(10)</label>
<mml:math id="mm35"><mml:mrow><mml:mtable columnalign="left"><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow><mml:munderover><mml:mtext>∑</mml:mtext>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:mrow><mml:msub><mml:mi>L</mml:mi>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:msub><mml:mi>f</mml:mi>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:munderover><mml:mtext>∑</mml:mtext>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:mrow><mml:msub><mml:mi>L</mml:mi>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:msub><mml:mi>f</mml:mi>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>r</mml:mi>
<mml:msub><mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow><mml:mo>∀</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>≠</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>≠</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
</td>
</tr>
<tr><td align="right" valign="top" rowspan="1" colspan="1"></td>
<td align="left" valign="top" rowspan="1" colspan="1"><disp-formula id="FD17"><label>(11)</label>
<mml:math id="mm36"><mml:mrow><mml:mtable columnalign="left"><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow><mml:msub><mml:mi>E</mml:mi>
<mml:mrow><mml:mi>t</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:munderover><mml:mtext>∑</mml:mtext>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:mrow><mml:msub><mml:mi>L</mml:mi>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub><mml:mi>f</mml:mi>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:msub><mml:mi>E</mml:mi>
<mml:mrow><mml:mi>r</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:munderover><mml:mtext>∑</mml:mtext>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:mrow><mml:msub><mml:mi>L</mml:mi>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub><mml:mi>f</mml:mi>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:msub><mml:mi>E</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:msub><mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:mo>≤</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow><mml:mo>≤</mml:mo>
<mml:msub><mml:mi>E</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>M</mml:mi>
<mml:msub><mml:mi>I</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>∀</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>≠</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>≠</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
</td>
</tr>
<tr><td align="right" valign="top" rowspan="1" colspan="1"></td>
<td align="left" valign="top" rowspan="1" colspan="1"><disp-formula id="FD18"><label>(12)</label>
<mml:math id="mm37"><mml:mrow><mml:munderover><mml:mtext>∑</mml:mtext>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:mrow><mml:msub><mml:mi>I</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>≤</mml:mo>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:math>
</disp-formula>
</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="t4-sensors-13-10219" position="float"><label>Table 4.</label>
<caption><p>OPT-PRIM algorithm parameters.</p>
</caption>
<table frame="hsides" rules="groups"><thead><tr><th align="left" valign="top" rowspan="1" colspan="1"><bold>Parameter</bold>
</th>
<th align="left" valign="top" rowspan="1" colspan="1"><bold>Description</bold>
</th>
</tr>
</thead>
<tbody><tr><td align="left" valign="top" rowspan="1" colspan="1"><italic>N</italic>
</td>
<td align="left" valign="top" rowspan="1" colspan="1">Number of nodes in WSN <italic>G</italic>
.</td>
</tr>
<tr><td align="left" valign="top" rowspan="1" colspan="1"><italic>P</italic>
</td>
<td align="left" valign="top" rowspan="1" colspan="1">Number of primary nodes in WSN <italic>G</italic>
, <italic>P</italic>
< <italic>N</italic>
.</td>
</tr>
<tr><td align="left" valign="top" rowspan="1" colspan="1"><italic>Λ</italic>
</td>
<td align="left" valign="top" rowspan="1" colspan="1">Link matrix of <italic>G</italic>
(one if true, zero otherwise).</td>
</tr>
<tr><td align="left" valign="top" rowspan="1" colspan="1"><italic>λ<sub>ij</sub>
</italic>
</td>
<td align="left" valign="top" rowspan="1" colspan="1">The element, (<italic>i</italic>
, <italic>j</italic>
), in Λ, <italic>λ<sub>ij</sub>
</italic>
= <italic>λ<sub>ji</sub>
</italic>
.</td>
</tr>
<tr><td align="left" valign="top" rowspan="1" colspan="1"><italic>ρ<sub>i</sub>
</italic>
</td>
<td align="left" valign="top" rowspan="1" colspan="1">Row <italic>i</italic>
in matrix Λ.</td>
</tr>
<tr><td align="left" valign="top" rowspan="1" colspan="1">ℋ<italic><sub>ij</sub>
</italic>
</td>
<td align="left" valign="top" rowspan="1" colspan="1">The number of hops of the shortest path from <italic>i</italic>
to <italic>j</italic>
.</td>
</tr>
<tr><td align="left" valign="top" rowspan="1" colspan="1">Π<italic><sup>k</sup>
</italic>
</td>
<td align="left" valign="top" rowspan="1" colspan="1">The list of primary candidates after iteration k; it is a matrix of size <italic>t</italic>
× <italic>k</italic>
+ 1, <italic>t</italic>
≥ 1.</td>
</tr>
<tr><td align="left" valign="top" rowspan="1" colspan="1"><inline-formula><mml:math id="mm38"><mml:mrow><mml:msubsup><mml:mi>ι</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>k</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left" valign="top" rowspan="1" colspan="1">Row <italic>i</italic>
in matrix Π<italic><sup>k</sup>
</italic>
.</td>
</tr>
<tr><td align="left" valign="top" rowspan="1" colspan="1">Γ<italic><sup>k</sup>
</italic>
</td>
<td align="left" valign="top" rowspan="1" colspan="1">A matrix of nodes connected to the nodes in Π <italic><sup>k</sup>
</italic>
. Each row in Π <italic><sup>k</sup>
</italic>
corresponds to a row in Γ<italic><sup>k</sup>
</italic>
.</td>
</tr>
<tr><td align="left" valign="top" rowspan="1" colspan="1"><inline-formula><mml:math id="mm39"><mml:mrow><mml:msubsup><mml:mi>γ</mml:mi>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left" valign="top" rowspan="1" colspan="1">The element, (<italic>i</italic>
, <italic>j</italic>
), in Γ<italic><sup>k</sup>
</italic>
.</td>
</tr>
<tr><td align="left" valign="top" rowspan="1" colspan="1"><inline-formula><mml:math id="mm40"><mml:mrow><mml:msubsup><mml:mi>ϱ</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>k</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left" valign="top" rowspan="1" colspan="1">Row <italic>i</italic>
in matrix Γ<italic><sup>k</sup>
</italic>
.</td>
</tr>
</tbody>
</table>
</table-wrap>
</floats-group>
</pmc>
</record>
Pour manipuler ce document sous Unix (Dilib)
EXPLOR_STEP=$WICRI_ROOT/Ticri/CIDE/explor/TelematiV1/Data/Pmc/Corpus
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 000572 | SxmlIndent | more
Ou
HfdSelect -h $EXPLOR_AREA/Data/Pmc/Corpus/biblio.hfd -nk 000572 | SxmlIndent | more
Pour mettre un lien sur cette page dans le réseau Wicri
{{Explor lien |wiki= Ticri/CIDE |area= TelematiV1 |flux= Pmc |étape= Corpus |type= RBID |clé= PMC:3812601 |texte= On Maximizing the Lifetime of Wireless Sensor Networks by Optimally Assigning Energy Supplies }}
Pour générer des pages wiki
HfdIndexSelect -h $EXPLOR_AREA/Data/Pmc/Corpus/RBID.i -Sk "pubmed:23939582" \ | HfdSelect -Kh $EXPLOR_AREA/Data/Pmc/Corpus/biblio.hfd \ | NlmPubMed2Wicri -a TelematiV1
![]() | This area was generated with Dilib version V0.6.31. | ![]() |