Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

Linear Programming: Using the Excel Solver

Outline:

We will use Microsoft Excel Solver to solve the four LP examples


discussed in last class.

1. The Product Mix Example

The Outdoor Furniture Corporation manufactures two products: benches and


picnic tables for use in yards and parks. The firm has two main resources: its
carpenters (labor) and a supply of redwood for use in the furniture. During the
next production period, 1200 hours of manpower are available under a union
agreement. The firm also has a stock of 5000 pounds of quality redwood. Each
bench that Outdoor Furniture produces requires 4 labor hours and 10 pounds of
redwood; each picnic table takes 7 labor hours and 35 pounds of redwood.
Completed benches yield a profit of $9 each, and tables a profit of $20 each.

We formulated the following linear program to solve this problem:

Decision Variables:

Objective Function:

Constraints:

We will now solve this LP using the Excel Solver.


1.1 Getting Started
To begin using Excel, double-click on the Excel icon. Once Excel has loaded, enter the input
data and construct relationships among data elements in a readable, easy to understand way.
When building this foundation for your model, think ahead about the optimization model you
will be developing. Make sure there is a cell in your spreadsheet for each of the following:
• the quantity you wish to maximize or minimize
• every decision variable
• every quantity that you might want to constrain

If you don’t have any particular initial values you want to enter for your decision variables,
you can start by just entering a value of 0 in each decision variable cell.

The cell below “Total” and the cells below “LHS” in the spreadsheet are defined by using the
SUMPRODUCT function in the manner seen below.

If you are not familiar with “sumproduct”, you can use “= B3*B5+C3*C5” instead of
“sumproduct(B3:C3,B5:C5)”, and so on. See example below. Both serve the same purpose.
1.2 Constructing an Optimization Model Using Solver
Once you are satisfied with the basic spreadsheet model you have built, you are ready to
build an optimization model using Solver. To begin using Solver,
• click on “Tools” and select “Solver”.

A gray dialogue box will appear. You will build the constrained optimization model using
this dialogue box.
1.3 Selecting the Cell to Optimize
To select the cell you wish to optimize, look at the “Set Cell” window within the dialogue
box. Erase (or simply drag the cursor over) everything that is in that window. Then, either

• type the address of the cell you wish to optimize, or


• click on the cell you wish to optimize.
• Choose either “Max” or “Min” depending on whether the objective is to
maximize or minimize the target cell.

If you wish to click on the optimization cell but the dialogue box is in the way, you can move
the dialogue box by positioning the arrow on the title bar at the top of the box and dragging it
out of the way.
1.4 Identifying Decision Variable Cells
Move the cursor to the “By Changing Cells” window within the dialogue box. Again, erase
anything that may be there (unless you put it there before and want to keep it). You now must
tell Excel which cells are decision variables—i.e., which cells Excel is allowed to change
when trying to optimize. To do this:
• type the addresses of every cell you wish to treat as a decision variable, separating
them by commas, or
• drag the cursor across all cells you wish to treat as decision variables.

If you wish to use the “dragging” method, but the decision variables to not all lie in a
connected rectangle in the spreadsheet you can “drag” them in one group at a time:
• drag the cursor across one group of decision variables,
• put a comma after that group in the “By Changing Cells” window,
• drag the cursor across the next group of decision variables,
• etc....
1.5 Defining Constraints
To begin entering constraints, click on the “Add” button to the right of the constraints
window. A new dialogue box will appear. The cursor will be in the “Cell Reference” window
within this dialogue box.

• Type the cell address that contains the quantity you want to constrain, or
• click on the cell that contains the quantity you want to constrain.

Again, if the dialogue box is in the way, you can move it by dragging the bar at the top of the
box. The default inequality that first appears for a constraint is “<=“. To change this,

• click on the arrow beside the “<=“ sign.


• Select the inequality (or equality) you wish from the list provided.

(Notice that you may also force a decision variable to be an integer using this window. I do
not recommend that you use this integer feature for this course.)

After setting the inequality, move the cursor to the “Constraint” window.

• Type the number or the cell reference you want to use as the constraining value
for that constraint, or
• click on the cell you want to use as the constraining value for that constraint.

After you are satisfied with that constraint,

• click the “Add” button if you want to add another constraint, or


• click the “OK” button if you want to go back to the original dialogue box.
1.6 Some Important Tips
Do not forget to put in non-negativity constraints for all decision variables!! Solver does
not automatically include them. To do this,

• Click on the “Options” button in the Solver dialogue box.


• Check on the “Assume Non-Negative” box - make sure a check appears in this box.
• Click the “OK” button to return to the original dialogue box.

If you want to constrain a column (or row) of cells by using another column (or row) of cells
as the constraining values, you can input this whole collection of constraints at the same
time.

• When in the “Cell Reference” window, drag across the column (or row) of cells
you want to constrain.
• Then, in the “Constraint” window, drag across the column (or row) of cells that
you want to use as the constraining values.

If, in the process of building you optimization model, you discover that your spreadsheet is
missing some pieces (e.g., you want to constrain some quantity, but you did not include a cell
for that quantity in your spreadsheet),

• click on the “Close” button in the Solver dialogue box.


• Make the necessary changes in your spreadsheet.
• Select “Solver” from the “Tools” menu to return to Solver.

You will not lose any part of your optimization model.


1.7 Solving the Optimization Model
Once you are satisfied with the optimization model you have input, click on the “Options”
button in the Solver dialogue box. If you are solving a linear program,

• Click on the “Assume Linear Model” box - make sure a check appears in this box.
• Click on the “OK” button to return to the original dialogue box.

Now, to solve the problem, click on the “Solve” button.

Solver now solves the optimization model.


1.8 What to Do with the Optimal Solution
When it is done, you will receive one of four messages:

• “Optimal solution found”. This means that Solver has found the optimal solution.
• “Cell values did not converge”. This means that the objective function can be
improved to infinity. You may have forgotten a constraint or made a mistake in a
formula.
• “Solver could not find a feasible solution”. This means that Solver could not find
a feasible solution to the constraints you entered. You may have made a mistake
in typing the constraints or in entering a formula in your spreadsheet.
• “Conditions for Assume Linear Model not satisfied”. You may have forgotten to
include some non-negativity constraints, or you may have included a formula in
your model that is nonlinear. There is also a slim chance that Solver has made an
error. (This bug shows up occasionally.)

If Solver finds an optimal solution, you have some options. First, you must choose whether
you want Solver to keep the optimal values in the spreadsheet (you usually want this one) or
go back to the original numbers you typed in. Click the appropriate box to make you
selection. You also get to choose what kind of reports you want. Sometimes you want to
select “Sensitivity Report”. Once you have made your selections, click on “OK”. To view the
sensitivity report, click on the “Sensitivity Report” tab in the lower-left-hand corner of the
window.
1.9 Saving and Printing Files
To save a file, simply

• click on “File”, and


• select “Save As” if this is the first time you saved the file, or “Save” if you have
saved it before and you want to save the new version under the same name.

Be sure to save your file on the correct disk and the correct directory. For assistance with
this, see a consultant.

If you created any sensitivity analysis reports, Excel will automatically bundle your
spreadsheet with these reports.

To print your spreadsheet, simply make sure the spreadsheet is on the screen, then

• click on “File”, and


• select “Print”.

If you want to make changes in the way the file will print (e.g., print is sideways on the page
(landscape), etc.), select “Page Setup” instead. Make the appropriate changes, then select
“Print”. Again, see a consultant if you need additional help.

To print your sensitivity report, simply make sure the report is on the screen and repeat the
above steps.
2. The Diet Example

Solver Solution:

Formulas:
3. The Scheduling Example

Solver Solution:

Formulas:
4. The Transportation Example

Solver Solution:
Formulas:
LP Supplement: Sensitivity Analysis—“What if?”

Solve the “Lego” problem using the Solver:

Then, choose “Sensitivity Analysis Report”:


Questions Answered by Excel

What is the optimal solution?

What is the profit for the optimal solution?

If the net profit per table changes, will the solution change?

If the net profit per chair changes, will the solution change?

If more (or less) large bricks are available, how will this affect profit?

If more (or less) small bricks are available, how will this affect profit?
Summary of Output from Excel Solver

Adjustable Cells:
Final Value The value of the variable in the optimal solution.

Reduced Cost Increase in the objective function value per unit increase
in the value of a zero-valued variable (for small
increases).

Allowable Defines the range of the cost coefficients in the


Increase/ objective function for which the current solution
Decrease (value of the variables in the optimal solution) will not
change.

Constraints:
Final Value The usage of the resource in the optimal solution.

Shadow price The change in the value of the objective function per unit
increase in the right hand side of the constraint:
∆Z = (Shadow Price)(∆RHS)
(Note: only valid if change is within the allowable range
for RHS values — see below.)

Constraint The current value of the right hand side of the


R.H. Side constraint (the amount of the resource available).

Allowable Defines the range of values of the RHS for which


Increase/ the shadow price is valid and hence for which
Decrease the new objective function value can be calculated.
(NOT the range for which the current solution will not
change.)

You might also like