För enkla problem hittar Solver i Excel vanligtvis snabbt de optimala Solver-variabelvärdena för objektivfunktionen. Men i vissa fall har Solver problem med att hitta Solver-variabelvärdena som optimerar objektivfunktionen. I dessa fall visar Solver vanligtvis ett meddelande eller ett felmeddelande som beskriver eller diskuterar de problem som den har med ditt problem.
Solver har hittat en lösning
Meddelandet berättar att Solver har gjort sitt jobb och hittat en uppsättning variabelvärden som uppfyller dina begränsningar.
Solver har konvergerat till den nuvarande lösningen
Meddelandet berättar att Excel har hittat en lösning men inte är särskilt säker på lösningen. I huvudsak varnar det här meddelandet dig för möjligheten att en bättre lösning på ditt problem med optimeringsmodellering kan finnas. För att leta efter en bättre lösning, justera konvergensinställningen i dialogrutan Lösningsalternativ så att Excel fungerar med en högre precisionsnivå.
Solver kan inte förbättra den nuvarande lösningen
Meddelandet berättar att, ja, Excel har beräknat en grov, ganska jäkla korrekt lösning, men återigen, du kanske kan hitta en bättre lösning. För att tala om för Excel att det borde leta efter en bättre lösning måste du öka precisionsinställningen som Solver använder.
Detta innebär naturligtvis att Excel kommer att ta längre tid. Men den extra tiden kan leda till att det hittar en bättre lösning. För att justera precisionen använder du återigen dialogrutan Lösningsalternativ.
Stopp vald när den maximala tidsgränsen nåddes
Meddelandet berättar att tiden tog slut i Excel. Du kan försöka lösa optimeringsmodelleringsproblemet igen med en större Maxtid-inställning. Observera dock att om du ser det här meddelandet bör du spara det arbete som Excel redan har utfört som en del av optimeringsmodelleringsproblemlösningen.
Spara det arbete som Excel redan har gjort genom att klicka på knappen Behåll lösareresultat när Excel visar detta meddelande. Excel kommer att vara närmare den slutliga lösningen nästa gång det börjar leta efter den optimala lösningen.
Lösaren stoppade på användarens begäran
Eh, självklart va? Lösare bra hund. Lösaren stoppade eftersom master sa åt den att sluta. Lösare få behandling.
Stopp valdes när den maximala iterationsgränsen nåddes
Meddelandet berättar att Excel tog slut på iterationer innan det hittade den optimala lösningen. Du kan komma runt det här problemet genom att ställa in ett större iterationsvärde i dialogrutan Lösningsalternativ.
Objektiv Cellvärden konvergerar inte
Meddelandet talar om att objektivfunktionen inte har ett optimalt värde. Med andra ord, objektivfunktionen blir allt större även om begränsningsformlerna är uppfyllda. Med andra ord upptäcker Excel att det hela tiden får ett bättre objektivfunktionsvärde med varje iteration, men det verkar inte vara närmare ett slutgiltigt objektivfunktionsvärde.
Om du stöter på det här felet har du förmodligen inte definierat och beskrivit ditt optimeringsmodelleringsproblem korrekt. Din objektiva funktion kanske inte är så vettig eller kanske inte är kongruent med dina begränsningsformler. Eller kanske är en eller flera av dina begränsningsformler – eller förmodligen flera av dem – inte riktigt vettiga.
Solver kunde inte hitta en genomförbar lösning
Meddelandet berättar att ditt optimeringsmodelleringsproblem inte har något svar. Rent praktiskt, när du ser det här meddelandet betyder det att din uppsättning begränsningar utesluter alla möjliga svar.
Anta till exempel att det tar 3 000 timmar att skriva en bok och att det bara finns 2 000 timmar för arbete på ett år. Om du sa att du ville skriva minst en bok om året, finns det ingen lösning på den objektiva funktionen.
En bok kräver upp till 3 000 timmars arbete, men du har bara 2 000 timmar på dig att slutföra ett 3 000 timmar långt projekt. Det är omöjligt, uppenbarligen. Det finns inget optimalt värde för den objektiva funktionen.
Linjäritetsvillkor som krävs av denna LP Solver är inte uppfyllda
Meddelandet indikerar att även om du valde Simplex LP-lösningsmetoden, har Excel nu räknat ut att din modell faktiskt inte är linjär. Och det är galet som fan. Så det visar dig detta meddelande för att indikera att det inte kan lösa problemet om det måste anta att din objektiva funktion och begränsningsformler är linjära.
Om du ser det här meddelandet, pröva den icke-linjära lösningsmetoden GRG.
Problemet är för stort för Solver att hantera
Meddelandet betyder att du har ett problem för stort för att lösare, antingen för att du har försökt modellera med fler än 200 beslutsvariabler eller mer än 100 begränsningar. För att komma runt det här problemet kan du kanske försöka minimera antalet variabler eller begränsningar så att deras antal faller under begränsningen "hej kompis det är bara för stort".
Lösaren påträffade ett felvärde i en mål- eller begränsningscell
Meddelandet betyder att en av dina formler resulterar i ett felvärde eller att du lurade när du beskrev eller definierade någon begränsning. För att komma runt det här problemet måste du fixa den falska formeln eller den fåniga begränsningen.
Det finns inte tillräckligt med minne för att lösa problemet
Budskapet är självbeskrivande. Om du ser det här meddelandet har Solver inte tillräckligt med minne för att lösa problemet med optimeringsmodellering som du arbetar med. Din enda utväg är att försöka frigöra minne, kanske genom att stänga alla andra öppna program och alla onödiga dokument eller arbetsböcker.
Om det inte fungerar, kanske du också vill lägga till mer minne till din dator, särskilt om du ofta ska göra optimeringsmodelleringsproblem. Minnet är billigt.
Fel i modellen. Kontrollera att alla celler och begränsningar är giltiga
Meddelandet betyder att du har något fånigt - förmodligen också något som går att fixa - i ditt optimeringsproblem. Kontrollera dina formler och dina ingångsvärden. Se till att det inte är något uppenbart fel. Åh, och en sak till: Se till att du inte använder ordet "lösare" i någon av dina namngivna variabler. Det kan förvirra Solver.
Exempel på en Solver-utvärdering
I följande exempel påverkar annonsnivån i varje kvartal antalet sålda enheter, vilket indirekt bestämmer mängden försäljningsintäkter, tillhörande utgifter och vinsten. Solver kan ändra kvartalsbudgetarna för annonsering (beslutsvariabelceller B5:C5), upp till en total budgetbegränsning på $20 000 (cell F5), tills den totala vinsten (målcell F7) når maximalt möjliga belopp. Värdena i de variabla cellerna används för att beräkna vinsten för varje kvartal, så de är relaterade till formelns målcell F7, =SUMMA (Q1 Profit:Q2 Profit).
1. Variabla celler
2. Begränsad cell
3. Målcell
Efter att Solver har körts är de nya värdena som följer.
Definiera och lös ett problem
På Data -fliken i Analys gruppen , klicka på Solver.
Obs! Om Solver kommandot eller Analysis gruppen är inte tillgänglig, du måste aktivera Solver-tillägget. Se: Hur du aktiverar tillägget Solver.
I rutan Ange mål anger du en cellreferens eller ett namn för målcellen. Målcellen måste innehålla en formel.
Gör en av följande:
-
Om du vill att värdet på målcellen ska vara så stort som möjligt klickar du på Max.
-
Om du vill att värdet på målcellen ska vara så litet som möjligt klickar du på Min.
-
Om du vill att målcellen ska vara ett visst värde klickar du på Värde på och skriv sedan värdet i rutan.
-
I rutan Genom att ändra variabelceller anger du ett namn eller en referens för varje cellintervall för beslutsvariabel. Separera de icke-intilliggande referenserna med kommatecken. De variabla cellerna måste vara relaterade direkt eller indirekt till målcellen. Du kan ange upp till 200 variabla celler.
I rutan Med förbehåll för begränsningar anger du eventuella begränsningar som du vill tillämpa genom att göra följande:
I Lösningsparametrar dialogrutan klickar du Lägg till .
I rutan Cellreferens anger du cellreferensen eller namnet på cellintervallet för vilket du vill begränsa värdet.
Klicka på relationen ( <=, , >=, int, bin, eller dif ) som du vill ha mellan den refererade cellen och begränsningen. Om du klickar visas i binär, bin ruta. Om du klickar på Begränsningen visas i heltal, int -ruta. Om du klickar på dif, alldifferent visas i < en i=29>Begränsning ruta.
Om du väljer <=, = eller >= för relationen i Begränsning rutan skriver du ett tal, en cell referens eller namn, eller en formel.
Gör en av följande:
-
Om du vill acceptera begränsningen och lägga till ytterligare en klickar du på Lägg till.
-
För att acceptera begränsningen och återgå till Solver Parameters dialogruta klickar du på OK a>.
Obs Du kan tillämpa int , bin och dif relationer endast i begränsningar på beslutsvariabelceller.
Du kan ändra eller ta bort en befintlig begränsning genom att göra följande:
I dialogrutan Lösningsparametrar klickar du på begränsningen som du vill ändra eller ta bort.
Klicka Ändra och gör sedan dina ändringar, eller klicka Ta bort.
Klicka Lös och gör något av följande:
-
För att behålla lösningsvärdena på kalkylbladet, i Solver Results dialogrutan, klicka på Behåll Lösningslösning.
-
Om du vill återställa de ursprungliga värdena innan du klickade Lös klickar du Återställ ursprungliga värden .
-
Du kan avbryta lösningsprocessen genom att trycka på Esc. Excel räknar om kalkylbladet med de senaste värdena som hittas för beslutsvariabelcellerna.
-
För att skapa en rapport som är baserad på din lösning efter att Solver hittat en lösning kan du klicka på en rapporttyp i Rapporter rutan och klicka sedan på OK. Rapporten skapas på ett nytt kalkylblad i din arbetsbok. Om Solver inte hittar en lösning är bara vissa rapporter eller inga rapporter tillgängliga.
-
Om du vill spara dina cellvärden för beslutsvariabeln som ett scenario som du kan visa senare klickar du på Spara scenario i Solver Results dialogrutan och skriv sedan ett namn för scenariot i Scenariots namn rutan.< /span>
Gå igenom testlösningar för Solver
När du har definierat ett problem klickar du på Alternativ i Lösningsparametrar dialogrutan.
I Alternativ dialogrutan väljer du Visa iterationsresultat kryssrutan för att se värdena för varje testlösning och klicka sedan OK.
I Lösningsparametrar dialogrutan klickar du Lös .
Gör något av följande i Visa provlösning dialogrutan:
Ändra hur Solver hittar lösningar
I Lösningsparametrar dialogrutan klickar du på Alternativ .
Välj eller ange värden för något av alternativen på Alla metoder, GRG icke-linjär a> och Evolutionära flikar i dialogrutan.
Spara eller ladda en problemmodell
I Lösningsparametrar dialogrutan klickar du Ladda/spara.
Ange ett cellintervall för modellområdet och klicka på antingen Spara eller Ladda in.
När du sparar en modell anger du referensen för den första cellen i ett vertikalt område av tomma celler där du vill placera problemmodellen. När du laddar en modell anger du referensen för hela cellområdet som innehåller problemmodellen.
Tips: Du kan spara de senaste valen i Lösningsparametrar dialogrutan med ett kalkylblad genom att sparar arbetsboken. Varje kalkylblad i en arbetsbok kan ha sina egna Solver-val, och alla sparas. Du kan också definiera mer än ett problem för ett kalkylblad genom att klicka på Ladda/spara för att spara problem individuellt.
Lösningsmetoder som används av Solver
Du kan välja någon av följande tre algoritmer eller lösningsmetoder i Lösningsparametrar dialogrutan:
-
Generalized Reduced Gradient (GRG) Icke-linjär Används för problem som är jämna olinjära.
-
LP Simplex Används för problem som är linjära.
-
Evolutionär Används för problem som är ojämna.