VIEWS: 5 PAGES: 85 POSTED ON: 9/8/2010
IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 EM506 Systems Engineering and Operations Research Summer 2010 07.09.2010 Dr. Engin Aktaş 1 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 2.0 The Simplex Method and Sensitivity Analysis 07.09.2010 Dr. Engin Aktaş 2 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 The simplex method provides a complete analysis of a linear program. When applied to a linear program •The simplex method determines whether or not the linear program has a feasible solution. •If the linear program does have a feasible solution, the simplex method determines whether or not its objective is bounded •If the linear program is feasible and bounded, the simplex method finds an optimal solution to it. The simplex method is developed by George B. Dantzig in 1947. 07.09.2010 Dr. Engin Aktaş 3 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Standard LP Form 1. All the constraints (with the exception of the nonnegativity restrictions on the variables) are equations with nonnegative right-hand side. 2. All the variables are nonnegative. 3. The objective function may be of the maximization or the minimization problem slack Conversion of inequalities into equations surplus For example x1 2 x2 3 x1 2 x2 s1 3 3x1 x2 5 3x1 x2 S1 5 Conversion of unrestricted variable into nonnegative variables x j x x , j j x , x 0 j j 07.09.2010 Dr. Engin Aktaş 4 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Algorithm for Simplex Method Step1: Using slack variables, convert the LP problem to a system of linear equations. Step 2: Set up the initial tableau. Step 3: Select the pivot column. The rule for the selecting a pivot column is this: Look at all the numbers in the bottom row, excluding the Answer column. From these, choose the negative number with the largest magnitude. Its column is the pivot column. (If there are two candidates, choose either one.) If all the numbers in the bottom row are zero or positive, then you are done, and the basic solution is the optimal solution. Step 4: Select the pivot in the pivot column. 1) The pivot must always be a positive number. (This rules out zeros and negative numbers) 2) For each positive entry b in the pivot column, compute the ratio a/b, where a is the number in the rightmost column in that row. We call this a test ratio. 3) Of these ratios, choose the smallest one. The corresponding number b is the pivot. Step 5: Use the pivot to clear the pivot column in the normal manner. This gives the next tableau. Step 6: Repeat Steps 3-5 until there are no more negative numbers in the bottom row (with the possible exception of the Answer column). The solution for the LP problem is then the basic solution associated with the final tableau. 07.09.2010 Dr. Engin Aktaş 5 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Let’s use an example to provide simple interpretation of the simplex method. Maximize 2A+3B Subject to A ≤ 6, A+ B ≤ 7, 2 B ≤ 9, - A + 3 B ≤ 9, A ≥ 0, B ≥ 0. First step is to change program to a format that facilitates pivoting called Form 1. A linear program is said to be written in Form 1 if • Its objective is to maximize the quantity z or to minimize z. • Each decision variable other than z is constrained to be nonnegative. •All other constraints are equations 07.09.2010 Dr. Engin Aktaş 6 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Maximize z Subject to -2 A - 3 B +z =0 1A + s1 = 6, 1A+ 1 B + s2 = 7, 2 B + s3 = 9, -1 A + 3 B + s4 = 9, A ≥ 0, B ≥ 0, si ≥0 for i=1, 2, 3, 4. A canonical form is the format that each linear program can be converted Form 1 is a canonical form, which we can verify through the following observations; •Form 1 encompasses maximization problems and minimization problems •An equation can be included that equates z to the value of the objective •Each inequality constraint can be converted into an equation by insertion of a nonnegative variable •Each variable that is unconstrained in sign can be replaced by the difference of two nonnegative variables 07.09.2010 Dr. Engin Aktaş 7 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 smallest of the Largest magnitude test ratio gives Pivot column negative value the pivot To obtain the basic solution in a tableau, look for the columns that are cleared (all zeros except for one entry) Active Variables s1=6 s2=7 s3=9 s4=9 z=0 Inactive Variables A=0 B=0 Notice that the current value of z (z = 0) hardly seems like a maximum value. In the simplex method, we obtain larger and larger values of p by pivoting and then looking at the new basic solution. 07.09.2010 Dr. Engin Aktaş 8 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 A B s1 s2 s3 s4 z RHS test ratio 1 0 1 0 0 0 0 6 1 1 0 1 0 0 0 7 7 0 2 0 0 1 0 0 9 4.5 -1 3 0 0 0 1 0 9 3 -2 -3 0 0 0 0 1 0 First Row: 1*R1 Second Row: 3*R2-R4 Third Row : 3*R3-2*R4 Pivot Fourth Row: 1*R4 Column Fifth Row: 1*R5+1*R4 A B s1 s2 s3 s4 z RHS test ratio 1 0 1 0 0 0 0 6 6 4 0 0 3 0 -1 0 12 3 2 0 0 0 3 -2 0 9 4.5 -1 3 0 0 0 1 0 9 -3 0 0 0 0 1 1 9 07.09.2010 Dr. Engin Aktaş 9 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 A B s1 s2 s3 s4 z RHS test ratio 1 0 1 0 0 0 0 6 6 4 0 0 3 0 -1 0 12 3 2 0 0 0 3 -2 0 9 4.5 -1 3 0 0 0 1 0 9 -3 0 0 0 0 1 1 9 First Row: 4*R1-1*R2 Second Row: 1R2 No more negative values in Third Row : 2*R3-1*R2 the last row Fourth Row: 4*R4+R2 So the process is completed Fifth Row: 4*R5+3*R2 A B s1 s2 s3 s4 z RHS test ratio 0 0 4 -3 0 1 0 12 4 0 0 3 0 -1 0 12 0 0 0 -3 6 -3 0 6 0 12 0 3 0 3 0 48 0 0 0 9 0 1 4 72 The optimal solution is then A B s1 s2 s3 s4 z 3 4 3 0 1 0 18 07.09.2010 Dr. Engin Aktaş 10 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Graphical LP Solution 07.09.2010 Dr. Engin Aktaş 11 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Non Basic Variables Basic Variables x1 x2 s1 s2 s3 s4 z RHS test ratio 6 4 1 0 0 0 0 24 4 1 2 0 1 0 0 0 6 6 -1 1 0 0 1 0 0 1 -1 0 1 0 0 0 1 0 2 #DIV/0! -5 -4 0 0 0 0 1 0 Entering Variable Exiting Variable x1 x2 s1 s2 s3 s4 z RHS test ratio 6.000 4.000 1.000 0.000 0.000 0.000 0.000 24.000 6 0.000 1.333 -0.167 1.000 0.000 0.000 0.000 2.000 1.5 0.000 1.667 0.167 0.000 1.000 0.000 0.000 5.000 3 0.000 1.000 0.000 0.000 0.000 1.000 0.000 2.000 2 0.000 -0.667 0.833 0.000 0.000 0.000 1.000 20.000 Basic Variables Non Basic Variables Basic Variables x1 x2 s1 s2 s3 s4 z RHS test ratio 6.00 0.00 1.50 -3.00 0.00 0.00 0.00 18.00 0.00 1.33 -0.17 1.00 0.00 0.00 0.00 2.00 0.00 0.00 1.50 -5.00 4.00 0.00 0.00 10.00 0.00 0.00 0.13 -0.75 0.00 1.00 0.00 0.50 0.00 0.00 1.50 1.00 0.00 0.00 2.00 42.00 07.09.2010 Dr. Engin Aktaş 12 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Graphical LP Solution 07.09.2010 Dr. Engin Aktaş 13 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 x1 x2 s1 s2 s3 s4 z RHS 1 0 0.25 -0.5 0 0 0 3 0 1 -0.125 0.75 0 0 0 1.5 0 0 0.375 -1.25 1 0 0 2.5 0 0 0.125 -0.75 0 1 0 0.5 0 0 0.75 0.5 0 0 1 21 x1 = 3 x2 = 1.5 s3 = 2.5 s4 = 0.5 07.09.2010 Dr. Engin Aktaş 14 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Guidelines to Formulation To formulate a linear program, one must answer these two questions •What are the decision variables? •What are the constraints? Neither answer is obvious. Here are some guidelines to help construct a linear program. Identifying the Decision Variables • A quantity is a natural candidate for a decision variable if it can vary and if a cost or revenue varies with it. •Try to organize the information into diagram or table 07.09.2010 Dr. Engin Aktaş 15 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Identifying the Constraints First lets identify several types of constraints • A conservation constraint reflects the fact that something is conserved. • A bounding constraint places either a lower bound or an upper bound on some quantity. This bound may represent capacity. • A ratio constraint is the linearization of a constraint on the ratio of two linear expressions. When building a linear program, look for • Conservation – of matter, cash, people, flow, and so forth • Bounds – including nonnegativity, capacities, and minimum requirements • Ratio – on the proportion of some quantity 07.09.2010 Dr. Engin Aktaş 16 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Common Errors and Tips Avoid Them Tips that avoid common errors: • To make the constraints easy to read, use mnemonics (memory aids) when you name the decision variables. • Remember that each decision variable is a quantity. Define it precisely, including its unit of measure. • Check for consistent units of measure. Each term in a constraint must have the same unit of measure; each term in the objective must have the same unit of measure . • Check that the linear program includes all of the relevant information. Tips on Inequalities • Check that the capacity constraints and the other upper and lower bounds are written as inequalities, not as equations. • Remember to include the nonnegativity constraints 07.09.2010 Dr. Engin Aktaş 17 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Cracking and Blending Problem A small refinery uses heat to crack crude oil into its constituents and then blends them into two products, which are Regular and Premium grades of unleaded gasoline. A Barrel =42 gallons Cracking facilities in this refinery • Method A: Converts each barrel of crude oil into one barrel of 93 octane gasoline • Method B: Converts each barrel of crude oil into one barrel of 85 octane gasoline Variable cost Method A = $4.80 Method B = $2.30 These cracking technologies operate independently of each other The refinery has the capacity to process 4000 barrels per month using Method A and 9000 barrels per month using Method B. Regular gasoline must have an octane rating of at least 87, whereas Premium gasoline must have an octane rating of at least 91. The octane blend of a blend is proportional to the fractions of its constituents. For instance, blending one barrel of 93 octane gasoline with three barrels of 85 octane gasoline produces four barrels of 87 octane gasoline. 07.09.2010 Dr. Engin Aktaş 18 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Selling price from refinery for this month: • $32.76 per barrel (Regular) • $38.22 per barrel (Premium) Refinery pays $18.60 per barrel of crude oil. Refinery can sell all the Regular gasoline it can produce but can sell only 3000 barrels per month of Premium. The refinery must produce at least at least 4500 barrels of Regular gasoline each month because it has a long-term contract to this amount. The refinery is not able to store crude or refined products. Each month, it buys the amount of crude oil that will be cracked, blended, and sold. The goal is to maximize contribution (profit). How shall the refinery be operated this month? 07.09.2010 Dr. Engin Aktaş 19 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Lines are called arcs. A Network Flow Diagram for this problem Circles are called nodes. AR 2 4 R • Flow occurs along each arc in A the direction of its arrow C AP 1 • Flow is conserved along each arc; what flows in the tail end of BR B an arc comes out the head 3 5 P end. BP • Flow is also conserved at each node. The total of the Decision variables flows into a node equals the C = the quantity of crude oil purchased total of the flows out of it. A = the quantity of crude oil refined by Method A B = the quantity of crude oil refined by Method B AR = the quantity of the output of Method A cracking that are blended into Regular gasoline AP = the quantity of the output of Method A cracking that are blended into Premium gasoline BR = the quantity of the output of Method B cracking that are blended into Regular gasoline BP = the quantity of the output of Method B cracking that are blended into Premium gasoline R = the quantity of Regular gasoline produced P = the quantity of Premium gasoline produced 07.09.2010 Dr. Engin Aktaş 20 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 What Does This Network Flow Diagram Omit? • The capacities of the two cracking facilities • The bound on the amount of Regular and Premium fuel that the refinery produces • The octane requirement of each grade of gasoline • The contribution Lets add constraints to account for each feature A ≤ 4000 B ≤ 9000 R ≥ 4500 P ≤ 3000 93 AR 85 BR R 87 93 AR 85 BR 87 R 93 AP 85 BP P 91 93 AP 85 BP 91 P All that remains is to measure the contribution 32.76 R + 38.22 P – 18.6 C – 4.80 A – 2.30 B The problem is to maximize this expression subject to the linear constraints that have been listed above. 07.09.2010 Dr. Engin Aktaş 21 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 The Linear Program is then Maximize32.76 R 38.22 P 18.6 4.80 A 2.30 B subjected to : C A B, A AR AP, B BR BP, AR BR R, AP BP P, A 4000, B 9000, R 4500, P 3000, 93 AR 85BR 87 R , 93 AP 85BP 91 P, C 0, A 0, B 0, AR 0, AP 0, BR 0, BP 0, R 0, P 0. 07.09.2010 Dr. Engin Aktaş 22 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 07.09.2010 Dr. Engin Aktaş 23 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 07.09.2010 Dr. Engin Aktaş 24 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 07.09.2010 Dr. Engin Aktaş 25 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Shipping This area of application of linear programming was pioneered by Tjalling C. Koopmans, who formulated trans-Atlantic shipping problems as “transportation” problems. This produces insights helped him to propel toward a Nobel Prize in Economics. The Flow of Material Examples • The flow of petroleum from wells through refineries and markets • The flow of commercial airplanes between cities •The flow of messages through telecommunication system • etc. 07.09.2010 Dr. Engin Aktaş 26 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Sample Problem (Production and Distribution) A forest products company manufactures plywood in three plants and ships it to four depots (warehouses), from which it sold to retails. Each plant lies within its own timber zone, and each plant has a production capacity for the current month. Check the table below for capacities. For example, plant 1 has the capacity to produce as many as 2500 units of plywood this month. Each depot serves its own market, which has a demand for the current month. These demands must be satisfied exactly and are specified in the table. For example, exactly 2000 units must be shipped this month to depot 1. Table also specifies the unit shipping costs. For example, the cost of shipping each unit from plant 1 to depot 1 is $4. The cost of producing plywood has been omitted because it is the same in each plant. 07.09.2010 Dr. Engin Aktaş 27 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Depots (demand nodes) Plants =2000 (supply node) 1 ≤2500 1 =3000 2 ≤4000 2 =2500 3 ≤3500 3 =1500 4 07.09.2010 Dr. Engin Aktaş 28 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 A linear program modeled like in the previous slide known as a transportation problem. In a transportation problem • The nodes form into two groups: supply nodes and demand nodes. • Each shipment occurs from one of the supply nodes to one of the demand nodes. The definition of he transportation problem contains an element of ambiguity. In some formulations, the demands must be satisfied exactly, whereas in other formulations, the demands are lower bounds, These two variants of the transportation are genuinely different because it can be cheaper to ship more than the minimum requirements Transshipment and Assignment Problems Many shipping problems fail to be transportation problems because they have transshipment points, these are nodes that receive and send shipments. Transshipment problem In a special case of transportation problem, exactly one unit is available at each supply node and exactly one unit is required at each demand node. Assignment problem 07.09.2010 Dr. Engin Aktaş 29 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 07.09.2010 Dr. Engin Aktaş 30 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 07.09.2010 Dr. Engin Aktaş 31 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Tight constraints Plant 1 and 3 are fully utilized, the plant 2 is underutilized. 07.09.2010 Dr. Engin Aktaş 32 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Depots (demand nodes) Plants =2000 (supply node) 1 ≤2500 1 =3000 2 ≤4000 2 =2500 3 ≤3500 3 =1500 4 07.09.2010 Dr. Engin Aktaş 33 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 The Network Flow Model • A network flow model arises frequently • A network flow model is easy to spot once you learn what to look for • Some network flow models can be guaranteed to have optimal solutions that are integer-valued. arc arc i node Each arc fails into one of two classes 1) i or i 2) i j Direction of movement or of flow 07.09.2010 Dr. Engin Aktaş 34 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 A network flow model is a linear program whose decision variables are the flows on the arcs of a directed network. tail head Flow in Flow out Flow in = Flow out Flow pointing into node Flow pointing out of node i node Flow pointing into node = Flow pointing out of node Each arc in a network flow model has three elements of data • A lower bound of its flow: may be zero or positive • An upper bound of flow: at least as large as the lower bound, and may be as large as +∞ • In minimization prob., each arc has a unit cost. In a maximization prob. has a unit profit. The cost (or profit) of a flow on an arc equals the product of the arc’s unit cost (profit) times the amount of the flow. 07.09.2010 Dr. Engin Aktaş 35 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Integer-valued Variables In many applications, the flows in a network flow model are quantities whose values must be integers. There is a simple hypothesis under which at least one optimal solution to a network flow model is guaranteed to be integer-valued. A network flow model is said to have integer bounds if each arc’s lower and upper bound is an integer or is plus infinity. Integrality Theorem: In a network flow model that has integer bounds, every extreme point assigns to each arc a flow whose value is an integer. How Can You Identify a Network Flow Model? First write each node’s conservation of flow equation as “flow out – flow in = zero” Flow on a arc can appear only in these ways • In the arc’s lower bound constraint • In the arc’s upper bound constraint • In the flow conservation constraint (flow out of a node) • In the flow conservation constraint (flow into a node) • In the objective function In any variable appears in any other way, it is not a network flow model. 07.09.2010 Dr. Engin Aktaş 36 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Workforce Planning The workforce planning problem is that of matching staffing levels to the company’s needs. Example A priority mail company operates a distribution office around the clock. Its minimum staffing needs appear in Table below. For instance, 15 employee are needed between 6 A.M. and 10 A.M. Each employee is assigned to one of six shifts, which start at 2 A.M. and every four hours thereafter. The second shift starts at 6 A.M., the third shift starts at 10 A.M., and so forth. Each shift lasts eight hours. Employees earn 20% overtime pay for each hour worked between 6 P.M. and 6 A.M. The company has asked you to set staffing levels on each shift that meet or exceed the staffing needs in each period and, subject to that requirement, minimizes the payroll cost. Minimum staffing level in each period 07.09.2010 Dr. Engin Aktaş 37 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 07.09.2010 Dr. Engin Aktaş 38 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 If we forget about the variables be integer-valued, the result would not differ. The problem is a network flow problem with integer bounds. The Integrality theorem guarantee that the simplex method finds an optimal solution that is integer-valued. The requirement that the variables be integer-valued is unnecessary 07.09.2010 Dr. Engin Aktaş 39 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Maximizing the Flow A max-flow problem is a network flow model that has two distinguished nodes, which are called the source and sink. The object of a max-flow problem is to send the maximum flow from the source node to sink node, while satisfying the capacity constraint on each arc and the flow conservation at each intermediary node Example Because of an electrical breakdown, a city is in need of electrical power. There is ample reserve power at a nearby hydroelectric station. Figure in the next slide depicts the portion of the power grid that connects the hydroelectric station to the city. Each power link is represented by an arc or by a pair of arcs. The hydroelectric station is connected by a power line (arc) to node 1 of this figure. This city is connected by a power line (arc) to node 8. Each node depicts the junction of at least three power lines. Adjacent to each intermediary arc is the spare capacity of its power line in the arc’s direction of flow. For instance, the power line between nodes 3 and 6 has eight units of spare capacity in the 3-to-6 direction and three units of spare capacity in the 6-to03 direction . Transmission losses along the power lines are negligible, so flow is conserved along each arc. Flow is also conserved at each node of the power grid. How much added power can be supplied to this city? How can it be routed to the city? 07.09.2010 Dr. Engin Aktaş 40 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 8 3 3 6 18 12 5 4 1 4 2 9 8 9 11 18 19 2 3 8 7 5 2 5 07.09.2010 Dr. Engin Aktaş 41 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 07.09.2010 Dr. Engin Aktaş 42 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Problem on Recreational Vehicles In a plant 3 different models of hours per week recreational vehicle is produced. The plant manager wishes to learn what production mix maximizes the profit that can be obtained from this plant Some definitions hours per car Variable Costs: expense that is incurred if the action is taken Fixed Costs: A cost that is incurred whether or not that action is taken Contribution: Revenue that an action creates less its variable cost 07.09.2010 Dr. Engin Aktaş 43 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Problem on Recreational Vehicles 07.09.2010 Dr. Engin Aktaş 44 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 The decision variables are S = # of Standard model vehicles made per week F = # of Fancy model vehicles made per week L = # of Luxury model vehicles made per week The linear program is Maximize 840 S + 1120 F + 1200 L subjected to Engine Shop: 3S + 2F + 1L ≤ 120, Body Shop: 1S + 2F + 3L ≤ 80, Standard Finishing: 2S ≤ 96, Fancy Finishing: 3F ≤ 102, Luxury Finishing: 2L ≤ 40, S ≥ 0, F ≥ 0, L ≥ 0. 07.09.2010 Dr. Engin Aktaş 45 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Slack and Tight Constraints An inequality constraint is said to be tight if it is satisfied as an equation and to be slack if it is satisfied as a strict inequality. Shaded constraints are tight constraints. They will help us to relate the optimal solution to the situation that the linear program models. 07.09.2010 Dr. Engin Aktaş 46 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 The Perturbation Theorem If the data of a linear program are perturbed by small amounts, its optimal solution can change, but its tight constraints stay tight, and its slack constraints stay slack. Optimal Solution? For example considering the recreational vehicle problem • Make Standard model vehicles 20 per week, make Fancy model 30 per week, make no Luxury model vehicles •Keep the Engine and Body shops busy making Standard and Fancy model vehicles and make no Luxury model vehicles In case the model is exact, both are identical. But when data is a little off, first one may not be optimal The second way is still valid when the data are not exact. It is the perturbation theorem that assures us it stays feasible and optimal for a range of data. 07.09.2010 Dr. Engin Aktaş 47 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 How a Linear Program Approximates Reality The reasons why the model is an approximation • Uncertainty •Aggregation •Linearization Are the data we used in recreational vehicle model certain? No, the data are UNCERTAIN!!! For example: Engine shop capacity taken to be 120 machine in a representative week. But in the cases of •Routine maintenance •Machine breakdowns •Shortages of vital parts •Absence of key workers •Power failures and other unforeseen events As it is clear, the number of hours in a particular week could be larger or smaller. This is also true for other constraints. Because of that uncertainty in the data is one reason that models are approximate. 07.09.2010 Dr. Engin Aktaş 48 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 In the models we lump together several activities an a single entity. For example Engine Shop, it is actually a system consisting of people , tools and machines. Because of the aggregation the model is approximate. Finally, linearization makes the model an approximation. When we express the capacity constraints, we assumed a linear interaction between the vehicle types. Unfortunately real interactions are more complicated and nonlinear in nature. We simplified the problem and constructed a model by aggregation and linearization. That is what we should do, otherwise solution would be intractable. IMPORTANT!!!!! We have to check the influence of the simplifications on optimal solution. 07.09.2010 Dr. Engin Aktaş 49 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Is the optimal solution to the linear program robust? Sensitivity Analysis is required to answer that. Change the data susceptible, rerun the linear program and measure the changes in optimal solution. Linear programming allows to do that without rerunning by the help of Perturbation Theorem. 07.09.2010 Dr. Engin Aktaş 50 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 A Shadow Price and its Range Due to Perturbation Theorem, optimal solution should keep the tight constraints tight 3S + 2F + 1L = 120 + d , 1S + 2F + 3L = 80, L = 0. Solving the above system gives S = 20 + 0.5 d, F = 30 - 0.25 d, L = 0. And optimal value becomes Optimal value = 840 x (20 + 0.5 d) + 1120 x (30 – 0.25 d) + 1200 x 0 = 50,400 + 140 d. A change in capacity of the Engine Shop produces a a change of 140 d in the optimal values. Each constraint's shadow price equals the change in the optimal value per unit change in that constraint’s right-hand-side value. 07.09.2010 Dr. Engin Aktaş 51 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Unit of Measure The unit of measure of the shadow price is equal to the unit of measure of objective function divided by unit of measure of the constraint For example in recreational vehicle problem Objective function $/week Constraints hours/week So unit of measure of shadow price for this example is $/week = $ / hour hours/week 07.09.2010 Dr. Engin Aktaş 52 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Breakeven Prices The shadow prices are breakeven prices. The manager of the recreational vehicle plant should: •Augment the Engine shop capacity if the cost is below $140 per hour •Not augment the Engine shop capacity if the price is above $140/hr •Decrement (rent out) some Engine shop capacity if she can receive a price above $140/hr •Not decrement the Engine shop capacity at a price below $140/hr. If the capacity is altered, then according to Perturbation Theorem the production levels should be adjusted to keep the tight constraints tight and slack constraints slack. How much capacity alteration can be made?????? 07.09.2010 Dr. Engin Aktaş 53 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 The Range for Which a Shadow Price Applies For each shadow price there is a range where the Perturbation Theorem holds. At each end of a range, a slack constraint becomes tight. The shadow price of the Engine shop ($140/hr) was found by solving the following system S = 20 + 0.5 d, F = 30 - 0.25 d, L = 0. •The perturbed solution must stay feasible •The production levels must stay nonnegative •The capacity constraint on each finishing shop must be satisfied • 0≤ S = 20 + 0.5 d d = -20 / 0.5 = -40 Largest • 0≤ F = 30 - 0.25 d d = -30 /(- 0.25) = 120 d = 56 • 96 ≥ 2 S = 40 + d d =56 Smallest •102 ≥ 3 F = 90 – 0,75 d d =12/(- 0.75) = -16 d = -16 • 40 ≥ 2 L = 0 all the d values 07.09.2010 Dr. Engin Aktaş 54 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 So, for d > 56 or d < -16, this perturbed solution is not feasible. Why? Because the constraints are violated. In general Each shadow price applies to a range of changes in the right- hand-side value of the constraint •The end-points of this range are called the allowable increase and allowable decrease. •At each end-point, a slack constraint becomes tight. 07.09.2010 Dr. Engin Aktaş 55 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Sensitivity to the Right-Hand-Side Values These are slack constraints The capacities are underutilized Perturbing their right-hand-side value do not change optimal value. If the optimal value satisfies a constraint as a strict inequality, that constraint’s shadow price equal to zero. The shadow prices apply to simultaneous changes in the right-hand-side values if and only if these changes are small enough that the solution that keeps the tight constraints stays feasible. 07.09.2010 Dr. Engin Aktaş 56 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Opportunity Cost and Marginal Profit The opportunity cost of doing something equals the reduction in profit that occurs if you set aside (free up) the resources that are needed to do a new thing. =B$8-B$10 =SUMPRODUCT(D3:D7,$H3:$H7) The marginal profit for doing something equals its contribution less the opportunity cost of the resources that must be freed up to accomplish that thing. 07.09.2010 Dr. Engin Aktaş 57 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Suppose that the optimal solution to a linear program equates a variable to a positive value. Then •This variable’s contribution equals the opportunity cost of the resources that would need to be diverted to make one unit if the commodity that it represents. •Equivalently, this variable’s marginal profit equals zero. 07.09.2010 Dr. Engin Aktaş 58 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Sensitivity to Objective Function Coefficients The optimal solution is unchanged for a range of increases and decreases in an objective coefficient Adjustable Cells Final Reduced Objective Allowable Allowable Cell Name Value Cost Coefficient Increase Decrease $B$9 value of variable S 20 0 840 200 280 $C$9 value of variable F 30 0 1120 560 100 $D$9 value of variable L 0 -200 1200 200 1E+30 Optimum solution does not change when a type vehicle contribution lies between Obj. Coeff. – Allow. Dec. and Obj. Coeff. + Allow. Inc. Beyond that range the optimal solution changes. In a maximization problem, the reduced cost of each variable equals its marginal profit, namely, its contribution less the opportunity cost of the resources that are needed to make one unit of the commodity that it represents Actually it is marginal profit. 07.09.2010 Dr. Engin Aktaş 59 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Computing the Shadow Prices The information we have •If a constraint is slack, its shadow price is zero. •If a variable is positive, its contribution equals its opportunity cost, which means that its reduced cost equals zero. Shadow Prices: E, B, SF, LF and FF Last three are slack variables SF = 0 FF = 0 LF = 0 The optimal solution gives S and F as positive values and reduced cost should be zero 0 = 840 – [ 3 E + 1 B + 2 SF] 0 = 1120 – [2 E + 2 B + 3 FF] Solving this system gives E = 140 B = 420 07.09.2010 Dr. Engin Aktaş 60 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 07.09.2010 Dr. Engin Aktaş 61 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 07.09.2010 Dr. Engin Aktaş 62 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Shadow Prices ad What if Questions An Alternate Use of Capacity? If someone offers to rent five hours of Engine shop capacity for one week for $1000. Is it profitable to accept this offer? In analysis we found out that the shadow price is $140 per hour and valid for decreases up to 16 hours. Net profit = $1000 – 5 x $140 = $300 So, accepting that offer will increase contribution by $300. A New Tool? An engineer proposes a new tool to cut time spent for Luxury model in Body shop from 3 hrs to 2.6 hrs. Should this tool be bought? The opportunity cost of one Luxury model vehicle would change. O.C. of one Luxury vehicle = 1 x 140 + 2.6 x 420 + 2 x 0 = $1232 So, the marginal profit by making one Luxury model vehicle would equal 1200 – 1232 = -32. It is not worthwhile, independent of its cost. 07.09.2010 Dr. Engin Aktaş 63 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 An Improved Tool? An engineer proposes a new tool to cut time spent for Luxury model in Body shop from 3 hrs to 2 hrs. Should this tool be bought? O.C. of one Luxury vehicle = 1 x 140 + 2 x 420 + 2 x 0 = $980 1200 – 980 = 220 > 0, Luxury model vehicles would become profitable The linear program would be rerun, and judged whether that amount justifies the cost of tool. General If the optimal solution equates a variable to zero, you can use Principle the shadow prices to see how to reduce its opportunity cost below its contribution, thereby making it profitable. A New Activity? After the linear program run, we might want to see whether adding another activity would be profitable? Computing the marginal profit of such an activity is known as pricing out that activity. A new vehicle, Nifty is proposed; it requires 2 hrs in the E.S., 2.5 hrs in the B.S., and 1.5 hrs in the S.F.S., each Nifty would be sold with a contribution of $1300. O.C. of one Nifty = 2 x 140 + 2.5 x 420 + 1.5 x 0 = $1330 Marginal profit = 1300 – 1330 = -30 The Nifty model is not profitable. 07.09.2010 Dr. Engin Aktaş 64 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Insight •The Perturbation theorem describes the optimal solution in a way that can implemented when the model is inexact. •The ranges of the right-hand-side values and on the objective coefficients give a feel for the extent t which varying these data keeps the solution optimal. •The shadow prices indicate why this solution take the form that it does. 07.09.2010 Dr. Engin Aktaş 65 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Minimizing Cost Up to now we have worked on maximization problems. Sometimes an optimization problem may require to find the minimum. For example • A commuter may wish to find the quickest way to destination •An engineer may wish to complete a project as inexpensively as possible and in the time allotted. Switching the Sense of Optimization It is easy to convert minimization and maximization problems into each other, by simply multiplying each objective coefficient by -1 and reverse the sense of optimization. Net revenue = Income – Expenditure Net cost = Expenditure - Income But you don’t need to convert minimization problem to maximization one to solve. Solver is capable of solving the minimization problem as well. 07.09.2010 Dr. Engin Aktaş 66 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Solver uses the definitions In any linear program – maximization or minimization – Each constraint’s shadow price equals the change in the optimal value per unit change in that constraint’s right-hand-side value. Each variable’s reduced cost has this meaning; • If the variable is positive, its reduced cost equals zero. • If the variables is zero, its reduced cost equals the change in the objective value if the optimal solution is perturbed by equating that variable 1 and adjusting the values of other variables of the other variables so as to keep the tight constraints tight. Signs of Reduced Costs • Maximization problem if variable is zero, its reduced cost cannot be positive • Minimization problem if variable is zero, its reduced cost cannot be negative. 07.09.2010 Dr. Engin Aktaş 67 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Reduced Its contribution less Maximization = Marginal Profit its opportunity cost Problem Cost The coefficient of a variable in an objective function is Minimization direct cost instead of contribution Problem Opportunity cost of doing something equals the increase in cost that occurs if you set aside the resources that are needed to do that thing Marginal cost of doing something equals its direct cost plus its opportunity cost. 07.09.2010 Dr. Engin Aktaş 68 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Diseconomy of Scale For a function that measures total profit Decreasing Marginal Return contribution from quantity that is produced the marginal unit For a function that measures total cost Increasing Marginal Cost cost of the quantity that is produced marginal unit Decreasing marginal return and increasing marginal cost manifest a diseconomy of scale because the marginal profit (or cost) can only get better as the scale (quantity) increases. 07.09.2010 Dr. Engin Aktaş 69 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Each of the first 12 units of the Standard model vehicle has $840 Example as its contribution, and any units in excess of 12 have a contribution of $500 each. 16000 14000 12000 Slope equals $840 10000 Total Contribution Slope equals 8000 $500 6000 4000 Define two new decision variables S1 = Standard vehicles sold at $840 2000 S2 = Standard vehicle sold at $500 0 0 2 4 6 8 10 12 14 16 18 20 Quantity 07.09.2010 Dr. Engin Aktaş 70 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 The linear program is then Maximize 0 S + 840 S1 + 500 S2 + 1120 F + 1200 L subjected to Engine Shop: 3S + 2F + 1L ≤ 120, Body Shop: 1S + 2F + 3L ≤ 80, Standard Finishing: 2S ≤ 96, Fancy Finishing: 3F ≤ 102, Luxury Finishing: 2L ≤ 40, Counting: S- S1 - S2 = 0, Sales limit S1 ≤ 12, S ≥ 0, S1 ≥ 0, S2 ≥ 0, F ≥ 0, L ≥ 0. Solving using Solver gives S1 = 12, S2 = 0, S = 12, F = 34, L = 0. A linear program readily accommodates decreasing marginal return, increasing marginal cost, and other diseconomies of scale. Its formulation introduces unintended options, but optimization rules them out. 07.09.2010 Dr. Engin Aktaş 71 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 No Economy of Scale For a function that measures total profit Increasing Marginal Return contribution from quantity that is produced the marginal unit For a function that measures total cost Decreasing Marginal Cost cost of the quantity that is produced marginal unit Increasing marginal return and decreasing marginal cost manifest an economy of scale because the marginal profit (or cost) can only get worse as the scale (quantity) increases. 07.09.2010 Dr. Engin Aktaş 72 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Each of the first 12 units of the Standard model vehicle has $500 Example as its contribution, and any units in excess of 12 have a contribution 14000 of $800 each. 12000 10000 Slope equals Total Contribution 8000 $500 6000 Slope equals $800 4000 2000 0 0 2 4 6 8 10 12 14 16 18 20 Quantity 07.09.2010 Dr. Engin Aktaş 73 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 The linear program is then Maximize 0 S + 500 S1 + 800 S2 + 1120 F + 1200 L subjected to Engine Shop: 3S + 2F + 1L ≤ 120, Body Shop: 1S + 2F + 3L ≤ 80, Standard Finishing: 2S ≤ 96, Fancy Finishing: 3F ≤ 102, Luxury Finishing: 2L ≤ 40, Counting: S- S1 - S2 = 0, Sales limit S1 ≤ 12, S ≥ 0, S1 ≥ 0, S2 ≥ 0, F ≥ 0, L ≥ 0. A linear program fails to accommodate increasing marginal return, decreasing marginal cost, and other economics of scale. Its formulation introduces unintended options, and optimization selects them. 07.09.2010 Dr. Engin Aktaş 74 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 An Integer Program Generally speaking, an economy of scale can only be handled by an integer program. Integer Program: one or more of its variables is restricted to integer values. 07.09.2010 Dr. Engin Aktaş 75 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Linear Programs and Plane Geometry Maximize 2A+3B Subject to A ≤ 6, A+ B ≤ 7, 2 B ≤ 9, - A + 3 B ≤ 9, A ≥ 0, B ≥ 0. 07.09.2010 Dr. Engin Aktaş 76 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 8 7 A+ B≤ 7 6 - A + 3B ≤ 9 2B≤9 5 B 4 3 A≤ 6 2 Feasible Region 1 0 0 1 2 3 4 5 6 7 8 A 07.09.2010 Dr. Engin Aktaş 77 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 8 7 Objective Points in the direction of vector increase of the objective 6 In this case only a 2A + 3B = 18 single point is 3 Optimal 5 optimal solution, if 2 solution two points are Extreme optimal, then so is 2A + 3B = 12 (3,4) every point on the B 4 points line segment that connects them. 3 2 2A + 3B = 6 Isoprofit lines 1 2A + 3B = 0 0 0 1 2 3 4 5 6 7 8 A 07.09.2010 Dr. Engin Aktaş 78 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Linear Programs and Solid Geometry 07.09.2010 Dr. Engin Aktaş 79 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 The Big M Method If an LP has any > or = constraints, a starting bfs may not be readily apparent. When a bfs is not readily apparent, the Big M method or the two-phase simplex method may be used to solve the problem. The Big M method is a version of the Simplex Algorithm that first finds a bfs by adding "artificial" variables to the problem. The objective function of the original LP must, of course, be modified to ensure that the artificial variables are all equal to 0 at the conclusion of the simplex algorithm. 07.09.2010 Dr. Engin Aktaş 80 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Steps 1. Modify the constraints so that the RHS of each constraint is nonnegative (This requires that each constraint with a negative RHS be multiplied by -1. Remember that if you multiply an inequality by any negative number, the direction of the inequality is reversed!). After modification, identify each constraint as a <, >, or = constraint. 2. Convert each inequality constraint to standard form (If constraint i is a < constraint, we add a slack variable si; and if constraint i is a > constraint, we subtract an excess variable ei). 3. Add an artificial variable ai to the constraints identified as > or = constraints at the end of Step 1. Also add the sign restriction ai > 0. 4. Let M denote a very large positive number. If the LP is a min problem, add (for each artificial variable) Mai to the objective function. If the LP is a max problem, add (for each artificial variable) -Mai to the objective function. 5. Since each artificial variable will be in the starting basis, all artificial variables must be eliminated from row 0 before beginning the simplex. Now solve the transformed problem by the simplex (In choosing the entering variable, remember that M is a very large positive number!). If all artificial variables are equal to zero in the optimal solution, we have found the optimal solution to the original problem. If any artificial variables are positive in the optimal solution, the original problem is infeasible!!! 07.09.2010 Dr. Engin Aktaş 81 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Example illustrating Big M (Oranj Juice) (Bevco manufactures an orange flavored soft drink called Oranj by combining orange soda and orange juice. Each ounce of orange soda contains 0.5 oz of sugar and 1 mg of vitamin C. Each ounce of orange juice contains 0.25 oz of sugar and 3 mg of vitamin C. It costs Bevco 2¢ to produce an ounce of orange soda and 3¢ to produce an ounce of orange juice. Marketing department has decided that each 10 oz bottle of Oranj must contain at least 20 mg of vitamin C and at most 4 oz of sugar. Use LP to determine how Bevco can meet marketing dept.’s requirements at minimum cost. LP Model: Let x1 and x2 be the quantity of ounces of orange soda and orange juice (respectively) in a bottle of Oranj. 07.09.2010 Dr. Engin Aktaş 82 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 Solving Oranj Example with Big M Method The RHS of each constraint is nonnegative 07.09.2010 Dr. Engin Aktaş 83 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 07.09.2010 Dr. Engin Aktaş 84 IZMIR INSTITUTE OF TECHNOLOGY Engineering Management EM506 Summer2010 07.09.2010 Dr. Engin Aktaş 85