Sie sind auf Seite 1von 34

Wasserversorgung:

Optimierung, Modellierung und


Fallstudien
(Programmierung eines
Algorithmus zur Trassen-/
Durchmesseroptimierung mit
Python)
Xingyu Wang 2694058
1 Inhaltsverzeichnis

1 Inhaltsverzeichnis i
2 Einleitung 1
2.1.1 Stand der Technik 2
2.1.2 Wasserversorgungssystem allgemein 2
2.1.3 Wasserversorgungsziel und Aufgaben 2
2.1.4 Bestandteile eines Wasserversorgungssystems und ihre Funktionen 2
2.1.5 Netzformen 3
2.2 Anforderung von Rohrnetz 5
2.2.1 Anforderung von Drücken 5
2.2.2 Anforderung von Fließgeschwindigkeit 5
2.2.3 Wassersbedarf oder Verbrauch 6
2.3 Optimierung von Rohrnetzen 7
2.3.1 Traditionelle Optimierungsmaßnahme 8
2.3.2 Andere Optimierungsmethode 9
3 Heuristische Verfahren 10
3.1 Genetischer Algorithmus 11
3.1.1 Der Prozess der genetischen Algorithmen 11
3.1.2 Detailliert Vorgang von Genetische Algorithmus 13
3.2 Genetischer Algorithmus zur Wassernetzoptimierung 15
3.2.1 Aufbau von Interface zwischen Python und Epanet 15
3.2.2 Daten importieren und Aufteilen 17
3.2.3 Fitness Funktion 18
3.2.4 Crossover-, Mutation-, Selektion-Maßnahmen und Code 19
3.2.5 Algorithmus Run 20
4 Die Zusammenfassung und Ergebnisse 22
5 Fazit und Probleme Diskutieren 29
6 Anhang 1
7 Abbildungsverzeichnis 2
8 Literaturverzeichnis 3

Stand: 19.03.2022 i
2 Einleitung

Wasser ist die kostbarste Ressource der Menschheit und die Grundvoraussetzung für das Ü berleben. Im 21.
Jahrhundert wird Süßwasser die knappste natürliche Ressource der Welt sein. Trinkwasserknappheit und
Wasserverschmutzung beeinträchtigen das Leben und die Gesundheit der Einwohner. Wasser wird aus
natürlichen Gewässern entnommen, um alle Arten von Wasser für das menschliche Leben und die Produktion
bereitzustellen, und das verbrauchte Wasser wird wieder in die natürlichen Gewässer eingeleitet. Dieser Prozess
spielt für die Entwicklung der menschlichen Gesellschaft eine entscheidende Rolle. Deshalb kommt
Wasserversorgungs- und Entwässerungssystem auf.

Mit der wirtschaftlichen und sozialen Entwicklung und Urbanisierung. Das Wasserversorgungssystem ist ein
wichtiger Teil der Infrastruktur, der so konzipiert und gestaltet werden muss, dass die Menschen mit qualitativ
hochwertigem Trinkwasser versorgt werden. Wasserversorgungsnetz Konten für die gesamte
Wasserversorgung Projektinvestitionen von 70 bis 80 Prozent, in der Regel durch optimale Design-
Berechnungen, kann sparen 5 bis 10 Prozent der Projektinvestitionen, wenn das Projekt nicht optimiert wird, ist
das nicht nur für Investitionen, sondern auch für die Wasserversorgung hydraulischen Bedingungen schlecht.
Probleme wie häufiges Entleeren von Wassertürmen (oder Hochbehälter) oder lange Ü berläufe, zu hoher
Wasserdruck in einem Gebiet und zu niedriger Wasserdruck in einem anderen können auftreten. Optimierung
der Wasserversorgung Netzwerk-Design, derzeit meist auf der Grundlage der Standard-Optimierung Methode
der Kosten-Funktion, diese Methode der kontinuierlichen Funktion der Optimierung Berechnung kann in der
gesamten optimalen Lösung abgeleitet werden, und schnelle und bequeme Bedienung. Aber bei der Gestaltung
des Rohrnetzes, aufgrund der Diskontinuität der Rohrdurchmesser, so dass zwischen die
Optimierungsergebnisse und den tatsächlichen Betrieb der Situation gibt es eine große Abweichung, darüber
hinaus durch die Standard-Optimierung Methode kann von einer Wasserversorgung Situation (wie die maximale
Wasserverbrauch) der optimalen Lösung abgeleitet werden. Für andere Wasserversorgung Situationen wie die
maximale Ü bertragung, Feuer, etc. kann nur durch manuelle Methoden der Rohrdurchmesser angepasst werden,
so dass die Optimierungsergebnisse tendenziell ungenau.

Heutzutage werden Rohrnetzmodelle auf intelligente entwickelt, die eine benutzerfreundliche Oberfläche und
leistungsstarke Funktionen bieten. Der aktuelle Trend in der Netzmodellierung ist eine Revolution bei den
Optimierungsalgorithmen, d. h. bei der Frage, wie man die Leistung von Computern nutzen kann, um schnellere
und genauere Analysen zu erzielen. Zu den theoretischen Methoden, die für die optimale Planung von
Rohrnetzen verwendet werden, gehören lineare Planung, nichtlineare Planung, Aufzählung, dynamische
Planung, neuronale Netze und genetische Algorithmen. Die Anwendung genetischer Algorithmen auf die
optimale Gestaltung von Wasserversorgungsnetzen wurde 1993 von Murphy, Simpson und Dandy eingeführt.
Das beruht auf den Prinzipien der genetischen Vererbung und der Eugenik in der Biologie, bei der eine
bestimmte Anzahl von Vätern und Müttern ausgewählt, gekreuzt und mutiert wird, um gute Gene an ihre
Nachkommen weiterzugeben. Die Gene werden aussortiert, und nach mehreren Generationen der Vererbung
erhält man das besten Nachkommenschaft (die relativ optimale Lösung).

In diesem Projekt wird erörtert, wie das Wasserversorgungsnetz mit Hilfe genetischer Algorithmen in Python
optimiert werden kann, um die Wasserversorgungsbedingungen zu erfüllen und gleichzeitig den
Rohrdurchmesser zu optimieren und Baukosten zu sparen.

Programmierung eines Algorithmus zur Wasserversorgung 1


2.1.1 Stand der Technik

2.1.2 Wasserversorgungssystem allgemein

Das städtische Wasserversorgungssystem dient den sozialen, wirtschaftlichen und ökologischen Systemen der
Stadt und wird von allen drei Systemen gesteuert. Die städtische Wasserversorgung versorgt das Sozialsystem
mit Trinkwasser für die Bevölkerung und Wasser für die sanitären Anlagen. Das städtische
Wasserversorgungssystem kann auch Wasser für die Produktion liefern, und die Ziele und Mengen des
Wasserverbrauchs werden von der Wirtschaftsstruktur beeinflusst. Das Wasserversorgungssystem liefert auch
Wasser für das Umweltsystem, das durch den Anteil des befestigten Bodens, die Wasserverschmutzung und
den Anteil von Bäumen und Gras in der Grünfläche beeinflusst wird, während das städtische Umweltsystem
auch die Menge und Qualität des Wassers aus städtischen Wasserquellen beeinflusst.

2.1.3 Wasserversorgungsziel und Aufgaben

Das Wasserversorgungssystem dient der Bereitstellung von Wasser für den Lebensunterhalt der Menschen, die
Produktion und den Brandschutz. Der Grad ihrer Vollendung ist ein wichtiger Indikator für die soziale Zivilisation,
die wirtschaftliche Entwicklung und die Modernisierung einer Stadt. Aufgabe des Wasserversorgungssystems ist
es, Wasser in der richtigen Qualität, Menge und mit dem richtigen Druck zu liefern, um den Bedarf einer Vielzahl
von Kunden zu decken. Die Verwendungszwecke des Wasserversorgungssystems lassen sich in drei
Hauptkategorien unterteilen: Haushaltswasser, Brauchwasser und kommunales Löschwasser.
Haushaltswasser ist das Wasser, das von den Menschen in allen Lebensbereichen direkt genutzt wird, d. h.
Wasser für den Hausgebrauch, Wasser für öffentliche Einrichtungen und Wasser für Industrieunternehmen.
Brauchwasser wird zum Trinken, Kochen, Baden und Spülen im Haushalt verwendet. Der Wasserverbrauch in
öffentlichen Einrichtungen bezieht sich auf den Wasserverbrauch in öffentlichen Gebäuden und Einrichtungen
wie Institutionen, Schulen, Krankenhäusern, Hotels und Bahnhöfen, die durch einen hohen Wasserverbrauch
und zentrale Wasserverbrauchsstellen gekennzeichnet sind. Die Wasserqualität dieser Art von Wasser
entspricht der von Haushaltswasser. Die Menge des verbrauchten Wassers hängt vom Produktionsprozess des
Industrieunternehmens, den Produktionsbedingungen, der Anzahl der Mitarbeiter und dem Arbeitsplan ab.
Wasser, das in der industriellen Produktion verwendet wird, ist Wasser, das im industriellen Prozess verwendet
wird, um den Bedürfnissen der Industrie und der Qualität des Produkts gerecht zu werden, und kann in
Produktwasser (das zu einem Produkt oder einem Teil eines Produkts, z. B. einem Getränk, wird), Prozesswasser
(Wasser, das als Lösungsmittel oder Träger verwendet wird) und Hilfswasser (Wasser, das zur Kühlung oder
Reinigung verwendet wird) unterteilt werden. Die Vielfalt der Industriebetriebe und die Komplexität ihrer
Systemprozesse bedeuten, dass die Anforderungen an Wassermenge, -qualität und -druck sehr unterschiedlich
sind.

Kommunales Wasser und Löschwasser wird für die Straßenreinigung, die Bewässerung von Grünflächen, die
öffentliche Reinigung und Abwasserentsorgung sowie die Brandbekämpfung in städtischen und industriellen
Gebieten verwendet.

Um den Wasserversorgungsbedarf von Kommunen und Industrieunternehmen zu decken, müssen die


städtischen Wasserversorgungssysteme über ausreichende Wasserressourcen, Entnahmeeinrichtungen,
Anlagen zur Aufbereitung der Wasserqualität und Leitungssysteme für die Wasserübertragung und -verteilung
verfügen.

2.1.4 Bestandteile eines Wasserversorgungssystems und ihre Funktionen

Das System der Wasserversorgungsnetze umfasst Wasserübertragungskanäle, Verteilungsnetze, Einrichtungen


zur Regelung des Wasserdrucks (Pumpstationen, Druckminderer) und Einrichtungen zur Regelung der

Programmierung eines Algorithmus zur Wasserversorgung 2


Wassermenge (Wassertürme). Das System sollte den Anforderungen der Nutzer an Wassermenge, -qualität und
-druck entsprechen. In Gebieten mit großen Höhenunterschieden sollte die Schwerkraft, die sich aus den
Höhenunterschieden ergibt, voll genutzt werden, um den Druck der Wasserversorgung zu gewährleisten; in
Gebieten mit flachem Gelände wird der Druck der Wasserversorgung in der Regel durch Pumpen erzeugt, und
der Wasserdruck muss gegebenenfalls durch Ventile oder Druckminderungseinrichtungen reduziert werden, um
die Sicherheit der Wasseranlagen zu gewährleisten. Darüber hinaus sollten Veränderungen der Wasserqualität
während der Lagerung und Verteilung durch physikalische und chemische Mittel in der Planung und im
Betriebsmanagement kontrolliert werden, um eine Sekundärverschmutzung des Wassers zu verhindern.

2.1.5 Netzformen

Die Rohrleitung haben verschiedenen Arten. Wie Zubringerleitung, Hauptleitung, Versorgungsleitung und
Anschlussleitung.

Zubringerleitung: Wasserleitungen, die Einzugsgebiete, Wasseraufbereitungsanlagen, Speicherbehälter


und/oder Versorgungsgebiete verbinden, in der Regel ohne direkten Anschluss an den Verbraucher.
Zubringerleitungen werden oft auch als Transportleitungen bezeichnet. (Wasserversorgungssysteme —
UNITRACC - Underground Infrastructure Training and Competence Center 2022)

Hauptleitung: Die Hauptleitung hat die Aufgabe, Wasser in die verschiedenen Gebiete der Stadt zu
transportieren, wo es verbraucht wird, und die Kunden entlang der Strecke mit Wasser zu versorgen, ist aber
nicht an die Kunden angeschlossen.

Versorgungsleitung: Versorgungsleitung hat die Aufgabe, das Wasser aus der Hauptleitung zu den
Anschlussleitungen der Verbraucher und den Hydranten zu verteilen.

Anschlussleitung: Anschlussleitung hat die Aufgabe, das Wasser von der Versorgungsleitung zum Verbraucher
liefert.

Der Aufbau des Wasserversorgungsnetzes lässt sich grob in zwei Arten unterteilen, nämlich Verästelungsnetze
und Ringnetze.

Verästelungsnetze ist baumförmig zum Versorgungsgebiet hin angelegt, wobei der Durchmesser der Rohre mit
abnehmender Zahl der versorgten Nutzer immer kleiner wird. Die Gesamtlänge des Netzes ist kurz, die
Konstruktion ist einfach und die Investition ist wirtschaftlich. Tritt jedoch irgendwo in der Rohrleitung ein Leck
auf, muss das Wasser für Wartungsarbeiten abgestellt und die dahinter liegenden Wasserleitungen müssen
abgeschaltet werden, so dass die Sicherheit und Zuverlässigkeit der Wasserversorgung schlecht ist. Darüber
hinaus ist die Endpipeline des Baumes Netzwerk, aufgrund der Verringerung des Wasserverbrauchs, die
Geschwindigkeit des Wasserflusses verlangsamt, wenn die Nutzer kein Wasser verwenden, kann es zu
Stagnation kommen, was leicht zu einer Verschlechterung der Wasserqualität führt. Wenn der Wasserverbrauch
des Rohrnetzes die Auslegungslast übersteigt, kann am Ende des Rohrnetzes leicht ein Unterdruck entstehen,
der versteckte Probleme für die Wasserqualität mit sich bringt. Daher eignet sich diese Methode für den Einsatz
in Gebieten, in denen die Wassersicherheit und -zuverlässigkeit nicht hoch ist, wie z. B. in Kleinstädten und
kleinen Industriebetrieben, oder in der Anfangsphase des Städtebaus, um die Kosten für die Erstinvestition zu
senken und den Bau des Projekts zu beschleunigen. Wie die Folgenden Abbildung dargestellt. (Abbildung 2.2-1:
Verästelungsnetze (CHRISTOPH KULIR) )

Programmierung eines Algorithmus zur Wasserversorgung 3


Abbildung 2.2-1: Verästelungsnetze (CHRISTOPH KULIR)

Im Gegensatz zu den Verästelungsnetzen ist die Rohrleitung in einem Ring angeordnet, das heißt Ringnetze. Im
Falle einer Beschädigung eines Leitungsabschnitts wird dieser durch den Schieber von der übrigen Leitung
getrennt und kann gewartet werden, ohne dass die Wasserversorgung der übrigen Leitung beeinträchtigt wird,
und der Bereich der Unterbrechung ist nicht sehr groß. Darüber hinaus kann das Ringnetz die Sicherheit der
Wasserversorgung gewährleisten, aber bei gleichem Versorgungsgebiet ist die Gesamtlänge der Rohrleitung bei
Verwendung eines Ringnetzes größer als bei Verwendung eines Baumnetzes, so dass die Kosten bei Verwendung
eines Ringnetzes relativ hoch sind. Wie folgenden Abbildung dargestellt. (Abbildung 2.2-2: Ringnetze
(CHRISTOPH KULIR))

Abbildung 2.2-2: Ringnetze (CHRISTOPH KULIR)

Die Auslegung des Wasserversorgungsnetzes muss ein gewisses Maß an Sicherheit gewährleisten, aber auch der
Wirtschaftlichkeit Rechnung berücksichtigt werden. Daher kann bei der Auslegung des Leitungsnetzes ein
stufenweiser Aufbau in Betracht gezogen werden, d.h. Das Leitungsnetz wird nach dem jüngsten Plan zunächst
in Form eines Verästelungsnetze aufgebaut. Mit steigendem Wasserverbrauch werden Schritt für Schritt die
Leitungen hinzugefügt, die schließlich eine Ringnetzstruktur bilden. Daher wird das Wasserversorgungsnetz in
den meisten Städten heute in einer Kombination aus Ringnetz und Verästelungsnetze ausgeführt, d. h. das Netz
ist im Stadtzentrum als Ringnetz angeordnet, während in den Vororten der Stadt das Netz in Form eines
Baumnetzes angeordnet ist, so dass es sich nach außen ausdehnen kann.

Programmierung eines Algorithmus zur Wasserversorgung 4


2.2 Anforderung von Rohrnetz

Die Bereitstellung von stabilem und sauberem Trinkwasser war schon immer eine große
Herausforderung. Trinkwasserversorgung ist sicherzustellen, ständige Versorgung zu jeder Stunde an
jedem Tag, genusstauglich sowie rein zu sein. Um eine kontinuierliche Versorgung zu gewährleisten,
müssen die notwendigen Geschwindigkeit vorhanden sein und der erforderliche Versorgungsdruck im
Leitungsnetz aufrechterhalten werden. Gleichzeitig sollte die Wasserbedarf oder Verbrauch von den
Gebieten berücksichtigt werden.

2.2.1 Anforderung von Drücken

Bei der Wasserverteilung müssen die Wasserverluste minimiert und ausreichend Wasser mit ausreichendem
Druck bereitstellt werden. Dies sollte jederzeit geschehen, um sicherzustellen, dass der Druck so niedrig wie
möglich ist, um Ressourcenverschwendung, Lecks und sogar Explosionen aufgrund von Ü berdruck zu vermeiden.
Eine der gängigsten Strategien ist die Konstruktion eines Hochbehälters, über den das Wasser in das Netz
eingespeist wird. Für diese Form der Wasserversorgungsstrategie werden üblicherweise Druckzonen verwendet.
Druckzonen sorgen dafür, dass der Druck in der Wasserversorgung der Druckregelung entspricht. . Des Weiteren
kann in einigen Entwicklungsländern das Netz unorganisiert und unbrauchbar werden, wenn die Stadt wächst.
Aus diesem Grund sind Druckzonen vor allem kohärent und logisch. (Thomas Gramer)

Im Allgemeinen sollte die Druckzone für die Trinkwasserversorgung in städtischen Gebieten 6 bar betragen, und
am Ende des Netzes oder an den ungünstigsten Stellen, z. B. im Gelände, sollte der Druck nicht weniger als 1 bar
betragen, während der maximale statische Druck bei der Auslegung des Netzes 10 bar nicht überschreiten sollte,
und der tatsächliche Bau und Betrieb nicht mehr als Die Differenz von 2 bar dient dem Schutz der Drückstößen.
Beim Anschluss der Kunden an das Wasserversorgungsnetz müssen auch die unterschiedlichen
Stockwerkshöhen berücksichtigt werden, da höhere Stockwerke einen höheren Wasserdruck erfordern, wobei
im Erdgeschoss des Hauses in der Regel ein Mindestdruck von 2 bar erforderlich ist, der sich mit steigenden
Stockwerken erhöht, zuzüglich 0,5 bar pro Obergeschoss addiert werden. Bei höheren Gebäuden können
zusätzliche Pumpen erforderlich sein, um den Druck zu erhöhen. (Deutscher Verein des Gas- und Wasserfaches
2015)

Nach dem Anschluss des Wasserversorgungsnetzes an das unterste Stockwerk des Hauses ist es in der Regel
erforderlich, Manometer, Druckmesser usw. zu installieren. An dieser Stelle sollte der Wasserdruck auf 2 bar
eingestellt werden, nicht zu hoch und nicht zu niedrig, um Schäden an der Wasserversorgungsanlage zu
vermeiden. (Wasserdruck im Haus - wieviel Bar sind im Haushalt normal? 2022). Mit 1 bar Druck werden rund
10 m überwunden, in diesem Projekt wird die Stockwerke an den ungünstigsten Stellen 4 Geschoss
angenommen, deshalb sollte das niedrigsten Druck in ganzen Wassernetz mehr als 4 bar ist, nämlich über 40 m
überwunden werden.

2.2.2 Anforderung von Fließgeschwindigkeit

Der Durchflussgeschwindigkeit und die Durchflussmenge des Wassers in der Rohrleitung ist ebenfalls ein
wichtiger Faktor, der bei der Planung der Rohrleitung nicht außer Acht gelassen werden darf. Wenn eine hohe
Durchflussmenge verwendet wird, ist dies nicht förderlich für den Ausgleich der hydraulischen Eigenschaften
des Rohrleitungssystems und erhöht den Energieverbrauch, was zu einer Auskolkung der Rohrwand führt,
wodurch das Rohr schwer beschädigt und die Lebensdauer der Rohrleitung verringert wird. Im Gegenteil, wenn
die Durchflussgeschwindigkeit zu niedrig ist, wird der Wasserfluss langsam, so dass die Schwebstoffe im Wasser
leicht verschlammen, was zu Sekundärverschmutzung, Wassertemperatur, Geruch und anderen Problemen
führt.

Programmierung eines Algorithmus zur Wasserversorgung 5


Das Regelwerk des DVGW nennt als Richtwert für einen mittleren Stundendurchfluss größer oder gleich 0,005
m/s (432 m/d) vor. (Deutscher Verein des Gas- und Wasserfaches 2015)

2.2.3 Wassersbedarf oder Verbrauch

Bei der Planung eines Wasserversorgungssystems muss ermittelt werden, wie viel Wasser das System während
seiner Lebensdauer verbrauchen wird, da die Größe der Entnahmeeinrichtungen, der Aufbereitungsanlagen, der
Pumpstationen und der Leitungsnetze unter Berücksichtigung des geplanten Wasserverbrauchs festgelegt
werden muss und sich auf die Investitions- und Betriebskosten während der Bauzeit auswirkt.

Der städtische Wasserverbrauch setzt sich zusammen aus dem Wasserverbrauch der Stadtbewohner im
täglichen Leben, der öffentlichen Gebäude, der Industrie und der Brandbekämpfung.
Der städtische Wasserverbrauch wird von den Wasserressourcen und den klimatischen Bedingungen, dem Stand
der wirtschaftlichen Entwicklung, den Wasserverbrauchsgewohnheiten und der Entwicklung der
Industrieunternehmen beeinflusst. Die Wassermenge, die für Wohn- und Industriezwecke sowie für die
Bewässerung von Straßen und Grünanlagen verbraucht wird, kann von Tag zu Tag und von Monat zu Monat
schwanken.

Im Allgemeinen erreicht der Wasserverbrauch in den Haushalten morgens, wenn die Menschen aufwachen, um
ihre Duschen und Toiletten vorzubereiten, und in der Mitte des Tages seinen Höhepunkt, gefolgt von einem
höheren Bedarf am Abend, wenn die Menschen das Abendessen zubereiten. Deswegen ist angesprochenen
Verbrauchsspitzen in Abbildung 2.2-1 erkennbar.

Abbildung 2.2-1: Einwohnerspezifischer Trinkwasserbedarf (Wasserbedarf - Kennwerte und Einflussgrößen 2008)

Der durchschnittliche tägliche Wasserverbrauch pro Einwohner in Deutschland wird im Jahr 2020 bei 129
Litern Trinkwasser liegen, vom Bundesverband der Energie- und Wasserwirtschaft (BDEW). (Statista 2022) Und
in die Abbildung 2.2-2 gezeigt.

Programmierung eines Algorithmus zur Wasserversorgung 6


Abbildung 2.2-2: Entwicklung des Wasserverbrauchs pro Einwohner und Tag in Deutschland in den Jahren 1990 bis 2020 (Statista 2022)

Ist die verbrauchte Wassermenge pro Einwohner ermittelt, kann die von den Einwohnern der Stadt verbrauchte
Wassermenge grob nach der Anzahl der Personen bestimmt werden. Da es verschiedene Methoden zur
Berechnung des Gesamtwasserverbrauchs geben kann, muss berücksichtigt werden, dass die Formeln und
Koeffizienten, die für die verschiedenen Methoden verwendet werden, unterschiedlich sind und in diesem
Bericht nicht weiter vertieft werden.

Nach der Berechnung des Gesamtwasserverbrauchs von Privathaushalten müssen wir größere Verbraucher wie
Gewerbe, Industrie, Landschaftsbau usw. berücksichtigen, und es wird einige Schwankungen im
Wasserverbrauch dargestellt, wie die folgende Abbildung (Abbildung 2.2-3) zeigt. (Wasserbedarf - Kennwerte
und Einflussgrößen 2008)

Abbildung 2.2-3: Richtwerte für den Verbrauch von Großverbrauchern (Wasserbedarf - Kennwerte und Einflussgrößen 2008)

2.3 Optimierung von Rohrnetzen

Programmierung eines Algorithmus zur Wasserversorgung 7


Die Optimierungsmodell basiert auf einem mathematischen Modell, das hauptsächlich aus einer Zielfunktion
und Nebenbedingungen besteht. Bevor der Optimierungsprozess beginnt, werden das mathematische Modell
und der Algorithmus so ausgewählt, dass sie zu den Zielen und Beschränkungen des Projekts passen, und die
Ziel- und Beschränkungsfunktionen werden definiert, um die optimale Lösung für das Projekt zu finden.

2.3.1 Traditionelle Optimierungsmaßnahme

Die Optimierung der Auslegung des Rohrnetzes basiert meist auf der Senkung der Kosten für Bau und Betrieb
des Rohrnetzes bei gleichzeitiger Gewährleistung der hydraulischen Bedingungen. Traditionell wird die
Optimierung wie folgt durchgeführt. Die alle Gleichung und Index ist von Chinesische Bücher. (Yu Wang)

Die Zielfunktion:

𝑃
1 𝑝
𝑚𝑖𝑛 𝐾𝑜𝑠𝑡𝑒𝑛 = ∑( + ) ∗ (𝑎 + 𝑏𝐷𝑖𝑎 ) ∗ 𝑙𝑖 + 𝐾 ∗ (𝐻0 + ∑ ℎ𝑖 ) ∗ 𝑄𝑃
𝑇 100
𝑖=1 𝑖∈𝐿𝑀

𝐷𝑖 : Durchmesser von einige Rohrleitung

ℎ𝑖 : Druck-Kopf von einige Knotenpunkt

Die Zielfunktion drückt aus, dass unter der Prämisse des Planentwurfs des Rohrnetzes der Durchmesser der
einzelnen Rohrabschnitte vernünftig bestimmt wird, gleichzeitig kann das Rohrnetz den Wasserdruck, den
Wasserdurchfluss und die Zuverlässigkeit der Wasserversorgung unter der Prämisse gewährleistet werden, so
dass die Bau- und Betriebskosten des Rohrnetzes minimiert werden. Die Baukosten des Netzes hängen in der
Regel vom Durchmesser und die Betriebskosten vom Druckverlust und der Durchflussmenge des
Rohrleitungsabschnitts ab. Da sowohl der Druckverlust als auch der Abschnittsdurchfluss mit dem
Rohrdurchmesser zusammenhängen, ist die Zielfunktion im Allgemeinen hauptsächlich auf den
Rohrdurchmesser bezogen.

Das Verfahren zur Berechnung der Minimierung der Rohrnetzkosten in der Zielfunktion besteht darin, den
Rohrdurchmesser kontinuierlich einzustellen, um die Kosten zu minimieren. Bei der Einstellung des
Rohrdurchmessers müssen jedoch auch einige Randbedingungen erfüllt werden, wie z. B. der
Wasserversorgungsdruck. Daher wird die Einschränkungen-Funktion mit den hydraulischen Einschränkungen
erstellt.

Einschränkungen- Funktion

Junction Wasserdruck Anforderung: der Wasserdruck von Junction sollte die lokalen Mindesthöhe von
Wasserdruckkopf erfüllen, kann wie folgt ausgedrückt werden.

𝐻𝑗 ≥ 𝑍𝑗 + 𝐻𝑐 𝑗 = 1,2, … . , 𝐽

𝐻𝑗 : j Junction Wasserdruck
𝑍𝑗 : j Junction Ground Elevation
𝐻𝑐 : j Junction Mindesthöhe von Wasserdruckkopf
𝐽 : Junction

Wasserversorgung Zuverlässigkeit Einschränkungen: um die Zuverlässigkeit des Ringes Wasserversorgung


Rohrnetz zu schützen, kann nicht das Ringnetz zu einem Verästelungsnetze degradiert, kann der Durchmesser
der einzelnen Rohrabschnitte nicht Null sein, kann wie folgt ausgedrückt werden.

Programmierung eines Algorithmus zur Wasserversorgung 8


𝐷𝑖 > 0 𝑖 = 1, 2, … . . , 𝑃
𝑞𝑖 > 0 𝑖 = 1, 2, … . . , 𝑃
ℎ𝑖 > 0 𝑖 = 1, 2, … . . , 𝑃

hydraulische Anforderung: hydraulische Anforderung umfassen die Beziehung zwischen der Durchflussmenge,
Durchmesser und Druckverlust der Rohrleitung Abschnitt, der Junction Kontinuität Gleichung, und der Ring
Energie Gleichung, die wie folgt ausgedrückt werden kann.

𝑘 ∗ 𝑞𝑖𝑛
ℎ𝑖 = 𝑙 𝑖 = 1, 2, … … … , 𝑃
𝐷𝑖𝑚 𝑖

∑ 𝑞𝑖 + 𝑄𝑗 = 0 𝑗 = 1, 2, … … … , 𝐽
𝑖∈𝑃𝑗

∑(ℎ𝑖 )𝑃 = 0 𝑝 = 1, 2, … … … , 𝐿
𝑖∈𝑃𝑗

ℎ𝑖 : j Rohrleitung Verlust von Wasserkopf


𝑞𝑖 : i Rohrleitung Durchflussmenge
𝐷𝑖 : i Rohrleitung Durchmesser
𝑛, 𝑚, 𝑘 : Index von Berechnung von Verlust der Wasserkopf
𝑄𝑗 : j Junction Durchflussmenge
𝑃𝑗 : Die Menge der Rohrsegmente, die mit dem j-Knoten verbunden sind
𝑃𝐿 : Sammlung von Rohrsegmenten im p-Ring
𝐽 : Die gesamten Anzahlen von Junction
𝐿 : Die gesamten Anzahlen von Ringen

Lösen der Zielfunktion

Vereinfacht man die obige Funktion und löst die partiellen Ableitungen erster Ordnung bzw. die partiellen
Ableitungen zweiter Ordnung, so erhält man den optimierten Druckverlust hi für jeden Abschnitt des Rohres,
wenn die Durchflussmenge qi bestimmt ist, und kann dann den optimierten Rohrdurchmesser Di bestimmen,
um die Gesamtkosten zu minimieren. Das Problem bei dieser Methode ist jedoch, dass zunächst der Durchfluss
für jeden Abschnitt des Netzes bestimmt werden muss, was bei Ringnetzen sehr schwierig ist, insbesondere am
Ende des Ringnetzes. Außerdem muss für jedes Rohr eine eigene Berechnung durchgeführt werden, was
umständlich und in der Abwasserplanung schwer umzusetzen ist.

2.3.2 Andere Optimierungsmethode

Bei der Optimierung von Wasserversorgungsnetzen wird häufig auch der Algorithmus Mixed Integer Nonlinear
Programming, kurz MINLP, verwendet, der im Folgenden kurz beschrieben wird und bei der Optimierung von
Wasserversorgungsnetzen Anwendung findet.

Mixed Integer Nonlinear Programming (MINLP) bezieht sich auf Optimierungsprobleme mit kontinuierlichen und
diskreten Variablen und nichtlinearen Funktionen in der Zielfunktion und/oder den Nebenbedingungen.
Der Algorithmus Mixed Integer Nonlinear Programming (kurz MINLP) wird ebenfalls häufig bei der Optimierung
von Wasserversorgungsnetzen eingesetzt. Für die Modellierung von MINLP stehen zwei kommerzielle
Softwarepakete zur Verfügung, nämlich GAMS und AMPL, wobei in dieser Arbeit (Schewe und Schmidt 2019)
das GAMS-Paket verwendet wird. unter dem Paket wird „Optimal Design of Water Distribution Networks“ als
Teil der „MINLP Library“ heruntergeladen. Und die Wasserversorgungssystem wird optimiert.

Programmierung eines Algorithmus zur Wasserversorgung 9


3 Heuristische Verfahren

Der heuristische Algorithmus wird im Gegensatz zum Optimierungsalgorithmus vorgeschlagen. Ein optimaler
Algorithmus für ein Problem findet die optimale Lösung für jeden Fall dieses Problems. Ein heuristischer
Algorithmus kann als ein intuitiv oder empirisch konstruierter Algorithmus definiert werden, der für jede Instanz
des zu lösenden kombinatorischen Optimierungsproblems eine machbare Lösung zu akzeptablen Kosten (in
Bezug auf Rechenzeit und Platz) liefert, wobei das Ausmaß, in dem die machbare Lösung von der optimalen
Lösung abweicht, im Allgemeinen nicht vorhergesagt werden kann. In diesem Stadium sind heuristische
Algorithmen hauptsächlich natürliche, körperähnliche Algorithmen, vor allem Ameisenkolonie-Algorithmen,
Simulated Annealing-Methoden, neuronale Netze, usw. Es kann oft sehr gute Lösungen finden, aber es gibt keine
Möglichkeit zu beweisen, ob es zu schlechteren Lösungen kommt; es kann die Antwort normalerweise in einer
angemessenen Zeit lösen, aber es gibt keine Möglichkeit zu wissen, ob es jedes Mal mit einer solchen
Geschwindigkeit lösen kann.

Es gibt eine allgemeine Klasse von heuristischen Strategien, die als metaheuristische Algorithmen (Metaheuristik)
bezeichnet werden und in der Regel die Technik der chaotischen Zahlensuche verwenden. Sie können auf ein
sehr breites Spektrum von Problemen angewendet werden, aber es gibt keine Garantie für ihre Effizienz. Der
Optimierungsmechanismus dieser Art von Algorithmus hängt nicht zu sehr von Informationen über die
Organisation des Algorithmus ab und kann in großem Umfang zur kombinatorischen Optimierung von
Funktionen und Funktionsberechnungen eingesetzt werden.

Verschiedene spezifische Implementierungen moderner Heuristiken sind relativ unabhängig voneinander


vorgeschlagen worden und unterscheiden sich in gewisser Weise voneinander. Historisch gesehen sind die
wichtigsten modernen Heuristiken: Simulated Annealing Algorithmen (SA), genetische Algorithmen (GA),
Listensuchalgorithmen (ST), evolutionäre Planung (EP), evolutionäre Strategien (ES), Ameisenkolonie-
Algorithmen (ACA) und künstliche neuronale Netze (ANN). Betrachtet man die verschiedenen
Kodierungsschemata für Entscheidungsvariablen, so gibt es die Kodierung mit fester Länge (statische Kodierung)
und die Kodierung mit variabler Länge (dynamische Kodierung).

SA ist ein globaler probabilistischer Suchalgorithmus, der auf der iterativen Monte-Carlo-Lösung basiert und
einen anderen Suchmechanismus und andere Merkmale aufweist als der herkömmliche Algorithmus, der auf
dem thermodynamischen Prinzip des Glühens basiert.

GA ist ein globaler paralleler Suchalgorithmus, der auf der Idee der "Ü ber- und Unterlegenheit" der biologischen
Evolution und der Genetik beruht.

ACA ist ein populationsbasierter evolutionärer Simulationsalgorithmus, der von Forschungsergebnissen über das
kollektive Verhalten von Ameisenvölkern in der Natur inspiriert wurde, und ist ein stochastischer
Suchalgorithmus.

Moderne heuristische Algorithmen unterscheiden sich in gewissem Maße in ihren Optimierungsmechanismen,


haben aber eine große Ähnlichkeit in ihren Optimierungsprozessen, die alle Teile einer "Nachbarschaftssuche"-
Struktur sind. Der Algorithmus beginnt mit einer Anfangslösung, generiert mehrere Nachbarschaftslösungen
mittels einer Nachbarschaftsfunktion unter Kontrolle der Schlüsselparameter des Algorithmus, aktualisiert den
aktuellen Zustand gemäß einem Akzeptanzkriterium (deterministisch, probabilistisch oder chaotisch) und
modifiziert dann das Kriterium und passt die Schlüsselparameter gemäß den Schlüsselparametern an. Die
Suchschritte werden so lange wiederholt, bis das Konvergenzkriterium des Algorithmus erfüllt ist, was zu einem
Optimierungsergebnis für das Problem führt.

Programmierung eines Algorithmus zur Wasserversorgung 10


In diesem Bericht und Programm konzentrieren wir uns hauptsächlich auf Genetisch Algorithmus, um Rohrnetz
von Wasserversorgung zu optimieren.

3.1 Genetischer Algorithmus

Der genetische Algorithmus (GA) ist ein Computermodell des biologischen Evolutionsprozesses, das die
natürliche Selektion und die genetischen Mechanismen der darwinistischen biologischen Evolution simuliert und
eine Methode zur Suche nach optimalen Lösungen durch Simulation des natürlichen Evolutionsprozesses
darstellt.

Seine Hauptmerkmale sind die direkte Bearbeitung von Strukturobjekten ohne die Qualifizierung von
Ableitungen und Funktionskontinuität, die inhärente implizite Parallelität und die bessere globale Suchfähigkeit
sowie die Verwendung probabilistischer Suchmethoden, die den Suchraum für die Optimierung automatisch
erfassen und leiten, ohne dass bestimmte Regeln erforderlich sind, und die Suchrichtung adaptiv anpassen.

Genetische Algorithmen nehmen alle Individuen einer Population auf und nutzen Randomisierung-Techniken,
um eine effiziente Suche in einem kodierten Parameterraum zu steuern. Dabei bilden Selektion, Crossover und
Mutation die genetischen Operationen des genetischen Algorithmus; Fünf Elemente sind für den genetischen
Algorithmus wesentlich: die Kodierung der Parameter, die Festlegung der Ausgangspopulation, der Entwurf der
Fitnessfunktion, der Entwurf der genetischen Operationen und die Festlegung der Kontrollparameter.

3.1.1 Der Prozess der genetischen Algorithmen

Ein genetischer Algorithmus geht von einer Population aus, die die Menge der möglichen Lösungen für ein
Problem darstellt, und eine Population besteht aus einer bestimmten Anzahl von Individuen, die durch Gene
kodiert sind. Jedes Individuum ist eigentlich ein Chromosom mit folgenden Merkmalen

Das Chromosom ist der Hauptträger des genetischen Materials, d. h. eine Sammlung von Genen, deren interne
Ausprägung (d. h. der Genotyp) eine Kombination von Genen ist, die die äußere Ausprägung der Form des
Individuums bestimmt, z. B. wird das Merkmal der schwarzen Haare durch eine Kombination von Genen im
Chromosom bestimmt, die dieses Merkmal steuern. Daher muss die Zuordnung von Ausprägung zu Genotyp, d.
h. die Kodierung, von Anfang an erfolgen. Wegen der Komplexität der Nachahmung der genetischen Kodierung
nehmen wir oft Vereinfachungen vor, wie z. B. die binäre Kodierung.

Nachdem die erste Generation von Populationen generiert wurde, entwickelt sich das Prinzip des Ü berlebens
des Stärkeren und der Stärksten von Generation zu Generation weiter, um immer bessere Näherungslösungen
zu erzeugen. Bei jeder Generation werden Individuen entsprechend ihrer Fitness im Problembereich ausgewählt,
und genetische Operatoren werden zur Kreuzung und Mutation eingesetzt, um eine Population zu erzeugen, die
den neuen Satz von Lösungen repräsentiert.

Dieser Prozess führt zu Populationen, die besser an ihre Umgebung angepasst sind als ihre Vorgänger, wie in der
natürlichen Evolution, und die besten Individuen der letzten Generation werden entschlüsselt und können als
annähernd optimale Lösungen für das Problem verwendet werden.
Zum besseren Verständnis der genetischen Algorithmen wird im Folgenden eine kurze Einführung in die
relevanten biologischen Begriffe gegeben.

Genotyp: die innere Ausprägung der Chromosomen eines Merkmals.

Phänotyp: die äußere Ausprägung eines chromosomal determinierten Merkmals oder, anders ausgedrückt, die
äußere Ausprägung eines Individuums gemäß dem Genotyp.

Programmierung eines Algorithmus zur Wasserversorgung 11


Evolution: die allmähliche Anpassung einer Population an ihre Umwelt und die kontinuierliche Verbesserung
ihrer Eigenschaften. Die Evolution von Organismen findet in Form von Populationen statt.

Fitness: ein Maß dafür, wie gut sich eine Art an ihre Umwelt angepasst hat.

Selektion: Die Auswahl einer Anzahl von Individuen aus einer Population mit einer bestimmten
Wahrscheinlichkeit. Im Allgemeinen handelt es sich bei der Selektion um einen Auswahlprozess auf der
Grundlage der Fitness.

Fortpflanzung: Wenn sich eine Zelle teilt, wird das genetische Material, die DNA, durch Replikation auf die neu
entstandene Zelle übertragen, und die neue Zelle erbt die Gene der alten Zelle.

Kreuzung: Das Abschneiden der DNA an einer identischen Stelle auf zwei Chromosomen, wobei sich die Stränge
davor und danach überkreuzen und zwei neue Chromosomen bilden. Auch genetische Rekombination oder
Hybridisierung genannt.

Mutation: die Möglichkeit (geringe Wahrscheinlichkeit), dass während der Replikation ein Replikationsfehler
auftritt und die Mutation ein neues Chromosom hervorbringt, das ein neues Merkmal aufweist.

Kodierung: die Anordnung der genetischen Information in der DNA auf einem langen Strang nach einem
bestimmten Muster. Die genetische Kodierung kann als Zuordnung von Ausdruck zu Genotyp betrachtet werden.

Dekodierung: Die Zuordnung von Genotypen zu Ausprägungen.

Individuum (Individuum): eine Einheit mit einem charakteristischen Chromosom.

Population (Bevölkerung): die Menge der Individuen; die Anzahl der Individuen in der Menge wird als Population
bezeichnet.

Jedes Chromosom in einem genetischen Algorithmus entspricht einer Lösung für den genetischen Algorithmus,
und wir verwenden im Allgemeinen die Fitnessfunktion, um den Wert dieser Lösung zu messen. Es wird also
eine Zuordnung zwischen einem Genom und der Fitness seiner Lösung hergestellt. Der Prozess der
Implementierung eines genetischen Algorithmus ähnelt dem evolutionären Prozess in der Natur.

Allgemeine Schritte eines genetischen Algorithmus.

1, Zufällige Erzeugung einer Population.

2, Bestimmung der Fitness der Individuen gemäß der Strategie, ob sie das Optimierungskriterium erfüllt, wenn
ja, Ausgabe des besten Individuums und seiner optimalen Lösung, Ende. Andernfalls wird mit dem nächsten
Schritt fortgefahren.

3, Auswahl der Eltern auf der Grundlage der Fitness, wobei Individuen mit hoher Fitness eine hohe
Wahrscheinlichkeit haben, ausgewählt zu werden, und Individuen mit niedriger Fitness eliminiert werden.

4, Crossover wird mit den Chromosomen der Eltern nach bestimmten Methoden durchgeführt, um
Nachkommen zu erzeugen.

5, Die Chromosomen der Nachkommenschaft werden mutiert.

Programmierung eines Algorithmus zur Wasserversorgung 12


6, Eine neue Generation von Populationen wird durch Crossover und Mutation erzeugt und kehrt zu Schritt 2
zurück, bis die optimale Lösung erreicht ist.

3.1.2 Detailliert Vorgang von Genetische Algorithmus

Die Kodierung ist das Hauptproblem, das bei der Anwendung genetischer Algorithmen gelöst werden muss, und
ist ein wichtiger Schritt bei der Entwicklung genetischer Algorithmen. Die Kodierungsmethode wirkt sich auf die
Funktionsweise der genetischen Operatoren wie Crossover- und Variationsoperatoren aus und bestimmt
weitgehend die Effizienz der genetischen Evolution.

Bisher sind viele verschiedene Kodierungsmethoden vorgeschlagen worden. Im Allgemeinen können diese
Kodierungsmethoden in drei Hauptkategorien eingeteilt werden: binäre Kodierungsmethoden, Gleitkomma-
Kodierungsmethoden und symbolische Kodierungsmethoden. Sie werden im Folgenden getrennt beschrieben:

Binäre Kodierungsmethode

Genau wie das menschliche Gen hat AGCT 4 Basensequenzen. Hier verwenden wir jedoch nur zwei Basen, 0 und
1, die dann zu einem Chromosom aneinandergereiht werden. Ein Bit entspricht der Informationsmenge in zwei
Zuständen, so dass ein ausreichend langes binäres Chromosom alle Merkmale darstellen kann. Dies ist die binäre
Kodierung. Wie 1110001010111.

Es besteht aus einer binären Symbolmenge, die aus den Binärsymbolen 0 und 1 besteht und einige Vorteile hat:
Die Kodierungs- und Dekodierungsoperationen sind einfach und leicht durchzuführen. Genetische Operationen
wie Crossover und Mutation sind einfach zu implementieren.

Die Nachteile der binären Kodierung sind: Bei einigen Optimierungsproblemen mit kontinuierlichen Funktionen
ist die Fähigkeit zur lokalen Suche aufgrund der Zufälligkeit gering, und bei einigen hochpräzisen Problemen
entfernt sich die Lösungsmenge, wenn sie nahe an der optimalen Lösung liegt, von der optimalen Lösung und
erreicht keine Stabilität, da ihr Ausdruck stark variiert und nach der Mutation diskontinuierlich ist.

Floating Point-Kodierungsmethode

Die binäre Kodierung ist zwar einfach und intuitiv, aber offensichtlich. Bei der Diskretisierung kontinuierlicher
Funktionen kommt es jedoch zu einem Abbildungsfehler. Wenn die Länge eines Individuums kurz ist, erfüllt es
möglicherweise nicht die Genauigkeitsanforderungen, während eine längere individuelle Kodierungslänge die
Genauigkeit verbessert, aber die Schwierigkeit der Dekodierung erhöht und den Suchraum des genetischen
Algorithmus stark vergrößert.

Die so genannt Floating point-Kodierungsmethode bedeutet, dass jeder Genwert eines Individuums durch eine
Floating Point innerhalb eines bestimmten Bereichs dargestellt wird. Bei der Floating Point-Kodierungsmethode
muss sichergestellt werden, dass die Genwerte innerhalb der Grenzen eines bestimmten Intervalls liegen, und
die im genetischen Algorithmus verwendeten genetischen Operatoren wie Crossover und Mutation müssen
ebenfalls sicherstellen, dass die Genwerte der aus ihren Operationen resultierenden neuen Individuen ebenfalls
innerhalb dieser Intervallgrenze liegen. Dies wird im Folgenden dargestellt.

1.2 - 3.2 - 5.3 - 7.2 - 1.4 - 9.7

Floating Point-Kodierungsmethode hat mehrere Vorteile: Sie eignet sich für die Darstellung eines großen
Zahlenbereichs in genetischen Algorithmen, sie eignet sich für genetische Algorithmen mit hohen
Genauigkeitsanforderungen, sie erleichtert die genetische Suche in großen Räumen, sie verbessert die

Programmierung eines Algorithmus zur Wasserversorgung 13


Berechnungskomplexität genetischer Algorithmen, sie erhöht die Effizienz der Operationen und sie erleichtert
die Handhabung komplexer Beschränkungen für Entscheidungsvariablen.

Fitness Funktion

Die Fitnessfunktion, die auch als Bewertungsfunktion bezeichnet wird, ist ein Kriterium, das zur Unterscheidung
zwischen guten und schlechten Individuen in einer Gruppe gemäß der Zielfunktion verwendet wird. Die
Fitnessfunktion ist immer nicht-negativ, während die Zielfunktion positiv oder negativ sein kann, so dass eine
Transformation zwischen der Zielfunktion und der Fitnessfunktion erforderlich ist. Der allgemeine Prozess der
Bewertung der individuellen Fitness ist wie folgt. Nach der Dekodierung des individuellen Kodierungsstrings wird
der Wert der Zielfunktion für das entsprechende Individuum berechnet. Je nach Art des Optimierungsproblems
wird die Fitness des Individuums aus dem Zielfunktionswert nach bestimmten Transformationsregeln ermittelt.

Selektionsfunktion

Die Selektionsfunktion in einem genetischen Algorithmus wird verwendet, um zu bestimmen, wie die Individuen
aus der Elternpopulation in einer bestimmten Weise für die Vererbung an die Population der nächsten
Generation ausgewählt werden. Mit der Selektionsfunktion wird festgelegt, welche Individuen rekombiniert
oder gekreuzt werden und wie viele Nachkommen aus den ausgewählten Individuen hervorgehen.
Im Folgenden werden mehrere gängige Arten der Selektion beschrieben.

Auswahl des Roulette-Rads: Eine Playback-Zufallsauswahlmethode. Die Wahrscheinlichkeit, dass jedes


Individuum in die nächste Generation eintritt, ist gleich dem Verhältnis zwischen seinem Fitnesswert und der
Summe der Fitnesswerte der Individuen in der gesamten Population. Der Auswahlfehler ist groß.

Stochastisches Turnier: Ein Paar von Individuen wird jedes Mal durch ein Rouletterad ausgewählt, dann
konkurrieren die beiden Individuen miteinander und dasjenige mit der höchsten Fitness wird ausgewählt, und
so weiter, bis die Auswahl abgeschlossen ist.

Optimale Retentionsauswahl: Ein genetischer Algorithmus führt zunächst eine Selektion nach der Roulette-
Methode durch, und dann wird die Struktur des am besten angepassten Individuums der aktuellen Population
in der nächsten Generation vollständig repliziert.

Zufallsauswahl ohne Wiederholung (auch Expected Value Selection genannt): Es wird eine Zufallsauswahl auf
der Grundlage der Ü berlebenserwartung jedes einzelnen Individuums in der nächsten Populationsgeneration
durchgeführt. Die Methode ist wie folgt:

1, Berechnen Sie die erwartete Anzahl N von Individuen in der Population, die in der nächsten Generation
überleben werden.

2,Wenn ein Individuum für die Crossover-Operation ausgewählt wird, wird die Anzahl der
Ü berlebenserwartungen in der nächsten Generation um 0,5 subtrahiert, und wenn ein Individuum nicht für die
Crossover-Operation ausgewählt wird, wird die Anzahl der Ü berlebenserwartungen in der nächsten Generation
um 1,0 subtrahiert.

3, Wenn die Anzahl der Ü berlebenserwartungen eines Individuums im weiteren Verlauf des Selektionsprozesses
kleiner als 0 ist, hat dieses Individuum keine Chance mehr, ausgewählt zu werden.

Genetik - Chromosomenkreuzung (Crossover)

Programmierung eines Algorithmus zur Wasserversorgung 14


Eine Crossover-Operation eines genetischen Algorithmus, bei der zwei miteinander gepaarte Chromosomen
einen Teil ihrer Gene miteinander austauschen und so zwei neue Individuen bilden. Crossover-Algorithmen für
binär codierte Individuen oder Floating-Point codierte Individuen.

Ein-Punkt-Crossover: Ein zufälliger Kreuzungspunkt in der Kodierkette eines Individuums, an dem Teile der
Chromosomen zweier gepaarter Individuen ausgetauscht werden.

Zwei-Punkt-Crossover: zwei zufällig gesetzte Crossover-Punkte in den kodierenden Strings von Individuen,
gefolgt von einem teilweisen Austausch von Genen. Gibt es auch Mehrpunkt-Crossover.

Gleichmäßiges Crossover: Zwei Individuenpaare tauschen die Gene an jedem Locus mit der gleichen
Wahrscheinlichkeit des Ü berkreuzens aus, wodurch zwei neue Individuen entstehen.

Arithmetisches Crossover: Die lineare Kombination von zwei Individuen, um zwei neue Individuen zu schaffen.
Das Objekt dieser Operation ist in der Regel ein Individuum, das durch einen Floating-Point-Code dargestellt
wird.

Mutation - genetische Mutation (Mutation)

Mutation in genetischen Algorithmen ist der Prozess des Ersetzens einiger Genwerte im chromosomalen
Kodierungsstrang eines Individuums durch andere Allele, um ein neues Individuum zu schaffen. Die Mutation
erfüllt bei GA eine wichtige Funktion, da sie hilft, lokale Konvergenz zu vermeiden, indem sie neue Wege einführt,
die es uns ermöglichen, andere Teile des Lösungsraums zu erkunden. (Stoltz 2018)

3.2 Genetischer Algorithmus zur Wassernetzoptimierung

In diesem Projekt verwenden wir einen genetischen Algorithmus, um das Wasserversorgungsnetz zu optimieren.
In diesem Projekt wird die Wassernetzsoftware Epanet mit Python verbunden und eine Interface geschaffen, so
dass die in Epanet gewonnenen Netzdaten an Python übertragen, dann optimiert und analysiert werden können
und schließlich ein neues Netzmodell erstellt wird.

Die Schritte sind:

1, Aufbau der interface zwischen Python und Epanet


2, Import der Netzdaten, d.h. Rohrdurchmesser, Durchflussmenge, Wasserdruck usw. in Python.
3, Analysieren, Zusammenfassen und Zuordnen von Preisen zu den vorhandenen Netzdaten.
4, Bestimmen Sie die Zielfunktion und die Fitnessfunktion
5, Bestimmung der für den genetischen Algorithmus erforderlichen Parameter
6, Konstruieren Sie den genetischen Algorithmus
7, Führen Sie den genetischen Algorithmus aus und iterieren Sie anschließend
8, Analyse der Ergebnisse der Iterationen
9, Regenerierung des optimierten Rohrnetzes in eine Rohrnetzdatei
10, Ausführen der hydraulischen Simulation in Epanet und Anzeigen der Ergebnisse

3.2.1 Aufbau von Interface zwischen Python und Epanet

Programmierung eines Algorithmus zur Wasserversorgung 15


Gegenwärtig werden EPANETTOOLS und WNTR vor allem bei der Erstellung von Interface in Epanet und Python
eingesetzt. Die Beiden sind Python-Pakets, die es dem Benutzer ermöglicht, alle Funktionen des Epanet
Programmers Toolkit in Python-Skripten aufzurufen. Da es nicht möglich ist, das EPANETTOOLS -Paket auf einem
Computer zu installieren, wird dieses Projekt das WNTR-Python-Paket verwenden, um Python mit Epante zu
verbinden. Im Folgenden wird eine kurze Einführung in WNTR gegeben.

WNTR ist ein Python-Paket zur Simulation und Analyse der Widerstandsfähigkeit von Wasserverteilungsnetzen.
In WNTR besteht das Wasserversorgungsnetz aus Rohren, Ventilen, Tanks und Reservoirs. WNTR bietet die
Flexibilität, die Netzstruktur zu ändern, und ermöglicht Kontrollvorgänge, hydraulische Analysen, Simulationen
von zerstörerischen Ereignissen und Wiederherstellungsvorgänge.
Darüber hinaus ist WNTR mit weit verbreiteten Python-Paketen für wissenschaftliche Berechnungen kompatibel,
darunter NetworkX [HaSS08], pandas [Mcki13], NumPy [VaCV11], SciPy [VaCV11] und Matplotlib [Hunt07].
Diese Pakete ermöglichen es den Benutzern, benutzerdefinierte Analysen direkt in Python zu erstellen und
haben Zugang zu Werkzeugen für die Analyse komplexer Wasserverteilungsnetzstrukturen, die Analyse von
Zeitreihendaten aus Simulationsergebnissen, die effiziente Durchführung von Simulationen und die Erstellung
hochwertiger Grafiken. (Overview — WNTR 0.4.1 documentation 2022) Das folgende Abbildung (Abbildung
3.2-1) zeigt die in WNTR enthaltenen Funktionen im Detail

Abbildung 3.2-1: Flussdiagramm zur Veranschaulichung von Anwendungsbeispielen

Vor der Programmierung müssen wir die Umgebung einrichten, Anaconda herunterladen und WNTR auf
PowerShell installieren, da Pakete wie NumPy, SciPy, NetworkX, pandas und Matplotlib bereits in der Anaconda-
Umgebung enthalten sind und nicht separat installiert werden müssen.

Für dieses Projekt verwenden wir die Software Pycharm zur Programmierung. Zuerst müssen wir das WNTR-
Paket zu unserer Umgebung hinzufügen, indem wir die Interpreter-Option in den Setup-Optionen finden, und
dann können wir den Aufbau von Interface für Epanet schaffen. Wie die Abbildung 3.2-2 gezeigt.

Programmierung eines Algorithmus zur Wasserversorgung 16


Abbildung 3.2-2: WNTR Paket hinzufügen

3.2.2 Daten importieren und Aufteilen

Dann wir müssen die .net Datei bei Epanet in .inp Datei übertragen, dann können die Daten von Netzwerk in
Python verwendet werden. In Webseite (Overview — WNTR 0.4.1 documentation 2022)können wir die Code
von Verwendung von WNTR finden, wie am Anfangen die .inp Datei in Python importieren. In diesem Projekt
wie in Abbildung 3.2-3gezeigt.

Abbildung 3.2-3: Import File und Output Path einstellen.

Danach werden Algorithmus Parameters und Codec Informationen in „Config.py“ eingeschrieben. Dann für das
Rohrnetz werden alle Rohrradien nach dem Zufallsprinzip generiert und eine Matrix mit 100 Lösungsmengen
erstellt, die unsere Ausgangspopulation darstellt. und klassifizieren sie entsprechend der Spezifikation des
Rohrnetzes, deren Code im Folgenden Abbildung 3.2-4 dargestellt ist.

Programmierung eines Algorithmus zur Wasserversorgung 17


Abbildung 3.2-4: klassifizieren von Rohrduchmesser

Anschließend werden die Preise aller Rohre aufgelistet und gemäß den Vorschriften summiert. Die Durchmesser
Norm und Preis wird in Anhang als Tabelle dargestellt.

3.2.3 Fitness Funktion

Zunächst muss eine hydraulische Analyse des Wasserversorgungsnetzes durchgeführt werden, um die
Mindestdurchflussgeschwindigkeit und den Mindestdruck des Wasserversorgungsnetzes zu ermitteln. Der
Mindestdruck darf nicht unter 40 m und die Mindestdurchflussgeschwindigkeit muss größer als 0,005 m/s sein.
Wenn diese Bedingungen nicht erfüllt sind, wird ein Straffaktor zugewiesen und mit Gesamtpreis des Netzes
addiert, um einen Wert zu erhalten. Das Wert ist unsere Fitnessfunktion, die besagt, dass je größer der Wert ist,
desto besser ist die Lösung und desto geringer sind die Gesamtkosten für den Aufbau des Netzes. Code sind in
Abbildung 3.2-5 gezeigt.

Abbildung 3.2-5: Fitness Funktion erstellen

Programmierung eines Algorithmus zur Wasserversorgung 18


3.2.4 Crossover-, Mutation-, Selektion-Maßnahmen und Code

Zwei Individuenpaare tauschen ihre Gene an jedem Locus mit der gleichen Wahrscheinlichkeit aus, so dass zwei
neue Individuen entstehen. Code sind Abbildung 3.2-6 in dargestellt. Bei der Variation wird die Methode der
Normalverteilungsvariation verwendet. Code sind in Abbildung 3.2-7dargestellt. Für Selektion wird Roulette
Selektion Model ausgewählt. Code sind in Abbildung 3.2-8 dargestellt.

Abbildung 3.2-6: Crossover

Abbildung 3.2-7: Mutation

Abbildung 3.2-8: Selektion

Programmierung eines Algorithmus zur Wasserversorgung 19


3.2.5 Algorithmus Run

Nach der Definition der oben genannten Methoden wird eine Klasse erstellt, um individuelle Informationen zu
schreiben. In dieser Klasse definieren wir die Ausgangsinformationen und die Methoden zur Aktualisierung der
Funktionswerte. Dies ist in Abbildung 3.2-9 dargestellt.

Abbildung 3.2-9: Individual Information

Als nächstes erstellen wir eine Klasse, die sich mit der Ausführung des Algorithmus beschäftigt. In der Klasse
Algorithmus definieren wir zunächst die Parameter des genetischen Algorithmus. Alle spezifischen Werte sind
bereits in der Datei „config.py“ enthalten. Dies ist in der folgenden Abbildung dargestellt. (Abbildung 3.2-10,
Abbildung 3.2-11)

Abbildung 3.2-10: Definition von initiale Parameters

Programmierung eines Algorithmus zur Wasserversorgung 20


Abbildung 3.2-11: Parameters einstellen

Anschließend wird der Algorithmus ausgeführt. Der Prozess ist erste Initialisierungsoperationen durchzuführen,
das enthält Zufallsinitialisierung, Sortierung nach Zielfunktionswert, Initialisierung der optimalen Lösung,
Initialisierung der Iterationskoeffizienten. Die Iterationen werden dann wiederholt, um die optimale Lösung zu
finden, und es werden Konvergenzkurven gezeichnet, um zu analysieren, ob die endgültig berechnete optimale
Lösung angemessen ist. Schließlich werden die Daten der optimalen Lösung bekommen und die als inp-Datei
erzeugt. Ein Teil des Codes ist in dargestellt.(Abbildung 3.2-12, Abbildung 3.2-13, Abbildung 3.2-14)

Abbildung 3.2-12: Initialisierung durchführen

Programmierung eines Algorithmus zur Wasserversorgung 21


Abbildung 3.2-13: Loop iterations

Abbildung 3.2-14: Ergebnis bekommen und Konvergenzkurven einzeichnen

4 Die Zusammenfassung und Ergebnisse

In diesem Bericht wird zuerst die Grundlegende Kenntnisse von Wassernetz vorgestellt, wie Netzformen,
Wasserversorgungsaufgaben, Bestandteil usw. Danach durch Recherchieren die Anforderung von
Wasserversorgungssystem- Design wird die niedrigste Flussgeschwindigkeit und Wasserdruck ermittelt.
Die Wasserverbräuche werden berechnet. Es wird die grundlegendste Optimierungsmethode für
Wasserversorgungsnetze erörtert, d.h. die traditionelle Optimierungsmethode, und es wird auch kurz auf die
Anwendung von MINLP, einer Optimierungsmethode für Wasserversorgungsnetze, eingegangen. Die Definition
von heuristischen Algorithmen und die damit verbundenen Methoden werden ebenfalls in diesem Bericht
beschrieben. Darüber hinaus wird die Definition von genetischen Algorithmen, der Prozess der genetischen
Algorithmen und die spezifischen Details der verwendeten genetischen Algorithmen beschrieben. Denn die

Programmierung eines Algorithmus zur Wasserversorgung 22


Optimierung von Rohrnetzen gehört zur nichtlinearen, gemischt-ganzzahligen Programmierprobleme.
Genetische Algorithmen sind jedoch geeignete Algorithmen zur Lösung dieser Art von Problemen. Daher werden
in diesem Bericht genetische Algorithmen zur Optimierung des Rohrnetzproblems verwendet. Die Optimierung
wird mit Python programmiert, um die optimale Lösung zu finden. Dazu gehört eine ausführliche Beschreibung
der Erstellung von Interface, d. h. das Python-Paket WNTR wird verwendet, um das Huckepackverfahren von
Interface zu vervollständigen. Es folgt ein Abschnitt, der zeigt, wie die Optimierung des Rohrnetzes durch den
genetischen Algorithmus in Code umgesetzt wird.

Die endgültigen Ergebnisse werden dann analysiert und diskutiert. Es werden zwei Netzwerk analysiert, eine mit
großen Wasserverbräuchen und die anderen mit kleinen Wasserverbräuchen. Und es wird die Ergebnisse von
zwei verschieden Netzwerk vergleichen und diskutiert.

Die unteren zwei Abbildung (Abbildung 3.2-1, Abbildung 3.2-2) zeigt die Konvergenzkurven von
Großwasserverbrauch und Kleinwasserverbrauch, in den beiden Abbildung ist leicht zu finden, dass die
Konvergenzkurven allesamt gute Ergebnisse zeigen, wenn die Kurve etwa 1800 erreicht, wird ihr Abwärtstrend
langsamer. Das beweist, dass das Optimierungsniveau den Standard erreicht hat.

Abbildung 3.2-1: Konvergenzkurven von Großwasserverbrauch

Abbildung 3.2-2: Konvergenzkurven von Kleinwasserverbrauch

Die Optimierung ist jedoch für große Wasserverbrauchsnetze nicht gut geeignet, und das Endergebnis optimiert
alle Durchmesser des Netzes auf 0,25 m, was nicht sinnvoll ist. Es ist nicht möglich, hydraulische Simulationen
in Epanet durchzuführen. Die Optimierungsergebnisse für die kleineren Rohrnetze zeigen im Gegensatz relativ
gute Ergebnisse, und die Endergebnisse sind im Anhang aufgeführt.

Programmierung eines Algorithmus zur Wasserversorgung 23


Wegen diesem Problem bei großer Wasserverbräuchen Netzwerk sind die Ergebnisse davon nicht sinnvoll,
deshalb analysieren wir diesem Netzwerk nicht. Danach betrachten wir zunächst die Durchflussmenge, den
Druck und den Wasserverbrauch in einem nicht optimierten kleiner Wasserverbräuchen Netzwerk.

Abbildung 3.2-3: Eigenschaften von allen Junctions vor Optimierung

Wie in Abbildung 3.2-3 hervorgeht, liegt der Wasserdruck des Netzes vor der Optimierung über dem geforderten
Mindestdruck, aber der Wasserverbrauch ist sehr gering.

Abbildung 3.2-4: Eigenschaften von allen Pipes vor der Optimierung

Wie in Abbildung 3.2-4 ersichtlich ist, beträgt die Fließgeschwindigkeit des Netzes vor der Optimierung im
Wesentlichen 0. Map von ganzem Netzwerk von Druck und Fließgeschwindigkeit wird in Abbildung 3.2-5
gezeigt

Programmierung eines Algorithmus zur Wasserversorgung 24


Abbildung 3.2-5: Map von ganzem Netzwerk von Druck und Fließgeschwindigkeit vor Optimierung

Abbildung 3.2-6: Map von ganzem Netzwerk von Rohrdurchmesser und Wasserverbräuchen vor der Optimierung

In Abbildung 3.2-6 ist leicht zu finden, dass die Durchmessers von allen Rohren über 200 Meter sind, aber die
Wasserverbrächen so niedrig sind.

Im Folgenden importieren wir ein kleines Wasserverbrauchsnetz in Epanet und führen eine hydraulische
Simulation durch, um zu sehen, ob die Durchflussraten und Drücke in seinem Wasserversorgungsnetz die
Anforderung einhalten.

In unteren zwei Abbildung (Abbildung 3.2-7, Abbildung 3.2-8) ist zu finden, dass alle Rohrnetze sowie die
Junction die Bedingungen für Druck und Fließgeschwindigkeit erfüllen. Und Nach der Optimierung wird sich die
Fließgeschwindigkeit erhöht. Und die Durchmesser von meisten Rohren wird sich groß verringert.

Programmierung eines Algorithmus zur Wasserversorgung 25


Abbildung 3.2-7: Eigenschaften von allen Junctions nach Optimierung

Abbildung 3.2-8: Eigenschaften von allen Pipes nach der Optimierung

Programmierung eines Algorithmus zur Wasserversorgung 26


Abbildung 3.2-9: Map von ganzem Netzwerk von Druck und Fließgeschwindigkeit

Abbildung 3.2-10: Map von ganzem Netzwerk von Rohrdurchmesser und Wasserverbräuchen

In Abbildung 3.2-10 ist gezeigt, dass der Grundwasserverbrauch an allen Juncions unter 25 Litern liegt, und es
ist zu erkennen, dass bei der mittleren Linie Durchmessers deutlich größeren ist als Durchmessers bei übrigen
Linien, nämlich 100 mm.

Durch Optimierung von Wasserrohrnetz ist die gesamten Kosten bei Kleinwasserverbräuchen 18076 Euro.

Programmierung eines Algorithmus zur Wasserversorgung 27


Abbildung 3.2-11: Die Ü berblick von ganze Netzwerk

In diesem Gebiet leben 730 Menschen.


Geht man von einem minimalen Wasserverbrauch von 30 Litern pro Person und Tag aus, ergibt sich folgende
Gleichung zur Berechnung der Durchflussmengen der Wasserentnahmen aus Reservoir1 nach folgende Junction.

Qdm = 730 Person * 30 L/(Person * Day) = 21.900 L/d = 0,253 L/sek

fh = 18,1 * Person-0,1682 = 18,1 * 730-0,1682 = 5,97

Qhmax = 0,253 L/s * 5,97 = 1,51 l/s

Abbildung 3.2-12: Eigenschaft von Pipe 1

In Abbildung 3.2-12 ist die Durchflussmengen bei Pipe1 die Durchflussmengen der Wasserentnahmen erfüllen.

Programmierung eines Algorithmus zur Wasserversorgung 28


5 Fazit und Probleme Diskutieren

Bei diesem Projekt wurde der grundlegende genetische Code bearbeitet und versucht, das
Wasserversorgungsnetz zu optimieren, was bei einem normalen Wasserversorgungsnetz möglich war, aber bei
hohem Wasserverbrauch nicht richtig funktionierte. Dafür habe ich folgende Vermutungen angestellt, die
Grunde von diesem Problem liegt daran, dass ein Problem mit der Konstruktion der Fitnessfunktion entstehen,
oder einen großen Straffaktor zurückzuführen sein könnte. Es ist auch möglich, dass der Algorithmus und der
Code modifiziert werden sollen, so dass durch Änderung des Crossovers-, der Mutation- oder der Selektion-
Methode eine Optimierungslösung gefunden wird, die für das Wasserversorgungssystem besser geeignet ist, so
dass man die optimale Lösung für jede Wasserverbrauchsbedingung erhalten kann.

Ein weiterer Grund für diese Untersuchung war, dass es keinen großen Unterschied zwischen der verbrauchten
Wassermenge vor und nach der Optimierung gab, und wenn die verbrauchte Wassermenge anstieg, wurde die
Optimierung nicht erreicht. Möglicherweise liegt das Problem darin, dass der Wasserverbrauch auch ein
beeinflussender Faktor bei der Berechnung sein sollte, und dass diese Bedingung bei der Konstruktion der
Fitnessfunktion berücksichtigt werden sollte.

Programmierung eines Algorithmus zur Wasserversorgung 29


6 Anhang

Material Typ DN [mm] Preis [€


/m]
PE100 SDR11 25 138
PE100 SDR11 32 145
PE100 SDR11 50 156
PE100 SDR11 63 163
PE100 SDR11 90 171
PE100 SDR11 110 175
PE100 SDR11 160 192
PE100 SDR11 200 200
PE100 SDR11 225 218
Tabelle 6-1: Preis von verschieden Durchmesser von Rohren

Abbildung 3.2-1: die Ergebnisse bei Großerwasserverbräuchen nach der Optimierung

Abbildung 6-3.2-2: die Ergebnisse bei Kleinerwasserverbräuchen nach der Optimierung

Anhang 1
7 Abbildungsverzeichnis

Abbildung 2.2-1: Verästelungsnetze (CHRISTOPH KULIR) ___________________________________________4


Abbildung 2.2-2: Ringnetze (CHRISTOPH KULIR) __________________________________________________4
Abbildung 2.2-1: Einwohnerspezifischer Trinkwasserbedarf (Wasserbedarf - Kennwerte und Einflussgrößen
2008) ________________________________________________________________________________6
Abbildung 2.2-2: Entwicklung des Wasserverbrauchs pro Einwohner und Tag in Deutschland in den Jahren
1990 bis 2020 (Statista 2022) _____________________________________________________________7
Abbildung 2.2-3: Richtwerte für den Verbrauch von Großverbrauchern (Wasserbedarf - Kennwerte und
Einflussgrößen 2008) ___________________________________________________________________7
Abbildung 3.2-1: Flussdiagramm zur Veranschaulichung von Anwendungsbeispielen ____________________16
Abbildung 3.2-2: WNTR Paket hinzufügen ______________________________________________________17
Abbildung 3.2-3: Import File und Output Path einstellen. __________________________________________17
Abbildung 3.2-4: klassifizieren von Rohrduchmesser _____________________________________________18
Abbildung 3.2-5: Fitness Funktion erstellen _____________________________________________________18
Abbildung 3.2-6: Crossover _________________________________________________________________19
Abbildung 3.2-7: Mutation __________________________________________________________________19
Abbildung 3.2-8: Selektion __________________________________________________________________19
Abbildung 3.2-9: Individual Information _______________________________________________________20
Abbildung 3.2-10: Definition von initiale Parameters _____________________________________________20
Abbildung 3.2-11: Parameters einstellen _______________________________________________________21
Abbildung 3.2-12: Initialisierung durchführen ___________________________________________________21
Abbildung 3.2-13: Loop iterations ____________________________________________________________22
Abbildung 3.2-14: Ergebnis bekommen und Konvergenzkurven einzeichnen___________________________22
Abbildung 3.2-1: Konvergenzkurven von Großwasserverbrauch _____________________________________23
Abbildung 3.2-2: Konvergenzkurven von Kleinwasserverbrauch _____________________________________23
Abbildung 3.2-3: Eigenschaften von allen Junctions vor Optimierung ________________________________24
Abbildung 3.2-4: Eigenschaften von allen Pipes vor der Optimierung_________________________________24
Abbildung 3.2-5: Map von ganzem Netzwerk von Druck und Fließgeschwindigkeit vor Optimierung ________25
Abbildung 3.2-6: Map von ganzem Netzwerk von Rohrdurchmesser und Wasserverbräuchen vor der
Optimierung _________________________________________________________________________25
Abbildung 3.2-7: Eigenschaften von allen Junctions nach Optimierung _______________________________26
Abbildung 3.2-8: Eigenschaften von allen Pipes nach der Optimierung _______________________________26
Abbildung 3.2-9: Map von ganzem Netzwerk von Druck und Fließgeschwindigkeit ______________________27
Abbildung 3.2-10: Map von ganzem Netzwerk von Rohrdurchmesser und Wasserverbräuchen ____________27
Abbildung 3.2-11: Die Ü berblick von ganze Netzwerk _____________________________________________28
Abbildung 3.2-12: Eigenschaft von Pipe 1 ______________________________________________________28
Abbildung 3.2-1: die Ergebnisse bei Großerwasserverbräuchen nach der Optimierung____________________1
Abbildung 6-3.2-2: die Ergebnisse bei Kleinerwasserverbräuchen nach der Optimierung __________________1

Anhang 2
8 Literaturverzeichnis
CHRISTOPH KULIR: MODELLIERUNG DER TRINKWASSERVERTEILUNG – ANSÄTZE ZUR OPTIMIERUNG DER
INFRASTRUKTUR UND DER BETRIEBSFÜ HRUNG. Universität für Bodenkultur Wien.
Deutscher Verein des Gas- und Wasserfaches (2015): Technische Regeln Wasserverteilungsanlagen (TRWV).
Februar 2015. Bonn: Wirtschafts- und Verlagsgesellschaft Gas und Wasser mbH (DVGW-Regelwerk Arbeitsblatt
W Technische Regel, 400,1 (A)).
Overview — WNTR 0.4.1 documentation (2022). Online verfügbar unter
https://wntr.readthedocs.io/en/latest/overview.html, zuletzt aktualisiert am 03.03.2022, zuletzt geprüft am
19.03.2022.
Schewe, Lars; Schmidt, Martin (2019): Optimierung von Versorgungsnetzen. Berlin, Heidelberg: Springer Berlin
Heidelberg.
Statista (2022): Täglicher Trinkwasserverbrauch pro Kopf in Deutschland bis 2020 | Statista. Online verfügbar
unter https://de.statista.com/statistik/daten/studie/12353/umfrage/wasserverbrauch-pro-einwohner-und-
tag-seit-1990/, zuletzt aktualisiert am 19.03.2022, zuletzt geprüft am 19.03.2022.
Stoltz, Eric (2018): Evolution of a salesman: A complete genetic algorithm tutorial for Python. In: Towards Data
Science, 18.07.2018. Online verfügbar unter https://towardsdatascience.com/evolution-of-a-salesman-a-
complete-genetic-algorithm-tutorial-for-python-6fe5d2b3ca35, zuletzt geprüft am 19.03.2022.
Thomas Gramer: Druckzonenermittlung in Wasserversorgungssystemen mittels graphentheoretischer
Ans¨atze. Institut fur Theoretische Informatik.
Wasserbedarf - Kennwerte und Einflussgrößen (2008). [Stand:] Dezember 2008. Bonn: DVGW (DVGW-
Regelwerk W, /Wasser] Technische Regel Arbeitsblatt, 410).
Wasserdruck im Haus - wieviel Bar sind im Haushalt normal? (2022). Online verfügbar unter
https://www.hausgarten.net/heimwerken/installation/wasser/wasserdruck-im-haus.html, zuletzt aktualisiert
am 18.03.2022, zuletzt geprüft am 18.03.2022.
Wasserversorgungssysteme — UNITRACC - Underground Infrastructure Training and Competence Center
(2022). Online verfügbar unter https://www.unitracc.de/know-how/fachbuecher/demo-grabenloser-
leitungsbau/leitungsnetze/art-und-aufbau-der-leitungsnetze-systeme/wasserversorgungssysteme, zuletzt
aktualisiert am 18.03.2022, zuletzt geprüft am 18.03.2022.
Yu Wang: JISHUI PAISHUI GUANWANG GONGCHENG. 化学工业出版社.

Anhang 3

Das könnte Ihnen auch gefallen