Excel 2020: Βρείτε βέλτιστες λύσεις με το Solver - Excel Συμβουλές

Πίνακας περιεχομένων

Το Excel δεν ήταν το πρώτο πρόγραμμα υπολογιστικών φύλλων. Το Lotus 1-2-3 δεν ήταν το πρώτο πρόγραμμα υπολογιστικών φύλλων. Το πρώτο πρόγραμμα υπολογιστικών φύλλων ήταν το VisiCalc το 1979. Αναπτύχθηκε από τους Dan Bricklin και Bob Frankston, το VisiCalc δημοσιεύθηκε από τον Dan Fylstra. Σήμερα, ο Dan τρέχει Frontline Systems. Η εταιρεία του έγραψε το Solver που χρησιμοποιείται στο Excel. Η Frontline Systems έχει επίσης αναπτύξει μια ολόκληρη σουίτα λογισμικού ανάλυσης που λειτουργεί με το Excel.

Εάν έχετε Excel, έχετε το Solver. Μπορεί να μην είναι ενεργοποιημένο, αλλά το έχετε. Για να ενεργοποιήσετε το Solver στο Excel, πατήστε Alt + T ακολουθούμενο από το I. Προσθέστε ένα σημάδι επιλογής δίπλα στο Solver Add-in.

Για να χρησιμοποιήσετε με επιτυχία το Solver, πρέπει να δημιουργήσετε ένα μοντέλο φύλλου εργασίας που έχει τρία στοιχεία:

  • Πρέπει να υπάρχει ένα μόνο κελί στόχου. Αυτό είναι ένα κελί που θέλετε είτε να ελαχιστοποιήσετε, να μεγιστοποιήσετε ή να ορίσετε μια συγκεκριμένη τιμή.
  • Μπορεί να υπάρχουν πολλά κελιά εισόδου. Αυτή είναι μια θεμελιώδης βελτίωση έναντι του Goal Seek, η οποία μπορεί να αντιμετωπίσει μόνο ένα κελί εισόδου.
  • Μπορεί να υπάρχουν περιορισμοί.

Ο στόχος σας είναι να δημιουργήσετε τις απαιτήσεις προγραμματισμού για ένα λούνα παρκ. Κάθε υπάλληλος θα εργάζεται πέντε συνεχείς ημέρες και στη συνέχεια θα έχει δύο μέρες. Υπάρχουν επτά διαφορετικοί πιθανοί τρόποι για να προγραμματίσετε κάποιον για πέντε συνεχόμενες ημέρες και δύο ημέρες εκτός. Αυτά εμφανίζονται ως κείμενο στο Α4: Α10 στο παρακάτω σχήμα. Τα μπλε κελιά στο B4: B10 είναι τα κελιά εισόδου. Εδώ καθορίζετε πόσα άτομα εργάζεστε σε κάθε πρόγραμμα.

Το κελί στόχου είναι συνολική μισθοδοσία / εβδομάδα, που εμφανίζεται στο B17. Αυτό είναι απλό μαθηματικό: Σύνολο ατόμων από B11 φορές 68 $ μισθό ανά άτομο ανά ημέρα. Θα ζητήσετε από την Solver να βρει έναν τρόπο ελαχιστοποίησης της εβδομαδιαίας μισθοδοσίας.

Το κόκκινο πλαίσιο εμφανίζει τιμές που δεν θα αλλάξουν. Αυτό είναι πόσα άτομα χρειάζεστε να εργάζεστε στο πάρκο κάθε μέρα της εβδομάδας. Χρειάζεστε τουλάχιστον 30 άτομα τις πολυάσχολες μέρες του Σαββατοκύριακου, αλλά λιγότερα από 12 τη Δευτέρα και την Τρίτη. Τα πορτοκαλί κελιά χρησιμοποιούν το SUMPRODUCT για να υπολογίσουν πόσα άτομα θα προγραμματίζονται κάθε μέρα, με βάση τις εισόδους στα μπλε κελιά.

Τα εικονίδια στη σειρά 15 υποδεικνύουν εάν χρειάζεστε περισσότερα άτομα ή λιγότερα άτομα ή εάν έχετε ακριβώς τον σωστό αριθμό ατόμων.

Πρώτον, προσπάθησα να λύσω αυτό το πρόβλημα χωρίς το Solver. Πήγα με 4 υπαλλήλους κάθε μέρα. Αυτό ήταν υπέροχο, αλλά δεν είχα αρκετά άτομα την Κυριακή. Άρχισα λοιπόν να αυξάνω τα προγράμματα για να λαμβάνω περισσότερους υπαλλήλους την Κυριακή Κατέληξα με κάτι που λειτουργεί: 38 εργαζόμενοι και 2.584 $ εβδομαδιαία μισθοδοσία.

Φυσικά, υπάρχει ένας ευκολότερος τρόπος επίλυσης αυτού του προβλήματος. Κάντε κλικ στο εικονίδιο επίλυσης στην καρτέλα Δεδομένα. Πείτε στο Solver ότι προσπαθείτε να ρυθμίσετε την μισθοδοσία στο B17 στο ελάχιστο. Τα κελιά εισαγωγής είναι B4: B10.

Οι περιορισμοί εμπίπτουν σε προφανείς και όχι τόσο προφανείς κατηγορίες.

Ο πρώτος προφανής περιορισμός είναι ότι D12: J12 πρέπει να είναι >= D14:J14.

Αλλά, αν προσπαθήσατε να εκτελέσετε το Solver τώρα, θα έχετε παράξενα αποτελέσματα με κλασματικούς αριθμούς ατόμων και πιθανώς αρνητικό αριθμό ατόμων που εργάζονται σε συγκεκριμένα προγράμματα.

Αν και είναι προφανές σε σας ότι δεν μπορείτε να προσλάβετε 0,39 άτομα, πρέπει να προσθέσετε περιορισμούς για να πείτε στο Solver ότι τα B4: B10 είναι >= 0και ότι το B4: B10 είναι ακέραιοι.

Επιλέξτε Simplex LP ως μέθοδο επίλυσης και κάντε κλικ στην επιλογή Επίλυση. Σε λίγα λεπτά, η Solver παρουσιάζει μια βέλτιστη λύση.

Ο Solver βρίσκει έναν τρόπο να καλύψει το προσωπικό του λούνα παρκ χρησιμοποιώντας 30 υπαλλήλους αντί για 38. Η εξοικονόμηση ανά εβδομάδα είναι 544 $ ή περισσότερα από 7000 $ κατά τη διάρκεια του καλοκαιριού.

Παρατηρήστε τα πέντε αστέρια παρακάτω Απαιτούμενοι υπάλληλοι στο παραπάνω σχήμα. Το πρόγραμμα που πρότεινε ο Solver ανταποκρίνεται στις ακριβείς ανάγκες σας για πέντε από τις επτά ημέρες. Το υποπροϊόν είναι ότι θα έχετε περισσότερους υπαλλήλους την Τετάρτη και την Πέμπτη από ό, τι πραγματικά χρειάζεστε.

Μπορώ να καταλάβω πώς η Solver βρήκε αυτήν τη λύση. Χρειάζεστε πολλά άτομα το Σάββατο, την Κυριακή και την Παρασκευή. Ένας τρόπος να προσελκύσετε άτομα εκείνη την ημέρα είναι να τους αφήσετε τη Δευτέρα και την Τρίτη. Αυτός είναι ο λόγος που ο Solver έδωσε 18 άτομα εκτός Δευτέρας και Τρίτης.

Αλλά επειδή το Solver βρήκε μια βέλτιστη λύση δεν σημαίνει ότι δεν υπάρχουν άλλες εξίσου βέλτιστες λύσεις.

Όταν απλά μαντέψα το προσωπικό, δεν είχα πραγματικά καλή στρατηγική.

Τώρα που ο Solver μου έδωσε μια από τις βέλτιστες λύσεις, μπορώ να φορέσω το λογικό μου καπέλο. Έχοντας 28 υπαλλήλους σε κολέγιο την Τετάρτη και την Πέμπτη, όταν χρειάζεστε μόνο 15 ή 18 υπαλλήλους, θα οδηγήσετε σε προβλήματα. Δεν θα είναι αρκετό να κάνουμε. Επιπλέον, με το σωστό πλήθος κεφαλών σε πέντε ημέρες, θα πρέπει να καλέσετε κάποιον για υπερωρίες εάν κάποιος άλλος καλέσει σε ασθένεια.

Πιστεύω στον Solver ότι πρέπει να έχω 30 άτομα για να το κάνω αυτό. Αλλά στοιχηματίζω ότι μπορώ να αναδιατάξω αυτούς τους ανθρώπους για να εξισορροπήσω το πρόγραμμα και να προσφέρω ένα μικρό buffer σε άλλες ημέρες.

Για παράδειγμα, η αποχώρηση από την Τετάρτη και την Πέμπτη σε κάποιον εξασφαλίζει επίσης ότι το άτομο εργάζεται Παρασκευή, Σάββατο και Κυριακή. Έτσι, μετακινώ χειροκίνητα μερικούς εργαζομένους από τη σειρά Δευτέρα, Τρίτη στη σειρά Τετάρτη, Πέμπτη. Συνεχίζω να συνδέω χειροκίνητα διαφορετικούς συνδυασμούς και να βρω τη λύση που φαίνεται παρακάτω, η οποία έχει το ίδιο κόστος μισθοδοσίας με το Solver αλλά καλύτερα άυλα. Η κατάσταση του υπερκείμενου προσωπικού υπάρχει τώρα σε τέσσερις ημέρες αντί για δύο. Αυτό σημαίνει ότι μπορείτε να χειριστείτε τις απουσίες από Δευτέρα έως Πέμπτη χωρίς να χρειάζεται να καλέσετε κάποιον από το Σαββατοκύριακο.

Είναι κακό που κατάφερα να βρω μια καλύτερη λύση από την Solver; Όχι. Το γεγονός είναι ότι δεν θα μπορούσα να φτάσω σε αυτήν τη λύση χωρίς τη χρήση του Solver. Μόλις ο Solver μου έδωσε ένα μοντέλο που ελαχιστοποίησε το κόστος, μπόρεσα να χρησιμοποιήσω λογική σχετικά με τα άυλα για να διατηρήσω την ίδια μισθοδοσία.

Εάν πρέπει να επιλύσετε προβλήματα που είναι πιο περίπλοκα από όσα μπορεί να χειριστεί ο Solver, ρίξτε μια ματιά στους premium λύσεις Excel που διατίθενται από τα Frontline Systems.

Χάρη στους Dan Fylstra και Frontline Systems για αυτό το παράδειγμα. Ο Walter Moore εικονογράφησε το ρολό ρόλερ XL.

ενδιαφέροντα άρθρα...