Προσδιοριστικές Μέθοδοι Επιχειρησιακής Έρευνας Πολυκριτήριος Γραμμικός Προγραμματισμός (Goal Programming Νίκος Τσάντας ιατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών Τμήμ. Μαθηματικών Μαθηματικά των Υπολογιστών και των Αποφάσεων Ακαδημαϊκό έτος 2006-07 Πολυκριτήριος γραμμικός προγραμματισμός Ένα μοντέλο πολυκριτήριου (γραμμικού προγραμματισμού επιδιώκει να λάβει υπόψη πολλές αντικειμενικές συναρτήσεις. Ενώ δηλαδή στο σύνηθες π.γ.π. έχουμε ένα σύνολο περιορισμών και μία αντικειμενική συνάρτηση, εδώ έχουμε ένα σύνολο περιορισμών και πολλές αντικειμενικές συναρτήσεις. Τόσο στο γραμμικό προγραμματισμό όσο και στον πολυκριτήριο προγραμματισμό, εάν το σύνολο των περιορισμών είναι μη συμβατό δεν υπάρχουν εφικτές λύσεις στο πρόβλημα. Εντούτοις, στον πολυκριτήριο προγραμματισμό, δεν περιμένουμε να υπάρχει κάποια εφικτή λύση η οποία να βελτιστοποιεί ταυτόχρονα όλους τους αντιφατικούς στόχους. Σκοπός του πολυκριτήριου προγραμματισμού είναι να βρει μια λύση η οποία ικανοποιεί τους περιορισμούς του συστήματος και να είναι όσο το δυνατό πιο κοντά στις βέλτιστες τιμές των διαφορετικών (πολλών αντικειμενικών συναρτήσεων. Έχουν προταθεί διάφορες μέθοδοι προσέγγισης του ζητήματος. Θα επικεντρωθούμε στον προγραμματισμό στόχων (goal programming. GOAL PROGRAMMING 1/11
Goal Programming Η μέθοδος αποσκοπεί στην μετατροπή του πολυκριτήριου γ.π. σε μονοκριτήριο. Προς το σκοπό αυτό, οαποφασίζωνορίζει, για καθένα εκ των k κριτηρίων μια τιμή στόχο που θέλει να πετύχει, έστω s 1, s 2,, s k. Το μοντέλο μετατρέπει όλες τις αντικειμενικές σε περιορισμούς εισάγοντας σεκάθε μια ένα ζεύγος μεταβλητών απόκλισης (d + 1,d - 1 από την τιμή στόχο: ημια(d + 1 ισούται με την ποσότητα κατά την οποία η λύση υπερτερεί του στόχου και η άλλη (d - 1 με την ποσότητα κατά την οποία η λύση υπολείπεται του στόχου: κάτω από τους περιορισμούς k + min Z = pf i i( di, di i= 1 k + j= 1 ij j i i i cx + d d = s i= 1,2,..., k n { :, } x F = x Ax = b x 0 + d, d 0 i = 1,2,..., k i i όπου s i, p i, d i -, d i +, F (ενώ d i- d i+ = 0 Παράδειγμα (απλό Πελάτης χρηματιστηριακού γραφείου ζητά να επενδύσει 80,000 σε δύο μετοχές: /SHARE ΜΕΤΟΧΗ PRICE (EST ANNUAL RETURN RISK INDEX U.S. Oil 25 3 0.50 Hub Properties 50 5 0.25?? επένδυση η οποία ελαχιστοποιεί το ρίσκο ΚΑΙ μεγιστοποιεί το κέρδος. Αποδεκτός δείκτης κινδύνου το πολύ 700 και ετήσιο κέρδος τουλάχιστον 9000. π.χ.: 2000 U.S. Oil και 600 Hub Properties Κόστος: 2000( 25 + 600( 50 = 80,000 Απόδοση: 2000( 3 + 600( 5 = 9,000 Δείκτης κινδύνου: 2000(0.50 + 600(0.25 = 1150 GOAL PROGRAMMING 2/11
Προτεραιότητα στόχων (υποθέστε ότι PRIMARY GOAL (Priority Level 1 Goal 1: Αποδεκτός δείκτης κινδύνου το πολύ 700. P 1 SECONDARY GOAL (Priority Level 2 Goal 2: Ετήσιο κέρδος τουλάχιστον 9000. P 2 PREEMPTIVE GOAL PROGRAMMING (ιεράρχηση προτεραιοτήτων Διαμόρφωση του μαθηματικού μοντέλου Μεταβλητές x 1 = αριθμός μετοχών U.S. Oil που θα αγοραστούν x 2 = αριθμός μετοχών Hub Properties που θα αγοραστούν Περιορισμοί Θα πρέπει 25x 1 + 50x 2 80,000 Goal equations (μία για κάθε στόχο που τέθηκε Συνολικός δείκτης κινδύνου: 0.50x 1 +0.25x 2 Τιμή στόχος: 700 Ε 1 U 1 0.50x 1 + 0.25x 2 = 700 + d 1+ -d 1 - deviation variables (μεταβλητές απόκλισης π.χ. (x 1 = 2000, x 2 = 0 τότε d 1 + = 300 και d 1 - = 0 (x 1 = 0, x 2 = 1000 τότε d 1 - = 450 και d 1 + = 0 Ομοίως 3x 1 +5x 2 = 9000 + d 2+ -d 2 - GOAL PROGRAMMING 3/11
Μέθοδος επίλυσης Η επίλυση ενός προβλήματος στόχων με προτίμηση προτεραιοτήτων συνεπάγεται την επίλυση μιας ακολουθίας π.γ.π. με διαφορετικές αντικειμενικές συναρτήσεις. Αρχικά εξετάζεται ο στόχος P 1, στη συνέχεια ο P 2, μετά ο P 3, κοκ. Σε κάθε βήμα της διαδικασίας, επιτρέπεται αναθεώρηση της υπάρχουσας λύσης αν-ν αυτόδιατηρείτο επίτευγμα του προηγούμενου βήματος. Ηαντικειμενική συνάρτηση του κάθε π.γ.π. αφορά την ελαχιστοποίηση μιας συνάρτησης των μεταβλητών απόκλισης. min (d 1+ κάτω από τους περιορισμούς 25x 1 + 50x 2 80,000 (προϋπολογισμός 0.50x 1 +0.25x 2 -d 1 + +d 1 - = 700 (στόχος P 1 x 1, x 2, d 1 +, d 1-0 2800 1400 GOAL PROGRAMMING 4/11
min (d 2- κάτω από τους περιορισμούς 25x 1 + 50x 2 80,000 (προϋπολογισμός 0.50x 1 +0.25x 2 -d + 1 +d - 1 = 700 (στόχος P 1 3x 1 + 5x 2 -d + 2 +d - 2 = 9000 (στόχος P 2 d + 1 = 0 (διατήρηση P 1 x 1, x 2, d + 1, d - 1,d + 2, d - 2 0 1800 d 2 = 0 Λύση Δεν φαίνεται να υπάρχει σημείο το οποίο επιτυγχάνει το 2ο στόχοκαιδιατηρείτον1ο στόχο. Καλύτερη δυνατή λύση η x 1 = 800, x 2 = 1200. min P1(d 1+ + P2(d 2- κάτω από τους περιορισμούς 25x 1 + 50x 2 80,000 (προϋπολογισμός 0.50x 1 +0.25x 2 -d 1 + +d 1 - = 700 (στόχος P 1 3x 1 + 5x 2 -d 2 + +d 2 - = 9000 (στόχος P 2 x 1, x 2, d 1 +, d 1 -,d 2 +, d 2-0 system constraints (hard constraints goal constraints (soft constraints όχι βάρη, απλά ετικέτες GOAL PROGRAMMING 5/11
Goal Programming and WinQSB Goal Programming Approach 1. Ιεραρχήστε τους στόχους. 2. Αποφασίστε το βάρος του κάθε στόχου: εάν σε κάποια προτεραιότητα υπάρχουν περισσότεροι από έναν στόχοι, τότε για κάθε στόχο i, καθορίστε το βάρος w i για τις μεταβλητές απόκλισης d i + ή/και d i - απότοστόχο. 3. Διατυπώστε το αρχικό γραμμικό πρόβλημα: minimize (w 1 d + 1 + w 2 d - 2 όταν system constraints goal constraints 4. Επιλύστε το τρέχον γραμμικό πρόβλημα. 5. Εάν υπάρχει χαμηλότερη προτεραιότητα συνεχίστε στο επόμενο βήμα. Αλλιώς, βρέθηκε η βέλτιστη λύση. 6. Διατυπώστε την (νέα αντικειμενική συνάρτηση που έχει να κάνει με την επόμενη προτεραιότητα. Προσθέστε ένα περιορισμό προκειμένου να εξασφαλίσετε ότι θα διατηρηθεί η επίτευξη του προηγούμενου (υψηλότερης προτεραιότητας στόχου: minimize (w 3 d + 3 + w 4 d - 4 όταν system constraints goal constraints w 1 d + 1 + w 2 d - 2 =r 7. Πήγαινε στο βήμα 4. GOAL PROGRAMMING 6/11
Παράδειγμα Εταιρεία ποδηλάτων σχεδιάζει την παραγωγή του διπλού Β2 και του μονού S10 για τον επόμενο μήνα. Τα δύο μοντέλα χρησιμοποιούν ίδιου τύπου λάστιχα και σέλες. Ο υπεύθυνος παραγωγής έχει στη διάθεσή του 2000 σέλες, 1000 γρανάζια (προορίζονται αποκλειστικά για το S10 και 2400 λάστιχα. Χρειάζονται 2 ώρες για να κατασκευαστεί ένα Β2 και τρεις ώρες ένα S10, ενώ αφήνουν κέρδος 40 και 100 αντίστοιχα.?? παραγωγή σε τρόπο ώστε Προτεραιότητα 1: εκτέλεση μιας παραγγελίας για 400 Β2 Προτεραιότητα 2: συνολική παραγωγή τουλάχιστον 1000 ποδηλάτων Προτεραιότητα 3 Στόχος Α: κέρδος τουλάχιστον 100,000 Στόχος Β: να μην χρησιμοποιηθούν περισσότερες από 1600 ανθρωποώρες (κάθε 1,000 λιγότερα από το στόχο των 100,000 θεωρείται 30 φορές πιο σημαντικό από τη χρήση μιας επιπλέον ανθρωποώρας. Προτεραιότητα 4 Στόχος Α: να περισσέψουν τουλάχιστον 200 λάστιχα Στόχος Β: να περισσέψουν τουλάχιστον 100 γρανάζια (κάθε λιγότερο γρανάζι θεωρείται 2 φορές πιο σημαντικό από κάθε λιγότερο λάστιχο. Διαμόρφωση του μαθηματικού μοντέλου Μεταβλητές x 1 = αριθμός ποδηλάτων τύπου Β2 x 2 = αριθμός ποδηλάτων τύπου S10 Περιορισμοί (system constraints Θα πρέπει 2x 1 + x 2 2,000 x 2 1,000 2x 1 +2x 2 2,400 x 1, x 2 0 GOAL PROGRAMMING 7/11
Goal equations (μία για κάθε στόχο που τέθηκε x 1 = 400 + E 1 -U 1 x 1 +x 2 = 1000 + E 2 -U 2 0.04x 1 + 0.10x 2 = 100 + E 3 -U 3 2x 1 +3x 2 = 1600 + E 4 -U 4 2x 1 +2x 2 = 2200 + E 5 -U 5 x 2 = 900 + E 6 -U 6 παραγγελία για 400 Β2 τουλάχιστον 1000 ποδήλατα κέρδος τουλάχιστον 100,000 όχι περισσότερες από 1600 ανθρωποώ περίσσευμα τουλάχιστον 200 λάστιχων περίσσευμα τουλάχιστον 100 γρανάζια Προτεραιότητα 1: λιγότερα από 400 Β2 (U 1 Προτεραιότητα 2: λιγότερα από 1000 ποδηλάτων (U 2 Προτεραιότητα 3 Στόχος Α: λιγότερο κέρδος 100,000 (U 3 Στόχος Β: χρήση περισσότερων των 1600 ανθρωποωρών (E 4 Προτεραιότητα 4 Στόχος Α: χρήση περισσότερων από 2200 λάστιχα (E 5 Στόχος Β: χρήση περισσότερων από 900 γρανάζια (E 6 min (U 1 έστω V 1 min (U 2 έστω V 2 min (30U 3 + E 4 έστω V 3 min (E 5 + 2E 6 έστω V 4 GOAL PROGRAMMING 8/11
2x 1 + x 2 2,000 x 2 1,000 2x 1 +2x 2 2,400 x 1, x 2 0 x 1 = 400 + E 1 -U 1 min (U 1 x 1 +x 2 = 1000 + E 2 -U 2 min (U 2 V 1 = 0 V 2 = 0 GOAL PROGRAMMING 9/11
0.04x 1 + 0.10x 2 = 100 + E 3 -U 3 2x 1 +3x 2 = 1600 + E 4 -U 4 min (30U 3 + E 4 U 3 = 100-0.04x 1-0.10x 2 (E 3 =0 E 4 = 2x 1 +3x 2-1600 ( U 4 = 0 min (1400+0.8x 1 V 3 = 1400 + 0.8(400 = 1720 2x 1 +2x 2 = 2200 + E 5 -U 5 x 2 = 900 + E 6 -U 6 min (E 5 + 2E 6 GOAL PROGRAMMING 10/11
Goal Programming and WinQSB GOAL PROGRAMMING 11/11