Suganet

Suganet Su Dağıtım Şebekesi Optimizasyon Programı 

SUGANET

SUGANET Microsoft Visual Basic 6.0 ile yazılmış bir su dağıtım şebekesi optimum tasarım programıdır. SUGANET optimizasyon için Genetik Algoritma programını DLL (Dynamic Link Library) şeklinde, şebeke hidrolik hesapları için ise EPANET2programını kullanmaktadır. SUGANET ile şebeke dizaynında farklı çap ve tiplerde borular, çeşitli hidrolik yük kaybı bağıntıları, çeşitli tipte ayar vanaları, hazneler,  pompalar, tahliyeler ve yangın muslukları gibi su şebekesinde yer alabilecek tüm ekipmanlar kullanılabilmektedir. SUGANET kararlı bir hidrolik konum (Steady-State Simulation) için çözüm yapmakla beraber, birden fazla kararlı hidrolik konumlar (Extended-Period Simulation) için de çözüm yapabilmektedir. İzmir Atatürk Organize Sanayi Bölgesi şebekesindeki dört farklı hidrolik konum gibi, ya da daha kompleks şebekeler SUGANET ile kolaylıkla optimum olarak boyutlandırılabilmektedir.

Deneyimli mühendislerin bir hidrolik benzeşim modeli kullanarak optimizasyonda uyguladığı uzun, yorucu ve sıkıcı birçok deneme-yanılma hesaplamalarına SUGANETkullanıldığında gerek kalmamaktadır. Bu programın bir avantajı da mevcut bir şebekenin rehabilitasyonu veya genişletilmesi çalışmalarında da kullanılabilir olmasıdır.

SUGANET, mühendisin neye ne kadar önem verdiğini bir kaç parametreyi okuyarak öğrenir ve her çözüm sonucunda şebekeyi bu kriterlerle değerlendirir. Bulduğu en iyi çözümü verir. Karar verme işlemi şebekenin toplam maliyetine bakılarak gerçekleştirilir. Ancak, toplam maliyet içerisinde boru maliyetleri dışında bir de cezalar vardır. Cezalar hız, basınç ve hidrolik çözüm uyarılarına bağlıdır. Özel durumlar için hız ve basıncın belli miktarda ve belli sayıda aşılmasına da izin verilebilmektedir. İzin verilenden daha çok sayıda ya da miktarda sınır aşılmasında ceza uygulanır. Küçük çaplı borular kullanldığında hız ya da basınç sınırları aşılmakta, dolayısıyla boru tutarları az olsa dahi ceza puanlarıyla bir miktar artarak kötü çözüm olabilmektedir. Bu durum tecrübeli proje mühendisinin şebekeyi inceleyerek verdiği karara benzemektedir. Karar verme işlemi hem projecinin şebekeyi defalarca incelemesine gerek bırakmamakta hem de optimum sonuca ulaşılmasını sağlamaktadır.

 SUGANET’in Çalışma Aşamaları

 1.     Şebeke verileri (Boru çapları, uzunlukları, pürüzlülük değerleri, düğüm noktalarından çekilen su miktarları, arazi kotları, hazne su seviyesi ve hacmi, pompa vb. gibi yapılar ile ilgili bilgiler) okunur.

2.    Öngörülen GA operatörleri (kodlama tipinin seçilmesi, çaprazlama, seçme, mutasyon operatörlerinin seçilmesi), genetik algoritma parametreleri (topluluk sayısı, maksimum jenerasyon sayısı, çaprazlama olasılığı, mutasyon olasılığı) ve optimizasyon parametreleri (maksimum ve minimum hız ve basınç değerleri, hız ve basınç için ceza değerleri, tolerans değerleri, toleranslı düğüm noktası ve toleranslı boru sayısı) okunur.

3.     Optimizasyonla boyutlandırılacak borular seçilir.

4.     Şebeke tasarımında kullanılacak boruların iç çap değerleri, fiyatları, pürüzlülük değerleri okunur.

5.     Tasarıma girecek borular GA için seçilen kodlama tipinin özelliğine göre kodlanır.

6.     Başlangıç topluluk bireyleri rastgele oluşturulur.

7.     Her birey için boruların kodları çözülerek çap değerleri eşleştirilir ve hidrolik hesaplamalar yapılır.

8.     Her bir şebeke çözümünün maliyeti hesaplanır, basınç ve hız sınır değerlerini aşan şebeke çözümlerine ceza katsayılarıyla ek bir maliyet bindirilir.

9.     Bir sonraki jenerasyonu oluşturmak için eşleştirme havuzu oluşturulur.

10.  “En iyi olanlar hayatta kalır” prensibiyle çalışan seçme operatörü, uygun seçimleri yaparak bir sonraki jenerasyon için bireyleri seçer.

11.  Topluluğun en iyi bireyi hiçbir işleme tabi tutulmadan bir sonraki jenerasyonun ilk üyesi olarak atanır (elitizm).

12.  Seçilen bireyler eşleştirme havuzunda çaprazlama ve mutasyon operatörlerine tabi tutularak bir sonraki jenerasyon oluşturulur.

13.  Topluluğun tüm bireyleri aynı oluncaya kadar veya belirtilen maksimum jenerasyon sayısına ulaşılıncaya kadar 7. adımdan 12. adıma kadar yapılan işlemler tekrarlanır.

14.  Yeniden farklı başlangıç toplulukları oluşturmak için 6. adıma dönülür, rastgele sayı üreticisi yardımıyla farklı başlangıç toplulukları oluşturulur ve işlemler tekrarlanır. Bu adım SUGANET’de “Genetik Çalışma” olarak adlandırılır. Örneğin, bu alana 10 değeri girilmesi halinde program 10 farklı başlangıç topluluğu ile çalışarak en iyi çözüme ulaşmaya çalışır.

15.  Verilen hidrolik kriterleri sağlayan en ucuz çözüm elde edilir.

 Genetik Algoritma (GA) Programı

 SUGANET içerisinde yer alan GA programı Darwin’in “En iyiler hayatta kalır” prensibi ile çalışmaktadır. David Goldberg'in Pascal diliyle yazdığı programdan yararlanılarak geliştirilen Genetik Algoritma Microsoft Visual C++ ile programlanmıştır. GA programını kör bir arama motoruna benzetebiliriz. GA programı bir topluluk (başlangıçta bu topluluk rasgele oluşturulur) ile başlar ve bu topluluk üzerinde çaprazlama, seçme ve mutasyon gibi yöntemlerin uygulanmasıyla problemin her aşamasında en iyiye doğru gidiş sağlanır.

 GA Aşamaları:

1.     Kodlama: Karar değişkeni olarak borular ikili ya da tamsayı olarak kodlanırlar. SUGANET’in GA programında ikili kodlama ve tamsayı kodlama seçenekleri bulunmaktadır.

2.     Başlangıç:  n adet kodlanmış topluluk başlangıç için rasgele oluşturulur.

 Şebeke borularının ikili kodlanması örneği

 

Boru No: 1

Boru No: 2

Boru No: 3

Boru No: 4

Boru No: 5

Boru No: 6

Boru No: 7

Boru No: 8

Boru No: 9

BoruNo:10

1.Birey

01

00

10

11

00

10

10

01

00

11

2.Birey

00

10

11

01

01

00

11

11

10

01

 00-100mm      01- 150mm     10-200mm     11-250mm

3.     Uyumluluk: Her bireyin uygunluk değerleri belirlenir. Bu uygunluk değeri şebekedeki hız ve basınç kriterlerinin sağlanmasına karşılık şebekenin maliyet fonksiyonudur ve bu maliyet için minimizasyon yapılmaktadır.

4.     Seçim: Yeni nesildeki bireylerin uygunluk fonksiyonuna göre turnuva, rulet tekerleği ya da rasgele olarak seçilmesi işlemidir. Bu çalışmada kullanılan turnuva operatörü; topluluktaki bireyler arasından belirli miktarda rastgele bireyler seçilerek aralarındaki uygunluk fonksiyonu yüksek olan bireylerin tutulması esasına dayalı olarak çalışır.

5.     Çaprazlama: Seçilen bireyler eşleştirilerek yeni bireyler oluşturulur.SUGANET’in GA programında tek noktalı, iki noktalı ve tek düze çaprazlama operatörleri bulunmaktadır.

0110110011/0101001                                         011011001/01010101

1001000100/1010101                                         100100010/10101001

6.     Mutasyon: Mutasyon olma olasılığına göre seçilen bireyin kromozomlarındaki bir bitin ya da tamsayının değiştirilmesi işlemidir.  

01101100110101001

01101100110001001 

7.     Elitizm: Mevcut topluluktaki uygunluk değeri en iyi olan bireyin doğrudan yeni topluluk havuzuna aktarılmasıdır. Bir jenerasyondaki en iyi birey çaprazlama ve mutasyon gibi operatörlerle bozularak kaybolabilir. Bu işlem, en iyi bireyin kaybolmaması için hiçbir işleme tabi tutulmadan diğer jenerasyona aktarılması, böylelikle en iyi bireyin korunması amacı ile yapılır.

8.     Yeni topluluk havuzu: Yeni oluşan bireylerin bir havuza alınması, eski bireylerin atılmasıdır.

9.     Sonuç: Topluluktaki bireylerden birisi istenilen sonucu veriyorsa algoritmanın sona erdirilmesidir.

10.   Döngü: 2. adıma geri dönülmesidir. 

 


 

 

 

Suganet programını ilk açtığınız zaman sizi bu ekran görüntüsü ile karşılayacaktır. Daha önceden epanet2 programı ile oluşturulmuş "*.net" ve "*.inp" dosyalarını Suganet açabilmektedir. Yalnız dikkat edilmesi gereken bir husus arazi kotları, su talepleri, boru uzunlukları gibi şebeke verilerinin epanet programı ile doğru bir şekilde girilmiş olmasıdır. Bu şebeke verileri suganet içerisinden düzeltilememektedir. Şebeke verileri ile ilgili data girişleri epanet programı ile yapılmalıdır.

 


 

 

 
Açmış olduğunuz dosya epanetteki koordinatlarıyla, düğüm noktaları ve boru numaralarıyla birlikte ekrana çizdirilecektir. Boru çapları, pürüzlülük katsayıları gibi verilerin yanlış olması önemli değildir, çünkü suganet optimum şebekeyi tasarlarken boru çaplarını kendisi belirleyecektir. Bir sonraki adım şebekede yer alacak boru çaplarının özelliklerini programa tanıtmak olacaktır.

 


 

Dizayn yöneticisi, şebekede kullanılacak boruların çapları, maliyeti ve pürüzlülük katsayılarını belirlemek içindir. İster beton boru, ister çelik, ister pvc vs. her çeşit boru tipi ve istenildiği kadar (sınırsız) boru çapı kullanılabilir. Boruların seçilmesinde maliyet çok önemli bir faktördür. Birim uzunluk için boru maliyeti alanında borunun birim maliyeti yerine tüm şebekenin maliyeti düşünülerek yapılan hesaplamayla elde edilen birim maliyet kullanılması şebeke maliyetlerinin kıyaslanabilmesi açısından oldukça önemlidir. Tasarımlarda boru birim maliyetin yanında şebeke kazı dolgu masrafları, özel parçalar, baş bağlama, döşeme, işçilik, vana ve dirsek gibi elemanlar da birim maliyetin içersine katıldığı zaman hem şebeke keşfi yapılmış olacak hem de optimizasyonda gerçekçi değerlere daha çok yaklaşılacaktır. Şimdi sıra düğüm noktalarındaki minimum ve maksimum basınçları belirlemeye geldi. 

 
 
 

 

Burada su dağıtım şebekesinde yer alan tüm düğüm noktaları bulunmaktadır. Şebekede istenilen minimum ve maksimum basınçlar bütün düğüm noktaları için belirlenebileceği gibi istenildiği takdirde her bir düğüm noktası için ayrı ayrı da belirlenebilir. Suganet optimum tasarım yaparken burada istenilen minimum ve maksimum basınç değerlerini göz önünde bulunduracaktır. Arazinin durumuna göre şebekenin küçük bir bölgesi istenilen basınç şartını sağlamayabilir. Bu durumda oradaki apartmanların hidrofor yeterli basıncı sağlaması durumu daha ekonomik olabilir. Bu gibi durumlar göz önünde bulundurularak istenilen düğüm noktaları hesaplamaların dışında bırakılabilir. Bunun için istenilen düğüm noktası seçilerek dizayn kutucuğundaki işaret kaldıralarak yenile düğmesine basıldığında rengi mavi olan ilgili düğüm numarası kahverengiye dönüşerek tasarımdaki hesaplamaların dışında tutulacaktır. Diğer bir deyişle ilgili düğüm noktasındaki basınç değeri serbest bırakılmıştır. Şimdi sıra şebeke tasarımında kullanacağımız boruları belirlemeye geldi.

 

Şebekede yer alacak boru numaralarına göre dizayn yöneticisinde özelliklerini bildirdiğimiz çapların hepsini yada en az 2 adet olmak üzere istediğimiz kadarını seçerek hesaplamalara dahil edebiliriz. Her boru için yada istenilen borular için minimum ve maksimum hız değerlerini belirleyerek optimum sonucun istediğimiz hidrolik kriteler dahilinde bulunmasını sağlayabiliriz. Nüfusun günden güne artması ile mevcut bir şebekeye ek yapılarak şebeke genişletilmesi çalışmaları sık karşılaşılan bir durumdur. Bu gibi durumlarda mevcut şebekenin boruları tasarımdan kaldırılarak sadece yeni eklenen şebekenin çaplarını belirlemek suganet ile mümkündür. Yeni eklenen şebeke çapları mevcut şebekenin hidrolik koşulları da göz önünde bulundurularak belirlenecektir. Dolayısıyla suganet şebeke genişletilmesi çalışmalarında mükemmel bir optimizasyon sağlamaktadır. Şimdi optimizasyon seçeneklerine bir göz atalım. 

 

 

Suganet çeşitli çaplar deneyip şebekenin maliyetine bakarak optimum çözümü bulmaya çalışmaktadır. Düğüm noktalarında basınçların borularda ise hızların istenilen minimum ve maksimum sınırlar dahilinde olması için sınırların aşılması durumunda belli bir katsayı ile çarpılması gerekir. Bu katsayıyı şebeke birim maliyetleri göz önünde bulundurularak kullanıcı belirler. Epanet uyarı cezası şebekede negatif basınçların oluşmasından dolayı uygulanacak ceza tipidir, Programın uygun şebeke seçimine daha çabuk yönelmesini sağlar. Şebekeyi hidrolik açıdan incelediğimizde bazı borularda yada düğüm noktalarında tolerans vermek isteyebiliriz. Birkaç noktada hidrolik sınırların aşılmasıyla maliyet açısından büyük avantaj sağlanabileceği durumunun gözardı edilmemesi için istenilen sayıda istenilen tolerans değerlerinin girilmesi kullanıcıya bırakılmıştır. Şimdi biraz genetik algoritma parametrelerinden bahsetmemiz gerekir. 



 

İçme suyu dağıtım şebekelerinde genetik algoritma (GA) parametrelerinden kodlama için en uygun olanları (ikili kodlama ve tamsayı kodlama) seçilmiştir. İkili kodlama bilgisayar mantığıyla çalıştığı için veri alıp döndürmede çok hızlı çalışmakta ve sonuca çok daha çabuk ulaşmaktadır. Ancak kompleks şebekelerde ikili kodlama çözüm uzayını gereksiz bir şekilde büyütebilmektedir. Böylelikle hızlı ama daha geniş bir arama uzayında çözüme ulaşma sonucu ortaya çıkmaktadır. Tam sayı kodlamada ise problemin çözüm uzayı bellidir, çözüm uzayını artırmak sözkonusu olmaz. Sonuç olarak küçük ve basit şebekelerde ikili kodla çözüme gitmek uygun olurken, büyük ve kompleks şebekelerde tamsayı kodlama ile sonuca gitmek zaman açısından daha uygun olacaktır. Seçme tiplerinden rastgele seçim evrim teorisinden uzaklaşıp optimum sonucu bulmayı tamamen rastgeleliğe dönüştürmektedir. Olası bir durum da olsa katrilyarların oluşabileceği çözüm kümesinden optimum sonucu bulmak rastgele seçim ile pek mümkün gözükmemektedir ve tavsiye etmeyiz. Çaprazlama tipi, populasyon sayısı, jenerasyon sayısı, değişiklik olmayacak jenerasyon sayısı, mutasyon olasılığı, çaprazlama olasılığı problemin büyüklüğüne ve kompleksliğine göre değişebilen değerler olduğu için kullanıcıya bırakılmıştır. 

 

 


 

Şebeke, optimizasyon ve GA parametreleri girildiğine göre artık programı çalıştırmaya hazırız demektir. Girdiğimiz verileri bir sonraki çalışmada değiştirmek istemiyorsak sga uzantılı olarak kaydedebiliriz. Böylece suganeti çalıştırdığımızda direk Dizayn bölümünden başlayabiliriz. Bu bölümde verilerin grafiksel şekilde sunulmasını isteyip istememize bağlı şeçimimizi yaptıktan sonra çalıştır düğmesi ile optimum tasarım işlemini başlatabiliriz. Program çalışırken genetik çalışma sayısını, jenerasyon sayısını, şimdiki jenerasyon için en iyi uygunluk değerini, en iyi feasible çözümü, çalışma zamanını izleyebilirsiniz. İstenildiği takdirde programı çalışma anında durdurabilir uygun çözüm olması halinde sonuçları görebilir ve karşılaştırabilirsiniz. Diğer benzeri programlardan farklı olarak programı çalışma anında durdurup genetik algoritma parametreleri üzerinde populasyon sayısı hariç istediğiniz değişkilikleri yapabilirsiniz.

 


 Optimum çözümün bulunması durumunda herbir borunun çapını, maliyetini ve eğer birden fazla kararlı hidrolik konumun olması durumunda boruda oluşacak minimum ve maksimum hızları görebilir, arzu etmeniz halinde sonuçları inp uzantılı kaydederek epanet2 programı ile irdeleyebilirsiniz. 

 

 Optimum çözümle elde edilen şebekede birden fazla kararlı hidrolik konumun olması durumunda düğüm noktalarında oluşacak minimum ve maksimum basınçları görebilirsiniz.

 


 Optimum çözümün bulunmasıyla istenildiği takdirde sonuçları ilk girmiş olduğunuz şebeke ile karşılaştırabilirsiniz. Herbir borunun çaplarını, maliyetlerini ve aradaki farkı görebilirsiniz. Eskiden yapmış olduğunuz projeler ile akademik çalışmalarda yapılan karşılaştırmalar açısından büyük kolaylıklar sağlamaktadır. Sonuçları excel dosyasına kaydedip istediğiniz çalışmaları yürütebilirsiniz. Çaplar ve maliyet küçük olması durumunda yeşil, büyük olması durumunda kırmızı, eşit olması durumunda sarı renk ile gösterilmektedir.

 

  

 

Optimum çözüm ile ilk çözüm arasındaki boru hızlarını karşılaştırabilir aradaki farkları rakamsal olarak görebilirsiniz. 

 

 

Optimum çözüm ile ilk çözüm arasındaki düğüm noktalarında oluşan basınçları kıyaslayabilirsiniz. Böylelikle şebekenin hidrolik değerleri hakkında ön bilgi sağlamış olursunuz. Optimizasyon ile elde edilen şebekenin sadece maliyet açısından değil hidrolik açıdan da avantajlı olduğunu bu şekilde kolaylıkla görebilirsiniz.