Lecture 3 Robert Zimmer Room 6, 25 St James Introduction to Optimization Modeling 3.2 Introduction to Optimization ► Common elements of all optimization problems Decision Variables - the variables whose values the decision maker is allowed to choose. Objective Function - value that is to be optimized – maximized or minimized Constraints that must be satisfied ► Excel terminology for optimization Decision variables = changing cells Objective = target cell Constraints impose restrictions on the values in the changing cells. ► ► ► A common form for a constraint is nonnegativity Nonnegativity constraints imply that changing cells must contain nonnegative values. Two steps in solving an optimization problem. Model development – decide what the decision variables are, what the objective is, which constraints are required and how everything fits together Optimize – systematically choose the values of the decision variables that make the objective as large or small as possible and cause all of the constraints to be satisfied. ► ► ► ► A feasible solution is any set of values of the decision variables that satisfies all of the constraints. The set of all feasible solutions is called the feasible region. An infeasible solution is a solution where at least one constraint is not satisfied. The optimal solution is the feasible solution that optimizes the objective. ► ► ► ► An algorithm is basically a “plan of attack”. It is a prescription for carrying out the steps required to achieve some goal. The simplex method is an algorithm that is suitable for linear models. Excel’s Solver tool finds the best feasible solution with the most suitable algorithm. There is really a third step in the optimization process: sensitivity analysis. This step allows us to ask a number of what-if questions about the completed model. Example 3.1 – Two Variable Model Maggie decided she must plan her desserts carefully. Maggie will allow herself no more then 450 calories and 25 grams of fat in her daily desserts. She requires at least 120 grams of desserts a day. Each dessert also has a “taste index”. ► What should her daily dessert plan be to stay within her constraints and maximizes the total taste index of her dessert? ► First step is to identify appropriate decision variables, the appropriate objective, the constraints and the relationships between them. ► Ex. 3.1(cont’d) - Algebraic Model ► Identify the decision variable, write expressions fro the total taste index and the constraints in terms of the x’s. Then add explicit constraints to ensure that the x’s are nonnegative. Maximize 37(85)x1 +65(95)x2 Subject to: 120x1+160x2≤450 5x1+10x2≤25 37x1+65x2≥120 x1,x2 ≥ 0 Ex. 3.1(cont’d) - Graphical Model ► ► ► When there are only two decision variables the problem can be solved graphically. To graph this, consider the associate equality (120x1+160x2=450) and find where the associated line crosses the axes. Graph the constraints on the figure as shown on the next slide. Ex. 3.1(cont’d) - Graphical Model ► ► To see which feasible point maximizes the objective, draw a sequence of lines where, for each, the objective is a constant. The last feasible point that it touches is the optimal point. Ex. 3.1(cont’d) - Spreadsheet Model ► Common elements in all LP spreadsheet models are: Inputs – all numeric data given in the statement of the problem (Blue border) Changing cells – the values in these cells can be changed to optimize the objective (Red border) Target(objective) cell – contains the value of the objective (Double line black boarder) Constraints – specified in the Solver dialog box Nonnegativity – check an option in a Solver dialog box to indicate nonnegative changing cells Ex. 3.1(cont’d) - Spreadsheet Model ► Three stages of the complete solution: Model development stage – enter all inputs, trial values for the changing cells, and formulas relating these in spreadsheet Invoke Solver – designate the objective cell, changing cells, the constraints and selected options, and tell Solver to find the optimal solution. Sensitivity analysis – see how the optimal solution changes as the selected inputs vary Ex. 3.1(cont’d) - Spreadsheet Model ► Solver dialog box for this model. Ex. 3.1(cont’d) - Spreadsheet Model ► Optimal Solution for the Dessert Model Ex. 3.1(cont’d) - Spreadsheet Model ► In this solution the calorie and fat constraints have been met exactly, thus they are binding. The constraint on grams in nonbinding, the positive difference in grams is called slack. 3.4 Sensitivity Analysis ► ► ► Often it is useful to perform sensitivity analysis to see how (or if) the optimal solution changes as one or more inputs change. The Solve dialog box offers you the option to obtain a sensitivity report. Solver’s sensitivity report performs two types of sensitivity analysis: 1. on the coefficients of the objectives, the c’s, and 2. on the right hand sides of the constraints, the b’s. ► The sensitivity report has two sections corresponding to the two types of analysis. Example 3.1’s sensitivity report. ► ► The reduced cost for any decision not currently in the optimal solution indicates how much better that coefficient must be before that variable will enter at a positive level. The term shadow price is an economic term. It indicates the change in the optimal value of the objective function when the right-hand side of some constraint changes by a given amount. ► ► The SolverTable Add-in allows us to ask sensitivity questions about any of the input variables. SolverTable’s can be used in two ways: One-way table – single input cell and any number of output cells Two-way table – two input cells and one or more outputs ► The results are easily interpreted. ► ► For the dessert model, check how sensitive the optimal dessert plan and total taste index are to (1) changes in the number of calories (2) the number of daily dessert calories allowed. The solution to question (1) can be solved by selecting the Data/SolverTable menu item and select a one-way table in the first dialog box. The second dialog box should be completed as shown on the next slide. ► The second question asks us to vary two inputs simultaneously. This requires a two-way SolverTable. Select the two-way option in the first SolverTable dialog box to get the two-way table dialog box. 3.5 Properties of Linear Models ► ► Linear programming is an important subset of a larger class of models called mathematical programming models. Three important properties that LP models possess Proportionality ► If a level of any activity is multiplied by a constant factor, the contribution of this activity to the objective, or to any of the constraints in which the activity is involved, is multiplied by the same factor. Additivity ► This property implies that the sum of the contributions from the various activities to a particular constraint equals the total contribution to that constraint. Divisibility ► This property means that both integer and noninteger levels of the activities are allowed. ► How can you recognize whether a model satisfies proportionality and additivity? ► ► Not easy to recognize in a spreadsheet model because the logic of the model can be embedded in a series of cell formulas. Often it is easier to recognize when a model is not linear. Two situations that lead to nonlinear models are when 1. there are products or quotients of expressions involving changing cells, and 2. there are nonlinear functions, such as squares, square roots, or logarithms, of changing cells. ► ► ► Real-life problems are almost never exactly linear. However, a linear approximation often yields very useful results. In terms of Solver, if the model is linear the Assume Linear Model box must be checked in the Solver Options dialog box. Check the Assume Linear Model box even if the divisibility property is violated. ► If the Solver returns a message that “the condition for Assume Linear Model are not satisfied” it can indicate a logical error in your formulation. can also indicate that Solver erroneously thinks the linearity conditions are not satisfied. ► Try not checking the Assume Linear model box and see if that works. In any case it always helps to have a wellscaled model. 3.6 Infeasibility and Unboundedness ► It is possible that there are no feasible solutions to a model. There are generally two possible reasons for this: 1. There is a mistake in the model (an input entered incorrectly) or 2. the problem has been so constrained that there are no solutions left. ► In general, there is no foolproof way to find the problem when a “no feasible solution” message appears. ► ► ► A second type of problem is unboundedness. Unboundedness is that the model can be made as large as possible. If this occurs it is likely that a wrong input has been entered or forgotten some constraints. Infeasibility and unboundedness are quite different. It is possible for a model to have no feasible solution but no realistic model can have an unbounded solution. Example 3.2 – Product Mix Model ► ► ► ► ► The product mix problem is basically to select the optimal mix of products to produce to maximize profit. The Monet company produces four types of picture frames. The four types differ with respect to size, shape and materials used. Each frame requires a certain amount of skilled labor, metal and glass. They also all have different selling prices. Monet can produce in the coming week but they do not want any inventory at the end of the week. What should the company do to maximize its profit for this week? Ex. 3.2(cont’d) - Algebraic Model Maximize Subject to 6x1 + 2x2 + 4x3 + 3x4 2x1 + x2 + 3x3 + 2x4 4x1 + 2x2 + x3 + 2x4 x1 x2 x3 x4 (profit objective) 4000 (labor constraint) 10,000 (glass constraint) 1000 (frame 1 sales constraints) 2000 (frame 2 sales constraints) 500 (frame 3 sales constraints) 1000 (frame 4 sales constraints) x1, x2, x3, x4 0 (nonnegativity constraint) Ex. 3.2(cont’d) - Spreadsheet Model ► To develop the spreadsheet model follow these steps: Inputs - Enter the various inputs in the shaded ranges. Enter only numbers, not formulas in the input cells. Range names – Name the ranges as indicated. Changing cells - Enter any four values in the range named Produced. Resources used - Enter the formula =SUMPRODUCT (B9:E9,Produced) in cell B21 and copy it to the rest of the Used range. Revenues, costs, and profits – Enter the formulas to calculate these values. ► ► ► ► The optimal solution for the product mix model is shown on the next slide. The sensitivity analysis allows us to experiment with different inputs to this problem. Simply change the inputs and then rerun Solver. Use SolverTable to perform a more systematic sensitivity analysis on one or more input variables. Additional insight can be gained from Solver’s sensitivity report. Example 3.3 – Another Product Mix Model ► ► ► ► Pigskin company must decide how many footballs to produce each month. It has decided to us a 6-month planning horizon. Pigskin wants to determine the production schedule that minimizes the total production and holding costs. By modeling this type of problem, one needs to be very specific about the timing events. By modifying the timing assumptions in this type of model, one can get alternative – and equally realistic – models with very different solutions. Ex. 3.3(cont’d) - Algebraic Model ► ► ► The decision variables are the production quantities for the 6 months (P1 through P6). I1 through I6 is the corresponding end-of-month inventories. The obvious constraints are on the production and inventory storage capacities for each month, j. In addition, "balance” constraints that relate to P’s and I’s are needed. The balance equation for the month j is Ij-1 + Pj = Dj + Ij. Ex. 3.3(cont’d) - Algebraic Model ► By putting all variables (P’s and I’s) on the left and all known values on the right (a standard LP convention), these balance constraints become I1 I2 I3 I4 I5 ► P1 – I1 = 100-50 + P2 – I2 = 150 + P3 – I3 = 300 + P4 – I4 = 350 + P5 – I5 = 250 + P6 – I6 = 100 The goal is to minimize the sum of production and holding costs. It is the sum of unit production costs multiplied by P’s, plus until holding costs multiplied by I’s. ► ► ► ► Ex. 3.3(cont’d) - Spreadsheet Model The difference between this model from the product mix model is that some of the constraints are built into the spreadsheet itself by means of the formulas. The only changing cells are production quantities. The decision variables in an algebraic model are not necessarily the same as the changing cells in an equivalent spreadsheet model. To develop the spreadsheet model: Inputs - Enter the inputs in the shaded ranges. Name ranges – Name ranges indicated. Ex. 3.3(cont’d) - Spreadsheet Model Production quantities - Enter any values in the range Produced as the production quantities. As always, you can enter values that you believe are good, maybe even optimal. On-hand inventory - Enter the formula =B4 + B12 in cell B16. This calculates the first month on-hand inventory after production. Then enter the “typical” formula =B20 + C12 for on-hand inventory after production in month 2 in cell C16 and copy it across row 16. Ending inventories - Enter the formula =B16 – B18 for ending inventory in cell B20 and copy it across row 20. Production and holding costs - Enter the formula calculate the monthly holding costs. Finally, calculate the cost totals in column H by summing with the SUM function. Ex. 3.3(cont’d) - Spreadsheet Model ► The optimal solution from Solver. Ex. 3.3(cont’d) - Spreadsheet Model ► ► SolverTable can be used to perform a number of interesting sensitivity analyses. In multiperiod models, the company has to make forecasts about the future, such as the level of demand. The length of the planning horizon is usually the length of time for which the company can make reasonably accurate forecasts. 3.10 Decision Support System ► ► ► Many people who are not experts need to use models. It is useful to provide these users with a decision support system (DSS) that can help them solve problems without having to worry about technical details. The users sees a “front end” and a “back end”. The front end allows them to select input values. The back end then produces a report that explains the optimal policy in nontechnical terms. ► A “front-end” for a problem similar to the Pigskin model. ► A “back-end” for a problem similar to the Pigskin model.