Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων
|
|
- Κλεόπατρος Δαγκλής
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Σχολή Οργάνωσης & Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων Διδακτορική Διατριβή «Σχεδίαση, ανάπτυξη και εφαρμογή ευφυών αλγορίθμων Υπολογιστικής Νοημοσύνης σε προβλήματα εύρεσης βέλτιστου ωρολογίου προγράμματος εργασίας για το προσωπικό δημοσίων και ιδιωτικών φορέων» Εκπόνηση Ιωάννης Π. Σώλος, PhD. Επιβλέπων καθηγητής: Γρηγόριος Ν. Μπεληγιάννης Αν. Καθηγητής Αγρίνιο 2016
2 Δήλωση περί μη λογοκλοπής Δηλώνω ότι είμαι o συγγραφέας της παρούσας διδακτορικής διατριβής με τίτλο «Σχεδίαση, ανάπτυξη και εφαρμογή ευφυών αλγορίθμων Υπολογιστικής Νοημοσύνης σε προβλήματα εύρεσης βέλτιστου ωρολογίου προγράμματος εργασίας για το προσωπικό δημοσίων και ιδιωτικών φορέων» που συντάχθηκε στο πλαίσιο της εκπόνησης της διδακτορικής μου διατριβής και παραδόθηκε τον μήνα Ιούνιο του Η αναφερόμενη διδακτορική διατριβή δεν αποτελεί αντιγραφή ούτε προέρχεται από ανάθεση σε τρίτους. Οι πηγές που χρησιμοποιήθηκαν αναφέρονται σαφώς στη βιβλιογραφία και στο κείμενο, ενώ κάθε εξωτερική βοήθεια, αν υπήρξε, αναγνωρίζεται ρητά. Όνοματεπώνυμο Υπογραφή: ΙΩΑΝΝΗΣ Π. ΣΩΛΟΣ Ημερομηνία: Πανεπιστήμιο Πατρών 2
3 Πανεπιστήμιο Πατρών 3
4 Ευχαριστίες Με την ολοκλήρωση της παρούσας εργασίας αισθάνομαι την ανάγκη να ευχαριστήσω όλους εκείνους τους ανθρώπους που συνέβαλαν, ο καθένας με το μοναδικό του τρόπο, και με βοήθησαν στην πορεία εκπόνησής της. Θα ήθελα αρχικά να ευχαριστήσω τον επιβλέποντα Καθηγητή μου κ. Μπεληγιάννη Γρηγόρη, Καθηγητή του Τμήματος ΔΕΑΠΤ του Πανεπιστημίου Πατρών για την καθοδήγηση και την συνεχή εποπτεία της παρούσας διατριβής, χωρίς τον οποίο δε θα ήταν δυνατή η περάτωσή της. Ευχαριστώ τα μέλη της τριμελούς συμβουλευτικής επιτροπής κ. Λυκοθανάση Σπυρίδωνα, Καθηγητή και κ. Χατζηλυγερούδη Ιωάννη, Αναπληρωτή Καθηγητή που μου έκαναν την τιμή να είναι μέλη της εργασίας μου. Επίσης, ευχαριστώ τα υπόλοιπα μέλη της Επταμελούς Εξεταστικής Επιτροπής για την κρίση της διδακτορικής διατριβής μου: κ. Κωνσταντίνο Αδαμίδη, Καθηγητή κ. Βασίλειο Βουτσινά, Καθηγητή κ. Βασίλειο Πλαγιανάκο, Αναπληρωτή Καθηγητή κ. Ευστράτιο Γεωργόπουλο, Καθηγητή. Θα ήθελα να ευχαριστήσω θερμά τον υποψήφιο διδάκτορα Ιωάννη Τασσόπουλο για την συναδελφική αλληλεγγύη που επέδειξε απέναντι μου και τις ουσιαστικές του προτάσεις και παρεμβάσεις κατά την διάρκεια όλων αυτών των χρόνων και για αυτή τη μοναδική εμπειρία που μοιραστήκαμε μαζί. Θα ήθελα να ευχαριστήσω την σύζυγό μου Ασπασία Κοντούλη και τα μέλη της οικογένειάς μου για την στήριξη που μου παρέχουν όλα αυτά τα χρόνια, καθώς και όλους τους ανθρώπους με τους οποίους μοιράζομαι τη ζωή μου είτε αυτοί βρίσκονται κοντά μου είτε όχι. Το αφιερώνω Στην Μάνα μου που μου έμαθε ότι με το πείσμα και τη θέληση «όρη μεθιστάνειν» και στον Πατέρα μου από τον οποίο εκτός από το όνομα, κληρονόμησα την συνδυαστική μνήμη του, αποτέλεσμα αυτής της εργασίας. Πανεπιστήμιο Πατρών 4
5 ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ... 4 ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΚΟΝΩΝ ΠΕΡΙΕΧΟΜΕΝΑ ΠΙΝΑΚΩΝ ΚΕΦΑΛΑΙΟ 1: Εισαγωγή Αντικείμενο της διατριβής Διάρθρωση της διατριβής ΚΕΦΑΛΑΙΟ 2: Περιγραφή των προβλημάτων timetabling και scheduling Η έννοια του προβλήματος Εισαγωγή στο πρόβλημα του Χρονοπρογραμματισμού Μέθοδοι που εφαρμόζονται στο χρονοπρογραμματισμό Εισαγωγή στα προβλήματα scheduling και timetabling Είδη προβλημάτων scheduling και timetabling Χρονοπρογραμματισμός Έργων Χρονοπρογραμματισμός Διεργασιών Χρονοπρογραμματισμός Προσωπικού Vehicle Routing Problem School timetabling University course timetabling Exam timetabling Nurse rostering Το πρόβλημα του Χρονοπρογραμματισμού Προσωπικού Το πρόβλημα του Χρονοπρογραμματισμού των logistics ΚΕΦΑΛΑΙΟ 3: Τεχνικές επίλυσης προβλημάτων βελτιστοποίησης Αλγόριθμοι Υπολογιστικής Νοημοσύνης Ευρετικοί Αλγόριθμοι Πανεπιστήμιο Πατρών 5
6 3.1.2 Κατασκευαστικοί Αλγόριθμοι Βελτιωτικοί Αλγόριθμοι Μεταευρετικοί Αλγόριθμοι Μέθοδοι Βασισμένες στην Τοπική Αναρρίχηση σε λόφο (Hill Climbing) Αναζήτηση με λίστα ταμπού (Tabu Search TS) Προσομοιωμένη Ανόπτηση Γενετικοί Αλγόριθμοι Εισαγωγή Βιολογικό Υπόβαθρο Περιγραφή του Γενετικού Αλγόριθμου Επιλογή Ο Τελεστής Διασταύρωσης (Crossover Operator) Ο Τελεστής Μετάλλαξης (Mutation Operator) Επιβίωση Τα κριτήρια Τερματισμού ενός Γενετικού Αλγορίθμου Μαθηματικός μηχανισμός των ΓΑ Πλεονεκτήματα Γενετικών Αλγορίθμων Εφαρμογές Γενετικών Αλγορίθμων Βελτιστοποίηση με Αποικίες Μυρμηγκιών (Ant Algorithms) Αλγόριθμοι σμήνους Βασικός Αλγόριθμος Βελτιστοποίησης Σμήνους Σωματιδίων (Basic PSO) Μειονεκτήματα του PSO Οι αλγόριθμοι gbest PSO και lbest PSO Δομές Κοινωνικής Δικτύωσης Σύγκριση Γενετικών Αλγόριθμων με Βελτιστοποίηση Σμήνους Σωματιδίων Μιμητικοί Αλγόριθμοι (Memetic Algorithms) Πανεπιστήμιο Πατρών 6
7 Αλγόριθμοι Variable Neighborhood Search ΚΕΦΑΛΑΙΟ 4: Χρονοπρογραμματισμός Nurse Rostering Εισαγωγή Περιγραφή του αλγορίθμου που εφαρμόστηκε στα δεδομένα που έχει αναρτημένα το Πανεπιστήμιο του Νόττινχαμ Εισαγωγή Σχετικές εργασίες Ορισμός του προβλήματος Περιορισμοί Πειραματική διαδικασία εφαρμογής ΓΑ και ανάλυση αποτελεσμάτων Γενική επισκόπηση του αλγορίθμου αναζήτησης στοχαστικής μεταβλητής γειτονιάς Η πρώτη φάση του αλγορίθμου στοχαστικής αναζήτησης μεταβλητής γειτονιάς Η διαδικασία του πτυσσόμενου παράθυρου Selective_Partial_Swap() Η δεύτερη φάση του αλγορίθμου στοχαστικής αναζήτησης μεταβλητής γειτονιάς Διαδικασία Selective_Day_Swap_Mutation() Διαδικασία Random_Segment_Swap_Mutation() Είσοδος Δεδομένων Είσοδος δεδομένων προβλήματος Valouxis Είσοδος δεδομένων προβλήματος BCV Είσοδος δεδομένων προβλήματος MUSA Είσοδος δεδομένων προβλήματος LLR Είσοδος δεδομένων προβλήματος BCV Είσοδος δεδομένων προβλήματος WHPP Είσοδος δεδομένων προβλήματος HED Πανεπιστήμιο Πατρών 7
8 Υπολογιστικά Αποτελέσματα Διερευνώντας την επίδραση των διαφόρων παραμέτρων στην απόδοση του αλγορίθμου Παρουσίαση του αλγορίθμου στοχαστικής αναζήτησης μεταβλητής γειτονιάς που εφαρμόστηκε στα δεδομένα του διαγωνισμού INRC Μοντελοποίηση του προβλήματος Περιορισμοί Ανελαστικοί περιορισμοί (Hard constraints) Ελαστικοί περιορισμοί Κριτήρια βελτιστοποίησης (Soft constraints) Ο προτεινόμενος αλγόριθμος Δομή του αλγορίθμου η Φάση η Φάση Swap_Ordered_Rosters() Διαφορές της προτεινόμενης προσέγγισης με άλλους αλγόριθμους της σχετικής βιβλιογραφίας Υπολογιστικά αποτελέσματα Δεδομένα εισόδου Εκτέλεση πειραμάτων Επιδόσεις αλγορίθμου Σύγκριση με τα αποτελέσματα του INRC Ανάλυση και συζήτηση Διερεύνηση της επίδρασης της αρχικής τιμής της Swap_Selection_Probability στην απόδοση του αλγορίθμου Διερεύνηση της επίδρασης της παραμέτρου της πυκνότητας (Density) στην απόδοση του αλγορίθμου, Διερεύνηση της επίδρασης των παραμέτρων Κ, Μ, και Density στην τιμή της Swap_Selection_Probability Πανεπιστήμιο Πατρών 8
9 Διερεύνηση της συμπεριφοράς σύγκλισης του αλγορίθμου, σε σύγκριση με τις τιμές των Κ, Μ και Swap_Selection_Probability Η συμπεριφορά του προτεινόμενου αλγορίθμου σε σχέση με υπολογιστικό χρόνο Συμπεράσματα και μελλοντική έρευνα Παρουσίαση του αλγορίθμου στοχαστικής αναζήτησης μεταβλητής γειτονιάς που εφαρμόστηκε στον προγραμματισμό βυτιοφόρων οχημάτων Εισαγωγή Προδιαγραφές Προβλήματος Ανελαστικοί και ελαστικοί περιορισμοί Μαθηματική μοντελοποίηση H δομή του κυρίως αλγορίθμου Υπολογιστικά αποτελέσματα Δεδομένα εισόδου Απόδοση του αλγορίθμου Ανάλυση και συζήτηση Διερεύνηση της απόδοσης της προτεινόμενης προσέγγισης VNS Συζητώντας την εφαρμογή της προτεινόμενης προσέγγισης και σε άλλα συναφή προβλήματα Συμπεράσματα και μελλοντική εργασία Αναφορά στον 4 ο αλγόριθμο που εφαρμόστηκε στο διαγωνισμό INRC-ΙΙ ΚΕΦΑΛΑΙΟ 5: Συμπεράσματα και μελλοντική έρευνα Συμπεράσματα Μελλοντική έρευνα ΚΕΦΑΛΑΙΟ 6: Δημοσιεύσεις Περιοδικά Συνέδρια Πανεπιστήμιο Πατρών 9
10 ΒΙΒΛΙΟΓΡΑΦΙΑ Ξενόγλωσση Ελληνική Πανεπιστήμιο Πατρών 10
11 ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΚΟΝΩΝ Εικόνα 1: Διάγραμμα Euler για τα σύνολα προβλημάτων P, NP, NP-πλήρη (NP-complete) και NP-δύσκολα (NP-hard) Εικόνα 2: Παράδειγμα αναζήτησης ACO Εικόνα 3: Οι κυριότερες δομές κοινωνικής δικτύωσης Εικόνα 4: Ένα παράδειγμα Μιμητικής Λειτουργίας Εικόνα 5: Επίπεδη επιφάνεια γειτονιάς Εικόνα 6: Σφαιρική επιφάνεια γειτονιάς Εικόνα 7: Η δομή του προτεινόμενου αλγόριθμου στοχαστικής αναζήτησης μεταβλητής γειτονιάς Εικόνα 8: Η δομή της πρώτης φάσης της προτεινόμενης στοχαστικής αναζήτησης μεταβλητής γειτονιάς Εικόνα 9: Η δομή της διαδικασίας Successive_Segment_Swap_Mutation() Εικόνα 10: Η δομή της διαδικασίας, Selective_Partial_Swap() Εικόνα 11: Παράδειγμα προγράμματος τεσσάρων ημερών Εικόνα 12: Η δομή της δεύτερης φάσης του προτεινόμενου αλγόριθμου στοχαστικής μεταβλητής αναζήτησης γειτονιάς Εικόνα 13: Η δομή της διαδικασίας Selective_Day_Swap_Mutation() Εικόνα 14: Η δομή της διαδικασίας Random_Segment_Swap_Mutation() Εικόνα 15: Συμπεριφορά σύγκλισης του προτεινόμενου αλγορίθμου για τέσσερις περιπτώσεις εισόδου: (α) MUSA, (β) LLR, (γ) BCV και (δ) HED Εικόνα 16: Αναπαράσταση κάθε ατόμου (υποψήφιας λύσης) Εικόνα 17: Γενική επισκόπηση του προτεινόμενου αλγορίθμου Εικόνα 18: Η δομή της 1 ης Φάσης Εικόνα 19: Η διαδικασία Swap_Random_Rosters() Εικόνα 20: Group_Swaps(R 1,R 2) Εικόνα 21: Η δομή της 2 ης Φάσης Εικόνα 22: Swap_Ordered_Rosters(R 1,R 2) Εικόνα 23: Διερεύνηση της επίδρασης της αρχικής τιμής της Swap_Selection_Probability στην απόδοση του προτεινόμενου αλγόριθμου Εικόνα 24: Διερεύνηση της επίδρασης της τιμής της παραμέτρου M στην τιμή της Swap_Selection_Probability Εικόνα 25: Διερεύνηση της επίδρασης της τιμής της παραμέτρου Κ στην τιμή της Swap_Selection_Probability Εικόνα 26: Διερεύνηση της επίδρασης της παραμέτρου Density στην τιμή της Swap_Selection_Probability όταν K<M Εικόνα 27: Διερεύνηση της επίδρασης της παραμέτρου Density στην τιμή της Swap_Selection_Probability όταν K>M Εικόνα 28: Διερεύνηση της συμπεριφοράς σύγκλισης του αλγορίθμου, σε σύγκριση με τις τιμές των Κ, Μ και Swap_Selection_Probability Εικόνα 29: Παρουσίαση της αναπαράστασης κάθε υποψήφιας λύσης Εικόνα 30: Το διάγραμμα ροής του προτεινόμενου αλγορίθμου Πανεπιστήμιο Πατρών 11
12 ΠΕΡΙΕΧΟΜΕΝΑ ΠΙΝΑΚΩΝ Πίνακας 1: Οι κυριότεροι αλγόριθμοι αναζήτησης Πίνακας 2: Η 1 η αναπαράσταση που δοκιμάστηκε από τον 1 ο αλγόριθμο Πίνακας 3: Η 2 η αναπαράσταση που δοκιμάστηκε από τον 1 ο αλγόριθμο Πίνακας 4: Πειραματικά αποτελέσματα για το αρχείο WHPP Πίνακας 5: Πειραματικά αποτελέσματα για το αρχείο MUSA Πίνακας 6: Πειραματικά αποτελέσματα για το αρχείο LLR Πίνακας 7: Πειραματικά αποτελέσματα για το αρχείο HED Πίνακας 8: Πειραματικά αποτελέσματα για το αρχείο VALOUXIS Πίνακας 9: Πειραματικά αποτελέσματα για το αρχείο BCV Πίνακας 10: Πειραματικά αποτελέσματα για το αρχείο BCV Πίνακας 11: Τιμές των παραμέτρων που χρησιμοποιήθηκαν για κάθε περίπτωση εισόδου Πίνακας 12: Συγκρίνοντας τα καλύτερα αποτελέσματα που κατασκευάστηκαν από τον προτεινόμενο αλγόριθμο με τα καλύτερα αποτελέσματα που δημοσιεύονται στις εργασίες Valouxis and Houssos, 2000; Li et al., 2003; Brucker et al., 2010; Puente et al., 2009; Musa and Saxena, 1984 και Weil et al., Πίνακας 13: Συγκρίνοντας τα καλύτερα αποτελέσματα που κατασκευάστηκαν από τον προτεινόμενο αλγόριθμο με τα καλύτερα χρονοδιαγράμματα που έχουν αναφερθεί για αυτές τις συγκεκριμένες περιπτώσεις Πίνακας 14: Υπολογιστική πειράματα καταδεικνύουν την αποτελεσματικότητα, τη σταθερότητα και την ομοιογένεια του προτεινόμενου αλγορίθμου. STD, τυπική απόκλιση, CV, συντελεστής μεταβλητότητας Πίνακας 15: Διερεύνηση της επίδρασης του αριθμού των κύκλων της πρώτης φάσης για είσοδο δεδομένων το αρχείο Valouxis Πίνακας 16: Διερεύνηση της επίδρασης του μεγέθους του πληθυσμού για είσοδο δεδομένων το αρχείο Valouxis Πίνακας 17: Διερεύνηση της επίδρασης της πιθανότητας εναλλαγής για είσοδο δεδομένων το αρχείο Valouxis Πίνακας 18: Διερεύνηση της επίδρασης του αριθμού των κύκλων της πρώτης φάσης για είσοδο δεδομένων το αρχείο BCV Πίνακας 19: Διερεύνηση της επίδρασης του μεγέθους του πληθυσμού για είσοδο δεδομένων το αρχείο BCV Πίνακας 20: Διερεύνηση της επίδρασης της πιθανότητας εναλλαγής για είσοδο δεδομένων το αρχείο BCV Πίνακας 21: Διερεύνηση της επίδρασης του αριθμού των κύκλων της πρώτης φάσης για είσοδο δεδομένων το αρχείο MUSA Πίνακας 22: Διερεύνηση της επίδρασης του μεγέθους του πληθυσμού για είσοδο δεδομένων το αρχείο MUSA Πίνακας 23: Διερεύνηση της επίδρασης της πιθανότητας εναλλαγής για είσοδο δεδομένων το αρχείο MUSA Πίνακας 24: Διερεύνηση της επίδρασης του αριθμού των κύκλων της πρώτης φάσης για είσοδο δεδομένων το αρχείο LLR Πανεπιστήμιο Πατρών 12
13 Πίνακας 25: Διερεύνηση της επίδρασης του μεγέθους του πληθυσμού για είσοδο δεδομένων το αρχείο LLR Πίνακας 26: Διερεύνηση της επίδρασης της πιθανότητας εναλλαγής για είσοδο δεδομένων το αρχείο LLR Πίνακας 27: Διερεύνηση της επίδρασης του αριθμού των κύκλων της πρώτης φάσης για είσοδο δεδομένων το αρχείο BCV Πίνακας 28: Διερεύνηση της επίδρασης του μεγέθους του πληθυσμού για είσοδο δεδομένων το αρχείο BCV Πίνακας 29: Διερεύνηση της επίδρασης της πιθανότητας εναλλαγής για είσοδο δεδομένων το αρχείο BCV Πίνακας 30: Διερεύνηση της επίδρασης του αριθμού των κύκλων της πρώτης φάσης για είσοδο δεδομένων το αρχείο WHPP Πίνακας 31: Διερεύνησης της επίδρασης του μεγέθους του πληθυσμού για είσοδο δεδομένων το αρχείο WHPP Πίνακας 32: Διερεύνηση της επίδρασης της πιθανότητας εναλλαγής για είσοδο δεδομένων το αρχείο WHPP Πίνακας 33: Διερεύνηση της επίδρασης του αριθμού των κύκλων της πρώτης φάσης για είσοδο δεδομένων το αρχείο HED Πίνακας 34: Διερεύνηση της επίδρασης του μεγέθους του πληθυσμού για είσοδο δεδομένων το αρχείο HED Πίνακας 35: Διερεύνηση της επίδρασης της πιθανότητας εναλλαγής για είσοδο δεδομένων το αρχείο HED Πίνακας 36: Οι τιμές των παραμέτρων που χρησιμοποιούνται από τον προτεινόμενο αλγόριθμο Πίνακας 37: Υπολογιστικά αποτελέσματα κάτω από το όριο χρόνου, που όρισε ο διαγωνισμός IΝRC Πίνακας 38: Υπολογιστικά αποτελέσματα υπό μια μικρή αύξηση του χρονικού ορίου Πίνακας 39: Σύγκριση με άλλους φιναλίστ του διαγωνισμού εντός της προθεσμίας που όρισε ο IRC-2010 καθώς και με τον αλγόριθμο των Lü και Hao (Lü and Hao, 2012) Πίνακας 40: Ποσοστό επίτευξης καλύτερων αποτελεσμάτων ανά αλγόριθμο, όπως είναι αναρτημένα στην ιστοσελίδα του διαγωνισμού INRC Πίνακας 41: Υπολογιστικά αποτελέσματα κάτω από το χρονικό όριο των 10 λεπτών Πανεπιστήμιο Πατρών 13
14 ΚΕΦΑΛΑΙΟ 1: Εισαγωγή 1.1 Αντικείμενο της διατριβής Με την παρούσα διδακτορική διατριβή προσπαθούμε να αντιμετωπίσουμε το πρόβλημα της επίλυσης δύσκολων προβλημάτων χρονοπρογραμματισμού, ώστε εντός αποδεκτών χρονικών ορίων, να προκύπτει ποιοτική λύση με το ελάχιστο δυνατό κόστος. Γίνεται, επίσης, προσπάθεια παρουσίασης της μοντελοποίησης των υπό επίλυση προβλημάτων με τέτοιο τρόπο, ώστε να είναι εύκολο να επιχειρηθεί προσαρμογή του εκάστοτε μοντέλου απλοποιώντας ή παραλείποντας κάποιες από τις συνιστώσες του υπό εξέταση προβλήματος. Η μελέτη επικεντρώνεται σε δύο προβλήματα που σχετίζονται με το χρονοπρογραμματισμό των βαρδιών του προσωπικού σε Νοσοκομειακά Ιδρύματα καθώς και σε ένα πρόβλημα που αφορά το χρονοπρογραμματισμό των βαρδιών των οδηγών μιας επιχείρησης μεταφοράς πετρελαίου. Το πρώτο πρόβλημα του χρονοπρογραμματισμού των βαρδιών σε ένα Νοσοκομειακό Ίδρυμα, που μελετήθηκε, αφορά το χρονοπρογραμματισμό των διαφόρων εργασιών του προσωπικού του Νοσοκομείου, ενώ υφίστανται διαφορετικές ικανότητες του προσωπικού, διαφορετικοί κανονισμοί και/ή διαφορετικές απαιτήσεις εργασίας. Ο βασικός στόχος είναι η ικανοποίηση όσων περισσότερων ελαστικών περιορισμών και προτιμήσεων του προσωπικού, ενώ παράλληλα θα καλύπτονται οι λειτουργικές ανάγκες (ανελαστικοί περιορισμοί) του Νοσοκομείου για ένα προκαθορισμένο χρονικό διάστημα. Ο αλγόριθμος που σχεδιάστηκε και υλοποιήθηκε αναλαμβάνει τη σύνταξη ενός εικοσιτετράωρου προγράμματος λειτουργίας των Νοσοκομείων που αφενός εξυπηρετεί τις λειτουργικές ανάγκες του εκάστοτε Νοσοκομείου, και αφετέρου ικανοποιεί τις προτιμήσεις του προσωπικού σε όσο το δυνατόν μεγαλύτερο βαθμό σε σχέση με άλλα εναλλακτικά προγράμματα βαρδιών τα οποία θα μπορούσαν να εφαρμοστούν. Πανεπιστήμιο Πατρών 14
15 Ο προτεινόμενος αλγόριθμος χρησιμοποιείται για τη δημιουργία ενός εφικτού και αποτελεσματικού προγράμματος βαρδιών σε ένα Νοσοκομείο για πολλές διαφορετικές περιπτώσεις/απαιτήσεις σε προσωπικό, ειδικότητες, είδος βαρδιών κλπ.. Για να αποδειχθεί αποτελεσματικότητα και η γενική εφαρμογή της προτεινόμενης προσέγγισης, πραγματοποιήσαμε πειράματα με δεδομένα εισόδου του πραγματικού κόσμου που προέρχονται από πολλές διαφορετικές περιπτώσεις Νοσοκομείων. Οι περιπτώσεις χρονοπρογραμματισμού που χρησιμοποιούνται έχουν σημαντικές διαφορές ως προς τη φύση, τη δομή, τη φιλοσοφία και το είδος των σκληρών και μαλακών περιορισμών που πρέπει να ικανοποιούνται. Από τις διάφορες εναλλακτικές μεθόδους επίλυσης που εξετάστηκαν τα καλύτερα αποτελέσματα πρόεκυψαν από την υλοποίηση ενός μοντέλου που στηρίχθηκε στην μεταευρετική τεχνική της αναζήτησης στοχαστικής μεταβλητής γειτονιάς (Stochastic Variable Neighborhood Search SVNS). Πρόκειται για μια μέθοδο δύο φάσεων και πολλών επιμέρους σταδίων. Η πρώτη φάση είναι η φάση κατασκευής της λύσης, ενώ η δεύτερη είναι η φάση βελτίωσης της. Στη φάση της βελτίωσης χρησιμοποιήθηκε ένας συνδυασμός από μεταευρετικές τεχνικές (προσομοιωμένη ανόπτηση, αναζήτηση με λίστα ταμπού, στοχαστική μεταβλητή γειτονιά, κ.α.) καθώς και η επίλυση με μεθόδους γραμμικού προγραμματισμού του μαθηματικού μοντέλου για ένα αριθμό υποπροβλημάτων του συνολικού προβλήματος. Η εφαρμογή όλων αυτών των τεχνικών οδηγεί σε σταδιακή μείωση της τιμής, που λαμβάνει η συνάρτηση κόστους, με αποτέλεσμα την κατασκευή ολοένα και καλύτερης λύσης. Ο αλγόριθμος αυτός εφαρμόστηκε σε επτά διαφορετικά προβλήματα, όπως αυτά έχουν οριστεί στην αντίστοιχη ιστοσελίδα του Πανεπιστημίου του Νόττινχαμ (University of Nottingham ( Τα προβλήματα αυτά αποτελούν διεθνώς αναγνωρισμένα προβλήματα στη σχετική βιβλιογραφία και έχουν χρησιμοποιηθεί από πλήθος ερευνητών, στα πειράματά τους, για να αποδείξουν την αποδοτικότητα των αλγορίθμων τους. Πιο συγκεκριμένα, τα επτά προβλήματα τα οποία αντιμετωπίστηκαν με ιδιαίτερη επιτυχία από τον εν λόγω αλγόριθμο είναι τα Valouxis-1, BCV3-46.2, MUSA, LLR, BCV4-13.1, WHPP, HED01). Πανεπιστήμιο Πατρών 15
16 Τα πειραματικά αποτελέσματα δείχνουν ότι ο προτεινόμενος αλγόριθμος αποδίδει καλύτερα σε όλες τις περιπτώσεις, κατάφερε να πετύχει τα πιο καλά αποτελέσματα που έχουν επιτευχθεί στη βιβλιογραφία σε συντομότερο χρόνο, και σε μία περίπτωση, καταφέρνει να φέρει καλύτερο αποτέλεσμα από ότι έχει επιτευχθεί μέχρι τώρα χρησιμοποιώντας τα ίδια κριτήρια αξιολόγησης. Μάλιστα, στην περίπτωση που καταφέρνει να φέρει καλύτερο αποτέλεσμα από ότι έχει επιτευχθεί μέχρι τώρα, η λύση μας, αφού επιβεβαιώθηκε από τους υπεύθυνους της ιστοσελίδας, συμπεριελήφθη στις λύσεις που αναγράφονται σε αυτή ( ).αλγόριθμος αυτός δημοσιεύτηκε στο παρακάτω άρθρο: Solos, Ioannis P., Ioannis X. Tassopoulos and Grigorios N. Beligiannis, A Generic Two-Phase Stochastic Variable Neighborhood Approach for Effectively Solving the Nurse Rostering Problem. Algorithms, 2013, 6, pp Στη συνέχεια σχεδιάστηκε και υλοποιήθηκε ένας δεύτερος αλγόριθμος αναζήτησης στοχαστικής μεταβλητής γειτονιάς, ώστε να αντιμετωπίζεται με επιτυχία το πρόβλημα του χρονοπρογραμματισμού βαρδιών σε Νοσοκομειακά Ιδρύματα, όπως ορίστηκε στο διεθνή διαγωνισμό First International Nurse Rostering Competition (INRC-Ι), ( Ο αλγόριθμος που αναπτύχθηκε στα πλαίσια αυτής της διδακτορικής διατριβής κατάφερε εφαρμοζόμενος στα 60 αρχεία εισόδου του διαγωνισμού να ισοφαρίσει σε 48 περιπτώσεις τις καλύτερες μέχρι τότε επιδόσεις, ενώ σε 2 να τις ξεπεράσει και να βρει καλύτερα αποτελέσματα σε αυτές. Ο συγκεκριμένος αλγόριθμος SVNS που αναπτύχθηκε είναι μέχρι αυτή τη στιγμή ο καλύτερος αλγόριθμος στην αντίστοιχη βιβλιογραφία, σχετικά με την απόδοσή του στα δεδομένα εισόδου του διαγωνισμού INRC-Ι. Τα αποτελέσματα του αλγορίθμου επιβεβαιώθηκαν από τους διοργανωτές του διαγωνισμού και έχουν αναρτηθεί σε σχετική ιστοσελίδα ( Ο συγκεκριμένος αλγόριθμος δημοσιεύτηκε στο παρακάτω άρθρο: Ioannis X. Tassopoulos, Ioannis P. Solos and Grigorios N. Beligiannis, Α two-phase adaptive Πανεπιστήμιο Πατρών 16
17 variable neighborhood approach for nurse rostering, Computers & Operations Research, 60, August 2015, pp Μάλιστα, στην αναγγελία έναρξης του νέου διαγωνισμού Second International Nurse Rostering Competition (INRC-II) ( γίνεται αναφορά της συνεισφοράς μας στον προηγούμενο διαγωνισμό αλλά και της επιτυχίας του αλγορίθμου μας στην εύρεση των καλύτερων λύσεων σε εκείνα τα δεδομένα εισόδου ( Στο σημείο αυτό θεωρούμε καλό να αναφέρουμε τις ερευνητικές ομάδες που έχουν εφαρμόσει τους αλγορίθμους τους στα δεδομένα του INRC-I με τα μεγαλύτερα ποσοστά επιτυχίας. Σειρά κατάταξης ερευνητικών ομάδων με Ποσοστό επιτυχίας καλύτερου επικυρωμένα αποτελέσματα αποτελέσματος Ioannis Χ. Tassopoulos, Ioannis P. Solos, 81.68% Grigorios N. Beligiannis E.K. Burke and T. Curtois 61.68% C. Valouxis, C. Gogos, G. Goulas, P. Alefragis, E. 60% Housos K. Nonobe 36.67% Z. Liu and J. Hao 21.68% B. Bilgin, P. Demeester, M. Misir, W % Vancroonenburg, G. Vanden Berghe, T. Wauters R.A.M. Gomes, H.G. Santos, T. Toffolo, S. Ribas 15% and R.H. Vareto Το τρίτο πρόβλημα που μελετήθηκε ήταν το πρόβλημα το χρονοπρογραμματισμό των βαρδιών των οδηγών μιας επιχείρησης μεταφοράς πετρελαίου. Κατασκευάστηκε ένα νέο μαθηματικό μοντέλο για μια ειδική μορφή του προβλήματος, η οποία είχε διατυπωθεί στο παρελθόν, και για την οποία υπήρχαν διαθέσιμα στιγμιότυπα προβλημάτων καθώς και οι έως τότε καλύτερες λύσεις τους ( Ο αλγόριθμος που αναπτύχθηκε ήταν μια νέα παραλλαγή της SVNS και τα αποτελέσματά του ήταν εντυπωσιακά, αφού κατάφερε στη συντριπτική πλειοψηφία των δεδομένων εισόδου να επιτύχει καλύτερα αποτελέσματα από αυτά που είχαν δημοσιευτεί μέχρι τότε. Ο συγκεκριμένος αλγόριθμος δημοσιεύτηκε στο παρακάτω άρθρο: Ioannis P. Solos, Ioannis X. Tassopoulos, Grigorios N. Πανεπιστήμιο Πατρών 17
18 Beligiannis, Optimizing Shift Scheduling for Tank Trucks Using an Effective Stochastic Variable Neighborhood Approach, International Journal of Artificial Intelligence, 2016 March, 14(1), pp Διάρθρωση της διατριβής Η διάθρωση της παρούσας διπλωματικής έχει ως εξής: Στο 1 ο κεφάλαιο παρουσιάζεται το αντικείμενο της παρούσας διατριβής και οι δημοσιεύσεις που έγιναν στα πλαίσια της εκπόνησής της. Στο 2 ο κεφάλαιο παρουσιάζονται οι δύο βασικές κατηγορίες προβλημάτων χρονοπρογραμματισμού και πιο συγκεκριμένα τα προβλήματα timetabling και τα προβλήματα scheduling. Γίνεται εκτενής αναφορά και περιγραφή στα είδη των προβλημάτων που ανήκουν σε αυτές τις δύο βασικές κατηγορίες. Στο 3 ο κεφάλαιο παρουσιάζονται διάφορες τεχνικές επίλυσης προβλημάτων βελτιστοποίησης με ιδιαίτερη έμφαση στις τεχνικές Υπολογιστικής Νοημοσύνης. Πιο συγκεκριμένα, παρουσιάζονται τα βασικά χαρακτηριστικά των Γενετικών Αλγορίθμων, των Aλγορίθμων Βελτιστοποίησης Σμήνους, των Μιμητικών Αλγορίθμων και των Αλγορίθμων Αναζήτησης Μεταβλητής Γειτονιάς. Στο 4 ο κεφάλαιο παρουσιάζονται οι προσεγγίσεις που πραγματοποιήθηκαν στην παρούσα διδακτορική διατριβή με σκοπό την αποτελεσματική επίλυση του προβλήματος nurse rostering και του προβλήματος. Αρχικά, παρουσιάζεται ο 1ος αλγόριθμος Αναζήτησης Μεταβλητής Γειτονιάς που εφαρμόστηκε στα δεδομένα nurse rostering που έχει αναρτημένα το Πανεπιστήμιο του Νόττινχαμ στην ιστοσελίδα του και τα οποία αποτελούν αναγνωρισμένα test instances στην παγκόσμια βιβλιογραφία. Στη συνέχεια παρουσιάζεται ο 2 ος αλγόριθμος Αναζήτησης Μεταβλητής Γειτονιάς που εφαρμόστηκε στα δεδομένα του διαγωνισμού INRC Τέλος, παρουσιάζεται ο αλγόριθμος Στοχαστικής Αναζήτησης Μεταβλητής Γειτονιάς Πανεπιστήμιο Πατρών 18
19 που εφαρμόστηκε στο πρόβλημα του προγραμματισμού των βαρδιών των οδηγών βυτιοφόρων οχημάτων. Στο 5 ο κεφάλαιο συνοψίζονται τα ερευνητικά αποτελέσματα που προέκυψαν από την παρούσα διδακτορική διατριβή. Στο 6 ο κεφάλαιο παρουσιάζονται οι δημοσιεύσεις που πραγματοποιήθηκαν στα πλαίσια της παρούσας διδακτορικής διατριβής. Πανεπιστήμιο Πατρών 19
20 ΚΕΦΑΛΑΙΟ 2: Περιγραφή των προβλημάτων timetabling και scheduling 2.1 Η έννοια του προβλήματος Η έννοια του προβλήματος είναι διαισθητικά γνωστή σε όλους: υπάρχει μια δεδομένη κατάσταση (αρχική), υπάρχει μια επιθυμητή κατάσταση (τελική) και διαθέσιμες ενέργειες που χρειάζεται να πραγματοποιηθούν με σκοπό να προκύψει η επιθυμητή. Με τον όρο πρόβλημα χαρακτηρίζουμε μία κατάσταση όπου χρειάζεται να αντιμετωπιστεί, χρειάζεται λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. Τη λέξη πρόβλημα την έχουμε συναντήσει αρκετές φορές από τις πρώτες τάξεις του σχολείου. Έχουμε λύσει προβλήματα στα Μαθηματικά, τη Φυσική κ.λπ. Με προβλήματα όμως ερχόμαστε αντιμέτωποι σε καθημερινή βάση, όπως λόγου χάριν πώς να φτιάξουμε σωστά ένα φαγητό, ποιος είναι ο πιο γρήγορος δρόμος για να πάμε στην δουλεία μας, πώς να τακτοποιήσουμε τα πράγματα στην αποθήκη με σκοπό να τα βρίσκουμε ευκολότερα. Τα παραπάνω προβλήματα είναι σχετικά απλά και γρήγορα ανακαλύπτουμε τη λύση τους. Αρκετά προβλήματα όμως, είναι πιο σύνθετα και η επίλυσή τους μας δυσκολεύει ιδιαίτερα. Για παράδειγμα η θεραπεία ορισμένων ασθενειών, η εξοικονόμηση ενέργειας, η ρύπανση της ατμόσφαιρας, η εξερεύνηση του διαστήματος και η κατασκευή μιας γέφυρας μεγάλου μήκους, είναι ιδιαίτερα σύνθετα προβλήματα. Υπάρχουν ακόμα και επιπλέον κατηγορίες προβλημάτων που: είτε έχει αποδειχθεί ότι δεν μπορούμε να τα επιλύσουμε: όπως ο τετραγωνισμός του κύκλου με κανόνα και διαβήτη ή το ταξίδι στο παρελθόν. είτε δεν μπορούμε να τα επιλύσουμε με τις μέχρι τώρα γνώσεις μας: όπως η ακριβής πρόβλεψη των σεισμών, η γήρανση του ανθρώπου, η ανακάλυψη εξωγήινων πολιτισμών και η επικοινωνία μαζί τους. Πανεπιστήμιο Πατρών 20
21 Ακόμα, τα προβλήματα που χρειάζεται να επιλύσουμε στο σχολείο είναι τις περισσότερες φορές υπολογιστικά και απαιτούν μια σειρά από λογικές σκέψεις και μαθηματικές πράξεις. Για παράδειγμα: «ποιος είναι ο μέσος όρος της βαθμολογίας μου;», «ποιο είναι το εμβαδόν ενός τετραγώνου με πλευρά μήκους 20 εκατοστών;», «πόσα χρήματα χρειαζόμαστε, για να αγοράσουμε ένα ποδήλατο, όταν η αρχική του τιμή είναι 150 και έχει έκπτωση 20%;», «ποιο ορθογώνιο με περίμετρο 80μ έχει το μέγιστο εμβαδό (βελτιστοποίηση);». Επίσης, υπάρχουν και άλλης μορφής προβλήματα με πιο ογκώδη χαρακτήρα, όπως το παιχνίδι μεταξύ δύο φίλων: «Μάντεψε ένα αριθμό που σκέφτηκα από το 1 έως το 100». Αν δοκιμάσεις να απαντήσεις και τους 100 αριθμούς και θέλεις 1 sec για τον καθένα, θα χρειασθείς 1 min και 40 sec, ώστε σίγουρα να βρεθεί η λύση. Αν όμως ήταν οι αριθμοί τότε θα χρειαζόταν 16 min και 40 sec, ώστε σίγουρα να βρεθεί η αντίστοιχη λύση, κι αν ήταν οι αριθμοί τότε θα χρειαζόταν 166 min και 40 sec για τη λύση αυτή. Το ίδιο εάν ήταν οι αριθμοί τότε θα χρειαζόταν 1μέρα 3 ώρες 46 min και 40 sec, ενώ αν ήταν οι αριθμοί τότε θα χρειαζόταν 11 μέρες, 13 ώρες, 46 min και 40 sec, κι αν ήταν οι αριθμοί τότε θα χρειαζόταν 115 μέρες, 17 ώρες, 46 min και 40 sec. Τέλος αν ήταν οι αριθμοί τότε θα χρειαζόταν 1 χρόνο, 62 μέρες, 9 ώρες, 46 min και 40 sec ώστε σίγουρα να βρεθεί η λύση. Προφανώς σε κάθε περίπτωση από τις παραπάνω δε χρειάζεται να ακολουθηθεί η σειριακή επιλογή (ντετερμινιστική προσέγγιση), ενώ αν επιλέξουμε ένα ευφυή τρόπο επίλυσης (ευρετική μέθοδος heuristic) και κινηθούμε πιθανοτικά (στοχαστικά) θα μπορέσουμε να βρεθούμε συντομότερα κοντά στη λύση. Σε αυτό το παράδειγμα κάποιος θα είχε τη δυνατότητα να επιλέξει τα περισσότερα ψηφία να είναι μηδενικά, διότι πολλές φορές οι άνθρωποι διαλέγουν να χρησιμοποιήσουν πιο συχνά τα μηδενικά και τότε το πρόβλημα θα περιορίζονταν ακόμη περισσότερο και θα υπήρχε μεγαλύτερη πιθανότητα να βρεθεί γρήγορα η λύση. Συνήθως όμως η λύση ενός προβλήματος χρειάζεται παραπάνω διερεύνηση, όπως για παράδειγμα στο επόμενο πρόβλημα: Ένας εργάτης χτίζει 1 μέτρο τοίχο σε 3 ώρες. Σε πόσο χρόνο θα έχει ολοκληρώσει το χτίσιμο 8 μέτρων, αν δουλέψει μόνος του; Η απάντηση: σε Πανεπιστήμιο Πατρών 21
22 24 ώρες φαίνεται λογική, αλλά ξεχνάμε ότι ένας εργάτης δεν μπορεί να δουλέψει 24 ώρες συνεχόμενες (περιορισμοί σε προβλήματα χρονοπρογραμματισμού)! Ακόμα, ο ορισμός ενός προβλήματος χρειάζεται να είναι ανεξάρτητος από την πολυπλοκότητα επίλυσης του, ενώ η πολυπλοκότητά του καθορίζεται από την πολυπλοκότητα του αλγορίθμου αναζήτησης που εφαρμόζεται για την επίλυση του. Κάποια άλλα προβλήματα όπως οι κύβοι (blocks), το N-puzzle, η τρίλιζα (tictac-toe), ο λαβύρινθος (maze), οι πύργοι του Ανόι (Hanoi towers), οι κανίβαλοι και οι ιεραπόστολοι (missionaries and cannibals) και τα ποτήρια (waterglass) είναι απλά προβλήματα, των οποίων η παρουσίαση βοηθάει στην κατανόηση των αρχών επίλυσής τους. Επιπλέον παραδείγματα πιο πολύπλοκων προβλημάτων είναι το σκάκι (chess), ο πλανόδιος πωλητής (traveling salesman) και οι Ν-βασίλισσες (Nqueens) (Russel and Norvig, 2009). Οπότε, για να επιλύσουμε κάποιο πρόβλημα χρειάζεται πρώτα να το κατανοήσουμε. Χρειάζεται ουσιαστικά να καταλάβουμε καλά το περιεχόμενο του, να διακρίνουμε τα δεδομένα που έχουμε στη διάθεσή μας και τα ζητούμενά του. Πρέπει ακόμα όμως να προσδιορίσουμε και το «περιβάλλον» ή το πλαίσιο μέσα στο οποίο εντάσσεται το πρόβλημα (χώρος του προβλήματος) και να σκεφτούμε τα βήματα (αλγόριθμος) για να έχουμε την δυνατότητα να το λύσουμε. Επίσης, η τυποποίηση των βημάτων επίλυσης κάνει πιο εύκολη την αυτοματοποίηση, ουσιαστικά την υλοποίηση του τρόπου επίλυσης σε ένα υπολογιστικό σύστημα. Η συγκεκριμένη αυτοματοποίηση πραγματοποιείται μέσω αυστηρά προκαθορισμένων βημάτων, ουσιαστικά αλγορίθμων, που χρειάζεται να εφαρμοστούν για να επιλυθεί ένα πρόβλημα. Λόγο ότι οι συγκεκριμένοι αλγόριθμοι αναζητούν τη λύση στο πρόβλημα ονομάζονται αλγόριθμοι αναζήτησης (search algorithms). Υπάρχουν αρκετοί αλγόριθμοι αναζήτησης και πολλές φορές συγκεκριμένα προβλήματα δίνουν την αφορμή για το σχεδιασμό νέων. Παρ όλ αυτά, οι αλγόριθμοι αναζήτησης που παρουσιάζονται στη συνέχεια είναι οι δημοφιλέστεροι και αποτελούν τα κύρια δομικά στοιχεία που οδηγούν στη δημιουργία νέων αλγορίθμων. Στον παρακάτω πίνακα συγκαταλέγονται οι πιο δημοφιλής αλγόριθμοι αναζήτησης (Russel and Norvig, 2009). Πανεπιστήμιο Πατρών 22
23 Όνομα Αλγορίθμου Συντομογραφία Ελληνική Ορολογία Deep First Search DFS Αναζήτηση Πρώτα σε Βάθος Breadth First Search BFS Αναζήτηση Πρώτα σε Πλάτος Iterative Deepening ID Επαναληπτική Εκβάθυνση Bi-directional Search BiS Αναζήτηση Διπλής Κατεύθυνσης Branch and Bound B&B Επέκταση και Οριοθέτηση Hill Climbing HC Αναρρίχηση Λόφου Enforced Hill Climbing EHC Εξαναγκασμένη Αναρρίχηση Λόφων Simulated Annealing SA Προσομοιωμένη Ανόπτηση Tabu Search TS Αναζήτηση με Απαγορευμένες Καταστάσεις (καταστάσεις ταμπού) Beam Search BS Ακτινωτή Αναζήτηση Best First Search BestFS Αναζήτηση Πρώτα στο Καλύτερο A* (A star) A* Α* (Άλφα Αστέρι) Iterative Deepening A* IDA* Α* με Επαναληπτική Εκβάθυνση Minmax Minmax Αναζήτηση Μέγιστου-Ελάχιστου Alpha-Beta Pruning AB Κλάδεμα Άλφα-Βήτα Πίνακας 1: Οι κυριότεροι αλγόριθμοι αναζήτησης 2.2 Εισαγωγή στο πρόβλημα του Χρονοπρογραμματισμού Χρονοπρογραμματισμός είναι η διαδικασία ανάθεσης ενός συνόλου από εργασίες στη διάρκεια του χρόνου, ώστε να βελτιστοποιείται κάποιο κριτήριο ικανοποιώντας ένα σύνολο από περιορισμούς. Η ικανοποίηση των περιορισμών έχει να κάνει με την ανάθεση κατάλληλων τιμών σε ένα σύνολο από μεταβλητές, ώστε να επιτυγχάνεται ένας στόχος. Υπάρχουν πολλά παραδείγματα προβλημάτων χρονοπρογραμματισμού, όπως ο χρονοπρογραμματισμός μέσων μεταφοράς, ο χρονοπρογραμματισμός σχολικών ιδρυμάτων και ο χρονοπρογραμματισμός προσωπικού, που αποτελεί το βασικό θέμα της παρούσας διδακτορικής διατριβής. Στόχοι του χρονοπρογραμματισμού είναι ο σεβασμός προθεσμιών, η ελαχιστοποίηση του χρόνου υλοποίησης, η ελαχιστοποίηση του χρόνου ή του Πανεπιστήμιο Πατρών 23
24 κόστους των πόρων και η μεγιστοποίηση της χρησιμοποίησης πόρων και όλα αυτά, φυσικά, με το λιγότερο δυνατό κόστος. Τα προβλήματα χρονοπρογραμματισμού αποτελούν προβλήματα συνδυαστικής βελτιστοποίησης, καθώς επιδιώκουν την καλύτερη δυνατή λύση. Υπάρχουν προβλήματα βελτιστοποίησης που λαμβάνουν συνεχείς τιμές και αλλά που λαμβάνουν διακριτές τιμές. Τα προβλήματα βελτιστοποίησης που λαμβάνουν διακριτές τιμές ονομάζονται συνδυαστικά (Διαμαντή, 2014) και έχουν διάφορες μεθόδους επίλυσης, όπως ο αλγόριθμος εύρεσης του συντομότερο μονοπατιού και οι ευρετικές τεχνικές, που χρησιμοποιούνται για προβλήματα που δεν μπορούν να επιλυθούν με χρήση των επακριβών μεθόδων. Η βιομηχανία ασχολήθηκε με τον χρονοπρογραμματισμό από τις αρχές του 1900, κυρίως με την εργασία του Henry Gantt ο οποίος έχει μείνει στην ιστορία με τα διαγράμματα Gantt, που αποτελούν μια μορφή γραφικής αναπαράστασης ενός χρονοδιαγράμματος. Όμως, επιστημονικές δημοσιεύσεις σχετικές με τον χρονοπρογραμματισμό έγιναν πολύ αργότερα, περίπου το 1950, όταν η δημοσίευση του Johnson για τις στρατηγικές της βέλτιστης ακολουθίας εργασιών προκάλεσε μεγάλο ενδιαφέρον για τον χρονοπρογραμματισμό εργασιών. Έπειτα, τη δεκαετία του 60, εμφανίστηκαν οι τεχνικές του δυναμικού προγραμματισμού και του ακέραιου προγραμματισμού, ενώ την δεκαετία του 80 ακολουθήθηκαν διάφορες κατευθύνσεις με κυρίαρχη αυτή του στοχαστικού χρονοπρογραμματισμού (Tripathy, 1980). Τα τελευταία χρόνια τα συστήματα χρονοπρογραμματισμού αποτελούν αναπόσπαστο κομμάτι των περισσότερων βιομηχανικών εφαρμογών. Η πιστή περιγραφή του προβλήματος με μαθηματικούς όρους διευκολύνει την επίλυση του και μας βοηθάει στην κατανόηση τόσο του μοντέλου αναπαράστασης όσο και της λύσης του προβλήματος. Θα ήταν ενδιαφέρον να αναλύσουμε τους όρους που θα χρησιμοποιήσουμε: Αντικείμενα: αναφερόμαστε στα «στοιχεία» που θέλουμε να προγραμματίσουμε σαν αντικείμενα. Υποθέτουμε ότι κάθε αντικείμενο είναι μια οντότητα και μπορεί να είναι σε ένα μέρος κάθε φορά. Κάθε αντικείμενο πρέπει να έχει μια μοναδική ταυτότητα Πανεπιστήμιο Πατρών 24
25 και ίσως να περιλαμβάνει και άλλα δεδομένα. Για παράδειγμα ένα αντικείμενο μπορεί να είναι ένας υπάλληλος με όλα τα χαρακτηριστικά που τον αφορούν. Εργασία: χρησιμοποιούμε τον όρο εργασία για να αναγνωρίζουμε μια ανάγκη για τοποθέτηση / σύνθεση των αντικειμένων σε μια καλά ορισμένη περίοδο. Χρονοδιάγραμμα Εργασιών: περιγράφει μια χρονική περίοδο, όπου ένα αντικείμενο μπορεί να προγραμματιστεί. Ένα χρονοδιάγραμμα έχει μια καλά οργανωμένη αρχή και τέλος και μπορεί να περιλαμβάνει και άλλες πληροφορίες, όπως το κόστος σχετικά με μια δεδομένη περίοδο. Ένα γενικό χρονοδιάγραμμα εργασιών μπορεί να απεικονιστεί και ως ένα σύνολο από επιμέρους χρονοδιαγράμματα εργασιών. Κόστος: το κόστος εξαρτάται από την ανάθεση των αντικειμένων στα χρονοδιαγράμματα εργασιών. Για κάθε ζευγάρι αντικειμένου και ενός χρονοδιαγράμματος εργασιών χρειάζεται να ξέρουμε το κόστος κάθε εργασίας. Σύμφωνα με τον Α. Wren (Wren, 1996): «Ο χρονοπρογραμματισμός είναι η κατανομή δεδομένων γεγονότων σε υποδοχείς χρόνου και χώρου, υπό ορισμένους περιορισμούς, με τέτοιο τρόπο ώστε να ικανοποιηθούν όσο το δυνατόν περισσότεροι στόχοι». Μερικά παραδείγματα προβλημάτων χρονοπρογραμματισμού είναι ο εκπαιδευτικός προγραμματισμός (χρονοδιάγραμμα διαλέξεων ή εξετάσεων), ο προγραμματισμός στο χώρο εργασίας, ο προγραμματισμός αθλητικών γεγονότων, ο προγραμματισμός της λειτουργίας των μεταφορικών μέσων και ούτω καθεξής. Τα προβλήματα χρονοπρογραμματισμού ορίζουν μια κλάση προβλημάτων βελτιστοποίησης με περιορισμούς, που είναι δύσκολο να λυθούν. Τα προβλήματα αυτού του τύπου χαρακτηρίζονται ως προβλήματα ικανοποίησης περιορισμών Πανεπιστήμιο Πατρών 25
26 (Brailsford et al., 1999), όπου κύριος σκοπός είναι να ικανοποιηθούν όλοι οι περιορισμοί του προβλήματος, παρά να βελτιστοποιηθούν οι στόχοι. Αυτή τη στιγμή, η επιστήμη δεν έχει καμία αναλυτική μέθοδο για την επίλυση όλων των περιπτώσεων προβλημάτων αυτής της κατηγορίας, εκτός από την εξαντλητική αναζήτηση, που δεν μπορεί να εφαρμοστεί παρά μόνο στα προβλήματα προσομοίωσης, λόγω των εξαιρετικά μεγάλων απαιτήσεων σε χρόνο εκτέλεσης και χώρο μνήμης που απαιτούν τα πραγματικά προβλήματα. Ο αυτοματοποιημένος προγραμματισμός, από την άλλη μεριά, είναι ένα ζήτημα μεγάλου ενδιαφέροντος δεδομένου ότι μπορεί να εξοικονομήσει πολλή ανθρώπινη εργασία, σε οργανισμούς και επιχειρήσεις, και να παρέχει βέλτιστες λύσεις σε προβλήματα ικανοποίησης περιορισμών εντός μερικών λεπτών. Μ εαυτόν τον τρόπο μπορεί να συμβάλει αποφασιστικά στη βελτίωση της παραγωγικότητας, της ποιότητας της εκπαίδευσης, της ποιότητας της εξυπηρέτησης και τελικά της ποιότητας ζωής. Εντούτοις, τα μεγάλης κλίμακας χρονοδιαγράμματα, όπως τα πανεπιστημιακά χρονοδιαγράμματα, μπορεί να χρειαστούν πολύ μεγάλη προσπάθεια και πάρα πολλές ώρες εργασίας, από ένα καταρτισμένο πρόσωπο ή μια ομάδα, προκειμένου να παραχθούν υψηλής ποιότητας χρονοδιαγράμματα που θα παρέχουν βέλτιστη ικανοποίηση των περιορισμών και συγχρόνως θα βελτιστοποιούν τους στόχους του χρονοδιαγράμματος. Προβλήματα που έχουν να κάνουν με τον χρονοπρογραμματισμό εμφανίζονται στην καθημερινή μας ζωή. Η επίλυση προβλημάτων χρονοπρογραμματισμού είναι θέμα μεγάλης σημασίας και επηρεάζει αρκετούς οργανισμούς και υπηρεσίες όπως νοσοκομεία, μεταφορές, εκπαιδευτικά ιδρύματα και διάφορα άλλα. Τα συγκεκριμένα προβλήματα έγιναν αντικείμενο μεγάλου ενδιαφέροντος από τη δεκαετία του Επιπλέον, στον τομέα της Τεχνητής Νοημοσύνης, εμφανίστηκαν αρκετές ενδιαφέρουσες προτάσεις. Κατά τον προγραμματισμό χρειάζεται να πάρουμε υπ όψιν μας όχι μονό τους δικούς μας πόρους, αλλά και των ανθρώπων με τους οποίους Πανεπιστήμιο Πατρών 26
27 αλληλεπιδρούμε, τη διαθεσιμότητα των συγκεκριμένων πόρων και τα πλαίσια μέσα στα οποία αυτοί έχουν την δυνατότητα να χρησιμοποιηθούν. Με αυτό το τρόπο, θα καταφέρουμε να οδηγηθούμε στην πιο σωστή επιλογή ταιριάσματος των διαθέσιμων πόρων και να εξασφαλίσουμε την ομαλή έκβαση των γεγονότων. Τα προβλήματα χρονοπρογραμματισμού (scheduling problems) ή κατασκευής ωρολογίου προγράμματος (timetabling problems) είναι γενικά δύσκολα προβλήματα με μεγάλη και δύσκολη υπολογιστική πολυπλοκότητα, και είναι γενικότερα γνωστά ως ΝΡ-πλήρη προβλήματα. Δεν είναι καθόλου εύκολο να λυθεί ένα τέτοιο πρόβλημα χρονοπρογραμματισμού μέσω ντετερμινιστικών αλγορίθμων, επειδή περιέχει μεγάλους συνδυασμούς και παραμέτρους με πολλούς και ποικίλους περιορισμούς (Cooper And Kingston, 1995; Adamidis and Arapakis, 1999). Σήμερα, στη σχετική βιβλιογραφία, βρίσκεται μια μεγάλη έρευνα πάνω στον αυτοματοποιημένο χρονοπρογραμματισμό και στις πολλές προσεγγίσεις του από την επιστημονική κοινότητα. Μεταευρετικές προσεγγίσεις όπως Εξελικτικοί Αλγόριθμοι - Γενετικοί αλγόριθμοι, Tabu Search, Simulated Annealing, Προγραμματισμός με περιορισμούς, Graph Colouring και Fuzzy Methodologies, έχουν εφαρμοστεί με επιτυχία στα προβλήματα χρονοπρογραμματισμού. Ο συγκεκριμένος τομέας έλκυσε σε μεγάλο βαθμό το ενδιαφέρον της επιστημονικής κοινότητας. Αυτό το ιδιαίτερο ενδιαφέρον, είχε ως αποτέλεσμα το 1995, τη δημιουργία μιας σειράς συνεδρίων PATAT (Practice and Theory of Automated Timetabling) που επαναλαμβάνεται κάθε δύο χρόνια, όπως και την ίδρυση του WATT (Working Group on Automated Timetabling, Αρκετοί κλάδοι της επιστήμης της πληροφορικής, όπως και των μαθηματικών, προσέγγισαν με το δικό τους τρόπο την επίλυση των προβλημάτων συνδυαστικής βελτιστοποίησης. Η επιχειρησιακή έρευνα, η υπολογιστική νοημοσύνη, η τεχνητή νοημοσύνη και οι μεταευρετικές τεχνικές είναι οι γενικές κατηγορίες όπου σε αυτές έχουν τη δυνατότητα να ομαδοποιηθούν η πλειοψηφία από τις τεχνικές επίλυσης προβλημάτων συνδυαστικής βελτιστοποίησης. Η βελτιστοποίηση είναι ένα σημαντικό κεφάλαιο των σύγχρονων μαθηματικών και Πανεπιστήμιο Πατρών 27
28 αναλύεται σε διάφορες επιμέρους υποκατηγορίες σχετικά με τις ιδιαιτερότητες της αντικειμενικής συνάρτησης και της ύπαρξης ή μη περιορισμών στις μεταβλητές της. 2.3 Μέθοδοι που εφαρμόζονται στο χρονοπρογραμματισμό Ένας μεγάλος αριθμός διαφορετικών μεθόδων έχει προταθεί ήδη στη βιβλιογραφία για την επίλυση των προβλημάτων χρονοπρογραμματισμού. Αυτές οι μέθοδοι προέρχονται από διάφορους επιστημονικούς κλάδους, όπως την Επιχειρησιακή Έρευνα (Operations Research), την Τεχνητή Νοημοσύνη (Artificial Intelligence) και την Υπολογιστική Νοημοσύνη (Computational Intelligence) (Abramson, 1991; Adamidis and Arapakis, 1999; Burke and Newall, 2002; Hertz, 1991; Paechter et al., 1995; Tripathy, 1980; Schaerf, 1999), και μπορούν να διαιρεθούν σε τέσσερις βασικές κατηγορίες: 1) Ακολουθιακές μέθοδοι, που χειρίζονται τα προβλήματα χρονοπρογραμματισμού ως προβλήματα γραφημάτων. Γενικά, διατάσουν τα γεγονότα χρησιμοποιώντας ευρετικές μεθόδους (heuristics) και ορίζουν έπειτα τα γεγονότα διαδοχικά στους έγκυρους υποδοχείς χρόνου κατά τέτοιο τρόπο, ώστε να μην παραβιάζεται κανένας περιορισμός για κάθε υποδοχέα (Carter, 1986). 2) Μέθοδοι ομαδοποίησης, στις οποίες το πρόβλημα διαιρείται σε ένα πλήθος από σύνολα γεγονότων. Κάθε σύνολο ορίζεται έτσι ώστε να ικανοποιεί όλους τους ανελαστικούς περιορισμούς και στη συνέχεια, τα σύνολα ορίζονται σε υποδοχείς πραγματικού χρόνου για να ικανοποιήσουν και τους ελαστικούς περιορισμούς (White and Chan, 1979). 3) Μέθοδοι ικανοποίησης περιορισμών, σύμφωνα με τους οποίους ένα πρόβλημα χρονοπρογραμματισμού παίρνει τη μορφή ενός συνόλου μεταβλητών (γεγονότα) στο οποίο οι τιμές (π.χ. καθηγητές, αίθουσες, κλπ.) πρέπει να οριστούν προκειμένου να ικανοποιήσουν ένα πλήθος από περιορισμούς (Brailsford et al., 1999). 4) Μεταευρετικές (meta-heuristic) μέθοδοι, όπως οι Γενετικοί Αλγόριθμοι (Genetic Algorithms), η Προσομοιωμένη Ανόπτηση (Simulated Annealing), η Πανεπιστήμιο Πατρών 28
29 αναζήτηση με λίστα ταμπού (Tabu Search) και άλλες ευρετικές (heuristic) προσεγγίσεις, που εμπνέονται συνήθως από τη φύση και εφαρμόζουν διαδικασίες που μιμούνται τη φύση στις λύσεις ή τους πληθυσμούς των λύσεων, προκειμένου αυτοί να εξελιχθούν προς τη βελτιστοποίηση του εκάστοτε προβλήματος (Abramson, 1991; Adamidis and Arapakis, 1999; Colorni et al., 1990; Hertz, 1991; Paechter et al., 1995). 2.4 Εισαγωγή στα προβλήματα scheduling και timetabling Η διαδικασία αντιστοίχησης πόρων σε συγκεκριμένες χρονικές περιόδους, και παράλληλα ικανοποίηση κάποιων περιορισμών, η οποία έχει ως προϊόν ένα πρόγραμμα εφικτό (feasible) και αποτελεσματικό (efficient), είναι μια ομάδα προβλημάτων που ονομάζονται προβλήματα χρονοπρογραμματισμού (scheduling ή timetabling problems). Οι περιορισμοί που χρειάζεται να ικανοποιεί η λύση ενός αντίστοιχου προβλήματος διαιρούνται σε δύο κατηγορίες: είναι οι ανελαστικοί περιορισμοί (hard constraints) και οι ελαστικοί περιορισμοί (soft constraints). Η ικανοποίηση όλων των ανελαστικών περιορισμών χαρακτηρίζει την αντίστοιχη λύση ως εφικτή (feasible), ενώ ο αριθμός των ελαστικών περιορισμών που ικανοποιούνται χαρακτηρίζει την αντίστοιχη λύση ως ποιοτική ή αποτελεσματική (efficient). Η ποιότητα της λύσης καθορίζεται από την ικανοποίηση όσων γίνεται πιο πολλών ελαστικών περιορισμών και προτιμήσεων του προσωπικού ενός φορέα. Αρκετά προβλήματα βελτιστοποίησης έχει αποδειχθεί ότι είναι NP-πλήρη με τη χρήση πολυωνυμικής αναγωγής από κάποιο γνωστό NP-πλήρες πρόβλημα σε αυτά. Στις μέρες μας υπάρχει μεγάλος αριθμός προβλημάτων για τα οποία είναι γνωστό ότι είναι NP-πλήρη (Garey and Johnson, 1979). Τα προβλήματα χρονοπρογραμματισμού, στη γενική τους μορφή, χαρακτηρίζονται ως NP-πλήρη. Τα NP-πλήρη προβλήματα έχουν τις εξής δυο ιδιότητες (Εικόνα 1Σφάλμα! Δεν έχει οριστεί σελιδοδείκτης.): Ανήκουν στην κλάση NP, δηλαδή δοσμένης μιας λύσης του προβλήματος μπορεί να γίνει επαλήθευσή της σε πολυωνυμικό χρόνο Πανεπιστήμιο Πατρών 29
30 ανήκουν στην κλάση NP-δύσκολων προβλημάτων, δηλαδή οποιοδήποτε πρόβλημα NP μπορεί να μετατραπεί σε αυτό με μετασχηματισμό των εισόδων σε πολυωνυμικό χρόνο. Ένα πρόβλημα χαρακτηρίζεται ως NP-πλήρες ως προς την υπολογιστική του πολυπλοκότητα, στην περίπτωση όπου η δυσκολία εύρεσης της βέλτιστης λύσης μεγαλώνει εκθετικά ως προς το μέγεθός του και δεν μπορεί να βρεθεί ντετερμινιστικός αλγόριθμος όπου να παρέχει αποδεκτή λύση σε πολυωνυμικό χρόνο. Επομένως, για την επίλυση του συγκεκριμένου είδους προβλημάτων, χρησιμοποιούνται εναλλακτικά ευρετικοί αλγόριθμοι επίλυσης, όπου προσφέρουν μια σχεδόν βέλτιστη λύση σε αποδεκτό χρόνο. Εικόνα 1: Διάγραμμα Euler για τα σύνολα προβλημάτων P, NP, NP-πλήρη (NPcomplete) και NP-δύσκολα (NP-hard) Τα περισσότερα πρακτικά προβλήματα βελτιστοποίησης είναι NP-δύσκολα και εφόσον απαιτείται η βέλτιστη επίλυσή τους, τότε αυτό συνεπάγεται εκθετικούς χρόνους εκτέλεσης. Σε ορισμένα προβλήματα ωστόσο οι εκθετικοί χρόνοι εκτέλεσης μπορούν να αποφευχθούν, θυσιάζοντας τη βελτιστοποίηση της λύσης, μέσω των προσεγγιστικών αλγορίθμων. Σε ιδιωτικούς και δημόσιους οργανισμούς-εταιρείες που λειτουργούν όλη μέρα, η εργασία χωρίζεται σε βάρδιες. Σε ένα τέτοιο πλαίσιο, παρουσιάζεται το πρόβλημα του χρονοπρογραμματισμού ανθρώπινου δυναμικού. Αυτό έγκειται στην εύρεση του βέλτιστου προγράμματος εργασίας για μια προκαθορισμένη χρονική διάρκεια για να ικανοποιείται ένας αριθμός από περιορισμούς. Πανεπιστήμιο Πατρών 30
31 Επιπλέον, το πρόγραμμα χρειάζεται για την καθημερινή λειτουργία του οργανισμού. Η διαδικασία κατασκευής προγραμμάτων πραγματοποιείται πολλές φορές από ένα διευθυντικό στέλεχος. Η υλοποίηση στηρίζεται στην ανάθεση εργασίας (βάρδιας) ή ρεπό για κάθε εργαζόμενο για όλη τη διάρκεια του προγράμματος. Η ανάθεση χρειάζεται να συμμορφώνεται με τις απαιτήσεις του προσωπικού, τους κανόνες που ορίζονται από τη διοίκηση όπως και από τους περιορισμούς του συμβολαίου που έχει ο εργαζόμενος. Το πρόβλημα του καταμερισμού εργασίας στο προσωπικό δεν είναι εύκολη διαδικασία και απαιτεί χρόνο για να πραγματοποιηθεί. Οι διευθυντές προσωπικού πολλές φορές ξοδεύουν ένα μεγάλο μέρος από το χρόνο τους στη δημιουργία προγραμμάτων, χωρίς πολλές φορές να καταφέρνουν να παράγουν προγράμματα που να ικανοποιούν όλες τις απαιτήσεις της διοίκησης και τις προτιμήσεις του προσωπικού. Φτωχά προγράμματα εγκυμονούν τον κίνδυνο να επηρεάσουν σε μεγάλο βαθμό την απόδοση της εταιρείας. Πλεονάζον προσωπικό οδηγεί σε μεγάλες δαπάνες. Παρ όλ αυτά αρκετές φορές είναι επιθυμητό σε εταιρείες με απρόβλεπτη ζήτηση. Αντίθετα, μη επαρκής κάλυψη προσωπικού οδηγεί σε χαμηλό εισόδημα και/ή σε φτωχή παροχή υπηρεσιών. Προγράμματα που θεωρούνται από τους εργαζόμενους εξοντωτικά και άδικα, επηρεάζουν την ηθική των εργαζομένων και οδηγούν σε συστηματική αποχή από την εργασία και με την σειρά τους επηρεάζουν όλη τη δομή της επιχείρησης. Η δημιουργία προγραμμάτων με το χέρι είναι μια πάρα πολύ δύσκολη διαδικασία, οπότε παρουσιάστηκε η ανάγκη για σωστούς και γρήγορους τρόπους εύρεσης προγραμμάτων με τη βοήθεια υπολογιστών. Αν και δεν υπάρχει ένας αλγόριθμος που να εγγυάται την καλύτερη λύση σε γρήγορο χρονικό διάστημα, μπορεί να δημιουργηθούν προγράμματα που να έχουν πολύ καλύτερη ποιότητα από αυτά που προϋπάρχουν και σχεδιάστηκαν χειροκίνητα. Το πρόβλημα του χρονοπρογραμματισμού προσωπικού παρουσιάζεται σε αρκετούς διαφορετικούς τύπους οργανισμών και βιομηχανιών, από μεταφορές αντικειμένων, συγκοινωνίες, τηλεφωνικά κέντρα, σχολεία, πανεπιστήμια, Πανεπιστήμιο Πατρών 31
32 νοσοκομεία. Σχετικό παράδειγμα είναι ο χρονοπρογραμματισμός νοσηλευτικού προσωπικού (nurse rostering problem). Σε αντίθεση με άλλους οργανισμούς και εταιρείες τα νοσοκομεία λειτουργούν εικοσιτέσσερις ώρες το εικοσιτετράωρο, εφτά μέρες την βδομάδα. Ο αριθμός εργαζομένων είναι υψηλός και η κάλυψη από ανθρώπινο δυναμικό είναι μεταβλητή, υποκείμενο της εκάστοτε περιόδου. Οπότε βλέπουμε ότι σε ένα τέτοιο πλαίσιο το πρόγραμμα εργασίας χρειάζεται να ανανεώνεται συνέχεια, γεγονός που καθιστά την υλοποίηση προγραμμάτων κύριο και αναπόσπαστο κομμάτι της λειτουργίας του νοσοκομείου. Αποτελεί ένα από τα πιο δύσκολα και απαιτητικά σε περιορισμούς στιγμιότυπο προβλήματος χρονοπρογραμματισμού και ακόμα και οι πιο απλές εκδοχές του είναι NP-δύσκολες. 2.5 Είδη προβλημάτων scheduling και timetabling Χρονοπρογραμματισμός Έργων Στόχος του χρονοπρογραμματισμού έργων είναι ο προσδιορισμός της χρονικής διάρκειας των φάσεων, δηλαδή της έναρξης και λήξης των δραστηριοτήτων, και ο προσδιορισμός της χρονικής διάρκειας ολόκληρου έργου. Για τον υπολογισμό των χρονικών περιόδων ενός έργου χρησιμοποιούνται διάφορες τεχνικές. Δύο βασικές τεχνικές είναι η μέθοδος Pert και η μέθοδος των κρίσιμων διαδρομών. Αυτές οι δύο μέθοδοι αναλύονται στις δραστηριότητες του χρονοπρογραμματισμού έργου οι οποίες είναι ο σχεδιασμός παραδοτέωνοροσήμων, ο σχεδιασμός αποσύνθεσης εργασιών, ο σχεδιασμός χρονικών εξαρτήσεων, η ανάλυση κρίσιμων διαδρομών και τέλος ο σχεδιασμός της ημερολογιακής εξέλιξης (Burke, 2014). Σχεδιασμός Παραδοτέων-Οροσήμων Παραδοτέα είναι τα παραγόμενα αποτελέσματα τα οποία παραδίδονται στον πελάτη, ενώ ορόσημα τα αποτελέσματα που επιτρέπουν την διαπίστωση της προόδου των εργασιών. Ο σχεδιασμός τους γίνεται σύμφωνα με τις συμβατικές Πανεπιστήμιο Πατρών 32
33 υποχρεώσεις και την συνεκτίμηση του διαχειριστικού κόστους και οφέλους. Αν και τα ορόσημα περιλαμβάνουν τα παραδοτέα δε συμβαίνει το αντίθετο. Ο σχεδιασμός των οροσήμων πρέπει να είναι συγκεκριμένος και ουσιαστικός και να γίνεται αξιοποίηση τους για αντιμετώπιση των πιθανών κινδύνων. Σχεδιασμός Αποσύνθεσης Εργασιών Ο σχεδιασμός της αποσύνθεσης εργασιών γίνεται ιεραρχικά και μοιάζει σαν ένα δένδρο που ξεκινάει από όλο το έργο και φτάνει στις επιμέρους εργασίες. Το εύρος των ομάδων εργασίας ξεκινάει ανοδικά από τις μεγαλύτερες ομάδες και συνεχίζει καθοδικά στις μικρότερες ομάδες. Το ίδιο συμβαίνει και με τη χρονική διάρκεια των εργασιών, όπου ξεκινάει ανοδικά από τη μεγαλύτερη διάρκεια και συνεχίζει καθοδικά στη μικρότερη. Το μέγεθος των ομάδων εργασίας πρέπει να είναι λελογισμένο και η χρονική διάρκεια πρέπει να είναι διαχειρίσιμη. Σχεδιασμός Χρονικών Εξαρτήσεων Στο σχεδιασμό χρονικών εξαρτήσεων σχεδιάζεται μια προτιμητέα κλίμακα χρόνου η οποία αποτελείται από μια ελάχιστη συνιστώμενη διάρκεια και από μια μέγιστη συνιστώμενη διάρκεια. Επίσης, ορίζονται κανονισμοί προβλέψεων για αναμενόμενες και απροσδόκητες δυσκολίες. Οι τεχνικές μοντελοποίησης που εμφανίζουν πιθανούς χρόνους ολοκλήρωσης είναι τα διαγράμματα Pert. Ο χρόνος ολοκλήρωσης μιας δραστηριότητας σε ένα διάγραμμα Pert θεωρείται τυχαία μεταβλητή που ακολουθεί μια β-κατανομή. Ανάλυση Κρίσιμων Διαδρομών Κρίσιμη διαδρομή σε ένα διάγραμμα Pert είναι η μεγαλύτερη διαδρομή από άποψη χρόνου ολοκλήρωσης, που οδηγεί από το ορόσημο έναρξης στο ορόσημο ολοκλήρωσης, ενώ η χρονική διάρκειά της είναι ίση με τη προσδοκώμενη διάρκεια ολοκλήρωσης. Η μέθοδος της κρίσιμης διαδρομής αφορά τον υπολογισμό του νωρίτερου και του αργότερου χρόνου ενός γεγονότος καθώς και του χρόνου ανοχής (ελαστικού χρόνου). Ως κρίσιμα γεγονότα ορίζονται αυτά που έχουν χρόνο ανοχής ίσο με 0 και για τα οποία κάποια πιθανή καθυστέρηση έναρξης έχει επιπτώσεις στο χρόνο ολοκλήρωσης ολόκληρου του έργου. Πανεπιστήμιο Πατρών 33
34 Σχεδιασμός Ημερολογιακής Εξέλιξης Ο σχεδιασμός της ημερολογιακής εξέλιξης γίνεται χρησιμοποιώντας τα διαγράμματα Gantt. Τα διαγράμματα Gantt προγραμματίζουν και παρακολουθούν τις δραστηριότητες και τα ορόσημα ως προς τον απόλυτο ημερολογιακό χρόνο με βάση την ημερομηνία εκκίνησης, την ανάλυση των διαγραμμάτων Pert και τα αποτελέσματα της κρίσιμης διαδρομής. Τα διαγράμματα Gantt είναι μια τεχνική προγραμματισμού δραστηριοτήτων και όχι εργαλεία ανάλυσης, όπως τα διαγράμματα Pert. Ο προγραμματισμός κάθε εργασίας αντιστοιχεί στη χάραξη μιας οριζόντιας ράβδου από την ημερομηνία έναρξης έως την ημερομηνία λήξης της εργασίας. Το μήκος αυτής της ράβδου υποδεικνύει τη διάρκεια της αντίστοιχης εργασίας. Η δεύτερη ράβδος αποτελεί τη γραμμή προόδου και απεικονίζει το τμήμα της εργασίας που έχει ήδη εκτελεστεί. Η θέση της γραμμής προόδου σε σχέση με τη γραμμή προγραμματισμού υποδεικνύει το ποσοστό ολοκλήρωσης της εργασίας και την υπολειπόμενη διάρκεια μέχρι την αποπεράτωσή της. Η σύγκριση αυτή γίνεται με μία κάθετη γραμμή που υποδηλώνει τη χρονική στιγμή που γίνεται ο έλεγχος προόδου του έργου. Η θέση της γραμμής προόδου σε σχέση με τη χρονική στιγμή ελέγχου υποδηλώνει την πρόοδο του έργου που έχει υλοποιηθεί σε σχέση με τον αρχικό προγραμματισμό (Burke, 2014) Χρονοπρογραμματισμός Διεργασιών Χρονοπρογραμματισμός διεργασιών είναι η πολιτική με την οποία το λειτουργικό σύστημα αποφασίζει ποια διεργασία θα εκτελεστεί στην επόμενη χρονική στιγμή (Tanenbaum and Wetherall, 2012). Στην πληροφορική χρονοπρογραμματισμός διεργασιών ονομάζεται η δυνατότητα των λειτουργικών συστημάτων να συντονίζουν την συνύπαρξη πολλαπλών εκτελούμενων διεργασιών στη μνήμη του υπολογιστή μέσω ενός μηχανισμού που ονομάζεται χρονοπρογραμματιστής. Οι απαιτήσεις του χρονοπρογραμματιστή διαφέρουν ανάλογα με την εφαρμογή. Σε συστήματα με πολλαπλούς χρήστες η δουλειά του Πανεπιστήμιο Πατρών 34
35 χρονοπρογραμματιστή είναι πιο απαιτητική από ότι σε συστήματα τύπου batch. Οι απαιτήσεις του χρονοπρογραμματιστή, όμως, πολλές φορές μπορεί να είναι αντιφατικές, για παράδειγμα η ελαχιστοποίηση του χρόνου ολοκλήρωσης δε σημαίνει και μεγιστοποίηση της διεκπεραιωτικής ικανότητας. Όσον αφορά τους στόχους, οι στόχοι του προγραμματιστή αλλάζουν ανάλογα με την εφαρμογή των διεργασιών στο σύστημα. Υπάρχουν διάφοροι αλγόριθμοι χρονοπρογραμματισμού διεργασιών που μπορούν να χρησιμοποιηθούν. Οι συνηθέστεροι είναι ο αλγόριθμος χρονοπρογραμματισμού με βάση τη σειρά άφιξης, ο αλγόριθμος χρονοπρογραμματισμού εκ περιτροπής, ο αλγόριθμος χρονοπρογραμματισμού με βάση την μικρότερη διάρκεια εκτέλεσης και ο αλγόριθμος χρονοπρογραμματισμού με βάση τον μικρότερο εναπομείναντα χρόνο. a. Αλγόριθμος χρονοπρογραμματισμού με βάση τη σειρά άφιξης Ο προγραμματιστής επιλέγει τη διεργασία που ήταν περισσότερο χρόνο στη σειρά και την τρέχει μέχρι να ολοκληρωθεί. b. Αλγόριθμος χρονοπρογραμματισμού εκ περιτροπής Ο χρονοπρογραμματιστής επιλέγει την πρώτη διεργασία που ήταν περισσότερο χρόνο στη σειρά, από τις διεργασίες που βρίσκονται σε ετοιμότητα, και την εκτελεί μέχρι να τεθεί σε αναστολή. Έπειτα τη βάζει στο τέλος και συνεχίζει με την επόμενη μέχρι να τελειώσουν οι διεργασίες που βρίσκονται σε ετοιμότητα. c. Αλγόριθμος χρονοπρογραμματισμού με βάση την μικρότερη διάρκεια εκτέλεσης Ο χρονοπρογραμματιστής επιλέγει την μικρότερη διεργασία που περιμένει στη σειρά και την εκτελεί μέχρι να ολοκληρωθεί. d. Αλγόριθμος χρονοπρογραμματισμού με βάση το μικρότερο εναπομείναντα χρόνο Πανεπιστήμιο Πατρών 35
36 Ο χρονοπρογραμματιστής επιλέγει τη διεργασία που της έχει μείνει ο λιγότερος χρόνος μέχρι να τελειώσει και άμα φτάσει μικρότερη διεργασία την εναλλάσσει με αυτήν που εκτελείται εκείνη τη χρονική στιγμή Χρονοπρογραμματισμός Προσωπικού Ο χρονοπρογραμματισμός προσωπικού είναι η διαδικασία της στελέχωσης του προσωπικού σε μια επιχείρηση με δίκαιο τρόπο προς όλους τους εργαζομένους καλύπτοντας κάθε ανάγκη της επιχείρησης (Van den Bergh et al., 2013). Στόχος του χρονοπρογραμματισμού προσωπικού είναι να ανακαλύψει τα προβλήματα προγραμματισμού και να δημιουργήσει μια βασική δομή στην οποία μπορούν να εφαρμοστούν τα διάφορα συστήματα προγραμματισμού. Κάθε επιχείρηση έχει τις δικές της ανάγκες και επιθυμίες για στελέχωση γι αυτό και ο χρονοπρογραμματισμός προσωπικού παίζει σημαντικό ρόλο σε αυτήν. Ο χρονοπρογραμματισμός προσωπικού γίνεται με τέτοιο τρόπο, ώστε οι διαθέσιμοι ανθρώπινοι πόροι να προγραμματιστούν για να επιτυγχάνουν τις διάφορες ανάγκες-προδιαγραφές με δίκαιο τρόπο και στο ελάχιστο κόστος, αλλά παράλληλα να εφαρμόζονται οι κανόνες του εργατικού δικαίου και οι άτυποι κανόνες ηθικής και εθιμοτυπίας. Τα αποτελέσματα που μας δίνει ο χρονοπρογραμματισμός του προσωπικού εμφανίζονται στους πίνακες εργασιών, όπου μας δίνεται ο ακριβής αριθμός προσωπικού και οι βάρδιες του κάθε εργαζομένου για το χρονικό διάστημα που έχουμε ορίσει να γίνει ο προγραμματισμός. Είναι φοβερά δύσκολο να βρεθούν καλές λύσεις για αυτά τα πολύπλοκα και με πολλούς περιορισμούς προβλήματα χρονοπρογραμματισμού και περισσότερο δύσκολο να οριστούν βέλτιστες λύσεις που να ελαχιστοποιούν το κόστος τους. Η λύση των προβλημάτων χρονοπρογραμματισμού προσωπικού ξεκίνησε με τη χρήση του μαθηματικού προγραμματισμού, συγκεκριμένα του γραμμικού προγραμματισμού, και περιελάμβανε φύλλα εργασίας και εργαλεία βάσεων δεδομένων. Αργότερα, αναπτύχθηκαν δυνατά εργαλεία χρονοπρογραμματισμού βασιζόμενα σε ευρετικά μαθηματικά μοντέλα και αλγόριθμους. Τα μοναδικά χαρακτηριστικά κάθε επιχείρησης οδήγησαν στην ανακάλυψη ειδικών μαθηματικών Πανεπιστήμιο Πατρών 36
37 μοντέλων και αλγορίθμων για την επίλυση του χρονοπρογραμματισμού του προσωπικού τους και με τη σειρά τους οδήγησαν στη δημιουργία διάφορων πακέτων λογισμικού για χρονοπρογραμματισμό που παρέχουν σημαντικές δυνατότητες βελτιστοποίησης και σχεδιάστηκαν έτσι ώστε να είναι ευρέως εφαρμόσιμα, να παρέχουν στους χρήστες χειροκίνητες διορθωτικές συναρτήσεις και διεξοδική ανταπόκριση και τέλος να παρέχουν υποστήριξη για αυτοματοποιημένη σύνθεση χρονοπρογραμμάτων Vehicle Routing Problem Το πρόβλημα Vehicle Routing Problem (VRP) έχει αρκετές διαφοροποιήσεις και μορφές (White, 2002). Η επίλυσή του καθίσταται επιτακτική ανάγκη στους δημόσιους ή άλλους οργανισμούς συγκοινωνιών. Το πρόβλημα σε αυτούς συνίσταται στην αντιστοίχηση λεωφορείων (ή γενικότερα, οχημάτων) σε συγκεκριμένα δρομολόγια, με στόχο να ικανοποιούνται συγκεκριμένοι περιορισμοί οι οποίοι έχουν να κάνουν μεταξύ άλλων, με τους τύπους των λεωφορείων, τις χωρητικότητες των πολλαπλών σταθμών των λεωφορείων, όπως και τους κανόνες ασφαλείας σχετικά με τις συνεχόμενες ώρες οδήγησης των οδηγών. Πρόκειται για ένα πρόβλημα το οποίο ανήκει στην κλάση των NP-δύσκολων προβλημάτων School timetabling Το πρόβλημα της κατασκευής του εβδομαδιαίου ωρολογίου προγράμματος για σχολεία Β βάθμιας εκπαίδευσης, βρίσκεται στην κλάση των NP-δύσκολων προβλημάτων και επηρεάζεται από αρκετές παραμέτρους, διότι η λύση του χρειάζεται να ικανοποιεί ένα μεγάλο αριθμό από περιορισμούς (Beligiannis et al., (2008). Δεν υπάρχει ως ανεξάρτητη οντότητα ο κάθε μαθητής αλλά ζητείται η δημιουργία ενός εβδομαδιαίου προγράμματος μαθημάτων με δεδομένες τις υποχρεώσεις των ωρών διδασκαλίας που χρειάζεται να καλύπτοντα για κάθε τμήμα του σχολείου ανά μάθημα και καθηγητή. Ο κυρίως στόχος είναι η δημιουργία εφικτών και όσο το δυνατόν πιο ποιοτικών ωρολογίων προγραμμάτων, των Πανεπιστήμιο Πατρών 37
38 σχολικών τάξεων με σκοπό να γίνονται όλα τα μαθήματα με τον καλύτερο δυνατό τρόπο (δίχως ενδιάμεσα κενά στις τάξεις και με ομοιόμορφη κατανομή των ωρών διδασκαλίας των μαθημάτων και των καθηγητών) University course timetabling Για τη σωστή λειτουργία κάθε Πανεπιστημιακού Τμήματος χρειάζεται να τηρείται ένα σωστό ωρολόγιο πρόγραμμα, όπου εκεί θα βρίσκεται η ανάθεση των καθηγητών σε αίθουσες και μαθήματα, σε συγκεκριμένες χρονικές περιόδους (Abdennadher and Marte 2000). Σχετικά με το συγκεκριμένο πρόγραμμα οι φοιτητές παρακολουθούν τα διάφορα μαθήματα που έχουν επιλέξει, ώστε ο εβδομαδιαίος προγραμματισμός μαθημάτων και εργαστηρίων να είναι ομοιόμορφα κατανεμημένος. Εννοείται ότι πρέπει να αποφεύγεται η επικάλυψη των μαθημάτων με κοινούς φοιτητές, το μάθημα να έχει τη δυνατότητα να διδάσκεται περισσότερες από μια φορά την εβδομάδα κάνοντας αποκλειστική χρήση μιας αίθουσας, κλπ.. Το πρόβλημα university course timetabling ανήκει επίσης στην κλάση των NPδύσκολων προβλημάτων Exam timetabling Το πρόβλημα exam timetabling ανήκει στην κλάση των NP-δύσκολων προβλημάτων και αφορά τον προγραμματισμό των εξετάσεων σε ένα Πανεπιστημιακό Ίδρυμα (Burke and Newall, 2004). Αναλυτικά, σχετίζεται με την αντιστοίχιση εξετάσεων σε χρονικές περιόδους εξέτασης και σε συγκεκριμένες αίθουσες, ενώ παράλληλα ικανοποιούνται διάφοροι ανελαστικοί και ελαστικοί περιορισμοί, με σκοπό κανένας φοιτητής να μη χρειαστεί να συμμετέχει σε δύο ή περισσότερες εξετάσεις ταυτόχρονα. Ένας από τους στόχους είναι να απλωθούν οι εξετάσεις σε κάθε φοιτητή όσο γίνεται περισσότερο. Ακόμα στο χρονοπρογραμματισμό εξετάσεων υπάρχει μια εξέταση για κάθε μάθημα και ένα μάθημα έχει τη δυνατότητα να εξετάζεται σε παραπάνω από μια αίθουσες μαζί με άλλα μαθήματα. Πανεπιστήμιο Πατρών 38
39 2.5.8 Nurse rostering Το πρόβλημα nurse rostering είναι ένα σύνθετο πρόβλημα προγραμματισμού, το οποίο επηρεάζει το προσωπικό των Νοσοκομείων σε καθημερινή βάση (Haspeslagh et al., 2010). Αφορά τον προγραμματισμό των βαρδιών των νοσοκόμων και των γιατρών και ανήκει επίσης στην κλάση των NPδύσκολων προβλημάτων. Η ανάγκη για ποιοτικό λογισμικό που θα παρέχει λύσεις σε αυτό το πρόβλημα είναι αναγκαία για διαφόρους λόγους. Χρειάζεται να ικανοποιούνται οι προτιμήσεις του προσωπικού και να κατανέμεται ο φόρτος εργασίας του ισομερώς, όπως ακόμα και να αξιοποιείται ο χρόνος και η προσπάθειά του για να υπάρξει υψηλή αποδοτικότητά. Το πρόβλημα nurse rostering συνίσταται στην αντιστοίχιση διαφόρων εργασιών στο προσωπικό ενός Νοσοκομείου, με διαφορετικές ικανότητες και κανονισμούς ή απαιτήσεις εργασίας. Ο σκοπός είναι η ικανοποίηση όσων περισσότερων ελαστικών περιορισμών και προτιμήσεων του προσωπικού, ενώ ταυτόχρονα θα καλύπτονται οι λειτουργικές ανάγκες του Νοσοκομείου για ένα προκαθορισμένο χρονικό διάστημα. 2.6 Το πρόβλημα του Χρονοπρογραμματισμού Προσωπικού Ο χρονοπρογραμματισμός προσωπικού είναι ένα σύνθετο και χρονοβόρο πρόβλημα διαχείρισης ανθρώπινου δυναμικού που αντιμετωπίζει κάθε επιχείρηση και ακόμα και σήμερα ο προγραμματισμός γίνεται με μη αυτόματο τρόπο για τις δραστηριότητες που προκύπτουν μετά τον αρχικό προγραμματισμό (Van den Bergh et al., 2013). Ο χρονοπρογραμματισμός προσωπικού μας προσδιορίζει πότε ένας εργαζόμενος πρέπει να κάνει μία εργασία και σε ποιόν χρόνο, όπως επίσης μας προσδιορίζει της ημέρες που δε θα εργάζεται. Η λύση αυτού του προβλήματος είναι περίπλοκη, αφού πρέπει να πληρούνται όλοι οι περιορισμοί που έχουν σχέση με τις απαιτούμενες ανάγκες της επιχείρησης, τον προσδιορισμό των ικανοτήτων των εργαζομένων, τις νομικές ή συμβατικές υποχρεώσεις και τις προτιμήσεις των εργαζομένων. Ταυτόχρονα πρέπει να ελαχιστοποιείται το απαιτούμενο κόστος. Το πρόβλημα που αντιμετωπίζει ο χρονοπρογραμματισμός προσωπικού δεν αφορά μόνο τον προγραμματισμό για ένα συγκεκριμένο χρονικό διάστημα, αλλά και την Πανεπιστήμιο Πατρών 39
40 αντιμετώπιση διάφορων καταστάσεων που θα προκύψουν κατά τη διάρκεια του διαστήματος αυτού. Τα μοναδικά χαρακτηριστικά των διαφορετικών επιχειρήσεων έχουν ως αποτέλεσμα να απαιτούνται ειδικά μαθηματικά μοντέλα και αλγόριθμοι για να λυθεί κάθε διαφορετικό πρόβλημα του χρονοπρογραμματισμού προσωπικού σε μία επιχείρηση και ότι οι λύσεις δεν μπορούν να μεταφερθούν ή να εφαρμοστούν σε άλλες επιχειρήσεις λόγω αυτών των μοναδικών χαρακτηριστικών. Η λύση του προβλήματος χρονικού προγραμματισμού είναι βασισμένη στα πληροφοριακά συστήματα λήψης αποφάσεων και είναι απαραίτητη η διαθεσιμότητα και πληροφόρηση των δεδομένων προκειμένου να μπορούν να αξιολογηθούν εναλλακτικά σενάρια και να ληφθούν περίπλοκες αποφάσεις. Αυτό σημαίνει ότι ο υπεύθυνος για τον προγραμματισμό πρέπει να έχει γνώσεις της διοικητικής επιστήμης για τη λήψη επιχειρησιακών αποφάσεων. Η διοικητική επιστήμη στοχεύει στη διασύνδεση της αναλυτικής ικανότητας με τις ανθρώπινες διοικητικές ικανότητες και την αντίληψη της τεχνολογίας. Η διαδικασία της λήψης αποφάσεων είναι πολύπλοκη διαδικασία και με βάση αύτη ακολουθούνται τα εξής βήματα για την αντιμετώπιση ενός προβλήματος (Πραστάκος, 2006): 1) Εντοπισμός του προβλήματος, 2) Αποτύπωση και ανάλυση του προβλήματος, 3) Διατύπωση των στόχων, 4) Αρχικός σχεδιασμός ή ανασχεδιασμός του συστήματος, 5) Διατύπωση μοντέλου, 6) Επίλυση μοντέλου, 7) Ανάλυση της λύσης, 8) Υλοποίηση της λύσης, 9) Παρακολούθηση και έλεγχος. Πανεπιστήμιο Πατρών 40
41 Αφού εντοπιστεί ένα πρόβλημα χρονοπρογραμματισμού σε μια επιχείρηση, ο υπεύθυνος πρέπει να είναι σε θέση να αναλύσει το πρόβλημα και να διατυπώσει τους επιδιωκόμενους στόχους. Έπειτα σχεδιάζεται ή ανασχεδιάζεται (σε περίπτωση που έχει εμφανιστεί ένα πρόβλημα μετά τον αρχικό προγραμματισμό) το σύστημα και διατυπώνεται το μοντέλο. Κατά τη διατύπωση του μοντέλου αναπαριστώνται τα βασικά προβλήματα του χρονοπρογραμματισμού προσωπικού. Τα βασικά προβλήματα που αντιμετωπίζει ο χρονοπρογραμματισμός προσωπικού είναι προβλήματα βελτιστοποίησης. Αφού εντοπιστούν και προσδιοριστούν τα βασικά αυτά προβλήματα, ο υπεύθυνος για το χρονοπρογραμματισμό προσωπικού έχει να αντιμετωπίσει και πρακτικά προβλήματα που εμφανίζονται κατά την επίλυση του μοντέλου. Το πρόβλημα του χρονοπρογραμματισμού προσωπικού αποτελεί πρόβλημα συνδυαστικής βελτιστοποίησης και σε περίπλοκα προβλήματα χρονοπρογραμματισμού υπάρχει έλλειψη αποδοτικών αλγορίθμων, καθώς το πλήθος των πιθανών λύσεων είναι μεγάλο και δεν μπορεί να βρεθεί λύση εντός των αποδεκτών χρονικών ορίων. Λόγω της πολυπλοκότητας δημιουργούνται προβλήματα στην μοντελοποίηση του προβλήματος, όπως επίσης και στη λύση των μοντέλων που θα προκύψουν κατά τη μοντελοποίηση. Ένα ακόμα πρακτικό πρόβλημα που έχει να αντιμετωπίσει είναι η έλλειψη χρόνου, αφού η αντιμετώπιση των προβλημάτων πρέπει να γίνεται εντός χρονικών περιορισμών ιδιαίτερα σε περιπτώσεις επαναπρογραμματισμού, όπου πρέπει να παραχθούν αποτελέσματα σε διάφορες χρονικές στιγμές. Αφού λυθούν τα πρακτικά προβλήματα ο υπεύθυνος έχει στα χέρια του τη λύση και πρέπει να έχει την ικανότητα να την αναλύσει και τέλος να την υλοποιήσει. Αυτό σημαίνει ότι αναλύει αν η λύση ισχύει για τις παραμέτρους που οριστήκαν κατά τη διατύπωση του μοντέλου και αν η λύση είναι εφαρμόσιμη χωρίς να παρουσιάζονται δυσκολίες κατά την εφαρμογή της. Η λύση που έχει επιλεχθεί είναι κατάλληλη μόνο σε συνθήκες βεβαιότητας, δηλαδή μόνο σε περιπτώσεις που η απόφαση δεν επηρεάζεται από άλλους παράγοντες. Σε συνθήκες αβεβαιότητας η θεωρία των αποφάσεων βοηθάει στην κατανόηση σύνθετων προβλημάτων και στην ανάλυση εναλλακτικών αποφάσεων, ώστε να επιλεγεί η πλέον κατάλληλη λύση (Πραστάκος, 2006). Ανάλογα με τις προτιμήσεις του υπεύθυνου σχετικά με την έκθεση της επιχείρησης σε κίνδυνο και Πανεπιστήμιο Πατρών 41
42 το ενδεχόμενο κέρδος η απόφαση μπορεί να διαφέρει. Έτσι, έχουν αναπτυχθεί ορισμένα κριτήρια, όπως το κριτήριο μεγιστοποίησης της απόδοσης, το κριτήριο ελαχιστοποίησης της ζημιάς, το κριτήριο μεγιστοποίησης του κέρδους, το κριτήριο ελαχιστοποίησης του κόστους ευκαιρίας, το κριτήριο υπεροχής ή κριτήριο Laplace, τα οποία χρησιμοποιούνται ανάλογα με κάθε πρόβλημα (Πραστάκος, 2006). Στο σημείο αυτό υπεισέρχεται η έννοια της χρησιμότητας, δηλαδή το μέτρο ικανοποίησης του υπευθύνου σε σχέση με τους αρχικούς στόχους. Η χρησιμότητα επιτρέπει τη σύγκριση της αξίας διαφορετικών αποφάσεων και διαφέρει από υπεύθυνο σε υπεύθυνο ανάλογα με τη δική του προδιάθεση για το τελικό αποτέλεσμα. 2.7 Το πρόβλημα του Χρονοπρογραμματισμού των logistics Ο όρος logistics αποτελεί μια διαδικασία που περιλαμβάνει το σχεδιασμό, την εφαρμογή, και τον έλεγχο της αποτελεσματικής και αποδοτικής μεταφοράς και αποθήκευσης πρώτων υλών, ενδιάμεσων και τελικών προϊόντων, καθώς και τη διαχείριση πληροφοριών που σχετίζονται με τη διακίνηση των προϊόντων από τους τόπους παραγωγής στους τόπους κατανάλωσης. Στόχος των logistics είναι η παράδοση κατάλληλου τελικού προϊόντος ή υπηρεσίας στον κατάλληλο χώρο, στο σωστό χρόνο και στην κατάλληλη κατάσταση, με παράλληλη μεγιστοποίηση των κερδών. Αυτό επιτυγχάνεται με μείωση του κόστους παραγωγής, με πλήρη αξιοποίηση των υλικών μέσων καθώς και με τη μείωση του κόστους μεταφοράς αλλά και αποθήκευσης μειώνοντας τις καθυστερήσεις παράδοσης. Η διαχείριση των logistics είναι μείζονος σημασίας. Στην πραγματικότητα πρόκειται για μια διαδικασία με στόχο την ικανοποίηση των επιχειρησιακών στόχων με το μικρότερο δυνατό κόστος (Ballou, 2004). Πολύ επιγραμματικά, φροντίζει ώστε να βρίσκεται το σωστό προϊόν, στη σωστή ποιότητα στο σωστό τόπο και χρόνο με το μικρότερο κόστος. Η ανάγκη για την ανάπτυξη των logistics προέκυψε από την ανάγκη για χωρικό και χρονικό διαχωρισμό μεταξύ των θέσεων παραγωγής των πρώτων υλών και των προϊόντων καθώς και μεταξύ των θέσεων παραγωγής και κατανάλωσης των προϊόντων. Αν επιχειρήσει κανείς μια σύντομη ιστορική αναδρομή των logistics στην Πανεπιστήμιο Πατρών 42
43 πάροδο του χρόνου παρατηρεί ότι αρχικά οι άνθρωποι κατανάλωναν μόνο ό,τι παρήγαγαν στην περιοχή τους λόγω της παντελούς έλλειψης μεταφορικών και αποθηκευτικών μέσων. Αργότερα, και με την εξέλιξη των μεταφορών, ξεκίνησε η μεταφορά προϊόντων σε άλλες αγορές. Τα τελευταία χρόνια κυριαρχεί η τάση για παγκοσμιοποίηση των αγορών. Η ηλεκτρονική εξέλιξη και η ταχύτητα των μεταφορών καθιστά το διεθνές εμπόριο εξαιρετικά περίπλοκο. Η τάση αυτή είναι ιδιαίτερα αυξητική κυρίως λόγω της εξέλιξης των πολυεθνικών αλλά και της διεθνοποίησης των μικρότερων επιχειρήσεων (μέσω των εξαγωγών) η οποία έχει ως αποτέλεσμα τον επαναπροσδιορισμό του τόπου παραγωγής (φθηνότερα εργατικά) και επέκταση του δικτύου διανομής. Επιπρόσθετα, η εξέλιξη της τεχνολογίας διευκολύνει σε μεγάλο βαθμό τη διαχείριση παραγγελιών, αποθήκευσης και αποστολής. Πολλές φορές, τέλος, η παραγωγή καθίσταται πιο συμφέρουσα οικονομικά εάν μεταφερθεί πλησιέστερα στην αγορά στην οποία απευθύνεται (λόγω της μείωσης των μεταφορικών) ή εάν το κόστος της είναι φθηνότερο σε άλλες περιοχές (φτηνότερο κόστος εργασίας, πιο γρήγορη ροή προϊόντος). Αν για παράδειγμα, η τιμή πώλησης του ίδιου τελικού προϊόντος, μεταξύ δύο εταιριών, είναι η ίδια, τότε η εταιρία που θα καταφέρει να επιτύχει συνεχή ροή προς τον πελάτη αποκτά συγκριτικό πλεονέκτημα. Θεωρητικά, τα logistics εξυπηρετούν την κερδοφορία μιας επιχείρησης, εξασφαλίζοντας τη συνεχή διαθεσιμότητα των προϊόντων και των λοιπών πόρων της, επιτρέποντας παράλληλα την ομαλή ροή επιτέλεσης των διαδικασιών που αναφέρθηκαν παραπάνω. Οι σημαντικότερες στρατηγικές αποφάσεις που πρέπει να ληφθούν κατά το σχεδιασμό είναι μεταξύ άλλων ο καθορισμός του αριθμού, της θέσης και του μεγέθους των αποθηκών, το σύστημα αποθήκευσης που θα υιοθετηθεί, η πολιτική που θα ακολουθηθεί (αποθήκευση πρώτων υλών ή/και τελικών προϊόντων), το επίπεδο του αυτοματισμού καθώς και οι μέθοδοι μεταφοράς των πρώτων υλών και διανομής των τελικών προϊόντων. Κάποιες αποφάσεις τακτικής αφορούν στις λήψεις αποφάσεων για θέματα όπως η ενοικίαση ή η αγορά αποθηκών και φορτηγών αποστολών, ο εξοπλισμός και η διάταξη των αποθηκών κλπ. Αντίστοιχα, πρέπει να ληφθούν και κάποιες δυναμικές αποφάσεις όπως, για παράδειγμα, ο καθορισμός του αριθμού των εργαζομένων και των εργατοωρών, οι ώρες λειτουργίας των αποθηκών, τα δρομολόγια φορτηγών, οι παραγγελίες πρώτων υλών, το ύψος των αποθεμάτων, ο καθορισμός αποδεκτής στάθμης ποιότητας τελικού προϊόντος, ο καθορισμός προγραμμάτων συντήρησης Πανεπιστήμιο Πατρών 43
44 εξοπλισμού, κλπ. Όπως γίνεται αντιληπτό, ο σχεδιασμός του συστήματος οδηγεί στη λήψη ιδιαίτερα σοβαρών αποφάσεων οι οποίες έχουν ισχυρό αντίκτυπο στη λειτουργικότητα του συστήματος και συνεπώς του τελικού κόστους και άρα και του συνολικού κέρδους. Τα κυριότερα ποιοτικά στοιχεία της διαχείρισης των logistics είναι μεταξύ άλλων, η διαθεσιμότητα, η δυναμικότητα και η συνέπεια. 1. Με την έννοια διαθεσιμότητα εννοούμε την ικανότητα του συστήματος να διαθέτει σε κάθε χρονική στιγμή ικανό απόθεμα πρώτων υλών και τελικού προϊόντος, ώστε να εξυπηρετούνται τόσο ο τομέας παραγωγής όσο και ο τελικός χρήστης. 2. Η δυναμικότητα αφορά στην επίτευξη ικανοποιητικής ταχύτητας εκτέλεσης των παραγγελιών σε καθημερινή βάση. 3. Τέλος, η συνέπεια αναφέρεται στην δυνατότητα του συστήματος να παρέχει τελικά προϊόντα εγκαίρως και στη σωστή ποιότητα στον τελικό χρήστη. Τα logistics συχνά σχετίζονται με: Προβλήματα χωροθέτησης Προβλήματα επιλογής διαδρομής οχημάτων (vehicle routing problems) Προβλήματα σχεδιασμού δρομολογίων οχημάτων (vehicle scheduling problems) Προβλήματα ταυτόχρονης επιλογής διαδρομής και σχεδιασμού δρομολογίων οχημάτων (vehicle routing and scheduling problems) Πανεπιστήμιο Πατρών 44
45 ΚΕΦΑΛΑΙΟ 3: Τεχνικές επίλυσης προβλημάτων βελτιστοποίησης 3.1 Αλγόριθμοι Υπολογιστικής Νοημοσύνης Η Υπολογιστική Νοημοσύνη αποτελεί ένα υποκλάδο της Τεχνητής Νοημοσύνης (Engelbrecht, 2007), η οποία περιλαμβάνει το σχεδιασμό και την ανάπτυξη θεωριών και μεθόδων που έχουν εμπνευστεί από τη φύση, καθώς και την εφαρμογή τους στην επίλυση προβλημάτων του πραγματικού κόσμου. Οι μέθοδοι της Υπολογιστικής Νοημοσύνης, που βασίζονται σε παραδείγματα από τη φύση, έχουν οδηγήσει στην ανάπτυξη μιας μεγάλης ποικιλίας αλγορίθμων και μεθόδων, όπως τα Τεχνητά Νευρωνικά Δίκτυα (ΤΝΔ), οι Γενετικοί Αλγόριθμοι (ΓΑ) και γενικότερα οι Εξελικτικοί Αλγόριθμοι (ΕΑ), τα Ασαφή Συστήματα (ΑΣ), η Ευφυΐα Σμήνους (ΕΣ), κλπ. Αυτές οι μέθοδοι είναι συνήθως υπολογιστικά αποδοτικές σε χρόνο και οδηγούν σε ικανοποιητικές λύσεις, και υπό προϋποθέσεις σε βέλτιστες λύσεις. Την τελευταία εικοσαετία, έχουν αναπτυχθεί υβριδικές μέθοδοι οι οποίες αξιοποιούν τα πλεονεκτήματα δύο ή περισσότερων από τις παραπάνω μεθόδους, εξαλείφοντας έτσι τα μειονεκτήματα που έχει η κάθε μια ξεχωριστά (Corchado et al., 2010) Ευρετικοί Αλγόριθμοι Οι κλασικές τεχνικές της Επιχειρησιακής Έρευνας, ακέραιος και γραμμικός προγραμματισμός, αδυνατούν να επιλύσουν τα ρεαλιστικά (μεγάλης και μεσαίας κλίμακας) προβλήματα συνδυαστικής βελτιστοποίησης λόγου του τεράστιου αριθμού πράξεων που απαιτούνται να γίνουν για την εύρεση της βέλτιστης λύσης. Η αποτελεσματική επίλυση σε αποδεκτό χρόνο, αυτών των προβλημάτων απαιτεί τη χρήση προσεγγιστικών αλγορίθμων. Οι αλγόριθμοι αυτοί έχουν σχεδιαστεί για την ταχύτερη επίλυση ενός προβλήματος, όταν οι κλασικές μέθοδοι είναι πολύ αργές, ή για την εξεύρεση λύσης, κατά προσέγγιση, όταν οι κλασικές μέθοδοι αποτύχουν να βρουν οποιαδήποτε ακριβή λύση. Αυτό επιτυγχάνεται βάζοντας ως πρώτο στόχο Πανεπιστήμιο Πατρών 45
46 την ταχύτητα σε βάρος της βελτιστοποίησης, της πληρότητας και της ακρίβειας της μεθόδου. Ο στόχος ενός ευρετικού αλγορίθμου είναι να παράγει μια αρκετά γρήγορη λύση που να είναι αρκετά καλή για την επίλυση ενός προβλήματος. Αυτή η λύση δεν είναι αναγκαστικά η βέλτιστη. Εξακολουθεί όμως να είναι πολύτιμη, επειδή η εξεύρεσή της δεν απαιτεί απαγορευτικά μεγάλο χρόνο εκτέλεσης. Οι προσεγγιστικοί αλγόριθμοι επιχειρούν την εύρεση του βέλτιστου του προβλήματος ή τουλάχιστον την εύρεση μιας λύσης που παρουσιάζει μια μικρή απόκλιση από το βέλτιστο σε αποδεκτό υπολογιστικό χρόνο. Η σημαντικότερη κατηγορία αυτών των αλγορίθμων είναι οι ευρετικοί αλγόριθμοι (heuristic algorithms) (Michalewicz and Fogel (2004). Οι ευρετικοί αλγόριθμοι είναι προσεγγιστικές μέθοδοι οι οποίες περιορίζονται στη σάρωση «περιοχών λύσεων» ικανοποιητικής ποιότητας. Διαχωρίζονται σε δύο τμήματα στο κατασκευαστικό και στο βελτιωτικό (τοπικής αναζήτησης). Στο κατασκευαστικό κομμάτι παράγουν μια αρχική λύση που στη συνέχεια στο βελτιωτικό χρησιμοποιώντας εναλλακτικές τεχνικές ανταλλαγής τμημάτων μεταξύ των λύσεων δημιουργούν νέα βελτιωμένα αποτελέσματα. Παρουσιάζουν ιδιαίτερο ενδιαφέρον από μόνες τους επειδή μπορούν πολύ γρήγορα να παράγουν καλές λύσεις, αλλά και επειδή αποτελούν συστατικά μεταευρετικών αλγορίθμων. Όταν είναι εφικτό, τα αποτελέσματά τους συγκρίνονται με αυτά που παράγονται από έναν ακριβή αλγόριθμο. Ευρετικός μηχανισμός (heuristic) είναι μία στρατηγική, βασισμένη στη γνώση για το συγκεκριμένο πρόβλημα, που χρησιμοποιείται σα βοήθημα για τη γρηγορότερη επίλυσή του. Ο χώρος αναζήτησης συνήθως αυξάνεται εκθετικά. Απαιτείται πληροφορία για αξιολόγηση των καταστάσεων (ευρετικός μηχανισμός) ώστε να ευνοηθεί η αναζήτηση! Οι αλγόριθμοι που εκμεταλλεύονται τέτοια πληροφορία ονομάζονται Αλγόριθμοι Ευρετικής (ή Ευριστικής) Αναζήτησης. Παράδειγμα ευρετικής αναζήτησης είναι η συναρμολόγηση ενός ντουλαπιού όπου η γνώση της τελικής εικόνας επηρεάζει (προς το καλύτερο) την κατασκευή του. Αν δεν υπήρχαν ευρετικοί μηχανισμοί, τότε τα προβλήματα αυτά θα λύνονταν πολύ δύσκολα, γιατί οι συνδυασμοί που πρέπει να γίνουν είναι πάρα πολλοί. Ο ευρετικός μηχανισμός εξαρτάται από τη γνώση που έχουμε για το πρόβλημα. Οι ευρετικοί αλγόριθμοι έρχονται να καλύψουν το μειονέκτημα της Πανεπιστήμιο Πατρών 46
47 ραγδαίας αύξησης του χρόνου επίλυσης των ακριβών αλγορίθμων, θυσιάζοντας, όμως, την απόλυτη βελτιστοποίηση. Αυτοί οι αλγόριθμοι επιδιώκουν να βρουν μία προσέγγιση του βέλτιστου μέσα σε λογικά μικρό χρονικό διάστημα. Μία λύση αυτής της κατηγορίας αλγορίθμων, για να γίνει αποδεκτή, πρέπει να ικανοποιεί κάποια κριτήρια, όπως η ποιότητα της λύσης (απόκλιση από τη βέλτιστη), η ευκολία απόκτησής της και η λογική στην οποία στηρίζονται οι κανόνες της για να μας οδηγήσουν στη λύση. Χαρακτηριστικό των ευρετικών αλγορίθμων είναι ότι βρίσκουν λύσεις ανάμεσα στις πολλές εφικτές αλλά δεν υπάρχει εξ αρχής εγγύηση ότι βρίσκουν μια βέλτιστη λύση. Άρα μπορούν να θεωρηθούν ως προσεγγιστικοί και μη ακριβείς αλγόριθμοι. Συνήθως όμως βρίσκουν λύση «κοντά» στη βέλτιστη και τη βρίσκουν εύκολα και «γρήγορα». Ένας αλγόριθμος μπορεί να είναι ακριβής, δηλαδή να βρίσκει πάντα μια βέλτιστη λύση, μέχρις ότου όμως βρεθεί η απόδειξη ο αλγόριθμος θεωρείται ευρετικός (Παπαθεοδώρου, 2001). Οι ευρετικοί χωρίζονται στις παρακάτω κατηγορίες: Κλασικοί Ευρετικοί Αλγόριθμοι, που χωρίζονται στους o Κατασκευαστικούς Αλγόριθμους και o Βελτιωτικούς Αλγόριθμους Μεταευρετικοί Αλγόριθμοι (Αλγόριθμοι Υπολογιστικής Ευφυΐας) Στις επόμενες ενότητες θα γίνει μια προσπάθεια παρουσίασης διάφορων κατασκευαστικών και βελτιωτικών αλγορίθμων που εφαρμόζονται στο πρόβλημα δρομολόγησης οχημάτων Κατασκευαστικοί Αλγόριθμοι Ένας κλασσικός ευρετικός αλγόριθμος αποτελεί έναν αποτελεσματικό (εύρεση λύσης εντός αποδεκτού χρόνου) αλγόριθμο που παράγει λύσεις όχι απαραίτητα βέλτιστες σε προβλήματα συνδυαστικής βελτιστοποίησης και του οποίου η αποδοτικότητα εξαρτάται κάθε φορά από τον βαθμό ενσωμάτωσης των ιδιοτήτων του υπό εξέταση προβλήματος στο μηχανισμό λειτουργίας του. Πανεπιστήμιο Πατρών 47
48 Στην κατηγορία των κατασκευαστικών αλγορίθμων κατατάσσονται οι αλγόριθμοι απληστίας (greedy algorithms) οι οποίοι χαρακτηρίζονται ως μυωπικοί, δηλαδή βλέπουν μόνο μπροστά. Επίσης, οι προσεγγιστικοί κατατάσσονται στους κατασκευαστικούς οι οποίοι προσπαθούν να λύσουν το πρόβλημα χρησιμοποιώντας επιπλέον πληροφορία που καθορίζεται από το σχεδιαστή του. Π.χ. στα προβλήματα δρομολόγησης οχημάτων, η διαδρομή που κατασκευάζουν προκύπτει από την ελαχιστοποίηση ενός κριτηρίου, το οποίο μπορούν να το κάνουν για κάθε όχημα είτε διαδοχικά είτε παράλληλα (Μορφουλάκη και Κοτούλα, 2014). Μια πολύ γνωστή κατασκευαστική μέθοδος για την επίλυση προβλημάτων δρομολόγησης οχημάτων είναι αυτή του κοντινότερου γείτονα (NN Nearest Neighbor). Το κριτήριο της δρομολόγησης είναι η ελαχιστοποίηση του χρόνου διαδρομής ή της απόστασης μεταξύ του υπό εξέταση σημείου παραλαβής και του προηγούμενου. Κριτήριο αποδοχής κάθε λύσης είναι να ικανοποιούνται τα χρονικά παράθυρα αφετηρίας και προορισμού και να μην υπερβαίνει η ζήτηση της κάθε διαδρομής τη χωρητικότητα του οχήματος. Η διαδρομή ολοκληρώνεται όταν δεν μπορεί να εισαχθεί επιπλέον φορτίο στο όχημα είτε λόγω χωρητικότητας είτε λόγω χρονικών περιορισμών (Μορφουλάκη και Κοτούλα, 2014). Μια άλλη πολύ γνωστή προσέγγιση είναι αυτή όπου το πρόβλημα δρομολόγησης οχημάτων επιλύεται και στη συνέχεια ομαδοποιείται ή το αντίστροφο (Route First Cluster Second). Στο πρώτο βήμα κατασκευάζεται μια πολύ μεγάλη διαδρομή χωρίς περιορισμούς χωρητικότητας λύνοντας το πρόβλημα του πλανόδιου πωλητή (Travelling Salesman Problem TSP) και στη συνέχεια αυτή διαχωρίζεται σε άλλες μικρότερες, ώστε να ικανοποιούνται οι περιορισμοί της χωρητικότητας και της χρονικής διάρκειας. Σε γενικές γραμμές η προσέγγιση αυτή δεν μπορεί να μπει σε διαδικασία άμεσης σύγκρισης με άλλες ευρετικές, επειδή κυρίως εξαρτάται από την μέθοδο του TSP που χρησιμοποιεί (Μορφουλάκη & Κοτούλα, 2014). Ο πιο γνωστός κατασκευαστικός ευρετικός αλγόριθμoς για προβλήματα δρομολόγησης οχημάτων είναι αυτός των Clarke & Wright Savings (Lysgaard, 1997). Η διαδικασία του μοιάζει αντίστροφη της Route First Cluster Second. Ξεκινάει με Πανεπιστήμιο Πατρών 48
49 την υπόθεση ότι κάθε σημείο εξυπηρετείται από ένα όχημα. Στη συνέχεια όταν μπορεί να προκύψει κάποιο όφελος σε σχέση με την διανυθείσα απόσταση οι δύο διαδρομές ενοποιούνται. Καθώς η διαδικασία επαναλαμβάνεται συνεχώς κάποια δρομολόγια ακυρώνονται, ενώ κάποια άλλα πυκνώνουν έως ότου δεν είναι πια δυνατή η συγχώνευση δρομολογίων. Η διαδικασία μπορεί να γίνει είτε διαδοχικά είτε παράλληλα σε όλες τις διαδρομές. Αντίστοιχα γνωστός κατασκευαστικός αλγόριθμος για προβλήματα δρομολόγησης οχημάτων είναι αυτός που προτείνει ο Solomon (Solomon, 1987). Κάθε διαδρομή ξεκινάει από κάποιο κεντρικό σημείο και οι υπόλοιποι εισάγονται σε αυτή στο βαθμό που αυτό είναι εφικτό. Το αρχικό σημείο που επιλέγεται είναι είτε το πιο απομακρυσμένο είτε εκείνο που έχει το νωρίτερο χρονικό παράθυρο. Η εισαγωγή του νέου σημείου γίνεται ανάμεσα σε υφιστάμενα σημεία του δρομολογίου. Το κριτήριο εισαγωγής ενός σημείου σε κάποιο δρομολόγιο σχετίζεται με το κατά πόσο συμφέρει αυτό να εξυπηρετηθεί από το συγκεκριμένο όχημα έναντι των υπολοίπων. Τρείς εναλλακτικές προτείνονται που διαφοροποιούνται στις μεταβλητές καθορισμού της σκοπιμότητας για την εισαγωγή ενός νέου σημείου στο δρομολόγιο. Στην πρώτη περίπτωση εξετάζεται πόσο σημαντική είναι η απόσταση του νέου σημείου από την αφετηρία σε σχέση με την προστιθέμενη απόσταση και τον προστιθέμενο χρόνο στο δρομολόγιο. Στη δεύτερη περίπτωση στόχος είναι η ελαχιστοποίηση της συνολικής απόστασης και του συνολικού χρόνου, ενώ σε μια τρίτη παραλλαγή δίνεται έμφαση στην εξυπηρέτηση προκαθορισμένων σημείων. Τέλος, μια επίσης γνωστή μέθοδος δρομολόγησης οχημάτων είναι εκείνη του SWEEP (αλγόριθμος σάρωσης) που έχει την φιλοσοφία του Cluster First Route Second. Αρχικά, ομαδοποιούνται τα σημεία χωρίζοντάς τα σε περιοχές ανάλογα με την γωνία που σχηματίζουν από το κέντρο βάρους του προβλήματος. Στη συνέχεια χρησιμοποιείται ο 1 ος αλγόριθμος του Solomon για να δομηθούν τα δρομολόγια. Πιο αναλυτική παρουσίαση των κατασκευαστικών μεθόδων μπορεί να βρεθεί στη βιβλιογραφία σε διάφορα σημαντικά συγγράμματα (Condreau et al., 2002; Μορφουλάκη και Κοτούλα, 2014). Πανεπιστήμιο Πατρών 49
50 3.1.3 Βελτιωτικοί Αλγόριθμοι Στους βελτιωτικούς αλγορίθμους ανήκουν οι αλγόριθμοι τοπικής αναζήτησης οι οποίοι ξεκινούν από μια αρχικά εφικτή λύση την οποία βελτιώνουν με κάποια μέθοδο αναζήτησης στη γειτονιά της λύσης. Είναι αλγόριθμοι που δουλεύουν γρήγορα και αποτελεσματικά. Για να σχεδιαστεί ένας τέτοιος αλγόριθμος απαιτείται να καθοριστούν τα ακόλουθα ζητήματα (Μορφουλάκη και Κοτούλα, 2014): πως δημιουργείται μια αρχικά εφικτή λύση ποιους μηχανισμούς διαφοροποίησης θα χρησιμοποιήσει ποιο είναι το κριτήριο αποδοχής των λύσεων και τέλος ποιο είναι το κριτήριο τερματισμού της διαδικασίας βελτίωσης Ο μηχανισμός διαφοροποίησης της λύσης δημιουργεί τις γειτονικές λύσεις αλλάζοντας κάποια χαρακτηριστικά ή συνδυάζοντας χαρακτηριστικά της αρχικής λύσης. Στην ουσία αυτό που κάνει είναι να ελέγχει την επίπτωση της αλλαγής θέσεων στα δρομολόγια στην αντικειμενική του συνάρτηση. Αν η ανταλλαγή είναι συμφέρουσα τότε αντικαθιστά την αρχική λύση. Για το κριτήριο αποδοχής της λύσης δύο είναι οι πιο γνωστές προσεγγίσεις για το πρόβλημα της δρομολόγησης οχημάτων, η αποδοχή της πρώτης ικανής (First Accepted) και η αποδοχή της καλύτερης δυνατής (Best Accepted). Η πρώτη επιλέγει την πρώτη γειτονική λύση που ικανοποιεί το κριτήριο αποδοχής, ενώ η δεύτερη εξετάζει όλους τους γείτονες που ικανοποιούν τα κριτήρια και επιλέγει τον καλύτερο (Μορφουλάκη και Κοτούλα, 2014). Οι βελτιωτικοί αλγόριθμοι επειδή κατατάσσονται σε αυτούς της τοπικής αναζήτησης έχουν μυωπική συμπεριφορά και εγκλωβίζονται σε τοπικά ελάχιστα. Γι αυτό και η ποιότητα της λύσης τους εξαρτάται κατά πολύ από την αρχική λύση. Οι πιο διαδεδομένες προσεγγίσεις βελτιωτικών αλγορίθμων είναι αυτές της ανταλλαγής άκρων (εσωτερικές είτε εξωτερικές ανταλλαγές). Πανεπιστήμιο Πατρών 50
51 Τέλος, πολύ βασικοί τελεστές ανταλλαγής είναι οι ακόλουθοι τρεις (Μορφουλάκη και Κοτούλα, 2014): Relocate: ανατοποθέτηση επιτυγχάνεται όταν γίνεται μεταφορά ενός σημείου από το ένα δρομολόγιο σε άλλο χωρίς να γίνεται αλλαγή στον προσανατολισμό τους. Exchange: Ανταλλάσσονται δύο σημεία μεταξύ δύο διαδρομών χωρίς να αλλάζει ο προσανατολισμός της λύσης. Cross: Η διασταύρωση ανταλλάσει ζεύγη διαδοχικών σημείων χωρίς και πάλι να αλλάξει η κατεύθυνση των δρομολογίων. Μια ακόμη ενδιαφέρουσα προσέγγιση είναι εκείνη των Gendreau et al. (Gendreau et al., 1992) οι οποίοι προτείνουν ένα πολύ ευφυές τελεστή προσθήκης σημείων, το Generalized Insertion Procedure (GENI). Η σημαντική διαφοροποίηση του τελεστή αυτού σε σχέση με τους υπόλοιπους που έχουν προταθεί, είναι ότι επιτρέπει την προσθήκη ενός σημείου σε μία διαδρομή χωρίς απαραίτητα να είναι συνεχόμενα τα σημεία ανάμεσα στα οποία τοποθετείται. Στην ουσία λαμβάνει υπόψη τους δύο διαφορετικούς τύπους προσθήκης σημείων. Στον πρώτο τύπο μπορεί να εισαχθεί ένα σημείο ανάμεσα σε δύο μη διαδοχικά και αυτό να επηρεάσει και την φορά των επόμενων σημείων. Στην περίπτωση του δεύτερου τύπου μπορεί να εισαχθεί ένα σημείο ανάμεσα σε δύο μη διαδοχικά και να αλλάξει και η σειρά και η φορά των σημείων που ακολουθούν Μεταευρετικοί Αλγόριθμοι Με τους ευρετικούς αλγορίθμους η λύση που δίνεται ίσως δεν είναι αρκετά καλή, γιατί η θεωρία στην οποία στηρίζονται δεν είναι πολύ καλά τεκμηριωμένοι. Ο όρος μεταευρετικός επινοήθηκε από τον Glover (Glover, 1986) και συνδυάζει το πρόθεμα μετά (πέρα από την έννοια του υψηλού επιπέδου) με τη λέξη ευρετική (αναζήτηση), θέλοντας να περιγράψει μια ανώτερη στρατηγική η οποία καθοδηγεί και τροποποιεί άλλους ευρετικούς στο να παράγουν λύσεις και πέρα από αυτές. Πανεπιστήμιο Πατρών 51
52 Δηλαδή είναι ένα υψηλού επιπέδου αλγοριθμικό πλαίσιο το οποίο δεν εξαρτάται από το είδος του επιλυόμενου προβλήματος, και το οποίο παρέχει μια σειρά από κατευθυντήριες γραμμές ή στρατηγικές για την ανάπτυξη ενός ευρετικού αλγόριθμου βελτιστοποίησης. Είναι μια ευφυής διαδικασία επαναληπτικής βελτίωσης η οποία χρησιμοποιεί μη εξαρτημένους από το εξεταζόμενο πρόβλημα μηχανισμούς καθοδήγησης των ευρετικών αλγορίθμων. Σε γενικές γραμμές, οι μεταευρετικές μέθοδοι βασίζονται σε μεγάλο βαθμό στη χρήση της τυχαιότητας, αν και έχουν επίσης προταθεί στη βιβλιογραφία κάποιες εντελώς ντετερμινιστικές στρατηγικές. Οι μεταευρετικοί αλγόριθμοι είναι μέθοδοι επίλυσης που συνδυάζουν διαδικασίες τοπικής αναζήτησης και υψηλότερου επιπέδου στρατηγικές για να δημιουργήσουν μια διαδικασία που είναι ικανή να ξεφύγει από κάποιο τοπικό ελάχιστο. Τα τελευταία χρόνια η χρήση τους είναι έντονη για την επίλυση ΝPπλήρων προβλημάτων. Χρησιμοποιούνται για να επιλύσουν προβλήματα για τα οποία γνωρίζουμε πολύ λίγα που μπορούν να μας βοηθήσουν, δε γνωρίζουμε πως θα μοιάζει η βέλτιστη λύση, δε γνωρίζουμε πως θα τη βρούμε με κάποια συγκεκριμένη, δημοφιλή, τακτική και η πλήρη απαρίθμηση των λύσεων είναι αδύνατη, λόγω του εύρους του πεδίου των λύσεων. Όμως, όταν μας δοθεί μια οποιαδήποτε λύση μπορούμε να τη δοκιμάσουμε και να κρίνουμε πόσο ικανοποιητική είναι (Luke, 2009). Σύμφωνα με τους Bräysy και Gendreau (Bräysy and Gendreau, 2005) οι μεταευρετικοί αλγόριθμοι είναι γενικές διαδικασίες επίλυσης οι οποίες εξετάζουν το υποσύνολο των λύσεων, ώστε να βρουν καλές λύσεις χρησιμοποιώντας συνδυασμό τεχνικών από τους κατασκευαστικούς και βελτιωτικούς αλγορίθμους. Οι μεταευρετικοί αλγόριθμοι συνδέονται άμεσα με την αδυναμία μας να βρούμε λύση σε προβλήματα που ανήκουν στην κλάση NP-πλήρες (NP-δύσκολο) με αναλυτικές ακριβείς μεθόδους. Μας δίνουν ένα ρεαλιστικό μέσο επιβίωσης στην πολυπλοκότητα που θέτουν τα προβλήματα αυτά αλλά παράλληλα εμφανίζουν κάποια μειονεκτήματα. Είναι γνωστό πως, αυτοί οι αλγόριθμοι δε μπορούν να μας δώσουν εγγυήσεις σε σχέση με την απόσταση της προτεινόμενης από τη βέλτιστη λύση. Είναι αδύνατο να γνωρίζουμε εάν υπάρχει μια καλύτερη λύση από αυτή που έχει εντοπιστεί ως το σημείο εκτέλεσης, για αυτό πολλές φορές ως κριτήριο Πανεπιστήμιο Πατρών 52
53 τερματισμού αυτών των αλγορίθμων χρησιμοποιούνται χρονικά όρια ή όρια επανάληψης. Οι στοχαστικοί αλγόριθμοι διερεύνησης έχουν μερικά πλεονεκτήματα συγκρινόμενες με άλλους αλγορίθμους (Venter and Sobieszczanski-Sobieski, 2002): Οι στοχαστικοί αλγόριθμοι διερεύνησης είναι γενικά εύκολοι στην υλοποίηση Μπορούν να χρησιμοποιηθούν αποτελεσματικά σε ένα περιβάλλον πολυεπεξεργαστή Δεν απαιτούν η συνάρτηση ορισμού προβλήματος να είναι συνεχής Γενικά μπορούν να παράγουν βέλτιστες ή σχεδόν-βέλτιστες λύσεις Είναι κατάλληλοι για διακριτά και συνδυαστικά προβλήματα Τις τελευταίες δύο δεκαετίες μία ποικιλία από μεταευρετικές προσεγγίσεις, όπως η Προσομοιωμένη Ανόπτηση, η Αναζήτηση με λίστα ταμπού, οι Εξελικτικοί Αλγόριθμοι, κ.ά., καθώς και υβριδικές μορφές αυτών, έχουν ερευνηθεί και εφαρμοστεί πάνω σε προβλήματα χρονοπρογραμματισμού. Οι μεταευρετικές τεχνικές είναι μια κλάση ευρετικών τεχνικών που έχουν εφαρμοστεί με επιτυχία στη λύση πολλών προβλημάτων συνδυαστικής βελτιστοποίησης (Reeves, 1995;, Osman and Kelly, 1996; Osman and Laporte, 1996; Aarts and Lenstra, 1997; Voss, 2001; Corne et al., 1999; Glover and Kochenberger, 2003). Αυτές οι μέθοδοι ξεκινούν με μία ή περισσότερες αρχικές λύσεις (συνήθως τυχαία αρχικοποιημένες) και εφαρμόζουν διάφορες στρατηγικές αναζήτησης για την αποφυγή τοπικών βέλτιστων (local optima). Όλοι αυτοί οι αλγόριθμοι μπορούν να παράγουν λύσεις υψηλής ποιότητας αλλά συχνά εμφανίζουν υψηλό υπολογιστικό κόστος. Οι Osman και Kelly μεταευρετικές τεχνικές ως ακολούθως: (Osman and Kelly, 1996) ορίζουν τις «Μια μεταευρετική τεχνική είναι μια επαναληπτική διαδικασία που οδηγεί μια υποδεέστερη ευρετική τεχνική συνδυάζοντας έξυπνα διαφορετικές προσεγγίσεις για την εξερεύνηση και την εκμετάλλευση των χώρων αναζήτησης και χρησιμοποιώντας στρατηγικές μάθησης για την Πανεπιστήμιο Πατρών 53
54 κατασκευή της πληροφορίας με σκοπό να ανακαλύψει εφικτές σχεδόν βέλτιστες λύσεις» Οι μεταευρετικοί αλγόριθμοι που χρησιμοποιούνται κυρίως στα προβλήματα δρομολόγησης και προγραμματισμού, προσπαθούν με έμμεσο τρόπο να προσεγγίσουν μια λύση που θα είναι κοντά στη βέλτιστη. Σε αυτή την κατηγορία βρίσκουμε τους Γενετικούς Αλγορίθμους (Genetic Algorithms GAs), την Τυχαία Βελτιστοποίηση (Random optimization RO), την Προσομοιωμένη Ανόπτηση (Simulated Annealing SA), την αναζήτηση με λίστα ταμπού (Tabu Search TS) καθώς και πληθώρα άλλων αλγορίθμων. Θεμελιώδης έννοια για τους μεταευρετικούς αλγορίθμους είναι η αυτή της «Αναζήτησης Γειτονιάς» και της δυνατότητας που μας παρέχουν οι ευρετικοί αλγόριθμοι να διατρέχουμε το πεδίο των λύσεων. Επίσης, σημαντικό στοιχείο στη λειτουργία των αλγορίθμων αυτών αποτελεί ο τρόπος αναπαράστασης των λύσεων. Αυτή η έννοια ορίζει τόσο τη λειτουργία των ευρετικών αλγορίθμων αλλά και πολλές φορές παίζει μεγάλο ρόλο στην πολυπλοκότητα του προβλήματος. Ως αποτέλεσμα, η χρήση τέτοιων αλγορίθμων απαιτεί πρώτα να οριστεί μια κατάλληλη αναπαράσταση της λύσης του προβλήματος, ή να υιοθετηθεί μια αναπαράσταση που να υπάρχει στη βιβλιογραφία, και έπειτα να δομηθούν κατάλληλα οι ευρετικοί αλγόριθμοι που θα της δώσουν τη δυνατότητα να κινηθεί (να αναζητήσει) μέσα στη γειτονιά των λύσεων (Μορφουλάκη και Κοτούλα, 2014). Παράλληλα, πολύ σημαντικό ρόλο για την επιτυχία των αλγορίθμων αυτών παίζει η τυχαιότητα κατά την αναζήτηση λύσεων. Οι παραπάνω αλγόριθμοι είναι ισχυρά τυχαιοποιημένοι αλγόριθμοι και βασίζονται σε αυτό. Αυτή η ιδιότητα ουσιαστικά δίνει τη δυνατότητα πιο διευρυμένης αναζήτησης στη δεξαμενή των λύσεων και αποφυγή αποκλεισμού σε κάποιο τοπικό ακρότατο, γεγονός το οποίο είναι επιθυμητό να αποφευχθεί. Μια ακόμα πολύ διαδεδομένη μεταευρετική μέθοδος είναι η Αναζήτηση με λίστα ταμπού η οποία αποτελεί μια επαναληπτική διαδικασία τοπική έρευνας, η οποία εξερευνεί λύσεις συγγενικές με την αρχική έως ότου βρεθεί η επιθυμητή. Η ανάγκη να μειωθεί η πολυπλοκότητα της έρευνας ώθησε τους ερευνητές να Πανεπιστήμιο Πατρών 54
55 ορίσουν κριτήρια που περιορίζουν των αριθμό των περιπτώσεων που πρέπει να εξεταστούν, όπως η μεταξύ τους απόσταση, η γωνία που σχηματίζουν με το κέντρο βάρους μιας διαδρομής, κ.α. (Garcia et al., 1994). Το τελευταίο διάστημα έχουν προταθεί αρκετοί αλγόριθμοι Προσαρμοστικής Αναζήτησης Μεγάλης Γειτονιάς (Adaptive Large Scale Neighborhood Search ALSNS), για την επίλυση προβλημάτων δρομολόγησης, που αποτελούν επεκτάσεις της διαδεδομένης Αναζήτησης Μεγάλης Γειτονιάς του Shaw (Shaw, 1997; Shaw, 1998). Η διαφορά της από την απλή αναζήτηση γειτονιάς είναι ότι επιτρέπει να γίνει χρήση πολλαπλών μεθόδων καταστροφής και επισκευής των δρομολογίων κατά τη διάρκεια της διαδικασίας αναζήτησης. Σε κάθε επανάληψη η μέθοδος αφαιρεί (destroy ή αλλιώς remove) ένα κομμάτι από τη λύση και έπειτα το επανατοποθετεί (repair ή αλλιώς insert) με διαφορετικό τρόπο με στόχο να βρει μια καλύτερη λύση. Η λύση αύτη γίνεται δεκτή σύμφωνα με κάποιο κριτήριο, συνήθως αυτό της Προσομοιωμένης Ανόπτησης. Η προσαρμοστικότητα της μεθόδου πηγάζει από το γεγονός ότι η επιλογή των μεθόδων αφαίρεσης και τοποθέτησης των σημείων στην καινούργια λύση επιλέγεται σύμφωνα με κάποιο μηχανισμό πιθανοτήτων. Σε κάθε επανάληψη η πιθανότητα να επιλεγεί μια μέθοδος εξαρτάται από το πόσο καλά αποτελέσματα επέδειξε στο παρελθόν της (Μορφουλάκη και Κοτούλα, 2014) Μέθοδοι Βασισμένες στην Τοπική Αναρρίχηση σε λόφο (Hill Climbing) Στον αλγόριθμο αναρρίχησης σε λόφο μια δυνητική λύση επιλέγεται τυχαία. Ο αλγόριθμος κατόπιν ψάχνει στη γειτονιά της τρέχουσας λύσης για κάποια καλύτερη λύση. Αν μια καλύτερη λύση βρεθεί, τότε αυτή τίθεται ως νέα δυνητική λύση. Αυτή η διαδικασία επαναλαμβάνεται μέχρι καμία πρόσθετη βελτίωση να μην μπορεί να πραγματοποιηθεί Αναζήτηση με λίστα ταμπού (Tabu Search TS) Η βασική δομή της αναζήτησης με λίστα ταμπού προτάθηκε από τον Glover (1986) (Glover, 1986). Από τότε, οι βασισμένες στην αναζήτηση με λίστα ταμπού μέθοδοι Πανεπιστήμιο Πατρών 55
56 αποδείχθηκαν να έχουν μεγάλη επιτυχία σε πολλά προβλήματα βελτιστοποίησης. Ένα ορισμός της ο οποίος προτάθηκε από τους Glover και Laguna (Glover και Laguna, 1997) ήταν: «Η Αναζήτηση με λίστα ταμπού είναι μια μεταευρετική μέθοδος που οδηγεί μια τοπική ευρετική αναζήτηση να διερευνήσει το εύρος αναζήτησης πέρα από το τοπικό βέλτιστο.» Η μέθοδος αυτή συνήθως δε χρησιμοποιείται μεμονωμένα αλλά σε συνδυασμό με κάποιον άλλο στοχαστικό αλγόριθμο, τον οποίον και κατευθύνει. Για αυτό τον λόγο άλλωστε αποτελεί και μεταευρετικό (metaheuristic) αλγόριθμο. Μια σύντομη περιγραφή του αλγορίθμου της αναζήτησης με λίστα ταμπού είναι η ακόλουθη: Αρχικά, κατασκευάζεται μια αρχική λύση S0 αξιοποιώντας τα ιδιαίτερα χαρακτηριστικά του κάθε προβλήματος. Στη συνέχεια υπολογίζεται η τιμή της συνάρτησης κόστους για τις υποψήφιες λύσεις στη γειτονιά της αρχικής λύσης και γίνεται μια προσπάθεια να κινηθούμε-αναζητήσουμε σε ένα υποσύνολο της αρχικής γειτονιάς N(s), δηλαδή στη γειτονιά N (s) που δίνει την καλύτερη λύση s (ή τουλάχιστον τη λιγότερο κακή). Ο αριθμός με τη μικρότερη τιμή γίνεται η τρέχουσα λύση ανεξάρτητα από το αν η τιμή είναι καλύτερη ή χειρότερη από την προηγούμενη λύση. Η αποδοχή μη βέλτιστων λύσεων επιτρέπει τη συνέχιση της αναζήτησης σε περιοχές πέρα από τα τοπικά βέλτιστα. Παρ όλ αύτα, τυπικά αυτό θα οδηγήσει σε κύκλους, που κατ επανάληψη θα κινούνται μεταξύ ενός μικρού αριθμού λύσεων. Για την αποφυγή αυτού του προβλήματος, χρησιμοποιείται μνήμη για την αποθήκευση μιας λίστας αναζήτησης. Αυτή η λίστα περιλαμβάνει κινήσεις που να ικανοποιούν μερικούς περιορισμούς και αυτές οι κινήσεις απαγορεύονται για ένα προκαθορισμένο αριθμό επαναλήψεων (tabu tenure). Χρησιμοποιείται ένα κριτήριο φιλοδοξίας (aspiration criterion), ώστε να μετατρέψει μια λύση ελεύθερη περιορισμών, όταν η προκύπτουσα αξιολόγηση είναι επαρκούς ποιότητας και μπορεί να εμποδίσει τους κύκλους. Παίζει το ρόλο καθοδηγητή της διαδικασίας αναζήτησης. Η κατάλληλη επιλογή κριτηρίων είναι Πανεπιστήμιο Πατρών 56
57 σημαντική για την παραγωγή καλών αποτελεσμάτων. Το κριτήριο φιλοδοξίας μπορεί να είναι χρονικά εξαρτημένο ή χρονικά ανεξάρτητο. Οι περιορισμοί (tabu restrictions) χρησιμοποιούνται για την αποφυγή επαναλήψεων στην αναζήτηση. Οι περιορισμοί αυτοί τυπικά ενεργοποιούνται μόνο στην περίπτωση που τα στοιχεία τους προκύπτουν μέσα σε ένα περιορισμένο αριθμό επαναλήψεων πριν την παρούσα επανάληψη ή προκύπτουν με μια συχνότητα μετά από ένα μεγάλο αριθμό επαναλήψεων. Με άλλα λόγια ένας περιορισμός προκύπτει μόνο όταν τα στοιχεία της υποκείμενης λύσης ικανοποιούν μόνο κατώτερα όρια συχνοτήτων. Μερικές συνθήκες τερματισμού για την περιορισμένη αναζήτηση θα μπορούσαν να είναι, ένας μέγιστος αριθμός επαναλήψεων ή ο αριθμός επαναλήψεων από τη στιγμή που η τελευταία βελτίωση είναι μεγαλύτερη από έναν συγκεκριμένο αριθμό. Άλλες σημαντικές παράμετροι ελέγχου που πρέπει να συνυπολογιστούν είναι το μέγεθος της λίστας περιορισμών, η συνάρτηση φιλοδοξίας και η πληθικότητα του συνόλου των γειτονικών λύσεων που δοκιμάζονται σε κάθε επανάληψη. Όταν η περιορισμένη αναζήτηση δε συγκλίνει με φυσικό τρόπο, θα πρέπει να καθοριστούν κάποια κριτήρια σταματήματος. Για παράδειγμα, ο αλγόριθμος μπορεί να τερματίσει, όταν κάποιος προκαθορισμένος αριθμός επαναλήψεων έχει περάσει ή όταν ένας καθορισμένος αριθμός επαναλήψεων έχει ολοκληρωθεί, χωρίς η λύση να έχει βελτιωθεί. Ο ψευδοκώδικας του αλγορίθμου παρουσιάζεται στη συνέχεια. Αλγόριθμος Αναζήτηση με λίστα ταμπού Αλγόριθμος Περιορισμένης Αναζήτησης Κατασκευή μιας αρχικής λύσης s0 s = s0 // Αρχικοποίηση της βέλτιστης λύσης k = 0 t(k) = 0 Repeat Πανεπιστήμιο Πατρών 57
58 Επιλογή της γειτονιάς s n(s0) για την οποία το δc(s) if m(s) t(k) ή κάποιο κριτήριο απενεργοποίησης των ικανοποιείται s0 = s if c(s) < c(s ) s = s end if Update k, t(k) End if until κάποιο κριτήριο σταματήματος ικανοποιηθεί ελαχιστοποιείται περιορισμών Return s Ο βασικός σκοπός της μεθόδου της αναζήτησης με λίστα ταμπού είναι η αποφυγή παγίδευσης της τοπικής αναζήτησης σε τοπικά βέλτιστα. Αυτό πραγματοποιείται κυρίως με δύο στρατηγικές: α) την εντατικοποίηση της αναζήτησης γύρω από ένα τοπικό βέλτιστο και β) τη διάχυση της έρευνας σε νέες περιοχές του εφικτού συνόλου. Ο συγκεκριμένος αλγόριθμος είναι μια τεχνική καθοδήγησης της τοπικής αναζήτησης βασισμένη σε προσαρμοστική μνήμη (και με αυτήν την έννοια πράγματι μεταευρετική μέθοδος). Τα βασικά χαρακτηριστικά της μεθόδου είναι τα ακόλουθα: Μνήμη, βασισμένη στην ιστορία της τοπικής αναζήτησης σε αντίθεση προς την τοπική αναζήτηση που δε διαθέτει μνήμη. Περιορισμοί ταμπού, που βασισμένοι στη μνήμη, απαγορεύουν συγκεκριμένες κινήσεις (κυρίως στοιχειώδεις πράξεις σε λύσεις για μετάβαση σε άλλες). Κριτήρια φιλοδοξίας (aspiration) που επιτρέπουν υπέρβαση των περιορισμών της μεθόδου, π.χ. εάν η χρήση κάποιων Πανεπιστήμιο Πατρών 58
59 απαγορευμένων κινήσεων παρήγαγαν λύση καλύτερη από όλες που έχουν παραχθεί ως εκείνη τη στιγμή. Κριτήρια διάχυσης (diversification) που επιτρέπουν την επιβολή ιδιοτήτων λύσεων που ιστορικά ευρέθησαν «ότι αποδίδουν καλά» και τη διάχυση της αναζήτησης σε νέες περιοχές εφικτών λύσεων. Η αναζήτηση με λίστα ταμπού είναι πιθανότατα η ισχυρότερη προσδιοριστική μέθοδος βασισμένη στην τοπική αναζήτηση με πολλές επιτυχίες σε πολύ δύσκολα προβλήματα. Η βασική της δύναμη είναι η χρήση προσαρμοστικής μνήμης στην καθοδήγηση, που οδηγεί σε εντατικοποίηση και διάχυση, της τοπικής αναζήτησης. Διαφοροποιείται από την Προσομοιωμένη Ανόπτηση σε αρκετά βασικά στοιχεία: 1. Η αναζήτηση με λίστα ταμπού δίνει έμφαση στην ανίχνευση διαδοχικών περιοχών γειτνιάσεως αναζητώντας λύσεις υψηλής ποιότητας σε αντίθεση προς την προσομοιωμένη ανόπτηση που τυχαία συλλέγει σημεία και εφαρμόζει πάνω τους το κριτήριο αποδοχής παραβλέποντας την ποιότητα των άλλων υποψηφίων λύσεων. 2. Η αναζήτηση με λίστα ταμπού εκτιμά την σχετική ελκυστικότητα των υποψηφίων κινήσεων όχι μόνον ως προς το αντικειμενικό κόστος αλλά και ως προς την επιρροή τους. 3. Η αναζήτηση με λίστα ταμπού δίνει έμφαση στην καθοδήγηση με αναφορά σε πολλαπλά κατώφλια που αντανακλώνται στη διάρκεια των ενεργών απαγορεύσεων και στα κριτήρια άρσης των απαγορεύσεων. Η προσομοιωμένη ανόπτηση από την άλλη μεριά βασίζεται σε ένα μόνο κατώφλι που αντανακλάται στην παράμετρο της θερμοκρασίας Προσομοιωμένη Ανόπτηση Η Προσομοιωμένη Ανόπτηση (Simulated Annealing SA) ως μέθοδος επίλυσης προβλημάτων βελτιστοποίησης πρωτοπαρουσιάστηκε πρώτα από τον Πανεπιστήμιο Πατρών 59
60 Kirkpatrick (Kirkpatrick et al., 1983). Το όνομα του αλγορίθμου ή καλύτερα της στρατηγικής, προέρχεται από τη σχέση ανάμεσα στην προσομοίωση της ανόπτησης των υλικών και τη στρατηγική επίλυσης προβλημάτων συνδυαστικής βελτιστοποίησης. Η ανόπτηση σημαίνει ότι ένα στερεό υλικό θερμαίνεται μέχρι το σημείο τήξεως του και στη συνέχεια ψύχεται αργά. Όταν η ψύξη σταματήσει, τότε το υλικό πέφτει σε στάδιο χαμηλότερης ενέργειας. Στη συνδυαστική βελτιστοποίηση αυτό αναπαριστάται με την κίνηση στον εφικτό χώρο αναζήτησης και όταν ο αλγόριθμος σταματήσει έχουμε τότε μια εφικτή λύση. Στην προσομοιωμένη ανόπτηση, η γειτονιά N(s) καθορίζει καινούριες καταστάσεις που μπορεί να τις φτάσει κάποιος από την τρέχουσα κατάσταση s. Από την αρχική κατάσταση s0 με τυχαίο τρόπο γεννιέται μια καινούρια λύση s. Η αντικειμενική συνάρτηση υπολογίζεται ως εξής, δ = f(s ) f(s0). Εάν το δ είναι αρνητικό (δ < 0) η καινούρια κατάσταση είναι πάντοτε αποδεκτή. Εάν η αλλαγή δεν είναι αρνητική (δ 0), η καινούρια κατάσταση είναι αποδεκτή με κάποια πιθανότητα. Η λογική υπολογισμού της πιθανότητας προέρχεται από τους νόμους της θερμοδυναμικής. Έτσι, στη θερμοκρασία t η πιθανότητα αποδοχής (acceptance probability) δίνεται από τη σχέση p(δ) = e δ t. Αυτό σημαίνει ότι η προσομοιωμένη ανόπτηση προσφέρει ένα μηχανισμό για την αποδοχή μικρών αυξήσεων στην τιμή της αντικειμενικής συνάρτησης, ελέγχοντας την πιθανότητα της αποδοχής, p(δ), της νέας αντικειμενικής τιμής, δια μέσου της θερμοκρασίας. Έτσι, μπορούμε να πούμε ότι σε υψηλότερες θερμοκρασίες είναι πιο πιθανό μια λύση με χειρότερη τιμή στη συνάρτηση κόστους να είναι αποδεκτή ως η καινούρια κατάσταση του προβλήματος. αν: Γενικά η μετακίνηση από μια λύση s σε μια λύση s γίνεται αποδεκτή μόνο s είναι καλύτερο από το s (δ = f(s ) f(s0), δ<0) s είναι χειρότερο από το s και ικανοποιείται κάποια πιθανότητα (δ = f(s ) f(s0), δ>0, p(δ) = e δ t ) Πανεπιστήμιο Πατρών 60
61 Μια συνάρτηση μείωσης της θερμοκρασίας χρησιμοποιείται για να χαμηλώσει η τιμή της θερμοκρασίας. Η συνάρτηση μαζί με την αρχική θερμοκρασία περιγράφει τον τρόπο ανόπτησης που καθορίζει πότε και πόσο θα πρέπει να μειωθεί η θερμοκρασία. Υπάρχουν πάρα πολλοί πιθανοί τρόποι για να περιγραφεί η συνάρτηση μείωσης της θερμοκρασίας α(t). Οι τρείς βασικές στρατηγικές μείωσης (ψύχρανσης) της θερμοκρασίας που υπάρχουν στη βιβλιογραφία είναι οι ακόλουθες. Η p(δ) = e δ t εμπεριέχει μια συνάρτηση θερμοκρασίας της μορφής α(t) = t a, όπου α = 0.95 ή α = Το προσαρμοστικό πρόγραμμα ψύχρανσης κάνει δυναμική επιλογή του t, σύμφωνα με την προοδευτική ανακάλυψη καινούριων χαρακτηριστικών στην περιοχή αναζήτησης. Η ύπαρξη μιας καθορισμένου μήκους συνάρτησης α(t) = α t (α < 1), με 0.8 α Διάφοροι παράμετροι που πρέπει να ρυθμιστούν κατά τη διάρκεια της διαδικασίας της προσομοιωμένης ανόπτησης είναι οι εξής: ο καθορισμός της γειτονιάς που θα γίνει η αναζήτηση, η συνάρτηση μείωση της θερμοκρασίας, ο αριθμός των εσωτερικών επαναλήψεων. Είναι επίσης πιθανό να υπάρχει στρατηγική αύξησης της θερμοκρασίας ή να επιτρέπεται επιπλέον αναζήτηση σε ένα τοπικό ελάχιστο. Ο βασικός αλγόριθμος προσομοιωμένης ανόπτησης παρουσιάζεται στη συνέχεια: Αλγόριθμος Προσομοιωμένη Ανόπτηση Select Μια αρχική λύση s0 Select Μια αρχική θερμοκρασία t0 Select Μια συνάρτηση μείωσης της θερμοκρασίας α(t) Repeat Πανεπιστήμιο Πατρών 61
62 Ιωάννης Π. Σώλος Repeat Τυχαία επιλογή μιας γειτονιάς s N(s0) δ = f(s) f(s0) if δ < 0 then s0 = s else Δημιουργούμε τυχαία τιμή x, ομοιόμορφα κατανεμημένη στην ακτίνα (0, 1) if x < 𝑒 𝛿 𝑡 τότε s0 = s endif endif Until Ο μέγιστος αριθμός επαναλήψεων ολοκληρωθεί t = α(t) Until Κάποιο κριτήριο σταματήματος να ικανοποιηθεί Γενετικοί Αλγόριθμοι Εισαγωγή Οι Γενετικοί Αλγόριθμοι (ΓΑ) είναι μέρος των εξελικτικών αλγορίθμων οι οποίοι είναι μια ταχέως εξελισσόμενη περιοχή της Τεχνητής Νοημοσύνης. Οι γενετικοί αλγόριθμοι είναι γενικής χρήσης αλγόριθμοι αναζήτησης που βασίζονται στις αρχές της εξέλιξης που παρατηρούνται στη φύση και γίνονται όλο και περισσότερο γνωστοί χάριν της ικανότητάς τους να λύνουν δύσκολα προβλήματα. Ο πρώτος Γενετικός Αλγόριθμος (ΓΑ) αναπτύχθηκε από τον John H. Holland την δεκαετία του 1960, για να δώσει τη δυνατότητα στους ηλεκτρονικούς υπολογιστές να παράγουν λύσεις σε δύσκολα προβλήματα αναζήτησης και συνδυαστικής βελτιστοποίησης, όπως η ελαχιστοποίηση συναρτήσεων και η μηχανική μάθηση. Οι γενετικοί αλγόριθμοι είναι μια προσπάθεια να προσομοιωθεί η διαδικασία της φυσικής επιλογής σε μια διαδικασία αναζήτησης. Στη φύση, οι οργανισμοί έχουν συγκεκριμένα χαρακτηριστικά που επιδρούν στην ικανότητά τους να επιβιώνουν και να αναπαράγονται. Κάποιες επιφυλάξεις δημιουργεί το γεγονός Πανεπιστήμιο Πατρών 62
63 ότι οι Γενετικοί Αλγόριθμοι δεν έχουν αναλυθεί πλήρως μαθηματικά, μέχρι αυτή την στιγμή τουλάχιστον (Μπεληγιάννης, 2002) Βιολογικό Υπόβαθρο Κάθε ζωντανός οργανισμός αποτελείται από κύτταρα. Σε κάθε κύτταρο υπάρχει ο ίδιος αριθμός από χρωμοσώματα. Τα χρωμοσώματα είναι συμβολοσειρές του DNA και χρησιμεύουν σαν ένα μοντέλο ολόκληρου του οργανισμού. Ένα χρωμόσωμα αποτελείται από γονίδια, τμήματα του DNA, που το καθένα έχει τη δική του θέση και κωδικοποιεί ένα κληρονομικό χαρακτηριστικό, για παράδειγμα το χρώμα των ματιών. Κατά την αναπαραγωγή πρώτα πραγματοποιείται η Διασταύρωση (Crossover) των γονιδίων. Γονίδια των γονέων σχηματίζουν με τον ίδιο τρόπο το νέο χρωμόσωμα. Οι νέοι απόγονοι μπορεί να έχουν υποστεί Μετάλλαξη (Mutation), κατά την οποία κάποιο στοιχείο του DNA έχει αλλάξει κατά ένα δυαδικό ψηφίο που οφείλεται σε λάθος αντιγραφή των γονιδίων από τους γονείς. Στην πραγματικότητα, δεν είναι πολύ γνωστοί οι ακριβείς μηχανισμοί για τη φυσική αναπαραγωγή, αλλά κάποιες όψεις τους. Οι παρακάτω ιδιότητες ωστόσο, είναι κοινά αποδεκτές: Η εξέλιξη είναι μια διαδικασία η οποία λειτουργεί πάνω σε χρωμοσώματα αντί στους ίδιους τους ζωντανούς οργανισμούς που αναπαριστούν. Η φυσική Επιλογή είναι μια σχέση μεταξύ των χρωμοσωμάτων και της αναπαράστασης των κωδικοποιημένων χαρακτηριστικών τους. Η διαδικασία της φυσικής Επιλογής εξασφαλίζει τα χρωμοσώματα τα οποία αναπαριστούν μια καλή σύνθεση να αναπαράγονται πιο συχνά από κάποια άλλα. Πανεπιστήμιο Πατρών 63
64 Η Εξέλιξη εμφανίζεται κατά την αναπαραγωγή. Η Μετάλλαξη, ίσως και να είναι ο λόγος που τα χρωμοσώματα των παιδιών μερικές φορές διαφέρουν από αυτά των γονέων τους σε κάποια μέρη. Τα χρωμοσώματα των γονέων λοιπόν, συνδυάζονται με συγκεκριμένο τρόπο για να δημιουργήσουν τα νέα, διαφορετικά χρωμοσώματα των παιδιών τους. Η βιολογική εξέλιξη δεν έχει μνήμη. Ότι είναι γνωστό για τις ατομικότητες και τον τρόπο που δρουν μέσα στο περιβάλλον τους, είναι αποθηκευμένα σε ένα σύνολο χρωμοσωμάτων και στον τρόπο που τα χρωμοσώματα αυτά είναι κωδικοποιημένα. Οι ιδιότητες αυτές είναι ο λόγος που ο John Holland άρχισε να μελετά τους υπολογιστικούς αλγόριθμους, βασισμένος σε αυτήν την αρχή. Έγραψε αλγόριθμους που μπορούσαν να αναπαράγουν χρωμοσώματα, αναπαριστάμενα με δυαδικές συμβολοσειρές από 1 και 0. Ακριβώς όπως στη φύση. Αυτές τις συμβολοσειρές τις διαχειριζόταν επιδέξια με σκοπό να γίνουν ένα καλό χρωμόσωμα. Ωστόσο, δεν γνώριζε τίποτα συγκεκριμένο σχετικά με το πρόβλημα που θα μπορούσαν αυτές να λύσουν. Η βασική ιδέα που κρύβεται πίσω από τους Γενετικούς Αλγόριθμους (ΓA) είναι η μίμηση των μηχανισμών της φύσης. Ας πάρουμε, για παράδειγμα, τους λαγούς και πώς αναπαράγονται και εξελίσσονται από γενιά σε γενιά. Έστω ότι αρχίζουμε να παρατηρούμε ένα συγκεκριμένο πληθυσμό από λαγούς. Όπως είναι φυσικό, κάποιοι από αυτούς θα είναι πιο γρήγοροι και πιο εύστροφοι από τους άλλους. Αυτοί οι γρηγορότεροι και εξυπνότεροι λαγοί έχουν λιγότερες πιθανότητες να αποτελέσουν γεύμα κάποιας αλεπούς και, άρα από τη στιγμή που καταφέρνουν να επιβιώσουν θα ασχοληθούν με την αναπαραγωγή του είδους τους. Φυσικά, θα υπάρχει και ένας μικρός αριθμός αργών και λιγότερο εύστροφων λαγών, που θα καταφέρουν να επιβιώσουν μόνο και μόνο επειδή στάθηκαν τυχεροί. Όλοι αυτοί οι λαγοί, που έχουν καταφέρει να επιβιώσουν, θα αρχίσουν την παραγωγή της επόμενης γενιάς τους, μιας γενιάς που θα συνδυάζει όλα τα χαρακτηριστικά των Πανεπιστήμιο Πατρών 64
65 μελών της προηγούμενης, συνδυασμένα με διάφορους τρόπους μεταξύ τους. Έτσι, μερικοί αργοί λαγοί θα αναμειχθούν με κάποιους γρήγορους, κάποιοι γρήγοροι με άλλους γρήγορους, κάποιοι εύστροφοι λαγοί με κάποιους μη εύστροφους και ούτω καθεξής. Οι μικροί λαγοί της επόμενης γενιάς θα είναι, κατά μέσο όρο, γρηγορότεροι και εξυπνότεροι από τους προγόνους τους, αφού από την προηγούμενη γενιά επιβίωσαν περισσότεροι γρήγοροι και έξυπνοι λαγοί. Ευτυχώς, για τη διατήρηση της φυσικής ισορροπίας, και οι αλεπούδες υφίστανται την ίδια διαδικασία αναπαραγωγής, διαφορετικά οι λαγοί θα γινόντουσαν υπερβολικά γρήγοροι και έξυπνοι για να μπορούν να τους πιάσουν (Λυκοθανάσης. 2001). Οι ΓΑ χαρακτηρίζονται από την απλότητα και την κομψότητά τους ως ισχυροί αλγόριθμοι αναζήτησης, καθώς επίσης και από τη δύναμή τους να ανακαλύπτουν γρήγορα τις καλές λύσεις δύσκολων, μεγάλης διάστασης προβλημάτων. Οι ΓΑ είναι χρήσιμοι και αποδοτικοί όταν: Το διάστημα αναζήτησης είναι μεγάλο, σύνθετο ή ανεπαρκώς κατανοητό Η γνώση της περιοχής αναζήτησης είναι λιγοστή ή η ειδική γνώση που υπάρχει είναι δύσκολο να κωδικοποιηθεί ώστε, να περιοριστεί στο διάστημα αναζήτησης Καμία μαθηματική ανάλυση δεν είναι διαθέσιμη Οι παραδοσιακές μέθοδοι αναζήτησης αποτυγχάνουν Οι γενετικοί αλγόριθμοι δεν επιλύουν το πρόβλημα με αναλυτικό/ μαθηματικό τρόπο αλλά με βιολογικό. Συνεπώς έχουν μεγαλύτερη ενδογενή ευελιξία και ελευθερία να επιλέγουν μια επιθυμητή βέλτιστη λύση σύμφωνα με τις προδιαγραφές του προβλήματος. Ουσιαστικά οι γενετικοί αλγόριθμοι είναι αλγόριθμοι αναζήτησης που προσπαθούν να αναζητήσουν την λύση του προβλήματος που τους αναθέτουμε Η λύση σε ένα πρόβλημα καλείται χρωμόσωμα. Ένα χρωμόσωμα αποτελείται από μια συλλογή γονιδίων που είναι απλά οι παράμετροι που Πανεπιστήμιο Πατρών 65
66 βελτιστοποιούνται. Ένας ΓΑ δημιουργεί έναν αρχικό πληθυσμό (μια συλλογή χρωμοσωμάτων), αξιολογεί αυτόν τον πληθυσμό, κατόπιν εξελίσσει τον πληθυσμό μέσω των πολλαπλών γενεών στην αναζήτηση μιας καλής λύσης για το πρόβλημα. Όπως περιγράφεται στο βιβλίο του Davis (Davis, 1987), ένας γενετικός αλγόριθμος έχει πέντε βασικά στοιχεία: 1. ένα μέσο κωδικοποίησης των λύσεων για το πρόβλημα με τη μορφή ενός χρωμοσώματος 2. μία συνάρτηση που αξιολογεί την καταλληλότητα της λύσης 3. ένα μέσο για τη δημιουργία ενός αρχικού πληθυσμού λύσεων 4. αναπαραγωγικούς τελεστές για τις κωδικοποιημένες λύσεις 5. κατάλληλες ρυθμίσεις για τις παραμέτρους ελέγχου του γενετικού αλγορίθμου Σε όλους εκτός από τους πιο απλούς οργανισμούς αυτά τα χαρακτηριστικά αναπαριστώνται σε μεγάλες συμβολοσειρές πληροφορίας που περιέχονται στα χρωμοσώματα. Στη φυσική αναπαραγωγή, τα χρωμοσώματα του απογόνου αποτελούνται από ένα συνδυασμό της χρωμοσωμικής πληροφορίας κάθε προγόνου. Η διαδικασία της φυσικής επιλογής λέει ότι οι πιο «κατάλληλοι» από τους οργανισμούς του είδους έχουν την ευκαιρία να ζευγαρώνουν περισσότερο. Αυτό οδηγεί στην προσδοκία ότι ο απόγονος θα έχει πολύ καλή πιθανότητα να είναι ο πλέον κατάλληλος. Έτσι, σε αντίθεση με τους περισσότερους ευρετικούς αλγορίθμους, οι ΓΑ κατά τη διάρκεια της αναζήτησης μιας καλύτερης λύσης χρησιμοποιούν πληροφορίες από ένα πληθυσμό λύσεων, που ονομάζονται άτομα (individuals). Ένας ΓΑ είναι μια στοχαστική επαναληπτική διαδικασία που διατηρεί το μέγεθος του πληθυσμού σταθερό σε κάθε επανάληψη, η οποία ονομάζεται γενιά (generation). Η βασικ ή τους λειτουργία είναι το ταίριασμα δύο λύσεων με στόχο να δημιουργηθεί μια νέα λύση. Για να δημιουργηθεί μια νέα λύση εφαρμόζονται δύο τελεστές, ένας δυαδικός τελεστής που ονομάζεται διασταύρωση (crossover), και ένας μοναδιαίος τελεστής που ονομάζεται μετάλλαξη (mutation). Η διασταύρωση παίρνει δύο άτομα που ονομάζονται γονείς (parents) και παράγει με την ανταλλαγή Πανεπιστήμιο Πατρών 66
67 τμημάτων των γονέων δύο νέα άτομα που ονομάζονται απόγονοι (offsprings). Κάθε άτομο στον πληθυσμό αντιπροσωπεύει μια υποψήφια λύση του προς επίλυση προβλήματος. Περιστασιακά, μεταλλάξεις μπορεί να προκύψουν που μπορεί να έχουν ως αποτέλεσμα δραστικές αλλαγές στα χαρακτηριστικά ενός οργανισμού. Κάποιες φορές αυτές οι τυχαίες αλλαγές μπορεί να είναι καθοριστικές στην ικανότητα του οργανισμού να επιβιώσει ή να αναπαραχθεί. Άλλες φορές, οι αλλαγές μπορεί να βελτιώνουν την καταλληλότητα του οργανισμού ή και να μην προκαλούν ουσιαστικές διαφορές. Χωρίς μεταλλάξεις, ο πληθυσμός τείνει να συγκλίνει σε μια ομογενή κατάσταση στην οποία κάθε άτομο ενός είδους να διαφέρει πολύ λίγο από τα υπόλοιπα άτομα του είδους. Μπορεί κανείς να σκεφτεί τη διαδικασία της φυσικής επιλογής ενός τυχαία επιλεγμένου πληθυσμού ατόμων, ή καλύτερα χρωμοσωμάτων, σαν μια αναζήτηση στο χώρο των χρωμοσωμικών τιμών. Επιπλέον, η αναζήτηση γίνεται παράλληλα κάθε γενιά παρέχει άτομα για ζευγάρωμα έχοντας σαν αποτέλεσμα έναν πιθανότατα ισχυρότερο πληθυσμό. Αυτά τα χαρακτηριστικά της φυσικής επιλογής κάνουν τους γενετικούς αλγορίθμους κατάλληλους για μεγάλα προβλήματα αναζήτησης που έχουν μικρή ή καθόλου τοπικότητα Περιγραφή του Γενετικού Αλγόριθμου Ο Γενετικός Αλγόριθμος ξεκινά με ένα σύνολο λύσεων (τις λύσεις αναπαριστούν τα χρωμοσώματα) που καλείται πληθυσμός. Το πρώτο και ίσως το πιο σημαντικό βήμα στην εφαρμογή ενός ΓΑ είναι να επιλεγεί ο τρόπος αναπαράστασης για τη λύση στο πρόβλημα ως μια συμβολοσειρά πεπερασμένου μήκους σε ένα πεπερασμένο αλφάβητο. Η κωδικοποίηση θα πρέπει να είναι ικανή να αναπαριστά όλες τις πραγματικά σχετικές παραμέτρους. Κάποια γνώση του χώρου αναζήτησης είναι αναπόφευκτη (Boulos et al., 2010). Το χρωμόσωμα έπειτα, θα έχει όλες τις απαραίτητες πληροφορίες σχετικά με το ιδιαίτερο άτομο που εκπροσωπεί, δηλαδή θα αποτελείται από πληροφορίες σχετικές με τη λύση που αναπαριστά. Υπάρχουν διάφοροι τρόποι να κωδικοποιηθούν οι παράμετροι σε ένα χρωμόσωμα. Αν και η κλασσική δυαδική Πανεπιστήμιο Πατρών 67
68 αναπαράσταση είναι ευρέως διαδεδομένη, χρησιμοποιούνται και άλλων ειδών δυαδικές αναπαραστάσεις, όπως η κωδικοποίηση Gray με σκοπό την βελτίωση της απόδοσης των αλγορίθμων. Φυσικά, υπάρχουν και άλλων ειδών αναπαραστάσεις, όπως η Messy αναπαράσταση (Goldberg, 1989), η Αναπαράσταση Αριθμών Κινητής Υποδιαστολής (Deb 1991), η Αναπαράσταση Αναδιατάξεων (Goldberg 1989), η Αναπαράσταση σε Διανύσματα Πραγματικών Αριθμών και η Δενδρική Αναπαράσταση, καθεμία από τις οποίες χρησιμοποιείται σε αντίστοιχα προβλήματα, όπου η δυαδική αναπαράσταση δεν επαρκεί για την πλήρη και αποτελεσματική περιγραφή των ατόμων. Βέβαια, υπάρχουν πάρα πολλές ακόμα, οι οποίες εξαρτώνται κυρίως από το πρόβλημα που πρόκειται να επιλυθεί. Ο Goldberg έδωσε δύο βασικές αρχές για επιλογή κωδικοποίησης σε ένα γενετικό αλγόριθμο (Goldberg, 1989). H πρώτη αναφέρεται στα είδη των συμβόλων που χρησιμοποιούνται στην αναπαράσταση της πληροφορίας που περιέχεται στο χρωμόσωμα: Σύμφωνα με την αρχή της ελάχιστης αλφαβήτου, ο Goldberg υποδεικνύει: «Επέλεξε τη μικρότερη αλφάβητο που επιτρέπει μια φυσική έκφραση του προβλήματος». Αυτό θα προωθούσε τη χρήση μιας δυαδικής κωδικοποίησης απέναντι σε μια κωδικοποίηση βασισμένη στα γράμματα του αλφαβήτου στην οποία χρησιμοποιείται ένα σύνολο ποικίλων συμβόλων. Η δεύτερη αρχή του Goldberg δίνει συστάσεις για το μέγεθος των σχημάτων και προτείνει να επιλέγεται κωδικοποίηση τέτοια ώστε τα μικρής τάξης σχήματα, με μικρό αριθμό συμβόλων-σχημάτων, να είναι σχετικά με το κυρίως πρόβλημα και να μη σχετίζονται όσο γίνεται με τα σχήματα στις άλλες σταθερές θέσεις. Αυτή η αρχή επισημαίνει ότι όταν μια σειρά από δυαδικά ψηφία πληροφορίας στο χρωμόσωμα είναι στενά συνδεδεμένα μεταξύ τους, θα πρέπει να είναι λίγα στον αριθμό και να είναι τοποθετημένα όσο το δυνατό πιο κοντά. Αυτό μειώνει την πιθανότητα να διαχωριστούν από το ζευγάρωμα/διασταύρωση, όπου δύο χρωμοσώματα ανταλλάσσουν μέρος του γενετικού τους υλικού. Παρ όλο που η αυστηρή τήρηση της δεύτερης αρχής είναι δύσκολη, πρέπει να ακολουθείται όσο είναι δυνατό. Αν δεν ακολουθείται καθόλου, η απόδοση της αναζήτησης ενός ΓΑ μπορεί να μειωθεί τόσο, ώστε να είναι παρόμοια με αυτή της τυχαίας αναζήτησης. Πανεπιστήμιο Πατρών 68
69 Επιλογή Κάποια χρωμοσώματα από τον πρώτο πληθυσμό λαμβάνονται για να παράγουν τον επόμενο πληθυσμό, με την ελπίδα να είναι καλύτερός του. Συνήθως το μέγεθος του πληθυσμού παραμένει σταθερό για ευκολία. Το πρώτο βήμα είναι η ανάθεση μιας τιμής καταλληλότητας. Κάθε άτομο λαμβάνει μια πιθανότητα αναπαραγωγής ανάλογα με την αντικειμενική του αξία (τιμή καταλληλότητας) και την αντικειμενική αξία όλων των άλλων ατόμων. Αυτή η ικανότητα κατόπιν, χρησιμοποιείται για το πραγματικό βήμα επιλογής. Ο τελεστής Επιλογής υλοποιείται σαν μια σταθμισμένη επιλογή, αφού τα χρωμοσώματα με μεγαλύτερή απόδοση έχουν μεγαλύτερη ευκαιρία να επιλεγούν. Τα καλύτερα δηλαδή, θα πρέπει να επιζήσουν και να δημιουργήσουν απογόνους. Είναι λοιπόν δυνατόν, ένα χρωμόσωμα να επιλεγεί περισσότερες της μιας φοράς ή και καθόλου. Η επιλογή των χρωμοσωμάτων (γονείς) που θα ζευγαρώσουν για να παράγουν νέα χρωμοσώματα (απογόνους) γίνεται με χρήση ενός κατάλληλου τελεστή επιλογής. Η διαδικασία της επιλογής ωθείται προς τα καταλληλότερα χρωμοσώματα. Χρησιμοποιούνται μέθοδοι επιλογής σαν μηχανισμοί για επικέντρωση της αναζήτησης σε ποιο «προσοδοφόρες» περιοχές του χώρου αναζήτησης. Γνωστά παραδείγματα προσεγγίσεων επιλογής είναι τα εξής: 1. Επιλογή ρουλέτας (roulette wheel selection): Τα χρωμοσώματα-γονείς επιλέγονται πιθανοτικά με βάση την καταλληλότητά τους. Το πιο κατάλληλο χρωμόσωμα έχει μεγαλύτερη πιθανότητα να εκλεγεί για ζευγάρωμα απ ότι τα υπόλοιπα χρωμοσώματα. 2. Επιλογή σειράς: Η επιλογή ρουλέτας έχει το μειονέκτημα ότι τα πολύ κατάλληλα άτομα μπορεί να κυριαρχήσουν ολοκληρωτικά τη διαδικασία επιλογής. Όταν ένα ή περισσότερα χρωμοσώματα έχουν πολύ υψηλές τιμές καταλληλότητας συγκρινόμενα με τα άλλα χρωμοσώματα, τα Πανεπιστήμιο Πατρών 69
70 χρωμοσώματα με χαμηλή καταλληλότητα έχουν πολύ μικρή πιθανότητα να επιλεγούν. Αυτό οδηγεί σε μείωση της διαφοροποίησης πολύ γρήγορα και θα έχει ως αποτέλεσμα πρόωρη σύγκλιση. Για το λόγο αυτό, η επιλογή σειράς ταξινομεί τα χρωμοσώματα σύμφωνα με την καταλληλότητά τους και βασίζει την επιλογή στη σειρά των χρωμοσωμάτων και όχι στις απόλυτες τιμές καταλληλότητας. Το χειρότερο χρωμόσωμα έχει σειρά 1, το δεύτερο χειρότερο σειρά 2 κ.ο.κ. Η σειρά επιλογής εξακολουθεί να προτιμά τα καλύτερα χρωμοσώματα, αλλά δεν υπάρχει κυριαρχία όπως στην περίπτωση της επιλογής ρουλέτας. 3. Επιλογή σε γύρους (tournament): Σε αυτή την προσέγγιση, μια ομάδα χρωμοσωμάτων επιλέγονται τυχαία. Το καταλληλότερο χρωμόσωμα της ομάδας τοποθετείται σε μια «τράπεζα» ζευγαρώματος. Αυτή η διαδικασίας επαναλαμβάνεται μέχρι η «τράπεζα» να περιέχει αρκετό αριθμό χρωμοσωμάτων για να ξεκινήσει η διαδικασία ζευγαρώματος. 4. Ελιτισμός: Σε αυτήν την προσέγγιση, το καταλληλότερο χρωμόσωμα ή ένας αριθμός χρωμοσωμάτων καθορισμένος από το χρήστη, αντιγράφεται σε ένα νέο πληθυσμό. Τα εναπομείναντα χρωμοσώματα επιλέγονται με τη χρήση οποιουδήποτε άλλου τελεστή επιλογής. Από τη στιγμή που η καλύτερη λύση δε χάνεται ποτέ, η απόδοση του ΓΑ μπορεί να βελτιωθεί σημαντικά (Deb, 1999). Οι λύσεις χρωμοσώματα που επιλέγονται για να σχηματίσουν τις νέες λύσεις (απογόνους), επιλέγονται σύμφωνα με την απόδοσή τους, όσο πιο κατάλληλα είναι, τόσο μεγαλύτερη ελπίδα έχουν να αναπαραχθούν. Η παραπάνω διαδικασία επαναλαμβάνεται μέχρις ότου κάποια συνθήκη ικανοποιηθεί (όπως για Πανεπιστήμιο Πατρών 70
71 παράδειγμα ένας αριθμός γενεών ή η εύρεση της βέλτιστης λύσης) Κατά τη διάρκεια της γενιάς t, ο γενετικός αλγόριθμος διατηρεί ένα πληθυσμό P(t) από n πιθανές λύσεις (άτομα): P(t)={x1t,.,xnt}. Κάθε άτομο xit αποτιμάται και δίνει ένα μέτρο της καταλληλότητας και ορθότητάς του. Αφού ολοκληρωθεί η αποτίμηση όλων των μελών του πληθυσμού, δημιουργείται ένας νέος πληθυσμός (γενιά t+1) που προκύπτει από την επιλογή των πιο κατάλληλων στοιχείων του πληθυσμού της προηγούμενης γενιάς. Μερικά μέλη από τον καινούργιο αυτό πληθυσμό υφίστανται αλλαγές με τη βοήθεια των γενετικών διαδικασιών της διασταύρωσης και της μετάλλαξης σχηματίζοντας νέες πιθανές λύσεις Ο Τελεστής Διασταύρωσης (Crossover Operator) Είναι ένας επίσης, σημαντικός μηχανισμός του ΓΑ. Θα δημιουργηθούν δύο νέα άτομα για τη νέα γενιά, μέσω κάποιου συνδυασμού δύο ατόμων της προηγούμενης γενιάς. Οι μέθοδοι που χρησιμοποιούνται για την διασταύρωση των χρωμοσωμάτων εξαρτώνται σε μεγάλο βαθμό από την κωδικοποίηση αυτών. Έτσι, για αναπαραστάσεις σε πραγματικούς αριθμούς ή σε σύμβολα χρησιμοποιούνται διαφορετικοί μηχανισμοί διασταύρωσης από αυτούς σε αναπαραστάσεις σε δυαδικές συμβολοσειρές. Μερικές από αυτές τις μεθόδους είναι η Διακριτή Διασταύρωση (Discrete Recombination), η Διασταύρωση Γραμμών (Line Recombination), η Διασταύρωση Ενός Σημείου (One Point Crossover), η Πολυσημειακή Διασταύρωση (Multi Point Crossover) και η Ομοιόμορφη Διασταύρωση (Uniform Crossover). Η διασταύρωση συνδυάζει τα στοιχεία των χρωμοσωμάτων δύο γονέων για να δημιουργήσει δύο νέους απογόνους ανταλλάσσοντας κομμάτια από τους γονείς. Η διασταύρωση είναι ο βασικός παράγοντας εξερεύνησης στους ΓΑ. Συμβαίνει με μια πιθανότητα που ορίζεται από το χρήστη, την πιθανότητα διασταύρωσης p c, η οποία εξαρτάται από το πρόβλημα και έχει τυπικές τιμές που κυμαίνονται από 0.4 έως 0.8. Οι πιο βασικοί τελεστές διασταύρωσης είναι οι εξής: Πανεπιστήμιο Πατρών 71
72 1. Διασταύρωση ενός σημείου: Σε αυτήν την προσέγγιση, επιλέγεται μια θέση τυχαία στην οποία οι γονείς χωρίζονται σε δύο μέρη. Τα μέρη των δύο γονιών ανταλλάσσονται και δημιουργούνται δύο απόγονοι. 2. Διασταύρωση δύο σημείων: Σε αυτήν την προσέγγιση επιλέγονται τυχαία δύο θέσεις. Τα μεσαία μέρη των δύο γονιών ανταλλάσσονται και δημιουργούνται δύο απόγονοι 3. Ενιαία διασταύρωση: Σε αυτήν την προσέγγιση, κομμάτια αντιγράφονται είτε από τον πρώτο γονιό είτε από το δεύτερο με την ίδια πιθανότητα. Διαισθητικά μπορούμε να πούμε ότι η διασταύρωση εξυπηρετεί την ανταλλαγή πληροφοριών μεταξύ διαφορετικών πιθανών λύσεων Ο Τελεστής Μετάλλαξης (Mutation Operator) Ο μηχανισμός της Μετάλλαξης εφαρμόζεται στους απογόνους ακριβώς μετά τη Διασταύρωση. Ο τελεστής αυτός εμποδίζει στην πραγματικότητα, να πέσουν όλες οι λύσεις του πληθυσμού σε κάποιο τοπικό βέλτιστο του προβλήματος που επιλύεται, καθώς αποτρέπει τη στασιμότητα του ΓΑ. Κατά την Μετάλλαξη αλλάζει τυχαία κάποιος απόγονος με μια μικρή πιθανότητα. Η πιθανότητα αυτή καλείται Πιθανότητα Μετάλλαξης και είναι αντιστρόφως ανάλογη προς τον αριθμό των μεταβλητών (διαστάσεις). Σε ένα ΓΑ με δυαδική κωδικοποίηση, η μετάλλαξη γίνεται αντιστρέφοντας την τιμή κάθε γονιδίου στο χρωμόσωμα σύμφωνα με μια πιθανότητα που καθορίζεται από το χρήστη και ονομάζεται πιθανότητα μετάλλαξης p m. Αυτή η πιθανότητα είναι ανεξάρτητη από το πρόβλημα. Μια πιθανότητα που προτείνεται είναι το αντίστροφο του αριθμού των γονιδίων σε ένα χρωμόσωμα. Όσο περισσότερες είναι οι διαστάσεις ενός ατόμου τόσο μικρότερη είναι η Πιθανότητα Μετάλλαξης. Η διαδικασία της μετάλλαξης αλλάζει αυθαίρετα ένα ή περισσότερα γονίδια ενός συγκεκριμένου χρωμοσώματος. Πραγματοποιείται με τυχαία αλλαγή γονιδίων με πιθανότητα ίση με το ρυθμό μετάλλαξης (mutation Πανεπιστήμιο Πατρών 72
73 rate). Διαισθητικά μπορούμε να πούμε ότι η μετάλλαξη εξυπηρετεί την εισαγωγή νέων πιθανών λύσεων, διαφορετικών από τις υπάρχουσες, στον ήδη υπάρχοντα πληθυσμό Επιβίωση Μόλις παραχθεί ο απόγονος από την επιλογή, τη διασταύρωση και τη μετάλλαξη των ατόμων από τον παλαιό πληθυσμό, μπορεί να καθοριστεί η καταλληλότητά του. Εάν στο νέο πληθυσμό παραχθούν λιγότεροι απόγονοι από το μέγεθος του αρχικού πληθυσμού για να διατηρηθεί το μέγεθος του πληθυσμού, κάποιος απόγονος πρέπει να επανεισαχθεί στο νέο πληθυσμό. Ομοίως, εάν δεν πρόκειται να χρησιμοποιηθούν όλοι οι απόγονοι σε κάθε γενεά ή εάν ο αριθμός των απογόνων στο νέο πληθυσμό είναι μεγαλύτερος από το μέγεθος του παλαιού πληθυσμού, πρέπει να χρησιμοποιηθεί ένα Σχήμα Επιβίωσης το οποίο θα καθορίσει ποια άτομα πρόκειται να επιβιώσουν στο νέο πληθυσμό Τα κριτήρια Τερματισμού ενός Γενετικού Αλγορίθμου Το κριτήριο τερματισμού καθορίζει το εάν ο γενετικός αλγόριθμος θα συνεχίσει ή θα σταματήσει την αναζήτηση. Κάθε ένα από τα κριτήρια τερματισμού ελέγχεται μετά από κάθε γενεά για να δει αν πρέπει να σταματήσει ο αλγόριθμος την εκτέλεσή του. Αριθμός Γενεών Ένα κριτήριο τερματισμού που σταματά την εξέλιξη όταν ολοκληρωθεί ο, καθορισμένος από το χρήστη, ανώτατος αριθμός γενεών. Αυτή η μέθοδος λήξης είναι πάντα ενεργή. Χρόνος εξέλιξης Ένα κριτήριο τερματισμού που σταματά την εξέλιξη όταν υπερβεί η παρερχόμενη περίοδος εξέλιξης, τον καθορισμένο από το χρήστη ανώτατο χρόνο εξέλιξης. Εξ ορισμού, την εξέλιξη δεν σταματά έως ότου να έχει ολοκληρωθεί η Πανεπιστήμιο Πατρών 73
74 εξέλιξη της τρέχουσας γενιάς, αλλά αυτή η συμπεριφορά μπορεί να αλλάξει, έτσι ώστε να σταματά η εξέλιξη ακόμα και στη μέση μιας γενιάς. Κατώτατο όριο απόδοσης Ένα κριτήριο τερματισμού που σταματά την εξέλιξη, όταν η τιμή του καλύτερου ικανότερου ατόμου στον τρέχοντα πληθυσμό γίνεται μικρότερη από το, καθορισμένο από το χρήστη, κατώτατο όριο απόδοσης. Αυτό το κριτήριο τερματισμού σταματά επίσης την εξέλιξη, όταν η καλύτερη απόδοση στον τρέχοντα πληθυσμό γίνεται μεγαλύτερη από το, καθορισμένο από το χρήστη, ανώτατο όριο απόδοσης, όταν ο στόχος είναι να μεγιστοποιηθεί η ικανότητα. Σύγκλιση πληθυσμού Ένα κριτήριο τερματισμού που σταματά την εξέλιξη όταν κρίνεται ότι ο πληθυσμός συγκλίνει. Ο πληθυσμός κρίνεται ότι συγκλίνει, όταν η μέση απόδοση σε ολόκληρο τον τρέχοντα πληθυσμό είναι μικρότερη από ένα, καθορισμένο από το χρήστη, ποσοστό καλύτερης απόδοσης τρέχοντος πληθυσμού Σύγκλιση γονιδίων Ένα κριτήριο τερματισμού που σταματά την εξέλιξη όταν ένα, καθορισμένο από το χρήστη, ποσοστό γονιδίων που αποτελούν ένα χρωμόσωμα, κρίνεται πως συγκλίνει. Ένα γονίδιο κρίνεται ότι συγκλίνει όταν η μέση απόδοση εκείνου του γονιδίου σε όλα τα χρωμοσώματα του τρέχοντος πληθυσμού είναι μικρότερη από ένα, καθορισμένο από το χρήστη, ποσοστό της μέγιστης απόδοσης των γονιδίων στα χρωμοσώματα. Αλγόριθμος Η διαδικασία ενός ΓΑ Διαδικασία ΓΑ ΑΡΧΗ Γενιά t=0; Πανεπιστήμιο Πατρών 74
75 Αρχικοποίηση πληθυσμού P(t) Αξιολόγηση πληθυσμού ( P(t) ) ΟΣΟ (ΟΧΙ Συνθήκη Τερματισμού ( P(t) ) ) κάνε t=t+1 subp(t)=επιλογή ( P(t) ) Διασταύρωση (subp(t) ) Μετάλλαξη (subp(t)) P(t+1)=Ανασυνδυασμός (P(t), P(t+1)) ΤΕΛΟΣ ΟΣΟ ΤΕΛΟΣ ΓΑ Μαθηματικός μηχανισμός των ΓΑ Οι γενετικοί Αλγόριθμοι ασχολούνται και δρουν πολύ καλά στο πεδίο των προβλημάτων βελτιστοποίησης, καθώς εκτείνονται και σε άλλου είδους προβλήματα. Γενικά, βασίζονται στη μέθοδο του τυχαίου ψαξίματος με τη μόνη διαφορά ότι το χάσιμο χρόνου μέχρι να βρεθεί η λύση μπορεί να αποφευχθεί χρησιμοποιώντας μεθόδους βασισμένες στην βιολογία. Οι μέθοδοι αυτές, αποκαλύφθηκαν κατά την εξέταση της εξέλιξης και της καταγωγής των ειδών. Όπως είναι γνωστό, μόνο τα πιο κατάλληλα άτομα επιζούν κατά την διαδικασία της αναπαραγωγής. Με αυτόν τον τρόπο δημιουργείται και η αντικειμενική συνάρτηση αποτίμησης του πληθυσμού, η οποία του επιτρέπει να επιβιώνει σε ένα μεταβαλλόμενο περιβάλλον. Ο χώρος των εφικτών λύσεων (δηλαδή των αντικειμένων μεταξύ των οποίων βρίσκεται η επιθυμητή λύση) καλείται Χώρος Αναζήτησης (ή Χώρος Καταστάσεων). Κάθε σημείο του παριστάνει μια εφικτή λύση, η οποία μπορεί να χαρακτηριστεί από μια τιμή ή την τιμή της στην αντικειμενική συνάρτηση του προβλήματος. Καθώς συγκρίνεται ένας ΓΑ με άλλους παραδοσιακούς αλγορίθμους βελτιστοποίησης παρατηρούνται οι εξής διαφορές: Πανεπιστήμιο Πατρών 75
76 Οι ΓΑ δουλεύουν με κωδικοποιημένες τις παραμέτρους Δεν ψάχνουν από ένα μονό-σημείο, αλλά από ένα πλήθος σημείων Χρησιμοποιούν πληροφορίες που οι ίδιοι παράγουν αντί εξωτερικά παραγόμενες ή βοηθητικές γνώσεις Είναι γνωστό ότι πολλά προβλήματα μπορούν να θεωρηθούν ως προβλήματα βελτιστοποίησης. Έστω λοιπόν, ένα πρόβλημα βελτιστοποίησης όπου πρέπει να βελτιστοποιηθεί ένα σύνολο μεταβλητών ή να μεγιστοποιηθεί ένας στόχος σαν το όφελος ή αλλιώς να ελαχιστοποιηθεί το κόστος ή κάποιο μέτρο λάθους. Γενικά, τα προβλήματα βελτιστοποίησης μπορούν να διατυπωθούν σαν μαθηματικά μοντέλα με πολλές ανεξάρτητες παραμέτρους που καταλήγουν σε μια συνάρτηση, την συνάρτηση αποτίμησης. Η συνάρτηση αυτή περιγράφει την «ποιότητα» του μοντέλου (ή των ατόμων) για το συγκεκριμένο σύνολο των παραμέτρων. Στη συνάρτηση αποτίμησης μπορούν να συμπεριληφθούν και να συναγωνίζονται όλων των ειδών οι απαιτήσεις του προβλήματος Πλεονεκτήματα Γενετικών Αλγορίθμων Η χρήση των ΓA σε διάφορες εφαρμογές είναι ελκυστική για αρκετούς λόγους. Οι κυριότεροι, είναι οι εξής: 1. Μπορούν να λύσουν δύσκολα προβλήματα γρήγορα και αξιόπιστα. Ένας από τους σημαντικούς λόγους χρήσης των ΓA είναι η μεγάλη τους αποδοτικότητα. Τόσο η θεωρία, όσο και η πράξη έχουν δείξει ότι προβλήματα που έχουν πολλές, δύσκολα προσδιορισμένες, λύσεις μπορούν να αντιμετωπιστούν καλύτερα από ΓA. Είναι δε αξιοσημείωτο ότι συναρτήσεις που παρουσιάζουν μεγάλες διακυμάνσεις και καθιστούν ανεπαρκείς άλλες μεθόδους στην εύρεση των ακρότατών τους, για τους ΓA αυτές οι διακυμάνσεις δεν αποτελούν σημεία δυσχέρειας. Πανεπιστήμιο Πατρών 76
77 2. Μπορούν εύκολα να συνεργαστούν με τα υπάρχοντα μοντέλα και συστήματα. Οι ΓA προσφέρουν το σημαντικό πλεονέκτημα της χρήσης τους με προσθετικό τρόπο στα μοντέλα που χρησιμοποιούνται σήμερα, μη απαιτώντας την επανασχεδίασή τους. Μπορούν εύκολα να συνεργαστούν με τον υπάρχοντα κώδικα, χωρίς μεγάλο κόπο. Αυτό συμβαίνει, διότι χρησιμοποιούν μόνο πληροφορίες της διαδικασίας ή συνάρτησης που πρόκειται να βελτιστοποιήσουν, δίχως να ενδιαφέρει άμεσα ο ρόλος της μέσα στο σύστημα ή η όλη δομή του συστήματος. 3. Είναι εύκολα επεκτάσιμοι και εξελίξιμοι. Οι ΓA δεν αντιστέκονται σε αλλαγές, επεκτάσεις και μετεξελίξεις, ανάλογα με την κρίση του σχεδιαστή. Σε πολλές εφαρμογές, έχουν αναφερθεί λειτουργίες των ΓA, που δεν είναι αντιγραμμένες από τη φύση ή που έχουν υποστεί σημαντικές αλλαγές, πάντα προς όφελος της απόδοσης. Παραλλαγές στο βασικό σχήμα δεν είναι απλά ανεκτές, αλλά σε ορισμένες περιπτώσεις επιβάλλονται. 4. Μπορούν να συμμετέχουν σε υβριδικές μορφές με άλλες μεθόδους. Αν και η ισχύς των ΓA είναι μεγάλη, σε μερικές ειδικές περιπτώσεις προβλημάτων, όπου άλλες μέθοδοι συμβαίνει να έχουν πολύ υψηλή αποδοτικότητα, λόγω εξειδίκευσης, υπάρχει η δυνατότητα χρησιμοποίησης ενός υβριδικού σχήματος ΓA με άλλη μέθοδο. Αυτό είναι αποτέλεσμα της μεγάλης ευελιξίας των ΓA. 5. Εφαρμόζονται σε πολύ περισσότερα πεδία από κάθε άλλη μέθοδο. Το χαρακτηριστικό, που τους εξασφαλίζει αυτό το πλεονέκτημα, είναι η ελευθερία επιλογής των κριτηρίων που καθορίζουν την επιλογή μέσα στο τεχνικό περιβάλλον. Έτσι, ΓA μπορούν να χρησιμοποιηθούν στην οικονομία, στο Πανεπιστήμιο Πατρών 77
78 σχεδιασμό μηχανών, στην επίλυση μαθηματικών εξισώσεων, στην εκπαίδευση Νευρωνικών Δικτύων και σε πολλούς άλλους τομείς. 6. Δεν απαιτούν περιορισμούς στις συναρτήσεις που επεξεργάζονται. Ο κύριος λόγος που καθιστά τις παραδοσιακές μεθόδους δύσκαμπτες και ακατάλληλες για πολλά προβλήματα είναι η απαίτησή τους για ύπαρξη περιορισμών, όπως ύπαρξη παραγώγων, συνέχεια, όχι «θορυβώδεις» συναρτήσεις κτλ. Τέτοιου είδους ιδιότητες είναι αδιάφορες για τους ΓA πράγμα που τους κάνει κατάλληλους για μεγάλο φάσμα προβλημάτων. 7. Δεν ενδιαφέρει η σημασία της υπό εξέταση πληροφορίας. Η μόνη επικοινωνία του ΓA με το περιβάλλον του είναι η αντικειμενική συνάρτηση. Αυτό εγγυάται την επιτυχία του ανεξάρτητα από τη σημασία του προβλήματος. Βέβαια αυτό δε σημαίνει ότι δεν υπάρχουν άλυτα προβλήματα για τους ΓA Όπου όμως, δεν τα καταφέρνουν, η αιτία είναι η φύση του χώρου που ερευνούν και όχι το πληροφοριακό περιεχόμενο του προβλήματος. 8. Έχουν από τη φύση τους το στοιχείο του παραλληλισμού. Οι ΓA σε κάθε τους βήμα επεξεργάζονται μεγάλες ποσότητες πληροφορίας, αφού κάθε άτομο θεωρείται αντιπρόσωπος πολλών άλλων. Έχει υπολογιστεί ότι η αναλογία αυτή είναι της τάξεως Ο(n 3 ), δηλαδή 10 άτομα αντιπροσωπεύουν περίπου Είναι, λοιπόν, προφανές ότι μπορούν να καλύψουν με αποδοτικό ψάξιμο μεγάλους χώρους σε μικρούς χρόνους. 9. Είναι η μόνη μέθοδος που κάνει ταυτόχρονα εξερεύνηση του χώρου αναζήτησης και εκμετάλλευση της ήδη επεξεργασμένης πληροφορίας. Ο συνδυασμός αυτός σπάνια Πανεπιστήμιο Πατρών 78
79 συναντάται σε οποιαδήποτε άλλη μέθοδο. Με το τυχαίο ψάξιμο γίνεται καλή εξερεύνηση του χώρου, αλλά δε γίνεται εκμετάλλευση της πληροφορίας. Αντίθετα, με κάποια μέθοδο αναζήτησης με μικρά άλματα στη συνάρτηση (π.χ. hill climbing) γίνεται καλή εκμετάλλευση της πληροφορίας, αλλά όχι καλή εξερεύνηση. Συνήθως τα δύο αυτά χαρακτηριστικά είναι ανταγωνιστικά και το επιθυμητό είναι να συνυπάρχουν και τα δύο προς όφελος της όλης διαδικασίας. Οι ΓA επιτυγχάνουν το βέλτιστο συνδυασμό εξερεύνησης και εκμετάλλευσης, πράγμα που τους κάνει ιδιαίτερα αποδοτικούς και ελκυστικούς. 10. Επιδέχονται παράλληλη υλοποίηση. Οι ΓA μπορούν να εκμεταλλευτούν τα πλεονεκτήματα των παράλληλων μηχανών, αφού λόγω της φύσης τους, εύκολα μπορούν να δεχτούν παράλληλη υλοποίηση. Το χαρακτηριστικό αυτό αυξάνει ακόμη περισσότερο την απόδοσή τους, ενώ σπάνια συναντάται σε άλλες ανταγωνιστικές μεθόδους Εφαρμογές Γενετικών Αλγορίθμων Στα πρώτα τους βήματα οι ΓΑ αποτέλεσαν αντικείμενο μελέτης και ανάπτυξης σε πανεπιστήμια και ερευνητικά κέντρα. Τα τελευταία χρόνια όμως, οι μεγάλες ανάγκες για δημιουργία αποδοτικών εφαρμογών στο χώρο της βελτιστοποίησης, σε συνδυασμό με την πολλά υποσχόμενη τεχνολογία των ΓΑ ώθησαν στη χρήση τους σε πολλές εφαρμογές ενός ευρύτατου φάσματος πεδίων με εντυπωσιακά αποτελέσματα. Σήμερα υπάρχουν και λειτουργούν με επιτυχία πολλά συστήματα βασισμένα σε ΓΑ σε τομείς όπως η Επεξεργασία Εικόνας (Image Processing), ο Computer Aided Design (CAD), η Οικονομία, οι Τηλεπικοινωνίες, η Τεχνολογία Λογισμικού (Software Engineering), ο Χρονοπρογραμματισμός (Scheduling), τα Γραφικά Υπολογιστών (Computer Graphics) και πολλοί άλλοι. Πανεπιστήμιο Πατρών 79
80 Βελτιστοποίηση με Αποικίες Μυρμηγκιών (Ant Algorithms) Ο πρώτος αλγόριθμος που αναπτύχθηκε από τον Dorigo ονομάζονταν Ant System (AS) (Dorigo et al., 1996). Αργότερα με την εξέλιξη του χώρου δημιουργήθηκε ο όρος Ant Colony Optimization ACO ο οποίος περιλαμβάνει όλους του αλγορίθμους (AS, Ant Colony System ACS, Max-Min Ant System MMAS, Continuous Ant Colony Optimization CACO, κτλ.) Η μέθοδος αυτή ανήκει στην κατηγορία των αλγορίθμων που εκμεταλλεύονται την Ευφυΐα Σμήνους (Swarm Intelligence) [Beni and Wang, 1989]. Άλλες μέθοδοι της ίδιας κατηγορίας είναι η μέθοδος Στοχαστικής Διάχυσης (Stochastic Diffusion Search SDS) [Bishop, 1989] και η μέθοδος Σμήνους Ατόμων (Particle Swarm Optimization PSO) (Kennedy and Eberhart, 1995). Όπως είναι εμφανές και από το όνομα της μεθόδου, ανήκει στους πληθυσμιακούς αλγορίθμους καθώς διαχειρίζεται ένα σμήνος ατόμων που παρομοιάζονται με κοινωνικά έντομα και συγκεκριμένα μυρμήγκια. Ο μηχανισμός βελτιστοποίησης είναι ανάλογος με τον τρόπο που μια ομάδα μυρμηγκιών αυτό-οργανώνεται κατά την αναζήτηση και συλλογή τροφής, μέσω της «ιχνοθέτησης» των πιο προσοδοφόρων διαδρομών λύσεων με φερομόνη (pheromone), μια χημική ουσία που εκκρίνεται από κάθε μυρμήγκι και είναι ανιχνεύσιμη από τα υπόλοιπα. Οι ιχνοθετημένες διαδρομές έχουν μεγαλύτερη πιθανότητα να ακολουθηθούν από τις επόμενες γενιές μυρμηγκιών που αναζητούν ακόμα καλύτερες λύσεις (Εικόνα 2). Τ Β Α Φ Εικόνα 2: Παράδειγμα αναζήτησης ACO Πανεπιστήμιο Πατρών 80
81 Για παράδειγμα, υποθέτουμε ότι μυρμήγκια μετακινούνται από τη φωλιά τους Φ προς την πηγή τροφής Τ και επιστρέφουν στη φωλιά τους, έχοντας να επιλέξουν μία από δύο δυνατές διαδρομές. Έστω ότι η διαδρομή Φ-Α-Τ είναι συντομότερη από τη διαδρομή Φ-Β-Τ. Κατ ανάγκη, τα μυρμήγκια που μετακινούνται από το Φ προς Τ (Τ προς Φ) θα πρέπει στο σημείο Φ να αποφασίσουν αν θα στραφούν προς τα αριστερά ή τα δεξιά. Κατά τη μετακίνησή τους, τα μυρμήγκια εναποθέτουν μια ποσότητα φερομόνης στο έδαφος, η οποία εξατμίζεται με έναν ορισμένο ρυθμό. Τα πρώτα μυρμήγκια που φθάνουν στο Φ, στρίβουν αριστερά ή δεξιά με πιθανότητα 0,5. Έκτοτε, επειδή η διαδρομή Φ-Β-Τ είναι μακρύτερη, μέρος της ποσότητας της φερομόνης εξατμίζεται, η διαδρομή Φ-Α- Τ περιέχει μεγαλύτερη ποσότητα φερομόνης και, επομένως, τα μυρμήγκια κατά την επιστροφή τους επιλέγουν στο Τ τη διαδρομή Τ-Α-Φ με μεγαλύτερη πιθανότητα από αυτή της διαδρομής Τ-Β-Φ. Η κατάσταση αυτή επαναλαμβάνεται πηγαίνοντας από το Φ στο Τ, αυξάνοντας ακόμη περισσότερο την πιθανότητα επιλογής της διαδρομής Φ-Α-Τ (και Τ-Α-Φ). Τελική κατάληξη είναι να επιλέγεται η συντομότερη διαδρομή με πιθανότητα ίση με 1, αν υπάρξει επαρκής αριθμός μετακινήσεων. Η συμπεριφορά ενός τεχνητού μυρμηγκιού κατά την επίλυση ενός προβλήματος καθορίζεται κατά κανόνα από δύο παραμέτρους. Πρώτον, από τα ιδιαίτερα χαρακτηριστικά του προβλήματος. Δεύτερον, από πληροφορίες που έχουν συγκεντρωθεί μέχρι σε ένα ορισμένο στάδιο της υπολογιστικής διαδικασίας από τις διαδρομές (λύσεις) των άλλων μυρμηγκιών. Αλγόριθμος Η διαδικασία ενός αλγορίθμου Βελτιστοποίησης Αποικίας Μυρμηγκιών Αρχικοποίηση πληθυσμού pop; Αξιολόγηση ευρετικής συνάρτησης nij για κάθε διαδρομή; Αξιολόγηση αρχικής φερομόνης τij για κάθε διαδρομή; Επιλογή μέγιστου αριθμού επαναλήψεων; Κυρίως πρόγραμμα Do until not μέγιστος αριθμός επαναλήψεων να επιτευχθεί; Κάθε μυρμήγκι ξεκινά τη διαδρομή του από διαφορετική θέση στο χώρο; For κάθε μυρμήγκι του πληθυσμού: Πανεπιστήμιο Πατρών 81
82 Do while οι συνθήκες τερματισμού να επιτευχθούν: Επιλογή του επόμενου σημείου σύμφωνα με τη φερομόνη και την ευρετική συνάρτηση; Υπολογισμός συνάρτησης ποιότητας για κάθε μυρμήγκι; Εφαρμογή διαδικασίας τοπικής αναζήτησης; End do End For Update τη φερομόνη σύμφωνα με τη βέλτιστη λύση στον πληθυσμο; End do Return καλύτερο μυρμήγκι (καλύτερη λύση) Αλγόριθμοι σμήνους Αρχικά, ο αλγόριθμος Βελτιστοποίησης Σμήνους Σωματιδίων (Particle Swarm Optimization PSO) είναι ένας πληθυσμιακός αλγόριθμος αναζήτησης, που στηρίζεται στην προσομοίωση της κοινωνικής συμπεριφοράς των πουλιών μέσα σε ένα σμήνος. Ο βασικός στόχος της ιδέας του πλήθους σωματιδίων ήταν η γραφική προσομοίωση της χαριτωμένης και απρόβλεπτης χορογραφίας ενός σμήνους πουλιών (Kennedy and Eberhart, 1995). Η συγκεκριμένη ιδέα μετατράπηκε σε έναν εύκολο και αποτελεσματικό αλγόριθμο βελτιστοποίησης. Ακόμα, στον αλγόριθμο Βελτιστοποίησης Σμήνους Σωματιδίων, τα άτομα, τα οποία χαρακτηρίζονται ως σωματίδια, βρίσκονται μέσα σε ένα χώρο αναζήτησης διαφόρων διαστάσεων. Οι αλλαγές των θέσεων των σωματιδίων μέσα στο χώρο αναζήτησης στηρίζονται στην κοινωνικο-ψυχολογική τάση των ατόμων να μιμούνται την επιτυχία των άλλων ατόμων. Με αυτό το τρόπο, η κίνηση ενός σωματιδίου μέσα στο σμήνος επηρεάζεται από την εμπειρία ή τη γνώση των γειτονικών του σωματιδίων. Από την εισαγωγή του το 1995 (Kennedy and Eberhart, 1995), ο αλγόριθμος Βελτιστοποίησης Σμήνους Σωματιδίων έχει υποστεί αρκετές αλλαγές προς το καλύτερο και έχει βρει διάφορα πεδία λειτουργίας. Στη συνέχεια παραθέτουμε το βασικό αλγόριθμο PSO και κάποιες από τις σημαντικότερος παραλλαγές του. Πανεπιστήμιο Πατρών 82
83 Βασικός Αλγόριθμος Βελτιστοποίησης Σμήνους Σωματιδίων (Basic PSO) Ο Αλγόριθμος Βελτιστοποίησης Σμήνους Σωματιδίων είναι ένας πολύ γνωστός αλγόριθμος ολικής βελτιστοποίησης που προτάθηκε από τους Kennedy και Eberhart (Kennedy and Eberhart, 1995) για να προσομοιώσουν την κοινωνική συμπεριφορά κάποιων οργανισμών, όπως το πέταγμα σε μορφή σμήνους των πουλιών και την ομαδική κίνηση των ψαριών. Ο Αλγόριθμος Βελτιστοποίησης Σμήνους Σωματιδίων χρησιμοποιεί τη φυσική κίνηση των ατόμων του πληθυσμού στο σμήνος και έχει ένα πολύ ευέλικτο και καλά ισορροπημένο μηχανισμό που προσαρμόζεται στις ολικές και τοπικές ικανότητες εξερεύνησης των ατόμων του σμήνους. Η συγκεκριμένη μέθοδος έχει αποδειχτεί ότι είναι πάρα πολύ χρήσιμη σε ένα αριθμό από προβλήματα, λόγω της εύκολης υλοποίησης της και των πολύ καλών αποτελεσμάτων που έχει δώσει στα προβλήματα που έχει χρησιμοποιηθεί, ιδιαίτερα σε προβλήματα που έχουν συνεχείς μεταβλητές. Τα τελευταία χρόνια η συγκεκριμένη μέθοδος έχει εφαρμοστεί και σε προβλήματα συνδυαστικής βελτιστοποίησης. Όπως αναφέρθηκε προηγουμένως ο αλγόριθμος PSO προσομοιώνει τη συμπεριφορά μιας αγέλης πουλιών ή ψαριών. Ως παράδειγμα μπορεί να αναφερθεί η συμπεριφορά μιας ομάδας πουλιών η οποία αναζητά τροφή σε μια περιοχή πετώντας με τυχαίο τρόπο. Επιπροσθέτως, στην περιοχή υπάρχει μόνο ένα σημείο στο οποίο βρίσκεται η ποσότητα τροφής και τα πουλιά του σμήνους δε γνωρίζουν πού ακριβώς βρίσκεται, αλλά είναι σε θέση να αντιληφθούν την απόσταση τους από την τροφή σε κάθε χρονική στιγμή. Στον PSO κάθε λύση είναι ένα πουλί στο χώρο αναζήτησης, που το καλούμε σωματίδιο. Όλα τα σωματίδια έχουν τιμές καταλληλότητας (fitness values) με τις οποίες αξιολογούνται από την αντικειμενική συνάρτηση που πρέπει να βελτιστοποιηθεί και έχουν ταχύτητες που κατευθύνουν το πέταγμά τους. Τα σωματίδια πετάνε στο χώρο των λύσεων ακολουθώντας το ρεύμα των καλύτερων σωματιδίων. Σε αυτή την περίπτωση η πιο αποτελεσματική στρατηγική για την εύρεση της τροφής είναι το σμήνος να κατευθυνθεί προς το πουλί που βρίσκεται σε μικρότερη απόσταση από την τροφή. Πανεπιστήμιο Πατρών 83
84 Ο PSO έχει πολλές ομοιότητες με εξελικτικές υπολογιστικές τεχνικές, όπως οι Γενετικοί Αλγόριθμοι. Το σύστημα αρχικοποιείται με ένα πληθυσμό τυχαίων λύσεων και αναζητάει βέλτιστα ενημερώνοντας (updating) γενιές. Σε αντίθεση με τους ΓΑ, ο PSO δεν έχει εξελικτικές διαδικασίες, όπως ο επιχιασμός και η μετάλλαξη. Στον PSO, οι ενδεχόμενες λύσεις, που λέγονται σωματίδια (particles), «πετάνε» στο χώρο των λύσεων ακολουθώντας το ρεύμα των βέλτιστων σωματίδια. Tο πλεονέκτημα του PSO συγκρινόμενος με τους ΓΑ είναι ότι είναι εύκολο να υλοποιηθεί και υπάρχουν λίγες παράμετροι προς ρύθμιση. Το κύριο πλεονέκτημα του PSO, όμως, είναι η μεγάλη ταχύτητα σύγκλισης. Ο PSO είναι δυνατό να εφαρμοστεί για την επίλυση πάρα πολλών προβλημάτων καθώς κάνει ελάχιστες παραδοχές. Για να γίνει εφικτή η εφαρμογή του, πρέπει να βρεθεί ένας τρόπος να αντιστοιχηθούν οι λύσεις του προβλήματος στα σωματίδια του αλγορίθμου. Αφού γίνει αυτό τα σωματίδια εξερευνούν το χώρο του προβλήματος και οδηγούνται στην εύρεση καλών λύσεων. Στον κλασικό PSO υπάρχει ένα σμήνος από σωματίδια, καθένα από τα οποία ανά πάσα χρονική στιγμή βρίσκεται σε μια υποψήφια λύση του προβλήματος. Ο αλγόριθμος περιλαμβάνει πολλαπλές επαναλήψεις, κατά τις οποίες τα σωματίδια αυτά κινούνται μέσα στο χώρο αναζήτησης του προβλήματος και ψάχνουν γι καλύτερες λύσεις. Η ποιότητα της κάθε λύσης καθορίζεται από μια συνάρτηση f. Ο PSO αρχικοποιείται με μια ομάδα τυχαίων σωματιδίων (λύσεων) και μετά αναζητά βέλτιστα ενημερώνοντας τις γενιές. Σε κάθε επανάληψη, κάθε σωματίδιο ενημερώνεται ακολουθώντας δύο «καλύτερες» τιμές. Η μία είναι η καλύτερη λύση (fitness) που έχει επιτύχει ως τώρα (η τιμή καταλληλότητας είναι αποθηκευμένη επίσης) και καλείται ατομικό βέλτιστο (personal best, pbest). Η άλλη «καλύτερη» τιμή είναι αυτή που έχει επιτευχθεί από οποιοδήποτε particle στον πληθυσμό και καλείται ολικό βέλτιστο (global best, gbest). Όταν ένα σωματίδιο συμμετέχει στον πληθυσμό σαν ένας τοπολογικός γείτονας, η καλύτερη τιμή είναι ένα τοπικό βέλτιστο και καλείται τοπικό βέλτιστο (lbest). Αυτές είναι δυο διαφορετικές εκδόσεις του PSO (oλική και τοπική). Πανεπιστήμιο Πατρών 84
85 Ιωάννης Π. Σώλος Η καλύτερη ατομική θέση ενός σωματιδίου i είναι η καλύτερη θέση (π.χ. αυτή που έχει ως αποτέλεσμα την καλύτερη τιμή αντικειμενικής συνάρτησης) που έχει επισκεφτεί το σωματίδιο i ως τώρα. Σύμφωνα με τον PSO η συμπεριφορά η συμπεριφορά του κάθε σωματιδίου καθορίζεται από την προσωπική του εμπειρία καθώς και από τη συλλογική εμπειρία ολόκληρου του σμήνους. Κάθε σωματίδιο i σε κάθε χρονική στιγμή χαρακτηρίζεται από το διάνυσμα της θέσης του xi και το διάνυσμα ταχύτητάς του vi. Επιπλέον, θυμάται την καλύτερη θέση στην οποία έχει βρεθεί στο παρελθόν, το διάνυσμα της οποίας θα ονομάσουμε x#i (personal best) καθώς και την καλύτερη θέση στην οποία έχει βρεθεί οποιοδήποτε σωματίδιο του σμήνους το διάνυσμα της οποίας θα συμβολίσουμε ως x* (global best). Τα δύο αυτά διανύσματα αντιπροσωπεύουν την προσωπική και συλλογική μνήμη του σωματιδίου αντίστοιχα. Σε κάθε χρονική στιγμή t η νέα ταχύτητα του κάθε σωματιδίου i στην διάσταση j, καθώς και η θέση του όπως προκύπτει βάσει της ταχύτητας αυτής ορίζονται ως εξής: 𝒖𝒊𝒋 (𝒕 + 𝟏) = 𝒘𝒖𝒊𝒋 (𝒕) + 𝒄𝟏 𝒓𝟏 (𝒙#𝒊𝒋 (𝒕) 𝒙𝒊𝒋 (𝒕)) + 𝒄𝟐 𝒓𝟐 (𝒙 𝒋 𝒙𝒊𝒋 (𝒕)) (1) 𝒙𝒊𝒋 (𝒕 + 𝟏) = 𝒙𝒊𝒋 (𝒕) + 𝒖𝒊𝒋 (𝒕 + 𝟏) (2) Στην παραπάνω εξίσωση, το w ονομάζεται παράγοντας αδράνειας και τα r1, r2 είναι τυχαίοι αριθμοί στο διάστημα [0,1]. Όπως φαίνεται από την παραπάνω εξίσωση, η κίνηση κάθε σωματιδίου καθορίζεται από τον τρόπο με τον οποίο κινούταν την προηγούμενη χρονική στιγμή, την προσωπική του εμπειρία και τη συλλογική εμπειρία του σμήνους. Ο δεύτερος όρος στην εξίσωση της ταχύτητας τείνει να στείλει το σωματίδιο στην καλύτερη θέση με βάση την προσωπική του εμπειρία (personal best), ενώ ο τρίτος στην καλύτερη θέση με βάση τη συλλογική εμπειρία ολόκληρου του σμήνους (global best). Η ταχύτητα κάθε σωματιδίου σε κάθε χρονική στιγμή περιορίζεται να μην περνάει μια μέγιστη τιμή Umax όπως δείχνει η επόμενη εξίσωση: 𝒖𝒊𝒋 = 𝒔𝒊𝒈𝒏(𝒖𝒊𝒋 ) 𝐦𝐢𝐧( 𝒖𝒊𝒋. 𝒖𝒎𝒂𝒙 ) (3) Η μέγιστη ταχύτητα umax σε χώρο αναζήτησης που εκτείνεται στο διάστημα [s,s] ορίζεται ως p s όπου p ένας αριθμός στο διάστημα [0,1]. Οι ταχύτητες των Πανεπιστήμιο Πατρών 85
86 σωματιδίων σε κάθε κατεύθυνση περιορίζονται από μία μέγιστη τιμή Vmax που χρησιμεύει ως εξής (Kennedy and Eberhart, 2001): αν το άθροισμα των επιταχύνσεων θα προκαλούσε την ταχύτητα σε αυτή την κατεύθυνση να ξεπεράσει το μέγιστο, που καθορίζεται από το χρήστη, τότε η ταχύτητα περιορίζεται στο Vmax. Στη συνέχεια παρουσιάζεται ο ψευδοκώδικας της μεθόδου Βελτιστοποίησης Σμήνους Σωματιδίων: Αλγόριθμος Η διαδικασία ενός αλγορίθμου Βελτιστοποίησης Σμήνους Σωματιδίων Αλγόριθμος Particle Swarm Optimization-PSO Αρχικοποίηση Επιλογή αριθμού σμηνών; Επιλογή αριθμού σωματιδίων; Αρχικοποίηση θέσης και ταχύτητας για κάθε σωματίδιο; Υπολογισμός αρχικού κόστους για κάθε σωματίδιο; Εύρεση καλύτερου σωματιδίου στο σμήνος; Εύρεση καλύτερης λύσης για κάθε σωματίδιο; Κυρίως πρόγραμμα Do until not ο μέγιστος αριθμός επαναλήψεων να επιτευχθεί: Υπολογισμός ταχύτητας για κάθε σωματίδιο; Υπολογισμός νέας θέσης για κάθε σωματίδιο; Υπολογισμός της συνάρτησης ποιότητας για κάθε σωματίδιο; Ενημέρωση καλύτερης λύσης για κάθε σωματίδιο; Εύρεση καλύτερου σωματιδίου σε όλο το σμήνος; End do Return καλύτερου σωματιδίου (καλύτερη λύση) Το κριτήριο τερματισμού μπορεί να επιλεγεί ως ένα από τα παρακάτω: Κάποιος μέγιστος αριθμός επαναλήψεων του αλγορίθμου Πανεπιστήμιο Πατρών 86
87 Αριθμός επαναλήψεων κατά τις οποίες δεν έχει βρεθεί κάποια καλύτερη λύση από τις ήδη υπάρχουσες. Αν η απόκλιση της καλύτερης λύσης που έχει βρεθεί σε σχέση με την ελάχιστη τιμή της συνάρτησης f περάσει κάτω από κάποιο προκαθορισμένο όριο. Ο PSO έχει δοκιμαστεί με διάφορων σχημάτων γειτονιές, όπως παγκόσμια, τοπική, δομή πυραμίδας, δακτυλίου και τοπολογία von Neumann. Η τοπολογία της γειτονιάς έχει σημαντική επίδραση στην ικανότητα του αλγορίθμου να βρίσκει βέλτιστο. Στην τοπολογία δακτυλίου, μέρη του πληθυσμού που είναι μακριά το ένα από το άλλο είναι επίσης και ανεξάρτητα μεταξύ τους. Η επιρροή εξαπλώνεται από γείτονα σε γείτονα σε αυτήν την τοπολογία, μέχρι να βρεθεί ένα βέλτιστο από οποιοδήποτε μέρος του πληθυσμού και τότε το βέλτιστο αυτό θα τραβήξει προς το μέρος του όλα τα σωματίδια. Στην παγκόσμια, ολική (global), έκδοση του PSO, κάθε σωματίδιο συνδέεται με όλα τα άλλα σωματίδια απευθείας. Οι ολικοί πληθυσμοί τείνουν να συγκλίνουν πιο γρήγορα από τους πληθυσμούς δακτυλίου, όταν συγκλίνουν, αλλά είναι επιρρεπείς στη σύγκλιση σε τοπικά βέλτιστα. Οι πιο σημαντικοί παράγοντες, που οδηγούν τους αλγορίθμους βελτιστοποίησης σμήνους σωματιδίων σε σύγκλιση, είναι ο συντελεστής αδράνειας w και οι συντελεστές επιτάχυνσης c1 και c2. Ο συντελεστής αδράνειας παίζει σημαντικό ρόλο στη σύγκλιση της βέλτιστης λύσης σε μια βέλτιστη τιμή καθώς και στη διάρκεια εκτέλεσης της προσομοίωσης. Ελέγχει την επίδραση των προηγούμενων ταχυτήτων στην παρούσα, όπως και τις τοπικές και ολικές ικανότητες αναζήτησης του PSO (Shi and Eberhart, 1998; Shi and Eberhart, 1999). Η παράμετρος αυτή ορίζει την επίδραση που θα έχει στον καθορισμό της νέας ταχύτητας η τρέχουσα ταχύτητα του κάθε σωματιδίου. Μικρές τιμές στην παράμετρο αυτή ευνοούν την εξερεύνηση τοπικών γειτονιών στο χώρο αναζήτησης, καθώς τα σωματίδια κινούνται γρήγορα προς τις καλύτερες λύσεις με βάση την προσωπική τους εμπειρία και τη συλλογική εμπειρία του σμήνους. Αντίθετα, μεγαλύτερες τιμές της παραμέτρου αυτής ευνοούν την εξερεύνηση νέων περιοχών στο χώρο αναζήτησης. Με άλλα λόγια, η παράμετρος αυτή καθορίζει την ισορροπία Πανεπιστήμιο Πατρών 87
88 ανάμεσα στη λεπτομερή εξερεύνηση των διαφόρων γειτονιών του χώρου αναζήτησης και στην καθολική εξερεύνηση ολόκληρου του χώρου αναζήτησης. Κατάλληλη επιλογή της τιμής της οδηγεί σε ταχύτερη σύγκλιση του αλγορίθμου. Πειραματικές μελέτες δείχνουν πως είναι καλή στρατηγική να επιλέγουν αρχικά μεγάλες τιμές για την παράμετρο της αδράνειας που οδηγούν αρχικά σε καθολική εξερεύνηση του χώρου αναζήτησης και σταδιακά να μειώνεται η τιμή αυτή ώστε να γίνεται λεπτομερέστερη αναζήτηση στις γειτονιές που έχουν ανακαλυφθεί. Σύμφωνα με τους Van den Bergh και Engelbrecht (Van den Bergh and Engelbrecht, 2002, η σχέση ανάμεσα στο συντελεστή αδράνειας και τις σταθερές επιτάχυνσης θα έπρεπε να ικανοποιούν την ακόλουθη εξίσωση, ώστε να έχουμε εγγυημένη σύγκλιση: c 1 +c < w (4) Συνήθως σε κάθε αλγόριθμο Βελτιστοποίησης Σμήνους Σωματιδίων ένα μόνο σμήνος χρησιμοποιείται. Υπάρχει, φυσικά, η δυνατότητα να υπάρχουν χωριστά σμήνη που είτε να ενεργούν χωριστά χωρίς να αλληλεπιδρά το ένα με το άλλο σε χωριστά σημεία του χώρου λύσεων και με αυτό τον τρόπο να αυξάνουν τις ικανότητες αναζήτησης της μεθόδου είτε να αλληλεπιδρούν μεταξύ τους και να αρχίσουν από κάποιο σημείο και έπειτα να συγκλίνουν προς κάποιο βέλτιστο. Επίσης, υπάρχει η δυνατότητα τα σμήνη να δρουν ανταγωνιστικά το ένα με το άλλο ή να κυνηγάει κατά κάποιο τρόπο ένα σμήνος ισχυρότερων ατόμων ένα άλλο σμήνος ή κάποιο σμήνος, αν όλα τα άτομα που βρίσκονται σε αυτό έχουν κακή λύση ως προς τις λύσεις των άλλων σμηνών, να διαγράφεται, κ.τ.λ Μειονεκτήματα του PSO Ο PSO, όπως και άλλοι στοχαστικοί αλγόριθμοι αναζήτησης, έχουν δύο βασικά μειονεκτήματα. Το πρώτο είναι ότι το σμήνος μπορεί να συγκλίνει πρώιμα. Αν και ο PSO βρίσκει καλές λύσεις πολύ γρηγορότερα από τους εξελικτικούς αλγορίθμους, συνήθως δε μπορεί να βελτιώσει την ποιότητα των λύσεων καθώς ο αριθμός των επαναλήψεων αυξάνει. Η αιτιολογία για αυτό το πρόβλημα ότι τα σωματίδια συγκλίνουν σε ένα σημείο, που είναι στη γραμμή ανάμεσα στις θέσεις του ατομικού και του ολικού βέλτιστου. Αυτό το σημείο δεν είναι εγγυημένο ότι Πανεπιστήμιο Πατρών 88
89 είναι έστω και ένα τοπικό βέλτιστο. Ένας άλλος λόγος είναι ο γρήγορος ρυθμός ροής πληροφορίας ανάμεσα στα σωματίδια, που έχει σαν αποτέλεσμα τη δημιουργία πολλών παρόμοιων σωματιδίων (με απώλεια της ποικιλίας), γεγονός που αυξάνει την πιθανότητα «παγίδευσης» σε τοπικό βέλτιστο (Riget and Vesterstrøm, 2002). Πολλές τροποποιήσεις έχουν προταθεί για την αντιμετώπιση αυτού του προβλήματος. Δύο από αυτές είναι ο συντελεστής αδράνειας και το μοντέλο τοπικού βέλτιστου. Το δεύτερο μειονέκτημα είναι ότι οι στοχαστικές προσεγγίσεις έχουν απόδοση εξαρτώμενη από το πρόβλημα. Αυτή η εξάρτηση συνήθως προέρχεται από τις παραμέτρους κάθε αλγορίθμου. Έτσι, η χρήση διαφορετικών παραμέτρων για έναν αλγόριθμο στοχαστικής αναζήτησης έχει ως αποτέλεσμα μεγάλες αποκλίσεις στην απόδοση. Για παράδειγμα, η αύξηση της τιμής του συντελεστή αδράνειας αυξάνει την ταχύτητα των σωματιδίων, έχοντας ως αποτέλεσμα την κατεύθυνση σε πιο ολική αναζήτηση και λιγότερο τοπική αναζήτηση. Η καλύτερη τιμή του συντελεστή αδράνειας δεν είναι εύκολο να βρεθεί και διαφέρει από πρόβλημα σε πρόβλημα. Μια λύση στην εξαρτημένη από το πρόβλημα απόδοση του PSO είναι η χρήση αυτοπροσαρμοζόμενων παραμέτρων. Στην αυτοπροσαρμογή, οι παράμετροι του αλγορίθμου προσαρμόζονται με βάση τη γνώση που έχει αποκομιστεί από τη διαδικασία αναζήτησης. Μια άλλη λύση είναι ο υβριδισμός, ο συνδυασμός δηλαδή διαφορετικών προσεγγίσεων για να αποκομιστούν τα πλεονεκτήματα καθεμιάς από αυτές Οι αλγόριθμοι gbest PSO και lbest PSO Στην αρχή είχαν δημιουργηθεί δύο αλγόριθμοι PSO, οι οποίοι διαφέρουν ως προς το μέγεθος της γειτονιάς τους: ο global best PSO (gbest PSO) και ο local best PSO (lbest PSO). Οι δύο αλγόριθμοι είναι παρόμοιοι με την έννοια ότι η κοινωνική συνιστώσα της εξίσωσης μεταβολής ταχύτητας ωθεί και τους δύο να συγκλίνουν προς το καθολικά βέλτιστο σωματίδιο. Αυτό είναι δυνατό για τον lbest PSO λόγω της αλληλοεπικάλυψης των γειτονιών των σωματιδίων. Πανεπιστήμιο Πατρών 89
90 Οι κύριες διαφορές των δύο προσεγγίσεων προέρχονται από τα χαρακτηριστικά σύγκλισής τους και είναι οι παρακάτω: Ο αλγόριθμος gbest PSO συγκλίνει ταχύτερα από τον lbest PSO, λόγω της μεγαλύτερης διασύνδεσης ανάμεσα των σωματιδίων που πραγματοποιεί. Όμως, η ταχύτερη σύγκλιση έχει ως κόστος τη μικρότερη ποικιλομορφία. Ο αλγόριθμος lbest PSO είναι λιγότερο επιρρεπής στο να οδηγείται σε τοπικά ελάχιστα, λόγω της μεγαλύτερης ποικιλομορφίας που επιδεικνύει, η οποία έχει ως κατάληξη την κάλυψη μεγαλύτερου μέρους του χώρου αναζήτησης Δομές Κοινωνικής Δικτύωσης Το χαρακτηριστικό που οδηγεί τη Βελτιστοποίηση Σμήνους Σωματιδίων είναι η κοινωνική αλληλεπίδραση. Τα σωματίδια του σμήνους μαθαίνουν το ένα από το άλλο και με βάση τη γνώση αυτή κινούνται για να μοιάσουν στους «καλύτερους» γείτονές τους. Η κοινωνική δομή της Βελτιστοποίησης Σμήνους Σωματιδίων έχει να κάνει με το σχηματισμό αλληλοεπικαλυπτόμενων γειτονιών, στις οποίες τα σωματίδια επηρεάζουν το ένα το άλλο. Ακόμα, η απόδοση του PSO έχει να κάνει και τη δομή του κοινωνικού δικτύου. Η ροή της πληροφορίας διά μέσου του κοινωνικού δικτύου καθορίζεται από τους επόμενους παράγοντες: α) το βαθμό συνδεσιμότητας ανάμεσα των κόμβων (μελών) του δικτύου, β) το βαθμό συσσώρευσης (clustering) των κόμβων και γ) τη μέση μικρότερη απόσταση ανάμεσα των κόμβων. Σε ένα κοινωνικό δίκτυο μεγάλης συνδεσιμότητας, τα πιο πολλά μέλη του δικτύου επικοινωνούν μεταξύ τους, με κατάληξη τη γρήγορη διάχυση της πληροφορίας. Αυτή οδηγεί σε ταχύτερη σύγκλιση σε μια λύση σε σχέση με ένα Πανεπιστήμιο Πατρών 90
91 δίκτυο μικρότερης συνδεσιμότητας. Η πιο γρήγορη σύγκλιση έχει ως αποτέλεσμα την μεγάλη πιθανότητα εγκλωβισμού σε τοπικά ελάχιστα του χώρου αναζήτησης. Εικόνα 3: Οι κυριότερες δομές κοινωνικής δικτύωσης Πανεπιστήμιο Πατρών 91
92 Σε ένα κοινωνικό δίκτυο μικρής συνδεσιμότητας, με μεγάλο βαθμό συσσώρευσης των σωματιδίων στις γειτονιές, ο χώρος αναζήτησης δεν καλύπτεται επαρκώς, με κατάληξη να μην μπορούν να βρεθούν καλύτερες λύσεις. Οι κυριότερες δομές κοινωνικής δικτύωσης είναι οι παρακάτω (Engelbrecht, 2005; Engelbrecht 2007): Η κοινωνική δομή αστέρα (star), στην οποία τα σωματίδια συνδέονται όπως απεικονίζεται στην Εικόνα 3. Στην συγκεκριμένη περίπτωση, κάθε σωματίδιο επικοινωνεί με όλα τα άλλα σωματίδια και έλκεται προς τη καλύτερη λύση που υπολογίζεται από το σύνολο του σμήνους. Η κοινωνική δομή δακτυλίου (ring), όπου κάθε σωματίδιο επικοινωνεί με τους Nn άμεσους γείτονές του. Η περίπτωση όπου κάθε σωματίδιο επικοινωνεί με τους κοντινότερους γείτονές του, παρουσιάζεται στην Εικόνα 3. Οποιοδήποτε σωματίδιο προσπαθεί να μοιάσει στο βέλτιστο γείτονά του, κινούμενο προς τη βέλτιστη λύση που υπολογίζεται στη γειτονιά του. Στην περίπτωση της δομής δακτυλίου, οι γειτονιές αλληλοεπικαλύπτονται, το οποίο παρέχει την δυνατότητα για ανταλλαγή πληροφορίας μεταξύ τους και στο τέλος τη σύγκλιση σε μια μοναδική λύση. Λόγω ότι η ροή της πληροφορίας πραγματοποιείται με μικρότερο ρυθμό, η σύγκλιση είναι πιο αργή, αλλά καλύπτονται μεγαλύτερα τμήματα του χώρου αναζήτησης σε σύγκριση με τη δομή αστέρα. Η κοινωνική δομή τροχού (wheel), όπου τα σωματίδια μιας γειτονιάς είναι απομονωμένα το ένα από το άλλο. Ένα σωματίδιο λειτουργεί ως κεντρικό σημείο και η πληροφορία μεταδίδεται διά μέσου του συγκεκριμένου σωματιδίου (βλέπε Εικόνα 3). Το κεντρικό σωματίδιο συγκρίνει την απόδοση όλων των σωματιδίων της γειτονιάς και ρυθμίζει τη θέση του προς το βέλτιστο γείτονα. Αν η καινούρια θέση του κεντρικού σωματιδίου καλυτερεύει την απόδοση, τότε η μεταβολή μεταδίδεται σε όλα τα σωματίδια της γειτονιάς. Η Πανεπιστήμιο Πατρών 92
93 κοινωνική δομή τροχού επιβραδύνει τη διάδοση των καλών λύσεων μέσα στο σμήνος. Η κοινωνική δομή πυραμίδας (pyramid), όπου δημιουργεί ένα τρισδιάστατο πλαίσιο, όπως απεικονίζεται στην Εικόνα 3. H κοινωνική δομή τεσσάρων συσσωρεύσεων (four clusters), που παρουσιάζεται στην Εικόνα 3. Σε αυτήν, δημιουργούνται τέσσερις συσσωρεύσεις, με δύο συνδέσεις μεταξύ τους. Τα σωματίδια κάθε συσσώρευσης έχουν πέντε γείτονες. Η κοινωνική δομή Von Neumann, στην οποία τα σωματίδια συνδέονται σε μια δομή πλέγματος, όπως απεικονίζεται στην Εικόνα Σύγκριση Γενετικών Αλγόριθμων με Βελτιστοποίηση Σμήνους Σωματιδίων Στις ομοιότητες των δύο τεχνικών συγκαταλέγεται το γεγονός ότι και οι δύο ξεκινούν με ένα τυχαία παραχθέντα πληθυσμό. Επίσης, έχουν αντικειμενικές συναρτήσεις για να αξιολογούν τον πληθυσμό, τον ενημερώνουν και ψάχνουν για βέλτιστο με τυχαίες τεχνικές. Επίσης, δεν εγγυώνται επιτυχή έκβαση στην αναζήτηση που πραγματοποιούν. Ο PSO διαφέρει από τους ΓΑ στο ότι δεν έχει γενετικούς μηχανισμούς όπως η διασταύρωση και η μετάλλαξη, αλλά τα σωματίδια ανανεώνονται με μια εσωτερική ταχύτητα. Επίσης, έχουν μνήμη, που είναι ένα σημαντικό πλεονέκτημα του αλγορίθμου. Ακόμα, διαφέρει ο μηχανισμός διάδοσης της πληροφορίας. Στους ΓΑ τα χρωμοσώματα μοιράζονται την πληροφορία μεταξύ τους. Έτσι, όλος ο πληθυσμός κινείται σαν μια ομάδα προς τη βέλτιστη περιοχή. Στον PSO μόνο το ολικό βέλτιστο δίνει πληροφορία στους άλλους. Είναι ένας μηχανισμός μονόδρομης διάδοσης της πληροφορίας. Έχουν δημοσιευθεί πολλές συγκριτικές μελέτες για τον PSO και τους ΓΑ που δείχνουν ότι οι δύο τεχνικές έχουν παραπλήσια αποτελεσματικότητα. Για κάποιες Πανεπιστήμιο Πατρών 93
94 εφαρμογές, έχει αναφερθεί ότι ο PSO αποδίδει καλύτερα από άλλους εξελικτικούς αλγόριθμους βελτιστοποίησης σε όρους ποσοστών επιτυχίας και ποιότητας λύσεων. Σύμφωνα με τον Angeline (Angeline, 1998) ο PSO αποδίδει καλύτερα στις πρώτες γενιές, αλλά έχει πρόβλημα στο να φτάσει σε μια σχεδόν βέλτιστη λύση σε πολλά προβλήματα με συναρτήσεις πραγματικών τιμών. Επίσης, συμπεραίνει ότι ένα υβριδικό μοντέλο, που συνδυάζει τους ΓΑ με τον PSO, θα μπορούσε να οδηγήσει σε βελτίωση της απόδοσης. Ένα μοντέλο αλληλεπίδρασης PSO με ΓΑ, που ακολουθεί την ιδέα της μετάλλαξης σε εξελικτικούς υπολογισμούς και άρα έχει γρηγορότερη σύγκλιση παρουσιάζεται από τους Yao et al. (Yao et al., 1999). Ο PSO είναι εμφύτως ένας συνεχής αλγόριθμος, ενώ ένας γενετικός αλγόριθμος είναι ένας εμφύτως διακριτός αλγόριθμος (Venter and Sobieszczanski- Sobieski, 2002). Πειράματα του (Veeramachaneni et al., 2003) έδειξαν ότι ο PSO απέδιδε καλύτερα από τους ΓΑ όταν εφαρμοζόταν σε κάποια συνεχή προβλήματα βελτιστοποίησης. Επίσης, σύμφωνα με τον Robinson (Robinson et al., 2002), ο PSO απέδιδε καλύτερα από τους PSO εφαρμοζόμενος σε σχεδιασμό ενός δύσκολου μηχανικού προβλήματος. Οι Shi και Eberhart (Shi and Eberhart, 1998), συνέκριναν τη δυαδική μορφή του PSO με έναν ΓΑ. Τα αποτελέσματα έδειξαν ότι η δυαδική PSO είναι γενικά ταχύτερη και αποδίδει καλύτερα από δυαδικούς ΓΑ, ειδικά όταν η διάσταση του προβλήματος αυξάνει. Σύμφωνα με τους Eberhart και Shi, η απόδοση του PSO δεν εξαρτάται από το μέγεθος του πληθυσμού (εντούτοις, το μέγεθος του πληθυσμού δε θα έπρεπε να είναι πολύ μικρό). Αυτή η παρατήρηση επαληθεύτηκε και από τους Lovbjerg (Lovebjerg, 2002) και Lovbjerg et al. (Lovbjerg et al., 2001). Κατά συνέπεια, PSO με μικρότερο μέγεθος σμήνους αποδίδει συγκρίσιμα με ΓΑ με μεγαλύτερους πληθυσμούς Μιμητικοί Αλγόριθμοι (Memetic Algorithms) Η έννοια του Μιμητικού Αλγορίθμου εισήχθη για πρώτη φορά από τους Moscato και Norman (Moscato and Norman, 1992) για να περιγράψει τους Εξελικτικούς Αλγόριθμους στους οποίους η τοπική αναζήτηση χρησιμοποιείται σε μεγάλο βαθμό. Πανεπιστήμιο Πατρών 94
95 Ένα μιμίδιο (meme) μπορεί να θεωρηθεί σαν μια μονάδα πληροφορίας που αυτόαναπαράγεται καθώς οι άνθρωποι παράγουν ιδέες. Το βασικό πλεονέκτημα από τη χρήση των μιμητικών αλγορίθμων είναι το γεγονός πως το διάστημα των πιθανών λύσεων ελαττώνεται σε ένα υπό-διάστημα τοπικών βέλτιστων. Για να το επεξηγήσουμε αυτό, έστω ότι έχουμε μια συνάρτηση μιας μεταβλητής την f(x) η οποία απεικονίζεται στην καμπύλη της παρακάτω εικόνας (Εικόνα 4). Ο απόγονος που αρχικά παράγεται εφαρμόζοντας τον τελεστή της διασταύρωσης, βρίσκεται εκτός τοπικού βέλτιστου, αλλά στη συνέχεια χρησιμοποιώντας την πληροφορία σχετικά με το ύψος της καμπύλης οδηγείται σε ένα ανοδικό μονοπάτι έως ότου να βρεθεί το υψηλότερο σημείο. Η προσθήκη της τοπικής αναζήτησης στους γενετικούς τελεστές έχει κάποιο υπολογιστικό κόστος, αλλά αυτό μπορεί να δικαιολογηθεί από την μείωση του χώρου αναζήτησης στην προσπάθεια εύρεσης της βέλτιστης λύσης. f(x) Αρχική λύση Λύση μετά τη μετάλλαξη Λύση μετά τη μετάλλαξη και την τοπική αναζήτηση x Εικόνα 4: Ένα παράδειγμα Μιμητικής Λειτουργίας Ένας Μιμητικός Αλγόριθμος, όπως κάθε μεταευρετικός αλγόριθμος έχει γενικώς πιο πολύπλοκη δομή από έναν Εξελικτικό Αλγόριθμο, καθώς είναι σύνθεση ευρετικών και εξελικτικών αλγορίθμων που περιέχουν στοιχεία μίμησης βιολογικών ή κοινωνικών διαδικασιών. Ανάλογα με την υλοποίηση εργάζεται με κωδικοποιημένο σύνολο λύσεων ή με τις λύσεις αυτές καθαυτές. Στην πρώτη περίπτωση συγγενεύει πιο πολύ με τους ΓΑ, ενώ στη δεύτερη με τους εξελικτικούς αλγόριθμους. Εκτελεί αναζητήσεις χρησιμοποιώντας ένα πληθυσμό λύσεων και όχι Πανεπιστήμιο Πατρών 95
96 μια μοναδική λύση. Ο χρόνος εκτέλεσης του είναι εν γένει μεγαλύτερος από αυτόν κάποιου αντίστοιχου ευρετικού αλγορίθμου, αλλά σε αντιστάθμισμα συνήθως προκύπτουν λύσεις καλύτερης ποιότητας από αυτές που παράγει ο αντίστοιχος ευρετικός ή Εξελικτικός Αλγόριθμος. Η ανταλλαγή των πληροφοριών πραγματοποιείται με τελεστές. Οι τελεστές που χρησιμοποιούνται είναι ο ανασυνδυασμός, η μετάλλαξη και οι τεχνικές τοπικής αναζήτησης. Ο αριθμός των γονέων που ανασυνδυάζονται μεταξύ τους για τη δημιουργία ενός απογόνου είναι ένα σημαντικό κριτήριο για την αξιολόγηση του. Στους ΜΑ είναι σχεδόν πάντα ίσος με 2. Ένα άλλο σημαντικό στοιχείο για τη δημιουργία των απογόνων είναι η γνώση του ιστορικού του πληθυσμού δηλαδή των κανόνων με τους οποίους ο πληθυσμός εξελίσσεται μέχρι την τρέχουσα γενιά. Αυτό το ιστορικό ενημερώνεται συνέχεια κατά τη διάρκεια της εκτέλεσης. Το ιστορικό αποτελεί το δείκτη ποιότητας κάθε ατόμου στο χώρο αναζήτησης. Η τοπική αναζήτηση συμβάλλει στην εύρεση των καλύτερων ατόμων για ανασυνδυασμό και μετάλλαξη. Μετά από την εκτέλεση της τοπικής αναζήτησης το ιστορικό ενημερώνεται και έπεται ανασυνδυασμός και μετάλλαξη μέσω των οποίων διαταράσσεται η δομή των ατόμων παρέχοντας περαιτέρω δυνατότητες για εξερεύνηση του χώρου αναζήτησης. Έτσι, οι ΜΑ δε λειτουργούν απολύτως τυχαία, αλλά χρησιμοποιούν και πληροφορίες που αποκτούν από τη διερεύνηση του χώρου αναζήτησης. Η τοπολογία των ατόμων στον πληθυσμό παίζει επίσης σημαντικό ρόλο στην αναζήτηση. Μερικές από τις τοπολογίες που παρουσιάζονται στη βιβλιογραφία είναι αυτή του πλέγματος, της πλήρους διασύνδεσης, του δακτυλίου, του σταυρού και του τετραγώνου (Glover and Kochenberger, 2003; Neri et al., 2012). Ανασυνδυασμός Ο ανασυνδυασμός σε έναν ΜΑ είναι ένας τελεστής ο οποίος επιλέγει δύο γονείς από τον πληθυσμό και τους ανασυνδυάζει, ώστε να δημιουργήσει ένα νέο άτομο. Η επιλογή των γονέων γίνεται πάντα με μια πιθανότητα pc. Αυτό σημαίνει πώς δεν ανασυνδυάζονται όλα τα ζευγάρια ατόμων που έχουν επιλεγεί. Οι συνήθεις πιθανότητες ανασυνδυασμού είναι pc = 0.6 ή pc [ ]. Εάν δεν εφαρμοστεί Πανεπιστήμιο Πατρών 96
97 ανασυνδυασμός, τότε οι απόγονοι είναι απλή αντιγραφή των γονέων. Διάφορα παραδείγματα ανασυνδυασμού είναι ο ανασυνδυασμός ενός σημείου, δύο σημείων, πολλαπλών σημείων, μετατόπισης, στίξης. Μετάλλαξη Όπως και στους ΓΑ ο τελεστής της μετάλλαξης αλλάζει κάποια δυαδικά ψηφία (bits) των ατόμων αντιστρέφοντάς τα. Η πιθανότητα μετάλλαξης pm [0,1] ανά δυαδικό ψηφίο παίρνει συνήθως πολύ μικρή τιμή στους ΜΑ σε σχέση με τους ΓΑ. Προτεινόμενες τιμές για το ποσοστό μετάλλαξης θεωρούνται οι pm = 0.001, οι pm [ ] και η pm = Η τιμή της συχνότητας μετάλλαξης είναι αντιστρόφως ανάλογη του πληθυσμού. Ο μηχανισμός της μετάλλαξης βοηθά τον ΜΑ να ξεφύγει από τα τοπικά ακρότατα μέσω της τυχαιότητας. Συνάρτηση Γειτονίας Ένας σημαντικός τελεστής στους ΜΑ για την ανταλλαγή των πληροφοριών είναι το πλήθος των ατόμων που μπορούν να ανταλλαχτούν. Ο αριθμός αυτός εξαρτάται από τη συνάρτηση γειτονίας Ν : P (P). Η συνάρτηση γειτονίας ορίζει για κάθε άτομο e ένα υποσύνολο P. Ένας τελεστής που απευθύνεται σε ένα άτομο e P μπορεί να ενεργήσει σε ένα άλλο άτομο το οποίο λαμβάνεται από το N(e) δηλαδή από τη γειτονία του e. Η απόδοση των Μιμητικών Αλγορίθμων βελτιώνεται με τη χρήση της τεχνικής της τοπικής επιλογής (Local selection) σύμφωνα με την οποία ο δεύτερος από τους δύο γονείς επιλέγεται από τη γειτονιά (neighborhood) του πρώτου και όχι από το συνολικό πληθυσμό. Ως γειτονία ορίζεται το σύνολο των ατόμων που βρίσκονται μέσα στα όρια ενός γεωμετρικού σχήματος με κέντρο τον αρχικό γονέα. Ο πληθυσμός των ατόμων αντιμετωπίζεται ως μια σφαιρική επιφάνεια, ώστε στην περίπτωση που το σχήμα βγαίνει έξω από τα όρια του πίνακα, τότε αυτό θεωρούμε ότι συνεχίζεται από την απέναντι πλευρά. Με την εφαρμογή της τοπικής επιλογής επιτυγχάνεται η δημιουργία γειτονιών ατόμων με κοινά χαρακτηριστικά μέσα στον πληθυσμό. Αυτό οδηγεί τον αλγόριθμο σε παράλληλη αναζήτηση λύσεων σε διαφορετικές περιοχές του χώρου. Παραδείγματα γειτονιάς παρουσιάζονται στην Εικόνα 5 και την Εικόνα 6. Πανεπιστήμιο Πατρών 97
98 Εικόνα 5: Επίπεδη επιφάνεια γειτονιάς Εικόνα 6: Σφαιρική επιφάνεια γειτονιάς Μέθοδος Αντικατάστασης Η εξέλιξη ενός πληθυσμού επιτυγχάνεται με μια σειρά επαναλήψεων (γενεών). Eάν στην επόμενη γενιά έχουμε αντικατάσταση ολόκληρου του πληθυσμού, τότε χρησιμοποιείται το μοντέλο της ολικής αντικατάστασης. Σε περίπτωση αντικατάστασης μέρους του πληθυσμού λέμε ότι γίνεται χρήση του μοντέλου σταθερής αντικατάστασης. Ελιτισμός Πανεπιστήμιο Πατρών 98
99 Η διατήρηση του καλύτερου ατόμου μιας γενιάς και αντιγραφή του στην επόμενη γενιά ονομάζεται ελιτισμός. Ο ελιτισμός εξασφαλίζει πώς μια καλή λύση δεν πρόκειται να χαθεί εξαιτίας της επίδρασης κάποιου άλλου τελεστή. Μέθοδος Τοπικής Αναζήτησης Οι ΜΑ ξεχωρίζουν από τους ΕΑ λόγω της ικανότητας εντοπισμού του ολικού βέλτιστου με σχετικά μικρό αριθμό δοκιμών. Με τη χρήση της μεθόδου της τοπικής αναζήτησης, πριν το στάδιο του ανασυνδυασμού και της μετάλλαξης, υποβοηθείται η εύρεση του τοπικού βέλτιστου. Θα πρέπει ωστόσο να σημειωθεί ότι ειδικά στους μιμητικούς αλγορίθμους η έννοια του ανασυνδυασμού λύσεων είναι υποβαθμισμένη σε σχέση με ότι ισχύει στους γενετικούς αλγορίθμους, ενώ αντίθετα ο ρόλος της μετάλλαξης εμφανίζεται ισχυροποιημένος. Ως μέθοδος για προβλήματα βελτιστοποίησης έχει δώσει καλά αποτελέσματα σε πλειάδα προβλημάτων, ενώ αναφέρεται στην βιβλιογραφία και ως Genetic Local Search (Moscato, 1999). Το περίγραμμα ενός Μιμητικού Αλγορίθμου παρουσιάζεται παρακάτω: Αλγόριθμος Η διαδικασία ενός Μιμητικού Αλγορίθμου Γενιά t:=0; Αρχικοποίηση πληθυσμού pop(t) τυχαία; For i=1 to m (m=μέγεθος πληθυσμού) Πραγματοποίηση τοπικής αναζήτησης στη γειτονιά του i (το i είναι το τρέχον άτομο) Αξιολόγηση της καταλληλότητας του i και της γειτονιάς που εξερευνάται; Ορισμός του i σαν βέλτιστη λύση; Τέλος For Repeat t:=t+1; επιλογή γονέων από τον πληθυσμό pop(t); Δημιουργία απογόνων εφαρμόζοντας ανασυνδυασμό των επιλεγμένων γονέων; Πανεπιστήμιο Πατρών 99
100 If ένα άτομο επιλέγεται να υποβληθεί σε μετάλλαξη τότε εφαρμόζεται τοπική έρευνα; Αξιολόγηση της καταλληλότητας των τρεχόντων ατόμων και των γειτόνων τους; Υιοθέτηση καλύτερου ατόμου Until συνθήκες τερματισμού ικανοποιηθούν Αλγόριθμοι Variable Neighborhood Search Ο αλγόριθμος αναζήτησης μεταβλητής γειτονιάς (Variable Neighborhood Search VNS) προτάθηκε από τους Mladenovic και Hansen (Mladenovic and Hansen, 1997). Η βασική ιδέα είναι η χρήση πολλών μεθόδων τοπικής αναζήτησης για να βρεθεί μια καλύτερη λύση ή για να ξεφύγει ο αλγόριθμος από κάποιο τοπικό βέλτιστο. Σχεδιάστηκε για την προσέγγιση των λύσεων διακριτών και συνεχών προβλημάτων βελτιστοποίησης και σύμφωνα με αυτό στοχεύει στη λύση προβλημάτων γραμμικού προγραμματισμού, ακέραιου προγραμματισμού, μικτών προβλημάτων ακέραιου προγραμματισμού, μη γραμμικών προβλημάτων, κ.λ.π.. Ο αλγόριθμος στηρίζεται στις εξής παρατηρήσεις: Ένα τοπικό ελάχιστο με βάση μια γειτονιά δεν είναι απαραίτητο να είναι επίσης τοπικό ελάχιστο με βάση κάποια άλλη γειτονιά. Ένα καθολικό ελάχιστο είναι τοπικό ελάχιστο για όλες τις πιθανές γειτονιές. Για πολλά προβλήματα τα τοπικά ελάχιστα για μια ή περισσότερες γειτονιές είναι σχετικά κοντά το ένα στο άλλο. Η μέθοδος αυτή εκμεταλλεύεται το γεγονός ότι διαφορετικές μέθοδοι τοπικής αναζήτησης μπορούν να οδηγήσουν σε διαφορετικά τοπικά βέλτιστα. Είναι ένας στοχαστικός αλγόριθμος, ο οποίος επιλέγει ένα σύνολο γειτονιών (Ni, όπου i=1,, imax) και στη συνέχεια η κάθε επανάληψη αλγορίθμου ακολουθεί τα εξής βήματα: Πανεπιστήμιο Πατρών 100
101 την ανακίνηση (shaking), την τοπική αναζήτηση (local search) και την κίνηση (move). Στην ουσία σε κάθε επανάληψη μία αρχική λύση s δημιουργείται από την τρέχουσα γειτονιά αναζήτησης (για παράδειγμα με τυχαίο τρόπο). Μία διαδικασία τοπικής αναζήτησης εφαρμόζεται στη λύση s με στόχο να παράγουμε τη λύση s. Έπειτα ελέγχεται η αντικειμενική συνάρτηση και αν η λύση οδηγεί σε βελτίωση του κόστους, τότε η καινούρια λύση αντικαθιστά την αρχική λύση. Στη συνέχεια η ίδια διαδικασία αρχίζει από την αρχή με τη χρήση της γειτονιάς N1 και τη καινούρια λύση s που βρήκαμε προηγουμένως. Αν δεν βρεθεί μία καλύτερη λύση τότε ο αλγόριθμος προχωρά στην επόμενη γειτονιά αναζήτησης. Σε διάφορες μεταευρετικές μεθόδους οι δομές της γειτονιάς λειτουργούν μόνο με μια ενιαία δομή γειτονιά. Όμως πολλές παραλλαγές της αναζήτησης μεταβλητής γειτονιάς, λειτουργούν σε ένα σύνολο διαφορετικών δομών γειτονιάς. Η μέθοδοι VNS στοχεύουν στην εξεύρεση μιας τακτικής αλληλεπίδρασης μεταξύ της διαφοροποίησης και της εντατικοποίησης για να ξεπεραστούν τα τοπικά βέλτιστα με συνδυασμό μιας τοπικής αναζήτησης και συστηματικής αλλαγής της γειτονιάς (Mladenovic and Hansen, 1997; Hansen and Mladenovic, 1999; Hansen et al., 2000). Η διαφοροποίηση αναφέρεται στην ικανότητα να εξερευνήσει πολλές διαφορετικές περιοχές του χώρου αναζήτησης, ενώ η εντατικοποίηση αναφέρεται στην ικανότητα να αποκτήσουν υψηλής ποιότητας λύσεις εντός των περιοχών αυτών. Η βασική μέθοδος VNS ξεκινά επιλέγοντας ένα πεπερασμένο σύνολο προκαθορισμένων δομών γειτονιάς που θα χρησιμοποιηθεί κατά τη διάρκεια της αναζήτησης. Η γειτονιά από την οποία γίνεται επιλογή (για αναπαραγωγή και αντικατάσταση) περιορίζεται σε μια περιοχή γύρω από κάθε άτομο. Το τι θεωρείται κάθε φορά γειτονιά εξαρτάται από την τοπολογία γειτονιάς που χρησιμοποιείται (Blum and Roli, 2003). Η μέθοδος VNS δεν ακολουθεί μια τροχιά αναζήτησης, αλλά εξετάζει γειτονιές λύσεων που διαφέρουν σε σημαντικό βαθμό σε σχέση με την τρέχουσα καλύτερη λύση. Η καλύτερη λύση αντικαθίσταται αν βρεθεί λύση με ευνοϊκότερη Πανεπιστήμιο Πατρών 101
102 συνάρτηση κόστους. Δημιουργείται ένα σύνολο από γειτονιές Nk για k=1 kmax που πρόκειται να χρησιμοποιηθούν στην αναζήτηση. Εντοπίζεται μια αρχική λύση x και επιλέγεται ένα κριτήριο τερματισμού της διαδικασίας που μπορεί να είναι ο χρόνος εκτέλεσης, ο μέγιστος αριθμός επαναλήψεων ή ο μέγιστος αριθμός επαναλήψεων χωρίς να παρουσιαστεί βελτίωση. Τα επόμενα βήματα εκτελούνται μέχρι να ικανοποιηθεί το επιλεγμένο κριτήριο τερματισμού. Αλγόριθμος της αναζήτησης μεταβαλλόμενης γειτονιάς Δημιούργησε μια λύση x και αξιολόγησε την f(x) Βήμα 1 ο : θέσε το κ=1 Βήμα 2 ο : Δημιουργείται ένα τυχαίο σημείο x από την γειτονιά κ του x (shaking). Βήμα 3 ο :Εφαρμόζεται μια μέθοδος τοπικής αναζήτησης με το x ως αρχική λύση η οποία επιστρέφει το x ως τοπικό βέλτιστο. Βήμα 4 ο : Αν η λύση x είναι καλύτερη από την καλύτερη λύση που έχει παρατηρηθεί συνολικά τότε αντικαθιστά την λύση x με την x, και θέτει κ=1, αλλιώς η μεταβλητή κ αυξάνεται κατά ένα κ=κ+1. Βήμα 5 ο : Αν κ κmax τότε επιστροφή στο βήμα 2 αλλιώς επιστροφή στο βήμα 1. Πανεπιστήμιο Πατρών 102
103 ΚΕΦΑΛΑΙΟ 4: Χρονοπρογραμματισμός Nurse Rostering 4.1 Εισαγωγή Το πρόβλημα χρονοπρογραμματισμού προγράμματος λειτουργίας για Νοσοκομείο είναι ένα από τα δυσκολότερα συνδυαστικά προβλήματα βελτιστοποίησης που έχουν μελετηθεί από τους ερευνητές στο πέρασμα των χρόνων. Ο Burke κ.ά. (Burke et al., 1995) αναφέρουν τους δύο επόμενους περιορισμούς που είναι γενικά αποδεκτοί σε κάθε πρόβλημα χρονοπρογραμματισμού και καθορίζουν το αν είναι εφικτός ο χρονοπρογραμματισμός ή όχι. i. Καμία οντότητα δεν πρέπει να προγραμματιστεί να βρίσκεται σε περισσότερα από ένα μέρη την ίδια στιγμή. Στο χρονοπρογραμματισμό νοσοκομείων αυτό θα σήμαινε: κανένας νοσοκόμος δεν μπορεί να συμμετάσχει σε περισσότερες από μία βάρδια κάθε ημέρα. ii. Για κάθε περίοδο οι απαιτήσεις πόρων του προγραμματισμένου γεγονότος για την περίοδο αυτή δεν πρέπει να ξεπερνούν τους διαθέσιμους πόρους. Η δημιουργία των προγραμμάτων νοσοκομείου αποτελεί μία διοικητική διαδικασία μείζονος σημασίας για όλους τους εμπλεκομένους για την εύρυθμη, λειτουργία του οργανισμού. Το πρόβλημα αυτό αντιπροσωπεύει μια κατηγορία προβλημάτων χρονοδιαγραμμάτων που αναφέρονται στο πρόγραμμα της βάρδιας του προσωπικού ενός νοσοκομείου. Ο Χρονοπρογραμματισμός Νοσοκομείου συνίσταται στη δημιουργία καθημερινών (ή εβδομαδιαίων) προγραμμάτων για νοσηλευτές εκχωρώντας ένα αριθμό των καθημερινών (ή εβδομαδιαίων) βαρδιών των νοσηλευτών με διαφορετικές δεξιότητες, προκειμένου να ικανοποιηθούν ορισμένοι προκαθορισμένοι ανελαστικοί και ελαστικοί περιορισμοί. Ο Χρονοπρογραμματισμός Νοσοκομείου είναι ένα μη πολυωνυμικού χρόνου (NP) πρόβλημα στη γενική του μορφή, στο βαθμό που αφορά την υπολογιστική πολυπλοκότητα τους (Cooper and Kingston, 1995). Με άλλα λόγια, η δυσκολία να Πανεπιστήμιο Πατρών 103
104 βρεθεί μια λύση για αυτό το είδος των προβλημάτων αυξάνεται εκθετικά με το μέγεθος τους και ένας αιτιοκρατικός αλγόριθμος, παρέχοντας μια αποδεκτή λύση σε πολυωνυμικό χρόνο, δε μπορεί να βρεθεί (White et al., 2004; Yang and Jat 2011). Για τον χρονοπρογραμματισμό νοσοκομείου στον πραγματικό κόσμο, πρέπει να ικανοποιηθεί ένας μεγάλος αριθμός περιορισμών και απαιτήσεων που επηρεάζονται από πολλές παραμέτρους. Ως αποτέλεσμα, είναι πολύπλοκο και δύσκολο να δοθεί μια αποδοτική λύση και αποτελεί μια μεγάλη πρόκληση, όχι μόνο για τους διαχειριστές του προσωπικού στα νοσοκομεία, αλλά και για τους ερευνητές στα πανεπιστήμια. Οι φορείς που εμπλέκονται στην κατασκευή ενός εφικτού και αποτελεσματικού προγράμματος βαρδιών είναι οι νοσηλευτές, οι μετατοπίσεις και οι χρονικές περίοδοι. Πιο συγκεκριμένα, οι νοσηλευτές πρέπει να κάνουν κάποιες συγκεκριμένες αλλαγές σε συγκεκριμένες χρονικές περιόδους και εξετάζονται πολλά διαφορετικά θέματα, όπως ο φόρτος εργασίας των νοσηλευτών, η ζήτηση κάλυψης, τα ρεπό, οι απαιτήσεις που σχετίζονται με το Σαββατοκύριακο, οι διαδοχικές αναθέσεις των βαρδιών, κλπ. (Haspeelagh et al. 2010). Τις τελευταίες δεκαετίες, ο χρονοπρογραμματισμός νοσοκομείου έχει μελετηθεί εκτενώς και πολλές διαφορετικές προσεγγίσεις έχουν εφαρμοστεί για την επίλυση πραγματικών προβλημάτων χρονοπρογραμματισμού νοσοκομείων. Αυτές οι προσεγγίσεις μπορούν να ταξινομηθούν σε δύο μεγάλες κατηγορίες: στις προσεγγίσεις που βασίζονται σε ντετερμινιστικούς αλγόριθμους και σε αυτές που βασίζονται σε ευρετικούς. Όπως αναφέρθηκε παραπάνω, το κύριο μειονέκτημα της πρώτης κατηγορίας έγκειται στην υψηλή υπολογιστική πολυπλοκότητα της, η οποία περιορίζει την εφαρμογή τους μόνο σε μικρές περιπτώσεις μεγέθους. Ως εκ τούτου, εναλλακτικές μέθοδοι βελτιστοποίησης, δηλαδή οι ευρετικοί και οι μεταευρετικοί αλγόριθμοι, έχουν αναπτυχθεί προκειμένου να βρεθεί λύση αντίστοιχα καλής ποιότητας σε ένα εύλογο χρονικό διάστημα. Οι ευρετικοί και οι μεταευρετικοί αλγόριθμοι περιλαμβάνουν μια μεγάλη κατηγορία μεθόδων για την επίλυση του προβλήματος χρονοπρογραμματισμού νοσοκομείων. Εφαρμόζονται κυρίως σε πολύπλοκα προβλήματα βελτιστοποίησης και σε περιπτώσεις όπου άλλες μέθοδοι βελτιστοποίησης έχουν αποτύχει να είναι είτε αποτελεσματικές. Οι ευρετικές και οι μεταευρετικές μέθοδοι επίλυσης του προβλήματος χρονοπρογραμματισμού νοσοκομείων περιλαμβάνουν: Πανεπιστήμιο Πατρών 104
105 εξελικτικούς αλγόριθμους (Bai et al., 2010; Maenhout and Vanhucke, 2011) μιμητικούς αλγόριθμους (Ozcan, 2005) αναζήτηση μεταβλητής γειτονιάς (Burke et al., 2003; Burke et al. 2008; Lü and Hao, 2012) αναζήτηση σκέδασης (Burke et al., 2010 a ; Maenhout and Vanhoucke, 2006) αναζήτηση ταμπού (Burke and Soubeiga, 2003; Oughalime et al., 2008) επαλαμβανόμενη τοπική αναζήτηση (Burke et al. 2011) προσομοιωμένη ανόπτηση (Kundu et al., 2008) βελτιστοποίηση αποικίας μυρμηγκιών (Gutjahr and Rauner, 2007) βελτιστοποίηση σμήνους σωματιδίων (Gunther and Nissen, 2010) Στις επόμενες ενότητες θα περιγραφούν με λεπτομέρεια οι αλγόριθμοι που σχεδιάσαμε και εφαρμόσαμε σε διάφορα προβλήματα χρονοπρογραμματισμού βαρδιών σε νοσοκομειακά ιδρύματα τα οποία αντλήσαμε από τη σχετική διεθνή βιβλιογραφία και από τους σχετικούς διεθνείς διαγωνισμούς πάνω στο συγκεκριμένο θέμα. 4.2 Περιγραφή του αλγορίθμου που εφαρμόστηκε στα δεδομένα που έχει αναρτημένα το Πανεπιστήμιο του Νόττινχαμ Εισαγωγή Ο αλγόριθμος που παρουσιάζεται περιλαμβάνει μια ευρετική μέθοδο για την επίλυση του προβλήματος χρονοπρογραμματισμού νοσοκομείου και αντιμετωπίζεται το πρόβλημα, όπως έχει οριστεί σε διάφορα στιγμιότυπα από το Πανεπιστήμιο του Νόττινχαμ. Ακριβέστερα, είναι μια δύο φάσεων στοχαστική αναζήτηση μεταβλητής γειτονιά, η οποία χρησιμοποιείται για τη δημιουργία Πανεπιστήμιο Πατρών 105
106 εφικτής και αποτελεσματικής λύσης χρονοδιαγράμματος βαρδιών νοσηλευτών για πολλές διαφορετικές περιπτώσεις προβλημάτων νοσοκομείων. Για να απεδείχθη η αποτελεσματικότητα και η γενική εφαρμοσιμότητα της προτεινόμενης προσέγγισης, πραγματοποιήθηκαν πειράματα με δεδομένα εισόδου του πραγματικού κόσμου που προέρχονται από πολλές διαφορετικές περιπτώσεις χρονοπρογραμματισμού νοσηλευτών που έχουν δημοσιευτεί στη σχετική βιβλιογραφία. Οι περιπτώσεις που χρησιμοποιούνται έχουν σημαντικές διαφορές ως προς τη φύση, τη δομή, τη φιλοσοφία και το είδος των ανελαστικών και ελαστικών περιορισμών. Υπολογιστικά αποτελέσματα δείχνουν ότι ο προτεινόμενος αλγόριθμος αποδίδει καλύτερα συγκρινόμενος με έξι διαφορετικές υφιστάμενες προσεγγίσεις, που εφαρμόζονται στα ίδια νοσοκομειακά δεδομένα εισόδου, χρησιμοποιώντας τα ίδια κριτήρια αξιολόγησης. Επιπλέον, σε όλες τις περιπτώσεις, καταφέρνει να πετύχει το πιο καλό δημοσιευμένο αποτέλεσμα που αναφέρεται στη σχετική βιβλιογραφία σε συντομότερο χρόνο εκτέλεσης, ενώ σε μία περίπτωση, καταφέρνει να πετύχει το καλύτερο αποτέλεσμα που έχει αναφερθεί μέχρι εκείνη τη χρονική στιγμή στη σχετική βιβλιογραφία. Ο χρονοπρογραμματισμός νοσηλευτών αντιμετωπίζει το πρόβλημα, της δημιουργίας προγράμματος βαρδιών του προσωπικού σε ένα νοσοκομείο για μια εβδομάδα ή για τέσσερις εβδομάδες. Το πρόβλημα αυτό ανήκει στην ευρεία κατηγορία των προβλημάτων χρονοπρογραμματισμού. Τα προβλήματα αυτά ασχολούνται με την κατανομή των πόρων σε συγκεκριμένες χρονικές θυρίδες, έτσι ώστε κάποιοι συγκεκριμένοι περιορισμοί να ικανοποιούνται και τα χρονοδιαγράμματα που δημιουργούνται να είναι έγκυρα και αποδεκτά. Σύμφωνα με την κάθε περίπτωση, οι περιορισμοί, οι επιθυμίες και τα στοιχεία που καθορίζουν την αποτελεσματικότητα του κάθε χρονοδιαγράμματος προσδιορίζουν την επιτυχία του. Αυτά τα προβλήματα χρονοπρογραμματισμού είναι μη-ντετερμινιστικά πολυωνυμικού χρόνου (NP-δύσκολα) στη γενική τους μορφή (Cooper and Kingston, 1995), όσον αφορά την υπολογιστική πολυπλοκότητα τους, πράγμα που σημαίνει ότι η δυσκολία να βρεθεί μια λύση αυξάνεται εκθετικά με το μέγεθος τους και ένας ντετερμινιστικός αλγόριθμος, που θα δίνει μια αποδεκτή λύση σε πολυωνυμικό χρόνο, δε μπορεί να βρεθεί (White et al., 2004; Yang and Jat 2011). Ως εκ τούτου, Πανεπιστήμιο Πατρών 106
107 έχουν αναπτυχθεί εναλλακτικές μέθοδοι βελτιστοποίησης, ευρετικές και μεταευρετικές τεχνικές, προκειμένου να επιτευχθεί η (σχεδόν) βέλτιστη λύση για τις διάφορες παραλλαγές του συγκεκριμένου προβλήματος (Van den Bergh et al., 2013). Οι μεταευρετικοί αλγόριθμοι περιλαμβάνουν μια μεγάλη κατηγορία των προσεγγίσεων για πολύπλοκα προβλήματα βελτιστοποίησης σε περιπτώσεις, όπου άλλες μέθοδοι βελτιστοποίησης έχουν αποτύχει να είναι είτε αποτελεσματικές ή αποτελεσματικές μεν απογοητευτικά αργές δε. Τα κύρια πλεονεκτήματα των μεταευρετικών μεθόδων είναι η αποτελεσματικότητά τους και η γενική εφαρμογή τους. Ο αλγόριθμος που παρουσιάζεται περιλαμβάνει μια ευρετική μέθοδο για την επίλυση του προβλήματος νοσηλευτών χρονοπρογραμματισμού. Ακριβέστερα, είναι μια μέθοδος στοχαστικής αναζήτησης μεταβλητής γειτονιάς, η οποία χρησιμοποιεί τρεις διαφορετικές διαδικασίες δημιουργίας νέας γειτονιάς, οι οποίες είναι διαφορετικές από άλλες αντίστοιχες διαδικασίες που παρουσιάζονται στην βιβλιογραφία (Burke et al., 2003). Η χρήση αυτών των τριών διαδικασιών από τον προτεινόμενο αλγόριθμο του επιτρέπει να ψάξει σε τρεις διαφορετικές γειτονιές του χώρου αναζήτησης του προβλήματος. Ο λόγος για τον οποίο αποφασίσαμε να χρησιμοποιήσουμε μια μέθοδο αναζήτησης μεταβλητής γειτονιάς για να λυθεί αυτό το συγκεκριμένο πρόβλημα, είναι ότι οι αλγόριθμοι αναζήτησης μεταβλητής γειτονιάς έχουν εφαρμοστεί ευρέως σε πολλά προβλήματα πολυκριτηριακής βελτιστοποίησης έχοντας πολύ ικανοποιητικά αποτελέσματα (Lü and Hao, 2012; Brimberg et al. 2000; Fleszar and Hindi, 2004). Η καινοτομία του προτεινόμενου αλγορίθμου είναι διττή. Κατ αρχάς, αν και υπάρχουν πολλές εργασίες με αλγορίθμους αναζήτησης μεταβλητής γειτονιάς που εφαρμόζονται σε προβλήματα χρονοπρογραμματισμού στη βιβλιογραφία (Burke et al., 2003; Avanthay et al., 2003; Di Gaspero and Schaerf, 2003; Burke et al., 2010 b ; Burke et al., 2010 c ), δεν υπάρχει μέχρι τη στιγμή που μιλάμε κάποια δύο φάσεων προσέγγιση αναζήτησης μεταβλητής γειτονιάς, που να έχει εφαρμοστεί για την Πανεπιστήμιο Πατρών 107
108 επίλυση του προβλήματος χρονοπρογραμματισμού βαρδιών σε νοσοκομεία. Αυτό ήταν το κύριο κίνητρό μας για να σχεδιάσουμε και να εφαρμόσουμε μία δύο φάσεων στοχαστική αναζήτηση μεταβλητής γειτονιάς, με σκοπό να λύσουμε αποτελεσματικά και αποδοτικά το πρόβλημα χρονοπρογραμματισμού βαρδιών σε νοσοκομεία. Η δεύτερη καινοτομία του προτεινόμενου αλγορίθμου είναι η εφαρμογή μιας «στοχαστικής μεθόδου αντιμετάθεσης τμήματος προγράμματος», η οποία είναι καινοτόμα, με ότι γνωρίζουμε μέχρι τώρα στην ακαδημαϊκή κοινότητα, και σίγουρα διαφορετική από τα άλλα είδη των μεθόδων αντιμετάθεσης που έχουν παρουσιαστεί στη σχετική βιβλιογραφία (Burke et al., 2003; Avanthay et al., 2003). Ως εκ τούτου, σε αυτή τη εργασία εφαρμόζεται, ένας νέος αλγόριθμος δύο φάσεων στοχαστικής αναζήτησης μεταβλητής γειτονιάς (Hansen et al., 2001; Hansen et al., 2010) που έχει σχεδιαστεί, αναπτυχθεί και εφαρμοστεί στο πρόβλημα χρονοπρογραμματισμού νοσηλευτών. Η προτεινόμενη δύο φάσεων στοχαστική αναζήτηση μεταβλητής γειτονιάς χει χρησιμοποιηθεί προκειμένου να δημιουργηθούν εφικτά και αποδοτικά χρονοδιαγράμματα βαρδιών προσωπικού σε πολλά διαφορετικά νοσοκομεία που έχουν διαφορετικούς τύπους περιορισμών. Για να αποδειχθεί η αποτελεσματικότητα, η αποδοτικότητα και η γενική εφαρμοσιμότητα του προτεινόμενου αλγόριθμου, συγκρίθηκε η απόδοσή του με άλλες έξι πολύ αποτελεσματικές προσεγγίσεις που δημοσιεύονται στη βιβλιογραφία και έχουν εφαρμοστεί στις ίδιες περιπτώσεις του ίδιου προβλήματος (Valouxis and Houssos, 2000; Li et al., 2003; Brucker et al., 2010; Puente et al., 2009; Musa and Saxena, 1984; Weil et al., 1995) Σχετικές εργασίες Στην ενότητα αυτή θα παρουσιαστούν κάποιες αποδοτικές μέθοδοι μου έχουν εφαρμοστεί σε προβλήματα χρονοπρογραμματισμού βαρδιών σε νοσοκομεία. Η προσέγγιση που παρουσιάζεται στο (Valouxis and Houssos, 2000) είναι μια υβριδική μέθοδος που χρησιμοποιεί τα πλεονεκτήματα της επιχειρησιακής έρευνας και της τεχνητής νοημοσύνης. Αρχικά, χρησιμοποιεί ακέραιο γραμμικό προγραμματισμό για να καταφέρει να βρει μια εφικτή λύση. Η λύση αυτή Πανεπιστήμιο Πατρών 108
109 βελτιώνεται περεταίρω με τη χρήση τοπικών τεχνικών αναζήτησης. Επιπλέον, μια στρατηγική αναζήτησης με λίστα ταμπού εφαρμόζεται για την κατασκευή αποτελεσματικών και αποδοτικών λύσεων. Ο Li κ.ά., παρουσιάζουν μια υβριδική προσέγγιση τεχνητής νοημοσύνης σε μια κλάση προβλημάτων χρονοπρογραμματισμού νοσηλευτών στο (Li et al., 2003), η οποία δίνεται σε δύο φάσεις. Η πρώτη φάση λύνει μια χαλαρή έκδοση του προβλήματος, η οποία ικανοποιεί μόνο τους ανελαστικούς περιορισμούς και μέρος των απαιτήσεων των νοσηλευτών για βάρδιες. Στη δεύτερη φάση, εφαρμόζεται μια τοπική αναζήτηση και μια αναζήτηση ταμπού για τη βελτίωση της λύσης. Ο αλγόριθμος που παρουσιάζεται από τον Brucker κ.ά. (Brucker et al., 2010) είναι μια προσέγγιση που βασίζεται στην ακολουθία των βαρδιών και αποτελείται επίσης από δύο στάδια: (α) την κατασκευή ακολουθιών βαρδιών υψηλής ποιότητας για τους νοσηλευτές λαμβάνοντας υπόψη μόνο τους περιορισμούς τους και (β) την επαναληπτική κατασκευή χρονοδιαγράμματος για τους νοσηλευτές από τους γενικούς καταλόγους, με βάση τις αλληλουχίες που κατασκευάστηκαν και λαμβάνοντας υπόψη το χρονοδιάγραμμα και το πρόγραμμα των περιορισμών. Εφαρμόζεται μια άπληστη τοπική αναζήτηση κατά τη διάρκεια της κατασκευή της λύσης η οποία καταφέρνει να βελτιώσει τη (μερική) λύση που σχηματίσθηκε. Ο Puente κ.ά. παρουσιάζουν μια γενετική προσέγγιση αλγόριθμου για την επίλυση του προβλήματος χρονοπρογραμματισμού νοσηλευτών σε ένα τμήμα επειγόντων περιστατικών σε νοσοκομεία (Puente et al., 2009). Ειδικότερα, γίνεται προσπάθεια να αυτοματοποιηθεί η δημιουργία των χρονοπρογραμμάτων με την εφαρμογή γενετικών αλγορίθμων σε ένα πραγματικό τμήμα επειγόντων περιστατικών ενός νοσοκομείου. Αρχικά, με έναν ευρετικό αλγόριθμο, σχεδιάζεται η ικανοποίηση των ανελαστικών περιορισμών, και παράγεται ένας αρχικός πληθυσμός εφικτών λύσεων. Στη συνέχεια, επαναληπτικά, ένας γενετικός αλγόριθμος εξελίσσει νέες γενιές εφικτών λύσεων, χάρη στη χρήση ενός συγκεκριμένου τελεστή διασταύρωσης, ο οποίος λειτουργεί επαναληπτικά με βάση την ανταλλαγή ολόκληρων εβδομάδων εργασίας. Οι Musa και Saxena περιγράφουν έναν αλγόριθμο μιας φάσης για τον προγραμματισμό νοσηλευτών σε μια νοσοκομειακή μονάδα (Musa and Saxena, 1984). Οι στόχοι αντιπροσωπεύουν τις πολιτικές προγραμματισμού του νοσοκομείου και τις προτιμήσεις των νοσηλευτών για το εάν Πανεπιστήμιο Πατρών 109
110 θα εργάζονται ή όχι τα σαββατοκύριακα. Πειράματα σε μία μονάδα με 11 νοσηλευτές οδήγησε σε ικανοποιητικά αποτελέσματα. Τέλος, ο Weil κ.ά. παρουσιάζουν μια μέθοδο ικανοποίησης περιορισμών με σκοπό τον αποδοτικό χρονοπρογραμματισμό νοσηλευτών (Weil et al., 1995). Πειραματικά αποτελέσματα που λαμβάνονται είναι πολύ ικανοποιητικά, όσον αφορά το χρόνο απόκρισης και την ευελιξία της προσέγγισης. Η προτεινόμενος αλγόριθμος αναζήτησης μεταβλητής γειτονιάς χρησιμοποιεί τον ίδιο φορμαλισμό για την μοντελοποίηση του προβλήματος χρονοπρογραμματισμού νοσηλευτών, προσπαθεί να ελαχιστοποιήσει την ίδια αντικειμενική συνάρτηση και χρησιμοποιεί τα ίδια κριτήρια αποτίμησης με αυτά που χρησιμοποιούνται στις προαναφερθείσες εργασίες (Valouxis and Houssos, 2000; Li et al., 2003; Brucker et al., 2010; Puente et al., 2009; Musa and Saxena, 1984; Weil et al., 1995). Ως εκ τούτου, η σύγκριση των πειραματικών αποτελεσμάτων τους είναι απολύτως δίκαιη. Επιπλέον, προκειμένου να γίνει μια δίκαιη σύγκριση του προτεινόμενου αλγορίθμου με αυτούς τους αλγορίθμους, αποφασίσαμε να χρησιμοποιήσουμε τις ίδιες ακριβώς περιπτώσεις εισόδου που χρησιμοποιούνται από αυτές τις έξι προσεγγίσεις. Υπολογιστικά αποτελέσματα έδειξαν ότι η προτεινόμενη δύο φάσεων αναζήτηση μεταβλητής γειτονιάς επιτυγχάνει καλύτερα αποτελέσματα σε σχέση με τα αποτελέσματα αυτών των έξι αλγορίθμων. Η σύγκριση πραγματοποιείται με βάση επτά περιπτώσεις που λαμβάνονται από καταστάσεις του πραγματικού κόσμου που χρησιμοποιήθηκαν επίσης ως είσοδοι από τις έξι προαναφερθείσες εργασίες που αναφέρονται παραπάνω. Σε μία περίπτωση, ο προτεινόμενος αλγόριθμος καταφέρνει να νικήσει τη καλύτερη-γνωστή λύση που έχει επιτευχθεί μέχρι αυτή τη στιγμή. Επιπλέον, στις υπόλοιπες έξι περιπτώσεις, ο προτεινόμενος αλγόριθμος καταφέρνει να βρει λύση πιο γρήγορα, για κάθε διαφορετικό παράδειγμα, ισοφαρίζοντας το καλύτερο γνωστό αποτέλεσμα που έχει αναφερθεί στη βιβλιογραφία μέχρι τη στιγμή αυτή. Πανεπιστήμιο Πατρών 110
111 4.2.3 Ορισμός του προβλήματος Το πρόβλημα χρονοπρογραμματισμού νοσηλευτών πρέπει να ικανοποιεί ένα μεγάλο αριθμό περιορισμών και επηρεάζεται από πολλές παραμέτρους. Οι φορείς που εμπλέκονται στην κατασκευή μιας εφικτής και αποτελεσματικής λύσης του προβλήματος χρονοπρογραμματισμού νοσηλευτών είναι οι νοσηλευτές, οι βάρδιες και οι χρονικές περίοδοι. Πιο συγκεκριμένα, οι νοσηλευτές πρέπει να κάνουν κάποιες συγκεκριμένες βάρδιες σε συγκεκριμένες χρονικές περιόδους. Ως εκ τούτου, προκειμένου να δημιουργηθεί ένα εφικτό χρονοδιάγραμμα, για το ζεύγος νοσοκόμος-βάρδια, πρέπει να βρεθούν οι χρονικές περίοδοι που αυτές οι δεσμεύσεις θα λάβουν χώρα. Γενικά, οι περιορισμοί αναφορικά με την κατασκευή μιας λύσης βαρδιών νοσηλευτών μπορούν να χωριστούν σε δύο κατηγορίες: στους ανελαστικούς και στους ελαστικούς περιορισμούς. Όταν πληρούνται όλοι οι ανελαστικοί περιορισμοί, τότε έχουμε μια εφικτή λύση προγραμματισμού βαρδιών. Ωστόσο, ο αριθμός των ελαστικών περιορισμών που ικανοποιούνται είναι ο κύριος παράγοντας που επηρεάζει την ποιότητα της λύσης. Ο τελικός στόχος, φυσικά, είναι να δημιουργηθεί μια εφικτή λύση μεγιστοποιώντας παράλληλα την ποιότητά της, δηλαδή, να δημιουργηθεί μια λύση που να ικανοποιούνται όλοι οι ανελαστικοί περιορισμοί και, ταυτόχρονα, να ικανοποιείται ο μέγιστος δυνατός αριθμός των ελαστικών περιορισμών Περιορισμοί Υπάρχουν πολλοί διαφορετικοί τύποι προβλημάτων χρονοπρογραμματισμού νοσηλευτών που αναφέρονται στη βιβλιογραφία, το καθένα με τους δικούς του περιορισμούς. Ωστόσο, στις περισσότερες περιπτώσεις, οι ανελαστικοί περιορισμοί που πρέπει να πληρούνται προκειμένου η λύση να είναι έγκυρη είναι οι εξής: Όλες οι απαιτήσεις τύπου βάρδιας για όλη τη διάρκεια της περιόδου προγραμματισμού πρέπει να πληρούνται Οι απαιτήσεις κάλυψης βαρδιών πρέπει να πληρούνται Κάθε νοσοκόμος θα πρέπει να εργάζεται το πολύ μία βάρδια ημερησίως Πανεπιστήμιο Πατρών 111
112 Επίσης, οι μαλακοί περιορισμοί που πρέπει να πληρούνται, στους περισσότερους τύπους των προβλημάτων χρονοπρογραμματισμού νοσηλευτών, για να θεωρείται μια λύση υψηλής ποιότητας είναι οι εξής: Μέγιστος αριθμός των βαρδιών που θα πρέπει να ανατεθούν σε ένα νοσοκόμο Ελάχιστος αριθμός των βαρδιών που θα πρέπει να ανατεθούν σε ένα νοσοκόμο Μέγιστος αριθμός διαδοχικών εργάσιμων ημερών Ελάχιστος αριθμός διαδοχικών εργάσιμων ημερών Μέγιστος αριθμός διαδοχικών ημερών χωρίς εργασία Ελάχιστος αριθμός διαδοχικών ημερών χωρίς εργασία Μέγιστος αριθμός ωρών εργασίας Ελάχιστος αριθμός ωρών εργασίας Μέγιστος αριθμός συνεχόμενων σαββατοκύριακων εργασίας Μέγιστος αριθμός Σαββατοκύριακων που εργάζονται σε χρονικό ορίζοντα τεσσάρων εβδομάδων Αριθμός ημερών ρεπό μετά από μια σειρά από νυχτερινές βάρδιες Πλήρη Σαββατοκύριακα (δηλαδή, εάν ένας νοσοκόμος πρέπει να εργαστεί το πολύ μόνο μία μέρα μέσα στο Σαββατοκύριακο, τότε αυτό επισύρει μία ποινή) Ίδιου τύπου βάρδια κατά τη διάρκεια του Σαββατοκύριακου (δηλαδή, οι αναθέσεις διαφορετικών βαρδιών προς τον ίδιο νοσοκόμο κατά τη διάρκεια ενός Σαββατοκύριακου επισύρουν μία ποινή) Ανεπιθύμητα πρότυπα βαρδιών (ένα ανεπιθύμητο πρότυπο είναι μια σειρά από βάρδιες που δεν είναι στις προτιμήσεις ενός νοσοκόμου, βάσει της σύμβασής του) Ανεπιθύμητα πρότυπα βαρδιών που δεν αφορούν συγκεκριμένους τύπους βαρδιών Ανεπιθύμητα πρότυπα βαρδιών που αφορούν συγκεκριμένους τύπους βαρδιών Πανεπιστήμιο Πατρών 112
113 Μη σωστές ικανότητες (δηλαδή, αν ανατεθεί σε μια νοσοκόμα ένας τύπος βάρδιας που απαιτεί μια συγκεκριμένη ικανότητα που δεν έχεις, τότε αυτό επισύρει μία ποινή) Αιτήματα για εργασία ή μη εργασία σε συγκεκριμένες ημέρες (δηλαδή, οι αιτήσεις των νοσηλευτών να εργαστούν ή να μην εργαστούν σε συγκεκριμένες ημέρες της εβδομάδας θα πρέπει να τηρούνται, αλλιώς η ποιότητα της λύσης είναι χαμηλή) Αιτήματα για βάρδιες σε συγκεκριμένες ημέρες (παρόμοια με την προηγούμενη, αλλά τώρα για συγκεκριμένες βάρδιες σε ορισμένες ημέρες) Όπως αναφέρθηκε στην εισαγωγή, σε αυτή τη προσπάθεια, ο προτεινόμενος αλγόριθμος αναζήτησης μεταβλητής γειτονιάς εφαρμόζεται σε επτά διαφορετικές περιπτώσεις χρονοπρογραμματισμού νοσοκομείων καθεμία από τις οποίες ανήκει σε ένα διαφορετικό τύπο προβλήματος χρονοπρογραμματισμού νοσοκομειακών ιδρυμάτων. Για μια πιο λεπτομερή περιγραφή κάθε τύπου του προβλήματος χρονοπρογραμματισμού νοσοκόμων που αντιμετωπίζει ο προτεινόμενος αλγόριθμος, ο αναγνώστης μπορεί να ανατρέξει στις αντίστοιχες εργασίες (Valouxis and Houssos, 2000; Li et al., 2003; Brucker et al., 2010; Puente et al., 2009; Musa and Saxena, 1984; Weil et al., 1995) Πειραματική διαδικασία εφαρμογής ΓΑ και ανάλυση αποτελεσμάτων Στο πρώτο στάδιο της έρευνάς μας ασχοληθήκαμε με τη σχεδίαση και εφαρμογή ενός ΓΑ σε 7 πρότυπα προβλημάτων χρονοπρογραμματισμού βαρδιών που παρέχονται από την ιστοσελίδα του Πανεπιστημίου του Νόττινχαμ. Ο στόχος είναι η ικανοποίηση όσο το δυνατόν περισσότερων ελαστικών περιορισμών και προτιμήσεων του προσωπικού, ενώ παράλληλα θα πρέπει να καλύπτονται οι λειτουργικές ανάγκες του Νοσοκομείου για ένα προκαθορισμένο χρονικό διάστημα. Δηλαδή, η ποιότητα του προγράμματος εξαρτάται κυρίως από την ικανοποίηση των ελαστικών περιορισμών. Ο βασικός στόχος είναι η κατασκευή ενός υλοποιήσιμου προγράμματος, μεγιστοποιώντας την ποιότητά του. Για να ξεκινήσει η κατασκευή του προγράμματος πρέπει όλα τα απαραίτητα δεδομένα εισόδου να είναι Πανεπιστήμιο Πατρών 113
114 διαθέσιμα. Αυτά τα δεδομένα θα μας παρέχουν όλες τις απαραίτητες πληροφορίες για τους νοσοκόμους, τις ημερήσιες βάρδιες και το πλήθος των ημερών για το οποίο θα πρέπει να κατασκευαστεί το πρόγραμμα. Οι πληροφορίες αυτές θα μας ενημερώσουν πόσοι νοσοκόμοι υπάρχουν και ποιες είναι οι ιδιαιτερότητές τους, πόσες και ποιες είναι οι βάρδιες που πρέπει να εκτελεστούν, καθώς και το πλήθος των ημερών. Η έξοδος, φυσικά, θα είναι το πρόγραμμα, που θα δείχνει ποιες βάρδιες έχουν ανατεθεί σε κάθε νοσοκόμο, ποιες μέρες δουλεύει ο κάθε νοσοκόμος και ποια ώρα κάθε ημέρα. Ας αναφέρουμε εδώ το πώς ξεκινήσαμε να σχεδιάζουμε το πρόγραμμα. Έστω ότι έχουμε να κατασκευάσουμε πρόγραμμα των D ημερών. Προφανώς κάθε ημέρα έχουμε έναν αριθμό S από βάρδιες που πρέπει να εκτελεστούν. Πρέπει να τοποθετήσουμε σε κάθε βάρδια ένα νοσοκόμο για να την εκτελέσει, από το σύνολο των Ν νοσηλευτών. Αναλυτικά η αναπαράσταση που χρησιμοποιήθηκε φαίνεται στον ακόλουθο πίνακα. 1 η μέρα 2 η μέρα 3 η μέρα 4 η μέρα D -οστή ημέρα 1 η βάρδια D 2 η βάρδια D+1 D+2 D+3 D+4 2D 3 η βάρδια 2D+1 2D+2 2D+3 2D+4 3D 4 η βάρδια 3D+1 3D+2 3D+3 3D+4 4D. S -οστή βάρδια (S-1)D+1 (S-1)D+1 (S-1)D+1 (S-1)D+1. SD Πίνακας 2: Η 1 η αναπαράσταση που δοκιμάστηκε από τον 1 ο αλγόριθμο Είναι ένας σχεδόν γεμάτος πίνακας και μας δίνει την εξής πληροφορία: σε κάθε κελί του πίνακα τοποθετείται ένας νοσοκόμος και αυτό σημαίνει ότι αναλαμβάνει την αντίστοιχη βάρδια. Αν για παράδειγμα τοποθετηθεί ένας νοσοκόμος στο κελί D+3 αυτό σημαίνει ότι την 3 η μέρα θα εκτελέσει ο νοσοκόμος αυτός τη 2 η βάρδια. Η αξιολόγηση κάθε νοσηλευτή, σε κάθε αλλαγή που γινόταν στο πρόγραμμά του από τις συναρτήσεις του αλγορίθμου, ήταν χρονοβόρα διαδικασία γιατί έπρεπε να υπολογίζεται η τιμή σε όλο το πλήθος των γραμμών και των στηλών. Για το λόγο αυτό, τροποποιήσαμε τη δομή ώστε να έχει την εξής μορφή: να φαίνεται ποια εργασία έχει ανατεθεί σε κάθε νοσοκόμο μέσα στο χρονικό ορίζοντα Πανεπιστήμιο Πατρών 114
115 προγραμματισμού. Στην περίπτωση αυτή, σε κάθε κελί θα πρέπει να είναι σημειωμένη η βάρδια που εκτελεί ο κάθε νοσοκόμος κάθε ημέρα και όχι το όνομά του. Αναλυτικά η αναπαράσταση αυτή φαίνεται στον ακόλουθο πίνακα. 1 η μέρα 2 η μέρα 3 η μέρα 4 η μέρα D -οστή μέρα 1 ος Νοσοκόμος D 2 ος Νοσοκόμος D+1 D+2 D+3 D+4 2D 3 ος Νοσοκόμος 2D+1 2D+2 2D+3 2D+4 3D 4 ος Νοσοκόμος 3D+1 3D+2 3D+3 3D+4 4D. Ν -οστός Νοσοκόμος (N-1)D+1 (N-1)D+1 (N-1)D+1 (N-1)D+1. ND Πίνακας 3: Η 2 η αναπαράσταση που δοκιμάστηκε από τον 1 ο αλγόριθμο Προφανώς τα προβλήματα που αντιμετωπίσαμε είχαν σταθερό και συγκεκριμένο πλήθος βαρδιών για κάθε συγκεκριμένη μέρα μέσα στο χρονικό ορίζοντα του προβλήματος, σε αντίθεση με τον τελευταίο διαγωνισμό που συμμετείχαμε που εκ των προτέρων δεν γνωρίζαμε κάθε ημέρα ποια θα είναι η συγκεκριμένη ζήτηση μέσα στο χρονικό ορίζοντα του προβλήματος, λόγω του ότι οι πληροφορίες δίνονταν δυναμικά στο τέλος κάθε εβδομάδας. Με αυτήν τη δεύτερη δομή ήταν άμεση η αξιολόγηση κάθε νοσηλευτή. Εφαρμόζοντας τον τελεστή διασταύρωσης σε όλο τον πίνακα παρατηρήσαμε ότι η πρόοδος βελτίωσης ήταν μηδαμινή, γιατί γινόταν απόλυτη αναταραχή σε όλες τις γραμμές του. Έτσι, σκεφτήκαμε αυτό που κάνει ο τελεστής διασταύρωσης σε όλον τον πίνακα μεταξύ δύο γονέων, να το έκανε σε έναν πίνακα μεταξύ δύο γραμμών του, για δύο νοσηλευτές. Έτσι, μετά από οποιαδήποτε αλλαγή κελιών μεταξύ δύο νοσηλευτών, μπορούσαν άμεσα να γίνονται οι σχετικές μετρήσεις, ώστε να αποφασίζεται στο τέλος αν θα υιοθετηθεί ή θα απορριφτεί η συγκεκριμένη αλλαγή, και με συνδυασμό όλων των γραμμών ανά δύο, θα μπορούσε να σαρώνεται όλος ο πίνακας. Εμφανίσθηκε το ερώτημα αν θα πρέπει να γίνονται αλλαγές μεταξύ δύο γραμμών διαφορετικών πινάκων. Όπως παρατηρήσαμε δε γινόταν αλλαγές των ιδιοτήτων κάθε στήλης, γιατί δεν άλλαζε ολόκληρη η στήλη αλλά μέρος αυτής, δηλαδή το μέρος που έκφραζε τις εν λόγω γραμμές. Καταλήξαμε λοιπόν στην απόφαση ότι δεν χρειάζεται να υπάρχει πλήθος γονέων. Έτσι, μας παρουσιάσθηκε η ιδέα της γειτονιάς με τροποποίηση των αντίστοιχων συναρτήσεων του ΓΑ. Πανεπιστήμιο Πατρών 115
116 Λόγω της μεγάλης πολυπλοκότητας του προβλήματος ο αλγόριθμός της μετάλλαξης ενισχύθηκε σημαντικά. Οι παράμετροι που χρησιμοποιήθηκαν είναι το πλήθος των σωματιδίων του πληθυσμού, για το οποίο δοκιμάστηκαν τιμές 2, 10, 30, 50 και 100 σωματιδίων, καθώς και η πιθανότητα μετάλλαξης και διασταύρωσης, για τις οποίες δοκιμάστηκαν τιμές 0.8, 0.85, 0.9, 0.95 και Ο συνδυασμός όλων των παραπάνω παραμέτρων επέβαλε να εκτελεστούν, για κάθε πείραμα, 25 διαφορετικές παραλλαγές. Το πλήθος των γενεών το ορίσαμε στο 100. Το κάθε πείραμα εκτελείται τριάντα φορές με τις ίδιες παραμέτρους και ως αποτέλεσμα λαμβάνεται ο μέσος όρος των τριάντα εκτελέσεων, όπως επίσης, και η τυπική απόκλιση αυτών, η μέγιστη και η ελάχιστη τιμή καθώς και το ποσοστό επίτευξης του καλύτερου αποτελέσματος. Επίσης καταγράφονται και οι χρόνοι που εμφανίστηκε το καλύτερο αποτέλεσμα και λαμβάνεται ο μέσος όρος των τριάντα εκτελέσεων, όπως επίσης, η τυπική απόκλιση αυτών, η μέγιστη και η ελάχιστη τιμή του χρόνου εκτέλεσης. Ο σκοπός είναι να οριστούν οι παράμετροι για να έχουμε βέλτιστη απόδοση, έτσι ώστε να επιλύονται διάφορα προβλήματα χρονοπρογραμματισμού προσωπικού από τον αλγόριθμο. Στη συνέχεια παρουσιάζονται τα πειραματικά αποτελέσματα για καθένα από τα αρχεία εισόδου που χρησιμοποιήθηκαν. WHPP POPSIZE mutation_probability=0.8 crossover_probability=0.8 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % %10 10% 10% 10% mutation_probability=0.85 crossover_probability=0.85 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 60% 40% 10% 10% mutation_probability=0.9 crossover_probability=0.9 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 10% 10% 10% 10% mutation_probability=0.95 crossover_probability=0.95 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE Πανεπιστήμιο Πατρών 116
117 STDEV MAX MIN % 10% 10% 10% 10% mutation_probability=0.99 crossover_probability=0.99 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 10% 10% 10% 10% Πίνακας 4: Πειραματικά αποτελέσματα για το αρχείο WHPP MUSA POPSIZE mutation_probability=0.8 crossover_probability=0.8 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 30% 40% 40% 60% mutation_probability=0.85 crossover_probability=0.85 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 40% 20% 40% 60% mutation_probability=0.9 crossover_probability=0.9 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 30% 60% 10% 60% mutation_probability=0.95 crossover_probability=0.95 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 20% 40% 60% 60% mutation_probability=0.99 crossover_probability=0.99 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 80% 80% 40% 20% Πίνακας 5: Πειραματικά αποτελέσματα για το αρχείο MUSA LLR POPSIZE mutation_probability=0.8 crossover_probability=0.8 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV Πανεπιστήμιο Πατρών 117
118 MAX MIN % 10% 20% 20% 20% mutation_probability=0.85 crossover_probability=0.85 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 10% 60% 30% 80% mutation_probability=0.9 crossover_probability=0.9 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 10% 20% 10% 60% mutation_probability=0.95 crossover_probability=0.95 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 50% 60% 20% 40% mutation_probability=0.99 crossover_probability=0.99 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 20% 40% 40% 10% Πίνακας 6: Πειραματικά αποτελέσματα για το αρχείο LLR HED01 POPSIZE mutation_probability=0.8 crossover_probability=0.8 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 10% 10% 10% 10% mutation_probability=0.5 crossover_probability=0.85 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 10% 10% 10% 10% mutation_probability=0.9 crossover_probability=0.9 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 10% 10% 10% 10% mutation_probability=0.95 crossover_probability=0.95 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE Πανεπιστήμιο Πατρών 118
119 STDEV MAX MIN % 10% 10% 10% 10% mutation_probability=0.99 crossover_probability=0.99 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 10% 10% 10% 10% Πίνακας 7: Πειραματικά αποτελέσματα για το αρχείο HED01 VALOUXIS-1 POPSIZE mutation_probability=0.8 crossover_probability=0.8 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 10% 20% 40% 30% mutation_probability=0.85 crossover_probability=0.85 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 10% 10% 10% 20% mutation_probability=0.9 crossover_probability=0.9 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 10% 10% 20% 20% mutation_probability=0.95 crossover_probability=0.95 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 20% 20% 10% 30% mutation_probability=0.99 crossover_probability=0.99 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 40% 40% 10% 10% Πίνακας 8: Πειραματικά αποτελέσματα για το αρχείο VALOUXIS-1 BCV POPSIZE mutation_probability=0.8 crossover_probability=0.8 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV Πανεπιστήμιο Πατρών 119
120 MAX MIN % 10% 30% 10% 60% mutation_probability=0.85 crossover_probability=0.85 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 20% 20% 50% 60% mutation_probability=0.9 crossover_probability=0.9 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 50% 40% 60% 80% mutation_probability=0.95 crossover_probability=0.95 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 10% 30% 40% 60% mutation_probability=0.99 crossover_probability=0.99 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 70% 60% 40% 80% Πίνακας 9: Πειραματικά αποτελέσματα για το αρχείο BCV BCV POPSIZE mutation_probability=0.8 crossover_probability=0.8 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 10% 10% 10% 20% mutation_probability=0.85 crossover_probability=0.85 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 10% 10% 10% 10% mutation_probability=0.9 crossover_probability=0.9 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 20% 30% 30% 20% mutation_probability=0.95 crossover_probability=0.95 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE Πανεπιστήμιο Πατρών 120
121 STDEV MAX MIN % 30% 20% 20% 20% mutation_probability=0.99 crossover_probability=0.99 Fitness Time Fitness Time Fitness Time Fitness Time Fitness Time AVERAGE STDEV MAX MIN % 20% 20% 10% 10% Πίνακας 10: Πειραματικά αποτελέσματα για το αρχείο BCV Από τα παραπάνω πειράματα καταλήξαμε ότι πρέπει να γίνουν περεταίρω κατάλληλες αλλαγές και στοχευόμενες παρεμβάσεις, ώστε να πλησιάσουμε στο καλύτερο μέχρι εκείνη τη στιγμή αποτέλεσμα και σε χρόνο μέσα στα επιτρεπόμενα όρια Γενική επισκόπηση του αλγορίθμου αναζήτησης στοχαστικής μεταβλητής γειτονιάς Το διάγραμμα ροής που περιγράφει τη γενική δομή του προτεινόμενου αλγορίθμου παρουσιάζεται στην Εικόνα 7. Όπως φαίνεται εκεί, ο προτεινόμενος αλγόριθμος αποτελείται από δύο φάσεις: A. Η πρώτη φάση ασχολείται με την ανάθεση των νοσηλευτών στις εργάσιμες ημέρες B. Η δεύτερη φάση ασχολείται με την ανάθεση των νοσηλευτών να αναλάβουν κατάλληλες βάρδιες Κατά την πρώτη, ορίζονται οι τιμές των παραμέτρων του αλγορίθμου, δηλαδή, το μέγεθος του πληθυσμού, ο μέγιστος αριθμός των κύκλων επανάληψης της πρώτης φάσης, ο μέγιστος αριθμός γενεών της δεύτερης φάσης και, τέλος, η πιθανότητα εναλλαγής κελιών (βλέπε ενότητα ). Λόγω των διαφορών στη φύση, τη δομή, τη φιλοσοφία και το είδος των ανελαστικών και ελαστικών περιορισμών μεταξύ των περιπτώσεων εισόδου που μελετήθηκαν, υπάρχει μια μικρή διαφορά στην τιμή της πιθανότητας εναλλαγής κελιών που χρησιμοποιήθηκε για κάθε περίπτωση. Σημειώστε ότι η τιμή της πιθανότητας εναλλαγής κελιών καθορίζει τη συμπεριφορά αναζήτησης του αλγορίθμου. Μια υψηλή τιμή θα Πανεπιστήμιο Πατρών 121
122 προκαλέσει μια εξαντλητική εναλλαγή των κελιών, ενώ μια χαμηλή τιμή θα προκαλέσει την απόρριψη των εναλλαγών των κελιών (βλέπε ενότητα ). Εξαντλητικά πειράματα έδειξαν ότι για ορισμένες περιπτώσεις, μια χαμηλότερη τιμή της πιθανότητας εναλλαγής είναι επωφελής για τον αλγόριθμο, ενώ το αντίθετο ισχύει για τις υπόλοιπες. Εκτός από την πιθανότητα εναλλαγής κελιών, οι τιμές που χρησιμοποιούνται για τις παραμέτρους του αλγορίθμου είναι οι ίδιες για όλα τα δεδομένα εισόδου. Ο Πίνακας 11 παραθέτει τις τιμές των παραμέτρων για κάθε περίπτωση, καθώς και το χρόνο που απαιτείται, ώστε να βρεθούν οι βέλτιστες παράμετροι του αλγορίθμου. Η επίδραση των διαφόρων παραμέτρων στην απόδοση του αλγορίθμου διερευνάται στην ενότητα Main Algorithm Set algorithm parameters values Initialize d individuals with working days Proceed to and conclude First Phase Copy best individual to other individuals Assign shift types randomly to any individual, driven by working days Proceed to and conclude Second Phase Near optimal solution produced End of Algorithm Εικόνα 7: Η δομή του προτεινόμενου αλγόριθμου στοχαστικής αναζήτησης μεταβλητής γειτονιάς. Η διαδικασία πειραματισμού για να βρεθούν οι βέλτιστες παράμετροι του αλγορίθμου περιγράφεται ως εξής. Αρχικά, προσδιορίστηκε ο αριθμός των κύκλων κατά την πρώτη φάση. Για κάθε παράδειγμα εισόδου, τρέξαμε πέντε πειράματα Πανεπιστήμιο Πατρών 122
123 βάζοντας τιμές του αριθμού των κύκλων ίσο με 1, 2, 3, 4 και 5, αντίστοιχα. Για όλες τις περιπτώσεις, πειραματικά αποτελέσματα έδειξαν ότι ο κατάλληλος αριθμός των κύκλων είναι ίσος με 1, προκειμένου να επιτευχθούν τα καλύτερα δυνατά αποτελέσματα. Στη συνέχεια προσδιορίσθηκε, το μέγεθος του πληθυσμού. Για κάθε παράδειγμα εισόδου, τρέξαμε πέντε πειράματα, βάζοντας τιμές για το μέγεθος του πληθυσμού ίσες με 1, 2, 3, 4 και 5, αντίστοιχα. Για όλες τις περιπτώσεις, τα πειραματικά αποτελέσματα έδειξαν ότι το για μέγεθος πληθυσμού ίσο με 2 επιτυγχάνεται το καλύτερο δυνατό αποτέλεσμα. Ο μέγιστος αριθμός των γενεών στη δεύτερη φάση καθορίστηκε αυθαίρετα ίσος με 100, η οποία είναι μια πολύ μεγάλη τιμή, δεδομένου ότι κύριος σκοπός μας ήταν να φτάσει ή ακόμα και να ξεπεράσει τα καλύτερα έως τότε αποτελέσματα για κάθε περίπτωση εισόδου. Ωστόσο, όπως αναφέρεται στην ενότητα 4.2.8, ο χρήστης μπορεί να επιλέξει το κριτήριο τερματισμού που θέλει να εφαρμόσει μεταξύ του μέγιστου αριθμού γενεών και του αριθμού των γενεών, για τα οποία το αποτέλεσμα παραμένει το ίδιο. Δηλαδή, όταν καμία βελτίωση δεν εμφανιστεί για ένα συγκεκριμένο συνεχόμενο αριθμό γενεών. No Input instance Swapping probability (pswap) Number of cycles in first phase Maximum number of generations in second phase Population size Number of experiments needed to find the optimal parameters of the algorithm Average time per experiment Average time consumed min 44 min min 242 min s 1.32 s s 9.52 s s 66 s s s s min Πίνακας 11: Τιμές των παραμέτρων που χρησιμοποιήθηκαν για κάθε περίπτωση εισόδου Τέλος, προσδιορίστηκε η τιμή της πιθανότητας εναλλαγής κελιών (pswap) που οδηγεί τον αλγόριθμο στα καλύτερα δυνατά αποτελέσματα. Αρχικά, για κάθε περίπτωση εισόδου, τρέξαμε επτά πειράματα, θέτοντας pswap ίσο με 0.4, 0.5, 0.6, 0.7, 0.8, 0.9 και 1.0. Για την έκτη περίπτωση, δεδομένου ότι pswap = 0.4 ήταν η τιμή που έδωσε τα καλύτερα αποτελέσματα, εκτελέστηκαν περαιτέρω πειράματα, θέτοντας την τιμή της pswap ίση με 0.35, 0.36, 0.37, 0.38, 0.39, 0.41, 0.42, 0.43, 0.44 και Επειδή η τιμή pswap = 0.45 ήταν η τιμή που έδωσε τα καλύτερα Πανεπιστήμιο Πατρών 123
124 αποτελέσματα, εκτελέστηκαν περαιτέρω πειράματα, θέτοντας την τιμή της pswap ίση με 0.445, 0.446, 0.447, 0.448, 0.449, 0.451, 0.452, 0.453, και Επειδή πάλι η τιμή pswap = 0,45 ήταν η τιμή που έδωσε τα καλύτερα αποτελέσματα, αποφασίσαμε να χρησιμοποιήσουμε αυτή την τιμή. Για το τέταρτο παράδειγμα, δεδομένου ότι η pswap = 0.5 ήταν η τιμή έδωσε τα καλύτερα αποτελέσματα, πραγματοποιήθηκαν περαιτέρω πειράματα, θέτοντας την τιμή της pswap ίση με 0.45, 0.46, 0.47, 0.,48, 0.49, 0.51, 0.52, 0.53, 0.54 και Επειδή πάλι η τιμή pswap = 0.5 ήταν η τιμή που έδωσε τα καλύτερα αποτελέσματα, αποφασίσαμε να χρησιμοποιήσουμε αυτή την τιμή. Για το έβδομο παράδειγμα, δεδομένου ότι η τιμή pswap = 0.8 ήταν η τιμή που έδωσε τα καλύτερα αποτελέσματα, πραγματοποιήθηκαν περαιτέρω πειράματα, θέτοντας την τιμή της pswap ίση με 0.75, 0.76, 0.77, 0.78, 0.79, 0.81, 0.82, 0.83, 0.84 και Επειδή πάλι η τιμή pswap = 0.85 ήταν η τιμή που έδωσε τα καλύτερα αποτελέσματα, εκτελέστηκαν περαιτέρω πειράματα, θέτοντας την τιμή της pswap ίση με 0.845, 0.846, 0.847, 0.848, 0.849, 0.851, 0.852, 0.853, και Επειδή πάλι η τιμή pswap = 0.85 ήταν η τιμή που έδωσε τα καλύτερα αποτελέσματα, αποφασίσαμε να χρησιμοποιήσουμε αυτή την τιμή. Για τη δεύτερη, την τρίτη και την πέμπτη περίπτωση, δεδομένου ότι η pswap = 1.0 ήταν η τιμή που έδωσε τα καλύτερα αποτελέσματα, πραγματοποιήθηκαν περαιτέρω πειράματα, θέτοντας την τιμή της pswap ίση με 0.95, 0.96, 0.97, 0.98 και Επειδή η τιμή pswap = 0.97 ήταν η τιμή που δίνει τα καλύτερα αποτελέσματα, πραγματοποιήθηκαν περαιτέρω πειράματα, θέτοντας την τιμή της pswap ίση με 0.965, 0.966, 0.967, 0.968, 0.969, 0.971, 0.972, 0.973, και Επειδή πάλι η τιμή pswap = 0.97 ήταν η τιμή που έδωσε τα καλύτερα αποτελέσματα, αποφασίσαμε να χρησιμοποιήσουμε αυτή την τιμή για αυτές τις τρεις περιπτώσεις. Για τις υπόλοιπες περιπτώσεις μετά από πειράματα καταλήξαμε στην τιμή pswap = 1.0 Παρά το γεγονός ότι, για άλλη μια φορά η τιμή pswap = 1.0 ήταν η τιμή που έδωσε τα καλύτερα αποτελέσματα, αποφασίσαμε να χρησιμοποιήσουμε την τιμή pswap = , δεδομένου ότι η αξία της pswap = 1,0 θα έκανε την εκτέλεση των εναλλαγών των κελιών ντετερμινιστική και όχι στοχαστική. Χρησιμοποιώντας τιμή pswap = 1.0 θα οδηγήσει τον αλγόριθμο σε μέτρια διαφοροποίηση και μεγάλη εντατικοποίηση αναζήτησης. Εν κατακλείδι, διαπιστώσαμε ότι για όλες τις περιπτώσεις, θέτοντας την pswap σε μια μεγάλη τιμή Πανεπιστήμιο Πατρών 124
125 προκαλείται μεγάλη εντατικοποίηση αναζήτησης, ενώ θέτοντας την pswap σε μια μικρή τιμή προκαλείται μεγάλη διαφοροποίηση στην αναζήτηση. Μετά τη ρύθμιση των τιμών των παραμέτρων, αρχίζει η κατασκευή του κάθε ατόμου του πληθυσμού του προτεινόμενου αλγορίθμου. Αυτό γίνεται τυχαία σε σχέση με τις απαιτήσεις εργασίας κάθε ημέρας, και έτσι ολοκληρώνεται, η πρώτη φάση του αλγορίθμου, η οποία ασχολείται με την ανάθεση των νοσηλευτών στις εργάσιμες ημέρες. Μετά την ολοκλήρωση της πρώτης φάσης, το καλύτερο άτομο που βρέθηκε αντιγράφεται σε όλα τα άτομα του πληθυσμού. Ως εκ τούτου, ο αρχικός πληθυσμός στην αρχή της δεύτερης φάσης του αλγορίθμου είναι ένας πληθυσμός ατόμων, όπου όλα τα άτομα είναι ισοδύναμα, Στη συνέχεια πραγματοποιείται η εκτέλεση της δεύτερης φάσης του αλγορίθμου, η οποία ασχολείται με την ανάθεση των νοσηλευτών σε συγκεκριμένους τύπους βαρδιών, και παράγεται η σχεδόν βέλτιστη λύση που μπορεί να κατασκευαστεί από τον προτεινόμενο αλγόριθμο. Οι επτά περιπτώσεις χρονοπρογραμματισμού νοσηλευτών, στις οποίες εφαρμόζεται ο προτεινόμενος αλγόριθμος, είναι εντελώς διαφορετικές περιπτώσεις προβλημάτων χρονοπρογραμματισμού, έχουν σημαντικές διαφορές μεταξύ τους, ως προς τη φύση, τη δομή, τη φιλοσοφία και το είδος των ανελαστικών και ελαστικών περιορισμών. Ως αποτέλεσμα, εφαρμόστηκε μια διαφορετική λειτουργία αξιολόγησης για κάθε διαφορετικό παράδειγμα εισόδου λαμβάνοντας υπόψη τους διαφορετικούς περιορισμούς και τις διαφορετικές τιμές βαρών που ισύουν για κάθε περίπτωση. Οι ειδικοί περιορισμοί και οι τιμές των βαρών για κάθε διαφορετικό περιορισμό για κάθε διαφορετική περίπτωση εισόδου παρουσιάζονται με λεπτομέρεια στο (accessed on 11/01/2013). Ωστόσο, η γενική μορφή της συνάρτησης αξιολόγησης που εφαρμόζεται σε όλες τις περιπτώσεις μπορεί να παρουσιαστεί ως εξής: weight_function(weight_of_1 st _constraint) times_1 st _constraint_is_violated + + weight_function(weight_of_n th _constraint) times_ n th _constraint_is_violated (5) Πανεπιστήμιο Πατρών 125
126 όπου ο περιορισμός i είναι διαφορετικός για κάθε διαφορετική περίπτωση εισόδου, weight_of_i th _constraint είναι το βάρος του περιορισμού i (το οποίο είναι διαφορετικό για κάθε διαφορετική περίπτωση εισόδου) και times_i th _constraint_is_violated είναι ο αριθμός των φορών που ο περιορισμός i παραβιάζεται. Επιπλέον, η συνάρτηση κόστους weight_function(weight_of_i th _constraint) ισούται με weight_of_i th _constraint, αν η συνάρτηση είναι η ταυτοτική, ενώ η συνάρτηση κόστους weight_function(weight_of_i th _constraint) ισούται με weight_of_i th _constraint weight_of_i th _constraint, εάν η συνάρτηση κόστους είναι η τετραγωνική. Το εάν ένας περιορισμός θεωρείται γραμμικός ή τετραγωνικός εξαρτάται, για μια ακόμη φορά, από τη φύση του εκάστοτε προβλήματος, και αναφέρεται εκεί ρητά. Σε αυτό το σημείο, θα πρέπει να αναφέρουμε ότι για όλες τις περιπτώσεις εισόδου, η λειτουργία της αξιολόγησης λαμβάνει υπόψη μόνο τους περιορισμούς που σχετίζονται με τις εργάσιμες και τις μη εργάσιμες (ρεπό) ημέρες στην πρώτη φάση του αλγορίθμου, ενώ λαμβάνει υπόψη όλα τα είδη των περιορισμών κατά τη δεύτερη φάση του Η πρώτη φάση του αλγορίθμου στοχαστικής αναζήτησης μεταβλητής γειτονιάς Η πρώτη φάση του προτεινόμενου αλγορίθμου, η οποία ασχολείται με την ανάθεση των νοσηλευτών στις εργάσιμες ημέρες, παρουσιάζεται στην Εικόνα 8. Όπως φαίνεται, η φάση αυτή αποτελείται από την εκτέλεση της διαδικασίας Successive_Segment_Swap_Mutation(). Η διαδικασία αυτή εφαρμόζεται σε κάθε επιμέρους άτομο διαδοχικά και επαναλαμβάνεται για ένα καθορισμένο αριθμό κύκλων. Μια λεπτομερής περιγραφή της διαδικασίας αυτής, μαζί με τη διαδικασία Selective_Partial_Swap(), η οποία χρησιμοποιείται από διαδοχικές Segment_Swap _Mutation() στην πρώτη φάση του αλγόριθμου, δίνεται στις ακόλουθες παραγράφους. Πανεπιστήμιο Πατρών 126
127 Repeat Execute Successive_Segment_Swap_Mutation() For each individual Comment: best individual and best fitness are potentially updated Until C cycles are completed Start second phase Εικόνα 8: Η δομή της πρώτης φάσης της προτεινόμενης στοχαστικής αναζήτησης μεταβλητής γειτονιάς Η διαδικασία, Successive_Segment_Swap_Mutation(), εφαρμόζεται ως εξής. Αρχικά σχηματίζεται τυχαία μια λίστα L1 που περιλαμβάνει όλους τους νοσηλευτές. Στη συνέχεια, για κάθε νοσηλευτή Ν1 που ανήκει στη λίστα L1 και για κάθε επόμενο νοσηλευτή Ν2, του Ν1 (δηλαδή ο Ν2 βρίσκεται μετά τον Ν1 στη λίστα L1), εφαρμόζεται η διαδικασία Selective_Partial_Swap(). Αυτή η διαδικασία, η οποία περιγράφεται στην επόμενη παράγραφο, εφαρμόζεται μεταξύ του νοσηλευτή Ν1 και όλων των άλλων νοσηλευτών, έως ότου κανένας άλλος νοσηλευτής Ν2 να μην υπάρχει στη λίστα L1, και επαναλαμβάνεται από την αρχή για κάθε νοσηλευτή, Νi, στη λίστα L1. Η δομή του Successive_Segment_Swap_Mutation() παρουσιάζεται στην Create a random list L1, of all nurses For each nurse n1 of list L1 For each nurse n2 of list L1, next to n1 Apply procedure Selective_Partial_Swap() on nurses n1, n2 Chose next nurse n2 until no more next nurses are left in list L1 Chose next nurse n1 until no more nurses are left in list L1 End Εικόνα 9. Πανεπιστήμιο Πατρών 127
128 Create a random list L 1, of all nurses For each nurse n 1 of list L 1 For each nurse n 2 of list L 1, next to n 1 Apply procedure Selective_Partial_Swap() on nurses n 1, n 2 Chose next nurse n 2 until no more next nurses are left in list L 1 Chose next nurse n 1 until no more nurses are left in list L 1 End Εικόνα 9: Η δομή της διαδικασίας Successive_Segment_Swap_Mutation(). Η διαδικασία Selective_Partial_Swap(), η οποία στην πραγματικότητα εφαρμόζει μια «στοχαστική ομαδοποίηση εναλλαγής κελιών σε τμήματα κινούμενου παραθύρου», εφαρμόζεται για κάθε ημέρα, di, της περιόδου προγραμματισμού ως εξής. Αρχικά, σχηματίζεται ένα χρονικό παράθυρο που η αριστερή ακραία ημέρα του τμήματος παραθύρου είναι πάντα ίση προς d1 ενώ το δεξί άκρο του είναι ίσο με d2. Σε αυτό το τμήμα παραθύρου θα πραγματοποιηθούν εναλλαγές κελιών κατακόρυφα. Στη συνέχεια, πραγματοποιούνται οι εναλλαγές μεταξύ των κελιών που περιλαμβάνονται σε ένα τμήμα του αρχικού παραθύρου, που ορίσθηκε προηγουμένως, για γραμμές που ανήκουν στους νοσηλευτές Ν1 και Ν2, με βάση κάποια ορισμένη τιμή πιθανότητας. Αφού όλες οι ανταλλαγές στο επιλεγμένο τμήμα των κελιών έχουν διεξαχθεί, η τιμή της συνάρτησης αξιολόγησης των δύο αυτών γραμμών υπολογίζεται. Εάν η τιμή της συνάρτησης αξιολόγησης των νέων δύο αυτών γραμμών (δηλαδή, μετά τις πράξεις εναλλαγής) βελτιώνεται, τότε οι εναλλαγές γίνονται δεκτές. Αλλιώς, οι εναλλαγές απορρίπτονται και οι γραμμές διατηρούν τη δομή που είχαν πριν από τις εναλλαγές. Μετά από αυτό, η d2 αυξάνεται κατά ένα, και σχηματίζεται ένα νέο παράθυρο μεταξύ d1 και d2 για δεδομένα που ανήκουν στους νοσηλευτές Ν1 και Ν2. Αυτή η διαδικασία Πανεπιστήμιο Πατρών 128
129 επαναλαμβάνεται όσο το d2 έχει τιμή μικρότερη ή ίση με την τελευταία ημέρα της περιόδου προγραμματισμού. Η δομή αυτής της διαδικασίας παρουσιάζονται στην Εικόνα 10. Σε αυτό το σημείο, θα πρέπει να αναφέρουμε ότι η σχεδίαση και εφαρμογή της συνάρτησης Selective_Partial_Swap() για το πρόβλημα χρονοπρογραμματισμού βαρδιών νοσηλευτών είναι πρωτότυπη και παγκοσμίως καινοτόμος, στην ακαδημαϊκή κοινότητα. For each day d 1 of the planning horizon d 2 = d 1 repeat Left extreme of cell segment = d 1 Right extreme of cell segment = d 2 Comment: Define the extremes of cell segment in which swaps will be performed Perform cell swaps, between cells included in cell segment, for nurse n 1 and nurse n 2 under a certain probability Compute new fitness f 2 of whole individual Is f 2 worse than the one before swapping Yes No Cancel swaps d 2 = d Until d 2 > last day of the planning horizon Until no more days are left New structure of individual produced Εικόνα 10: Η δομή της διαδικασίας, Selective_Partial_Swap() Πανεπιστήμιο Πατρών 129
130 Η διαδικασία του πτυσσόμενου παράθυρου Selective_Partial_Swap(). Η διαδικασία του πτυσσόμενου παράθυρου ακολουθεί την παρακάτω λογική: Έστω ότι έχουμε πρόγραμμα 4 ημερών που παρουσιάζεται στην Εικόνα 11. Τότε, σε κάθε δύο γραμμές ανάλογα με την πιθανότητα να εκτελεστεί ή όχι η εναλλαγή των κελιών, το πτυσσόμενο παράθυρο θα γεμίζει ξεκινώντας από την 1 η στήλη και θα έχει πλάτος 1, κατόπιν 2, κατόπιν 3, και τέλος 4, στη συνέχεια από τη 2 η στήλη και θα έχει πλάτος 1, κατόπιν 2 και τέλος 3, στη συνέχεια από την 3 η στήλη και θα έχει πλάτος 1 και τέλος 2, και τέλος από την 4 η στήλη και θα έχει πλάτος 1. Σε κάθε βήμα υπολογίζεται το κόστος και αν είναι μικρότερο, επιτρέπεται η εναλλαγή των κελιών διαφορετικά επαναφέρεται η αρχική κατάσταση. Εικόνα 11: Παράδειγμα προγράμματος τεσσάρων ημερών Η δεύτερη φάση του αλγορίθμου στοχαστικής αναζήτησης μεταβλητής γειτονιάς Η δεύτερη φάση του προτεινόμενου αλγορίθμου, η οποία ασχολείται με την ανάθεση των νοσηλευτών σε συγκεκριμένες βάρδιες, παρουσιάζεται στην Εικόνα 12. Όπως φαίνεται, η φάση αυτή αποτελείται από τη διαδοχική εκτέλεση των ακόλουθων διαδικασιών: Selective_Day_Swap_Mutation() Successive_Segment_Swap_Mutation() Random_Segment_Swap_Mutation() Η διαδικασία Successive_Segment_Swap_Mutation() είναι η ίδια με εκείνη που εκτελείται στην πρώτη φάση του αλγορίθμου. Ωστόσο, αυτή τη φορά, εκτελείται έτσι ώστε να αναθέσει στους νοσηλευτές βάρδιες και όχι εργάσιμες ημέρες, όπως εκτελείται στην πρώτη φάση. Το ίδιο ακριβώς προσπαθούν και οι δύο άλλες διαδικασίες. Η εκτέλεση αυτών των τριών διαδικασιών επαναλαμβάνεται για Πανεπιστήμιο Πατρών 130
Συστήματα Επιχειρηματικής Ευφυίας. Το πρόβλημα Nurse rostering Ενδεικτική επίλυση με αλγόριθμο Variable Neighborhood Search (VNS)
Συστήματα Επιχειρηματικής Ευφυίας Το πρόβλημα Nurse rostering Ενδεικτική επίλυση με αλγόριθμο Variable Neighborhood Search (VNS) Έβδομη Διάλεξη Περιεχόμενα (1) Συνοπτική παρουσίαση του προβλήματος Nurse
Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή
Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1 Αναζήτηση Δοθέντος ενός προβλήματος με περιγραφή είτε στον χώρο καταστάσεων
Επίλυση προβληµάτων. Αλγόριθµοι Αναζήτησης
Επίλυση προβληµάτων! Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης Αλγόριθµοι τυφλής αναζήτησης Αλγόριθµοι ευρετικής αναζήτησης Παιχνίδια δύο αντιπάλων Προβλήµατα ικανοποίησης περιορισµών Γενικά " Τεχνητή
Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή
Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1 Αλγόριθμοι Ευριστικής Αναζήτησης Πολλές φορές η τυφλή αναζήτηση δεν επαρκεί
Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή
Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1 Αλγόριθμοι Τυφλής Αναζήτησης Οι αλγόριθμοι τυφλής αναζήτησης εφαρμόζονται σε
Επίλυση Προβλημάτων. Αποτελεί ένα από τα βασικά χαρακτηριστικά γνωρίσματα της νοημοσύνης.
Επίλυση Προβλημάτων Αποτελεί ένα από τα βασικά χαρακτηριστικά γνωρίσματα της νοημοσύνης. Τεχνητή Νοημοσύνη = Αναπαράσταση Γνώσης + Αλγόριθμοι Αναζήτησης Κατηγορίες Προβλημάτων Aναζήτησης Πραγματικά και
Ε ανάληψη. Α ληροφόρητη αναζήτηση
ΠΛΗ 405 Τεχνητή Νοηµοσύνη Το ική Αναζήτηση Local Search Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υ ολογιστών Πολυτεχνείο Κρήτης Ε ανάληψη Α ληροφόρητη αναζήτηση σε πλάτος, οµοιόµορφου κόστους, σε βάθος,
Κεφάλαιο 2. Περιγραφή Προβληµάτων και Αναζήτηση Λύσης. Τεχνητή Νοηµοσύνη - Β' Έκδοση
Κεφάλαιο 2 Περιγραφή Προβληµάτων και Αναζήτηση Λύσης Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου Περιγραφή Προβληµάτων ιαισθητικά: υπάρχει µία δεδοµένη
Περιγραφή Προβλημάτων
Τεχνητή Νοημοσύνη 02 Περιγραφή Προβλημάτων Φώτης Κόκκορας Τμ.Τεχν/γίας Πληροφορικής & Τηλ/νιών - ΤΕΙ Λάρισας Παραδείγματα Προβλημάτων κύβοι (blocks) Τρεις κύβοι βρίσκονται σε τυχαία διάταξη πάνω στο τραπέζι
ΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ
ΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Dr. Christos D. Tarantilis Associate Professor in Operations Research & Management Science http://tarantilis.dmst.aueb.gr/ ΕΦΑΡΜΟΓΕΣ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Ι - 1- ΕΦΑΡΜΟΓΕΣΔΙΟΙΚΗΤΙΚΗΣΕΠΙΣΤΗΜΗΣ&
ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών
44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.
Πληροφοριακά Συστήματα Διοίκησης. Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού
Πληροφοριακά Συστήματα Διοίκησης Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού Σημασία μοντέλου Το μοντέλο δημιουργεί μια λογική δομή μέσω της οποίας αποκτούμε μια χρήσιμη άποψη
Δομές Δεδομένων & Αλγόριθμοι
Θέματα Απόδοσης Αλγορίθμων 1 Η Ανάγκη για Δομές Δεδομένων Οι δομές δεδομένων οργανώνουν τα δεδομένα πιο αποδοτικά προγράμματα Πιο ισχυροί υπολογιστές πιο σύνθετες εφαρμογές Οι πιο σύνθετες εφαρμογές απαιτούν
Αλγόριθμοι Τυφλής Αναζήτησης
Τεχνητή Νοημοσύνη 04 Αλγόριθμοι Τυφλής Αναζήτησης Αλγόριθμοι Τυφλής Αναζήτησης (Blind Search Algorithms) Εφαρμόζονται σε προβλήματα στα οποία δεν υπάρχει πληροφορία που να επιτρέπει αξιολόγηση των καταστάσεων.
Κεφ. 1: Εισαγωγή στην έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος
Η έννοια του προβλήματος 1. Αναφέρετε μερικά από τα προβλήματα που συναντάτε στην καθημερινότητά σας. Απλά προβλήματα Ποιο δρόμο θα ακολουθήσω για να πάω στο σχολείο; Πως θα οργανώσω μια εκδρομή; Πως θα
Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή
Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1 Περιγραφή Προβλημάτων Διαισθητικά, σε ένα πρόβλημα υπάρχει μια δεδομένη κατάσταση
Διαχείριση έργων. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση
Διαχείριση έργων Στόχοι Ερμηνεία των κύριων εργασιών ενός διευθυντή έργου λογισμικού Παρουσίαση της διαχείρισης έργων λογισμικού και περιγραφή των χαρακτηριστικών που τη διακρίνουν Εξέταση του σχεδιασμού
Επίλυση Προβλημάτων 1
Επίλυση Προβλημάτων 1 Επίλυση Προβλημάτων Περιγραφή Προβλημάτων Αλγόριθμοι αναζήτησης Αλγόριθμοι τυφλής αναζήτησης Αναζήτηση πρώτα σε βάθος Αναζήτηση πρώτα σε πλάτος (ΒFS) Αλγόριθμοι ευρετικής αναζήτησης
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ
ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ Κ Υ Κ Λ Ο Υ Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ Κ Α Ι Υ Π Η Ρ Ε Σ Ι Ω Ν Τ Ε Χ Ν Ο Λ Ο Γ Ι Κ Η
Θεωρία Λήψης Αποφάσεων
Θεωρία Λήψης Αποφάσεων Ενότητα 6: Αλγόριθμοι Τοπικής Αναζήτησης Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων (Δ.Ε.Α.Π.Τ.)
On line αλγόριθμοι δρομολόγησης για στοχαστικά δίκτυα σε πραγματικό χρόνο
On line αλγόριθμοι δρομολόγησης για στοχαστικά δίκτυα σε πραγματικό χρόνο Υπ. Διδάκτωρ : Ευαγγελία Χρυσοχόου Επιβλέπων Καθηγητής: Αθανάσιος Ζηλιασκόπουλος Τμήμα Μηχανολόγων Μηχανικών Περιεχόμενα Εισαγωγή
I student. Μεθοδολογική προσέγγιση και απαιτήσεις για την ανάπτυξη των αλγορίθμων δρομολόγησης Χρυσοχόου Ευαγγελία Επιστημονικός Συνεργάτης ΙΜΕΤ
I student Μεθοδολογική προσέγγιση και απαιτήσεις για την ανάπτυξη των αλγορίθμων δρομολόγησης Χρυσοχόου Ευαγγελία Επιστημονικός Συνεργάτης ΙΜΕΤ Ινστιτούτο Bιώσιμης Κινητικότητας και Δικτύων Μεταφορών (ΙΜΕΤ)
ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1
ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1 1 Βελτιστοποίηση Στην προσπάθεια αντιμετώπισης και επίλυσης των προβλημάτων που προκύπτουν στην πράξη, αναπτύσσουμε μαθηματικά μοντέλα,
Εισαγωγή Στις Αρχές Της Επιστήμης Των Η/Υ. Η έννοια του Προβλήματος - ΚΕΦΑΛΑΙΟ 2
Εισαγωγή Στις Αρχές Της Επιστήμης Των Η/Υ Η έννοια του Προβλήματος - ΚΕΦΑΛΑΙΟ 2 2. Η έννοια του προβλήματος 2 2. Η έννοια του προβλήματος 2.1 Το πρόβλημα στην επιστήμη των Η/Υ 2.2 Κατηγορίες προβλημάτων
Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/
Τεχνητή Νοημοσύνη 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία: Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας
ιοίκηση Παραγωγής και Υπηρεσιών
ιοίκηση Παραγωγής και Υπηρεσιών Προγραµµατισµός Παραγωγής Προβλήµατα µε πολλές µηχανές Γιώργος Ιωάννου, Ph.D. Αναπληρωτής Καθηγητής Σύνοψη διάλεξης Προβλήµατα Παράλληλων Μηχανών Ελαχιστοποίηση χρόνου ροής
ΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ
ΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Dr. Christos D. Tarantilis Associate Professor in Operations Research & Management Science http://tarantilis.dmst.aueb.gr/ ΕΦΑΡΜΟΓΕΣ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Ι - 1- ΕΠΙΛΥΣΗ
Τεχνητή Νοημοσύνη. 5η διάλεξη ( ) Ίων Ανδρουτσόπουλος.
Τεχνητή Νοημοσύνη 5η διάλεξη (2017-18) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας
Θεωρία Λήψης Αποφάσεων
Θεωρία Λήψης Αποφάσεων Ενότητα 8: Αναζήτηση με Αντιπαλότητα Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων (Δ.Ε.Α.Π.Τ.) Αναζήτηση
Επίλυση προβληµάτων. Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης
Επίλυση προβληµάτων Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης! Αλγόριθµοι τυφλής αναζήτησης Αλγόριθµοι ευρετικής αναζήτησης Παιχνίδια δύο αντιπάλων Προβλήµατα ικανοποίησης περιορισµών Αλγόριθµοι τυφλής
ΣΧΕΔΙΑΣΜΟΣ ΚΙΝΗΣΗΣ ΚΑΙ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΙΩΝ ΣΕ ΒΙΟΜΗΧΑΝΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ
ΣΧΕΔΙΑΣΜΟΣ ΚΙΝΗΣΗΣ ΚΑΙ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΙΩΝ ΣΕ ΒΙΟΜΗΧΑΝΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ Ηλίας Κ. Ξυδιάς 1, Ανδρέας Χ. Νεάρχου 2 1 Τμήμα Μηχανικών Σχεδίασης Προϊόντων & Συστημάτων, Πανεπιστήμιο Αιγαίου, Σύρος
Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος
Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Διαχείριση Εφοδιαστικής Αλυσίδας ΙΙ
Διαχείριση Εφοδιαστικής Αλυσίδας ΙΙ 1 η Διάλεξη: Αναδρομή στον Μαθηματικό Προγραμματισμό 2019, Πολυτεχνική Σχολή Εργαστήριο Συστημάτων Σχεδιασμού, Παραγωγής και Λειτουργιών Περιεχόμενα 1. Γραμμικός Προγραμματισμός
Εισαγωγή στην έννοια του Αλγορίθμου και στον Προγραμματισμό
Εισαγωγή στην έννοια του Αλγορίθμου και στον Προγραμματισμό Η έννοια του προβλήματος Γενικά ως πρόβλημα θεωρούμε κάθε ζήτημα που τίθεται προς επίλυση, κάθε κατάσταση που μας απασχολεί και πρέπει να αντιμετωπιστεί.
ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ ΘΕΩΡΙΑ ΚΑΙ ΕΦΑΡΜΟΓΗ ΤΟΥ ΓΡΑΜΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΤΗ ΛΗΨΗ ΑΠΟΦΑΣΕΩΝ (1)
ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ ΘΕΩΡΙΑ ΚΑΙ ΕΦΑΡΜΟΓΗ ΤΟΥ ΓΡΑΜΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΤΗ ΛΗΨΗ ΑΠΟΦΑΣΕΩΝ (1) 1 Προέλευση και ιστορία της Επιχειρησιακής Έρευνας Αλλαγές στις επιχειρήσεις Τέλος του 19ου αιώνα: βιομηχανική
Τεχνητή Νοημοσύνη. 4η διάλεξη ( ) Ίων Ανδρουτσόπουλος.
Τεχνητή Νοημοσύνη 4η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται κυρίως στα βιβλία Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β.
Επιχειρησιακή Έρευνα
Επιχειρησιακή Έρευνα Ενότητα 1: Εισαγωγή στο Γραμμικό Προγραμματισμό (1 ο μέρος) Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων
ΑΛΓΟΡΙΘΜΟΙ ΑΝΟΠΤΗΣΗΣ: Ο ΑΛΓΟΡΙΘΜΟΣ ΤΗΣ ΑΠΟ ΟΧΗΣ ΚΑΤΩΦΛΙΟΥ (THRESHOLD ACCEPTING)
ΑΛΓΟΡΙΘΜΟΙ ΑΝΟΠΤΗΣΗΣ: Ο ΑΛΓΟΡΙΘΜΟΣ ΤΗΣ ΑΠΟ ΟΧΗΣ ΚΑΤΩΦΛΙΟΥ (THRESHOLD ACCEPTING) ΧΡΗΣΤΟΣ. ΤΑΡΑΝΤΙΛΗΣ ΚΛΑΣΙΚΟΙ ΕΥΡΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ Κλασικοί Ευρετικοί Classical Heuristics Κατασκευαστικοί Ευρετικοί Αλγόριθµοι
ΔΙΑΧΕΙΡΙΣΗ ΥΔΑΤΙΚΩΝ ΠΟΡΩΝ
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗ ΥΔΑΤΙΚΩΝ ΠΟΡΩΝ Συνδυασμένη χρήση μοντέλων προσομοίωσης βελτιστοποίησης. Η μέθοδος του μητρώου μοναδιαίας απόκρισης Νικόλαος
Συστήματα Επιχειρηματικής Ευφυίας. Οι αλγόριθμοι Hill Climbing, Simulated Annealing, Great Deluge, VNS, Tabu Search
Συστήματα Επιχειρηματικής Ευφυίας Οι αλγόριθμοι Hill Climbing, Simulated Annealing, Great Deluge, VNS, Tabu Search Τέταρτη Διάλεξη Περιεχόμενα 1. Το πρόβλημα της πρόωρης σύγκλισης (premature convergence)
Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος
Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό Η έννοια του προβλήματος Τι είναι πρόβλημα; ΠΡΟΒΛΗΜΑΤΑ ΟΡΙΣΜΟΣ ΠΡΟΒΛΗΜΑΤΟΣ Πρόβλημα είναι κάθε κατάσταση που μας απασχολεί και χρήζει αντιμετώπισης,
ΤΥΦΛΗ ΑΝΑΖΗΤΗΣΗ (1) ΣΤΡΑΤΗΓΙΚΗ Ή ΑΛΓΟΡΙΘΜΟΣ ΑΝΑΖΗΤΗΣΗΣ
ΤΥΦΛΗ ΑΝΑΖΗΤΗΣΗ (1) ΣΤΡΑΤΗΓΙΚΗ Ή ΑΛΓΟΡΙΘΜΟΣ ΑΝΑΖΗΤΗΣΗΣ Μια αυστηρά καθορισµένη ακολουθία ενεργειών µε σκοπό τη λύση ενός προβλήµατος. Χαρακτηριστικά οθέν πρόβληµα: P= Επιλυθέν πρόβληµα: P s
Τ.Ε.Ι. ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Τ.Ε.Ι. ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΙΣΗΓΗΤΗΣ: Δρ. Ιωάννης Σ. Τουρτούρας Μηχανικός Παραγωγής & Διοίκησης Δ.Π.Θ. Χρηματοδότηση Το παρόν εκπαιδευτικό
Διερευνητική μάθηση We are researchers, let us do research! (Elbers and Streefland, 2000)
Διερευνητική μάθηση We are researchers, let us do research! (Elbers and Streefland, 2000) Πρόκειται για την έρευνα που διεξάγουν οι επιστήμονες. Είναι μια πολύπλοκη δραστηριότητα που απαιτεί ειδικό ακριβό
Επίλυση Προβλημάτων 1
Επίλυση Προβλημάτων 1 Επίλυση Προβλημάτων Περιγραφή Προβλημάτων Αλγόριθμοι αναζήτησης Αλγόριθμοι τυφλής αναζήτησης Αναζήτηση πρώτα σε βάθος Αναζήτηση πρώτα σε πλάτος (ΒFS) Αλγόριθμοι ευρετικής αναζήτησης
Κεφάλαιο 3. Αλγόριθµοι Τυφλής Αναζήτησης. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.
Κεφάλαιο 3 Αλγόριθµοι Τυφλής Αναζήτησης Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου Αλγόριθµοι Τυφλής Αναζήτησης Οι αλγόριθµοι τυφλής αναζήτησης (blind
ΤΙΤΛΟΣ ΑΝΑΦΟΡΑΣ: ΕΦΑΡΜΟΓΗ ΚΑΙ ΑΠΟΤΕΛΕΣΜΑΤΑ ΣΕ ΕΠΙΛΕΓΜΕΝΕΣ ΠΕΡΙΤΠΩΣΕΙΣ
ΤΙΤΛΟΣ ΑΝΑΦΟΡΑΣ: ΕΦΑΡΜΟΓΗ ΚΑΙ ΑΠΟΤΕΛΕΣΜΑΤΑ ΣΕ ΕΠΙΛΕΓΜΕΝΕΣ ΠΕΡΙΤΠΩΣΕΙΣ ΚΩΔΙΚΟΣ ΠΑΡΑΔΟΤΕΟΥ: Π18 ΑΡΙΘΜΟΣ ΠΡΩΤΟΚΟΛΛΟΥ ΈΡΓΟΥ: ΤΠΕ/ΟΡΖΙΟ/0308(ΒΕ)/03 ΤΙΤΛΟΣ ΕΡΓΟΥ: ΓΕΝΙΚΕΥΜΕΝΟ ΣΥΣΤΗΜΑ ΑΣΑΦΟΥΣ ΓΝΩΣΤΙΚΟΥ ΧΑΡΤΗ
ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ
ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΚΟΥΛΙΝΑΣ ΓΕΩΡΓΙΟΣ Δρ. Μηχανικός Παραγωγής & Διοίκησης ΔΠΘ ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ o ΔΙΑΛΕΞΕΙΣ ΜΑΘΗΜΑΤΟΣ ΔΕΥΤΕΡΑ 16.00-19.00 (Εργ. Υπ. Μαθ. Τμ. ΜΠΔ) oτρόπος
Παναγιώτης Καρακώστας (mai1321) ΠΜΣ Εφαρμοσμένης Πληροφορικής Συστήματα Υπολογιστών Πανεπιστήμιο Μακεδονίας
Παναγιώτης Καρακώστας (mai1321) ΠΜΣ Εφαρμοσμένης Πληροφορικής Συστήματα Υπολογιστών Πανεπιστήμιο Μακεδονίας Πρόβλημα Πλανόδιου Πωλητή (TSP) Περιγραφή Προβλήματος Μαθηματική Μορφοποίηση Ορόσημα στην Επίλυση
Συστήματα Επιχειρηματικής Ευφυίας. Τα προβλήματα school timetabling, University course timetabling και Exam timetabling
Συστήματα Επιχειρηματικής Ευφυίας Τα προβλήματα school timetabling, University course timetabling και Exam timetabling Πέμπτη Διάλεξη Περιεχόμενα (1) 1. Το πρόβλημα school timetabling Ορισμός του προβλήματος
Επίλυση Προβληµάτων. ! Αποτελεί ένα από τα βασικά χαρακτηριστικά γνωρίσµατα της νοηµοσύνης. ! Χαρακτηριστικά αλγορίθµων:
Επίλυση Προβληµάτων! Αποτελεί ένα από τα βασικά χαρακτηριστικά γνωρίσµατα της νοηµοσύνης.! Χαρακτηριστικά αλγορίθµων: # Αποδοτικότητα (efficiency) σε µνήµηκαιχρόνο, # Πολυπλοκότητα (complexity), # Πληρότητα
ΑΚΕΡΑΙΟΣ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΑΚΕΡΑΙΟΣ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ολοκληρωμένη μαθηματική τεχνική βελτιστοποίησης Ευρύτατο φάσμα εφαρμογών Εισαγωγή ακέραιων/λογικών/βοηθητικών μεταβλητών Δυνατότητα γραμμικοποίησης με 0-1 μεταβλητές
Κεφάλαιο 4ο: Δικτυωτή Ανάλυση
Κεφάλαιο ο: Δικτυωτή Ανάλυση. Εισαγωγή Η δικτυωτή ανάλυση έχει παίξει σημαντικό ρόλο στην Ηλεκτρολογία. Όμως, ορισμένες έννοιες και τεχνικές της δικτυωτής ανάλυσης είναι πολύ χρήσιμες και σε άλλες επιστήμες.
Τυπικά θέματα εξετάσεων. ΠΡΟΣΟΧΗ: Οι ερωτήσεις που παρατίθενται ΔΕΝ καλύπτουν την πλήρη ύλη του μαθήματος και παρέχονται απλά ενδεικτικά
ΤΕΙ Κεντρικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής ΤΕ Μεταπτυχιακό Πρόγραμμα Τηλεπικοινωνιών & Πληροφορικής Μάθημα : 204a Υπολογιστική Ευφυία Μηχανική Μάθηση Καθηγητής : Σπύρος Καζαρλής Ενότηα : Εξελικτική
Επίλυση προβληµάτων. Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης Αλγόριθµοι τυφλής αναζήτησης Αλγόριθµοι ευρετικής αναζήτησης
Επίλυση προβληµάτων Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης Αλγόριθµοι τυφλής αναζήτησης Αλγόριθµοι ευρετικής αναζήτησης! Παιχνίδια δύο αντιπάλων Προβλήµατα ικανοποίησης περιορισµών Γενικά " Ντετερµινιστικά
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ «Μεταπτυχιακή Εξειδίκευση στα Πληροφοριακά Συστήματα» ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ «Εφαρμογή σύγχρονων αλγόριθμων Cat Swarm
Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή
Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1 Ικανοποίηση Περιορισμών Κατηγορία προβλημάτων στα οποία είναι γνωστές μερικές
Ευρετικές Μέθοδοι. Ενότητα 1: Εισαγωγή στις ευρετικές μεθόδους. Άγγελος Σιφαλέρας. Μεταπτυχιακό Εφαρμοσμένης Πληροφορικής ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΙ
Ευρετικές Μέθοδοι Ενότητα 1: Εισαγωγή στις ευρετικές μεθόδους Μεταπτυχιακό Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Δομές Δεδομένων και Αλγόριθμοι
Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 9 P vs NP 1 / 13 Δυσκολία επίλυσης υπολογιστικών προβλημάτων Κάποια προβλήματα είναι εύκολα να λυθούν με
Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.
Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Μη γραμμικός προγραμματισμός: μέθοδοι μονοδιάστατης ελαχιστοποίησης Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών ΤμήμαΠληροφορικής Διάλεξη 6 η /2017 Τι παρουσιάστηκε
Μέθοδοι μονοδιάστατης ελαχιστοποίησης
Βασικές αρχές μεθόδων ελαχιστοποίησης Μέθοδοι μονοδιάστατης ελαχιστοποίησης Οι μέθοδοι ελαχιστοποίησης είναι επαναληπτικές. Ξεκινώντας από μια αρχική προσέγγιση του ελαχίστου (την συμβολίζουμε ) παράγουν
Εισαγωγή στο Γραμμικό Προγραμματισμό. Χειμερινό Εξάμηνο
Εισαγωγή στο Γραμμικό Προγραμματισμό Χειμερινό Εξάμηνο 2016-2017 Εισαγωγή Ασχολείται με το πρόβλημα της άριστης κατανομής των περιορισμένων πόρων μεταξύ ανταγωνιζόμενων δραστηριοτήτων μιας επιχείρησης
ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ «ΕΥΦΥΗ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΦΟΡΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΕΡΓΩΝ»
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ «ΕΥΦΥΗ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΦΟΡΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΕΡΓΩΝ» ΜΕΘΟΔΟΛΟΓΙΑ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΠΟΛΛΑΠΛΩΝ ΣΤΟΧΩΝ ΓΙΑ ΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής.
Κεφάλαιο 2 - Πρόβλημα 2.1.1. Η έννοια του προβλήματος Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. 2.1.2. Κατηγορίες προβλημάτων
Το πρόβλημα μονοδρόμησης (The One-Way Street Problem)
Το πρόβλημα μονοδρόμησης (The One-Way Street Problem) Το πρόβλημα Σχετίζεται με τη διαχείριση της κίνησης οχημάτων στους δρόμους Αν δεν υπήρχαν καθυστερήσεις στην κίνηση στις πόλεις Αποφυγή σπατάλης ενέργειας
Τεχνητή Νοημοσύνη. 5η διάλεξη ( ) Ίων Ανδρουτσόπουλος.
Τεχνητή Νοημοσύνη 5η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας
Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1
Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 2016 17 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 4 ης διάλεξης 4.1. (α) Αποδείξτε ότι αν η h είναι συνεπής, τότε h(n
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη μιας προσαρμοστικής πολιτικής αντικατάστασης αρχείων, με χρήση
Μέθοδοι μονοδιάστατης ελαχιστοποίησης
Βασικές αρχές μεθόδων ελαχιστοποίησης Μέθοδοι μονοδιάστατης ελαχιστοποίησης Οι μέθοδοι ελαχιστοποίησης είναι επαναληπτικές. Ξεκινώντας από μια αρχική προσέγγιση του ελαχίστου (την συμβολίζουμε ) παράγουν
Συστήματα Επιχειρηματικής Ευφυίας. Εισαγωγικές έννοιες Υπολογιστικής Νοημοσύνης
Συστήματα Επιχειρηματικής Ευφυίας Εισαγωγικές έννοιες Υπολογιστικής Νοημοσύνης Διάρθρωση του μαθήματος Το μάθημα αποτελείται από τρείς τρίωρες διαλέξεις και ένα επαναληπτικό τρίωρο. Οι διαλέξεις αφορούν
Επίλυση προβλημάτων με αναζήτηση
Επίλυση προβλημάτων με αναζήτηση Περιεχόμενα Μέθοδοι (πράκτορες) επίλυσης προβλημάτων Προβλήματα και Λύσεις Προβλήματα παιχνίδια Προβλήματα του πραγματικού κόσμου Αναζήτηση λύσεων Δέντρο αναζήτησης Στρατηγικές
Το ανοργάνωτο Parking
Δημοτικό Υπαίθριο Parking Περίληψη: Σε κάθε πόλη είναι σημαντικό η δημιουργία όσο το δυνατόν περισσότερων θέσεων parking, ειδικά στο κέντρο της, ώστε να διευκολύνονται οι πολίτες και η εμπορική αγορά.
Eθνικό Μετσόβιο Πολυτεχνείο Σχολή Πολιτικών Μηχανικών EMΠ
Eθνικό Μετσόβιο Πολυτεχνείο Σχολή Πολιτικών Μηχανικών EMΠ Ανάπτυξη μοντέλου βελτιστοποίησης της κατανομής πόρων για την συντήρηση των λιμένων της Ελλάδας Σωτήριος Χαριζόπουλος Επιβλέποντες: Γιώργος Γιαννής,
Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής
Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική
Βασίλειος Κοντογιάννης ΠΕ19
Ενότητα2 Προγραμματιστικά Περιβάλλοντα Δημιουργία Εφαρμογών 5.1 Πρόβλημα και Υπολογιστής Τι ονομάζουμε πρόβλημα; Πρόβλημα θεωρείται κάθε ζήτημα που τίθεται προς επίλυση, κάθε κατάσταση που μας απασχολεί
i Σύνολα w = = = i v v i=
ΜΕΤΡΑ ΘΕΣΗΣ ΆΣΚΗΣΗ Η βαθμολογία στα 0 μαθήματα ενός μαθητή είναι: 3, 9, 6, 0, 5,,, 0, 0, 4. Να υπολογίσετε: α) Τη μέση τιμή. β) Τη διάμεσο. Απάντηση t t + t + t 0 = = = = 3 + 9 + 6 + 0 + 5 + + + 0 + 0
5.1. Χωροταξικός Σχεδιασμός Κριτήρια αξιολόγησης Χωροταξικού Σχεδιασμού Δραστηριότητες Χωροταξικού Σχεδιασμού...
ΚΕΦΑΛΑΙΟ 5. ΧΩΡΟΤΑΞΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ Περιεχόμενα 5.1. Χωροταξικός Σχεδιασμός... 2 5.2. Κριτήρια αξιολόγησης Χωροταξικού Σχεδιασμού... 4 5.3. Δραστηριότητες Χωροταξικού Σχεδιασμού... 5 5.4. Τύποι Χωροταξίας...
ΗΥ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. Περίληψη Συνεισφοράς
3 η ΕΝΟΤΗΤΑ ΜΗ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ ΚΡΙΤΗΡΙΟΥ
ΣΧΟΛΗ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΕΜΠ ΕΙΣΑΓΩΓΗ ΣΤΗN ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΩΝ 3 η ΕΝΟΤΗΤΑ ΜΗ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ ΚΡΙΤΗΡΙΟΥ Μ. Καρλαύτης Ν. Λαγαρός Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό
Διαχείριση Έργων. Ενότητα 7: Εκτέλεση, παρακολούθηση και έλεγχος έργου
Διαχείριση Έργων Ενότητα 7: Εκτέλεση, παρακολούθηση και έλεγχος έργου Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων (Δ.Ε.Α.Π.Τ.)
Αναγνώριση Προτύπων Ι
Αναγνώριση Προτύπων Ι Ενότητα 1: Μέθοδοι Αναγνώρισης Προτύπων Αν. Καθηγητής Δερματάς Ευάγγελος Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ ΠΕΡΣΕΦΟΝΗ ΠΟΛΥΧΡΟΝΙΔΟΥ ΤΜΗΜΑ ΛΟΓΙΣΤΙΚΗΣ ΤΕ
ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ ΠΕΡΣΕΦΟΝΗ ΠΟΛΥΧΡΟΝΙΔΟΥ ΤΜΗΜΑ ΛΟΓΙΣΤΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται
ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΜΑΘΗΜΑ ΓΕΝΙΚΗΣ ΠΑΙΔΕΙΑΣ Β ΛΥΚΕΙΟΥ
ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΜΑΘΗΜΑ ΓΕΝΙΚΗΣ ΠΑΙΔΕΙΑΣ Β ΛΥΚΕΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ Ιστότοπος Βιβλίου http://www.iep.edu.gr/ και «Νέα Βιβλία ΙΕΠ ΓΕΛ και ΕΠΑΛ» 2 ΠΕΡΙΕΧΟΜΕΝΑ
Διοίκηση Παραγωγής και Συστημάτων Υπηρεσιών
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Διοίκηση Παραγωγής και Συστημάτων Υπηρεσιών Αθήνα, Οκτώβριος 2008 Εργαστήριο Συστημάτων Αποφάσεων και Διοίκησης 1. ΔΙΟΙΚΗΣΗ ΠΑΡΑΓΩΓΗΣ
ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ
ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΚΟΥΛΙΝΑΣ ΓΕΩΡΓΙΟΣ Δρ. Μηχανικός Παραγωγής & Διοίκησης ΔΠΘ The Tabu Search Algorithm Glover, F. (1986). Future paths for integer programming and links to artificial
Εφαρμόζονται σε προβλήματα στα οποία δεν υπάρχει πληροφορία που να επιτρέπει την αξιολόγηση των καταστάσεων του χώρου αναζήτησης.
Ανάλογα με το αν ένας αλγόριθμος αναζήτησης χρησιμοποιεί πληροφορία σχετική με το πρόβλημα για να επιλέξει την επόμενη κατάσταση στην οποία θα μεταβεί, οι αλγόριθμοι αναζήτησης χωρίζονται σε μεγάλες κατηγορίες,
Ανάλυση Χρόνου, Πόρων & Κόστους
ΠΜΣ: «Παραγωγή και ιαχείριση Ενέργειας» ιαχείριση Ενέργειας και ιοίκηση Έργων Ανάλυση Χρόνου, Πόρων & Κόστους Επ. Καθηγητής Χάρης ούκας, Καθηγητής Ιωάννης Ψαρράς Εργαστήριο Συστημάτων Αποφάσεων & ιοίκησης
Κύρια σημεία. Η έννοια του μοντέλου. Έρευνα στην εφαρμοσμένη Στατιστική. ΈρευναστηΜαθηματικήΣτατιστική. Αντικείμενο της Μαθηματικής Στατιστικής
Κύρια σημεία Ερευνητική Μεθοδολογία και Μαθηματική Στατιστική Απόστολος Μπουρνέτας Τμήμα Μαθηματικών ΕΚΠΑ Αναζήτηση ερευνητικού θέματος Εισαγωγή στην έρευνα Ολοκλήρωση ερευνητικής εργασίας Ο ρόλος των
6. Διαχείριση Έργου. Έκδοση των φοιτητών
6. Διαχείριση Έργου Έκδοση των φοιτητών Εισαγωγή 1. Η διαδικασία της Διαχείρισης Έργου 2. Διαχείριση κινδύνων Επανεξέταση Ερωτήσεις Αυτοαξιολόγησης Διαχείριση του έργου είναι να βάζεις σαφείς στόχους,
ΔΙΟΙΚΗΣΗ ΒΙΟΜΗΧΑΝΙΚΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ I ΟΙΚΟΝΟΜΙΚΗ ΤΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ
ΔΙΟΙΚΗΣΗ ΒΙΟΜΗΧΑΝΙΚΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ I ΟΙΚΟΝΟΜΙΚΗ ΤΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ Λέκτορας Ι. Γιαννατσής Καθηγητής Π. Φωτήλας ΟΙΚΟΝΟΜΙΚΗ ΕΠΙΣΤΗΜΗ Οικονομική Επιστήμη: Η κοινωνική επιστήμη που ερευνά την οικονομική δραστηριότητα
ΈΡΕΥΝΑ ΜΕΤΑΒΛΗΤΗΣ ΓΕΙΤΟΝΙΑΣ (Variable Neighborhood Search - VNS) VNS) (Variable Neighborhood Search -
ΈΡΕΥΝΑ ΜΕΤΑΒΛΗΤΗΣ ΓΕΙΤΟΝΙΑΣ (Variable Neighborhood Search - VNS) ΈΡΕΥΝΑ ΜΕΤΑΒΛΗΤΗΣ ΓΕΙΤΟΝΙΑΣ (Variable Neighborhood Search - VNS) Department of & Technology, 1 ΈΡΕΥΝΑ ΜΕΤΑΒΛΗΤΗΣ ΓΕΙΤΟΝΙΑΣ (Variable Neighborhood
Μοντελοποίηση προβληµάτων
Σχεδιασµός Αλγορίθµων Ακέραιος προγραµµατισµός Αποδοτικοί Αλγόριθµοι Μη Αποδοτικοί Αλγόριθµοι Σχεδιασµός Αλγορίθµων Ακέραιος προγραµµατισµός Αποδοτικοί Αλγόριθµοι Μη Αποδοτικοί Αλγόριθµοι Θεωρία γράφων
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΑΙ ΜΑΘΗΜΑΤΙΚΗ ΔΙΑΤΥΠΩΣΗ, Διαλ. 2. Ανωτάτη Σχολή Παιδαγωγικής και Τεχνολογικής Εκπαίδευσης 8/4/2017
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΑΙ ΜΑΘΗΜΑΤΙΚΗ ΔΙΑΤΥΠΩΣΗ, Διαλ. 2 Ανωτάτη Σχολή Παιδαγωγικής και Τεχνολογικής Εκπαίδευσης 8/4/2017 Αντικειμενικοί στόχοι Η μελέτη των βασικών στοιχείων που συνθέτουν ένα πρόβλημα βελτιστοποίησης
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 Εισαγωγή Η Μεθοδολογία της Έρευνας (research methodology) είναι η επιστήμη που αφορά τη μεθοδολογία πραγματοποίησης μελετών με συστηματικό, επιστημονικό και λογικό τρόπο, με σκοπό την παραγωγή
Θεωρία Παιγνίων Δρ. Τασσόπουλος Ιωάννης
Θεωρία Παιγνίων Δρ. Τασσόπουλος Ιωάννης 1 η Διάλεξη Ορισμός Θεωρίας Παιγνίων και Παιγνίου Κατηγοριοποίηση παιγνίων Επίλυση παιγνίου Αξία (τιμή) παιγνίου Δίκαιο παίγνιο Αναπαράσταση Παιγνίου Με πίνακα Με
2 η ΕΝΟΤΗΤΑ ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΣΧΟΛΗ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΕΜΠ ΕΙΣΑΓΩΓΗ ΣΤΗN ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΩΝ 2 η ΕΝΟΤΗΤΑ ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μ. Καρλαύτης Ν. Λαγαρός Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες Χρήσης Creative
Διαχείριση έργων. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση
Διαχείριση έργων Στόχοι Ερμηνεία των κύριων εργασιών ενός διευθυντή έργου λογισμικού Παρουσίαση της διαχείρισης έργων λογισμικού και περιγραφή των χαρακτηριστικών που τη διακρίνουν Εξέταση του σχεδιασμού
ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ
ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΚΟΥΛΙΝΑΣ ΓΕΩΡΓΙΟΣ Δρ. Μηχανικός Παραγωγής & Διοίκησης ΔΠΘ ΜΕΤΑΕΥΡΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ METAHEURISTIC ALGORITHMS Ευφυείς διαδικασίες επαναληπτικής βελτίωσης Χρησιμοποιούν
Εκπαιδευτική Μονάδα 10.2: Εργαλεία χρονοπρογραμματισμού των δραστηριοτήτων.
Εκπαιδευτική Μονάδα 10.2: Εργαλεία χρονοπρογραμματισμού των δραστηριοτήτων. Στην προηγούμενη Εκπαιδευτική Μονάδα παρουσιάστηκαν ορισμένα χρήσιμα παραδείγματα διαδεδομένων εργαλείων για τον χρονοπρογραμματισμό