Inleiding tot Oplosser - Excel-tips

Inhoudsopgave

Solver is een gratis add-in sinds de dagen van Lotus 1-2-3

Excel was niet het eerste spreadsheetprogramma. Lotus 1-2-3 was niet het eerste spreadsheetprogramma. Het eerste spreadsheetprogramma was VisiCalc in 1979. VisiCalc werd ontwikkeld door Dan Bricklin en Bob Frankston en werd uitgegeven door Dan Fylstra. Tegenwoordig runt Dan Frontline Systems. Zijn bedrijf schreef de Oplosser die in Excel wordt gebruikt. Het heeft ook een hele reeks analysesoftware ontwikkeld die werkt met Excel.

Als je Excel hebt, heb je Oplosser. Het is misschien niet ingeschakeld, maar je hebt het. Om Oplosser in Excel in te schakelen, drukt u op alt = "" + T gevolgd door I. Zet een vinkje naast Oplosser.

Oplosser ingeschakeld in Excel

Om Solver met succes te gebruiken, moet u een werkbladmodel bouwen dat drie elementen heeft:

  • Er moet één doelcel zijn. Dit is een cel die u wilt minimaliseren, maximaliseren of op een bepaalde waarde wilt instellen.
  • Er kunnen veel invoercellen zijn. Dit is een fundamentele verbetering ten opzichte van Doel zoeken, dat slechts met één invoercel kan werken.
  • Er kunnen beperkingen zijn.

Uw doel is om de planningsvereisten voor een pretpark op te bouwen. Elke werknemer werkt vijf dagen achter elkaar en heeft daarna twee vrije dagen. Er zijn zeven verschillende manieren om iemand voor vijf opeenvolgende dagen en twee vrije dagen in te plannen. Deze zijn als tekst weergegeven in A4: A10. De blauwe cellen in B4: B10 zijn de invoercellen. Hier specificeert u hoeveel mensen u aan elk schema werkt.

De doelcel is de totale loonlijst per week, weergegeven in B17. Dit is pure wiskunde: Totaal aantal mensen vanaf B11 maal $ 68 salaris per persoon per dag. U zult Solver vragen om een ​​manier te vinden om de wekelijkse loonlijst te minimaliseren.

Het rode vak toont waarden die niet veranderen. Dit is hoeveel mensen je elke dag van de week in het park moet werken. Op drukke weekenddagen heb je minimaal 30 mensen nodig, maar op maandag en dinsdag slechts 12. De oranje cellen gebruiken SUMPRODUCT om te berekenen hoeveel mensen elke dag zullen worden ingeroosterd op basis van de invoer in de blauwe cellen.

De icoontjes in rij 15 geven aan of je meer mensen nodig hebt, of minder mensen, of dat je precies het juiste aantal mensen hebt.

Ten eerste heb ik geprobeerd dit op te lossen zonder Oplosser. Ik ging elke dag met 4 medewerkers. Dat was geweldig, maar ik had zondag niet genoeg mensen. Dus begon ik roosters te verhogen waardoor ik meer zondagse werknemers zou krijgen. Ik eindigde met iets dat werkt: 38 werknemers en $ 2.584 aan wekelijkse loonlijst.

Voorbeeldgegevensset

Klik op het pictogram Oplosser op het tabblad Gegevens. Vertel Solver dat u probeert de salarisadministratie in B17 zo laag mogelijk te houden. De invoercellen zijn B4: B10.

Beperkingen vallen in voor de hand liggende en niet zo voor de hand liggende categorieën.

De eerste duidelijke beperking is dat D12: J12> = D14: J14 moet zijn.

Maar als u Solver nu probeert uit te voeren, krijgt u bizarre resultaten waarbij u een fractioneel aantal mensen heeft en mogelijk een negatief aantal mensen dat aan bepaalde schema's werkt.

Hoewel het u duidelijk lijkt dat u geen 0,39 mensen kunt inhuren, moet u beperkingen toevoegen om Solver te vertellen dat B4: B10> = 0 zijn en dat B4: B10 gehele getallen zijn.

Oplosserparameters

Kies Simplex LP als de oplossingsmethode en kies Solve. Binnen enkele ogenblikken presenteert Solver een optimale oplossing.

Solver vond een manier om het personeel van het pretpark te dekken met 30 werknemers in plaats van 38. De besparing per week is $ 544 - of meer dan $ 7.000 in de loop van de zomer.

Oplosser gebruiken

Let op de vijf sterren onder Nodige werknemers. Het schema dat Oplosser heeft voorgesteld, voldoet precies aan uw behoeften gedurende vijf van de zeven dagen. Het bijproduct is dat je op woensdag en donderdag meer werknemers hebt dan je echt nodig hebt.

Ik kan begrijpen hoe Solver met deze oplossing is gekomen. Je hebt veel mensen nodig op zaterdag, zondag en vrijdag. Een manier om mensen op die dag daar te krijgen, is door ze maandag en dinsdag vrij te geven. Daarom heeft Solver 18 mensen met maandag en dinsdag vrij gegeven.

Maar alleen omdat Solver met een optimale oplossing kwam, wil nog niet zeggen dat er geen andere even optimale oplossingen zijn.

Toen ik aan het gissen was naar de personeelsbezetting, had ik niet echt een goede strategie.

Nu Solver me een van de optimale oplossingen heeft gegeven, kan ik mijn logica-hoed opzetten. Het hebben van 28 hogeschoolmedewerkers op woensdag en donderdag, terwijl je maar 15 of 18 medewerkers nodig hebt, zal tot problemen leiden. Er zal niet genoeg te doen zijn. Bovendien, met precies het juiste personeelsbestand op vijf dagen, moet u iemand voor overuren inschakelen als iemand anders zich ziek meldt.

Ik vertrouw Solver dat ik 30 mensen nodig heb om dit te laten werken. Maar ik wed dat ik die mensen kan herschikken om het schema te egaliseren en op andere dagen een kleine buffer te bieden.

Iemand woensdag en donderdag vrij geven zorgt er bijvoorbeeld ook voor dat die persoon vrijdag, zaterdag en zondag aan het werk is. Dus heb ik een aantal werknemers handmatig verplaatst van de rij maandag, dinsdag naar de rij woensdag donderdag. Ik bleef handmatig verschillende combinaties aansluiten en kwam met deze oplossing met dezelfde loonkosten als Solver, maar betere immateriële activa. De overbezettingssituatie bestaat nu op vier dagen in plaats van twee. Dat betekent dat je van maandag tot en met donderdag afroepen kunt afhandelen zonder iemand uit het weekend te hoeven bellen.

Het resultaat

Is het erg dat ik een betere oplossing heb kunnen bedenken dan Solver? Nee. Het is een feit dat ik niet tot deze oplossing zou zijn gekomen zonder Solver te gebruiken. Zodra Solver me een model gaf dat de kosten minimaliseerde, kon ik logica over immateriële activa gebruiken om dezelfde loonlijst te behouden.

Als u problemen moet oplossen die complexer zijn dan Solver aankan, bekijk dan de premium Excel-oplossers die beschikbaar zijn bij Frontline Systems: http://mrx.cl/solver77.

Met dank aan Dan Fylstra en Frontline Systems voor dit voorbeeld. Walter Moore illustreerde de XL-achtbaan.

Bekijk video

  • Solver is een gratis add-in sinds de dagen van Lotus 1-2-3
  • Solver is een product van Visicorp-oprichter Dan Fylstra
  • Oplosser in uw Excel is een kleinere versie van krachtige oplossers
  • Lees meer over professionele oplossers: http://mrx.cl/solver77
  • Om Oplosser te installeren, typ alt = "" + T en vervolgens I. Controleer Oplosser.
  • Oplosser bevindt zich aan de rechterkant van het tabblad Gegevens
  • U wilt een objectieve cel hebben die u probeert te minimaliseren of maximaliseren.
  • U kunt meerdere invoercellen specificeren.
  • U kunt beperkingen specificeren, waaronder enkele die u niet zou verwachten:
  • Geen halve mensen: gebruik INT voor Integer
  • Oplosser zal een optimale oplossing vinden, maar er kunnen andere banden zijn
  • Zodra u de Oplosser-oplossing heeft, kunt u deze mogelijk aanpassen.

Videotranscriptie

Leer Excel van podcast, aflevering 2036 - Intro to Solver!

Oké, ik podcast dit hele boek, klik op de "i" in de rechterbovenhoek om naar de afspeellijst te gaan, waar je alle video's kunt afspelen!

Welkom terug bij netcast, ik ben Bill Jelen. We hebben het onlangs gehad over een What-If-analyse, zoals Goal Seek, weet je, met één invoercel die je aan het veranderen bent, maar wat als je iets complexers hebt? Er is een geweldige tool genaamd Solver, Solver bestaat al een lange tijd, ik garandeer je dat als je Excel hebt en je op Windows draait, je Solver hebt, het is waarschijnlijk gewoon niet ingeschakeld. Dus om het aan te zetten, moet je naar alt = "" T en dan I, dus T voor Tom, I voor ijs, en dit vakje aanvinken voor Oplosser, klik op OK, en na een paar seconden heb je een Oplosser-tabblad hier aan de rechterkant. Oké, en we gaan hier een model opzetten dat de oplosser misschien kan oplossen, we hebben een pretpark, we proberen uit te zoeken hoeveel werknemers we moeten plannen. Iedereen werkt vijf dagen aaneengesloten, dus daar 's echt zeven mogelijke schema's waar je uit bent, zondag maandag, maandag dinsdag, dinsdag woensdag. We moeten uitzoeken hoeveel werknemers we op elk van die schema's moeten zetten.

En dus gewoon een beetje rekenen hier, wat SOMPRODUCTEN doen, aantal werknemers keer zondag om erachter te komen hoeveel mensen er waren op zondag, maandag, dinsdag, woensdag. En wat we hebben geleerd door het exploiteren van dit pretpark, is dat we op zaterdag en zondag veel mensen nodig hebben. 30 mensen op zaterdag en zondag, doordeweeks maandag, dinsdag, een beetje traag, 12 personeelsleden zullen het kunnen doen. Oké, gewoon door hier langs te komen en gewoon wat te rotzooien, weet je, proberen de juiste cijfers te vinden, je kunt gewoon dingen blijven aansluiten, maar met zeven verschillende keuzes zou het een eeuwigheid duren, oké.

Wat we nu in Solver hebben, is dat we een reeks invoercellen hebben, en in de gratis versie van Solver denk ik dat je dat kunt hebben, is het honderd? Ik weet het niet, er is een nummer, en als je verder moet gaan, is er een Premium Solver die je kunt krijgen van Frontline Systems. Oké, dus we hebben een aantal invoercellen, we hebben een aantal beperkingscellen, en dan moet je het allemaal terugbrengen tot een definitief getal. Dus in mijn geval probeer ik de loonlijst per week te minimaliseren, dus dat groene nummer is wat ik wil proberen en optimaliseren, oké, dus dit is wat we gaan doen!

Oplosser, hier is de doelcel, het is de groene cel, en ik wil dat op een minimumwaarde instellen, de personeelsbezetting uitzoeken die me de minimumwaarde oplevert, door deze blauwe cellen te veranderen. En dan zijn hier de beperkingen, oké, dus de eerste beperking is dat het roostertotaal> = het rode gedeelte moet zijn, en we kunnen dat allemaal doen als een enkele beperking. Kijk hoe cool dit is, al deze cellen moeten> = deze corresponderende cellen hier zijn, geweldig, klik op Toevoegen, oké, maar dan zijn er nog andere dingen die je niet zou bedenken. Oplosser kan op dit punt bijvoorbeeld besluiten dat het het beste is om 17 mensen in dit schema te hebben, 43 mensen in het schema en -7 mensen in dit schema. Oké, dus we moeten Solver vertellen dat deze invoercellen een geheel getal moeten zijn, klik op Toevoegen. En we kunnen ook niet hebben dat iemand niet komt opdagenen ze geven ons toch hun salaris terug? Dus we gaan zeggen dat deze cellen> = 0 moeten zijn, klik op Toevoegen, we gaan nu terug, we hebben daar onze drie beperkingen.

Er zijn drie verschillende manieren om op te lossen, en deze volgt lineaire wiskunde, dus we kunnen gewoon Simplex LP gebruiken. Als deze niet werkt, probeer dan zeker de andere twee, ik heb gevallen gehad waarin de Simplex zegt dat hij geen oplossing kan vinden, en een van de andere twee werkt. Frontline Systems heeft geweldige tutorials over Solver, ik probeer je hier vandaag door je eerste te helpen, ik beweer niet dat ik een Solver-expert ben. Eens had ik een Oplosser die niet zou werken, en ik stuurde een briefje naar Frontline Systems, en wauw, ik kreeg deze geweldige brief van 5 pagina's terug, juist, van Dan Fylstra zelf, de president van Solver! En het begon: "Beste Bill, leuk om van je te horen!" En toen ging het 4,9 pagina's door, dat was allemaal vrijwel helemaal boven mijn hoofd, oké. Maar weet je, ik weet genoeg over Solver om hier doorheen te komen, oké,dus we gaan hier op Solve klikken, het heeft een oplossing gevonden: "Aan alle beperkingen en optimaliteitsvoorwaarden is voldaan." Ik ga dat houden, ik kan een aantal rapporten maken, ik hoef dat nu niet te doen. Oh, ik kan echt een scenario opslaan, ik heb gisteren grapjes gemaakt over scenario's, misschien zou Solver een nieuw scenario voor me kunnen maken, dus we klikken op OK.

Oké, en het heeft ons inderdaad geld bespaard, we schreven eerder 2584, en nu zijn we terug naar 2040. Dus we hebben veel mensen vrij op maandag en dinsdag, oké, sommige mensen, twee mensen vrij op woensdag donderdag, en dan vrijdag zaterdag. Nou, dit is geweldig, ik zou deze reeks antwoorden nooit zomaar willekeurig hebben bedacht, oké, maar betekent dit dat dit het beste antwoord is? Nou, het betekent dat het de minimale loonlijst is, maar ik kan waarschijnlijk een andere reeks antwoorden bedenken die nog steeds deze minimale loonlijst zouden hebben. Er zijn andere manieren om dat te doen, dat kan een iets beter schema zijn. Zoals bijvoorbeeld nu hebben we 28 mensen op woensdag en donderdag, terwijl we er maar 15 en 18 nodig hebben, dat zijn veel mensen. Denk na over wie er in pretparken werkt, dit zijn studenten die thuis zijn voor een pauze,dit wordt een probleem als we zoveel extra mensen hebben. En op maandag dinsdag zijn we zelfs dood, precies waar we willen zijn. Dus dat betekent dat als iemand die ik ziek ga afzeggen, we nu, weet je, iemand moeten bellen en hem anderhalve tijd moeten betalen, want ze hebben al vijf andere dagen gewerkt.

Oké, dus met wat simpele wiskunde hier, als ik 8 weg zou nemen van maandag dinsdag en er 10 van zou maken, en die 8 zou nemen en ze zou toevoegen aan woensdag donderdag, oké. Nu heb ik een Oplosser-oplossing met exact hetzelfde antwoord, 2040, ze hebben het juiste aantal mensen. Ik breng gewoon het schema in evenwicht, en nu hebben we 8 extra, 8 extra, 3 extra en 2 extra, en precies wat we nodig hebben in het weekend, wat het volledige personeelsscenario is. Voor mij is dit iets beter dan waar Solver mee kwam, betekent dit dat die oplosser mislukt is? Nee, absoluut niet, want ik zou nooit zo dichtbij zijn gekomen zonder Solver. Toen Solver me eenmaal het antwoord gaf, ja, ik kon het een beetje aanpassen en daar komen, oké. Tip # 37, "40 beste Excel-tips aller tijden", bijna aan het einde van die eerste 40 geweldige kleine inleiding tot Oplosser.De gids voor alle podcasts in deze serie is hier: "MrExcel XL - 40 beste Excel-tips aller tijden", u kunt het e-boek krijgen voor slechts $ 10, een boek afdrukken voor $ 25, klik op de "i" bovenaan -rechter hoek!

Oké, samenvattend: Oplosser, als je Windows-versies van Excel, Lotus 1-2-3 gebruikt, is het er, het is gemaakt door Visicorp-oprichter Dan Fylstra. Het is een gratis versie van de heavy-duty solvers, hier is een link om de heavy-duty solvers te bekijken, die in de YouTube-opmerkingen staat. Het is waarschijnlijk dat ze gewoon niet zijn geïnstalleerd, alt = "" TI, vink Oplosser aan, kijk aan de rechterkant van het tabblad Gegevens om Oplosser te vinden. Oké, je moet een objectieve cel hebben die je probeert te minimaliseren of maximaliseren of die je op een waarde wilt instellen, een reeks invoercellen. Specificeer beperkingen, inclusief iets wat je niet zou verwachten, zoals ik moest zeggen "Geen halve mensen" en "Geen negatieve mensen". Oplosser zal de optimale oplossing vinden, maar er kunnen andere banden zijn en u kunt deze mogelijk aanpassen om een ​​betere oplossing te krijgen.

Oké, daar heb je het, ik wil je bedanken voor het langskomen, we zien je de volgende keer voor een nieuwe netcast van!

Download bestand

Download het voorbeeldbestand hier: Podcast2036.xlsx

Interessante artikelen...