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

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

Download "ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ"

Transcript

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

2 Διπλωματική Εργασία «Εφαρμογή σύγχρονων αλγόριθμων Cat Swarm Optimization για την αποδοτική επίλυση του προβλήματος κατασκευής βέλτιστου ωρολογίου προγράμματος για σχολεία Δευτεροβάθμιας Εκπαίδευσης» Βασίλειος Ι. Σκουλλής ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <2>

3 ΕΑΠ, 2015 Η παρούσα διατριβή, η οποία εκπονήθηκε στα πλαίσια της ΘΕ «ιπλωματική Εργασία» του προγράμματος «Μεταπτυχιακή Εξειδίκευση στα Πληροφοριακά Συστήματα» (ΠΛΣ), και τα λοιπά αποτελέσματα της αντίστοιχης Διπλωματικής Εργασίας (ΔΕ) αποτελούν συνιδιοκτησία του ΕΑΠ και του φοιτητή, ο καθένας από τους οποίους έχει το δικαίωμα ανεξάρτητης χρήσης και αναπαραγωγής τους (στο σύνολο ή τμηματικά) για διδακτικούς και ερευνητικούς σκοπούς, σε κάθε περίπτωση αναφέροντας τον τίτλο και το συγγραφέα και το ΕΑΠ, όπου εκπονήθηκε η ιπλωματική Εργασία, καθώς και τον επιβλέποντα και την επιτροπή κρίσης. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <3>

4 «Εφαρμογή σύγχρονων αλγόριθμων Cat Swarm Optimization για την αποδοτική επίλυση του προβλήματος κατασκευής βέλτιστου ωρολογίου προγράμματος για σχολεία Δευτεροβάθμιας Εκπαίδευσης» Βασίλειος Ι. Σκουλλής Ονοματεπώνυμο Επιβλέποντα Γρηγόριος Μπεληγιάννης Ονοματεπώνυμο 1 ου μέλους Κυριάκος Σγάρμπας Περίληψη: Η διπλωματική εργασία µε τίτλο «Εφαρμογή σύγχρονων αλγόριθμων Cat Swarm Optimization για την αποδοτική επίλυση του προβλήματος κατασκευής βέλτιστου ωρολογίου προγράμματος για σχολεία Δευτεροβάθμιας Εκπαίδευσης», έχει ως αντικείμενο τη σχεδίαση, υλοποίηση και αξιολόγηση ενός αλγόριθμου Υπολογιστικής Νοημοσύνης, ο οποίος αυτοματοποιεί την κατασκευή ωρολογίων προγραμμάτων για σχολεία Δευτεροβάθμιας Εκπαίδευσης µε τη χρήση Ηλεκτρονικού Υπολογιστή. Ο αλγόριθμος στον οποίο βασίστηκε η σχεδίαση του προτεινόμενου αλγόριθμου είναι ο Cat Swarm Optimization (CSO), ο οποίος προσαρμόστηκε στο πρόβλημα του School Timetabling και βελτιστοποιήθηκε περαιτέρω µε διάφορες τεχνικές. Η αξιολόγηση του έγινε με την χρήση αρχείων εισόδου (input instances) από δέκα σχολεία της περιοχής της Πάτρας και µε βάση αυτά παρήχθησαν τα αντίστοιχα ωρολόγια προγράμματα. Τα δέκα αυτά αρχεία εισόδου έχουν χρησιμοποιηθεί στο παρελθόν προκειμένου να αξιολογηθούν άλλοι αλγόριθμοι ανεξάρτητων ερευνητών που επιλύουν το ίδιο πρόβλημα. Η ποιότητα των παραχθέντων ωρολογίων προγραμμάτων μετρήθηκε χρησιμοποιώντας απολύτως μετρήσιμα κριτήρια. Ο προτεινόμενος αλγόριθμος επιλύει το πρόβλημα κατά σχεδόν βέλτιστο τρόπο, παράγοντας σε εύλογο χρονικό διάστημα ποιοτικά ωρολόγια προγράμματα, τα οποία μάλιστα υπερτερούν σε σχέση με αυτά που παράγουν οι περισσότεροι άλλοι αλγόριθμοι. Λέξεις κλειδιά: Κατασκευή ωρολογίων προγραμμάτων, Σχολεία Δευτεροβάθμιας Εκπαίδευσης, Cat Swarm Optimization, Αλγόριθμοι, Τεχνητή Νοημοσύνη, Εφαρμογή Η/Υ. Περιεχόμενο: Κείμενο, Εικόνες (screenshots), Πίνακες, Βιβλιογραφικές αναφορές, Παράρτημα ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <4>

5 Effective solving of the school timetabling problem using Cat Swarm Optimization (CSO) algorithms Vassilios I. Skoullis Name of Supervisor Grigorios Beligiannis Name of 1 st member Kyriakos Sgarbas Abstract: The MSc thesis entitled Effective solving of the school timetabling problem using Cat Swarm Optimization (CSO) algorithms involves the design, implementation and evaluation of an adaptive algorithm, which automates the construction of school timetables with a computer. The proposed algorithm is an adaptation of the Cat Swarm Optimization (CSO) algorithm to the School Timetabling problem, which was further optimized using novel techniques. The algorithm was evaluated using timetables produced by input files from ten schools in the area of Patras. Their quality was assessed with absolutely measurable criteria and it was compared with the quality of the timetables produced by other effective algorithms, using the same input files. The experimental results show that the proposed algorithm produces high quality timetables in a reasonable time, outperforming in most cases the other existing attempts. Keywords: Timetables construction, Secondary schools, Cat Swarm Optimization, Algorithms, Artificial Intelligence, Computer Application. Content: Text, Images, Screenshots, Tables, Bibliographic References, Appendix. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <5>

6 Ευχαριστίες Ευχαριστώ θερμά τον επιβλέποντα καθηγητή μου κ. Γρηγόριο Μπεληγιάννη για την ανάθεση του θέματος και την αμέριστη βοήθεια και συμπαράστασή του καθ όλη τη διάρκεια της εκπόνησης της παρούσας Διπλωματικής Εργασίας. Ευχαριστώ τον υποψήφιο διδάκτορα κ. Ιωάννη Τασσόπουλο για την βοήθεια και τις συμβουλές που μου παρείχε. Ευχαριστώ επίσης το µέλος της επιτροπής κρίσης, καθηγητή κ. Κυριάκο Σγάρμπα, ο οποίος δέχθηκε να αξιολογήσει την παρούσα ιπλωματική Εργασία. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <6>

7 Πίνακας περιεχομένων Ευρετήριο Πινάκων... 9 Ευρετήριο Διαγραμμάτων... 9 Κεφάλαιο 1. Εισαγωγή Πεδίο εφαρμογής Αντικείμενο της Διπλωματικής Εργασίας Δομή της Διπλωματικής Εργασίας Κεφάλαιο 2. Το πρόβλημα του Προγραμματισμού Εργασιών Προβλήματα Προγραμματισμού και NP Complete προβλήματα Vehicle Routing Problem Software Project Scheduling Problem Job Shop Scheduling Problem Exam Timetabling Problem Κεφάλαιο 3. Ωρολόγια Προγράμματα για Σχολεία Η σύνταξη των ωρολογίων προγραμμάτων στα σχολεία Η φύση του προβλήματος Μαθηματικό μοντέλο Προηγούμενες προσπάθειες επίλυσης του προβλήματος Κεφάλαιο 4. Ο Αλγόριθμος Cat Swarm Optimization - CSO Η φιλοσοφία του αλγόριθμου CSO Παρουσίαση του αλγόριθμου CSO Παραμετροποίηση του αλγόριθμου CSO Κεφάλαιο 5. Κωδικοποίηση του προβλήματος School Timetabling Κωδικοποίηση των cats Κωδικοποίηση περιπτώσεων συνδιδασκαλίας Διαδικασία αρχικοποίησης του αλγόριθμου Αντικειμενική συνάρτηση Ανελαστικοί περιορισμοί Ελαστικοί περιορισμοί Ανάθεση κόστους Ρύθμιση των συντελεστών βαρών Κεφάλαιο 6. Παρουσίαση του προτεινόμενου αλγόριθμου Δομή του προτεινόμενου αλγόριθμου ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <7>

8 6.2 Ανάλυση του προτεινόμενου αλγόριθμου Ανάλυση της κεντρικής διαδικασίας (core process) του αλγόριθμου Ανάλυση της διαδικασίας cat_seek Ανάλυση της διαδικασίας cat_trace Ανάλυση των κυριότερων βοηθητικών διαδικασιών Η διαδικασία βελτιστοποίησης της λύσης Ο αλγόριθμος της βελτιστοποίησης Επεξήγηση της διαδικασίας βελτιστοποίησης Κεφάλαιο 7. Πειραματικά αποτελέσματα Αξιολόγηση του προτεινόμενου αλγόριθμου CSO Σύγκριση με άλλους αλγόριθμους Παρουσίαση συγκριτικών πινάκων Σχολιασμός επί των συγκρίσεων Σύγκριση με το εμπορικό λογισμικό asc TimeTables Κεφάλαιο 8. Παρατηρήσεις-Γενικεύσεις-Συμπεράσματα Παρατηρήσεις Επεκτάσεις γενικεύσεις Συμπεράσματα Βιβλιογραφικές αναφορές Παράρτημα Α. Διαγράμματα Ροής Παράρτημα Β. Αρχεία εισόδου και εξόδου Κωδικοποίηση αρχείων εισόδου Παράδειγμα αρχείου εισόδου Παραδείγματα αρχείων εξόδου Παράρτημα Γ. Στιγμιότυπα οθόνης (screenshots) αλγόριθμου Παράρτημα Δ. Εγκατάσταση και χρήση διεπαφής Εγκατάσταση διεπαφής Οδηγίες χρήσης διεπαφής Παράρτημα Ε. Ιστογράμματα αποτελεσμάτων CSO ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <8>

9 Ευρετήριο Πινάκων Πίνακας 1. Δομή εβδομαδιαίου ωρολογίου προγράμματος μίας τάξης Πίνακας 2. Κωδικοποίηση ενός cat Πίνακας 3. Παράδειγμα διαδικασίας insert_column Πίνακας 4. Καλύτερες, χειρότερες και μέσες τιμές παραγόντων ποιότητας παραχθέντων ωρολογίων προγραμμάτων από τον προτεινόμενο αλγόριθμο CSO Πίνακας 5. Καλύτερα αποτελέσματα αλγόριθμου CSO ανά αρχείο εισόδου Πίνακας 6. Σύγκριση αποτελεσμάτων Αλγόριθμων Genetic και CSO Πίνακας 7. Σύγκριση αποτελεσμάτων Αλγόριθμων Evolutionary και CSO Πίνακας 8. Σύγκριση αποτελεσμάτων Αλγόριθμων Sim. Annealing και CSO Πίνακας 9. Σύγκριση αποτελεσμάτων Αλγόριθμων AFSO και CSO Πίνακας 10. Σύγκριση αποτελεσμάτων Αλγόριθμων PSO-DEVC και CSO Πίνακας 11. Σύγκριση αποτελεσμάτων Αλγόριθμων PSO-LCC και CSO Πίνακας 12. Σύγκριση αποτελεσμάτων Αλγόριθμων VNS και CSO Πίνακας 13. Συγκεντρωτικός πίνακας σύγκρισης του αλγόριθμου CSO με άλλους αλγόριθμους Πίνακας 14. Καλύτερες τιμές συνολικού κόστους ανά αρχείο εισόδου για κάθε αλγόριθμο. 67 Πίνακας 15. Σύγκριση χρόνων εκτέλεσης αλγόριθμων PSO και CSO Πίνακας 16. Σύγκριση αποτελεσμάτων λογισμικού asc TimeTables και CSO Ευρετήριο Διαγραμμάτων Διάγραμμα 1. Καλύτερες τιμές συνολικού κόστους ανά αρχείο εισόδου και αλγόριθμο Διάγραμμα 2. Διάγραμμα Ροής του πρωτότυπου αλγόριθμου CSO Διάγραμμα 3. Διάγραμμα Ροής της core process του προτεινόμενου αλγόριθμου Διάγραμμα 4. Διάγραμμα Ροής του Seeking Mode του προτεινόμενου αλγόριθμου Διάγραμμα 5. Διάγραμμα Ροής του Tracing Mode του προτεινόμενου αλγόριθμου ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <9>

10 Κεφάλαιο 1. Εισαγωγή Στο κεφάλαιο αυτό αναλύεται το πεδίο εφαρμογής του θέματος της παρούσας Διπλωματικής Εργασίας, το αντικείμενό της όπως και η δομή της. Στην ενότητα 1.1 γίνεται αναφορά στο πόσο σημαντικό είναι να υπάρχει ένα ωρολόγιο πρόγραμμα σε κάθε οργανισμό που απασχολεί προσωπικό, καθώς και το πόσο δύσκολο είναι να δημιουργηθεί ένα τέτοιο πρόγραμμα από έναν άνθρωπο. Παρουσιάζεται επίσης ο τρόπος με τον οποίο το συγκεκριμένο πρόβλημα εντάσσεται στη θεματολογία σχετικών επιστημών όπως της Επιχειρησιακής Έρευνας, της Τεχνητής Νοημοσύνης και της Υπολογιστικής Νοημοσύνης. Στην ενότητα 1.2 παρουσιάζεται το αντικείμενο της παρούσας Διπλωματικής Εργασίας, το οποίο είναι αφενός η σχεδίαση και υλοποίηση ενός αλγόριθμου Υπολογιστικής Νοημοσύνης, με τον οποίο θα αυτοματοποιείται η κατασκευή ωρολογίων προγραμμάτων για σχολεία με τη χρήση Ηλεκτρονικού Υπολογιστή, και αφετέρου η σύγκρισή του με ήδη αναπτυγμένους αλγόριθμους για τον σκοπό αυτό. Τέλος, στην ενότητα 1.3 αναλύεται η δομή της Διπλωματικής Εργασίας. Δίνεται μια σύντομη περιγραφή του περιεχομένου και της διάρθρωσης κάθε ενός από τα κεφάλαιά της, όπως και των βιβλιογραφικών αναφορών και του παραρτήματος. 1.1 Πεδίο εφαρμογής Ένα από τα σημαντικότερα θέματα που έχει να επιλύσει κάθε οργανισμός ή εταιρία που απασχολεί προσωπικό, προκειμένου να συνεχίσει να λειτουργεί απρόσκοπτα και εύρυθμα, είναι η κατάρτιση ενός χρονοδιαγράμματος με το οποίο θα ορίζονται επακριβώς οι ώρες απασχόλησης του προσωπικού του. Απαιτείται δηλαδή χρονοπρογραμματισμός (time scheduling) της εκτέλεσης των διαφόρων εργασιών από το προσωπικό. Αυτός ο χρονοπρογραμματισμός όμως συχνά δεν είναι εύκολος να επιτευχθεί στην πράξη και η κατασκευή ενός ωρολογίου προγράμματος (timetable) αποτελεί ένα ιδιαίτερα δύσκολο πρόβλημα, αφού οι παράμετροι του, οι οποίες πρέπει να ληφθούν υπ όψιν, είναι πολλές και τις περισσότερες φορές ανταγωνιστικές μεταξύ τους. Ένα παράδειγμα οργανισμού, ο οποίος προκειμένου να λειτουργήσει εύρυθμα χρειάζεται ένα ωρολόγιο πρόγραμμα λειτουργίας, είναι μία μονάδα παραγωγής ηλεκτρικής ενέργειας. Σ αυτήν απασχολείται προσωπικό πολλών ειδικοτήτων σε ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <10>

11 εικοσιτετράωρη βάση, σε βάρδιες όχι σταθερής χρονικής διάρκειας και προφανώς λειτουργεί καθημερινά, αλλά δεν χρησιμοποιεί το ίδιο προσωπικό κάθε ώρα και μέρα κατά την διάρκεια του χρόνου. Επιπλέον, ανάλογα με τις ενεργειακές ανάγκες της ηλεκτροδοτούμενης περιοχής, ο απαιτούμενος αριθμός εργατών μπορεί να ποικίλλει και το ωράριο του καθενός να είναι διαφορετικής χρονικής διάρκειας. Η διαθεσιμότητα του προσωπικού δεν είναι πάντα σταθερή, αλλά εξαρτάται από το πλήθος των εργατών με ρεπό ή άδεια ή και άλλους αστάθμητους παράγοντες. Μερικές από τις παραμέτρους του προβλήματος κατασκευής αυτού του ωρολογίου προγράμματος είναι το μέγεθος του προσωπικού, η εκάστοτε ζήτηση της ηλεκτρικής ενέργειας, οι ημέρες που ο κάθε εργάτης δεν είναι διαθέσιμος προς εργασία και το πλήθος των απαιτούμενων εργατών κάθε στιγμή. Η δυσκολία κατασκευής του ωρολογίου προγράμματος και κατά συνέπεια ο χρόνος που απαιτείται γι αυτήν αυξάνεται εκθετικά σε σχέση με το μέγεθος του προσωπικού. Επιπλέον, αρκετές παράμετροι του προβλήματος, όπως οι διαθεσιμότητες των εργαζομένων, μπορεί να είναι ανταγωνιστικές, καθιστώντας την κατασκευή του αντίστοιχου προγράμματος πολύ δύσκολη έως αδύνατη. Ένα ανάλογο παράδειγμα οργανισμού όπου είναι απαραίτητη η ύπαρξη ωρολογίου προγράμματος είναι ένα σχολείο ή γενικότερα ένας εκπαιδευτικός οργανισμός. Σε μία τέτοια περίπτωση θα πρέπει να κατανεμηθούν σε αίθουσες και σε ώρες διδασκαλίας τόσο οι μαθητές όσο και οι εκπαιδευτικοί, ενώ θα πρέπει να ληφθούν υπόψη οι διάφοροι περιορισμοί που υφίστανται από τους εκπαιδευτικούς, από τη χωρητικότητα των τάξεων, από τους μαθητές ή και από την φύση των μαθημάτων. Παραδοσιακά, η κατασκευή αυτών των ωρολογίων προγραμμάτων γινόταν από κάποιους υπαλλήλους των ίδιων των οργανισμών που είχαν επιφορτιστεί με αυτήν την εργασία από την διοίκηση, οι οποίοι όμως, επειδή δεν είχαν στην διάθεσή τους κάποια υλικοτεχνική βοήθεια, κατέφευγαν στον κοπιαστικό τρόπο της σχεδίασής τους με το χέρι. Το πλήθος των προαναφερθέντων περιορισμών που έπρεπε να ληφθούν υπ όψιν δυσκόλευε πολύ την εργασία αυτή, ο χρόνος που αναλωνόταν σ αυτήν ήταν συχνά πολύ μεγάλος και τα λάθη συχνά. Αρκετές φορές μάλιστα το παραγόμενο αποτέλεσμα δεν ικανοποιούσε πλήρως τους εργαζομένους, καθώς δεν ικανοποιούνταν κάποιες από τις απαιτήσεις και τους περιορισμούς που αυτοί έθεταν. Επιπλέον, τα παραγόμενα ωρολόγια προγράμματα έπρεπε να ανανεώνονται και να τροποποιούνται κάθε φορά που υπήρχαν αλλαγές στο προσωπικό ή στην λειτουργία του οργανισμού γενικότερα. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <11>

12 Τα πράγματα άλλαξαν σημαντικά προς το καλύτερο τα τελευταία χρόνια με την βοήθεια της επιστήμης της Πληροφορικής και την αξιοποίηση της ισχύος των Ηλεκτρονικών Υπολογιστών. Κάθε εταιρία ή οργανισμός, μικρός ή μεγάλος, που διαθέτει έναν σύγχρονο υπολογιστή εξοπλισμένο με το κατάλληλο λογισμικό, είναι σε θέση να κατασκευάσει σε μικρό χρονικό διάστημα το ωρολόγιο πρόγραμμά του κατά σχεδόν βέλτιστο τρόπο, ακόμα και όταν οι απαιτήσεις και οι περιορισμοί που τίθενται είναι πολλοί. Υπάρχουν πλέον στη διάθεση των ενδιαφερομένων πολλοί αποτελεσματικοί αλγόριθμοι επίλυσης του σχετικού προβλήματος, έτσι είναι εφικτή η αυτοματοποιημένη κατασκευή ποιοτικών ωρολογίων προγραμμάτων σε λογικό χρονικό διάστημα. Πολλές ερευνητικές ομάδες ανά τον κόσμο εργάζονται για την επίλυση αντίστοιχων προβλημάτων και δημοσιεύουν εργασίες με βελτιώσεις σε υφιστάμενους σχετικούς αλγόριθμους, ενώ πολλές φορές προτείνουν και τελείως πρωτότυπες λύσεις. Το ενδιαφέρον για το αντικείμενο αυτό καταδεικνύεται από το γεγονός ότι υπάρχουν αρκετά επιστημονικά περιοδικά και δημοσιεύσεις πάνω στο αντικείμενο αυτό, ενώ παράλληλα διοργανώνονται διεθνή συνέδρια, εκθέσεις και διαγωνισμοί σχετικοί με το θέμα. Η δημιουργία ενός ωρολογίου προγράμματος για έναν οργανισμό εντάσσεται στα λεγόμενα προβλήματα βελτιστοποίησης, αφού το ζητούμενο είναι να βρεθούν βέλτιστες λύσεις, οι οποίες θα πληρούν κάποιους περιορισμούς. Με αυτά τα προβλήματα ασχολείται η Επιχειρησιακή Έρευνα (Operational Research OR), ένας κλάδος των Μαθηματικών που εφαρμόζει προχωρημένες αναλυτικές μεθόδους για την λήψη βέλτιστων αποφάσεων [1]. Συναφείς επιστημονικοί κλάδοι είναι η συμβατική Τεχνητή Νοημοσύνη (Artificial Intelligence AI) και η Υπολογιστική Νοημοσύνη (Computational Intelligence CI). Η Τεχνητή Νοημοσύνη είναι ο κλάδος της πληροφορικής, ο οποίος ασχολείται με τη σχεδίαση και την υλοποίηση ευφυών υπολογιστικών συστημάτων, δηλαδή συστημάτων που επιδεικνύουν χαρακτηριστικά που σχετίζονται με τη νοημοσύνη στην ανθρώπινη συμπεριφορά. Ο John McCarthy, ο οποίος εισήγαγε τον όρο το 1956, ορίζει την Τεχνητή Νοημοσύνη ως «επιστήμη και μεθοδολογία της δημιουργίας νοούντων μηχανών» [2]. Η συμβατική Τεχνητή Νοημοσύνη αφορά κυρίως μεθόδους μηχανικής μάθησης (machine learning), που χαρακτηρίζονται από αυστηρούς μαθηματικούς αλγόριθμους και στατιστικές μεθόδους ανάλυσης. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <12>

13 Η Υπολογιστική Τεχνητή Νοημοσύνη ή απλούστερα Υπολογιστική Νοημοσύνη στηρίζεται στη μάθηση μέσω επαναληπτικών διαδικασιών σε εμπειρικά δεδομένα και με μη-συμβολικές μεθόδους. Οι μέθοδοι αυτές συχνά εμπνέονται από φυσικά ή βιολογικά συστήματα και προσεγγίζουν πολύπλοκα προβλήματα της καθημερινής ζωής πολύ πιο αποτελεσματικά σε σχέση με τις παραδοσιακές μαθηματικές τεχνικές. Άλλες για παράδειγμα βασίζονται στη συμπεριφορά που επιδεικνύει ένα σμήνος πτηνών κατά την αναζήτηση της τροφής του [3], άλλες στη συμπεριφορά των γατών [4], ή ενός σμήνους μελισσών [5]. Έχουν επίσης, εδώ και καιρό, αναπτυχθεί και αλγόριθμοι βελτιστοποίησης οι οποίοι είναι εμπνευσμένοι από τις φυσικές ή μοριακές ιδιότητες των μετάλλων [6]. Στο οπλοστάσιο της Υπολογιστικής Νοημοσύνης υπάρχουν επίσης τα Ασαφή Συστήματα (fuzzy systems), δηλαδή τεχνικές λήψης απόφασης κάτω από αβεβαιότητα, τα Τεχνητά Νευρωνικά Δίκτυα (artificial neural networks) που προσομοιάζουν τη λειτουργία των νευρώνων των έμβιων όντων, οι Εξελικτικοί Αλγόριθμοι (evolutionary algorithms) και οι αλγόριθμοι Νοημοσύνης Σμήνους (swarm intelligence) [7], μερικά παραδείγματα των οποίων προαναφέρθηκαν. 1.2 Αντικείμενο της Διπλωματικής Εργασίας Ένα από τα δυσκολότερα προβλήματα που έχει να επιλύσει μία σχολική μονάδα στο ξεκίνημα αλλά και κατά τη διάρκεια της σχολικής χρονιάς είναι η κατασκευή του ωρολογίου προγράμματος. Και είναι δύσκολο πρόβλημα γιατί σ αυτό υπεισέρχονται πολλές παράμετροι που πρέπει να ληφθούν υπ όψιν, όπως είναι το πλήθος των τάξεων και των τμημάτων, το πλήθος και η χωρητικότητα των αιθουσών, ο αριθμός των μαθητών, το πλήθος, το ωράριο και η διαθεσιμότητα των καθηγητών, τα διδασκόμενα μαθήματα κάθε καθηγητή και οι πιθανές συνδιδασκαλίες καθηγητών. Βεβαίως υπάρχουν περιορισμοί που επίσης πρέπει να τηρούνται, όπως για παράδειγμα ότι μια τάξη δεν πρέπει να έχει κενά στο πρόγραμμά της κατά τη διάρκεια μιας ημέρας. Τέλος τις περισσότερες φορές είναι επιθυμητό οι ώρες διδασκαλίας του κάθε καθηγητή να είναι ομοιόμορφα κατανεμημένες στις ημέρες που είναι διαθέσιμος στο σχολείο και τα κενά του ανά εβδομάδα να είναι όσο γίνεται λιγότερα. Όλοι οι προαναφερόμενοι περιορισμοί και παράμετροι του προβλήματος είναι άκρως ανταγωνιστικοί ο ένας με τον άλλο, καθώς η βέλτιστη κατανομή των ωρών ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <13>

14 διδασκαλίας ενός καθηγητή από άποψη ομοιομορφίας μπορεί να έχει αρνητική επίπτωση στον αριθμό των κενών του ή επίσης μπορεί να έχει ως αποτέλεσμα ένα συγκεκριμένο μάθημά του να διδάσκεται σε μια τάξη δύο φορές την ίδια ημέρα. Από την άλλη, η ελαχιστοποίηση του πλήθους των κενών ενός καθηγητή μπορεί να επιδράσει αρνητικά στην ομοιόμορφη κατανομή των ωρών διδασκαλίας του. Τέλος, η προσπάθεια βελτιστοποίησης του προγράμματος ενός καθηγητή συχνά έχει ως αποτέλεσμα την χειροτέρευση του προγράμματος των υπολοίπων καθηγητών, κάτι που μπορεί να προκαλέσει τριβές μεταξύ των διδασκόντων. Είναι λοιπόν φανερό ότι η δημιουργία ενός ποιοτικού ωρολογίου προγράμματος είναι αρκετά δύσκολη και χρονοβόρα διαδικασία και ο εκπαιδευτικός που είναι επιφορτισμένος με αυτήν δύσκολα την ολοκληρώνει χωρίς να αντιμετωπίσει προβλήματα. Η χρήση του Ηλεκτρονικού Υπολογιστή μπορεί να απλοποιήσει αυτή τη διαδικασία, εφόσον βέβαια χρησιμοποιηθεί ένας αλγόριθμος επίλυσης του προβλήματος, ο οποίος θα έχει σχεδιαστεί έτσι ώστε να συνυπολογίζει όλες τις παραμέτρους και τους περιορισμούς. Το σημαντικό είναι ότι η ποιότητα των παραγόμενων ωρολογίων προγραμμάτων μπορεί να μετρηθεί και να αξιολογηθεί, συνεπώς υπάρχει δυνατότητα αντικειμενικής σύγκρισης της αποτελεσματικότητας των αλγόριθμων αυτών. Στη διεθνή βιβλιογραφία υπάρχουν αρκετοί δημοσιευμένοι αλγόριθμοι [8], οι οποίοι επιλύουν σχεδόν βέλτιστα το πρόβλημα της κατασκευής ωρολογίων προγραμμάτων για σχολεία. Πρόκειται κυρίως για προσαρμοστικούς αλγόριθμους, οι οποίοι μεταβάλλουν την συμπεριφορά τους ανάλογα με τις πληροφορίες που είναι διαθέσιμες την στιγμή που εκτελούνται, και χρησιμοποιούν διάφορες τεχνικές για να παράγουν τα αποτελέσματά τους. Το αντικείμενο της παρούσας Διπλωματικής Εργασίας είναι η σχεδίαση και υλοποίηση ενός τέτοιου προσαρμοστικού Αλγόριθμου, ο οποίος βασίζεται στην λογική του αλγόριθμου Cat Swarm Optimization (CSO) κι επιλύει το πρόβλημα της κατασκευής ωρολογίων προγραμμάτων για σχολεία της Δευτεροβάθμιας Εκπαίδευσης του Ελληνικού εκπαιδευτικού συστήματος. Επιπλέον γίνεται σύγκριση των παραγόμενων από τον προτεινόμενο αλγόριθμο αποτελεσμάτων με τα αντίστοιχα αποτελέσματα διαφόρων άλλων αλγόριθμων, καθώς και με αυτά που λαμβάνονται από το εμπορικό λογισμικό asc TimeTables, το οποίο είναι αυτό που κατεξοχήν χρησιμοποιούν τα περισσότερα σχολεία στην Ελλάδα για να δημιουργήσουν τα ωρολόγια προγράμματα τους. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <14>

15 Η ποιοτική αξιολόγηση όλων των αλγόριθμων έγινε με απόλυτα συγκεκριμένα και μετρήσιμα κριτήρια και με βάση δέκα αρχεία εισόδου από δέκα αντίστοιχα σχολεία της Πάτρας. Όπως αναφέρεται περισσότερο αναλυτικά και στο Κεφάλαιο 7 της παρούσας Διπλωματικής Εργασίας, οι συγκρίσεις απέδειξαν ότι τα ωρολόγια προγράμματα που κατασκευάζει ο προτεινόμενος αλγόριθμος είναι ανώτερης ποιότητας από αυτά που παράγουν οι περισσότεροι αλγόριθμοι και πολύ καλύτερης ποιότητας από αυτά που παράγει το εμπορικό λογισμικό. 1.3 Δομή της Διπλωματικής Εργασίας Η Διπλωματική Εργασία αποτελείται από 8 Κεφάλαια, ακολουθούμενα από τις βιβλιογραφικές αναφορές και ένα Παράρτημα. Κεφάλαιο 1: Εισαγωγή. Παρουσιάζονται το πεδίο εφαρμογής, το αντικείμενο και η διάρθρωση της Διπλωματικής Εργασίας. Κεφάλαιο 2: Το πρόβλημα του Προγραμματισμού Εργασιών. Περιγράφεται το γενικό πρόβλημα του προγραμματισμού εργασιών (timetabling) και τέσσερις δραστηριότητες όπου αυτό εμφανίζεται: στην εξυπηρέτηση ενός αριθμού πελατών με έναν διαθέσιμο στόλο οχημάτων σε συγκεκριμένα χρονικά διαστήματα, που αναφέρεται στην βιβλιογραφία ως Vehicle Routing Problem, στην κατασκευή ενός χρονοδιαγράμματος εργαζομένων-εργασιών για ένα έργο λογισμικού, που αναφέρεται ως Software Project Scheduling Problem, στον προγραμματισμό της παραγωγής κατά παραγγελία, που αναφέρεται ως Job shop Scheduling Problem και τέλος στην κατασκευή του προγράμματος εξετάσεων για ένα Πανεπιστήμιο ή ένα Σχολείο, που αναφέρεται ως Exams Timetabling Problem. Όλες οι παραπάνω περιπτώσεις έχουν πολλά κοινά σημεία με το πρόβλημα της κατασκευής ωρολογίου προγράμματος για σχολεία, που αναφέρεται ως School Τimetabling Problem και το οποίο αποτελεί το αντικείμενο της παρούσας Διπλωματικής Εργασίας και αναλύεται λεπτομερώς στο Κεφάλαιο 3. Κεφάλαιο 3: Ωρολόγια προγράμματα για Σχολεία. Παρουσιάζεται η κατάσταση που επικρατεί στα Ελληνικά σχολεία της Δευτεροβάθμιας Εκπαίδευσης σχετικά με την διαδικασία κατασκευής ωρολογίων προγραμμάτων. Επίσης, δίνεται ο αυστηρός ορισμός του προβλήματος του School Timetabling και αναλύεται το αντίστοιχο Μαθηματικό μοντέλο. Γίνεται επίσης αναφορά στις προηγούμενες προσπάθειες επίλυσης του προβλήματος. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <15>

16 Κεφάλαιο 4: Ο αλγόριθμος Cat Swarm Optimization - CSO. Γίνεται μια παρουσίαση του αλγόριθμου Cat Swarm Optimization (CSO) ο οποίος αποτέλεσε τη βάση σχεδίασης του αλγόριθμου της παρούσας εργασίας. Συγκεκριμένα, αρχικά αναλύεται η φιλοσοφία του αλγόριθμου, ο οποίος στη συνέχεια παρουσιάζεται λεπτομερώς. Τέλος, αναλύεται το θέμα της ρύθμισης των παραμέτρων του CSO. Κεφάλαιο 5: Κωδικοποίηση του προβλήματος School Timetabling. Παρουσιάζεται η κωδικοποίηση των cats, όπου cats είναι οι πράκτορες που διεξάγουν την έρευνα στο χώρο των λύσεων του προβλήματος. Επίσης, ορίζονται οι δύο περιπτώσεις συνδιδασκαλίας (co-teaching), μια κατάσταση η οποία εμφανίζεται αρκετά συχνά στα σχολεία. Παρουσιάζεται η διαδικασία αρχικοποίησης των cats, καθώς και η συνάρτηση αποτίμησης / αντικειμενική συνάρτηση (fitness function) του προβλήματος. Η αντικειμενική συνάρτηση είναι η συνάρτηση κόστους, της οποίας πρέπει να βρεθεί το ολικό ελάχιστο. Στην ιδανική περίπτωση το ολικό ελάχιστο ισούται με το μηδέν και αντιστοιχεί στη περίπτωση όπου δε παραβιάζεται κανένας περιορισμός. Ακόμη, καταγράφονται οι ανελαστικοί περιορισμοί (hard constraints) και οι ελαστικοί περιορισμοί (soft constraints) οι οποίοι πρέπει να πληρούνται από τα παραγόμενα ωρολόγια προγράμματα. Ακολούθως γίνεται η ανάλυση του τρόπου ανάθεσης του κόστους (cost assignment) σε κάθε περίπτωση που διαπιστώνεται παραβίαση κάποιου περιορισμού κατά τη διαδικασία εξέλιξης του αλγόριθμου, καθώς και του τρόπου ρύθμισης των συντελεστών βαρύτητας (weight adjustment), οι οποίοι χρησιμοποιούνται από την αντικειμενική συνάρτηση του αλγόριθμου. Κεφάλαιο 6: Παρουσίαση του προτεινόμενου αλγόριθμου. Γίνεται η περιγραφή του προτεινόμενου αλγόριθμου με τη μορφή ψευδοκώδικα. Παρουσιάζονται και αναλύονται τόσο οι βασικές όσο και οι σημαντικότερες βοηθητικές διαδικασίες τις οποίες χρησιμοποιεί ο αλγόριθμος. Τέλος, παρουσιάζεται η διαδικασία του αλγόριθμου, με την οποία γίνεται η βελτιστοποίηση της λύσης, δηλαδή ο περιορισμός των κενών των καθηγητών. Δίνεται η αλγοριθμική της περιγραφή και ακολουθούν επεξηγηματικά σχόλια που την αφορούν. Κεφάλαιο 7: Πειραματικά αποτελέσματα. Γίνεται αξιολόγηση του προτεινόμενου αλγόριθμου με βάση τα ωρολόγια προγράμματα που παρήγαγε. Τα αποτελέσματα του συγκρίνονται με αυτά που παρήγαγαν διάφοροι άλλοι αλγόριθμοι σε ανάλογες εργασίες. Επίσης τα παραγόμενα ωρολόγια προγράμματα συγκρίνονται και με αυτά που λαμβάνονται από το εμπορικό λογισμικό asc TimeTables. Οι συγκρίσεις γίνονται ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <16>

17 με βάση τα δεδομένα που ελήφθησαν από δέκα σχολεία της Πάτρας (input instances), συνεπώς τα κριτήρια είναι κοινά και είναι απολύτως αντικειμενικά και μετρήσιμα. Κεφάλαιο 8: Παρατηρήσεις Γενικεύσεις Συμπεράσματα. Αναφέρονται μερικές παρατηρήσεις σχετικά με τις παραμέτρους κόστους και προτείνονται τρόποι επέκτασης και γενίκευσης του προτεινόμενου αλγόριθμου. Επίσης, εξάγονται τα συμπεράσματα της εργασίας. Στις Βιβλιογραφικές Αναφορές αναφέρονται δημοσιεύσεις (papers), βιβλία και πηγές του Διαδικτύου, που είτε χρησιμοποιήθηκαν για την εκπόνηση της παρούσας Διπλωματικής Εργασίας, είτε μπορούν να χρησιμοποιηθούν για περαιτέρω μελέτη. Στο Παράρτημα παρουσιάζεται το συνοδευτικό υλικό της Διπλωματικής Εργασίας. Για την υλοποίηση του αλγόριθμου έχει χρησιμοποιηθεί η γλώσσα προγραμματισμού C και για την ανάπτυξη του κώδικα το DEV-C [9], το οποίο είναι δωρεάν ανοικτού κώδικα (free open-source) περιβάλλον για ανάπτυξη λογισμικού. Το ωρολόγιο πρόγραμμα παράγεται αφού τροφοδοτήσουμε το εκτελέσιμο αρχείο (executable) με το αντίστοιχο αρχείο κειμένου (txt file), το οποίο περιέχει όλες τις πληροφορίες για τις τάξεις, τους καθηγητές, τη διαθεσιμότητα των καθηγητών, τις ώρες διδασκαλίας, τις συνδιδασκαλίες και τα μαθήματα. Αυτές οι πληροφορίες πρέπει να δομηθούν και να κωδικοποιηθούν με ένα συγκεκριμένο τρόπο. Στην παρούσα Διπλωματική Εργασία χρησιμοποιείται σαν πρότυπο η κωδικοποίηση που προτείνεται στις παραπομπές [10], [11] και [12] της βιβλιογραφίας. Στο Παράρτημα παρέχεται η αναλυτική περιγραφή της δομής των δεδομένων των αρχείων εισόδου και παρουσιάζεται ο τρόπος δημιουργίας τους, είτε χειροκίνητα, είτε αυτόματα μέσω μίας ειδικής διεπαφής (web interface), που δημιουργήθηκε στα πλαίσια της παρούσας εργασίας. Παρέχεται επίσης ενδεικτικά ένα από τα αρχεία εισόδου που χρησιμοποιήθηκαν για την αξιολόγηση του αλγόριθμου και το οποίο είναι δημιουργημένο σύμφωνα με την προαναφερθείσα κωδικοποίηση, όπως και τα αντίστοιχα αρχεία εξόδου του αλγόριθμου, μαζί με στιγμιότυπα (screenshots) από την εκκίνηση, την εξέλιξη και το τερματισμό του προγράμματος. Παρέχονται επίσης οδηγίες για την εγκατάσταση και χρήση μίας διεπαφής που δημιουργήθηκε για να απλοποιήσει την εισαγωγή/εξαγωγή των δεδομένων. Τέλος, παρουσιάζονται τα ιστογράμματα των αποτελεσμάτων του προτεινόμενου αλγόριθμου για κάθε αρχείο εισόδου. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <17>

18 Κεφάλαιο 2. Το πρόβλημα του Προγραμματισμού Εργασιών Στο κεφάλαιο αυτό κρίνεται απαραίτητο να παρουσιαστεί το γενικότερο πρόβλημα του Προγραμματισμού Εργασιών (Scheduling), ειδικότερη περίπτωση του οποίου είναι το πρόβλημα School Timetabling, που αποτελεί και το αντικείμενο της παρούσας Διπλωματικής Εργασίας. Έτσι στην ενότητα 2.1 παρουσιάζεται το περίγραμμα του προβλήματος του Προγραμματισμού Εργασιών (Scheduling) και δίνεται ο ορισμός της κλάσεως των NP Complete προβλημάτων, ένα από τα οποία είναι και ο Προγραμματισμός Εργασιών. Στη συνέχεια, παρουσιάζονται τέσσερις δραστηριότητες οι οποίες απαιτούν Προγραμματισμό Εργασιών, δηλαδή απαιτούν την κατασκευή ενός ωρολογίου προγράμματος (timetable). Συγκεκριμένα, στην ενότητα 2.2 παρουσιάζεται το πρόβλημα της εξυπηρέτησης ενός αριθμού πελατών με έναν διαθέσιμο στόλο οχημάτων σε συγκεκριμένα χρονικά διαστήματα (Vehicle Routing), στην ενότητα 2.3 παρουσιάζεται το πρόβλημα του προγραμματισμού των τεχνικών έργων λογισμικού (Software Project Scheduling), στην ενότητα 2.4 παρουσιάζεται το πρόβλημα προγραμματισμού παραγωγής κατά παραγγελία (Job Shop Scheduling) και στην ενότητα 2.5 παρουσιάζεται το πρόβλημα κατασκευής ενός προγράμματος εξετάσεων (Exam Timetabling). 2.1 Προβλήματα Προγραμματισμού και NP Complete προβλήματα Η διαδικασία αντιστοίχησης πόρων σε συγκεκριμένες χρονικές περιόδους, με ταυτόχρονη ικανοποίηση κάποιων περιορισμών, η οποία έχει ως προϊόν ένα ωρολόγιο πρόγραμμα εφικτό (feasible) και αποτελεσματικό (efficient), αποτελεί μια οικογένεια προβλημάτων που ονομάζονται προβλήματα Προγραμματισμού (scheduling ή timetabling problems). Τα προβλήματα Προγραμματισμού, στη γενική τους μορφή, χαρακτηρίζονται ως NP Πλήρη (NP-Complete) [13]. Ένα πρόβλημα χαρακτηρίζεται ως NP Πλήρες όταν γι αυτό δεν γνωρίζουμε αλγόριθμους πολυωνυμικού χρόνου και ταυτόχρονα δεν είμαστε σε θέση να αποδείξουμε ότι δεν υπάρχουν αλγόριθμοι πολυωνυμικού χρόνου. Δηλαδή για τα προβλήματα αυτά η δυσκολία εύρεσης μιας λύσης αυξάνεται εκθετικά ως προς το μέγεθός τους και είναι αδύνατο να βρεθεί ντετερμινιστικός αλγόριθμος, ο οποίος να δίνει αποδεκτή λύση σε πολυωνυμικό χρόνο [14]. Συνεπώς για την επίλυση αυτού του είδους των προβλημάτων, χρησιμοποιούνται εναλλακτικοί αλγόριθμοι επίλυσης, οι οποίοι παρέχουν μια σχεδόν βέλτιστη λύση σε αποδεκτό χρόνο. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <18>

19 2.2 Vehicle Routing Problem Το πρόβλημα Vehicle Routing [15] αναφέρεται σε μία κρίσιμη διαδικασία των logistics, η οποία έχει να κάνει με την παράδοση μέσω οχημάτων κάποιων αγαθών που βρίσκονται σε μία κεντρική αποθήκη, στους πελάτες που τα έχουν παραγγείλει, επιδιώκοντας παράλληλα την ελαχιστοποίηση του κόστους παράδοσης. Οι περιορισμοί που πρέπει να ληφθούν υπ όψιν σχετίζονται κυρίως με τα οχήματα π.χ. χωρητικότητα, ταχύτητα, κόστος λειτουργίας και συντήρησης και βεβαίως τους ίδιους τους πελάτες π.χ. χρονικό παράθυρο εξυπηρέτησης, ιδιαιτερότητες παραδιδόμενων αγαθών, προτεραιότητα εξυπηρέτησης. Πρόκειται λοιπόν για ένα πολύπλοκο πρόβλημα μαθηματικού προγραμματισμού που έχει ως στόχο κυρίως την ελαχιστοποίηση του συνδυασμού του αριθμού των χρησιμοποιούμενων οχημάτων και του συνολικού χρόνου (ή απόστασης) των διαδρομών. 2.3 Software Project Scheduling Problem Το πρόβλημα Software Project Scheduling [16] είναι ένα από τα πιο κοινά προβλήματα στην διαχείριση τεχνικών έργων λογισμικού. Συνίσταται στην κατασκευή ενός χρονοδιαγράμματος εργαζομένων-εργασιών για ένα έργο λογισμικού, συνεξετάζοντας τις αμοιβές και τις δεξιότητες των εργαζομένων στους οποίους θα ανατεθούν οι εργασίες αυτές. Οι πόροι που εμπλέκονται στο πρόβλημα αυτό είναι οι επιμέρους εργασίες που απαιτούνται για την ολοκλήρωση του έργου, οι εργαζόμενοι και οι δεξιότητές τους. Ένας εργαζόμενος μπορεί να έχει πολλές δεξιότητες και μία εργασία μπορεί να απαιτεί αρκετές δεξιότητες για να ολοκληρωθεί. Συνεπώς το πρόβλημα και η επίλυσή του έγκειται στην βέλτιστη κατανομή των δεξιοτήτων των εργαζομένων στις επιμέρους εργασίες. 2.4 Job Shop Scheduling Problem Το πρόβλημα Job Shop Scheduling [17] είναι ένα από τα πιο χαρακτηριστικά και πολύπλοκα προβλήματα στον τομέα του προγραμματισμού παράγωγης σε κάποιο εργοστάσιο ή βιομηχανία. Στο πρόβλημα αυτό δίνεται ένας συγκεκριμένος αριθμός m μηχανών, οι οποίες πρέπει να υλοποιήσουν n αριθμό εργασιών. Ταυτόχρονα υπάρχουν και κάποιοι περιορισμοί στο πρόβλημα, όπως ότι η κάθε μηχανή μπορεί κάθε χρονική στιγμή να επεξεργάζεται έναν συγκεκριμένο αριθμό εργασιών και ότι υπάρχουν εργασίες που για να εκτελεστούν θα πρέπει πρώτα να έχουν ολοκληρωθεί ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <19>

20 άλλες εργασίες. Σκοπός είναι να βρεθεί ο συντομότερος χρόνος υλοποίησης των εργασιών αυτών από τις μηχανές, δηλαδή πρόκειται για άλλο ένα πρόβλημα ελαχιστοποίησης χρόνου και συνεπώς κόστους λειτουργίας. 2.5 Exam Timetabling Problem Το πρόβλημα Exam Timetabling είναι ένα κλασσικό NP Complete πρόβλημα που αφορά στον προγραμματισμό των εξετάσεων μίας εκπαιδευτικής μονάδας [18]. Οι παράμετροι που εμπλέκονται στο πρόβλημα αυτό είναι το σύνολο των μη επικαλυπτόμενων περιόδων εξέτασης, το σύνολο των αιθουσών όπου διεξάγονται οι εξετάσεις, το σύνολο των εξεταστέων μαθημάτων και τέλος, το σύνολο των προτιμήσεων κατανομής των εξετάσεων. Οι εξετάσεις θα πρέπει λοιπόν να κατανεμηθούν σε έναν περιορισμένο αριθμό χρονικών περιόδων και αιθουσών, ικανοποιώντας ταυτόχρονα και μία σειρά από περιορισμούς. Οι περιορισμοί αυτοί διακρίνονται σε ανελαστικούς και ελαστικούς. Οι ανελαστικοί περιορισμοί, όπως για παράδειγμα οι περιορισμένες χωρητικότητες των αιθουσών ή το ότι ένας φοιτητής δε μπορεί να δίνει ταυτόχρονα δύο μαθήματα, πρέπει υποχρεωτικά να ικανοποιούνται όλοι, ώστε το ωρολόγιο πρόγραμμα να είναι αποδεκτό. Οι ελαστικοί περιορισμοί αντιθέτως δεν είναι απαραίτητο να ικανοποιούνται, ωστόσο αυτό είναι επιθυμητό καθώς συσχετίζονται με την ποιότητα του ωρολογίου προγράμματος. Έτσι ένα παράδειγμα ελαστικού περιορισμού μπορεί να είναι η ομοιόμορφη κατανομή των μαθημάτων που δίνει ένας φοιτητής κατά την διάρκεια της εξεταστικής περιόδου. Βεβαίως, στην πράξη κάθε εκπαιδευτική μονάδα θέτει συχνά τους δικούς της περιορισμούς, δυσκολεύοντας ακόμη περισσότερο το πρόβλημα. Κεφάλαιο 3. Ωρολόγια Προγράμματα για Σχολεία Στο κεφάλαιο αυτό και συγκεκριμένα στην ενότητα 3.1 παρουσιάζεται η κατάσταση που επικρατεί στα Ελληνικά σχολεία της Δευτεροβάθμιας Εκπαίδευσης σχετικά με την διαδικασία κατασκευής ωρολογίων προγραμμάτων. Στην ενότητα 3.2 δίνεται ο αυστηρός ορισμός του προβλήματος School Timetabling και το Μαθηματικό μοντέλο στο οποίο βασίζεται η επίλυσή του. Τέλος, στην ενότητα 3.3 παρουσιάζονται συνοπτικά οι ερευνητικές προσπάθειες επίλυσης του συγκεκριμένου προβλήματος που έχουν προηγηθεί. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <20>

21 3.1 Η σύνταξη των ωρολογίων προγραμμάτων στα σχολεία Σε κάθε σχολική μονάδα της Δευτεροβάθμιας Εκπαίδευσης της Ελληνικής Επικράτειας στην αρχή της σχολικής χρονιάς γίνεται κατανομή των μαθητών σε τμήματα ανάλογα με την χωρητικότητα των αιθουσών και τις προτιμήσεις των μαθητών για μαθήματα κατευθύνσεων ή επιλογής που διδάσκονται στο συγκεκριμένο σχολείο. Όταν δημιουργηθούν τα τμήματα και είναι πλέον γνωστές οι απαιτήσεις σε μαθήματα, οι καθηγητές συνεδριάζουν ανά ειδικότητα και μοιράζονται τα μαθήματα της ειδικότητάς τους, ανάλογα με το υποχρεωτικό τους ωράριο. Με αυτά τα δεδομένα δημιουργείται ένα ωρολόγιο πρόγραμμα, το οποίο όμως είναι υπό συνεχή διαμόρφωση και βελτίωση, καθώς οι διορισμοί και οι τοποθετήσεις των εκπαιδευτικών στα σχολεία συνεχίζονται ακόμα και μέχρι τα μέσα του σχολικού έτους. Για την δημιουργία του προγράμματος σχεδόν κάθε καθηγητής θέτει τους δικούς του περιορισμούς στο πρόγραμμα, είτε λόγω προτιμήσεων σε συγκεκριμένες ώρες διδασκαλίας, είτε λόγω του ότι ενδέχεται να εργάζεται και σε άλλο σχολείο και ως εκ τούτου έχει κώλυμα για κάποιες ημέρες της εβδομάδας. Τη σύνταξη του προγράμματος αναλαμβάνει συνήθως ο Υποδιευθυντής ή κάποιος από τους καθηγητές, ο επονομαζόμενος και «υπεύθυνος προγράμματος». Αυτός συνεννοείται με τον Διευθυντή του σχολείου και με τους διδάσκοντες καθηγητές και προσπαθεί να συντάξει ένα πρόγραμμα το οποίο θα ικανοποιεί όλους ή σχεδόν όλους τους περιορισμούς που θέτουν οι καθηγητές, αλλά και άλλους περιορισμούς που πρέπει οπωσδήποτε να ικανοποιηθούν, όπως για παράδειγμα την μη ύπαρξη κενών στο πρόγραμμα του κάθε τμήματος. Τα τελευταία χρόνια μάλιστα πολλοί καθηγητές είναι υποχρεωμένοι λόγω αύξησης του διδακτικού τους ωραρίου να απασχολούνται σε δύο, τρία ή και τέσσερα σχολεία προκειμένου να το συμπληρώσουν, γεγονός που περιπλέκει ακόμη περισσότερο την κατάσταση αφού ο υπεύθυνος προγράμματος θα πρέπει να συνεννοείται και με τους αντίστοιχους συναδέλφους του σε άλλα σχολεία. Αν και μερικές φορές ο υπεύθυνος προγράμματος χρησιμοποιεί Ηλεκτρονικό Υπολογιστή και λογισμικό κατασκευής ωρολογίων προγραμμάτων, όπως το δημοφιλές εμπορικό asc TimeTables [19] ή το δωρεάν ανοικτού κώδικα FET [20], η μεγάλη πολυπλοκότητα του συγκεκριμένου προβλήματος καθιστά πρακτικά αδύνατο να ικανοποιηθούν όλοι οι περιορισμοί, ειδικά στις μεγάλες σχολικές μονάδες. Έτσι, συχνά δημιουργούνται διαφωνίες και καχυποψίες μεταξύ των καθηγητών, καθώς κάθε ένας από αυτούς έχει την δική του διαφορετική και υποκειμενική αντίληψη περί ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <21>

22 της ποιότητας του προγράμματος και των περιορισμών που πρέπει να ικανοποιούνται. Συνεπώς η διαδικασία της κατασκευής του ωρολογίου προγράμματος δίκαια θεωρείται μία από τις πολυπλοκότερες εργασίες του σχολείου. Επειδή μάλιστα το ωρολόγιο πρόγραμμα αναθεωρείται αρκετές φορές κατά την διάρκεια του σχολικού έτους, πρόκειται και για μία επαναλαμβανόμενη εργασία, με τις ίδιες δυσκολίες και περιορισμούς κάθε φορά, για την οποία πρέπει να αναλίσκεται πολύς χρόνος και κόπος από τον καθηγητή που την έχει αναλάβει. 3.2 Η φύση του προβλήματος Το πρόβλημα της κατασκευής του εβδομαδιαίου ωρολογίου προγράμματος για σχολεία έχει αποδειχθεί ότι ανήκει στην κλάση των NP Complete προβλημάτων [21] [22], καθώς επηρεάζεται από πολλές παραμέτρους και η λύση του πρέπει να ικανοποιεί ένα μεγάλο αριθμό από περιορισμούς. Οι οντότητες που εμπλέκονται στο πρόβλημα είναι οι καθηγητές, οι τάξεις ή τμήματα, τα μαθήματα και οι χρονικές περίοδοι. Δηλαδή, οι καθηγητές πρέπει να διδάσκουν συγκεκριμένα μαθήματα, σε συγκεκριμένες τάξεις και σε συγκεκριμένες χρονικές περιόδους. Οι περιορισμοί, που πρέπει να ικανοποιούνται όσο το δυνατόν περισσότερο στο ωρολόγιο πρόγραμμα, χωρίζονται σε δύο κατηγορίες: τους ανελαστικούς περιορισμούς και τους ελαστικούς περιορισμούς. Ένα ωρολόγιο πρόγραμμα χαρακτηρίζεται ως εφικτό (feasible), δηλαδή αποδεκτό, όταν ικανοποιούνται όλοι οι ανελαστικοί περιορισμοί. Ένα τέτοιο εφικτό πρόγραμμα μπορεί προφανώς να χρησιμοποιηθεί ως έχει από το αντίστοιχο σχολείο. Αυτό όμως δεν σημαίνει ότι η ποιότητά του θα είναι και ικανοποιητική, καθώς αυτή καθορίζεται από το πλήθος των ελαστικών περιορισμών που αυτό ικανοποιεί ή παραβιάζει. Όσο λιγότερους ελαστικούς περιορισμούς παραβιάζει το ωρολόγιο πρόγραμμα τόσο πιο ποιοτικό, δηλαδή αποτελεσματικό (efficient), χαρακτηρίζεται. Συνεπώς η βασική επιδίωξη είναι η κατασκευή εφικτών αλλά και όσο γίνεται πιο ποιοτικών ωρολογίων προγραμμάτων. Οι ανελαστικοί περιορισμοί που πρέπει να ικανοποιεί το ωρολόγιο πρόγραμμα προκειμένου να είναι αποδεκτό, δηλαδή εφικτό, είναι οι ακόλουθοι: 1. Κάθε καθηγητής θα πρέπει να ορίζεται να διδάξει σε ώρες κατά τις οποίες είναι διαθέσιμος στο σχολείο. 2. Κάθε καθηγητής πρέπει να ανατίθεται σε μια το πολύ τάξη σε δεδομένη χρονική περίοδο. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <22>

23 3. Σε κάθε τάξη πρέπει να διδάσκεται ένα μόνο μάθημα σε δεδομένη χρονική περίοδο. 4. Κάθε καθηγητής πρέπει να διδάσκει έναν περιορισμένο και προκαθορισμένο αριθμό μαθημάτων σε ορισμένο και προκαθορισμένο αριθμό συγκεκριμένων τάξεων. 5. Κάθε τάξη μπορεί να έχει κενό, δηλαδή χρονική περίοδο χωρίς μάθημα, μόνο στην τελευταία χρονική περίοδο της ημέρας. 6. Περιπτώσεις συνδιδασκαλίας (co-teaching): το ωρολόγιο πρόγραμμα πρέπει να διαχειρίζεται τις περιπτώσεις συνδιδασκαλίας κατά ορθό τρόπο, δηλαδή στις περιπτώσεις όπου δύο ή περισσότεροι καθηγητές διδάσκουν το ίδιο μάθημα στην ίδια τάξη, πρέπει αυτοί να ορίζονται στις ίδιες χρονικές περιόδους. 7. Περιπτώσεις υποδιαίρεσης τάξης (subclasses): το ωρολόγιο πρόγραμμα πρέπει να διαχειρίζεται τις περιπτώσεις υποδιαίρεσης τάξης κατά ορθό τρόπο, δηλαδή στις περιπτώσεις όπου δύο ή περισσότεροι καθηγητές διδάσκουν διαφορετικό μάθημα στα τμήματα στα οποία υποδιαιρείται μια τάξη προσωρινά, για διάστημα μιας χρονικής περιόδου, πρέπει αυτοί να ορίζονται στα τμήματα της τάξης κατά την ίδια χρονική περίοδο. Οι ελαστικοί περιορισμοί, των οποίων η ικανοποίηση χαρακτηρίζει την ποιότητα του ωρολογίου προγράμματος, είναι οι ακόλουθοι: 1. Κάθε καθηγητής θα πρέπει να έχει ομοιόμορφα κατανεμημένες τις ώρες διδασκαλίας του στις ημέρες που είναι διαθέσιμος στο σχολείο. 2. Τα ενδιάμεσα κενά στο πρόγραμμα κάθε καθηγητή θα πρέπει να είναι όσο το δυνατόν λιγότερα. 3. Το ωρολόγιο πρόγραμμα θα πρέπει να κατανέμει τα κενά σε όλους τους καθηγητές ομοιόμορφα. Επίσης, για κάθε καθηγητή, τα κενά του θα πρέπει να είναι ομοιόμορφα κατανεμημένα στις ημέρες που αυτός είναι διαθέσιμος στο σχολείο. 4. Κάθε τάξη πρέπει να διδάσκεται ένα μάθημα το πολύ μια φορά κατά τη διάρκεια της ίδιας ημέρας Μαθηματικό μοντέλο Οι απαραίτητες παράμετροι και τα σύνολα που χρειάζεται να οριστούν για τη μοντελοποίηση του προβλήματος είναι τα ακόλουθα [10]: T είναι το σύνολο των καθηγητών C είναι το σύνολο των τάξεων D είναι το σύνολο των ημερών του ωρολογίου προγράμματος ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <23>

24 H είναι το σύνολο των ωρών διδασκαλίας L είναι το σύνολο των μαθημάτων Teacher_Class_Hour_Day[t][c][h][d] είναι ο πίνακας που ορίζει εάν ο καθηγητής t διδάσκει στην τάξη c την h ώρα της d ημέρας. Εάν Teacher_Class_Hour_Day[t][c][h][d] = 1, αυτό σημαίνει ότι ο καθηγητής t διδάσκει στην τάξη c την h ώρα της d ημέρας, αλλιώς εάν Teacher_Class_Hour_Day[t][c][h][d] = 0, αυτό σημαίνει ότι ο καθηγητής t δε διδάσκει στην τάξη c την h ώρα της d ημέρας. Class_Lesson_Hour_Day[c][l][h][d] είναι ο πίνακας που ορίζει εάν η τάξη c διδάσκεται το μάθημα l την h ώρα της d ημέρας. Εάν Class_Lesson_Hour_Day[c][l][h][d] = 1, αυτό σημαίνει ότι η τάξη c διδάσκεται το μάθημα l την h ώρα της d ημέρας, αλλιώς εάν Class_Lesson_Hour_Day[c][l][h][d] = 0, αυτό σημαίνει ότι η τάξη c δε διδάσκεται κανένα μάθημα στην h ώρα της d ημέρας, δηλαδή έχει κενό. Teacher_Total_Hours[t] είναι οι συνολικές ώρες διδασκαλίας του καθηγητή t T. Class_Total_Hours[c] είναι ο συνολικός αριθμός ωρών διδασκαλίας της τάξης c C. Επιπροσθέτως, ορίζονται οι παρακάτω μεταβλητές κόστους: cost 1 : Ο αριθμός των κενών για κάθε έναν από τους καθηγητές (κάθε καθηγητής πρέπει να έχει όσο το δυνατόν λιγότερα κενά). cost 2 : Ο αριθμός των κενών για κάθε έναν από τους καθηγητές τα οποία δεν είναι ομοιόμορφα κατανεμημένα (τα κενά κάθε καθηγητή πρέπει να είναι ομοιόμορφα κατανεμημένα σε όλες τις ημέρες που αυτός είναι διαθέσιμος στο σχολείο). cost 3 : Ο συνολικός αριθμός των κενών τα οποία δεν είναι ομοιόμορφα κατανεμημένα μεταξύ των καθηγητών (τα κενά πρέπει να κατανέμονται ομοιόμορφα μεταξύ όλων των καθηγητών). cost 4 : Ο αριθμός των ωρών διδασκαλίας ενός καθηγητή οι οποίες δεν είναι ομοιόμορφα κατανεμημένες μεταξύ των ημερών όπου ο καθηγητής είναι διαθέσιμος στο σχολείο (οι ώρες διδασκαλίας κάθε καθηγητή πρέπει να είναι ομοιόμορφα κατανεμημένες μεταξύ των ημερών όπου ο καθηγητής είναι διαθέσιμος στο σχολείο). ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <24>

25 cost 5 : Ο αριθμός των τάξεων οι οποίες διδάσκονται το ίδιο μάθημα σε διαδοχικές ώρες ή την ίδια ημέρα (οι τάξεις πρέπει να μη διδάσκονται το ίδιο μάθημα σε διαδοχικές ώρες ή την ίδια ημέρα). Κατά συνέπεια, το Μαθηματικό μοντέλο του προβλήματος, εκφράζεται ως ακολούθως: min (cost 1 + cost 2 + cost 3 + cost 4 + cost 5 ) t T, c C, l L, h H, d D (1) με ταυτόχρονη ικανοποίηση των ακόλουθων περιορισμών: 1. t T, (c i, c j ) C, (h i, h j ) H, (d i, d j ) D (Teacher_Class_Hour_Day[t][c i ][h i ][d i ] = 1 Teacher_Class_Hour_Day[t][c j ][h j ][d j ] = 1 ) έτσι ώστε c i c j και h i = h j και d i = d j. 2. c C, (l i, l j ) L, (h i, h j ) H, (d i, d j ) D (Class_Lesson_Hour_Day[c][l i ][h i ][d i ] = 1 Class_Lesson_Hour_Day[c][l j ][h j ][d j ] = 1 ) έτσι ώστε l i l j και h i = h j και d i = d j. 3. t T, Teacher_Total_Hours[t] = Teacher_Hours[t], όπου Teacher_Hours[t] είναι ο συνολικός αριθμός των ωρών διδασκαλίας του καθηγητή t σύμφωνα με τη νομοθεσία. 4. c C, Class_Total_Hours[c] = Class_Hours[c], όπου Class_Hours[c] είναι ο συνολικός αριθμός των ωρών διδασκαλίας που πρέπει να έχει η τάξη c σύμφωνα με τη νομοθεσία. 5. c C, l L, h H, d D, Class_Lesson_Hour_Day[c][l][h][d] = 0 έτσι ώστε h δεν είναι η τελευταία ώρα της ημέρας d. 6. t T, c C, h H, d D, Teacher_Class_Hour_Day[t][c][h][d] = 1 έτσι ώστε d είναι ημέρα κατά την οποία ο καθηγητής t δεν είναι διαθέσιμος στο σχολείο. 7. (t i, t j ) T, (c i, c j ) C, (h i, h j ) H, (d i, d j ) D (Teacher_Class_Hour_Day[t i ][c i ][h i ][d i ] = 1 Teacher_Class_Hour_Day[t j ][c j ][h j ][d j ] = 1) έτσι ώστε c i = c j και h i = h j και d i = d j και οι καθηγητές t i και t j δε διδάσκουν το ίδιο μάθημα στην τάξη c i = c j (περίπτωση συνδιδασκαλίας). Όπως συνάγεται από τις παραπάνω σχέσεις του Μαθηματικού μοντέλου, πρόκειται λοιπόν για ένα πρόβλημα βελτιστοποίησης και συγκεκριμένα ελαχιστοποίησης, με ταυτόχρονη ικανοποίηση επτά περιορισμών. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <25>

26 3.3 Προηγούμενες προσπάθειες επίλυσης του προβλήματος Οι πρώτες ερευνητικές προσπάθειες επίλυσης του προβλήματος School Timetabling (STP) είχαν βασιστεί σε ευρετικές μεθόδους (heuristic methods), δηλαδή προσεγγιστικές μεθόδους, που μιμούνται την διαδικασία που ακολουθεί κι ένας άνθρωπος στην προσπάθειά του να δημιουργήσει ένα ωρολόγιο πρόγραμμα [23]. Παράλληλα είχαν γίνει προσπάθειες και με την χρήση αλγόριθμων βελτίωσης (improvement algorithms), με τους οποίους γινόταν μία προσέγγιση τριών φάσεων, καθεμία από τις οποίες επικεντρωνόταν σε έναν από τους περιορισμούς του προβλήματος και η βελτίωση γινόταν με την εναλλαγή των δεδομένων του ωρολογίου προγράμματος [24]. Σημαντικό ρόλο στην προσπάθεια επίλυσης του STP έχουν παίξει και οι μέθοδοι που βασίζονται στην θεωρία των γράφων (graph theory methods) [25], καθώς κι εκείνες που βασίζονται σε αλγόριθμους ροής δικτύων (network flow algorithms) [26]. Με την πάροδο των χρόνων το πεδίο έρευνας σχετικά με το πρόβλημα μεγάλωσε και νέοι αλγόριθμοι δημιουργήθηκαν για την επίλυσή του. Σε αυτούς περιλαμβάνονται αλγόριθμοι που εξομοιώνουν την διαδικασία ανόπτησης ενός μετάλλου (simulated annealing) [27], εξελικτικοί αλγόριθμοι (evolutionary algorithms) [28], αλγόριθμοι απαγορευμένων κινήσεων (tabu search algorithms) [29], ο ακέραιος προγραμματισμός (integer programming) [30], ο προγραμματισμός περιορισμών (constraint programming) [31], η μέθοδος GRASP (διαδικασία άπληστης τυχαιοποιημένης τοπικής αναζήτησης) [32], o αλγόριθμος αποδοχής κατωφλίου (threshold accepting algorithm) [33], ο αλγόριθμος αναζήτησης μεταβαλλόμενης γειτονιάς (variable neighborhood search) [11], αλγόριθμοι που μιμούνται σμήνη πουλιών [10], μελισσών [34], ψαριών [12] κτλ. Σε μερικές περιπτώσεις μάλιστα εφαρμόζονται και υβριδικές προσεγγίσεις που συνδυάζουν δύο ή περισσότερες μεθοδολογίες, όπως στην αναφορά [35]. Τέλος, στο διαδίκτυο πλέον διατίθενται ολοκληρωμένα λογισμικά κατασκευής ωρολογίων προγραμμάτων, όπως το εμπορικό asc TimeTables [19] ή το δωρεάν ανοικτού κώδικα FET [20], τα οποία έχουν αναπτυχθεί για να βοηθήσουν τις σχολικές μονάδες στο θέμα αυτό. Μία καλή επισκόπηση των κυριότερων ερευνητικών προσπαθειών επίλυσης του προβλήματος School Timetabling υπάρχει στην αναφορά [8]. Στο κεφάλαιο 7 συγκρίνονται τα αποτελέσματα μερικών από τους παραπάνω αλγόριθμους με τον προτεινόμενο αλγόριθμο της παρούσης εργασίας. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <26>

27 Κεφάλαιο 4. Ο Αλγόριθμος Cat Swarm Optimization - CSO Στην ενότητα 4.1 του παρόντος κεφαλαίου, περιγράφεται η κατηγορία των αλγόριθμων στην οποία ανήκει ο αλγόριθμος βελτιστοποίησης CSO και παρουσιάζεται η φιλοσοφία του και οι γενικότερες αρχές που τον διέπουν. Επίσης, αναλύεται το νόημα των βασικών σχέσεων τις οποίες χρησιμοποιεί ο Αλγόριθμος CSO. Στη συνέχεια, στην ενότητα 4.2, παρατίθεται ο Αλγόριθμος CSO σε μορφή ψευδοκώδικα (pseudo code) και στην ενότητα 4.3 γίνεται αναφορά στη ρύθμιση των παραμέτρων του. 4.1 Η φιλοσοφία του αλγόριθμου CSO Ο αλγόριθμος Cat Swarm Optimization [4] [36] ανήκει στην ομάδα των «Μεταευρετικών Αλγόριθμων» (Metaheuristics). Πρόκειται για αλγόριθμους και μεθόδους, οι οποίοι, χωρίς να είναι ειδικοί για ένα πρόβλημα, παρέχουν μία ικανοποιητική λύση σε ένα πρόβλημα βελτιστοποίησης για το οποίο είτε έχουμε ελλιπείς πληροφορίες, είτε περιορισμένο χρόνο για την επίλυσή του. Οι Μετα-ευρετικοί Αλγόριθμοι ερευνούν για την βέλτιστη λύση σε έναν μεγάλο χώρο υποψήφιων λύσεων, κάνοντας συχνά κάποιες υποθέσεις για το πρόβλημα προς επίλυση. Συγκρινόμενοι με άλλους αλγόριθμους και επαναληπτικές μεθόδους [37], οι Μετα-ευρετικοί Αλγόριθμοι δεν εγγυώνται μεν ότι θα βρουν την ολικά βέλτιστη λύση, όμως οι περισσότεροι από αυτούς την προσεγγίζουν αρκετά καλά και σε λιγότερο χρόνο, εφαρμόζοντας κάποιο είδος στοχαστικής βελτιστοποίησης, η οποία εισάγει στην όλη διαδικασία και το στοιχείο της τύχης. Παράλληλα ο αλγόριθμος CSO ανήκει και στην κατηγορία των αλγόριθμων που εμπνέονται από την φύση μιμούμενοι την συλλογική συμπεριφορά μηκατανεμημένων, αυτό-οργανωμένων φυσικών συστημάτων. Αυτή η ιδιότητα των συστημάτων να επιδεικνύουν συλλογικά ευφυή συμπεριφορά αναφέρεται στην βιβλιογραφία ως Νοημοσύνη Σμήνους (Swarm Intelligence - SI). Τα συστήματα αυτά συνήθως αποτελούνται από ένα πλήθος πρακτόρων (agents), δηλαδή οντοτήτων που είναι σε θέση να εκτελούν συγκεκριμένες μόνο λειτουργίες. Οι πράκτορες αυτοί αλληλεπιδρούν τοπικά είτε μεταξύ τους είτε με το περιβάλλον τους και μολονότι δεν υπάρχει κάποιος κεντρικός έλεγχος της συμπεριφοράς τους, αυτές οι τοπικές αλληλεπιδράσεις συχνά οδηγούν στην εμφάνιση μιας συλλογικής συμπεριφοράς. Μία ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <27>

28 πρόσφατη ανασκόπηση της βιβλιογραφίας των αλγόριθμων αυτών επιχειρείται στην αναφορά [38]. Ο αλγόριθμος CSO προτάθηκε το 2006 από τους Chu, Tsai, και Pan [4] [36] έπειτα από την παρατήρηση της συμπεριφοράς των γατών και ειδικότερα του τρόπου με τον οποίο οι γάτες (οικόσιτες και μη) ερευνούν το περιβάλλον τους και κυνηγούν. Αν και όλες οι γάτες γεννιούνται έχοντας το ένστικτο του κυνηγού, εκπαιδεύονται από τη μητέρα τους στο κυνήγι όταν είναι σε νεαρή ηλικία. Οι γάτες έχουν ισχυρή έμφυτη περιέργεια για οτιδήποτε κινείται τριγύρω τους, όμως περνούν τον περισσότερο χρόνο τους ξαπλωμένες και αδρανείς, ακόμα κι αν δεν κοιμούνται. Αν και συχνά δίνουν την εντύπωση ότι είναι τεμπέλικα ζώα, εντούτοις βρίσκονται διαρκώς σε εγρήγορση και είναι πάντα έτοιμες για δράση. Έτσι, ακόμα κι όταν αναπαύονται, δεν παύουν να ερευνούν τον περιβάλλοντα χώρο με τα μάτια τους, βγαίνοντας ταχύτατα από την αδράνεια όταν χρειαστεί. Την συμπεριφορά αυτή προσπαθεί να μιμηθεί ο αλγόριθμος CSO. 4.2 Παρουσίαση του αλγόριθμου CSO Η διαδικασία της βελτιστοποίησης του αλγόριθμου CSO αντιστοιχεί στην έρευνα των γατών για τροφή, το ολικό βέλτιστο αντιστοιχεί στην τροφή, ενώ ο χώρος των λύσεων αντιστοιχεί στον ευρύτερο χώρο που βρίσκεται η τροφή. Κάθε απλή λύση είναι αντίστοιχη με μία γάτα που ερευνά τον χώρο και καλείται cat. Ο αλγόριθμος αρχικοποιείται με μία αγέλη (swarm) που αποτελείται από έναν αριθμό cats. Κάθε cat έχει τη δική του θέση στον χώρο (χώρος λύσεων solution space), η οποία θέση έχει Μ διαστάσεις (dimensions), διαφορετική ταχύτητα (velocity) για κάθε διάσταση και μια τιμή αποτίμησης (fitness value), η οποία υπολογίζεται από την συνάρτηση αποτίμησης (fitness function). Τα cats ερευνούν τον περιβάλλοντα χώρο για τροφή (βέλτιστη λύση ελαχιστοποίηση της τιμής αποτίμησής τους). Ο αλγόριθμος σε κάθε επανάληψη (iteration) αναζητά το cat με την βέλτιστη τιμή αποτίμησης και αποθηκεύει τόσο το συγκεκριμένο cat όσο και την τιμή αποτίμησής του. Οι δύο βασικές καταστάσεις (modes) στις οποίες βρίσκεται ένα cat είναι η κατάσταση αναζήτησης (Seeking Mode), κατά την οποία αναπαύεται εποπτεύοντας διαρκώς τον περιβάλλοντα χώρο και εξετάζοντας την επόμενή του κίνηση και η κατάσταση ιχνηλάτησης (Tracing Mode), κατά την οποία το cat είναι σε γρήγορη κίνηση ερευνώντας για την τροφή του. Ανά πάσα στιγμή κάθε cat βρίσκεται σε μία ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <28>

29 από τις παραπάνω καταστάσεις και αυτό καθορίζεται από την τιμή μίας σχετικής μεταβλητής-σημαίας (flag). Tο Seeking Mode καθορίζεται από τέσσερις παραμέτρους: μέγεθος μνήμης αναζήτησης (seeking memory pool - SMP), εύρος αναζήτησης σε κάθε διάσταση (seeking range of the selected dimension - SRD), πλήθος διαστάσεων που μεταβάλλονται (counts of dimension to change - CDC) και εξέταση υπάρχουσας θέσης (self-position consideration - SPC). Η παράμετρος SMP χρησιμοποιείται για να ορίσει το μέγεθος της μνήμης αναζήτησης κάθε cat, δηλαδή σχετίζεται με το πλήθος των θέσεων που θα εξετάσει. Το cat θα επιλέξει μία θέση από τη μνήμη αναζήτησης, σύμφωνα με τους κανόνες που θα αναλυθούν παρακάτω. Η παράμετρος SRD καθορίζει το ποσοστό μεταβολής της επιλεγείσας διάστασης. Όταν το cat είναι σε Seeking Mode κι επιλέγεται μία διάσταση για μεταβολή, η διαφορά μεταξύ της παλαιάς και της νέας τιμής της δεν πρέπει να ξεπεράσει ένα όριο, το οποίο καθορίζεται από το SRD. Η παράμετρος CDC καθορίζει το πλήθος των διαστάσεων που θα μεταβληθούν. Η παράμετρος SPC είναι μία μεταβλητή Boolean, η οποία καθορίζει εάν η θέση στην οποία ήδη βρίσκεται το cat θα συμπεριληφθεί στις υποψήφιες θέσεις προς μετακίνηση. Η παράμετρος αυτή δε μπορεί να επηρεάσει την τιμή του SMP. Ακολουθεί η περιγραφή του Seeking Mode: Βήμα 1: Δημιούργησε j αντίγραφα της παρούσας θέσης του cat k, όπου j = SMP. Αν η τιμή του SPC είναι αληθής, τότε θέσε j (SMP 1) και πρόσθεσε την παρούσα θέση στις υποψήφιες. Βήμα 2: Για κάθε αντίγραφο, άλλαξε την τιμή τόσων διαστάσεων όσο είναι το CDC, τυχαία κατά ένα ποσοστό ± SRD επί τοις εκατό. Βήμα 3: Υπολόγισε τις fitness values (FS) για όλες τις υποψήφιες θέσεις. Βήμα 4: Αν όλες οι FS δεν είναι ίσες μεταξύ τους, υπολόγισε την πιθανότητα επιλογής P i κάθε υποψήφιας θέσης i με την εξίσωση: P i = FS i FS b, όπου 0 < i < j (1) FS max FS min όπου FS i είναι η fitness της θέσης i, FS max είναι η μεγαλύτερη fitness, FS min είναι η μικρότερη fitness και η FS b είναι ίση με FS max για προβλήματα ελαχιστοποίησης και ίση με FS min για προβλήματα μεγιστοποίησης, αλλιώς θέσε την τιμή 1 ως πιθανότητα επιλογής κάθε υποψήφιας θέσης. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <29>

30 Βήμα 5: Διάλεξε τυχαία μεταξύ των υποψηφίων θέσεων τη θέση στην οποία θα μετακινηθεί το cat k και μετακίνησέ το σε αυτήν. Στο Tracing Mode το cat κινείται σε κάθε διάσταση σύμφωνα με την αντίστοιχη ταχύτητα. Η διαδικασία αυτή περιγράφεται παρακάτω: Βήμα 1: Ενημέρωσε την ταχύτητα κάθε διάστασης (v k,d ) σύμφωνα με την εξίσωση v k,d = v k,d + r 1 c 1 (x best,d x k,d ) d = 1, 2,..., M (2) όπου x best,d είναι η θέση του cat με την καλύτερη (μικρότερη) τιμή αποτίμησης, x k,d είναι η θέση του cat k, c 1 είναι μία σταθερά και r 1 είναι μία τυχαία τιμή στο διάστημα [0,1]. Βήμα 2: Έλεγξε αν οι ταχύτητες είναι εντός ορίων της μέγιστης ταχύτητας. Αν κάποια από τις νέες ταχύτητες είναι εκτός ορίων, θέσε την ίση με το όριο. Βήμα 3: Ενημέρωσε τη θέση του cat k σύμφωνα με την εξίσωση x k,d = x k,d + v k,d (3) Τα δύο αυτά Modes συνδυάζονται στον αλγόριθμο από την παράμετρο MR (mixture ratio αναλογία ανάμιξης). Η παράμετρος αυτή καθορίζει την αναλογία των cats σε κάθε mode κι έχει συνήθως πολύ μικρή τιμή, ευνοώντας το Seeking Mode, ώστε να αντικατοπτρίζει και την πραγματική συμπεριφορά των γατών, οι οποίες όταν είναι ξύπνιες σπαταλούν ελάχιστο χρόνο στο κυνήγι και τον περισσότερο χρόνο αναπαύονται παρατηρώντας το περιβάλλον τους. Έτσι, τα βήματα που ακολουθεί ο αλγόριθμος CSO είναι τα ακόλουθα: Βήμα 1: Δημιούργησε Ν cats. Βήμα 2: Τοποθέτησε τα cats τυχαία στον Μ-διάστατο χώρο λύσεων και δώσε τυχαίες τιμές εντός ορίων στις ταχύτητες κάθε cat. Στη συνέχεια διάλεξε τυχαία έναν αριθμό από cats, σύμφωνα με την παράμετρο MR, και θέσε τα σε Tracing Mode, ενώ τα υπόλοιπα θέσε τα σε Seeking Mode. Βήμα 3: Υπολόγισε την fitness value κάθε cat μέσω της fitness function που έχει δημιουργηθεί από τα δεδομένα του προβλήματος. Αποθήκευσε το cat με την καλύτερη fitness value, αφού αυτό αντιπροσωπεύει την καλύτερη λύση μέχρι στιγμής. Βήμα 4: Μετακίνησε κάθε cat, ανάλογα με το mode στο οποίο βρίσκεται. Τα βήματα κάθε mode έχουν περιγραφεί πιο πριν. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <30>

31 Βήμα 5: Διάλεξε τυχαία έναν αριθμό από cats, σύμφωνα με την παράμετρο MR, και θέσε τα σε Tracing Mode, ενώ τα υπόλοιπα θέσε τα σε Seeking Mode. Βήμα 6: Έλεγξε την συνθήκη τερματισμού κι αν ικανοποιείται τερμάτισε το πρόγραμμα, αλλιώς επανάλαβε από το Βήμα 3 έως το Βήμα 5. Για τον παραπάνω πρωτότυπο αλγόριθμο CSO έχουν ήδη προταθεί διάφορες παραλλαγές, όπως ο Adaptive Dynamic CSO [39], o Parallel CSO [40], ο Enhanced Parallel CSO [41],ο Discrete Binary CSO [42] και o Average-Inertia Weighted CSO [43]. Όλη η οικογένεια των αλγόριθμων CSO έχει εφαρμοστεί με επιτυχία σε αρκετά σύνθετα προβλήματα, όπως ενδεικτικά στη σχεδίαση δικτύων κεραιών [44], στο πρόβλημα Travelling Salesman [45] και στην βελτιστοποίηση τεχνητών νευρωνικών δικτύων [46]. Στη συνέχεια παρουσιάζεται ο ψευδοκώδικας (pseudo code) του κυρίως μέρους του πρωτότυπου αλγόριθμου CSO, που υλοποιήθηκε με μερικές τροποποιήσεις στην παρούσα Διπλωματική Εργασία, αλλά και των δύο βασικών Modes. Το διάγραμμα ροής του πρωτότυπου αλγόριθμου CSO υπάρχει στο Παράρτημα Α. Ψευδοκώδικας αλγόριθμου CSO for each cat initialize cat position, velocities, flag randomly set cats into tracing or seeking mode randomly according to MR Do for each cat calculate fitness value if the fitness value is better than the best (x best ) set current value as the new x best check cat flag if cat is in seeking mode apply the cat to Seeking Mode process else apply the cat to Tracing Mode process end for set cats into tracing or seeking mode randomly according to MR while maximum iterations or minimum error criteria are not attained Ψευδοκώδικας του Seeking Mode for each cat in seeking mode if SPC is true set j=(smp 1) and keep the present position as a candidate else set j=smp ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <31>

32 make j copies of the present position of cat for each copy of the cat change CDC dimensions randomly by ± SRD % calculate the fitness values (FS) of all candidate points if all FS are not exactly equal calculate the selecting probability of each candidate point else set selecting probability of each candidate point = 1 randomly pick the point to move to from the candidate points update the position of the cat end for end for Ψευδοκώδικας του Tracing Mode for each cat in tracing mode update the velocities for every dimension if any velocity is out of range set it equal to the limit update the position of the cat end for 4.3 Παραμετροποίηση του αλγόριθμου CSO Ο αλγόριθμος CSO, όπως προτάθηκε από τους Chu, Tsai, και Pan [4] [36] και όπως έχει περιγραφεί μέχρι τώρα, διαθέτει μία σειρά από παραμέτρους, οι οποίες καθορίζουν λεπτομερώς και την λειτουργία του. Ακολουθεί η επεξήγηση καθεμίας από αυτές, καθώς και οι προτεινόμενες τιμές τους: Πλήθος cats: εξαρτάται από τη φύση και την πολυπλοκότητα του προβλήματος. Προφανώς η αύξηση του συνεπάγεται καλύτερη κάλυψη από τα cats του χώρου λύσεων του προβλήματος, αλλά και αναλογικά μεγαλύτερο χρόνο εκτέλεσης του αλγόριθμου. Στην βιβλιογραφία η τιμή του κυμαίνεται μεταξύ 5 και 100. Αριθμός επαναλήψεων (iterations): εξαρτάται από τη φύση και την πολυπλοκότητα του προβλήματος. Η αύξηση του συνεπάγεται μεγαλύτερη διερεύνηση του χώρου λύσεων του προβλήματος, αλλά και μεγαλύτερο χρόνο εκτέλεσης του αλγόριθμου. Στην βιβλιογραφία η τιμή του κυμαίνεται μεταξύ 500 και Μέγεθος μνήμης αναζήτησης (SMP): το πλήθος των εξεταζόμενων θέσεων από κάθε cat. Όσο πιο μεγάλο είναι, τόσο πιο πολλές θέσεις θα εξετάζει κάθε cat, ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <32>

33 μεγαλώνοντας αντίστοιχα τις πιθανότητες εύρεσης βέλτιστης λύσης, αλλά και τον χρόνο εκτέλεσης του αλγόριθμου. Τυπικές τιμές στην βιβλιογραφία είναι μεταξύ 2 και 10. Εξέταση υπάρχουσας θέσης (SPC): μία Boolean παράμετρος που επιτρέπει η όχι την συμπερίληψη της παρούσας θέσης του cat στις υποψήφιες προς μετακίνηση θέσεις. Αν έχει την τιμή true, το cat ενδέχεται να παραμείνει στη παρούσα θέση του, αν η fitness value είναι αρκετά καλή. Αν έχει την τιμή false, η επόμενη θέση του cat θα είναι αναγκαστικά διαφορετική. Στην βιβλιογραφία τις περισσότερες φορές ορίζεται να έχει την τιμή true. Αριθμός διαστάσεων Μ του χώρου λύσεων: ορίζεται διαφορετικά για κάθε πρόβλημα, ανάλογα με τη φύση του. Στην πρωτότυπη εργασία [4], η τιμή που χρησιμοποιείται είναι 30. Πλήθος διαστάσεων που μεταβάλλονται (CDC): εκφράζει το ποσοστό των διαστάσεων που μεταβάλλουν τις τιμές τους κάθε φορά. Μεγάλες τιμές στην συγκεκριμένη παράμετρο προκαλούν αλλαγές σε μεγάλο αριθμό διαστάσεων, αυξάνοντας τις πιθανότητες εύρεσης βέλτιστης λύσης, αλλά επιβαρύνουν σημαντικά και τον χρόνο εκτέλεσης του αλγόριθμου. Τυπικά η τιμή της στην βιβλιογραφία είναι 80%. Εύρος αναζήτησης σε κάθε διάσταση (SRD): εκφράζει το μέγιστο ποσοστό αλλαγής της τιμής κάθε διάστασης, θέτοντας τα όρια μέσα στα οποία αυτή θα κινηθεί. Μεγάλες τιμές στην συγκεκριμένη παράμετρο προκαλούν αντίστοιχα μεγάλες διακυμάνσεις στις τιμές κάθε διάστασης, κάτι που μπορεί να είναι επιθυμητό σε μερικά προβλήματα και μη επιθυμητό σε άλλα. Μία τυπική τιμή στην βιβλιογραφία είναι 20%. Αναλογία ανάμιξης modes (MR): ορίζει το ποσοστό των cats που βρίσκονται ανά πάσα στιγμή σε Tracing Mode, πραγματοποιώντας μεγάλες αλλαγές στις θέσεις τους. Μία συνηθισμένη τιμή στην βιβλιογραφία είναι 2%. Σταθερά c 1 : βρίσκεται στην εξίσωση (2) του Tracing Mode και επηρεάζει την αλλαγή της τιμής της ταχύτητας κάθε διάστασης. Όσο πιο μεγάλη είναι η c 1, τόσο πιο έντονα αλλάζει η ταχύτητα κάθε διάστασης, επηρεάζοντας κι αυτή με τη σειρά της στην εξίσωση (3) τη νέα θέση του cat. Στην βιβλιογραφία τις περισσότερες φορές έχει την τιμή 2.0. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <33>

34 Κεφάλαιο 5. Κωδικοποίηση του προβλήματος School Timetabling Στο κεφάλαιο αυτό παρουσιάζεται ο τρόπος με τον οποίο κωδικοποιήθηκε το πρόβλημα School Timetabling. Αναλυτικότερα, στην ενότητα 5.1 περιγράφεται ο τρόπος με τον οποίο έγινε η κωδικοποίηση των cats. Στην ενότητα 5.2 περιγράφονται όλες οι πιθανές περιπτώσεις συνδιδασκαλίας (co-teaching). Στην ενότητα 5.3 αναλύεται η διαδικασία αρχικοποίησης (initialization) των cats και παρατίθεται, σε μορφή ψευδοκώδικα, το αντίστοιχο τμήμα του Αλγόριθμου που την υλοποιεί. Στην ενότητα 5.4 περιγράφεται η αντικειμενική συνάρτηση (fitness function) την οποία χρησιμοποιεί ο προτεινόμενος Αλγόριθμος, ενώ στις υποενότητες και αναφέρονται οι ανελαστικοί (hard) και ελαστικοί (soft) περιορισμοί (constraints) που χρησιμοποιήθηκαν. Τέλος, στις υποενότητες και περιγράφεται η διαδικασία ανάθεσης κόστους (cost assignment) στις περιπτώσεις παραβίασης των περιορισμών και η ρύθμιση των συντελεστών βαρών (weight adjustment), όπως αυτή έγινε στην παρούσα εργασία. 5.1 Κωδικοποίηση των cats Το καθημερινό ωρολόγιο πρόγραμμα μιας τάξης σε ένα τυπικό Ελληνικό σχολείο Β βάθμιας Εκπαίδευσης αποτελείται το πολύ από επτά διδακτικές ώρες. Το εβδομαδιαίο ωρολόγιο πρόγραμμα μίας τάξης μπορεί λοιπόν να αναπαρασταθεί με έναν δισδιάστατο πίνακα 7x5, στον οποίο κάθε γραμμή αναφέρεται σε μια ώρα διδασκαλίας μιας τάξης και κάθε στήλη αναφέρεται σε μια από τις πέντε ημέρες της εβδομάδας. Συνεπώς κάθε κελί του πίνακα αναπαριστά μια διδακτική ώρα-χρονική περίοδο (timeslot), από τις 35 συνολικά, του ωρολογίου προγράμματος μιας τάξης. Πίνακας 1. Δομή εβδομαδιαίου ωρολογίου προγράμματος μίας τάξης Δευτέρα Τρίτη Τετάρτη Πέμπτη Παρασκευή 1 η ώρα η ώρα η ώρα η ώρα η ώρα η ώρα η ώρα ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <34>

35 Σε κάθε timeslot αντιστοιχίζεται ένας καθηγητής. Έτσι, αν για παράδειγμα στο κελί που ορίζουν η πέμπτη γραμμή και η τρίτη στήλη, δηλαδή στη χρονική περίοδο 19, αντιστοιχίσουμε τον αριθμό 3, αυτό σημαίνει ότι η τάξη στην οποία αναφέρεται ο πίνακας, την πέμπτη ώρα της Τετάρτης έχει διδασκαλία με τον καθηγητή ο οποίος φέρει τον αύξοντα αριθμό 3, σύμφωνα με την κωδικοποίηση των δεδομένων. Στο σημείο αυτό πρέπει να αναφερθεί ότι η χρήση αριθμών αντί για τα ονόματα καθηγητών και τάξεων γίνεται για να απλοποιηθεί η λειτουργία του Αλγόριθμου. Για την κωδικοποίηση του κάθε cat χρησιμοποιήθηκε και πάλι ένας δισδιάστατος πίνακας, με τόσες γραμμές όσες είναι οι διαφορετικές τάξεις του σχολείου και 35 στήλες, αφού για κάθε τάξη υπάρχουν το πολύ 35 ώρες διδασκαλίας ανά εβδομάδα. Κάθε κελί του πίνακα αυτού περιέχει είτε έναν αριθμό που κυμαίνεται από 0 έως teachers_number 1, είτε τον αριθμό 1. Με teachers_number συμβολίζουμε το πλήθος των καθηγητών του σχολείου. Έτσι, αν συμβολίσουμε με x[c] το c cat, τότε για παράδειγμα ο συμβολισμός x[c][7][22]=6 σημαίνει ότι η τάξη με αύξοντα αριθμό 7 έχει μάθημα με τον καθηγητή με αύξοντα αριθμό 6, κατά τη εικοστή δεύτερη (22) χρονική περίοδο, δηλαδή την πρώτη ώρα της Πέμπτης. Αντίθετα, ο συμβολισμός x[c][3][28] = 1 σημαίνει ότι η τάξη με αύξοντα αριθμό 3 έχει κενό ( 1) στο πρόγραμμά της την εικοστή όγδοη (28) χρονική περίοδο, δηλαδή την έβδομη ώρα της Πέμπτης. Το κύριο πλεονέκτημα της ακολουθούμενης κωδικοποίησης είναι ότι δεν εξαρτάται από το είδος των μαθημάτων που διδάσκει ένας καθηγητής σε μια τάξη, αφού σημασία έχει το πλήθος των διαφορετικών μαθημάτων που διδάσκει ένας καθηγητής σε μια τάξη και όχι ποια είναι αυτά. Συνεπώς κωδικοποιώντας την πληροφορία του πλήθους των διαφορετικών διδασκόμενων μαθημάτων σε μια τάξη, είναι δυνατόν να ελεγχθούν οι περιπτώσεις κατά τις οποίες παρατηρείται επανάληψη της διδασκαλίας ενός μαθήματος κατά τη διάρκεια της ίδιας ημέρας. Έτσι για παράδειγμα, αν ένας καθηγητής διδάσκει δύο μαθήματα, έστω Φυσική και Χημεία σε μια τάξη, τότε η αντιστοίχιση του καθηγητή σε δύο χρονικές περιόδους της ίδιας ημέρας στο πρόγραμμα της τάξης δεν δημιουργεί πρόβλημα, αφού ο καθηγητής μπορεί να διδάξει την μια ώρα Φυσική και την άλλη Χημεία. Αν όμως ο καθηγητής αντιστοιχιστεί σε τρείς χρονικές περιόδους της ίδιας ημέρας στην τάξη αυτή, αυτό σημαίνει ότι κάποιο μάθημα θα διδάσκεται δύο φορές την ίδια ημέρα και ως εκ τούτου η διασπορά των μαθημάτων στη συγκεκριμένη τάξη δεν είναι σωστή. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <35>

36 Ένα άλλο πλεονέκτημα της ακολουθούμενης κωδικοποίησης είναι ότι στην περίπτωση που ένας καθηγητής διδάσκει σε μια τάξη μόνο ένα μάθημα, τότε επιτρέπεται η αντιστοίχιση του σε μια το πολύ χρονική περίοδο ανά ημέρα στο πρόγραμμα της τάξης, αφού αντιστοίχιση σε περισσότερες χρονικές περιόδους συνιστά παραβίαση του σχετικού ελαστικού περιορισμού. Τέλος, η επιλογή της κωδικοποίησης μόνο του πλήθους των διαφορετικών μαθημάτων, σε μια διαφορετική και κατάλληλη δομή δεδομένων, διατηρεί τον χώρο έρευνας του προβλήματος και το μέγεθός του σε λογικά πλαίσια. Στον Πίνακα 2 παρουσιάζεται ενδεικτικά ο τρόπος κωδικοποίησης ενός cat. Πίνακας 2. Κωδικοποίηση ενός cat timeslot 1 timeslot 2 timeslot 35 Τάξη 1 καθηγητής 1 καθηγητής 2 Τάξη 2 καθηγητής x καθηγητής y Τάξη Ν καθηγητής z 5.2 Κωδικοποίηση περιπτώσεων συνδιδασκαλίας Στα σχολεία της Δευτεροβάθμιας Εκπαίδευσης εμφανίζονται συχνά δύο περιπτώσεις συνδιδασκαλίας: είτε μια τάξη χωρίζεται σε δύο μέρη (τμήματα), είτε δύο τάξεις ενώνονται και σχηματίζουν μια ευρύτερη τάξη, η οποία στη συνέχεια χωρίζεται σε δύο μέρη (τμήματα). Αυτό γίνεται για λειτουργικούς ή διδακτικούς λόγους και συμβαίνει μόνο προσωρινά, δηλαδή για συγκεκριμένο αριθμό διδακτικών ωρών και διδασκαλιών. Σε κάθε περίπτωση, τα προκύπτοντα μέρη της διασπασμένης τάξης ή τα μέρη που προκύπτουν από ένωση δύο τάξεων και στη συνέχεια διάσπαση, αποτελούν ένα ζεύγος νέων τάξεων οι οποίες ονομάζονται υπό-τάξεις (subclasses) της τάξης που διασπάστηκε. Σε κάθε μέλος του ζεύγους των τάξεων ορίζουμε το άλλο μέλος ως το συζυγές του (co-class) και ονομάζουμε συζυγείς καθηγητές (co-teachers) τους καθηγητές που διδάσκουν σε αυτές. Στην περίπτωση μίας συνδιδασκαλίας είναι βεβαίως υποχρεωτική η ταυτόχρονη αντιστοίχηση των συζυγών καθηγητών στις δύο συζυγείς τάξεις, δηλαδή η πρόβλεψη να έχουν μάθημα την ίδια χρονική περίοδο, αλλιώς έχουμε παραβίαση ανελαστικού περιορισμού που αφορά τις συνδιδασκαλίες. Ένα παράδειγμα της πρώτης περίπτωσης συνδιδασκαλίας αποτελεί η διδασκαλία δύο μαθημάτων που πρέπει υποχρεωτικά να διδάσκονται παράλληλα, όπως τα ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <36>

37 μαθήματα της Τεχνολογίας και των Ηλεκτρονικών Υπολογιστών. Όταν η μια συζυγής τάξη διδάσκεται Τεχνολογία, η άλλη διδάσκεται Ηλεκτρονικούς Υπολογιστές. Ακολουθεί εναλλαγή των διδασκαλιών, δηλαδή η συζυγής τάξη που διδάχθηκε Τεχνολογία θα διδαχθεί Ηλεκτρονικούς Υπολογιστές, ενώ η συζυγής τάξη που διδάχθηκε Ηλεκτρονικούς Υπολογιστές θα διδαχθεί Τεχνολογία. Ένα παράδειγμα της δεύτερης περίπτωσης συνδιδασκαλίας είναι η συνένωση δύο τάξεων, με σκοπό να διαχωριστούν οι αρχάριοι και οι προχωρημένοι μαθητές στα Αγγλικά και από τις δύο τάξεις και στη συνέχεια να σχηματιστούν δύο συζυγείς τάξεις όπου θα διδαχθεί το μάθημα των Αγγλικών στο αντίστοιχο επίπεδο. Προκειμένου να διατηρηθεί η υπολογιστική πολυπλοκότητα του Αλγόριθμου σε αποδεκτά επίπεδα, όταν παρουσιάζεται περίπτωση συνδιδασκαλίας, δεν ορίζουμε και τις δύο ως συζυγείς τάξεις, αλλά μόνο την μία. Έτσι, αν στη συνδιδασκαλία εμπλέκεται μόνο μια τάξη, η οποία διασπάται σε δύο συζυγείς τάξεις, ορίζουμε μόνο την αρχική τάξη ως συζυγή του εαυτού της. Αν στη συνδιδασκαλία εμπλέκονται δύο τάξεις, οι οποίες ενώνονται και στη συνέχεια διασπώνται και δημιουργούν τις δύο συζυγείς, τότε ορίζουμε μόνο την μια εκ των δύο αρχικών τάξεων ως συζυγή της άλλης. Με αυτή την παραδοχή, στη πρώτη περίπτωση συνδιδασκαλίας ορίζουμε μόνο μια τάξη αντί για τρείς (την αρχική μαζί με τις δύο προκύπτουσες συζυγείς), ενώ στη δεύτερη περίπτωση συνδιδασκαλίας ορίζουμε μόνο δύο τάξεις αντί για τέσσερις (τις δύο αρχικές μαζί με τις δύο προκύπτουσες συζυγείς). Η κωδικοποίηση της ανάθεσης των ωρών διδασκαλίας των συζυγών καθηγητών στις συζυγείς τάξεις, στην πρώτη περίπτωση συνδιδασκαλίας γίνεται με την αναφορά στο πρόγραμμα μόνο του ενός των δύο συζυγών καθηγητών, ενώ η παρουσία του δεύτερου υπονοείται από την παρουσία του πρώτου. Στην περίπτωση αυτή στο αρχείο εισόδου και οι δύο καθηγητές αντιστοιχίζονται στην ίδια τάξη, όμως μόνο στον πρώτο αναγράφεται ο αριθμός των διδασκαλιών. Στον δεύτερο καθηγητή αναγράφονται μηδέν ώρες διδασκαλίας για τη συγκεκριμένη τάξη. Στη δεύτερη περίπτωση συνδιδασκαλίας, κάθε ένας από τους δύο συζυγείς καθηγητές αντιστοιχίζεται σε μια εκ των δύο τάξεων, αυτήν στην οποία διδάσκει, ενώ σε κάθε καθηγητή αναγράφεται ο ίδιος αριθμός ωρών διδασκαλίας. Βεβαίως, σε αυτήν την περίπτωση και οι δύο καθηγητές αναφέρονται ρητά στο πρόγραμμα. Προκειμένου να αντιμετωπιστούν αποδοτικά οι περιπτώσεις συνδιδασκαλιών, ορίζονται δύο ξεχωριστοί πίνακες, ένας όπου για κάθε τάξη αναγράφεται η συζυγής ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <37>

38 τάξη της, αν υπάρχει, και ένας άλλος, όπου για κάθε καθηγητή αναγράφεται ο συζυγής καθηγητής του, αν υπάρχει. Αν σε κάποιο κελί των δύο αυτών πινάκων αναγράφεται ο αριθμός -1, αυτό σημαίνει ότι για την συγκεκριμένη τάξη δεν ορίζεται συζυγής τάξη, ή αντίστοιχα ότι για τον συγκεκριμένο καθηγητή δεν ορίζεται συζυγής καθηγητής. 5.3 Διαδικασία αρχικοποίησης του αλγόριθμου Η αρχικοποίηση (initialization), όπως άλλωστε υπονοεί και το όνομα της, είναι η πρώτη εργασία που εκτελεί ο αλγόριθμος. Ο στόχος της είναι να κατασκευάσει με απόλυτα τυχαίο τρόπο την αρχική δομή των cats, διασπείροντάς τα στον χώρο των λύσεων ώστε να υπάρχει αρχικά όσο το δυνατό μεγαλύτερη ποικιλομορφία. Έτσι, στη συνέχεια θα είναι σε θέση να εξερευνήσουν όλο το χώρο του προβλήματος, αποφεύγοντας τα τοπικά βέλτιστα και την πρόωρη σύγκλιση σε αυτά. Ακολουθούν τα βήματα της διαδικασίας αρχικοποίησης των cats, σε μορφή ψευδοκώδικα: If there is no case of co-teaching in input data for each cat p do for each class c do{ for each timeslot t do { x[p][c][t] = -1 // the value -1 indicates no teacher assignment for each teacher that teaches to class c do{ while there are unassigned hours of this teacher to class c do{ choose a timeslot t from 1 to 35 at random if (x[p][c][t] == -1 ){ // if there is no assignment to the timeslot x[p][c][t] = teacher reduce by one the teaching hours of teacher to class c } } // end while } // end for teacher } //end for timeslot If there is at least one case of co-teaching case in input data for each cat p do for each class c do{ for each timeslot t do{ x[p][c][t] = -1// the value -1 indicates no teacher assignment for each teacher that teaches to class c do{ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <38>

39 while there are unassigned hours of this teacher to class c do{ choose a timeslot t from 1 to 35 at random if (x[p][c][t] == -1){ // if there is no assignment to the timeslot if (the teacher is not involved to co-teaching){ x[p][c][t] = teacher //assign teacher to timeslot reduce by one the teaching hours of teacher to class c } if (the teacher is involved to co-teaching with this class){ if (the hours of teacher for this class are zero) exit the while loop //i.e. the assignments of teacher have //been made, or it is about the //processing of a co-teacher that must //not explicitly be referred at the //timetable, due to the specific kind of //co-teaching (see 5.2 above for more //details about co-teaching case //handling). else { //the teaching hours are positive x[p][c][t] = teacher // assign teacher to timeslot reduce by one the teaching hours of teacher to class c c1 = co-class of class c // assign the co-class of class c // to variable c1 co-teacher = the co-teacher of teacher for the class c // assign the co-teacher of teacher for //the class c to variable co-teacher if(c1 <> c){ //i.e. it is about the case of co-teaching //that the co-teacher must explicitly be //assigned to co-class of class c (see 5.2 //above for more details about co- //teaching case handling), provided that //the cell is not occupied (see next line) if(x[p][c1][t] == -1) x[p][c1][t] =co-teacher //i.e. assign the co- //teacher of teacher to //the co-class of class c. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <39>

40 reduce by one the teaching hours of coteacher to class c1 //as long as c1<>c the //teaching hours of co- //teacher to c1 are //initially positive. //That is why we reduce //these teaching hours //by one, after any assignment. } //end if } // end else } //end if } //end if } // end while } // end for } // end for 5.4 Αντικειμενική συνάρτηση Η αποτίμηση της ποιότητας των παραγόμενων ωρολογίων προγραμμάτων γίνεται από την αντικειμενική συνάρτηση (fitness function). Η τιμή της αντικειμενικής συνάρτησης του κάθε cat χαρακτηρίζει πλήρως την ποιότητα του, δηλαδή την ποιότητα του ωρολογίου προγράμματος που αυτό αναπαριστά. Όσο μικρότερη είναι η τιμή της αντικειμενικής συνάρτησης, τόσο ποιοτικότερο είναι το cat στο οποίο αναφέρεται αυτή η τιμή. Έτσι προκειμένου να γίνει σύγκριση της ποιότητας μεταξύ των cats, υπολογίζονται οι τιμές της αντικειμενικής συνάρτησης που αντιστοιχούν στο κάθε ένα από αυτά. Οι υπολογισμοί αυτοί επαναλαμβάνονται σε κάθε iteration και η τιμή της αντικειμενικής συνάρτησης του κάθε cat συγκρίνεται τόσο με την δική του καλύτερη τιμή, όσο και με την ολικά καλύτερη τιμή (global best fitness), την οποία έχει το καλύτερο (ποιοτικότερο) cat που έχει παραχθεί κατά τη διάρκεια της εξέλιξης των iterations. Η αντικειμενική συνάρτηση δέχεται ως παράμετρο εισόδου (μεταβλητή) ένα cat και επιστρέφει την τιμή που αντιστοιχεί στην ποιότητα (fitness) αυτού του cat εντοπίζοντας τις ενδεχόμενες παραβιάσεις περιορισμών (ανελαστικών και ελαστικών) που υπάρχουν στο ωρολόγιο πρόγραμμα το οποίο αναπαριστά το συγκεκριμένο cat. Για κάθε παραβίαση περιορισμού που εντοπίζεται, προστίθεται συσσωρευτικά ένα ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <40>

41 αντίστοιχο κόστος. Έτσι, η επιστρεφόμενη τιμή της αντικειμενικής συνάρτησης είναι το συνολικό άθροισμα του κόστους. Η ελάχιστη τιμή που μπορεί να επιστραφεί από την αντικειμενική συνάρτηση είναι φυσικά το μηδέν και αντιστοιχεί σε ένα cat του οποίου το αντίστοιχο ωρολόγιο πρόγραμμα δεν παρουσιάζει καμία παραβίαση περιορισμού, άρα αντικειμενικά είναι το καλύτερο που μπορεί να δημιουργηθεί για τη συγκεκριμένη σχολική μονάδα με τους περιορισμούς που έχουν τεθεί. Ο τρόπος υπολογισμού της fitness που χρησιμοποιείται στην παρούσα Διπλωματική Εργασία είναι ίδιος με τον τρόπο υπολογισμού της στις αναφορές [10], [47] και [28] με διαφορετικούς αλγόριθμους, ώστε να είναι δυνατή η σύγκριση μεταξύ τους. Ακολουθεί, στις επόμενες παραγράφους, η παρουσίαση των ανελαστικών και ελαστικών περιορισμών που ελέγχονται από την αντικειμενική συνάρτηση που χρησιμοποιεί ο προτεινόμενος αλγόριθμος CSO Ανελαστικοί περιορισμοί Οι ανελαστικοί περιορισμοί (hard constraints) πρέπει υποχρεωτικά να ικανοποιούνται όλοι, ώστε το ωρολόγιο πρόγραμμα να είναι αποδεκτό και να μπορεί να χρησιμοποιηθεί σε μία σχολική μονάδα. Ο πρώτος ανελαστικός περιορισμός, που ελέγχεται από την αντικειμενική συνάρτηση, απαγορεύει την ανάθεση ενός καθηγητή σε περισσότερες από μια τάξεις για διδασκαλία την ίδια χρονική περίοδο (timeslot). Η περίπτωση αυτή αναφέρεται ως παράλληλη διδασκαλία (parallel teaching) και προφανώς δεν είναι επιτρεπτή. Το κόστος της συγκεκριμένης παραβίασης επηρεάζεται από τον αριθμό των καθηγητών στους οποίους αφορά η παραβίαση αυτού του περιορισμού, καθώς επίσης και από τον αριθμό των χρονικών περιόδων κατά τις οποίες παρατηρείται παράλληλη διδασκαλία. Ο δεύτερος ανελαστικός περιορισμός, που ελέγχεται από την αντικειμενική συνάρτηση, απαγορεύει την ανάθεση καθηγητή σε τάξη, σε χρονική περίοδο κατά την οποία ο καθηγητής δεν είναι διαθέσιμος στο σχολείο. Αυτή η περίπτωση αναφέρεται ως μη διαθεσιμότητα καθηγητή (teacher unavailability) και ομοίως δεν γίνεται αποδεκτή. Το κόστος της συγκεκριμένης παραβίασης επηρεάζεται από τον αριθμό των καθηγητών στους οποίους αφορά η παραβίαση αυτού του περιορισμού. Ο τρίτος ανελαστικός περιορισμός, που ελέγχεται από την αντικειμενική συνάρτηση, επιβάλλει την ταυτόχρονη ανάθεση των συζυγών καθηγητών στις συζυγείς τάξεις, δηλαδή στην ίδια χρονική περίοδο. Αν αυτό δε συμβαίνει, τότε ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <41>

42 υπάρχει παραβίαση του αντίστοιχου περιορισμού, δηλαδή παρατηρείται μια κατάσταση η οποία αναφέρεται ως λανθασμένη συνδιδασκαλία (wrong co - teaching). Το κόστος της συγκεκριμένης παραβίασης επηρεάζεται από τον αριθμό των τάξεων οι οποίες εμπλέκονται σε λανθασμένη συνδιδασκαλία. Τέλος, ο τέταρτος ανελαστικός περιορισμός, που ελέγχεται από την αντικειμενική συνάρτηση, απαγορεύει σε μια τάξη να έχει κενό στο πρόγραμμά της κατά τη διάρκεια μιας ημέρας, εκτός κι αν το κενό αφορά την τελευταία ώρα της ημέρας. Το κόστος της παραβίασης του περιορισμού αυτού επηρεάζεται από τον αριθμό των κενών χρονικών περιόδων που εντοπίζονται ενδιάμεσα στο καθημερινό πρόγραμμα μίας τάξης Ελαστικοί περιορισμοί Ο πρώτος ελαστικός περιορισμός που ελέγχεται από την αντικειμενική συνάρτηση σχετίζεται με τα κενά που έχουν οι καθηγητές στο πρόγραμμά τους. Στη σχετική βιβλιογραφία αναφέρεται ως ιδανική κατάσταση αυτή κατά την οποία όλοι οι καθηγητές έχουν μάθημα σε διαδοχικές χρονικές περιόδους, δηλαδή έχουν ένα συμπαγές πρόγραμμα διδασκαλιών χωρίς κενά. Όμως, αυτή η κατάσταση δεν είναι πάντα επιθυμητή, είτε από τους ίδιους τους καθηγητές, ειδικά αν έχουν πολλές ώρες μάθημα κάποια ημέρα, είτε από τη διεύθυνση του σχολείου, που επιθυμεί να αναθέτει εξωδιδακτικές εργασίες στους καθηγητές στα κενά τους. Παρόλα αυτά, στην παρούσα Διπλωματική Εργασία, για λόγους σύγκρισης υιοθετήθηκε ο αντίστοιχος περιορισμός όπως αναφέρεται στη βιβλιογραφία και μάλιστα σχεδιάστηκε ειδική φάση βελτιστοποίησης της παραγόμενης λύσης, με απώτερο στόχο την ελαχιστοποίηση των κενών των καθηγητών. Ο δεύτερος ελαστικός περιορισμός που ελέγχει η αντικειμενική συνάρτηση αφορά στη διασπορά των ωρών διδασκαλίας κάθε καθηγητή, στις ημέρες που ο καθηγητής είναι διαθέσιμος στο σχολείο (teacher lessons dispersion). Η ιδανική κατάσταση είναι αυτή κατά την οποία κάθε καθηγητής διδάσκει m ή m ώρες σε κάθε ημέρα που είναι διαθέσιμος στο σχολείο, όπου m είναι ο μέσος όρος των ωρών που διδάσκει ο καθηγητής ανά ημέρα διαθεσιμότητας, δηλαδή ο συνολικός αριθμός ωρών διδασκαλίας του καθηγητή δια του πλήθους των ημερών που ο καθηγητής είναι διαθέσιμος στο σχολείο. Με m συμβολίζεται το ακέραιο μέρος του πραγματικού ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <42>

43 αριθμού m, ενώ m = m + 1. Για παράδειγμα, αν ένας καθηγητής πρέπει να διδάξει 21 ώρες και είναι διαθέσιμος πέντε ημέρες την εβδομάδα, τότε η ιδανική κατανομή των ωρών διδασκαλίας είναι η (4,4,4,4,5) με κάθε αντιμετάθεση αυτών των ωρών θεωρούμενη εξίσου ως αποδεκτή ιδανική κατανομή. Αν όμως, ο καθηγητής έχει στην πραγματικότητα την κατανομή (5,3,4,4,5) τότε υπάρχει παραβίαση της ιδανικής κατανομής σε δυο περιπτώσεις: την Τρίτη, όπου του έχουν ανατεθεί 3 ώρες αντί για 4 ή 5, και σε μια ακόμη ημέρα, αφού ο καθηγητής έχει δύο πεντάωρα ενώ, σύμφωνα με την ιδανική κατανομή, θα πρέπει να έχει μόνο ένα πεντάωρο. Κάθε παρέκκλιση από την ιδανική κατανομή συνιστά παραβίαση του αντίστοιχου περιορισμού, το κόστος της οποίας επηρεάζεται με τρόπο που εξηγείται στην ενότητα Ο τρίτος ελαστικός περιορισμός που ελέγχει η αντικειμενική συνάρτηση σχετίζεται με την διασπορά των μαθημάτων στο πρόγραμμα κάθε τάξης. Η ιδανική κατάσταση είναι αυτή κατά την οποία κάθε τάξη διδάσκεται το πολύ μια φορά κάθε μάθημα κατά τη διάρκεια μιας ημέρας. Αν, για παράδειγμα, μια τάξη διδάσκεται Χημεία δύο ή περισσότερες διδακτικές ώρες κατά τη διάρκεια της ίδιας μέρας, τότε υπάρχει μια παραβίαση του αντίστοιχου περιορισμού (wrong class lessons dispersion). Βέβαια υπάρχει και η περίπτωση του μαθήματος της Έκθεσης, όπου είναι επιθυμητό να υπάρχει τουλάχιστον ένα δίωρο συνεχόμενο μέσα στην εβδομάδα, όμως για λόγους σύγκρισης με τους άλλους αλγόριθμους, αυτό το ενδεχόμενο δεν θα εξεταστεί. Ο αριθμός των διαφορετικών τάξεων στις οποίες εμφανίζεται παραβίαση του περιορισμού, το πλήθος των ημερών που αυτή συμβαίνει, καθώς επίσης και το πλήθος των περιπτώσεων παραβίασης, επηρεάζει το κόστος της παραβίασης Ανάθεση κόστους Στην αναφορά [28] εισάγεται η χρήση συντελεστών στάθμισης για τον έλεγχο από τον αλγόριθμο της επίδρασης των ανελαστικών και ελαστικών παραγόντων κόστους, στην τιμή της αντικειμενικής συνάρτησης στάθμισης. Η ρύθμιση των τιμών αυτών των συντελεστών είναι ο καθοριστικότερος παράγοντας της προσαρμοστικής συμπεριφοράς που έχει ο προτεινόμενος αλγόριθμος. Στην παρούσα Διπλωματική Εργασία χρησιμοποιούνται οι ίδιοι συντελεστές που προτείνονται στην προαναφερθείσα βιβλιογραφική αναφορά, προσαρμοσμένοι ως προς τις τιμές τους. Συγκεκριμένα χρησιμοποιήθηκαν οι ακόλουθοι συντελεστές βαρύτητας: ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <43>

44 i. Βάρος ανελαστικών περιορισμών (Hard Constraints Weight HCW): Το βάρος αυτό εφαρμόζεται στους ανελαστικούς περιορισμούς και χρησιμοποιείται από τον αλγόριθμο προκειμένου να διαχωρίσει τα εφικτά (feasible) από τα μη εφικτά ωρολόγια προγράμματα. Το συγκεκριμένο βάρος θα πρέπει να έχει αρκετά μεγαλύτερη τιμή σε σχέση με τις τιμές των άλλων βαρών, ούτως ώστε να είναι σπάνιο το ενδεχόμενο εφικτά αλλά μη ποιοτικά (not efficient) ωρολόγια προγράμματα να έχουν μεγαλύτερο συνολικό κόστος από τα μη εφικτά ωρολόγια προγράμματα. Ταυτόχρονα το βάρος αυτό δεν πρέπει να είναι πάρα πολύ μεγάλο, για να μη περιορίζεται η ποικιλομορφία που παρέχουν τα ανέφικτα ωρολόγια προγράμματα. ii. Βάρος κενών καθηγητή (Teachers Empty Periods Weight TEPW): Το βάρος αυτό σχετίζεται με τα κενά που ενδεχομένως έχει ο καθηγητής κατά τη διάρκεια μιας ημέρας εργασίας. Το πλήθος των κενών στο πρόγραμμα ενός καθηγητή καθορίζει σε μεγάλο βαθμό και την ποιότητα του παραγόμενου ωρολογίου προγράμματος. iii. Βάρος ιδανικής διασποράς καθηγητών (Ideal Teachers Dispersion Weight ITDW): Το βάρος αυτό σχετίζεται με τη διασπορά των ωρών διδασκαλίας των καθηγητών. iv. Βάρος ιδανικής διασποράς τάξεων (Ideal Classes Dispersion Weight ICDW): Το βάρος αυτό σχετίζεται με την ιδανική διασπορά των μαθημάτων στις τάξεις. Εκτός από τα παραπάνω βάρη, μία σημαντική παράμετρος που επηρεάζει την αντικειμενική συνάρτηση είναι ένας πραγματικός αριθμός ανάμεσα στο 1 και το 2, ο οποίος ονομάζεται BASE και αποτελεί την βάση των χρησιμοποιούμενων δυνάμεων που υπάρχουν στον μαθηματικό τύπο της αντικειμενικής συνάρτησης. Στη συνέχεια, παρατίθενται οι αναλυτικοί τύποι υπολογισμού του κόστους παραβίασης κάθε περιορισμού. Για λόγους σύγκρισης, χρησιμοποιήθηκαν οι τύποι υπολογισμού της αναφοράς [10]. i. Μη διαθεσιμότητα καθηγητή (Teacher unavailability): Για κάθε καθηγητή και για κάθε χρονική περίοδο που ο καθηγητής ανατίθεται σε τάξη, ενώ δεν είναι διαθέσιμος την αντίστοιχη ημέρα, προστίθεται το κόστος HCW*BASE 3. ii. Παράλληλη διδασκαλία (Parallel teaching): Για κάθε καθηγητή και για κάθε χρονική περίοδο κατά την οποία ο καθηγητής ανατίθεται σε περισσότερες από μια τάξεις, έστω σε k τάξεις, προστίθεται το κόστος HCW*BASE k. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <44>

45 iii. Κενά τάξεων (Classes empty spaces): Για κάθε τάξη που έχει κενό όχι στην τελευταία ώρα της ημέρας, προστίθεται το κόστος HCW*(2*BASE) BASE. iv. Λανθασμένη συνδιδασκαλία (Wrong co-teaching): Για κάθε τάξη, η οποία εμπλέκεται σε συνδιδασκαλία και στην οποία έχει ανατεθεί ο αντίστοιχος συζυγής καθηγητής σε μια χρονική περίοδο, ενώ στην συζυγή της τάξη δεν έχει ανατεθεί ο άλλος συζυγής καθηγητής στην ίδια χρονική περίοδο, προστίθεται το κόστος HCW*(2*BASE) BASE. v. Κενά καθηγητών (Teachers empty spaces): Για κάθε καθηγητή, προστίθεται το κόστος TEPW*HOURS*BASE DAYS, όπου HOURS είναι ο συνολικός αριθμός των κενών στο ωρολόγιο πρόγραμμα του καθηγητή και DAYS είναι ο συνολικός αριθμός των ημερών όπου εμφανίζονται τα κενά. vi. Διασπορά μαθημάτων καθηγητή (Teacher lessons dispersion): Για κάθε καθηγητή, προστίθεται το κόστος ITDW*absolute_error*BASE DAYS, όπου absolute_error είναι το άθροισμα των απολύτων τιμών των διαφορών μεταξύ των πραγματικών ωρών που διδάσκει ο καθηγητής σε μια ημέρα και του αριθμού των ωρών που θα έπρεπε να διδάσκει σύμφωνα με την ιδανική κατανομή. Επίσης DAYS είναι ο αριθμός των ημερών στις οποίες παρατηρείται διαφοροποίηση της πραγματικής κατανομής από την ιδανική. Για παράδειγμα, αν ένας καθηγητής έχει ως ιδανική κατανομή ωρών την κατανομή (2,2,2,2,3) με οποιαδήποτε αντιμετάθεση αυτών των αριθμών θεωρούμενη ως έγκυρη ιδανική κατανομή, ενώ η πραγματική κατανομή των ωρών διδασκαλίας του καθηγητή είναι (1,0,4,4,2), τότε η τιμή του absolute_error ισούται με = 6 και DAYS = 4. vii. Διασπορά μαθημάτων τάξης (Class lessons dispersion): Για κάθε τάξη, προστίθεται το κόστος ICDW*HOURS*BASE DAYS, όπου HOURS είναι ο αριθμός των φορών που επαναλαμβάνεται η διδασκαλία ενός μαθήματος και DAYS είναι ο αριθμός των ημερών κατά τις οποίες παρατηρείται η επανάληψη. Για παράδειγμα, εάν σε μια τάξη έχει ανατεθεί ένας καθηγητής για τρείς χρονικές περιόδους κατά τη διάρκεια μιας ημέρας, ενώ ο καθηγητής διδάσκει μόνο ένα μάθημα στην τάξη αυτή, τότε υπάρχει επανάληψη αυτού του μαθήματος για δύο φορές. Συνεπώς, HOURS = 2. Στην συνέχεια, μετά την αναλυτική παρουσίαση του τρόπου υπολογισμού του κόστους παραβίασης κάθε περιορισμού και των αντίστοιχων τύπων, ακολουθεί ο ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <45>

46 μαθηματικός τύπος της αντικειμενικής συνάρτησης (fitness function), η οποία συνυπολογίζει όλους αυτούς τους περιορισμούς προκειμένου να αποτιμήσει την ποιότητα του κάθε cat. Για την παρακάτω συνάρτηση f πρέπει να βρεθεί η βέλτιστη τιμή, δηλαδή να ελαχιστοποιηθεί. f = cases_of_teacher_unavailability*hcw*base 3 + cases_of_parallel_teaching*hcw*base k + cases_of_classes _empty_spaces*hcw*(2*base) BASE + cases_of_wrong_co_teaching*hcw*(2*base) BASE + cases_of_teachers _empty_spaces*tepw*hours*base DAYS + cases_of_teacher_lessons _dispersion*itdw*absolute_error*base DAYS + cases_of_class_lessons _dispersion*icdw*hours*base DAYS Ρύθμιση των συντελεστών βαρών Ο προτεινόμενος αλγόριθμος της παρούσας εργασίας είναι προσαρμοστικός, με την έννοια ότι ο χρήστης έχει τη δυνατότητα να ρυθμίσει τα βάρη της αντικειμενικής συνάρτησης με τέτοιο τρόπο, ώστε το παραγόμενο ωρολόγιο πρόγραμμα να είναι σύμφωνο με τις προτιμήσεις του και την προτεραιότητα που αυτός προσδίδει στα ποιοτικά χαρακτηριστικά του προγράμματος. Το επιθυμητό αποτέλεσμα είναι η παραγωγή ωρολογίων προγραμμάτων, τα οποία δεν παραβιάζουν κανέναν ανελαστικό περιορισμό (εφικτά), ενώ ταυτόχρονα θα παραβιάζουν το μικρότερο δυνατό αριθμό ελαστικών περιορισμών (αποδοτικά ποιοτικά). Όσο μικρότερος είναι ο αριθμός των ελαστικών περιορισμών που παραβιάζει το παραγόμενο ωρολόγιο πρόγραμμα, τόσο πιο ποιοτικό είναι. Τα ποιοτικά χαρακτηριστικά ενός εφικτού ωρολογίου προγράμματος καθορίζονται από τρείς παράγοντες: τη διασπορά των διδασκαλιών των καθηγητών (teachers dispersion), τη διασπορά των μαθημάτων των τάξεων (classes dispersion) και τα κενά των καθηγητών (teachers idle periods). Αυτοί οι παράγοντες ποιότητας είναι ανταγωνιστικοί μεταξύ τους, δηλαδή ο ένας επηρεάζει τον άλλο αρνητικά. Δεν είναι εύκολο να ρυθμιστούν τα βάρη της αντικειμενικής συνάρτησης, τα οποία προσδιορίζουν τους παράγοντες ποιότητας, με τέτοιο τρόπο, ώστε να είναι ταυτόχρονα και οι τρείς βέλτιστοι. Αυτή η δυσκολία όμως, δίνει ταυτόχρονα τη δυνατότητα στο χρήστη να ρυθμίσει με τέτοιο τρόπο τα βάρη, ώστε να επιτύχει άριστο αποτέλεσμα για τον παράγοντα ποιότητας που τον ενδιαφέρει περισσότερο, ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <46>

47 ενώ ταυτόχρονα οι άλλοι δύο παράγοντες ποιότητας θα διατηρούνται σε ικανοποιητικά επίπεδα. Η ρύθμιση των βαρών παραμένει ένα ανοικτό ζήτημα, καθώς δεν υπάρχει προφανής τρόπος που να την ορίζει. Παρόλα αυτά, με βάση τα πειράματα που εκτελέστηκαν, προτείνονται οι ακόλουθες τιμές για τα βάρη: BASE = 1.3, HCW = 10.0, ITDW = 1.0, ICDW = 0.95 και TEPW = Προσαρτήθηκε τέλος στον αλγόριθμο, μια διαδικασία βελτιστοποίησης ανάλογη με αυτήν στην αναφορά [10], η οποία λειτουργεί σε επίπεδο ημέρας και προσπαθεί να βελτιώσει τον παράγοντα ποιότητας που αναφέρεται στα κενά των καθηγητών. Το ότι η συγκεκριμένη διαδικασία λειτουργεί σε επίπεδο ημέρας, έχει ως αποτέλεσμα να μην αλλοιώνονται τα ήδη παραχθέντα αποτελέσματα που αφορούν στους δύο άλλους παράγοντες ποιότητας. Σε αυτήν την διαδικασία βελτιστοποίησης της λύσης, η τιμή του βάρους TEPW αυξάνεται από 0.06 σε Με αυτήν την νέα ρύθμιση, δίνεται μεγαλύτερη προτεραιότητα στην ελαχιστοποίηση των κενών των καθηγητών. Η διαδικασία βελτιστοποίησης παρουσιάζεται αναλυτικά στην ενότητα 6.3. Κεφάλαιο 6. Παρουσίαση του προτεινόμενου αλγόριθμου Στο παρόν κεφάλαιο παρουσιάζεται ο προτεινόμενος αλγόριθμος. Στην ενότητα 6.1 γίνεται η περιγραφή του αλγόριθμου με τη μορφή ψευδοκώδικα. Στην ενότητα 6.2 παρουσιάζονται και αναλύονται οι βασικές διαδικασίες τις οποίες χρησιμοποιεί ο αλγόριθμος, καθώς και οι κυριότερες βοηθητικές διαδικασίες που χρησιμοποιούνται από τις βασικές. Τέλος, στην ενότητα 6.3 παρουσιάζεται η διαδικασία του αλγόριθμου, με την οποία γίνεται η βελτιστοποίηση της λύσης, δηλαδή ο περιορισμός των κενών των καθηγητών. Δίνεται η αλγοριθμική της περιγραφή και ακολουθούν επεξηγηματικά σχόλια που την αφορούν. 6.1 Δομή του προτεινόμενου αλγόριθμου Η δομή του προτεινόμενου αλγόριθμου CSO για την επίλυση του προβλήματος School Timetabling συμβαδίζει στα περισσότερα σημεία της με την δομή του αλγόριθμου CSO, όπως περιγράφεται στην πρωτότυπη εργασία των Chu, Tsai, και Pan [4] [36] κι έχει αναλυθεί στην ενότητα 4.2 της παρούσας εργασίας. Όλες οι τροποποιήσεις και τεχνικές που έχουν ενσωματωθεί προκειμένου να προσαρμοστεί στο πρόβλημα του School Timetabling συζητούνται αναλυτικά στην ενότητα 6.2. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <47>

48 Ακολουθεί ο ψευδοκώδικας της κεντρικής διαδικασίας (core process) του αλγόριθμου: Ψευδοκώδικας της core process του προτεινόμενου αλγόριθμου initialize 30 cats set global_best_fitness to worst possible for 5000 iterations { for each cat c { calculate fitness_value of cat c if (fitness_value of cat c < = global_best_fitness) { } // end if set global_best_fitness = fitness_value of cat c set cat c as global_best cat choose a random_number between 0 and 1 if (random_number > MR) else } // end of cat c } // end of iteration apply cat c to Seeking Mode process apply cat c to Tracing Mode process Ακολουθούν, πάλι σε μορφή ψευδοκώδικα, οι αλγόριθμοι των δύο διαδικασιών Seeking Mode και Tracing mode, που προσομοιώνουν τις δύο θεμελιώδεις συμπεριφορές των cats. Και οι δύο διαδικασίες δέχονται ως είσοδο ένα cat c. Ψευδοκώδικας του Seeking Mode του προτεινόμενου αλγόριθμου for each cat c in seeking mode { set best_fitness = present fitness of cat c if (SPC is true) set j = SMP 1 and keep the present cat c as a candidate else set j = SMP make j copies (cat_copy) of the present position of cat c set tc = CDC*35 // number of timeslots that will change set sm = SRD*classes_no*35 // number of swaps to be made for each cat_copy { insert tc random timeslots from global_best cat to cat_copy for sm times { make a random cell swap in cat_copy if (swap is valid) { ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <48>

49 calculate the new fitness value of cat_copy if (new fitness value < = best_fitness) { set best_fitness = new fitness value set this mutated cat_copy as candidate } // end if } // end if } // end of sm } // end of cat_copy calculate the fitness values (FS) of all candidates if (all FS are not exactly equal) calculate the selecting probability of each candidate else set selecting probability of each candidate = 1 randomly pick the point to move to from the candidates update the position of the cat } // end of cat Ψευδοκώδικας του Tracing Mode του προτεινόμενου αλγόριθμου for each cat in tracing mode { calculate similarity with global_best cat set distance = (classes_no*35) - similarity set cs = rand[0 1]*c 1 *distance // number of cells to swap make cs random cell swaps } // end of cat 6.2 Ανάλυση του προτεινόμενου αλγόριθμου Στην ενότητα αυτή παρουσιάζονται και αναλύονται οι βασικές και μερικές από τις σημαντικότερες βοηθητικές διαδικασίες τις οποίες χρησιμοποιεί ο προτεινόμενος αλγόριθμος, η λογική στην οποία έχουν στηριχθεί και γενικότερα ο τρόπος με τον οποίο προσπαθεί ο αλγόριθμος να επιλύσει το πρόβλημα κατασκευής βέλτιστου ωρολογίου προγράμματος για σχολεία Δευτεροβάθμιας εκπαίδευσης Ανάλυση της κεντρικής διαδικασίας (core process) του αλγόριθμου Στον προτεινόμενο αλγόριθμο χρησιμοποιείται ένας πληθυσμός από 30 cats και εκτελούνται 5000 επαναλήψεις (iterations), καθώς βρέθηκε μετά από πολλά πειράματα ότι αυτός ο συνδυασμός παράγει πολύ καλά αποτελέσματα σε εύλογο χρονικό διάστημα. Επίσης, για τους ίδιους λόγους η παράμετρος MR έχει την τιμή 4% ή 0,04. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <49>

50 Δύο σημεία στον ψευδοκώδικα της συγκεκριμένης κεντρικής διαδικασίας διαφοροποιούνται ελαφρώς σε σχέση με αυτόν του πρωτότυπου αλγόριθμου CSO, όπως παρουσιάστηκε στην ενότητα 4.2. Το πρώτο αφορά στην σύγκριση της fitness_value κάθε cat με την global_best_fitness. Προκειμένου να αυξηθεί η ποικιλομορφία των cats, δηλαδή των παραγόμενων ωρολογίων προγραμμάτων, γίνεται ενημέρωση της τιμής της global_best_fitness και επανακαθορισμός του global_best cat ακόμα και στην περίπτωση που η fitness_value του εκάστοτε cat είναι ίση με την global_best_fitness και όχι μόνο όταν είναι μικρότερη. Το δεύτερο σημείο αφορά στον τρόπο με τον οποίο ένα cat τίθεται στο Seeking ή στο Tracing Mode. Πιο συγκεκριμένα, ο ορισμός των cats σε ένα από τα δύο Modes δεν γίνεται συνολικά στο τέλος κάθε γενεάς, αλλά για κάθε cat ξεχωριστά και τη στιγμή που απαιτείται, με τυχαίο τρόπο και σύμφωνα με την αναλογία που ορίζει η παράμετρος MR. Με αυτόν τον τρόπο δεν χρειάζεται να αποθηκεύονται περιττές πληροφορίες στη δομή κάθε cat και η διαδικασία είναι πιο απλή και γρήγορη. Το διάγραμμα ροής της κεντρικής διαδικασίας υπάρχει στο Παράρτημα Α Ανάλυση της διαδικασίας cat_seek Η διαδικασία αυτή του Seeking Mode έχει υποστεί στον προτεινόμενο αλγόριθμο μερικές τροποποιήσεις σε σχέση με τον πρωτότυπο αλγόριθμο CSO, ώστε να προσαρμοστεί καλύτερα στο πρόβλημα του School Timetabling. Οι τιμές των παραμέτρων που αφορούν την συγκεκριμένη διαδικασία είναι SMP=2, SPC=true, CDC=10%, SRD=10% και ορίστηκαν έτσι μετά από πολλά πειράματα ως οι βέλτιστες. Το διάγραμμα ροής της προτεινόμενης διαδικασίας υπάρχει στο Παράρτημα Α. Τα βήματα που ακολουθεί η διαδικασία είναι τα εξής: Βήμα 1: Για κάθε cat που βρίσκεται σε αυτό το Mode αρχικά υπολογίζεται η fitness value και ονομάζεται best_fitness. Ακολούθως δημιουργείται SMP 1 = 1 αντίγραφο (cat_copy) του cat αφού η τιμή της παραμέτρου-flag SPC είναι true. Στον προτεινόμενο αλγόριθμο επειδή η παράμετρος SPC είναι true, μία από τις δύο υποψήφιες (candidates) για μετακίνηση θέσεις του cat θα είναι και η παρούσα του θέση. Αυτό σημαίνει ότι αν η θέση αυτή είναι αρκετά καλή, δηλαδή είναι σε μικρή «απόσταση» από την global_best, το cat έχει πολλές πιθανότητες να παραμείνει τελικά σε αυτήν. Η έννοια της «απόστασης» αφορά στην απόλυτη διαφορά της παρούσας fitness value του cat από την global_best_fitness, όπως ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <50>

51 εμφανίζεται και στην εξίσωση (1) της ενότητας 4.2 της παρούσας εργασίας. Με άλλα λόγια, θεωρήθηκε ως καλύτερη τακτική να δίνεται η δυνατότητα να παραμένει το εκάστοτε ωρολόγιο πρόγραμμα (cat) ως έχει, αν βέβαια αυτό είναι ήδη αρκετά ποιοτικό. Εξάλλου, η τιμή true είναι η επικρατέστερη και στις περισσότερες εφαρμογές του αλγόριθμου CSO μέχρι στιγμής. Βήμα 2: Στη συνέχεια ακολουθεί το κυρίως μέρος της διαδικασίας όπου, όπως και στον πρωτότυπο αλγόριθμο CSO, το cat_copy υπόκειται σε μία σειρά μεταβολών, ανάλογα βέβαια με τις τιμές των παραμέτρων CDC και SRD. Η έννοια της διάστασης ταυτίζεται στον προτεινόμενο αλγόριθμο με το timeslot, συνεπώς υπάρχουν 35 διαστάσεις, όσες και timeslots. Η λογική του προτεινόμενου αλγόριθμου είναι να αντικαταστήσει αρχικά έναν αριθμό από CDC*35 timeslots του cat_copy με ισάριθμα timeslots από το global_best cat, εμπλουτίζοντάς το. Η επιλογή και οι αντικαταστάσεις τους γίνονται με τυχαίο τρόπο, με την χρήση της διαδικασίας insert_column που αναλύεται στην ενότητα και η οποία έχει χρησιμοποιηθεί με επιτυχία στην αναφορά [10]. Για κάθε επιλεγμένο timeslot του cat_copy αντικαθίστανται όλες οι διδασκαλίες του, οι οποίες έχουν ανατεθεί στις διάφορες τάξεις, με τις διδασκαλίες του αντίστοιχου timeslot του global_best cat. Ακολούθως επί του εμπλουτισμένου cat_copy εκτελούνται SRD*classes_no*35 εσωτερικές αντιμεταθέσεις κελιών με την χρήση της διαδικασίας single_swap που αναλύεται κι αυτή στην ενότητα 6.3. Με τον τρόπο αυτό επιδιώκεται να προκύψει μία σειρά από τροποποιημένα (mutated) cat_copy και να αυξηθεί η ποικιλομορφία των παραχθέντων ωρολογίων προγραμμάτων. Βέβαια δεν θα είναι όλες οι αντιμεταθέσεις κελιών έγκυρες, δηλαδή αποδεκτές. Μετά όμως από κάθε έγκυρη αντιμετάθεση υπολογίζεται η fitness value του τροποποιημένου cat_copy και αν αυτή είναι μικρότερη ή ίση με την best_fitness, δηλαδή την εκάστοτε καλύτερη fitness του συγκεκριμένου cat, τότε ορίζεται αυτή ως η νέα best_fitness και το συγκεκριμένο τροποποιημένο cat_copy θεωρείται ως η δεύτερη υποψήφια (candidate) προς μετακίνηση θέση. Επιλέγεται έτσι το καλύτερο τροποποιημένο cat_copy ως δεύτερο υποψήφιο και όχι απλά αυτό που προκύπτει μετά τον εμπλουτισμό και τις αντιμεταθέσεις, όπως είναι η λογική του πρωτότυπου αλγόριθμου CSO. Στην περίπτωση κατά την οποία κανένα από τα τροποποιημένα cat_copy δεν είναι καλύτερης ή ίδιας ποιότητας με το αρχικό cat, τότε ως δεύτερο υποψήφιο λαμβάνεται το αρχικό cat, πριν τον εμπλουτισμό και τις αντιμεταθέσεις. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <51>

52 Πρακτικά κι επειδή και το πρώτο υποψήφιο είναι το ίδιο το αρχικό cat, αυτό σημαίνει ότι το συγκεκριμένο cat στην συγκεκριμένη iteration παραμένει στη θέση του, δηλαδή δεν μεταβάλλεται. Αυτή η τακτική επιλέχθηκε γιατί αποδείχθηκε, έπειτα από πειράματα, ότι οδηγεί σε καλύτερης ποιότητας ωρολόγια προγράμματα. Βήματα 3, 4 και 5: Τα συγκεκριμένα βήματα του προτεινόμενου αλγόριθμου είναι ίδια με αυτά του πρωτότυπου αλγόριθμου CSO, όπως παρουσιάστηκαν στην ενότητα 4.2. Έτσι για τις δύο υποψήφιες θέσεις (candidates), δηλαδή αυτήν του αρχικού cat και αυτή του cat_copy υπολογίζονται οι τιμές αποτίμησης (FS), οι πιθανότητες επιλογής τους και τελικά επιλέγεται μία από αυτές, στην οποία και μετακινείται το cat Ανάλυση της διαδικασίας cat_trace Κατά την διαδικασία αυτή του Tracing Mode προσομοιώνεται η γρήγορη κίνηση μίας γάτας, όταν αυτή κυνηγάει την τροφή της. Στον πρωτότυπο αλγόριθμο CSO εισάγεται η έννοια της ταχύτητας (velocity), προκειμένου να τονιστεί αυτή η έντονη μεταβολή της θέσης του cat. Οι έννοιες της κίνησης και της ταχύτητας του cat, προσεγγίστηκαν στην παρούσα Διπλωματική Εργασία με την ίδια λογική, προσαρμοζόμενες όμως ανάλογα στο πρόβλημα του School Timetabling. Tα βήματα που ακολουθεί η διαδικασία cat_trace, το διάγραμμα ροής της οποίας βρίσκεται στο Παράρτημα Α, είναι τα εξής: Βήμα 1: Στον πρωτότυπο αλγόριθμο CSO, η ταχύτητα είναι μεγαλύτερη όσο μεγαλύτερη είναι η διαφορά x best x όπου x best είναι η θέση του cat με την καλύτερη fitness value και x είναι η θέση ενός οποιουδήποτε cat. Προκειμένου να υπολογιστεί στον προτεινόμενο αλγόριθμο η διαφορά μεταξύ του εκάστοτε cat και του global_best cat, υπολογίζεται αρχικά η ομοιότητα μεταξύ τους συγκρίνοντας τα περιεχόμενα τους και αυξάνοντας κατά μία μονάδα τη μεταβλητή similarity για κάθε όμοιο αντίστοιχο κελί. Η μέγιστη τιμή που μπορεί να πάρει η similarity είναι classes_no*35, όταν τα δύο cats είναι πανομοιότυπα και η ελάχιστη τιμή είναι 0 όταν διαφέρουν σε όλα τα κελιά. Ακολουθεί ο υπολογισμός της διαφοράς (distance) μεταξύ τους από τη σχέση classes_no*35 similarity με προφανείς ακραίες τιμές 0 για πανομοιότυπα cats και classes_no*35 για τελείως ανόμοια cats. Βήμα 2: Όσο πιο μεγάλη είναι η απόσταση του cat από το global_best, τόσο πιο έντονα θα κινηθεί, δηλαδή τόσο πιο πολλά κελιά του πρέπει να μεταβληθούν. Στο ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <52>

53 βήμα αυτό λοιπόν, κατ αντιστοιχία με την εξίσωση (2) της ενότητας 4.2, υπολογίζεται με στρογγυλοποίηση ο αριθμός των υπό μεταβολή κελιών από τη σχέση rand(0,1)*distance, όπου rand(0,1) είναι ένας τυχαίος αριθμός μεταξύ του μηδέν και του ένα. Η σταθερά c 1 της αρχικής εξίσωσης, στα πειράματα που έγιναν, έφερε καλύτερα αποτελέσματα όταν είχε την τιμή 1,0 κι έτσι παραλείπεται. Βήμα 3: Στο βήμα αυτό γίνεται, με τυχαίο τρόπο, επιλογή των κελιών που θα μεταβληθούν και ανά δύο αλλάζουν θέσεις με τη βοήθεια της διαδικασίας single_swap Ανάλυση των κυριότερων βοηθητικών διαδικασιών Οι παραπάνω βασικές διαδικασίες, αλλά και η διαδικασία βελτιστοποίησης που αναλύεται στην ενότητα 6.3 χρησιμοποιούν κάποιες βοηθητικές διαδικασίες, οι σημαντικότερες από τις οποίες παρουσιάζονται στη συνέχεια. Διαδικασία insert_column: Η ιδέα των τυχαίων διαδοχικών αντικαταστάσεων κελιών από το global_best ή το personal_best προτείνεται για πρώτη φορά στην βιβλιογραφική αναφορά [18]. Στην αναφορά [10] γίνεται εφαρμογή μίας παραλλαγής αυτής της ιδέας σε ολόκληρες στήλες και με τον ίδιο τρόπο εφαρμόζεται και στον προτεινόμενο αλγόριθμο στην παρούσα εργασία. Συγκεκριμένα, κατά τη διαδικασία insert_column στο Seeking Mode σε ένα timeslot (στήλη) του cat_copy, το οποίο έχει επιλεγεί προηγουμένως με τυχαίο τρόπο, αντικαθίστανται όλες οι διδασκαλίες του, οι οποίες έχουν ανατεθεί στις διάφορες τάξεις, με τις διδασκαλίες του αντίστοιχου timeslot του global_best cat. Το αποτέλεσμα της διαδικασίας είναι η παραγωγή ενός εμπλουτισμένου cat_copy. Έστω για παράδειγμα ότι επιλέγεται τυχαία το timeslot 1 του cat_copy για να αντικατασταθούν οι διδασκαλίες του από τις διδασκαλίες του αντίστοιχου timeslot 1 του global_best cat, όπως φαίνεται στον πίνακα 3. Όλοι οι καθηγητές που διδάσκουν εκείνη τη χρονική περίοδο σε όλες τις τάξεις θα πρέπει να αντικατασταθούν. Είναι βέβαιο ότι οι καθηγητές που τους αντικαθιστούν εμφανίζονται σε κάποιο άλλο timeslot της τάξης αυτής, καθώς η ανάθεση των καθηγητών στις τάξεις έχει γίνει επιτυχώς στη φάση της αρχικοποίησης. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <53>

54 timeslot 1 Τάξη 1 καθ. 4 Τάξη 2 καθ. 3 Τάξη 3 καθ. 8 Τάξη 4 καθ. 7 Τάξη 5 καθ. 5 Πίνακας 3. Παράδειγμα διαδικασίας insert_column timeslot 2 timeslot 3 global_best cat timeslot 4 timeslot 5 timeslot 1 timeslot 2 timeslot 3 timeslot 4 timeslot 5 Τάξη 1 καθ. 6 καθ. 2 καθ. 4 καθ. 4 Τάξη 2 καθ. 2 καθ. 3 Τάξη 3 καθ. 7 καθ. 7 καθ. 8 Τάξη 4 καθ. 1 καθ. 7 καθ. 7 Τάξη 5 καθ. 3 καθ. 5 καθ. 3 cat_copy (πριν την διαδικασία insert_column) timeslot 1 timeslot 2 timeslot 3 timeslot 4 timeslot 5 Τάξη 1 καθ. 4 καθ. 2 καθ. 6 καθ. 4 Τάξη 2 καθ. 3 καθ. 2 Τάξη 3 καθ. 8 καθ. 7 καθ. 7 Τάξη 4 καθ. 7 καθ. 7 καθ. 1 Τάξη 5 καθ. 5 καθ. 3 καθ. 3 cat_copy (μετά την διαδικασία insert_column) Έτσι, για παράδειγμα, ο καθηγητής 6 που διδάσκει στην τάξη 1 αντικαθίσταται από τον καθηγητή 4. Αυτό που πρέπει να συμβεί ακολούθως είναι η τοποθέτηση του καθηγητή 6 που αντικαταστάθηκε σε κάποιο άλλο timeslot της ίδιας τάξης. Ερευνάται λοιπόν η τάξη 1, μέχρι να εντοπιστεί το timeslot που περιέχει τον καθηγητή 4 και γίνεται μία αντιμετάθεση μεταξύ τους. Στην περίπτωση αυτή ο καθηγητής 4 εντοπίζεται να διδάσκει στα timeslots 4 και 5. Αυτό συμβαίνει συχνά, γιατί ένας καθηγητής, τις περισσότερες φορές, διδάσκει πάνω από μια ώρες σε μια συγκεκριμένη τάξη. Έτσι, η απόφαση για το ποιο από όλα θα είναι το timeslot το οποίο θα επιλεγεί να συμμετάσχει στην αντικατάσταση γίνεται με τυχαίο τρόπο. Διαδικασία single_swap: Η διαδικασία αυτή χρησιμοποιείται και από τις δύο βασικές διαδικασίες cat_seek και cat_trace για την αντιμετάθεση δύο διδασκαλιών (κελιών) μίας τάξης σε ένα cat. Δέχεται ως ορίσματα το cat, τα δύο κελιά που θα αλλάξουν αμοιβαία θέσεις και τον αριθμό της τάξης, της οποίας τα κελιά θα ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <54>

55 αντιμετατεθούν. Αρχικά γίνεται έλεγχος αν η ζητούμενη αντιμετάθεση πληροί κάποιες προϋποθέσεις. Συγκεκριμένα, η αντιμετάθεση δεν πραγματοποιείται μόνο στις εξής περιπτώσεις: αν τα δύο κελιά είναι τα ίδια, αφού αυτό συνεπάγεται ότι το κελί θα αλλάξει αμοιβαία θέση με τον εαυτό του, κάτι που δεν έχει νόημα να γίνει αν τα κελιά υπό αντιμετάθεση περιέχουν την ίδια τιμή, αφού αυτό σημαίνει ότι και τις δύο αυτές ώρες διδάσκει ο ίδιος καθηγητής, οπότε και πάλι δεν έχει νόημα να γίνει η αμοιβαία αλλαγή θέσης αν κάποιο ή και τα δύο κελιά έχουν την τιμή 1, αφού αυτό σημαίνει ότι η εν λόγω τάξη δεν έχει διδασκαλία εκείνη τη χρονική περίοδο, οπότε αν μόνο ένα κελί έχει τιμή 1 δεν είναι αποδεκτό να γίνει αντιμετάθεση κενής ώρας με ώρα διδασκαλίας, ενώ αν και τα δύο κελιά έχουν τιμή 1, τότε δεν έχει νόημα να αλλάξουν αμοιβαία θέση δύο ώρες με κενά αν κάποιος καθηγητής τοποθετηθεί σε ώρα που έχει ήδη διδασκαλία σε κάποια άλλη τάξη, αφού σημαίνει ότι διδάσκει ταυτόχρονα σε δύο τάξεις, δηλαδή υπάρχει παραβίαση του πρώτου ανελαστικού περιορισμού που αναφέρθηκε στην ενότητα Για να ενισχυθεί η ποικιλομορφία των παραγόμενων λύσεων, σκοπίμως επιτρέπονται όλες οι υπόλοιπες περιπτώσεις αντιμεταθέσεων, ακόμα κι αν προκαλούν παραβιάσεις ανελαστικών περιορισμών. Με αυτόν τον τρόπο ο αλγόριθμος δεν εγκλωβίζεται εύκολα σε τοπικά βέλτιστα και τα cats έχουν την δυνατότητα να ερευνήσουν έναν ευρύτερο χώρο λύσεων. Εξάλλου, η διαφορά των βαρών των ελαστικών και των ανελαστικών περιορισμών μειώνει την πιθανότητα να επιλεγεί με τη διαδικασία αυτή ένα cat που θα παραβιάζει ανελαστικό περιορισμό. Επιπλέον, τα πειράματα που εκτελέστηκαν έδειξαν ότι με αυτόν τον τρόπο τα παραγόμενα αποτελέσματα είναι καλύτερα από την περίπτωση κατά την οποία εκτελούνταν μόνο οι αντιμεταθέσεις που δεν προκαλούσαν παραβιάσεις. 6.3 Η διαδικασία βελτιστοποίησης της λύσης Στον προτεινόμενο αλγόριθμο, όπως και στις βιβλιογραφικές αναφορές [10] και [12], γίνεται χρήση μιας διαδικασίας βελτιστοποίησης της παραγόμενης λύσης, η οποία επιχειρεί να ελαχιστοποιήσει τα κενά των καθηγητών. Η διαδικασία βελτιστοποίησης γίνεται σε επίπεδο ημέρας και εκτελεί επαναλαμβανόμενα έναν ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <55>

56 μεγάλο αριθμό αντιμεταθέσεων (swaps) στις αναθέσεις των διδασκαλιών κάθε καθηγητή για κάθε ημέρα. Ο στόχος της είναι να αναδιαρθρώσει τη δομή των διδασκαλιών κάθε καθηγητή σε κάθε ημέρα, ώστε τα ενδεχόμενα κενά του να περιοριστούν. Στη συνέχεια, παρουσιάζεται η αλγοριθμική διαδικασία της βελτιστοποίησης σε μορφή ψευδοκώδικα Ο αλγόριθμος της βελτιστοποίησης set TEPW = 1.35 // set the new value of weight for each day of the week { calculate fitness (F1) of the current day from global_best for times repeat { choose two different timeslots of the current day at random perform swap of the two timeslots calculate fitness (F2) of the current transformed day if (F2 <= F1 and no hard clashes occur for the transformed day){ copy the transformed day to its corresponding of global best set F1 = F2 if (F2 == 0) terminate optimization procedure } //end if } //end of repeat calculate fitness (FF) of global_best if (FF == 0) terminate optimization procedure } //end of day Επεξήγηση της διαδικασίας βελτιστοποίησης Πριν ξεκινήσει η διαδικασία βελτιστοποίησης, το βάρος TEPW αποκτά τη νέα του τιμή. Αυτό γίνεται ώστε να δοθεί προτεραιότητα στον παράγοντα ποιότητας που αναφέρεται στα κενά των καθηγητών, έναντι των δύο άλλων παραγόντων που αφορούν στη διασπορά των διδασκαλιών των καθηγητών και στη διασπορά των μαθημάτων των τάξεων, όπως εξηγήθηκε και στην ενότητα Στη συνέχεια, για κάθε ημέρα ξεχωριστά υπολογίζεται η fitness value του global_best cat, το οποίο κατασκευάστηκε προηγουμένως από το βασικό αλγόριθμο. Ο υπολογισμός γίνεται με χρήση της νέας τιμής του βάρους TEPW. Η διαφορά με τον κλασικό υπολογισμό της fitness value είναι ότι τώρα ο έλεγχος των παραβιάσεων των περιορισμών, ελαστικών ή ανελαστικών, γίνεται σε επίπεδο ημέρας. Έτσι δεν ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <56>

57 αλλοιώνεται η διασπορά των διδασκαλιών των καθηγητών σε ολόκληρη την εβδομάδα, ούτε και το πλήθος των διαφορετικών μαθημάτων που διδάσκονται σε κάθε τάξη σε κάθε ημέρα. Αν η fitness value της εκάστοτε ημέρας ισούται με μηδέν, αυτό σημαίνει ότι η δομή της είναι βέλτιστη και συνεπώς δεν πρέπει να αλλάξει. Έτσι, η διαδικασία βελτιστοποίησης συνεχίζει με την επόμενη ημέρα. Αν, αντιθέτως, η τιμή της fitness value είναι θετική, αυτό σημαίνει ότι η δομή της συγκεκριμένης ημέρας ίσως να επιδέχεται βελτίωση, οπότε εκτελείται η διαδικασία βελτιστοποίησης. Για τον σκοπό αυτό υπάρχει ένα loop, το οποίο εκτελείται φορές για κάθε ημέρα. Σε κάθε επανάληψη, επιλέγονται δύο διαφορετικές ώρες της συγκεκριμένης ημέρας από το global best cat κι εκτελείται η αντιμετάθεση. Στη συνέχεια υπολογίζεται η fitness value της συγκεκριμένης μόνο ημέρας και συγκρίνεται με την fitness value που είχε πριν μετασχηματιστεί. Αν η νέα τιμή είναι μικρότερη ή ίση με την παλαιά τιμή και επιπλέον στην ημέρα δεν υπήρξαν παραβιάσεις ανελαστικών περιορισμών, τότε η νέα δομή της ημέρας αντιγράφεται στο global_best cat κι ενημερώνεται η fitness value της ημέρας με την νέα τιμή. Ο λόγος που απαιτείται εκτός από την βελτίωση της fitness value και η μη παραβίαση ανελαστικών περιορισμών είναι γιατί είναι δυνατόν οι αντιμεταθέσεις που εκτελούνται στη δομή μιας ημέρας να προκαλέσουν σπανίως και σε ιδιαίτερα περίπλοκα ωρολόγια προγράμματα τέτοιες παραβιάσεις. Αν σε κάποια επανάληψη του loop η fitness value γίνει μηδέν, τότε η δομή αυτής της ημέρας είναι πλέον η βέλτιστη, οπότε η διαδικασία βελτιστοποίησης προχωράει στην επόμενη ημέρα. Διαφορετικά, η διαδικασία επαναλαμβάνεται για αυτήν την ημέρα και φυσικά στο τέλος του loop η δομή της συγκεκριμένης ημέρας ενσωματώνεται στο global_best cat. Πριν προχωρήσει η διαδικασία στην επόμενη ημέρα, υπολογίζει την fitness value του global_best cat και αν είναι μηδέν δεν προχωράει στον έλεγχο της δομής των υπόλοιπων ημερών, αφού ήδη το ωρολόγιο πρόγραμμα είναι το βέλτιστο. Ένα πλεονέκτημα της συγκεκριμένης διαδικασίας βελτιστοποίησης είναι ότι προκαλώντας μετασχηματισμούς μόνο σε επίπεδο ημέρας, δεν επηρεάζει τα όποια αποτελέσματα έχει επιτύχει ο κυρίως αλγόριθμος στους παράγοντες ποιότητας της διασποράς των διδασκαλιών των καθηγητών και της διασποράς των μαθημάτων στις τάξεις. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <57>

58 Κεφάλαιο 7. Πειραματικά αποτελέσματα Στο κεφάλαιο αυτό παρουσιάζονται τα πειραματικά αποτελέσματα των δοκιμών με τον προτεινόμενο αλγόριθμο CSO και συγκρίνονται με αυτά που παρήγαγαν άλλοι αλγόριθμοι σε ανάλογες εργασίες. Συγκεκριμένα στην ενότητα 7.1 γίνεται η περιγραφή των συνθηκών εκτέλεσης των πειραμάτων και μία ποιοτική αξιολόγηση των αποτελεσμάτων και της απόδοσης του προτεινόμενου αλγόριθμου. Στην ενότητα 7.2 συγκρίνονται τα παραπάνω αποτελέσματα με αυτά πρόσφατα δημοσιευμένων αλγόριθμων με κοινά αρχεία εισόδου. Τέλος, στην ενότητα 7.3 γίνεται η σύγκριση του προτεινόμενου αλγόριθμου με το εμπορικό λογισμικό asc TimeTables, το οποίο χρησιμοποιείται ευρέως στα ελληνικά σχολεία. 7.1 Αξιολόγηση του προτεινόμενου αλγόριθμου CSO Όλες οι δοκιμές πραγματοποιήθηκαν σε υπολογιστή PC με λειτουργικό σύστημα Windows 8.1 Pro 64-bit, CPU Intel i στα 3.40 GHz και 8GB μνήμη RAM. Η ανάπτυξη του κώδικα έγινε στη γλώσσα C με τον compiler TDM-GCC (64bit) και την χρήση του DEV-C [9], ενός δωρεάν ανοικτού κώδικα (free opensource) περιβάλλοντος για ανάπτυξη λογισμικού. Ως αρχεία εισόδου (input instances) χρησιμοποιήθηκαν δέκα αρχεία που περιέχουν τα δεδομένα και τους περιορισμούς αντίστοιχα δέκα σχολείων της Πάτρας [47], τα οποία χρησιμοποιήθηκαν και στις εργασίες [10], [11], [12], [48] και [49], έτσι είναι δυνατή η σύγκριση των αποτελεσμάτων τους. Ακολουθείται η ίδια κωδικοποίηση, η οποία περιγράφεται το Παράρτημα Β, ενώ ίδια είναι και η αρίθμηση των αρχείων, συνεπώς, όπως και στις προαναφερθείσες εργασίες, έτσι κι εδώ δεν υπάρχει αρχείο εισόδου με αριθμό 6. Για κάθε αρχείο εισόδου εκτελέστηκαν 30 πειράματα και καταγράφηκαν τα αποτελέσματα τους. Όλα τα ωρολόγια προγράμματα που δημιούργησε ο προτεινόμενος αλγόριθμος CSO κατά την διάρκεια των πειραμάτων ήταν εφικτά (feasible), δηλαδή δεν παραβιάζουν κανένα ανελαστικό περιορισμό. Στον Πίνακα 4 που ακολουθεί παρουσιάζονται οι καλύτερες, οι χειρότερες και οι μέσες τιμές για τις τρεις παραμέτρους ποιότητας και για κάθε αρχείο εισόδου. Συγκεκριμένα, oι τρείς παράμετροι ποιότητας των ωρολογίων προγραμμάτων είναι η κατανομή των καθηγητών (Distribution of teachers), η κατανομή των μαθημάτων (Distribution of courses) και τα κενά του καθηγητή (Teacher s idle periods). O ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <58>

59 πίνακας έχει μία στήλη για κάθε παράγοντα ποιότητας στον οποίο αναφέρεται. Σε κάθε κελί της κάθε στήλης αναφέρονται δύο αριθμοί. Στην πρώτη στήλη (Κατανομή καθηγητών), ο πρώτος αριθμός αναφέρεται στο πλήθος των καθηγητών με λανθασμένη κατανομή διδασκαλιών, ενώ ο αριθμός μέσα στην παρένθεση αναφέρεται στο συνολικό πλήθος των ημερών όπου συμβαίνει η λανθασμένη κατανομή. Στην δεύτερη στήλη (Κατανομή μαθημάτων), ο πρώτος αριθμός αναφέρεται στο πλήθος των διαφορετικών τάξεων με λανθασμένη κατανομή μαθημάτων (επαναλαμβανόμενα μαθήματα), ενώ ο αριθμός μέσα στην παρένθεση αναφέρεται στο συνολικό αριθμό των ημερών που συμβαίνει η λανθασμένη κατανομή, δηλαδή η επανάληψη μαθήματος. Στην τρίτη στήλη (Κενά καθηγητών), ο πρώτος αριθμός αναφέρεται στο πλήθος των καθηγητών με κενά στο πρόγραμμά τους, ενώ ο αριθμός μέσα στην παρένθεση αναφέρεται στο συνολικό πλήθος των κενών. Τέλος, υπάρχει μια στήλη με τις τιμές του συνολικού κόστους και άλλη μία με τους αντίστοιχους χρόνους εκτέλεσης του αλγόριθμου. Ως συνολικό κόστος ορίζεται το άθροισμα: πλήθος ημερών με λανθασμένη κατανομή καθηγητών + πλήθος ημερών με λανθασμένη κατανομή μαθημάτων + πλήθος κενών καθηγητών, δηλαδή με άλλα λόγια το άθροισμα των αριθμών μέσα σε παρένθεση για κάθε αρχείο εισόδου. Στη διεθνή βιβλιογραφία, αυτό το άθροισμα αποτελεί και τον επίσημο δείκτη ποιότητας ενός εφικτού ωρολογίου προγράμματος, καθώς αντικατοπτρίζει το πλήθος των ελαστικών περιορισμών που παραβιάζονται. Προφανώς, μικρότερες τιμές του συνολικού κόστους αντιστοιχούν σε ποιοτικότερα ωρολόγια προγράμματα. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <59>

60 Αρχείο εισόδου Πίνακας 4. Καλύτερες, χειρότερες και μέσες τιμές παραγόντων ποιότητας παραχθέντων ωρολογίων προγραμμάτων από τον προτεινόμενο αλγόριθμο CSO Κατανομή καθηγητών Κατανομή μαθημάτων Κενά καθηγητών Συνολικό κόστος Χρόνος εκτέλεσης (mins) Καλύτερο 1(2) 1(1) 7(8) Χειρότερο 3(6) 4(4) 11(13) Μέσο 1,23(2,47) 2,63(2,67) 9,10(11,10) 16, Τυπ. απόκλιση 0,55(0,99) 1,28(1,30) 1,33(1,40) 2, Συντ. μεταβλ. 0,40(0,40) 0,49(0,49) 0,15(0,13) 0,15 0,04 Καλύτερο 1(2) 2(2) 11(14) Χειρότερο 1(2) 4(5) 17(23) Μέσο 1,00(2,00) 3,43(3,63) 13,23(17,20) 22, Τυπ. απόκλιση 0,00(0,00) 1,09(1,28) 1,71(2,23) 2, Συντ. μεταβλ. 0,00(0,00) 0,32(0,35) 0,13(0,13) 0,12 0,03 Καλύτερο 1(2) 3(3) 0(0) Χειρότερο 2(4) 4(4) 2(2) Μέσο 1,90(3,80) 3,03(3,03) 0,67(0,67) 7, Τυπ. απόκλιση 0,30(0,60) 0,18(0,18) 0,65(0,65) 0, Συντ. μεταβλ. 0,16(0,16) 0,06(0,06) 0,97(0,97) 0,13 0,11 Καλύτερο 0(0) 1(1) 3(4) Χειρότερο 0(0) 0(0) 8(14) Μέσο 0,07(0,13) 0,27(0,27) 5,83(9,27) 9, Τυπ. απόκλιση 0,36(0,72) 0,44(0,44) 1,27(1,97) 1, Συντ. μεταβλ. 5,39(5,39) 1,66(1,66) 0,22(0,21) 0,19 0,06 Καλύτερο 0(0) 0(0) 0(0) Χειρότερο 0(0) 0(0) 1(1) Μέσο 0,00(0,00) 0,00(0,00) 0,13(0,13) 0, Τυπ. απόκλιση 0,00(0,00) 0,00(0,00) 0,34(0,34) 0, Συντ. μεταβλ. δ.ο. δ.ο. 2,55(2,55) 2,55 0,10 Καλύτερο 0(0) 0(0) 14(24) Χειρότερο 0(0) 1(1) 25(46) Μέσο 0,00(0,00) 0,30(0,30) 19,93(34,40) 34, Τυπ. απόκλιση 0,00(0,00) 0,59(0,59) 2,87(5,77) 5, Συντ. μεταβλ. δ.ο. 1,95(1,95) 0,14(0,17) 0,17 0,05 Καλύτερο 0(0) 5(11) 0(0) Χειρότερο 0(0) 5(12) 0(0) Μέσο 0,00(0,00) 5,00(11,03) 0,00(0,00) 11, Τυπ. απόκλιση 0,00(0,00) 0,00(0,18) 0,00(0,00) 0, Συντ. μεταβλ. δ.ο. 0,00(0,02) δ.ο. 0,02 0,05 Καλύτερο 0(0) 0(0) 2(2) Χειρότερο 0(0) 0(0) 2(2) Μέσο 0,00(0,00) 0,00(0,00) 2,00(2,00) 2, Τυπ. απόκλιση 0,00(0,00) 0,00(0,00) 0,00(0,00) 0, Συντ. μεταβλ. δ.ο. δ.ο. 0,00(0,00) 0,00 0,04 Καλύτερο 0(0) 6(10) 0(0) Χειρότερο 0(0) 6(12) 0(0) Μέσο 0,00(0,00) 6,00(10,60) 0,00(0,00) 10, Τυπ. απόκλιση 0,00(0,00) 0,00(0,55) 0,00(0,00) 0, Συντ. μεταβλ. δ.ο. 0,00(0,05) δ.ο. 0,05 0,05 Καλύτερο 0(0) 8(18) 0(0) Χειρότερο 0(0) 8(18) 2(2) Μέσο 0,00(0,00) 8,30(18,30) 0,37(0,37) 18, Τυπ. απόκλιση 0,00(0,00) 0,46(0,46) 0,55(0,55) 0, Συντ. μεταβλ. δ.ο. 0,06(0,03) 1,49(1,49) 0,03 0,11 Τα δεδομένα που ενδιαφέρουν κυρίως από τον Πίνακα 4 είναι τα καλύτερα αποτελέσματα που πέτυχε ο προτεινόμενος αλγόριθμος, καθώς και το πόσο ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <60>

61 ομοιογενή είναι τα αποτελέσματα που παράγει γενικότερα. Το πρώτο αναλύεται στην ενότητα 7.2. Όσο για το δεύτερο, αυτό μπορεί να εκτιμηθεί μέσω του συντελεστή μεταβλητότητας (coefficient of variation - CV), ο οποίος προκύπτει από την διαίρεση της τυπικής απόκλισης προς τον μέσο όρο των τιμών μίας μεταβλητής. Όσο πιο μικρός είναι αυτός ο συντελεστής, τόσο πιο κοντά στον μέσο όρο βρίσκονται τα αποτελέσματα. Για παράδειγμα, αν CV=0.1, τότε αυτό σημαίνει ότι η μεγάλη πλειοψηφία των τιμών βρίσκεται στο ±10% από τη μέση τιμή τους. Όπως γίνεται φανερό από τον Πίνακα 4, τα παραγόμενα αποτελέσματα παρουσιάζουν χαμηλούς συντελεστές μεταβλητότητας στην τιμή του συνολικού κόστους, γεγονός που σημαίνει ότι ο αλγόριθμος παράγει αποτελέσματα που δεν απέχουν ποιοτικά πολύ μεταξύ τους. Μόνη εξαίρεση φαίνεται να αποτελεί η τιμή για το αρχείο εισόδου 5, που εμφανίζει CV=2.55, όμως αυτό είναι παραπλανητικό. Αντιθέτως, για το συγκεκριμένο αρχείο εισόδου ο προτεινόμενος αλγόριθμος έχει πετύχει την παραγωγή ωρολογίων προγραμμάτων είτε με συνολικό κόστος=0, δηλαδή το απολύτως βέλτιστο αποτέλεσμα, είτε με συνολικό κόστος=1. Επειδή όμως η τυπική απόκλιση για μία σειρά τιμών 0 και 1 δεν έχει νόημα αφού συνήθως βγαίνει μεγαλύτερη από τον μέσο όρο, αυτό «παρασύρει» και τον συντελεστή μεταβλητότητας, ο οποίος εμφανίζεται να έχει αυτή την μεγάλη τιμή. Επιπρόσθετα, για την ακόμη καλύτερη εκτίμηση των αποτελεσμάτων, στο Παράρτημα Ε υπάρχουν τα αντίστοιχα ιστογράμματα για κάθε αρχείο εισόδου, στα οποία αποτυπώνεται η συχνότητα εμφάνισης κάθε τιμής του συνολικού κόστους για κάθε αρχείο. Αντίστοιχα καλές είναι και οι επιδόσεις του προτεινόμενου αλγόριθμου CSO στο θέμα του χρόνου. Συγκεκριμένα, οι συντελεστές μεταβλητότητας για τους χρόνους εκτέλεσης είναι πολύ χαμηλοί -μικρότεροι από γεγονός που σημαίνει ότι ο αλγόριθμος δεν εμφανίζει μεγάλες χρονικές διακυμάνσεις κατά την επαναλαμβανόμενη εκτέλεση του με το ίδιο αρχείο εισόδου και διαφορετικά seeds. Βέβαια, είναι αρκετά δύσκολο να εκτιμηθεί συνολικά η ταχύτητα του αλγόριθμου, καθώς αυτή εξαρτάται και από τα χαρακτηριστικά του υπολογιστικού συστήματος στο οποίο εκτελείται. Όμως, όπως θα φανεί και στην ενότητα 7.2, συγκρινόμενος με τον αλγόριθμο PSO, για τον οποίον μόνο μπορούν να αντληθούν αντίστοιχα δεδομένα, ο προτεινόμενος αλγόριθμος είναι σαφώς ταχύτερος. Τέλος, στον Πίνακα 5 που ακολουθεί παρουσιάζονται συγκεντρωμένα τα καλύτερα αποτελέσματα που πέτυχε ο προτεινόμενος αλγόριθμος CSO για κάθε ένα ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <61>

62 από τα δέκα αρχεία εισόδου στα 30 πειράματα που εκτελέστηκαν. Ο τρόπος παρουσίασης των αποτελεσμάτων σ αυτόν, αλλά και στους επόμενους πίνακες, είναι ο ίδιος με αυτόν του Πίνακα 4. Αρχείο εισόδου Πίνακας 5. Καλύτερα αποτελέσματα αλγόριθμου CSO ανά αρχείο εισόδου Κατανομή καθηγητών Κατανομή μαθημάτων Κενά καθηγητών Συνολικό κόστος Χρόνος εκτέλεσης (mins) 1 1(2) 1(1) 7(8) 11 25' 16'' (2) 2(2) 11(14) 18 32' 30'' (2) 3(3) 0(0) 5 2' 51'' (0) 1(1) 3(4) 5 7' 35'' (0) 0(0) 0(0) 0 1' 57'' (0) 0(0) 14(24) 24 42' 13'' (0) 5(11) 0(0) 11 1' 9'' (0) 0(0) 2(2) 2 2' 51'' (0) 6(10) 0(0) 10 2' 20'' (0) 8(18) 0(0) 18 4' 52'' Seed 7.2 Σύγκριση με άλλους αλγόριθμους Στην ενότητα αυτή τα αποτελέσματα του προτεινόμενου αλγόριθμου CSO, που παρουσιάστηκαν στον Πίνακα 4, συγκρίνονται με αυτά του Γενετικού Αλγόριθμου (Genetic Algorithm) [48], του Εξελικτικού Αλγόριθμου (Evolutionary Algorithm) [49], του Αλγόριθμου Προσομοιωμένης Ανόπτησης (Simulated Annealing) [49], του Αλγόριθμου Artificial Fish Swarm Optimization (AFSO Algorithm) [12], του Αλγόριθμου Particle Swarm Optimization (PSO Algorithm) [10] και του Αλγόριθμου Variable Neighborhood Search (VNS Algorithm) [11]. Όλοι οι προαναφερόμενοι αλγόριθμοι δοκιμάστηκαν στα ίδια δέκα αρχεία εισόδου με αυτά της παρούσας εργασίας. Στις συγκρίσεις που γίνονται, όταν συγκρίνονται δύο αποτελέσματα με ίδιο αριθμό εντός παρένθεσης, έστω Λ(Ν) και Μ(Ν) με Λ>Μ, τότε το αποτέλεσμα Λ(Ν) θεωρείται καλύτερο γιατί στην περίπτωση αυτή το πρόβλημα επιμερίζεται καλύτερα. Για παράδειγμα, έστω ότι πρέπει να συγκριθούν δύο περιπτώσεις κατά τις οποίες στην πρώτη υπάρχουν 3 καθηγητές με συνολικά 12 κενά, ενώ στη δεύτερη 6 καθηγητές με 12 κενά. Τότε η δεύτερη θεωρείται καλύτερη, καθώς το πρόβλημα ανά καθηγητή είναι μικρότερο, αφού σε κάθε καθηγητή αναλογούν κατά μέσο όρο 2 κενά, σε αντίθεση με την πρώτη, όπου σε κάθε καθηγητή αναλογούν κατά μέσο όρο 4 κενά. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <62>

63 7.2.1 Παρουσίαση συγκριτικών πινάκων Στον Πίνακα 6 γίνεται η σύγκριση με τον Genetic Algorithm. Παρατηρούμε ότι ο αλγόριθμος CSO παράγει καλύτερα αποτελέσματα σε ποσοστό 70% (σε 21 από τους 30 παράγοντες ποιότητας για όλα τα αρχεία εισόδου), τα ίδια αποτελέσματα σε ποσοστό 20% (6/30) και χειρότερα σε ποσοστό 10% (3/30). Αρχείο εισόδου Πίνακας 6. Σύγκριση αποτελεσμάτων Αλγόριθμων Genetic και CSO Genetic Algorithm [48] Κατανομή μαθημάτων Κατανομή καθηγητών Κενά καθηγητών Κατανομή καθηγητών CSO Algorithm Κατανομή μαθημάτων Κενά καθηγητών 1 18(40) 1(1) 25(34) 1(2) 1(1) 7(8) 2 15(34) 0(0) 30(52) 1(2) 2(2) 11(14) 3 4(8) 3(3) 9(9) 1(2) 3(3) 0(0) 4 5(12) 0(0) 17(29) 0(0) 1(1) 3(4) 5 1(2) 0(0) 8(8) 0(0) 0(0) 0(0) 7 24(50) 13(27) 24(32) 0(0) 0(0) 14(24) 8 4(8) 5(15) 0(0) 0(0) 5(11) 0(0) 9 7(14) 6(21) 0(0) 0(0) 0(0) 2(2) 10 4(6) 7(22) 0(0) 0(0) 6(10) 0(0) 11 6(14) 9(29) 0(0) 0(0) 8(18) 0(0) Στον Πίνακα 7 ακολουθεί η σύγκριση με τον Evolutionary Algorithm. Και στην περίπτωση αυτή ο αλγόριθμος CSO παράγει καλύτερα αποτελέσματα σε ποσοστό 70% (21/30), τα ίδια αποτελέσματα σε ποσοστό 20% (6/30) και χειρότερα σε ποσοστό 10% (3/30). Πίνακας 7. Σύγκριση αποτελεσμάτων Αλγόριθμων Evolutionary και CSO Αρχείο εισόδου Evolutionary Algorithm [49] Κατανομή μαθημάτων Κατανομή καθηγητών Κενά καθηγητών Κατανομή καθηγητών CSO Algorithm Κατανομή μαθημάτων Κενά καθηγητών 1 18(40) 1(1) 25(29) 1(2) 1(1) 7(8) 2 15(34) 0(0) 26(42) 1(2) 2(2) 11(14) 3 4(8) 3(3) 9(9) 1(2) 3(3) 0(0) 4 5(12) 0(0) 17(29) 0(0) 1(1) 3(4) 5 1(2) 0(0) 8(8) 0(0) 0(0) 0(0) 7 24(50) 13(27) 24(32) 0(0) 0(0) 14(24) 8 3(6) 5(15) 0(0) 0(0) 5(11) 0(0) 9 7(14) 6(21) 0(0) 0(0) 0(0) 2(2) 10 2(4) 7(22) 0(0) 0(0) 6(10) 0(0) 11 6(13) 9(29) 0(0) 0(0) 8(18) 0(0) Στον Πίνακα 8 γίνεται η σύγκριση με τον Simulated Annealing Algorithm. Στην περίπτωση αυτή ο αλγόριθμος CSO παράγει καλύτερα αποτελέσματα σε ποσοστό ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <63>

64 70% (21/30), τα ίδια αποτελέσματα σε ποσοστό 23% (7/30) και χειρότερα σε ποσοστό 7% (2/30). Πίνακας 8. Σύγκριση αποτελεσμάτων Αλγόριθμων Sim. Annealing και CSO Αρχείο εισόδου Sim. Annealing Algorithm [49] Κατανομή Κατανομή Κενά καθηγητών μαθημάτων καθηγητών Κατανομή καθηγητών CSO Algorithm Κατανομή μαθημάτων Κενά καθηγητών 1 6(11) 1(1) 11(17) 1(2) 1(1) 7(8) 2 7(14) 3(3) 10(20) 1(2) 2(2) 11(14) 3 3(4) 3(3) 1(1) 1(2) 3(3) 0(0) 4 4(11) 0(0) 7(17) 0(0) 1(1) 3(4) 5 0(0) 0(0) 3(3) 0(0) 0(0) 0(0) 7 7(12) 3(4) 11(24) 0(0) 0(0) 14(24) 8 3(5) 6(17) 0(0) 0(0) 5(11) 0(0) 9 5(11) 6(17) 0(0) 0(0) 0(0) 2(2) 10 2(6) 7(17) 0(0) 0(0) 6(10) 0(0) 11 5(11) 9(21) 0(0) 0(0) 8(18) 0(0) Στον Πίνακα 9 γίνεται η σύγκριση με τον AFSO Algorithm. Στην περίπτωση αυτή ο αλγόριθμος CSO παράγει καλύτερα αποτελέσματα σε ποσοστό 93% (28/30) και τα ίδια αποτελέσματα σε ποσοστό 7% (2/30). Σε κανέναν παράγοντα ποιότητας ο αλγόριθμος CSO δεν υστέρησε σε σχέση με τον AFSO. Αρχείο εισόδου Πίνακας 9. Σύγκριση αποτελεσμάτων Αλγόριθμων AFSO και CSO Κατανομή καθηγητών AFSO Algorithm [12] Κατανομή μαθημάτων Κενά καθηγητών Κατανομή καθηγητών CSO Algorithm Κατανομή μαθημάτων Κενά καθηγητών 1 3(6) 7(9) 28(59) 1(2) 1(1) 7(8) 2 4(8) 6(9) 28(68) 1(2) 2(2) 11(14) 3 3(5) 5(5) 12(18) 1(2) 3(3) 0(0) 4 2(3) 4(5) 16(48) 0(0) 1(1) 3(4) 5 0(0) 2(3) 7(10) 0(0) 0(0) 0(0) 7 2(4) 6(7) 30(85) 0(0) 0(0) 14(24) 8 2(4) 5(13) 7(11) 0(0) 5(11) 0(0) 9 0(0) 2(2) 12(25) 0(0) 0(0) 2(2) 10 0(1) 7(14) 9(12) 0(0) 6(10) 0(0) 11 2(4) 9(19) 14(25) 0(0) 8(18) 0(0) Στους Πίνακες 10 και 11 γίνεται η σύγκριση με τον PSO Algorithm. Ο συγκεκριμένος αλγόριθμος έχει υλοποιηθεί [47] με δύο διαφορετικούς compilers, τον DEV-C++ που χρησιμοποιήθηκε και στην υλοποίηση του αλγόριθμου CSO και τον lcc. Συγκρινόμενος με την πρώτη εκδοχή του PSO (Πίνακας 10), ο αλγόριθμος CSO παράγει καλύτερα αποτελέσματα σε ποσοστό 17% (5/30), τα ίδια αποτελέσματα σε ποσοστό 70% (21/30) και χειρότερα σε ποσοστό 13% (4/30). ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <64>

65 Πίνακας 10. Σύγκριση αποτελεσμάτων Αλγόριθμων PSO-DEVC και CSO Αρχείο εισόδου PSO Algorithm-DEVC [10] [47] Κατανομή Κατανομή Κενά καθηγητών μαθημάτων καθηγητών Κατανομή καθηγητών CSO Algorithm Κατανομή μαθημάτων Κενά καθηγητών 1 1(2) 2(2) 7(7) 1(2) 1(1) 7(8) 2 1(2) 2(2) 10(14) 1(2) 2(2) 11(14) 3 1(2) 3(3) 0(0) 1(2) 3(3) 0(0) 4 0(0) 0(0) 4(5) 0(0) 1(1) 3(4) 5 0(0) 0(0) 0(0) 0(0) 0(0) 0(0) 7 0(0) 1(1) 16(22) 0(0) 0(0) 14(24) 8 0(0) 5(11) 0(0) 0(0) 5(11) 0(0) 9 0(0) 0(0) 2(2) 0(0) 0(0) 2(2) 10 0(0) 6(10) 0(0) 0(0) 6(10) 0(0) 11 1(2) 8(17) 0(0) 0(0) 8(18) 0(0) Συγκρινόμενος με την δεύτερη εκδοχή του PSO (Πίνακας 11), ο αλγόριθμος CSO παράγει καλύτερα αποτελέσματα σε ποσοστό 20% (6/30), τα ίδια αποτελέσματα σε ποσοστό 70% (21/30) και χειρότερα σε ποσοστό 10% (3/30). Πίνακας 11. Σύγκριση αποτελεσμάτων Αλγόριθμων PSO-LCC και CSO Αρχείο εισόδου PSO Algorithm-LCC [10] [47] Κατανομή Κατανομή Κενά καθηγητών μαθημάτων καθηγητών Κατανομή καθηγητών CSO Algorithm Κατανομή μαθημάτων Κενά καθηγητών 1 2(4) 2(2) 6(8) 1(2) 1(1) 7(8) 2 1(2) 2(2) 12(14) 1(2) 2(2) 11(14) 3 1(2) 3(3) 1(1) 1(2) 3(3) 0(0) 4 0(0) 0(0) 3(4) 0(0) 1(1) 3(4) 5 0(0) 0(0) 0(0) 0(0) 0(0) 0(0) 7 0(0) 0(0) 14(25) 0(0) 0(0) 14(24) 8 0(0) 5(11) 0(0) 0(0) 5(11) 0(0) 9 0(0) 0(0) 2(2) 0(0) 0(0) 2(2) 10 0(0) 6(10) 0(0) 0(0) 6(10) 0(0) 11 2(4) 8(16) 0(0) 0(0) 8(18) 0(0) Στον Πίνακα 12 ο αλγόριθμος CSO συγκρίνεται με τον VNS Algorithm. Στην περίπτωση αυτή ο αλγόριθμος CSO παράγει καλύτερα αποτελέσματα σε ποσοστό 33% (10/30), τα ίδια αποτελέσματα σε ποσοστό 50% (15/30) και χειρότερα σε ποσοστό 17% (5/30). ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <65>

66 Αρχείο εισόδου Πίνακας 12. Σύγκριση αποτελεσμάτων Αλγόριθμων VNS και CSO Κατανομή καθηγητών VNS Algorithm [11] Κατανομή μαθημάτων Κενά καθηγητών Κατανομή καθηγητών CSO Algorithm Κατανομή μαθημάτων Κενά καθηγητών 1 2(5) 2(2) 6(7) 1(2) 1(1) 7(8) 2 3(7) 2(2) 10(11) 1(2) 2(2) 11(14) 3 0(0) 3(3) 0(0) 1(2) 3(3) 0(0) 4 1(2) 0(0) 3(5) 0(0) 1(1) 3(4) 5 0(0) 0(0) 0(0) 0(0) 0(0) 0(0) 7 0(0) 1(1) 14(23) 0(0) 0(0) 14(24) 8 0(0) 5(12) 0(0) 0(0) 5(11) 0(0) 9 0(0) 0(0) 2(2) 0(0) 0(0) 2(2) 10 0(0) 6(11) 0(0) 0(0) 6(10) 0(0) 11 1(2) 9(20) 0(0) 0(0) 8(18) 0(0) Προκειμένου να εξαχθούν πιο εύκολα συμπεράσματα για τις επιδόσεις του προτεινόμενου αλγόριθμου CSO, συγκεντρώνονται στον Πίνακα 13 τα προαναφερθέντα ποσοστά επιτυχίας των αποτελεσμάτων του αλγόριθμου CSO σε σύγκριση με τα αποτελέσματα των άλλων αλγόριθμων. Πίνακας 13. Συγκεντρωτικός πίνακας σύγκρισης του αλγόριθμου CSO με άλλους αλγόριθμους Αποτελέσματα CSO καλύτερα ίδια χειρότερα Genetic Algorithm [48] 70% 20% 10% Evolutionary Algorithm [49] 70% 20% 10% Sim. Annealing Algorithm [49] 70% 23% 7% AFSO Algorithm [12] 93% 7% 0% PSO Algorithm-DEVC [10] [47] 17% 70% 13% PSO Algorithm-LCC [10] [47] 20% 70% 10% VNS Algorithm [11] 33% 50% 17% ΜΕΣΗ ΤΙΜΗ 53% 37% 10% Επίσης, στον Πίνακα 14 παρουσιάζονται οι καλύτερες (ελάχιστες) τιμές του συνολικού κόστους (total cost), για κάθε αρχείο εισόδου και κάθε αλγόριθμο. Στην τελευταία στήλη δεξιά (στήλη Σ) υπάρχει το άθροισμα όλων των τιμών κόστους για κάθε αλγόριθμο. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <66>

67 Συνολικό κόστος Βασίλειος Ι. Σκουλλής, «Εφαρμογή σύγχρονων αλγόριθμων Cat Swarm Optimization για την αποδοτική επίλυση του Πίνακας 14. Καλύτερες τιμές συνολικού κόστους ανά αρχείο εισόδου για κάθε αλγόριθμο Συνολικό κόστος για αρχείο εισόδου Σ Genetic Algorithm [48] Evolutionary Algorithm [49] Sim. Annealing Algorithm [49] AFSO Algorithm [12] PSO Algorithm-DEVC [10] [47] PSO Algorithm-LCC [10] [47] VNS Algorithm [11] CSO Algorithm Προκειμένου να γίνουν πιο εύκολα αντιληπτά τα δεδομένα του Πίνακα 14, δημιουργήθηκε με βάση αυτόν το Διάγραμμα 1, το οποίο απεικονίζει γραφικά τις τιμές του συνολικού κόστους για κάθε αρχείο εισόδου και κάθε αλγόριθμο Genetic 60 Evolutionary Sim. Annealing AFSO 40 PSO-DEVC PSO-LCC VNS 20 CSO Αρχείο εισόδου Διάγραμμα 1. Καλύτερες τιμές συνολικού κόστους ανά αρχείο εισόδου και αλγόριθμο ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <67>

68 Όσο για τον χρόνο εκτέλεσης των αλγόριθμων, η μόνη σύγκριση που μπορεί να γίνει είναι με τον αλγόριθμο PSO και αυτό γιατί μόνο γι αυτόν υπάρχουν διαθέσιμα [47] τα εκτελέσιμα αρχεία exe και για τις δύο εκδοχές του. Για τους υπόλοιπους αλγόριθμους, μπορεί μεν για τους περισσότερους να αναφέρονται οι χρόνοι εκτέλεσης τους στις αντίστοιχες εργασίες, ωστόσο προκειμένου να είναι αξιόπιστη η σύγκριση τους θα έπρεπε όλοι να εκτελεστούν στο υπολογιστικό σύστημα της παρούσας εργασίας. Συνεπώς στον Πίνακα 15 αναγράφονται οι μέσοι χρόνοι εκτέλεσης μόνο για τις δύο εκδοχές του PSO και τον προτεινόμενο αλγόριθμο CSO, ενδεικτικά για κάποια από τα αρχεία εισόδου. Πίνακας 15. Σύγκριση χρόνων εκτέλεσης αλγόριθμων PSO και CSO Αρχείο εισόδου Μέσοι χρόνοι εκτέλεσης (mins) PSO-DEVC PSO-LCC CSO 3 5' 7'' 6' 5'' 3' 42'' 4 16' 25'' 18' 40'' 8' 43'' 5 4' 2'' 4' 35'' 2' 13'' 8 2' 8'' 2' 32'' 1' 17'' 9 4' 33'' 5' 37'' 3' 6'' 10 4' 26'' 5' 2'' 2' 31'' 11 8' 8'' 9' 24'' 5' 38'' Σχολιασμός επί των συγκρίσεων Όπως γίνεται αντιληπτό από τους Πίνακες 13, 14 και το Διάγραμμα 1, οι συγκρινόμενοι αλγόριθμοι χωρίζονται σε δύο κατηγορίες ανάλογα με τις επιδόσεις τους. Στην πρώτη συγκαταλέγονται οι αλγόριθμοι Genetic [48], Evolutionary [49], Simulated Annealing [49] και AFSO [12]. Οι συγκεκριμένοι αλγόριθμοι πέτυχαν αρκετά φτωχότερα αποτελέσματα από τους υπόλοιπους σε όλους τους παράγοντες ποιότητας. Στην δεύτερη κατηγορία υπάγονται οι δύο εκδοχές του αλγόριθμου PSO [9], ο αλγόριθμος VNS [11] και ο προτεινόμενος αλγόριθμος CSO, οι οποίοι πέτυχαν παραπλήσια αποτελέσματα πολύ καλύτερης ποιότητας. Σύμφωνα με τον Πίνακα 13, κατά μέσο όρο το 53% των αποτελεσμάτων του αλγόριθμου CSO είναι καλύτερα από αυτά των υπόλοιπων αλγόριθμων, ενώ μόνο το 10% είναι χειρότερα. Επίσης κανένας αλγόριθμος δεν πέτυχε συνολικά καλύτερα αποτελέσματα από τον CSO. Ο πιο κοντινός ποιοτικά αλγόριθμος με τον CSO είναι ο PSO και συγκεκριμένα όταν υλοποιείται με τον compiler DEV-C++. Στην περίπτωση αυτή ο αλγόριθμος CSO παράγει καλύτερα αποτελέσματα σε ποσοστό 17%, ενώ χειρότερα σε ποσοστό 13%, οπότε πρακτικά οι δύο αλγόριθμοι παράγουν της ίδιας ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <68>

69 ποιότητας ωρολόγια προγράμματα. Η πολύ καλή εικόνα του CSO επαναλαμβάνεται και στον Πίνακα 14, όπου σε 7 από τα 10 αρχεία εισόδου επιτυγχάνει το χαμηλότερο συνολικό κόστος, απέχοντας ελάχιστα από την καλύτερη (χαμηλότερη) τιμή στα υπόλοιπα 3. Επίσης λαμβάνοντας υπ όψιν το γενικό άθροισμα Σ για τα κόστη, επιβεβαιώνεται η πρακτική ισοδυναμία των αλγόριθμων PSO-DEVC και CSO, αφού αυτοί οι δύο παρουσιάζουν το ίδιο γενικό άθροισμα. Όσο για τους χρόνους εκτέλεσης, στοιχεία υπάρχουν στον Πίνακα 15 μόνο για τις δύο εκδοχές του αλγόριθμου PSO. Συγκρινόμενος ο αλγόριθμος CSO με τον PSO- DEVC αποδεικνύεται ταχύτερος κατά 30-45%, ενώ σε σχέση με τον PSO-LCC είναι ταχύτερος κατά 40-55%. Έτσι, αποτιμώντας συνολικά την απόδοση του προτεινόμενου αλγόριθμου CSO, βγαίνει το συμπέρασμα ότι παράγει συνολικά πολύ καλά αποτελέσματα, καλύτερης ποιότητας από σχεδόν όλους τους αλγόριθμους που εφαρμόστηκαν στο πρόβλημα του School Timetabling. Επίσης φαίνεται να είναι αρκετά ταχύς, τουλάχιστον με βάση τα στοιχεία που αναφέρονται για τους υπόλοιπους αλγόριθμους στη βιβλιογραφία. 7.3 Σύγκριση με το εμπορικό λογισμικό asc TimeTables Το εμπορικό λογισμικό asc TimeTables [19] είναι ένα βραβευμένο και πλήρες λογισμικό δημιουργίας ωρολογίων προγραμμάτων για σχολεία, το οποίο κυκλοφορεί εδώ και 20 χρόνια και το οποίο χρησιμοποιούν περισσότερα από σχολεία σε 23 χώρες. Χρησιμοποιείται ευρέως και στην Ελλάδα από τα περισσότερα σχολεία για την δημιουργία των ωρολογίων προγραμμάτων τους. Στην ιστοσελίδα του παρέχει τη δυνατότητα στον υποψήφιο χρήστη του να το δοκιμάσει, κατεβάζοντας μία trial version, της οποίας ο μόνος περιορισμός είναι ότι δεν εξάγει τα αποτελέσματα και τοποθετεί ένα υδατογράφημα σε όλες τις εκτυπώσεις. Στον Πίνακα 16 γίνεται η σύγκριση του προτεινόμενου αλγόριθμου CSO με το asc TimeTables, στα ίδια βέβαια αρχεία εισόδου που χρησιμοποιήθηκαν και με τους άλλους αλγόριθμους. Παρατηρούμε ότι ο αλγόριθμος CSO παράγει καλύτερα αποτελέσματα σε ποσοστό 67% (20/30), τα ίδια αποτελέσματα σε ποσοστό 30% (9/30) και χειρότερα σε ποσοστό 3% (1/30). Επίσης, όπως εύκολα συνάγεται από τον ίδιο πίνακα, το συνολικό κόστος σε κάθε αρχείο εισόδου είναι σαφώς μικρότερο ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <69>

70 άρα παράγονται ποιοτικότερα ωρολόγια προγράμματα όταν χρησιμοποιείται ο αλγόριθμος CSO. Πίνακας 16. Σύγκριση αποτελεσμάτων λογισμικού asc TimeTables και CSO Αρχείο εισόδου Κατανομή καθηγητών asc TimeTables [19] Κατανομή μαθημάτων Κενά καθηγητών Κατανομή καθηγητών CSO Algorithm Κατανομή μαθημάτων Κενά καθηγητών 1 16(35) 4(5) 14(25) 1(2) 1(1) 7(8) 2 20(43) 4(6) 17(26) 1(2) 2(2) 11(14) 3 1(4) 3(3) 0(0) 1(2) 3(3) 0(0) 4 8(20) 4(5) 11(20) 0(0) 1(1) 3(4) 5 0(0) 3(4) 0(0) 0(0) 0(0) 0(0) 7 16(34) 6(8) 24(35) 0(0) 0(0) 14(24) 8 0(0) 5(25) 0(0) 0(0) 5(11) 0(0) 9 1(4) 3(4) 0(0) 0(0) 0(0) 2(2) 10 0(0) 6(21) 0(0) 0(0) 6(10) 0(0) 11 1(1) 8(41) 0(0) 0(0) 8(18) 0(0) Κεφάλαιο 8. Παρατηρήσεις-Γενικεύσεις-Συμπεράσματα Στο παρόν κεφάλαιο και στην ενότητα 8.1 αναφέρονται μερικές παρατηρήσεις σχετικά με την επιλογή των παραμέτρων κόστους και στην ενότητα 8.2 προτείνονται τρόποι επέκτασης και γενίκευσης του προτεινόμενου αλγόριθμου CSO. Τέλος, στην ενότητα 8.3 εξάγονται τα συμπεράσματα της εργασίας. 8.1 Παρατηρήσεις Όπως τονίστηκε και στην ενότητα 5.4 της παρούσας εργασίας, η επιλογή των τιμών των παραμέτρων κόστους που χρησιμοποιούνται στην υλοποίηση της αντικειμενικής συνάρτησης επηρεάζει δραματικά και την ποιότητα των παραγόμενων ωρολογίων προγραμμάτων. Οι τρεις παράγοντες που καθορίζουν τα ποιοτικά χαρακτηριστικά ενός εφικτού ωρολογίου προγράμματος, δηλαδή η διασπορά των διδασκαλιών των καθηγητών, η διασπορά των μαθημάτων των τάξεων και τα κενά των καθηγητών είναι ανταγωνιστικοί μεταξύ τους και δεν γίνεται να είναι ταυτόχρονα και οι τρείς βέλτιστοι. Συνεπώς η επιλογή των τιμών των βαρών τους δε μπορεί να γίνει χωρίς να υπάρξουν κάποιοι συμβιβασμοί. Αυτός ο εγγενής περιορισμός όμως, δίνει ταυτόχρονα τη δυνατότητα στο χρήστη να τις ρυθμίσει με τέτοιο τρόπο, ώστε να επιτύχει άριστο αποτέλεσμα για τον παράγοντα ποιότητας που τον ενδιαφέρει περισσότερο, με ταυτόχρονη διατήρηση των άλλων δύο σε ικανοποιητικά επίπεδα. Βεβαίως, θα πρέπει να τονιστεί ότι η τιμή του βάρους των ανελαστικών περιορισμών ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <70>

71 θα πρέπει την ίδια στιγμή να είναι μία τάξη μεγέθους μεγαλύτερη από τις τιμές των βαρών των προαναφερθέντων ελαστικών περιορισμών, ούτως ώστε να είναι σπάνιο το ενδεχόμενο εφικτά αλλά μη ποιοτικά ωρολόγια προγράμματα να έχουν μεγαλύτερο συνολικό κόστος από τα μη εφικτά ωρολόγια προγράμματα. Ταυτόχρονα το βάρος αυτό δεν πρέπει να είναι πάρα πολύ μεγάλο, για να μη περιορίζεται η ποικιλομορφία που παρέχουν τα ανέφικτα ωρολόγια προγράμματα. Άλλοι παράγοντες που επηρεάζουν τόσο την ποιότητα των παραγόμενων ωρολογίων προγραμμάτων με τον προτεινόμενο αλγόριθμο, όσο και τις επιδόσεις του, είναι οι παράμετροι του ίδιου του αλγόριθμου CSO, όπως αυτές περιγράφονται στην ενότητα 4.3. Η επιλογή των τιμών τους έγινε αρχικά με βάση την βιβλιογραφία και στην συνέχεια, μετά από πολλά πειράματα, οριστικοποιήθηκαν στις βέλτιστες τους τιμές, όπως αυτές αναφέρονται στην ενότητα 6.2 της παρούσας εργασίας. Ως βέλτιστη τιμή θεωρήθηκε αυτή που παράγει τα καλύτερα αποτελέσματα στον λιγότερο χρόνο. Πρακτικά αυτό σημαίνει ότι ίσως υπάρχουν περιθώρια περαιτέρω βελτίωσης των ήδη πολύ καλών αποτελεσμάτων, αν αλλάξουν κάποιες βασικές παράμετροι, όπως για παράδειγμα ο αριθμός των cats ή των επαναλήψεων, εις βάρος βέβαια του χρόνου εκτέλεσης του αλγόριθμου. 8.2 Επεκτάσεις γενικεύσεις Εκτός από τις ρυθμίσεις των παραμέτρων που αναφέρθηκαν στην ενότητα 8.1, είναι αρκετά εύκολη η προσαρμογή του προτεινόμενου αλγόριθμου CSO για την κατασκευή ωρολογίων προγραμμάτων και για οποιοδήποτε άλλο είδος εκπαιδευτικής μονάδας. Για να γίνει αυτό αρκεί να τροποποιηθεί κατάλληλα η αντικειμενική συνάρτηση, ώστε να συμπεριλαμβάνει κι άλλους περιορισμούς ανελαστικούς ή ελαστικούς. Επίσης είναι πολύ εύκολη και η επέκταση του, ώστε εκτός από τα ωρολόγια προγράμματα ανά τάξη και καθηγητή να εξάγει και συγκεντρωτικό ωρολόγιο πρόγραμμα με όλους τους καθηγητές ή όποια άλλη μορφή προγράμματος ζητηθεί. Ο προτεινόμενος αλγόριθμος μπορεί επίσης να μεταγραφεί σε κάποια άλλη ισχυρή αντικειμενοστρεφή γλώσσα προγραμματισμού, όπως για παράδειγμα η Java, η οποία είναι και platform-independent. Με τον τρόπο αυτό θα είναι πιο εύκολη η μεταφορά και η εγκατάσταση του σε άλλα λειτουργικά συστήματα ή πλατφόρμες. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <71>

72 Απαραίτητη για την ευρεία χρήση του προτεινόμενου αλγόριθμου στις σχολικές μονάδες είναι επίσης και η δημιουργία ενός σύγχρονου και ολοκληρωμένου γραφικού περιβάλλοντος φιλικού στο χρήστη, το οποίο θα του δίνει τη δυνατότητα να εισάγει/εξάγει δεδομένα εύκολα καθώς και να πειραματιστεί με διάφορες τιμές παραμέτρων του αλγόριθμου. Βέβαια, στο σημείο αυτό θα πρέπει να αναφερθεί ότι στα πλαίσια της παρούσας εργασίας έχει ήδη δημιουργηθεί μία απλή διεπαφή σε PHP/HTML, η οποία διευκολύνει σημαντικά την εισαγωγή/εξαγωγή των δεδομένων και μπορεί να χρησιμοποιηθεί εναλλακτικά από τον ενδιαφερόμενο, ωστόσο αυτή απέχει αρκετά από το να χαρακτηριστεί πλήρης. Οδηγίες για την εγκατάσταση και χρήση αυτής της διεπαφής βρίσκονται στο Παράρτημα Ε. Τέλος, θα μπορούσε να αξιοποιηθεί και η δυνατότητα multithreading που παρέχουν αρκετές γλώσσες προγραμματισμού, ώστε ο αλγόριθμος να εκμεταλλεύεται πλήρως τις δυνατότητες των σύγχρονων υπολογιστικών συστημάτων, βελτιώνοντας σημαντικά τις επιδόσεις του στον τομέα του χρόνου εκτέλεσης. 8.3 Συμπεράσματα Η εφαρμογή ενός σύγχρονου Μετα-ευρετικού Αλγόριθμου στο πρόβλημα του School Timetabling, που είναι το θέμα της παρούσας εργασίας, αποτελεί ένα παράδειγμα εφαρμογής σε ένα ομολογουμένως πολύπλοκο πρόβλημα βελτιστοποίησης. Αν και κύριο χαρακτηριστικό των συγκεκριμένων αλγόριθμων αποτελεί η μη εξειδίκευσή τους σε κάποιο πρόβλημα, η προτεινόμενη υλοποίηση παρέχει μία πολύ ικανοποιητική λύση, τόσο ποιοτικά, όσο και από πλευράς επιδόσεων. Αυτό αποδεικνύει τις δυνατότητες που υπάρχουν στον κλάδο της Υπολογιστικής Νοημοσύνης, οι οποίες συνδυαζόμενες με την αλματώδη πρόοδο στον τομέα του υλικού (hardware) των υπολογιστικών συστημάτων, υπόσχονται στο μέλλον ακόμη καλύτερα αποτελέσματα. Βεβαίως, απαραίτητη προϋπόθεση για κάτι τέτοιο είναι η πολύ καλή γνώση του προβλήματος που μελετάται, αλλά και η επιτυχημένη προσαρμογή του εκάστοτε αλγόριθμου ή της εκάστοτε τεχνικής στο πρόβλημα. Η επιτυχία της προσαρμογής ωστόσο εξαρτάται τις περισσότερες φορές από παραμέτρους των οποίων η συμπεριφορά δε μπορεί να προβλεφθεί επακριβώς λόγω της στοχαστικής φύσης των συγκεκριμένων αλγόριθμων και τεχνικών. Στην παρούσα Διπλωματική Εργασία παρουσιάστηκε ο σχεδιασμός και η υλοποίηση ενός αλγόριθμου, ο οποίος βασίστηκε στον Μετα-ευρετικό Αλγόριθμο Cat ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <72>

73 Swarm Optimization και ο οποίος εφαρμόστηκε στο πρόβλημα του School Timetabling στα σχολεία Δευτεροβάθμιας Εκπαίδευσης της χώρας μας. Τα ωρολόγια προγράμματα που κατασκεύασε ο προτεινόμενος αλγόριθμος συγκρίθηκαν με αυτά που παρήγαγαν διάφοροι άλλοι αλγόριθμοι σε ανάλογες εργασίες, καθώς και με αυτά που παρήγαγε το εμπορικό λογισμικό asc TimeTables. Οι συγκρίσεις έγιναν με βάση τα δεδομένα που ελήφθησαν από δέκα σχολεία της Πάτρας. Τα πειραματικά αποτελέσματα έδειξαν ότι ο προτεινόμενος αλγόριθμος κατασκευάζει ποιοτικά ωρολόγια προγράμματα σε σύντομο χρονικό διάστημα και μάλιστα αυτά είναι καλύτερης ποιότητας από τους περισσότερους αλγόριθμους που εφαρμόστηκαν μέχρι στιγμής στο πρόβλημα του School Timetabling. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <73>

74 Βιβλιογραφικές αναφορές [1] Wikipedia, [Ηλεκτρονικό]. Available: [Πρόσβαση 29 Μάρτιος 2015]. [2] J. McCarthy, «What is Artificial Intelligence?,» 12 Νοέμβριος [Ηλεκτρονικό]. Available: [Πρόσβαση 29 Μάρτιος 2015]. [3] Eberhart R. C., Kennedy J., A new optimizer using particle swarm theory, 1995, pp [4] Chu Shu-Chuan, Tsai Pei-Wei, Computational intelligence based on the behavior of cats, τόμ. III, 2007, pp [5] Pham, D T; Ghanbarzadeh, A; Koç, E; Otri, S; Rahim, S; Zaidi, M, The Bees Algorithm A Novel Tool for Complex Optimisation, 2006, pp [6] Kirkpatrick S., Gelatt Jr. C.D., Vecchi M.P., Optimization by Simulated Annealing, τόμ. 220, 1983, pp [7] Wikipedia, «Τεχνητή νοημοσύνη,» 25 Μάρτιος [Ηλεκτρονικό]. Available: [Πρόσβαση 29 Μάρτιος 2015]. [8] N. Pillay, «A survey of school timetabling research,» σε Annals of Operations Research, τόμ. 218, Springer US, 2014, pp [9] Orwell (Johan Mes), «Dev-C++ Blog,» [Ηλεκτρονικό]. Available: [Πρόσβαση 29 Μάρτιος 2015]. [10] I. Tassopoulos και G. Beligiannis, «A hybrid particle swarm optimization based algorithm for high school timetabling problems,» Applied Soft Computing, τόμ. 12, αρ. 11, p , [11] Ι. Γκάτσης, «Αποδοτική επίλυση του προβλήματος School Timetabling (εύρεση βέλτιστου ωρολογίου προγράμματος για σχολεία δευτεροβάθμιας εκπαίδευσης) με χρήση αλγόριθμων Variable Neighborhood Search (VNS),» Ε.Α.Π., Πάτρα, [12] Ι. Κατσαραγάκης, «Εφαρµογή Σύγχρονων Τεχνικών Υπολογιστικής Νοηµοσύνης για την Αποδοτική Επίλυση του Προβλήματος School Timetabling,» Ε.Α.Π., Πάτρα, [13] J. Ullman, «NP-Complete Scheduling Problems,» Journal of Computer and System Sciences, τόμ. 10, αρ. 3, pp , [14] Wikipedia, «NP-complete,» 24 Μάρτιος [Ηλεκτρονικό]. Available: [Πρόσβαση 30 Μάρτιος 2015]. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <74>

75 [15] Wikipedia, «Vehicle routing problem,» 30 Μάρτιος [Ηλεκτρονικό]. Available: [Πρόσβαση 30 Μάρτιος 2015]. [16] Crawford, B.; Soto, R.; Johnson, F.; Monfroy, E.; Paredes, F., «A Max Min Ant System algorithm to solve the Software Project Scheduling Problem,» Expert Systems with Applications, τόμ. 41, αρ. 15, p , [17] Applegate, D.; Cook, W.;, «A Computational Study of the Job-Shop Scheduling Problem,» ORSA Journal on Computing, τόμ. 3, αρ. 2, pp , [18] Chu, Shu-Chuan; Chen, Yi-Tin; Ho, Jiun-Huei;, «Timetabling scheduling using particle swarm optimization,» σε 1st International Conference on Innovative Computing, Information and Control, [19] asc Applied Software Consultants, «asc Timetables,» [Ηλεκτρονικό]. Available: [Πρόσβαση 29 Μάρτιος 2015]. [20] Liviu Lalescu και άλλοι, «FET Free Timetabling Software,» [Ηλεκτρονικό]. Available: [Πρόσβαση 29 Μάρτιος 2015]. [21] Eikelder, H.M.; Willemen, R.J.;, «Some Complexity Aspects of Secondary School Timetabling Problems,» Lecture Notes in Computer Science, αρ. 2079, [22] Cooper, T.B.; Kingston, J.H.;, «The complexity of timetable construction problems,» σε Selected papers from the first international conference on the practice and theory of automated timetabling, 1996, pp [23] Schaerf, A.;, «A Survey of Automated Timetabling,» Artificial Intelligence Review, τόμ. 13, αρ. 2, pp , [24] Aust, R.J.;, «An improvement algorithm for school timetabling,» Computer Journal, τόμ. 19, αρ. 4, pp , [25] Burke, E.K.; de Wera, D.; Kingston, J.F.;, «Applications of timetabling,» σε Handbook of graph theory, [26] Hertz, A.; Robert, V.;, «Constructing a course schedule by solving a series of assignment type problems,» European Journal of Operational Research, αρ. 108, pp , [27] Abramson, D.;, «Constructing school timetables using simulated annealing: sequential and parallel algorithms,» Management Science, τόμ. 37, αρ. 1, pp , [28] Beligiannis, G.N.; Moschopoulos, C.N.; Kaperonis, G.P.; Likothanassis, S.D.;, «Applying evolutionary computation to the school timetabling problem: the Greek case,» Computers and Operations Research, αρ. 35, pp , [29] Wright, M.;, «School timetabling using heuristic search,» Journal of the Operational Research Society, αρ. 47, pp , ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <75>

76 [30] Birbas, T.; Daskalaki, S.; Housos, E., «School timetabling for quality student and teacher schedules,» Journal of Scheduling, τόμ. 12, αρ. 2, pp , [31] Valouxis, C.; Housos, E.;, «Constraint programming approach for school timetabling,» Computers and Operations Research, αρ. 30, pp , [32] Moura, A.V.; Scaraficci, R.A.;, «A GRASP strategy for a more constrained school timetabling problem,» International Journal of Operational Research, τόμ. 7, αρ. 2, pp , [33] Abboud, N.; Sakawa, M.; Inuiguchi, M.;, «School scheduling using threshold accepting,» Cybernetics and Systems, τόμ. 29, αρ. 6, pp , [34] Lara, C.; Flores, J.J.; Calderon, F.;, «Solving a school timetabling problem using a bee algorithm,» Lecture notes in computer science, αρ. 5317, pp , [35] Kwan, A.C.M.; Chung, K.C.K.; Yip, K.K.K.; Tam, V.;, «An automated school timetabling system using hybrid intelligent techniques,» Lecture notes in computer science, αρ. 2871, pp , [36] Chu, Shu-Chuan; Tsai, Pei-Wei; Pan, Jeng-Shyang;, «Cat Swarm Optimization,» σε Proceedings of the 9th Pacific Rim International Conference on Artificial Intelligence, LNAI 4099, 2006, pp [37] Blum, C.; Roli, A.;, «Metaheuristics in combinatorial optimization: Overview and conceptual comparison,» ACM Computing Surveys, τόμ. 35, αρ. 3, p , [38] Fister, Iztok Jr.; Yang, Xin-She; Fister, Iztok; Brest, Janez; Fister, Dusan;, «A Brief Review of Nature-Inspired Algorithms for Optimization,» E LEKTROTEHNISKI VESTNIK, τόμ. 80, αρ. 3, pp. 1-7, [39] Orouskhani, M.; Orouskhani, Y.; Mansouri, M.;Teshnehlab, M., «A Novel Cat Swarm Optimization Algorithm for Unconstrained Optimization Problems,» International Journal of Information Technology and Computer Science (IJITCS), τόμ. 5, αρ. 11, pp , [40] Tsai, Pei-Wei; Pan, Jeng-Shyang; Chen, Shyi-Ming; Liao, Bin-Yih; Hao, Szu-Ping;, «Parallel Cat Swarm Optimization,» Proceedings of the Seventh International Conference on Machine Learning and Cybernetics, τόμ. 6, pp , [41] Tsai, Pei-Wei; Pan, Jeng-Shyang; Chen, Shyi-Ming; Liao, Bin-Yih;, «Enhanced parallel cat swarm optimization based on the Taguchi method,» Expert Systems with Applications, τόμ. 39, αρ. 7, p , [42] Sharafi, Yousef; Khanesar, Mojtaba Ahmadieh; Teshnehlab, Mohammad;, «Discrete Binary Cat Swarm Optimization Algorithm,» 3rd International Conference on Computer,Control & Communication, pp. 1-6, ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <76>

77 [43] Orouskhani, Maysam; Mansouri, Mohammad; Teshnehlab, Mohammad;, «Average- Inertia Weighted Cat Swarm Optimization,» σε Advances in Swarm Intelligence, 2011, pp [44] Pappula, Lakshman; Ghosh, Debalina;, «Linear antenna array synthesis using cat swarm optimization,» International Journal of Electronics and Communications, τόμ. 68, αρ. 6, pp , [45] Bouzidi, Abdelhamid; Riffi, Mohammed Essaid;, «Discrete Cat Swarm Optimization to Resolve the Traveling Salesman Problem,» International Journal of Advanced Research in Computer Science and Software Engineering, τόμ. 3, αρ. 9, pp , [46] J. P. Yusiong, «Optimizing Artificial Neural Networks using Cat Swarm Optimization Algorithm,» International Journal of Intelligent Systems and Applications(IJISA), τόμ. 5, αρ. 1, pp , [47] I. Tassopoulos και G. Beligiannis, «A hybrid particle swarm optimization based algorithm for high school timetabling problems,» [Ηλεκτρονικό]. Available: [Πρόσβαση 19 Μάϊος 2015]. [48] Beligiannis, G.N.; Moschopoulos, C.; Likothanassis, S.D.;, «A genetic algorithm approach to school timetabling,» Journal of the Operational Research Society, τόμ. 60, pp , [49] Zhang, Defu; Liu, Yongkai; M'Hallah, Rym; Leung, Stephen C.H.;, «A simulated annealing with a new neighborhood structure based algorithm for high school timetabling problems,» European Journal of Operational Research, τόμ. 3, αρ. 203, pp , ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <77>

78 Παράρτημα Α. Διαγράμματα Ροής Έναρξη Δημιούργησε Ν cats Αρχικοποίησε τη θέση, τις ταχύτητες και το Mode κάθε cat Υπολόγισε την Fitness Value κάθε cat και αποθήκευσε αυτό με την καλύτερη Fitness Value ΝΑΙ Είναι το cat k σε Seeking Mode; ΟΧΙ Εφάρμοσε για το cat k τις ενέργειες της Seeking Mode Εφάρμοσε για το cat k τις ενέργειες της Tracing Mode Θέσε τα cats τυχαία σε ένα Mode στην αναλογία που ορίζεται από την παράμετρο MR Ικανοποιείται η συνθήκη τερματισμού; ΟΧΙ ΝΑΙ Λήξη Διάγραμμα 2. Διάγραμμα Ροής του πρωτότυπου αλγόριθμου CSO ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <78>

79 ΕΝΑΡΞΗ Αρχικοποίησε 30 cats Θέσε την global_best fitness στην μεγαλύτερη δυνατή τιμη Θέσε iterations = 1 Θέσε k = 1 Υπολόγισε την Fitness Value του cat k Είναι η Fitness Value του cat k μικρότερη ή ίση με την global_best; ΟΧΙ ΝΑΙ Θέσε την global_best ίση με την Fitness value και το cat k ως το global_best cat Επίλεξε έναν τυχαίο αριθμό μεταξύ 0 και 1 ΝΑΙ Είναι ο τυχαίος αριθμός μεγαλύτερος από το MR; ΟΧΙ Εφάρμοσε για την cat k τις ενέργειες της Seeking Mode Εφάρμοσε για την cat k τις ενέργειες της Tracing Mode Είναι το k μικρότερο του 30 ; ΝΑΙ k=k+1 ΟΧΙ iterations=iterations+1 NAI Είναι το iterations μικρότερο του 5000; ΟΧΙ ΛΗΞΗ Διάγραμμα 3. Διάγραμμα Ροής της core process του προτεινόμενου αλγόριθμου ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <79>

80 ΕΝΑΡΞΗ Όρισε σαν best_fitness την παρούσα fitness του cat ΝΑΙ Είναι το SPC true; ΟΧΙ Δημιούργησε j=smp-1 αντίγραφα (cat_copy) και όρισε το αρχικό cat ως υποψήφιο Δημιούργησε j=smp αντίγραφα (cat_copy) Υπολόγισε τον αριθμό των timeslots που θα αντικατασταθούν (tc) και τον αριθμό των αντιμεταθέσεων κελιών (sm) που θα γίνουν k=1 Αντικατάστησε tc τυχαία timeslots του cat_copy(k) με αντίστοιχα του global_best cat l=1 Κάνε μία τυχαία αντιμετάθεση κελιών στο cat_copy(k) Είναι έγκυρη η αντιμετάθεση ; ΟΧΙ ΝΑΙ Υπολόγισε την νέα fitness του cat_copy(k) ΟΧΙ Είναι η νέα fitness του cat_copy(k) μικρότερη ή ίση με την best_fitness; ΝΑΙ Όρισε σαν best_fitness τη νέα fitness του cat_copy(k) και όρισέ το ως υποψήφιο Είναι l < sm ; ΟΧΙ ΝΑΙ l=l+1 k=k+1 ΝΑΙ Είναι k < j ; ΟΧΙ Υπολόγισε τις fitness values (FS) όλων των υποψηφίων Υπολόγισε την πιθανότητα επιλογής (P i) κάθε υποψηφίου ΟΧΙ Είναι όλες οι FS ίσες; ΝΑΙ Θέσε την πιθανότητα επιλογής (P i) κάθε υποψηφίου ίση με 1 Επίλεξε τυχαία ένα από τα υποψήφια cat_copy Ενημέρωσε το αρχικό cat ΛΗΞΗ Διάγραμμα 4. Διάγραμμα Ροής του Seeking Mode του προτεινόμενου αλγόριθμου ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <80>

81 ΕΝΑΡΞΗ Υπολόγισε την similarity του cat με το global_best cat Υπολόγισε την απόσταση (distance) του cat από το global_best cat με τη σχέση distance = (classes_no * 35) - similarity Υπολόγισε τον αριθμό των αντιμεταθέσεων κελιών που θα γίνουν στο cat με τη σχέση cs = round(rand[01] * c1 * distance) k=1 Κάνε μία τυχαία αντιμετάθεση κελιών στο cat k=k+1 ΝΑΙ Είναι k < cs ; ΟΧΙ ΛΗΞΗ Διάγραμμα 5. Διάγραμμα Ροής του Tracing Mode του προτεινόμενου αλγόριθμου ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <81>

82 Παράρτημα Β. Αρχεία εισόδου και εξόδου Κωδικοποίηση αρχείων εισόδου Στις βιβλιογραφικές αναφορές [10], [11] και [12] χρησιμοποιείται µια κωδικοποίηση των αρχείων εισόδου με την οποία µε συνοπτικό και πρακτικό τρόπο εισάγονται σε αρχεία κειμένου όλες οι πληροφορίες που αφορούν τις απαιτήσεις που πρέπει να ικανοποιεί το πρόγραμμα που θα παραχθεί. Αυτή η κωδικοποίηση υιοθετήθηκε και στην παρούσα εργασία. Η δομή που πρέπει να έχει ένα τέτοιο αρχείο κειμένου (txt file) αναλύεται χρησιμοποιώντας ένα μέρος μόνο από το αρχείο εισόδου 2.txt ως παράδειγμα. Γενικό μέρος 1 (σημαίνει ότι το αρχείο περιέχει συνδιδασκαλίες αν η τιμή ήταν 0 δεν θα περιείχε) (υπάρχουν 11 τάξεις και 35 καθηγητές) A1 35 (το πρώτο τμήμα με εσωτερική αρίθμηση 0 είναι το Α1 κι έχει 35 ώρες A2 35 A3 35 A4 35 B1 35 B2 35 B3 35 B4 35 G1 35 G2 35 G3 35 διδασκαλίας εβδομαδιαίως) Τμήμα στοιχείων καθηγητών 1_FILOLOGOS 1 (ο πρώτος καθηγητής με εσωτερική αρίθμηση 0 λέγεται 1_FILOLOGOS και ο αριθμός 1 που ακολουθεί δηλώνει ότι συμμετέχει σε συνδιδασκαλία αν ακολουθούσε 0, τότε δεν θα συμμετείχε σε συνδιδασκαλία) (διδάσκει στο τμήμα με εσωτερική αρίθμηση 3, δηλαδή στο Α4, για 9 ώρες εβδομαδιαίως και σε 2 μαθήματα) ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <82>

83 -1 (ο αριθμός -1 σηματοδοτεί το τέλος των αναθέσεων για τον συγκεκριμένο καθηγητή άρα ο καθηγητής διδάσκει μόνο στο προαναφερθέν τμήμα) -1 (ο δεύτερος αριθμός -1 σηματοδοτεί το τέλος των ωρών μη διαθεσιμότητας του συγκεκριμένου καθηγητή άρα ο καθηγητής δεν έχει κώλυμα μη διαθεσιμότητας κάποια ημέρα και είναι διαθέσιμος όλη την εβδομάδα) 3_THEOLOGOS 0 (ο συγκεκριμένος καθηγητής ονομάζεται 3_THEOLOGOS και δεν συμμετέχει σε συνδιδασκαλία, αφού ακολουθεί ο αριθμός 0) (διδάσκει στο τμήμα με εσωτερική αρίθμηση 7, δηλαδή (τέλος αναθέσεων) στο Β4, για 2 ώρες εβδομαδιαίως και σε 1 μάθημα) (ο καθηγητής δεν είναι διαθέσιμος για διδασκαλία τα συγκεκριμένα timeslots η αρίθμηση ξεκινά από 0 την 1 η ώρα της Δευτέρας μέχρι 34 την 7 η ώρα της Παρασκευής) (τέλος ωρών μη διαθεσιμότητας) 5_FILOLOGOS 1 (ο συγκεκριμένος καθηγητής ονομάζεται 5_FILOLOGOS και συμμετέχει σε συνδιδασκαλία, αφού ακολουθεί ο αριθμός 1) (ο καθηγητής διδάσκει στο τμήμα 3, δηλαδή το Α4, για 0 ώρες και 0 μαθήματα αυτό σημαίνει ότι πρόκειται για συνδιδασκαλία, η οποία επαληθεύεται από τη γραμμή στο μέρος του αρχείου που ορίζονται οι συνδιδασκαλίες. Μόνο στον πρώτο καθηγητή σε μία συνδιδασκαλία ορίζονται οι ώρες και τα μαθήματα. Ο ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <83>

84 -1-1 δεύτερος εμφανίζει μηδενικά, όπως στην συγκεκριμένη περίπτωση.) Τμήμα στοιχείων συνδιδασκαλιών (Το τμήμα με αριθμό 3, δηλαδή το Α4, χωρίζεται σε δύο μικρότερα και αυτό γίνεται κατανοητό από την επανάληψη του αριθμού 3. Οι δύο καθηγητές που συνδιδάσκουν είναι αυτός με τον αριθμό 0, δηλαδή ο 1_FILOLOGOS και αυτός με τον αριθμό 4, δηλαδή ο 5_FILOLOGOS και διδάσκουν για 9 ώρες εβδομαδιαίως σε 2 μαθήματα) (Παρόμοια περίπτωση με την προηγούμενη. Οι καθηγητές 3 και 10 συνδιδάσκουν στο τμήμα 7 για 8 ώρες σε 3 μαθήματα εβδομαδιαίως) (Εδώ υπάρχει μία άλλη μορφή συνδιδασκαλίας. Οι καθηγητές 21 και 22 διδάσκουν παράλληλα στα τμήματα 0 και 1 για 3 ώρες σε 1 μάθημα εβδομαδιαίως. Η διαφορά με την προηγούμενη περίπτωση συνδιδασκαλίας είναι ότι συμβαίνει σε αρχικά τμήματα και όχι σε τμήματα που προήλθαν από διάσπαση ενός αρχικού. Προς επαλήθευση αυτών στο σημείο που ορίζονται οι διδασκαλίες του καθηγητή 21 υπάρχει η γραμμή 0 3 1, ενώ στο αντίστοιχο σημείο για τον 22 υπάρχει η γραμμή 1 3 1) (Παρόμοια περίπτωση με την προηγούμενη. Οι καθηγητές 21 και 22 διδάσκουν παράλληλα στα τμήματα 2 και 3 για 3 ώρες σε 1 μάθημα εβδομαδιαίως) -1 (Τέλος του τμήματος με τα στοιχεία των συνδιδασκαλιών και τέλος του αρχείου) ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <84>

85 Παράδειγμα αρχείου εισόδου Αρχείο εισόδου 4.txt A1 35 A2 35 A3 35 B1 35 B2 35 G1 35 G _GYMN _MOUSIKOS _THEOLOGOS _FILOLOGOS _FILOLOGOS _FILOLOGOS _FILOLOGOS _MATHIMATIKOS _MATHIMATIKOS _FISIKOS _FISIKOS _GALLIKA _AGGLIKA _AGGLIKA _KALLITEXNIKA ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <85>

86 _GIMNASTIKI _OIK_OIKONOMIA _MHXANIKOS _PLIROFORIKI ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <86>

87 Παραδείγματα αρχείων εξόδου Παρατίθεται ενδεικτικά ένα από τα παραχθέντα ωρολόγια προγράμματα για το αρχείο εισόδου 4.txt, πρώτα κατά τάξη και μετά κατά καθηγητή. THE BEST TIMETABLE, BY CLASS, IS: < A > H: (0)--> 12_AGGLIKA H: (1)--> 8_MATHIMATIKOS H: (2)--> 12_AGGLIKA H: (3)--> 17_MHXANIKOS + 18_PLIROFORIKI H: (4)--> 9_FISIKOS H: (5)--> 3_FILOLOGOS H: (6)--> 4_FILOLOGOS H: (7)--> 3_FILOLOGOS H: (8)--> 8_MATHIMATIKOS H: (9)--> 4_FILOLOGOS H: (10)--> 11_GALLIKA H: (11)--> 12_AGGLIKA H: (12)--> 1_MOUSIKOS H: (13)--> 16_OIK_OIKONOMIA H: (14)--> 10_FISIKOS H: (15)--> 2_THEOLOGOS H: (16)--> 12_AGGLIKA H: (17)--> 3_FILOLOGOS H: (18)--> 9_FISIKOS H: (19)--> 4_FILOLOGOS H: (20)--> 4_FILOLOGOS H: (21)--> 2_THEOLOGOS H: (22)--> 4_FILOLOGOS H: (23)--> 4_FILOLOGOS H: (24)--> 12_AGGLIKA H: (25)--> 12_AGGLIKA H: (26)--> 8_MATHIMATIKOS H: (27)--> 11_GALLIKA H: (28)--> 10_FISIKOS H: (29)--> 17_MHXANIKOS + 18_PLIROFORIKI H: (30)--> 3_FILOLOGOS H: (31)--> 11_GALLIKA H: (32)--> 14_KALLITEXNIKA H: (33)--> 8_MATHIMATIKOS H: (34)--> 4_FILOLOGOS < A > H: (0)--> 15_GIMNASTIKI H: (1)--> 14_KALLITEXNIKA H: (2)--> 15_GIMNASTIKI H: (3)--> 4_FILOLOGOS H: (4)--> 17_MHXANIKOS + 18_PLIROFORIKI H: (5)--> 4_FILOLOGOS H: (6)--> 9_FISIKOS H: (7)--> 8_MATHIMATIKOS H: (8)--> 11_GALLIKA H: (9)--> 16_OIK_OIKONOMIA H: (10)--> 10_FISIKOS H: (11)--> 15_GIMNASTIKI H: (12)--> 6_FILOLOGOS H: (13)--> 6_FILOLOGOS H: (14)--> 8_MATHIMATIKOS H: (15)--> 8_MATHIMATIKOS H: (16)--> 15_GIMNASTIKI H: (17)--> 4_FILOLOGOS H: (18)--> 4_FILOLOGOS H: (19)--> 17_MHXANIKOS + 18_PLIROFORIKI H: (20)--> 11_GALLIKA H: (21)--> 1_MOUSIKOS H: (22)--> 6_FILOLOGOS H: (23)--> 2_THEOLOGOS H: (24)--> 15_GIMNASTIKI H: (25)--> 15_GIMNASTIKI H: (26)--> 9_FISIKOS H: (27)--> 6_FILOLOGOS H: (28)--> 11_GALLIKA H: (29)--> 2_THEOLOGOS H: (30)--> 10_FISIKOS H: (31)--> 4_FILOLOGOS H: (32)--> 8_MATHIMATIKOS H: (33)--> 4_FILOLOGOS H: (34)--> 6_FILOLOGOS < A > H: (0)--> 8_MATHIMATIKOS H: (1)--> 12_AGGLIKA + 15_GIMNASTIKI H: (2)--> 10_FISIKOS H: (3)--> 14_KALLITEXNIKA H: (4)--> 4_FILOLOGOS H: (5)--> 1_MOUSIKOS H: (6)--> 11_GALLIKA H: (7)--> 4_FILOLOGOS ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <87>

88 H: (8)--> 4_FILOLOGOS H: (9)--> 3_FILOLOGOS H: (10)--> 12_AGGLIKA + 15_GIMNASTIKI H: (11)--> 16_OIK_OIKONOMIA H: (12)--> 9_FISIKOS H: (13)--> 2_THEOLOGOS H: (14)--> 11_GALLIKA H: (15)--> 12_AGGLIKA + 15_GIMNASTIKI H: (16)--> 8_MATHIMATIKOS H: (17)--> 12_AGGLIKA + 15_GIMNASTIKI H: (18)--> 17_MHXANIKOS + 18_PLIROFORIKI H: (19)--> 9_FISIKOS H: (20)--> 3_FILOLOGOS H: (21)--> 4_FILOLOGOS H: (22)--> 2_THEOLOGOS H: (23)--> 10_FISIKOS H: (24)--> 11_GALLIKA H: (25)--> 3_FILOLOGOS H: (26)--> 3_FILOLOGOS H: (27)--> 8_MATHIMATIKOS H: (28)--> 3_FILOLOGOS H: (29)--> 3_FILOLOGOS H: (30)--> 17_MHXANIKOS + 18_PLIROFORIKI H: (31)--> 12_AGGLIKA + 15_GIMNASTIKI H: (32)--> 4_FILOLOGOS H: (33)--> 12_AGGLIKA + 15_GIMNASTIKI H: (34)--> 8_MATHIMATIKOS < B > H: (0)--> 10_FISIKOS H: (1)--> 10_FISIKOS H: (2)--> 14_KALLITEXNIKA H: (3)--> 2_THEOLOGOS H: (4)--> 3_FILOLOGOS H: (5)--> 17_MHXANIKOS + 18_PLIROFORIKI H: (6)--> 7_MATHIMATIKOS H: (7)--> 11_GALLIKA H: (8)--> 7_MATHIMATIKOS H: (9)--> 12_AGGLIKA H: (10)--> 16_OIK_OIKONOMIA H: (11)--> 2_THEOLOGOS H: (12)--> 10_FISIKOS H: (13)--> 5_FILOLOGOS H: (14)--> 12_AGGLIKA H: (15)--> 9_FISIKOS H: (16)--> 7_MATHIMATIKOS H: (17)--> 17_MHXANIKOS + 18_PLIROFORIKI H: (18)--> 3_FILOLOGOS H: (19)--> 3_FILOLOGOS H: (20)--> 5_FILOLOGOS H: (21)--> 10_FISIKOS H: (22)--> 16_OIK_OIKONOMIA H: (23)--> 12_AGGLIKA H: (24)--> 3_FILOLOGOS H: (25)--> 5_FILOLOGOS H: (26)--> 11_GALLIKA H: (27)--> 7_MATHIMATIKOS H: (28)--> 2_THEOLOGOS H: (29)--> 11_GALLIKA H: (30)--> 5_FILOLOGOS H: (31)--> 2_THEOLOGOS H: (32)--> 12_AGGLIKA H: (33)--> 1_MOUSIKOS H: (34)--> 19_GYMN + 15_GIMNASTIKI < B > H: (0)--> 2_THEOLOGOS H: (1)--> 5_FILOLOGOS H: (2)--> 6_FILOLOGOS H: (3)--> 15_GIMNASTIKI H: (4)--> 7_MATHIMATIKOS H: (5)--> 11_GALLIKA H: (6)--> 3_FILOLOGOS H: (7)--> 7_MATHIMATIKOS H: (8)--> 3_FILOLOGOS H: (9)--> 15_GIMNASTIKI H: (10)--> 3_FILOLOGOS H: (11)--> 5_FILOLOGOS H: (12)--> 16_OIK_OIKONOMIA H: (13)--> 10_FISIKOS H: (14)--> 15_GIMNASTIKI H: (15)--> 10_FISIKOS H: (16)--> 10_FISIKOS H: (17)--> 5_FILOLOGOS H: (18)--> 11_GALLIKA H: (19)--> 7_MATHIMATIKOS H: (20)--> 17_MHXANIKOS + 18_PLIROFORIKI H: (21)--> 16_OIK_OIKONOMIA H: (22)--> 10_FISIKOS H: (23)--> 15_GIMNASTIKI H: (24)--> 2_THEOLOGOS H: (25)--> 11_GALLIKA H: (26)--> 6_FILOLOGOS H: (27)--> 3_FILOLOGOS H: (28)--> 5_FILOLOGOS H: (29)--> 10_FISIKOS H: (30)--> 7_MATHIMATIKOS ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <88>

89 H: (31)--> 17_MHXANIKOS + 18_PLIROFORIKI H: (32)--> 15_GIMNASTIKI H: (33)--> 14_KALLITEXNIKA H: (34)--> 1_MOUSIKOS < G > H: (0)--> 5_FILOLOGOS H: (1)--> 2_THEOLOGOS H: (2)--> 2_THEOLOGOS H: (3)--> 6_FILOLOGOS H: (4)--> 11_GALLIKA H: (5)--> 9_FISIKOS H: (6)--> 18_PLIROFORIKI H: (7)--> 13_AGGLIKA H: (8)--> 13_AGGLIKA H: (9)--> 7_MATHIMATIKOS H: (10)--> 5_FILOLOGOS H: (11)--> 9_FISIKOS H: (12)--> 2_THEOLOGOS H: (13)--> 1_MOUSIKOS H: (14)--> 2_THEOLOGOS H: (15)--> 11_GALLIKA H: (16)--> 6_FILOLOGOS H: (17)--> 2_THEOLOGOS H: (18)--> 7_MATHIMATIKOS H: (19)--> 5_FILOLOGOS H: (20)--> 9_FISIKOS H: (21)--> 13_AGGLIKA H: (22)--> 13_AGGLIKA H: (23)--> 6_FILOLOGOS H: (24)--> 16_OIK_OIKONOMIA H: (25)--> 7_MATHIMATIKOS H: (26)--> 5_FILOLOGOS H: (27)--> 9_FISIKOS H: (28)--> 7_MATHIMATIKOS H: (29)--> 5_FILOLOGOS H: (30)--> 11_GALLIKA H: (31)--> 5_FILOLOGOS H: (32)--> 9_FISIKOS H: (33)--> 6_FILOLOGOS H: (34)--> 14_KALLITEXNIKA < G > H: (0)--> 6_FILOLOGOS H: (1)--> 6_FILOLOGOS H: (2)--> 5_FILOLOGOS H: (3)--> 11_GALLIKA H: (4)--> 14_KALLITEXNIKA H: (5)--> 7_MATHIMATIKOS H: (6)--> 1_MOUSIKOS H: (7)--> 15_GIMNASTIKI H: (8)--> 15_GIMNASTIKI H: (9)--> 11_GALLIKA H: (10)--> 9_FISIKOS H: (11)--> 6_FILOLOGOS H: (12)--> 5_FILOLOGOS H: (13)--> 9_FISIKOS H: (14)--> 6_FILOLOGOS H: (15)--> 6_FILOLOGOS H: (16)--> 2_THEOLOGOS H: (17)--> 6_FILOLOGOS H: (18)--> 5_FILOLOGOS H: (19)--> 11_GALLIKA H: (20)--> 7_MATHIMATIKOS H: (21)--> 15_GIMNASTIKI H: (22)--> 15_GIMNASTIKI H: (23)--> 16_OIK_OIKONOMIA H: (24)--> 5_FILOLOGOS H: (25)--> 9_FISIKOS H: (26)--> 7_MATHIMATIKOS H: (27)--> 5_FILOLOGOS H: (28)--> 18_PLIROFORIKI H: (29)--> 7_MATHIMATIKOS H: (30)--> 2_THEOLOGOS H: (31)--> 6_FILOLOGOS H: (32)--> 6_FILOLOGOS H: (33)--> 9_FISIKOS H: (34)--> 9_FISIKOS THE BEST TIMETABLE, BY TEACHER, IS: Teacher 19_GYMN H (34) --> B1 # coteaches with 15_GIMNASTIKI at B1 Teacher 1_MOUSIKOS H (5) --> A3 H (6) --> G2 H (12) --> A1 H (13) --> G1 H (21) --> A2 H (33) --> B1 H (34) --> B2 Teacher 2_THEOLOGOS H (0) --> B2 H (1) --> G1 ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <89>

90 H (2) --> G1 H (3) --> B1 H (11) --> B1 H (12) --> G1 H (13) --> A3 H (14) --> G1 H (15) --> A1 H (16) --> G2 H (17) --> G1 H (21) --> A1 H (22) --> A3 H (23) --> A2 H (24) --> B2 H (28) --> B1 H (29) --> A2 H (30) --> G2 H (31) --> B1 Teacher 3_FILOLOGOS H (4) --> B1 H (5) --> A1 H (6) --> B2 H (7) --> A1 H (8) --> B2 H (9) --> A3 H (10) --> B2 H (17) --> A1 H (18) --> B1 H (19) --> B1 H (20) --> A3 H (24) --> B1 H (25) --> A3 H (26) --> A3 H (27) --> B2 H (28) --> A3 H (29) --> A3 H (30) --> A1 Teacher 4_FILOLOGOS H (3) --> A2 H (4) --> A3 H (5) --> A2 H (6) --> A1 H (7) --> A3 H (8) --> A3 H (9) --> A1 H (17) --> A2 H (18) --> A2 H (19) --> A1 H (20) --> A1 H (21) --> A3 H (22) --> A1 H (23) --> A1 H (31) --> A2 H (32) --> A3 H (33) --> A2 H (34) --> A1 Teacher 5_FILOLOGOS H (0) --> G1 H (1) --> B2 H (2) --> G2 H (10) --> G1 H (11) --> B2 H (12) --> G2 H (13) --> B1 H (17) --> B2 H (18) --> G2 H (19) --> G1 H (20) --> B1 H (24) --> G2 H (25) --> B1 H (26) --> G1 H (27) --> G2 H (28) --> B2 H (29) --> G1 H (30) --> B1 H (31) --> G1 Teacher 6_FILOLOGOS H (0) --> G2 H (1) --> G2 H (2) --> B2 H (3) --> G1 H (11) --> G2 H (12) --> A2 H (13) --> A2 H (14) --> G2 H (15) --> G2 H (16) --> G1 H (17) --> G2 H (22) --> A2 H (23) --> G1 H (26) --> B2 H (27) --> A2 H (31) --> G2 H (32) --> G2 H (33) --> G1 H (34) --> A2 Teacher 7_MATHIMATIKOS H (4) --> B2 H (5) --> G2 H (6) --> B1 H (7) --> B2 ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <90>

91 H (8) --> B1 H (9) --> G1 H (16) --> B1 H (18) --> G1 H (19) --> B2 H (20) --> G2 H (25) --> G1 H (26) --> G2 H (27) --> B1 H (28) --> G1 H (29) --> G2 H (30) --> B2 Teacher 8_MATHIMATIKOS H (0) --> A3 H (1) --> A1 H (7) --> A2 H (8) --> A1 H (14) --> A2 H (15) --> A2 H (16) --> A3 H (26) --> A1 H (27) --> A3 H (32) --> A2 H (33) --> A1 H (34) --> A3 Teacher 9_FISIKOS H (4) --> A1 H (5) --> G1 H (6) --> A2 H (10) --> G2 H (11) --> G1 H (12) --> A3 H (13) --> G2 H (15) --> B1 H (18) --> A1 H (19) --> A3 H (20) --> G1 H (25) --> G2 H (26) --> A2 H (27) --> G1 H (32) --> G1 H (33) --> G2 H (34) --> G2 Teacher 10_FISIKOS H (0) --> B1 H (1) --> B1 H (2) --> A3 H (10) --> A2 H (12) --> B1 H (13) --> B2 H (14) --> A1 H (15) --> B2 H (16) --> B2 H (21) --> B1 H (22) --> B2 H (23) --> A3 H (28) --> A1 H (29) --> B2 H (30) --> A2 Teacher 11_GALLIKA H (3) --> G2 H (4) --> G1 H (5) --> B2 H (6) --> A3 H (7) --> B1 H (8) --> A2 H (9) --> G2 H (10) --> A1 H (14) --> A3 H (15) --> G1 H (18) --> B2 H (19) --> G2 H (20) --> A2 H (24) --> A3 H (25) --> B2 H (26) --> B1 H (27) --> A1 H (28) --> A2 H (29) --> B1 H (30) --> G1 H (31) --> A1 Teacher 12_AGGLIKA H (0) --> A1 # coteaches with 15_GIMNASTIKI at A2 H (1) --> A3 # coteaches with 15_GIMNASTIKI at A3 H (2) --> A1 # coteaches with 15_GIMNASTIKI at A2 H (9) --> B1 # coteaches with 15_GIMNASTIKI at B2 H (10) --> A3 # coteaches with 15_GIMNASTIKI at A3 H (11) --> A1 # coteaches with 15_GIMNASTIKI at A2 H (14) --> B1 # coteaches with 15_GIMNASTIKI at B2 H (15) --> A3 # coteaches with 15_GIMNASTIKI at A3 H (16) --> A1 ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <91>

92 # coteaches with 15_GIMNASTIKI at A2 H (17) --> A3 # coteaches with 15_GIMNASTIKI at A3 H (23) --> B1 # coteaches with 15_GIMNASTIKI at B2 H (24) --> A1 # coteaches with 15_GIMNASTIKI at A2 H (25) --> A1 # coteaches with 15_GIMNASTIKI at A2 H (31) --> A3 # coteaches with 15_GIMNASTIKI at A3 H (32) --> B1 # coteaches with 15_GIMNASTIKI at B2 H (33) --> A3 # coteaches with 15_GIMNASTIKI at A3 Teacher 13_AGGLIKA H (7) --> G1 # coteaches with 15_GIMNASTIKI at G2 H (8) --> G1 # coteaches with 15_GIMNASTIKI at G2 H (21) --> G1 # coteaches with 15_GIMNASTIKI at G2 H (22) --> G1 # coteaches with 15_GIMNASTIKI at G2 Teacher 14_KALLITEXNIKA H (1) --> A2 H (2) --> B1 H (3) --> A3 H (4) --> G2 H (32) --> A1 H (33) --> B2 H (34) --> G1 Teacher 15_GIMNASTIKI H (0) --> A2 # coteaches with 12_AGGLIKA at A1 H (1) --> A3 # coteaches with 12_AGGLIKA at A3 H (2) --> A2 # coteaches with 12_AGGLIKA at A1 H (3) --> B2 # coteaches with 12_AGGLIKA at B1 H (7) --> G2 # coteaches with 13_AGGLIKA at G1 H (8) --> G2 # coteaches with 13_AGGLIKA at G1 H (9) --> B2 # coteaches with 12_AGGLIKA at B1 H (10) --> A3 # coteaches with 12_AGGLIKA at A3 H (11) --> A2 # coteaches with 12_AGGLIKA at A1 H (14) --> B2 # coteaches with 12_AGGLIKA at B1 H (15) --> A3 # coteaches with 12_AGGLIKA at A3 H (16) --> A2 # coteaches with 12_AGGLIKA at A1 H (17) --> A3 # coteaches with 12_AGGLIKA at A3 H (21) --> G2 # coteaches with 13_AGGLIKA at G1 H (22) --> G2 # coteaches with 13_AGGLIKA at G1 H (23) --> B2 # coteaches with 12_AGGLIKA at B1 H (24) --> A2 # coteaches with 12_AGGLIKA at A1 H (25) --> A2 # coteaches with 12_AGGLIKA at A1 H (31) --> A3 # coteaches with 12_AGGLIKA at A3 H (32) --> B2 # coteaches with 12_AGGLIKA at B1 H (33) --> A3 # coteaches with 12_AGGLIKA at A3 H (34) --> B1 # coteaches with 19_GYMN at B1 Teacher 16_OIK_OIKONOMIA H (9) --> A2 H (10) --> B1 H (11) --> A3 H (12) --> B2 H (13) --> A1 H (21) --> B2 H (22) --> B1 H (23) --> G2 H (24) --> G1 Teacher 17_MHXANIKOS H (3) --> A1 # coteaches with 18_PLIROFORIKI at A1 H (4) --> A2 # coteaches with 18_PLIROFORIKI at A2 H (5) --> B1 # coteaches with 18_PLIROFORIKI at B1 H (17) --> B1 # coteaches with 18_PLIROFORIKI at B1 H (18) --> A3 ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <92>

93 # coteaches with 18_PLIROFORIKI at A3 H (19) --> A2 # coteaches with 18_PLIROFORIKI at A2 H (20) --> B2 # coteaches with 18_PLIROFORIKI at B2 H (29) --> A1 # coteaches with 18_PLIROFORIKI at A1 H (30) --> A3 # coteaches with 18_PLIROFORIKI at A3 H (31) --> B2 # coteaches with 18_PLIROFORIKI at B2 Teacher 18_PLIROFORIKI H (3) --> A1 # coteaches with 17_MHXANIKOS at A1 H (4) --> A2 # coteaches with 17_MHXANIKOS at A2 H (5) --> B1 # coteaches with 17_MHXANIKOS at B1 H (6) --> G1 H (17) --> B1 # coteaches with 17_MHXANIKOS at B1 H (18) --> A3 # coteaches with 17_MHXANIKOS at A3 H (19) --> A2 # coteaches with 17_MHXANIKOS at A2 H (20) --> B2 # coteaches with 17_MHXANIKOS at B2 H (28) --> G2 H (29) --> A1 # coteaches with 17_MHXANIKOS at A1 H (30) --> A3 # coteaches with 17_MHXANIKOS at A3 H (31) --> B2 # coteaches with 17_MHXANIKOS at B2 ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <93>

94 Παράρτημα Γ. Στιγμιότυπα οθόνης (screenshots) αλγόριθμου Στιγμιότυπο οθόνης από την έναρξη εκτέλεσης του προτεινόμενου αλγόριθμου Στιγμιότυπο οθόνης μετά το τέλος του κυρίως αλγόριθμου ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <94>

95 Στιγμιότυπο οθόνης μετά το τέλος και της διαδικασίας βελτιστοποίησης ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <95>

96 Στιγμιότυπο οθόνης από την εμφάνιση του προγράμματος ανά τάξη ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <96>

97 Στιγμιότυπο οθόνης από την εμφάνιση του προγράμματος ανά καθηγητή ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <97>

98 Παράρτημα Δ. Εγκατάσταση και χρήση διεπαφής Εγκατάσταση διεπαφής Η δημιουργία ενός αρχείου εισόδου για τον προτεινόμενο αλγόριθμο CSO, αλλά και για τους αλγόριθμους [10], [11] και [12] που χρησιμοποιούν την ίδια κωδικοποίηση, μπορεί να γίνει με την χρήση ενός απλού επεξεργαστή κειμένου γράφοντας γραμμή προς γραμμή τα δεδομένα και τηρώντας βέβαια την δομή που περιγράφηκε προηγουμένως. Στη συνέχεια το παραχθέν αρχείο, που θα έχει κατάληξη txt, θα πρέπει να τοποθετηθεί στον ίδιο κατάλογο με το εκτελέσιμο αρχείο του αλγόριθμου, ώστε ο τελευταίος να το διαβάσει και να το επεξεργαστεί. Η διαδικασία δημιουργίας του αρχείου εισόδου μπορεί να γίνει ιδιαίτερα περίπλοκη και κοπιαστική για μεγάλες σχολικές μονάδες με πολλά τμήματα, μαθήματα, καθηγητές και συνδιδασκαλίες, με τον κίνδυνο δημιουργίας λαθών να είναι υπαρκτός. Επιπλέον, επειδή δεν είναι ιδιαίτερα «κομψή» - καθώς περιλαμβάνει αρκετά στάδια και πληκτρολόγηση - αποθαρρύνει τους υποψήφιους χρήστες και περιορίζει την ευρεία χρήση του αλγόριθμου. Προκειμένου λοιπόν ο προτεινόμενος αλγόριθμος CSO να μπορεί να χρησιμοποιηθεί από τον οιονδήποτε, όσο μη εξοικειωμένος κι αν είναι με τα ωρολόγια προγράμματα σχολείων και τους υπολογιστές, δημιουργήθηκε στα πλαίσια της παρούσας Διπλωματικής Εργασίας μία διεπαφή (interface) που απλοποιεί σημαντικά τη χρήση του. Μέσω φιλικών προς τον χρήστη οθονών και μηνυμάτων και με την χρήση ενός web browser, ο μη έχων σχετική εμπειρία χρήστης μπορεί να κατασκευάσει ωρολόγια προγράμματα για το σχολείο του, χωρίς να μπει καν στη διαδικασία ο ίδιος να δημιουργήσει το αρχείο εισόδου. Όλα γίνονται αυτόματα και αόρατα προς αυτόν. Η υλοποίηση της διεπαφής έγινε με τη χρήση PHP/HTML και το μόνο που απαιτείται για την σωστή λειτουργία της είναι ένας υπολογιστής με εγκατεστημένη την PHP. Προφανώς αυτός θα είναι κάποιος υπολογιστής του σχολείου και η διαδικασία εγκατάστασης θα γίνει μία φορά. Τα βήματα εγκατάστασης είναι τα εξής: 1. Κατεβάζουμε από την σελίδα (τελευταία πρόσβαση 3/7/2015) το αρχείο εγκατάστασης του XAMPP, για το λειτουργικό σύστημα που μας ενδιαφέρει. Το XAMPP είναι μία δωρεάν, εύκολη στην εγκατάσταση διανομή Apache που συμπεριλαμβάνει MySQL, ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <98>

99 PHP και Perl και χρησιμοποιείται ως εργαλείο ανάπτυξης και δοκιμής ιστοσελίδων τοπικά στον υπολογιστή χωρίς να είναι απαραίτητη η σύνδεση στο διαδίκτυο. 2. Εγκαθιστούμε το XAMPP αποδεχόμενοι τις default ρυθμίσεις, οπότε η εγκατάσταση θα γίνει στον φάκελο xampp στον κεντρικό κατάλογο του σκληρού δίσκου. Συνίσταται η προσωρινή απενεργοποίηση του antivirus κατά τη διάρκεια της εγκατάστασης. 3. Αφού ολοκληρωθεί η εγκατάσταση του XAMPP, πρέπει να ρυθμίσουμε το Apache server να ξεκινά αυτόματα με το άνοιγμα του υπολογιστή σαν service. Αυτό μπορεί να γίνει αν εκκινήσουμε το XAMPP Control Panel με δικαιώματα διαχειριστή ("Run as administrator") και στη συνέχεια τσεκάρουμε το κουτάκι Service στα αριστερά του module Apache και απαντήσουμε Yes στο παράθυρο επιβεβαίωσης που θα ανοίξει. Αφού γίνει η εγκατάσταση του XAMPP το μόνο που απομένει είναι η αντιγραφή του συμπιεσμένου αρχείο CSO.zip στον φάκελο xampp/htdocs και η αποσυμπίεση του. Εφόσον ο Apache server είναι ήδη σε λειτουργία, η διεπαφή μπορεί να ξεκινήσει από έναν οποιονδήποτε web browser γράφοντας στη γραμμή διευθύνσεων localhost/start.php ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <99>

100 Οδηγίες χρήσης διεπαφής Στην πρώτη οθόνη εισάγουμε μέσω των drop-down menus τα γενικά στοιχεία της σχολικής μονάδας, δηλαδή αριθμό τμημάτων, εκπαιδευτικών και τσεκάρουμε αν υπάρχουν συνδιδασκαλίες ή όχι. Ακολούθως, στην επόμενη οθόνη εισάγουμε τα ονόματα των τμημάτων και των εκπαιδευτικών. Τα ονόματα αυτά θα χρησιμοποιηθούν από την διεπαφή για την κατασκευή του ωρολογίου προγράμματος. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <100>

101 Στην τρίτη κατά σειρά οθόνη εισάγουμε αρχικά τα τμήματα και τις ώρες διδασκαλίας ανά τμήμα για κάθε εκπαιδευτικό. Στο κάτω μέρος της ίδιας οθόνης ενημερώνουμε τον σχετικό πίνακα με τις ώρες της εβδομάδας κατά τις οποίες ο εκπαιδευτικός δεν είναι διαθέσιμος στη μονάδα. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <101>

102 Η τέταρτη οθόνη εμφανίζεται αν υπάρχουν συνδιδασκαλίες ή υποχρεωτικά παράλληλες διδασκαλίες. Τις εισάγουμε, προσέχοντας για τις συνδιδασκαλίες τα πεδία «Τμήμα 1» και «Τμήμα 2» να συμπίπτουν. Εφόσον όλα έγιναν σωστά, δημιουργείται το αντίστοιχο αρχείο εισόδου και με αυτό τροφοδοτείται ο αλγόριθμος προκειμένου να παραχθεί το ωρολόγιο πρόγραμμα. Ο χρήστης κρατείται ενήμερος για την πορεία της διαδικασίας μέσω μίας μπάρας προόδου. Μόλις ολοκληρωθεί η εκτέλεση του κυρίως αλγόριθμου, ακολουθεί η διαδικασία βελτιστοποίησης του παραχθέντος ωρολογίου προγράμματος, της οποίας η διάρκεια ποικίλλει. Στο τέλος και αυτής της διαδικασίας εμφανίζονται στην οθόνη τα ωρολόγια προγράμματα ανά τάξη και ανά εκπαιδευτικό. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <102>

103 ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <103>

104 Συχνότητα Συχνότητα Βασίλειος Ι. Σκουλλής, «Εφαρμογή σύγχρονων αλγόριθμων Cat Swarm Optimization για την αποδοτική επίλυση του Παράρτημα Ε. Ιστογράμματα αποτελεσμάτων CSO αρχείο εισόδου Συνολικό κόστος αρχείο εισόδου Συνολικό κόστος ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <104>

105 Συχνότητα Συχνότητα Βασίλειος Ι. Σκουλλής, «Εφαρμογή σύγχρονων αλγόριθμων Cat Swarm Optimization για την αποδοτική επίλυση του 14 αρχείο εισόδου Συνολικό κόστος αρχείο εισόδου Συνολικό κόστος ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <105>

106 Συχνότητα Συχνότητα Βασίλειος Ι. Σκουλλής, «Εφαρμογή σύγχρονων αλγόριθμων Cat Swarm Optimization για την αποδοτική επίλυση του 30 αρχείο εισόδου Συνολικό κόστος αρχείο εισόδου Συνολικό κόστος ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <106>

107 Συχνότητα Συχνότητα Βασίλειος Ι. Σκουλλής, «Εφαρμογή σύγχρονων αλγόριθμων Cat Swarm Optimization για την αποδοτική επίλυση του 35 αρχείο εισόδου Συνολικό κόστος αρχείο εισόδου Συνολικό κόστος ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <107>

108 Συχνότητα Συχνότητα Βασίλειος Ι. Σκουλλής, «Εφαρμογή σύγχρονων αλγόριθμων Cat Swarm Optimization για την αποδοτική επίλυση του αρχείο εισόδου Συνολικό κόστος αρχείο εισόδου Συνολικό κόστος ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ: Διπλωματική Εργασία ΠΛΣ <108>

Συστήματα Επιχειρηματικής Ευφυίας. Το πρόβλημα Nurse rostering Ενδεικτική επίλυση με αλγόριθμο Variable Neighborhood Search (VNS)

Συστήματα Επιχειρηματικής Ευφυίας. Το πρόβλημα Nurse rostering Ενδεικτική επίλυση με αλγόριθμο Variable Neighborhood Search (VNS) Συστήματα Επιχειρηματικής Ευφυίας Το πρόβλημα Nurse rostering Ενδεικτική επίλυση με αλγόριθμο Variable Neighborhood Search (VNS) Έβδομη Διάλεξη Περιεχόμενα (1) Συνοπτική παρουσίαση του προβλήματος Nurse

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

Συστήματα Επιχειρηματικής Ευφυίας. Ενδεικτική επίλυση του προβλήματος school timetabling με PSO

Συστήματα Επιχειρηματικής Ευφυίας. Ενδεικτική επίλυση του προβλήματος school timetabling με PSO Συστήματα Επιχειρηματικής Ευφυίας Ενδεικτική επίλυση του προβλήματος school timetabling με PSO Έκτη Διάλεξη Περιεχόμενα (1) Συνοπτική παρουσίαση του προβλήματος school timetabling Ορισμός του προβλήματος

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

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

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

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

Συστήματα Επιχειρηματικής Ευφυίας. Τα προβλήματα school timetabling, University course timetabling και Exam timetabling

Συστήματα Επιχειρηματικής Ευφυίας. Τα προβλήματα school timetabling, University course timetabling και Exam timetabling Συστήματα Επιχειρηματικής Ευφυίας Τα προβλήματα school timetabling, University course timetabling και Exam timetabling Πέμπτη Διάλεξη Περιεχόμενα (1) 1. Το πρόβλημα school timetabling Ορισμός του προβλήματος

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

I student. Μεθοδολογική προσέγγιση και απαιτήσεις για την ανάπτυξη των αλγορίθμων δρομολόγησης Χρυσοχόου Ευαγγελία Επιστημονικός Συνεργάτης ΙΜΕΤ

I student. Μεθοδολογική προσέγγιση και απαιτήσεις για την ανάπτυξη των αλγορίθμων δρομολόγησης Χρυσοχόου Ευαγγελία Επιστημονικός Συνεργάτης ΙΜΕΤ I student Μεθοδολογική προσέγγιση και απαιτήσεις για την ανάπτυξη των αλγορίθμων δρομολόγησης Χρυσοχόου Ευαγγελία Επιστημονικός Συνεργάτης ΙΜΕΤ Ινστιτούτο Bιώσιμης Κινητικότητας και Δικτύων Μεταφορών (ΙΜΕΤ)

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

Πληροφοριακά Συστήματα Διοίκησης. Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού

Πληροφοριακά Συστήματα Διοίκησης. Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού Πληροφοριακά Συστήματα Διοίκησης Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού Σημασία μοντέλου Το μοντέλο δημιουργεί μια λογική δομή μέσω της οποίας αποκτούμε μια χρήσιμη άποψη

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

ΑΡΗΣ ΑΣΛΑΝΙΔΗΣ Φυσικός, M.Ed. Εκπαιδευτικός-Συγγραφέας

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

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

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

ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ ΓΙΑ ΤΗ ΔΙΕΝΕΡΓΕΙΑ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΜΕΛΕΤΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ ΓΙΑ ΤΗ ΔΙΕΝΕΡΓΕΙΑ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΜΕΛΕΤΩΝ ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ Α.Μ. 123/04 ΕΠΙΒΛΕΠΩΝ: ΣΑΜΑΡΑΣ ΝΙΚΟΛΑΟΣ ΘΕΣΣΑΛΟΝΙΚΗ, ΙΟΥΝΙΟΣ 2007 Περιεχόμενα

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

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

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

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

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1 ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1 1 Βελτιστοποίηση Στην προσπάθεια αντιμετώπισης και επίλυσης των προβλημάτων που προκύπτουν στην πράξη, αναπτύσσουμε μαθηματικά μοντέλα,

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

Τo πρόγραμμα «Διάγραμμα Ροής» και η διδακτική του αξιοποίηση στην Διδασκαλία του προγραμματισμού

Τo πρόγραμμα «Διάγραμμα Ροής» και η διδακτική του αξιοποίηση στην Διδασκαλία του προγραμματισμού Τo πρόγραμμα «Διάγραμμα Ροής» και η διδακτική του αξιοποίηση στην Διδασκαλία του προγραμματισμού Α. Βρακόπουλος 1, Θ.Καρτσιώτης 2 1 Καθηγητής Πληροφορικής Δευτεροβάθμιας Εκπαίδευσης Vraa8@sch.gr 2 Σχολικός

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

On line αλγόριθμοι δρομολόγησης για στοχαστικά δίκτυα σε πραγματικό χρόνο

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

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

Μοντελοποίηση προβληµάτων

Μοντελοποίηση προβληµάτων Σχεδιασµός Αλγορίθµων Ακέραιος προγραµµατισµός Αποδοτικοί Αλγόριθµοι Μη Αποδοτικοί Αλγόριθµοι Σχεδιασµός Αλγορίθµων Ακέραιος προγραµµατισµός Αποδοτικοί Αλγόριθµοι Μη Αποδοτικοί Αλγόριθµοι Θεωρία γράφων

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

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

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

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

215 Μηχανικών Η/Υ και Πληροφορικής Πάτρας

215 Μηχανικών Η/Υ και Πληροφορικής Πάτρας 215 Μηχανικών Η/Υ και Πληροφορικής Πάτρας Το Τμήμα ασχολείται με τη διδασκαλία και την έρευνα στην επιστήμη και τεχνολογία των υπολογιστών και τη μελέτη των εφαρμογών τους. Το Τμήμα ιδρύθηκε το 1980 (ως

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

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

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

Θέμα: «Απάντηση ερωτήσεων σχετικά με την οργάνωση των Ερευνητικών Εργασιών»

Θέμα: «Απάντηση ερωτήσεων σχετικά με την οργάνωση των Ερευνητικών Εργασιών» ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ, ΠΟΛΙΤΙΣΜΟΥ ΚΑΙ ΑΘΛΗΤΙΣΜΟΥ ΠΕΡΙΦΕΡΕΙΑΚΗ Δ/ΝΣΗ Π/ΘΜΙΑΣ & Δ/ΘΜΙΑΣ ΕΚΠ/ΣΗΣ ΣΤΕΡΕΑΣ ΕΛΛΑΔΑΣ ΓΡΑΦΕΙΟ ΣΧΟΛΙΚΩΝ ΣΥΜΒΟΥΛΩΝ ΔΕΥΤΕΡΟΒΑΘΜΙΑΣ ΕΚΠΑΙΔΕΥΣΗΣ Δημήτρης

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

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Στόχος Θεματικής Ενότητας Οι μαθητές να περιγράφουν τους βασικούς τομείς της Επιστήμης των Υπολογιστών και να μπορούν

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

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ Γλώσσες & Τεχνικές 4 ο Εξάμηνο. - Ενότητα 1 - Δημοσθένης Σταμάτης http://www.it.teithe.gr/~demos

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ Γλώσσες & Τεχνικές 4 ο Εξάμηνο. - Ενότητα 1 - Δημοσθένης Σταμάτης http://www.it.teithe.gr/~demos Γλώσσες & Τεχνικές 4 ο Εξάμηνο - Ενότητα 1 - Εισαγωγή στην Τεχνητή Νοημοσύνη Δημοσθένης Σταμάτης http://www.it.teithe.gr/~demos Τμήμα Πληροφορικής A.T.E.I. ΘΕΣΣΑΛΟΝΙΚΗΣ Rethinking University Teaching!!!

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

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

Επιχειρησιακή Έρευνα Επιχειρησιακή Έρευνα Ενότητα 1: Εισαγωγή στο Γραμμικό Προγραμματισμό (1 ο μέρος) Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων

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

ΠΡΟΒΛΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ

ΠΡΟΒΛΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ (Transportation Problems) Βασίλης Κώστογλου E-mail: vkostogl@it.teithe.gr URL: www.it.teithe.gr/~vkostogl Περιγραφή Ένα πρόβλημα μεταφοράς ασχολείται με το πρόβλημα του προσδιορισμού του καλύτερου δυνατού

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

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

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

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

ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ (ΠΜΣ) «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΕΣ» ΤΟΥ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΟΥ Α.Π.Θ.

ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ (ΠΜΣ) «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΕΣ» ΤΟΥ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΟΥ Α.Π.Θ. ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ (ΠΜΣ) «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΕΣ» ΤΟΥ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΟΥ Α.Π.Θ. ΕΡΩΤΗΜΑΤΟΛΟΓΙΟ ΑΠΟΤΙΜΗΣΗΣ ΣΠΟΥΔΩΝ Ακαδημαϊκό Έτος Εγγραφής

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

ΣΗΜΕΙΩΣΕΙΣ ΤΕΛΙΚΗΣ ΕΡΓΑΣΙΑΣ ΤΟΥ ΜΑΘΗΜΑΤΟΣ «ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ»

ΣΗΜΕΙΩΣΕΙΣ ΤΕΛΙΚΗΣ ΕΡΓΑΣΙΑΣ ΤΟΥ ΜΑΘΗΜΑΤΟΣ «ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ» ΣΗΜΕΙΩΣΕΙΣ ΤΕΛΙΚΗΣ ΕΡΓΑΣΙΑΣ ΤΟΥ ΜΑΘΗΜΑΤΟΣ «ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ» Κωνσταντίνος Π. Φερεντίνος Διδάσκων ΠΔ 407/80 Οι σημειώσεις αυτές αναπτύχθηκαν στα πλαίσια του προγράμματος «ΕΠΕΑΕΚ 2 Πρόγραμμα Αναβάθμισης

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

ΘΕΜΑ: Οδηγίες για τη διδασκαλία της Ερευνητικής Εργασίας της Α τάξης Γενικού Λυκείου για το σχ. έτος

ΘΕΜΑ: Οδηγίες για τη διδασκαλία της Ερευνητικής Εργασίας της Α τάξης Γενικού Λυκείου για το σχ. έτος ΘΕΜΑ: Οδηγίες για τη διδασκαλία της Ερευνητικής Εργασίας της Α τάξης Γενικού Λυκείου για το σχ. έτος 2011-2012 Σας αποστέλλουμε τις παρακάτω οδηγίες για τη διδασκαλία της Ερευνητικής Εργασίας της Α τάξης

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

Οδηγός. Σχολιασμού. Διπλωματικής Εργασίας

Οδηγός. Σχολιασμού. Διπλωματικής Εργασίας ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Μεταπτυχιακό Δίπλωμα Ειδίκευσης: «Σπουδές στην Εκπαίδευση» Οδηγός Σχολιασμού Διπλωματικής Εργασίας (βιβλιογραφική σύνθεση) ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: «ΕΞΕΛΙΞΗ ΤΟΥ ΠΑΙΔΙΟΥ ΣΤΟ ΚΟΙΝΩΝΙΚΟ

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

Επιλογής (Επιλέγεται το πολύ 1 από τα 2) 1. Μεθοδολογία Ερευνας 2. Νομικά Θέματα Πληροφορικής

Επιλογής (Επιλέγεται το πολύ 1 από τα 2) 1. Μεθοδολογία Ερευνας 2. Νομικά Θέματα Πληροφορικής Ι) Τροποποίηση της Διάρκειας, Δομής και Περιεχομένου του Προγράμματος Σπουδών 1 Το ΠΜΣ που οδηγεί στην απόκτηση μεταπτυχιακού διπλώματος διαρκεί τρια (3) διδακτικά εξάμηνα, διάρκειας δεκατριών (13) πλήρων

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

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams Αλέκα Σεληνιωτάκη Ηράκλειο, 26/06/12 aseliniotaki@csd.uoc.gr ΑΜ: 703 1. Περίληψη Συνεισφοράς

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

Ανάλυση Χρόνου, Πόρων & Κόστους

Ανάλυση Χρόνου, Πόρων & Κόστους ΠΜΣ: «Παραγωγή και ιαχείριση Ενέργειας» ιαχείριση Ενέργειας και ιοίκηση Έργων Ανάλυση Χρόνου, Πόρων & Κόστους Επ. Καθηγητής Χάρης ούκας, Καθηγητής Ιωάννης Ψαρράς Εργαστήριο Συστημάτων Αποφάσεων & ιοίκησης

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

Διαφοροποίηση στρατηγικών διδασκαλίας ανάλογα με το περιεχόμενο στα μαθήματα των φυσικών επιστημών

Διαφοροποίηση στρατηγικών διδασκαλίας ανάλογα με το περιεχόμενο στα μαθήματα των φυσικών επιστημών Διαφοροποίηση στρατηγικών διδασκαλίας ανάλογα με το περιεχόμενο στα μαθήματα των φυσικών επιστημών Κων/νος Στεφανίδης Σχολικός Σύμβουλος Πειραιά kstef2001@yahoo.gr Νικόλαος Στεφανίδης Φοιτητής ΣΕΜΦΕ, ΕΜΠ

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

Πληροφορική 2. Τεχνητή νοημοσύνη

Πληροφορική 2. Τεχνητή νοημοσύνη Πληροφορική 2 Τεχνητή νοημοσύνη 1 2 Τι είναι τεχνητή νοημοσύνη; Τεχνητή νοημοσύνη (AI=Artificial Intelligence) είναι η μελέτη προγραμματισμένων συστημάτων τα οποία μπορούν να προσομοιώνουν μέχρι κάποιο

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΕΡΓΑΛΕΙΑ ΙΟΙΚΗΣΗΣ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΜΑΘΗΜΑ: ΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΙΟΙΚΗΣΗ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΑΘΗΜΑ: ΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΡΓΑΛΕΙΑ ΙΟΙΚΗΣΗΣ ιδάσκων:

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

ΠΡΑΞΗ: «ΜΟ.ΔΙ.Π» (Μονάδα Διασφάλισης Ποιότητας) του Πανεπιστημίου Μακεδονίας» Κωδικός MIS ΥΠΟΕΡΓΟ:

ΠΡΑΞΗ: «ΜΟ.ΔΙ.Π» (Μονάδα Διασφάλισης Ποιότητας) του Πανεπιστημίου Μακεδονίας» Κωδικός MIS ΥΠΟΕΡΓΟ: ΠΡΑΞΗ: «ΜΟ.ΔΙ.Π» (Μονάδα Διασφάλισης Ποιότητας) του Πανεπιστημίου Μακεδονίας» Κωδικός MIS 299516 ΥΠΟΕΡΓΟ: «ΜΟΔΙΠ του ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΜΑΚΕΔΟΝΙΑΣ» και α/α «01» ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ: «Εκπαίδευση και Δια

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

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού Το έργο υλοποιείται στο πλαίσιο του υποέργου 2 με τίτλο «Ανάπτυξη έντυπου εκπαιδευτικού υλικού για τα νέα Προγράμματα Σπουδών» της Πράξης «Ελληνικό Ανοικτό Πανεπιστήμιο» η οποία έχει ενταχθεί στο Επιχειρησιακό

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

προετοιμασίας και του σχεδιασμού) αρχικά στάδια (της αντιμετώπισή τους. προβλήματος της ΔΕ Ειρήνη Γεωργιάδη Καθηγήτρια Σύμβουλος της ΕΚΠ65 του ΕΑΠ

προετοιμασίας και του σχεδιασμού) αρχικά στάδια (της αντιμετώπισή τους. προβλήματος της ΔΕ Ειρήνη Γεωργιάδη Καθηγήτρια Σύμβουλος της ΕΚΠ65 του ΕΑΠ Δυσκολίες και προβλήματα που έχουν εντοπιστεί στα αρχικά στάδια (της προετοιμασίας και του σχεδιασμού) της ΔΕ στη ΘΕ ΕΚΠ 65 και προτάσεις για την αντιμετώπισή τους. Τα προβλήματα αφορούν κυρίως την επιλογή

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

Γουλή Ευαγγελία. 1. Εισαγωγή. 2. Παρουσίαση και Σχολιασµός των Εργασιών της Συνεδρίας

Γουλή Ευαγγελία. 1. Εισαγωγή. 2. Παρουσίαση και Σχολιασµός των Εργασιών της Συνεδρίας 1. Εισαγωγή Σχολιασµός των εργασιών της 16 ης παράλληλης συνεδρίας µε θέµα «Σχεδίαση Περιβαλλόντων για ιδασκαλία Προγραµµατισµού» που πραγµατοποιήθηκε στο πλαίσιο του 4 ου Πανελλήνιου Συνεδρίου «ιδακτική

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

Δομές Δεδομένων. Ενότητα 1 - Εισαγωγή. Χρήστος Γκουμόπουλος. Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων

Δομές Δεδομένων. Ενότητα 1 - Εισαγωγή. Χρήστος Γκουμόπουλος. Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Δομές Δεδομένων Ενότητα 1 - Εισαγωγή Χρήστος Γκουμόπουλος Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Αντικείμενο μαθήματος Δομές Δεδομένων (ΔΔ): Στην επιστήμη υπολογιστών

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

Διοίκηση Παραγωγής και Συστημάτων Υπηρεσιών

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

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

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

Εξ αποστάσεως υποστήριξη του έργου των Εκπαιδευτικών μέσω των δικτύων και εργαλείων της Πληροφορικής Εξ αποστάσεως υποστήριξη του έργου των Εκπαιδευτικών μέσω των δικτύων και εργαλείων της Πληροφορικής Ε. Κολέζα, Γ. Βρέταρος, θ. Δρίγκας, Κ. Σκορδούλης Εισαγωγή Ο εκπαιδευτικός κατά τη διάρκεια της σχολικής

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

723 Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών ΤΕΙ Λάρισας

723 Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών ΤΕΙ Λάρισας 723 Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών ΤΕΙ Λάρισας Το Τμήμα Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών του ΤΕΙ Λάρισας ιδρύθηκε με το Προεδρικό Διάταγμα 200/1999 (ΦΕΚ 179 06/09/99), με πρώτο

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

Ευρετικές Μέθοδοι. Ενότητα 1: Εισαγωγή στις ευρετικές μεθόδους. Άγγελος Σιφαλέρας. Μεταπτυχιακό Εφαρμοσμένης Πληροφορικής ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΙ

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗ ΔΙΑΧΕΙΡΙΣΗ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΡΓΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗ ΔΙΑΧΕΙΡΙΣΗ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΡΓΩΝ 1. Διαχείριση έργων Τις τελευταίες δεκαετίες παρατηρείται σημαντική αξιοποίηση της διαχείρισης έργων σαν ένα εργαλείο με το οποίο οι διάφορες επιχειρήσεις

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

Τμήμα Πληροφορικής. Σχολή Τεχνολογικών Εφαρμογών. Αλεξάνδρειο Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλονίκης

Τμήμα Πληροφορικής. Σχολή Τεχνολογικών Εφαρμογών. Αλεξάνδρειο Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλονίκης Τμήμα Πληροφορικής Σχολή Τεχνολογικών Εφαρμογών Αλεξάνδρειο Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλονίκης To Τμήμα Πληροφορικής του Α.Τ.Ε.Ι-Θ Το Τμήμα Πληροφορικής, στα πλαίσια μιας νέας εποχής που σηματοδοτείται

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

ΠΡΟΣ: Πολιτική ηγεσία Υπουργείου Παιδείας, Δια Βίου Μάθησης & Θρησκευμάτων

ΠΡΟΣ: Πολιτική ηγεσία Υπουργείου Παιδείας, Δια Βίου Μάθησης & Θρησκευμάτων Ένωση Πληροφορικών Ελλάδας Κοδριγκτώνος 33, 5ος όροφος ΤΚ 10434, Αθήνα http://www.epe.org.gr e-mail: info@epe.org.gr ΠΡΟΣ: Πολιτική ηγεσία Υπουργείου Παιδείας, Δια Βίου Μάθησης & Θρησκευμάτων ΚΟΙΝ: Βουλευτές

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

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

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

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

ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ (ΠΜΣ) «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΕΣ» ΤΟΥ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΟΥ Α.Π.Θ.

ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ (ΠΜΣ) «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΕΣ» ΤΟΥ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΟΥ Α.Π.Θ. ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ (ΠΜΣ) «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΕΣ» ΤΟΥ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΟΥ Α.Π.Θ. ΕΡΩΤΗΜΑΤΟΛΟΓΙΟ ΑΠΟΤΙΜΗΣΗΣ ΣΠΟΥΔΩΝ Ακαδημαϊκό Έτος Εγγραφής

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

ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ (ΠΜΣ) «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΕΣ» ΤΟΥ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΟΥ Α.Π.Θ.

ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ (ΠΜΣ) «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΕΣ» ΤΟΥ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΟΥ Α.Π.Θ. ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ (ΠΜΣ) «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΕΣ» ΤΟΥ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΟΥ Α.Π.Θ. ΕΡΩΤΗΜΑΤΟΛΟΓΙΟ ΑΠΟΤΙΜΗΣΗΣ ΣΠΟΥΔΩΝ Ακαδημαϊκό Έτος Εγγραφής

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

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

Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Δ Υ Τ Ι Κ Η Σ Α Τ Τ Ι Κ Η Σ Τ Μ Η Μ Α Η Λ Ε Κ Τ Ρ Ο Λ Ο Γ Ω Ν Κ Α Ι Η Λ Ε Κ Τ Ρ Ο Ν Ι Κ Ω Ν Μ Η Χ Α Ν Ι Κ Ω Ν Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Δ Υ Τ Ι Κ Η Σ Α Τ Τ Ι Κ Η Σ Τ Μ Η Μ Α Η Λ Ε Κ Τ Ρ Ο Λ Ο Γ Ω Ν Κ Α Ι Η Λ Ε Κ Τ Ρ Ο Ν Ι Κ Ω Ν Μ Η Χ Α Ν Ι Κ Ω Ν ΚΑΝΟΝΙΣΜΟΣ ΠΜΣ «Διαχείριση και Βελτιστοποίηση Ενεργειακών Συστημάτων»

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

ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ (ΠΜΣ) «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΕΣ» ΤΟΥ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΟΥ Α.Π.Θ.

ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ (ΠΜΣ) «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΕΣ» ΤΟΥ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΟΥ Α.Π.Θ. ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ (ΠΜΣ) «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΕΣ» ΤΟΥ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΟΥ Α.Π.Θ. ΕΡΩΤΗΜΑΤΟΛΟΓΙΟ ΑΠΟΤΙΜΗΣΗΣ ΣΠΟΥΔΩΝ Ακαδημαϊκό Έτος Εγγραφής

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

Εικόνα 1. Δείκτης Προόδου

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

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

max c 1 x 1 + c 2 x c n x n υπό a 11 x 1 + a 12 x a 1n x n b 1 a 21 x 1 + a 22 x a 2n x n b 2 a m1 x 1 + a m2 x a mn x n b m

max c 1 x 1 + c 2 x c n x n υπό a 11 x 1 + a 12 x a 1n x n b 1 a 21 x 1 + a 22 x a 2n x n b 2 a m1 x 1 + a m2 x a mn x n b m Υπολογιστικές Μέθοδοι στη Θεωρία Αποφάσεων Ενότητα 10 Εισαγωγή στον Ακέραιο Προγραμματισμό Αντώνης Οικονόμου Τμήμα Μαθηματικών Πανεπιστήμιο Αθηνών Προπτυχιακό πρόγραμμα σπουδών 29 Φεβρουαρίου 2016 Προβλήματα

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

ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ (ΠΜΣ) «ΔΙΑΔΙΚΤΥΟ ΚΑΙ ΠΑΓΚΟΣΜΙΟΣ ΙΣΤΟΣ» ΤΟΥ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΟΥ Α.Π.Θ.

ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ (ΠΜΣ) «ΔΙΑΔΙΚΤΥΟ ΚΑΙ ΠΑΓΚΟΣΜΙΟΣ ΙΣΤΟΣ» ΤΟΥ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΟΥ Α.Π.Θ. ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ (ΠΜΣ) «ΔΙΑΔΙΚΤΥΟ ΚΑΙ ΠΑΓΚΟΣΜΙΟΣ ΙΣΤΟΣ» ΤΟΥ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΟΥ Α.Π.Θ. ΕΡΩΤΗΜΑΤΟΛΟΓΙΟ ΑΠΟΤΙΜΗΣΗΣ ΣΠΟΥΔΩΝ Ακαδημαϊκό Έτος Εγγραφής

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

Τα σχέδια μαθήματος 1 Εισαγωγή

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

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

Κεφάλαιο 5: Στρατηγική χωροταξικής διάταξης

Κεφάλαιο 5: Στρατηγική χωροταξικής διάταξης K.5.1 Γραμμή Παραγωγής Μια γραμμή παραγωγής θεωρείται μια διάταξη με επίκεντρο το προϊόν, όπου μια σειρά από σταθμούς εργασίας μπαίνουν σε σειρά με στόχο ο κάθε ένας από αυτούς να κάνει μια ή περισσότερες

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

Τα Διδακτικά Σενάρια και οι Προδιαγραφές τους. του Σταύρου Κοκκαλίδη. Μαθηματικού

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

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

ΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ

ΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Dr. Christos D. Tarantilis Associate Professor in Operations Research & Management Science http://tarantilis.dmst.aueb.gr/ ΕΦΑΡΜΟΓΕΣ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Ι - 1- ΕΠΙΛΥΣΗ

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

Μαθήματα Διατμηματικού Π.Μ.Σ. "Μαθηματικά των Υπολογιστών και των Αποφάσε

Μαθήματα Διατμηματικού Π.Μ.Σ. Μαθηματικά των Υπολογιστών και των Αποφάσε Διατμηματικού Π.Μ.Σ. "Μαθηματικά των Υπολογιστών και των Αποφάσε - «Μαθηματικές Θεμελιώσεις της Επιστήμης των Υπολογιστών» - «Στατιστική, Επιχειρησιακή Έρευνα» - «Θεωρία Αριθμητικών Υπολογισμών» Μεταπτυχιακά

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

ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ ΘΕΩΡΙΑ ΚΑΙ ΕΦΑΡΜΟΓΗ ΤΟΥ ΓΡΑΜΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΤΗ ΛΗΨΗ ΑΠΟΦΑΣΕΩΝ (1)

ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ ΘΕΩΡΙΑ ΚΑΙ ΕΦΑΡΜΟΓΗ ΤΟΥ ΓΡΑΜΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΤΗ ΛΗΨΗ ΑΠΟΦΑΣΕΩΝ (1) ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ ΘΕΩΡΙΑ ΚΑΙ ΕΦΑΡΜΟΓΗ ΤΟΥ ΓΡΑΜΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΤΗ ΛΗΨΗ ΑΠΟΦΑΣΕΩΝ (1) 1 Προέλευση και ιστορία της Επιχειρησιακής Έρευνας Αλλαγές στις επιχειρήσεις Τέλος του 19ου αιώνα: βιομηχανική

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

Κωνσταντίνος Παπαβλασόπουλος ΑΜ:475

Κωνσταντίνος Παπαβλασόπουλος ΑΜ:475 «ΧΡΗΣΗ ΥΒΡΙΔΙΚΩΝ ΕΥΦΥΩΝ ΜΕΘΟΔΩΝ ΓΙΑ ΠΡΟΣΑΡΜΟΣΤΙΚΗ ΑΞΙΟΛΟΓΗΣΗ ΜΑΘΗΤΩΝ ΣΕ ΕΥΦΥΕΣ ΣΥΣΤΗΜΑ ΔΙΔΑΣΚΑΛΙΑΣ ΣΤΟ ΔΙΑΔΙΚΤΥΟ» Κωνσταντίνος Παπαβλασόπουλος ΑΜ:475 Τριμελής Εξεταστική Επιτροπή: Καθηγητής:Λυκοθανάσης

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

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

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

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

Η διδακτική αξιοποίηση της Ιστορίας των Μαθηματικών ως μεταπτυχιακό μάθημα. Γιάννης Θωμαΐδης Δρ. Μαθηματικών Σχολικός Σύμβουλος

Η διδακτική αξιοποίηση της Ιστορίας των Μαθηματικών ως μεταπτυχιακό μάθημα. Γιάννης Θωμαΐδης Δρ. Μαθηματικών Σχολικός Σύμβουλος Η διδακτική αξιοποίηση της Ιστορίας των Μαθηματικών ως μεταπτυχιακό μάθημα Γιάννης Θωμαΐδης Δρ. Μαθηματικών Σχολικός Σύμβουλος Διαπανεπιστημιακό Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών ΔΙΔΑΚΤΙΚΗ ΚΑΙ

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

ΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ

ΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Dr. Christos D. Tarantilis Associate Professor in Operations Research & Management Science http://tarantilis.dmst.aueb.gr/ ΕΦΑΡΜΟΓΕΣ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Ι - 1- ΕΦΑΡΜΟΓΕΣΔΙΟΙΚΗΤΙΚΗΣΕΠΙΣΤΗΜΗΣ&

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

Ενότητα 1: Παρουσίαση μαθήματος. Διδάσκων: Βασίλης Κόμης, Καθηγητής

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

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

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

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

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

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

ΔΙΑΧΕΙΡΙΣΗ ΠΡΟΓΡΑΜΜΑΤΩΝ ΕΚΠΑΙΔΕΥΣΗΣ ΕΠΙΜΟΡΦΩΤΩΝ ΣΤΑ ΠΑΚΕ Διεύθυνση Επιμόρφωσης και Πιστοποίησης Επιμόρφωση Εκπαιδευτικών για την Αξιοποίηση και Εφαρμογή των Ψηφιακών Τεχνολογιών στη Διδακτική Πράξη Εγχειρίδιο Χρήσης Πληροφοριακού Συστήματος (MIS) ΔΙΑΧΕΙΡΙΣΗ

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

Εικόνα 1. Δείκτης Προόδου

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΕΡΕΥΝΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΙΝΣΤΙΤΟΥΤΟ ΕΚΠΑΙΔΕΥΤΙΚΗΣ ΠΟΛΙΤΙΚΗΣ Γώγουλος Γ., Κοτσιφάκης Γ., Κυριακάκη Γ., Παπαγιάννης Α., Φραγκονικολάκης Μ., Χίνου Π. ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ

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

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

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

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

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

ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΚΟΥΛΙΝΑΣ ΓΕΩΡΓΙΟΣ Δρ. Μηχανικός Παραγωγής & Διοίκησης ΔΠΘ ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ o ΔΙΑΛΕΞΕΙΣ ΜΑΘΗΜΑΤΟΣ ΔΕΥΤΕΡΑ 16.00-19.00 (Εργ. Υπ. Μαθ. Τμ. ΜΠΔ) oτρόπος

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

Διδακτική της Πληροφορικής

Διδακτική της Πληροφορικής Διδακτική της Πληροφορικής Ενότητα 1: Εισαγωγή Δημήτριος Τσώλης Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και Νέων Τεχνολογιών Προβληματική Την τελευταία εικοσαετία,

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

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

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

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

ιπλωµατική εργασία: Νικόλαος Ματάνας Επιβλέπων Καθηγήτρια: Μπούσιου έσποινα

ιπλωµατική εργασία: Νικόλαος Ματάνας Επιβλέπων Καθηγήτρια: Μπούσιου έσποινα ιπλωµατική εργασία: Νικόλαος Ματάνας Επιβλέπων Καθηγήτρια: Μπούσιου έσποινα ΤµήµαΕφαρµοσµένης Πληροφορικής Πανεπιστήµιο Μακεδονίας Θεσσαλονίκη Ιούνιος 2006 εισαγωγικού µαθήµατος προγραµµατισµού υπολογιστών.

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

Τμήμα Μηχανικών Πληροφορικής & Υπολογιστών

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

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

5.1. Χωροταξικός Σχεδιασμός Κριτήρια αξιολόγησης Χωροταξικού Σχεδιασμού Δραστηριότητες Χωροταξικού Σχεδιασμού...

5.1. Χωροταξικός Σχεδιασμός Κριτήρια αξιολόγησης Χωροταξικού Σχεδιασμού Δραστηριότητες Χωροταξικού Σχεδιασμού... ΚΕΦΑΛΑΙΟ 5. ΧΩΡΟΤΑΞΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ Περιεχόμενα 5.1. Χωροταξικός Σχεδιασμός... 2 5.2. Κριτήρια αξιολόγησης Χωροταξικού Σχεδιασμού... 4 5.3. Δραστηριότητες Χωροταξικού Σχεδιασμού... 5 5.4. Τύποι Χωροταξίας...

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

ΣΥΣΤHΜΑΤΑ ΑΠΟΦAΣΕΩΝ ΣΤΗΝ ΠΑΡΑΓΩΓH

ΣΥΣΤHΜΑΤΑ ΑΠΟΦAΣΕΩΝ ΣΤΗΝ ΠΑΡΑΓΩΓH ΣΥΣΤHΜΑΤΑ ΑΠΟΦAΣΕΩΝ ΣΤΗΝ ΠΑΡΑΓΩΓH Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Διοίκηση Παραγωγής & Συστημάτων Υπηρεσιών ΕΡΓΑΣΤΗΡΙΟ ΣΥΣΤΗΜΑΤΩΝ ΑΠΟΦΑΣΕΩΝ ΚΑΙ ΔΙΟΙΚΗΣΗΣ Περιεχόμενα

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

Οργάνωση Διδασκαλίας 9/10/2017

Οργάνωση Διδασκαλίας 9/10/2017 Οργάνωση Διδασκαλίας 9/10/2017 Σχεδιασμός Μάθησης (Learning Design) Σε ποιον; Τι; Με ποιο τρόπο; Σχεδιασμός Μάθησης Γενικά Υπάρχουσα Γνώση Μεθοδολογία Περιεχόμενο Παράδοση (Delivery) Επιθυμητή Γνώση Σύνοψη

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

Εικόνα 1. Δείκτης Προόδου

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

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

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

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

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

711 Πληροφορικής ΤΕΙ Αθήνας

711 Πληροφορικής ΤΕΙ Αθήνας 711 Πληροφορικής ΤΕΙ Αθήνας Το Τμήμα Πληροφορικής του ΤΕΙ Αθήνας ιδρύθηκε και δέχτηκε τους πρώτους του σπουδαστές τον Οκτώβριο του 1983, ταυτόχρονα δηλαδή με την έναρξη ισχύος του νόμου 1404/83 για τα

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

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

ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΚΟΥΛΙΝΑΣ ΓΕΩΡΓΙΟΣ Δρ. Μηχανικός Παραγωγής & Διοίκησης ΔΠΘ The Tabu Search Algorithm Glover, F. (1986). Future paths for integer programming and links to artificial

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

ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΑΓΡΟΤΙΚΩΝ ΠΡΟΙΟΝΤΩΝ & ΤΡΟΦΙΜΩΝ ΑΓΡΙΝΙΟ

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

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

Φ. Δογάνης I. Bafumba Χ. Σαρίμβεης. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Χημικών Μηχανικών Μονάδα Αυτόματης Ρύθμισης και Πληροφορικής

Φ. Δογάνης I. Bafumba Χ. Σαρίμβεης. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Χημικών Μηχανικών Μονάδα Αυτόματης Ρύθμισης και Πληροφορικής Αριστοποίηση παραγωγής ηλεκτρικής ενέργειας από συντονισμένη αξιοποίηση υδροηλεκτρικών και συμβατικών μονάδων ηλεκτροπαραγωγής με χρήση μικτού ακέραιου τετραγωνικού προγραμματισμού. Φ. Δογάνης I. Bafumba

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

Συστήματα Επιχειρηματικής Ευφυίας. Εισαγωγικές έννοιες Υπολογιστικής Νοημοσύνης

Συστήματα Επιχειρηματικής Ευφυίας. Εισαγωγικές έννοιες Υπολογιστικής Νοημοσύνης Συστήματα Επιχειρηματικής Ευφυίας Εισαγωγικές έννοιες Υπολογιστικής Νοημοσύνης Διάρθρωση του μαθήματος Το μάθημα αποτελείται από τρείς τρίωρες διαλέξεις και ένα επαναληπτικό τρίωρο. Οι διαλέξεις αφορούν

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

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

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

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

Διδακτική της Πληροφορικής

Διδακτική της Πληροφορικής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 3: Η Πληροφορική στην Ελληνική Δευτεροβάθμια Εκπαίδευση - Γυμνάσιο Σταύρος Δημητριάδης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

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

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

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΡΗΤΗΣ ΚΑΝΟΝΙΣΜΟΣ ΠΤΥΧΙΑΚΩΝ ΕΡΓΑΣΙΩΝ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΡΗΤΗΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΛΟΓΙΣΤΙΚΗΣ ΚΑΙ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗΣ ΚΑΝΟΝΙΣΜΟΣ ΠΤΥΧΙΑΚΩΝ ΕΡΓΑΣΙΩΝ Συνέλευση Τμήματος 4/31-10-2013 ΗΡΑΚΛΕΙΟ Οκτώβριος 2013 Περιεχόμενα

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

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

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

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

ΑΛΓΟΡΙΘΜΟΙ ΑΝΟΠΤΗΣΗΣ: Ο ΑΛΓΟΡΙΘΜΟΣ ΤΗΣ ΑΠΟ ΟΧΗΣ ΚΑΤΩΦΛΙΟΥ (THRESHOLD ACCEPTING)

ΑΛΓΟΡΙΘΜΟΙ ΑΝΟΠΤΗΣΗΣ: Ο ΑΛΓΟΡΙΘΜΟΣ ΤΗΣ ΑΠΟ ΟΧΗΣ ΚΑΤΩΦΛΙΟΥ (THRESHOLD ACCEPTING) ΑΛΓΟΡΙΘΜΟΙ ΑΝΟΠΤΗΣΗΣ: Ο ΑΛΓΟΡΙΘΜΟΣ ΤΗΣ ΑΠΟ ΟΧΗΣ ΚΑΤΩΦΛΙΟΥ (THRESHOLD ACCEPTING) ΧΡΗΣΤΟΣ. ΤΑΡΑΝΤΙΛΗΣ ΚΛΑΣΙΚΟΙ ΕΥΡΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ Κλασικοί Ευρετικοί Classical Heuristics Κατασκευαστικοί Ευρετικοί Αλγόριθµοι

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

Ολοήμερα Δημοτικά Σχολεία με Ενιαίο Αναμορφωμένο Εκπαιδευτικό Πρόγραμμα. Σοφία Καλογρίδη Σχολική Σύμβουλος

Ολοήμερα Δημοτικά Σχολεία με Ενιαίο Αναμορφωμένο Εκπαιδευτικό Πρόγραμμα. Σοφία Καλογρίδη Σχολική Σύμβουλος Ολοήμερα Δημοτικά Σχολεία με Ενιαίο Αναμορφωμένο Εκπαιδευτικό Πρόγραμμα Σοφία Καλογρίδη Σχολική Σύμβουλος ΔΣ ΕΑΕΠ Σε 960 ολοήμερα Δημοτικά Σχολεία της χώρας, 12/θεσια και με τον μεγαλύτερο μαθητικό πληθυσμό

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

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα Περιεχόμενα Πρόλογος... 9 Κεφάλαιο 1: Δομή και λειτουργία του υπολογιστή... 11 Κεφάλαιο 2: Χρήση Λ.Σ. DOS και Windows... 19 Κεφάλαιο 3: Δίκτυα Υπολογιστών και Επικοινωνίας... 27 Κεφάλαιο 4: Unix... 37

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

ΒΑΣΙΚΕΣ ΣΠΟΥΔΕΣ ΣΤΟ ΤΜΗΜΑ ΦΥΣΙΚΗΣ

ΒΑΣΙΚΕΣ ΣΠΟΥΔΕΣ ΣΤΟ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΒΑΣΙΚΕΣ ΣΠΟΥΔΕΣ ΣΤΟ ΤΜΗΜΑ ΦΥΣΙΚΗΣ Εισαγωγή Το νέο πρόγραμμα σπουδών που ισχύει πλέον πλήρως, ξεκίνησε να εφαρμόζεται σταδιακά ανά έτος από το ακαδημαϊκό έτος 2011-12 και είναι αποτέλεσμα αναμόρφωσης και

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

Πληροφορική (BSc & MSc)

Πληροφορική (BSc & MSc) ς Πληροφορική (BSc & MSc) www.nup.ac.cy ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ Πτυχίο στην Εφαρμοσμένη Πληροφορική BSc in Applied Informatics Περιγραφή Προγράμματος Στόχος του Προπτυχιακού Προγράμματος στην Εφαρμοσμένη

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

Πρόγραμμα Μεταπτυχιακών Σπουδών στην Πληροφορική (ΠΜΣ) Τμήμα Πληροφορικής ΑΠΘ http://mtpx.csd.auth.gr/

Πρόγραμμα Μεταπτυχιακών Σπουδών στην Πληροφορική (ΠΜΣ) Τμήμα Πληροφορικής ΑΠΘ http://mtpx.csd.auth.gr/ Πρόγραμμα Μεταπτυχιακών Σπουδών στην Πληροφορική (ΠΜΣ) Τμήμα Πληροφορικής ΑΠΘ http://mtpx.csd.auth.gr/ Γενικά Λειτουργεί αυτοδύναμα από το ακαδημαϊκό έτος 2003-4 Οδηγεί στην απόκτηση Μεταπτυχιακού Διπλώματος

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

Πράξη: «Επιμόρφωση εκπαιδευτικών για την αξιοποίηση και εφαρμογή των ψηφιακών τεχνολογιών στη διδακτική πράξη (Επιμόρφωση Β επιπέδου Τ.Π.Ε.

Πράξη: «Επιμόρφωση εκπαιδευτικών για την αξιοποίηση και εφαρμογή των ψηφιακών τεχνολογιών στη διδακτική πράξη (Επιμόρφωση Β επιπέδου Τ.Π.Ε. Πράξη: «Επιμόρφωση εκπαιδευτικών για την αξιοποίηση και εφαρμογή των ψηφιακών τεχνολογιών στη διδακτική πράξη Επιχειρησιακό Πρόγραμμα «Ανάπτυξη Ανθρώπινου Δυναμικού, Εκπαίδευση και Δια Βίου Μάθηση», ΕΣΠΑ

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

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Πτυχιακή εργασία ΕΠΙΛΥΣΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕΤΑΔΟΣΗΣ ΣΕ ΑΣΥΡΜΑΤΑ ΔΙΚΤΥΑ ΜΕ ΣΥΣΚΕΥΕΣ ΔΙΑΚΡΙΤΩΝ ΤΙΜΩΝ ΙΣΧΥΟΣ ΜΕ ΤΗ ΧΡΗΣΗ

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

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

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

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

ποτελεσματικότητα διαδικασίες sms ταχύτητα οργανόγραμμα ανάθεσηαρχειοθέτηση υτοματοποιημένη εκτέλεση ψηφιακή υπογραφή ISO ενημερώσεις διαγράμματα

ποτελεσματικότητα διαδικασίες sms ταχύτητα οργανόγραμμα ανάθεσηαρχειοθέτηση υτοματοποιημένη εκτέλεση ψηφιακή υπογραφή ISO ενημερώσεις διαγράμματα ργασίες διαδικασίες ειδικότητες παρατηρήσεις διαγράμματα οργανόγραμμα μειωμένο κόστος αποθήκευσης ανάθεσηαρχειοθέτηση email στατιστικά Ηλεκτρονική Διαχείριση Διαδικασιών υτοματοποιημένη εκτέλεση χρόνοι

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

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

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

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

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ (1) ΓΕΝΙΚΑ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΔΔΜΠΣ «ΑΝΟΡΓΑΝΗ ΒΙΟΛΟΓΙΚΗ ΧΗΜΕΙΑ» ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ ΜΕΤΑΠΤΥΧΙΑΚΟ ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ 1 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ 3 ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ Συνέχιση και Ολοκλήρωση

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

Κεφάλαιο 5 ΔΙΑΣΦΑΛΙΣΗ ΠΟΙΟΤΗΤΑΣ ΚΑΙ ΔΙΑΦΑΝΕΙΑ

Κεφάλαιο 5 ΔΙΑΣΦΑΛΙΣΗ ΠΟΙΟΤΗΤΑΣ ΚΑΙ ΔΙΑΦΑΝΕΙΑ Άρθρο 5.1 - Γενικά Κεφάλαιο 5 ΔΙΑΣΦΑΛΙΣΗ ΠΟΙΟΤΗΤΑΣ ΚΑΙ ΔΙΑΦΑΝΕΙΑ Στο ΕΜΠ εφαρμόζεται σύστημα διασφάλισης ποιότητας, καθώς και πλαίσιο αρχών και διαδικασιών μέσω των οποίων επιτυγχάνεται διαφάνεια στις

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