42
Γραμμικός Προγραμματισμός Μια εταιρεία παράγει κέικ δύο κατηγοριών, απλά και πολυτελείας: Ένα απλό κέικ αποδίδει κέρδος 1 ευρώ. Ένα κέικ πολυτελείας αποδίδει κέρδος 6 ευρώ. Η καθημερινή ζήτηση του απλού κέικ είναι ≤200. Η καθημερινή ζήτηση του κέικ πολυτελείας είναι ≤300. Το εργοστάσιο παράγει ≤400 κέικ καθημερινά. Πόσα απλά κέικ και πόσα πολυτελείας μεγιστοποιούν το κέρδος;

Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Μια εταιρεία παράγει κέικ δύο κατηγοριών, απλά και πολυτελείας:

• Ένα απλό κέικ αποδίδει κέρδος 1 ευρώ.

• Ένα κέικ πολυτελείας αποδίδει κέρδος 6 ευρώ.

• Η καθημερινή ζήτηση του απλού κέικ είναι ≤200.

• Η καθημερινή ζήτηση του κέικ πολυτελείας είναι ≤300.

• Το εργοστάσιο παράγει ≤400 κέικ καθημερινά.

Πόσα απλά κέικ και πόσα πολυτελείας μεγιστοποιούν το κέρδος;

Page 2: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Μια εταιρεία παράγει κέικ δύο κατηγοριών, απλά και πολυτελείας:

• Ένα απλό κέικ αποδίδει κέρδος 1 ευρώ.

• Ένα κέικ πολυτελείας αποδίδει κέρδος 6 ευρώ.

• Η καθημερινή ζήτηση του απλού κέικ είναι ≤200.

• Η καθημερινή ζήτηση του κέικ πολυτελείας είναι ≤300.

• Το εργοστάσιο παράγει ≤400 κέικ καθημερινά.

Πόσα απλά κέικ και πόσα πολυτελείας μεγιστοποιούν το κέρδος;

Page 3: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Μια εταιρεία παράγει κέικ δύο κατηγοριών, απλά και πολυτελείας:

• Ένα απλό κέικ αποδίδει κέρδος 1 ευρώ.

• Ένα κέικ πολυτελείας αποδίδει κέρδος 6 ευρώ.

• Η καθημερινή ζήτηση του απλού κέικ είναι ≤200.

• Η καθημερινή ζήτηση του κέικ πολυτελείας είναι ≤300.

• Το εργοστάσιο παράγει ≤400 κέικ καθημερινά.

Πόσα απλά κέικ και πόσα πολυτελείας μεγιστοποιούν το κέρδος;

Page 4: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Μια εταιρεία παράγει κέικ δύο κατηγοριών, απλά και πολυτελείας:

• Ένα απλό κέικ αποδίδει κέρδος 1 ευρώ.

• Ένα κέικ πολυτελείας αποδίδει κέρδος 6 ευρώ.

• Η καθημερινή ζήτηση του απλού κέικ είναι ≤200.

• Η καθημερινή ζήτηση του κέικ πολυτελείας είναι ≤300.

• Το εργοστάσιο παράγει ≤400 κέικ καθημερινά.

Πόσα απλά κέικ και πόσα πολυτελείας μεγιστοποιούν το κέρδος;

Page 5: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Μια εταιρεία παράγει κέικ δύο κατηγοριών, απλά και πολυτελείας:

• Ένα απλό κέικ αποδίδει κέρδος 1 ευρώ.

• Ένα κέικ πολυτελείας αποδίδει κέρδος 6 ευρώ.

• Η καθημερινή ζήτηση του απλού κέικ είναι ≤200.

• Η καθημερινή ζήτηση του κέικ πολυτελείας είναι ≤300.

• Το εργοστάσιο παράγει ≤400 κέικ καθημερινά.

Πόσα απλά κέικ και πόσα πολυτελείας μεγιστοποιούν το κέρδος;

Page 6: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Μια εταιρεία παράγει κέικ δύο κατηγοριών, απλά και πολυτελείας:

• Ένα απλό κέικ αποδίδει κέρδος 1 ευρώ.

• Ένα κέικ πολυτελείας αποδίδει κέρδος 6 ευρώ.

• Η καθημερινή ζήτηση του απλού κέικ είναι ≤200.

• Η καθημερινή ζήτηση του κέικ πολυτελείας είναι ≤300.

• Το εργοστάσιο παράγει ≤400 κέικ καθημερινά.

Πόσα απλά κέικ και πόσα πολυτελείας μεγιστοποιούν το κέρδος;

Page 7: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

σημείο μέγιστου κέρδους

Μια εταιρεία παράγει κέικ δύο κατηγοριών, απλά και πολυτελείας:

• Ένα απλό κέικ αποδίδει κέρδος 1 ευρώ.

• Ένα κέικ πολυτελείας αποδίδει κέρδος 6 ευρώ.

• Η καθημερινή ζήτηση του απλού κέικ είναι ≤200.

• Η καθημερινή ζήτηση του κέικ πολυτελείας είναι ≤300.

• Το εργοστάσιο παράγει ≤400 κέικ καθημερινά.

Πόσα απλά κέικ και πόσα πολυτελείας μεγιστοποιούν το κέρδος;

Page 8: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Τυπική μορφή

αποτιμητική συνάρτηση

περιορισμοί

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

Page 9: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Τυπική μορφή

αποτιμητική συνάρτηση

περιορισμοί

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

Page 10: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

εφικτό

γραμμικό πρόγραμμα :

μπορούν να ικανοποιηθούν

όλοι οι περιορισμοί

Page 11: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

εφικτή

λύση

ανέφικτη

λύση

εφικτό

γραμμικό πρόγραμμα :

μπορούν να ικανοποιηθούν

όλοι οι περιορισμοί

Page 12: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

μη εφικτό

γραμμικό πρόγραμμα

Page 13: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

εφικτό και φραγμένο

γραμμικό πρόγραμμα

Page 14: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

εφικτό αλλά μη φραγμένο

γραμμικό πρόγραμμα

Page 15: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Μετατροπή σε τυπική μορφή

Page 16: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Μετατροπή σε τυπική μορφή

Page 17: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Μετατροπή σε τυπική μορφή

Page 18: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Μετατροπή σε αποκλιτική μορφή

Page 19: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Μετατροπή σε αποκλιτική μορφή

Page 20: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Μετατροπή σε αποκλιτική μορφή

Page 21: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Μετατροπή σε αποκλιτική μορφή

βασικές

μεταβλητές

τιμή

αποτιμητικής

συνάρτησης

Page 22: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Μετατροπή σε αποκλιτική μορφή

δείκτες βασικών μεταβλητών

δείκτες μη βασικών μεταβλητών

Page 23: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Μετατροπή σε αποκλιτική μορφή

Page 24: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Μετατροπή σε αποκλιτική μορφή

Page 25: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Πολυτοπικός Αλγόριθμος - Παράδειγμα

Page 26: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Πολυτοπικός Αλγόριθμος - Παράδειγμα

αρχική λύση

Page 27: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Πολυτοπικός Αλγόριθμος - Παράδειγμα

αρχική λύση

Page 28: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Πολυτοπικός Αλγόριθμος - Παράδειγμα

Page 29: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Πολυτοπικός Αλγόριθμος - Παράδειγμα

Page 30: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Πολυτοπικός Αλγόριθμος - Παράδειγμα

Page 31: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Πολυτοπικός Αλγόριθμος - Παράδειγμα

Page 32: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Πολυτοπικός Αλγόριθμος - Παράδειγμα

Page 33: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Πολυτοπικός Αλγόριθμος - Παράδειγμα

βέλτιστη λύση

Page 34: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

Ο πολυτοπικός αλγόριθμος έχει εκθετικό χρόνο εκτέλεσης στη χειρότερη

περίπτωση. Χρησιμοποιείται όμως σε πολλές εφαρμογές καθώς η

απόδοση του είναι πολύ καλή στην πράξη (η χειρότερη περίπτωση

εμφανίζεται πολύ σπάνια).

Υπάρχουν αλγόριθμοι πολυωνυμικού χρόνου:

• Ελλειψοειδής αλγόριθμος (όχι καλός στην πράξη)

• Αλγόριθμοι εσωτερικού σημείου (αρκετά καλοί στην πράξη)

Επομένως Γραμμικός Προγραμματισμός

Page 35: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Δυϊκότητα Γραμμικού Προγραμματισμού

Πρωτεύον Πρόγραμμα (Π) Δευτερεύον Πρόγραμμα (Δ)

Page 36: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Δυϊκότητα Γραμμικού Προγραμματισμού

Πρωτεύον Πρόγραμμα (Π) Δευτερεύον Πρόγραμμα (Δ)

Π.χ.

Page 37: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Δυϊκότητα Γραμμικού Προγραμματισμού

Πρωτεύον Πρόγραμμα (Π) Δευτερεύον Πρόγραμμα (Δ)

Έστω μια οποιαδήποτε εφικτή λύση του (Π) και μια οποιαδήποτε εφικτή

λύση του (Δ). Τότε

Ασθενής Δυϊκότητα

Page 38: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Δυϊκότητα Γραμμικού Προγραμματισμού

Πρωτεύον Πρόγραμμα (Π) Δευτερεύον Πρόγραμμα (Δ)

Έστω μια οποιαδήποτε εφικτή λύση του (Π) και μια οποιαδήποτε εφικτή

λύση του (Δ). Τότε

Ασθενής Δυϊκότητα

Απόδειξη

Page 39: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Δυϊκότητα Γραμμικού Προγραμματισμού

Πρωτεύον Πρόγραμμα (Π) Δευτερεύον Πρόγραμμα (Δ)

Έστω μια βέλτιστη λύση του (Π) και μια βέλτιστη λύση του (Δ). Τότε

Ισχυρή Δυϊκότητα

Page 40: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Ακέραιος Προγραμματισμός

αποτιμητική συνάρτηση

περιορισμοί

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

ακέραιες τιμές

Το πρόβλημα του Ακέραιου Προγραμματισμού είναι -πλήρες

Page 41: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Ακέραιος Προγραμματισμός

Σταθμισμένο κομβικό κάλυμμα

Γράφημα

Ένα υποσύνολο κόμβων είναι κομβικό κάλυμμα αν για κάθε ακμή

έχουμε ή (ή και τα δύο)

Πρόβλημα βελτιστοποίησης :

Θέλουμε κομβικό κάλυμμα με ελάχιστο βάρος

Βάρη κόμβων :

Βάρος καλύμματος :

2

1

2

4

1

2 1

Page 42: Γραμμικός Προγραμματισμός - University of Ioanninaloukas/courses/Algorithms_and_Data... · 2012. 5. 31. · Γραμμικός Προγραμματισμός

Ακέραιος Προγραμματισμός

Σταθμισμένο κομβικό κάλυμμα

Γράφημα

Ένα υποσύνολο κόμβων είναι κομβικό κάλυμμα αν για κάθε ακμή

έχουμε ή (ή και τα δύο)

Πρόβλημα βελτιστοποίησης :

Θέλουμε κομβικό κάλυμμα με ελάχιστο βάρος

Βάρη κόμβων :

Βάρος καλύμματος :

2

1

2

4

1

2 1 Ακέραιο Πρόγραμμα

μεταβλητή για κάθε