<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing with OASIS Tables v3.0 20080202//EN" "journalpub-oasis3.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:oasis="http://docs.oasis-open.org/ns/oasis-exchange/table" xml:lang="en" dtd-version="3.0">
  <front>
    <journal-meta><journal-id journal-id-type="publisher">DWES</journal-id><journal-title-group>
    <journal-title>Drinking Water Engineering and Science</journal-title>
    <abbrev-journal-title abbrev-type="publisher">DWES</abbrev-journal-title><abbrev-journal-title abbrev-type="nlm-ta">Drink. Water Eng. Sci.</abbrev-journal-title>
  </journal-title-group><issn pub-type="epub">1996-9465</issn><publisher>
    <publisher-name>Copernicus Publications</publisher-name>
    <publisher-loc>Göttingen, Germany</publisher-loc>
  </publisher></journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.5194/dwes-11-101-2018</article-id><title-group><article-title>Technical note: Problem-specific variators in a genetic algorithm for the
optimization of drinking water networks</article-title><alt-title>Tuning a genetic algorithm for mains design</alt-title>
      </title-group><?xmltex \runningtitle{Tuning a genetic algorithm for mains design}?><?xmltex \runningauthor{K. van Laarhoven et al.}?>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes" rid="aff1">
          <name><surname>van Laarhoven</surname><given-names>Karel</given-names></name>
          <email>karel.van.laarhoven@kwrwater.nl</email>
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Vertommen</surname><given-names>Ina</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>van Thienen</surname><given-names>Peter</given-names></name>
          
        </contrib>
        <aff id="aff1"><institution>KWR Watercycle Research Institute, Nieuwegein, 3430 BB, the Netherlands</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Karel van Laarhoven (karel.van.laarhoven@kwrwater.nl)</corresp></author-notes><pub-date><day>8</day><month>November</month><year>2018</year></pub-date>
      
      <volume>11</volume>
      <issue>2</issue>
      <fpage>101</fpage><lpage>105</lpage>
      <history>
        <date date-type="received"><day>29</day><month>July</month><year>2018</year></date>
           <date date-type="rev-request"><day>16</day><month>August</month><year>2018</year></date>
           <date date-type="rev-recd"><day>16</day><month>October</month><year>2018</year></date>
           <date date-type="accepted"><day>29</day><month>October</month><year>2018</year></date>
      </history>
      <permissions>
        
        
      <license license-type="open-access"><license-p>This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this licence, visit <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link></license-p></license></permissions><self-uri xlink:href="https://dwes.copernicus.org/articles/11/101/2018/dwes-11-101-2018.html">This article is available from https://dwes.copernicus.org/articles/11/101/2018/dwes-11-101-2018.html</self-uri><self-uri xlink:href="https://dwes.copernicus.org/articles/11/101/2018/dwes-11-101-2018.pdf">The full text article is available as a PDF file from https://dwes.copernicus.org/articles/11/101/2018/dwes-11-101-2018.pdf</self-uri>
      <abstract>
    <p id="d1e95">Genetic algorithms can be a powerful tool for the automated design
of optimal drinking water distribution networks. Fast convergence of such
algorithms is a crucial factor for successful practical implementation at
the drinking water utility level. In this technical note, we therefore
investigate the performance of a suite of genetic variators that was
tailored to the optimization of a least-cost network design. Different
combinations of the variators are tested in terms of convergence rate and
the robustness of the results during optimization of the real-world drinking
water distribution network of Sittard, the Netherlands. The variator
configurations that reproducibly reach the furthest convergence after
10<inline-formula><mml:math id="M1" display="inline"><mml:msup><mml:mi/><mml:mn mathvariant="normal">5</mml:mn></mml:msup></mml:math></inline-formula> function evaluations are reported. In the future these may aid in
dealing with the computational challenges of optimizing real-world networks.</p>
  </abstract>
    </article-meta>
  </front>
<body>
      

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T1" specific-use="star"><caption><p id="d1e112">Specific variators. Types include mutators (m) and crossover (c),
classic (C) and heuristic (H).</p></caption><oasis:table frame="topbot"><?xmltex \begin{scaleboxenv}{.99}[.99]?><oasis:tgroup cols="4">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Variator</oasis:entry>
         <oasis:entry colname="col2">Abbreviation</oasis:entry>
         <oasis:entry colname="col3">Type</oasis:entry>
         <oasis:entry colname="col4">Description</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">random mutation</oasis:entry>
         <oasis:entry colname="col2">RM</oasis:entry>
         <oasis:entry colname="col3">mC</oasis:entry>
         <oasis:entry colname="col4">assign a random value within a prescribed range to a parameter or subdivision index</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M2" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> point crossover</oasis:entry>
         <oasis:entry colname="col2">NPC</oasis:entry>
         <oasis:entry colname="col3">cC</oasis:entry>
         <oasis:entry colname="col4">mix lists of decision variable (attribute/parameter) values</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">selection mutation</oasis:entry>
         <oasis:entry colname="col2">SeM</oasis:entry>
         <oasis:entry colname="col3">mC</oasis:entry>
         <oasis:entry colname="col4">random selection from a list of predefined values</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">flatiron mutation</oasis:entry>
         <oasis:entry colname="col2">FM</oasis:entry>
         <oasis:entry colname="col3">mH</oasis:entry>
         <oasis:entry colname="col4">give an object the same value as (or the minimum or maximum of) its neighbours</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4">on both sides, provided each side has only one neighbour</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">list proximity mutation</oasis:entry>
         <oasis:entry colname="col2">LPM</oasis:entry>
         <oasis:entry colname="col3">mH</oasis:entry>
         <oasis:entry colname="col4">random selection from <inline-formula><mml:math id="M3" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> nearest neighbour values in an ordered list of allowed values</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup><?xmltex \end{scaleboxenv}?></oasis:table></table-wrap>

<sec id="Ch1.S1" sec-type="intro">
  <title>Introduction</title>
      <p id="d1e256">Optimization techniques have been applied to the design (or more
specifically, the dimensioning) of water networks for decades (see Bieupoude
et al., 2012, and De Corte and Sörensen, 2013, for overviews). A widely
applied approach is that of genetic algorithms (GAs) (Holland, 1975;
Goldberg, 1989) and other members of the overarching family of evolutionary
algorithms (EAs) (Maier et al., 2014). Though the classic genetic algorithm
is very powerful, the various mechanisms of the genetic algorithm are
commonly expanded, replaced or combined with heuristic tricks or complete
heuristic algorithms to improve performance (as reviewed by e.g. El-Mihoub
et al., 2006). The algorithms which include these are commonly referred to
as hybrid genetic algorithms (HGAs) or memetic algorithms (MAs). An overview
of these approaches is summarized below. Following one of the approaches, a
selection of custom heuristic variators has been implemented in Gondwana, a
generic optimization tool for drinking water networks (van Thienen and
Vertommen, 2015). In this paper, these variators are described and it is
demonstrated how they contribute to significantly faster convergence in an
optimization problem case study.</p>
</sec>
<sec id="Ch1.S2">
  <title>Hybrid genetic algorithms</title>
      <p id="d1e265">A cornerstone of the HGA approach (Krasnogor and Smith, 2005; El-Mihoub et
al., 2006) is the observation that classic GAs are especially well suited for
quickly locating global optima in the solution space but subsequently have
difficulty converging to the optimum locally within a reasonable number of
iterations. To mitigate this, GAs are augmented with local search (LS)
methods. These are algorithms that iteratively modify a given solution
towards a predefined optimization criterion. LS methods find local optima
relatively quickly but are generally unable to escape this local optimum in
favour of a possibly different global optimum. The resulting HGA therefore
profits from the strengths of both techniques and yields better solutions.
El-Mihoub et al. (2006) identify the following general ways in which GA
capabilities can be expanded through hybridization:
<list list-type="order"><list-item>
      <p id="d1e270">A GA solution can be improved by running it through a LS method. This can be
done to improve the final solution of the GA. Alternatively, the LS
algorithm can be applied to refine intermediate solutions to promote the
representation of different promising areas of the solution space within the
population.</p></list-item><list-item>
      <?pagebreak page102?><p id="d1e274">The number of iterations that are needed to achieve convergence can be
reduced by replacing classic genetic operators with different ones to guide
the search through the solution space.</p></list-item><list-item>
      <p id="d1e278">Alternatively, system-specific knowledge can be used to modify the genetic
operators in such a way that they only result in viable solutions. This does
not guide the search but prevents time loss due to the evaluation of many
illegal solutions, which may arise from random variations in heavily
restricted GA problems.</p></list-item><list-item>
      <p id="d1e282">The population size needed to achieve convergence can be reduced by
dynamically controlling candidate selection with a LS method.</p></list-item><list-item>
      <p id="d1e286">System-specific knowledge can be used to construct a model to quickly
approximate the results of fitness functions that are expensive to
calculate, speeding up the evaluation of the GA objectives.</p></list-item></list>
It is worth noting that the possible resulting HGAs form a broad class of
algorithms and that individual HGAs might fall under categories
different from GA within the taxonomy of EA (Calegari et al., 1999).</p>
</sec>
<sec id="Ch1.S3">
  <title>Case study</title>
<sec id="Ch1.S3.SS1">
  <title>Problem-specific variators</title>
      <p id="d1e301">Within the field of water network design optimization, algorithms that guide
the GA to reduce the size of the search space is a specific challenge in
current research (Maier et al., 2014). Table 1 lists a collection of genetic
operators that was composed to tune a GA to the optimization of a least-cost
design (Alperovitz and Shamir, 1977; Savic and Walters, 1997). This type of
problem varies pipe diameters throughout the network in search of the
minimum network costs while achieving a minimum pressure at each node. In
addition to several classic GA variators (Holland, 1995; Goldberg, 1989), two
heuristic variators are used that were constructed with the goal of a least-cost design in mind. In terms of the classification of hybrid metaheuristics
by Talbi (2002), the resulting HGA is a low-level teamwork hybrid.</p>
      <p id="d1e304">The heuristic flatiron mutator was custom-made to enhance convergence
according to approach 2 in the list above. It guides the search past a type
of artefact that commonly occurs in intermediate solutions for the least-cost design problem. This artefact occurs when classic mutation causes a
larger diameter pipe to be surrounded by smaller diameter pipes, which is
hydraulically insensible. These artefacts can take a long time to disappear
through random mutation only. The flatiron mutator speeds up convergence by
“smoothing out” these artefacts as follows:
<list list-type="order"><list-item>
      <p id="d1e309">For the mutating pipe, obtain the neighbour IDs from a lookup table with
neighbouring pipes per pipe (it is worth noting that this lookup table is
created at the start of the optimization, thereby limiting its impact on
computation).</p></list-item><list-item>
      <p id="d1e313">If the pipe connects to exactly 1 or 2 neighbouring pipes, compare the
diameter of the mutating pipe to those of its neighbours.</p></list-item><list-item>
      <p id="d1e317">If the mutating diameter is larger than the diameter of all neighbours,
reduce it to the largest diameter among neighbours.</p></list-item></list>
The heuristic list proximity mutator enhances convergence according to
approach 3 in the list above. It is equivalent to the classic “creep
mutator” (Sivanandam and Deepa, 2007): it functions as the regular random
mutation of a single pipe diameter, except that the possible outcomes of the
mutation are limited to values close to the value prior to mutation. This
mutator is typically used because large deviations from the original
diameter are likely to cause hydraulically inviable solutions.</p>
      <p id="d1e321">In order to evaluate the influence of the developed problem-specific
variators, a series of tests was performed on a case study.</p>
</sec>
<sec id="Ch1.S3.SS2">
  <title>Case study network</title>
      <?pagebreak page103?><p id="d1e330">The case study consists in the design of part of the existing drinking water
distribution network of the Dutch village Sittard. The network has a total
length of 10.8 km and has 1000 connections, including connections to a
school, a residential building with 32 apartments and a care farm for mental
patients. The network is fed by a single reservoir and has a mean total
demand of 15 m<inline-formula><mml:math id="M4" display="inline"><mml:msup><mml:mi/><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:math></inline-formula> h<inline-formula><mml:math id="M5" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>.
The network is represented by an EPANET (Rossman,
2000) model consisting of 583 junctions, 491 pipes, 140 valves and 1
reservoir. The network is displayed in Fig. 1.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F1"><caption><p id="d1e356">EPANET model of the drinking water distribution network of Sittard
(Netherlands), consisting of 583 junctions, 491 pipes, 140 valves and 1
reservoir.</p></caption>
          <?xmltex \igopts{width=236.157874pt}?><graphic xlink:href="https://dwes.copernicus.org/articles/11/101/2018/dwes-11-101-2018-f01.png"/>

        </fig>

</sec>
<sec id="Ch1.S3.SS3">
  <title>Optimization</title>
      <p id="d1e371">For the design of the network, the minimization of the product between pipe
diameter and pipe length (surrogate for costs) was considered as the
objective, constrained by a minimum pressure at each node equal to 34 m.
The decision variables were the pipe diameters that could be chosen from the following:
0, 13.2, 21.2, 36, 42.6, 58.2, 66, 72.8, 87.3, 101.6, 130.8, 147.6, 163.6, 190, or 200 mm. A population of
100 individuals with an elitism rate of 15 % was used for each
optimization. Selection between candidates was achieved through tournament
selection with a tournament size of 2 and with the objective function – the
product of pipe length and diameter – as the performance criterion.</p>
</sec>
<sec id="Ch1.S3.SS4">
  <title>Tests</title>
      <p id="d1e380">A total of 16 tests were performed, wherein different rates for the specific
variators were considered in order to assess their influence on the network
design results. For each test, a total of <inline-formula><mml:math id="M6" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">5</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> function evaluations
and 10 runs were performed: each test was repeated 10 times in order
to assess the mean, standard deviation, best and worst results obtained for
each test. Table 2 provides an overview of the different tests, including
the considered variator values and obtained results. Tests 1 and 2 consist
of different rate combinations of the classical random mutation (RM) and
one-point crossover (NPC). The heuristic proximity mutation was added in
tests 3 to 8. Different rates for the heuristic flatiron mutation were
considered in tests 9 to 14. Tests 15 and 16 further explore the influence
of the one-point crossover on the performance of the algorithm.</p>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T2" specific-use="star"><caption><p id="d1e401">Problem-specific variator values considered in the different tests
and obtained results for 10 runs with <inline-formula><mml:math id="M7" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">5</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> function evaluations each. The
best results are indicated in bold.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="10">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right"/>
     <oasis:colspec colnum="8" colname="col8" align="right"/>
     <oasis:colspec colnum="9" colname="col9" align="right"/>
     <oasis:colspec colnum="10" colname="col10" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">Test</oasis:entry>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">Crossover</oasis:entry>
         <oasis:entry colname="col4">Random</oasis:entry>
         <oasis:entry colname="col5">Proximity</oasis:entry>
         <oasis:entry colname="col6">Flatiron</oasis:entry>
         <oasis:entry colname="col7">Mean</oasis:entry>
         <oasis:entry colname="col8">Std.</oasis:entry>
         <oasis:entry colname="col9">Best</oasis:entry>
         <oasis:entry colname="col10">Worst</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">rate (N)</oasis:entry>
         <oasis:entry colname="col4">Mutation (N)</oasis:entry>
         <oasis:entry colname="col5">mutation (H)</oasis:entry>
         <oasis:entry colname="col6">mutation (H)</oasis:entry>
         <oasis:entry colname="col7"/>
         <oasis:entry colname="col8"/>
         <oasis:entry colname="col9"/>
         <oasis:entry colname="col10"/>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">1</oasis:entry>
         <oasis:entry colname="col2">RMNPC1</oasis:entry>
         <oasis:entry colname="col3">0.9</oasis:entry>
         <oasis:entry colname="col4">0.1</oasis:entry>
         <oasis:entry colname="col5">0</oasis:entry>
         <oasis:entry colname="col6">0</oasis:entry>
         <oasis:entry colname="col7">1.12E<inline-formula><mml:math id="M8" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>06</oasis:entry>
         <oasis:entry colname="col8">2.76E<inline-formula><mml:math id="M9" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>04</oasis:entry>
         <oasis:entry colname="col9">1.07E<inline-formula><mml:math id="M10" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>06</oasis:entry>
         <oasis:entry colname="col10">1.17E<inline-formula><mml:math id="M11" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>06</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2</oasis:entry>
         <oasis:entry colname="col2">RMNPC2</oasis:entry>
         <oasis:entry colname="col3">0.95</oasis:entry>
         <oasis:entry colname="col4">0.05</oasis:entry>
         <oasis:entry colname="col5">0</oasis:entry>
         <oasis:entry colname="col6">0</oasis:entry>
         <oasis:entry colname="col7">8.80E<inline-formula><mml:math id="M12" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col8">4.75E<inline-formula><mml:math id="M13" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>04</oasis:entry>
         <oasis:entry colname="col9">8.18E<inline-formula><mml:math id="M14" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col10">9.70E<inline-formula><mml:math id="M15" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">3</oasis:entry>
         <oasis:entry colname="col2">LPM1</oasis:entry>
         <oasis:entry colname="col3">0.95</oasis:entry>
         <oasis:entry colname="col4">0.05</oasis:entry>
         <oasis:entry colname="col5">0.01</oasis:entry>
         <oasis:entry colname="col6">0</oasis:entry>
         <oasis:entry colname="col7">8.83E<inline-formula><mml:math id="M16" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col8">3.83E<inline-formula><mml:math id="M17" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>04</oasis:entry>
         <oasis:entry colname="col9">8.39E<inline-formula><mml:math id="M18" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col10">9.41E<inline-formula><mml:math id="M19" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">4</oasis:entry>
         <oasis:entry colname="col2">LPM2</oasis:entry>
         <oasis:entry colname="col3">0.95</oasis:entry>
         <oasis:entry colname="col4">0</oasis:entry>
         <oasis:entry colname="col5">0.01</oasis:entry>
         <oasis:entry colname="col6">0</oasis:entry>
         <oasis:entry colname="col7">5.94E<inline-formula><mml:math id="M20" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col8">1.99E<inline-formula><mml:math id="M21" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>04</oasis:entry>
         <oasis:entry colname="col9">5.57E<inline-formula><mml:math id="M22" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col10">6.23E<inline-formula><mml:math id="M23" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">5</oasis:entry>
         <oasis:entry colname="col2">LPM3</oasis:entry>
         <oasis:entry colname="col3">0.95</oasis:entry>
         <oasis:entry colname="col4">0</oasis:entry>
         <oasis:entry colname="col5">0.03</oasis:entry>
         <oasis:entry colname="col6">0</oasis:entry>
         <oasis:entry colname="col7">5.69E<inline-formula><mml:math id="M24" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col8">2.92E<inline-formula><mml:math id="M25" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>04</oasis:entry>
         <oasis:entry colname="col9">5.28E<inline-formula><mml:math id="M26" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col10">6.06E<inline-formula><mml:math id="M27" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">6</oasis:entry>
         <oasis:entry colname="col2">LPM4</oasis:entry>
         <oasis:entry colname="col3">0.95</oasis:entry>
         <oasis:entry colname="col4">0</oasis:entry>
         <oasis:entry colname="col5">0.05</oasis:entry>
         <oasis:entry colname="col6">0</oasis:entry>
         <oasis:entry colname="col7">5.69E<inline-formula><mml:math id="M28" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col8">2.30E<inline-formula><mml:math id="M29" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>04</oasis:entry>
         <oasis:entry colname="col9">5.27E<inline-formula><mml:math id="M30" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col10">6.05E<inline-formula><mml:math id="M31" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">7</oasis:entry>
         <oasis:entry colname="col2">LPM5</oasis:entry>
         <oasis:entry colname="col3">0.95</oasis:entry>
         <oasis:entry colname="col4">0</oasis:entry>
         <oasis:entry colname="col5">0.075</oasis:entry>
         <oasis:entry colname="col6">0</oasis:entry>
         <oasis:entry colname="col7">6.03E<inline-formula><mml:math id="M32" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col8">1.65E<inline-formula><mml:math id="M33" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>04</oasis:entry>
         <oasis:entry colname="col9">5.60E<inline-formula><mml:math id="M34" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col10">6.24E<inline-formula><mml:math id="M35" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">8</oasis:entry>
         <oasis:entry colname="col2">LPM6</oasis:entry>
         <oasis:entry colname="col3">0.95</oasis:entry>
         <oasis:entry colname="col4">0</oasis:entry>
         <oasis:entry colname="col5">0.1</oasis:entry>
         <oasis:entry colname="col6">0</oasis:entry>
         <oasis:entry colname="col7">6.10E<inline-formula><mml:math id="M36" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col8"><bold>1.57E+04</bold></oasis:entry>
         <oasis:entry colname="col9">5.91E<inline-formula><mml:math id="M37" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col10">6.43E<inline-formula><mml:math id="M38" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">9</oasis:entry>
         <oasis:entry colname="col2">FM1</oasis:entry>
         <oasis:entry colname="col3">0.95</oasis:entry>
         <oasis:entry colname="col4">0</oasis:entry>
         <oasis:entry colname="col5">0.05</oasis:entry>
         <oasis:entry colname="col6">0.1</oasis:entry>
         <oasis:entry colname="col7">5.76E<inline-formula><mml:math id="M39" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col8">2.49E<inline-formula><mml:math id="M40" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>04</oasis:entry>
         <oasis:entry colname="col9">5.43E<inline-formula><mml:math id="M41" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col10">6.13E<inline-formula><mml:math id="M42" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">10</oasis:entry>
         <oasis:entry colname="col2">FM2</oasis:entry>
         <oasis:entry colname="col3">0.95</oasis:entry>
         <oasis:entry colname="col4">0</oasis:entry>
         <oasis:entry colname="col5">0.05</oasis:entry>
         <oasis:entry colname="col6">0.9</oasis:entry>
         <oasis:entry colname="col7">5.60E<inline-formula><mml:math id="M43" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col8">3.11E<inline-formula><mml:math id="M44" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>04</oasis:entry>
         <oasis:entry colname="col9">5.16E<inline-formula><mml:math id="M45" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col10">6.05E<inline-formula><mml:math id="M46" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">11</oasis:entry>
         <oasis:entry colname="col2">FM3</oasis:entry>
         <oasis:entry colname="col3">0.95</oasis:entry>
         <oasis:entry colname="col4">0</oasis:entry>
         <oasis:entry colname="col5">0.05</oasis:entry>
         <oasis:entry colname="col6">0.5</oasis:entry>
         <oasis:entry colname="col7">5.62E<inline-formula><mml:math id="M47" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col8">1.97E<inline-formula><mml:math id="M48" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>04</oasis:entry>
         <oasis:entry colname="col9">5.37E<inline-formula><mml:math id="M49" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col10">6.07E<inline-formula><mml:math id="M50" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">12</oasis:entry>
         <oasis:entry colname="col2">FM4</oasis:entry>
         <oasis:entry colname="col3">0.95</oasis:entry>
         <oasis:entry colname="col4">0</oasis:entry>
         <oasis:entry colname="col5">0.05</oasis:entry>
         <oasis:entry colname="col6">0.95</oasis:entry>
         <oasis:entry colname="col7">5.63E<inline-formula><mml:math id="M51" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col8">2.55E<inline-formula><mml:math id="M52" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>04</oasis:entry>
         <oasis:entry colname="col9">5.28E<inline-formula><mml:math id="M53" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col10">6.12E<inline-formula><mml:math id="M54" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">13</oasis:entry>
         <oasis:entry colname="col2">FM5</oasis:entry>
         <oasis:entry colname="col3">0.95</oasis:entry>
         <oasis:entry colname="col4">0</oasis:entry>
         <oasis:entry colname="col5">0.05</oasis:entry>
         <oasis:entry colname="col6">0.7</oasis:entry>
         <oasis:entry colname="col7">5.62E<inline-formula><mml:math id="M55" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col8">2.88E<inline-formula><mml:math id="M56" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>04</oasis:entry>
         <oasis:entry colname="col9"><bold>5.11E+05</bold></oasis:entry>
         <oasis:entry colname="col10">6.05E<inline-formula><mml:math id="M57" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">14</oasis:entry>
         <oasis:entry colname="col2">FM6</oasis:entry>
         <oasis:entry colname="col3">0.95</oasis:entry>
         <oasis:entry colname="col4">0</oasis:entry>
         <oasis:entry colname="col5">0.05</oasis:entry>
         <oasis:entry colname="col6">0.8</oasis:entry>
         <oasis:entry colname="col7"><bold>5.53E+05</bold></oasis:entry>
         <oasis:entry colname="col8">2.64E<inline-formula><mml:math id="M58" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>04</oasis:entry>
         <oasis:entry colname="col9">5.14E<inline-formula><mml:math id="M59" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col10">6.17E<inline-formula><mml:math id="M60" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">15</oasis:entry>
         <oasis:entry colname="col2">NPCFM1</oasis:entry>
         <oasis:entry colname="col3">0.9</oasis:entry>
         <oasis:entry colname="col4">0</oasis:entry>
         <oasis:entry colname="col5">0.05</oasis:entry>
         <oasis:entry colname="col6">0.8</oasis:entry>
         <oasis:entry colname="col7">5.77E<inline-formula><mml:math id="M61" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col8">2.16E<inline-formula><mml:math id="M62" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>04</oasis:entry>
         <oasis:entry colname="col9">5.50E<inline-formula><mml:math id="M63" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col10">6.17E<inline-formula><mml:math id="M64" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">16</oasis:entry>
         <oasis:entry colname="col2">NPCFM2</oasis:entry>
         <oasis:entry colname="col3">0.8</oasis:entry>
         <oasis:entry colname="col4">0</oasis:entry>
         <oasis:entry colname="col5">0.05</oasis:entry>
         <oasis:entry colname="col6">0.8</oasis:entry>
         <oasis:entry colname="col7">5.59E<inline-formula><mml:math id="M65" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col8">2.46E<inline-formula><mml:math id="M66" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>04</oasis:entry>
         <oasis:entry colname="col9">4.97E<inline-formula><mml:math id="M67" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>05</oasis:entry>
         <oasis:entry colname="col10"><bold>5.93E+05</bold></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
</sec>
<sec id="Ch1.S4">
  <title>Results</title>
      <p id="d1e1491">From the obtained results (Table 2) it is clear that the consideration of
the heuristic flatiron mutation (FM) and proximity mutation (LPM)
significantly improved the obtained results for the optimization problem.
These results are graphically reported in Fig. 2.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F2"><caption><p id="d1e1496">Overview of the obtained results for the different tests.</p></caption>
        <?xmltex \igopts{width=236.157874pt}?><graphic xlink:href="https://dwes.copernicus.org/articles/11/101/2018/dwes-11-101-2018-f02.png"/>

      </fig>

      <p id="d1e1505">Considering only the naïve random mutation and one-point crossover, the
best results after <inline-formula><mml:math id="M68" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">5</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> function evaluations were achieved with a
mutation rate equal to 0.05 and a crossover rate equal to 0.95. In this case
the average objective function value was <inline-formula><mml:math id="M69" display="inline"><mml:mrow><mml:mn mathvariant="normal">8.8</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">5</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>. Adding a proximity
mutation does not improve the results, but considering only a proximity
mutation and no random mutation has a significant influence on the outcomes.
With only the proximity mutation, the best results after <inline-formula><mml:math id="M70" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">5</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> function
evaluations were achieved for a proximity mutation rate of 0.05. With this
value, the best results were achieved for the mean as well as the best and worst
values for the objective function. Figure 3a illustrates the influence of this
variator on the computed objective function values.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F3" specific-use="star"><caption><p id="d1e1556"><bold>(a)</bold> Influence of the proximity mutation rate on the obtained
objective function values in tests LPM2, LPM3, LPM4, LPM5 and LPM6.
<bold>(b)</bold> Influence of the flatiron mutation rate on the obtained objective function
values in tests FM1, FM2, FM3, FM4, FM5 and FM6.</p></caption>
        <?xmltex \igopts{width=398.338583pt}?><graphic xlink:href="https://dwes.copernicus.org/articles/11/101/2018/dwes-11-101-2018-f03.png"/>

      </fig>

      <p id="d1e1570">Adding a flatiron mutation further improved the obtained results. The best
results after <inline-formula><mml:math id="M71" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">5</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> function evaluations, on average, were obtained for
a combination of a crossover rate of 0.95, with a proximity mutation rate
equal to 0.05 and a flatiron mutation rate equal to 0.8. The best result
within one test was obtained for a slightly lower flatiron mutation rate,
equal to 0.7. Figure 3b illustrates the influence of this flatiron mutation
rate on the obtained objective function values.</p>
      <p id="d1e1588">The effect of the problem-specific variators can also clearly be seen on the
shape of the convergence curves. Figure 4 illustrates the mean, mean <inline-formula><mml:math id="M72" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>
standard deviation, and mean <inline-formula><mml:math id="M73" display="inline"><mml:mrow><mml:mo>±</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M74" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> standard deviation
convergence curves for tests<?pagebreak page104?> number 2 (RMNPC2) and 12 (FM4). The proximity
and flatiron mutations lead to smoother curves and a faster convergence. The
standard deviation between results of the different runs is also much lower,
which means that the results are more stable.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F4" specific-use="star"><caption><p id="d1e1617">Convergence curves (mean, first and second standard deviations of
10 runs) obtained for tests RMNPC2 and FM4. <bold>(a)</bold> One-point crossover,
proximity mutation and flatiron mutation (FM4). <bold>(b)</bold> Random mutation and
one-point crossover (RMNPC2).</p></caption>
        <?xmltex \igopts{width=426.791339pt}?><graphic xlink:href="https://dwes.copernicus.org/articles/11/101/2018/dwes-11-101-2018-f04.png"/>

      </fig>

</sec>
<sec id="Ch1.S5">
  <title>Discussion and conclusions</title>
      <p id="d1e1638">The results presented in this paper clearly illustrate the value of applying
heuristic, non-classical variators in drinking water distribution system
design optimizations using genetic algorithms. While the difference between
the test with random mutation and the other tests is especially noticeable
in Fig. 2, it is worth noting that the smaller differences between the other
individual tests indicate a significant difference in convergence as well.
In Fig. 4a, for instance, it can be seen that, in FM4, the average objective
function value of <inline-formula><mml:math id="M75" display="inline"><mml:mrow><mml:mn mathvariant="normal">6</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">5</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> was reached in around 700 generations, about
1.4 times faster than in LPM2, LPM5 and LMP6.</p>
      <p id="d1e1656">In the tests, the combination of a low rate for the proximity mutation with
a high rate of the flatiron mutation leads to the best results after
<inline-formula><mml:math id="M76" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">5</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> function evaluations (test numbers 13:FM5 and 14:FM6), i.e. the
fastest convergence. All tested combinations which include either the
flatiron or the proximity mutation exhibit a similar or worse performance.
Albeit slower, particularly stable results were obtained with the proximity
mutation (rate <inline-formula><mml:math id="M77" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.1) and no flatiron mutation. These runs show the smallest
standard deviation in the results after <inline-formula><mml:math id="M78" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">5</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> function evaluations.</p>
      <p id="d1e1696">In future research and consulting projects with Gondwana, this combination
of variators will be used in order to deal<?pagebreak page105?> with the computational challenges
of larger real-world networks.</p>
</sec>

      
      </body>
    <back><notes notes-type="dataavailability">

      <p id="d1e1703">The network model used here is the property of the Dutch utility WML and is therefore not made public.</p>
  </notes><notes notes-type="authorcontribution">

      <p id="d1e1709">KvL wrote the manuscript. IV carried out the comparison of optimization settings.
All authors took part in discussing and interpreting the findings.</p>
  </notes><notes notes-type="competinginterests">

      <p id="d1e1715">The authors declare that they have no conflict of interest.</p>
  </notes><ack><title>Acknowledgements</title><p id="d1e1721">The authors wish to thank Henk Vogelaar from Waterleiding Maatschappij
Limburg (WML) for providing the Sittard network model used in the
calculations.<?xmltex \hack{\newline}?><?xmltex \hack{\newline}?>
Edited by: Ran Shang<?xmltex \hack{\newline}?>
Reviewed by: two anonymous referees</p></ack><ref-list>
    <title>References</title>

      <ref id="bib1.bib1"><label>1</label><mixed-citation>
Alperovitz, E. and Shamir, U.: Design of Optimal Water Distribution
Systems, Water Resour. Res., 13, 885–900, 1977.</mixed-citation></ref>
      <ref id="bib1.bib2"><label>2</label><mixed-citation>
Bieupoude, P., Azoumah, Y., and Neveu, P.: Optimization of drinking water
distribution networks: Computer-based methods and constructal design, Comp.
Env. Urb. Sys., 36, 434–444, 2012.</mixed-citation></ref>
      <ref id="bib1.bib3"><label>3</label><mixed-citation>Calegari, P., Coray, G., Hertz, A., Kobler, D., and Kuonen, P.: A taxonomy
of evolutionary algorithms in combinatorial optimization, J. Heur., 5,
145–158, 1999.
 </mixed-citation></ref><?xmltex \hack{\newpage}?>
      <ref id="bib1.bib4"><label>4</label><mixed-citation>
De Corte, A. and Sörensen, K.: Optimisation of gravity-fed water
distribution network design: a critical review, Europ. J. of Oper. Res., 228,
1–10, 2013.</mixed-citation></ref>
      <ref id="bib1.bib5"><label>5</label><mixed-citation>
El-Mihoub, T. A., Hopgood, A. A., Nolle, L., and Battersby, A.: Hybrid Genetic Algorithms: A
Review, Eng. Let., 13, 124–137, 2006.</mixed-citation></ref>
      <ref id="bib1.bib6"><label>6</label><mixed-citation>
Goldberg, D. E.: Genetic Algorithms in Search, Optimization, and Machine
Learning, Addison-Wesley, ISBN: 0201157675, 1989.</mixed-citation></ref>
      <ref id="bib1.bib7"><label>7</label><mixed-citation>
Holland, J.: Adaptation in Natural and Artificial Systems, The University of
Michigan, Michigan, USA, 1975.</mixed-citation></ref>
      <ref id="bib1.bib8"><label>8</label><mixed-citation>
Krasnogor, N. and Smith, J.: A tutorial for competent memetic algorithms:
model, taxonomy and design issues, IEEE T. Evolut.
Comput., 9, 474–488, 2005.</mixed-citation></ref>
      <ref id="bib1.bib9"><label>9</label><mixed-citation>
Maier, H. R., Kapelan, Z., Kasprzyk, J., Kollat, J., Matott, L. S., Cunha, M. C.,
Dandy, G. C., Gibbs, M. S., Keedwell, E., Marchi, A., Ostfeld, A., Savic, D.,
Solomatine, D. P., Vrugt, J. A., Zecchin, A. C., Minsker, B. S., Barbour, E. J.,
Kuczera, G., Pasha, F., Castelletti, A., Giuliani, M., and Reed, P. M.: Evolutionary algorithms and other
metaheuristics in water resources: Current status, research challenges and
future directions, Environ. Model. Softw., 62, 271–299, 2014.</mixed-citation></ref>
      <ref id="bib1.bib10"><label>10</label><mixed-citation>
Rossman, L. A.: EPANET 2 User's Manual. United States Environmental
Protection Agency, Cincinnati, USA, 2000.</mixed-citation></ref>
      <ref id="bib1.bib11"><label>11</label><mixed-citation>
Savic, D. A. and Walters, G. A.: Genetic Algorithms for Least-Cost Design of
Water Distribution Networks, J. Wat. Res. Plan. Man., 123, 67–77, 1997.</mixed-citation></ref>
      <ref id="bib1.bib12"><label>12</label><mixed-citation>
Sivanandam, S. N., and Deepa, S. N.: Introduction to Genetic Algorithms,
Springer, ISBN: 9783540731894, 2007.</mixed-citation></ref>
      <ref id="bib1.bib13"><label>13</label><mixed-citation>
Talbi, E. G.: A Taxonomy of Hybrid Metaheuristics, J. Heur., 8, 541–564,
2002.</mixed-citation></ref>
      <ref id="bib1.bib14"><label>14</label><mixed-citation>
van Thienen, P. and Vertommen, I.: Gondwana: A Generic Optimization Tool
for Drinking Water Distribution Systems Design and Operation, Proc. Eng.,
119, 1212–1220, 2015.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>Technical note: Problem-specific variators in a genetic algorithm for the optimization of drinking water networks</article-title-html>
<abstract-html><p>Genetic algorithms can be a powerful tool for the automated design
of optimal drinking water distribution networks. Fast convergence of such
algorithms is a crucial factor for successful practical implementation at
the drinking water utility level. In this technical note, we therefore
investigate the performance of a suite of genetic variators that was
tailored to the optimization of a least-cost network design. Different
combinations of the variators are tested in terms of convergence rate and
the robustness of the results during optimization of the real-world drinking
water distribution network of Sittard, the Netherlands. The variator
configurations that reproducibly reach the furthest convergence after
10<sup>5</sup> function evaluations are reported. In the future these may aid in
dealing with the computational challenges of optimizing real-world networks.</p></abstract-html>
<ref-html id="bib1.bib1"><label>1</label><mixed-citation>
Alperovitz, E. and Shamir, U.: Design of Optimal Water Distribution
Systems, Water Resour. Res., 13, 885–900, 1977.
</mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>2</label><mixed-citation>
Bieupoude, P., Azoumah, Y., and Neveu, P.: Optimization of drinking water
distribution networks: Computer-based methods and constructal design, Comp.
Env. Urb. Sys., 36, 434–444, 2012.
</mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>3</label><mixed-citation>
Calegari, P., Coray, G., Hertz, A., Kobler, D., and Kuonen, P.: A taxonomy
of evolutionary algorithms in combinatorial optimization, J. Heur., 5,
145–158, 1999.

</mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>4</label><mixed-citation>
De Corte, A. and Sörensen, K.: Optimisation of gravity-fed water
distribution network design: a critical review, Europ. J. of Oper. Res., 228,
1–10, 2013.
</mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>5</label><mixed-citation>
El-Mihoub, T. A., Hopgood, A. A., Nolle, L., and Battersby, A.: Hybrid Genetic Algorithms: A
Review, Eng. Let., 13, 124–137, 2006.
</mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>6</label><mixed-citation>
Goldberg, D. E.: Genetic Algorithms in Search, Optimization, and Machine
Learning, Addison-Wesley, ISBN: 0201157675, 1989.
</mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>7</label><mixed-citation>
Holland, J.: Adaptation in Natural and Artificial Systems, The University of
Michigan, Michigan, USA, 1975.
</mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>8</label><mixed-citation>
Krasnogor, N. and Smith, J.: A tutorial for competent memetic algorithms:
model, taxonomy and design issues, IEEE T. Evolut.
Comput., 9, 474–488, 2005.
</mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>9</label><mixed-citation>
Maier, H. R., Kapelan, Z., Kasprzyk, J., Kollat, J., Matott, L. S., Cunha, M. C.,
Dandy, G. C., Gibbs, M. S., Keedwell, E., Marchi, A., Ostfeld, A., Savic, D.,
Solomatine, D. P., Vrugt, J. A., Zecchin, A. C., Minsker, B. S., Barbour, E. J.,
Kuczera, G., Pasha, F., Castelletti, A., Giuliani, M., and Reed, P. M.: Evolutionary algorithms and other
metaheuristics in water resources: Current status, research challenges and
future directions, Environ. Model. Softw., 62, 271–299, 2014.
</mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>10</label><mixed-citation>
Rossman, L. A.: EPANET 2 User's Manual. United States Environmental
Protection Agency, Cincinnati, USA, 2000.
</mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>11</label><mixed-citation>
Savic, D. A. and Walters, G. A.: Genetic Algorithms for Least-Cost Design of
Water Distribution Networks, J. Wat. Res. Plan. Man., 123, 67–77, 1997.
</mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>12</label><mixed-citation>
Sivanandam, S. N., and Deepa, S. N.: Introduction to Genetic Algorithms,
Springer, ISBN: 9783540731894, 2007.
</mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>13</label><mixed-citation>
Talbi, E. G.: A Taxonomy of Hybrid Metaheuristics, J. Heur., 8, 541–564,
2002.
</mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>14</label><mixed-citation>
van Thienen, P. and Vertommen, I.: Gondwana: A Generic Optimization Tool
for Drinking Water Distribution Systems Design and Operation, Proc. Eng.,
119, 1212–1220, 2015.
</mixed-citation></ref-html>--></article>
