„Excel 2020“: suraskite optimalius sprendimus naudodami „Solver“ - „Excel“ patarimai

Turinys

„Excel“ nebuvo pirmoji skaičiuoklės programa. „Lotus 1-2-3“ nebuvo pirmoji skaičiuoklės programa. Pirmoji skaičiuoklės programa buvo „VisiCalc“ 1979 m. Sukurta Dano Bricklino ir Bobo Frankstono, „VisiCalc“ išleido Danas Fylstra. Šiandien Danas vadovauja „Frontline Systems“. Jo įmonė parašė „Excel“ naudojamą „Solver“. „Frontline Systems“ taip pat sukūrė visą analizės programinės įrangos rinkinį, kuris veikia su „Excel“.

Jei turite „Excel“, turite „Solver“. Gali būti, kad jis neįgalintas, bet jūs jį turite. Norėdami įgalinti „Solver“ programoje „Excel“, paspauskite „Alt“ + T, tada - I. Pridėkite varnelę šalia „Solver“ priedo.

Norėdami sėkmingai naudoti „Solver“, turite sukurti darbalapio modelį, kuriame yra trys elementai:

  • Tikslo langelis turi būti vienas. Tai langelis, kurį norite sumažinti, padidinti arba nustatyti tam tikrą vertę.
  • Gali būti daug įvesties langelių. Tai yra vienas esminių patobulinimų, palyginti su tikslo ieškojimu, kuris gali veikti tik su viena įvesties ląstele.
  • Gali būti apribojimų.

Jūsų tikslas yra parengti atrakcionų parko tvarkaraščio reikalavimus. Kiekvienas darbuotojas dirbs penkias dienas iš eilės, o po to turės dvi laisvas dienas. Yra septyni skirtingi būdai, kaip paskirti žmogų penkioms dienoms iš eilės ir dviem poilsio dienoms. Jie pateikiami kaip tekstas A4: A10 paveikslėlyje žemiau. Mėlynos ląstelės B4: B10 yra įvesties langeliai. Čia nurodote, kiek žmonių turite dirbti pagal kiekvieną tvarkaraštį.

Tikslo langelis yra visas darbo užmokesčio per savaitę skaičius, parodytas B17. Tai yra tiesi matematika: Iš viso B11 žmonių skaičius 68 kartus viršija algą vienam asmeniui per dieną. Paprašysite „Solver“ rasti būdą, kaip sumažinti savaitinį darbo užmokestį.

Raudoname laukelyje rodomos vertės, kurios nesikeis. Būtent tiek žmonių jums reikia dirbti parke kiekvieną savaitės dieną. Judriomis savaitgalio dienomis jums reikia mažiausiai 30 žmonių, bet pirmadienį ir antradienį - tik 12 žmonių. Oranžinės spalvos langeliai naudoja SUMPRODUCT, kad apskaičiuotų, kiek žmonių bus suplanuota kiekvieną dieną, remiantis įvestimis mėlynose ląstelėse.

15 eilutės piktogramos nurodo, ar jums reikia daugiau žmonių, ar mažiau žmonių, ar turite tiksliai reikiamą žmonių skaičių.

Pirma, aš bandžiau išspręsti šią problemą be „Solver“. Kiekvieną dieną eidavau su 4 darbuotojais. Tai buvo puiku, bet sekmadienį neturėjau pakankamai žmonių. Taigi, pradėjau didinti tvarkaraščius, norėdamas gauti daugiau sekmadienio darbuotojų. Pabaigiau tai, kas veikia: 38 darbuotojai ir 2 584 USD savaitinio darbo užmokesčio.

Žinoma, yra lengvesnis būdas išspręsti šią problemą. Skirtuke Duomenys spustelėkite „Solver“ piktogramą. Pasakykite „Solver“, kad bandote nustatyti B17 darbo užmokesčio minimumą. Įvesties langeliai yra B4: B10.

Apribojimai skirstomi į akivaizdžias ir nelabai akivaizdžias kategorijas.

Pirmasis akivaizdus suvaržymas yra tas, kad D12: J12 turi būti >= D14:J14.

Bet jei bandytumėte paleisti „Solver“ dabar, gautumėte keistų rezultatų su daliniu žmonių skaičiumi ir galbūt neigiamu žmonių skaičiumi, dirbančiu pagal tam tikrus tvarkaraščius.

Nors jums atrodo akivaizdu, kad negalite samdyti 0,39 žmogaus, turite pridėti apribojimų, kad Sprendėjui pasakytumėte, jog B4: B10 yra >= 0ir kad B4: B10 yra sveiki skaičiai.

Pasirinkite „Simplex LP“ kaip sprendimo būdą ir spustelėkite Spręsti. Per kelias akimirkas „Solver“ pateikia vieną optimalų sprendimą.

„Solver“ randa būdą padengti atrakcionų parko personalą naudodamas 30 darbuotojų, o ne 38. Sutaupoma per savaitę yra 544 USD arba daugiau nei 7 000 USD per vasarą.

Atkreipkite dėmesį į penkias žvaigždutes žemiau. Darbuotojai reikalingi aukščiau esančiame paveikslėlyje. Sprendėjo pasiūlytas tvarkaraštis atitinka tikslius jūsų poreikius penkioms iš septynių dienų. Šalutinis produktas yra tas, kad trečiadienį ir ketvirtadienį turėsite daugiau darbuotojų, nei jums iš tikrųjų reikia.

Aš suprantu, kaip „Solver“ sugalvojo šį sprendimą. Šeštadienį, sekmadienį ir penktadienį jums reikia daugybės žmonių. Vienas iš būdų nuvykti žmones tą dieną yra suteikti jiems pirmadienį ir antradienį. Štai kodėl „Solver“ pirmadienį ir antradienį išleido 18 žmonių.

Bet tai, kad „Solver“ sugalvojo optimalų sprendimą, dar nereiškia, kad nėra kitų vienodai optimalių sprendimų.

Kai tik spėjau apie personalą, neturėjau geros strategijos.

Dabar, kai „Solver“ man pateikė vieną iš optimaliausių sprendimų, galiu užsidėti loginę kepurę. Turėdami 28 koleginio amžiaus darbuotojus trečiadienį ir ketvirtadienį, kai jums reikia tik 15 ar 18 darbuotojų, kils problemų. Nepakaks padaryti. Be to, tiksliai apskaičiuojant penkių dienų galvos skaičių, teks kviesti viršvalandžius, jei kas nors kitas paskambins susirgus.

Aš pasitikiu „Solver“, kad man reikia 30 žmonių, kad galėčiau dirbti šį darbą. Bet lažinuosi, kad galiu pertvarkyti tuos žmones, kad išlyginčiau tvarkaraštį ir kitomis dienomis pateikčiau nedidelį buferį.

Pavyzdžiui, suteikiant kam nors laisvą trečiadienį ir ketvirtadienį taip pat užtikrinama, kad asmuo darbe būtų penktadienį, šeštadienį ir sekmadienį. Taigi rankiniu būdu perkeliu kai kuriuos darbuotojus iš eilės „Pirmadienis, Antradienis“ į „Trečiadienis, Ketvirtadienis“. Aš nuolat rankiniu būdu jungiu įvairius derinius ir pateikiu žemiau pateiktą sprendimą, kurio išlaidos darbo užmokesčiui yra tokios pačios kaip „Solver“, bet geriau nematerialūs daiktai. Perteklinių darbuotojų padėtis dabar egzistuoja keturias dienas, o ne dvi. Tai reiškia, kad jūs galite susitvarkyti su nedalyvavimais nuo pirmadienio iki ketvirtadienio, neprivalėdami kviesti kas nors iš jų savaitgalio.

Ar blogai, kad man pavyko pasiūlyti geresnį sprendimą nei „Solver“? Ne. Faktas yra tas, kad aš negalėčiau pasiekti šio sprendimo nenaudodamas „Solver“. Kai „Solver“ man davė modelį, kuris sumažino išlaidas, galėjau naudoti logiką apie nematerialiuosius daiktus, kad išlaikyčiau tą patį darbo užmokestį.

Jei jums reikia išspręsti problemas, kurios yra sudėtingesnės, nei gali išspręsti „Solver“, patikrinkite aukščiausios kokybės „Excel“ sprendimus, kuriuos galite rasti iš „Frontline Systems“.

Ačiū Danui Fylstra ir „Frontline Systems“ už šį pavyzdį. Walteris Moore'as iliustravo kalnelius XL.

Įdomios straipsniai...