Download as pdf or txt
Download as pdf or txt
You are on page 1of 25

Άλλα προβλήματα

δικτύων
Πρόβλημα ανάθεσης

Γραμμικός Προγραμματισμός - ΕΣΥΑ [sl9] 1


Το υπόδειγμα του
προβλήματος ανάθεσης
z Το πρόβλημα ανάθεσης αναφέρεται στην «ένα-προς-ένα» αντιστοίχιση των στοιχείων
ενός συνόλου οντοτήτων A={a1,a2,…,an} στα στοιχεία ενός άλλου συνόλου οντοτήτων
με τον ίδιο πληθικό αριθμό B={b1,b2,…,bn}, κατά τρόπο που να βελτιστοποιείται ένα
κριτήριο απόδοσης.
z Το κριτήριο απόδοσης διαμορφώνεται με βάση το κόστος ή το όφελος κάθε
επιμέρους αντιστοίχισης, η οποία δίδεται ως παράμετρος του προβλήματος.
z Χαρακτηριστικά παραδείγματα τέτοιων προβλημάτων είναι
z η ανάθεση εργασιών σε μηχανές ή εξυπηρετητές με το ελάχιστο κόστος
z η ανάθεση προσώπων σε θέσεις εργασίας με το μέγιστο όφελος
z Στη γενική του μορφή το πρόβλημα ανάθεσης, διατυπωμένο ως πρόβλημα
ελαχιστοποίησης, συνοψίζεται στον ακόλουθο πίνακα:
b1 b2 … bn
a1 c11 c12 … c1n
a2 c21 c22 … c2n
… … … … …
an cn1 cn2 … cnn
Γραμμικός Προγραμματισμός - ΕΣΥΑ [sl9] 2
Το 0-1 γ.π. του προβλήματος
ανάθεσης
n n
min f = ∑∑c
i =1 j −1
ij x ij

υ .π .
n

∑x
i =1
ij = 1 , j = 1,..., n
n

∑x
j −1
ij = 1 , i = 1,..., n

x ij ∈ {0 ,1}

Γραμμικός Προγραμματισμός - ΕΣΥΑ [sl9] 3


Ιδιαίτερα χαρακτηριστικά του
προβλήματος ανάθεσης
z Η μήτρα Α των συντελεστών των περιορισμών στο γ.π. του
προβλήματος ανάθεσης
z αποτελείται από μονάδες μόνο ως στοιχεία
z εμφανίζει συμμετρικότητα
z είναι αραιός
z έχει δηλαδή τα χαρακτηριστικά των προβλημάτων δικτύου.
z Αντικαθιστώντας τον περιορισμό xij∈{0,1} με τον περιορισμό μη
αρνητικότητας xij≥0, το πρόβλημα μπορεί να επιλυθεί ως κλασικό γ.π.
με τη μέθοδο simplex. Λόγω των παραπάνω χαρακτηριστικών του
πίνακα Α, η βέλτιστη λύση θα είναι ακέραια και μάλιστα οι μεταβλητές
θα λαμβάνουν τιμές από το σύνολο {0,1}.
z Παρά το γεγονός ότι το πρόβλημα ανάθεσης μπορεί να επιλυθεί ως
πρόβλημα γ.π. με τη μέθοδο simplex, παρουσιάζουμε στη συνέχεια με
ένα παράδειγμα τον αλγόριθμο του Kuhn (γνωστό και ως Ουγγρικό
αλγόριθμο), οποίος είναι περισσότερο αποδοτικός σε προβλήματα
μεγάλων διαστάσεων

Γραμμικός Προγραμματισμός - ΕΣΥΑ [sl9] 4


Επίλυση του προβλήματος ανάθεσης με
τον αλγόριθμο του Kuhn (Ουγγρική
μέθοδος)

Ζητείται η ανάθεση ελαχίστου b1 b2 b3 bn


κόστους των εργασιών
a1, a2, a3, a4 στους a1 1 8 4 1
εξυπηρετητές a2 5 7 6 5
b1, b2, b3, b4 σύμφωνα με a3 3 5 4 2
τον διπλανό πίνακα κόστους:
an 3 1 6 3

Γραμμικός Προγραμματισμός - ΕΣΥΑ [sl9] 5


Επανάληψη #1
Βήμα 1

Εύρεση των ελαχίστων τιμών των στηλών του πίνακα κόστους και αφαίρεση τους από τα
στοιχεία κάθε στήλης.

1 8 4 1
5 7 6 5
3 5 4 2
3 1 6 3
min 1 1 4 1

Προκύπτει ο πίνακας

0 7 0 0
4 6 2 4
2 4 0 1
2 0 2 2

Γραμμικός Προγραμματισμός - ΕΣΥΑ [sl9] 6


Επανάληψη #1
Βήμα 2

Εύρεση του μέγιστου πλήθους ανεξάρτητων μηδενικών του πίνακα του προηγούμενου
βήματος: Διαχωρισμός των μηδενικών του πίνακα σε «πλαισιούμενα» (ανεξάρτητα) και
διαγραφόμενα.

Δύο ή περισσότερα μηδενικά στοιχεία του πίνακα χαρακτηρίζονται ως ανεξάρτητα όταν


ποτέ δύο από αυτά δεν βρίσκονται στην ίδια γραμμή ή στήλη του πίνακα. Αν ο μέγιστος
αριθμός ανεξάρτητων μηδενικών είναι n (n=4 στο παράδειγμα), τότε η βέλτιστη λύση
αντιστοιχεί στις θέσεις αυτών και ο αλγόριθμος τερματίζεται. Αν ο μέγιστος αριθμός
ανεξάρτητων μηδενικών είναι μικρότερος του n, ο αλγόριθμος συνεχίζεται στο επόμενο
βήμα. Εδώ ο μέγιστος αριθμός ανεξάρτητων μηδενικών είναι 3 < n =4, οπότε ο
αλγόριθμος συνεχίζεται στο βήμα 3.

0 7 0 0
4 6 2 4
2 4 0 1
2 0 2 2

Γραμμικός Προγραμματισμός - ΕΣΥΑ [sl9] 7


Επανάληψη #1
Βήμα 3

Γίνονται οι ακόλουθες σημειώσεις:


1. Σημειώνονται οι γραμμές στις οποίες δεν υπάρχουν πλαισιούμενα μηδενικά
2. Σημειώνονται οι στήλες που έχουν διαγραφόμενο μηδενικό σε μια τουλάχιστον
από τις σημειωθείσες γραμμές
3. Σημειώνονται οι γραμμές που έχουν πλαισιούμενο σε σημειωθείσα στήλη

Τα υποβήματα 2, 3 έχουν επαναληπτικό χαρακτήρα, οι δε σημειώσεις γίνονται όσο


υπάρχουν αντίστοιχα μηδενικά.

Στο παράδειγμα, γίνεται σημείωση μόνο της δεύτερης γραμμής του πίνακα.

0 7 0 0
4 6 2 4 ∗
2 4 0 1
2 0 2 2

Γραμμικός Προγραμματισμός - ΕΣΥΑ [sl9] 8


Επανάληψη #1
Βήμα 4

Κάλυψη των μη σημειωμένων γραμμών και των σημειωμένων στηλών. Εύρεση της
ελάχιστης τιμής των μη καλυμμένων στοιχείων του πίνακα.

0 7 0 0
4 6 2 4 ∗
2 4 0 1
2 0 2 2

Min = 2

Βήμα 5

Αφαίρεση της ελάχιστης τιμής από τα μη καλυμμένα στοιχεία, πρόσθεσή της στα δύο
φορές καλυμμένα στοιχεία (τομές καλυμμένων γραμμών-στηλών) και επάνοδος στο
βήμα 2.

Γραμμικός Προγραμματισμός - ΕΣΥΑ [sl9] 9


Επανάληψη #2
Βήμα 2

0 7 0 0
2 4 0 2
2 4 0 1
2 0 2 2

0 7 0 0
2 4 0 2
2 4 0 1
2 0 2 2

Μέγιστος αριθμός ανεξάρτητων μηδενικών είναι 3 < n =4, οπότε ο αλγόριθμος


συνεχίζεται στο βήμα 3.

Γραμμικός Προγραμματισμός - ΕΣΥΑ [sl9] 10


Επανάληψη #2
Βήμα 3

0 7 0 0
2 4 0 2 ∗
2 4 0 1 ∗
2 0 2 2

Βήμα 4


0 7 0 0
2 4 0 2 ∗
2 4 0 1 ∗
2 0 2 2

Min =1

Γραμμικός Προγραμματισμός - ΕΣΥΑ [sl9] 11


Επανάληψη #2
Βήμα 5

0 7 1 0
1 3 0 1
1 3 0 0
2 0 3 2

0 7 1 0
1 3 0 1
1 3 0 0
2 0 3 2

Επειδή ο αριθμός των ανεξάρτητων μηδενικών είναι 4, ο αλγόριθμος τερματίζεται με


άριστη λύση την x11=1, x23=1, x34=1, x42=1 και κόστος f = 1+1+6+2=10 (οι μεταβλητές
που δεν εμφανίζονται έχουν τιμή 0).

Γραμμικός Προγραμματισμός - ΕΣΥΑ [sl9] 12


Το γράφημα της λύσης
1
a1 b1

a2 b2
6

a3 2 b3

a4 1 b4

Γραμμικός Προγραμματισμός - ΕΣΥΑ [sl9] 13


Ειδικές περιπτώσεις
z Όταν το πρόβλημα ανάθεσης είναι διατυπωμένο ως πρόβλημα
μεγιστοποίησης (π.χ. μεγιστοποίηση το οφέλους από την ανάθεση
ατόμων σε θέσεις εργασίας), επιλύεται με τον αλγόριθμο του Kuhn
αφού πρώτα μετατραπεί σε πρόβλημα ελαχιστοποίησης. Τούτο
επιτυγχάνεται σε ένα προκαταρκτικό στάδιο κατά το οποίο αφαιρούνται
από το μέγιστο στοιχείο του πίνακα οφέλους όλα τα στοιχεία του
πίνακα. Στη συνέχεια ο αλγόριθμος εφαρμόζεται κανονικά στον νέο
πίνακα.
z Όταν ο αριθμός εργασιών είναι διαφορετικός από τον αριθμό
εξυπηρετητών, όταν δηλαδή ο πίνακας του προβλήματος ανάθεσης δεν
είναι τετραγωνικός, τούτος συμπληρώνεται με τον απαραίτητο αριθμό
γραμμών ή στηλών και ο αλγόριθμος εφαρμόζεται κανονικά. Στην
περίπτωση αυτή τα κόστη στις πρόσθετες γραμμές ή στήλες είναι
μηδενικά.
z Όταν μια ανάθεση δεν είναι δυνατό να πραγματοποιηθεί λόγω
ενδεχομένων περιορισμών του προβλήματος, τίθεται για την ανάθεση
αυτή μια πολύ μεγάλη τιμή κόστους προκειμένου να εξαιρεθεί από την
βέλτιστη λύση.
Γραμμικός Προγραμματισμός - ΕΣΥΑ [sl9] 14
Άλλα προβλήματα
δικτύων
Το πρόβλημα της συντομότερης
διαδρομής

Γραμμικός Προγραμματισμός - ΕΣΥΑ [sl9] 15


Το πρόβλημα της συντομότερης
διαδρομής I

z Ζητείται μέσα σε ένα δίκτυο ένας


δρόμος ελαχίστου κόστους 3
4
(ελαχίστου μήκους ή χρόνου) από 2
ένα κόμβο αφετηρίας σε ένα
τερματικό κόμβο. 2
z Οι κόμβοι του δικτύου παριστούν, 1 3

εκτός από την αφετηρία και το


τέρμα, τα ενδιάμεσα σημεία από 2 2
4
τα οποία γίνεται η μετακίνηση. Τα 1
5 7
βέλη παριστούν τις δυνατές 3
απευθείας συνδέσεις με την
2

κατεύθυνση της κίνησης. Οι δε 3 3


αριθμοί στα βέλη δηλώνουν το 3
5
κόστος μετακίνησης μεταξύ δύο
κόμβων, π.χ. την απόσταση ή το 2
χρόνο μετακίνησης. 6

Γραμμικός Προγραμματισμός - ΕΣΥΑ [sl9] 16


Το πρόβλημα της συντομότερης
διαδρομής II

Μοντελοποίηση
3
z Για κάθε βέλος του 2
4

δικτύου εισάγεται μια


μεταβλητή απόφασης xij 2
όπου i είναι ο κόμβος 1 3

αναχώρησης και j ο
κόμβος προορισμού. Οι 2 2
4
μεταβλητές xij λαμβάνουν 1
5 7
τιμές 1 ή 0, οποίες 2 3
δηλώνουν αν οι
αντίστοιχες συνδέσεις (i,j) 3
3 3

περιλαμβάνονται ή όχι 5
στη χάραξη της βέλτιστης 2
διαδρομής 6

Γραμμικός Προγραμματισμός - ΕΣΥΑ [sl9] 17


Παράδειγμα
3
4

z Θεωρείστε το διπλανό 2

δίκτυο, στο οποίο


ζητείται ένας δρόμος 1
2
3
ελάχιστης απόστασης
μεταξύ των κόμβων 1 2 2
και 7. 1
4

z Δίνονται οι αποστάσεις 5 7

μεταξύ των κόμβων 2 3

που συνδέονται 3 3
απευθείας. 3
5

2
6

Γραμμικός Προγραμματισμός - ΕΣΥΑ [sl9] 18


Το γ.π. του προβλήματος
συντομότερης διαδρομής
min f = x12 + 2 x13 + 2 x23 + 3x24 + 2 x25 + 2 x32 + 3x35 + 2 x36
+ 3x45 + 3x56 + 4 x57 + 3x65 + 5x67
υ.π .
3
4
2

(1) x12 + x13 = 1


2
(2) x12 + x32 − x23 − x24 − x25 = 0 1 3

(3) x13 + x23 − x32 − x35 − x36 = 0 2 2


4
1
(4) x24 − x45 = 0 3
5 7

2
(5) x25 + x35 + x45 + x65 − x56 − x57 = 0
3 3
(6) x36 + x56 − x65 − x67 = 0
3
5

(7) x57 + x67 = 1 2


6
xij ≥ 0 ∀ i, j

Γραμμικός Προγραμματισμός - ΕΣΥΑ [sl9] 19


Παρατηρήσεις
z Το πρόβλημα συντομότερης διαδρομής είναι
ισοδύναμο με ένα πρόβλημα δικτύου μεταφοράς
ακριβώς μιας (1) μονάδας προϊόντος, από ένα
σημείο παραγωγής σε ένα σημείο πώλησης
διαμέσου ενδιάμεσων σταθμών.
z Οι παράμετροι του δικτύου εκφράζουν το κόστος
μεταφοράς.
z Η βέλτιστη λύση του γ.π. είναι ακέραια (δηλαδή η
μονάδα του προϊόντος δεν διασπάται κατά τη
μεταφορά της στο δίκτυο), οπότε οι μεταβλητές
λαμβάνουν τιμές 0 ή 1, εκφράζοντας, σε όρους
προβλήματος διαδρομής, ποιες συνδέσεις
συνθέτουν την άριστη διαδρομή.
Γραμμικός Προγραμματισμός - ΕΣΥΑ [sl9] 20
Άλλα προβλήματα
δικτύων
Το πρόβλημα της μέγιστης ροής

Γραμμικός Προγραμματισμός - ΕΣΥΑ [sl9] 21


Το πρόβλημα της μέγιστης ροής Ι

z Ζητείται η μέγιστη ροή μου


μπορεί να διέλθει διαμέσου
ενός δικτύου, από ένα κόμβο 2

εισόδου προς ένα κόμβο 1


3

εξόδου. 5
1
z Οι κόμβοι του δικτύου
παριστούν, εκτός από την 1
7
4
4 9
7
είσοδο και την έξοδο, τα
5

ενδιάμεσα σημεία του δικτύου


2
4

ροής. 5
1 1
3
z Τα βέλη παριστούν τις δυνατές 6
απευθείας συνδέσεις μεταξύ 4
των κόμβων (κανάλια) με την 6
κατεύθυνση της ροής.
z Οι δε αριθμοί στα βέλη
δηλώνουν τη χωρητικότητα bij
κάθε καναλιού (i,j)

Γραμμικός Προγραμματισμός - ΕΣΥΑ [sl9] 22


Το πρόβλημα της μέγιστης ροής ΙΙ

Μοντελοποίηση 2

z Για κάθε κανάλι 1


3

(i,j) του δικτύου 5


1

εισάγουμε μια 7 4 9
μεταβλητή 1 4 5 7

απόφασης xij η 4
2

οποία δηλώνει τη 5
1 1
ροή που διέρχεται
3
6

από αυτό 4
6

Γραμμικός Προγραμματισμός - ΕΣΥΑ [sl9] 23


Παράδειγμα
z Θεωρείστε το 2
διπλανό δίκτυο, στο
οποίο ζητείται η 1
3

μέγιστη ροή διαμέσου 5

των κόμβων του με


1

είσοδο τον κόμβο 1 7 4 9

και έξοδο τον κόμβο 1 4 5 7

7. 4
2

z Δίδονται οι 5
χωρητικότητες των 3
1 1

καναλιών που 6

συνδέουν τους 4

κόμβους του δικτύου 6

και η κατεύθυνση
ροής.

Γραμμικός Προγραμματισμός - ΕΣΥΑ [sl9] 24


Το γ.π. του προβλήματος μέγιστης ροής
max f = X 2

υ.π . 1
3

5
(1) X − x12 − x13 − x14 = 0 1

(2) x12 + x 42 − x 24 − x 25 = 0 1
7
4
4 9
7
5

(3) x13 + x 43 − x36 = 0 4


2

(4) x14 + x 24 − x 42 − x 43 − x 46 = 0 3
5
1 1

(5) x 25 + x 45 + x65 − x56 − x57 = 0 6

4
(6) x36 + x 46 + x56 − x65 − x67 = 0 6

(7) x57 + x67 − X = 0


Το πλήθος των περιορισμών του γ.π. είναι ίσο με
xij ≤ bij ∀ i, j το άθροισμα του αριθμού των κόμβων του δικτύου
και του αριθμού των συνδέσμων. Σε κάθε κόμβο
xij ≥ 0 ∀ i, j αντιστοιχεί ένας περιορισμός. Η πρώτη κατηγορία
περιορισμών (ένας για κάθε κόμβο) εξασφαλίζουν
Συμβολίζουμε με Χ τη συνολική ροή την ισότητα εισροής-εκροής σε κάθε κόμβο. Η
διαμέσου του δικτύου και xij τη ροή δεύτερη κατηγορία είναι περιορισμοί
από τον κόμβο i στον κόμβο j, χωρητικότητας.

Γραμμικός Προγραμματισμός - ΕΣΥΑ [sl9] 25

You might also like