Ανάπτυξη εξελικτικού αλγορίθμου για πολυκριτηριακή βελτιστοποίηση

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Ανάπτυξη εξελικτικού αλγορίθμου για πολυκριτηριακή βελτιστοποίηση"

Transcript

1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΘΕΩΡΗΤΙΚΗ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΥΣΤΗΜΑΤΩΝ ΕΛΕΓΧΟΥ Ανάπτυξη εξελικτικού αλγορίθμου για πολυκριτηριακή βελτιστοποίηση ΜΕΤΑΠΤΥΧΙΑΚΗ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Γεώργιος Α. Καρκαμάνης Επιβλέπων: Αθανάσιος Μυγδαλάς Καθηγητής Α.Π.Θ. Θεσσαλονίκη, Ιούλιος 2013

2

3 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΘΕΩΡΗΤΙΚΗ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΥΣΤΗΜΑΤΩΝ ΕΛΕΓΧΟΥ Ανάπτυξη εξελικτικού αλγορίθμου για πολυκριτηριακή βελτιστοποίηση ΜΕΤΑΠΤΥΧΙΑΚΗ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Γεώργιος Α. Καρκαμάνης Επιβλέπων: Αθανάσιος Μυγδαλάς Καθηγητής Α.Π.Θ. Εγκρίθηκε από την τριμελή εξεταστική επιτροπή την 24η Ιουλίου 2013 Α. Μυγδαλάς Ν. Καραμπετάκης Γ. Ραχώνης Καθηγητής Α.Π.Θ. Αν. Καθηγητής Α.Π.Θ. Επικ.Καθηγητής Α.Π.Θ. Θεσσαλονίκη, Ιούλιος 2013

4 .. Γεώργιος Α. Καρκαμάνης Πτυχιούχος Πληροφορικης Α.Τ.Ε.Ι.Θ. και Αυτοματισμού Α.Τ.Ε.Ι.Θ. Copyright Γεώργιος Α. Καρκαμάνης, 2013 Με επιφύλαξη παντός δικαιώματος. All rights reserved. Απαγορεύεται η αντιγραφή, αποθήκευση και διανομή της παρούσας εργασίας, εξ ολοκλήρου ή τμήματος αυτής, για εμπορικό σκοπό. Επιτρέπεται η ανατύπωση, αποθήκευση και διανομή για σκοπό μη κερδοσκοπικό, εκπαιδευτικής ή ερευνητικής φύσης, υπό την προϋπόθεση να αναφέρεται η πηγή προέλευσης και να διατηρείται το παρόν μήνυμα. Ερωτήματα που αφορούν τη χρήση της εργασίας για κερδοσκοπικό σκοπό πρέπει να απευθύνονται προς τον συγγραφέα. Οι απόψεις και τα συμπεράσματα που περιέχονται σε αυτό το έγγραφο εκφράζουν τον συγγραφέα και δεν πρέπει να ερμηνευτεί ότι εκφράζουν τις επίσημες θέσεις του Α.Π.Θ.

5 ΑΝΑΠΤΥΞΗ ΕΞΕΛΙΚΤΙΚΟΥ ΑΛΓΟΡΙΘΜΟΥ ΓΙΑ ΠΟΛΥΚΡΙΤΗΡΙΑΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΠΕΡΙΛΗΨΗ Αντικείμενο της εργασίας είναι η ανάπτυξη ενός εξελικτικού αλγορίθμου για την επίλυση προβλημάτων βελτιστοποίησης με πολλαπλά κριτήρια. Συγκεκριμένα, στο 1ο κεφάλαιο γίνεται μια αναφορά στην έννοια του αλγορίθμου και την χρησιμότητα τους, ενώ στο 2ο κεφάλαιο γίνεται μια αναλυτική παρουσίαση των εξελικτικών αλγορίθμων και ειδικότερα των γενετικών αλγορίθμων. Παρουσιάζεται η σχέση τους με τα βιολογικά συστήματα, τα κύρια χαρακτηριστικά τους και η λειτουργία τους. Επίσης, γίνεται μια εισαγωγή στην έννοια της βελτιστοποίησης και διατυπώνονται τρόποι επίλυσης προβλημάτων πολυκριτηριακής βελτιστοποίησης με τη χρήση του συνόλου βέλτιστων σημείων Pareto. Στο 3ο κεφάλαιο γίνεται εκτενής περιγραφή του αλγορίθμου που σχεδιάστηκε και υλοποιήθηκε για τις ανάγκες της παρούσας εργασίας. Αναφέρονται οι σχεδιαστικές του λεπτομέρειες καθώς και τα τεχνικά του χαρακτηριστικά. Τέλος στο 4ο κεφάλαιο παρουσιάζονται τα αποτελέσματα των πειραμάτων που πραγματοποιήθηκαν από την εφαρμογή του, για την επίλυση προβλημάτων μηχανικής και μαθηματικών. ΛΕΞΕΙΣ ΚΛΕΙΔΙΑ Γενετικοί Αλγόριθμοι, Βελτιστοποίηση, Πολυκριτήρια, Pareto 5

6 ΓΕΩΡΓΙΟΣ Α. ΚΑΡΚΑΜΑΝΗΣ ABSTRACT The objective of this project is to develop an evolutionary algorithm for solving optimization problems with multiple criteria. Specifically, the first chapter refers to the concept of the algorithm and its utility, whereas the second chapter is a detailed presentation of evolutionary algorithms and particularly genetic algorithms. There is a presentation of their relation with biological systems, their main characteristics and their function. Furthermore, we introduce the concept of optimization and formulate ways of solving multiobjective optimization problems using the best set of points Pareto. In the third chapter there is a comprehensive description of the algorithm that was designed and implemented for the purposes of this project. There is a description of design and technical characteristics as well. Finally, in the forth chapter we present the results of experiments that were carried out by its application, for solving engineering and mathematical problem KEY WORDS Genetic Algorithms, Optimization, Multicriteria, Pareto 6

7 ΑΝΑΠΤΥΞΗ ΕΞΕΛΙΚΤΙΚΟΥ ΑΛΓΟΡΙΘΜΟΥ ΓΙΑ ΠΟΛΥΚΡΙΤΗΡΙΑΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΠΡΟΛΟΓΟΣ Θα ήθελα να ευχαριστήσω τον επιβλέποντα καθηγητή μου κ. Αθανάσιο Μυγδαλά για την πολύτιμη βοήθεια και την καθοδήγηση που μου προσέφερε κατά την εκπόνηση αυτής της εργασίας. Επίσης οφείλω και ένα μεγάλο ευχαριστώ στην γυναίκα μου και στα δύο μου παιδιά, για την συμπαράσταση και την υπομονή που έδειξαν, κατά το χρονικό διάστημα των μεταπτυχιακών μου σπουδών. 7

8 ΓΕΩΡΓΙΟΣ Α. ΚΑΡΚΑΜΑΝΗΣ 8

9 ΑΝΑΠΤΥΞΗ ΑΛΓΟΡΙΘΜΟΥ ΓΙΑ ΠΟΛΥΚΡΙΤΗΡΙΑΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ΠΕΡΙΛΗΨΗ. 5 ABSTRACT. 6 ΠΡΟΛΟΓΟΣ ΠΕΡΙΕΧΟΜΕΝΑ. 9 Κεφάλαιο Σελίδα 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΝΝΟΙΑ ΤΩΝ ΑΛΓΟΡΙΘΜΩΝ Εισαγωγή Τι είναι αλγόριθμος Τα χαρακτηριστικά ενός αλγόριθμου ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ Εισαγωγή Βασικά μοντέλα εξελικτικών αλγορίθμων Οι γενετικοί αλγόριθμοι Βιολογική προσέγγιση Γενετικοί αλγόριθμοι και βιολογικά συστήματα Τα κύρια στοιχεία ενός γεννητικού αλγορίθμου Κωδικοποίηση Συνάρτηση Καταλληλότητας ή αντικειμενική συνάρτηση Γενετικές διαδικασίες Επιλογή ιασταύρωση Μετάλλαξη Η λειτουργία ενός γενετικού αλγορίθμου Βελτιστοποίηση Πολυκριτηριακή βελτιστοποίηση Μέθοδος επίλυσης προβλημάτων βελτιστοποίησης με 29 πολυκριτήρια Εύρεση ενός συνόλου βέλτιστων λύσεων (Pareto set)... 30

10 ΓΕΩΡΓΙΟΣ Α. ΚΑΡΚΑΜΑΝΗΣ Η θεωρία επαφής Μέθοδος δημιουργίας ενός συνόλου βέλτιστων λύσεων ΠΑΡΟΥΣΙΑΣΗ ΤΟΥ ΑΛΓΟΡΙΘΜΟΥ Εισαγωγή Σύντομη περιγραφή του αλγορίθμου Σχεδιαστικές λεπτομέρειες του αλγορίθμου Παραμετροποίηση Εισαγωγή δεδομένων Αρχικοποίηση Αξιολόγηση πληθυσμού Επιλογή Διασταύρωση Μετάλλαξη Δημιουργία νέου πληθυσμού Εύρεση ενός συνόλου βέλτιστων λύσεων ΠΕΙΡΑΜΑΤΑ Εισαγωγή Ελαχιστοποίηση μαθηματικής συνάρτησης με περιορισμούς Παρουσίαση του προβλήματος Εφαρμογή του γενετικού αλγορίθμου για την επίλυση του προβλήματος Ελαχιστοποίηση δύο μαθηματικών συναρτήσεων Παρουσίαση του προβλήματος Εφαρμογή του γενετικού αλγορίθμου για την επίλυση του 78 προβλήματος Το πρόβλημα της χημικής ισορροπίας Παρουσίαση του προβλήματος Εφαρμογή του γενετικού αλγορίθμου για την επίλυση του προβλήματος ΒΙΒΛΙΟΓΡΑΦΙΑ

11 ΑΝΑΠΤΥΞΗ ΕΞΕΛΙΚΤΙΚΟΥ ΑΛΓΟΡΙΘΜΟΥ ΓΙΑ ΠΟΛΥΚΡΙΤΗΡΙΑΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ 1.1 Εισαγωγή 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΝΝΟΙΑ ΤΩΝ ΑΛΓΟΡΙΘΜΩΝ Η θεωρία γύρω από τους αλγορίθμους δεν είναι καινούργια αλλά έχει μεγάλη παράδοση, καθώς η ηλικία ορισμένων αλγορίθμων αριθμεί χιλιάδες χρόνια, όπως για παράδειγμα ο αλγόριθμος του Ευκλείδη για την εύρεση του μέγιστου κοινού διαιρέτη δύο αριθμών ή το λεγόμενο κόσκινο του Ερατοσθένη για την εύρεση των πρώτων αριθμών. Το πεδίο της θεωρίας αλγορίθμων είναι ένα ευρύτερο και πλούσιο πεδίο, καθώς πληθώρα συγγραμμάτων έχουν εμφανιστεί στη βιβλιογραφία και συνεχίζεται η περαιτέρω εμβάθυνση σε νέα σύγχρονα προβλήματα. 1.2 Τι είναι αλγόριθμος Η λέξη αλγόριθμος προέρχεται από μία μελέτη του Πέρση μαθηματικού του 8ου αιώνα μ.χ. Αλ Χουαρίζμι (Abu Ja'far Mohammed ibn Musa Αl-Khowarismi), η οποία περιείχε συστηματικές τυποποιημένες λύσεις αλγεβρικών προβλημάτων και αποτελεί ίσως την πρώτη πλήρη πραγματεία άλγεβρας. Πέντε αιώνες αργότερα η μελέτη μεταφράστηκε στα Λατινικά και άρχιζε με τη φράση "Algorithmus dixit..." (ο Αλγόριθμος είπε...). Έτσι η λέξη αλγόριθμος καθιερώθηκε αργά τα επόμενα χίλια χρόνια με την έννοια «συστηματική διαδικασία αριθμητικών χειρισμών». Τη σημερινή της σημασία την απόκτησε στις αρχές του 20 αιώνα με την ανάπτυξης της επιστήμης της Πληροφορικής και την εμφάνιση των ηλεκτρονικών υπολογιστών. Αν και ο όρος αλγόριθμος χρησιμοποιείται για να δηλώσει τα βήματα που εφαρμόζονται για την επίλυση προβλημάτων, ένας πιο αυστηρός ορισμός τη έννοιας αυτής είναι: Αλγόριθμος είναι μία πεπερασμένη σειρά ενεργειών που είναι αυστηρά καθορισμένες, οι οποίες εκτελούνται σε πεπερασμένο χρόνο και έχουν σαν στόχο την επίλυση ενός προβλήματος. (Βακάλη, 2010) 11

12 ΓΕΩΡΓΙΟΣ Α. ΚΑΡΚΑΜΑΝΗΣ 1.3 Τα χαρακτηριστικά ενός αλγόριθμου Η έννοια του αλγορίθμου δεν συναντάται μόνο στα προβλήματα της πληροφορικής και δεν συνδέεται αποκλειστικά μόνο με αυτά, καθώς αλγορίθμους συναντάμε και στην καθημερινή μας ζωή. Για παράδειγμα, αν πρέπει να μαγειρέψουμε ένα φαγητό, τότε πρέπει να εκτελέσουμε μια σειρά ενεργειών που είναι: να συγκεντρώσουμε όλα τα υλικά που θα χρησιμοποιήσουμε, να ορίσουμε τις κατάλληλες ποσότητες από τα παραπάνω υλικά, να προετοιμάσουμε τα σκευή μαγειρικής, να ρίξουμε τα υλικά στο κατάλληλο σκεύος μαγειρικής με τη σωστή σειρά, και να αφήσουμε να ψηθεί το φαγητό όση ώρα χρειάζεται. Όλες οι παραπάνω ενέργειες μπορούνε να αποτελέσουνε τον αλγόριθμο που δίνει λύση στο πρόβλημα «Μαγειρεύοντας ένα φαγητό» διότι, για την ετοιμασία του φαγητού ακολουθούμε μια πεπερασμένη σειρά βημάτων που εκτελούνται διαδοχικά σε πεπερασμένο χρόνο και σκοπό έχουν να δώσουν λύση στο πρόβλημα.( Καρκαμάνης, 2011) Κάθε αλγόριθμος πρέπει να ικανοποιεί τα παρακάτω κριτήρια: - Είσοδος (input): Καμία, μία ή περισσότερες τιμές δεδομένων πρέπει να δίνονται ως είσοδοι στον αλγόριθμο. - Έξοδος (output): Ο αλγόριθμος να δημιουργεί τουλάχιστον μια τιμή δεδομένων ως αποτέλεσμα. - Καθοριστικότητα (definiteness): Κάθε εντολή του αλγορίθμου πρέπει να καθορίζεται χωρίς καμία αμφιβολία για τον τρόπο εκτέλεσής της. - Περατότητα (finiteness): Ο αλγόριθμος πρέπει να τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης των εντολών του. - Αποτελεσματικότητα (effectiveness): Κάθε μεμονωμένη εντολή του αλγορίθμου πρέπει να είναι απλή και να μπορεί να εκτελεστεί. 12

13 ΑΝΑΠΤΥΞΗ ΕΞΕΛΙΚΤΙΚΟΥ ΑΛΓΟΡΙΘΜΟΥ ΓΙΑ ΠΟΛΥΚΡΙΤΗΡΙΑΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ 2. ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ 2.1 Εισαγωγή Τα τελευταία χρόνια, παρατηρείται ένα συνεχώς αυξανόμενο ενδιαφέρον για ανάπτυξη μεθόδων επίλυσης προβλημάτων βασισμένων στις αρχές της Γενετικής Εξέλιξης και της Κληρονομικότητας. Τα μειονεκτήματα των κλασικών μεθόδων επίλυσης προβλημάτων βελτιστοποίησης, καθώς και η ανάγκη για παραγωγή λογισμικού που να μπορεί να εκμεταλλεύεται πιο αποδοτικά τις δυνατότητες του υλικού, ήταν η βασική αιτία που ώθησε τους επιστήμονες σ' αυτήν την ανάπτυξη. Αυτού του είδους οι μέθοδοι λειτουργούν διατηρώντας έναν πληθυσμό κωδικοποιημένων πιθανών λύσεων και εφαρμόζοντας πάνω σε αυτόν την αρχή της επιβίωσης του καταλληλότερου ώστε να παράγουν τις καλύτερες λύσεις ή τις καλύτερες προσεγγίσεις σε μία λύση. Στηρίζονται στην προσομοίωση των διάφορων εξελικτικών διαδικασιών που διέπουν τη φυσική εξέλιξη, δηλαδή την αναπαραγωγή, την τυχαία μετάλλαξη την επιλογή των ατόμων του πληθυσμού για εξέλιξη. Έτσι, περνώντας από γενιά σε γενιά, τα συστήματα αυτά δημιουργούν συνεχώς νέους πληθυσμούς πιθανών λύσεων χρησιμοποιώντας, άτομα που έχουν επιλεχθεί ανάλογα με το επίπεδο καταλληλότητας από την προηγούμενη γενιά, όσο και εντελώς καινούρια. 2.2 Βασικά μοντέλα εξελικτικών αλγορίθμων Στον χώρο των εξελικτικών αλγορίθμων έχουν κυριαρχήσει τρία κυρίως μοντέλα: ο Εξελικτικός Προγραμματισμός (Evolutionary programming), οι Εξελικτικές Στρατηγικές(Evolution strategies) και οι Γενετικοί Αλγόριθμοι (Genetic algorithms). Αν και τα τρία μοντέλα στηρίζονται σε όμοιες αρχές, κάθε μία υλοποιείται με διαφορετικό τρόπο. Ο εξελικτικός προγραμματισμός, δεν χρησιμοποιεί κωδικοποιημένες λύσεις, αλλά τη φυσική αναπαράσταση των λύσεων. Παράγει ένα τυχαίο πληθυσμό λύσεων, αξιολογεί τους γονείς και τους επιλέγει ανάλογα με την ποιότητά τους. Εφαρμόζει μόνο τη διαδικασία της μετάλλαξης και δεν ενσωματώνει τη διαδικασία της διασταύρωσης. (Fogel 1966) 13

14 ΓΕΩΡΓΙΟΣ Α. ΚΑΡΚΑΜΑΝΗΣ Οι εξελικτικές στρατηγικές, ξεκινούν συνήθως από μία τυχαία λύση που δεν είναι κωδικοποιημένη. Εφαρμόζουνε μετάλλαξη με πιθανότητα στους γονείς, παράγουν τους απογόνους και τους αξιολογούνε. Επιλέγεται ο καλύτερος για να είναι ο γονέας της επόμενης γενιάς. (Rechenberg 1973) Οι γενετικοί αλγόριθμοι στην αρχή παράγουν ένα σύνολο λύσεων, το αξιολογούν, επιλέγουν τις καλύτερες, εφαρμόζουν τη διασταύρωση, και μεμονωμένα, και με μικρή πιθανότητα τη μετάλλαξη.(holland 1975) 2.3 Οι γενετικοί αλγόριθμοι Η πρώτη εμφάνιση των γενετικών αλγόριθμων χρονολογείται στις αρχές του 1950, όταν διάφοροι επιστήμονες από το χώρο της βιολογίας αποφάσισαν να χρησιμοποιήσουν υπολογιστές στην προσπάθειά τους να προσομοιώσουν πολύπλοκα βιολογικά συστήματα. Η συστηματική τους ανάπτυξη όμως, που οδήγησε στην μορφή με την οποία είναι γνωστοί σήμερα, πραγματοποιήθηκε στις αρχές του 1970 από τον John Holland και τους συνεργάτες του, στο Πανεπιστήμιο του Michigan. Ο Holland φαντάστηκε ότι οι λειτουργίες της φύσης θα μπορούσαν να έχουν αποτελέσματα αν ενσωματώνονταν σε αλγόριθμους για υπολογιστές, ώστε να προκύψουν αποδοτικές τεχνικές επίλυσης δύσκολων προβλημάτων.(holland, 1975) Η βασική ιδέα που κρύβεται πίσω από τους γενετικούς αλγορίθμους είναι η μίμηση των μηχανισμών της φύσης που περιγράφονται από την επιστήμη της Γενετικής (Golberg, 1989). 2.4 Βιολογική προσέγγιση Το 1858 ο Κάρολος Δαρβίνος και ο Άλφρεντ Ράσελ Γουάλας διατύπωσαν την θεωρία της εξέλιξης των ειδών μέσω της φυσικής επιλογής.οι λεπτομέρειες της θεωρίας αυτής και τα αναλυτικά επιχειρήματα καταγράφηκαν στο βιβλίο που έγραψε ο Δαρβίνος το 1859 "Περί της προέλευσης των ειδών" (Darwin, 1860). Σκοπός της θεωρίας αυτής είναι να δώσει μια εξήγηση για το φαινόμενο της ζωής, την προέλευσή της και τις βασικές λειτουργίες της. Ο πυρήνας αυτής θεωρίας ισχυρίζεται ότι τα έμβια όντα έχουν επιβιώσει λόγω του ότι τα χαρακτηριστικά τα οποία διέθεταν τους έδιναν πλεονεκτήματα στο περιβάλλον στο οποίο ζούσαν σε αντίθεση με αλλά έμβια όντα του ίδιου είδους τα οποία δεν διέθεταν αυτά τα χαρακτηριστικά. Η μετέπειτα διατύπωση από τον Mendel των νόμων της κληρονομικότητας, της ανακάλυψης της έννοιας των 14

15 ΑΝΑΠΤΥΞΗ ΕΞΕΛΙΚΤΙΚΟΥ ΑΛΓΟΡΙΘΜΟΥ ΓΙΑ ΠΟΛΥΚΡΙΤΗΡΙΑΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ γονιδίων τα οποία ναι μεν διατηρούν τα χαρακτηριστικά των προγόνων τους, αλλά έχουν τη δυνατότητα να μεταλλάσσονται, έδωσε τη δυνατότητα να γίνει καλύτερα κατανοητή η αρχική θεωρία του αρβίνου (Mendel 1865). Τα σημαντικότερα σημεία στην εξέλιξης των ειδών είναι: Σε κάθε βιολογικό είδος, μερικά άτομα αφήνουν περισσότερους απογόνους σε σύγκριση με τα υπόλοιπα και δημιουργείται μια γενιά που έχει κληροδοτήσει ορισμένα χαρακτηριστικά. Τα χαρακτηριστικά αυτά αλλάζουν από την μεταβολή του περιβάλλοντος και των συνθηκών διαβίωσης των οργανισμών και μάλιστα κάποιος από τους οργανισμούς θα ζήσουν για να πολλαπλασιαστούν. Το κάθε άτομο αποτελείται από χρωμοσώματα (chromosomes), που είναι πολύπλοκα οργανικά μόρια τα οποία κωδικοποιούν τη δομή και τα χαρακτηριστικά τους. Αλλαγή στα χαρακτηριστικά σημαίνει αλλαγή στα χρωμοσώματα τους. Τα χρωμοσώματα αποτελούνται από μικρότερα μέρη, γνωστά ως γονίδια (genes). Το σύνολο της γενετικής πληροφορίας που είναι κωδικοποιημένο στα γονίδια ονομάζεται γονότυπος (genotype). Η δημιουργία ενός νέου οργανισμού περιλαμβάνει την αποκωδικοποίηση των χρωμοσωμάτων. Το σύνολο χαρακτηριστικών που καθορίζονται από τις πληροφορίες των γονιδίων, συνιστούν το φαινότυπο (phenotype). Κύριες λειτουργίες του φαινομένου της εξέλιξης είναι η αναπαραγωγή (reproduction) και η μετάλλαξη (mutation). Στην αναπαραγωγή έχουμε τη δημιουργία ένας νέου οργανισμού, τα χρωμοσώματα του οποίου αποτελούνται από γονίδια που προέρχονται κάποια από τον πατέρα και κάποια από τη μητέρα. Έτσι, για κάθε χαρακτηριστικό, το νέο άτομο έχει πάρει ένα γονίδιο από κάθε γονέα με τις περισσότερες φορές ένα γονίδιο να κυριαρχεί έναντι του άλλου. Το γονίδιο που τελικά καθορίζει το χαρακτηριστικό λέγεται κυρίαρχο ή επικρατές (dominant) και το άλλο 15

16 ΓΕΩΡΓΙΟΣ Α. ΚΑΡΚΑΜΑΝΗΣ υπολειπόμενο (recessive). Γονίδια που είναι υπεύθυνα για το ίδιο χαρακτηριστικό λέγονται αλληλόμορφα (alleles). Στη μετάλλαξη γίνεται με τυχαίο τρόπο η αλλαγή της δομής των χρωμοσωμάτων, έχοντας ως αποτέλεσμα την αλλαγή σε κάποιο χαρακτηριστικό, που μερικές φορές μπορεί να προκαλέσει βελτιώσεις στην εξέλιξη της ζωής. 2.5 Γενετικοί αλγόριθμοι και βιολογικά συστήματα Όπως αναφέρθηκε και πιο πάνω, οι γενετικοί αλγόριθμοι είναι μια προσπάθεια μίμησης των βιολογικών συστημάτων, αφού στηρίζονται πάνω σε αρχές που η ίδια η φύση εφαρμόζει για βελτιστοποίηση, προσαρμογή και επιβίωση των ειδών. Γι αυτόν τον λόγο, έχουν αντιστοιχίσει τις ιδιότητές τους με τις αντίστοιχες βιολογικές (Λυκοθανάσης, 2001). Αναφέρονται σε άτομα (individuals) μέσα σε έναν πληθυσμό, όπως ισχύει και με τα έμβια όντα. Πολύ συχνά αυτά τα άτομα καλούνται επίσης χρωμοσώματα (chromosomes). Στους γενετικούς αλγορίθμους αναφερόμαστε σχεδόν πάντα σε άτομα με ένα μόνο χρωμόσωμα, σε σχέση με τη φύση όπου κάθε άτομο μπορεί να έχει περισσότερα από ένα χρωμοσώματα. Χρησιμοποιούν ένα σύνολο ατόμων δημιουργώντας έναν πληθυσμό (population). Τα χρωμοσώματα αποτελούνται από διάφορα στοιχεία που ονομάζονται γονίδια (gene) και είναι διατεταγμένα σε γραμμική ακολουθία. Κάθε γονίδιο επηρεάζει την κληρονομικότητα ενός ή περισσότερων χαρακτηριστικών και βρίσκονται και σε συγκεκριμένες θέσεις του χρωματοσώματος που καλούνται τόποι (loci). Κάθε γονότυπος (που στις περισσότερες περιπτώσεις είναι ένα μόνο χρωμόσωμα) αναπαριστά μια πιθανή λύση σε ένα πρόβλημα. Το μεταφρασμένο περιεχόμενο ενός συγκεκριμένου χρωμοσώματος καλείται φαινότυπος (phenotype) και καθορίζεται από τον χρήστη, ανάλογα με τις ανάγκες και τις απαιτήσεις του. 16

17 ΑΝΑΠΤΥΞΗ ΕΞΕΛΙΚΤΙΚΟΥ ΑΛΓΟΡΙΘΜΟΥ ΓΙΑ ΠΟΛΥΚΡΙΤΗΡΙΑΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Σε ένα γενετικό αλγόριθμο ο παραλληλισμός με το φυσικό μοντέλο, γίνεται ως εξής: Το κάθε χρωμόσωμα αναπαριστάται με μία κωδικοποίηση συνήθως με μια ακολουθία δυαδικών ψηφίων 0 και 1. Το γονίδιο στον γενετικό αλγόριθμο είναι ένα ψηφίο μέσα στο χρωμόσωμα, δηλαδή μέσα στη δυαδική συμβολοσειρά. Η θέση του γονιδίου μέσα στη δυαδική συμβολοσειρά είναι ο τόπος. Η δομή της συμβολοσειράς με τα δυαδικά ψηφία ως αντίστοιχα των γονιδίων αναφέρεται στον γονότυπο. Η μετρήσιμη τιμή που αντιστοιχεί σε ένα χρωμόσωμα είναι ο φαινότυπος. Συνοπτικά την αντιστοίχηση του φυσικού μοντέλου, με το μοντέλο που περιγράφεται σε έναν γενετικό αλγόριθμο, μπορούμε να το δούμε στον πίνακα που ακολουθεί. Πίνακας 1: Αντιστοιχία Φυσικού μοντέλου και Γενετικών αλγορίθμων Φυσικό μοντέλο Γενετικός αλγόριθμος Χρωμόσωμα Ακολουθία δυαδικών ψηφίων Γονίδιο Δυαδικό ψηφίο Αλληλόμορφο Τιμή δυαδικού ψηφίου Τόπος Θέση στη δυαδική ακολουθία Γονότυπος Δομή δυαδικής ακολουθίας Φαινότυπος Αποκωδικοποιημένη Δομή 2.6 Τα κύρια στοιχεία ενός γεννητικού αλγορίθμου. Στην παράγραφο αυτή παρουσιάζονται τα βασικά στοιχεία, που πρέπει να έχει ένας αλγόριθμος, ώστε να θεωρείται γενετικός Κωδικοποίηση Η κωδικοποίηση αποτελεί μια σημαντική και απαραίτητη διαδικασία για έναν γενετικό αλγόριθμος, αφού ουσιαστικά συνδέει τον αλγόριθμο με τα πραγματικά 17

18 ΓΕΩΡΓΙΟΣ Α. ΚΑΡΚΑΜΑΝΗΣ δεδομένα του προβλήματος, αναπαριστά με ικανοποιητικό τρόπο τα επιμέρους χαρακτηριστικά, ώστε να διευκολύνει τις επόμενες λειτουργίες του αλγορίθμου. Αφορά ένα σύνολο πιθανών λύσεων του προβλήματος όπου η αναπαράσταση των λύσεων πρέπει να γίνει με ένα μαθηματικό τρόπο, ώστε να είναι δυνατή η επεξεργασία από τον υπολογιστή. Στην πραγματικότητα πρόκειται για την κωδικοποίηση των χρωμοσωμάτων και κατά επέκταση των ατόμων, εφόσον στον γενετικό αλγόριθμος κάθε άτομο έχει ένα μόνο χρωμόσωμα. Υπάρχουν διάφοροι τρόποι κωδικοποίησης όπως: η κωδικοποίηση τιμής, στην οποία κάθε χρωμόσωμα είναι ένα σύνολο τιμών π.χ. πραγματικών αριθμών, η κωδικοποίηση μεταλλαγής, όπου κάθε χρωμόσωμα είναι μια σειρά από αριθμούς, που αντιπροσωπεύουν μια θέση σε μια ακολουθία, η κωδικοποίηση δέντρου, κάθε χρωμόσωμα είναι ένα δέντρο από αντικείμενα,. η δυαδική κωδικοποίηση, η οποία είναι και η πιο διαδεδομένη και κάθε χρωμόσωμα αναπαρίσταται από μία σειρά από δυαδικά ψηφία 0 ή 1 καθορισμένου μήκους. Ο τρόπος της κωδικοποίησης που θα επιλεχθεί εξαρτάται, από το είδος του προβλήματος που θα επιλυθεί, από τη διαίσθηση και την εμπειρία του σχεδιαστήπρογραμματιστή Συνάρτηση Καταλληλότητας ή αντικειμενική συνάρτηση (fitness function) Είναι το δεύτερο βασικό στοιχείο σύνδεσης του γενετικού αλγορίθμου με το πρόβλημα το οποίο επιλύει. Δέχεται στην είσοδο την αποκωδικοποιημένη τιμή ενός χρωμοσώματος και επιστρέφει έναν αριθμό που δηλώνει την τιμή καταλληλότητας ή τιμή ικανότητας του χρωμοσώματος. Η τιμή αυτή αξιολογεί πόσο καλή είναι η λύση που προέρχεται από το συγκεκριμένο χρωμόσωμα. Οι τιμές που παράγονται από τη συνάρτησης αξιολόγησης των ατόμων-χρωμοσωμάτων καθορίζουν τις αντίστοιχες πιθανότητες επιβίωσης, πολλαπλασιασμού ή απόρριψης του ατόμου στην επόμενη γενιά. 18

19 ΑΝΑΠΤΥΞΗ ΕΞΕΛΙΚΤΙΚΟΥ ΑΛΓΟΡΙΘΜΟΥ ΓΙΑ ΠΟΛΥΚΡΙΤΗΡΙΑΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Γενετικές διαδικασίες Για την επιλογή των κατάλληλων ατόμων, την αναπαραγωγή και μετάλλαξη τους, ώστε να παραχθεί η επόμενη νέα γενιά, οι γενετικοί αλγόριθμοι εφαρμόζουν γεννητικές διαδικασίας χρησιμοποιώντας τους λεγόμενους γενετικούς τελεστές. Οι γεννητικές διαδικασίες είναι: Επιλογή (selection) Σύμφωνα με τη θεωρία της εξέλιξης των ειδών, σε ένα είδος επιβιώνουν ορισμένα άτομα έναντι των άλλων γιατί διαθέτουν ορισμένα καλύτερα χαρακτηριστικά. Σε έναν γενετικό αλγόριθμο αυτό υλοποιείται με τη διαδικασία της επιλογής, η οποία είναι αυτή που καθορίζει ποια από τα άτομα του τρέχοντος πληθυσμού θα συνεχίσουν την εξελεγκτική διαδικασία περνώντας στη φάση της αναπαραγωγής για να γίνουν γονείς και να κληροδοτήσουν στην επόμενη γενιά κάποια η όλα τα χαρακτηριστικά τους. Για την διαδικασία της επιλογής υπάρχουν διάφορες τεχνικές. Επιλογή ρουλέτας (roulette wheel selection), η οποία είναι και η πιο συνηθισμένη. Στη διαδικασία αυτή η επιλογή των ατόμων γίνεται με βάση την τιμή της καταλληλότητας του κάθε ατόμου, όπως έχει προκύψει από τη συνάρτηση καταλληλότητας. Όσο μεγαλύτερη είναι η τιμή της καταλληλότητας ενός ατόμου σε σχέση με την τιμή των άλλων μελών τόσο αυξάνεται η πιθανότητα να επιλεγεί το άτομο αυτό μία ή περισσότερες φορές. Επιλογή ταξινόμησης (rank selection), στην οποία πρώτα ταξινομείται ο πληθυσμός και μετά κάθε χρωμόσωμα λαμβάνει τιμή ικανότητας βάσει της θέσης του. Τα χειρότερα θα πάρουν τιμή ικανότητας 1, τα δεύτερα χειρότερα θα πάρουν τιμή 2 κλπ και τα καλύτερα θα έχουν τιμή ικανότητας Ν (όπου Ν είναι ο αριθμός χρωμοσωμάτων στον πληθυσμό.) Επιλογή διαγωνισμού (tournament selection), όπου επιλέγεται τυχαία ένας αριθμός χρωμοσωμάτων (συνήθως δύο) από τον πληθυσμό και το χρωμόσωμα με την ψηλότερη τιμή ικανότητας επιλέγεται. 19

20 ΓΕΩΡΓΙΟΣ Α. ΚΑΡΚΑΜΑΝΗΣ Επιλογή σταθερής κατάστασης (steady state selection), όπου σε κάθε γενιά κάποια χρωμοσώματα με ψηλή τιμή ικανότητας επιλέγονται για να δημιουργήσουν απόγονους. Τότε κάποια χρωμοσώματα με χαμηλή τιμή ικανότητας αφαιρούνται και οι απόγονοι τοποθετούνται στην θέση τους. ιατήρηση των ικανών (elitism), η μέθοδος αντιγράφει το καλύτερο χρωμόσωμα (ή κάποια καλύτερα χρωμοσώματα) στο νέο πληθυσμό. Ο υπόλοιπος πληθυσμός επιλέγεται με τις άλλες μεθόδους ιασταύρωση (Crossover) Η λειτουργία της διασταύρωσης ακολουθεί μετά την εφαρμογής της μεθόδου επιλογής. Τα χρωμοσώματα (άτομα) που επιλέχθηκαν από αυτή τη διαδικασία αποθηκεύονται προσωρινά στη λεγόμενη «δεξαμενή ζευγαρώματος»,όπου θα υποστούν περισσότερες γενετικές διαδικασίες (Golberg, 1989). Τα άτομα που υπάρχουν στη δεξαμενή ζευγαρώματος σχηματίζουν με τυχαίο τρόπο ομάδες των δύο για να πραγματοποιήσουν ανταλλαγή γενετικού υλικού μέσω της διαδικασίας που ονομάζεται διασταύρωση. Στόχος της είναι, η νέα γενιά που θα προκύψει να περιλαμβάνει άτομα που θα είναι καλύτερα από τα αντίστοιχα άτομα της προηγούμενης γενιάς ώστε τα άτομααπόγονοι να έχουν κληρονομήσει τα καλύτερα χαρακτηριστικά των γονιών τους. Υπάρχει, βέβαια, και το ενδεχόμενο η διασταύρωση να δώσει χειρότερα παιδιά από τους γονείς, αλλά αυτά δεν θα έχουν μεγάλη πιθανότητα επιβίωσης και πολλαπλασιασμού στην επόμενη γενιά, λόγω της μικρής απόδοσης. που θα έχουν. Η διασταύρωση εφαρμόζεται με πιθανότητα, τη λεγόμενη πιθανότητα διασταύρωσης (crossover probability) ή pc. Η πιθανότητα αυτή ποικίλει από πρόβλημα σε πρόβλημα, ενώ πολλές φορές μπορεί και να αλλάζει και κατά τον χρόνο τρεξίματος επηρεάζοντάς τον σε κάποιο βαθμό. Όταν η πιθανότητα διασταύρωσης έχει την τιμή 1, σημαίνει ότι η διασταύρωση εφαρμόζεται συνεχώς με αποτέλεσμα της αύξησης του χρόνου εύρεσης της λύσης. Αντίθετα, χρησιμοποιώντας μικρές τιμές στην πιθανότητα διασταύρωσης η εύρεση της πιθανής λύσης να γίνει γρηγορότερα. Οι πιθανότεροι τρόποι διασταύρωσης είναι: 20

21 ΑΝΑΠΤΥΞΗ ΕΞΕΛΙΚΤΙΚΟΥ ΑΛΓΟΡΙΘΜΟΥ ΓΙΑ ΠΟΛΥΚΡΙΤΗΡΙΑΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ η διασταύρωση ενός σημείου (Single Point Crossover) στην οποία για κάθε ζεύγος χρωμοσωμάτων-γονέων που επιλέχθηκε για διασταύρωση παράγεται τυχαία ένας ακέραιος k (σημείο διασταύρωσης) από το διάστημα [1, m-1] όπου m το μήκος του δυαδικού ψηφίου σε χρωμοσώματα. Από το σημείο αυτό, μέχρι και το τέλος του μήκους των χρωμοσωμάτων γίνεται ανταλλαγή των γονιδίων τους μεταξύ των χρωμοσωμάτων-γονέων και παράγονται οι απόγονοι όπως φαίνεται στο παρακάτω σχήμα. α) Επιλογή σημείου διασταύρωσης β) Κόψιμο και ανταλλαγή γ) Τελικό αποτέλεσμα Εικόνα 1: Η διαδικασία της διαστεύρωσης η διασταύρωση πολλών σημείων (Multi Point Crossover), για κάθε ζεύγος χρωμοσωμάτων που επιλέχθηκε για διασταύρωση παράγονται τυχαία n ακέραιοι αριθμοί από το διάστημα [1, m-1] όπου m το μήκος σε δυαδικά ψηφία των χρωμοσωμάτων. Οι αριθμοί αυτοί προσδιορίζουν τα σημεία σημεία διασταύρωσης των χρωμοσωμάτων, στα οποία πραγματοποιείται η ανταλλαγή των γονιδίων για να παραχθούν οι απόγονοι η ομοιόμορφη διασταύρωση ( Uniform Crossover), για κάθε ένα χρωμόσωμα από το ζεύγος χρωμοσωμάτων που επιλέχθηκε για διασταύρωση επιλέγονται τυχαία κομμάτια και δημιουργούν τον απόγονο Μετάλλαξη Η μετάλλαξη είναι τελευταία στον κύκλο της αναπαραγωγικής διαδικασίας και εισάγει τυχαίες αλλαγές στις δομές μέσα στο πληθυσμό. Η μετάλλαξη δρα μεμονωμένα σε κάποια χρωμοσώματα μεταβάλλοντας την κατάσταση ενός γονιδίου. Η μετάλλαξη εφαρμόζεται με πιθανότητα, τη λεγόμενη πιθανότητα μετάλλαξης (mutation probability) ή pm η οποία συνήθως κυμαίνεται μεταξύ 0.1 1%. Καθώς αντιγράφονται δυαδικά ψηφία από τον γονέα στον απόγονο, επιλέγεται τυχαία ένα γονίδιο το οποίο θα 21

22 ΓΕΩΡΓΙΟΣ Α. ΚΑΡΚΑΜΑΝΗΣ υποστεί μετάλλαξη. Όταν υπάρχει δυαδική κωδικοποίηση των χρωμοσωμάτων αυτό σημαίνει ότι το γονίδιο που θα υποστεί μετάλλαξη από 0 γίνεται 1 και το αντίστροφο. Είναι πολύ σημαντικό η πιθανότητα να πραγματοποιηθεί η μετάλλαξη να είναι αρκετά μικρή (περίπου μία μετάλλαξη σε κάθε χίλια ψηφία που αντιγράφονται), γιατί αλλιώς υπάρχει μεγάλη αλλοίωση του πληθυσμού. Γενικά, πρόκειται για μια δικλείδα ασφαλείας για τις περιπτώσεις, κατά τις οποίες η επιλογή και η διασταύρωση, ενδεχομένως, χάσουν κάποιες πολύτιμες γενετικές πληροφορίες. 2.7 Η λειτουργία ενός γενετικού αλγορίθμου Οι γενετικοί αλγόριθμοι αποτελούν μια στοχαστική μέθοδο καθολικής βελτιστοποίησης που επεξεργάζονται ένα σύνολο υποψήφιων λύσεων (πληθυσμός). Δημιουργούν ένα χώρο αναζήτησης λύσεων, στον οποίο εκμεταλλεύονται τις ήδη επεξεργασμένες πληροφορίες (Michalewicz, 1996) για να εντοπίσουν και να διατηρήσουν τις καλύτερες λύσεις επιτυγχάνοντας όσο το δυνατόν καλύτερη εξερεύνηση όλου του διαστήματος. Χρησιμοποιούν πιθανοθεωρητικούς/στοχαστικούς κανόνες αναζήτησης όχι με την αυστηρή έννοια αφού η αναπαραγωγή των λύσεων εκτός της τυχαιότητας βασίζεται και στα αποτελέσματα της αξιολόγησης των λύσεων, δηλαδή το πόσο καλή είναι μια λύση και με βάση και αυτό το κριτήριο θα παραμένει και θα εξελιχθεί μέσα σε ένα πληθυσμό. Τα βήματα λειτουργίας ενός ΓΑ είναι τα εξής: Βήμα 1 ο : Πραγματοποιείται η παραμετροποίηση του αλγορίθμου, δηλαδή καθορίζεται, ο αριθμός των πληθυσμών-γενιών που θα δημιουργήσει, ο αριθμός ατόμων που θα περιλαμβάνει ο κάθε πληθυσμός, η πιθανότητα μετάλλαξης, η πιθανότητα διασταύρωσης και το κριτήριο τερματισμού του αλγορίθμου. Βήμα 2 ο : Αρχικά δημιουργείται ένας πληθυσμός πιθανών λύσεων από χρωμοσώματαάτομα, με το κάθε ένα από αυτά να κωδικοποιείται με έναν από τους τρόπους που 22

23 ΑΝΑΠΤΥΞΗ ΕΞΕΛΙΚΤΙΚΟΥ ΑΛΓΟΡΙΘΜΟΥ ΓΙΑ ΠΟΛΥΚΡΙΤΗΡΙΑΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ αναφέραμε παραπάνω. Ο πληθυσμός αυτός δημιουργεί τον αρχικό πληθυσμό του αλγόριθμου. Βήμα 3 ο : Εφαρμόζεται η συνάρτηση αξιολόγησης για κάθε άτομο που αρχικού πληθυσμού και το κάθε άτομο λαμβάνει μια τιμή καταλληλότητας. Με τον τρόπο αυτό πραγματοποιείται η αξιολόγηση του κάθε ατόμου. Βήμα 4 ο : Με έναν από τους τρόπους επιλογής, δημιουργείται η δεξαμενή ζευγαρώματος επιλέγοντας τα καταλληλότερα άτομα ως γονείς για ζευγάρωμα και αναπαραγωγή του πληθυσμού. Βήμα 5 ο : Επιλέγοντας έναν από τους τρόπους που παρουσιάστηκαν πιο πάνω, πραγματοποιείται η διασταύρωση μεταξύ των ατόμων από τη δεξαμενή ζευγαρώματος. Βήμα 6 ο : Ακολουθεί η μετάλλαξη των γονίδιων ορισμένων ατόμων. Βήμα 7 ο : Από τα βήματα 4, 5 και 6 παράγεται ένας πληθυσμός που στην πραγματικότητα είναι η νέα γενιά που προήρθε από τον αρχικό πληθυσμό. Βήμα 8 ο : Αν ο αλγόριθμος δημιουργήσει ένα συγκεκριμένο όριο γενεών ή υπάρχει σύγκλιση του πληθυσμού στην ίδια λύση, τότε τερματίζεται εμφανίζοντας το σύνολο των λύσεων, διαφορετικά επαναλαμβάνεται όλη η διαδικασία από το βήμα 3 και έπειτα. Το διάγραμμα ροής που απεικονίζει τη λειτουργία ενός γενετικού αλγορίθμου φαίνεται παρακάτω: 23

24 ΓΕΩΡΓΙΟΣ Α. ΚΑΡΚΑΜΑΝΗΣ Α ρ χ ή Δημιουργία αρχικού πληθυσμού Υπολογισμός τιμής καταλληλότητας για κάθε άτομο του πληθυσμού Επιλογή ατόμων για αναπαραγωγή Διασταύρωση Μετάλλαξη Αντικατάσταση ατόμων του παλιού πληθυσμού με τα νέα άτομα ΟΧΙ Τερματισμός αλγορίθμου ΝΑΙ Εμφάνιση λύσεων Τ έ λ ο ς Εικόνα 2: Το διάγραμμα ροής ενός γενετικού αλγορίθμου 2.8 Βελτιστοποίηση Ο χώρος της βελτιστοποίησης στα εφαρμοσμένα μαθηματικά αναφέρεται στην αναζήτηση βέλτιστων παραμέτρων ενός συστήματος. Προβλήματα βελτιστοποίησης απαντώνται σε πολλά επιστημονικά πεδία όπως π.χ. στη φυσική, στη χημεία, στην οικονομία κ.α.. Στα μαθηματικά διατυπώνεται ένα πρόβλημα βελτιστοποίησης σαν πρόβλημα ελαχιστοποίησης ή μεγιστοποίησης μιας συνάρτησης μίας μεταβλητής ή πολλών μεταβλητών. Ενώ στην ελαχιστοποίηση (ή μεγιστοποίηση) συναρτήσεων μίας 24

25 ΑΝΑΠΤΥΞΗ ΕΞΕΛΙΚΤΙΚΟΥ ΑΛΓΟΡΙΘΜΟΥ ΓΙΑ ΠΟΛΥΚΡΙΤΗΡΙΑΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ μεταβλητής μπορούν να χρησιμοποιηθούν αναλυτικές και αλγεβρικές μέθοδοι για τον ακριβή ορισμό ελάχιστων (ή μέγιστων), στη μελέτη συναρτήσεων πολλών μεταβλητών χρησιμοποιούνται κυρίως αριθμητικές μέθοδοι για έναν προσεγγιστικό ορισμό ελάχιστων (ή μέγιστων) σημείων. Για την αναζήτηση των βέλτιστων λύσεων ενός προβλήματος, δηλαδή την ελαχιστοποίηση ή τη μεγιστοποίηση μιας συνάρτησης, πραγματοποιείται αξιολόγηση μιας σειράς αποφάσεων για τις τιμές των μεταβλητών απόφασης (x1, x2,..., xn), με τη βοήθεια μιας αντικειμενικής συνάρτησης (objective function) f((x1, x2,..., xn) που ορίζει και τα κριτήρια βελτιστοποίησης. Δηλαδή πραγματοποιείται η αξιόλογηση της παραγόμενης από τη συνάρτηση f τιμής, για τις τιμές που έλαβαν οι μεταβλητές του διανύσματος x = [x1, x2,..., xn] ώστε να εκτιμηθεί και να αξιολογηθεί η λύση. Οι μεταβλητές απόφασης τις περισσότερες φορές υπόκεινται σε περιορισμούς της μορφής: lbi xi ubi όπου lbi, το κατώτερο όριο τιμών που μπορεί να λάβει η μεταβλητή xi και ubi, το ανώτερο (upper bound). Το πεδίο ορισμού της συνάρτησης καλείται χώρος αναζήτησης, ενώ το πεδίο τιμών καλείται χώρος αποτίμησης (Panagopoulos 2010). Για την εύρεση του βέλτιστου αποτελέσματος χρειάζεται να εκτελεστεί μεγάλο πλήθος δοκιμών ανάμεσα στις τιμές που παράγονται από τις μεταβλητές απόφασης κάτι που είναι δύσκολο να επιτευχθεί από τον άνθρωπο ιδίως όταν πρόκειται για μεγάλα και συνθετα προβλήματα. Ένας αλγόριθμος βελτιστοποίησης αναζητεί τη βέλτιστη λύση έξυπνα και γρήγορα μέσα στον χώρο αναζήτησης και η αποτελεσματικότητα του, οφείλεται στο ότι ψάχνει τη βέλτιστη λύση με έναν συστηματικό τρόπο ακολουθώντας κάποιους κανόνες μετάβασης από ένα σημείο του χώρου αναζήτησης σε άλλο, χωρίς φυσικά να είναι απαραίτητο να εξερευνηθεί ολόκληρος ο χώρος. Γι αυτό πολλές φορές οι αλγόριθμοι δεν εντοπίζουν πάντα το πραγματικά βέλτιστο σημείο, αλλά το προσεγγίζουν. Οι γενετικοί αλγόριθμοι διαθέτουν έναν τρόπο αναζήτησης που στηρίζεται στην επιστήμη της γενετικής καθώς, όπως αναφέρθηκε και πιο πάνω μιμούνται τη διαδικασία 25

26 ΓΕΩΡΓΙΟΣ Α. ΚΑΡΚΑΜΑΝΗΣ αναπαραγωγής των κυττάρων του ανθρώπινου οργανισμού. Η χρήση τους δεν εγγυάται την εύρεση του βέλτιστου αποτελέσματος, της βέλτιστης τιμής, αλλά έχει την έννοια της προσέγγισης μιας ικανοποιητικής λύσης που προσεγγίζει τη βέλτιστη τιμή σε εύλογο χρονικό διάστημα Πολυκριτηριακή βελτιστοποίηση Το πρόβλημα βελτιστοποίησης γίνεται πιο σύνθετο όταν η αξιολόγηση των λύσεων πρέπει να γίνει με περισσότερα του ενός κριτηρίου και μάλιστα διαφορετικής φύσης. Βελτιστοποίηση με πολλαπλά κριτήρια, είναι η διαδικασία της ταυτόχρονης βελτιστοποίησης δυο ή περισσότερων αντικρουόμενων ζητημάτων με διαφόρους περιορισμούς. Προβλήματα βελτιστοποίησης με πολλαπλά κριτήρια μπορούν να βρεθούν σε διαφόρους τομείς, όπως παράγωγη και σχεδιασμός διαδικασιών, οικονομικά, σχεδιασμό αεροσκαφών, πετρελαϊκές βιομηχανίες, σχεδιασμό αυτοκίνητων, ή οπουδήποτε χρειάζεται να παρθεί η καταλληλότερη απόφαση για την εξισορρόπηση όλων των παραγόντων μεταξύ δύο η περισσότερων αντικρουόμενων στόχων. Παράδειγμα βελτιστοποίηση με πολλαπλά κριτήρια, είναι η μεγιστοποίηση της απόδοση και ταυτόχρονα ελαχιστοποίηση της κατανάλωσης καυσίμου σε ένα όχημα Μία αντιμετώπιση του προβλήματος θα ήταν η ένταξη των κριτηρίων σε μία κοινή καθολική αριθμητική έκφραση αποτίμησης μετατρέποντας έμμεσα το πρόβλημα σε μονοκριτηριακό. Στην περίπτωση πρέπει να πραγματοποιηθεί επανάληψη της υπολογιστικής διαδικασίας πολλές φορές, ώσπου να εντοπιστεί ικανοποιητικός αριθμός λύσεων που είναι αντιπροσωπευτικές ενός συνόλου από βέλτιστες λύσεις. Η μέθοδος αυτή, δίνει ένα μονοσήμαντο αποτέλεσμα και αδυνατεί πολλές φορές να εντοπίσει κάποιες πιθανές λύσεις, καθώς ενσωματώνει κριτήρια διαφορετικής κλίμακας σε μια αριθμητική έκφραση. Το πρόβλημα αυτής μεθόδου οδήγησε στην ανάπτυξη της πολυκριτηριακής βελτιστοποίησης, δηλαδή της ταυτόχρονη αναζήτησης πολλών ισοδύναμων βέλτιστων λύσεων. 26

27 ΑΝΑΠΤΥΞΗ ΕΞΕΛΙΚΤΙΚΟΥ ΑΛΓΟΡΙΘΜΟΥ ΓΙΑ ΠΟΛΥΚΡΙΤΗΡΙΑΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Σ ένα πρόβλημα βελτιστοποίησης με πολλαπλά κριτήρια συνήθως δεν υπάρχει μοναδική λύση η οποία ταυτόχρονα να ελαχιστοποιεί τον κάθε στόχο στο ελάχιστο δυνατό. Σε κάθε περίπτωση ένα κριτήριο πρέπει να έχει φτάσει ένα σημείο τέτοιο ώστε κάθε προσπάθεια επιπλέον βελτιστοποίησής του να έχει ως αποτέλεσμα την υποβάθμιση άλλων κριτηρίων. Το να βρεθεί μια τέτοια λύση, και να πιστοποιηθεί το πόσο καλύτερη είναι συγκριτικά με άλλες είναι ο σκοπός όταν συντίθεται και λύνεται ένα πρόβλημα βελτιστοποίησης με πολλαπλά κριτήρια. Στην πολυκριτηριακή βελτιστοποίηση εισέρχεται η έννοια της κυριαρχίας μεταξύ των διαφόρων εφικτών λύσεων και το σύνολο των εν λόγω σημείων ονομάζεται σύνολο μη κυριαρχούμενων (non-dominated) σημείων, και είναι γνωστό ως σύνολο Pareto βέλτιστων σημείων (Pareto set). f 2( x) Λύσεις κυριαρχούμενες από την x 2 x 2 Σύνολο Pareto f 1( x) Εικόνα 3: Το σύνολο βέλτιστων σημείων Pareto Στην πολυκριτηριακή βελτιστοποίηση σκοπός είναι ο εντοπισμός ενός αντιπροσωπευτικού αριθμού μη κυριαρχούμενων λύσεων με βάση τις οποίες είναι δυνατή η δημιουργία ενός συνόλου Pareto. Για να επιτευχθεί αυτό θα πρέπει ο αλγόριθμος βελτιστοποίησης να ψάξει όλο το χώρο αναζήτησης. Η ικανότητα του αλγόριθμου να προσεγγίζει τη βέλτιστη ή το σύνολο των βέλτιστων λύσεων με επιτυχία και σε εύλογο χρονικό διάστημα καθορίζεται από την αποτελεσματικότητα (effectiveness) και την αποδοτικότητα (efficiency) (Duan et al., 1992). 27

28 ΓΕΩΡΓΙΟΣ Α. ΚΑΡΚΑΜΑΝΗΣ Η αποτελεσματικότητα μεταφράζεται ως η ικανότητα του αλγόριθμου να μην εγκλωβίζεται σε ένα εύρος κατά τη διαδικασίας αναζήτησης λύσεων και την ενσωμάτωση διαφόρων μεθόδων μετάβασης από σημείο σε σημείο του χώρου αναζήτησης, ώστε να είναι ικανός να εντοπίζει ή να προσεγγίζει το ολικό βέλτιστο. Η αποδοτικότητα σχετίζεται με την εξοικονόμηση υπολογιστικού φόρτου για την εύρεση των βέλτιστων λύσεων και μεταφράζεται ως η δυνατότητα του αλγόριθμου να ανακαλύπτει γρήγορα την επιθυμητή πορεία αναζήτησης. Η αποτελεσματικότητα και η αποδοτικότητα είναι έννοιες που συγκρουονται, καθώς όσο πιο καλά προσεγγίζει ένας αλγόριθμος το βέλτιστο μέτωπο Pareto, τόσο περισσότερο υπολογιστικό χρόνο χρειάζεται. Θα λέγαμε ότι η ταυτόχρονη μεγιστοποίηση των δύο αυτών χαρακτηριστικών αποτελεί και το μεγάλο στόχο στην ανάπτυξη αλγορίθμικών μεθόδων. Με μαθηματικούς όρους, το πρόβλημα βελτιστοποίησης με πολλαπλά κριτήρια μπορεί να διατυπωθεί ως: minimize / maximize [ f 1 (x), f 2 (x),..., f n (x) ] T με g(x) 0 ή g(x) 0 και h(x) = 0 όπου: f i, η αντικειμενική συνάρτηση του i κριτηρίου, g(x), οι περιορισμοί ανισότητας, h(x), οι περιορισμοί ισότητας, x, το διάνυσμα των μεταβλητών βελτιστοποίησης x = [x 1, x 2,..., x n ]. Η λύση για το ανωτέρω πρόβλημα είναι ένα σύνολο από σημεία Pareto. Οι λύσεις Pareto είναι εκείνες για της όποιες η βελτιστοποίηση ενός κριτηρίου μπορεί να επέλθει μόνο με την χειροτέρευση ενός τουλάχιστον κριτηρίου. Παρόλα αυτά, αντί για μια μόνο λύση στο πρόβλημα (κάτι το οποίο είναι τυπικά η περίπτωση του παραδοσιακού μαθηματικού προγραμματισμού), η λύση σε ένα πρόβλημα πολλαπλών κριτηρίων είναι μια σειρά (πιθανότατα άπειρων) σημείων Pareto. 28

29 ΑΝΑΠΤΥΞΗ ΕΞΕΛΙΚΤΙΚΟΥ ΑΛΓΟΡΙΘΜΟΥ ΓΙΑ ΠΟΛΥΚΡΙΤΗΡΙΑΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Μέθοδος επίλυσης προβλημάτων βελτιστοποίησης με πολυκριτήρια Για την επίλυση προβλημάτων που απαιτούν πολυκριτηριακή βελτιστοποίηση, θα παρουσιαστεί η μέθοδος που προτάθηκε από το Andrzj Sock το 2002 στο βιβλίο με τίτλο «Evolutionary algorithms for single and multicriteria design optimization» (Osyczka, 2002). Η μέθοδος αυτή μετατρέπει ένα πρόβλημα βελτιστοποίησης-ελαχιστοποίησης μιας συνάρτησης f(x) που απαιτεί και περιορισμούς, σε ένα πρόβλημα βελτιστοποίησης δύο αντικειμενικών συναρτήσεων. Η πρώτη αντικειμενική συνάρτηση είναι αυτή που προέρχεται από το άθροισμα των περιορισμών που έχουν παραβιαστεί και η δεύτερη είναι η ίδια η συνάρτηση f(x) που πρέπει να ελαχιστοποιηθεί. Έστω ότι πρέπει να βρεθεί ένα διάνυσμα τιμών x [ x, x,..., ] που θα ελαχιστοποιεί τη συνάρτηση f ( x * ) min f ( x), η οποία ικανοποιεί: τους K περιορισμούς ανισότητας g k ( x) 0 για k=1,2,, K και τους Μ περιορισμούς ισότητας h m ( x) 0 για m=1,2,, M * * 1 * 2 * x n Σύμφωνα με τη μέθοδο, το παραπάνω πρόβλημα βελτιστοποίησης θα μετατραπεί σε ένα δικριτήριο πρόβλημα βελτιστοποίησης με δύο αντικειμενικές συναρτήσεις. Η πρώτη αντικειμενική συνάρτηση προκύπτει από τον τύπο : M f1( x ) hm( x) Gk gk ( x) (2.1) m1 K k1 με το Gκ να είναι ένας χειριστής που λαμβάνει την τιμή -1 όταν ένας περιορισμός g k ( x) 0 και την τιμή μηδέν όταν ένας περιορισμός ( x) 0 g k Η δεύτερη αντικειμενική συνάρτηση f ( ) είναι η ίδια η συνάρτηση που δίνεται από το πρόβλημα, δηλαδή f ( x) f ( ). 2 x 2 x Για να βρεθεί το σύνολο των βέλτιστων λύσεων Pareto, αρκεί να βρεθεί το ελάχιστο μεταξύ των δύο συναρτήσεων f ( ) και f ( ), δηλαδή 1 x 2 x 29

30 ΓΕΩΡΓΙΟΣ Α. ΚΑΡΚΑΜΑΝΗΣ Pareto set = min { f ( ), f ( ) } (2.2) 1 x 2 x Η ίδια μέθοδος μπορεί να χρησιμοποιηθεί και για την μεγιστοποίηση μιας συνάρτησης f (x) αρκεί αντί να για μεγιστοποίηση να πραγματοποιηθεί ελαχιστοποίηση της f (x). 2.9 Εύρεση ενός συνόλου βέλτιστων λύσεων (Pareto set) Όπως αναφέρθηκε και πιο πάνω, χρησιμοποιώντας ένα γενετικό ή εξελεκτικό αλγόριθμο, δημιουργείται ένα σύνολο υποψήφιων λύσεων, μέσα από το οποίο πρέπει να επιλεχθούν οι καταλληλότερες, ώστε να δημιουργηθεί το σύνολο των βέλτιστων λύσεων (Pareto set). Μια μέθοδος επιλογής βέλτιστων λύσεων στηρίζεται στη «θεωρία επαφής» (contact theorem), η οποία είναι η σημαντικότερη θεωρία στο χώρο της πολυκριτηριακής βελτιστοποίησης.(osyczka 2002) Η θεωρία επαφής N Έστω ότι έχουμε ένα σύνολο C f R f 0 το οποιο προέρχεται από το σύνολο R N. Ένα διάνυσμα f* είναι ένα σύνολο βέλτιστων λύσεων Pareto για ένα πρόβλημα πολυκριτηριακής βελτιστοποίησης, αν C f * F f * όπου F το σύνολο των υποψήφιων λύσεων. (2.3) Η γραφική αναπαράσταση της θεωρίας στο παρακάτω σχήμα. 30

31 ΑΝΑΠΤΥΞΗ ΕΞΕΛΙΚΤΙΚΟΥ ΑΛΓΟΡΙΘΜΟΥ ΓΙΑ ΠΟΛΥΚΡΙΤΗΡΙΑΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ f 2( x) f * F x C f * C f 1( x) Εικόνα 4: Η θεωρία επαφής Έστω ότι υπάρχει ένα σύνολο βέλτιστων λύσεων Pareto που περιέχει τη λύση x 1, και έστω παράγεται μία νέα λύση x 2. Για να εισαχθεί η νέα λύση στο σύνολο Pareto συγκρίνεται με τις υπάρχουσες λύσεις του συνόλου δηλαδή με την x 1.Υπάρχουν οι εξής τρεις περιπτώσεις σύγκρισης: Περίπτωση 1 η : η νέα λύση x 2 είναι καλύτερη από την υπάρχουσα x 1 στο σύνολο Pareto. 2 1 Ορίζεται ως C f x C f x και γραφικά απεικονίζεται ως εξής: f 2( x) C f C f x 2 x 1 f f ( x 2 ) ( x 1 ) f 1( x) Εικόνα 5: Η θεωρία επαφής-περίπτωση 1 η 31

32 ΓΕΩΡΓΙΟΣ Α. ΚΑΡΚΑΜΑΝΗΣ Στην περίπτωση αυτή η λύση x 2 υπερισχύει έναντι της λύσης x 1 και είναι αυτή η οποία θα αντικαταστήσει τη λύση x 1 στο σύνολο βέλτιστων λύσεων Pareto. Περίπτωση 2 η : η νέα λύση x 2 είναι χειρότερη από την υπάρχουσα x 1 στο σύνολο Pareto. 2 1 Ορίζεται ως C f x C f x και γραφικά απεικονίζεται ως εξής: f 2( x) C f C f x 1 x 2 f f ( x 1 ) ( x 2 ) f 1( x) Εικόνα 6: Η θεωρία επαφής-περίπτωση 2 η Στην περίπτωση αυτή η λύση x 2 κυριαρχείται από τη λύση x 1 και απορρίπτεται, δηλαδή δεν τοποθετείται στο σύνολο Pareto. Περίπτωση 3 η : η x 2 είναι μια νέα βέλτιστη λύση και προστίθεται στο σύνολο των βέλτιστων λύσεων. 2 1 Η περίπτωση αυτή ορίζεται ως C f x C f x ως εξής: και γραφικά απεικονίζεται 32

33 ΑΝΑΠΤΥΞΗ ΕΞΕΛΙΚΤΙΚΟΥ ΑΛΓΟΡΙΘΜΟΥ ΓΙΑ ΠΟΛΥΚΡΙΤΗΡΙΑΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ f 2( x) f ( x 1 ) C C f f x x 1 2 f ( x 2 ) f 1( x) Εικόνα 7: Η θεωρία επαφής-περίπτωση 3 η Όταν κατά την αναζήτηση νέων βέλτιστων λύσεων, βρεθεί μία υποψήφια βέλτιστη λύση, τότε: αν η υποψήφια λύση υπερισχύει σε σχέση με μία ή με περισσότερες υπάρχουσες λύσεις στο σύνολο βέλτιστων λύσεων Pareto, τότε αυτές αντικαθίστανται από τη νέα λύση. αν καμία από τις υπάρχουσες λύσεις στο σύνολο Pareto, δεν υπερισχύει έναντι της νέας λύσης, τότε η νέα υποψήφια λύση προστίθεται στο σύνολο Pareto. αν δεν συμβαίνει καμία από τις προηγούμενες περιπτώσεις, η υποψήφια λύση απορρίπτεται και δεν υπάρχει καμία αλλαγή στο σύνολο Pareto Μέθοδος δημιουργίας ενός συνόλου βέλτιστων λύσεων Για την εύρεση ενός συνόλου βέλτιστων λύσεων έχουν δημιουργηθεί αρκετοί μέθοδοι. Στον αλγόριθμο που κατασκευάσαμε, χρησιμοποιήσαμε την μέθοδο που παρουσιάστηκε και προτάθηκε από τον Osyczka το 1984, ο οποίος την έγραψε χρησιμοποιώντας τη γλώσσα προγραμματισμού Fortran και είναι διαθέσιμη στο Computer Aided Multicriterion Optimization System (CAMOS)- Software Package in Fortran. Η μέθοδος παρουσιάζεται σε αλγορίθμο γραμμένο σε φυσική γλώσσα κατά βήματα: 33

34 ΓΕΩΡΓΙΟΣ Α. ΚΑΡΚΑΜΑΝΗΣ Βήμα 1: Δημιουργείται η πρώτη λύση x 1, αντικαθιστά την f * 1 f ( x 1 ) και τοποθετείται στο Pareto σύνολο βέλτιστων λύσεων. Θέσε R = 1 και j = 1. Βήμα 2: Θέσε j = j + 1. Αν j J πήγαινε στο βήμα 3, διαφορετικά σταμάτησε τον τρόπο εύρεσης των λύσεων και οι λύσεις που έχουν βρεθεί μέχρι τώρα αποτελούν το σύνολο Pareto. (όπου J, είναι ο καθορισμένος αριθμός των λύσεων που θα έχει το σύνολο Pareto) Βήμα 3: Θέσε r = 1 και q = 0 ( όπου q είναι οι eliminated λύσεων από το είδη υπάρχων σύνολο Pareto). Βήμα 4: Αν για όλα τα i =1, 2,, I ισχύει j *r f ( x ) f ( x ) (2.4) i i τότε, θέσε q = q + 1 και * R f f ( x i ), αποθήκευσε τη λύση που υπερισχύει και πήγαινε στο βήμα 6, αλλιώς πήγαινε στο βήμα 5. Βήμα 5: Αν για όλα τα i =1, 2,, I ισχύει j *r f ( x ) f ( x ) (2.5) i i τότε πήγαινε στο βήμα 2, αλλιώς πήγαινε στο βήμα 6. Βήμα 6: Θέσε r = r +1 και r R πήγαινε στο βήμα 4 διαφορετικά πήγαινε στο βήμα 7, (όπου R το σύνολο των λύσεων που υπάρχουν στο σύνολο Pareto) Βήμα 7: Αν q 0, ενημέρωσε το σύνολο Pareto απομακρύνοντας τη λύση που κυριαρχείται από αυτήν που βρέθηκε στο βήμα 4 και προσθέτοντας τη λύση x j στο σύνολο Pareto και πήγαινε στο βήμα 2, διαφορετικά πήγαινε στο βήμα 8. Βήμα 8: Θέσε R = R + 1, * R j x x, f ( x * R ) f ( x j ) και πήγαινε στο βήμα 2. 34

35 ΑΝΑΠΤΥΞΗ ΕΞΕΛΙΚΤΙΚΟΥ ΑΛΓΟΡΙΘΜΟΥ ΓΙΑ ΠΟΛΥΚΡΙΤΗΡΙΑΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ 3. ΠΑΡΟΥΣΙΑΣΗ ΤΟΥ ΑΛΓΟΡΙΘΜΟΥ 3.1 Εισαγωγή Στα πλαίσια της διπλωματικής εργασίας σχεδιάστηκε ένας εξελεκτικός αλγόριθμος με τη μορφή ενός γενετικού αλγορίθμου, με σκοπό την επίλυση προβλημάτων με πολυκριτηριακή βελτιστοποίηση. Ο αλγόριθμος που ανταπτύχθηκε έχει όλα τα χαρακτηριστικά ενός γενετικού αλγορίθμου όπως αυτά περιγράφηκαν στις προηγουμενες ενότητες και κωδικοποιήθηκε στη γλώσσα προγραμματισμού C++. Η μορφή του αλγορίθμου είναι τέτοια, που δίνει τη δυνατότητα στον χρήστη να τον αξιοποιήσει για επίλυση προβλημάτων βελτιστοποίησης, εισάγοντας με κατάλληλο τρόπο, μία ή περισσότερες συναρτήσεις μοντελοποίησης του προβλήματος και με κανένα, ένα ή περισσότερα κριτήρια ελέγχου. Ο αλγόριθμος δέχεται ένα αρχείο παραμετροποίησης και επεξεργάζεται τα δεδομένα εισόδου του χρήστη προσπαθώντας να παράγει ένα σύνολο βέλτιστων λύσεων του προβλήματος. 3.2 Σύντομη περιγραφή του αλγοριθμου Ο αλγόριθμος για να φτάσει στο επιθυμητό αποτέλεσμα της εύρεσης των βέλτιστων λύσεων, ακολουθεί μια σειρά εκτέλεσης ενεργειών, στάδια εργασίας, τα οποία συνοπτικά παρουσιάζονται παρακάτω: Παραμετροποίηση: Καθορίζονται οι βασικές παράμετροι που είναι απαραίτητοι για τη σωστή λειτουργία του αλγορίθμου, δηλαδή καθορίζονται, ο αριθμός των ατόμων που θα έχει η κάθε λύση του αλγορίθμου (population size), ο αριθμός των γενεών που θα παραχθούν (generations), η πιθανότητα μετάλλαξης (pc), η πιθανότητα διασταύρωσης (pm). Εισαγωγή δεδομένων: Ο χρήστης εισάγει την ή τις μαθηματικές εκφράσεις που περιγράφουν το πρόβλημα, ορίζει, τον αριθμό των μεταβλητών που χρησιμοποιούνται, το εύρος τιμών της κάθε μεταβλητής, τον αριθμό των περιορισμών που τίθονται από το πρόβλημα. 35

36 ΓΕΩΡΓΙΟΣ Α. ΚΑΡΚΑΜΑΝΗΣ Αρχικοποίηση: Ανάλογα με τις παραμέτρους που έχουν εισαχθεί, δημιουργείται τυχαία ο αρχικός πληθυσμός ατόμων με τα κατάλληλα χρωμοσώματα και με μέγεθος σύμφωνα με αυτό που έχει οριστεί στη φάση της παραμετροποίησης. Αξιολόγηση πληθυσμού: Σύμφωνα με τις συναρτήσεις εισόδου επιτυγχάνεται η αξιολόγηση του κάθε ατόμου του αρχικού πληθυσμού με το κάθε άτομο να λαμβάνει μια τιμή αξιολόγησης. Επιλογή: Χρησιμοποιώντας την μέθοδο της επιλογής ρουλέτας (roulette wheel selection), επιλέγονται τα καταλληλότερα άτομα ως γονείς για ζευγάρωμα και αναπαραγωγή του πληθυσμού. Διασταύρωση: Σύμφωνα με την πιθανότητα διασταύρωση, όπως αυτή έχει οριστεί κατά την παραμετροποίηση και εφαρμόζοντας τη μέθοδο διασταύρωση ενός σημείου (Single Point Crossover) πραγματοποιείται η διασταύρωση μεταξύ των ατόμων που έχουν επιλεχθεί στο προηγούμενο βήμα. Μετάλλαξη: Σύμφωνα με την πιθανότητα μετάλλαξης, όπως αυτή έχει οριστεί κατά την παραμετροποίηση, πραγματοποιείται η μετάλλαξη ορισμένων χρωμοσωμάτων. Δημιουργία νέου πληθυσμού: Το αποτέλεσμα των παραπάνω ενεργειών είναι η παραγωγή νέου πληθυσμού, νέας γενιάς. Εύρεση ενός συνόλου βέλτιστων λύσεων-ελιτισμός. Από το σύνολο των ατόμων του πληθυσμού επιλέγεται ένα συγκεκριμένος αριθμός επιθυμητών λύσεων. Τερματισμός: Ο τερματισμός του αλγορίθμου επιτυγχάνεται αν ικανοποιείται η συνθήκη τερματισμού, οπότε και εμφανίζεται το σύνολο των λύσεων, διαφορετικά επαναλαμβάνεται η παραπάνω διαδικασία. Η συνθήκη τερματισμού μπορεί να είναι, η παραγωγή ενός συγκεκριμένου ορίου γενεών, ή η θέσπιση ενός ορίου βέλτιστης λύσης, ή η σύγκλιση του πληθυσμού στην ίδια λύση για συγκεκριμένο αριθμό γενεών ή και η ικανοποίηση των περιορισμών σε προβλήματα με περιορισμούς. Συνοπτικά τα βήματα του αλγορίθμου απεικονίζονται στο σχήμα που ακολουθεί. 36

37 ΑΝΑΠΤΥΞΗ ΕΞΕΛΙΚΤΙΚΟΥ ΑΛΓΟΡΙΘΜΟΥ ΓΙΑ ΠΟΛΥΚΡΙΤΗΡΙΑΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Αρχικοποίηση Αξιολόγηση πληθυσμού Επιλογή Εισαγωγή δεδομένων ΝΑΙ ΟΧΙ Τερματισμός Διασταύρωση Εμφάνιση λύσεων Εύρεση λύσεων Μετάλλαξη Network Αντικατάσταση με νέο πληθυσμό Εικόνα 8: Τα βήματα του αλγορίθμου που αναπτύχθηκε για τις ανάγκες της εργασίας 3.3 Σχεδιαστικές λεπτομέρειες του αλγορίθμου Ο αλγόριθμος που παρουσιάστηκε στην προηγούμενη ενότητα, ήταν αρκετά συνοπτικός, υπό την έννοια ότι δεν περιγράφονται αναλυτικά τα βήματα του. Στην πραγματικότητα το κάθε ένα από τα βήματα περιλαμβάνει ένα σύνολο επιπλέον ενεργειών, όπως φαίνονται και παρακάτω Παραμετροποίηση Όπως αναφέρθηκε, κατά την παραμετροποίηση, καθορίζονται οι βασικές παράμετροι που είναι απαραίτητοι για τη σωστή λειτουργία του αλγορίθμου. Η παραμετροποίηση υλοποιείται στο αρχείο StandarInput.h, χρησιμοποιώντας τη συνάρτηση StandarInput, μέσα στην οποία ο χρήστης, με τη μορφή μεταβλητών ορίζει τις τιμές των παραμέτρων εισόδου. Η δομή της συνάρτησης είναι: 37

38 ΓΕΩΡΓΙΟΣ Α. ΚΑΡΚΑΜΑΝΗΣ void StandarInput(int* generations, int* population_size, float* pc, float* pm, char* output ) { *generations = 50; // Number of generation *population_size = 300; // Number of population size *pc = 0.25; // Crossover probability *pm = 0.02; // Mutation probability *output = 'F' // Output }; Συγκεκριμένα χρησιμοποιούνται πέντε μεταβλητές: η μεταβλητή με την ονομασία generations, η οποία χρησιμοποιείται για να αναπαραστήσει την παράμετρο των αριθμό γενεών και στην οποία ο χρήστης θέτει έναν ακέραιο αριθμό, που ορίζει πόσες γενιές θα παραχθούν από τον αλγόριθμο. Στο συγκεκριμένο παράδειγμα έχει οριστεί ως τιμή ο αριθμός 50, δηλαδή την παραγωγή πενήντα γενεών. η μεταβλητή population_size, που αντιστοιχεί στην παράμετρο που ο ορίζει τον αριθμός των ατόμων της κάθε γενιάς, και στην οποία ο χρήστης εκχωρεί ως τιμή έναν ακέραιο αριθμό. Στο συγκεκριμένο παράδειγμα έχει οριστεί ως τιμή ο αριθμός 100, δηλαδή η κάθε γενικά θα περιέχει εκατό άτομα.. η μεταβλητή pc, που χρησιμοποιείται για να περιγράψει την παράμετρο για την πιθανότητα διασταύρωσης Ο χρήστης εισάγει ως τιμή ένα αριθμό με δεκαδικό μέρος, μικρότερος του αριθμό ένα. Όταν η πιθανότητα διασταύρωσης έχει την τιμή 1, σημαίνει ότι η διασταύρωση εφαρμόζεται συνεχώς με αποτέλεσμα της αύξησης του χρόνου εύρεσης της λύσης. Στο παράδειγμα εισόδου έχει οριστεί ως pc η τιμή 0,25. η μεταβλητή pm, που χρησιμοποιείται για να περιγράψει την παράμετρο που αναφέρεται στη πιθανότητα μετάλλαξης των γονιδίων στα χρωμοσώματα του πληθυσμού. Ο χρήστης ορίζει μία μικρή τιμή από το διάστημα [0, 1]για να μην υπάρχει συνεχώς μετάλλαξη του πληθυσμού. Για το παράδειγμα μας, η τιμή 0,02 σημαίνει ότι το 2% των γονιδίων του πληθυσμού θα υποστούν μετάλλαξη. 38

39 ΑΝΑΠΤΥΞΗ ΕΞΕΛΙΚΤΙΚΟΥ ΑΛΓΟΡΙΘΜΟΥ ΓΙΑ ΠΟΛΥΚΡΙΤΗΡΙΑΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ η μεταβλητή output, η οποία ορίζει τον τρόπο εμφάνισης της εξόδου του αλγορίθμου. Ο αλγόριθμος δίνει τη δυνατότητα εμφάνισης των λύσεων με τρεις διαφορετικούς τρόπους: Την αναλυτική εμφάνιση λύσεων, που ορίζεται με το γράμμα Α ως τιμή στη μεταβλητή, και εμφανιζεται το συνολο των λύσεων του κάθε πληθυσμού, μαζί με κάποια στατιστικά στοιχεία, όπως η καλύτερη, η χειρότερη και η μέση τιμή καταλληλότητας. Την εμφάνιση μόνο της τελικής λύσης μετά την ολοκλήρωση όλων των γενεών, η οποία ορίζεται με το γράμμα F και την εμφάνιση της αναλυτικής και τελικής λύσης μαζί, και ορίζεται με το γράμμα B ως τιμή στη μεταβλητή output. Εικόνα 9: Στιγμιότυπο αναλυτικής εμφάνισης εξόδου 39

40 ΓΕΩΡΓΙΟΣ Α. ΚΑΡΚΑΜΑΝΗΣ Εικόνα 10: Στιγμιότυπο εμφάνισης τελικής λύσης εξόδου Εισαγωγή δεδομένων Για τη επίλυση του προβλήματος από τον αλγόριθμο, πρέπει να προηγηθεί η σωστή ερμηνεία και κατανόηση του. Να διατυπωθούν: οι μαθηματικές εξισώσεις που περιγράφουν το πρόβλημα καθώς και ο αριθμός του, να καθοριστεί ο αριθμός των μεταβλητών της συνάρτησης που θα χρησιμοποιηθούν, το εύρος των τιμών των μεταβλητών, όπως επίσης να οριστούν τυχόν περιορισμούς που το διέπουν. Εφόσον έχουν οριστεί όλα αυτά, πραγματοποιείται η εισαγωγή τους στον αλγόριθμο σε δύο αρχεία: Στο αρχείο UserInput.h, υπάρχουν, τρεις ορισμένες σταθερές, η συνάρτηση εισόδου η UserFunctions και η συνάρτηση UserConstraits. Συγκεκριμένα: στη σταθερά NUM_FUNCTIONS καταχωρείται ο αριθμός των συναρτήσεων που θα χρησιμοποιηθούν στη σταθερά NUM_CONSTRAINTS_H, καταχωρείται ο αριθμός των περιορισμών ισότητας του προβλήματος, στη σταθερά NUM_CONSTRAINTS_G, καταχωρείται ο αριθμός των περιορισμών ανισότητας του προβλήματος, στη συνάρτηση UserFunctions ορίζονται σε έναν δυναμικό πίνακα με την ονομασία f οι συναρτήσεις του προβλήματος, 40

Τυπικά θέματα εξετάσεων. ΠΡΟΣΟΧΗ: Οι ερωτήσεις που παρατίθενται ΔΕΝ καλύπτουν την πλήρη ύλη του μαθήματος και παρέχονται απλά ενδεικτικά

Τυπικά θέματα εξετάσεων. ΠΡΟΣΟΧΗ: Οι ερωτήσεις που παρατίθενται ΔΕΝ καλύπτουν την πλήρη ύλη του μαθήματος και παρέχονται απλά ενδεικτικά ΤΕΙ Κεντρικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής ΤΕ Μεταπτυχιακό Πρόγραμμα Τηλεπικοινωνιών & Πληροφορικής Μάθημα : 204a Υπολογιστική Ευφυία Μηχανική Μάθηση Καθηγητής : Σπύρος Καζαρλής Ενότηα : Εξελικτική

Διαβάστε περισσότερα

Συστήματα Επιχειρηματικής Ευφυίας

Συστήματα Επιχειρηματικής Ευφυίας Συστήματα Επιχειρηματικής Ευφυίας Γενετικοί αλγόριθμοι (GA) : Από τον Δαρβίνο (1859) στον J. Holland (1975). (Ένα ταξίδι στον υπέροχο κόσμο της επιλογής, της διασταύρωσης και της μετάλλαξης). Charles Darwin

Διαβάστε περισσότερα

Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης.

Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης. Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης. Ένα από τα γνωστότερα παραδείγματα των ΕΑ είναι ο Γενετικός

Διαβάστε περισσότερα

Υπολογιστική Νοηµοσύνη

Υπολογιστική Νοηµοσύνη Υπολογιστική Νοηµοσύνη Σηµερινό Μάθηµα Η θεωρία της Εξέλιξης των Ειδών οµή Γενετικού Αλγόριθµου Κύρια χαρακτηριστικά ενός Γενετικού Αλγορίθµου (ΓΑ) Γενετική ιαδικασία 1 Η θεωρία της Εξέλιξης των Ειδών

Διαβάστε περισσότερα

4 η ΕΝΟΤΗΤΑ ΜΕΤΑΕΥΡΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ ΕΝΟΣ ΚΡΙΤΗΡΙΟΥ

4 η ΕΝΟΤΗΤΑ ΜΕΤΑΕΥΡΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ ΕΝΟΣ ΚΡΙΤΗΡΙΟΥ ΣΧΟΛΗ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΕΜΠ ΕΙΣΑΓΩΓΗ ΣΤΗN ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΩΝ 4 η ΕΝΟΤΗΤΑ ΜΕΤΑΕΥΡΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ ΕΝΟΣ ΚΡΙΤΗΡΙΟΥ Μ. Καρλαύτης Ν. Λαγαρός Άδεια Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1 Προβλήματα Βελτιστοποίησης Περιγραφή προβλήματος με αρχική κατάσταση, τελική

Διαβάστε περισσότερα

Μάριος Αγγελίδης Ενότητες βιβλίου: 2.1, 2.3, 6.1 (εκτός ύλης αλλά χρειάζεται για την συνέχεια) Ώρες διδασκαλίας: 1

Μάριος Αγγελίδης Ενότητες βιβλίου: 2.1, 2.3, 6.1 (εκτός ύλης αλλά χρειάζεται για την συνέχεια) Ώρες διδασκαλίας: 1 Ενότητα 1 Ενότητες βιβλίου: 2.1, 2.3, 6.1 (εκτός ύλης αλλά χρειάζεται για την συνέχεια) Ώρες διδασκαλίας: 1 Τι είναι αλγόριθμος Σύμφωνα με το σχολικό βιβλίο: Ορισμός: Μια πεπερασμένη σειρά ενεργειών, αυστηρά

Διαβάστε περισσότερα

Γενετικοί Αλγόριθμοι. Εισαγωγή

Γενετικοί Αλγόριθμοι. Εισαγωγή Τεχνητή Νοημοσύνη 08 Γενετικοί Αλγόριθμοι (Genetic Algorithms) Εισαγωγή Σε αρκετές περιπτώσεις το μέγεθος ενός προβλήματος καθιστά απαγορευτική τη χρήση κλασικών μεθόδων αναζήτησης για την επίλυσή του.

Διαβάστε περισσότερα

Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος. Διαχείριση Υδατικών Πόρων

Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος. Διαχείριση Υδατικών Πόρων Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος Διαχείριση Υδατικών Πόρων Βελτιστοποίηση Προχωρημένες Μέθοδοι Προβλήματα με την «κλασική» βελτιστοποίηση Η αντικειμενική συνάρτηση σπανίως

Διαβάστε περισσότερα

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική

Διαβάστε περισσότερα

Διαχείριση Υδατικών Πόρων Πολυκριτηριακή ανάλυση

Διαχείριση Υδατικών Πόρων Πολυκριτηριακή ανάλυση Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος Διαχείριση Υδατικών Πόρων Πολυκριτηριακή ανάλυση Ανδρέας Ευστρατιάδης & Δημήτρης Κουτσογιάννης Σχολή Πολιτικών Μηχανικών, Αθήνα Άδεια

Διαβάστε περισσότερα

Τεχνολογία Συστημάτων Υδατικών Πόρων

Τεχνολογία Συστημάτων Υδατικών Πόρων Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος Τεχνολογία Συστημάτων Υδατικών Πόρων Βελτιστοποίηση:Προχωρημένες Μέθοδοι Χρήστος Μακρόπουλος, Επίκουρος Καθηγητής ΕΜΠ Σχολή Πολιτικών

Διαβάστε περισσότερα

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. ΚΕΦΑΛΑΙΟ 2 Βασικές Έννοιες Αλγορίθμων

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. ΚΕΦΑΛΑΙΟ 2 Βασικές Έννοιες Αλγορίθμων Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΚΕΦΑΛΑΙΟ 2 Βασικές Έννοιες Αλγορίθμων 2.1 Τι είναι αλγόριθμος Ο όρος προέρχεται από μετάφραση του βιβλίο του Αμπού Αμπντουλάχ Μοχάμεντ Ιμπν Μούζα Αλ Χουαρίζμι

Διαβάστε περισσότερα

Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος

Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό Η έννοια του προβλήματος Τι είναι πρόβλημα; ΠΡΟΒΛΗΜΑΤΑ ΟΡΙΣΜΟΣ ΠΡΟΒΛΗΜΑΤΟΣ Πρόβλημα είναι κάθε κατάσταση που μας απασχολεί και χρήζει αντιμετώπισης,

Διαβάστε περισσότερα

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

5 η ΕΝΟΤΗΤΑ ΠΟΛΥΚΡΙΤΗΡΙΑΚΟΣ ΜΗ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

5 η ΕΝΟΤΗΤΑ ΠΟΛΥΚΡΙΤΗΡΙΑΚΟΣ ΜΗ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΧΟΛΗ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΕΜΠ ΕΙΣΑΓΩΓΗ ΣΤΗN ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΩΝ 5 η ΕΝΟΤΗΤΑ ΠΟΛΥΚΡΙΤΗΡΙΑΚΟΣ ΜΗ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μ. Καρλαύτης Ν. Λαγαρός Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ ) Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ. 25 48) Τι είναι αλγόριθμος; Γ ΛΥΚΕΙΟΥ Αλγόριθμος είναι μία πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρονικό διάστημα,

Διαβάστε περισσότερα

Τεχνητή Νοημοσύνη. 5η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 5η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 5η διάλεξη (2017-18) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας

Διαβάστε περισσότερα

Νευρωνικά ίκτυα και Εξελικτικός. Σηµερινό Μάθηµα. επανάληψη Γενετικών Αλγορίθµων 1 η εργασία Επανάληψη νευρωνικών δικτύων Ασκήσεις εφαρµογές

Νευρωνικά ίκτυα και Εξελικτικός. Σηµερινό Μάθηµα. επανάληψη Γενετικών Αλγορίθµων 1 η εργασία Επανάληψη νευρωνικών δικτύων Ασκήσεις εφαρµογές Νευρωνικά ίκτυα και Εξελικτικός Προγραµµατισµός Σηµερινό Μάθηµα επανάληψη Γενετικών Αλγορίθµων η εργασία Επανάληψη νευρωνικών δικτύων Ασκήσεις εφαρµογές Κωδικοποίηση Αντικειµενική Συνάρτ Αρχικοποίηση Αξιολόγηση

Διαβάστε περισσότερα

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Μη γραμμικός προγραμματισμός: μέθοδοι μονοδιάστατης ελαχιστοποίησης Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών ΤμήμαΠληροφορικής Διάλεξη 6 η /2017 Τι παρουσιάστηκε

Διαβάστε περισσότερα

Ε ανάληψη. Α ληροφόρητη αναζήτηση

Ε ανάληψη. Α ληροφόρητη αναζήτηση ΠΛΗ 405 Τεχνητή Νοηµοσύνη Το ική Αναζήτηση Local Search Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υ ολογιστών Πολυτεχνείο Κρήτης Ε ανάληψη Α ληροφόρητη αναζήτηση σε πλάτος, οµοιόµορφου κόστους, σε βάθος,

Διαβάστε περισσότερα

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

Διαβάστε περισσότερα

Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος. Τεχνολογία Συστημάτων Υδατικών Πόρων

Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος. Τεχνολογία Συστημάτων Υδατικών Πόρων Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος Τεχνολογία Συστημάτων Υδατικών Πόρων Βελτιστοποίηση Προχωρημένες Μέθοδοι Προβλήματα με την «κλασική» βελτιστοποίηση Η αντικειμενική συνάρτηση

Διαβάστε περισσότερα

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής Α2. Ο αλγόριθμος αποτελείται από ένα πεπερασμένο σύνολο εντολών Α3. Ο αλγόριθμος

Διαβάστε περισσότερα

Κεφάλαιο 7. Γενετικοί Αλγόριθµοι. Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

Κεφάλαιο 7. Γενετικοί Αλγόριθµοι. Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Κεφάλαιο 7 Γενετικοί Αλγόριθµοι Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου Εισαγωγή Σε αρκετές περιπτώσεις το µέγεθος ενός προβλήµατος καθιστά απαγορευτική

Διαβάστε περισσότερα

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Μη γραμμικός προγραμματισμός: βελτιστοποίηση χωρίς περιορισμούς Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών ΤμήμαΠληροφορικής Διάλεξη 7-8 η /2017 Τι παρουσιάστηκε

Διαβάστε περισσότερα

Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος. Διαχείριση Υδατικών Πόρων

Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος. Διαχείριση Υδατικών Πόρων Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος Διαχείριση Υδατικών Πόρων Βελτιστοποίηση Προχωρημένες Μέθοδοι Προβλήματα με την «κλασική» βελτιστοποίηση Η στοχική συνάρτηση σπανίως

Διαβάστε περισσότερα

Υπολογιστική Νοημοσύνη

Υπολογιστική Νοημοσύνη Υπολογιστική Νοημοσύνη Εξελικτική Βελτιστοποίηση Γενετικοί Αλγόριθμοι Αναστάσιος Ντούνης, Καθηγητής Εργαστήριο Υπολογιστικής Νοημοσύνης Ευφυούς Ελέγχου Τμήμα Μηχανικών Αυτοματισμού Σχολή Τεχνολογικών Εφαρμογών

Διαβάστε περισσότερα

Γενετικοί Αλγόριθμοι (ΓΑ) Genetic Algorithms (GAs) Είναι το πιο αντιπροσωπευτικό και δημοφιλές είδος Εξελικτικού Αλγόριθμου Χρησιμοποιούνται κυρίως

Γενετικοί Αλγόριθμοι (ΓΑ) Genetic Algorithms (GAs) Είναι το πιο αντιπροσωπευτικό και δημοφιλές είδος Εξελικτικού Αλγόριθμου Χρησιμοποιούνται κυρίως Σπύρος Καζαρλής Γενετικοί Αλγόριθμοι (ΓΑ) Genetic Algorithms (GAs) Είναι το πιο αντιπροσωπευτικό και δημοφιλές είδος Εξελικτικού Αλγόριθμου Χρησιμοποιούνται κυρίως ως αλγόριθμοι γενικής βελτιστοποίησης

Διαβάστε περισσότερα

ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ

ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ Tel.: +30 2310998051, Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Σχολή Θετικών Επιστημών Τμήμα Φυσικής 541 24 Θεσσαλονίκη Καθηγητής Γεώργιος Θεοδώρου Ιστοσελίδα: http://users.auth.gr/theodoru ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ

Διαβάστε περισσότερα

Ενδεικτικές Ερωτήσεις Θεωρίας

Ενδεικτικές Ερωτήσεις Θεωρίας Ενδεικτικές Ερωτήσεις Θεωρίας Κεφάλαιο 2 1. Τι καλούμε αλγόριθμο; 2. Ποια κριτήρια πρέπει οπωσδήποτε να ικανοποιεί ένας αλγόριθμος; 3. Πώς ονομάζεται μια διαδικασία που δεν περατώνεται μετά από συγκεκριμένο

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ 2005

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ 2005 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ 2005 ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ 1ο Α. 1. Να αναφέρετε ονοµαστικά τα κριτήρια που πρέπει απαραίτητα

Διαβάστε περισσότερα

Βελτιστοποίηση κατανομής πόρων συντήρησης οδοστρωμάτων Πανεπιστήμιο Πατρών - Πολυτεχνική Σχολή Τμήμα Πολιτικών Μηχανικών

Βελτιστοποίηση κατανομής πόρων συντήρησης οδοστρωμάτων Πανεπιστήμιο Πατρών - Πολυτεχνική Σχολή Τμήμα Πολιτικών Μηχανικών Βελτιστοποίηση κατανομής πόρων συντήρησης οδοστρωμάτων Πανεπιστήμιο Πατρών - Πολυτεχνική Σχολή Τμήμα Πολιτικών Μηχανικών Πάτρα 17 - Μαΐου - 2017 Παναγιώτης Τσίκας Σκοπός του προβλήματος Σκοπός του προβλήματος,

Διαβάστε περισσότερα

Πολυκριτηριακός Γραμμικός Προγραμματισμός. Συστήματα Αποφάσεων Εργαστήριο Συστημάτων Αποφάσεων και Διοίκησης

Πολυκριτηριακός Γραμμικός Προγραμματισμός. Συστήματα Αποφάσεων Εργαστήριο Συστημάτων Αποφάσεων και Διοίκησης Πολυκριτηριακός Γραμμικός Προγραμματισμός Πολλαπλά κριτήρια στη λήψη απόφασης Λήψη Αποφάσεων με Πολλαπλά Κριτήρια Διακριτό σύνολο επιλογών Συνεχές σύνολο επιλογών Πολυκριτηριακή Ανάλυση (ELECTRE, Promethee,

Διαβάστε περισσότερα

Εισαγωγή στους Γενετικούς Αλγορίθμους

Εισαγωγή στους Γενετικούς Αλγορίθμους ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΓΝΩΡΙΣΗΣ ΠΡΟΤΥΠΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών & Πληροφορικής Τομέας Εφαρμογών και Θεμελιώσεων της Επιστήμης των Υπολογιστών. Διευθυντής

Διαβάστε περισσότερα

Πρόβλημα 29 / σελίδα 28

Πρόβλημα 29 / σελίδα 28 Πρόβλημα 29 / σελίδα 28 Πρόβλημα 30 / σελίδα 28 Αντιμετάθεση / σελίδα 10 Να γράψετε αλγόριθμο, οποίος θα διαβάζει τα περιεχόμενα δύο μεταβλητών Α και Β, στη συνέχεια να αντιμεταθέτει τα περιεχόμενά τους

Διαβάστε περισσότερα

ΔΙΑΧΕΙΡΙΣΗ ΥΔΑΤΙΚΩΝ ΠΟΡΩΝ

ΔΙΑΧΕΙΡΙΣΗ ΥΔΑΤΙΚΩΝ ΠΟΡΩΝ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗ ΥΔΑΤΙΚΩΝ ΠΟΡΩΝ Συνδυασμένη χρήση μοντέλων προσομοίωσης βελτιστοποίησης. Η μέθοδος του μητρώου μοναδιαίας απόκρισης Νικόλαος

Διαβάστε περισσότερα

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βήματα προς τη δημιουργία εκτελέσιμου κώδικα

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βήματα προς τη δημιουργία εκτελέσιμου κώδικα Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Βήματα προς τη δημιουργία εκτελέσιμου κώδικα Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Βήματα προς τη δημιουργία εκτελέσιμου κώδικα

Διαβάστε περισσότερα

Ο αλγόριθμος πρέπει να τηρεί κάποια κριτήρια

Ο αλγόριθμος πρέπει να τηρεί κάποια κριτήρια Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Ο αλγόριθμος πρέπει να τηρεί κάποια κριτήρια Είσοδος:

Διαβάστε περισσότερα

min f(x) x R n b j - g j (x) = s j - b j = 0 g j (x) + s j = 0 - b j ) min L(x, s, λ) x R n λ, s R m L x i = 1, 2,, n (1) m L(x, s, λ) = f(x) +

min f(x) x R n b j - g j (x) = s j - b j = 0 g j (x) + s j = 0 - b j ) min L(x, s, λ) x R n λ, s R m L x i = 1, 2,, n (1) m L(x, s, λ) = f(x) + KΕΦΑΛΑΙΟ 4 Κλασσικές Μέθοδοι Βελτιστοποίησης Με Περιορισµούς Ανισότητες 4. ΠΡΟΒΛΗΜΑΤΑ ΜΕ ΠΕΡΙΟΡΙΣΜΟΥΣ ΑΝΙΣΟΤΗΤΕΣ Ζητούνται οι τιµές των µεταβλητών απόφασης που ελαχιστοποιούν την αντικειµενική συνάρτηση

Διαβάστε περισσότερα

ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ: θεωρητικό Πλαίσιο

ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ: θεωρητικό Πλαίσιο ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ: θεωρητικό Πλαίσιο EVOLOTIONARY ALGORITHMS 1 ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ Η Λογική (1/2) Ο Εξελικτικός Υπολογισµός (evolutionary computation) χρησιµοποιεί τα υπολογιστικά µοντέλα εξελικτικών

Διαβάστε περισσότερα

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

Διαβάστε περισσότερα

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX ΚΕΦΑΛΑΙΟ 3 ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX 3.1 Εισαγωγή Ο αλγόριθμος Simplex θεωρείται πλέον ως ένας κλασικός αλγόριθμος για την επίλυση γραμμικών προβλημάτων. Η πρακτική αποτελεσματικότητά του έχει

Διαβάστε περισσότερα

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

Διαβάστε περισσότερα

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

Διαβάστε περισσότερα

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

Διαβάστε περισσότερα

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

Διαβάστε περισσότερα

ΕΡΩΤΗΜΑΤΑ σε ΓΕΝΕΤΙΚΟΥΣ

ΕΡΩΤΗΜΑΤΑ σε ΓΕΝΕΤΙΚΟΥΣ ηµήτρης Ψούνης ΠΛΗ31, Απαντήσεις Quiz Γενετικών Αλγορίθµων 1 ΕΡΩΤΗΜΑΤΑ σε ΓΕΝΕΤΙΚΟΥΣ ΚΩ ΙΚΟΠΟΙΗΣΗ ΕΡΩΤΗΜΑ 1.1 Ο φαινότυπος ενός ατόµου α.αναπαριστά ένα άτοµο στο χώρο λύσεων του προβλήµατος β.κωδικοποιεί

Διαβάστε περισσότερα

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΠΟΛΟΓΙΣΤΩΝ

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΠΟΛΟΓΙΣΤΩΝ Εισαγωγή ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΠΟΛΟΓΙΣΤΩΝ Όπως για όλες τις επιστήμες, έτσι και για την επιστήμη της Πληροφορικής, ο τελικός στόχος της είναι η επίλυση προβλημάτων. Λύνονται όμως όλα τα προβλήματα;

Διαβάστε περισσότερα

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ 1. Έστω ότι ο καθηγητής σας δίνει δύο αριθμούς και σας ζητάει να του πείτε πόσο είναι το άθροισμά τους. Διατυπώστε

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

Διαβάστε περισσότερα

Εισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

Εισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο Εισαγωγή - Βασικές έννοιες Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος 2012-13 A Εξάμηνο Αλγόριθμος Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων

Διαβάστε περισσότερα

Επιχειρησιακή Έρευνα I

Επιχειρησιακή Έρευνα I Επιχειρησιακή Έρευνα I Κωστής Μαμάσης Παρασκευή 09:00 12:00 Σημειώσεις των Α. Platis, K. Mamasis Περιεχόμενα 1. Εισαγωγή 2. Γραμμικός Προγραμματισμός 1. Μοντελοποίηση 2. Μέθοδος Simplex 1. Αλγόριθμός Simplex

Διαβάστε περισσότερα

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 1: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ - ΟΡΙΣΜΟΙ

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 1: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ - ΟΡΙΣΜΟΙ Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 1: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ - ΟΡΙΣΜΟΙ Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και Νέων Τεχνολογιών ΠΕΡΙΕΧΟΜΕΝΟ

Διαβάστε περισσότερα

Ανάλυση των Γενετικών Αλγορίθµων

Ανάλυση των Γενετικών Αλγορίθµων Ανάλυση των Γενετικών Αλγορίθµων Σηµερινό Μάθηµα ΠρόβληµαΒελτιστοποίησης Βελτιστοποίηση συνάρτησης µιας µεταβλητής Βελτιστοποίηση συνάρτησης k µεταβλητών Περιορισµοίτουπεδίουορισµού Περιορισµοί πλεοναζουσών

Διαβάστε περισσότερα

Ακέραιος Γραμμικός Προγραμματισμός

Ακέραιος Γραμμικός Προγραμματισμός Τμήμα Πληροφορικής & Τηλεπικοινωνιών Πανεπιστήμιο Ιωαννίνων 2018-2019 Ακέραιος Γραμμικός Προγραμματισμός Γκόγκος Χρήστος- Γεωργία Φουτσιτζή Επιχειρησιακή Έρευνα τελευταία ενημέρωση: 12/01/2017 1 Ακέραιος

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 12/10/2017

Διαβάστε περισσότερα

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Μη γραμμικός προγραμματισμός: βελτιστοποίηση με περιορισμούς Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής Διάλεξη 9-10 η /2017 Τι παρουσιάστηκε

Διαβάστε περισσότερα

Ακέραιος Γραμμικός Προγραμματισμός

Ακέραιος Γραμμικός Προγραμματισμός Τμήμα Μηχανικών Πληροφορικής ΤΕ 2016-2017 Ακέραιος Γραμμικός Προγραμματισμός Γκόγκος Χρήστος ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα τελευταία ενημέρωση: 12/01/2017 1 Ακέραιος Γραμμικός Προγραμματισμός Όταν για

Διαβάστε περισσότερα

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 5.1 Επίδοση αλγορίθμων Μέχρι τώρα έχουμε γνωρίσει διάφορους αλγόριθμους (αναζήτησης, ταξινόμησης, κ.α.). Στο σημείο αυτό θα παρουσιάσουμε ένα τρόπο εκτίμησης της επίδοσης (performance) η της αποδοτικότητας

Διαβάστε περισσότερα

ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ

ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ ΜΕΡΟΣ ΙΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ 36 ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ Πολλές από τις αποφάσεις

Διαβάστε περισσότερα

3 η ΕΝΟΤΗΤΑ ΜΗ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ ΚΡΙΤΗΡΙΟΥ

3 η ΕΝΟΤΗΤΑ ΜΗ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ ΚΡΙΤΗΡΙΟΥ ΣΧΟΛΗ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΕΜΠ ΕΙΣΑΓΩΓΗ ΣΤΗN ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΩΝ 3 η ΕΝΟΤΗΤΑ ΜΗ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ ΚΡΙΤΗΡΙΟΥ Μ. Καρλαύτης Ν. Λαγαρός Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων

Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων Με τον όρο μη γραμμικές εξισώσεις εννοούμε εξισώσεις της μορφής: f( ) 0 που προέρχονται από συναρτήσεις f () που είναι μη γραμμικές ως προς. Περιέχουν δηλαδή

Διαβάστε περισσότερα

Αναγνώριση Προτύπων Ι

Αναγνώριση Προτύπων Ι Αναγνώριση Προτύπων Ι Ενότητα 1: Μέθοδοι Αναγνώρισης Προτύπων Αν. Καθηγητής Δερματάς Ευάγγελος Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Δρ. Δημήτρης Βαρσάμης

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

z = c 1 x 1 + c 2 x c n x n

z = c 1 x 1 + c 2 x c n x n Τεχνολογικό Εκπαιδευτικό Ιδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Γραμμικός Προγραμματισμός & Βελτιστοποίηση Δρ. Δημήτρης Βαρσάμης Καθηγητής Εφαρμογών Δρ. Δημήτρης Βαρσάμης Μάρτιος

Διαβάστε περισσότερα

Κεφάλαιο 4ο: Δικτυωτή Ανάλυση

Κεφάλαιο 4ο: Δικτυωτή Ανάλυση Κεφάλαιο ο: Δικτυωτή Ανάλυση. Εισαγωγή Η δικτυωτή ανάλυση έχει παίξει σημαντικό ρόλο στην Ηλεκτρολογία. Όμως, ορισμένες έννοιες και τεχνικές της δικτυωτής ανάλυσης είναι πολύ χρήσιμες και σε άλλες επιστήμες.

Διαβάστε περισσότερα

Ακέραιος Γραμμικός Προγραμματισμός

Ακέραιος Γραμμικός Προγραμματισμός Τμήμα Μηχανικών Πληροφορικής ΤΕ 2017-2018 Ακέραιος Γραμμικός Προγραμματισμός Γκόγκος Χρήστος ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα τελευταία ενημέρωση: 12/01/2017 1 Ακέραιος Γραμμικός Προγραμματισμός Όταν για

Διαβάστε περισσότερα

Πληροφορική ΙΙ. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Πληροφορική ΙΙ. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Πληροφορική ΙΙ Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Πληροφορική ΙΙ», 2015-2016 Μάθημα 1: Εισαγωγή στους Αλγόριθμους Αλγόριθμος είναι μια πεπερασμένη

Διαβάστε περισσότερα

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων Πληροφορικής 2. Ο αλγόριθμος αποτελείται από ένα πεπερασμένο σύνολο εντολών 3. Ο αλγόριθμος

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΕΠΛ 035 - ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΓΙΑ ΗΛΕΚΤΡΟΛΟΓΟΥΣ ΜΗΧΑΝΙΚΟΥΣ ΚΑΙ ΜΗΧΑΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΤΩΝ Ακαδηµαϊκό έτος 2017-2018 Υπεύθυνος εργαστηρίου: Γεώργιος

Διαβάστε περισσότερα

Δομές Δεδομένων & Αλγόριθμοι

Δομές Δεδομένων & Αλγόριθμοι Θέματα Απόδοσης Αλγορίθμων 1 Η Ανάγκη για Δομές Δεδομένων Οι δομές δεδομένων οργανώνουν τα δεδομένα πιο αποδοτικά προγράμματα Πιο ισχυροί υπολογιστές πιο σύνθετες εφαρμογές Οι πιο σύνθετες εφαρμογές απαιτούν

Διαβάστε περισσότερα

ΕΠΙΛΥΣΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ ΧΩΡΟΘΕΤΗΣΗΣ ΕΓΚΑΤΑΣΤΑΣΕΩΝ ΚΑΙ ΔΡΟΜΟΛΟΓΗΣΗΣ ΟΧΗΜΑΤΩΝ ΜΕ ΤΗ ΧΡΗΣΗ ΜΙΜΗΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ

ΕΠΙΛΥΣΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ ΧΩΡΟΘΕΤΗΣΗΣ ΕΓΚΑΤΑΣΤΑΣΕΩΝ ΚΑΙ ΔΡΟΜΟΛΟΓΗΣΗΣ ΟΧΗΜΑΤΩΝ ΜΕ ΤΗ ΧΡΗΣΗ ΜΙΜΗΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ ΕΠΙΛΥΣΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ ΧΩΡΟΘΕΤΗΣΗΣ ΕΓΚΑΤΑΣΤΑΣΕΩΝ ΚΑΙ ΔΡΟΜΟΛΟΓΗΣΗΣ ΟΧΗΜΑΤΩΝ ΜΕ ΤΗ ΧΡΗΣΗ ΜΙΜΗΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ Μανινάκης Ανδρέας 1 Πολυτεχνείο Κρήτης Τμήμα Μηχανικών Παραγωγής και Διοίκησης Επιβλέπων καθηγητής:

Διαβάστε περισσότερα

ΥΠΟΛΟΓΙΣΤΙΚΗ ΝΟΗΜΟΣΥΝΗ ΙΙ

ΥΠΟΛΟΓΙΣΤΙΚΗ ΝΟΗΜΟΣΥΝΗ ΙΙ http://prlab.ceid.upatras.gr/courses/simeiwseis/yp2/chap1.htm Page 1 of 1 1. ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΓΕΝΕΤΙΚΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ Οι Γενετικοί Αλγόριθμοι (Genetic Algorithms) είναι ένα μοντέλο μηχανισμού μάθησης του

Διαβάστε περισσότερα

Κεφάλαιο 5ο: Ακέραιος προγραμματισμός

Κεφάλαιο 5ο: Ακέραιος προγραμματισμός Κεφάλαιο 5ο: Ακέραιος προγραμματισμός 5.1 Εισαγωγή Ο ακέραιος προγραμματισμός ασχολείται με προβλήματα γραμμικού προγραμματισμού στα οποία μερικές ή όλες οι μεταβλητές είναι ακέραιες. Ένα γενικό πρόβλημα

Διαβάστε περισσότερα

Μέθοδοι μονοδιάστατης ελαχιστοποίησης

Μέθοδοι μονοδιάστατης ελαχιστοποίησης Βασικές αρχές μεθόδων ελαχιστοποίησης Μέθοδοι μονοδιάστατης ελαχιστοποίησης Οι μέθοδοι ελαχιστοποίησης είναι επαναληπτικές. Ξεκινώντας από μια αρχική προσέγγιση του ελαχίστου (την συμβολίζουμε ) παράγουν

Διαβάστε περισσότερα

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

Διαβάστε περισσότερα

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης Σύνοψη Προηγούμενου Πίνακες (Arrays Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς Διαδικαστικά θέματα. Aντικείμενο Μαθήματος. Aντικείμενα, Κλάσεις, Μέθοδοι, Μεταβλητές.

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ Κ Υ Κ Λ Ο Υ Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ Κ Α Ι Υ Π Η Ρ Ε Σ Ι Ω Ν Τ Ε Χ Ν Ο Λ Ο Γ Ι Κ Η

Διαβάστε περισσότερα

Θεµελίωση Γενετικών Αλγορίθµων

Θεµελίωση Γενετικών Αλγορίθµων Θεµελίωση Γενετικών Αλγορίθµων Σηµερινό Μάθηµα Προβληµατισµοί Σχήµατα Τάξη Οριστικό Μήκος ΘεώρηµατωνΣχηµάτων Υπόθεση δοµικών Στοιχείων Πλάνη 1 Προβληµατισµοί Τι προβλέψεις µπορούν να γίνουν για τη χρονική

Διαβάστε περισσότερα

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος ΑΛΓΟΡΙΘΜΟΙ Στο σηµείωµα αυτό αρχικά εξηγείται η έννοια αλγόριθµος και παραθέτονται τα σπουδαιότερα κριτήρια που πρέπει να πληρεί κάθε αλγόριθµος. Στη συνέχεια, η σπουδαιότητα των αλγορίθµων συνδυάζεται

Διαβάστε περισσότερα

Σχεδιασμός επέκτασης του συστήματος ηλεκτροπαραγωγής με τη χρήση Πολυκριτηριακού Γραμμικού Προγραμματισμού

Σχεδιασμός επέκτασης του συστήματος ηλεκτροπαραγωγής με τη χρήση Πολυκριτηριακού Γραμμικού Προγραμματισμού 3ο Πανελλήνιο Επιστημονικό Συνέδριο Χημικής Μηχανικής Αθήνα,, IούνιοςI 200 Σχεδιασμός επέκτασης του συστήματος ηλεκτροπαραγωγής με τη χρήση Πολυκριτηριακού Γραμμικού Προγραμματισμού Γιώργος Μαυρωτάς Δανάη

Διαβάστε περισσότερα

Μέθοδοι μονοδιάστατης ελαχιστοποίησης

Μέθοδοι μονοδιάστατης ελαχιστοποίησης Βασικές αρχές μεθόδων ελαχιστοποίησης Μέθοδοι μονοδιάστατης ελαχιστοποίησης Οι μέθοδοι ελαχιστοποίησης είναι επαναληπτικές. Ξεκινώντας από μια αρχική προσέγγιση του ελαχίστου (την συμβολίζουμε ) παράγουν

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 21/10/2016

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2 ΑΛΓΟΡΙΘΜΟΙ ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ ΘΕΩΡΙΑ

ΚΕΦΑΛΑΙΟ 2 ΑΛΓΟΡΙΘΜΟΙ ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ ΘΕΩΡΙΑ ΚΕΦΑΛΑΙΟ 2 ΑΛΓΟΡΙΘΜΟΙ ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ ΘΕΩΡΙΑ Ερωτήσεις Σωστό / Λάθος 1. Η έννοια του αλγορίθμου συνδέεται αποκλειστικά και μόνο με προβλήματα της Πληροφορικής (ΕΞΕΤΑΣΕΙΣ 2003, 2007) 2. Ο αλγόριθμος μπορεί

Διαβάστε περισσότερα

Τεχνητή Νοημοσύνη. 5η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 5η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 5η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο. Επικοινωνία:

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο. Επικοινωνία: Επικοινωνία: spzygouris@gmail.com Να δοθεί ο ορισμός του Αλγορίθμου. Αλγόριθμος, σύμφωνα με το βιβλίο, είναι μια πεπερασμένη σειρά ενεργειών (όχι άπειρες), αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο

Διαβάστε περισσότερα

6. Στατιστικές μέθοδοι εκπαίδευσης

6. Στατιστικές μέθοδοι εκπαίδευσης 6. Στατιστικές μέθοδοι εκπαίδευσης Μία διαφορετική μέθοδος εκπαίδευσης των νευρωνικών δικτύων χρησιμοποιεί ιδέες από την Στατιστική Φυσική για να φέρει τελικά το ίδιο αποτέλεσμα όπως οι άλλες μέθοδοι,

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΜΕΡΛΙΑΟΥΝΤΑΣ ΣΤΕΦΑΝΟΣ, ΠΕ19 ΚΕΦΑΛΑΙΟ 3 Αλγόριθμοι 3. Αλγόριθμοι 2 3. Αλγόριθμοι 3.1 Η έννοια του αλγορίθμου 3.2 Χαρακτηριστικά αλγορίθμου 3.3 Ανάλυση αλγορίθμων

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΡΕΥΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΘΕΡΜΙΚΩΝ ΣΤΡΟΒΙΛΟΜΗΧΑΝΩΝ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΡΕΥΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΘΕΡΜΙΚΩΝ ΣΤΡΟΒΙΛΟΜΗΧΑΝΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΡΕΥΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΘΕΡΜΙΚΩΝ ΣΤΡΟΒΙΛΟΜΗΧΑΝΩΝ Η Μέθοδος της Διαφορικής Εξέλιξης στη Μονοκριτηριακή και Πολυκριτηριακή Αεροδυναμική Βελτιστοποίηση,

Διαβάστε περισσότερα

Αριθμητική Ανάλυση & Εφαρμογές

Αριθμητική Ανάλυση & Εφαρμογές Αριθμητική Ανάλυση & Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 2017-2018 Υπολογισμοί και Σφάλματα Παράσταση Πραγματικών Αριθμών Συστήματα Αριθμών Παράσταση Ακέραιου

Διαβάστε περισσότερα

ΑΡΧΗ 2ΗΣ ΣΕΛΙΔΑΣ Γ Α... Β

ΑΡΧΗ 2ΗΣ ΣΕΛΙΔΑΣ Γ Α... Β ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΠΡΟΣΟΜΟΙΩΣΗ ΑΠΟΛΥΤΗΡΙΩΝ ΕΞΕΤΑΣΕΩΝ Γ' ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΔΕΥΤΕΡΑ 11 ΑΠΡΙΛΙΟΥ 2011 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ

Διαβάστε περισσότερα

Στο στάδιο ανάλυσης των αποτελεσµάτων: ανάλυση ευαισθησίας της λύσης, προσδιορισµός της σύγκρουσης των κριτηρίων.

Στο στάδιο ανάλυσης των αποτελεσµάτων: ανάλυση ευαισθησίας της λύσης, προσδιορισµός της σύγκρουσης των κριτηρίων. ΠΕΡΙΛΗΨΗ Η τεχνική αυτή έκθεση περιλαµβάνει αναλυτική περιγραφή των εναλλακτικών µεθόδων πολυκριτηριακής ανάλυσης που εξετάσθηκαν µε στόχο να επιλεγεί η µέθοδος εκείνη η οποία είναι η πιο κατάλληλη για

Διαβάστε περισσότερα

ΓΕ0170 -Αλγόριθμοι και Προηγμένες Προγραμματικές Τεχνικές. Εισαγωγή. Νίκος Αθανάσης.

ΓΕ0170 -Αλγόριθμοι και Προηγμένες Προγραμματικές Τεχνικές. Εισαγωγή. Νίκος Αθανάσης. ΓΕ0170 -Αλγόριθμοι και Προηγμένες Προγραμματικές Τεχνικές Εισαγωγή Νίκος Αθανάσης e-mail: athanasis@geo.aegean.gr Συνοπτικά Σκοπός του μαθήματος Στόχοι του μαθήματος Αντικείμενο του μαθήματος Κανονισμός

Διαβάστε περισσότερα

Στ Τάξη. Α/Α Μαθηματικό περιεχόμενο Δείκτες Επιτυχίας Ώρες Διδ. 1 ENOTHTA 1

Στ Τάξη. Α/Α Μαθηματικό περιεχόμενο Δείκτες Επιτυχίας Ώρες Διδ. 1 ENOTHTA 1 Ενδεικτική Οργάνωση Ενοτήτων Στ Τάξη Α/Α Μαθηματικό περιεχόμενο Δείκτες Επιτυχίας Ώρες Διδ. 1 ENOTHTA 1 15 Αρ3.1 Απαγγέλουν, διαβάζουν, γράφουν και αναγνωρίζουν ποσότητες αριθμών Επανάληψη μέχρι το 1 000

Διαβάστε περισσότερα

Μέθοδοι πολυδιάστατης ελαχιστοποίησης

Μέθοδοι πολυδιάστατης ελαχιστοποίησης Μέθοδοι πολυδιάστατης ελαχιστοποίησης με παραγώγους Μέθοδοι πολυδιάστατης ελαχιστοποίησης Δ. Γ. Παπαγεωργίου Τμήμα Μηχανικών Επιστήμης Υλικών Πανεπιστήμιο Ιωαννίνων dpapageo@cc.uoi.gr http://pc64.materials.uoi.gr/dpapageo

Διαβάστε περισσότερα

ΑΚΕΡΑΙΟΣ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΑΚΕΡΑΙΟΣ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΑΚΕΡΑΙΟΣ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ολοκληρωμένη μαθηματική τεχνική βελτιστοποίησης Ευρύτατο φάσμα εφαρμογών Εισαγωγή ακέραιων/λογικών/βοηθητικών μεταβλητών Δυνατότητα γραμμικοποίησης με 0-1 μεταβλητές

Διαβάστε περισσότερα

Περιεχόμενα Ορισμός και λειτουργία των μηχανών Turing Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Επ. Καθ. Π. Κατσαρός Τμήμ

Περιεχόμενα Ορισμός και λειτουργία των μηχανών Turing Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Επ. Καθ. Π. Κατσαρός Τμήμ Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,

Διαβάστε περισσότερα

Γενετικοί αλγόριθµοι - ΓΑ Genetic algorithms - GA

Γενετικοί αλγόριθµοι - ΓΑ Genetic algorithms - GA Γενετικοί αλγόριθµοι - ΓΑ Genetic algorithms - GA ΕΦΑΡΜΟΓΗ στην ΕΠΕΞΕΡΓΑΣIΑ ΣΗΜΑΤΟΣ και στην ΑΣΑΦΗ ΛΟΓIΚΗ Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ ΓΑ - Εισαγωγικά Γενετικοί αλγόριθµοι (Genetic algorithms)

Διαβάστε περισσότερα