Introducere în Solver - Sfaturi Excel

Solver a fost un add-in gratuit încă din zilele Lotus 1-2-3

Excel nu a fost primul program de calcul tabelar. Lotus 1-2-3 nu a fost primul program de foaie de calcul. Primul program de calcul tabelar a fost VisiCalc în 1979. Dezvoltat de Dan Bricklin și Bob Frankston, VisiCalc a fost publicat de Dan Fylstra. Astăzi, Dan conduce Frontline Systems. Compania sa a scris Solverul folosit în Excel. De asemenea, a dezvoltat o întreagă suită de software de analiză care funcționează cu Excel.

Dacă aveți Excel, aveți Solver. Este posibil să nu fie activat, dar îl aveți. Pentru a activa Solver în Excel, apăsați alt = "" + T urmat de I. Adăugați o bifă lângă Solver.

Activat Solver în Excel

Pentru a utiliza cu succes Solver, trebuie să construiți un model de foaie de lucru care are trei elemente:

  • Trebuie să existe o singură celulă Goal. Aceasta este o celulă pe care fie doriți să o minimizați, să o maximizați sau să o setați la o anumită valoare.
  • Pot exista multe celule de intrare. Aceasta este o îmbunătățire fundamentală față de Goal Seek, care se poate ocupa doar de o singură celulă de intrare.
  • Pot exista constrângeri.

Scopul dvs. este să construiți cerințele de programare pentru un parc de distracții. Fiecare angajat va lucra cinci zile consecutive și apoi va avea două zile libere. Există șapte modalități diferite de a programa pe cineva timp de cinci zile consecutive și două zile libere. Acestea sunt afișate ca text în A4: A10. Celulele albastre din B4: B10 sunt celulele de intrare. Aici specificați câte persoane aveți care lucrează în fiecare program.

Celula obiectiv este numărul total de salarii pe săptămână, afișat în B17. Aceasta este o matematică simplă: Totalul persoanelor de la B11 ori salariul de 68 USD pe persoană pe zi. Veți cere Solverului să găsească o modalitate de a minimiza salariul săptămânal.

Caseta roșie afișează valori care nu se vor schimba. Acesta este numărul de persoane de care aveți nevoie pentru a lucra în parc în fiecare zi a săptămânii. Aveți nevoie de cel puțin 30 de persoane în zilele pline de weekend - dar până la 12 luni și marți. Celulele portocalii folosesc SUMPRODUCT pentru a calcula câte persoane vor fi programate în fiecare zi pe baza intrărilor din celulele albastre.

Pictogramele din rândul 15 indică dacă aveți nevoie de mai mulți oameni sau de mai puțini oameni sau dacă aveți exact numărul potrivit de persoane.

În primul rând, am încercat să rezolv acest lucru fără Solver. Mergeam cu 4 angajați în fiecare zi. A fost minunat, dar duminica nu am avut destui oameni. Așadar, am început să măresc programele care să-mi ofere mai mulți angajați duminicale. Am ajuns cu ceva care funcționează: 38 de angajați și 2.584 de dolari salarizare săptămânală.

Set de date eșantion

Faceți clic pe pictograma Solver din fila Date. Spuneți Solverului că încercați să setați salariul în B17 la minimum. Celulele de intrare sunt B4: B10.

Constrângerile se încadrează în categorii evidente și nu atât de evidente.

Prima constrângere evidentă este că D12: J12 trebuie să fie> = D14: J14.

Dar, dacă ați încerca să rulați Solver acum, veți obține rezultate bizare în care aveți un număr fracționat de oameni și, eventual, un număr negativ de oameni care lucrează anumite programe.

Deși vi se pare evident că nu puteți angaja 0,39 persoane, trebuie să adăugați constrângeri pentru a spune Solverului că B4: B10 sunt> = 0 și că B4: B10 sunt numere întregi.

Parametri Solver

Alegeți Simplex LP ca metodă de rezolvare și alegeți Rezolvare. În câteva momente, Solver prezintă o soluție optimă.

Solver a găsit o modalitate de a acoperi personalul parcului de distracții folosind 30 de angajați în loc de 38. Economiile pe săptămână sunt de 544 USD - sau mai mult de 7.000 USD pe parcursul verii.

Folosind Solver

Observați cele cinci stele de sub angajații necesari. Programul propus de Solver satisface nevoile dvs. exacte pentru cinci din cele șapte zile. Produsul secundar este că veți avea mai mulți angajați miercuri și joi decât aveți cu adevărat nevoie.

Înțeleg cum a venit Solver cu această soluție. Ai nevoie de mulți oameni sâmbătă, duminică și vineri. O modalitate de a aduce oamenii acolo în acea zi este să le dai liber luni și marți. De aceea, Solver a scos 18 persoane cu luni și marți.

Dar doar pentru că Solver a venit cu o soluție optimă nu înseamnă că nu există alte soluții la fel de optime.

Când doar ghiceam personalul, nu prea aveam o strategie bună.

Acum, când Solver mi-a oferit una dintre soluțiile optime, îmi pot pune pălăria logică. A avea 28 de angajați în vârstă de facultate miercuri și joi, când aveți nevoie doar de 15 sau 18 angajați, va duce la probleme. Nu vor fi destui de făcut. În plus, cu efectivul exact în cinci zile, va trebui să chemați pe cineva pentru ore suplimentare dacă altcineva sună bolnav.

Am încredere în Solver că trebuie să am 30 de oameni pentru a face acest lucru. Dar pariez că pot rearanja acei oameni pentru a uniformiza programul și a oferi un tampon mic în alte zile.

De exemplu, acordarea cuiva liber miercuri și joi asigură, de asemenea, că persoana se află la locul de muncă vineri, sâmbătă și duminică. Așadar, am mutat manual câțiva lucrători de pe rândul de luni, marți pe rândul de miercuri joi. Am continuat să conectez manual diferite combinații și am venit cu această soluție care are aceeași cheltuială de salarizare ca Solver, dar mai necorporale. Situația excesivă a personalului există acum în patru zile în loc de două. Asta înseamnă că puteți gestiona apelurile de luni până joi fără a fi nevoie să apelați pe cineva din weekend.

Rezultatul

Este rău că am reușit să vin cu o soluție mai bună decât Solver? Nu. Faptul este că nu aș fi putut ajunge la această soluție fără să folosesc Solver. Odată ce Solver mi-a oferit un model care minimiza costurile, am reușit să folosesc logica cu privire la imobilizările corporale pentru a păstra același salariu.

Dacă trebuie să rezolvați probleme mai complexe decât poate rezolva Solver, consultați soluțiile Excel premium disponibile de la Frontline Systems: http://mrx.cl/solver77.

Mulțumim lui Dan Fylstra și Frontline Systems pentru acest exemplu. Walter Moore a ilustrat roller coaster-ul XL.

Urmăriți videoclipul

  • Solver a fost un add-in gratuit încă din zilele Lotus 1-2-3
  • Solver este un produs al fondatorului Visicorp, Dan Fylstra
  • Solverul din Excel este o versiune mai mică a solverilor pentru sarcini grele
  • Aflați mai multe despre soluții profesionale: http://mrx.cl/solver77
  • Pentru a instala Solver, tastați alt = "" + T apoi I. Verificați Solver.
  • Solverul va fi găsit în partea dreaptă a filei Date
  • Doriți să aveți o celulă obiectivă pe care încercați să o minimizați sau să o maximizați.
  • Puteți specifica mai multe celule de intrare.
  • Puteți specifica constrângeri, inclusiv unele care nu vă așteptați:
  • Fără jumătate de oameni: utilizați INT pentru întreg
  • Solverul va găsi o soluție optimă, dar ar putea exista și alte legături
  • Odată ce obțineți soluția Solver, este posibil să o puteți modifica.

Transcriere video

Aflați Excel din podcast, episodul 2036 - Introducere în Solver!

Bine, podcastez această carte întreagă, faceți clic pe „i” din colțul din dreapta sus pentru a ajunge la lista de redare, unde puteți reda toate videoclipurile!

Bine ați revenit pe netcast, eu sunt Bill Jelen. Am vorbit recent despre unele analize What-If, cum ar fi Goal Seek, știi, cu o celulă de intrare pe care o schimbi, dar dacă ai ceva mai complex? Există un instrument grozav numit Solver, Solver există de mult timp, garantez că dacă aveți Excel și rulați pe Windows, aveți Solver, probabil că nu este pornit. Deci, pentru ao activa, trebuie să mergeți la alt = "" T și apoi eu, deci T pentru Tom, I pentru înghețată și bifați această casetă pentru Solver, faceți clic pe OK și, după câteva secunde, veți avea o filă Solver aici, în partea dreaptă. Bine, și vom stabili aici un model pe care rezolvătorul ar putea să îl rezolve, avem un parc de distracții, încercăm să ieșim câți angajați să programăm. Toată lumea lucrează cinci zile consecutive, așa că acolo 'E într-adevăr șapte programe posibile unde sunteți plecat, duminică luni, luni marți, marți miercuri. Trebuie să ne dăm seama câți angajați să pună pe fiecare dintre aceste programe.

Și deci doar o mică matematică aici, făcând câteva SUMPRODUCTE, numărul de angajați de duminică pentru a afla câte persoane erau duminică, luni, marți, miercuri. Și ceea ce am învățat prin operarea acestui parc de distracții este că avem nevoie de mulți oameni sâmbătă și duminică. 30 de persoane sâmbătă și duminică, în timpul săptămânii de luni, marți, cam lent, 12 angajați vor putea să o facă. În regulă, doar venind aici și doar înșurubând, știi, încercând să-ți dai seama de numerele potrivite, poți continua să conectezi lucrurile, dar cu șapte alegeri diferite, ar dura pentru totdeauna, bine.

Acum, în Solver, ceea ce avem este, avem o serie de celule de intrare și, în versiunea gratuită a Solverului, cred că puteți avea, este o sută? Nu știu, există un anumit număr și, dacă trebuie să mergeți dincolo de asta, există un Solver Premium pe care îl puteți obține de la Frontline Systems. În regulă, deci avem câteva celule de intrare, avem câteva celule de constrângere și apoi trebuie să le aduci pe toate la un număr final. Deci, în cazul meu, încerc să reduc la minimum salariul pe săptămână, astfel încât numărul verde să fie ceea ce vreau să încerc și să optimizez, bine, așa că iată ce vom face!

Solver, iată celula obiectivă, este celula verde și vreau să setez asta la o valoare minimă, dau seama de personalul care îmi obține valoarea minimă, schimbând aceste celule albastre. Și apoi iată constrângerile, bine, deci prima constrângere este că totalul programului trebuie să fie> = secțiunea roșie și putem face toate acestea ca o singură constrângere. Urmăriți cât de grozav este, toate aceste celule trebuie să fie> = aceste celule corespunzătoare aici, minunat, faceți clic pe Adăugare, bine, dar există și alte lucruri la care nu v-ați gândi. De exemplu, Solver în acest moment ar putea decide că cel mai bine este să ai 17 persoane în acest program, 43 de persoane în program și -7 persoane în acest program. Bine, deci trebuie să-i spunem Solverului că aceste celule de intrare trebuie să fie un număr întreg, faceți clic pe Adăugare. Și, de asemenea, nu putem avea pe cineva să nu apară,și ne vor da salariul înapoi, nu? Deci, vom spune că aceste celule trebuie să fie> = 0, faceți clic pe Adăugare, ne întoarcem acum, avem cele trei constrângeri acolo.

Există trei modalități diferite de a rezolva, iar acesta urmează matematica liniară, astfel încât să putem merge doar la Simplex LP. Dacă acesta nu funcționează, încercați cu siguranță celelalte două, am avut cazuri în care Simplex spune că nu poate găsi o soluție și unul dintre celelalte două funcționează. Frontline Systems are tutoriale minunate despre Solver, încerc doar să vă primesc astăzi primul dvs. aici, nu declar că sunt expert în Solver. Odată ce am avut un Solver care nu funcționa și am trimis o notă în Frontline Systems și, uau, am primit înapoi această scrisoare minunată de 5 pagini, chiar de la Dan Fylstra însuși, președintele Solver! Și a început: „Dragă Bill, mă bucur să aflu de la tine!” Și apoi am continuat pentru 4,9 pagini, totul a fost aproape complet deasupra capului meu, bine. Dar știi, știu destul despre Solver pentru a trece prin asta, bine,așa că vom face clic aici pe Solve, a găsit o soluție, „Toate constrângerile și condițiile de optimitate sunt îndeplinite.” Voi păstra asta, pot crea câteva rapoarte, nu trebuie să fac asta chiar acum. Oh, de fapt pot salva un scenariu, i-am luat joc de scenarii ieri, poate Solver ar putea să creeze un nou scenariu pentru mine, așa că vom face clic pe OK.

Bine, și destul de sigur ne-a economisit bani, am scris 2584 înainte și acum ne-a dat până în 2040. Deci, avem nevoie de mulți oameni liberi luni și marți, bine, unii oameni, 2 persoane libere miercuri joi și apoi vineri sâmbătă. Ei bine, este minunat, nu aș fi venit niciodată la întâmplare cu acest set de răspunsuri, bine, dar asta înseamnă că este cel mai bun răspuns? Ei bine, înseamnă că este salarizarea minimă, dar probabil pot veni cu un set diferit de răspunsuri care ar avea în continuare această salarizare minimă. Există și alte modalități de a face acest lucru, care ar putea fi un program puțin mai bun. De exemplu, chiar acum avem 28 de persoane miercuri și joi, când avem nevoie doar de 15 și 18, adică mulți oameni. Gândiți-vă cine lucrează la parcurile de distracții, aceștia sunt copii de facultate acasă pentru pauză,asta va fi o problemă dacă avem atât de mulți oameni în plus. Și luni marți, suntem morți chiar, exact unde vrem să fim. Deci, asta înseamnă că, dacă cineva îl voi anula pe bolnav, acum va trebui, să știți, să sunăm pe cineva și să-i plătim timp și jumătate, pentru că au lucrat deja alte cinci zile.

Bine, deci doar cu niște matematică simplă aici, dacă aș lua 8 de luni marți și le-aș face 10 și le-aș lua pe cele 8 și le-aș adăuga miercuri joi, bine. Acum am o soluție Solver cu același răspuns exact, 2040, au primit numărul corect de oameni. Am echilibrat doar programul, iar acum avem 8 extra, 8 extra, 3 extra și 2 extra, și exact de ce avem nevoie în weekend, care sunt, știți, scenariul complet al personalului. Pentru mine, acest lucru este puțin mai bun decât ceea ce a venit Solver, înseamnă că rezolvatorul a eșuat? Nu, absolut nu, pentru că nu aș fi ajuns niciodată atât de aproape fără Solver. Odată ce Solver mi-a dat răspunsul, da, am reușit să-l modific puțin și să ajung acolo, bine. Sfatul nr. 37, „Cele mai bune 40 de sfaturi Excel din toate timpurile”, ajungând aproape de sfârșitul primelor 40, o mică introducere excelentă la Solver.Ghidul tuturor podcast-urilor din această serie este aici, „MrExcel XL - 40 de cele mai bune sfaturi Excel din toate timpurile”, puteți avea cartea electronică la doar 10 USD, tipăriți cartea pentru 25 USD, faceți clic pe „i” din partea de sus -colțul din dreapta!

Bine, recapitulare: Solver, dacă sunteți în versiunile Windows ale Excel, Lotus 1-2-3, este acolo, este creat de fondatorul Visicorp Dan Fylstra. Este o versiune gratuită a rezolvătorilor de sarcini grele, iată un link pentru a vizualiza rezolvătorii de sarcini grele, care va apărea în comentariile de pe YouTube. Este probabil că nu sunt instalate, alt = "" TI, bifați Solver, căutați în partea dreaptă a filei Date pentru a găsi Solver. În regulă, trebuie să aveți o celulă obiectivă pe care încercați să o minimizați sau să o maximizați sau să o setați la o valoare, o gamă de celule de intrare. Specificați constrângeri, inclusiv ceva ce nu mă așteptați, așa cum ar fi trebuit să spun „Fără jumătate de oameni” și „Fără oameni negativi”. Solver va găsi soluția optimă, dar ar putea exista și altele care sunt legate și s-ar putea să o puteți modifica pentru a obține o soluție mai bună.

Bine, iată-l, vreau să-ți mulțumesc că ai trecut pe aici, ne vedem data viitoare pentru un alt netcast de la!

Descărcare fișier

Descărcați exemplarul de fișier aici: Podcast2036.xlsx

Articole interesante...