Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεAndromeda Mavros Τροποποιήθηκε πριν 9 χρόνια
1
Ζαγκαρέτος Λεωνίδας ΑΕΜ: 607 Ραφαηλίδης Δημήτρης ΑΕΜ: 656
Aνάπτυξη Εφαρμογής Χρονοπρογραμματισμού Eξετάσεων ενός Πανεπιστημιακού Τμήματος Επιβλέπων Καθηγητής: Ιωάννης Βλαχάβας Ζαγκαρέτος Λεωνίδας ΑΕΜ: 607 Ραφαηλίδης Δημήτρης ΑΕΜ: 656
2
Σκοπός Διπλωματικής Εργασίας
Η δημιουργία του προγράμματος της εξεταστικής περιόδου ενός πανεπιστημιακού τμήματος, με βάση Ένα σύνολο δεδομένων και Ένα σύνολο περιορισμών που πρέπει να ικανοποιούνται.
3
Δομή Χρονοπρογραμματισμός
Προσεγγίσεις Επίλυσης Προγραμματισμός με Περιορισμούς Λογικός Προγραμματισμός με Περιορισμούς Χρονοπρογραμματισμός Εξετάσεων Πανεπιστημιακού Τμήματος Δεδομένα Περιορισμοί Μοντελοποίηση Υλοποίηση Πλατφόρμα Υλοποίησης Διασύνδεση JAVA – ECLiPSe Αρχιτεκτονική Εφαρμογής Συμπεράσματα - Μελλοντικές Βελτιώσεις
4
Χρονοπρογραμματισμός
Προσεγγίσεις Επίλυσης
5
Το πρόβλημα του Χρονοπρογραμματισμού
Ένα σύνολο από δραστηριότητες με συγκεκριμένες διάρκειες Ένα σύνολο χρονικών περιορισμών μεταξύ των δραστηριοτήτων Με την έννοια χρονοπρογραμματισμός εννοούμε τον προγραμματισμό των δραστηριοτήτων, έτσι ώστε να ικανοποιούνται οι χρονικοί περιορισμοί, αλλά και οι περιορισμοί των πόρων.
6
Διάφορες Προσεγγίσεις Επίλυσης
Άμεσοι Ευριστικοί Τρόποι Επίλυσης Αναγωγή σε Χρωματισμό Γράφου Γενετικοί Αλγόριθμοι Προγραμματισμός με Περιορισμούς Λογικός Προγραμματισμός με Περιορισμούς - CLP
7
Προγραμματισμός με Περιορισμούς
Οι περιορισμοί αναφέρονται σε μεταβλητές που παίρνουν τιμές από ένα πεδίο τιμών. Η επίλυση των περιορισμών πραγματοποιείται με τους αλγόριθμους συνέπειας τόξου, οι οποίοι αποτελούν μια μορφή διάδοσης περιορισμών (constraint propagation).
8
Λογικός Προγραμματισμός με Περιορισμούς
Συνδυασμός λογικού προγραμμα- τισμού με προγραμματισμό με περιορισμούς. Εκμεταλλεύεται τη σαφήνεια του λογικού προγραμματισμού και την αποτελεσματικότητα του προγραμ- ματισμού με περιορισμούς.
9
Χρονοπρογραμματισμός Εξετάσεων Πανεπιστημιακού Τμήματος
10
Πρόβλημα Η δημιουργία του προγράμματος εξετάσεων ενός πανεπιστημιακού τμήματος, και περιλαμβάνει: Την ανάθεση της εξέτασης ενός μαθήματος σε μια συγκεκριμένη ημερομηνία και ώρα. Τον καθορισμό των αιθουσών για την εξέταση του μαθήματος. Τον ορισμό των επιτηρητών.
11
Δεδομένα Προβλήματος Σχετικά με το χρόνο Σχετικά με τις αίθουσες
Ημερομηνίες έναρξης και λήξης της εξεταστικής περιόδου, αργίες κτλ. Σχετικά με τις αίθουσες Το όνομα, η χωρητικότητα κτλ. Σχετικά με τους καθηγητές και τους επιτηρητές Τα μαθήματα που διδάσκουν κτλ. Σχετικά με τα μαθήματα Το εξάμηνο, ο αριθμός φοιτητών που το έχουν δηλώσει κτλ.
12
Περιορισμοί Προβλήματος
Σχετικοί με το χρόνο Η διάρκεια εξέτασης ενός μαθήματος δε θα μπορεί να είναι μεγαλύτερη από το χρονικό διάστημα που είναι διαθέσιμη η αίθουσα κτλ. Σχετικοί με τους καθηγητές και τους επιτηρητές Δεν μπορούν να εξετάζονται ταυτόχρονα μαθήματα του ίδιου καθηγητή κτλ. Σχετικοί με τις αίθουσες Η χωρητικότητα πρέπει να είναι μεγαλύτερη του πλήθους των φοιτητών κτλ. Σχετικοί με τα μαθήματα Διαφορά ημερών μεταξύ μαθημάτων ίδιου έτους κτλ.
13
Μοντελοποίηση Προβλήματος
Η μοντελοποίηση του χώρου και του χρόνου φαίνεται στον διπλανό πίνακα: Ημέρα Περίοδος Αίθουσα Slot 1 2 3 4 5
14
Υλοποίηση
15
Πλατφόρμα Υλοποίησης ECLiPSe JAVA Εξελιγμένους επιλύτες περιορισμών.
Μεγάλη απόδοση. Ολοκληρωμένο περιβάλλον ανάπτυξης. Διασύνδεση JAVA - ΕCLiPSe JAVA Εύκολη ανάπτυξη γραφικής διασύνδεσης χρήστη - GUI.
16
Διασύνδεση JAVA - ΕCLiPSe
17
Αρχιτεκτονική Εφαρμογής
Δεδομένα Χρήστης GUI Αποτελέσματα Δεδομένα Αποτελέσματα Αρχείο Δεδομένων Διασύνδεση ECLiPSe - JAVA Δεδομένα Ερωτήματα Αρχείο Κανόνων Επιλυτής - solver Κανόνες
18
Υλοποίηση GUI σε JAVA
19
Υλοποίηση solver σε ECLiPSe
Είναι υπεύθυνος για την εφαρμογή όλων των περιορισμών που υφίστανται καθώς και για την επιστροφή των λύσεων. Υλοποιείται κυρίως στο κατηγόρημα assign/3, το οποίο καλεί στη συνέχεια όλους τους κανόνες που υλοποιούν τους περιορισμούς.
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]) :- elegxos_gia_oxi_dio_mathimata_sto_idio_slot2([H1|T]).
21
Συμπεράσματα – Μελλοντικές Βελτιώσεις
22
Συμπεράσματα Η επιλογή της πλατφόρμας λογικού προγραμματισμού ECLiPSe για την υλοποίηση του επιλύτη στο συγκεκριμένο πρόβλημα αποδείχθηκε εξαιρετικά κατάλληλη. Ο επιλύτης εμφανίζει ικανοποιητική απόδοση. Η επέκταση της υπάρχουσας λειτουργικότητας του είναι μια σχετικά απλή διαδικασία. Η διασύνδεση της ECLiPSe με την γλώσσα προγραμματισμού JAVA, αποδείχθηκε κατάλληλη για την ανάπτυξη μιας φιλικής και εύχρηστης διεπαφής χρήστη.
23
Μελλοντικές Βελτιώσεις
ECLiPSe Υποστήριξη εξέτασης μαθημάτων που απαιτούν πάνω από 3 ώρες και 4 αίθουσες. Προσθήκη νέων περιορισμών. Δυνατότητα διαφορετική χωρητικότητας των αιθουσών. Μελέτη αλγορίθμου branch and bound και των παραμέτρων του για την εύρεση της βέλτιστης λύσης.
24
Μελλοντικές Βελτιώσεις
JAVA Δυνατότητα αλλαγής τρόπου εμφάνισης. Περισσότερος έλεγχος του χρήστη για την εύρεση της βέλτιστης λύσης. Δυνατότητα παρακολούθησης της διαδικασίας του labeling.
25
Ζαγκαρέτος Λεωνίδας ΑΕΜ: 607 Ραφαηλίδης Δημήτρης ΑΕΜ: 656
Ανάπτυξη Εφαρμογής Χρονοπρογραμματισμού Εξετάσεων ενός Πανεπιστημιακού Τμήματος Επιβλέπων Καθηγητής: Ιωάννης Βλαχάβας Ζαγκαρέτος Λεωνίδας ΑΕΜ: 607 Ραφαηλίδης Δημήτρης ΑΕΜ: 656
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.