LINEAR PROGRAMMING OPTIMIZATION: THE BLENDING PROBLEM Introduction We often refer to two excellent products from Lindo Systems, Inc. (lindo.com): Lindo and Lingo. Lindo is an linear programming (LP) system that lets you state a problem pretty much the same way as you state the formal mathematical expression. Lindo allows for integer variables. Lingo, in contrast, is a modeling language. Lingo lets you define sets and work with them, using functions such as SUM. It can also interface with database systems directly, allowing you to develop a data management system easily around the model. Lingo can be used to model and solve nonlinear and integer problems as well. We also refer to the blending problem, a classical example of LP, which follows. The Blending Problem In Chapter 4, we presented a simple product-mix problem and formulated it as an LP. Here, we introduce another classical LP problem, called the blending problem. In preparing Sungold paint, it is required that the paint have a brilliance rating of at least 300 degrees and a hue level of at least 250 degrees. Brilliance and hue levels are determined by two ingredients, Alpha and Beta. Alpha and Beta contribute equally to the brilliance rating; one ounce (dry weight) of either produces 1 degree of brilliance in one drum of paint. However, the hue is controlled entirely by the amount of Alpha; one ounce of it producing 3 degrees of hue in one drum of paint. The cost of Alpha is 45 cents per ounce, and the cost of Beta is 12 cents per ounce. Assuming that the objective is to minimize the cost of the resources, the problem is to find the quantity of Alpha and Beta to be included in the preparation of each drum of paint. FORMULATION OF THE BLENDING PROBLEM The decision variables for this blending problem are: The objective is to minimize the total cost of the ingredients required for one drum of paint. Because the cost of Alpha is 45 cents per ounce, and because x1 ounces are going to be used in each drum, the cost per drum is 45 x1. Similarly, for Beta, the cost is 12 x2. The total cost is, therefore, 45 x1 + 12 x2, and, as our objective function, it is to x2 = Quantity of Beta to be included, in ounces, in each drum of paint x1 = Quantity of Alpha to be included, in ounces, in each drum of paint M04_TURB7293_09_SE_WC04.2.QXD 12/22/09 12:57 PM Page 4 Supplied by Alpha Supplied by Beta Demand 1x1 1x2 300 Supplied by Alpha Supplied by Beta Demand 3x1 0x2 250 + + be minimized subject to the constraints (i.e., relationships among the variables) of the following specifications: 1. To provide a brilliance rating of at least 300 degrees in each drum. Because each ounce of Alpha or Beta increases the brightness by 1 degree, the following rela- tionship exists: Chapter 4 Modeling and Analysis 4-5 2. To provide a hue level of at least 250 degrees, the effect of Alpha (alone) on hue can similarly be written as: 3. Negative quantities of Alpha and Beta are not allowed (i.e., one cannot remove nonexistent chemicals from a drum of paint), so we have non-negativity constraints that are written as: . In summary, the blending problem is formulated as follows: Find x1 and x2 that: subject to: SOLUTION IN EXCEL WITH SOLVER The model is shown in the Excel Worksheet in Figure W4.2.1, and its solution, using Solver, is shown in Figure W4.2.2. The optimum found by Solver in Excel and Lindo is: Note: The solution that is good for one drum will be correct for many drums, as long as capacity or other constraints are not being violated. Optimization models are frequently included in decision support implementations, as is shown in the examples in the text. Total cost = $63.50 x2 = 216.667 x1 = 83.333 x1, x2 0 (non-negativity) 3x1 + 0 x2 250 (hue specification) 1x1 + 1x2 300(brightness specification) Minimize z = 45x1 + 12 x2 x2 0 x1 0 M04_TURB7293_09_SE_WC04.2.QXD 12/22/09 12:57 PM Page 5 4-6 Part II Computerized Decision Support SOLUTION IN LINDO Below we show the input and output using Lindo for the blending problem. MIN .45 x1 + .12 x2 SUBJECT TO DEMAND1) x1 + x2 >= 300 DEMAND2) 3 x1 >= 250 END LEAVE Blend.out file contents: Here are the results of a run of Lindo in solving the blending problem: MIN 0.45 X1 + 0.12 X2 SUBJECT TO FIGURE W4.2.1 Excel Spreadsheet: Initial Model of the Linear Programming Blending Problem M04_TURB7293_09_SE_WC04.2.QXD 12/22/09 12:57 PM Page 6 FIGURE W4.2.2 Excel Spreadsheet: Solver Solution Run for the Linear Programming Blending Problem Chapter 4 Modeling and Analysis 4-7 DEMAND1) X1 + X2 >= 300 DEMAND2) 3 X1 >= 250 END LP OPTIMUM FOUND AT STEP 2 OBJECTIVE FUNCTION VALUE 1) 63.50000 VARIABLE VALUE REDUCED COST X1 83.333336 0.000000 X2 216.666672 0.000000 ROW SLACK OR SURPLUS DUAL PRICES DEMAND1) 0.000000 -0.120000 DEMAND2) 0.000000 -0.110000 NO. ITERATIONS= 2 RANGES IN WHICH THE BASIS IS UNCHANGED: OBJ COEFFICIENT RANGES M04_TURB7293_09_SE_WC04.2.QXD 12/22/09 12:57 PM Page 7 4-8 Part II Computerized Decision Support VARIABLE CURRENT COEF ALLOWABLE INCREASE ALLOWABLE DECREASE X1 0.450000 INFINITY 0.330000 X2 0.120000 0.330000 0.120000 RIGHTHAND SIDE RANGES ROW CURRENT RHS ALLOWABLE INCREASE ALLOWABLE DECREASE DEMAND1 300.000000 INFINITY 216.666672 DEMAND2 250.000000 650.000000 250.000000 General LP Formulation and Terminology Let us now generalize the formulation of the blending problem. Every LP problem is com- posed of the items described in the following sections. DECISION VARIABLES Decision variables are the variables whose values are unknown and are searched for. Usually, they are designated by x1, x2, and so on. OBJECTIVE FUNCTION The objective function is a mathematical expression, given as a linear function, that shows the relationship between the decision variables and a single goal (or objective) under consideration. The objective function is a measure of goal attainment. Examples of such goals are total profit, total cost, share of the market, and the like. If a managerial problem involves multiple goals, we can use the following two-step approach: 1. Select a primary goal whose level is to be maximized or minimized. 2. Transform the other goals into constraints indicating acceptable lower and upper limits, which must only be satisfied. For example, we might attempt to maximize profit (the primary goal) subject to a growth rate of at least 12 percent per year (a secondary goal). There are many alternative approaches to multiple-objective optimization. One is to weight the goals based on importance into a single objective function. Another seeks to obtain the decision makers economic utility functions for each goal. That is beyond the scope of this text. OPTIMIZATION Linear programming attempts to either maximize or minimize the value of the objective function, depending on the models goal. COEFFICIENTS OF THE OBJECTIVE FUNCTION The coefficients of the variables in the objective function (e.g., 45 and 12 in the blending problem) are called the profit (or cost) coefficients. They express the rate at which the value of the objective function increases or decreases by including in the solution one unit of each of a corresponding decision variable. CONSTRAINTS Maximization (or minimization) is performed subject to a set of con- straints. Therefore, LP can be defined as a constrained optimization problem. Constraints are expressed in the form of linear inequalities (or sometimes equalities). They reflect the fact that resources are limited, or the constraints specify some requirements; they also reflect the fact that the variables are related strictly through constants multiplied by variables. M04_TURB7293_09_SE_WC04.2.QXD 12/22/09 12:57 PM Page 8 Chapter 4 Modeling and Analysis 4-9 INPUT/OUTPUT (TECHNOLOGY) COEFFICIENTS The coefficients of the constraints variables are called the input/output coefficients. They indicate the rate at which a given resource is depleted or used. They appear on the left-hand side of the constraints. CAPACITIES The capacities (or availability) of the various resources, usually expressed as some upper or lower limit, are given on the right-hand side of the constraints. The right- hand side also expresses minimum requirements. EXAMPLE These major components of a linear programming model are illustrated for the blending problem: Find x1 and x2 (decision variables) that minimize the value of the linear objective function z: Here, the cost coefficients are 45 and 12, and the decision variables are x1 and x2, subject to the linear constraints: Here, the input/output coefficients are 1,1; 2,0, and the capacities or requirements are 300 and 250. Optimization functions are available in many DSS tools. In addition, optimization packages are available as add-ins for Excel and other DSS tools. Also, it is relatively easy to interface other optimization software with Excel, database management systems (DBMS), and similar tools. 3 x1 + 0 x2 > 250 1 x1 + 1 x2 > 300 z = 45 x1 + 12 x2 M04_TURB7293_09_SE_WC04.2.QXD 12/22/09 12:57 PM Page 9