The tutorial explains how to add and where to find Solver in different Excel versions, from 2016 to 2003. Step-by-step examples show how to use Excel Solver to find optimal solutions for linear programming and other kinds of problems.
Everyone knows that Microsoft Excel contains a lot of useful functions and powerful tools that can save you hours of calculations. But did you know that it also has a tool that can help you find optimal solutions for decision problems?
In this tutorial, we are going to cover all essential aspects of the Excel Solver add-in and provide a step-by-step guide on how to use it most effectively.
What is Excel Solver?
Excel Solver belongs to a special set of commands often referred to as What-if Analysis Tools. It is primarily purposed for simulation and optimization of various business and engineering models.
The Excel Solver add-in is especially useful for solving linear programming problems, aka linear optimization problems, and therefore is sometimes called a linear programming solver. Apart from that, it can handle smooth nonlinear and non-smooth problems. Please see Excel Solver algorithms for more details.
While Solver can't crack every possible problem, it is really helpful when dealing with all kinds of optimization problems where you need to make the best decision. For example, it can help you maximize the return of investment, choose the optimal budget for your advertising campaign, make the best work schedule for your employees, minimize the delivery costs, and so on.
How to add Solver to Excel
The Solver add-in is included with all versions of Microsoft Excel beginning with 2003, but it is not enabled by default.
To add Solver to your Excel, perform the following steps:
- In Excel 2010 - Excel 365, click File > Options.
In Excel 2007, click the Microsoft Office button, and then click Excel Options. - In the Excel Options dialog, click Add-Ins on the left sidebar, make sure Excel Add-ins is selected in the Manage box at the bottom of the window, and click Go.
- In the Add-Ins dialog box, check the Solver Add-in box, and click OK:
To get Solver on Excel 2003, go to the Tools menu, and click Add-Ins. In the Add-Ins available list, check the Solver Add-in box, and click OK.
Note. If Excel displays a message that the Solver Add-in is not currently installed on your computer, click Yes to install it.
Where is Solver in Excel?
In the modern versions of Excel, the Solver button appears on the Data tab, in the Analysis group:
Where is Solver in Excel 2003?
After the Solver Add-in is loaded to Excel 2003, its command is added to the Tools menu:
Now that you know where to find Solver in Excel, open a new worksheet and let's get started!
Note. The examples discussed in this tutorial use Solver in Excel 2013. If you have another Excel version, the screenshots may not match your version exactly, although the Solver functionality is basically the same.
How to use Solver in Excel
Before running the Excel Solver add-in, formulate the model you want to solve in a worksheet. In this example, let's find a solution for the following simple optimization problem.
Problem. Supposing, you are the owner of a beauty salon and you are planning on providing a new service to your clients. For this, you need to buy a new equipment that costs $40,000, which should be paid by instalments within 12 months.
Goal: Calculate the minimal cost per service that will let you pay for the new equipment within the specified timeframe.
For this task, I've created the following model:
And now, let's see how Excel Solver can find a solution for this problem.
1. Run Excel Solver
On the Data tab, in the Analysis group, click the Solver button.
2. Define the problem
The Solver Parameters window will open where you have to set up the 3 primary components:
- Objective cell
- Variable cells
- Constraints
Exactly what does Excel Solver do with the above parameters? It finds the optimal value (maximum, minimum or specified) for the formula in the Objective cell by changing the values in the Variable cells, and subject to limitations in the Constraints cells.
Objective
The Objective cell (Target cell in earlier Excel versions) is the cell containing a formula that represents the objective, or goal, of the problem. The objective can be to maximize, minimize, or achieve some target value.
In this example, the objective cell is B7, which calculates the payment term using the formula =B3/(B4*B5)
and the result of the formula should be equal to 12:
Variable cells
Variable cells (Changing cells or Adjustable cells in earlier versions) are cells that contain variable data that can be changed to achieve the objective. Excel Solver allows specifying up to 200 variable cells.
In this example, we have a couple of cells whose values can be changed:
- Projected clients per month (B4) that should be less than or equal to 50; and
- Cost per service (B5) that we want Excel Solver to calculate.
Tip. If the variable cells or ranges in your model are non-adjacent, select the first cell or range, and then press and hold the Ctrl key while selecting other cells and/or ranges. Or, type the ranges manually, separated with commas.
Constraints
The Excel Solver Constrains are restrictions or limits of the possible solutions to the problem. To put it differently, constraints are the conditions that must be met.
To add a constraint(s), do the following:
- Click the Add button right to the "Subject to the Constraints" box.
- In the Constraint window, enter a constraint.
- Click the Add button to add the constraint to the list.
- Continue entering other constraints.
- After you have entered the final constraint, click OK to return to the main Solver Parameters window.
Excel Solver allows specifying the following relationships between the referenced cell and the constraint.
- Less than or equal to, equal to, and greater than or equal to. You set these relationships by selecting a cell in the Cell Reference box, choosing one of the following signs: <=, =, or >=, and then typing a number, cell reference / cell name, or formula in the Constraint box (please see the above screenshot).
- Integer. If the referenced cell must be an integer, select int, and the word integer will appear in the Constraint box.
- Different values. If each cell in the referenced range must contain a different value, select dif, and the word AllDifferent will appear in the Constraint box.
- Binary. If you want to limit a referenced cell either to 0 or 1, select bin, and the word binary will appear in the Constraint box.
Note. The int, bin, and dif relationships can only be used for constraints on Variable cells.
To edit or delete an existing constraint do the following:
- In the Solver Parameters dialog box, click the constraint.
- To modify the selected constraint, click Change and make the changes you want.
- To delete the constraint, click the Delete button.
In this example, the constraints are:
- B3=40000 - cost of the new equipment is $40,000.
- B4<=50 - the number of projected patients per month in under 50.
3. Solve the problem
After you've configured all the parameters, click the Solve button at the bottom of the Solver Parameters window (see the screenshot above) and let the Excel Solver add-in find the optimal solution for your problem.
Depending on the model complexity, computer memory and processor speed, it may take a few seconds, a few minutes, or even a few hours.
When Solver has finished processing, it will display the Solver Results dialog window, where you select Keep the Solver Solution and click OK:
The Solver Result window will close and the solution will appear on the worksheet right away.
In this example, $66.67 appears in cell B5, which is the minimal cost per service that will let you pay for the new equipment in 12 months, provided there are at least 50 clients per month:
Tips:
- If the Excel Solver has been processing a certain problem for too long, you can interrupt the process by pressing the Esc key. Excel will recalculate the worksheet with the last values found for the Variable cells.
- To get more details about the solved problem, click a report type in the Reports box, and then click OK. The report will be created on a new worksheet:
Now that you've got the basic idea of how to use Solver in Excel, let's have a closer look at a couple more examples that might help you gain more understanding.
Excel Solver examples
Below you will find two more examples of using the Excel Solver addin. First, we will find a solution for a well-known puzzle, and then solve a real-life linear programming problem.
Excel Solver example 1 (magic square)
I believe everyone is familiar with "magic square" puzzles where you have to put a set of numbers in a square so that all rows, columns and diagonals add up to a certain number.
For instance, do you know a solution for the 3x3 square containing numbers from 1 to 9 where each row, column and diagonal adds up to 15?
It's probably no big deal to solve this puzzle by trial and error, but I bet the Solver will find the solution faster. Our part of the job is to properly define the problem.
To begin with, enter the numbers from 1 to 9 in a table consisting of 3 rows and 3 columns. The Excel Solver does not actually need those numbers, but they will help us visualize the problem. What the Excel Solver add-in really needs are the SUM formulas that total each row, column and 2 diagonals:
With all the formulas in place, run Solver and set up the following parameters:
- Set Objective. In this example, we don't need to set any objective, so leave this box empty.
- Variable Cells. We want to populate numbers in cells B2 to D4, so select the range B2:D4.
- Constraints. The following conditions should be met:
- $B$2:$D$4 = AllDifferent - all of the Variable cells should contain different values.
- $B$2:$D$4 = integer - all of the Variable cells should be integers.
- $B$5:$D$5 = 15 - the sum of values in each column should equal 15.
- $E$2:$E$4 = 15 - the sum of values in each row should equal 15.
- $B$7:$B$8 = 15 - the sum of both diagonals should equal 15.
Finally, click the Solve button, and the solution is there!
Excel Solver example 2 (linear programming problem)
This is an example of a simple transportation optimization problem with a linear objective. More complex optimization models of this kind are used by many companies to save thousands of dollars each year.
Problem: You want to minimize the cost of shipping goods from 2 different warehouses to 4 different customers. Each warehouse has a limited supply and each customer has a certain demand.
Goal: Minimize the total shipping cost, not exceeding the quantity available at each warehouse, and meeting the demand of each customer.
Source data
Here is how our transportation optimization problem looks like:
Formulating the model
To define our linear programming problem for the Excel Solver, let's answer the 3 main questions:
- What decisions are to be made? We want to calculate the optimal quantity of goods to deliver to each customer from each warehouse. These are Variable cells (B7:E8).
- What are the constraints? The supplies available at each warehouse (I7:I8) cannot be exceeded, and the quantity ordered by each customer (B10:E10) should be delivered. These are Constrained cells.
- What is the goal? The minimal total cost of shipping. And this is our Objective cell (C12).
The next thing for you to do is to calculate the total quantity shipped from each warehouse (G7:G8), and the total goods received by each customer (B9:E9). You can do this with simple Sum formulas demonstrated in the below screenshot. Also, insert the SUMPRODUCT formula in C12 to calculate the total cost of shipping:
To make our transportation optimization model easier to understand, create the following named ranges:
Range name | Cells | Solver parameter |
Products_shipped | B7:E8 | Variable cells |
Available | I7:I8 | Constraint |
Total_shipped | G7:G8 | Constraint |
Ordered | B10:E10 | Constraint |
Total_received | B9:E9 | Constraint |
Shipping_cost | C12 | Objective |
The last thing left for you to do is configure the Excel Solver parameters:
- Objective: Shipping_cost set to Min
- Variable cells: Products_shipped
- Constraints: Total_received = Ordered and Total_shipped <= Available
Please pay attention that we've chosen the Simplex LP solving method in this example because we are dealing with the linear programming problem. If you are not sure what kind of problem yours is, you can leave the default GRG Nonlinear solving method. For more information, please see Excel Solver algorithms.
Solution
Click the Solve button at the bottom of the Solver Parameters window, and you will get your answer. In this example, the Excel Solver add-in calculated the optimal quantity of goods to deliver to each customer from each warehouse with the minimal total cost of shipping:
And here is one more example of practical use: Find all combinations that equal given sum with Excel Solver.
How to save and load Excel Solver scenarios
When solving a certain model, you may want to save your Variable cell values as a scenario that you can view or re-use later.
For example, when calculating the minimal service cost in the very first example discussed in this tutorial, you may want to try different numbers of projected clients per month and see how that affects the service cost. At that, you may want to save the most probable scenario you've already calculated and restore it at any moment.
Saving an Excel Solver scenario boils down to selecting a range of cells to save the data in. Loading a Solver model is just a matter of providing Excel with the range of cells where your model is saved. The detailed steps follow below.
Saving the model
To save the Excel Solver scenario, perform the following steps:
- Open the worksheet with the calculated model and run the Excel Solver.
- In the Solver Parameters window, click the Load/Save button.
- Excel Solver will tell you how many cells are needed to save your scenario. Select that many empty cells and click Save:
- Excel will save your current model, which may look something similar to this:
At the same time, the Solver Parameters window will show up where you can change your constraints and try different "what if" options.
Loading the saved model
When you decide to restore the saved scenario, do the following:
- In the Solver Parameters window, click the Load/Save button.
- On the worksheet, select the range of cells holding the saved model and click Load:
- In the Load Model dialog, click the Replace button:
- This will open the main Excel Solver window with the parameters of the previously saved model. All you need to do is to click the Solve button to re-calculate it.
Excel Solver algorithms
When defining a problem for the Excel Solver, you can choose one of the following methods in the Select a Solving Method dropdown box:
To change how Solver finds a solution, click the Options button in the Solver Parameters dialog box, and configure any or all options on the GRG Nonlinear, All Methods, and Evolutionary tabs.
This is how you can use Solver in Excel to find the best solutions for your decision problems. At the end of this post, you can download the sample workbook with all the examples discussed in this tutorial and reverse-engineer them for better understanding. I thank you for reading and hope to see you on our blog next week.
Practice workbook for download
Excel Solver examples (.xlsx file)
51 comments
Good
Goody
can we do the same thing in java or python?
How can I apply multi objective optimization?
In the example in "How to use Solver in Excel", why do you define a constraint for B2, when it is not one of the variable cells? I have tried deleting that constraint and the solution is the same.
In the analysis of the solution you say "provided there are at least 50 clients per month" when the condition B4<=50 means that you have "at most 50 clients per month".
Otherwise, nice instructions. Very helpful.
Hi Oscar,
Thank you for your questions.
We define a constraint for B3 because it contains a condition that should be met (cost of the new equipment is $40,000 - it's a fixed amount). Variable cells are B4 and B5.
The phrase "provided there are at least 50 clients per month" relates to a particular solution shown in the screenshot - cost per service ($66.67) was calculated assuming there are 50 clients per month (see the value in B4). B4<=50 was the condition for Solver.
You have been given information about a student below. You will need to construct a spreadsheet and use solver to resolve the constrained optimisation problem outlined below. You should have your solution open and accessible to you when you open the online test. During the test you will also be given a new constraint for one of the scenarios and asked to perform a new optimisation. You should create a copy of your spreadsheet scenario so that you can reconfigure the optimisation calculation as required. After taking the test you will also be required to upload your excel workbook to the Turnitin system under the name "Student Number.xlsx" where the text "Student Number" is replaced with your own numeric student number. 1 The Scenario A student is trying to work out how to allocate the hours of their week and has asked you to help them plan out their week using Solver. The student has given you the following information: • They have a part time job which pays them £11.20 per hour they spend working. • They take three university courses (A, B and C) and they aim to score at least 60 in each of these courses. For each module the student tells you a) what score they expect to get with no study and b) how much they expect their grade to increase with each additional hour of study per week for that course. The information is summarised below: Course No Study Score Score per hour A 30 3.1 B 25 3.4 с 10 2.1 • The student must pay £50 for groceries and £75 for rent on a weekly basis. • The student must sleep at least 6 hours a night on average).
• The student also enjoys leisure activities, which they have cost them £10 per hour and exercise, which costs £4 per hour. • The student has no savings • The student's overall wellbeing is measured via the below equation wellbeing = score%3 score 4 score: Sleepo.5 Leisure0.9 Exercise 0.4Work-0.4 Where score A, scores and scorec are the scores from course A, B and C respectively. The other variables in this equation represent the time spent working, exercising, sleeping and leisure. A higher value for this equation represents a higher level of wellbeing, • Every hour in the week must be accounted for between work, studying for one of the three courses, leisure, sleep and exercise. • Hours can only be allocated to activities as whole hours and not as partial hours.
How to refer to a conditionally formatted cell in a certain range,when writing macros in MS EXCEL VBA.
Please help me. Many many Thanks in anticipation.
Dear ablebits Team,
Pls help me to find combinations from below given values that makes total like a. 7306, b.9386, c. 5148
Given Values
1,313.00
1,365.00
1,378.00
1,599.00
1,872.00
2,028.00
2,028.00
2,171.00
2,197.00
2,236.00
2,678.00
3,510.00
3,913.00
4,225.00
4,680.00
I want to visualize these 2 scenarios in my Excel Report . will please gives us an idea how I can do that?
1. To present the block wise variation in students’ performances for both the subjects as well as the passing percentages of schools.
2.top 10 tribal majority blocks which have good proportion between tribal teachers and tribal students in their schools .
Exam year Gender of students Social category of students Total Enrolled students in school Total tribal students enrolled in school First Language Score in First Language (%) Score in Math (%) Division
2020 Boys GEN 181 23 Bengali 39% 24% Fail
2020 Girls ST 45 29 Bengali 36% 25% Fail
2019 Boys GEN 42 9 Bengali 75% 38% Pass
2018 Girls BC 280 54 Bengali 49% 18% Compartment
2018 Boys ST 376 46 Bengali 41% 30% Pass
2019 Boys GEN 90 0 Bengali 88% 56% Pass
2018 Girls ST 90 59 Bengali 37% 30% Pass
2019 Girls GEN 277 135 Bengali 64% 31% Pass
2018 Boys ST 40 27 Bengali 48% 24% Compartment
2018 Boys SC 243 7 Bengali 48% 30% Pass
2020 Girls ST 108 80 Bengali 54% 46% Pass
2019 Boys GEN 60 46 Bengali 40% 37% Pass
2020 Boys ST 90 59 Bengali 46% 58% Pass
2020 Girls GEN 453 161 Bengali 66% 32% Pass
2019 Boys GEN 358 97 Bengali 80% 85% Pass
2019 Boys GEN 243 7 Bengali 26% 22% Fail
2018 Girls ST 351 66 Bengali 52% 30% Pass
) AAu Press is trying to determine which of 36 books it should publish this year. The data in the Problem2 worksheet gives the following information about each book:
• Projected revenue and development costs
• Pages in each book
• Whether each book is geared toward an audience of software developers (indicated by a 1 in column E)
AAy Press can publish books totaling up to 8,500 pages this year, and must publish at least 5 books geared toward software developers. How can AAu Press maximize its PROFIT (is profit the same as revenue)? To avoid points to be taken away, please make sure that you set this up so that the constraint can be seen next to data as it is shown in the exercise above (see the figures from the previous page). Book pages Cost Revenue Developer book
1 911 177.98 29.15 1
2 911 47.88 99.52 1
3 911 83.24 94.19 1
4 911 104.3 85.76 1
5 911 78.62 68.98 1
6 911 36.38 41.78 1
7 911 56.16 96.97 1
8 911 50.62 68.20 1
9 911 130.04 71.32 1
10 911 142.14 91.55 1
11 911 40.55 60.82 0
12 911 53.43 186.35 0
13 911 81.13 174.39 0
14 911 80.01 129.90 0
15 911 66.23 8.59 0
16 911 18.9 32.28 0
17 911 71.21 38.72 0
18 911 73.36 158.37 0
19 911 61.47 184.70 0
20 911 80.73 133.53 0
21 911 72.01 63.63 0
22 911 27.37 105.87 0
23 911 45.95 174.76 0
24 911 30.58 116.21 0
25 911 41.16 157.58 0
26 911 78.82 3.07 0
27 911 80.82 151.72 0
28 911 18.12 44.24 0
29 911 38.53 136.70 0
30 911 46.56 10.13 0
31 911 70.27 124.69 0
32 911 72.64 69.87 0
33 911 48.31 4.28 0
34 911 36.29 99.06 0
35 911 62.87 138.95 0
36 911 83.17 58.63 0
HI,
Is it possible to solve this problem using solver?
I have two groups of items lets say we have repairmen and repair contracts. Based on repairmen scoring and contract scoring i need the best match. Scoring of both is more than single number but a set of scores in the given scale. For example repairmen have 3 scores from 1-5 and the same with contracts. Can solver help with best match of workers to contracts?
Regards.
The advertising director a large retail store in Columbus, Ohio, is considering three advertising media possibilities: (1) ads in the Sunday Columbus Dispatch newspaper, (2) ads in a local trade magazine that is distributed free to all houses in the city and northwest suburbs, and (3) ads on Columbus’ WCCTV station. She wishes to obtain a new-customer exposure level of at least 50% within the city and 60% in the northwest suburbs. Each TV ad has a new-customer exposure level of 5% in the city and 3% in the northwest suburbs. The Dispatch ads have corresponding exposure levels per ad of 3.5% and 3%, respectively, while the trade magazine has exposure levels per ad of 0.5% and 1%, respectively. The relevant costs are $1,000 per Dispatch ad, $300 per trade magazine ad, and $2,000 per TV ad. The advertising policy is that no single media type should consume more than 45% of the total amount spent. Find the advertising strategy that will meet the store’s objective at minimum cost.
Can You Please Solve this problem for me?
Solve the problem by linear programming using an Excel spreadsheet model (Solver function),
remembering that the Client's objective is to maximise total annual income. State the optimal
investments plan clearly, giving the values of all the problem variables. Include a copy of your
spreadsheet, making sure that the layout of the spreadsheet is easy to follow and is carefully
annotated. The layout should be your own design.
I work for a German company so my Windows 10 is in German with a comma as the decimal separator. Most of our spreadsheets need to be in English for our international clients. If I change the decimal separator from within Excel 2016 from the system decimal separator (comma) to a decimal point, I find that non-integer Solver constraints get altered by themselves. For example if I enter 1.2 as the value of a constraint on a cell and run Solver I get the solution I would expect. If I then rerun Solver after changing a value somewhere in the spreadsheet I get a different answer, because the value of the constraint has been "magically" changed to 12. If I use the system separator (comma) in Excel the Solver does not remove the decimal separator from the contraints.
Does anyone else have this problem? Have you found a solution - apart from calculating the sheet with the system separator then changing the decimal separator for the printout, that is?
Btw, the GUI of MS Office is in English on my computer.
Hello Sir
i want to find out what would be the minimum Bench resources and Bench cost that i should have for a Turnover of $ 50000
At Present my billing is $9000
Presently the Bench Resources are 17 in Nos
Present Bench cost is $12000
Can you let me know how to find this on excel solver
Hello everyone, I have a question and solver giving error , could you help me on that ı am writing question below;
Many Thanks
The Dakota Aliens is a new professional basketball franchise in Dakota. The team’s general manager, Martian, and coach, Michael Jordan, are trying to develop a roaster of players. They drafted seven players from a pool to which the other teams in the league each contributed two players. However, the general manager and coach perceive these acquisitions to be no more than role players. They believe that the nucleus of their new team must come from the free agents who are currently available on the market. The team is well under the salary cap, and the owner has made 50 million per yer available to them to sign players. The coach and general manager have put together the following list of 12 free agents, with important statistics for each, including their rumored asking price in terms of annual salary.
Pre-Game Averages Projected Annual Salary
Player Position Point Rebound Assists Minutes
Pound Back court 14,7 4,4 9,3 8,2 millions
Bang Front court 12,6 10,6 2,1 34,5 6,5 millions
Bupkus Back court 13,5 8,7 1,7 29,3 5,2 millions
Blanko Back court 27,1 7,1 4,5 42,5 16,4 millions
Nawt Back court 18,1 7,5 5,1 41 14,3 millions
Balrog Front court 22,8 9,5 2,4 38,5 23,5 millions
Gud Front court 9,3 12,2 3,5 31,5 4,7 millions
Destructor Front court 10,2 12,6 1,8 44,4 7,1 millions
Ulysees Front court 16,9 2,5 11,7 42,7 15,8 millions
Cyrax Back court 28,5 6,5 1,3 38,1 26,4 millions
Bilaterus Front court 24,8 8,6 6,9 42,6 19,5 millions
Sylvester Front court 11,3 12,5 3,2 39,5 8,6 millions
Jordan and the Martian want to sign five free agents. They would like the group they sign to have at least 80 points, pull down an average 40 rebounds per game (8 per players), dish out an average 25 assists, and have averaged 190 minutes ( 38 per player) per game in the past. Their immediate object is to identify the players who as a group would meet their objective in minimum cost.
If they do not want to sign more than two front court and three back court players, which players as a group should they choose?
Hello Selçuk!
I recommend using Solver. How to use Solver in Excel with examples - read above
Hello! please help me with the steps on creating named ranges and how to enter the constrains for the solver parameter based on the name ranges created.
Good work
Very nice tutorial. Lot of thanks.
A theatre company needs to determine the lowest cost production budget for an upcoming theatre show. Specifically, they will have to determine the lowest which set pieces to construct and which pieces must be rented from another company at a pre-determined fee. The time available for constructing the set is two weeks after which rehearsals commence. To construct the set, the theatre has two part-time carpenters who work upto 12 hours a week and each at $100 per hour. Additionally, the scene artist can work 15 hours per week at $150 per hour.
The set design requires 20 walls, 2 hanging drops with pained scenery and 3 large wooden tables serving as props. The number of hours required for each piece for carpentry and painting is given below.
Carpentery Painting
Walls 0.5 2.0
Hanging Drops 2.0 3.0
Wooden Tables 3.0 4.0
Flats, hanging drops and props can also be rented at a cost of $750, $5000 and $3500 each. How many of each unit should be built by the theatre company and how many units should be rented to minimize costs?