Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Aνάπτυξη Εφαρμογής Χρονοπρογραμματισμού Eξετάσεων ενός Πανεπιστημιακού Τμήματος Ζαγκαρέτος Λεωνίδας ΑΕΜ: 607 Ραφαηλίδης Δημήτρης ΑΕΜ: 656 Επιβλέπων Καθηγητής:

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Aνάπτυξη Εφαρμογής Χρονοπρογραμματισμού Eξετάσεων ενός Πανεπιστημιακού Τμήματος Ζαγκαρέτος Λεωνίδας ΑΕΜ: 607 Ραφαηλίδης Δημήτρης ΑΕΜ: 656 Επιβλέπων Καθηγητής:"— Μεταγράφημα παρουσίασης:

1 Aνάπτυξη Εφαρμογής Χρονοπρογραμματισμού Eξετάσεων ενός Πανεπιστημιακού Τμήματος Ζαγκαρέτος Λεωνίδας ΑΕΜ: 607 Ραφαηλίδης Δημήτρης ΑΕΜ: 656 Επιβλέπων Καθηγητής: Ιωάννης Βλαχάβας

2 2 Σκοπός Διπλωματικής Εργασίας Η δημιουργία του προγράμματος της εξεταστικής περιόδου ενός πανεπιστημιακού τμήματος, με βάση Η δημιουργία του προγράμματος της εξεταστικής περιόδου ενός πανεπιστημιακού τμήματος, με βάση Ένα σύνολο δεδομένων και Ένα σύνολο δεδομένων και Ένα σύνολο περιορισμών που πρέπει να ικανοποιούνται. Ένα σύνολο περιορισμών που πρέπει να ικανοποιούνται.

3 3 Δομή Χρονοπρογραμματισμός Χρονοπρογραμματισμός Προσεγγίσεις Επίλυσης Προσεγγίσεις Επίλυσης Προγραμματισμός με Περιορισμούς Προγραμματισμός με Περιορισμούς Λογικός Προγραμματισμός με Περιορισμούς Λογικός Προγραμματισμός με Περιορισμούς Χρονοπρογραμματισμός Εξετάσεων Πανεπιστημιακού Τμήματος Χρονοπρογραμματισμός Εξετάσεων Πανεπιστημιακού Τμήματος Δεδομένα Δεδομένα Περιορισμοί Περιορισμοί Μοντελοποίηση Μοντελοποίηση Υλοποίηση Υλοποίηση Πλατφόρμα Υλοποίησης Πλατφόρμα Υλοποίησης Διασύνδεση JAVA – ECLiPSe Διασύνδεση JAVA – ECLiPSe Αρχιτεκτονική Εφαρμογής Αρχιτεκτονική Εφαρμογής Συμπεράσματα - Μελλοντικές Βελτιώσεις Συμπεράσματα - Μελλοντικές Βελτιώσεις

4 Χρονοπρογραμματισμός Προσεγγίσεις Επίλυσης

5 5 Το πρόβλημα του Χρονοπρογραμματισμού Ένα σύνολο από δραστηριότητες με συγκεκριμένες διάρκειες Ένα σύνολο από δραστηριότητες με συγκεκριμένες διάρκειες Ένα σύνολο χρονικών περιορισμών μεταξύ των δραστηριοτήτων Ένα σύνολο χρονικών περιορισμών μεταξύ των δραστηριοτήτων Με την έννοια χρονοπρογραμματισμός εννοούμε τον προγραμματισμό των δραστηριοτήτων, έτσι ώστε να ικανοποιούνται οι χρονικοί περιορισμοί, αλλά και οι περιορισμοί των πόρων. Με την έννοια χρονοπρογραμματισμός εννοούμε τον προγραμματισμό των δραστηριοτήτων, έτσι ώστε να ικανοποιούνται οι χρονικοί περιορισμοί, αλλά και οι περιορισμοί των πόρων.

6 6 Διάφορες Προσεγγίσεις Επίλυσης Άμεσοι Ευριστικοί Τρόποι Επίλυσης Άμεσοι Ευριστικοί Τρόποι Επίλυσης Αναγωγή σε Χρωματισμό Γράφου Αναγωγή σε Χρωματισμό Γράφου Γενετικοί Αλγόριθμοι Γενετικοί Αλγόριθμοι Προγραμματισμός με Περιορισμούς Προγραμματισμός με Περιορισμούς Λογικός Προγραμματισμός με Περιορισμούς - CLP Λογικός Προγραμματισμός με Περιορισμούς - CLP

7 7 Προγραμματισμός με Περιορισμούς Οι περιορισμοί αναφέρονται σε μεταβλητές που παίρνουν τιμές από ένα πεδίο τιμών. Οι περιορισμοί αναφέρονται σε μεταβλητές που παίρνουν τιμές από ένα πεδίο τιμών. Η επίλυση των περιορισμών πραγματοποιείται με τους αλγόριθμους συνέπειας τόξου, οι οποίοι αποτελούν μια μορφή διάδοσης περιορισμών (constraint propagation). Η επίλυση των περιορισμών πραγματοποιείται με τους αλγόριθμους συνέπειας τόξου, οι οποίοι αποτελούν μια μορφή διάδοσης περιορισμών (constraint propagation).

8 8 Λογικός Προγραμματισμός με Περιορισμούς Συνδυασμός λογικού προγραμμα- τισμού με προγραμματισμό με περιορισμούς. Συνδυασμός λογικού προγραμμα- τισμού με προγραμματισμό με περιορισμούς. Εκμεταλλεύεται τη σαφήνεια του λογικού προγραμματισμού και την αποτελεσματικότητα του προγραμ- ματισμού με περιορισμούς. Εκμεταλλεύεται τη σαφήνεια του λογικού προγραμματισμού και την αποτελεσματικότητα του προγραμ- ματισμού με περιορισμούς.

9 Χρονοπρογραμματισμός Εξετάσεων Πανεπιστημιακού Τμήματος

10 10 Πρόβλημα Η δημιουργία του προγράμματος εξετάσεων ενός πανεπιστημιακού τμήματος, και περιλαμβάνει: Η δημιουργία του προγράμματος εξετάσεων ενός πανεπιστημιακού τμήματος, και περιλαμβάνει: Την ανάθεση της εξέτασης ενός μαθήματος σε μια συγκεκριμένη ημερομηνία και ώρα. Την ανάθεση της εξέτασης ενός μαθήματος σε μια συγκεκριμένη ημερομηνία και ώρα. Τον καθορισμό των αιθουσών για την εξέταση του μαθήματος. Τον καθορισμό των αιθουσών για την εξέταση του μαθήματος. Τον ορισμό των επιτηρητών. Τον ορισμό των επιτηρητών.

11 11 Δεδομένα Προβλήματος Σχετικά με το χρόνο Σχετικά με το χρόνο Ημερομηνίες έναρξης και λήξης της εξεταστικής περιόδου, αργίες κτλ. Ημερομηνίες έναρξης και λήξης της εξεταστικής περιόδου, αργίες κτλ. Σχετικά με τις αίθουσες Σχετικά με τις αίθουσες Το όνομα, η χωρητικότητα κτλ. Το όνομα, η χωρητικότητα κτλ. Σχετικά με τους καθηγητές και τους επιτηρητές Σχετικά με τους καθηγητές και τους επιτηρητές Τα μαθήματα που διδάσκουν κτλ. Τα μαθήματα που διδάσκουν κτλ. Σχετικά με τα μαθήματα Σχετικά με τα μαθήματα Το εξάμηνο, ο αριθμός φοιτητών που το έχουν δηλώσει κτλ. Το εξάμηνο, ο αριθμός φοιτητών που το έχουν δηλώσει κτλ.

12 12 Περιορισμοί Προβλήματος Σχετικοί με το χρόνο Σχετικοί με το χρόνο Η διάρκεια εξέτασης ενός μαθήματος δε θα μπορεί να είναι μεγαλύτερη από το χρονικό διάστημα που είναι διαθέσιμη η αίθουσα κτλ. Η διάρκεια εξέτασης ενός μαθήματος δε θα μπορεί να είναι μεγαλύτερη από το χρονικό διάστημα που είναι διαθέσιμη η αίθουσα κτλ. Σχετικοί με τους καθηγητές και τους επιτηρητές Σχετικοί με τους καθηγητές και τους επιτηρητές Δεν μπορούν να εξετάζονται ταυτόχρονα μαθήματα του ίδιου καθηγητή κτλ. Δεν μπορούν να εξετάζονται ταυτόχρονα μαθήματα του ίδιου καθηγητή κτλ. Σχετικοί με τις αίθουσες Σχετικοί με τις αίθουσες Η χωρητικότητα πρέπει να είναι μεγαλύτερη του πλήθους των φοιτητών κτλ. Η χωρητικότητα πρέπει να είναι μεγαλύτερη του πλήθους των φοιτητών κτλ. Σχετικοί με τα μαθήματα Σχετικοί με τα μαθήματα Διαφορά ημερών μεταξύ μαθημάτων ίδιου έτους κτλ. Διαφορά ημερών μεταξύ μαθημάτων ίδιου έτους κτλ.

13 13 Μοντελοποίηση Προβλήματος Η μοντελοποίηση του χώρου και του χρόνου φαίνεται στον διπλανό πίνακα: Η μοντελοποίηση του χώρου και του χρόνου φαίνεται στον διπλανό πίνακα: ΗμέραΠερίοδοςΑίθουσαSlot

14 Υλοποίηση

15 15 Πλατφόρμα Υλοποίησης ECLiPSe ECLiPSe Εξελιγμένους επιλύτες περιορισμών. Εξελιγμένους επιλύτες περιορισμών. Μεγάλη απόδοση. Μεγάλη απόδοση. Ολοκληρωμένο περιβάλλον ανάπτυξης. Ολοκληρωμένο περιβάλλον ανάπτυξης. Διασύνδεση JAVA - ΕCLiPSe Διασύνδεση JAVA - ΕCLiPSe JAVA JAVA Εύκολη ανάπτυξη γραφικής διασύνδεσης χρήστη - GUI. Εύκολη ανάπτυξη γραφικής διασύνδεσης χρήστη - GUI.

16 16 Διασύνδεση JAVA - ΕCLiPSe

17 17 Αρχιτεκτονική Εφαρμογής GUI Διασύνδεση ECLiPSe - JAVA Επιλυτής - solver Χρήστης Αρχείο Δεδομένων Αρχείο Κανόνων Δεδομένα Αποτελέσματα Ερωτήματα Κανόνες

18 18 Υλοποίηση GUI σε JAVA

19 19 Υλοποίηση solver σε ECLiPSe Είναι υπεύθυνος για την εφαρμογή όλων των περιορισμών που υφίστανται καθώς και για την επιστροφή των λύσεων. Είναι υπεύθυνος για την εφαρμογή όλων των περιορισμών που υφίστανται καθώς και για την επιστροφή των λύσεων. Υλοποιείται κυρίως στο κατηγόρημα assign/3, το οποίο καλεί στη συνέχεια όλους τους κανόνες που υλοποιούν τους περιορισμούς. Υλοποιείται κυρίως στο κατηγόρημα assign/3, το οποίο καλεί στη συνέχεια όλους τους κανόνες που υλοποιούν τους περιορισμούς.

20 20 Παράδειγμα Κανόνα Κανόνας για να μην Εξετάζονται Ταυτόχρονα δύο Μαθήματα στην ίδια Αίθουσα Κανόνας για να μην Εξετάζονται Ταυτόχρονα δύο Μαθήματα στην ίδια Αίθουσα /*1) η λίστα των μαθημάτων - η λύση*/ elegxos_gia_oxi_dio_mathimata_sto_idio_slot([H1]). elegxos_gia_oxi_dio_mathimata_sto_idio_slot([H1,H2|T]) :- append(H1,H2,H3),ic:(alldifferent(H3)), elegxos_gia_oxi_dio_mathimata_sto_idio_slot([H1|T]), elegxos_gia_oxi_dio_mathimata_sto_idio_slot2([H2|T] ). elegxos_gia_oxi_dio_mathimata_sto_idio_slot2([H1]). elegxos_gia_oxi_dio_mathimata_sto_idio_slot2([H1,H2|T] ) :- append(H1,H2,H3),ic:(alldifferent(H3)), elegxos_gia_oxi_dio_mathimata_sto_idio_slot2([H1|T] ).

21 Συμπεράσματα – Μελλοντικές Βελτιώσεις

22 22 Συμπεράσματα Η επιλογή της πλατφόρμας λογικού προγραμματισμού ECLiPSe για την υλοποίηση του επιλύτη στο συγκεκριμένο πρόβλημα αποδείχθηκε εξαιρετικά κατάλληλη. Η επιλογή της πλατφόρμας λογικού προγραμματισμού ECLiPSe για την υλοποίηση του επιλύτη στο συγκεκριμένο πρόβλημα αποδείχθηκε εξαιρετικά κατάλληλη. Ο επιλύτης εμφανίζει ικανοποιητική απόδοση. Ο επιλύτης εμφανίζει ικανοποιητική απόδοση. Η επέκταση της υπάρχουσας λειτουργικότητας του είναι μια σχετικά απλή διαδικασία. Η επέκταση της υπάρχουσας λειτουργικότητας του είναι μια σχετικά απλή διαδικασία. Η διασύνδεση της ECLiPSe με την γλώσσα προγραμματισμού JAVA, αποδείχθηκε κατάλληλη για την ανάπτυξη μιας φιλικής και εύχρηστης διεπαφής χρήστη. Η διασύνδεση της ECLiPSe με την γλώσσα προγραμματισμού JAVA, αποδείχθηκε κατάλληλη για την ανάπτυξη μιας φιλικής και εύχρηστης διεπαφής χρήστη.

23 23 Μελλοντικές Βελτιώσεις ECLiPSe ECLiPSe Υποστήριξη εξέτασης μαθημάτων που απαιτούν πάνω από 3 ώρες και 4 αίθουσες. Υποστήριξη εξέτασης μαθημάτων που απαιτούν πάνω από 3 ώρες και 4 αίθουσες. Προσθήκη νέων περιορισμών. Προσθήκη νέων περιορισμών. Δυνατότητα διαφορετική χωρητικότητας των αιθουσών. Δυνατότητα διαφορετική χωρητικότητας των αιθουσών. Μελέτη αλγορίθμου branch and bound και των παραμέτρων του για την εύρεση της βέλτιστης λύσης. Μελέτη αλγορίθμου branch and bound και των παραμέτρων του για την εύρεση της βέλτιστης λύσης.

24 24 Μελλοντικές Βελτιώσεις JAVA JAVA Δυνατότητα αλλαγής τρόπου εμφάνισης. Δυνατότητα αλλαγής τρόπου εμφάνισης. Περισσότερος έλεγχος του χρήστη για την εύρεση της βέλτιστης λύσης. Περισσότερος έλεγχος του χρήστη για την εύρεση της βέλτιστης λύσης. Δυνατότητα παρακολούθησης της διαδικασίας του labeling. Δυνατότητα παρακολούθησης της διαδικασίας του labeling.

25 Ανάπτυξη Εφαρμογής Χρονοπρογραμματισμού Εξετάσεων ενός Πανεπιστημιακού Τμήματος Ζαγκαρέτος Λεωνίδας ΑΕΜ: 607 Ραφαηλίδης Δημήτρης ΑΕΜ: 656 Επιβλέπων Καθηγητής: Ιωάννης Βλαχάβας


Κατέβασμα ppt "Aνάπτυξη Εφαρμογής Χρονοπρογραμματισμού Eξετάσεων ενός Πανεπιστημιακού Τμήματος Ζαγκαρέτος Λεωνίδας ΑΕΜ: 607 Ραφαηλίδης Δημήτρης ΑΕΜ: 656 Επιβλέπων Καθηγητής:"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google