Τμήμα Εφαρμοσμένης Πληροφορικής ΑΛΓΟΡΙΘΜΟΙ ΓΡΑΜΜΙΚΗΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ 8 Ο ΕΞΑΜΗΝΟ ΣΑΜΑΡΑΣ ΝΙΚΟΛΑΟΣ, ΕΠ. ΚΑΘΗΓΗΤΗΣ Χαρακτηριστικά αλγορίθμων τύπου simplex (5) Αν το βασικό σημείο ικανοποιεί ακριβώς n-m ανισότητες σαν ισότητες, ονομάζεται μη εκφυλισμένο (non degenerate). Σε ένα μη εκφυλισμένο βασικό σημείο όλες οι βασικές μεταβλητές είναι διάφορες του μηδενός. Αν ένα βασικό σημείο ικανοποιεί τουλάχιστο n-m+1 ανισοτικούς περιορισμούς σαν ισότητες, ονομάζεται εκφυλισμένο (degenerate). Στα εκφυλισμένα βασικά σημεία, τουλάχιστον μία βασική μεταβλητή είναι ίση με μηδέν. 2 Χαρακτηριστικά αλγορίθμων τύπου simplex (6) Σε γραμμικά προβλήματα στην κανονική μορφή min {c T x : Ax b, x 0} όπου c, x R n, b R m και Α R mxn και {, }, βασικό σημείο είναι αυτό, στο οποίο υπάρχουν τουλάχιστο n ενεργοί περιορισμοί. Αν υπάρχουν ακριβώς n ενεργοί περιορισμοί, είναι μη εκφυλισμένο, ενώ, αν υπάρχουν τουλάχιστο n+1, είναι εκφυλισμένο. 3 Lecture07 1
Παράδειγμα (1) Έστω οι παρακάτω περιορισμοί 3 + 4x 2 24 (1) x 2 2 (2) 5 2x 2 10 (3) - + x 2 3 (4) 7 32 (5) x j 0, (j = 1, 2) Να παρασταθεί γραφικά η περιοχή στο χώρο των μεταβλητών. Να βρεθεί ένα βασικό εφικτό μη εκφυλισμένο, ένα βασικό εφικτό εκφυλισμένο, ένα βασικό μη εφικτό μη εκφυλισμένο και ένα βασικό μη εφικτό εκφυλισμένο σημείο. 4 Παράδειγμα (2) 5 Παράδειγμα (1) Για το ίδιο γραμμικό πρόβλημα 3 + 4x 2 24 (1) x 2 2 (2) 5 2x 2 10 (3) - + x 2 3 (4) 7 32 (5) x j 0, (j = 1, 2) Μετατρέψτε την περιοχή στην τυποποιημένη μορφή και περιγράψτε τα σύνολα βασικών και μη βασικών δεικτών που αντιστοιχούν σε κάθε βασικό εφικτό σημείο. 6 Lecture07 2
Παράδειγμα (2) Μετά την προσθήκη χαλαρών μεταβλητών το γραμμικό πρόβλημα γίνεται 3 + 4x +x 2 3 24 (1) x 2 +x 4 2 (2) 5 2x 2 +x 5 10 (3) - + x 2 +x 6 3 (4) 7 +x 7 32 (5) x j 0, (j = 1, 2) 7 Παράδειγμα (3) 8 Παράδειγμα (4) Στο σημείο D μπορούμε να αντιστοιχήσουμε οποιοδήποτε από τα παρακάτω 3 ζευγάρια. Β=[1, 3, 5, 6, 7] Β=[1, 3, 4, 6, 7] Β=[1, 2, 3, 6, 7] Ν=[2, 4] Ν=[2, 5] Ν=[4, 5] Τα βασικά εφικτά σημεία είναι κορυφές του πολυέδρου της εφικτής περιοχής. 9 Lecture07 3
Παράδειγμα (5) Το σημείο J(2,2) είναι εφικτό και ικανοποιεί όλους τους περιορισμούς σαν αυστηρές ανισότητες. Το σημείο αυτό είναι εσωτερικό (interior point). Το σημείο L(1,4) είναι εφικτό, ικανοποιεί έναν ανισοτικό περιορισμό σαν ισότητα και όλους τους υπόλοιπους σαν αυστηρές ανισότητες. Το σημείο αυτό ονομάζεται συνοριακό (boundary point). Στα συνοριακά σημεία το πλήθος των ανισοτικών περιορισμών που ικανοποιούνται σαν ισότητες είναι μικρότερο ή ίσο του n-m. Το σημείο Κ(-3,3) είναι μη βασικό μη εφικτό. 10 Υπολογισμός Δυϊκών Μεταβλητών w T = (c B ) T B -1 s T = c Τ w T A = c T (c B ) T B - 1 A w i =(c B ) T (B -1 ).i s j =c j w T a j =c j (c B ) T B -1 a j όπου (B -1 ).i είναι η i στήλη της αντίστροφης βασικής μήτρας. 11 Παράδειγμα (1) Έστω το παρακάτω γραμμικό πρόβλημα min + x 2 s.t. + 2x 2 4 x 2 1 x j 0, j= 1, 2 Να υπολογιστούν οι δυϊκές μεταβλητές w και οι δυϊκές χαλαρές μεταβλητές s. 12 Lecture07 4
Παράδειγμα (2) Μετά την προσθήκη χαλαρών μεταβλητών το γραμμικό πρόβλημα είναι min + x 2 s.t. + 2x 2 +x 3 = 4 x 2 + x 4 =1 x j 0, j= 1, 2, 3, 4 13 Παράδειγμα (3) Σε μορφή μητρών το πρόβλημα γράφεται T c = [ 1 1 0 0] 1 2 1 0 4 A =, b = 0 1 0 1 1 Πρώτη βασική διαμέριση Β =[3 4],Ν =[1 2]. 14 Συνθήκη Βελτιστότητας Θεώρημα. Έστω (Β, N) μια βασική διαμέριση του προβλήματος min {c T x : Ax = b, x 0} Η αντίστοιχη βασική λύση (x B, x N ) είναι βέλτιστη, αν είναι x B 0 και s N 0. Συνθήκες συμπληρωματικής χαλαρότητας (complementarity slackness conditions). x j s j = 0, (j = 1, 2,, n) 15 Lecture07 5
Υπολογισμός Αντικειμενικής Συνάρτησης Η αντικειμενική τιμή σαν συνάρτηση των μη βασικών μεταβλητών δίνεται από τη σχέση c T x = (c B ) T x B +(c N ) T x N = =(c B ) T (B -1 b-b -1 Nx N )+(c N ) T x N = =(c B ) T B -1 b + ((c N ) T -(c B ) T B -1 N)x N = =w T b+(s N ) T x N =w T b 16 Παράδειγμα ίνεται το γραμμικό πρόβλημα min μ.π. 2 + 4x 2 2 + x 2 - x 3 = 6 - + x 2 + x 4 = 3 + 4x 2 +x 5 = 4, x 2, x 3, x 4, x 5 0 ίνεται επίσης η βάση του Β = [1, 4, 2]. Να υπολογιστεί η αντίστοιχη βασική λύση (x B,x N ) και τα διανύσματα w και s. Είναι η βασική λύση βέλτιστη; 17 Μεθοδολογία αλγορίθμων τύπου simplex (1) Κάθε αλγόριθμος τύπου simplex κατασκευάζει μια πεπερασμένη ακολουθία βασικών λύσεων. Αν η αντίστοιχη βασική λύση (x B, x N ) είναι βέλτιστη, οι υπολογισμοί σταματούν. ιαφορετικά, γίνεται προσπάθεια να βρεθούν δυο δείκτες k B και l N. Αν η προσπάθεια αυτή δεν είναι επιτυχής, οι υπολογισμοί σταματούν. ιαφορετικά, οι δείκτες k και l αλλάζουν σύνολα δεικτών. Ο δείκτης k από βασικός γίνεται μη βασικός και ο δείκτης l από μη βασικός γίνεται βασικός. Κατασκευάζεται έτσι μια νέα βάση και η διαδικασία επαναλαμβάνεται. 18 Lecture07 6
Μεθοδολογία αλγορίθμων τύπου simplex (2) Η εναλλαγή των δεικτών k και l ονομάζεται περιστροφή (pivoting). Ημεταβλητήx l ονομάζεται εισερχόμενη μεταβλητή ενώ η μεταβλητή x k εξερχόμενη μεταβλητή. Ο δείκτης της εισερχόμενης μεταβλητής βρίσκεται στη θέση t του συνόλου Ν, ενώ ο δείκτης της εξερχόμενης μεταβλητής βρίσκεται στη θέση r του συνόλου Β. Ισχύουν δηλ. οι σχέσεις N(t)=l και B(r)=k Η ανανέωση των συνόλων Β και Ν γίνεται θέτοντας N(t)=k και B(r)=l υο βάσεις είναι γειτονικές αν διαφέρουν μόνο ως προς έναν δείκτη. 19 Μεθοδολογία αλγορίθμων τύπου simplex (3) Πόσα είναι τα γειτονικά βασικά σημεία του σημείου Α? Να γραφτούν τα αντίστοιχα σύνολα των μη βασικών δεικτών. 20 Μεθοδολογία αλγορίθμων τύπου simplex (4) Γειτονικά σημεία του σημείου Α Ν [3, 2] [4, 2] [5, 2] [6, 2] [1, 3] [1, 4] [1, 5] [1, 6] Σημείο Β D D I G K J F Στασιμότητα (stalling) Υπολογιστικό Μειονέκτημα Σε κάθε βασική διαμέριση (Β,Ν) αντιστοιχούν n-m βασικές κατευθύνσεις, μια για κάθε δείκτη l N. Οι συνιστώσες μιας βασικής κατεύθυνσης d, ικανοποιούν τις σχέσεις d B =-B -1 Α.l, d l =1 και d j =0 για j N~{l} 21 Lecture07 7
Παράδειγμα ίνεται το παρακάτω γραμμικό πρόβλημα στην κανονική μορφή 1 0 1 1 5 A=, b= 0 1 2 3 3 ίνεται επίσης η βάση Β=[3, 1]. Να υπολογιστούν οι βασικές κατευθύνσεις που ορίζονται από την παραπάνω βάση. 22 Lecture07 8