Excel var inte det första kalkylprogrammet. Lotus 1-2-3 var inte det första kalkylprogrammet. Det första kalkylprogrammet var VisiCalc 1979. VisiCalc publicerades av Dan Fylstra och utvecklades av Dan Bricklin och Bob Frankston. Idag driver Dan Frontline Systems. Hans företag skrev Solver som används i Excel. Frontline Systems har också utvecklat en hel serie analysprogramvara som fungerar med Excel.
Om du har Excel har du Solver. Det kanske inte är aktiverat, men du har det. För att aktivera Solver i Excel, tryck Alt + T följt av I. Lägg till en bock bredvid Solver Add-in.

För att lyckas använda Solver måste du bygga en kalkylmodell som har tre element:
- Det måste finnas en enda målcell. Detta är en cell som du antingen vill minimera, maximera eller ställa in till ett visst värde.
- Det kan finnas många inmatningsceller. Detta är en grundläggande förbättring jämfört med Goal Seek, som bara kan hantera en inmatningscell.
- Det kan finnas begränsningar.
Ditt mål är att bygga schemaläggningskraven för en nöjespark. Varje anställd kommer att arbeta fem raka dagar och sedan ha två lediga dagar. Det finns sju olika möjliga sätt att schemalägga någon för fem raka dagar och två lediga dagar. Dessa visas som text i A4: A10 i figuren nedan. De blå cellerna i B4: B10 är ingångscellerna. Det är här du anger hur många personer du har som arbetar varje schema.
Målcellen är total lön / vecka, visas i B17. Detta är rak matematik: Totalt antal personer från B11 gånger $ 68 lön per person och dag. Du kommer att be Solver att hitta ett sätt att minimera veckolönen.
Den röda rutan visar värden som inte ändras. Det här är hur många människor du behöver arbeta i parken varje veckodag. Du behöver minst 30 personer på de hektiska helgdagarna - men så få som 12 på måndag och tisdag. De orange cellerna använder SUMPRODUCT för att beräkna hur många personer som ska schemaläggas varje dag, baserat på ingångarna i de blå cellerna.
Ikonerna i rad 15 anger om du behöver fler eller färre personer eller om du har exakt rätt antal personer.
Först försökte jag lösa detta problem utan Solver. Jag gick med 4 anställda varje dag. Det var jättebra, men jag hade inte tillräckligt med folk på söndagen. Så jag började öka scheman för att få fler söndagsanställda. Jag slutade med något som fungerar: 38 anställda och 2 584 dollar i veckolön.

Naturligtvis finns det ett enklare sätt att lösa detta problem. Klicka på ikonen Lösare på fliken Data. Berätta för Solver att du försöker ställa in lönen i B17 till ett minimum. Ingångscellerna är B4: B10.
Begränsningar faller i uppenbara och inte så uppenbara kategorier.
Den första uppenbara begränsningen är att D12: J12 måste vara >= D14:J14
.
Men om du försökte köra Solver nu skulle du få bisarra resultat med bråkdelar av människor och eventuellt ett negativt antal personer som arbetar vissa scheman.
Även om det verkar uppenbart för dig att du inte kan anställa 0,39 personer, måste du lägga till begränsningar för att berätta för Solver att B4: B10 är >= 0
och att B4: B10 är heltal.

Välj Simplex LP som lösningsmetod och klicka på Lös. På några ögonblick presenterar Solver en optimal lösning.
Solver hittar ett sätt att täcka nöjesparkens bemanning genom att använda 30 anställda istället för 38. Besparingarna per vecka är 544 $ eller mer än 7000 $ under sommaren.

Lägg märke till de fem stjärnorna nedan Anställda som behövs i figuren ovan. Schemat som Solver föreslog uppfyller dina exakta behov under fem av de sju dagarna. Biprodukten är att du kommer att ha fler anställda på onsdag och torsdag än du verkligen behöver.
Jag kan förstå hur Solver kom med den här lösningen. Du behöver många människor på lördag, söndag och fredag. Ett sätt att få folk dit den dagen är att ge dem ledighet på måndag och tisdag. Det är därför Solver gav 18 personer på måndag och tisdag.
Men bara för att Solver kom med en optimal lösning betyder det inte att det inte finns andra lika optimala lösningar.
När jag bara gissade på bemanningen hade jag inte riktigt en bra strategi.
Nu när Solver har gett mig en av de bästa lösningarna kan jag ta på mig min logikhatt. Att ha 28 anställda i högskoleåldern på onsdag och torsdag när du bara behöver 15 eller 18 anställda kommer att leda till problem. Det räcker inte att göra. Dessutom, med exakt rätt huvudräkning på fem dagar, måste du ringa in någon för övertid om någon annan ringer in sjuk.
Jag litar på Solver att jag måste ha 30 personer för att detta ska fungera. Men jag slår vad om att jag kan ordna om dessa människor för att jämna ut schemat och ge en liten buffert på andra dagar.
Till exempel att ge någon fri på onsdag och torsdag säkerställer också att personen är på jobbet fredag, lördag och söndag. Så jag flyttar manuellt några arbetare från raden måndag, tisdag till raden onsdag, torsdag. Jag fortsätter att manuellt ansluta till olika kombinationer och komma fram till lösningen som visas nedan som har samma lönekostnad som Solver men bättre immateriella tillgångar. Situationen för överbemanning existerar nu på fyra dagar istället för två. Det betyder att du kan hantera frånvaro på måndag till torsdag utan att behöva ringa in någon från sin helg.

Är det dåligt att jag kunde hitta en bättre lösning än Solver? Nej. Faktum är att jag inte skulle ha kunnat nå den här lösningen utan att använda Solver. När Solver gav mig en modell som minimerade kostnaderna kunde jag använda logik om immateriella tillgångar för att hålla samma lön.
Om du behöver lösa problem som är mer komplexa än Solver kan hantera, kolla in de premium Excel-lösare som finns tillgängliga från Frontline Systems.
Tack till Dan Fylstra och Frontline Systems för detta exempel. Walter Moore illustrerade XL berg-och dalbana.