Ένα ολοκληρωμένο σύστημα για την διδασκαλία του αναθεωρημένου αλγορίθμου simplex A complete training system for teaching revised simplex algorithm

Σχετικά έγγραφα
ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Θεωρία Αλγόριθμοι Γραμμικής Βελτιστοποίησης 3/4/2012. Lecture08 1

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Λογισμικό οπτικοποίησης βημάτων γεωμετρικής επίλυσης γραμμικών προβλημάτων

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΕΠΙΛΥΣΗ ΕΚΦΥΛΙΣΜΕΝΩΝ ΚΑΙ ΓΕΝΙΚΩΝ ΓΡΑΜΜΙΚΩΝ ΠΡΟΒΛΗΜΑΤΩΝ. 4.1 Επίλυση Εκφυλισμένων Γραμμικών Προβλημάτων

ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΚΑΙ ΜΕΘΟΔΟΣ SIMPLEX, διαλ. 3. Ανωτάτη Σχολή Παιδαγωγικής και Τεχνολογικής Εκπαίδευσης 29/4/2017

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

Θεωρία Αλγόριθμοι Γραμμικής Βελτιστοποίησης 28/3/2012. Lecture07 1

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

Οπτικοποίηση: ένας αποτελεσματικός τρόπος για την βελτίωση της κατανόησης του αλγορίθμου simplex

ΚΕΦΑΛΑΙΟ 2 ΑΛΓΟΡΙΘΜΟΙ ΤΥΠΟΥ SIMPLEX. 2.1 Βασικές έννοιες - Ορισμοί

Τμήμα Εφαρμοσμένης Πληροφορικής

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

3.7 Παραδείγματα Μεθόδου Simplex

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

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

Γραμμικός Προγραμματισμός Μέθοδος Simplex

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Ανάπτυξη λογισμικού για τη διενέργεια υπολογιστικών μελετών

Διαχείριση Εφοδιαστικής Αλυσίδας ΙΙ

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΠΡΟΛΟΓΟΣ. Θεσσαλονίκη, Μάρτιος Οι συγγραφείς. Κ. Παπαρρίζος, Ν. Σαμαράς, Α. Σιφαλέρας.

Παράλληλος προγραμματισμός περιστροφικών αλγορίθμων εξωτερικών σημείων τύπου simplex ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Τμήμα Εφαρμοσμένης Πληροφορικής

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

Θεωρία Αλγόριθμοι Γραμμικής Βελτιστοποίησης

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Τμήμα Μηχανικών Πληροφορικής ΤΕ Η μέθοδος Simplex. Γκόγκος Χρήστος ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα. τελευταία ενημέρωση: 19/01/2017

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

ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΘΕΩΡΙΑΣ ΤΗΣ ΜΕΘΟΔΟΥ SIMPLEX

ΑΛΓΟΡΙΘΜΟΙ Ενότητα 10

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Συνδυαστική Βελτιστοποίηση Εισαγωγή στον γραμμικό προγραμματισμό (ΓΠ)

(sensitivity analysis, postoptimality analysis).

Διαχείριση ενεργειακών πόρων & συστημάτων Πρακτικά συνεδρίου(isbn: )

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

12/3/2012. Εργαστήριο Αλγόριθμοι Γραμμικής Βελτιστοποίησης. Lab03 1. Διανυσματοποίηση Βρόχων. Αρχικοποίηση μητρών (preallocating)

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

Λογισμικό διδασκαλίας των μαθηματικών της Γ Τάξης Γυμνασίου

Η χρήση του MOODLE από την οπτική γωνία του ιαχειριστή

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Συνδυαστική Βελτιστοποίηση Εισαγωγή στον γραμμικό προγραμματισμό (ΓΠ)

ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ

1. Τρόποι πρόσβασης στο σας

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

ΑΝΑΠΑΡΑΓΩΓΗ ΜΑΘΗΣΙΑΚΩΝ ΑΝΤΙΚΕΙΜΕΝΩΝ ΣΤΟ ΦΩΤΟΔΕΝΤΡΟ ΜΑΘΗΣΙΑΚΑ ΑΝΤΙΚΕΙΜΕΝΑ. Οδηγίες για Java

Συνδυαστική Βελτιστοποίηση Εισαγωγή στον γραμμικό προγραμματισμό (ΓΠ)

Η μέθοδος Simplex. Γεωργία Φουτσιτζή-Γκόγκος Χρήστος ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα. Τμήμα Μηχανικών Πληροφορικής ΤΕ

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

e-εκπαιδευτησ Περίληψη Η παρούσα εισήγηση αφορά την παρουσίαση του εκπαιδευτικού λογισμικού με τίτλο

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 4 ο : MATLAB

Visual Flowchart Γενικά

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

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

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

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

Συστήματα Παραγωγής ΠΑΡΑΔΕΙΓΜΑ ΓΡΑΜΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Εργαστηριακή εισήγηση. «ΜΑΘΗΣΙΣ: Μία Ευφυής Διαδικτυακή Τάξη Άλγεβρας»

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

Η Μηχανική Μάθηση στο Σχολείο: Μια Προσέγγιση για την Εισαγωγή της Ενισχυτικής Μάθησης στην Τάξη

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

Γραφική Λύση & Πρότυπη Μορφή Μαθηματικού Μοντέλου

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

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ & ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ. ΕΞΕΤΑΣΗ ΣΤΗΝ ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ Έβδομο Εξάμηνο

ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ Επιστήμη των Αποφάσεων, Διοικητική Επιστήμη

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον και Μαθηματικά: Μια αλγοριθμική προσέγγιση του θεωρήματος Bolzano

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

Παράδειγμα 2. Λύση & Επεξηγήσεις. Τέλος_επανάληψης Εμφάνισε "Ναι" Τέλος Α2

1 η Εργαστηριακή Άσκηση MATLAB Εισαγωγή

Μοντέλο Μεικτής Μάθησης για τα Μαθηματικά της Γ Λυκείου

ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΑΚ. ΕΤΟΣ ΔΙΑΛΕΞΗ 6 η -Η ΔΥΙΚΗ ΜΕΘΟΔΟΣ SIMPLEX

Πίνακας Περιεχομένων

Τμήμα Διοίκησης Επιχειρήσεων

Συνδυαστική Βελτιστοποίηση Εισαγωγή στον γραμμικό προγραμματισμό (ΓΠ)

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Τμήμα Μηχανικών Πληροφορικής ΤΕ Πρόβλημα Μεταφοράς. Γεωργία Φουτσιτζή ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα

Σύντοµος Οδηγός Βοήθειας για τη Χρήση των Μαθηµάτων e-learning για το ΟΛΟΚΛΗΡΩΜΕΝΟ ΠΛΗΡΟΦΟΡΙΑΚΟ ΣΥΣΤΗΜΑ

ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ ΟΣΟ ΣΥΝΘΗΚΗ ΕΠΑΝΑΛΑΒΕ.ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ. Κοκκαλάρα Μαρία ΠΕ19

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

Στοχαστικές Στρατηγικές. διαδρομής (1)

Β. Βασιλειάδης. Επιχειρησιακή Έρευνα Διάλεξη 5 η -Αλγόριθμος Simplex

Μέθοδοι Βελτιστοποίησης

Θεωρία Δυαδικότητας ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. Η παρουσίαση προετοιμάστηκε από τον Ν.Α. Παναγιώτου. Επιχειρησιακή Έρευνα

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

Γραµµικός Προγραµµατισµός - Μέθοδος Simplex

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

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

Εισαγωγή στο Γραμμικό Προγραμματισμό. Χειμερινό Εξάμηνο

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

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

Transcript:

Ένα ολοκληρωμένο σύστημα για την διδασκαλία του αναθεωρημένου αλγορίθμου simplex A complete training system for teaching revised simplex algorithm Λαζαρίδης Βασίλειος, Παπαρρίζος Κωνσταντίνος, Σαμαράς Νικόλαος Τμ. Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Εγνατία 156, 54006 Θεσσαλονίκη e-mail: vlaz@teikoz.gr, paparriz@uom.gr, samaras@uom.gr Ζησόπουλος Δημήτριος Σχολή Διοίκησης και Οικονομίας ΤΕΙ Δυτικής Μακεδονίας Κοίλα, 50100 Κοζάνη e-mail: drjim@teikoz.gr Περίληψη Η οπτικοποίηση είναι ένα χρήσιμο εργαλείο σε πολλές γνωστικές περιοχές της επιστήμης των υπολογιστών. Πολύ σημαντικά αποτελέσματα υπάρχουν στον τομέα της εκπαιδευτικής διαδικασίας, τα τελευταία 20 χρόνια. Στην εργασία αυτή περιγράφεται η χρήση της οπτικοποίησης ως μέσο για τη διδασκαλία του αναθεωρημένου αλγορίθμου simplex. Έχει αναπτυχθεί μία εφαρμογή σε Java, η οποία επιτρέπει στο χρήστη να αλληλεπιδρά κατά την επίλυση ενός τυχαίου γραμμικού προβλήματος. Abstract Visualization is a useful tool in many areas of computer science. During the last 20 years significant results have been presented in the field of educational procedure. In this paper we describe the use of visualization in the teaching of the simplex algorithm. A Java application has been developed which allows the user to interact with the software during the solution of a general linear problem. Keywords: Educational Software, Visualization, Linear Programming. 1. Εισαγωγή Τα τελευταία χρόνια όλο και περισσότερες εκπαιδευτικές εφαρμογές βασιζόμενες στο διαδίκτυο και στην χρήση της Java προσπαθούν να διευκολύνουν τη διδασκαλία αλγορίθμων [Boroni (1998)]. Η διδασκαλία αλγορίθμων γραμμικού προγραμματισμού σε συνδυασμό με την οπτικοποιημένη παρουσίασή τους καθιστούν την διαδικασία κατανόησής τους πιο εύκολη και αποτελεσματική σε σχέση με τους παραδοσιακούς 1

τρόπους διδασκαλίας. Σε μια εκπαιδευτική διαδικασία δεν είναι ανάγκη να μελετήσουμε μόνο τα αποτελέσματα της και την παιδαγωγική προσέγγιση, αλλά και τα εργαλεία που χρησιμοποιούνται για την επικοινωνία στο περιβάλλον μάθησης. Με την ραγδαία τεχνολογική πρόοδο παρουσιάζονται όλο και περισσότερες δυνατότητες για τη βελτίωση των τρόπων οπτικοποίησης. Το ζητούμενο στην περίπτωση αυτή είναι η παραγόμενη οπτικοποίηση να διαθέτει και παιδαγωγικά στοιχεία [Röβling (2002)]. Η προσθήκη της ασύγχρονης εκπαιδευτικής διαδικασίας ως συμπληρωματικό εργαλείο για την καλύτερη κατανόηση της διδασκόμενης ύλης, μπορεί να χρησιμοποιηθεί για την διδασκαλία των αλγορίθμων. Η εργασία των Kehoe, Stasko, και Taylor[Kehoe (1999)] καταλήγει στο συμπέρασμα ότι, η παιδαγωγική αξία της λειτουργίας ενός αλγορίθμου με χρήση τεχνικών κίνησης είναι περισσότερο εμφανής κατά την διάρκεια των εργασιών στο σπίτι, παρά σε κλειστές εξετάσεις. Η δυναμική κίνηση στην παρουσίαση των αλγορίθμων δεν ωφελεί τον εκπαιδευόμενο αν δεν συνοδεύεται από τις εξηγήσεις του εκπαιδευτή. Οι Petre και Green [Petre (1993)] έδειξαν ότι η γραφική απεικόνιση από μόνη της δεν είναι επεξηγηματική, αλλά πρέπει να διδαχτεί. Η χρήση των πολυμέσων διαδραματίζει δύο βασικούς ρόλους: (i) κρατά αμείωτο το ενδιαφέρον των εκπαιδευομένων και (ii) βοηθά τους τελευταίους στην κατανόηση της σύνδεσης μεταξύ της περιγραφής του αλγορίθμου και της βασικής ιδέας της λειτουργίας του. Πολλές εφαρμογές έχουν αναπτυχθεί που χρησιμοποιούν τεχνικές κίνησης ως βάση για την παρουσίαση της λειτουργίας δομών δεδομένων και αλγορίθμων [Pierson (1998)]. Συστήματα διδασκαλίας με χρήση αλληλεπίδρασης που έχουν εφαρμοστεί, δείξανε την θετική επίδραση τους στους εκπαιδευόμενους βοηθώντας την εκπαιδευτική διαδικασία [Barnett 1998]. Εκτός από την οπτικοποίηση της λειτουργίας ενός αλγορίθμου είναι απαραίτητο στην διαδικασία κατανόησής του, να δίνονται και ορισμένα συμπληρωματικά και επεξηγηματικά στοιχεία [Brown (1998)]. Η εργασία αυτή είναι δομημένη ως εξής: μετά την εισαγωγή ακολουθεί μία σύντομη περιγραφή του αλγορίθμου simplex στην ενότητα 2. Στην ενότητα 3 παρουσιάζονται τα βασικά σχεδιασμού της εφαρμογής. Μια περιγραφή της λειτουργίας της εφαρμογής παρουσιάζεται στην ενότητα 4. Στην ενότητα 5 παρουσιάζεται η επίλυση ενός γραμμικού προβλήματος με την εφαρμογή. Τέλος, στην ενότητα 6 δίνονται τα συμπεράσματα και κάποιες κατευθύνσεις για μελλοντική εργασία. 2. Σύντομη περιγραφή του αλγορίθμου simplex. Θεωρούμε το ακόλουθο πρόβλημα γραμμικού προγραμματισμού σε μορφή μητρών min z = c T x μ. π. Ax b (Γ.Π.1) x 0 όπου Α R mxn, c, x R n, b R m, Τ σημαίνει αναστροφή και ένα διάνυσμα διαστάσεων mx1. Τα στοιχεία του προσδιορίζουν το είδος της ανισότητας. Τα στοιχεία αυτά είναι, και =. Για να μπορούν να επιλύσουν το (Γ.Π.1) οι αλγόριθμοι τύπου simplex πρέπει αυτό να μετατραπεί στην τυποποιημένη μορφή. Δηλαδή, όλοι οι περιορισμοί του να είναι ισοτικοί. 2

Ακολουθεί μια σύντομη περιγραφή των βημάτων του αλγορίθμου simplex χωρίς να αναφέρονται οι επιμέρους υπολογισμοί που είναι απαραίτητοι για την εκτέλεση του. Αναλυτική περιγραφή του αλγορίθμου simplex μπορεί να βρεθεί στο βιβλίο [Παπαρρίζος (1999)]. Αναθεωρημένος Πρωτεύων Αλγόριθμος Simplex Βήμα 0: Αρχικοποίηση. Στο βήμα αυτό υπολογίζονται όλες οι μεταβλητές οι οποίες είναι απαραίτητες για να αρχίσει να εκτελείται ο αλγόριθμος. Βήμα 1: Έλεγχος βελτιστότητας. Πραγματοποίηση ελέγχου βελτιστότητας για το τρέχον βασικό σημείο. Αν αυτό είναι βέλτιστο, τότε οι υπολογισμοί σταματούν και τερματίζεται οι αλγόριθμος. Βήμα 2: Επιλογή εισερχόμενης και εξερχόμενης μεταβλητής. Η επιλογή της εισερχόμενης και εξερχόμενης μεταβλητής μπορεί να γίνει εφαρμόζοντας διαφορετικούς κανόνες περιστροφής. Η ανταλλαγή αυτή των μεταβλητών γεωμετρικά σημαίνει μετακίνηση από ένα βασικό σημείο σε ένα άλλο. Βήμα 3: Περιστροφή. Στο βήμα αυτό υπολογίζεται η νέα βάση, οι τιμές των βασικών μεταβλητών καθώς και οι δυϊκές χαλαρές μεταβλητές. Για να εφαρμοστεί απευθείας ο αλγόριθμος simplex στο πρόβλημα (Γ.Π.1) πρέπει να υπάρχει ένα αρχικό βασικό εφικτό σημείο, x 0. Σε περίπτωση που δεν μπορεί να βρεθεί εύκολα ένα τέτοιο σημείο θα πρέπει να χρησιμοποιηθεί μια μέθοδος για τον υπολογισμό του. Μια τέτοια μέθοδος είναι των δύο φάσεων με μια τεχνητή μεταβλητή όπου ο αλγόριθμος simplex εφαρμόζεται δύο φορές. Στη φάση Ι επιλύεται ένα τροποποιημένο γραμμικό πρόβλημα. Το πραγματικό πρόβλημα (Γ.Π.1) λύνεται στη Φάση ΙΙ, όπου έχει ήδη βρεθεί ένα βασικό εφικτό σημείο από τη Φάση Ι. Το ερώτημα που προκύπτει είναι το πότε τερματίζονται οι υπολογισμοί στη Φάση Ι, δηλαδή με ποιο τρόπο γίνεται η μετάβαση στη Φάση ΙΙ. Έστω (x, x n+1 ) η βέλτιστη λύση του (Γ.Π.1), όπου x n+1 η τεχνητή μεταβλητή. Διακρίνουμε δύο περιπτώσεις. i. x n+1 > 0. Το πρόβλημα (Γ.Π.1) είναι αδύνατο. ii. x n+1 = 0. Η λύση x είναι βασική και εφικτή στο πρόβλημα (Γ.Π.1). Η λύση αυτή χρησιμοποιείται ως βάση ξεκινήματος του αλγορίθμου simplex για το πρόβλημα στη Φάση ΙΙ. Ακολουθεί μία σύντομη περιγραφή της μεθόδου των δύο Φάσεων. Αναλυτική περιγραφή της μπορεί να βρεθεί στην αναφορά [Σαμαράς (2001)]. Μέθοδος δύο φάσεων Βήμα 0 (Έλεγχος εφικτότητας). Ξεκίνα με μια βασική διαμέριση. Αν ισχύει x 0 πήγαινε στο Βήμα 3. Διαφορετικά, υπολόγισε τους συντελεστές της τεχνητής μεταβλητής. Βήμα 1 (Περιστροφή). Επέλεξε ως εισερχόμενη την τεχνητή μεταβλητή και ως εξερχόμενη αυτή με το μικρότερο x B. B Βήμα 2 (Φάση Ι). Χρησιμοποιώντας τη νέα βασική διαμέριση εφάρμοσε τον αναθεωρημένο αλγόριθμο simplex. Αν ισχύει η περίπτωση (i), STOP, το πρόβλημα (Γ.Π.1) είναι αδύνατο. Διαφορετικά, πήγαινε στο βήμα 3. Βήμα 3 (Φάση ΙΙ). Χρησιμοποιώντας τη βασική εφικτή διαμέριση εφάρμοσε τον αναθεωρημένο αλγόριθμο simplex στο πρόβλημα (Π.2.3) 3

3. Βασικά στοιχεία σχεδιασμού της εφαρμογής Το σύστημα διδασκαλίας του αλγορίθμου simplex, έχει αναπτυχθεί χρησιμοποιώντας της βασικές δυνατότητες της γλώσσας προγραμματισμού Java. Η εφαρμογή είναι ενεργό τμήμα μιας ιστιοσελίδας. Η ιστιοσελίδα περιλαμβάνει την θεωρητική παρουσίαση του αλγορίθμου και κατάλληλα επιλεγμένα γραμμικά προβλήματα ως παραδείγματα. Εκτελείται όπως όλα τα Java Applets, με την χρήση του Microsoft Internet Explorer (από έκδοση 4 και άνω). Αρκεί να έχει εγκατασταθεί ένα Java Virtual Machine, που είναι απαραίτητο για την εκτέλεση Java εφαρμογών. Η ανάλυση της οθόνης πρέπει να είναι τουλάχιστον 1024x768, είναι η εξ ορισμού ανάλυση που απαιτείται για την σωστή λειτουργία της εφαρμογής. Ο όρος οπτικοποίηση χρησιμοποιείται καλύτερα από την δυναμική κίνηση διότι συμπεριλαμβάνει και την δυναμική κίνηση αλλά και στατικά στοιχεία τα οποία είναι παραστατικά και επεξηγηματικά. Η δυνατότητα εφαρμογής στην πράξη του αλγορίθμου simplex για την επίλυση τυχαίων γραμμικών προβλημάτων, η κατανόηση και η αξιολόγηση των αποτελεσμάτων είναι τα επιθυμητά αποτέλεσμα κάθε εκπαιδευτικής διαδικασίας. Κύριος στόχος είναι η ανάπτυξη ενός εκπαιδευτικού εργαλείου αλληλεπίδρασης το οποίο να μπορεί να χρησιμοποιηθεί τόσο στη διδασκαλία σε αίθουσα όσο και σαν εκπαιδευτικό βοήθημα στο σπίτι. Η εφαρμογή που παρουσιάζεται στην εργασία αυτή δίνει τη δυνατότητα στον εκπαιδευόμενο να αποφύγει την εκτέλεση πολύωρων και δύσκολων μαθηματικών πράξεων για να φτάσει στην αριθμητική λύση του προβλήματος, αλλά να μπορεί να ασχοληθεί με την κατανόηση εις βάθος του αναθεωρημένου αλγορίθμου simplex. Επίσης, παρέχεται η δυνατότητα επίλυσης πολλών και διαφορετικών γραμμικών προβλημάτων από το χρήστη εξαλείφοντας τα αριθμητικά λάθη. Εκτός από την επίλυση ενός τυχαίου γραμμικού προβλήματος η εφαρμογή μπορεί να δώσει απάντηση και στα ακόλουθα ερωτήματα: Πόσο θα επηρεασθεί η λύση του προβλήματος αν προστεθεί άλλος ένας ή περισσότεροι τεχνολογική περιορισμοί; Τι θα συμβεί αν προστεθεί μία ή περισσότερες νέες μεταβλητές απόφασης; Ισχύει η βέλτιστη τιμή της αντικειμενικής συνάρτησης αν αλλάξουν κάποιες τιμές στο δεξιό μέρος του γραμμικού προβλήματος; Στον τελικό σχεδιασμό της εφαρμογής δόθηκε ιδιαίτερη βαρύτητα στη μη επιβάρυνση του χρήστη με επιπλέον εκμάθηση της λειτουργίας της. Επίσης, να έχει τη δυνατότητα χωρίς την εγκατάσταση πρόσθετων εφαρμογών στον υπολογιστή του να μπορεί να εκτελεί εύκολα την εφαρμογή. Η εφαρμογή εκτελείται εύκολα και γρήγορα μέσα από ένα Browser. Ορισμένα άλλα στοιχεία που λήφθηκαν υπόψιν στην ανάπτυξη της εφαρμογής είναι τα ακόλουθα: Ολοκληρωμένη θεματική παρουσίαση του αναθεωρημένου αλγορίθμου simplex. Παρακολούθηση ψευδοκώδικα. Αναλυτική παρουσίαση των μαθηματικών υπολογισμών του αλγορίθμου simplex. Χρήση τεχνικών οπτικοποίησης (π.χ. χρώμα, κίνηση). Δυνατότητα εκτέλεσης του αλγορίθμου simplex ανά επανάληψη. Εμφάνιση επεξηγηματικών σχολίων σε μορφή κειμένου για κάθε βήμα του αλγορίθμου simplex. 4

Η εφαρμογή οπτικοποίησης που αναπτύχθηκε λύνει γραμμικά προβλήματα της μορφής Γ.Π.1. Για την επίλυση αυτών των γραμμικών προβλημάτων χρησιμοποιείται η αναθεωρημένη μέθοδος των δύο φάσεων με τον κανόνα αντικύκλωσης του Bland όπως περιγράφηκε στην ενότητα 2. Επίσης, έχει υλοποιηθεί και η κλασική ανάλυση ευαισθησίας [Παπαρρίζος (1999)]. 4. Περιγραφή της εφαρμογής Στην εφαρμογή υπάρχουν δύο έτοιμα παραδείγματα που μπορούν να επιλεγούν για επίλυση, και επίσης παρέχεται η δυνατότητα εισαγωγής γραμμικού προβλήματος από τον χρήστη. Η επιλογή ενός γραμμικού προβλήματος μπορεί να γίνει από το μενού Εισαγωγή, όπως φαίνεται στην Εικόνα 1. Εικόνα 1: Εισαγωγή γραμμικό προβλήματος Από το μενού Επιλογές (Εικόνα 2) μπορεί να ζητηθεί η αλλαγή του τρόπου επίλυσης του γραμμικού προβλήματος, ώστε να μην χρησιμοποιηθεί η αναθεωρημένη μέθοδος δύο φάσεων, αλλά η μέθοδος του μεγάλου Μ. Υπάρχει ακόμα η δυνατότητα εμφάνισης της αντιστρόφου μήτρας Β, χρησιμοποιώντας την Ε-μήτρα. Για μια αναλυτική περιγραφή αυτού του τρόπου υπολογισμού της νέας βάσης δες [Σαμαράς (2001)]. Τέλος μπορεί να εμφανιστεί και η κλασική ανάλυση ευαισθησίας. Εικόνα 2: Επιλογές της εφαρμογής. 4.1. Εισαγωγή νέου γραμμικού προβλήματος Στο πλαίσιο διαλόγου που εμφανίζεται (Εικόνα 3), δίνεται η δυνατότητα εισαγωγής ενός γραμμικού προβλήματος. Το μεγαλύτερο γραμμικό πρόβλημα που μπορεί να δοθεί στην εφαρμογή για επίλυση είναι πέντε μεταβλητές απόφασης και τέσσερις περιορισμοί, ενώ το μικρότερο πρέπει να έχει διαστάσεις τουλάχιστον δύο μεταβλητές απόφασης και δύο περιορισμούς. Οι δυνατές τιμές της μήτρας Α, του διανύσματος κόστους c και του δεξιού 5

μέρους b ανήκουν διάστημα [-999.99, 999.99]. Οι περιορισμοί που υπάρχουν στη διάσταση ενός νέου γραμμικού προβλήματος και στο όριο του μεγέθους των συντελεστών του οφείλονται στο επιθυμητό μέγεθος των χαρακτήρων κατά την γραφική απεικόνιση. Εικόνα 3: Το πλαίσιο διαλόγου για την εισαγωγή γραμμικού προβλήματος. Μόλις εισαχθεί το νέο γραμμικό πρόβλημα ο χρήστης είναι σε θέση να ζητήσει την επίλυση πατώντας το κουμπί Εκτέλεση, Εικόνα 3. Σε περίπτωση που ο χρήστης εισάγει ένα γραμμικό πρόβλημα διαστάσεων mxn όπου το m<4 και n<5 η εφαρμογή υπολογίζει αυτόματα τη διάστασή του. Οι κενές γραμμές και στήλες στο πλαίσιο διαλόγου (Εικόνα 3) αγνοούνται από την εφαρμογή. Στην περίπτωση που κάποιος συντελεστής είναι μηδέν δεν χρειάζεται να εισαχθεί. Η εφαρμογή αυτόματα όλες τις κενές θέσεις αντικαθιστά με μηδέν. Τα πιθανά λάθη που μπορούν να προκύψουν κατά την εισαγωγή ενός νέου γραμμικού προβλήματος είναι τα ακόλουθα: Δεν έχει οριστεί η αντικειμενική συνάρτηση. Δηλ. c j =0 j=1,,n. Το πλήθος των μεταβλητών απόφασης είναι μικρότερο από δύο. Δηλ. n<2. Το πλήθος των περιορισμών είναι μικρότερο από δύο. Δηλ. m<2. Αν κάποιος από τους συντελεστές του νέου γραμμικού προβλήματος δεν ανήκει στο επιθυμητό διάστημα τιμών [-999.99,999.99]. Δηλ. c j, b i, A ij [-999.99, 999.99]. Αν έχει οριστεί μια μεταβλητή απόφασης και στην μήτρα συντελεστών Α έχει τιμές μηδέν. Δηλ. c j 0 και A.j =0 j=1,,n. Οποιαδήποτε χρονική στιγμή μπορεί να διακοπεί η εισαγωγή του νέου γραμμικού προβλήματος, το πλαίσιο διαλόγου εισαγωγής γραμμικού προβλήματος κλείνει με την χρήση του κουμπιού Έξοδος. 6

Μετά την εισαγωγή του γραμμικού προβλήματος που εμφανίζεται στη μαθηματική μορφή στο παράθυρο της εφαρμογής Εικόνα 4. Αμέσως μετά ο χρήστης μπορεί να ζητήσει την επίλυσή του γραμμικού προβλήματος από την εφαρμογή. Εικόνα 4: Μαθηματική μορφοποίηση του νέου γραμμικού προβλήματος. 4.2. Επίλυση του γραμμικού προβλήματος Υπάρχουν δύο τρόποι επίλυσης του γραμμικού προβλήματος: Χρησιμοποιώντας το κουμπί Run (Εικόνα 5) εκτελείται ο αλγόριθμος simplex συνέχεια μέχρι την επίλυση του γραμμικού προβλήματος, χωρίς τη δυνατότητα παρακολούθησης των ενδιάμεσων του. Χρησιμοποιώντας το κουμπί Next Step ο αλγόριθμος simplex (Εικόνα 5) εκτελείται βηματικά μέχρι την επίλυση του γραμμικού προβλήματος. Εικόνα 5: Τα κουμπιά ελέγχου εκτέλεσης της εφαρμογής. Στην βηματική επίλυση του γραμμικού προβλήματος, μετά από κάθε βήμα σταματάει η εκτέλεση του αλγορίθμου και η εφαρμογή περιμένει από τον χρήστη να δώσει την συνέχεια πατώντας το κουμπί Next Step. Κατά την διάρκεια της βηματικής εκτέλεσης του αλγορίθμου, στα βήματα που υπάρχει κίνηση η καθυστέρηση της κίνησης ορίζεται από το pull down μενού με τον ορισμό του χρόνου. Εξ ορισμού η καθυστέρηση έχει οριστεί σε 20 msec (αργή κίνηση). Εναλλακτικά μπορούν να επιλεγούν οι χρόνοι 10 msec και 5 msec. Σε οποιαδήποτε χρονική στιγμή πατώντας το κουμπί Next Step σταματά η κίνηση και μεταφέρεται η εκτέλεση του αλγορίθμου στο επόμενο βήμα. Το κουμπί Stop ενεργοποιείται μόνο κατά την διάρκεια της βηματικής εκτέλεσης. Μπορεί να διακόψει την εκτέλεση οποιαδήποτε στιγμή. Μετά την διακοπή η εφαρμογή επανέρχεται στην αρχική της κατάσταση και η διαδικασία επίλυσης ξεκινάει από την αρχή. 5. Βηματική εκτέλεση του αλγορίθμου simplex Για την καλύτερη παρουσίαση της εφαρμογής δίνεται η επίλυση του γραμμικού προβλήματος το οποίο εμφανίζεται στην Εικόνα 4. 7

Εικόνα 6: Η πρώτη βασική διαμέριση. Εικόνα 7: Περιστροφή. 8

Κατά την διάρκεια της βηματικής εκτέλεσης εμφανίζεται στο χώρο του ψευδοκώδικα με χρώμα κόκκινο το βήμα που εκτελείται την συγκεκριμένη στιγμή. Στο βασικό παράθυρο οι βασικοί, μη βασικοί δείκτες, η βασική, μη βασική μήτρα, η αντίστροφη μήτρα Β, καθώς και ο τρόπος υπολογισμού του x B. B Στην περιοχή μηνυμάτων υπάρχει περιγραφή του βήματος, όπως και ο αριθμός των επαναλήψεων που έχουν πραγματοποιηθεί μέχρι αυτή τη στιγμή Εικόνα 6. Μόλις ολοκληρωθεί η επιλογή της εισερχόμενης και της εξερχόμενης μεταβλητής, όπως φαίνεται και από το χώρο του ψευδοκώδικα εκτελείται το Βήμα 2 του αλγορίθμου simplex που είναι η περιστροφή. Στην Εικόνα 7 εμφανίζεται το βήμα της περιστροφής το οποίο πραγματοποιείται με την χρήση της δυναμικής κίνησης. Αυτή η μεταβολή επηρεάζει τόσο τους δείκτες των βασικών και μη βασικών μεταβλητών, όσο και την μήτρα των βασικών μεταβλητών Β και μη βασικών μεταβλητών Ν, επίσης και το διάνυσμα κόστους των T T βασικών μεταβλητών (c B ) B και μη βασικών μεταβλητών (cn). Εικόνα 8: Η βέλτιστη λύση. Στην εικόνα 8 φαίνεται η επίλυση του γραμμικού προβλήματος. Το συγκεκριμένο παράδειγμα είναι βέλτιστο. Η βέλτιστη λύση βρέθηκε μετά από 3 επαναλήψεις. Η βέλτιστη τιμή της αντικειμενικής συνάρτησης είναι 136. Η βέλτιστη λύση είναι (x2,x6,x3)=(13,58,22). Επειδή επιλέχθηκε η εμφάνιση κλασικής ανάλυσης ευαισθησίας αυτή φαίνεται στο τέλος του κυρίου παραθύρου της εφαρμογής. 9

5. Συμπεράσματα Στην εργασία παρουσιάστηκε μια εφαρμογή για την διδασκαλία των αλγορίθμων επίλυσης γραμμικών προβλημάτων. Ως συμπληρωματικό εργαλείο εκπαίδευσης μπορεί να χρησιμοποιηθεί και κατά την διαδικασία παρουσίασης του αλγορίθμου simplex, όσο και κατά την προσπάθεια εκμάθησης των αλγορίθμων επίλυσης γραμμικών προβλημάτων. Δόθηκε ιδιαίτερη προσοχή στον τρόπο οπτικοποίησης του αλγορίθμου, αλλά και στο συνολικό περιβάλλον αλληλεπίδρασης με το χρήστη. Περιλαμβάνει όλα τα στοιχεία που είναι απαραίτητα για την εκμάθηση του αλγορίθμου simplex όπως παρακολούθηση ψευδοκώδικα, αναλυτική παρουσίαση των μαθηματικών υπολογισμών, βηματική εκτέλεση και την δυνατότητα εισαγωγής γραμμικών προβλημάτων. References Barnett, L., Casp, J., Green, D., and Kent, J. (1998) Design and implementation of an interactive tutorial framework. In Proceedings 29th SIGCSE Technical Symposium, 87-91. Boroni, C., Goosey, F., Grinder, M., and Ross, R. (1998) A Paradigm Shift! The Internet, the Web, browsers, Java and the future of computer science education. In Proceedings 29th SIGCSE Technical Symposium, 145-152. Brown, M., H., and Hershberger., J. (1998) Fundamental Techniques for Algorithm Animation Displays. In John T. Stasko, John Dominique, Marc H. Brown, and Blaine A. Price, (Eds.) Software Visualization: Programming as a Multimedia Experience. MIT Press, 137-143. Kehoe, C., Stasko, J., and Taylor, A.(1999) Rethinking the evaluation of algorithm animations as learning aids: An observational study. Technical Report GIT-GVU-99-10, Georgia Institute of Technology. Petre, M., and Green, T. R. (1993) Learning to read graphics: Some evidence that seeing an information display is an acquired skill. Journal of Visual Languages and Computing vol. 4, 55-70. Pierson, W., and Rodger, S. (1998) Web-based animation of data structures using JAWAA. In Proceedings 30th SIGCSE Technical Symposium, 267-271. Röβling, G., and Naps, T.L. (2002) A testbed for pedagogical requirements in algorithm visualizations. In Proceedings 7th annual Conference on Innovation and technology in computer science education, 96-100. Παπαρρίζος, Κ. (1999) ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Αλγόριθμοι και Εφαρμογές. Εκδόσεις Ζυγός. Σαμαράς, Ν. (2001) Υπολογιστικές Βελτιώσεις και Αποτελεσματική Υλοποίηση Περιστροφικών Αλγορίθμων Δυο Δρόμων. Διδακτορική Διατριβή, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο Μακεδονίας. 10