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

Σχετικά έγγραφα
Αποδεικτικές Διαδικασίες και Μαθηματική Επαγωγή.

Ας υποθέσουμε ότι ο παίκτης Ι διαλέγει πρώτος την τυχαιοποιημένη στρατηγική (x 1, x 2 ), x 1, x2 0,

{ i f i == 0 and p > 0

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

Οι γέφυρες του ποταμού... Pregel (Konigsberg)

Αναγνώριση Προτύπων. Σήμερα! Λόγος Πιθανοφάνειας Πιθανότητα Λάθους Κόστος Ρίσκο Bayes Ελάχιστη πιθανότητα λάθους για πολλές κλάσεις

Αναγνώριση Προτύπων. Σημερινό Μάθημα

Αναγνώριση Προτύπων. Σημερινό Μάθημα

CSE.UOI : Μεταπτυχιακό Μάθημα

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ

Αναγνώριση Προτύπων. Σημερινό Μάθημα

5.1 Μετρήσιμες συναρτήσεις

ΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ

21/11/2005 Διακριτά Μαθηματικά. Γραφήματα ΒΑΣΙΚΗ ΟΡΟΛΟΓΙΑ : ΜΟΝΟΠΑΤΙΑ ΚΑΙ ΚΥΚΛΟΙ Δ Ι. Γεώργιος Βούρος Πανεπιστήμιο Αιγαίου

Αλγόριθμοι & Βελτιστοποίηση

Εισαγωγικά. 1.1 Η σ-αλγεβρα ως πληροφορία

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

Εφαρμογές στην κίνηση Brown

Επίλυση ειδικών μορφών ΣΔΕ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

ΣΧΟΛΙΚΟ ΕΤΟΣ ΕΥΘΥΓΡΑΜΜΗ ΟΜΑΛΗ ΚΙΝΗΣΗ ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΕΞΕΤΑΣΗ ΣΤΗ ΦΥΣΙΚΗ A ΛΥΚΕΙΟΥ. Ονοματεπώνυμο Τμήμα

Ring Routing and Wavelength Conversion. Γιώργος Ζώης

«ΔΙΑΚΡΙΤΑ ΜΑΘΗΜΑΤΙΚΑ»

ΜΙΚΡΟΟΙΚΟΝΟΜΙΚΗ Η ΚΑΤΑΝΑΛΩΤΙΚΗ ΑΠΟΦΑΣΗ. Άσκηση με θέμα τη μεγιστοποίηση της χρησιμότητας του καταναλωτή

Εστω X σύνολο και A μια σ-άλγεβρα στο X. Ονομάζουμε το ζεύγος (X, A) μετρήσιμο χώρο.

Ταξινόμηση των μοντέλων διασποράς ατμοσφαιρικών ρύπων βασισμένη σε μαθηματικά κριτήρια.

Το κράτος είναι φτιαγμένο για τον άνθρωπο και όχι ο άνθρωπος για το κράτος. A. Einstein Πηγή:

ΣΤΟ ΦΑΡΜΑΚΕΙΟ. Με την πιστοποίηση του έχει πρόσβαση στο περιβάλλον του φαρμακείου που παρέχει η εφαρμογή.

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

Δ Ι Α Κ Ρ Ι Τ Α Μ Α Θ Η Μ Α Τ Ι Κ Α. 1η σειρά ασκήσεων

Η ανισότητα α β α±β α + β με α, β C και η χρήση της στην εύρεση ακροτάτων.

Ο Ισχυρός Νόμος των Μεγάλων Αριθμών

Έννοια. Η αποδοχή της κληρονομίας αποτελεί δικαίωμα του κληρονόμου, άρα δεν

Αναγνώριση Προτύπων. Σημερινό Μάθημα

HY 280. θεμελιακές έννοιες της επιστήμης του υπολογισμού ΑΣΚΗΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ. Γεώργιος Φρ.

Σχέσεις και ιδιότητές τους

ΤΑΞΙΝΟΜΗΣΗ ΟΡΓΑΝΙΣΜΩΝ

τους στην Κρυπτογραφία και τα

Εξαναγκασμένες ταλαντώσεις, Ιδιοτιμές με πολλαπλότητα, Εκθετικά πινάκων. 9 Απριλίου 2013, Βόλος

Αναλυτικές ιδιότητες

ΑΣΕΠ 2000 ΑΣΕΠ 2000 Εμπορική Τράπεζα 1983 Υπουργείο Κοιν. Υπηρ. 1983

Ανελίξεις σε συνεχή χρόνο

Γενικό Λύκειο Μαραθοκάμπου Σάμου. Άλγεβρα Β λυκείου. 13 Οκτώβρη 2016

17 Μαρτίου 2013, Βόλος

(3 ο ) Εξαντλητική αναζήτηση I: μεταθέσεις & υποσύνολα (4 o ) Εξαντλητική αναζήτηση II: συνδυασμοί, διατάξεις & διαμερίσεις

Επίλυση δικτύων διανομής

Ευρωπαϊκά παράγωγα Ευρωπαϊκά δικαιώματα

Ανεξαρτησία Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές

Martingales. 3.1 Ορισμός και παραδείγματα

ΜΑΘΗΜΑ: ΕΜΠΟΡΙΚΟ ΔΙΚΑΙΟ

Μονάδες α. Να γράψετε στο τετράδιό σας τον παρακάτω πίνακα σωστά συµπληρωµένο.

Ανεξαρτησία Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές

Εργαστηριακή Άσκηση Θερμομόρφωση (Thermoforming)

Ανεξαρτησία Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές

G περιέχει τουλάχιστον μία ακμή στο S. spanning tree στο γράφημα G.

Παντού σε αυτό το κεφάλαιο, αν δεν αναφέρεται κάτι διαφορετικό, δουλεύουμε σε ένα χώρο πιθανότητας (Ω, F, P) και η G F είναι μια σ-άλγεβρα.

ΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ ΜΑΘΗΜΑ: ΕΡΩΤΗΣΕΙΣ ΟΙΚΟΝΟΜΙΚΗΣ ΘΕΩΡΙΑΣ

ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ

Κεφάλαιο Η εκθετική κατανομή. Η πυκνότητα πιθανότητας της εκθετικής κατανομής δίδεται από την σχέση (1.1) f(x) = 0 αν x < 0.

ΘΕΜΑ: Aποτελεσματικότητα της νομισματικής και δημοσιονομικής πολιτικής σε μια ανοικτή οικονομία

Μεγάλες αποκλίσεις* 17.1 Η έννοια της μεγάλης απόκλισης

ιάσταση του Krull Α.Π.Θ. Θεσσαλονίκη Χ. Χαραλαμπους (ΑΠΘ) ιάσταση του Krull Ιανουάριος, / 27

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. Πρώτη Γραπτή Εργασία. Εισαγωγή στους υπολογιστές Μαθηματικά

Συναρτήσεις & Κλάσεις

Προτεινόμενα θέματα στο μάθημα. Αρχές Οικονομικής Θεωρίας ΟΜΑΔΑ Α. Στις προτάσεις από Α.1. μέχρι και Α10 να γράψετε στο τετράδιό σας τον αριθμό της

Μεγάλες αποκλίσεις* 17.1 Η έννοια της μεγάλης απόκλισης

Εκφωνήσεις και Λύσεις των Θεμάτων

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

τεσσάρων βάσεων δεδομένων που θα αντιστοιχούν στους συνδρομητές

ΣΤΟ ΙΑΤΡΕΙΟ. Με την πιστοποίηση του αποκτά πρόσβαση στο περιβάλλον του ιατρού που παρέχει η εφαρμογή.

1. Εστω ότι A, B, C είναι γενικοί 2 2 πίνακες, δηλαδή, a 21 a, και ανάλογα για τους B, C. Υπολογίστε τους πίνακες (A B) C και A (B C) και

Τρίτη, 05 Ιουνίου 2001 ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Συναρτήσεις. Σημερινό μάθημα

Ο τύπος του Itô. f (s) ds (12.1) f (g(s)) dg(s). (12.2) t f (B s ) db s + 1 2

Εκφωνήσεις και Λύσεις των Θεμάτων

ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ Σχεδίαση Λογικών Κυκλωμάτων

Μεγέθη ταλάντωσης Το απλό εκκρεμές

1. Σε περίπτωση κατά την οποία η τιμή ενός αγαθού μειωθεί κατά 2% και η ζητούμενη

ΣΥΝΟΛΑ (προσέξτε τα κοινά χαρακτηριστικά των παρακάτω προτάσεων) Οι άνθρωποι που σπουδάζουν ΤΠ&ΕΣ και βρίσκονται στην αίθουσα

«Εξατομικεύοντας την επιλογή των πόρων των ψηφιακών βιβλιοθηκών για την υποστήριξη της σκόπιμης μάθησης» Άννα Μαρία Ολένογλου

ΘΕΜΑ: Διαφορές εσωτερικού εξωτερικού δανεισμού. Η διαχρονική κατανομή του βάρους από το δημόσιο δανεισμό.

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Β ΤΑΞΗ. ΘΕΜΑ 1ο

Ψηφιακή Εικόνα. Σημερινό μάθημα!

Μία χρονοσειρά (time serie) είναι μια ακολουθία

( ιμερείς) ΙΜΕΛΕΙΣ ΣΧΕΣΕΙΣ Α Β «απεικονίσεις»

Κληρονομικότητα. Σήμερα! Κλάση Βάσης Παράγωγη κλάση Απλή κληρονομικότητα Protected δεδομένα Constructors & Destructors overloading

2. Κατάθεσε κάποιος στην Εθνική Τράπεζα 4800 με επιτόκιο 3%. Μετά από πόσο χρόνο θα πάρει τόκο 60 ; α) 90 ημέρες β) 1,5 έτη γ) 5 μήνες δ) 24 μήνες

ΔΙΚΑΙΩΜΑΤΑ ΠΡΟΣΟΡΜΙΣΗΣ, ΠΑΡΑΒΟΛΗΣ, ΠΡΥΜΝΟΔΕΤΗΣΗΣ ΚΑΙ ΕΛΛΙΜΕΝΙΣΜΟΥ ΣΚΑΦΩΝ ΣΕ ΘΑΛΑΣΣΙΕΣ ΠΕΡΙΟΧΕΣ. (ΛΙΜΑΝΙΑ κ.λπ.) ΤΟΠΙΚΗΣ ΑΡΜΟΔΙΟΤΗΤΑΣ ΛΙΜΕΝΙΚΩΝ

Η εξίσωση Black-Scholes

602. Συναρτησιακή Ανάλυση. Υποδείξεις για τις Ασκήσεις

Pointers. Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2

ΜΑΘΗΜΑ: ΠΟΛΙΤΙΚΗ ΟΙΚΟΝΟΜΙΑ-ΔΗΜΟΣΙΑ ΟΙΚΟΝΟΜΙΚΗ

ΜΑΘΗΜΑ: ΓΕΝΙΚΟ ΔΙΟΙΚΗΤΙΚΟ ΔΙΚΑΙΟ ΔΙΚΑΣΤΩΝ

Συντάκτης: Παναγιώτης Βεργούρος, Οικονομολόγος Συγγραφέας βιβλίων, Μικρο μακροοικονομίας διαγωνισμών ΑΣΕΠ

Το υπόδειγμα IS-LM: Εισαγωγικά

ΚΛΑΔΟΣ: ΠΕ11 ΦΥΣΙΚΗΣ ΑΓΩΓΗΣ

"Η απεραντοσύνη του σύμπαντος εξάπτει τη φαντασία μου. Υπάρχει ένα τεράστιο σχέδιο, μέρος του οποίου ήμουν κι εγώ".

Μεγάλες αποκλίσεις* 17.1 Η έννοια της μεγάλης απόκλισης

Ολοκληρωμένη Χωρική Ανάπτυξη. Ειδική Υπηρεσία Στρατηγικής, Σχεδιασμού Και Αξιολόγησης (ΕΥΣΣΑ) Μονάδα Α Στρατηγικής και Παρακολούθησης Πολιτικών

Ημέρα 3 η. (α) Aπό την εργασιακή διαδικασία στη διαδικασία παραγωγής (β) Αξία του προϊόντος και αξία της εργασιακής δύναμης

Transcript:

Μ Π Σ Λ Θ Α Υ m l ΠΡΟΣΕΓΓΙΣΤΙΚΑ ΣΧΗΜΑΤΑ ΓΙΑ ΠΡΟΒΛΗΜΑΤΑ ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗΣ Δ Ε Γεώργιος Ζώης Επιβλέπων: Σταύρος Γ. Κολλιόπουλος, Επ. Καθηγητής, Τμήμα Πληροφορικής και Τηλεπικοινωνιών, Ε.Κ.Π.Α. Αθήνα, Μάρτιος 2008

Περίληψη Στην εργασία αυτή μελετώνται προσεγγιστικά σχήματα από τη βιβλιογραφία για NP-hard προβλήματα χρονοδρομολόγησης. Ενα προσεγγιστικό σχήμα για ένα NP-hard πρόβλημα βελτιστοποίησης είναι ένας αλγόριθμος ο οποίος, για κάθε προκαθορισμένη σταθερά ɛ > 0, βρίσκει μία λύση στο πρόβλημα με τιμή μεγαλύτερη κατά το πολύ έναν παράγοντα 1 + ɛ από την τιμή της βέλτιστης λύσης του προβλήματος. Αν η πολυπλοκότητα χρόνου του προσεγγιστικού σχήματος είναι πολυωνυμική ως προς το μέγεθος της εισόδου, τότε το προσεγγιστικό σχήμα καλείται PTAS (Polynomial Time Approximation Scheme). Αν επιπλέον, η πολυπλοκότητα χρόνου είναι πολυωνυμική και ως προς το 1/ɛ, τότε το προσεγγιστικό σχήμα καλείται FPTAS (Fully Polynomial Time Approximation Scheme). Ενα τυπικό πρόβλημα χρονοδρομολόγησης αποτελείται από ένα σύνολο διεργασιών, υποκείμενες σε διάφορους περιορισμούς, οι οποίες πρόκειται να εκτελεστούν σε ένα σύνολο διαθέσιμων μηχανών. Δύο συνήθεις στόχοι είναι η ελαχιστοποίηση του makespan (ο απαιτούμενος χρόνος για την ολοκλήρωση όλων των διεργασιών) και η ε- λαχιστοποίηση του μέσου χρόνου ολοκλήρωσης. Οι περιορισμοί που μας ενδιαφέρουν περιλαμβάνουν χρόνους αποδέσμευσης, προθεσμίες καθώς και preemptive χρονοδρομολογήσεις των διεργασιών. Σε μία preemtive χρονοδρομολόγηση οι διεργασίες μπορούν να διακόπτουν την εκτέλεσή τους, ολοκληρώνοντάς τη σε κάποια επόμενη χρονική στιγμή της χρονοδρομολόγησης. Ακολούθως παραθέτουμε με συνοπτικό τρόπο τα προβλήματα και τα αντίστοιχα αποτελέσματα που μελετάμε. Μελετάμε το πρόβλημα ελαχιστοποίησης του makespan σε περιβάλλον Παράλληλων Μηχανών. Περιγράφουμε μία γενική τεχνική σχεδιασμού PTAS και την εφαρμόζουμε στο πρόβλημα ελαχιστοποίησης του makespan σε δύο παράλληλες πανομοιότυπες μηχανές [86]. Στη συνέχεια παρουσιάζουμε δύο διαφορετικά PTAS για την εκδοχή του i

ii προβλήματος με γενικό αριθμό παράλληλων πανομοιότυπων μηχανών [39, 86]. Το makespan μίας χρονοδρομολόγησης μετρά το χρόνο στον οποίο ολοκληρώνεται η εκτέλεση όλων των διεργασιών. Ωστόσο, αν ϑεωρήσουμε ότι οι διεργασίες συναγωνίζονται ανεξάρτητα η μία από την άλλη για τον ίδιο στόχο, τότε ένα πιο ταιριαστό μέτρο της απόδοσής τους είναι ο μέσος χρόνος ολοκλήρωσης της καθεμιάς. Μελετάμε προβλήματα ελαχιστοποίησης του μέσου (βεβαρημένου) χρόνου ολοκλήρωσης σε περιβάλλον Μοναδικής Μηχανής και σε περιβάλλον Παράλληλων Μηχανών. Παρουσιάζουμε ένα FPTAS για το πρόβλημα σε δύο παράλληλες πανομοιότυπες μηχανές [86]. Ακολού- ϑως, ϑεωρούμε ότι οι διεργασίες διαθέτουν προκαθορισμένους χρόνους αποδέσμευσης και παρουσιάζουμε ένα PTAS για το πρόβλημα σε περιβάλλον Μοναδικής Μηχανής, ό- που οι διεργασίες διαθέτουν μοναδιαία βάρη. Παρουσιάζουμε δύο ακόμη PTAS για τις preemptive και non-preemptive εκδοχές του προβλήματος σε γενικό αριθμό παράλληλων πανομοιότυπων μηχανών [2]. Η χρονοδρομολόγηση των διεργασιών για την ελαχιστοποίηση του makespan ή του μέσου χρόνου ολοκλήρωσης δεν ϑέτει περιορισμούς ως προς το χρόνο ολοκλήρωσης κάθε διεργασίας ατομικά. Αυτό που απαιτείται είναι οι διεργασίες να ολοκληρώνονται στον καλύτερο δυνατό χρόνο με σκοπό την ελαχιστοποίηση της αντίστοιχης αντικειμενικής συνάρτησης. Συσχετίζοντας κάθε διεργασία με μία ϑετική ακέραια προθεσμία και με μία απώλεια για κάθε αποτυχία ολοκλήρωσης της εκτέλεσής της στον χρόνο αυτό (σε μία δεδομένη χρονοδρομολόγηση) προκύπτει μία σειρά αντικειμενικών συναρτήσεων οι ο- ποίες καλούνται συναρτήσεις απώλειας. Μελετάμε επίσης προβλήματα βελτιστοποίησης διαφόρων συναρτήσεων απώλειας, σε περιβάλλον Μοναδικής Μηχανής. Παρουσιάζουμε ψευδοπολυωνυμικούς αλγορίθμους δυναμικού προγραμματισμού για τα προβλήματα ελαχιστοποίησης του συνολικού βάρους των καθυστερημένων διεργασιών, μεγιστοποίησης της συνολικής βεβαρημένης πρόωρης ολοκλήρωσης, ελαχιστοποίησης της συνολικής βεβαρημένης καθυστέρησης, όταν οι διεργασίες διαθέτουν μία κοινή προθεσμία και ελαχιστοποίησης της συνολικής καθυστέρησης (βλ. [63, 60]). Χρησιμοποιούμε τους παραπάνω αλγορίθμους και σχεδιάζουμε δύο FPTAS για τα προβλήματα ελαχιστοποίησης του συνολικού βάρους των καθυστερημένων διεργασιών και ελαχιστοποίησης της συνολικής καθυστέρησης αντίστοιχα [86, 61].

Ευχαριστίες Ευχαριστώ τον επιβλέποντα καθηγητή μου, κ. Σταύρο Κολλιόπουλο, για την ουσιώδη καθοδήγηση, τις πολύτιμες υποδείξεις και την επιμονή του στην τελειοποίηση των διατυπώσεων καθόλη τη διάρκεια της συνεργασίας μας. Το ήθος και η ευγένεια που τον διακρίνει αποτελούν πρότυπο για εμένα. Ευχαριστώ επίσης τα μέλη της τριμελούς επιτροπής, καθηγητές κκ. Δ. Θηλυκό και Β. Ζησιμόπουλο. Στον πρώτο οφείλω ένα ιδιαίτερο ευχαριστώ για όλες τις εποικοδομητικές συζητήσεις που είχα μαζί του. Ευχαριστώ τους καθηγητές κκ. Ε. Ζάχο και Α. Παγουρτζή καθώς και όλη την ομάδα του Corelab για την πολύτιμη βοήθειά τους, ιδιαίτερα κατά τον πρώτο χρόνο της φοίτησής μου στο m l. Θα πρέπει να εκφράσω την ευγνωμοσύνη μου και σε όλους τους συντελεστές του m l και ιδιαίτερα στους καθηγητές κκ. Γ. Μοσχοβάκη και Κ. Δημητρακόπουλο για την ευκαιρία σπουδών που μου έδωσαν. Ευχαριστώ επίσης το φίλο μου Γ. Βαφειάδη για τις υποδείξεις του σε ϑέματα σχετικά με τη διαχείριση του LAT E X. Τέλος, ευχαριστώ τους γονείς μου για την υπομονή και τη στήριξή τους καθόλη τη διάρκεια των σπουδών μου. Ge rgioc Z hc, Aj na, Mˆrtioc 2008 iii

Περιεχόμενα Περίληψη i Ευχαριστίες iii Κατάλογος Σχημάτων vii Κατάλογος Αλγορίθμων ix 1 Εισαγωγή 1 1.1 Παράσταση των προβλημάτων χρονοδρομολόγησης............... 1 1.2 Κανόνες χρονοδρομολόγησης............................ 6 1.3 Σκιαγράφηση της μελέτης.............................. 9 2 Το πρόβλημα ελαχιστοποίησης του makespan 11 2.1 Επισκόπηση γνωστών αποτελεσμάτων....................... 12 2.2 Μία γενική τεχνική σχεδιασμού PTAS....................... 12 2.3 Ελαχιστοποίηση του makespan σε δύο μηχανές................. 14 2.4 Ελαχιστοποίηση του makespan σε γενικό αριθμό μηχανών........... 16 2.4.1 Προσέγγιση μέσω ενός δυικού προβλήματος............... 17 2.4.2 Ενα δεύτερο PTAS.............................. 22 2.5 Συμπεράσματα..................................... 25 3 Το πρόβλημα ελαχιστοποίησης του μέσου χρόνου ολοκλήρωσης 29 3.1 Επισκόπηση γνωστών αποτελεσμάτων....................... 30 3.2 Ενα FPTAS για το πρόβλημα P2 j w j C j.................... 32 3.3 Χρονοδρομολόγηση με δεδομένους χρόνους αποδέσμευσης........... 36 v

vi ΠΕΡΙΕΧΟΜΕΝΑ 3.3.1 Μετασχηματισμοί εισόδου.......................... 36 3.3.2 Ελαχιστοποίηση του συνολικού χρόνου ολοκλήρωσης σε Μοναδική Μηχανή..................................... 42 3.3.3 Ελαχιστοποίηση του μέσου βεβαρημένου χρόνου ολοκλήρωσης σε παράλληλες πανομοιότυπες μηχανές.................... 46 3.4 Συμπεράσματα..................................... 58 4 Χρονοδρομολόγηση με δεδομένες προθεσμίες 63 4.1 Επισκόπηση γνωστών αποτελεσμάτων....................... 64 4.2 Ψευδοπολυωνυμικοί αλγόριθμοι για τη βελτιστοποίηση συναρτήσεων απώλειας........................................... 68 4.2.1 Ενα γνωστό δυναμικό πρόγραμμα.................... 69 4.2.2 Εφαρμογές σε προβλήματα χρονοδρομολόγησης Μοναδικής Μηχανής 70 4.3 Ελαχιστοποίηση της συνολικής καθυστέρησης.................. 85 4.4 Δύο πλήρη πολυωνυμικά προσεγγιστικά σχήματα................ 96 4.4.1 Ενα FPTAS για το πρόβλημα 1 j w j U j................ 96 4.4.2 Ενα FPTAS για το πρόβλημα 1 j T j.................. 99 4.5 Συμπεράσματα..................................... 102 5 Επίλογος 107 Α Θεωρία Πολυπλοκότητας 111 Α.1 Αναγωγές και NP πληρότητα............................ 111 Α.2 Προσεγγιστικοί αλγόριθμοι.............................. 114 Α.2.1 Αποτελέσματα μη προσέγγισης....................... 117 Γλωσσάρι 125 Βιβλιογραφία 127

Κατάλογος Σχημάτων 1.1 Ενα στιγμιότυπο προβλήματος με περιορισμούς προτεραιότητας και χρόνους αποδέσμευσης.................................. 2 1.2 Μία χρονοδρομολόγηση των διεργασιών του Σχήματος 1.1 σε δύο μηχανές.. 4 2.1 Η τεχνική μετασχηματισμού των δεδομένων της εισόδου............. 13 2.2 Δυική σχέση ανάμεσα σε Bin Packing και P C max............... 18 3.1 Διαμέριση του χρονικού ορίζοντα σε διαστήματα με εφαρμογή γεωμετρικής στρογγυλοποίησης................................... 38 3.2 Διαμέριση του χρονικού ορίζοντα σε τμήματα, με σταθερό αριθμό διαστημάτων ανάλογο του ɛ................................. 48 3.3 Ενα εισερχόμενο σύνορο F 1 και ένα εξερχόμενο σύνορο F 2 για ένα τμήμα B i. 49 3.4 Απεικόνιση των ενδεχόμενων υποσυνόλων διεργασιών στο Βήμα i + 1 του δυναμικού προγράμματος (3.6)............................ 50 4.1 Μία λύση του δυναμικού προγράμματος (4.2) και η αντίστοιχη βέλτιστη... 73 4.2 Μία διάταξη χρονοδρομολόγησης που ελαχιστοποιεί τη συνολική απώλεια nj=1 l j (C j )........................................ 75 4.3 Η διάταξη χρονοδρομολόγησης π l j (t) είναι ελαχιστική για τις συναρτήσεις απώλειας l j (t)...................................... 77 4.4 Δύο ενδεχόμενες διατάξεις χρονοδρομολόγησης που προκύπτουν από την π l j (t).......................................... 77 4.5 Μία ελαχιστική διάταξη χρονοδρομολόγησης π l j (t) για τις συναρτήσεις l j (t) και η αντίστοιχη διάταξη π l j (t), για τις συναρτήσεις l (t)............ 79 vii j

viii ΚΑΤΑΛΟΓΟΣ ΣΧΗΜΑΤΩΝ 4.6 Δύο βέλτιστες διατάξεις χρονοδρομολόγησης για το πρόβλημα 1 d j = d j w j T j.......................................... 82 4.7 Η διάταξη χρονοδρομολόγησης ενός υποσυνόλου n 1 διεργασιών σε μία επανάληψη του Βήματος 2 του Αλγορίθμου (6).................. 83 4.8 Η προσθήκη μίας straddling διεργασίας k σε μία βέλτιστη διάταξη χρονοδρομολόγησης των υπολοίπων n 1 διεργασιών.................. 84 4.9 Η j-οστή διεργασία της διάταξης π, όσον αφορά τις προθεσμίες d 1, d 2,..., d n, μπορεί να ολοκληρώσει την εκτέλεσή της σε ένα από τα τρία διαστήματα του σχήματος...................................... 86 4.10 Η βέλτιστη διάταξη χρονοδρομολόγησης μετά την ολοκλήρωση της εκτέλεσης του δυναμικού προγράμματος σε ένα στιγμιότυπο δεκαπέντε διεργασιών. 92

Κατάλογος Αλγορίθμων 1 Ενας 2-προσεγγιστικός αλγόριθμος για το πρόβλημα P C max........ 7 2 Ο αλγόριθμος primal ɛ (I, m) για το πρόβλημα P C max............. 19 3 Ο αλγόριθμος dual ɛ (I, t) για το πρόβλημα Bin Packing.............. 20 4 Ενας ακριβής αλγόριθμος για το πρόβλημα P2 j w j C j............ 34 5 Ενα PTAS για το πρόβλημα 1 r j j C j...................... 43 6 Ενας βέλτιστος αλγόριθμος ψευδοπολυωνυμικού χρόνου για το πρόβλημα 1 d j = d j w j T j.................................... 81 7 Ενας ακριβής αλγόριθμος για το πρόβλημα 1 j w j U j............. 97 ix

Κεφάλαιο 1 Εισαγωγή Στη σημερινή βιομηχανία, με τα πολλαπλά είδη παραγόμενων προϊόντων, απαιτούνται αρκετά στάδια επεξεργασίας καθώς και διαφορετικός μηχανικός εξοπλισμός για την παραγωγή ενός προϊόντος. Είναι σημαντικό οι αποφάσεις για το εκάστοτε βιομηχανικό σχέδιο, να επικεντρώνονται στην επιτυχή διαχείριση των διαθέσιμων πόρων έτσι ώστε η παραγωγή των προϊόντων να γίνεται με τον αποδοτικότερο δυνατό τρόπο. Για τη λήψη σωστών αποφάσεων είναι απαραίτητος ο χρονοπρογραμματισμός ενός σχεδίου που προωθεί την έγκαιρη διανομή και επιπλέον ελαχιστοποιεί τους αντικειμενικούς στόχους, όπως είναι ο χρόνος που απαιτείται για την παραγωγή ενός προϊόντος. Με βάση αυτούς τους προβληματισμούς, άρχισε να δημιουργείται τις τελευταίες δεκαετίες μία περιοχή μελέτης γνωστή ως προβλήματα χρονοδρομολόγησης (scheduling problems). Πολλά τεχνητά και υπαρκτά προβλήματα χρονοδρομολόγησης έχουν μελετηθεί σε βάθος και έχουν συνθέσει μία πλούσια και ισχυρή ϑεωρία, ενώ οι αλγοριθμικές τεχνικές που επινοήθηκαν για την επίλυση τους, αλλά και οι μέθοδοι για τον καθορισμό της υπολογιστικής τους πολυπλοκότητας, έχουν επηρεάσει την έρευνα σε περιοχές τόσο της Πληροφορικής (Θεωρητική Πληροφορική, Βάσεις Δεδομένων, Δίκτυα Επικοινωνιών), όσο και της Οικονομίας (Επιχειρησιακή Ερευνα). 1.1 Παράσταση των προβλημάτων χρονοδρομολόγησης Κάθε πρόβλημα χρονοδρομολόγησης προϋποθέτει ένα σύνολο διεργασιών J, οι οποίες ϑα πρέπει να εκτελεστούν από ένα σύνολο μηχανών M. Η εκτέλεση κάθε διεργασίας j J απαιτεί μία συγκεκριμένη ποσότητα χρόνου p j η οποία καλείται χρόνος επεξεργασίας και μπορεί να εξαρτάται ή όχι από τη μηχανή που εκτελεί την διεργασία. Οι διεργασίες ενδεχομένως να υπόκεινται σε κάποιους περιορισμούς ή να διαθέτουν κάποιες 1

2 Κεφάλαιο 1. Εισαγωγή επιπλέον ιδιότητες που πρέπει να ληφθούν υπόψην πριν τη χρονοδρομολόγηση τους. Για παράδειγμα μπορεί να υπάρχει μία δεδομένη μερική διάταξη με βάση την οποία πρέπει να εκτελεστούν (περιορισμοί προτεραιότητας (precedence constraints)) οι περιορισμοί προτεραιότητας αναπαρίστανται με τη μορφή ενός άκυκλου κατευθυνόμενου γραφήματος. Οι διεργασίες μπορεί να διακόπτονται και να συνεχίζουν την εκτέλεση τους σε κάποια επόμενη χρονική στιγμή (preemption). Μπορεί ακόμα για κάθε διεργασία να υπάρχει κάποιος προκαθορισμένος χρόνος πριν το πέρας του οποίου να μην επιτρέπεται να αρχίσει η εκτέλεσή της. Ο χρόνος αυτός ονομάζεται χρόνος αποδέσμευσης (release date) της διεργασίας. Επίσης κάθε διεργασία μπορεί να έχει μία προκαθορισμένη προθεσμία (due date). Αν, σε μία δεδομένη χρονοδρομολόγηση, μία διεργασία ολοκληρώσει την εκτέλεσή της μετά την προθεσμία της χαρακτηρίζεται ως καθυστερημένη (tardy), ενώ σε αντίθετη περίπτωση ως πρόωρη (early). Στο Σχήμα 1.1 δίνουμε ένα παράδειγμα που εξηγεί κάποιους από τους παραπάνω ορισμούς. Απεικονίζουμε το στιγμιότυπο ενός προβλήματος με επτά διεργασίες. Κάθε διεργασία αναπαρίσταται με ένα ορθογώνιο παραλληλόγραμμο και προσδιορίζεται από τον αριθμό που υπάρχει μέσα σ αυτό. Ο χρόνος επεξεργασίας και ο χρόνος αποδέσμευσης κάθε διεργασίας δίνονται με τη μορφή ενός διατεταγμένου ζεύγους (p j, r j ), που τοποθετείται δίπλα σ αυτή στο σχήμα. Οι περιορισμοί προτεραιότητας αντιστοιχούν σε κατευθυνόμενες ακμές. (2, 0) 2 (1, 0) (1, 7) 3 4 (1, 0) 7 6 (1, 3) 5 (3, 0) 1 (5, 1) Σχήμα 1.1: Ενα στιγμιότυπο προβλήματος με περιορισμούς προτεραιότητας και χρόνους αποδέσμευσης. Σε ένα πρόβλημα χρονοδρομολόγησης είναι δυνατόν κάθε διεργασία να εμπεριέχει μία ή και περισσότερες αναθέσεις (tasks). Ο όρος ανάθεση ερμηνεύεται ως η ενέργεια που συμβάλει στην ολοκλήρωση της διεργασίας. Στα περισσότερα προβλήματα που μελετώνται, οι διεργασίες εμπεριέχουν μία μόνο ανάθεση και επομένως η δέσμευση μιας μόνο μηχανής από το σύνολο M

1.1. Παράσταση των προβλημάτων χρονοδρομολόγησης 3 αρκεί για την εκτέλεση της κάθε διεργασίας. Σε αντίθετη περίπτωση μία διεργασία απαιτεί περισσότερες από μία μηχανές για να εκτελεστεί. Το περιβάλλον των μηχανών, στα περισσότερα προβλήματα χρονοδρομολόγησης ταυτίζεται με ένα από τα ακόλουθα. Μοναδική Μηχανή (Single Machine). Μία μόνο μηχανή διατίθεται για την εκτέλεση των διεργασιών. Κάθε διεργασία εμπεριέχει μία ανάθεση και επιπλέον όλες οι διεργασίες εκτελούνται στην ίδια μηχανή. Παράλληλες Μηχανές (Parallel Machines). Πολλαπλές μηχανές διατίθενται για την εκτέλεση των διεργασιών. Οι μηχανές μπορεί να είναι πανομοιότυπες (identical), μη σχετιζόμενες (unrelated), να διαθέτουν κάποια ταχύτητα εκτέλεσης (uniform) ή να ειδικεύονται στην εκτέλεση συγκεκριμένων διεργασιών. Ειδικά στην περίπτωση που οι μηχανές είναι μη σχετιζόμενες ο χρόνος επεξεργασίας της κάθε διεργασίας διαφέρει από μηχανή σε μηχανή. Επίσης, η κάθε διεργασία εμπεριέχει μία μόνο ανάθεση. Flow Shop. Στο πρότυπο αυτό υπάρχει μία αριθμημένη ακολουθία μηχανών 1, 2, 3,..., m. Κάθε διεργασία εμπεριέχει ακριβώς m αναθέσεις. Η πρώτη ανάθεση για κάθε διεργασία εκτελείται στη μηχανή 1, η δεύτερη στη μηχανή 2 κ.ο.κ. Για την εκτέλεση κάθε διεργασίας χρησιμοποιούνται και οι m μηχανές ενώ οι χρόνοι επεξεργασίας των αναθέσεων σε μία μηχανή διαφέρουν ανάλογα με τη διεργασία στην οποία εμπεριέχεται η κάθε ανάθεση. Σε περίπτωση που κάποιες διεργασίες εμπεριέχουν λιγότερες από m αναθέσεις ϑεωρούμε μηδενικό το χρόνο επεξεργασίας των αναθέσεων που δεν υπάρχουν. Τέλος, για κάθε διεργασία ϑα πρέπει η ανάθεση i 1 που εκτελείται στη μηχανή i 1 να ολοκληρώσει την εκτέλεσή της πριν από την έναρξη εκτέλεσης της ανάθεσης i στη μηχανή i. Job Shop. Στο πρότυπο αυτό υπάρχει ένα σύνολο αριθμημένων μηχανών και ένα σύνολο αριθμημένων διεργασιών. Κάθε διεργασία εμπεριέχει έναν συγκεκριμένο πλήθος αναθέσεων και κάθε ανάθεση σε μία μηχανή υποδεικνύεται από τρείς δείκτες: ο πρώτος αφορά στον αριθμό της διεργασίας στην οποία ανήκει η ανάθεση, ο δεύτερος στον αριθμό της ίδιας της ανάθεσης και ο τρίτος στον αριθμό της μηχανής στην οποία χρειάζεται να εκτελεστεί η ανάθεση. Σε αντίθεση με το Flow Shop πρότυπο οι αναθέσεις μιας διεργασίας δεν είναι απαραίτητο να εκτελούνται με κατευθυνόμενη σειρά. Τέλος, κάθε διεργασία μπορεί να χρησιμοποιήσει μία μηχανή περισσότερες από μία φορές. Στο Σχήμα 1.2 απεικονίζεται μία non-preemptive χρονοδρομολόγηση των διεργασιών του Σχήματος 1.1, σε δύο παράλληλες πανομοιότυπες μηχανές. Παρατηρούμε ότι λόγω των αντίστοιχων χρόνων αποδέσμευσης οι διεργασίες 4 και 5 αναγκάζονται να περιμένουν παρότι υπάρχει δια-

4 Κεφάλαιο 1. Εισαγωγή ϑέσιμη μηχανή. Επιπλέον, λόγω του περιορισμού προτεραιότητας για τις διεργασίες 4 και 7, η διεργασία 7 πρέπει να περιμένει μέχρι την ολοκλήρωση της 4. time 9 8 7 6 5 4 3 2 1 0 4 3 2 1 7 6 5 M 1 M 2 Σχήμα 1.2: Μία χρονοδρομολόγηση των διεργασιών του Σχήματος 1.1 σε δύο μηχανές. Κάθε φορά που χρονοδρομολογούμε ένα σύνολο διεργασιών, συνήθως επιθυμούμε είτε να ελαχιστοποιήσουμε, είτε να μεγιστοποιήσουμε την τιμή μίας αντικειμενικής συνάρτησης. Αντιπροσωπευτικές αντικειμενικές συναρτήσεις δίνονται στη συνέχεια. Makespan. Σε μία δεδομένη χρονοδρομολόγηση, συμβολίζουμε με C j το χρόνο ολοκλήρωσης (completion time) για κάθε διεργασία j, 1 j n, δηλαδή τη χρονική στιγμή που ολοκληρώνεται η εκτέλεση της j. Το makespan, C max, ορίζεται ως, C max = max{c 1, C 2,..., C n }. και είναι ο χρόνος ολοκλήρωσης και της τελευταίας εκτελούμενης διεργασίας. Ενα πολύ σημαντικό πρόβλημα που ανακύπτει είναι το πρόβλημα ελαχιστοποίησης του Makespan. Στη χρονοδρομολόγηση του Σχήματος 1.2 οι χρόνοι ολοκλήρωσης C 1,..., C 7 είναι ίσοι με 3, 5, 6, 8, 6, 7 και 9 αντίστοιχα. Το makespan της χρονοδρόμολόγησης ισούται με 9. Μέσος χρόνος ολοκλήρωσης (Total Completion Time). Ο Μέσος χρόνος ολοκλήρωσης μίας δεδομένης χρονοδρομολόγησης ορίζεται ως, n C j. j=1

1.1. Παράσταση των προβλημάτων χρονοδρομολόγησης 5 Συνήθως αναφερόμαστε στην αντικειμενική αυτή συνάρτηση ως ο συνολικός χρόνος ολοκλήρωσης. Στη χρονοδρομολόγηση του Σχήματος 1.2 ο συνολικός χρόνος ολοκλήρωσης ισούται με 44. Αν επιπλέον για κάθε διεργασία j δίνεται μαζί με το χρόνο επεξεργασίας της και κάποιο ϑετικό ακέραιο βάρος w j, τότε ορίζουμε το μέσο βεβαρημένο χρόνο ολοκλήρωσης ως, n w j C j. j=1 Ενα ενδιαφέρον πρόβλημα είναι το πρόβλημα ελαχιστοποίησης του μέσου (βεβαρημένου) χρόνου ολοκλήρωσης. Καθυστέρηση (Tardiness). Για κάθε διεργασία j, εκτός από το χρόνο επεξεργασίας p j, δίνεται μία προθεσμία d j. Επιπλέον, κάθε διεργασία j μπορεί να διαθέτει και κάποιο ϑετικό ακέραιο βάρος w j. Η καθυστέρηση T j μιας διεργασίας j σε μία δεδομένη χρονοδρομολόγηση ορίζεται ως, T j = max{0, C j d j }. Τρείς αντικειμενικές συναρτήσεις που εμπεριέχουν την καθυστέρηση και συναντώνται συχνά σε προβλήματα χρονοδρομολόγησης είναι οι εξής: 1. n w j T j j=1 2. T max = max j=1,...,n {T j}. 3. n w j U j, όπου U j = j=1 1, αν T j > 0, 0, αλλιώς. Από την πρώτη ανακύπτει το πρόβλημα ελαχιστοποίησης της συνολικής βεβαρημένης κα- ϑυστέρησης, από την δεύτερη το πρόβλημα ελαχιστοποίησης της μέγιστης καθυστέρησης, ενώ από την τρίτη έχουμε το πρόβλημα ελαχιστοποίησης του συνολικού βάρους των καθυστερημένων διεργασιών (tardy jobs). Δύο συναφείς με την καθυστέρηση αντικειμενικές συναρτήσεις είναι η αργοπορία (Lateness) και η πρόωρη ολοκλήρωση (earliness). Σε μία δεδομένη χρονοδρομολόγηση η αργοπορία μίας διεργασίας j ορίζεται ως L j = C j d j, ενώ η πρόωρη ολοκλήρωση αυτής ορίζεται ως E j = max{d j C j, 0}. Τρία γνωστά προβλήματα είναι τα προβλήματα ελαχιστοποίησης της μέγιστης αργοπορίας L max = max j=1,...,n {L j }, μεγιστοποίησης της συνολικής βεβαρημένης πρόωρης ολοκλήρωσης n j=1 w j E j και μεγιστοποίησης του συνολικού βάρους των πρόωρων διεργασιών (early jobs) n j=1 w j U j, όπου U j = 1 U j. Μπορούμε να ορίσουμε συνοπτικά κάθε πρόβλημα χρονοδρομολόγησης χρησιμοποιώντας την πρότυπη παράσταση τριών πεδίων α β γ (βλ. Graham, Lawler, Lenstra, Kan [33] και Lawler,

6 Κεφάλαιο 1. Εισαγωγή Lenstra, Kan, Shmoys [62]), όπου το πεδίο α καθορίζει το περιβάλλον των μηχανών, το πεδίο β καθορίζει τις ιδιότητες των διεργασιών και το πεδίο γ καθορίζει την αντικειμενική συνάρτηση. Αν για παράδειγμα ϑεωρήσουμε ότι διαθέτουμε m παράλληλες πανομοιότυπες μηχανές, τότε για σταθερό m το πρόβλημα ελαχιστοποίησης του makespan ορίζεται ως Pm C max, αλλιώς συμβολίζεται με P C max. Για το ίδιο περιβάλλον μηχανών τα προβλήματα ελαχιστοποίησης του συνολικού (βεβαρημένου) χρόνου ολοκλήρωσης και της συνολικής καθυστέρησης ορίζονται ως P nj=1 w j C j και P n j=1 T j αντίστοιχα. Αν το περιβάλλον των μηχανών είναι η Μοναδική Μηχανή, τότε το α ισούται με 1. Στις ενότητες που ακολουθούν χρησιμοποιούμε κάποιες βασικές έννοιες και αποτελέσματα από τη Θεωρία Πολυπλοκότητας. Για την κατανόησή τους ο αναγνώστης παραπέμπεται στο Παράρτημα Α, όπου γίνεται μία σύντομη επισκόπηση της Θεωρίας Πολυπλοκότητας. 1.2 Κανόνες χρονοδρομολόγησης Η διατύπωση της Θεωρίας της NP-πληρότητας και τα επακόλουθα αποτελέσματα αυτής, έδειξαν ότι τα περισσότερα κεντρικά προβλήματα χρονοδρομολόγησης δεν είναι εφικτό να επιλυθούν με αποδοτικό τρόπο, εκτός και αν P = NP. Οι αλγόριθμοι που παρουσιάστηκαν και παρουσιάζονται κατά καιρούς για προβλήματα χρονοδρομολόγησης, είναι στην πλειοψηφία τους προσεγγιστικοί αλγόριθμοι. Η πιο διαδεδομένη κλάση αλγορίθμων για την επίλυση προβλημάτων χρονοδρομολόγησης είναι η κλάση των List Scheduling αλγορίθμων: οι διεργασίες ταξινομούνται σε μία λίστα βάσει ενός συγκεκριμένου κανόνα και η επόμενη στη λίστα διεργασία δρομολογείται στην πρώτη μηχανή που είναι διαθέσιμη. Μερικοί γνωστοί κανόνες περιγράφονται στη συνέχεια. Αυθαίρετη Λίστα (Arbitrary List). Η ταξινόμηση γίνεται με αυθαίρετη μετάθεση των διεργασιών. Μεγαλύτερος Χρόνος Επεξεργασίας (Longest Processing Time ή LPT). Οι διεργασίες ταξινομούνται σε φθίνουσα σειρά ως προς το χρόνο επεξεργασίας τους. Κάθε στιγμή που μία μηχανή είναι διαθέσιμη, δρομολογείται σ αυτή η διεργασία με το μεγαλύτερο χρόνο επεξεργασίας που βρίσκεται στην τρέχουσα λίστα. Ο αλγόριθμος αυτός αποτελεί μία ευρετική μέθοδο για την επίλυση του προβλήματος P C max (βλ. [35]). Δρομολογεί πρώτα τις διεργασίες που έχουν μεγάλο χρόνο επεξεργασίας (μεγάλες διεργασίες), έτσι ώστε να αποφύγει την εκτέλεση αυτών προς το τέλος της χρονοδρομολόγησης, γεγονός που μπορεί να προκαλέσει σημαντική αύξηση στο makespan. Μικρότερος Χρόνος Επεξεργασίας (Shortest Processing Time ή SPT). Οι διεργασίες ταξι-

1.2. Κανόνες χρονοδρομολόγησης 7 νομούνται σε αύξουσα σειρά ως προς το χρόνο επεξεργασίας τους και όταν μία μηχανή είναι διαθέσιμη, δρομολογείται σ αυτή η διεργασία με το μικρότερο χρόνο επεξεργασίας που βρίσκεται στην τρέχουσα λίστα. Ο αλγόριθμος αυτός επιλύει βέλτιστα σε πολυωνυμικό χρόνο τα προβλήματα 1 n j=1 C j [92], P n j=1 C j [19]. Κανόνας του Smith. Πρόκειται για μία παραλλαγή του κανόνα Μικρότερου Χρόνου Επεξεργασίας, όπου οι διεργασίες διαθέτουν βάρη και ταξινομούνται σε αύξουσα σειρά, ως προς το λόγο του χρόνου επεξεργασίας τους p j προς το αντίστοιχο βάρος τους w j. Συγκεκριμένα οι διεργασίες ταξινομούνται έτσι ώστε να ισχύει η ακόλουθη ανισότητα, p 1 w 1 p 2 w 2... p n w n. Ο αλγόριθμος αυτός βρίσκει μία βέλτιστη λύση για το πρόβλημα 1 nj=1 w j C j [92]. Αξίζει να σημειωθεί ότι η διάταξη των διεργασιών στον κανόνα του Smith ισοδυναμεί με τη φθίνουσα διάταξη των διεργασιών ως προς το λόγο τους w j /p j. Η τελευταία είναι γνωστή ως κανόνας WSPT (Weighted Shortest Processing Time) και συναντάται σε αρκετές εργασίες αντί του κανόνα του Smith. Μικρότερη Προθεσμία (Earliest Due Date ή EDD). Οι διεργασίες ταξινομούνται σε αύξουσα σειρά ως προς την προθεσμία τους d j, οπότε εκτελείται πρώτη η διεργασία με τη μικρότερη προθεσμία και τελευταία αυτή με το μεγαλύτερη. Ο αλγόριθμος επιλύει βέλτιστα τα προβλήματα 1 T max και 1 L max (βλ. [46, 92]). Στη συνέχεια ϑα δώσουμε ένα παράδειγμα εκτέλεσης ενός List Scheduling αλγορίθμου για το πρόβλημα P C max. Το πρόβλημα P C max είναι ένα κεντρικό πρόβλημα της ϑεωρίας προβλημάτων χρονοδρομολόγησης και ο αλγόριθμος που ακολουθεί παρουσιάστηκε από τον Graham το 1966 [34]. Πρόκειται για ένα List Scheduling αλγόριθμο ο οποίος εφαρμόζει τον κανόνα της Αυθαίρετης Λίστας. Αλγόριθμος 1 Ενας 2-προσεγγιστικός αλγόριθμος για το πρόβλημα P C max 1. Ταξινόμησε τις διεργασίες με βάση τον κανόνα της Αυθαίρετης Λίστας. 2. Δρομολόγησε τις διεργασίες στις μηχανές αναθέτοντας την επόμενη διεργασία στη μηχανή με το μικρότερο τρέχον φορτίο. Για μία δεδομένη χρονοδρομολόγηση με τον όρο φορτίο μιας μηχανής M i εννοούμε την ποσότητα j J p j, όπου J είναι το σύνολο των διεργασιών που εκτελούνται στη μηχανή M i.

8 Κεφάλαιο 1. Εισαγωγή Ο Αλγόριθμος 1 βασίζεται στα ακόλουθα δύο κάτω φράγματα για την τιμή του ελαχίστου makespan, OPT(I, m): 1. Μέσος χρόνος εκτέλεσης διεργασιών για μία μηχανή, j p j και 2. μέγιστος χρόνος επεξεργασίας, p max = max j {p j }. Συνδυάζοντας τα δύο κάτω φράγματα ϑέτουμε, 1 LB = max p j, p max m. Είναι εύκολο να αποδείξουμε ότι ο Αλγόριθμος 1, για οποιαδήποτε είσοδο I, επιστρέφει μία λύση με τιμή μικρότερη ή ίση από τη διπλάσια τιμή της βέλτιστης λύσης OPT(I, m). j Θεώρημα 1.1 Ο Αλγόριθμος 1 πετυχαίνει παράγοντα προσέγγισης 2 για το πρόβλημα P C max. Απόδειξη. Αρχικά παρατηρούμε ότι το LB είναι επίσης κάτω φράγμα για το OPT(I, m), LB OPT(I, m). Βάσει της χρονοδρομολόγησης του Αλγορίθμου 1, το μικρότερο τρέχον φορτίο L i, πριν τη δρομολόγηση και της τελευταίας διεργασίας ϑα είναι, L i 1 p j LB. m j Η δρομολόγηση της τελευταίας διεργασίας προσθέτει στο L i χρόνο p i, όπου p i p max LB. Συνεπώς έχουμε ότι, L i + p j LB + LB 2 OPT(I, m). Οπότε αποδεικνύεται ότι ο Αλγόριθμος 1 είναι 2-προσεγγιστικός. Από το Θεώρημα 1.1 γίνεται σαφές ότι ο Αλγόριθμος 1 δεν εγγυάται την εύρεση της βέλτιστης λύσης για κάθε στιγμιότυπο του προβλήματος P C max. Συγκεκριμένα πρόκειται για ένα 2-προσεγγιστικό αλγόριθμο πολυωνυμικού χρόνου. Αυτό βέβαια σε καμία περίπτωση δεν αποδεικνύει ότι δεν υπάρχει αλγόριθμος που να βρίσκει τη βέλτιστη λύση στο πρόβλημα P C max. Οπως προέκυψε τελικά από την Θεωρία της NP-πληρότητας 1 το πρόβλημα P C max είναι NP-πλήρες πρόβλημα και μάλιστα strongly NP-πλήρες [30], γεγονός που καθιστά αδύνατη, εκτός και αν P = NP, τόσο την αναζήτηση ενός βέλτιστου πολυωνυμικού αλγορίθμου όσο και την αναζήτηση ενός FPTAS. 1 Ο αλγόριθμος του Graham προηγείται χρονικά της διατύπωσης της ϑεωρίας της NP-πληρότητας και αποτελεί τον πρώτο προσεγγιστικό αλγόριθμο που παρουσιάστηκε για πρόβλημα βελτιστοποίησης.

1.3. Σκιαγράφηση της μελέτης 9 Σε επόμενη εργασία του ο Graham [35] τροποποίησε τον Αλγόριθμο 1 εφαρμόζοντας τον κανόνα ταξινόμησης LPT. Ως αποτέλεσμα προέκυψε η προσέγγιση της τιμής OPT(I, m) με έναν παράγοντα 4/3, σαφώς καλύτερο από τον παράγοντα 2 του Αλγορίθμου 1. Στα επόμενα κεφάλαια ϑα αναφερθούμε σε αρκετά παραδείγματα προβλημάτων χρονοδρομολόγησης όπου εφαρμόζεται κάποιος από τους παραπάνω κανόνες ταξινόμησης για την επίλυση τους. 1.3 Σκιαγράφηση της μελέτης Στα επόμενα κεφάλαια μελετώνται προσεγγιστικά σχήματα και βέλτιστοι ψευδοπολυωνυμικοί αλγόριθμοι για προβλήματα χρονοδρομολόγησης που έχουν ως στόχο τη βελτιστοποίηση των εξής αντικειμενικών συναρτήσεων: makespan (C max ), μέσος βεβαρημένος χρόνος ολοκλήρωσης ( n j=1 w j C j ), συνολικό βάρος των καθυστερημένων διεργασιών ( n j=1 w j U j ), συνολική βεβαρημένη πρόωρη ολοκλήρωση ( n j=1 w j E j ) και συνολική βεβαρημένη καθυστέρηση ( n j=1 w j T j ). Στο Κεφάλαιο 2 παρουσιάζουμε προσεγγιστικά σχήματα πολυωνυμικού χρόνου για προβλήματα που έχουν στόχο την ελαχιστοποίηση του makespan. Αρχικά παρουσιάζουμε ένα PTAS για το πρόβλημα P2 C max, όπου το πλήθος των μηχανών είναι σταθερό και ίσο με 2 [86]. Το αποτέλεσμα αυτό προκύπτει μέσω της εφαρμογής μίας τεχνικής η οποία είναι γνωστή ως τεχνική μετασχηματισμού των δεδομένων της εισόδου (βλ. Ενότητα 2.2). Στη συνέχεια, δίνουμε ένα PTAS για το πρόβλημα P C max [39], το οποίο στηρίζεται στην μέθοδο προσέγγισης μέσω ενός δυικού προβλήματος, όπως είναι το πρόβλημα Bin Packing (βλ. Α.2.1). Επιπλέον, παρουσιάζουμε ένα δεύτερο PTAS για το ίδιο πρόβλημα (βλ. Schuurman και Woeginger [86]), το οποίο προκύπτει επίσης με εφαρμογή της τεχνικής μετασχηματισμού των δεδομένων της εισόδου. Στο Κεφάλαιο 3 παρουσιάζουμε προσεγγιστικά σχήματα για διάφορες εκδοχές του προβλήματος ελαχιστοποίησης του μέσου βεβαρημένου χρόνου ολοκλήρωσης. Αρχικά δίνουμε ένα FPTAS για το πρόβλημα P2 n j=1 w j C j [86], το οποίο βασίζεται στην εφαρμογή μίας τεχνικής που είναι γνωστή ως τεχνική αποκοπής (trimming technique) (βλ. Ενότητα 3.2). Στη συνέχεια ϑεωρούμε ότι οι διεργασίες ενός στιγμιοτύπου εισόδου, εκτός από το βάρος και το χρόνο επεξεργασίας τους, διαθέτουν επιπλέον και κάποιο χρόνο αποδέσμευσης και μελετάμε τις preemptive και non-preemptive εκδοχές του προβλήματος. Παρουσιάζουμε ένα PTAS για την απλή εκδοχή του προβλήματος όπου το περιβάλλον μήχανής είναι η Μοναδική Μηχανή και τα βάρη των διεργασιών είναι μοναδιαία, 1 r j j C j [2] και ακολούθως δίνουμε δύο PTAS για τις πιο γενικές εκδοχές, P r j j w j C j και P r j, pmtn j w j C j [13, 2]. Η βασική ιδέα για το σχεδιασμό των προσεγγιστικών αυτών σχημάτων είναι η εφαρμογή πολλαπλών μετασχηματισμών στο αρχικό στιγμιότυπο

10 Κεφάλαιο 1. Εισαγωγή του προβλήματος έτσι ώστε να είναι εφικτή η αποδοτική επίλυση του είτε με χρήση δυναμικού προγραμματισμού, είτε με εφαρμογή κάποιου κανόνα χρονοδρομολόγησης. Στο Κεφάλαιο 4 μελετάμε προβλήματα χρονοδρομολόγησης στα οποία οι διεργασίες διαθέτουν προκαθορισμένες προθεσμίες και ο στόχος είναι η ελαχιστοποίηση (ή μεγιστοποίηση) κάποιας συνάρτησης απώλειας. Η έννοια της απώλειας σε μία δεδομένη χρονοδρομολόγηση ερμηνεύεται ως η αποτυχία ολοκλήρωσης της εκτέλεσης μίας διεργασίας στη δεδομένη προθεσμία της. Οι συναρτήσεις απώλειας που μας ενδιαφέρουν είναι το συνολικό βάρος των καθυστερημένων διεργασιών, η συνολική βεβαρημένη πρόωρη ολοκλήρωση και η συνολική βεβαρημένη καθυστέρηση. Αρχικά παρουσιάζουμε αλγορίθμους ψευδοπολυωνυμικού χρόνου για τα προβλήματα 1 j w j U j, 1 maximize j w j E j και 1 d j = d j w j T j (βλ. Lawler και Moore [63]). Οι αλγόριθμοι αυτοί προκύπτουν μέσω κατάλληλης εφαρμογής ενός δυναμικού προγράμματος σε καθένα από τα αντίστοιχα προβλήματα. Στη συνέχεια παρουσιάζουμε έναν ψευδοπολυωνυμικό αλγόριθμο δυναμικού προγραμματισμού για το πρόβλημα 1 w j agreeable j w j T j, όπου τα βάρη των διεργασιών είναι συμβατά, υπό την έννοια ότι αν p i < p j τότε w i w j (βλ. Lawler [60]). Χρησιμοποιώντας τους παραπάνω αλγόριθμους δίνουμε ένα FPTAS για το πρόβλημα 1 j w j U j [86] και ένα FPTAS για το πρόβλημα 1 j T j [61]. Το πρώτο προκύπτει με εφαρμογή της τεχνικής αποκοπής, όπως α- κριβώς και το αντίστοιχο αποτέλεσμα για το πρόβλημα P2 n j=1 w j C j, ενώ το δεύτερο προκύπτει μέσω κατάλληλων μετασχηματισμών των αριθμητικών δεδομένων της εισόδου.

Κεφάλαιο 2 Το πρόβλημα ελαχιστοποίησης του makespan Το πρόβλημα της ελαχιστοποίησης του makespan αποτελεί ένα κεντρικό πρόβλημα της Θεωρίας Χρονοδρομολόγησης. Οπως είδαμε στο Κεφάλαιο 1 (βλ. Ενότητα 1.1), για δεδομένη αντικειμενική συνάρτηση, όπως είναι το makespan, μπορούμε να κατασκευάσουμε προβλήματα που διαφέρουν μεταξύ τους, είτε ως προς το περιβάλλον των μηχανών, είτε ως προς τις ιδιότητες των διεργασιών. Στις επόμενες ενότητες ϑα ασχοληθούμε εν γένει με αποτελέσματα που αφορούν την εκδοχή P C max του προβλήματος ελαχιστοποίησης του makespan, η οποία έχει ίσως διερευνηθεί περισσότερο από κάθε άλλη. Το πρόβλημα ορίζεται τυπικά ως ακολούθως. Η είσοδος του προβλήματος αποτελείται από n διεργασίες και m παράλληλες, πανομοιότυπες μηχανές. Κάθε διεργασία j έχει έναν ϑετικό ακέραιο χρόνο επεξεργασίας p j και όλες οι διεργασίες είναι διαθέσιμες τη χρονική στιγμή μηδέν. Ο στόχος είναι να χρονοδρομολογήσουμε τις διεργασίες στις m μηχανές, έτσι ώστε να ελαχιστοποιήσουμε το χρόνο ολοκλήρωσης της τελευταίας διεργασίας που δρομολογείται. Ο χρόνος αυτός καλείται makespan και συμβολίζεται με C max. Η τιμή της βέλτιστης λύσης ενός στιγμιοτύπου του προβλήματος συμβολίζεται με OPT(I, m), όπου I είναι το σύνολο των χρόνων επεξεργασίας και m το πλήθος των μηχανών. Υπενθυμίζουμε ότι στην ειδική περίπτωση όπου ο αριθμός των μηχανών είναι σταθερός και ίσος με m το πρόβλημα συμβολίζεται με Pm C max, ενώ η τιμή της βέλτιστης λύσης ενός στιγμιοτύπου του προβλήματος συμβολίζεται με OPT(I), αφού το m δεν αποτελεί μέρος της εισόδου. 11

12 Κεφάλαιο 2. Το πρόβλημα ελαχιστοποίησης του makespan 2.1 Επισκόπηση γνωστών αποτελεσμάτων Η μελέτη της υπολογιστικής πολυπλοκότητας του προβλήματος P C max απέδειξε ότι πρόκειται για ένα strongly NP-hard πρόβλημα [30]. Βάσει του Πορίσματος Α.1, το καλύτερο αποτέλεσμα που ϑα μπορούσε να περιμένει κανείς είναι ο σχεδιασμός ενός PTAS, εκτός και αν P = NP. Το πρώτο PTAS για το πρόβλημα P C max δόθηκε από τους Hochbaum και Shmoys [39] και στηρίχτηκε σε αρκετά αποτελέσματα προσέγγισης που είχαν προηγηθεί: οι δύο αλγόριθμοι του Graham [34, 35], στους οποίους αναφερθήκαμε στην Ενότητα 1.2, αποτέλεσαν τους πρώτους προσεγγιστικούς αλγορίθμους για το πρόβλημα P C max. Οι Coffman, Garey και Jhonson [25] παρουσίασαν έναν 1.22-προσεγγιστικό αλγόριθμο (MULTIFIT algorithm) στον οποίο συσχέτισαν το P C max με το συναφές πρόβλημα Bin Packing (βλ. Υποενότητα Α.2.1.2 για ορισμό). Στη συνέχεια οι Friesen [29] και Langston [56], χρησιμοποιώντας πιο περίπλοκες τεχνικές, βελτίωσαν την παραπάνω προσέγγιση σε 1.20 και 72/61 αντίστοιχα. Ενα FPTAS για το πρόβλημα Pm C max δόθηκε από τον Sahni [81], όμως ο χρόνος εκτέλεσης του ήταν εκθετικός ως προς το m, γεγονός που απορρίπτει την μετατροπή σε ένα προσεγγιστικό σχήμα για την γενική διάσταση του προβλήματος. Το PTAS των Hochbaum και Shmoys [39], προέκυψε τελικά μέσα από κατάλληλο συσχετισμό των προβλημάτων Bin Packing και P C max (βλ. Ενότητα 2.4.1). Εκ των υστέρων παρουσιάστηκαν PTAS για το ίδιο πρόβλημα, στα οποία δεν χρησιμοποιήθηκε η παραπάνω συσχέτιση. Ενα τέτοιο αποτέλεσμα, οφείλεται στους Schuurman και Woeginger [86] (βλ. Ενότητα 2.4.2). Στην συνέχεια παρουσιάζουμε μία γενική τεχνική σχεδιασμού PTAS, στην οποία στηρίζονται εν γένει τα αποτελέσματα που ϑα ακολουθήσουν. 2.2 Μία γενική τεχνική σχεδιασμού PTAS Μία διαδεδομένη τεχνική για την κατασκευή προσεγγιστικών σχημάτων για NP-hard προβλήματα βελτιστοποίησης είναι η τεχνική μετασχηματισμού των δεδομένων της εισόδου. Η βασική ιδέα της τεχνικής αυτής είναι να μετασχηματίσουμε ένα δύσκολο στιγμιότυπο σε ένα στιγμιότυπο το οποίο μπορεί να επιλυθεί αποδοτικά. Χρησιμοποιώντας τη βέλτιστη λύση αυτού του στιγμιοτύπου, παίρνουμε μία προσεγγιστική λύση για το αρχικό στιγμιότυπο. Τα τρία βήματα που συνθέτουν την τεχνική αυτή απεικονίζονται στο Σχήμα 2.1. Το Βήμα της απλοποίησης (Simplify) του στιγμιοτύπου I σε ένα στιγμιότυπο I εξαρτάται από την επιθυμητή ακρίβεια ɛ της προσέγγισης. Οσο πιο κοντά στο 0 είναι το ɛ τόσο μεγαλύτερη είναι η ομοιότητα του στιγμιοτύπου I με το στιγμιότυπο I. Επιπλέον, ο χρόνος που απαιτείται για την απλοποίηση πρέπει να είναι πολυωνυμικός ως προς το μέγεθος της εισόδου.

2.2. Μία γενική τεχνική σχεδιασμού PTAS 13 A.SOL Translate OPT OPT Solve I Simplify I Σχήμα 2.1: Η τεχνική μετασχηματισμού των δεδομένων της εισόδου. Το Βήμα της επίλυσης (Solve) του απλοποιημένου στιγμιοτύπου I αφορά στην εύρεση μιας βέλτιστης λύσης OPT για το I σε πολυωνυμικό χρόνο. Στο Βήμα της προσαρμογής (Translate) προσαρμόζουμε τη λύση OPT του I στα αρχικά δεδομένα και παίρνουμε μία προσεγγιστική λύση A.SOL για το στιγμιότυπο I. Η προσαρμογή αυτή εκμεταλλεύεται την ομοιότητα μεταξύ των στιγμιοτύπων I και I και στην ιδανική περίπτωση το A.SOL ϑα παραμένει κοντά στο OPT, το οποίο ϑα βρίσκεται κοντά στο OPT. Στην περίπτωση αυτή, έχουμε βρει την επιθυμητή προσέγγιση, δηλαδή ένα PTAS. Το δυσκολότερο βήμα της παραπάνω τεχνικής είναι ο προσδιορισμός της κατάλληλης απλοποίησης. Για παράδειγμα, αν το στιγμιότυπο I επιλεχθεί πολύ κοντά στο I, τότε το I μπορεί να παραμείνει NP-hard. Αντιθέτως, αν το I επιλεχθεί πολύ μακριά από το I, τότε η επίλυση του I μπορεί να μη βοηθήσει στην επίλυση του I. Για την απλοποίηση των δεδομένων της εισόδου έχουν προταθεί διάφορες μέθοδοι. Η στρογγυλοποίηση (rounding) κάποιων από τους αριθμούς της εισόδου (π.χ. σε τέλειες δυνάμεις του 2) είναι ο πιο απλός τρόπος για να μετασχηματίσουμε τα δεδομένα της εισόδου. Ενας άλλος τρόπος είναι η συνένωση (merging) μικρών τμημάτων σε μεγαλύτερα (π.χ. πολλές διεργασίες μικρού χρόνου επεξεργασίας σε μία διεργασία ίσου χρόνου). Μπορούμε ακόμη να κάνουμε αφαίρεση (cutting) κάποιων τμημάτων της εισόδου, αλλά και ευθυγράμμιση (aligning) των μεγεθών παρόμοιων μεταξύ τους αντικειμένων (π.χ. να αντικαταστήσουμε διαφορετικές διεργασίες που έχουν περίπου ίσους χρόνους επεξεργασίας, με πανομοιότυπα αντίγραφα που έχουν χρόνο επεξεργασίας ίσο με τον μέσο χρόνο των αρχικών). Η τεχνική μετασχηματισμού των δεδομένων της εισόδου παρουσιάστηκε αρχικά από τους Horowitz και Sahni [43], οι οποίοι την εφάρμοσαν σε προβλήματα διαμέρισης (partition problems). Σε επόμενη εργασία του, ο Sahni [81] εφάρμοσε την τεχνική αυτή για τον σχεδιασμό ενός FPTAS για το πρόβλημα P2 C max. Άλλες εφαρμογές της τεχνικής αυτής βρίσκουμε στην εργασία των

14 Κεφάλαιο 2. Το πρόβλημα ελαχιστοποίησης του makespan Hochbaum και Shmoys [39] για το πρόβλημα P C max (βλ. Ενότητα 2.4.1), καθώς και στην εργασία των Fernadez de la Vega και Lueker [23] για το πρόβλημα Bin Packing. Για περισσότερες αναφορές σε εφαρμογές της παραπάνω τεχνικής ο αναγνώστης παραπέμπεται στην εργασία των Schuurman και Woeginger [86]. Στην ίδια εργασία, γίνεται επίσης και μία προσπάθεια ομαδοποίησης όλων των γνωστών μεθόδων για τον σχεδιασμό PTAS ή FPTAS, σε τρείς συγκεκριμένες τεχνικές. Στην ενότητα που ακολουθεί παρουσιάζουμε ένα PTAS για το πρόβλημα P2 C max [86]. 2.3 Ελαχιστοποίηση του makespan σε δύο παράλληλες πανομοιότυπες μηχανές Στο πρόβλημα P2 C max, το πλήθος των μηχανών είναι σταθερό και ίσο με 2 και δεν αποτελεί μέρος της εισόδου του προβλήματος. Πρόκειται δηλαδή για ειδική περίπτωση τόσο του προβλήματος P C max, όσο και του προβλήματος Pm C max (για m > 2). Επιπλέον, το πρόβλημα P2 C max, σε αντίθεση με το P C max, είναι NP-hard υπό τη συνήθη έννοια [49] και αυτό καθιστά εφικτό το σχεδιασμό τόσο ενός PTAS, όσο και ενός FPTAS (βλ. Πόρισμα Α.1). Στη συνέχεια παρουσιάζουμε ένα PTAS για το P2 C max που βασίζεται στην τεχνική μετασχηματισμού των δεδομένων της εισόδου και σχεδιάστηκε από τους Schuurman και Woeginger [86]. Θεωρούμε αρχικά ένα στιγμιότυπο I του προβλήματος και συμβολίζουμε με OPT(I) την βέλτιστη τιμή του makespan γι αυτό. Θυμίζουμε από τον Αλγόριθμο 1 ότι το LB = max{ 1 2 j p j, p max }, για m = 2, είναι κάτω φράγμα για το OPT(I) και επομένως ισχύει ότι: LB OPT(I). (2.1) Ο σχεδιασμός του PTAS συνοψίζεται στα ακόλουθα τρία στάδια. Στάδιο Α. Απλοποιούμε το στιγμιότυπο I σε ένα στιγμιότυπο I. Οι διεργασίες του I διαχωρίζονται βάσει μίας παραμέτρου ɛ > 0, σε μικρές και μεγάλες: 1. Κάθε μεγάλη διεργασία έχει χρόνο επεξεργασίας p j > ɛlb και όλες οι μεγάλες διεργασίες του I, περιέχονται στο I. 2. Κάθε μικρή διεργασία έχει χρόνο επεξεργασίας p j ɛlb. Το στιγμιότυπο I περιέχει ακριβώς S/(ɛLB) διεργασίες, με χρόνο επεξεργασίας ɛlb η καθεμία. Με S συμβολίζουμε το συνολικό χρόνο επεξεργασίας των μικρών διεργασιών στο I. Η διαφορά μεταξύ των στιγμιοτύπων I, I, είναι προφανές ότι έγκειται στις μικρές διεργασίες

2.3. Ελαχιστοποίηση του makespan σε δύο μηχανές 15 που αυτά περιέχουν. Ετσι, έχει ενδιαφέρον να δούμε πόσο αυτή η διαφορά επηρεάζει την τιμή της βέλτιστης λύσης για το αρχικό στιγμιότυπο I. Θεωρούμε μία βέλτιστη χρονοδρομολόγηση για το I, με makespan OPT(I). Με S 1 συμβολίζουμε το συνολικό χρόνο επεξεργασίας (ή φορτίο) των μικρών διεργασιών στην πρώτη μηχανή M 1 και με S 2 το αντίστοιχο φορτίο στη δεύτερη μηχανή M 2. Σε κάθε μηχανή, αφήνουμε ως έχουν τις μεγάλες διεργασίες και αντικαθιστούμε τις μικρές με S i /(ɛlb), i = 1, 2, διεργασίες μεγέθους 1 ɛlb η καθεμία. Εύκολα παρατηρούμε ότι: S i ɛlb S i ( S i ɛlb ɛlb + 1) ɛlb S i = ɛlb. (2.2) Από τη (2.2) προκύπτει ότι η αύξηση του φορτίου κάθε μηχανής λόγω της αντικατάστασης των μικρών διεργασιών είναι το πολύ ɛlb. Επιπλέον η χρονοδρομολόγηση αυτή είναι εφικτή για το στιγμιότυπο I. Συνεπώς ϑα ισχύει ότι: OPT(I ) OPT(I) + ɛlb (1 + ɛ) OPT(I). (2.3) Στάδιο Β. Παρατηρούμε ότι η αντικατάσταση των μικρών διεργασιών του στιγμιοτύπου I δεν προκαλεί αύξηση στο συνολικό χρόνο επεξεργασίας των διεργασιών. Επομένως έχουμε ότι j p j 2LB, για το στιγμιότυπο I. Επιπλέον, αφού κάθε διεργασία του I έχει μέγεθος τουλάχιστον ɛlb, ϑα υπάρχουν το πολύ 2/ɛ διεργασίες σ αυτό. Κάθε μία από τις 2/ɛ διεργασίες μπορεί να ανατεθεί προς εκτέλεση σε μία από τις δύο μηχανές που υπάρχουν και έτσι δημιουργούνται το πολύ 2 2/ɛ διαφορετικές εφικτές χρονοδρομολογήσεις των διεργασιών. Το makespan κάθε τέτοιας χρονοδρομολόγησης υπολογίζεται σε χρόνο O(2/ɛ) και επομένως, το στιγμιότυπο I επιλύεται σε σταθερό χρόνο (φυσικά πρόκειται για αρκετά μεγάλη σταθερά). Στάδιο Γ. Θεωρούμε μία βέλτιστη χρονοδρομολόγηση A για το στιγμιότυπο I στην οποία ο συνολικός χρόνος επεξεργασίας των νέων μικρών διεργασιών στη μηχανή M i, είναι S i, i = 1, 2 και ο αντίστοιχος χρόνος για τις μεγάλες διεργασίες είναι B i ( Οπου B i = B i). Τότε ϑα ισχύει ότι: S 1 + S 2 = ɛlb S > S ɛlb. (2.4) ɛlb Κατασκευάζουμε μία χρονοδρομολόγηση A για το αρχικό στιγμιότυπο I ως εξής: κάθε μεγάλη διεργασία τοποθετείται στην μηχανή που βρισκόταν στην χρονοδρομολόγηση A. Για τις μικρές 1 Ο όρος μέγεθος για μία διεργασία αναφέρεται στον αντίστοιχο χρόνο επεξεργασίας αυτής.

16 Κεφάλαιο 2. Το πρόβλημα ελαχιστοποίησης του makespan διεργασίες δεσμεύουμε χώρο S 1 + 2ɛLB και S 2 στις μηχανές M 1 και M 2 αντίστοιχα. Αρχίζουμε να εκτελούμε μικρές διεργασίες στο δεσμευμένο χώρο της μηχανής M 1 μέχρι να βρεθεί κάποια που να μην χωράει σ αυτόν. Τότε οι μικρές διεργασίες που εκτελέσθηκαν ϑα έχουν συνολικό μέγεθος τουλάχιστον S + 1 ɛlb, ενώ διεργασίες συνολικού μεγέθους το πολύ S S 1 ɛlb ϑα έχουν απομείνει ανεκτέλεστες. Από τη (2.4) προκύπτει ότι οι ανεκτέλεστες αυτές διεργασίες χωράνε να εκτελεστούν στο χώρο S 2. Το συνολικό φορτίο L i κάθε μηχανής στη χρονοδρομολόγηση A (με L i συμβολίζουμε το αντίστοιχο φορτίο μηχανής στη χρονοδρομολόγηση A ) ϑα είναι: L i B i + (S i + 2ɛLB) = L i + 2ɛLB (1 + 3ɛ) OPT(I). (2.5) Οι ενδιάμεσες ανισότητες της (2.5) προέκυψαν από τις σχέσεις (2.1) και (2.3). Η (2.5) αποδεικνύει ότι το makespan της χρονοδρομολόγησης A είναι το πολύ 1 + 3ɛ φορές μεγαλύτερο απ αυτό της βέλτιστης χρονοδρομολόγησης για το αρχικό στιγμιότυπο I. Λόγω του ότι το 3ɛ μπορεί να πλησιάσει αυθαίρετα κοντά στο 0 και η πολυπλοκότητα χρόνου της μεθόδου είναι γραμμική στο n και εκθετική στο 1/ɛ (βλ. Στάδιο Β), έχουμε σχεδιάσει το ζητούμενο PTAS για το πρόβλημα P2 C max. Αν εφαρμόσουμε το παραπάνω PTAS στην περίπτωση που το πλήθος των μηχανών είναι γενικό, έστω m, τότε η πολυπλοκότητα χρόνου ϑα γίνει εκθετική ως προς το m, λόγω του Σταδίου Β και επομένως, αφού το m είναι πλέον μέρος της εισόδου, δεν αποτελεί PTAS για το πρόβλημα P C max. Αν δε το m είναι σταθερό και m 3 τότε με πολύ μικρές αλλαγές στα Στάδια Α και Γ και για LB = max{ 1 m j p j, p max } έχουμε ένα PTAS για το πρόβλημα Pm C max. Οπως αναφέραμε στην αρχή της ενότητας το πρόβλημα P2 C max είναι NP-hard υπό τη συνήθη έννοια [49], οπότε η εύρεση ενός FPTAS είναι εφικτή. Ο σχεδιασμός ενός τέτοιου FPTAS μπορεί να γίνει με εφαρμογή κατάλληλου μετασχηματισμού σε έναν ακριβή αλγόριθμο ψευδοπολυωνυμικού χρόνου (βλ. Section 5 στο [86]). Ενα πανομοιότυπο αποτέλεσμα παρουσιάζεται στην Ενότητα 3.2 και αφορά στο πρόβλημα P2 j w j C j. 2.4 Ελαχιστοποίηση του makespan σε γενικό αριθμό παράλληλων πανομοιότυπων μηχανών Στην ενότητα αυτή παρουσιάζουμε δύο διαφορετικά PT AS για το πρόβλημα P C max, τα οποία στηρίζονται εν γένει στην τεχνική μετασχηματισμού των δεδομένων της εισόδου. Το πρώτο από αυτά παρουσιάζεται στην Ενότητα 2.4.1. Σχεδιάστηκε από τους Hochbaum και

2.4. Ελαχιστοποίηση του makespan σε γενικό αριθμό μηχανών 17 Shmoys [39] και όπως αναφέραμε και στην Ενότητα 2.1, αποτελεί το πρώτο χρονικά PT AS για το πρόβλημα. Η προσέγγιση του προβλήματος P C max γίνεται μέσω ενός κατά τρόπον δυικού πρόβληματος, όπως είναι το πρόβλημα Bin Backing. Το δεύτερο PT AS παρουσιάζεται στην Ενότητα 2.4.2 και σχεδιάστηκε από τους Schuurman και Woeginger [86]. Σε αντίθεση με το πρώτο PT AS, για το σχεδιασμό του δεν αξιοποιείται η δυική σχέση με το πρόβλημα Bin Packing. 2.4.1 Προσέγγιση μέσω ενός δυικού προβλήματος Ενα συναφές με το πρόβλημα P C max είναι το πρόβλημα Bin Packing. Εύκολα μπορούμε να παρατηρήσουμε ότι τα δύο προβλήματα έχουν ουσιαστικά το ίδιο πρόβλημα απόφασης. Θα περίμενε κανείς να είναι επίσης εύκολη η μεταφορά ενός αποτελέσματος προσέγγισης από το ένα πρόβλημα στο άλλο, εκτελώντας απλώς μία δυαδική αναζήτηση. Κάτι τέτοιο όμως φαντάζει εξαιρετικά δύσκολο όπως μπορούμε να διαπιστώσουμε στη συνέχεια. Το πρόβλημα Bin Packing είναι ένα strongly NP hard πρόβλημα [73]. Επίσης από το Θεώρημα Α.3 δεν επιδέχεται PT AS, εκτός και αν P = NP. Το αποτέλεσμα αυτό αφορά σε στιγμιότυπα στα οποία η βέλτιστη λύση είναι μεγέθους 2 ή 3. Ετσι, όταν πρόκειται για αντιπροσωπευτικά στιγμιότυπα του προβλήματος όπου η τιμή της βέλτιστης λύσης αυξάνει συναρτήσει του n, τότε μπορούμε να κατασκευάσουμε ένα PT AS (βλ. Ορισμό Α.6). Ενα PT AS για το Bin Packing δόθηκε από τους Fernandez de la Vega και Lueker [23], ενώ οι Karmarkar και Karp [48] παρουσίασαν ένα FPTAS για το ίδιο πρόβλημα. Σε ένα FPTAS η λύση που παίρνουμε, αν πρόκειται για πρόβλημα ελαχιστοποίησης, έχει τιμή το πολύ (1 + ɛ) OPT + f (1/ɛ), όπου f είναι μία πολυωνυμική συναρτηση και OPT η τιμή της βέλτιστης λύσης του προβλήματος. Βάσει των αποτελεσμάτων αυτών, ανακύπτει μία κρίσιμη διαφορά ανάμεσα στο πρόβλημα P C max και το πρόβλημα Bin Packing: στο P C max τα μεγέθη των διεργασιών μπορούν να μετασχηματιστούν (π.χ. στρογγυλοποιώντας προς τα πάνω) έτσι που το OPT να αυξάνεται χωρίς να επηρεάζεται η βασική δομή του προβλήματος. Μπορούμε επομένως να ελαττώσουμε στο 0 την τιμή της σταθεράς-συνάρτησης f, κατασκευάζοντας ένα FPTAS με f = 0, δηλαδή ένα FPTAS. Ομως ένα FPTAS για το P C max δεν μπορεί να υπάρχει, εκτός και αν P = NP. Η κρίσιμη αυτή διαφορά υποδεικνύει ότι δεν μπορούμε να σχεδιάσουμε ένα προσεγγιστικό σχήμα για το πρόβλημα P C max χρησιμοποιώντας ως μαύρο κουτί έναν προσεγγιστικό αλγόριθμο για το πρόβλημα Bin Packing. Η μέθοδος που παρουσιάζουμε στη συνέχεια δεν χρησιμοποιεί ένα προσεγγιστικό αλγόριθμο με τη συμβατική έννοια για το Bin Packing, αλλά μια ενδιαφέρουσα παραλλαγή του. Αποτελεί το πρώτο χρονικά PTAS για το πρόβλημα P C max και οφείλεται στους Hochbaum και Shmoys [39]. Η κύρια ιδέα της μεθόδου, είναι η δυική σχέση ανάμεσα στα προβλήματα P C max και Bin

18 Κεφάλαιο 2. Το πρόβλημα ελαχιστοποίησης του makespan Packing. Συγκεκριμένα, για δεδομένο σύνολο αντικειμένων I, τα αντικείμενα αυτά χωρίζονται σε m ομάδες έτσι ώστε το άθροισμα των μεγεθών των αντικειμένων της κάθε ομάδας να είναι το πολύ c αν και μόνο αν υπάρχει τρόπος τα ίδια αντικείμενα να μοιραστούν σε κάδους χωρητικότητας c χωρίς να χρειαζονται πάνω από m το πλήθος κάδοι. Αντίστοιχα, για δεδομένο στιγμιότυπο I, αν η βέλτιστη λύση του προβλήματος P C max για m μηχανές (κάδους) είναι OPT(I, m) και η βέλτιστη λύση του Bin Packing με όριο χωρητικότητας t είναι OPT(I, t) τότε ισχύει ότι: OPT(I, m) = min{ t OPT(I, t) m }. (2.6) Optimal Solutions h 1 Bin Packing fixed capacity find min num of bins P C max fixed num of bins find min capacity N u m o f B in s h 2 Bin Capacity Σχήμα 2.2: Δυική σχέση ανάμεσα σε Bin Packing και P C max : για δεδομένο στιγμιότυπο I η τιμή της βέλτιστης λύσης για το Bin Packing (αντίστοιχα για το P C max ) βρίσκεται σε κάποιο σημείο ενός τμήματος της τεθλασμένης Optimal Solutions το οποίο είναι παράλληλο (αντίστοιχα κάθετο) στον άξονα Num of bins. Οι υπερβολές h 1 : Num of Bins = j p j /Bin Capacity και h 2 : Num of Bins = 2 j p j /Bin Capacity φράσσουν κάτω και άνω αντίστοιχα τις τιμές των βέλτιστων λύσεων των δύο προβλημάτων. Από το Σχήμα 2.2 είναι εμφανές ότι έχουμε δύο αρκετά καλά φράγματα για τις τιμές των βέλτιστων λύσεων των δύο προβλημάτων, συγκεκριμένα τις υπερβολές h 1 και h 2 από κάτω και άνω αντίστοιχα. Α. Δυαδική αναζήτηση. Θα χρησιμοποιήσουμε τα φράγματα αυτά σαν αρχικά σημεία για να εφαρμόσουμε δυαδική αναζήτηση στο διάστημα [LB, UB] όπου LB = max{ 1 2 j p j, p max } και U B = 2LB. Το τελευταίο συστατικό που χρειαζόμαστε για την δυαδική αναζήτηση είναι μια προσέγγιση του OPT(I, t). Μία τέτοια προσέγγιση υπολογίζει ο άλγόριθμος dual ɛ (I, t), για το

2.4. Ελαχιστοποίηση του makespan σε γενικό αριθμό μηχανών 19 τρέχον στιγμιότυπο I και για χωρητικότητα t που αντιστοιχεί στο makespan αυτού. Η δυαδική αναζήτηση συνοψίζεται στο ακόλουθο σχήμα. Αλγόριθμος 2 Ο αλγόριθμος primal ɛ (I, m) για το πρόβλημα P C max 1. Οσο UB LB ɛlb 1.1 δ = UB+LB 2. 1.2 Αν dual ɛ (I, δ) > m τότε LB = δ. 1.3 Αλλιώς UB = δ. 1.4 δ = δ. 2. Για δ = LB εκτέλεσε dual ɛ (I, δ ) 2.1 Αν dual ɛ (I, δ ) m τότε τέλος. 2.2 Αλλιώς για δ = UB εκτέλεσε dual ɛ (I, δ ). Στο Βήμα 1, εάν το Bin Packing για χωρητικότητα (UB+LB)/2 έχει λύση με λιγότερους κάδους από ότι ζητάμε, τότε συνεχίζουμε να ψάχνουμε για καλύτερη λύση στο διάστημα [LB, (U B+LB)/2]. Αλλιώς έχουμε περάσει τη ζητούμενη τιμή και ψάχνουμε στο διάστημα [(U B + LB)/2, U B]. Οταν ολοκληρωθεί η δυαδική αναζήτηση, τα άκρα UB, LB ϑα απέχουν το πολύ ɛlb, άρα και το δ ϑα απέχει το πολύ ɛlb από το βέλτιστο. Ομως LB OPT(I, m), άρα το δ απέχει από το βέλτιστο το πολύ ɛ OPT(I, m) και έτσι έχουμε ότι δ (1 + ɛ) OPT(I, m). Επομένως, ο αλγόριθμος primal ɛ (I, m) είναι ένας (1 + ɛ)-προσεγγιστικός αλγόριθμος για το πρόβλημα P C max. Β. Δυική Προσέγγιση. Στην δυαδική αναζήτηση χρησιμοποιούμε τον αλγόριθμο dual ɛ (I, t) για να υπολογίσουμε προσεγγιστικές λύσεις του προβλήματος Bin Packing. Η καινοτομία του αλγορίθμου αυτού έγκειται στο ότι δεν δίνει πάντοτε εφικτές λύσεις για το πρόβλημα Bin Packing, ενώ χρησιμοποιεί τον βέλτιστο ή και μικρότερο αριθμό κάδων. Συγκεκριμένα για είσοδο (I, t), όπου t είναι η χωρητικότητα κάθε κάδου, ο αλγόριθμος βρίσκει μία ανάθεση των αντικειμένων σε το πολύ OPT(I, t) κάδους, καθένας από τους οποίους έχει συνολικό φορτίο το πολύ (1 + ɛ)t, ενδεχομένως μεγαλύτερο από την χωρητικότητά του που είναι t. Πέραν αυτού όμως είναι ένα πολύ καλό παράδειγμα αλγορίθμου που χρησιμοποιεί την τεχνική μετασχηματισμού των δεδομένων της εισόδου. Η εκτέλεση του αλγορίθμου dual ɛ (I, t) συνοψίζεται στο παρακάτω σχήμα (βλ. Αλγόριθμος 3). Με L i συμβολίζουμε το συνολικό μέγεθος των αντικειμένων-διεργασιών ή αλλιώς το φορτίο του