Προγραμματισμός & Έλεγχος Παραγωγής Κεφ. 7 Χρονικός Προγραμματισμός Συμπληρωματικές Σημειώσεις Στέλλα Σοφιανοπούλου Καθηγήτρια Πειραιάς 2012
Ενότητα 7.1.2 Παράδειγμα προβλήματος χρονικού προγραμματισμού εργασιών σε μηχανές σε διάγραμμα Gantt ID Task Name Start Finish Duration Apr 23 2006 Apr 30 2006 May 7 2006 May 14 2006 May 21 2006 May 28 2006 25 26 27 28 29 30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1 1 J3 M1 4/25/2006 4/26/2006 2d 2 J2 M1 4/27/2006 5/3/2006 7d 3 J4 M1 5/4/2006 5/9/2006 6d 4 J1 M1 5/10/2006 5/14/2006 5d 5 Idle M2 4/25/2006 4/26/2006 2d 6 J3 M2 4/27/2006 4/29/2006 3d 4/30/2006 5/3/2006 αριθμός 5/4/2006 5/12/2006 μηχανών 7 Idle M2 4d 8 J2 M2 9d 9 J4 M2 5/13/2006 5/13/2006 1d 10 Idle M2 5/14/2006 5/14/2006 1d 11 J1 M2 5/15/2006 5/22/2006 8d 12 Idle M3 4/25/2006 4/29/2006 5d 4/30/2006 5/8/2006 F: 5/9/2006 flow-shop, 5/12/2006 οι εργασίες 5/13/2006 5/17/2006 P: 5/18/2006 F + 5/23/2006 13 J3 M3 9d 14 Idle M3 4d 15 J2 M3 5d 16 J4 M3 6d 17 J1 M3 5/24/2006 5/27/2006 4d 18 Idle M4 4/25/2006 5/8/2006 14d 19 J3 M4 5/9/2006 5/15/2006 7d 20 Idle M4 5/16/2006 5/17/2006 2d 21 J2 M4 5/18/2006 5/25/2006 8d 22 J4 M4 5/26/2006 5/29/2006 4d 23 J1 M4 5/30/2006 6/1/2006 3d αδρανής χρόνος 2
Παράδειγμα προβλήματος 5/2/P/F αριθμός μηχανών n = αριθμός εργασιών m = αριθμός μηχανών Το κριτήριο είναι ο μέσος χρόνος ροής (επόμενη διαφάνεια) α. Όλες οι εργασίες επισκέπτονται τις μηχανές με την ίδια σειρά * β. Σε κάθε μηχανή η σειρά επεξεργασίας των εργασιών είναι η ίδια F: flow-shop, οι εργασίες P: F + * Αν ισχύει μόνο το (α): F Ακόμα γενικότερα: G (job shops) 3
Ενότητα 7.2.2 χρόνος ροής: Fi = Ci ri = (συνήθως) Ci αναμονή: Wi = Fi Pi (*) χρόνος επεξεργασίας: Pi εργασία i-1 χρόνος άφιξης: ri (συνήθως 0) (*) Wi = i 1 k 1 εργασία-i P k χρόνος παράδοσης: di χρόνος ολοκλήρωσης: Ci t χρόνος υπέρβασης: Ti = max{ Ci-di, 0 } χρόνος νωρίτερης ολοκλήρωσης: Ei = max{ di - Ci, 0 } 4
Ενότητα 7.2.4 Κανόνας ελαχίστου χρόνου επεξεργασίας (SPT = shortest processing time) Βελτιστοποιεί αυτά τα κριτήρια 5
Παραγγελία εκτέλεσης (ημέρες) Pi Ημερ/νία παράδοσης (ημέρες) di Περιθώριο (di-pi) Σειρά: 24135 1 7 17 10 2 5 8 3 3 12 34 22 4 8 12 4 5 10 40 30 Κανόνας ημερομηνίας Παράδοσης (EDD = earliest due date) Παραγγελία (κατά σειρά εκτέλεσης) εκτέλεσης Ημ/νία παράδοσης Ημερ/νία ολοκλήρωσης απόκλισης 1 2 5 8 5-3 0 2 4 8 12 13 1 5 3 1 7 17 20 3 13 4 3 12 34 32-2 20 5 5 10 40 42 2 32 αναμονής Mέσος χρόνος ροής Μέση βραδύτερη παράδοση Μέσος χρόνος αναμονής Μέγιστη βραδύτερη παράδοση Αριθμός καθυστερημένων εργασιών 22,4 1,2 14 3 3 Βελτιστοποιεί το δεύτερο σημειωμένο κριτήριο και δίνει πολύ καλή τιμή για το πρώτο 6
Παραγγελία εκτέλεσης (ημέρες) Pi Ημερ/νία παράδοσης (ημέρες) di Περιθώριο (di-pi) Σειρά: 21354 1 7 17 10 2 5 8 3 3 12 34 22 4 8 12 4 5 10 40 30 Κανόνας του Moore Παραγγελία (κατά σειρά εκτέλεσης) εκτέλεσης Ημ/νία παράδοσης Ημερ/νία ολοκλήρωσης απόκλισης 1 2 5 8 5-3 0 2 1 7 17 12-5 5 3 3 12 34 24-10 12 4 5 10 40 34-6 24 5 4 8 12 42 30 34 αναμονής Mέσος χρόνος ροής 23,4 Μέση βραδύτερη παράδοση 6 Μέσος χρόνος αναμονής Μέγιστη βραδύτερη παράδοση 15 30 Βελτιστοποιεί αυτό το κριτήριο Αριθμός καθυστερημένων εργασιών 1 7
Παραγγελία εκτέλεσης (ημέρες) Pi Ημερ/νία παράδοσης (ημέρες) di Περιθώριο (di-pi) Σειρά: 24135 1 7 17 10 2 5 8 3 3 12 34 22 4 8 12 4 5 10 40 30 Κανόνας μικρότερου περιθωρίου Παραγγελία (κατά σειρά εκτέλεσης) εκτέλεσης Ημ/νία παράδοσης Ημερ/νία ολοκλήρωσης απόκλισης 1 2 5 8 5-3 0 2 4 8 12 13 1 5 3 1 7 17 20 3 13 4 3 12 34 32-2 20 5 5 10 40 42 2 32 αναμονής Mέσος χρόνος ροής Μέση βραδύτερη παράδοση 22,4 1,2 «Συμβιβαστική» λύση Μέσος χρόνος αναμονής Μέγιστη βραδύτερη παράδοση Αριθμός καθυστερημένων εργασιών 14 3 3 Στο συγκεκριμένο παράδειγμα δίνει συμπτωματικά την ίδια λύση με τον κανόνα ημερομηνίας παράδοσης ΔΕΝ ισχύει γενικά 8
Ένα ακόμα κριτήριο: Σταθμισμένος μέσος χρόνος ροής F 1 n w wifi n i 1 Όπου wi βαρύτητες (συντελεστές στάθμισης) που εκφράζουν για παράδειγμα προτεραιότητες Εφαρμόζουμε τον κανόνα ελαχίστου χρόνου επεξεργασίας αλλά με «χρόνους» τις τιμές Pi/wi Για παράδειγμα, αν δύο εργασίες έχουν τον ίδιο χρόνο επεξεργασίας θα προηγηθεί εκείνη που έχει μεγαλύτερη βαρύτητα 9
Εργασία Ενότητα 7.3 Μηχανή Μηχανή 2 1 1 10 6 2 3 9 3 12 5 4 1 8 η εργασία 4 στην αρχή 4?????? 5 7 2 6 7 8 7 9 10 Εργασία Συστήματα n/2/f/fmax Αλγόριθμος Johnson δίνει βέλτιστη λύση Μηχανή Μηχανή 2 1 1 10 6 2 3 9 3 12 5 5 7 2 η εργασία 5 στο τέλος 4????? 5 6 7 8 7 9 10 Εργασία Μηχανή Μηχανή 2 1 1 10 6 2 3 9 η εργασία 2 στην αρχή 4 2???? 5 3 12 5 6 7 8 7 9 10 κ.ο.κ 10
Ένα άλλο παράδειγμα εφαρμογής του αλγορίθμου Johnson με 5 εργασίες σε 2 μηχανές (διάγραμμα Gantt) ID Task Name Start Finish Duration Tue Apr 25 Wed Apr 26 11 12 1 3 4 6 12 8 3 4 6 8 5 9 5 11 12 2 9 10 3 7 4 10 1 5 2 6 6 8 9 2 7 7 10 8 7 1 9 11 10 1 J2 M1 4/25/2006 4/25/2006.99h 2 J4 M1 4/25/2006 4/25/2006 3h 3 J3 M1 4/25/2006 4/25/2006 9h 4 J5 M1 4/25/2006 4/26/2006 10h 5 J1 M1 4/26/2006 4/26/2006 5h 6 M2 Idle 4/25/2006 4/25/2006.99h 7 J2 M2 4/25/2006 4/25/2006 6h 8 J4 M2 4/25/2006 4/25/2006 8h 9 J3 M2 4/25/2006 4/26/2006 6.99h 10 M2 Idle 4/26/2006 4/26/2006.99h 11 J5 M2 4/26/2006 4/26/2006 3.99h 12 M2 Idle 4/26/2006 4/26/2006.99h 13 J1 M2 4/26/2006 4/26/2006 2h αδρανής χρόνος 11
Στην πράξη: Διαφορετικές προτεραιότητες Προτεραιότητες που μεταβάλλονται δυναμικά Περιορισμοί στη διάθεση ανθρωποαπασχόλησης Προαπαιτούμενες εργασίες Διαφορετικοί χρόνοι «άφιξης» εργασιών Πλήθος ευρετικών αλγορίθμων 12
Ενδεικτική μορφοποίηση μαθηματικού προγραμματισμού Εργασίες j = 1,,n σε m μηχανές Η «πορεία» των εργασιών στις μηχανές είναι δεδομένη για κάθε εργασία j: j(1), j(2),, j(m) Job-shop και ως ειδική περίπτωση flow-shop Pij o χρόνος επεξεργασίας της εργασίας j στη μηχανή i xij 0, o χρόνος έναρξης της επεξεργασίας της εργασίας j στη μηχανή i Pik Pil k l ή l k xik xil xil xik Η εργασία k προηγείται της l στη μηχανή i Η εργασία l προηγείται της k στη μηχανή i 13
xil xik + Pik ή xik xil + Pil ikl 1, αν η εργασία k προηγείται της l 0,αν η εργασία l προηγείται της k xik - xil -Pik + M(1-δikl) xil - xik -Pil + Mδikl * Πάρα πολλοί περιορισμοί και ακέραιες μεταβλητές για μεγάλα προβλήματα: εξαιρετικά δισεπίλυτα προβλήματα + Περιορισμοί για την καθορισμένη σειρά «πορείας» κάθε εργασίας στις μηχανές: xj(2),j xj(1),j + Pj(1),j κ.ο.κ Η ελαχιστοποίηση του μέσου χρόνου ροής ισοδυναμεί με την ελαχιστοποίηση της αντικειμενικής συνάρτησης: n j 1 x j( m ), j Υπάρχουν τρόποι ενσωμάτωσης των χρόνων παράδοσης στη μορφοποίηση 14
Αν θέλουμε να ελαχιστοποιήσουμε το μέγιστο χρόνο ροής προσθέτουμε περιορισμούς που ορίζουν ότι όλοι οι χρόνοι ολοκλήρωσης είναι μίας συνεχούς μεταβλητής Fmax Και ελαχιστοποιούμε την Fmax Ο μέγιστος χρόνος ροής (makespan) είναι ο συνολικός χρόνος μέχρι την ολοκλήρωση όλων των εργασιών 15
Επίλυση του προβλήματος που χρησιμοποιήσαμε για τον αλγόριθμο Johnson ελαχιστοποίηση μέσου χρόνου ροής 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 4 Μηχανή 1 5 4 Μηχανή 2 2 5 6 2 1 6 1 7 7 3 3 Βέλτιστη λύση 29. Αλγόριθμος Johnson: 32,7 Ο αλγόριθμος Johnson ΔΕΝ βελτιστοποιεί αυτό το κριτήριο, αλλά το συνολικό χρόνο ροής 16
Επίλυση του προβλήματος που χρησιμοποιήσαμε για τον αλγόριθμο Johnson ελαχιστοποίηση μέγιστου (συνολικού) χρόνου ροής Μέσος χρόνος ροής Μηχανή 1 Έναρξη Ολοκλήρωση 32,6 1 4 0 1 2 2 1 4 3 3 4 16 4 7 16 25 5 6 25 32 6 1 32 42 7 5 42 49 Μηχανή 1 Έναρξη Ολοκλήρωση 1 4 1 9 2 2 9 18 3 3 18 23 4 7 25 35 5 6 35 43 6 1 43 49 Μέγιστος χρόνος ροής 7 5 49 51 51 Σημ: Με ένα τέτοιο πίνακα μπορούμε να βρούμε εύκολα το συνολικό χρόνο ροής και τον αδρανή χρόνο στις μηχανές αδρανής χρόνος Βέλτιστη λύση 51. Αλγόριθμος Johnson: 51 Σειρά <4237615> ισοδύναμη της <4267135> (Johnson) 17
Ενότητες 7.6.1-7.6.2 Αρχή της «πρώτης ώρας» 18
Για κυκλικά προγράμματα ακολουθούμε την ίδια διαδικασία επαναληπτικά (με συνεχόμενες περιόδους) μέχρι να σταθεροποιηθεί το σχήμα των νέων τοποθετήσεων, δηλαδή σε δύο διαδοχικές περιόδους έχουμε τις ίδιες τοποθετήσεις Το τελικό αυτό «σχήμα» είναι η λύση 19
Ενότητα 7.6.3 20
Εναλλακτικά: Μορφοποίηση ως πρόβλημα ακεραίου προγραμματισμού π.χ. αργίες Δευτέρα και Τρίτη Μεγάλη ευελιξία όσον αφορά τους περιορισμούς, τα κριτήρια βελτιστοποίησης κ.λπ. 21
22