ΟΙ ΓΕΝΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ KAI ΟΙ ΕΦΑΡΜΟΓΕΣ ΤΟΥΣ (περιληπτική αναφορά). Εισαγωγή Κ. Λ. Κατσιφαράκης Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος Τµήµα Πολιτικών Μηχανικών Α.Π.Θ. Οι γενετικοί αλγόριθµοι είναι ένα µαθηµατικό εργαλείο µε ευρύ πεδίο εφαρµογής. Είναι ιδιαίτερα χρήσιµοι σε δύσκολα προβλήµατα βελτιστοποίησης, ιδίως όταν οι σχετικές συναρτήσεις παρουσιάζουν πολλά ακρότατα ή ασυνεχείς παραγώγους. Για το θεωρητικό υπόβαθρο και τις εφαρµογές των γενετικών αλγορίθµων υπάρχουν εκτεταµένα ειδικά συγγράµµατα π.χ. Goldberg (989), Michalewicz (994), Dasgupta and Michalewicz (997), Coley (999), Ζορµπά (2003), Reeves and Raw (2003). Στη συνέχεια σκιαγραφούνται τα βασικότερά τους χαρακτηριστικά. 2. Βασικά χαρακτηριστικά Όπως υποδηλώνει το όνοµά τους, οι γενετικοί αλγόριθµοι (Γ.Α.) είναι µια µαθηµατική αποµίµηση της βιολογικής διαδικασίας εξέλιξης των ειδών. Ξεκινούν µε έναν αριθµό από τυχαίες λύσεις του εξεταζόµενου προβλήµατος. Οι λύσεις αυτές, που αποκαλούνται χρωµοσώµατα, αποτελούν τον πληθυσµό της πρώτης γενεάς, που έχει προκαθορισµένο µέγεθος PS. Στους κλασικούς δυαδικούς Γ.Α. τα χρωµοσώµατα είναι δυαδικές συµβολοσειρές (binary strings), π.χ. [0000]. Ο πληθυσµός της πρώτης γενεάς υφίσταται αξιολόγηση, µε βάση µια διαδικασία ή συνάρτηση αποτίµησης (evaluation function). Η διαδικασία αυτή εξαρτάται από το εξεταζόµενο πρόβληµα. Κατόπιν, από τα χρωµοσώµατα της πρώτης γενιάς παράγονται τα χρωµοσώµατα της δεύτερης γενιάς, µε τη βοήθεια τριών βασικών τελεστών, που µιµούνται βιολογικές διαδικασίες. Αυτοί είναι: α) η επιλογή (selection) β) η διασταύρωση (crossover) και γ) η µετάλλαξη (mutation). Πολλές φορές, χρησιµοποιούνται επιπροσθέτως και άλλοι τελεστές. Η διαδικασία της επιλογής είναι µια µαθηµατική αποµίµηση της θεωρίας του αρβίνου περί επικράτησης του καλύτερα προσαρµοσµένου στις εξωτερικές συνθήκες. Γίνεται µε προκαθορισµένο «τυχαίο» τρόπο και συµµετέχουν σε αυτήν όλα τα χρωµοσώµατα, µε ξεχωριστή πιθανότητα «επιβίωσης» το καθένα. Αυτή η πιθανότητα αντιστοιχεί στην καταλληλότητα (fitness) του χρωµοσώµατος, που προέκυψε από την διαδικασία αξιολόγησης. Έτσι τα συγκριτικώς καλύτερα χρωµοσώµατα έχουν περισσότερες πιθανότητες να περάσουν στην επόµενη γενεά του Γ.Α. Οι πιο κοινές διαδικασίες επιλογής είναι α) ο τροχός ρουλέτας µε άνισα διαστήµατα και β) ο διαγωνισµός (tournament). Η ιδέα στην οποία βασίζεται η πρώτη διαδικασία είναι ένας τροχός ρουλέτας, που έχει PS χωρίσµατα, µε µεγέθη ανάλογα µε την καταλληλότητα κάθε χρωµοσώµατος. Ένας τέτοιος τροχός φαίνεται στο σχήµα. Η αριθµητική εφαρµογή της (σε
προβλήµατα µεγιστοποίησης) µπορεί να γίνει απλά µε τον ακόλουθο τρόπο: Υπολογίζεται πρώτα το άθροισµα SVB των τιµών των συναρτήσεων αποτίµησης VB(I) όλων των χρωµοσωµάτων (για Ι = ως PS). Παράλληλα η τιµή VB(J) κάθε χρωµοσώµατος J αντικαθίσταται από το άθροισµα των τιµών των VB(I) για Ι = ως J. Στη συνέχεια επιλέγεται τυχαία ένας αριθµός XXX από ως SVB. Αν VB(K-) < XXX < VB(K), τότε αντίγραφο του χρωµοσώµατος Κ περνά στον ενδιάµεσο πληθυσµό. Η διαδικασία επιλογής τυχαίου αριθµού, εποµένως και χρωµοσώµατος, επαναλαµβάνεται PS φορές. Έτσι σχηµατίζεται ο ενδιάµεσος πληθυσµός, στον οποίο τα καλύτερα χρωµοσώµατα της προηγούµενης γενεάς έχουν, στατιστικώς, περισσότερα αντίγραφα, που αντικαθιστούν µερικά από τα χειρότερα χρωµοσώµατα. Σχήµα. Τροχός ρουλέτας µε άνισα διαστήµατα Η διαδικασία του τροχού της ρουλέτας µπορεί να χρησιµοποιηθεί και σε προβλήµατα ελαχιστοποίησης, µετά από µετατροπή τους σε προβλήµατα µεγιστοποίησης (π.χ. µε αφαίρεση της τιµής καταλληλότητας κάθε χρωµοσώµατος από έναν µεγάλο αριθµό και χρήση του υπολοίπου της αφαίρεσης για τον καθορισµό των άνισων διαστηµάτων). Η διαδικασία του διαγωνισµού είναι η ακόλουθη: Στην αρχή ορίζεται η σταθερά διαγωνισµού ΚΚ (που συνήθως έχει τιµές από 3 ως 5). Κατόπιν επιλέγονται µε τυχαίο τρόπο ΚΚ χρωµοσώµατα και συγκρίνονται ως προς την καταλληλότητά τους. Αντίγραφο του πλέον κατάλληλου περνά στον ενδιάµεσο πληθυσµό. Αυτό επαναλαµβάνεται PS φορές. Έτσι σχηµατίζεται ο ενδιάµεσος πληθυσµός, στον οποίο και πάλι τα καλύτερα χρωµοσώµατα της προηγούµενης γενεάς έχουν, στατιστικώς, περισσότερα αντίγραφα. Μάλιστα µε τη διαδικασία του διαγωνισµού είναι αδύνατη η επιλογή των χειρότερων ΚΚ- χρωµοσωµάτων της προηγούµενης γενιάς (εκτός αν έχουν περισσότερα του ενός αντίγραφα). Όµως, οι διαδικασίες επιλογής που αναφέρθηκαν δεν εξασφαλίζουν πλήρως ότι θα περάσει το καλύτερο χρωµόσωµα από την προηγούµενη γενεά στον ενδιάµεσο πληθυσµό. Γι αυτό πολλοί κώδικες, ακολουθώντας τη λεγόµενη επιλεκτική προσέγγιση (elitist approach), περιλαµβάνουν ειδική διαδικασία ενσωµάτωσης ενός τουλάχιστον αντιγράφου του καλύτερου χρωµοσώµατος στην επόµενη γενιά. 2
Αφού σχηµατισθεί ο ενδιάµεσος πληθυσµός, επιλέγονται τυχαία κάποια από τα µέλη του για να υποστούν τις διαδικασίες της διασταύρωσης και της µετάλλαξης (πιθανώς και άλλων τελεστών), ενώ τα υπόλοιπα περνούν αυτούσια στην επόµενη γενιά. Κατά την διαδικασία της διασταύρωσης γίνεται ανταλλαγή τµηµάτων µεταξύ ζευγών χρωµοσωµάτων, που επιλέγονται τυχαία από τον ενδιάµεσο πληθυσµό. Τα καλύτερα χρωµοσώµατα της προηγούµενης γενιάς έχουν περισσότερες πιθανότητες συµµετοχής, διότι έχουν περισσότερα αντίγραφα. Οι απόγονοι, δηλ. τα νέα χρωµοσώµατα που παράγονται από τη διασταύρωση, αντικαθιστούν τα παλαιά, που αντιστοίχως αποκαλούνται γονείς. Με την διαδικασία αυτή επιδιώκεται ο συνδυασµός των καλύτερων στοιχείων των γονέων σε κάποιον από τους απογόνους. Η διαδικασία της διασταύρωσης φαίνεται παραστατικά στο σχήµα 2. Γονέας A: 00000/0000 Γονέας B: 00000/000 Απόγονος A: 00000000 Απόγονος B: 000000000 Σχήµα 2. ιασταύρωση µετά τον 0ο χαρακτήρα (θέση στην δυαδική συµβολοσειρά) Στη βιβλιογραφία αναφέρονται διάφορες παραλλαγές της διαδικασίας, όπως η διασταύρωση πολλών σηµείων. Σε άλλες πάλι οι απόγονοι αντικαθιστούν τους γονείς µόνον αν υπερέχουν ως προς την καταλληλότητα. Η µετάλλαξη τέλος, αφορά στους χαρακτήρες, που απαρτίζουν τις συµβολοσειρές των χρωµοσωµάτων. Στους δυαδικούς Γ.Α. ο χαρακτήρας που επιλέγεται για µετάλλαξη µεταβάλλεται από 0 σε και αντιστρόφως. Η διαδικασία αυτή αποβλέπει: α) στην επέκταση της έρευνας του πεδίου των δυνατών λύσεων σε νέες περιοχές, που είναι χρήσιµη κυρίως στις πρώτες γενιές και β) στην περαιτέρω µικρή βελτίωση καλών λύσεων, που είναι χρήσιµη κυρίως στις τελευταίες γενιές. Η πιθανότητα µετάλλαξης (ΜΡ) είναι η ίδια για όλους τους χαρακτήρες όλων των συµβολοσειρών. Επειδή όµως αφορά στους χαρακτήρες, είναι πολύ µικρότερη από την πιθανότητα διασταύρωσης, που αφορά σε ολόκληρες συµβολοσειρές. Μάλιστα είναι τόσο µικρότερη, όσο µεγαλύτερο είναι το µήκος του χρωµοσώµατος SL (συχνά επιλέγεται τιµή ίση ή λίγο µικρότερη του /SL). Είναι φανερό ότι τόσο η µετάλλαξη όσο και η διασταύρωση µπορεί να οδηγήσουν σε καλύτερες αλλά και σε χειρότερες λύσεις. Ο συνδυασµός τους όµως µε την επιλογή οδηγεί στη γενική βελτίωση της καταλληλότητας του πληθυσµού. Όπως αναφέρθηκε, έχουν προταθεί και άλλοι τελεστές, για να βελτιώσουν την απόδοση των γενετικών αλγορίθµων. Κάποιοι από αυτούς έχουν γενική εφαρµογή, ενώ κάποιοι άλλοι ταιριάζουν περισσότερο σε συγκεκριµένα προβλήµατα. Η περιγραφή τους ξεφεύγει από τα όρια αυτής της σύντοµης παρουσίασης της εξεταζόµενης µεθόδου. Η διαδικασία που περιγράφηκε (αξιολόγηση-επιλογή-διασταύρωση-µετάλλαξηάλλοι τελεστές) επαναλαµβάνεται για έναν προκαθορισµένο αριθµό γενεών, ή µέχρι να εκπληρωθεί κάποιο κριτήριο τερµατισµού (π.χ. να µη βρεθεί καλύτερη λύση για 3
κάποιες γενιές). Αν η µέθοδος λειτουργήσει σωστά, στην τελευταία γενιά θα έχει επικρατήσει ένα χρωµόσωµα, το οποίο αντιστοιχεί στη ζητούµενη βέλτιστη (ή σε κάποια σχεδόν βέλτιστη) λύση του προβλήµατος. Μπορεί ακόµη να υπάρχουν διαφορετικά χρωµοσώµατα µε παρόµοια υψηλή τιµή καταλληλότητας. Η εύρεση διαφορετικών καλών λύσεων του εξεταζόµενου προβλήµατος, είναι ένα από τα πλεονεκτήµατα της µεθόδου. 2. Αντιµετώπιση περιορισµών Σε πολλές εφαρµογές, η βελτιστοποίηση υπόκειται σε περιορισµούς. Εποµένως, τα χρωµοσώµατα, τα οποία προκύπτουν µε την εφαρµογή των γενετικών τελεστών, µπορεί να αντιστοιχούν σε µη επιτρεπτές λύσεις. Για παράδειγµα, µια κατανοµή της συνολικώς απαιτούµενης παροχής σε ένα αριθµό πηγαδιών, µπορεί να οδηγεί σε υπέρβαση της επιτρεπόµενης πτώσης στάθµης σε κάποιο πηγάδι. Το πρόβληµα αυτό µπορεί να αντιµετωπιστεί µε διάφορους τρόπους. Ο πιο προφανής είναι η απόρριψη των χρωµοσωµάτων που παραβιάζουν τους περιορισµούς. Η µέθοδος όµως αυτή δεν είναι ικανοποιητική, αν ο αριθµός των παραβατών είναι µεγάλος. Άλλες µέθοδοι αντιµετώπισης είναι η διόρθωση των χρωµοσωµάτων, ώστε να πληρούν τους περιορισµούς και η τροποποίηση των γενετικών τελεστών, ώστε να παράγουν χρωµοσώµατα που αντιστοιχούν σε επιτρεπτές λύσεις µόνον. Η πιο συνηθισµένη όµως µέθοδος είναι η επιβολή ποινής, δηλαδή η µείωση της καταλληλότητας των χρωµοσωµάτων που παραβιάζουν περιορισµούς. Αυτό πρακτικά γίνεται µε εισαγωγή µιας συνάρτησης ποινής στην διαδικασία αποτίµησης. Η ποινή µπορεί να είναι: α) σταθερή β) ανάλογη µε τον αριθµό των περιορισµών που παραβιάζονται και γ) ανάλογη µε τον βαθµό παραβίασης κάθε περιορισµού. Οι ποινές της τελευταίας κατηγορίας είναι, κατά κανόνα, πιο αποτελεσµατικές. Το µέγεθος της ποινής εξαρτάται από τις τιµές που παίρνει η συνάρτηση αποτίµησης και από την ελαστικότητα του περιορισµού. Αν µικρή παραβίασή του είναι ανεκτή, το µέγεθος της ποινής µπορεί να είναι σχετικά µικρό. Αν ο περιορισµός είναι ανελαστικός, η ποινή πρέπει να εξασφαλίζει οπωσδήποτε ότι το ολικό βέλτιστο αντιστοιχεί σε λύση που τον ικανοποιεί. 2.2 Παράδειγµα εφαρµογής Ζητείται η κατανοµή συνολικής παροχής ΤQ = 300 l/s σε 8 πηγάδια, ώστε το κόστος άντλησης να είναι το ελάχιστο δυνατό. Η διάταξη των πηγαδιών φαίνεται στο σχήµα 3, ενώ οι συντεταγµένες τους παραθέτονται στον πίνακα. Η µεταφορικότητα του υδροφορέα, ο οποίος θεωρείται οµογενής και «άπειρος», είναι Τ = 0.00 m 2 /s. Τέλος η ροή θεωρείται ότι γίνεται υπό πίεση, για οποιαδήποτε κατανοµή των παροχών. Πίνακας. Συντεταγµένες και παροχές των πηγαδιών πηγάδι 2 3 4 5 6 7 8 x i 0 620 700 00 200 420 300 300 y i 0 580 600 550 800 400 0 050 4
Α. Σύνθεση και µέγεθος του χρωµοσώµατος Κάθε χρωµόσωµα παριστάνει µια λύση του προβλήµατος. Άρα αποτελεί συνδυασµό 8 παροχών. Κάθε παροχή µπορεί να πάρει τιµή από 0 ως 300 l/s. Για να παρασταθεί ο αριθµός 300 στο δυαδικό σύστηµα απαιτούνται 9 ψηφία. Άρα κάθε χρωµόσωµα έχει 8 9 = 72 ψηφία (γονίδια). 800 600 400 200 000 6 4 8 800 600 400 2 3 5 200 0 0 200 400 600 800 000 200 400 7 Σχήµα 3. Θέσεις των πηγαδιών στον υδροφορέα Β. Συνάρτηση αποτίµησης Το κόστος άντλησης Κ δίνεται από τη σχέση: n K = A s i Q i () i= όπου Q i είναι η παροχή και s i η πτώση στάθµης στο πηγάδι i, n είναι ο αριθµός των πηγαδιών (άρα n = 8) και Α είναι συντελεστής κόστους, που θεωρείται σταθερός. Εποµένως για την αποτίµηση ενός χρωµοσώµατος πρέπει να υπολογισθούν τα s i, µε βάση τον αντίστοιχο συνδυασµό παροχών. Η πτώση στάθµης s σε οποιοδήποτε σηµείο οµογενή υδροφορέα µεγάλων διαστάσεων δίνεται από τη σχέση: 5
n s= Q 2πT i= i ln (x x i ) 2 + (y y R i ) 2 (2) όπου Τ είναι η µεταφορικότητα του υδροφορέα x, y οι συντεταγµένες του εξεταζόµενου σηµείου, x i, y i οι συντεταγµένες του πηγαδιού i και R η ακτίνα επιρροής του συστήµατος των πηγαδιών. Η σχέση (2) χρησιµοποιείται n φορές για να υπολογισθεί η πτώση στάθµης στις παρειές όλων των πηγαδιών. Οι τιµές των s i που προκύπτουν εισάγονται στην () και υπολογίζεται το κόστος Κ. Προφανώς όσο µικρότερο είναι το Κ, τόσο πιο κατάλληλο είναι το χρωµόσωµα. Γ. Αντιµετώπιση του περιορισµού Όπως αναφέρθηκε, η τιµή κάθε Q i, που προκύπτει από την αποκωδικοποίηση του αντίστοιχου τµήµατος του χρωµοσώµατος, κυµαίνεται από 0 ως 300 l/s. Άρα είναι σχεδόν βέβαιο ότι ο συνδυασµός των 8 Q i, που αντιπροσωπεύει το χρωµόσωµα, δεν θα ικανοποιεί των βασικό περιορισµό, δηλαδή τη σχέση: 8 i= Q i = TQ= 300 (3) Το πρόβληµα αντιµετωπίζεται µε «διόρθωση» των χρωµοσωµάτων. Υπολογίζεται πρώτα το άθροισµα SUMQ των 8 παροχών Q i και κατόπιν κάθε Q i πολλαπλασιάζεται µε τον λόγο ΤQ/SUMQ. Στους υπολογισµούς της συνάρτησης αποτίµησης χρησιµοποιούνται προφανώς οι διορθωµένες τιµές, που πληρούν τη σχέση 3.. Αποτελέσµατα Το πρόγραµµα εκτελέσθηκε αρκετές φορές µε πληθυσµό PS = 60 και αριθµό γενιών ΝG = 300. Στον πίνακα παραθέτονται τυπικά αποτελέσµατα για τις παροχές των πηγαδιών, µαζί µε τις αντίστοιχες πτώσεις στάθµης στις παρειές τους. Το πηγάδι, που έχει τις µεγαλύτερες αποστάσεις από τα υπόλοιπα πηγάδια έχει και τη µεγαλύτερη παροχή, ενώ τα πηγάδια 2 και 3, που απέχουν λίγο µεταξύ τους, έχουν τις µικρότερες παροχές. Παρατηρούµε ακόµη ότι οι πτώσεις στάθµης είναι περίπου ίσες. Αυτό σηµαίνει ότι η λύση είναι πολύ κοντά στη βέλτιστη, αφού έχει αποδειχθεί αναλυτικά ότι το κόστος άντλησης γίνεται ελάχιστο, όταν οι στάθµες σε όλα τα πηγάδια είναι ίσες µεταξύ τους. Πίνακας 2. Παροχές των πηγαδιών και πτώσεις στάθµης (τυπικά αποτελέσµατα) πηγάδι x i y i Q i (l/s) s i (m) 0 0 50 53.98 2 620 580 28 53.47 3 700 600 26 53.3 4 00 550 42 53.89 5 200 800 3 53.48 6 420 400 43 54.7 7 300 0 46 54.6 8 300 050 34 53.56 6
2.3 Πλεονεκτήµατα και µειονεκτήµατα των γενετικών αλγορίθµων. Οι γενετικοί αλγόριθµοι είναι ένα πολύ ισχυρό εργαλείο για την επίλυση δύσκολων προβληµάτων βελτιστοποίησης. Τα συγκριτικά πλεονεκτήµατά τους είναι τα ακόλουθα:. Αναζητούν τη βέλτιστη λύση ξεκινώντας από πολλά σηµεία, ενώ οι άλλες µέθοδοι ξεκινούν από ένα σηµείο µόνον. Εποµένως παγιδεύονται πιο δύσκολα σε τοπικά ακρότατα. 2. Χρησιµοποιούν µόνο στοιχεία από την αντικειµενική συνάρτηση και εποµένως η εφαρµογή τους δεν περιορίζεται από την ύπαρξη παραγώγων ή από απαιτήσεις συνέχειας. 3. Παρέχουν εξαιρετική ευελιξία στη διαµόρφωση της συνάρτησης αποτίµησης. 4. Λειτουργούν µε κωδικοποιηµένες παραµέτρους και όχι µε τις ίδιες τις παραµέτρους, πράγµα που διευκολύνει τη σύγκριση των λύσεων. Όµως οι γενετικοί αλγόριθµοι παρουσιάζουν και µερικές αδυναµίες, όπως:. Στις περισσότερες περιπτώσεις, δεν υπάρχει βεβαιότητα ότι ο αλγόριθµος βρήκε την καλύτερη λύση του προβλήµατος. 2. Η συνάρτηση αποτίµησης υπολογίζεται για κάθε χρωµόσωµα κάθε γενιάς. Εποµένως, ο συνολικός όγκος υπολογισµών αυξάνεται υπέρµετρα µε την αύξηση της πολυπλοκότητας της συνάρτησης αποτίµησης. 3. Η απόδοση των Γ.Α. εξαρτάται από τη µορφή της συνάρτησης αποτίµησης. Αν, για παράδειγµα, η συνάρτηση αποτίµησης είναι καθαρά κλιµακωτή, η απόδοση των Γ.Α. είναι µέτρια. 3. Προβλήµατα ορολογίας Πολλοί από τους αγγλικούς όρους σε θέµατα γενετικών αλγορίθµων, όπως genetic, chromosome, schema, allele, diploidy, epistasis είναι ελληνογενείς, διότι προέρχονται από την επιστήµη της βιολογίας, της οποίας η ορολογία βασίσθηκε σε µεγάλο βαθµό στην ελληνική γλώσσα. Εποµένως η απόδοση των όρων αυτών στα ελληνικά είναι σχετικά εύκολη, αν και όχι πάντα αυτονόητη. Πρέπει όµως να γίνει προσπάθεια για την ορθή και µονοσήµαντη απόδοση και των υπόλοιπων αγγλικών όρων στη γλώσσα µας. BΙΒΛΙΟΓΡΑΦΙΑ Α. Γενική. Coley D. A. An Introduction to Genetic algorithms for scientists and engineers, World Scientific, 999 2. Dasgupta D. and Michalewicz Z. (editors) Evolutionary algorithms in engineering applications. Berlin Heidelberg: Springer, 997. 3. Goldberg D.E. Genetic algorithms in search, optimization and machine learning. Addison-Wesley Publishing Company, Reading Massachusetts, 989. 4. Michalewicz Z. Genetic algorithms + Data structures = Evolution programs, Springer-Verlag, Berlin Heidelberg, 996. 7
5. Reeves C.R. and J.E. Raw Genetic algorthms-principles and perspectives, Kluwer Academic Publishers, 2003. 6. Ζορµπά Α. «ιαχείριση υδατικών πόρων. Εισαγωγικά στοιχεία από τη µέθοδο των γενετικών αλγορίθµων», Θεσσαλονίκη, 2003. Β. Ενδεικτική βιβλιογραφία σε θέµατα υδραυλικής και υδατικών πόρων. El Harrouni K., Ouazar D., Walters G.A., and Cheng A.H.-D. Groundwater optimization and parameter estimation by genetic algorithm and dual reciprocity boundary element method, Engineering Analysis with Boundary Elements, Vol. 8, pp. 287-296, 996. 2. El Harrouni K., Ouazar D., and Cheng A.H-D. Boundary and parameter identification using genetic algorithms and boundary element method, in Computer Methods and Water Resources III (eds Y. Abousleiman, C.A. Brebbia, A.H.-D. Cheng, D. Ouazar), Proc. 3rd Int. Conf. on Computer Methods and Water Resources, 995, Beirut, Lebanon, pp. 09-6, 996. 3. Καρπούζος. Κ. και Κατσιφαράκης Κ.Λ. «Υπολογισµός µεταφορικοτήτων υδροφορέων µε χρήση γενετικών αλγορίθµων και οριακών στοιχείων», Πρακτ. 7 ου Πανελλ. Συν. Ε.Υ.Ε. (Πάτρα), σελ. 245-252, 997. 4. Katsifarakis K. L. and Karpouzos D. K. Minimization of pumping cost in zoned aquifers by means of genetic algorithms Proc. Int. Conf. Protection and Restoration of the Environment ΙV, (eds K. L. Katsifarakis, G. P. Korfiatis, Y. A. Mylopoulos, A. C. Demetracopoulos) Sani Halkidiki, pp. 6-68, 998. 5. Katsifarakis K.L., Theodossiou N., Latinopoulos P. Combined use of genetic algorithms and boundary elements in aquifer restoration problems, Proc. 7th Int. Conf. HYDROSOFT/98 (ed. W.R. Blain) Como, Italy, pp. 469-478, 998. 6. McKinney D.C. and Min-Der Lin Genetic algorithm solution of groundwater management models, Water Resources Research Vol. 30(6), pp. 897-906, 994. 7. Πεταλά Ζ. «Βελτιστοποίηση της διαχείρισης παράκτιων υδροφορέων µε τη χρήση γενετικών αλγορίθµων», ιδακτορική διατριβή, Τµήµα Πολιτικών Μηχανικών Α.Π.Θ., 2004. 8. Τσελεπίδου Κ. «Βελτιστοποίηση διαχείρισης γεωθερµικών και υπόγειων υδατικών πόρων», ιδακτορική διατριβή, Τµήµα Πολιτικών Μηχανικών Α.Π.Θ., 2008 9. Wagner B.J. Sampling design methods for groundwater modeling under uncertainty Water Resources Research Vol. 3(0), pp. 258-259, 995. Παράρτηµα: Βοηθητικά προγράµµατα (σε Quick Basic) α) Εισαγωγή δεδοµένων READ PS, MP, CRP, MNG, KK Rem PS=population size, MP=mutation probability, CRP=crossover probability, MNG=number of generations, KK=selection constant DIM B$(PS), BN$ (PS), VB(PS): 'B$(I)=binary chromosom I, VB(I)= fitness value 8
β) Επιλογή (τροχός ρουλέτας-πρόβληµα µεγιστοποίησης) BN$() = B$(): VB = VB() FOR I = 2 TO PS IF VB(I) < VB THEN 3050 BN$() = B$(I): VB = VB(I) 3050 NEXT I VBN() = VB SVB = 0 FOR I = TO PS SVB = SVB + VB(I) VB(I) = SVB NEXT I FOR I = 2 TO PS RANDOMIZE TIMER XXX = RND * SVB FOR J = TO PS IF XXX < VB(J) THEN BN$(I) = B$(J) VBN(I) = VB(J) - VB(J - ) GOTO 3200 END IF 300 NEXT J 3200 NEXT I FOR I = TO PS: B$(I) = BN$(I): VB(I) = VBN(I): NEXT I γ) Επιλογή (µέθοδος του διαγωνισµού-πρόβληµα ελαχιστοποίησης) BN$() = B$(): VB = VB() FOR I = 2 TO PS IF VB(I) > VB THEN 3050 BN$() = B$(I): VB = VB(I) 3050 NEXT I BN$(2) = BN$() FOR I = 3 TO PS RANDOMIZE TIMER FOR J = TO KK 300 J(J) = RND * (PS + ) IF J(J) = 0 OR J(J) = PS + THEN 300 NEXT J BN$(I) = B$(J()) VB = VB(J()) FOR J = 2 TO KK IF VB(J(J)) > VB THEN 3200 BN$(I) = B$(J(J)) VB = VB(J(J)) 3200 NEXT J VB(I)= VB NEXT I FOR I = TO PS: B$(I) = BN$(I): NEXT I 9
δ) ιασταύρωση J = 0 FOR I = 2 TO PS RANDOMIZE TIMER XX = RND IF XX > CRP THEN 4400 J = J + IF J = THEN CR = I ELSE CR2 = I JCR = RND * SL B$ = LEFT$(B$(CR), JCR) + RIGHT$(B$(CR2), SL - JCR) B$(CR2) = LEFT$(B$(CR2), JCR) + RIGHT$(B$(CR), SL - JCR) B$(CR) = B$ J = 0 END IF 4400 NEXT I ε) Μετάλλαξη FOR I = 2 TO PS RANDOMIZE TIMER FOR J = TO SL XX = RND IF XX > MP THEN 4500 B$ = LEFT$(B$(I), J) M$ = RIGHT$(B$, ) IF M$ = "" THEN M$ = "0" ELSE M$ = "" B$ = LEFT$(B$(I), J - ): B2$ = RIGHT$(B$(I), SL - J) B$(I) = B$ + M$ + B2$ 4500 NEXT J NEXT I 0