LACHI Hacene
LACHI Hacene
LACHI Hacene
Présenté par
LACHI HACENE
M. Olivier. Narbey
Dirigé par :
Pr.N.Dechemi
M.Olivier.Narbey
Je témoigne ma reconnaissance
« ma défunte mère ».
elle demeurera
éternellement.
Lachi hacéne
Remerciement
Je tiens à remercier :
LACHI HACENE.
Résumé :
Les fuites représentent une importante portion de l’eau non génératrices de revenues pour
un system de distribution d’eau .leurs gestion est un critères de performances pour les services
concernés du pays .le travail qui nous a été proposer par la SEAAL consiste en la proposition
d’une approche qui nous permet de prévoir l’emplacement des fuites dans réseau de distribution
cette approche est basée sur les méthodes d’optimisation stochastiques et sur la modélisations
du réseau de distribution sous Epanet .ceci est dans le but de minimiser l’espaces de recherche
donc un gain de temps de recherche ,d’argents et une rapidité d’intervention.
Afin de concrétiser cette technique nous avons élaboré un programme basique sous Matlab
qui estime l’emplacement des ces fuites.
Abstract:
The flights represent significant a portion of the non generating water of income for a
system of distribution of water their control is criteria of performances for the services concerned
of the country the work which was proposed by the SEAAL consists in the proposition of an
approach which enables us to envisage the site of the escapes in distribution network this
approach is based on the stochastic methods of optimization and on modeling of the distribution
network under Epanet .the object is minimizing spaces of research consequently a saving time
of research, moneys and a speed intervention.
In order, to concretize this technique we worked out a basic program der Matlab which
estimates the site of these flights.
Key Word : flight, network, modeling, Epanet, detection, program.
:المــلخـــص
و حسٍٍزها دنٍم نجىدة،إنّ حسزباث انمٍاي حمثم كمٍت معخبزة مه انمٍاي انمىسعت بغٍز مدخىل بانىسبت نىظاو انخىسٌع
.خدماث انمصانخ انمعىٍت و انبالد
ٌخمذىر فً اقخزاح طزٌقت نخىبئ إنى مىاقع هذي انخزسباث فً شبكت حىسٌعSAAL انعمم انذي اقخزح عهٍىا مه طزف
. هذي انطزٌقت انمقخزدت مبىٍت عهى انطزق انمٍخاهزوسخٍك و طزٌقت حىمٍط شبكاث حىسٌع انمٍاي،انمٍاي
ً انمصارٌف و ف، انهدف مه هذا انعمم حقهٍص رقعت انبذث عه هذي انخزسباث و بانخانً وصم إنى ربخ فً انىقج
سزعت انخدخالث
.نهىصىل إنى هدفىا قمىا بإعداد "بزمجت" نمذاونت إٌجاد مىاقع انخزسباث
Conclusion………………………………………………………………64
Figure I.5 : Schéma (nœuds de vanne) d’une vanne à cheval sur réseau
pvc…………………14
Figure III.9. Programmer une fonction objective réelle sous MATLAB……. ……………….45
Figure IV.1 Plan de situation de l'étage Moudjahidine……………………………………48
après calage……………………………………………………………………..63
Tableau VI.1 Les constante correspondant à chaque paramètre d’nœud et leurs codes…….72
Tableau VI.2. Constante correspondant à chaque paramètre d’un arc et leurs codes…….…72
Introduction générale.
Parmi les défis que la SEAAL a lancé, est le passage à une alimentation H24 après une
pénurie qui a frappé la ville d’Alger où les citoyens attendaient l’arrivée de l’eau avec
impatience.
Nous commencerons par présenter, dans le chapitre I (sous forme de généralités) les points
essentiels à connaître pour réussir à se rapprocher du domaine de la distribution de l’eau potable.
Cette présentation constitue des descriptions ainsi que des définitions intervenant dans le bon
dimensionnement et la gestion des réseaux d’eau potable.
Nous avons fait abstraction sur les ENF afin de découvrir les différents types de fuite ou des
pertes dans le chapitre II ainsi nous définissons certains indices qui peuvent nous renseigner sur
la performance du réseau.
Dans le chapitre III nous allons faire la connaissance avec la méthode des algorithmes
génétiques où nous allons présenter leurs bases, leurs fonctionnements ainsi que leurs domaines
d’utilisation en générale et dans le domaine de l’eau en particulier.
Les essais effectués sur le programme et l’interprétation des résultats sont mentionnés dans
le chapitre VI.
Les perspectives et critique éventuelles qui peuvent être faites sur ce travail nous les
trouverons regroupées dans la conclusion générale.
Chapitre I
Les réseaux de distribution.
I.3. Généralités :
À partir d’un ou de plusieurs réservoirs, l'eau est distribuée dans un réseau de canalisations
sur lesquelles les branchements seront piqués en vue de l'alimentation des abonnés.
Pour que les performances d'un réseau de distribution soient satisfaisantes, ce réseau doit être
en mesure de fournir, à des pressions compatibles avec les hauteurs des immeubles, les débits et
les volumes d'eau requis, et ce en tout temps lors de la durée de sa vie utile.
C'est pourquoi lors de la conception d'un réseau, il est important d'identifier et prendre en
compte les situations les plus critiques afin que le réseau dans de telles situations se comporte de
façon satisfaisante.
I.3.1. Débits :
Les conduites devront pouvoir transiter des plus forts débits instantanés en tenant compte du
débit de point.
I.3.4. Pression :
Le réseau doit être calculé pour satisfaire, notamment aux conditions de pressions
suivantes :
Une charge minimale de 3.00 m doit être prévue sur les orifices de puisage les plus
élevés (5.00m dans le cas de chauffe-eau instantané).
En vue de la bonne tenue des canalisations et, notamment, de leur joint, il y’a lieu
d’éviter en ville seulement les pressions supérieures à 40 m qui risque d’apporter des
désordres (fuites notamment) et certains bruits dans les installations d’abonnés.
A titre indicatifs selon la hauteur des immeubles, on prévoit les pressions maximales suivantes,
au sol, exprimées en mètres d’eau :
12 à 15 m 1etage
16 à19 m 2 étages
20à 23 m 3 étages
24 à 27 m 4 étages
29 à 32 m 5 étages
33 à 36 m 6 étages
37 à 40 m 7 étages
Tableau I.1. Correspondance entre les hauteurs des immeubles et les pressions max
Remarque :
En ce qui concerne les immeubles plus élevés, leurs propriétaires se trouvent dans
l’obligation d’installer dans le sous sols des groupes sur presseurs.
I.3.5. Condition spéciale d’incendie :
C’est des dispositifs mis en place pour lutter contre les incendies.
Les canalisations qui alimentent les appareils devront fournir un débit de 17 l/s sous une
pression d’au moins 1 bar au sol. Toutefois, exceptionnellement cette pression peut descendre
jusqu'à 0.600 bars.
Les appareils hydrauliques utilises par les pompiers sont, soit des bouches d’incendie, soit
des poteaux d’incendie visible mieux, à l’hiver, par temps de neige.
Ces appareils doivent être espacés de 200 à 300 m les uns des autres et être repartis suivant
l’importance des risques à défendre. Si le risque est faible, l’écartement pourra être porté à
400m. L’appareil normalisé est la bouche de 100 mm. Dans certaines grandes villes, où les
pompiers disposent d’engins à grande puissance, des bouches d’incendie de 150 mm pourront
être prévues à proximité de risque important.
Ces bouches seront installées sur des canalisations maitresse d’un débit en rapport avec
l’engin.
La condition d’incendie (17 l/s à 1 bar) est souvent difficile à satisfaire dans les petites
installations et oblige parfois à prévoir des diamètres surabondants pour les besoins normaux. En
conséquence, la vitesse de l’eau en distribution normale, risque d’être faible dans certains
tronçons.
Dans les petites agglomérations, on peut éviter d’avoir recours directement au réseau en
utilisant :
Soit des points d’eau naturels (cours d’eaux, mares, étangs) : à conditions, toutefois,
que les débits nécessaires puissent en être extraits en toute saison, que ces points d’eau
soient situés à 400 m au maximum des risques à défendre et qu’en plus la hauteur
d’aspiration soit inférieur a 6m. L’accès doit, en outre, faire l’objet d’un aménagement en
accord avec le sapeur-pompier.
Soit des points d’eau artificiel :en des emplacement judicieusement choisis de façons à
assurer une défense suffisamment convaincante contre un risque situé dans un rayon de
400m.la capacité de cette réserve doit être d’au moins 120 m3 (c’est le débit 17 l/s
pendant 2h).son installation peut parfois présenter quelques difficultés étant donné ses
dimensions. elle peut être envisagée par exemple. sous une place publique.
Remarque :
Pour le calcule du réseau de distribution, les débits ne se cumulent pas avec les débits
normaux de distribution.il est considéré, qu’en cas de sinistre, la distribution peut
momentanément, être affecté par tirage exceptionnel.
dans les conduites avec « bouts morts » (sans branchement et sans « bouclage »).
sur les tronçons de raccordement des Poteaux d’incendie (PI).
Les deux grands principes de ces études sont d’une part une méthode dite unitaire (on
estime les besoins à partir de ratios unitaires), soit une méthode statistique qui consiste à
étudier l’évolution des besoins sur une période minimale de 4 à 5 ans. Cette dernière
méthode est la plus fiable. Elle permet de faire une prospective à moyen et long terme en
tenant compte des prévisions d’urbanisation et de déterminer différents coefficients selon la
disposition des données plus ou moins fines.
Si la pression au point de distribution est < à 2 b ~ 2,5 b (0,2 Mpa ~ 0,25 Mpa) : risque de
manque de pression => plainte des abonnés, car certains appareils du type chaudière à
gaz risquent de ne pas fonctionner normalement.
Si la pression au point de distribution est > 6 b : pression trop importante d’où risque de
rupture des installations individuelles. Dans ce cas il y à lieu de mettre en place des
protections.
Soit des réducteurs individuels sur les branchements si on doit conserver la pression sur
le réseau (par exemple pour alimenter des points haut en aval).
Soit des réducteurs sur la conduite principale quand on n’est pas dans la situation ci-
dessus.
D’où la nécessité d’avoir une connaissance globale sur le réseau de distribution.
Les limites de pression maximales admissibles sont aussi fonction de la qualité des
réseaux existants sur lesquels on va se raccorder. Dans le cas d’un réseau ancien fragilisé :
toute augmentation de la pression de service risque d’entrainer des casses.
I.4.3. Conception :
I.4.3.1. Coefficient de pointe (facteurs de pointe de débit) :
N.B : La norme donne un coefficient de 1,5. Cela peut sembler faible pour certains
secteurs : coefficient. 2 quand les comportements sont très marqués.
la norme donne un coefficient. pouvant atteindre 5 pour les petites collectivités (<
2 000 hab.). Cela semble trop fort.
Conseil : Faire l’approche avec la formule de Tribut (qui calcule un débit de pointe) et
avec celle de l’assainissement. Dans le cas de 2 000 hab., les coefficients obtenus dans ces
conditions sont respectivement de 3,5 et 2,8 .En règle générale pour les petits nombres
d’abonnés la formule de Tribut donne des résultats assez forts. On reste néanmoins en
dessous de 5. La prudence Conseille d’adopter une valeur médiane de 3 pour 2 000 hab.
En un mot:
Sur un réseau de distribution la vitesse doit être < à 0,8 ~ 1 m/s pour que les
branchements soient correctement alimentés. Au-delà de 1 m/s il y a un effet «
d’aspiration » dans la conduite de branchement et l’usager n’obtient pas la pression
disponible dans la canalisation principale. C’est du à un effet de paroi dans la conduite de
distribution qui est d’autant plus important que le Ø du branchement est faible
(branchement de 20 mm).
De 50 mm :30 habitants ;
De 80 mm :100 habitants ;
De 100 mm :250 habitants.
Les valeurs ci-dessus sont trop faibles : Il faut considérer que c’est le nombre maximum
d’abonnés admissible (en moyenne 1 ab = 2.5 hab.).
Dans certains ouvrages et en plus des deux types des réseaux cités auparavant deux
autres types sont à mentionné à savoir :
Les calculs de réseaux ramifiés peuvent être conduits facilement sous forme de
tableaux de calculs car on est sur des pertes de charges de « conduites en séries ».
Par contre les calculs des réseaux fortement maillés présentent un travail d’une
difficulté assez importante, on présentera ci-dessous les méthodes de dimensionnement
des réseaux maillés.
Le réseau maillé permet, au contraire, une alimentation en retour (Fig. I.2), donc
d’obéir à l’inconvénient signalé ci-dessus.une simple manœuvre de robinet permet
d’isoler le tronçon accidenté et de poursuivre néanmoins l’alimentation des abonnés
d’aval.il est, bien entendu, plus couteux d’établissement, mais en raison de la sécurité
qu’il procure, il doit être toujours préféré aux réseaux ramifié.
Avec le réseau étagé, il est possible, de constituer des réseaux indépendants avec une
pression limitée aux environs de 40 mètres d’eau.
Les réseaux d’alimentations distincts :
𝜀𝑁 𝑄𝑁 = 0
𝜀𝑀 ℎ𝑀 = 0
Le débit est relié a la perte de charge par une relation de type ℎ𝑅𝑄 𝑛 ou R,n
dépendent de la loi d’écoulement choisie (DARCY,Hazen Williams).
c) Méthode de calcule :
Elle consiste à écrire au moyen de la loi des nœuds ou de la loi des mailles un
nombre d’équations équivalents au nombre d’inconnues choisies. On peut choisir
de déterminer soit les débits Q dans les conduites, les pertes de charge h ou bien
les charges H aux niveaux des nœuds, dés que l’un des ensembles est déterminé
on peut facilement en déduire les autres grâce aux relations qui lient le débit a la
perte de charge.
Le caractère de non linéarité de ces relations est responsable du non linéarité du
système à résoudre. Pour le résoudre il faut donc liniariser le système, ce qui
conduit a une solution approximative, on procède alors par itération pour
améliorer la solution afin qu’elle se stabilise avec un certain degré de précision.
𝜀𝑁 𝑄0,𝑁 = 0
𝑁=𝑖,𝑗 ,..𝑘
En introduisant ℎ0 = 𝑅𝑄0𝑛
𝑛
𝑀=𝑖,𝑗 ,..𝑘 𝜀𝑀 𝑅𝑀 𝑄0,𝑀
∆𝑄 = − 𝑛
𝑀=𝑖,𝑗 ,..𝑘 𝑛 𝑅𝑀 𝑄0,𝑀
Convention de signe : 𝜀𝑀 est positif lorsque le débit est dans le sens de parcoure de la
maille.
Cette méthode diffère de la méthode précédente par son point de départ. On choisit plutôt
les pertes de charge h comme inconnues.les principales étapes sont :
Choix de h0 en respectant
𝜀𝑀 ℎ0,𝑀 = 0 dans chaque maille.
1 1
Calcule des 𝑄0 correspondant a 𝑄 = 1 ℎ 𝑛 = 𝑘ℎ𝑚
𝑅 𝑛
Il est claire qu’a cause du nombre important de calcule qu’on aura à faire lors du
dimensionnement des réseaux maillés et grâce a l’évolution de l’informatique il est
préférable voir nécessaire d’utiliser un logiciel de modélisation hydraulique.
PORTEAU (CEMAGREF) ;
PICCOLO (SAFEGE) ;
EPANET (Logiciel libre).
I.4.3.7. Calculs de Resistance mécanique des conduites :
Sous l’effet des actions :
A retenir :
Compte tenu que certaines conduites et surtout les feeders sont susceptibles
de transiter de l’eau dans les 2 sens, selon les besoins; il faut prévoir une pente
minimale de 5 mm/m. (pour mémoire le fascicule 71 impose une pente
minimale de 4 mm/m).
Vanne papillon : pour les réseaux de Ø > = à 250 ~ 300 mm : posée sous regard.
Au-delà d’un certain diamètre avec des pressions élevées les RV à opercule ne
sont pas manœuvrables.
Emplacement des RV :
Au départ de chaque antenne (sur le Té de raccordement), sur le réseau existant selon
le sens de circulation de l’eau, et sur réseau : « vanne à cheval » :
Au départ d’antenne : pour assurer une sectorisation du réseau afin de limiter les
secteurs coupés pendant des travaux :
Figure I.5.schéma (nœuds de vanne) d’une vanne à cheval sur réseau pvc.
I.4.3.9.2. Ventouse :
Permet l’évacuation de l’air (dégazage dans les réseaux sous l’effet des variations de
pression) accumulé au point haut, dans le cas contraire cela entraine une perte de pression
et une limitation du débit transité. Autres fonctions : assurer l’évacuation d’air à gros
débit lors du remplissage de la conduite et l’entrée d’air lors de la vidange. Appareils à
poser sous regard pour en assurer l’entretien périodique.
Ventouse double fonction : Ø 40, 60 ou 80 mm, pour les réseaux jusqu’à 200 mm
environ ;
Ventouse triple fonction : Ø 60, 80 ou 100 mm, pour les gros réseaux.
1 ventouse, 2 joints souples (sur PVC ou BE sur fonte) à compter (au bordereau §
robinetterie, fontainerie, accessoires), 1 regard (au bordereau § maçonnerie-ouvrages-
travaux spéciaux) ;
I.4.3.9.3. Vidange :
Placée au point bas, permet de vidanger la conduite pour les interventions sur le réseau
(pour les travaux et purge des conduites pour évacuer les dépôts de matières en
suspension).
Différents types de vidanges :
vidange pour conduite au-delà de 150 mm et jusqu’à 250 mm, constituée des
différentes pièces à compter à l’unité : Té et pièces de raccord, RV, regard ;
Figure I.11. Schéma d’une vidange pour conduite au-delà de 150 mm et jusqu’à 250 mm.
vidange pour conduite de gros Ø (à partir de 300 mm), constituée des différentes
pièces à compter à l’unité : Té et pièces de raccord, RV monté sur plaque pleine
taraudée en partie inférieure, regard.
Figure I.12. Schéma d’une vidange pour conduite de gros Ø.
Les compteurs :
Sont soit destinés à la vente d’eau (à une autre collectivité), soit à la sectorisation
(afin de disposer de données de consommation par secteurs et permettant d’effectuer des
comptages de nuit pour détecter les fuites sur réseau).
Une ligne de comptage doit être équipée pour protéger le compteur : mise en place
d’une boite à crépine (ou boite à boue) et dimensionnée pour que la mesure soit
précise : soit respect des longueurs droites en amont, soit mise en place d’un
stabilisateur d’écoulement.
Equipment type : pièces de raccordement, manchettes à sceller, RV, boite à boue,
cône convergent, micro-ventouse, stabilisateur d’écoulement, compteur, cône
divergent.
Les dimensions du regard sont à adapter à l’encombrement des différents
équipements.
Pour mémoire les différents types de compteurs :
Les appareils de régulation permettent d’assurer la fourniture d’eau à l’usager dans une
plage de pression acceptable telle que définie dans la littérature (2,5 à 6 bars) et
d’interconnecter entre eux différents secteurs de distribution afin d’assurer une sécurité
de la distribution.
La complexité des réseaux entraîne une multiplicité des équipements de régulation.
Les principaux sont les suivants :
Auto stabilisateur aval : régule la pression aval de façon à lui donner une valeur
constante, selon une valeur de consigne, quelle que soit la pression amont (sauf
si elle est insuffisante) et à la précision de l’appareil (de l’ordre de 0,3 à 0, 5
bar selon la qualité de fabrication et le savoir faire du fabricant)
Auto stabilisateur amont : même principe de fonctionnement, mais c’est la
consigne de pression amont qui est prioritaire ;
Auto stabilisateur amont-aval : les consignes de pression aval et amont sont
assurées au détriment du débit ;
Limiteur de débit : surtout mis en place sur les conduites d’adduction pour
l’alimentation d’ouvrages, sur des réseaux secondaires ou sur l’alimentation de
PI raccordés sur des réseaux où la pression est importante ;
Robinet de réservoir : permet l’alimentation d’un réservoir à partir de 2
niveaux de consigne : ouverture à un niveau bas et fermeture au niveau haut
Soupape de décharge : permet d’écrêter une surpression sur réseau, à la
fermeture d’une vanne et/ou d’un appareil de régulation, mais ne remplace pas
une protection anti-bélier ;
Les réseaux n’ont pas pour vocation d’assurer la défense incendie. Quand celle-ci ne
nuit pas à leur fonctionnement, les poteaux d’incendie doivent être conformes aux normes Selon
la réglementation le débit minimum à assurer est de 60 m3/h sous 1 bar, pendant 2 h.
Conclusion
II.3. Introduction :
Les fuites est une quantité assez importante d’eau non génératrice de revenus, donc nuit a la
bonne gestion de l’eau dont s’occupe les services publique de l’eau et représente une male
exploitation de la ressource. Dés lors leur gestion (les fuites) renseigne sur la fiabilité des
services de l’eau.
Au Royaume-Uni les objectifs en termes de fuites sont un élément clé mesuré dans les
performances des services publique de l’eau ; de servers pénalités financières étant encourus si
les objectifs ne sont pas atteints.
Système de
Eau produite distribution Eau
factur
ée
Eau non
facturée
Eau non génératrice
De revenus
Alors toute tentative ciblant à réduire ces eaux (ENF) aura comme résultats directe une
augmentation du volume facturé et donc une réduction des pertes et des fuites du système de
distribution.
Plus le taux des ENF est faible, plus on peut considérer que le système est correctement géré.
Toute fuite ou perte sur un réseau de distribution sera à l’ origine des eaux facturée.
Les pertes physiques : correspondent à l’eau produite mais non utilisée, il s’agit donc
d’une perte de ressource.
Les pertes commerciales : correspondent à l’eau utilisée.
Les branchements :
Les conduites de branchement véhiculent de l’eau potable pour alimenter un
abonné individuel ou collectif a partir d’une conduite de distribution.
Leur origine est la prise sur la conduite de distribution, leur extrémité est le raccord
avec le point de livraison, qui est l’emplacement ou est délivrée l’eau potable a
l’abonné.
Le terme branchement désigne l’ouvrage qui conduit de distribution à l’installation
propre a l’abonné.
Elles concernent les mêmes éléments du réseau que pour les fuites visibles (adduction,
conduites de distribution, branchements).
Elles sont surtout liées a des problèmes de gestion par l’operateur et a des problèmes lies
aux consommateurs.
On présente ci- dessous un tableau récapitulatif des eaux non factures avec les différents
types de pertes et de fuites. (Tableau établi par l’IWA : internationale water association).
Vente en gros
fraudes
fuites visibles
Il existe des indicateurs qui peuvent nous fournir des informations, de nous renseigné sur les
pertes dans un réseau de distribution, à savoir le rendement du réseau et l’indice linéaire des
pertes.
C’est le rendement net ou technique il tient compte de la totalité de l’eau utilisé avec
celle introduite dans le réseau.
Vconsommés comptabilisé
rendement primaire = × 100
Vconsommé mis en distribution
Ce rendement ne tient pas compte des volumes
utilisés non comptabilisés.
La qualité du réseau.
Son bon fonctionnement.
L’efficacité de la distribution.
1°) Tous les volumes utiles à l’établissement du rendement doivent couvrir une
même période correspondant à la durée entre 2 relèves de compteur.
La valeur du rendement bien qu’intéressante n’est donc pas suffisante pour apprécier
avec justesse l’état du réseau.
plans de recollement
Carnets de vannage.
Synoptique de réseau.
Enquêtes de terrain.
Matériels de détection.
Sondages.
II.4.3.4. Sectorisation :
C’est la subdivision du réseau en 2 ou plusieurs secteurs.
Objectifs:
Vieillissement de la tuyauterie,
Conditions de pose des canalisations,
Nature du terrain,
Qualité de l’eau,
Conditions de fonctionnement du réseau.
Facteurs externes
Densité des raccordements et des équipes.
Conclusion
Les pertes d’eau et les fuites sont d’une extrême importance, leur gestion un critère de
performances pour les services concernés.
L’existence des fuites dans un réseau de distribution quelconque est synonyme de perte de
ressource et d’argent puisque leur apparition a comme conséquence :
III.8. Introduction :
Les Algorithmes génétiques sont des algorithmes et évolutionnaires d’optimisation
stochastique, fondés sur la sélection naturelle et la génétique leur fonctionnement est assez
simple, on démarre d’une population de solutions potentiels (chromosomes) choisies
arbitrairement, on évalue leur performances (fitness) relatives et sur la base de ces
performances on crée une nouvelle population de solution potentiels en utilisant des
operateurs évolutionnaires a savoir : la sélection, le croisement et la mutation on
recommence le processus jusqu'à ce que l’on trouve une solution satisfaisante.
III.9. Historique :
C'est en 1860 que Charles Darwin publie son livre intitulé L'origine des espèces au
moyen de la sélection naturelle ou la lutte pour l'existence dans la nature. Dans ce livre,
Darwin rejette l'existence «de systèmes naturels figés», déjà adaptés pour toujours à toutes
les conditions extérieures, et expose sa théorie de l'évolution des espèces : sous l'influence
des contraintes extérieurs, les êtres vivants se sont graduellement adaptés à leur milieu
naturel au travers de processus de reproductions.
Darwin proposa une théorie qui clarifie l’évolution des espèces en mettant en avant quatre
lois :
C'est alors à partir du 20ème siècle que la mutation génétique a été mise en évidence.
Les problèmes de traitement de l'information sont résolus de manières figés : lors de sa
phase de conception, le système reçoit toutes les caractéristiques nécessaires pour les
conditions d'exploitations connues au moment de sa conception, ce qui empêche une
adaptation à des conditions d'environnement inconnues, variables ou évolutives. Les
chercheurs en informatique étudient donc des méthodes pour permettre aux systèmes
d'évoluer spontanément en fonction de nouvelles conditions: c'est l'émergence de la
programmation évolutionnaire.
Dans les années 1960, John Holland étudie les systèmes évolutifs et, en 1975, il introduit
le premier modèle formel des algorithmes génétiques (the canonical genetic algorithm
AGC) dans son livre Adaptation in Natural and Artificial Systems.
Il expliqua comment ajouter de l'intelligence dans un programme informatique avec les
croisements (échangeant le matériel génétique) et la mutation (source de la diversité
génétique). Ce modèle servira de base aux recherches ultérieures et sera plus
particulièrement repris par Goldberg qui publiera en 1989, un ouvrage de vulgarisation des
algorithmes génétiques, et ajouta à la théorie des algorithmes génétiques les idées suivantes :
D’après LERMAN et NGOUENET (1995) un algorithme génétique n’est défini que par :
III.10.1. Définitions :
Chaque paramètre d’une solution est assimilé à un gène, toutes les valeurs qu’il peut
prendre sont les allèles de ce gène. On doit trouver une manière de coder chaque allèle
différent de façon unique (établir une bijection entre l’allèle réel et se représentation
codée).
Un chromosome est une suite de gène, on peut par exemple choisir de regrouper les
paramètres similaires dans un même chromosome (chromosome a un seul brin) et chaque
gène sera repérable par sa position : son locus sur le chromosome en question.
Locus Allèle
1 1 0 1 0 1 1 1
Chromosome
Fonction de coût ou « fitness »
Evaluation
Sélection
Si Oui
Solution optimum
Initialisation : Dans cette phase les (AG) générant une population de N solutions
potentielles (chromosomes) d’une manière aléatoire.
Evaluation : C’est l’évaluation de chaque individu par le calcule de leur fitness.
Sélection : Création d’une nouvelle génération de N chromosomes en utilisant l’une
des méthodes appropriées.
Reproduction : Possibilité de croisement et de mutation au sein de la nouvelle
population.
Retour : Retour a la phase d’évaluation jusqu'à l’arrêt de l’algorithme.
III.10.3. Description détaillé
Pour bien assimiler le principe de fonctionnement des (AGs), voyons plus en détail les
différentes phases de leur processus.
NB : considérons dans tout ce qui vient que le codage est binaire, on entamera ensuite le codage
réel dans le paragraphe (…)
𝒙=𝒅 𝑨 = 𝒂𝒊 𝟐𝒍−𝒊−𝟏
𝒊=𝟏
𝒙=𝒅 𝑨 = 𝒂𝒊 𝟐−𝒊−𝟏
𝒊=𝟏
Pour une précision au cinquième chiffre après la virgule nous prenons alors « l = 16 »
puisque « d ({1,…, 1,…,1}) = 0.999992 » 1.
16
131071
Avec l=16 nous 217 -1 =131071 et d ({1,…, 1,…,1}) =131071 = 1. La précision est
16
2
Vérifiée puisque : d ({0,…,010}) = = 0.0000152589
131071
14
Cette dernière règle peut se généraliser. Ainsi, admettons que nous cherchons à
maximiser f en fonction d’un variable réelle 𝑥.
Soit 𝐷 = [𝑥𝑚𝑖𝑛 , 𝑥max ] Avec D 𝑅 , l’espace de recherche permis avec 𝑥𝑚𝑖𝑛 et 𝑥𝑚𝑎𝑥
les bornes inférieures et supérieures. Soit PREC la précision (chiffre après la virgule) avec
laquelle nous cherchons 𝑥.
Soit 𝑙𝑑 = 𝑥𝑚𝑎𝑥 − 𝑥𝑚𝑖𝑛 la longueur de l’intervalle D. Nous devons alors diviser cet
intervalle en ni =ld *10PREC sous-intervalles égaux afin de respecter la précision.
Par exemple, soit D = [−1;2], nous avons donc ld = 3, si nous voulions une précision
PREC =6, alors il nous faut diviser cet intervalle en ni =3000000 sous-intervalles.
Avec s l’entier naturel tel que 2s > ni (dans notre exemple, s = 22 car 221 = 2097152 <
3000000 < 222 =4194304), la transformation d’une chaîne binaire
A = {a1 , a1 , a1 ,a1} en un nombre réel 𝑥 peut alors s’exécuter en deux étapes :
𝒔
1. conversion (base 2 en base 10) : 𝒙′ = 𝒊=𝟏 𝟐𝒊−𝟏
𝒙𝒎𝒂𝒙− 𝒙𝒎𝒊𝒏
2. recherche du nombre réel correspondant : 𝒙 = 𝒙𝒎𝒊𝒏 + 𝒙′ 𝟐𝒔 −𝟏
Pour ce qui est de la phase d’initialisation, la procédure est assez simple. Elle consiste en un
tirage aléatoire de N individus dans l’espace des individus permis. En codage binaire, selon
la taille l de la chaîne, nous effectuons pour un chromosome l tirage dans {0,1} avec
équiprobabilité.
On peut le juger comme étant le plus important des operateurs puisqu’il permet la survie, la
reproduction ou la mort des individus de la population initiale. En règle générale, la
probabilité de survie est liée à son efficacité (fitness) relative au sein de la population,
En effet, elle a une forte variance. Il n'est pas impossible que sur n sélections successives
destinées à désigner les parents de la nouvelle génération P', la quasi-totalité, voire pire la
totalité des n individus sélectionnés soient des individus ayant une fitness vraiment
mauvaise et donc que pratiquement aucun individu voire aucun individu a forte fitness ne
fasse partie des parents de la nouvelle génération. Ce phénomène est bien sûr très
dommageable car cela va complètement à l'encontre du principe des algorithmes
génétiques qui veut que les meilleurs individus soient sélectionnés de manière à
converger vers une solution la plus optimale possible.
A l'inverse, on peut arriver à une domination écrasante d'un individu "localement
supérieur". Ceci entrainant une grave perte de diversité. Imaginons par exemple qu'on ait
un individu ayant une fitness très élevée par rapport au reste de la population, disons dix
fois supérieure, il n'est pas impossible qu'après quelques générations successives on se
retrouve avec une population ne contenant que des copies de cet individu. Le problème
est que cet individu avait une fitness très élevée, mais que cette fitness était toute relative,
elle était très élevée mais seulement en comparaison des autres individus.
Malgré tout, il est conseillé d'opter plutôt pour une autre méthode de sélection.
La méthode élitiste :
Cette méthode consiste à sélectionner les n individus dont on a besoin pour la nouvelle
génération P' en prenant les n meilleurs individus de la population P après l'avoir triée de
manière décroissante selon la fitness de ses individus.
Il est inutile de préciser que cette méthode est encore pire que celle de la loterie biaisée dans le
sens où elle amènera à une convergence prématurée encore plus rapidement et surtout de manière
encore plus sûre que la méthode de sélection de la loterie biaisée ; en effet, la pression de la
sélection est trop forte, la variance nulle et la diversité inexistante, du moins le peu de diversité
qu'il pourrait y avoir ne résultera pas de la sélection mais plutôt du croisement et des mutations.
Là aussi il faut opter pour une autre méthode de sélection.
Cette méthode est celle avec laquelle on obtient les résultats les plus satisfaisants. Le principe de
cette méthode est le suivant : on effectue un tirage avec remise de deux individus de P, et on le
fait "combattre". Celui qui a la fitness la plus élevée l'emporte avec une probabilité p comprise
entre 0.5 et 1. On répète ce processus n fois de manière a obtenir les n individus de P' qui
serviront de parents.
La variance de cette méthode est élevée et le fait d'augmenter ou de diminuer la valeur de P
permet respectivement de diminuer ou d'augmenter la pression de la sélection.
La sélection universelle stochastique :
Cette méthode semble être très peu utilisée et elle possède une variance faible, donc introduit peu
de diversité, nous n'entrerons donc pas dans les détails, on se contentera d'exposer sa mise en
œuvre :
On prend l'image d'un segment découpé en autant de sous-segments qu'il y a d'individus. Les
individus sélectionnés sont désignés par un ensemble de points équidistants.
Pour palier aux problèmes liés à la méthode de sélection choisie (problèmes cités ci-dessus), il
est possible d'effectuer différents types de transformation aux valeurs d'adaptation. On relèvera
quatre méthodes principales:
1- Fenêtrage : Pour chaque individu, on réduit sa valeur d'adaptation de la valeur
d'adaptation du pire individu. Ceci permet de renforcer les individus les plus forts au
détriment des plus faibles.
2- Scaling Exponentiel : Proposée par S.R. Ladd, cette méthode consiste à prendre la
racine carrée des valeurs d'adaptation augmentée de 1. Ceci permet de réduire l'influence
des individus les plus forts.
3- Scaling Linéaire : On applique une transformation linéaire à chaque valeur, soit
𝑓 ′ = 𝑎 × 𝑓 + 𝑏 . Là encore, on réduit ainsi la valeur des individus les plus forts.
4- Linéarisation : Les valeurs d'adaptation sont linéaires. Par exemple, sur une population
de 10 biomorphs, le premier individu aura 100, le second 90, 80 ... Le dernier individu
aura 10. On s'affranchit ainsi des contraintes du calcul direct. Même si les différences
entre individus sont très faibles, ou très fortes, l'écart entre les probabilités de
reproduction ne dépend plus que du classement de l'individu.
Parent 1 1 0 |1 0 0 1 0
Parent 2 0 1 |0 1 0 0 1
Enfant 1 1 0 |0 1 0 0 1
Enfant 2 0 1 |1 0 0 1 0
On la retrouve
Figure III.4. Croisement à un point
chez les enfants.
Remarque :
Si les bits des deux parent à une position donnée on la même valeur alors les enfants
hériteront de cette valeur.
Par conséquent, deux parents identiques génèrent deux enfants qui leur sont identique.
C’est une généralisation du croisement à un point, où un second point de coupe est choisi
aléatoirement.
Exemple :
Parent 1 1 0 |1 0| 0 0
Parent 2 0 1 |1 1| 0 1
Enfant 1 1 0 |1 1| 0 0
Enfant 2 0 1 |1 0| 0 1
M positions sont choisis aléatoirement sur chacun des chromosomes parents, les éléments entre
deux positions consécutives sont alternativement échangés et maintenus (le premier segment
entre le début du chromosome et la première position sélectionnée étant maintenu sur chacun des
chromosomes).
c) Croisement uniforme (Uniform crossover)
Il consiste en un croisement bit par bit dont chaque position, le parent qui fournira le bit au
premier enfant est choisi aléatoirement. L’autre parent fournit alors son bit au deuxième enfant.
Avec une probabilité 𝒑𝒎 de mutation très faible comprise généralement entre 0.01 et 0.0001
que cet operateur change la valeur allénique d’un gène.
𝟏
On peut aussi prendre 𝒑𝒎 = 𝒍 où 𝒍𝒈 est la longueur de la chaine de bits codant notre
𝒈
chromosome.
Donc la mutation consiste en l’inversion d’un bit (ou plusieurs mais cela étant extrêmes rare
vu la probabilité) se trouvant en un locus bien particulier et choisi lui aussi aléatoirement
(l’espace de recherche).
a) Remplacement stationnaire :
Tout simplement les enfants remplaceront leur parent automatiquement sans tenir compte
de leur performance relative, sa mise en œuvre se fait de deux manières différentes :
Première se contente de remplacer la totalité de la population P par P’ est donc la
génération gap est égale a 1 et cette méthode est connue sous le nom de
remplacement générationnel.
La deuxième consiste à choisir une portion d’individu P’ qui remplaceront leur
parent dans P (portion égale a 100% dans le cas du remplacement générationnel).
Remarque :
La taille de la population reste figée donc on doit l’initialiser avec un nombre suffisant
d’individu.
Inconvenant de la méthode :
Ce genre de remplacement induit une grande variance et par conséquent favorise la
dérive génétique qui se manifeste d’autant plus que la population est de petite taille.
Dans pas mal de cas, on n’atteint pas la meilleur solution mais on s’en approche
seulement puisque même un enfant ayant une faible performance remplace forcement
un parent.
b) Le remplacement élitiste :
Un nouvel individu (enfant) prend place dans la population que s’il remplit la condition
d’être plus performent que le moins performent des individus de la population précédente.
Donc les enfants ne remplaceront pas nécessairement leur parent contrairement a la
méthode stationnaire et aussi la taille de la population n’est pas figée au cours du temps.
Inconvénient de la méthode
Cette démarche améliore la performance des (AGs) dans certain cas .mais aussi
présente des désavantages en augmentant le taux de convergence prématurée.
Remède :
Néanmoins, des implémentations plus fines sont apportées pour remédier à ce problème
d’overcrowding.
De Jong a proposé la solution suivante : imaginons qu'on veuille remplacer 30 % des
parents, soit np le nombre de parents correspondants à ce pourcentage, on remplacera les
np parents les plus proches de leurs descendants de P'.
Cette méthode permet donc premièrement de maintenir la diversité et deuxièmement
d'améliorer la fitness globale de la population.
En adoptant le nouveau codage qui est le codage réel les algorithmes prend de l’ampleur
dans leur utilisation et ouvre un horizon prometteur.les résultats de Michlewicz(1992),
Logan et Swaminathan (1994) montre que le codage binaire a une moins de précision et en
terme de temps le gain est posetive.Ils concluent que une représentation plus naturelle du
problème donne des solutions plus efficace.
Dans un tel codage, notre individu n’est qu’un chiffre a valeur réel dans l’espace des
valeurs permise. A=a, aℜ .
𝒙𝒊 , 𝑠𝑖 𝒊 < 𝑟
𝑥𝑖 =
𝒚𝒊 , 𝑠𝑖𝑛𝑜𝑛
𝒚𝒊 , 𝑠𝑖 𝒊 < 𝑟
𝑦𝑖 =
𝒙𝒊 , 𝑠𝑖𝑛𝑜𝑛
Un autre opérateur est le croisement arithmétique (valable même pour une recherche de
dimension un).Ce croisement effectue une simple combinaison linéaire entre les parents.
Soit, après avoir généré un chiffre aléatoire,𝛼 = 𝑈(0,1), les nouveaux parents sont:
𝑋 = 𝛼𝑋 + 1 − 𝛼 𝑌
𝑌 = 1 − 𝛼 𝑋 + 𝛼𝑌
Enfin, il existe aussi le croisement heuristique. Cet opérateur effectue une extrapolation
linéaire des deux individus. Un nouvel individu 𝑋 , est créé selon le processus suivant
(sous l’hypothèse que X >Y en terme de fitness, sinon nous inversons X et Y dans les
équations) :
𝑋 = 𝑋 + 𝑟(𝑋 − 𝑌)
𝑌=𝑋
Où 𝑏1𝑖 , 𝑏2𝑖 sont les bornes autorisées pour 𝒙𝒊 , et avec r un nombre aléatoire tirée dans
U(0,1). Nous devons donc avoir tout le temps 𝒙𝒊 ∈ [𝑏1𝑖 , 𝑏2𝑖 ].
Si 𝑋 n’est pas faisable (i.e. faisabilité nulle) alors un nombre r est retiré et la procédure
est recommencée jusqu’à ce que la solution soit faisable où qu’un certain nombre d’essais
ait été effectué. Dans le cas où f (X)= f (Y) (même fitness) on reproduit simplement X et Y.
Cet opérateur est le seul des croisements à utiliser directement une information reliée à la
fitness.
Il semble que le croisement heuristique contribue à trouver une solution plus précise ; ses
principales responsabilités (dans la recherche de la solution) sont : un fine tuning local et une
recherche dans une direction prometteuse.
La mutation non uniforme revient à changer la variable 𝒙𝒊 en un nombre tiré dans une
distribution non uniforme. Cette nouvelle variable 𝒙𝒊 est telle que :
Avec :
𝐺
𝑓(𝐺) = (𝛼 (1 − ))𝑏
𝐺𝑚𝑎𝑥
Un dernier opérateur de mutation existe : la mutation dans les bornes. Avec cet
opérateur, chaque variable 𝒙𝒊 ∈ 𝑿 , choisie pour muter prend pour valeur l’une des deux
bornes 𝑏1𝑖 ou 𝑏2𝑖 avec équiprobabilité. A l’évidence, cet opérateur n’a d’intérêt et
d’efficacité que si la solution est proche des bornes de l’espace de recherche.
Plutôt que de réduire pm, une autre façon d’éviter que les meilleurs individus soient altérés
est d’utiliser la reconduite explicite de l’élite dans une certaine proportion. Ainsi, bien souvent,
les meilleurs 5%, par exemple, de la population sont directement reproduits à l’identique,
l’opérateur de reproduction ne jouant alors que sur les 95% restant. Cela est appelé une stratégie
élitiste.
Partant du constat que les valeurs des paramètres des différents opérateurs sont eux-mêmes
inconnus et ne peuvent être améliorés au fur et à mesure que de façon expérimental, certains
auteurs, tels Novkovic et Sverko (1997), proposent d’utiliser une sorte de méta-AG : l’un pour
trouver l’individu optimal et l’autre pour trouver la valeur optimale des paramètres. Ces deux
algorithmes tourneraient alors simultanément ou séquentiellement. Toutefois, il est inévitable
que le temps de calcul s’alourdisse en conséquence.
III.11. Classification des algorithmes génétiques :
Vue la diversité et la complexité des problèmes d’optimisation et da la recherche de solution,
beaucoup de type d’algorithmes génétiques ont été créé, citons à titre d’exemple
Les A.G peuvent être utilisés pour le contrôle des systèmes évoluant dans le temps (chaine
de production, centrale nucléaire, …) car la population peut s’adapter à des conditions
changeantes. Ce type de métaheuristiques a aussi la possibilité de déterminer la configuration
d’énergie minimale d’une molécule ou à modéliser le comportement animal.
On trouve aussi l’application des A.G dans l’optimisation des réseaux (câbles, fibres
optiques, gaz, ainsi que les réseaux d’eau, dont notre projet fait part.
L’ensemble des travaux qui sont réalisés en ce sens sont les suivants :
Dandy et Al (1996) ont présenté une approche d’optimisation pour la conception des réseaux
d’AEP qui est basée sur les algorithmes génétiques. Le travail présenté propose des
améliorations à l’utilisation antérieure des algorithmes génétiques en apportant des modifications
sur la définition des variables de décision, les opérateurs de mutation et le codage en Gray.
L’approche proposée cherche à partir d’une topologie donnée du réseau et une demande de base
connue, de proposer une composition adéquate des dimensions des conduites afin de minimiser
le coût de conception du réseau. Les contraintes considérées sont d’assurer la continuité des flux,
le respect de certaines dimensions pour des conduites spécifiques. Le codage utilisé est un
codage en Gray, chaque diamètre de conduite est codé sur un gène de quatre bits. L’exemple cité
est un réseau de 21 conduites, le chromosome représentant tout le réseau est de dimension 84
bits. La fonction objectif traduit le coût de conception et de maintenance sous des pénalités
tenants compte de la violation des contraintes de pression qui elles même traduisent la
performance hydraulique des solutions testées ;
Un model GANET basé sur ce type d’algorithmes a été développé par Savic et
Walters(1997). Ce model permet d’assurer une conception optimale du réseau d’AEP. L’objectif
est économique; il exprime le coût d’acquisition de la conduite qui est, bien sûr, fonction du
diamètre et de longueur de la conduite. L’objectif technique pris en considération est la
satisfaction de la demande aux noeuds en assurant une pression minimum de service. Les auteurs
ont utilisé des algorithmes génétiques simples, la variable de décision représente le diamètre de
la conduite et le codage utilisé permet de représenter sous forme de chromosomes les dimensions
des diamètres utilisés pour les conduites. Chaque gène représente une conduite où le diamètre est
codé sur trois bits ;
Sous un logiciel d’optimisation commercial EVOLVER combiné avec EPANET, les A.G
trouvent leur place dans l’optimisation des réseaux d’AEP. Ce travail réalisé par Lippai et Al
(1999) consiste à comparer les algorithmes génétiques aux méthodes d’optimisation classiques ;
Devis et Al (2004) ont présenté un algorithme génétique basé sur une approche multi-objectif
pour les réseaux d’AEP. Les objectifs considérés sont la minimisation du coût de conception et,
l’accroissement de la fiabilité du réseau. Le travail présente un ensemble d’indices mesurant la
fiabilité et la performance du réseau en se basant sur le calcul hydraulique (variation de la
pression, débit et énergie disponibles dans le réseau et la fiabilité de la structure du réseau en
particulier au niveau des noeuds « prise en compte des changement de diamètres »). Le travail
est de traiter les deux phénomènes de défaillances : la défaillance mécanique dû à la structure
même des conduites qui se traduit par des casses ou des ruptures et la défaillance dite
hydraulique qui se manifeste par une variation de pression ou de débit. Le modèle permet de
minimiser les coûts de conception et maximiser la fiabilité du réseau avec un indice de fiabilité
du réseau sous contraintes hydrauliques. Le modèle est combiné avec EPANET.
III.13. Les algorithmes génétiques sous MATLAB :
La manipulation des algorithmes génétiques sous MATLAB se fait au biais de la fonction
prédéfinit « ga.m ». On peut visualiser le contenu de cette fonction avec la commande type en
écrivant dans la fenêtre commande Windows : type ‘ga.m’. (Figure. III.7).
[x, fval, exitflag, output, population, scores]=ga ( @obj_function, nvars, Aineq, bineq, Aeq,
beq, LB, UB, nonlcon, options);
Où les paramètres cités dessus représentent:
x : Le dernier individu sélectionné à la fin de l’optimisation ;
exitf lag : La raison d’arrêt de l’algorithme génétique qui return les valeurs des entiers
relatifs de -5 à 5. Chaque valeur présente une raison pour quoi l’exécution de l’algorithme est
stoppée. (HELP de MATLAB) ;
Options : Structure de l’ensemble des options qu’on peut rajouter pour la fonction des
algorithmes génétiques tel que la visualisation graphique de l’évolution de la fonction fitness.
Remarque :
Supposons qu’on cherche à minimiser la fonction f(x)= x2+4sin(x) sur l’intervalle [-6 6] ;
(Figure. III.8).
La procédure pour trouver le minimum de f(x) avec les A.G est comme suit :
>> % spécification du nombre de variables
>> nvars=1;
>> % spécification des bornes de x
>> LB=-6;
>> UB=6;
>> % visualisation de l’évolution de la fonction fitness
>> options=gaoptimset;
>> options = gaoptimset (options,'PlotFcns' ,{ @gaplotbestf });
>> % puisqu’il n'ya pas de contraintes
>> Aineq=[];
>> bineq=[];
>> Aeq=[];
>> beq=[];
>> nonlcon=[];
>>[X, FVAL]= ga(@fx,nvars,Aineq,bineq,Aeq,beq,LB,UB,nonlcon,options)
Comme nous préféré de dénombrer les avantages et les inconvénients Les avantages et les
insuffisances des algorithmes génétiques :
a) les avantages :
Les avantages de l'algorithme génétique comprennent :
Parallélisme.
L’espace de solution est plus large.
Le paysage est complexe de remise en forme.
Facile à découvrir optimum global.
Le problème a une fonction multi-objective.
seules les fonctions des évaluations sont utilisées.
Facilement modifiées pour des problèmes différents.
il prend en charge les fonctions bruyantes.
Bon pour problèmes multimodaux il retourne une série de solutions.
Très robuste à des difficultés dans l'évaluation de la fonction objectif.
Ils ne nécessitent pas de connaissances ou d'informations sur le gradient de surface de
réponse.
Les discontinuités présentes sur la surface de réponse ont peu d'effet sur l'optimisation
des performances globales.
Ils sont résistants à rester coincés dans un optimum local.
Ils fonctionnent très bien pour les problèmes d'optimisation à grande échelle.
Peuvent être utilisés pour une grande variété de problèmes d’optimisation.
b) Les insuffisances :
Le problème de l'identification de la fonction de fitness.
La difficulté de la représentation du problème.
Convergence prématurée.
Le problème du choix des différents paramètres comme la taille de la population,
taux de mutation et de croisement, la méthode de sélection et de sa puissance.
Impossible d'utiliser les gradients.
difficile d'intégrer les informations des problèmes spécifiques.
Incapacité à déterminer les optima locaux
Pas très efficace pour les fonctions uni-modales
Doit être couplé avec une technique de recherche locale.
Du mal à trouver l'optimum global exact.
Exige un grand nombre de réponses (fitness) des évaluations de fonction.
La configuration n'est pas simple.
Chapitre IV
présentation de la zone d’étude.
IV.2. Introduction :
Dans un premier temps l’étage de Moudjahidine (CHERAGA 206) à été designer comme zone
d’études vues ses problèmes des fuites qu’il renferme. Mais au fur et à meure du travail, nous nous
somme rendu compte que il peut présenter certains problèmes qui peuvent facilement retarder notre
travail et fausser la qualité des résultats, c’est la raison pour laquelle nous avons changé la zone
d’étude et nous somme passé à l’étage Kouba 97 .
Etage Moudjahidine
Cet étage de distribution dessert les zones au Centre et au Nord de la commune de Chéraga
(lotissement Djaffar Slimane, lotissement Les Dunes, lotissement Sidi Hacen, lotissement
Mokhtari, aérodrome (Voir figure ci-dessous).
Les travaux réalisés dans le réseau de distribution de cet étage en 2007 et 2008 (CAPEX
2007/2008),
Consommation domestique : 4 483 m³/j (population 28 623 habitants soit une dotation
moyenne de 157 l/j/hab),
Pression
Statique : Les usagers desservis par cet étage se situent entre les altitudes 30 mNGA et
150 mNGA. On obtient donc une pression statique minimale (cote radier - cote maximale
desservie) égale à 5,2 bars et une pression maximale (cote trop-plein - cote minimale
desservie) égale à 17,6 bars.
Dynamique : Aux heures de pointe la simulation sur 24 h montre des pressions de 15 bars
au niveau des quartiers Nord de Chéraga en bord de mer. On observe des pressions
inférieures à 1 bar au niveau du lotissement Sidi Hacen et Mokhtari.
On a constaté qu’on n’arrivera pas à le caler en pression sauf qu’en certains point (les heures
de pointe) tandis qu’aux heures creuses le décalage entres les pressions réelles mesurés sur
terrain et les pressions simulées demeure présent, cependant le calage en débit a été réalisé.
Figure IV.6. Calage du modèle de l’étage d’AISSAT IDIR en pression.
D’où la conclusion d’existence d’anomalies ou des pertes singulières qui explique la chute de
pression.
Ces anomalies sont dues à la présence surtout des vannes tiercées, finalement pour caler ce
modèle on est dans l’obligation de détecter ces Anomalies, les modélisées et les intégrées
dans le modèle Epanet.
Le problème avec ce modèle c’est que l’emplacement de ces vannes est inconnues et pour ne
pas perdre le temps pour les trouvées et surtout pour aboutir à des résultats persuasif pour la
détection des fuites on a décidé de passer a un autre réseau plus maitrisé, alors on a opté pour
l’étage de KOUBA 97 qui est le premier réseau travaillé par la SEAAL donc toute ses
composantes sont localisable. En plus des appareils de mesures qui sont placés sur les
réseaux.
L’étage de Kouba 97 est l’un des premier étage qui ont été travaillé par la SEAAL, ses réservoir se
trouve même dans son siège (direction générale, BENOMAR).Alors la connaissance du réseau est
bien cernée.
Etage Kouba 97
Etage Magharia
VANNES DE MODULATION
Etage Vanne de Diamètre cote OBS
modulation
Kouba 97 Rue Moghni 150 mm 28,5 mNGA Esclave
Rue capitaine 200 mm 33 mNGA Maîtresse
Mouzari
V.3. Introduction :
Cette approche est basée sur l’utilisation d’une méthode d’optimisation à Algorithmes génétiques
et la modélisation du réseau d’AEP (dans ce travail le logiciel de modélisation utilisé est l’Epanet),
les fuites sont modélisées comme étant une demande, cette technique consiste à déterminer sous
certaines contraintes qu’on va aborder par la suite si un nœud présente une perte d’eau ou une salve
d’exploitation.
On estime qu’un nœud présente une fuite de fond si sa demande après optimisation est augmentée
d’une manière considérable, sinon il n’est considéré que comme une consommation normale.
Chaque solution de l’AG est composée d’un ensemble de valeurs pour tous les nœuds de
demande. La justesse de la solution est ensuite évaluée, en comparant la pression observée sur le
terrain et la pression simulée.
Cette démarche proposée tente de réduire les inconvénients des méthodes classiques de la
détection de fuite en réduisant l’espace de recherche et par conséquent le temps de recherche.
V.4.1.1. Introduction :
Le modèle hydraulique est un outil très puissant pour l’ingénieur chargé de la gestion du
réseau de distribution, en effet, nous pouvons simuler et prévoir des comportements futurs du
réseau, mais cela dépend principalement de la représentativité du modèle de la réalité du
terrain. Cette représentativité dépend, de ça part, de la finesse ou de la précision de calage du
modèle, parce qu’un modèle non calé ou non calibré est purement théorique, donc nous ne
pouvons pas faire confiance aux résultats obtenus par un tel modèle.
V.4.1.2. La modélisation hydraulique d’un réseau d’AEP :
Dans ce cas, le modèle cherche à décrire le fonctionnement d’un réseau existant, par la
détermination de l’état des conduites à travers la mesure de la rugosité des conduites et la
demande des abonnés. Pour un réseau, des données liées à la topologie du réseau, les types
des conduites, la typologie des consommateurs ainsi que des mesures de pression et débits
en des points du réseau sont supposés connus. Un calage du modèle permet de déterminer
certains paramètres inconnus : rugosité, consommation afin de s’approcher le plus possible
du fonctionnement réel du réseau.
Dans ce cas le modèle cherche à décrire les temps de séjour (stagnation) de l’eau dans
le réseau. En effet des temps de séjour important altèrent la qualité de l’eau dans le réseau.
Dans cette phase le modèle du réseau de l’étage K97 était disponible sous le logiciel
de modélisation Epanet, nous signalons que le modèle possède trois catégories de
consommation lesquelles sont :
À titre d’indication ces catégories de consommation ont été définies suite à des études
faites par le bureau d’étude SOGREAH pour l’établissement du modèle de
consommations.
Par conséquent le modèle dispose trois types de courbe de modulation (DOM, DIFF,
GC). Les figures (V.1) et (V.2) représentent respectivement les courbes affectées aux
catégories GC, DIF et DOM.
Avant de passer à un autre point, il est à signaler que la présentation du logiciel de modélisation
utilisé est en annexe 1.
Il existe deux sortes de calage qui doivent être réalisé lesquels sont :
calage en pression : pour se faire on modifie la rugosité des conduite et cela est
possible surtout si le réseau est ancien, aussi par la réaffectation des débits de
consommation.
Calage en débit : Pour modifier un débit il faut, soit réaffecter les consommations
aux nœuds, soit jouer sur les profils de consommations.
NB : meme chose dans cette etape le modele etant calé en pression et en debit au préalable.
Figure V.4. Pression aux nœuds d’observation (capteurs de pression) après calage.
V.4.4. Détection des fuites :
Notons (Modele0), le modèle de l’étage à étudier (K97), le modèle étant calé en pression et
en débit.
La création d’une fuite d’un débit Qf injectée dans un nœud quelconque du réseau
(Modele0), permis d’acquérir un autre modèle noté Modele1.
Le Modele1 sert à nous procurer des résultats de pressions qui vont représenter les données
de terrain. (C’est-à-dire les pressions récoltées à partir des capteurs placés sur le terrain)
L’expression de la demande de base du nœud ou la fuite est crée s’écrit comme suit :
Où :
𝑸𝒇 : Le débit de fuite.
En un autre langage, la fuite est modélisée comme étant une demande additionnelle, ainsi la
simulation est lancée et les résultats de pression aux nœuds d’observation (capteurs de
pressions) sont récupérés dans un fichier de résultats sous Excel.
Une fois récupérées (résultats de pression), nous reviendrons sur le Modele0 pour tenter de
modifier les demandes de base aux nœuds de tous le réseau et cela par l’utilisation des
algorithmes génétiques sous la condition d’obtenir des pressions aux nœuds d’observations
proche de celles obtenues par le Modele1 avec une marge d’erreur tolérée.
En effet nous allons faire l’inverse de ce que nous avons fait précédemment.
Conclusion :
À partir du Modele0 calé en débit et en pression ,en utilisant les résultats de pressions du Modele1
et sous la contrainte exigée par la nature du problème (contrainte de débit d’entrée au system de
distribution), nous essayons de retrouver un modèle Similaire au Modele1 (Modèle+fuite) avec
bien sûr une certaine incertitude.
VI.4. Introduction :
Adaptation du problème aux algorithmes génétiques :
Dans cette partie nous donnons l’étiquette des (AGs) à notre problème et nous essayons de
décrire chaque paramètre des (AGs) sous la couverture du problème à étudier.
L’objectif est de modifier des demandes de base de tous les nœuds de manière à déterminer
lesquels des nœuds présentent une fuite tout en satisfaisant la condition d’avoir des pressions aux
nœuds d’observation semblable à celles récoltées sur le terrain avec une marge d’erreur tolérée.
Du coup on peut considérer que la fonction objective (on reviendra au détail de cette fonction
après) à optimiser sera la fonction qui mesura l’adaptation des résultats obtenus par la modélisation
(pressions simulées) aux résultats mesurés sur le terrain (pressions observées).
VI.5. Conception :
VI.5.1. Formulation du problème :
Fonction objectif ou fonction de fitness :
𝑭 𝑿 = (𝑷𝒊𝒐𝒃𝒔 − 𝑷𝒊𝒔𝒊𝒎 ) ≤ ∆𝑷
𝒊=𝟏
Où : 𝑿 est l’ensemble des demandes de base de tout le réseau et c’est la solution recherchée.
Alors pour trouver la solution X qui minimise notre fonction objective 𝑭 𝑿 nous avons utilisé
la méthode des algorithmes génétiques sous l’environnement de développement Matlab ou elles est
présente dans la bibliothèque de ce dernier ainsi que d’autres méthodes d’optimisation, Matlab nous
permis le choix entre l’emploi des AGs dans sa forme la plus simple ou nous avons la possibilités
d’apporter des modification voulus au seins de leurs structure, vue que ne nous somme pas en
mesure de bien connaitre le domaine d’algorithmique et les détails de la programmation informatique
nous nous somme contenté de les utiliser dans leur forme standard avec de légers modification.
Pour se faire nous avons opté pour le codage réel, le chromosome dans notre cas est l’ensemble
des nœuds du réseau à étudier, sa taille est le nombre des nœuds du réseau, chaque nœud représenté
par un gêne du chromosome ou elle est codé la demande de base, la position du gêne dans le
chromosome désigne l’index du nœud ou chaque index correspond au numéro de celui-ci.
Pour l’outil EPANET Programmer's Toolkit (Boîte à outils du programmeur EPANET) chaque nœud
est caractérisé par identificateur qui est de type caractère et un index qui est de type entier. Nous
détaillerons ultérieurement là-dessus.
Avec : 𝑸𝒔𝒚𝒔𝒕 est le débit d’entrée au système de distribution mesuré sur terrain
𝑸𝒉 : C’est le débit moyen horaire calculé à partir des demandes de base et les coefficients de
consommation comme nous allons le montré ci-dessous :
Pour 𝑡 = 𝑡0 :
𝑵 𝒃
𝑸𝒉 𝒕𝟎 = 𝒊=𝟏 𝑸𝒊 × 𝜶𝒄𝒐𝒏𝒔
𝒕𝟎 Avec :
Remarque :
Si un nœud donné présente plus d’un type de consommation diffus (diff), domestique (dom),
industriel (gc) alors nous aurons :
𝑵
𝒅𝒊𝒇𝒇 𝒅𝒊𝒇𝒇 𝒈𝒄 𝒈𝒄
𝑸𝒉 𝒕𝟎 = 𝑸𝒊 × 𝜶𝒕𝟎 + 𝑸𝒅𝒐𝒎
𝒊 × 𝜶𝒅𝒐𝒎
𝒕𝟎 + 𝑸𝒊 × 𝜶𝒕𝟎
𝒊=𝟏
Donc à la fin nous obtiendrons un vecteur de 24 valeurs de 𝑸𝒎𝒐𝒚 chaque valeur représente le débit
moyen correspondant à une heure donnée.
Il s'agit d'une bibliothèque de fonctions sous forme d'un fichier de type ".dll" (Dynamic Links Library
ou bibliothèque de liens dynamiques). Ce type de fichier est connu dans le monde informatique par
son rôle primordial dans l'échange dynamique des données (Dynamic Data Exchange ou technologie
DDE). Cela se fait en mettant des fonctions externes pouvant être exploitées par des logiciels autres
que l'originaire. En introduisant les différentes fonctions présentes sur EN2Toolkit dans des boucles
et des instructions conditionnelles sous Matlab, nous arrivons à faires touts les calcules hydrauliques
nécessaires (calcule des pressions et des débits par exemple) et récupérer leurs résultats a partir du
langage utilisé (pour notre cas à partir de Matlab).
epanet2.dll.
epanet2.h.
getdata.asv.
getenconstant.asv.
Net1.inp.
Nb : l’affichage par défaut est celui dont nous affichons les résultats de l’entité hydraulique voulue de
l’ensemble des composant de même type (tous les nœuds ou toutes les conduites par exemple) à
l’aide des fonctions basique et non les fonctions dont nous spécifions le composant (tel nœud ou telle
conduite).
1) Notion « d’Index » :
Dans Epanet un nœud (ou respectivement une conduite) est reconnu par un identificateur de type
caractère, initialement un numéro lui est attribué mais qui peut être modifié (des lettres par
exemple), par contre EN2Toolkit en plus de cet identificateur le nœud (ou respectivement une
conduite) est caractérisé par un deuxième paramètres qui est de type entier appeler l’index.
Ce paramètre est d’une importance cruciale puisque l’affichage des résultats est faite selon lui dans
un ordre croissant de 1 au dernier index, il faut noter que cet ordre est lié directement a l’ordre dans
lequel les nœuds sont classés dans le fichier en (.inp).
Exemple illustratif :
En utilisant un réseau type existant dans la bibliothèque d’Epanet nous avons essayé à l’aide de
l’outil EN2Toolkit d’afficher les pressions de tous les nœuds :
Jour 1, 12:00 AM
Pression
Réservoir
20,00
30,00
40,00
50,00
psi
Débit Source
10,00
20,00 Pompe
50,00
100,00
GPM
N.B : le fichier « .inp » est une exportation du réseau Epanet sous format texte lisible avec
quelconque éditeur de texte tel que Bloc notes.
Figure VI.3. Affichage des pressions aux nœuds.
D’après la figure « VI.2 », Le nœud d’identificateur 10 possède l’index 1, le nœud 11 est en index 2
et ainsi de suite.
Dans la Figure « VI. 3 », la première colonne correspond à la pression sur 24h du nœud d’index 1.
La deuxième au nœud d’index 2 et ainsi jusqu'à la dernière colonne qui correspond au nœud d’index
9.
Nb : toutes ses fonctions sont réunies dans un fichier nommé epanet2.h dont son contenu est
présenté dans l’annexe 3.
a) fonctions Matlab :
la fonction « loadlibrary » :
Description :
Cette fonction permet le chargement des bibliothèques des liens dynamiques (DLL).
Syntaxe :
LoadLibrary(‘nom_biblio’,’nom_fichier’)
Avec :
Comme dans notre projet par exemple les deux fichiers sont : epanet2.dll, epanet2.h, nous avons
utilisé la fonction comme suit :
loadlibrary('epanet2','epanet2')
La fonction « calllib » :
Description :
Syntaxe :
calllib(‘nom_biblio’,’nom_fonction’,Arg1,Arg2,…,ArgN)
Avec :
b) Fonctions « d’EN2toolkit » :
Il existe plusieurs fonction dans la (DLL) qui laisse le choix à l’utilisateur de :
Avant de passer à la citation des fonctions utilisées dans notre projet on doit signaler l’existence de
toute une liste de constante correspondant à chaque paramètre d’un composant du réseau, nous
énumérons quelques une :
Paramètre des nœuds :
EN_ELEVATION 0 Altitude
EN_PRESSURE 11 Pression
EN_DIAMETER 0 Diamètre
EN_LENGTH 1 Longueur
EN_ROUGHNESS 2 Rugosité
EN_FLOW 8 debit
EN_VELOCITY 9 vitesse
Tableau VI.2. Constante correspondant à chaque paramètre d’un arc et leurs codes.
La fonction « ENopen »:
Syntaxe générale: int ENopen( char* f1, char* f2, char* f3)
Arguments:
La fonction « ENsetnodevalue »:
Syntaxe générale: Int ENsetnodevalue (Int index, Int paramcode, float value)
Arguments:
La fonction « ENsolveH»:
Description: lancer une simulation hydraulique complète avec des résultats pendant toutes les
périodes.
La fonction « ENsaveH»:
Remarque :
Il est notable qu’avec toute la diversité des fonctions existant dans la (DLL), nous n’avons employé
que quatre fonctions, ceci est dû au fait que la majorité de ces fonctions utilisent comme argument
des pointers, leurs manipulation est assez délicate et même pour les gens du domaine dans la pratique
évitent leurs utilisation dés que possible.
Etant donné que nous n’avons pas réussi d’exécuter ses fonction alors nous avons été contraint de
contourner cet inconvénient, d’autres fonctions ont été créé alors, nous mentionnons:
- La fonction « getnodeindex » :
Elle retourne l’index des nœuds en lui introduisant un vecteur de numéros des nœuds.
- La fonction « containsElement » :
Elle permet la vérification d’existence d’un élément dans un vecteur, elle nous retourne un code
d’erreur et reçoit comme entrée l’élément à vérifier et le vecteur dans lequel nous voulons voir
l’existence de l’élément. Cette fonction est utilisée dans la partie ou nous avons voulu afficher que les
pressions des nœuds d’observation au moment ou l’affichage par défaut nous donne les pressions de
tous les nœuds.
Application des
algorithmes génétiques
Non
Critère de
convergence
Oui
C’est la partie qui existe dans le classeur, la colonne et la ligne en rouge sont ajoutées juste pour
explication.
Ce classeur est créé à partir du fichier en (.inp) en plus de la saisi de la dernière colonne
manuellement qui contient les index du moment où ils sont liés à la façon dont les nœuds sont
classés dans ce fichier (.inp).
Cette colonne est saisie manuellement tout en suivant l’ordre montré dans cette figure.
b) Processus :
Figure VI.6.création et organisation du classeur des données du fichier data.
c) Processus
Comme il a étais signalé auparavant, le mécanisme adopté pour la recherche de la solution de notre
problème est basé sur les AGs. Nous essayons, dans ce qui viendra de retracé ses point les plus
important. Mais avant ça nous somme contraint de rappeler quelques paramètres des algorithmes
génétiques.
La fonction de fitness : comme nous l’avons déjà signalé brievement, notre fonction
objectif et notre fonction de fitness sont légèrement différentes telle que :
𝑭 𝑿 = (𝑷𝒊𝒐𝒃𝒔 − 𝑷𝒊𝒔𝒊𝒎 ) ≤ ∆𝑷
𝒊=𝟏
Logiquement cette fonction retourne une matrice nommé dans notre programme p_err (i,j) avec
i=24(correspond à 24heures), j=nombre des nœuds d’observation. Or pour les AGs sous Matlab la
fonction de fitness doit retourner un scalaire, c’est la raison pour laquelle nous l’avons modifié de
telle sorte qu’elle nous retourne un scalaire .donc nous l’avons considérée comme la fonction qui
parcours la matrice p_err case par case et qui incrémente un nombre (err) qui est initialisé à 0 à
chaque fois que la condition exigée ( (𝑷𝒊𝒐𝒃𝒔 − 𝑷𝒊𝒔𝒊𝒎 ) ≤ ∆𝑷) est violée. Donc finalement on va
minimiser le nombre des cases qui viole la condition.
Contrainte : la condition qui est intégrée comme contrainte dans les AGs est la
condition d’invariabilité du débit moyen (présenté dans §VI.2.2 formule *), nommé
dans le programme debit_moy.
Cette condition est intreprté de telle sorte que ce debit moyen est approximativement egale au debit
système (debit_syst) qui est le debit d’entrée au système de distribution mesuré sur 24h.
Dés lors nous remarquons que le débit (debit_syst) sera une vectrice colonne de 24 valeurs ou
chaque valeur représente le débit d’entrée pour une heure donnée.
.
.
𝒅𝒆𝒃𝒊𝒕_𝒔𝒚𝒔𝒕 = .
.
Alors nous intégré la contrainte à l’aide de la création d’une fonction appelée containst qui retourne
2 vecteurs tel que :
Où :
Résumant alors le processus du programme : Notre programme dans un premier temps et après
la lecture des données tente de transformer d’abords les numéros des nœuds d’observation en index
afin de récupérer les pressions de ces nœuds et évaluer la fonction de fitness .après cette
transformation une simulation Epanet est lancée pour initialiser les demandes de base et à partir de
cette population de demandes , les AGs vont s’exécutés et tente de les modifier (demandes de base)
pour avoir des pression simulées proche de celle observées sur le terrain toute en vérifiant la
contrainte de débit et les AGs continuent leur évolution et ne s’abstiennent que lorsque nous
obtenant une solution dont le nombre de case qui violent la condition sur la pression (err) est égale
à 0, ainsi la boucle est faite jusqu'à avoir la solution optimale de notre problème.
d) Paramètres de sortie
La solution consiste en la génération d’une nouvelle population de demandes de base qui répond aux
conditions et aux contraintes exigées par la nature du problème, cette solution est affichée dans un
fichier Excel nommé dans notre cas finale_pop.xlsx (population finale).
Comme premier testes nous avons exécuté notre programme sans l’intégration de la
contrainte de débit et d’aucune autre condition, nous avons choisi comme marge
d’erreur sur la pression ∆P = 1.5m et la taille de la population à générée était fixée à 20
(la taille par défaut).
Apres l’aboutissement du résultat nous l’avons intégrée bien évidemment manuellement dans
l’Epanet et lancer la simulation et nous avons obtenues les résultats :
Demandes de bases :
Figure VI.11. Résultats de pressions aux nœuds d’observations après intégration de la solution.
Figure VI.12. Digramme de corrélation pour les pressions observation et les pressions simulées.
Les fuites :
Emplacement de
la fuite
Étant données quelle sont modélisées comme étant une demande additionnelle nous chercherons les
nœuds qui sont pourvu des plus grandes demandes de bases après l’intégration de la solution trouvée
et la simulation en sachant la position de la fuite test.
Comme nous venons de le voir la corrélation entre les pressions simulées et les pressions
observées (sur le terrain) est très satisfaisante or que la nouvelle population des demandes
de base générée est médiocre en le renseignement sur l’emplacement des fuites.
Nous constatons que la fuite trouvée (au nœud 308452) en n’estimons que les nœuds qui
sont pourvus des demandes de base supérieure à 1.5 LPS (Figure VI.13) est relativement
loin de l’emplacement de la fuite_test qui a été crée pour le rappeler au nœud 304043.
𝑄𝑖𝑏 𝑠𝑖𝑚𝑢𝑙 é
: Est la demande de base simulée.
𝑄𝑖𝑏 𝑖𝑛𝑖𝑡𝑖𝑎𝑙
: Est la demande de base initiale (avant l’intégration de la solution).
Un deuxièmes test était élaboré, et il est le même que le précédent sauf que cette fois-ci
la taille de la population est augmentée à 100.
Demandes de bases :
Figure VI.16. Résultats de pressions aux nœuds d’observations après intégration de la solution.
Figure VI.17. Digramme de corrélation pour les pressions observation et les pressions simulées.
Les fuites :
La fuite_test
Pour cet essai et à première vue on remarque que les points suspect à être des fuites sont plus proche
du nœud de la fuite_test 304043 par rapport au premier essai, si on prend le nœud 304053 qui a la
plus grande valeur de demande de base 𝑄𝑖𝑏 𝑠𝑖𝑚𝑢𝑙 é = 1,752 𝐿𝑃𝑆 or elle était à 𝑄𝑖𝑏 𝑖𝑛𝑖𝑡𝑖𝑎𝑙 =
0,059 𝐿𝑃𝑆
On remarque que la valeur de la fuite est augmentée (elle était de 1,42 LPS et elle est passée à 1,69
LPS).
Nous avons effectué un autre essai qui consiste à l’exécution du programme avec
l’introduction de la contrainte de débit d’entrée au système de distribution (présenté
dans §VI.2.2 formule) et avec une marge d’erreur de 4 m, nous présentons les résultats
auxquels nous sommes arrivés ultérieurement.
Les pressions :
Figure VI.20. Résultats de pressions aux nœuds d’observations après intégration de la solution.
Figure VI.21. Digramme de corrélation pour les pressions observation et les pressions simulées.
Les fuites :
La fuite_test
𝑸𝒃𝒎𝒂𝒙 = 𝟏, 𝟎𝟗 𝑳𝑷𝑺
Lors de la simulation nous avons remarqué que le temps d’exécution était assez important, aussi la
chose qui saute aux yeux c’est la corrélation entre les pressions simulées et les pressions observées
que nous jugeons quelle est peu convaincante puisque le décalage entre ses pressions est remarquable
(4m dans certains points voir Figure VI.21 et VI.22).
Nous avons pu constater que trois nœuds présentent des fuites sauf que le nœud qui a la plus grande
valeur de la demande de base est comme loin de la fuite test (Figure V.23).
Afin d’arriver à un résultat plus convaincant et plus fin nous avons fait tourner le
programme dans les même condition de l’expérience précédente à l’exception de la
marge d’erreur ∆𝑃 que nous avons égalé à 2,5 addition d’une autre condition qui
consiste a la réexécution du programme tant que le nombre des case qui violent la
condition sur les pressions n’est pas nul .
Figure VI.24. Résultats de pressions aux nœuds d’observations après intégration de la solution.
Figure VI.25. Digramme de corrélation pour les pressions observation et les pressions simulées.
Les fuites :
La fuite_test
Dans cet essai nous avons obtenue une corrélation acceptable (voir Figure VI.25et VI.26) par rapport
au précédent même coté pré localisation des fuites nous nous somme vraiment rapproché de
l’emplacement de la fuite_test (voir Figure VI.26) malgré que la demande de base n’était pas très
importante d’où l’in importance du débit de fuite.
Conclusion :
Lors des essais effectués afin de tester notre programme nous avons pris conscience de la
sensibilité de l’outil à certains paramètres à savoir :
La taille de la population : c’est la taille de la population générée par les AGs nous avons
constaté que en la laissant par défaut (20) les résultats acquis sont jugés médiocre, en
passant à 100 nos résultats était meilleurs et dés que nous dépassant cette valeur la
qualité de la solution devient dérisoire.
l’intégration de la contrainte : malgré qu’elle ait rendu la convergence de l’algorithme plus
délicate et elle nous permit d’avoir une corrélation peu satisfaisante mais nous avons
remarqué que les résultats acquis sont plus proche de la solution recherchée.
La condition de la réexécution des AGs : elle renforce le rôle de la contrainte intégrée et
donne des résultats appréciables.
Conclusion générale.
Ce présent travail constitue une nouveauté pour la résolution des problèmes liés aux eaux
non facturés, il présente une nouvelle approche pour la détection des fuites basée sur la modélisation
des réseaux d’AEP et en particulier les réseaux de distribution ainsi que les méthodes
d’optimisations. La méthode des AGs représente une partie importante de l’approche, puisque nous
l’avons utilisée pour l’élaboration de ce PFE. Grâce à l’évolution de la technologie et l’outil
informatique les AGs sont de plus en plus utilisés dans divers domaines technique.
Comme nous l’avons signalé le travail que nous avons réalisé, est basé sur la modélisation
des réseaux et il est d’une importance non négligeable pour la prise de décision en dépit des résultats
obtenus.
Avoir un modèle qui estime l’emplacement des fuites sur un réseau de distribution apporte
à l’entreprise l’aide au diagnostique et à la maintenance de ce dernier, puisque l’espace de recherche
des fuites est réduit (optimiser le champ d’intervention), l’intervention des services concernés sera
rapide et efficace.
Suite à des contraintes de temps, de manque de données ou d’une lacune dans le domaine de
la programmation, la présente étude s’accommode à des améliorations et ouvre des perspectives
envisageable dans le future, d’un coté apporter une certaine rigueur à la solution trouvée et d’un autre
coté pour développer de manière a ce qu’il soit utilisé dans le domaine professionnelle.
Parmi les perspectives suscités par le projet est amélioration concernant la complexité de
l’algorithme proposé afin de réduire le temps de calcule, le modèle peut évoluer vers un logiciel pour
la détection des fuites et le calage des modèles des réseaux d’AEP, des travaux pour la création d’une
interface graphique sont possible pour permettre une souplesse dans l’utilisation du programme.
L’outil est basé sur une méthode stochastique (les AGs), donc aléatoire, ce qui fait nous
somme tentés à trouver plusieurs solution à une même configuration par conséquent nous jugeons
important de cerner la solution voulue par l’intégration des conditions (contraintes) qui vont conduire
le programme à converge à la solution désirée.
Pour notre cas une seule condition est intégrée (contrainte de débit) plus l’hypothèse de
l’invariabilité de débit de fuite au cours du temps chose qui n’est pas juste mais que la complexité du
problème la exigée, par conséquent des conditions sur le débit de fuite et sa dépendance à la pression
sont envisageable.
Afin d’obtenir des résultats plus représentatifs, il est plus commode d’utiliser des données
réelles du terrain.
Les bornes supérieur et inferieur de la variable de décision (demande de base) ont été
choisies arbitrairement nous proposons qu’elles soient déterminées suite à une analyse hydraulique
plus poussée et en se référent à l’historique des fuites enregistrées dans le réseau à étudier.
Un calage fin du modèle est tout de même nécessaire pour la fiabilité des résultats.
Les Annexes
2. Historique
Le logiciel Epanet est né suite à une initiative du Congrès des Etats–Unis qui visait à protéger les
ressources naturelles du pays. Dès lors, l’EPA (US Environnemental Protection Agency) a été
chargée de développer des techniques permettant de mieux appréhender les écoulements et les
transformations de l’eau dans un réseau d’adduction d’eau potable.
Depuis le mois de septembre 1993, le logiciel est disponible gratuitement pour tous les bureaux
d’études et les sociétés d’affermage qui souhaitent l’utiliser.
Pour permettre une plus large utilisation de ce logiciel de modélisation tant au niveau des bureaux
d’études chargés de la conception des réseaux que des exploitants chargés du fonctionnement et de la
gestion de ce patrimoine collectif, Générale des Eaux, société de service auprès des collectivités
locales des industriels et des particuliers dans le domaine de l’environnement, en accord avec
l.E.P.A., a financé la traduction en français de l.intégralité de ce logiciel. Pour cela, elle a mandaté le
Groupe d’Investigation et Développement des Modèles Hydrauliques (IDMH) de l’Université
Polytechnique de Valencia (Espagne), travaillant lui-même de manière rapprochée avec le
département de l’E.P.A. en charge de ce logiciel.
En accord avec l’U.S.E.P.A, Générale des Eaux est propriétaire des droits de reproduction de
cette traduction.
Cette version française d’EPANET est la version 2.00.10. La compatibilité avec les autres
versions anglaise, espagnole, portugaise a été conservée tant au niveau de l'exécution qu.au niveau
des données de fichiers texte et des fichiers binaires. Il n’est donc plus nécessaire de modifier ou
d’adapter ces fichiers pour travailler dans l’une ou l’autre de ces versions. Sous certaines conditions,
les utilisateurs de la version béta pourront transférer leurs fichiers dans cette version.
Pour répondre aux spécificités françaises, cette version se distingue de la version anglaise par
plusieurs aspects :
Les unités utilisées par le moteur de calcul sont, par défaut, celles du Système International.
Toutefois, le maintient des unités américaines est toujours réalisable.
La formule de perte de charge est, par défaut, celle de Darcy-Weisbach, avec un retour
possible sur les formules de Hazen-Williams ou de Chezy-Manning.
Le séparateur décimal est par défaut la virgule, avec reconnaissance du point dans les fichiers
importés.
Une modélisation hydraulique scrupuleuse et complète est la première condition pour pouvoir
modéliser la qualité de l’eau de manière efficace.
Figure 1.1. Schéma illustratif de la loi des mailles dans un réseau d'eau potable
La loi des nœuds et la loi des mailles constituent la base du calcul hydraulique. La loi des
nœuds affirme que le débit entrant dans un nœud est quoiqu’il arrive égal au débit sortant de ce
nœud et ce quelque soit le nombre d’entrées et de sorties dans ce nœud.
La loi des mailles dites, quant à elle, que la différence de charges DH (égale à la somme de la
pression et de la côte au sol au point considéré) entre deux nœuds est égale à la perte de charge
entre ces nœuds (Figure IV.1, ci-dessous), cependant pour pouvoir obtenir les charges et débits
pour chaque nœud et chaque tronçon, il est nécessaire que certains débits et certaines charges
soient préalablement connus. Il s’agit des nœuds à charge fixée (réservoirs, bâches) qui imposent
la charge de départ et ainsi permet le calcul de la charge à chaque nœud de proche en proche.
Il s’agit aussi des nœuds à débit fixé (définition des demandes à chaque nœud) qui permettent
de connaître les débits dans les tronçons satisfaisants cette demande, Enfin l’écoulement se fait
du nœud ayant la charge la plus élevée vers le nœud ayant un potentiel de charge moins
important.
Le calcul des débits et des charges est lié et ne peut se faire indépendamment. Dès lors, il est
nécessaire de connaître l’une ou l’autre des données à chaque nœud pour permettre
l’aboutissement du calcul.
La perte de charge ou charge hydraulique perdue à cause du frottement de l’eau avec les
parois du tuyau peut être calculée en utilisant une de ces trois formules :
formule de Hazen-Williams.
formule de Darcy-Weisbach.
formule de Chezy-Manning.
La formule de Hazen-Williams est la formule de perte de charge la plus utilisée aux États-
Unis. Elle ne peut pas être utilisée pour des liquides autres que l’eau et a été initialement
développée uniquement pour les écoulements turbulents. La formule de Darcy-Weisbach est
théoriquement la plus correcte et
La plus largement utilisée en Europe. Elle s’applique à tous les régimes d’écoulement et à
tous les liquides. La formule de Chezy-Manning est généralement utilisée pour les écoulements
dans les canaux découverts et pour les grands diamètres.
Chaque formule utilise l’équation suivante pour calculer la perte de charge entre les nœuds de
début et de fin du tuyau:
𝒉𝑳 = 𝑨𝒒𝑩
Chaque formule utilise un coefficient de rugosité différent qui doit être déterminé
empiriquement. Le tableau 3.2 donne les intervalles généraux de ces coefficients pour différents
types de matériaux de tuyaux neufs. Il est important de noter que le coefficient de rugosité d’un
tuyau peut changer considérablement avec son âge.
La formule de Hagen-Poiseuille est utilisée pour un écoulement laminaire (Re < 2000).
L’approximation de Swamee et Jain dans l’équation de Colebrook-White est utilisée pour
un écoulement entièrement turbulent (Re > 4000).
L’interpolation cubique du diagramme de Moody est utilisée pour un écoulement
transitoire (2000 < Re < 4000).
Tableau ??? Formules de perte de charge totale pour toute la longueur de la canalisation
en charge (la perte de charge est exprimée en m.c.e. et le débit en m3/s.
Note :
En unités américaines, la formule de Hazen Williams est : 𝟒, 𝟕𝟐𝟕 𝑪−𝟏,𝟖𝟓𝟐𝒅−𝟒,𝟖𝟕𝟏𝑳.
Le coefficient de résistance change pour que des valeurs du coefficient C restent universelles.
En unités américaines, la formule de Darcy-Weisbach est :
0,0252 f (ε,d,q)d-5 , dans laquelle les valeurs de ε s’expriment en pieds.
𝑽𝟐
𝒉𝒍 = 𝑲 .
𝟐𝒈
COEFF.PERTE
ACCESOIRE SINGULIERE
6. Modélisation du réseau :
Ce paragraphe expose les principes de base du travail du logiciel Epanet, au niveau des objets
physiques constituant le réseau et les méthodes de calcul utilisés.
Les paragraphes suivants présentent en détail chaque point.
Les Nœuds de Demande sont les points du réseau où les arcs se rejoignent. Ce sont des points
d’entrée ou de sortie d.eau et peuvent également ne pas avoir de débit. Les données d’entrée
minimales exigées pour les nœuds de demande sont:
Les résultats calculés aux nœuds de demande, à chacun des intervalles de temps d’une
simulation sont:
la charge hydraulique (ou hauteur piézométrique): énergie interne par poids spécifique
de fluide ou bien somme de l’altitude avec la hauteur de pression.
Nota : Cette définition de la charge est différente de celle utilisée en hydraulique urbaine qui
prend en compte le facteur vitesse de l’eau sous forme d’énergie cinétique (v²/2g).
la pression.
la qualité de l’eau.
Les Bâches infinies sont des n.uds représentant soit une source externe de capacité
infinie. Elles sont utilisées pour modéliser des éléments tels que les lacs, les fleuves, les
couches aquifères souterraines ou les arrivées de réseaux extérieurs. Les bâches infinies
peuvent également servir de point d’injection d’une substance entrant dans le réseau.
Les données de base pour une bâche sont la charge totale (égale au niveau de la surface
de l’eau si la bâche infinie n’est pas sous pression) et la qualité initiale de l’eau dans le cas où
l’on exécuterait une analyse de qualité de l’eau.
Les Réservoirs sont des n.uds avec une capacité de stockage, dont le volume
d.eau stocké peut varier au cours du temps. Les données de base pour des réservoirs sont les
suivantes:
Le niveau dans les réservoirs doit rester entre les niveaux minimal et maximal.
EPANET arrête la sortie d.eau si un réservoir est à son niveau minimal et arrête l’arrivée s’il
est à son niveau maximal. Les réservoirs peuvent également servir de source pour une
substance entrant dans le réseau.
6.1.4. Tuyaux :
Les tuyaux sont des arcs qui transportent l’eau d’un point du réseau à l’autre.
EPANET suppose que tous les tuyaux sont pleins à tout instant. L.eau s’écoule de l’extrémité
qui a la charge hydraulique la plus élevée (altitude + pression, ou énergie interne par poids
d’eau) à celle qui a la charge hydraulique la plus faible. Les données de base pour les tuyaux
sont:
le débit.
la vitesse d’écoulement.
la perte de charge.
le facteur de friction de Darcy-Weisbach.
la vitesse moyenne de réaction (le long du tuyau).
la qualité moyenne de l’eau (le long du tuyau).
Annexe 2 : contenu et organisation
du fichier (.inp)
[TITLE]
[JUNCTIONS]
;ID Noeud Altitude Demande Base Courbe
Modulation
23 176.337 100 ;
25 176.84 150 ;
24 167.148 0 ;
44 166.814 0 ;
43 164.654 0 ;
47 163.462 0 ;
46 164.049 0 ;
243 195.529 0 ;
48 150.457 0 ;
784 142.629 0.0717744 DOM ;
779 141.596 0 ;
783 140.477 0.153518 DOM ;
786 140.552 1.08796 DOM ;
785 140.512 0 ;
778 143.941 0 ;
782 141.584 0 ;
5 0 0 ;
6 0 0 ;
[RESERVOIRS]
;ID Noeud Charge Tot Courbe Modulation
1 250 ;
[TANKS]
;ID Noeud Altitude Niv Init Niv Min Niv Max
Diamètre VolMin Courbe Vol
244 202. 2. 0. 4.
30.9019 0. ;CH_M2_206
[PIPES]
;ID Arc Noeud1 Noeud2 Longueur
Diamètre Rugosité PerSing État
15 23 24 381.2 400.
1. 0. Open ;
16 25 23 13.6 400.
1. 0. Open ;
32 24 43 152. 400.
1. 0. Open ;
33 24 44 6.7 100.
1. 0. Open ;
35 43 46 12.7 400.
1. 0. Open ;
36 47 48 413.1 400.
1. 0. Open ;
37 46 47 12.3 400.
1. 0. Open ;
253 243 244 10.7 400.
1. 0. Open ;
254 243 25 701.5 400.
1. 0. Open ;
255 244 243 10.7 400.
1. 0. Open ;
842 48 778 1231.49 400.
1. 0. Open ;
845 783 784 185.5 102.
1. 0. Open ;
846 783 785 7.8 80.
1. 0. Open ;
847 785 786 160.8 80.
1. 0. Open ;
1303 778 779 443.207 400.
1. 0. Open ;
1304 782 783 203.464 102.
1. 0. Open ;
1307 782 778 10 200
0.1 0 Open ;
1 1 5 100 200
0.1 0 Open ;
3 5 6 5 200
0.1 0 Open ;
4 6 244 100 200
0.1 0 Open ;
[PUMPS]
;ID Arc NoeudAsp NoeudDéch Paramètres
[VALVES]
;ID Arc NoeudAmont NodeAval Diamètre
Type Consigne PertSing
5 5 6 200 PRV
0 0 ;
[TAGS]
NODE 23 NA
NODE 25 NA
NODE 24 NA
NODE 44 NA
NODE 43 NA
NODE 47 NA
NODE 46 NA
NODE 243 NA
NODE 48 NA
NODE 784 CH057RE_CHERAGA
NODE 779 NA
NODE 783 CH057RE_CHERAGA
NODE 786 CH058RE_CHERAGA
NODE 785 NA
NODE 778 NA
NODE 782 NA
NODE 244 NA
LINK 15 CH_MO_240
LINK 16 CH_MO_240
LINK 32 CH_MO_240
LINK 33 CH_MO_240
LINK 35 CH_MO_240
LINK 36 CH_MO_240
LINK 37 CH_MO_240
LINK 253 CH_MO_240
LINK 254 CH_MO_240
LINK 842 CH_MO_240
LINK 845 CH_214
LINK 846 CH_214
LINK 847 CH_214
LINK 1303 CH_MO_240
LINK 1304 CH_214
[DEMANDS]
;ID Noeud Demande Base Courbe Modulation Catégorie
784 0.0717744 DOM ;
784 0.0216188 DIFF ;
783 0.153518 DOM ;
783 0.0462402 DIFF ;
786 1.08796 DOM ;
786 0.324072 DIFF ;
[STATUS]
;ID Arc État/Consigne
[PATTERNS]
;ID Modulation Multiplicateurs
;ID Multipliers
GC 0.451 0.451 0.451
0.451 0.451 0.451
GC 0.451 0.804 1.375
1.644 1.644 1.644
GC 1.644 1.644 1.644
1.644 1.644 1.51
GC 1.106 0.838 0.703
0.451 0.451 0.451
;
DOM 0.68 0.68 0.54 0.54
0.48 0.48
DOM 0.54 0.62 0.82 1.18
1.46 1.54
DOM 1.68 1.68 1.4 1.06
1.12 1.2
DOM 1.34 1.26 1.2 1.12
0.76 0.68
;
DIFF 0.451 0.451 0.451
0.451 0.451 0.451
DIFF 0.451 0.804 1.375
1.644 1.644 1.644
DIFF 1.644 1.644 1.644
1.644 1.644 1.51
DIFF 1.106 0.838 0.703
0.451 0.451 0.451
[CURVES]
;ID Courbe Valeur X Valeur Y
;PUMP:
1347 111.11 30
[CONTROLS]
Link 3 118. AT TIME 0.
[RULES]
[ENERGY]
Global Efficiency 75
Global Price 0
Demand Charge 0
[EMITTERS]
;ID Noeud Coefficient
[QUALITY]
;ID Noeud Qualité Initiale
[SOURCES]
;ID Noeud Type Qualité Courbe Modul
[REACTIONS]
;Type Tuyau/Réservoir Coefficient
[REACTIONS]
Order Bulk 1
Order Tank 1
Order Wall 1
Global Bulk 0
Global Wall 0
Limiting Potential 0
Roughness Correlation 0
[MIXING]
;ID Réservoir Modèle Fraction Mélange
[TIMES]
Duration 24:00
Hydraulic Timestep 1:00
Quality Timestep 0:05
Pattern Timestep 1:00
Pattern Start 0:00
Report Timestep 1:00
Report Start 0:00
Start ClockTime 0:00
Statistic None
[REPORT]
Status Full
Summary No
Page 0
[OPTIONS]
Units CMH
Headloss D-W
Specific Gravity 1.
Viscosity 0.0000011
Trials 100
Accuracy 0.001
Unbalanced Continue 10
Pattern 1
Demand Multiplier 1
Emitter Exponent 0.5
Quality Trace 244
Diffusivity 1
Tolerance 0.01
[COORDINATES]
;ID Noeud Coord X Coord Y
23 495907.651 4067630.351
25 495921.171 4067632.19
24 495616.834 4067538.552
44 495613.837 4067544.569
43 495481.62 4067469.85
47 495458.74 4067459.83
46 495470.005 4067464.763
243 496582.015 4067747.153
48 495073.025 4067319.638
784 494475.887 4067667.028
779 494092.783 4067803.686
783 494324.216 4067574.605
786 494180.493 4067543.32
785 494318.413 4067569.38
778 494353.04 4067677.288
782 494326.94 4067727.088
5 497488.034184623 4068367.65533546
6 497094.952470617 4068042.93565867
1 497963.305848129 4069037.35631288
244 496606.45 4067754.488
[VERTICES]
;ID Arc Coord X Coord Y
15 495760.62 4067588.6
[LABELS]
;Coord X Coord Y Texte et Noeud d´Ancrage
493093.181583729 4068011.64706492 "795 capteur 1"
493232.939147618 4067578.39861686 "841 capteur 2"
493699.71875 4067265.34167375 "838 capteur 3"
493791.969403172 4067547.65195281 "857 fuite"
[BACKDROP]
DIMENSIONS 490720.1925 4066416.521 499444.8975
4070464.059
UNITS None
FILE
OFFSET 0 0
[END]
Annexe 3 : contenu du fichier
epanet2.h
/*
** EPANET2.H
**
** C/C++ header file for EPANET Programmers Toolkit
**
** Last updated on 2/14/08 (2.00.12)
*/
#ifndef EPANET2_H
#define EPANET2_H
#define EN_TANKDIAM 17
#define EN_MINVOLUME 18
#define EN_VOLCURVE 19
#define EN_MINLEVEL 20
#define EN_MAXLEVEL 21
#define EN_MIXFRACTION 22
#define EN_TANK_KBULK 23
#undef WINDOWS
#ifdef _WIN32
#define WINDOWS
#endif
#ifdef __WIN32__
#define WINDOWS
#endif
#ifdef WINDOWS
#ifdef __cplusplus
#define DLLEXPORT extern "C" __declspec(dllexport) __stdcall
#else
#define DLLEXPORT __declspec(dllexport) __stdcall
#endif
#else
#ifdef __cplusplus
#define DLLEXPORT extern "C"
#else
#define DLLEXPORT
#endif
#endif
#endif
Références bibliographiques.
[2] DUPONT.A. Hydraulique urbaine Tome I et II. Editions Eyrolles Paris 1988.
[3] S.N.Sivanandam., S.N.Deepa .Introduction to Genetic Algorithms. Edition Springer
Verlag Berlin Heidelberg 2008.
[4] Michel.D. Algorithme et structure de données génériques : cours et exercices corrigés en
langage C .Edition Dunod, Paris, 1999, 2004
[5] Amir.N. la programmation pluriannuelle du renouvellement des réseaux d’eau
Potable. Thèse de doctorat : Université Louis Pasteur, Strasbourg I, [2006].
[6] Antoine. L. Etude des diagnostique des installations du syndicat des eaux de la Moder (Bas
Rhin) et application d’un outil d’aide à la discision pour le renouvellement des conduites.
mémoire de fin d’étude : école nationale du génie de l’eau et de l’environnement de
Strasbourg.
[7] Moula. Z.2008.modélisation des réseaux d’alimentation en eau par les méthodes
heuristiques et métaheuristiques : ENP d’Alger
[8] Ayoub. G.2008.modélisation d’un réseau de distribution d’eau de potable en
modulation de pression : cas de KOUBA 97 –HOSSEIN DAY : ENP d’Alger.
[9] Document du 8ème Symposium international annuel de l’ASCE sur l’analyse des systèmes de
distribution d’eau, Cincinnati, Ohio, USA, 27-30 août 2006.
[10] Documents techniques de la SEAAL.
[11] Documents techniques de la boite Merlin.
[12] Manuel d’utilisation d’Epanet.
[13] Manuel d’utilisation de Matlab.