Το Πρόβλημα Μεταφοράς Αφορά τη μεταφορά ενός προϊόντος από διάφορους σταθμούς παραγωγής σε διάφορες θέσεις κατανάλωσης με το ελάχιστο δυνατό κόστος. Πρόκειται για το πιο σπουδαίο πρότυπο προβλήματος γραμμικού προγραμματισμού με ειδική δομή. Για την επίλυσή του έχουν αναπτυχθεί αποτελεσματικές τεχνικές (παραλλαγές της μεθόδου Simplex). Το πρόβλημα ήταν γνωστό από το 1941 (Hitchcock, 1941) και ως π.γ.π. θεμελιώθηκε και λύθηκε από τον Dantzig το 1951. Ως ειδική περίπτωση του προβλήματος μεταφοράς μπορούν να θεωρηθούν μια μεγάλη σειρά πρακτικών προβλημάτων, που δεν αναφέρονται στις μεταφορές, και για το λόγο αυτό η μέθοδος επίλυσής του είναι ένα σπουδαίο εργαλείο για την εν γένει Επιχειρησιακή Έρευνα. Ανήκει στην κατηγορία των προβλημάτων δικτυωτής ανάλυσης. 1
Παράδειγμα 1 Κάποιος γεωργικός συνεταιρισμός της Κρήτης έχει στις τρεις αποθήκες του 35, 5 και 4 τόνους πορτοκαλιών. Τέσσερις λαχαναγορές της χώρας θέλουν να αγοράσουν 45, 2, 3 και 3 τόνους πορτοκαλιών αντίστοιχα. Στον πίνακα που ακολουθεί δίνεται το κόστος μεταφοράς (χ.μ. ανά τόνο) από τις τρεις αποθήκες Α 1, Α 2, Α 3 στις τέσσερις λαχαναγορές Λ 1, Λ 2, Λ 3, Λ 4 : Από Προς Λ 1 Λ 2 Λ 3 Λ 4 ΠΡΟΣΦΟΡΑ Α 1 8 6 1 9 35 Α 2 9 12 13 7 5 Α 3 14 9 16 5 4 ΖΗΤΗΣΗ 45 2 3 3 Το πρόβλημα είναι τώρα να προσδιορίσουμε πως θα γίνει η μεταφορά από τις αποθήκες στις λαχαναγορές έτσι ώστε το συνολικό κόστος μεταφοράς να είναι ελάχιστο. 2
Το παραπάνω πρόβλημα εύκολα μπορούμε να το γενικεύσουμε. Σε m σταθμούς προέλευσης S 1, S 2,..., S m υπάρχει ένα προϊόν σε ποσότητες s 1, s 2,..., s m αντίστοιχα. Το προϊόν πρέπει να μεταφερθεί σε n σταθμούς προορισμού D 1, D 2,..., D n, που έχουν ανάγκη από d 1, d 2,..., d n ποσότητες αντίστοιχα. Αν το κόστος μεταφοράς μιας μονάδας του προϊόντος από τον S i σταθμό προέλευσης στον D j σταθμό προορισμού είναι c ij χρηματικές μονάδες, επιζητούμε να προσδιορίσουμε την ποσότητα x ij που πρέπει μεταφέρεται ανάμεσα σ αυτές τις θέσεις ώστε να ελαχιστοποιείται το συνολικό κόστος μεταφοράς και συγχρόνως να ικανοποιούνται οι ανάγκες όλων των σταθμών προορισμού. με τους περιορισμούς minimize z= c x m i= 1 n j= 1 ij ij n j= 1 x ij s i i = 1,2,..., m (προσφορά) m i= 1 x ij d j j = 1,2,..., n (ζήτηση) x ij για όλα τα i, j 3
Το πρόβλημα μεταφοράς είναι πρόβλημα δικτυωτής ανάλυσης Πίνακας προβλήματος μεταφοράς (παρουσιάζει με εύχρηστο τρόπο τα στοιχεία του προβλήματος και ταυτόχρονα διευκολύνει τις πράξεις της μεθόδου επίλυσης) 4
Δίκτυο και πίνακας προβλήματος μεταφοράς για το παράδειγμα 1 5
Αναγκαία συνθήκη για την ύπαρξη λύσης στο πρόβλημα μεταφοράς είναι το σύνολο των διαθέσιμων ποσοτήτων να ισούται με το σύνολο των απαιτούμενων: m i= 1 (ισορροπημένο πρόβλημα μεταφοράς) s i = n j= 1 d j Στην περίπτωση αυτή, όλοι οι περιορισμοί είναι ισότητες: με τους περιορισμούς m i= 1 n j= 1 x ij minimize z= c x x ij = d = s j i m i= 1 n j= 1 i = 1,2,..., m (προσφορά) j = 1,2,..., n (ζήτηση) x ij για όλα τα i, j ij ij Κάθε βασική εφικτή λύση του πρότυπου μεταφοράς (ισορροπημένο πρόβλημα), έχει ακριβώς m+n-1 βασικές μεταβλητές, δηλαδή το πολύ m+n-1 μεταβλητές x ij είναι θετικές, ενώ οι υπόλοιπες έχουν τιμή. Μη εκφυλισμένη λύση: ακριβώς m+n-1 θετικές μεταβλητές. Εκφυλισμένη λύση: οι θετικές μεταβλητές είναι λιγότερες από m+n-1. 6
Ανάπτυξη του συστήματος των περιορισμών: Όλοι οι συντελεστές των μεταβλητών x ij στους περιορισμούς είναι ή 1, ενώ κάθε μία από αυτές εμφανίζεται με συντελεστή 1 σε δύο ακριβώς από τους περιορισμούς, σ αυτόν που αντιστοιχεί στον σταθμό παραγωγής S i και σ εκείνον που αντιστοιχεί στον σταθμό προορισμού D j. Κάθε π.γ.π. που προσαρμόζεται σ αυτή την ειδική διαμόρφωση είναι πρόβλημα μεταφοράς, άσχετα από το φυσικό του πλαίσιο. 7
Ιδιόμορφες καταστάσεις Αν η προσφορά είναι μεγαλύτερη από τη ζήτηση, αν δηλαδή m s n i i= 1 j= 1 τότε εισάγουμε έναν εικονικό σταθμό προορισμού D n+1 ο οποίος απαιτεί ποσότητα ίση με d d = s d n+ 1 m i i= 1 j= 1 Το κόστος μεταφοράς c in+1 (i=1, 2,..., m) εξαρτάται από το συγκεκριμένο κάθε φορά πρόβλημα. Αν π.χ. οι επιπλέον ποσότητες μπορούν να παραμείνουν στους αντίστοιχους σταθμούς προέλευσης χωρίς επιπλέον κόστος τότε c in+1 = Αν όμως υπάρχουν αποθήκευτρα, τότε c in+1 είναι ακριβώς αυτά τα ποσά. j n j Αν η προσφορά είναι μικρότερη από τη ζήτηση, αν δηλαδή m s n i i= 1 j= 1 τότε εισάγουμε έναν εικονικό σταθμό προέλευσης S m+1 ο οποίος παράγει ποσότητα ίση με d s = d s m+ 1 n j j= 1 i= 1 Το υποθετικό κόστος μεταφοράς c m+1j εξαρτάται πάλι από το συγκεκριμένο κάθε φορά πρόβλημα. Για παράδειγμα c m+1j μπορεί να είναι η αποζημίωση που δίνεται στο σταθμό προορισμού D j για τη μη αποστολή μιας από τις d j μονάδες του προϊόντος που ζητήθηκαν αρχικά. j m i 8
Στις πιο πολλές εφαρμογές οι διαθέσιμες και απαιτούμενες ποσότητες s i και d j έχουν ακέραιες τιμές πράγμα που σημαίνει ότι και οι ποσότητες που μεταφέρονται (τα x ij δηλαδή) πρέπει να είναι ακέραιοι αριθμοί. Ευτυχώς, η δομή του προτύπου είναι τέτοια που αν το πρόβλημα έχει κάποια εφικτή λύση θα έχει και βέλτιστη ακέραια λύση. Αυτό προκύπτει από το γεγονός ότι οι συντελεστές των μεταβλητών στους περιορισμούς είναι ίσοι με 1 ή. Αν δεν υπάρχει μέσο μεταφοράς από ένα σταθμό παραγωγής S i στον D j σταθμό προορισμού, για να φέρουμε το πρόβλημα στη μορφή επίλυσής του υποθέτουμε ότι υπάρχει μεν μέσο μεταφοράς αλλά το αντίστοιχο κόστος c ij είναι Μ, όπου Μ αυθαίρετα μεγάλος θετικός αριθμός. Αφού ζητάμε το ελάχιστο κόστος, αν στην άριστη λύση του προβλήματος είναι x ij >, τότε το πρόβλημα δεν έχει στην πραγματικότητα εφικτές λύσεις. Υπάρχουν προβλήματα μεταφοράς στα οποία ενδιαφερόμαστε να βρούμε τη λύση η οποία μεγιστοποιεί την αντικειμενική συνάρτηση. Αφού max i j c ij x ij ( cij ) x, = min ij i j σε μια τέτοια περίπτωση, εφαρμόζουμε τη διαδικασία με κόστος c = c. ij ij Το πρότυπο γραμμικού προγραμματισμού για το πρόβλημα μεταφοράς μπορεί να χειριστεί και τις περιπτώσεις στις οποίες υπάρχουν για κάποια διαδρομή είτε περιορισμοί χωρητικότητας του μεταφερόμενου υλικού, είτε περιορισμοί ελάχιστου υποχρεωτικού φορτίου x M. ij ij x L ij ij 9
Διαδικασία επίλυσης του προβλήματος μεταφοράς 1ο Βήμα: Εντοπισμός μια αρχικής βασικής εφικτής λύσης 2ο Βήμα: Πρόκειται για την άριστη λύση; ΕΑΝ ΝΑΙ, τέλος ΕΑΝ ΟΧΙ, πήγαινε στο 3ο Βήμα 3ο Βήμα: Εντοπισμός μιας καλύτερης λύσης. Πήγαινε στο 2ο Βήμα. 1
Εύρεση μιας αρχικής βασικής εφικτής λύσης Όπως και στο γενικό γραμμικό πρότυπο έτσι και στο πρόβλημα μεταφοράς το πρώτο βήμα στην εύρεση της βέλτιστης λύσης του είναι η ύπαρξη μιας αρχικής μη εκφυλισμένης βασικής εφικτής λύσης. Λόγω της ειδικής μορφής του συστήματος των περιορισμών του προβλήματος έχουν προταθεί αρκετές απλές σχετικά τεχνικές για την εύρεση μιας βασικής εφικτής λύσης του. Η μέθοδος Vogel αν και υπολογιστικά επίπονη, δίνει μια αρχική βασική εφικτή λύση που (συνήθως) χρειάζεται έναν μικρό αριθμό βελτιώσεων/επαναλήψεων για να καταλήξει στην άριστη. Η κεντρική ιδέα της μεθόδου είναι να επιβάλλεται μια ποινή όταν δεν χρησιμοποιούμε το δρομολόγιο με το μικρότερο κόστος. Για να την υπολογίσουμε προσθέτουμε στο tableau του προβλήματος μεταφοράς μια ακόμη στήλη και μία γραμμή. Σ αυτές γράφουμε τη διαφορά των δύο πιο μικρών στοιχείων κόστους της κάθε στήλης και γραμμής του tableau. Προσδιορίζουμε στη συνέχεια τη μεγαλύτερη διαφορά που υπάρχει (για γραμμές και στήλες). Στο κελί της συγκεκριμένης στήλης ή γραμμής με το μικρότερο κόστος μεταφοράς εκχωρούμε όσες δυνατό περισσότερες μονάδες προϊόντος επιτρέπεται από την αντίστοιχη προσφορά και ζήτηση : x ij = min{s i, d j } Αν ικανοποιείται σταθμός προέλευσης, τότε το d j θα πρέπει να μειωθεί κατά s i. Αν ικανοποιείται σταθμός προορισμού, τότε το s i πρέπει να μειωθεί κατά d j. Το σταθμό που ικανοποιήσαμε δεν τον παίρνουμε υπόψη στη συνέχεια που επαναλαμβάνουμε την ίδια διαδικασία. 11
2 2 4 1 3 3 2 8 6 1 9 x 11 x 21 x 31 9 14 x 12 x 22 x 32 12 9 x 13 x 23 x 33 13 16 x 14 x 24 x 34 45 2 3 3 7 5 35 5 4 Η μεγαλύτερη διαφορά είναι 4 και στην αντίστοιχη γραμμή το μικρότερο κόστος είναι το c 34 =5. Επομένως θέτουμε x 34 = min(4, 3) = 3. Τότε x 14 = x 24 = Συνεχίζουμε με το επόμενο tableau του προβλήματος μεταφοράς που σχηματίζεται από το προηγούμενο αφού πρώτα διαγράψουμε την τέταρτη στήλη: 2 3 5 1 3 3 8 6 1 x 11 x 21 x 31 9 14 x 12 x 22 x 32 12 9 x 13 x 23 x 33 45 2 3 13 16 35 5 1 Η μεγαλύτερη διαφορά είναι 5 και στην αντίστοιχη γραμμή το μικρότερο κόστος είναι το c 32 =9. Επομένως θέτουμε x 32 = min(1, 2) = 1. Τότε x 31 = x 33 = 12
Συνεχίζουμε με το επόμενο tableau του προβλήματος μεταφοράς που σχηματίζεται από το προηγούμενο αφού πρώτα διαγράψουμε την τρίτη γραμμή: 2 4 1 6 3 8 6 1 x 11 x 21 9 x 12 x 22 12 x 13 x 23 45 1 3 13 35 5 Η μεγαλύτερη διαφορά είναι 6 και στην αντίστοιχη στήλη το μικρότερο κόστος είναι το c 12 =6. Επομένως θέτουμε x 12 = min(35, 1) = 1. Τότε x 22 = Συνεχίζουμε με το επόμενο tableau του προβλήματος μεταφοράς που σχηματίζεται από το προηγούμενο αφού πρώτα διαγράψουμε την δεύτερη στήλη: 2 4 1 3 8 1 x 11 x 21 9 x 13 x 23 45 3 13 25 5 Η μεγαλύτερη διαφορά είναι 4 και στην αντίστοιχη γραμμή το μικρότερο κόστος είναι το c 21 =9. Επομένως θέτουμε x 21 = min(5, 45) = 45. Τότε x 11 = 13
Συνεχίζουμε με το επόμενο tableau του προβλήματος μεταφοράς που σχηματίζεται από το προηγούμενο αφού πρώτα διαγράψουμε την πρώτη στήλη: x 13 x 23 3 1 25 13 από το οποίο ορίζονται μονοσήμαντα οι τιμές των υπόλοιπων μεταβλητών: x 13 = 25, x 23 = 5 5 Επομένως η βασική εφικτή λύση που βρήκαμε είναι η A 1 A 2 A 3 Λ 1 Λ 2 Λ 3 Λ 4 8 6 1 9 1 25 9 12 13 7 45 5 14 9 16 5 1 3 45 2 3 3 35 5 4 14
Χάρη συντομίας, μπορούμε να καταγράψουμε όλες τις εκχωρήσεις σε ένα μόνο tableau : 1 3 1 6 3 1 3 3 1 3 3 2 Ζήτηση (s i ) 2 2 2 2 4 3 3 2 5 4 Προσφορά (d j ) 45 45 45 45 8 6 9 45 14 9 1 1 25 12 13 1 2 2 1 9 7 5 16 5 3 3 3 3 3 3 3 35 35 35 25 25 5 5 5 5 5 4 1 15
Το πρόβλημα της μεταφοράς minimize z = m n i= 1 j= 1 c ij x ij κάτω από τους περιορισμούς n i= 1 x ij = s i i = 1, 2,, m m j= 1 x ij = d j j = 1, 2,, n είναι ένα π.γ.π. με m+n περιορισμούς και m n μεταβλητές. Υπολογιστικά απαγορευτική η χρήση της Simplex. Η ειδική μορφή των περιορισμών του προβλήματος επέτρεψε την ανάπτυξη μιας ιδιαίτερα αποτελεσματικής παραλλαγής της μεθόδου Simplex, τη διαδικασία ανακατανομής των εκχωρήσεων (ΜΟDI) για την εύρεση της βέλτιστης λύσης του. 16
17
Αρχικά χρειαζόμαστε μια βασική (μη εκφυλισμένη) βασική εφικτή λύση. Ας θεωρήσουμε την Λ 1 Λ 2 Λ 3 Λ 4 8 6 1 9 A 1 35 35 9 12 13 7 A 2 5 1 2 2 14 9 16 5 A 3 4 1 3 45 2 3 3 Η λύση είναι μη εκφυλισμένη αφού έχει ακριβώς 3+4-1=6 θετικές συνιστώσες Το αντίστοιχο κόστος μεταφοράς είναι R =118,. Σχηματίζουμε τις εξισώσεις ui + vj = cij για τις βασικές μεταβλητές x 11, x 21, x 22, x 23, x 33 και x 34. Τότε έχουμε u 1 +v 1 = 8 u 2 +v 1 = 9 u 2 +v 2 = 12 u 2 +v 3 = 13 u 3 +v 3 = 16 u 3 +v 4 = 5 που για u 1 = δίνουν διαδοχικά v 1 =8, u 2 =1, v 2 =11, v 3 =12, u 3 =4, v 4 =1 18
Τοποθετούμε στη συνέχεια τις τιμές των u i και v j που υπολογίσαμε στο tableau v u 1 4 8 11 12 1 8 6 1 9 35 9 12 13 7 1 2 2 14 9 16 5 1 3 45 2 3 3 35 5 4 και υπολογίζουμε τις διαφορές δ ij =u i +v j -c ij που αντιστοιχούν στις μη βασικές μεταβλητές: δ 12 =u 1 +v 2 -c 12 = +11-6=5 δ 24 =u 2 +v 4 -c 24 = 1+1-7=-5 δ 13 =u 1 +v 3 -c 13 = +12-1=2 δ 31 =u 3 +v 1 -c 31 = 4+8-14=-2 δ 14 =u 1 +v 4 -c 14 = +1-9=-8 δ 32 =u 3 +v 2 -c 32 = 4+11-9=6 Γράφουμε τις τιμές αυτές στην πάνω αριστερή γωνία των αντίστοιχ τετραγών v u 1 4 8 11 12 1 8 5 6 2 1-8 9 35 9 12 13-5 7 1 2 2-2 14 6 9 16 5 1 3 45 2 3 3 35 5 4 Αφού υπάρχουν θετικές διαφορές δ ij η λύση δεν είναι άριστη. 19
Διαλέγουμε να μπει στη βάση η μεταβλ. με τo μεγαλύτερο κόστος ευκαιρίας: { } { } max δij: δij = max 5, 2, 6 = 6 = δ32 δηλαδή τη μεταβλητή x 32. Στη μεταβλητή αυτή δίνουμε τη μεγαλύτερη δυνατή τιμή έστω +θ. Αν όμως x 32 =+θ πρέπει να έχουμε x 33 =1-θ ώστε να ικανοποιείται ο περιορισμός δυναμικότητας της 3ης γραμμής. Ανάλογα θα πρέπει x 23 =2+θ (3η στήλη), x 22 =2-θ (2η γραμμή). Ο κλειστός βρόχος σημειώνεται με γραμμή στο tableau του προβλήματος μεταφοράς, v u 1 4 8 11 12 1 8 5 6 2 1-8 9 35 9 12 13-5 7 - + 1 2-θ 2+θ -2 14 6 9 16 5 + - θ 1-θ 3 45 2 3 3 35 5 4 Για να είναι εφικτή και η νέα λύση θα πρέπει η τιμή του θ να είναι τέτοια ώστε καμία από τις βασικές μεταβλητές να μην παίρνει αρνητική τιμή: { } ϑ = min 1, 2 = 1 2
Η λύση που έχουμε τώρα είναι η A 1 A 2 A 3 Λ 1 Λ 2 Λ 3 Λ 4 8 6 1 35 9 12 13 1 1 3 14 9 16 1 3 45 2 3 3 9 7 5 35 5 4 κι έχει κόστος μεταφοράς R 1 = 112, (=R -θδ 32 ). Ολοκληρώθηκε μια πλήρη εκτέλεση της διαδικασίας MODI. Θα πρέπει να ελέγξουμε αν η νέα βασική εφικτή λύση είναι η άριστη. Βρίσκουμε και πάλι τα δυναμικά u i και v j καθώς επίσης και τις διαφορές δ ij. Το νέο tableau είναι τότε το εξής: v u 1-2 8 11 12 7 8 5 6 2 1-2 9 35 9 12 13 1 7 1 1 3-8 14 9-6 16 5 1 3 45 2 3 3 35 5 4 Αφού υπάρχουν θετικές διαφορές δ ij η λύση δεν είναι άριστη. 21
Διαλέγουμε να μπει στη βάση η μεταβλ. με τη μεγαλύτερο κόστος ευκαιρίας: { } { } max δij: δij = max 5, 2, 1 = 5 = δ12 Επομένως πρέπει να συνδέσουμε το τετράγωνο (1,2) με τα βασικά τετράγωνα (2,2), (2,1), (1,1) θέτοντας διαδοχικά + και -. v u 1-2 8 11 12 7-35-θ 8 5 6 + θ 12-1-θ 9 + 1+θ -8 14 9 2 1-2 9 13 1 7 3-6 16 5 1 3 45 2 3 3 35 5 4 Η ελάχιστη τιμή των x ij των τετραγώνων που έχουν - είναι η: { } ϑ = min 1, 35 = 1 Έτσι η νέα βασική εφικτή λύση του προβλήματος δίνεται στο tableau : A 1 A 2 A 3 Λ 1 Λ 2 Λ 3 Λ 4 8 6 1 25 1 9 12 13 2 3 14 9 16 1 3 45 2 3 3 9 7 5 35 5 4 Το νέο κόστος μεταφοράς ανέρχεται σε R 2 = 17, (=R 1 -θδ 12 ). 22
Θα πρέπει να ελέγξουμε πάλι αν η νέα βασική εφικτή λύση είναι η άριστη. Βρίσκουμε και πάλι τα δυναμικά u i και v j καθώς επίσης και τις διαφορές δ ij. Το νέο tableau είναι τότε το εξής: v u 1 3 8 6 12 2 8 6 2 1-7 9 25 1 9-5 12 13-4 7 2 3-3 14 9-1 16 5 1 3 45 2 3 3 35 5 4 Εδώ όλες οι διαφορές δ ij είναι μη θετικές εκτός από την δ 13 =2>. Άρα η λύση δεν είναι η άριστη. Βρίσκουμε μια νέα βασική εφικτή λύση κάνοντας βασική τη μεταβλητή x 13. Εν συνεχεία συνδέουμε το τετράγωνο (1,3) με τα βασικά τετράγωνα (2,3), (2,1), (1,1) θέτοντας διαδοχικά + και -: u 1 3 v 8 6 12 2 8-25 9 + 2-3 14 5 6 1-5 12 9 2 1 + 13-3 -1 16-7 9-4 7 1 3 45 2 3 3 5 Η ελάχιστη τιμή x ij των τετραγώνων που έχουν - είναι η min {, } οδηγεί στη λύση 35 5 4 ϑ = 3 25 = 25 και 23
A 1 A 2 A 3 Λ 1 Λ 2 Λ 3 Λ 4 8 6 1 1 25 9 12 13 45 5 14 9 16 1 3 45 2 3 3 9 7 5 35 5 4 με κόστος μεταφοράς R 3 = 12, (=R 2 -θδ 13 ). Αυτή είναι η βέλτιστη (όλες οι διαφορές δ ij είναι ) v u 3 3 6 6 1 2-2 8 6 1-7 9 1 25 9-3 12 13-2 7 45 5-5 14 9-3 16 5 1 3 45 2 3 3 35 5 4 (Αξιοσημείωτο είναι ότι τη λύση αυτή την προσδιoρίσαμε ως αρχική λύση του προβλήματος με τη μέθοδο Vogel). 24
Επισημάνσεις Οι τιμές των δ ij που εμφανίζονται στα κενά κελιά του βέλτιστου tableau μεταφοράς, αντιστοιχούν στην επιβάρυνση για το συνολικό κόστος, αν μια μονάδα του προϊόντος μεταφερθεί μ αυτό τον τρόπο. Ο προσδιορισμός του μονοπατιού ανακατανομής είναι το πιο δύσκολο στάδιο στην επίλυση του προβλήματος μεταφοράς: ο βρόχος που δημιουργείται δεν είναι πάντοτε εμφανής, κι ούτε φυσικά δημιουργείται από τέσσερα κελιά όπως στο παράδειγμα που αναπτύξαμε. Για την εύρεσή του έχουν αναπτυχθεί ιδιαίτεροι, αποκλειστικοί αλγόριθμοι. Σ ένα tableau μικρού μεγέθους όμως, μπορούμε να εντοπίσουμε αυτό το μονοπάτι με μια διαδικασία της μορφής «δοκιμής και λάθους». Αν στο tableau της άριστης λύσης του προβλήματος μεταφοράς υπάρχει μη βασικό τετράγωνο (i, j) με δ ij =, τότε το πρόβλημα έχει εναλλακτική άριστη λύση που βρίσκεται κάνοντας βασικό το τετράγωνο (i, j). Εκφυλισμένες λύσεις. 25
Το πρόβλημα μεταφοράς της εταιρείας «Μακεδονική» Παράγει ένα αναψυκτικό ευρείας κατανάλωσης Το προϊόν παράγεται σε τρεις παραγωγικές μονάδες Μεγάλες ποσότητες αποστέλλονται μία φορά την εβδομάδα σε τέσσερις πόλεις - κέντρα διανομής ανά την Ελλάδα Το σχετικό κόστος μεταφοράς ανά κιβώτιο εξαρτάται από την απόσταση, το χρόνο, τα απαραίτητα καύσιμα, το κόστος ασφάλισης, τη συντήρηση οχημάτων, τις αμοιβές του προσωπικού κλπ δημιουργία: http://macedonia.uom.gr/~acg επεξεργασία: Ν.Τσάντας 26
Μοναδιαία κόστη μεταφοράς Εργοστάσια: πηγές, προελεύσεις (προσφορά) Πόλεις: προορισμοί (ζήτηση) δημιουργία: http://macedonia.uom.gr/~acg επεξεργασία: Ν.Τσάντας 27
Εύρεση μιας αρχικής βασικής εφικτής λύσης (Vogel) Συνολικό κόστος μεταφοράς = 6,8 δημιουργία: http://macedonia.uom.gr/~acg επεξεργασία: Ν.Τσάντας 28
Εύρεση των τιμών u i, v j και δ ij u 1-3 v 8 5 5 6-2 1 5 5 6 2 15 9-1 7 6 7 5 5 2 2-7 9-4 6-2 5 4 45 2 35 2 35 45 4 Συνολικό κόστος = 6,8 μονάδες = άριστη (δ ij i, j) Υπάρχει εναλλακτική βέλτιστη λύση (δ 14 = ) δημιουργία: http://macedonia.uom.gr/~acg επεξεργασία: Ν.Τσάντας 29
Εντοπισμός εναλλακτικής άριστης λύσης u v -2 1 5 5 6 - + 35 2 15 9-1 7 6 7 + - 45 5 2 2 5-7 9-4 6-2 5 4 4 45 2 35 2 Βασική πρέπει να γίνει η μεταβλητή x 14 δημιουργία: http://macedonia.uom.gr/~acg επεξεργασία: Ν.Τσάντας 3
Εναλλακτική άριστη λύση u v 1 5 5 6 2 15 9 7 6 7 5 35 5 5 9 6 5 4 45 2 35 2 35 45 4 δημιουργία: http://macedonia.uom.gr/~acg επεξεργασία: Ν.Τσάντας 31
Μη ισορροπημένα προβλήματα α) Η συνολική ζήτηση ξεπερνά τη συνολική προσφορά προσθήκη εικονικής προέλευσης (προσφοράς δηλαδή σειράς) β) Η συνολική προσφορά ξεπερνά τη συνολική ζήτηση προσθήκη εικονικού προορισμού (εικονικής ζήτησης δηλαδή στήλης) δημιουργία: http://macedonia.uom.gr/~acg επεξεργασία: Ν.Τσάντας 32
Αύξηση της προσφοράς του Ε1 στα 4 κιβώτια (+5) Όχι κατ ανάγκη Εξαρτάται από το πρόβλημα Ε 1 Ε 2 Ε 3 Π 1 Π 2 Π 3 Π 4 Εικονική 1 5 5 6 4 2 2 9 7 6 7 45 5 15 2 5 5 9 6 5 4 4 45 2 35 2 5 Η αρχική λύση (που βρέθηκε με τη μέθοδο του Vogel) είναι η βέλτιστη Συνολικό κόστος μεταφοράς = 6,75 δημιουργία: http://macedonia.uom.gr/~acg επεξεργασία: Ν.Τσάντας 33
Αύξηση της ζήτησης του Π1 στα 5 κιβώτια (+5) Ε 1 Ε 2 Ε 3 Εικονική Π 1 Π 2 Π 3 Π 4 1 5 5 6 35 2 15 9 7 6 7 45 5 2 2 5 9 6 5 4 4 5 5 5 2 35 2 Όχι κατ ανάγκη Εξαρτάται από το πρόβλημα Η αρχική λύση (που βρέθηκε με τη μέθοδο του Vogel) είναι η βέλτιστη Συνολικό κόστος μεταφοράς = 6,8 δημιουργία: http://macedonia.uom.gr/~acg επεξεργασία: Ν.Τσάντας 34
Εκφυλισμένες λύσεις Κάποια βασική μεταβλητή έχει μηδενική τιμή. Οι μη μηδενικές είναι λιγότερες από n+m-1 Προκαλεί πρόβλημα στη διαδικασία ανακατανομής των εκχωρήσεων κατά την επίλυση Τοποθετούμε μία μηδενική εκχώρηση στην κατάλληλη θέση για να χρησιμοποιηθεί στη συνέχεια ως βασική μεταβλητή όπως οι υπόλοιπες βασικές. δημιουργία: http://macedonia.uom.gr/~acg επεξεργασία: Ν.Τσάντας 35
Υπάρχουν δύο περιπτώσεις κατά τις οποίες μπορεί να εμφανιστεί εκφυλισμένη λύση. 1. Κατά την κατάρτιση του αρχικού πίνακα μεταφοράς (εύρεση αρχικής λύσης), όταν η προσφορά και η ζήτηση σε κάποιο στάδιο εκχώρησης είναι ίσες. 2. Στη διαδικασία ανακατανομής των εκχωρήσεων του κύριου τμήματος της μεθόδου μεταφοράς όταν προκύπτει ισοβάθμιση στην επιλογή του εξερχόμενου κελιού. δημιουργία: http://macedonia.uom.gr/~acg επεξεργασία: Ν.Τσάντας 36
Περίπτωση 1. Η ζήτηση της πόλης Π2=35 και της Π3= 2. Εύρεση μιας αρχικής βασικής εφικτής λύσης (Vogel) 4 2 1 1 1 5 5 6 35 1 x 11 9 x 12 7 x 13 6 x 14 7 45 x 21 5 x 22 9 x 23 6 x 24 5 4 x 31 x 32 x 33 x 34 45 35 2 2 Η μεγαλύτερη διαφορά είναι 4 και στην αντίστοιχη στήλη το μικρότερο κόστος είναι το c 31 =5. Επομένως θέτουμε δημιουργία: http://macedonia.uom.gr/~acg επεξεργασία: Ν.Τσάντας x 31 = min(45, 4) = 4. Τότε x 32 = x 33 = x 34 = 37
Συνεχίζουμε με το επόμενο tableau του προβλήματος μεταφοράς που σχηματίζεται από το προηγούμενο αφού πρώτα διαγράψουμε την τρίτη γραμμή: 1 2 1 1 1 5 5 6 35 1 x 11 9 x 12 7 x 13 6 x 14 7 45 x 21 x 22 x 23 x 24 5 35 2 2 Η μεγαλύτερη διαφορά είναι 2 και στην αντίστοιχη στήλη το μικρότερο κόστος είναι το c 12 =5. Επομένως θέτουμε x 12 = min(35, 35) = 35. Τότε x 11 = x 13 = x 14 = αλλά και x 22 = (προφανώς για τη συνέχεια βρίσκουμε ότι x 21 = 5, x 23 = 2, x 24 = 2) δημιουργία: http://macedonia.uom.gr/~acg επεξεργασία: Ν.Τσάντας 38
Ο πίνακας μεταφοράς με τη μηδενική βασική μεταβλητή Ε 1 Π 1 Π 2 Π 3 Π 4 1 5 5 6 Ε 2 9 5 Ε 3 5 35 7 6 7 * 2 2 9 6 5 4 45 35 2 2 35 45 4 Υπάρχουν 5 θετικά στοιχεία αντί των αναμενόμενων 3 + 4-1 = 6 (συνεχίζουμε ως το στοιχείο x 22 να ήταν θετικό βασική μεταβλητή ) Η λύση που έχουμε είναι η βέλτιστη. δημιουργία: http://macedonia.uom.gr/~acg επεξεργασία: Ν.Τσάντας 39
Περίπτωση 2. Μείωση της προσφοράς Ε3 κατά 1 (Ε3= 3) Εύρεση μιας αρχικής βασικής εφικτής λύσης (όχι με Vogel) δημιουργία: http://macedonia.uom.gr/~acg επεξεργασία: Ν.Τσάντας 4
Τρίτη επανάληψη της MODI v 1 5 4 1 δ 24 = 5 u Π 1 Π 2 Π 3 Π 4 1 5 5 6 Ε 1 - + 35 25 1 9 7 6 7 2 Ε 2 - + 45 1 35 5 9 6 5-5 Ε 3 + - 3 2 1-1 Εικονική 1 1 45 2 35 2 Η ελάχιστη τιμή των x ij των τετραγώνων που έχουν - είναι η: ϑ = min 1, 25,1 = 1 κι αντιστοιχεί στα κελιά (2, 2) και (3, 4) { } δημιουργία: http://macedonia.uom.gr/~acg επεξεργασία: Ν.Τσάντας 41
Ο πίνακας μεταφοράς μετά την τρίτη επανάληψη Ε 1 Ε 2 Ε 3 Εικονική Π 1 Π 2 Π 3 Π 4 1 5 5 6 35 15 2 9 7 6 7 45 * 35 1 5 9 6 5 3 3 1 1 45 2 35 2 Υπάρχουν 6 θετικά στοιχεία αντί των αναμενόμενων 4 + 4-1 = 7 (συνεχίζουμε ως το στοιχείο x 22 να ήταν θετικό βασική μεταβλητή ) δημιουργία: http://macedonia.uom.gr/~acg επεξεργασία: Ν.Τσάντας 42
Βέλτιστη λύση του προβλήματος Ε 1 Ε 2 Ε 3 Εικονική Π 1 Π 2 Π 3 Π 4 1 5 5 6 35 2 15 9 7 6 7 45 5 2 2 5 9 6 5 3 3 1 1 45 2 35 2 δημιουργία: http://macedonia.uom.gr/~acg επεξεργασία: Ν.Τσάντας 43
Προβλήματα μεγιστοποίησης εφαρμόζουμε τη διαδικασία με κόστος c ij = cij. ή μετατροπή του κριτηρίου επιλογής εισερχομένου κελιού: επιλέγεται εκείνο με το μικρότερο από τα αρνητικά δ ij, και μετατροπή του κριτήριου αριστότητας: η διαδικασία ολοκληρώνεται όταν όλα τα δ ij είναι. δημιουργία: http://macedonia.uom.gr/~acg επεξεργασία: Ν.Τσάντας 44
Παράδειγμα 2 Η βιομηχανική επιχείρηση Ultracom παράγει προϊόντα υψηλής τεχνολογίας. Η ζήτηση για τα προϊόντα της είναι μεγάλη, ιδιαίτερα για την οικογένεια των επεξεργαστών 5ZZX που εγκαθίστανται σε βιομηχανικούς servers. Θέλει να καταρτίσει ένα γενικό πρόγραμμα παραγωγής για την οικογένεια προϊόντων 5ΖΖΧ, για τους πρώτους τρεις μήνες του έτους. Η ζήτηση, σύμφωνα με τις παραγγελίες που έχουν εξασφαλιστεί και τις προβλέψεις του τμήματος μάρκετινγκ, αναμένεται να είναι, για τους μήνες Ιανουάριο, Φεβρουάριο και Μάρτιο, 5, 7 και 8 χιλιάδες τεμάχια αντιστοίχως. δημιουργία: http://macedonia.uom.gr/~acg επεξεργασία: Ν.Τσάντας 45
Δεδομένα άσκησης συνέχεια Παραγωγική δυναμικότητα = 5 τεμάχια το μήνα Αρχικό απόθεμα = 4 τεμάχια. Υπεργολάβος = 25 τεμάχια (Ιανουάριο και Μάρτιο μόνο) Διατήρηση αποθεμάτων δυνατή Ικανοποίηση ζήτησης άμεση Τελικό απόθεμα = 5 τεμάχια. Κόστος πρώτων υλών, εργασίας, διανομής και όλα τα υπόλοιπα στοιχεία κόστους για κάθε επεξεργαστή είναι συνολικά 6χμ για τους μήνες Ιανουάριο και Μάρτιο. Το Φεβρουάριο, το κόστος αναμένεται να μειωθεί κατά 2% Κόστος διατήρησης αποθέματος 2χμ ανά τεμάχιο ανά περίοδο Οι επεξεργαστές που αγοράζονται από τον υπεργολάβο κοστίζουν στον επιχείρηση 1% επιπλέον. Να εντοπίσετε το πρόβλημα της εταιρείας να το διαμορφώσετε ως πρόβλημα μεταφοράς και να το λύσετε. δημιουργία: http://macedonia.uom.gr/~acg επεξεργασία: Ν.Τσάντας 46
Εύρεση μιας αρχικής βασικής εφικτής λύσης (όχι με τη Vogel) δ 63 = 4 δημιουργία: http://macedonia.uom.gr/~acg επεξεργασία: Ν.Τσάντας 47
z =958 δημιουργία: http://macedonia.uom.gr/~acg επεξεργασία: Ν.Τσάντας 48
z =954 δ 14 = 4 δημιουργία: http://macedonia.uom.gr/~acg επεξεργασία: Ν.Τσάντας 49
z =952 βέλτιστη δημιουργία: http://macedonia.uom.gr/~acg επεξεργασία: Ν.Τσάντας 5
Ανάλυση Ευαισθησίας για το πρόβλημα μεταφοράς Αυτή είναι η βέλτιστη του 1 ου παραδείγματος v u 3 3 6 6 1 2-2 8 6 1-7 9 1 25 9-3 12 13-2 7 45 5-5 14 9-3 16 5 1 3 45 2 3 3 35 5 4 Συνολικό κόστος μεταφοράς R = 12 Θα μελετήσουμε την επίδραση στη βέλτιστη λύση από μεταβολές στο κόστος c ij κάποιου κελιού στις παραμέτρους s i / d j 51
Μεταβολές στο κόστος c ij Διακρίνουμε δύο περιπτώσεις: το κελί (i, j) είναι μη βασικό (x ij = ) το κελί (i, j) είναι βασικό (x ij > ) Αναζητάμε ένα διάστημα τιμών για το c ij, ώστε η τρέχουσα βέλτιστη λύση να παραμείνει βέλτιστη. 52
Μεταβολές στο κόστος c ij 1 η περίπτωση: το κελί (i, j) είναι μη βασικό (x ij = ) ΔΙΑΣΤΗΜΑ ΑΡΙΣΤΟΤΗΤΑΣ του c ij Οι τιμές των u i, v j δεν μεταβάλλονται. Μεταβάλλεται όμως η τιμή του δ ij : δ ˆ = u+v-cˆ ij i i ij όπου c ˆij η νέα τιμή για το κόστος μεταφοράς στο κελί (i, j). Π.χ. έστω ότι μεταβάλλεται το κόστος μεταφοράς c 11 στο κελί (1, 1). Ας είναι ĉ 11=c 11+Δ (=8+Δ). Τότε ˆ δ 11 = u ˆ 1 + v1 c11 = ( + 6) (8 +Δ ) = 2 Δ Συνεπώς, η παρούσα λύση παραμένει η βέλτιστη εάν ˆδ 11, δηλ εάν -2-Δ Δ -2 c 11 6 Γενικά, για τιμές του c ij στο διάστημα [u i + v j, ), η βέλτιστη λύση παραμένει αμετάβλητη. Αυτό είναι το διάστημα αριστότητας του c ij. Για τιμές του c 11 έξω από αυτό το διάστημα, η τρέχουσα λύση παύει να είναι η βέλτιστη. Τότε η διαδικασία συνεχίζεται με εισερχόμενο κελί το (1, 1). 53
Μεταβολές στο κόστος c ij 2 η περίπτωση: το κελί (i, j) είναι βασικό (x ij > ) Μεταβάλλονται οι τιμές των u i, v j και δ ij : δˆ = u+v-c ˆ ˆ ˆ ij i i ij Οπότε, εάν ˆδ ij " (i, j) η παρούσα λύση παραμένει η βέλτιστη. Διαφορετικά συνεχίζουμε τον αλγόριθμο κατά τα γνωστά. Π.χ. έστω ότι μεταβάλλεται το κόστος μεταφοράς c 13 στο κελί (1, 3) κι έχουμε ĉ 13=c 13+Δ (=1+Δ). Για τον υπολογισμό των u i, v j λύνουμε το σύστημα: u 1 + v 2 = 6 u 1 + v 3 = 1 + Δ u 2 + v 1 = 9 u 2 + v 3 = 13 u 3 + v 2 = 9 u 3 + v 4 = 5 Για u 1 = έχουμε u 2 = 3 Δ, u 3 = 3, v 1 = 6 + Δ, v 2 = 6, v 3 = 1 + Δ, v 4 = 2. Για να παραμείνει βέλτιστη η παρούσα λύση θα πρέπει ˆδ ij " (i, j), δηλ: ˆδ 11 = u+v-c 1 1 11 =Δ 2 ˆδ 14 = u+v-c 1 4 14 = 7 ˆδ 22 = u+v-c 2 2 22 = 3 Δ ˆδ 24 = u+v-c 2 4 24 = 2 Δ ˆδ 31 = u+v-c 3 1 31 = 5+Δ ˆδ = u +v -c =Δ 3 33 3 3 33 Συνεπώς, για -2 Δ 2 1-2 = 8 c 11 1+2 = 12 η παρούσα λύση εξακολουθεί να είναι η βέλτιστη. 54
Μεταβολές στις παραμέτρους s i / d j Λόγω της φύσης του προβλήματος μεταφοράς, η μεταβολή μιας μόνο εκ των παραμέτρων s i, d j δεν είναι δυνατή. Διακρίνουμε τρεις περιπτώσεις: οι ποσότητες s p, d q γίνονται αντίστοιχα s p +Δ, d q +Δ (αύξηση της ζήτησης του D q κατά Δ και ανάλογη αύξηση της προσφοράς του S p ) οι ποσότητες s t, s r γίνονται αντίστοιχα s t +Δ, s r -Δ (αύξηση της προσφοράς του S t κατά Δ και ανάλογη μείωση της προσφοράς του S r ) οι ποσότητες d f, d g γίνονται αντίστοιχα d f +Δ, d g -Δ (αύξηση της ζήτησης του D f κατά Δ και ανάλογη μείωση της ζήτησης του D g ). Αναζητάμε ένα διάστημα τιμών της ποσότητας Δ, ώστε η τρέχουσα βάση να παραμείνει η ίδια (: βασικά να είναι τα ίδια κελιά) 55
Μεταβολές στις παραμέτρους s i / d j 1 η περίπτωση: οι ποσότητες s p, d q γίνονται αντίστοιχα s p +Δ, d q +Δ Ξεκινάμε με μια προσαρμογή +Δ σ ένα από τα βασικά κελιά της p-γραμμής και συνεχίζουμε με διαδοχικές Δ, +Δ προσαρμογές. Τελειώνουμε με +Δ σε κάποιο από τα βασικά κελιά της q-στήλης. Προφανώς εάν το κελί (p, q) είναι βασικό, αρκεί μόνο μια προσαρμογή +Δ στο συγκεκριμένο κελί. Π.χ. s 2 = 5+Δ, d 2 = 2+Δ v u 3 3 6 6 1 2-2 8 6 1-7 9 35 1+Δ 25-Δ 9-3 12 13-2 7 5+Δ 45 5+Δ -5 14 9-12 16 5 4 1 3 45 2+Δ 3 3 Αν η νέα λύση είναι εφικτή, τότε θα είναι η βέλτιστη λύση του νέου προβλήματος. Αρκεί επομένως 1+Δ, 25-Δ, 5+Δ ή ισοδύναμα -5 Δ 25. Το συνολικό κόστος μεταφοράς ισούται με 12+9Δ κι άρα ο ρυθμός μεταβολής της τιμής ανά μονάδα μεταβολής του Δ στο διάστημα [-5, 25] είναι 9 (= u 2 + v 2 ). 56
Μεταβολές στις παραμέτρους s i / d j 2 η περίπτωση: οι ποσότητες s t, s r γίνονται αντίστοιχα s t +Δ, s r -Δ Ξεκινάμε με μια προσαρμογή +Δ σ ένα από τα βασικά κελιά της t-γραμμής και συνεχίζουμε με διαδοχικές Δ, +Δ προσαρμογές. Τελειώνουμε με -Δ σε κάποιο από τα βασικά κελιά της r-γραμμής. Ο ρυθμός μεταβολής του συνολικού κόστους μεταφοράς είναι u t - u r Μεταβολές στις παραμέτρους s i / d j 3 η περίπτωση: οι ποσότητες d f, d g γίνονται αντίστοιχα d f +Δ, d g -Δ Ξεκινάμε με μια προσαρμογή +Δ σ ένα από τα βασικά κελιά της f-στήλης και συνεχίζουμε με διαδοχικές Δ, +Δ προσαρμογές. Τελειώνουμε με -Δ σε κάποιο από τα βασικά κελιά της g-στήλης. Ο ρυθμός μεταβολής του συνολικού κόστους μεταφοράς είναι v f v g 57
Το πρόβλημα «εκχώρησης» ανάθεση εκτέλεσης εργασιών σε άτομα (: ένα άτομο μία μόνο εργασία). πλήθος ατόμων ίσο με πλήθος εργασιών (αλλιώς ). εντοπισμός της ιδανικής αντιστοίχισης (: εκχώρησης). σύνηθες κριτήριο η ελαχιστοποίηση κόστους (χρόνου, κλπ) ή η μεγιστοποίηση κέρδους (ικανοποίησης, κλπ) ειδική περίπτωση του προβλήματος μεταφοράς, όπου η ζήτηση και προσφορά είναι μονάδες: o για ένα πρόβλημα με m εργασίες που πρέπει να εκτελεστούν από m άτομα, υπάρχουν m! δυνατά σενάρια διεκπεραίωσης. o στη λύση υπάρχουν m κελιά με τιμή 1 και m-1 με τιμή. o εκφυλισμένες λύσεις. ο Ουγγρικός Αλγόριθμος. 58
Παράδειγμα 3 Μια οικοδομική εταιρεία χρησιμοποιεί τέσσερα συνεργεία για να φέρει σε πέρας έναν ίσο αριθμό έχουν αναληφθεί. Κάθε συνεργείο μπορεί να χρησιμοποιηθεί για οποιοδήποτε έργο, όχι όμως εξίσου ικανοποιητικά: Χρόνος 1 ο έργο 2 ο έργο 3 ο έργο 4 ο έργο 1 ο συνεργείο 14 5 8 7 2 ο συνεργείο 2 12 6 5 3 ο συνεργείο 7 8 3 9 4 ο συνεργείο 2 4 6 1 Ζητούμενο είναι η εκχώρηση σε κάθε συνεργείο ενός εκ των έργων σε τρόπο ώστε ο συνολικός χρόνος απασχόλησης να είναι ο ελάχιστος δυνατός. Βέλτιστη λύση (με συνολικό χρόνο ίσο με 15): 1 ο συνεργείο 2 ο έργο 2 ο συνεργείο 4 ο έργο 3 ο συνεργείο 3 ο έργο 4 ο συνεργείο 1 ο έργο 59