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 EPANET2 programı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 SUGANET kullanı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ı ekran görüntüleriyle
daha ayrıntılı biçimde incelemek için ileriyi tıklayınız.
