linear programming: using the excel...

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.

Upload: vucong

Post on 19-Apr-2018

233 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Linear Programming: Using the Excel Solvercourses.daiict.ac.in/pluginfile.php/4252/mod_resource/content/0/... · Linear Programming: Using the Excel Solver Outline: We will use Microsoft

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.

Page 2: Linear Programming: Using the Excel Solvercourses.daiict.ac.in/pluginfile.php/4252/mod_resource/content/0/... · Linear Programming: Using the Excel Solver Outline: We will use Microsoft

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.

Page 3: Linear Programming: Using the Excel Solvercourses.daiict.ac.in/pluginfile.php/4252/mod_resource/content/0/... · Linear Programming: Using the Excel Solver Outline: We will use Microsoft

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.

Page 4: Linear Programming: Using the Excel Solvercourses.daiict.ac.in/pluginfile.php/4252/mod_resource/content/0/... · Linear Programming: Using the Excel Solver Outline: We will use Microsoft

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.

Page 5: Linear Programming: Using the Excel Solvercourses.daiict.ac.in/pluginfile.php/4252/mod_resource/content/0/... · Linear Programming: Using the Excel Solver Outline: We will use Microsoft

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....

Page 6: Linear Programming: Using the Excel Solvercourses.daiict.ac.in/pluginfile.php/4252/mod_resource/content/0/... · Linear Programming: Using the Excel Solver Outline: We will use Microsoft

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.

Page 7: Linear Programming: Using the Excel Solvercourses.daiict.ac.in/pluginfile.php/4252/mod_resource/content/0/... · Linear Programming: Using the Excel Solver Outline: We will use Microsoft

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.

Page 8: Linear Programming: Using the Excel Solvercourses.daiict.ac.in/pluginfile.php/4252/mod_resource/content/0/... · Linear Programming: Using the Excel Solver Outline: We will use Microsoft

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.

Page 9: Linear Programming: Using the Excel Solvercourses.daiict.ac.in/pluginfile.php/4252/mod_resource/content/0/... · Linear Programming: Using the Excel Solver Outline: We will use Microsoft

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.

Page 10: Linear Programming: Using the Excel Solvercourses.daiict.ac.in/pluginfile.php/4252/mod_resource/content/0/... · Linear Programming: Using the Excel Solver Outline: We will use Microsoft

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.

Page 11: Linear Programming: Using the Excel Solvercourses.daiict.ac.in/pluginfile.php/4252/mod_resource/content/0/... · Linear Programming: Using the Excel Solver Outline: We will use Microsoft

2. The Diet Example Solver Solution:

Formulas:

Page 12: Linear Programming: Using the Excel Solvercourses.daiict.ac.in/pluginfile.php/4252/mod_resource/content/0/... · Linear Programming: Using the Excel Solver Outline: We will use Microsoft

3. The Scheduling Example Solver Solution:

Formulas:

Page 13: Linear Programming: Using the Excel Solvercourses.daiict.ac.in/pluginfile.php/4252/mod_resource/content/0/... · Linear Programming: Using the Excel Solver Outline: We will use Microsoft

4. The Transportation Example Solver Solution:

Page 14: Linear Programming: Using the Excel Solvercourses.daiict.ac.in/pluginfile.php/4252/mod_resource/content/0/... · Linear Programming: Using the Excel Solver Outline: We will use Microsoft

Formulas:

Page 15: Linear Programming: Using the Excel Solvercourses.daiict.ac.in/pluginfile.php/4252/mod_resource/content/0/... · Linear Programming: Using the Excel Solver Outline: We will use Microsoft

LP Supplement: Sensitivity Analysis—“What if?”

Solve the “Lego” problem using the Solver:

Then, choose “Sensitivity Analysis Report”:

Page 16: Linear Programming: Using the Excel Solvercourses.daiict.ac.in/pluginfile.php/4252/mod_resource/content/0/... · Linear Programming: Using the Excel Solver Outline: We will use Microsoft

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?

Page 17: Linear Programming: Using the Excel Solvercourses.daiict.ac.in/pluginfile.php/4252/mod_resource/content/0/... · Linear Programming: Using the Excel Solver Outline: We will use Microsoft

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.)