I will illustrate the concepts using the example below.

Size: px
Start display at page:

Download "I will illustrate the concepts using the example below."

Transcription

1 Linear Programming Notes More Tutorials at Linear Programming Notes I will illustrate the concepts using the example below. A farmer plants two crops, oats and corn, on 100 acres. Each acre of oats requires $18 of capital and 2 hours of labor. Each acre of corn requires $36 of capital and 6 hours of labor. The farmer has $2100 available for capital and 300 hours available for labor. If the revenue is $55 from each acre of oats and $125 from each acre of corn, what planting combination will produce the greatest total revenue? What is the maximum revenue? The first step is to convert the word problem into a mathematical model. For a linear programming problem (a problem where we wish to optimize some goal given restrictions or constraints on that goal) this amounts to finding an objective function (a formula in essence to compute the goal), how this objective function is to be optimized, and a set of inequalities that represent the restrictions or constraints on the objective function. These problems are similar in nature to some of the word problems you solved earlier with systems of linear equations. A key difference here is unlike the earlier systems of linear equations where we had to use up all of the resources in the production process, here we are allowed to leave some resources unused; thus the use of inequalities in these models as opposed to the equations used in our earlier problems. Similar to earlier word problems that you have setup in this course, you may find tables a helpful tool for organizing information. Below is my table for this problem. Typical of production type problems I like to make the outputs, or products that we are making, the rows of the table and the inputs, or resources used to make the outputs, the columns. Often I like to place my variables first in the table, and the variables are usually the concepts that we are asked to find, so in this case I used x to represent the number of acres of oats, and I used y to represent the number of acres of corn. This is quite typical as well in that we need to include a quantity column in the table. Products (Outputs) Resources (Inputs) Goal Quantity Capital Labor Revenue (Number of Acres) Oats x Corn y Available The goal or objective of the problem (the concept that is to be optimized) is revenue, so we need to make a formula for computing this concept. From the table we see that the farmer makes $55 dollars of revenue for each acre of oats, so the product 55x represents the total revenue generated from x acres of oats. Likewise the product 125y represents the revenue generated from y acres of corn. The sum of these two products represents the total revenue, so the equation R = 55x + 125y is a formula for computing revenue. This formula is what we call the goal, or the objective function. Along with this objective function I like to state how it is to be optimized, so below in the mathematical model you will see not only the formula, but also that it is to be maximized. You can physically see how to construct the objective function from the table by focusing on the 1/30

2 quantity column and the per unit revenue column: Resources (Inputs) Goal Quantity Capital Labor Revenue (Number of Acres) Products (Outputs) More Tutorials at Oats x Corn y Available Quantity Revenue (Number of Acres) x 55 y R = 55x + 125y Next we need to consider the impediments to meeting this goal or objective. Resources are not infinite, so we need to consider what is available for each input or resource and write an inequality reflecting this limitation. These inequalities are called constraints (for they constrain or put the brakes on our ability to optimize the objective function), and often you will see them in the mathematical model as subject to s. Our input information is found in this part of the table: Resources (Inputs) Goal Quantity Capital Labor Revenue (Number of Acres) Products (Outputs) Oats x Corn y Available The part of the table I have below contains what I like to think of as the recipe for converting inputs into outputs. Capital Labor Oats 18 2 Corn 36 6 It gives us how much input is needed to make one unit of output, so multiplying these per unit values by the quantity again constructs the amount of that input needed to produce all of a given input. For example, the product 18x represents the amount of capital needed to produce x acres of oats. Likewise the product 2y represents the amount of labor needed to produce y acres of oats. One input is capital. We can construct an expression that represents the capital needed to produce x acres of oats and y acres of corn in a similar way that we constructed the formula for revenue. 2/30

3 More Tutorials at Using the table above we can construct the expression 18x + 36y. We only have available however, $2100 in capital, so to relate the two expressions for capital we use the is less than or equal to inequality: 18x + 36y 2100, which states that the amount of capital needed can be no more than 2100, so we can use less capital than what is available if that makes more revenue. We simply cannot use more than $2100 of capital given this constraint. In table form I visualize the construction of the capital constraint as: Quantity Capital (Number of Acres) x 18 y x + 36y 2100 Likewise we can visualize the labor constraint as: Quantity Labor (Number of Acres) x 2 y x + 6y 300 Sometimes there are constraints on the outputs as well as the inputs. In the farmer example we are limited to 100 acres of output, so the number of acres of oats plus the number of acres of corn must be less than or equal to 100. You can see this constraint constructed using the table as well: Quantity (Number of Acres) x y 100 x + y 100 Not all of the constraints are necessarily going to be found in any table that we may construct, so be sure to look through the word problem for any other information that needs to be expressed in the mathematical model. Tables are helpful organizing tools, but not all of the information in a problem may fit easily into a table format. Do what you can, but be aware that there may be other information that needs to be included, especially any other output information such as a need to produce at least twice of one output relative to another for example. Last but not least we have to consider that in these types of problems we typically cannot allow negative values for the variables. For example, we cannot produce a negative number of acres of corn, so we also need to include what is referred to as nonnegativity constraints. These are 3/30

4 More Tutorials at simply the and inequalities, and they are typically identified in the mathematical model by with. Putting all of the above information into one format yields the mathematical model below for our farmer linear programming problem. Mathematical Model: (max) objective function: R = 55x + 125y Subject to: x + y x + 36y x + 6y 300 with x ³ 0, y ³ 0. Now that we have expressed our linear programming word problem as an appropriate linear programming mathematical model, we can proceed to solving the problem. One method, and the one that we will do next, is solving by using graphing, or simply called the graphing method, or the method of corners. To solve a linear programming problem using graphing we first have to graph the solution to the system of linear inequalities given in the mathematical model. This includes the constraints along with the nonnegativity constraints. The system of linear inequalities for our farmer LP problem is: x + y x + 36y x + 6y 300 x ³ 0 y ³ 0 Basically this is the whole mathematical model minus the objective function. Do you see where I got these inequalities? Below is my solution to this system of linear inequalities (colored green and marked FS). If you have forgotten how to graph such a solution set, then you may need to review this process. Our text reviews graphing lines and inequalities in the first chapter. 4/30

5 More Tutorials at The green region is the solution set of the system of linear inequalities for it is the only region in the plane that satisfies all five inequalities. This means that all of the constraints of the mathematical model are satisfied. Therefore in this region the farmer has enough capital, labor and land to produce nonnegative quantities of oats and corn (in acres). For this reason this region is called the feasible set or feasible region. This region defines the product mix (acres of oats and corn) that is feasible to produce. Any other region in the plane is not feasible for the farmer to attain. For example in the region below in red, these points satisfy the land requirement (less than 100 acres), but they violate the capital and labor requirements, for these points are on the wrong side of the capital and labor lines. For example the point (20, 70) is in the red region, and while the pair sum to less than 100 thereby satisfying the land constraint, these values put into the capital constraint yield 2880, which is larger than 2100; thus not satisfying that constraint. Likewise, the labor constraint is not satisfied, for when the values are inserted into that constraint we get 460, which is larger than 300. This means that this product mix (20 acres of oats and 70 acres of corn) is not

6 feasible. The same is true for all points in the red region. More Tutorials at Another example of a non-feasible region is this red region below. In this region the land constraint and the labor constraint are satisfied, but the capital constraint is

7 More Tutorials at not, so in this situation the farmer has enough land and enough labor, but not enough capital to operate. Now that we have identified the region to operate in, we next need to determine which of the points in this feasible set to operate at so that we maximize revenue. There are an infinite number of points in this region, so how in the world are we going to determine which is best? Fortunately there is a theorem called the Fundamental Theorem of Linear Programming that helps by reducing the number of potential optimum points from the infinite to the finite. Under certain conditions, if an optimum exists that optimum must be a corner point of the feasible set. To get a sense of why this is the case, take a look at the objective function equation. If we rewrite this equation in slope-intercept form we get or more simply. If we pick some values for revenue we can get some specific equations that represent all of the product mixes that produce the same revenue. For example, if I let R = 0, then the revenue equation becomes. All of the values for x and y that satisfy this equation all generate the same revenue, zero dollars. If I let R = 12,500 then the revenue equation becomes. All of the points on this line represent product mixes that generate revenue of $12,500. In economics we call these lines isoquants. Lines that hold one concept fixed while the others vary. Take a look at our farmer s feasible set relative to some revenue lines (isoquants). Below is a graph of our farmer s feasible set (outlined in bright green) and several revenue isoquants (red lines) with their associated revenues written in black. I used TI-InterActive, a graphing utility, to make the graph as accurate as possible. 7/30

8 From the slope-intercept form of the revenue line above we know that each of these revenue lines are parallel. They all have the slope,. Hopefully you can see that as revenue increases these lines move further up. The revenue line associated with revenue of $1250 is higher than the line with revenue of zero dollars for example. Since the farmer also has to operate in the feasible set, it seems reasonable to continue increasing revenue as long as we can touch the feasible set. The revenue line with revenue of $6000 still touches the feasible set for example, so the points on this line that also touch the feasible set are points at which the farmer can operate and make $6000, but the farmer can do better since he could push up the revenue line to a higher revenue and still touch the feasible set. He can t continue to push revenue up forever however, for the line with revenue of $8000 extends beyond the feasible set, and is therefore not attainable. This tells us that the revenue must be somewhere in-between, but where? The idea is to continue increasing the revenue until the line cannot be raised any higher without slipping off of the feasible set. According to the Fundamental Theorem of Linear Programming this occurs at a corner point of the feasible set. When the revenue line just nicks the feasible set at a corner point, this is the best that we can do for revenue, for any further increase pushes us off of the feasible set. Below is our graph with my attempt to increase revenue until I just nicked the feasible set at a corner point. I tried to stay parallel to the other revenue lines as I did this. The result is a yellow revenue line. I do not know yet what revenue to associate with this line, simply that conceptually it represents the best revenue that the farmer can generate and still touch the feasible set. 8/30

9 Okay, it is a bit difficult to see which corner point this is, so I am going to redraw this line on our original graph that I hand drew.

10 On this graph I can see that corner point C is the optimal point, for the yellow revenue line just touches the feasible set there. If I could figure out the coordinates of point C, then I would be able to plug these into our revenue formula to determine the maximum revenue as well as of course the optimal mix of acres of oats and acres of corn to grow that will produce this maximum revenue. So the next step is to figure out a way to determine coordinates of corner points. From our graph we see that there are five corner points. I labeled them A, B, C, D and E on the graph. We know now that corner point C is the one that we want, but typically we do not try to find the optimal point by graphing the objective function and guessing which corner point it will nick when we push it out far enough. The Fundamental Theorem of Linear Programming narrows down that search for us by telling us that we only need to look at corner points. If a solution exists it will have to be one of those. This is an incredibly powerful idea. This theorem reduces an infinite number of possibilities down to a few corner points! This means that once we graph the feasible set, the next step is really to determine the corner points of the feasible set. Those are the only points that matter. Once I determine the coordinates of the corner points I like to list them in a table. Below is my process for finding coordinates of corner points, and then determining which corner point is optimal. 10/30

11 Notice that finding the coordinates of corner points C and D simply reduces conceptually to solving a system of two linear equations. The equations in the system represent the lines that intersect to form the corner point. The solution to the system is the coordinates of the corner point! Corner point A is simply the origin so that one is easy, and the corner points B and E are simply x- and y- intercepts of constraint lines, so if you graph lines by using intercepts you then have their coordinates ready to go at this stage. 11/30

12 Once you have all of the coordinates of corner points, you then list them in a table and plug them into the objective function to determine the value of the objective function at those points. After that finding the optimal place to operate at is a simple table look up. If you are maximizing as we are in this example, then you simply look for the largest objective function value. In our example the largest revenue is $6,916.67, so that is the corner point that we want to operate at. As seen above this means the farmer should plant 50 acres of oats and 33.3 acres of corn in order to attain that revenue. Notice that the farmer didn t need to use all of his resources in order to produce this optimal solution. The sum of the number of acres of oats and corn for the optimal solution is 83.3, so = 16.7 acres went unplanted. The farmer did however use up all of his capital and labor in production. If we were looking for a minimum instead of a maximum, we would do exactly the same process, but simply look for the smallest objective function value instead of the largest. What do you think would happen if the prices of oats and corn were different? Say that the revenue generated from an acre of oats was $80 instead of $55, and what if the per acre revenue for corn was $100 instead of $125? Since these are the coefficients for the objective function our revenue equation would look like this: R = 80x + 100y. If we rewrite this in slope-intercept form we get: or more simply as. The slope for these revenue lines is steeper than the original revenue lines. If you go back to the graph of our feasible set and plot new revenue lines, you may find that this change in slope produces a different optimal solution. Below is our graph with new revenue lines in purple. I pushed this new revenue line out as far as I could go and still touch the feasible set, and I found a new optimal point -- point D. Notes/Linear Programming Notes.htm 12/30

13 You can prove it to yourself by inserting all of the old corner point coordinates into the new revenue function. You should find that point D becomes the new optimal point with the new prices! I like graphing to find solutions to linear programming problems; however, this method is not practical for most applications, for most applications have tens, hundreds, even thousands of variables and we just can t graph more than three. This means that we need some kind of algebraic approach that can handle large numbers of variables, and fortunately we do. It is called the simplex method. George Dantzig devised this method in The simplex method converts inequalities to equations, and then applies matrix methods to solve the system of equations. It is designed to find solutions for standard maximization type linear programming problems. By standard maximization we mean that the objective function has to be maximized, the constraints all have to have is less than or equal to inequalities when the variables are on the left side of the inequality and constants on the right, and all variables are nonnegative (meaning that they are greater than or equal to zero ). Our farmer problem above is a standard max linear programming problem. Graphically speaking these types of linear programming problems have convex polygon feasible sets with the origin as one of the corner points. Convex simply means that if you pick any two points in the polygon, then you can draw a straight line connecting these two points that stays completely inside the polygon. Conceptually this is what I see with this idea. By adding variables (called slack variables) to our is

14 less than or equal to inequalities we convert them into equations. The thing is that by adding another variable we are conceptually moving up a dimension in space, but the same information about our problem is still encoded in this higher dimension. In my little example below I have a simple standard max linear programming model with only one constraint. Taken together with the nonnegativity constraints it forms a triangular feasible set in the xy-plane. By adding a slack variable ( ) to the constraint ( ) we get the equation. The inequality is in a two-dimensional space, but the equation is in a 3-dimensional space. The graphs of linear equations in 3-dimensions are planes instead of lines (as they would be in 2-dimensions). The 2-dimensional feasible set becomes the 3-dimensional triangular plane in 3-dimensions (again including the nonnegativity constraints of course, otherwise it would be a plane in 3-space that extends forever). The same information that is embedded in the original 2- dimensional feasible set is still encoded in the 3-dimensional triangular plane! If you conceptualize squishing this 3-dimensional image into the xy-plane (the floor of the figure so to speak) you see that you get back the same feasible set that we had in 2-dimensions! I find this an incredible idea that we can convert an inequality in a certain dimension, say m-dimensions, to an equivalent form (called a hyperplane in higher dimensions) in the next higher dimension, (m+1)-dimensions. Talk about thinking outside the box! Hopefully you can see this happening in my crude drawing below. I picked some points in the original 2-dimensional feasible set like (2,3) and (3,1) and found their counterparts in the 3-dimensional figure, so every point in the feasible set maps (corresponds) to a point in this 3-dimensional triangular plane. Notes/Linear Programming Notes.htm 14/30

15 Once you have the inequality converted into an equation you can join it with the objective function equation to form a system of linear equations. See where I m going with this? Remember, the conceptualization of a system of equations is that the solution to the system is the set of common points that is the intersection of these hyperplanes in higher dimensions. So this creates a weird marriage of feasible set and objective function in higher dimensional space! Let s try an experiment with the above simple standard max linear programming problem restated here to be sure that it didn t get overlooked in my diagram: Max Subject to: With,. From my diagram of the original feasible set you should be able to see that the corner points are (0,0), (0,4) and (8,0). Given the Fundamental Theorem of Linear Programming we know that for standard max linear programming problems the optimal point is one of these corner points, so we can make a table to check out which corner point is best. Corner Points Objective Function Value (0,0) 0 (0,4) 12 (8,0) 16 From our table we see that the optimal point is (8,0) and the maximum value is 16. Now let s make a system of equations with the objective function and the constraint of our linear programming model: We can t use our previously learned techniques to solve this yet because we don t have a system of linear equations yet, so let s add a slack variable ( ) to the inequality as we described above to convert it into an equation. This makes the new system of linear equations without loss of information about the original problem. Now that we have it in equation form we can convert this to augmented matrix form as we did with Gaussian elimination. First I will organize the equations so that we can better line up the columns that represent the variables. To assist in the conversion I used all variables in both equations. For the equations that didn t have a certain variable I simply used a zero coefficient for that variable. This produces the following augmented matrix: Notes/Linear Programming Notes.htm 15/30

16 Now before we work with the matrix let s take our table above of corner points and extend it to see what the values are for each variable. Corner Points Objective Function Value x y (P) (0,0) (0,4) (8,0) You can find values for at each corner point by using the equation of our system. The term slack variable for really has some meaning now, for we see above how changes value given values for x and y, so that the equation stays true. The slack variable really does pick up the slack. Now take a good look at this initial matrix. Do you see a sub-matrix that looks familiar? If we drop the left two columns we get this nice matrix, which looks like the row-reduced form that we became familiar with while solving systems using Gaussian elimination. We learned to read this type of matrix based on the column association with the variables and the constant column. Since we eliminated the columns for x and y we have the remaining columns for and P, so from this matrix we read that = 8 and that P = 0. If these are the values for and P, then what values must x and y take on? By subbing in the values for and P into our initial system we find by solving the remaining two-equation, two-variable system that x = 0 and y = 0. This information correlates perfectly with the corner point (0,0). Freaky, but maybe it is only coincidence, so let s try rearranging the augmented matrix and see what happens. Maybe we can make one of the other columns have the row reduced look, say the x column. Let s make the x column look like the column. To do that we pivot like we learned to do with Gaussian elimination, but in this case we only need to pivot one column. The one in the top row of the x column looks good, so we only need to make the 2 in that column a 0. To do that we can perform the following instruction:. After performing the instruction you should get the following pivoted augmented matrix: Now the x and P columns have the proper row reduced look, and if we remove the other two columns we specifically get the row reduced matrix. Since the columns associate with the variables x and P we can deduce their values as x = 8 and P = 16. Again what values must y Notes/Linear Programming Notes.htm 16/30

17 and take on given these values for x and P? To find out, again sub in the values for x and P into the associated system for this matrix. Here is the system associated with our last augmented matrix: Subbing in those values for x and P produces the system in y and. Solve this system and you should find that y = 0 and = 0. Wow, this matrix coincides with the information for the corner point (8,0)! This is getting too freaky. There is only one other combination of columns that we can pick for our row-reduced form that we haven t already seen (a combination that includes the objective function variable P that is), and that is the pair of columns for y and P. Okay, if we pivot on the y-column (that is make it look like the current x-column) from our last augmented matrix we get: I attained this matrix by following this instruction set from the last matrix we had: Again, if we remove the columns for x and we get the matrix, which has y = 4 and P = 12. As before if you insert these values into the current system and solve for x and, you should find once again that x = 0 and = 0, so this matrix can be associated with the corner point (0,4). As long as we keep the P-column as one of the pair of columns to make into our row-reduced form we see that the result coincides with a corner point of the feasible set. If you are curious about what happens if we pick a pair of variables that doesn t include the P-column, give it a try. You should find that the information doesn t match up with a point in the feasible set. This is pretty amazing stuff. It appears that if we put two columns of this augmented matrix into rowreduced form, and if we keep one of those columns the P-column (objective variable column), we seem to end up with matrices that can be read in a fashion that correlates with the corner points of the feasible set. Why two columns? Because we have two rows. See the pattern? If we had three rows, then we would need to row-reduce three columns. Recall that the square system had the best chance for a unique solution, and in every instance the other two variables that were not included in the row reducing ended up having values of zero. Now I can t say that this association holds in more complicated situations, for I tried a small system

18 with two constraints and I found that some of the row-reduced combinations even with the objective variable included still ended up matching with points not on the feasible set, but we will find that all of the corner points do. That is all corner points associate with one of the row-reduced forms, but not all row-reduced forms match up with a corner point. This is why in some situations the simplex method that we are about to learn can drift off of the feasible set and needs another kind of pivoting to bring it back on course, but in the standard max situation you should find that the process that we will use should keep you on the feasible set and working toward finding the optimal solution. All that is left is to figure out a process for pivoting in some systematic fashion that will lead us toward the optimal solution. I mean simply choosing the columns to row reduce randomly is interesting, but rather inefficient. You could get lucky and go right to the correct corner point, but as the linear programming problems get larger getting lucky gets less probable. Okay, the pivot itself is just like we have always done. Once you find the pivot element you make the pivot element a 1, and then proceed to zero out all other entries in that column. What is different is how we choose the pivot. Since the context is a linear programming problem we would like a way to choose a column to pivot that will give us the most change in the objective function variable that is possible. Let s go back to our little linear programming example: Max Subject to: With,. The initial augmented matrix for this standard max linear programming problem was: In jargon of the simplex method this initial matrix is called the initial simplex tableau, and usually we think of the last row with the objective function information as being augmented as well, so we usually draw a horizontal line above it to distinguish it from the constraint rows above it. Also, we typically write the variable for each column above the column, but I will forgo that bit of style here, just remember that we associated the first column with x, the second with y, the third with, the fourth column with P, and the last column with the constants. Here is the matrix dressed up a bit in the trappings of the simplex style. x y P The objective function for this problem is based on the last row of the matrix and solved for P. This will give us the clue that we need to tip off which column to pivot. Looking at this objective function which variable would you pick to change in order to make the biggest increase in P? If you said y, you are correct. The variable y has the largest positive coefficient of the variables that influence P, so of course we would pick y. It just makes intuitive sense to do so. We certainly Notes/Linear Programming Notes.htm 18/30

19 wouldn t pick. Its coefficient is zero, so any change in makes no change in P what so ever. The variable x isn t bad with a coefficient of 2, but a unit change in x increases P by 2 units whereas a unit change in y increases P by 3 units, so y is more influential. Since this objective function is rewritten prior to placement in the matrix (all variables are moved to the left side of the equation against zero on the right) what once were positive coefficients are now negative, so to choose the pivot column from information as given in the matrix we want to choose the column that has the most negative entry in the last row (to the left of the vertical line that is). Being the most negative means that on the other side of the equation it would be the largest positive change. Hopefully that makes sense for choosing the pivot column. Now that we know that we want to perform a pivot on the y-column, how do we choose a row to finish selecting a pivot element? In this case it is simple, we only have one row above the horizontal line. We never select pivot elements in the last row for we the objective column is always one of the row-reduced columns in our matrix, so this translates into never needing to pivot a column with a one in the last row with zeros everywhere else in the column. It is built into the system so to speak. Therefore in this simple case the pivot row is row one. This makes the pivot element row one, column two. Below I have rewritten the simplex tableau with the pivot element circled. Now that we have the pivot element we next perform the pivot by making this element a one and every other element in that column a zero. To do this I suggest the following instruction set: After performing this instruction set I get the next simplex tableau: We ve seen this matrix before. We know that it is associated with the corner point (0,4). We can learn to read this information right from the tableau without having to rewrite this matrix as a system and computing all of the values. Read the row-reduced columns just as we learned to do earlier, so looking just at this matrix I see that y = 4 and P = 12. To read the values for x and, simply recall that the variables that were not in row reduced form always ended up being zero, so in this matrix we see that x = 0 and = 0. In the jargon of the simplex method we call the variables whose columns conform to the row-reduced form, basic variables, and the variables that do not conform, non-basic variables. As we have seen, the act of pivoting is simply a matter of converting one nonbasic variable into a basic variable, and in order to keep the balance between rows and basic variables, one of the basic variables becomes non-basic. We always have as many basic variables as rows (including the last row). We know from our graphical approach earlier that the corner point associated with this tableau is not the optimal point. Is there any way to tell this from the tableau? Yes, there is. Look at the last row (the objective function row). If we reconstruct the objective function from this row we see that it 19/30

20 is currently. If we solve this for P we get. From this structure we can see that an increase in would actually decrease P, so we certainly don t want to do that! Increasing x looks good however, so I guess we are not done yet. Going back to the last tableau and applying the rules for selecting the pivot column we see that the next pivot element is column one, row one. I circled this next pivot element below. Again to refresh our memory, we pick the pivot column based on the most negative value in the last row to the left of the vertical line, so this means column one here. We still haven t figured out a way to pick the pivot row, but in our simple example there is only one row to choose from above the horizontal line, so it is row one by default. To pivot on this element I suggest the following instruction set: After performing this instruction set I arrive at the following simplex tableau. Using our skills to read the results right out of the simplex tableau you should find that x = 8, y = 0, = 0 and P = 16. We have seen this tableau earlier as well, and we know that it too correlates with a corner point of the feasible set, namely the corner point (8,0). We know that this corner point is optimal, so let s see if we can find some clue in the tableau that reveals this. As we did earlier let s look at the last row, the objective function row. The equation is the associated equation for this row. Solving it for P yields. The coefficients of both variables are negative, so increasing these variables only decreases P, so there is no longer a variable that I can change that can make P any larger. I have done the best that I can do, so P is at its maximum value; therefore we stop the process. We have arrived. Since these negative coefficients are positive when written on the same side as the objective function variable, the telltale clue for stopping the pivoting process is when all of the values in the bottom row left of the vertical line are all nonnegative. Zero is okay, since a coefficient of zero simply means that a change in that variable will not change the objective function variable at all. Let s recap the process above in a table so that we can compare this simplex method with the graphical approach. Simplex tableau Associated Corner Graph Point (0,0) The graphs below show the transition from one tableau to the next that results from pivoting. I circled the pivot element to help you see the Notes/Linear Programming Notes.htm 20/30

21 (0,4) pivot results that appear in the next tableau. (8,0) Visually we can conceptualize the simplex method pivoting as moving us from corner point to corner point along the edges of the feasible set (light blue arrows in graphs above). Just for fun I show below the pivoting process graphically in 3-dimensions. Simplex tableau Associated Corner Graph Point (0,0,8) Since we are in 3- dimensions we have ordered triples now instead of ordered pairs. (0,4,0) The graphs below show the transition from one tableau to the next that results from pivoting. I circled the pivot element to help you see the pivot results that appear in the next tableau. Notes/Linear Programming Notes.htm 21/30

22 More Tutorials at (8,0,0) We now have all of the pieces for applying the simplex method to standard max linear programming problems except for how to pick the pivot row. For that we need a more complicated problem, so let s add another constraint to our current linear programming model and see if we can figure out this last piece of the puzzle. Here is the new standard max linear programming model that we will work with: Max Subject to: With,. To transform this model into the initial simplex tableau we need to add slack variables to each of the is less than or equal to constraints and move all variables in the objective function equation to the left side of the equal sign. Here is what I get after doing those steps. Now I can construct the initial simplex tableau by simply picking off coefficients and placing them in an augmented matrix. Here is my initial simplex tableau: Notes/Linear Programming Notes.htm 22/30

23 More Tutorials at x y P Given what we discussed above, we see that we are not at an optimal point yet, for we have negative numbers in the last row to the left of the vertical line, so to choose the pivot column we select the column with the most negative number in the last row (left of the vertical line). The most negative number is 3, so that is the pivot column (the y-column). This is the variable that can make the biggest change in P. In this more complicated example we have two rows above the horizontal line, so we now need some kind of criteria to choose a pivot row in order to select a pivot element. We know that the variable to change is y given the method of choosing a pivot column, so the question becomes how much can we change y? We answer this question by checking to see how much change is possible in y while maintaining the nonnegativity conditions for all variables including the slack variables. When we pivot we take a non-basic variable and convert it into a basic variable. This of course implies that some other basic variable is then transformed into a non-basic variable. We know that y is going to go from non-basic to basic, so what are the choices of basic variables that y can swap places with so to speak? Since the objective function variable always stays basic, the only choices are and. This is always the case on the first pivot, for the initial simplex tableau automatically sets itself at the origin (x and y are non-basic variables initially, therefore zero) while the slack variables always start as basic variables. See our initial simplex tableau above for an example. If we swap y with, then we will pivot using the top element in the y-column, for that is where the one is in the -column. If we swap y with, then we will pivot using the second element from the top, for that is where the one is in the -column. Regardless of which choice we make the variable x will stay non-basic and therefore zero. With this in mind let s take a look at the top two rows in the initial simplex tableau (the constraint rows). Let s reconstitute the equations from these rows, and solve the first one for and the second equation for. Since x is not changing (we are holding it constant as we change y) x stays zero, so we can insert zero in for x in the two equations above. Even the slack variables have to be nonnegative, so we can use that information to form the following inequalities. Solve each of these two inequalities for y, and we get inequalities that help us to determine just how much change in y we can make. Notes/Linear Programming Notes.htm 23/30

24 More Tutorials at The top inequality says that I make y as big as 4 and still keep nonnegative. The second inequality says that I can make y as big as 9 and still keep nonnegative. Given these two possibilities why not take the larger of the two, so let s go with 9. The problem is that if we take 9 for the change in y, then the first equation that relates y and makes negative. This of course violates the nonnegativity requirement for. However, if we go with the smaller choice, 4 for y, not only does that work for, but it also works for. Since 5 is nonnegative we re okay. What this demonstrates is that we want to take the smaller of the nonnegative choices for a variable that we are changing, so that the nonnegativity requirements can be maintained. Now how can we see the choices from the tableau? Here is our current tableau (the initial simplex tableau): x y P The current state of this tableau is x = 0, y = 0, = 8, = 9 and P = 0. To find the choices that we constructed for y, take the y-column entries above the horizontal line and divide them into the values in the constant column of the same row. So take the top entry 2 and divide it into the constant 8, then divide the entry 1 and divide it into the constant 9. For the top row you should get a quotient of 4 and for the second row you should get a quotient of 9. Some authors call these ratios instead of quotients. Notice that these two numbers (4 and 9) are exactly the two choices for y that we computed! This will always be the case, so the rule for choosing a pivot row comes down to choosing the smallest nonnegative quotient. We do not choose negative quotients, for that would create a negative value for a variable after pivoting, thus violating the nonnegativity requirement. I find it quite amazing that we can find all of this information in the matrix (tableau). Base on what we just figured out we now know that the y-column is the pivot column and row one is the pivot row. This makes the entry in row 1, column 2 the pivot column. Here is our tableau again with the pivot element circled. x y P Now that we have the pivot element, we can perform the pivot. I suggest the following instruction

25 1/2/13 set: More Tutorials at Here is my new tableau with the pivot completed as specified in the instruction set. The current state of this tableau is that x = 0, y = 4, = 0, = 5 and P = 12. Are we done? Are we at the maximum producing point? No, for there is still a negative number in the last row to the left of the vertical line, so we go through the selection process once more to find the next pivot element. Since there is only one negative entry in the last row, we know that the pivot column is column 1 or the x-column. To find the pivot row find the quotients. I get 4 divided by ½ or 8 for the first quotient, and 5 divided by 5/2 or ½ for the second quotient. Since we choose the smallest nonnegative quotient, we pick row two for the pivot row. Here is the current tableau with the pivot element circled for clarity. Here is my suggested instruction set for pivoting: Here is the next simplex tableau after pivoting: Notes/Linear Programming Notes.htm 25/30

26 More Tutorials at The current state of this tableau is x = 2, y = 3, = 0, = 0 and P = 13. Since there are no negative entries in the last row to the left of the vertical line we are done. This tableau represents the optimal point with the maximum value for the objective function. Now that we solved this linear programming problem using the simplex method, let s graph it and see how it matches up. Below is my graph of the feasible set and corner points with the path traveled by the pivoting process from the origin to the optimal point along the edges of the feasible set. Let s reiterate the process for solving a standard max linear programming problem using the simplex method. 1. Establish the initial simplex tableau by adding slack variables to all is less than or equal to inequalities (a different slack variable for each constraint) to make them into equations. Get all variables in the objective function equation on the same side of the equation with any constants on the other. Keep the objective function variable coefficient positive when rewriting. Now pick off the coefficients of the variables to place in the initial simplex tableau. Be sure to put objective function coefficients in the last row.

27 More Tutorials at 2. Check to see if all of the numbers to the left of the vertical line in the last row are nonnegative. If they are you are done. If not, select the pivot element. 3. To select the pivot column, choose the column with the most negative value in the last row to the left of the vertical line. 4. To select the pivot row, make quotients for each row by dividing each entry above the horizontal line in the pivot column into its corresponding constant column entry. Select the row with the smallest nonnegative quotient for the pivot row. 5. Perform the pivot. 6. Go back to step 2 and repeat as needed. Now we can go back to the farmer problem and see if we can apply the simplex method to it. A farmer plants two crops, oats and corn, on 100 acres. Each acre of oats requires $18 of capital and 2 hours of labor. Each acre of corn requires $36 of capital and 6 hours of labor. The farmer has $2100 available for capital and 300 hours available for labor. If the revenue is $55 from each acre of oats and $125 from each acre of corn, what planting combination will produce the greatest total revenue? What is the maximum revenue? Mathematical Model: (max) objective function: R = 55x + 125y Subject to: x + y x + 36y x + 6y 300 with x ³ 0, y ³ 0. Our first task is to set up the initial simplex tableau, so let s add our slack variables where needed and get the objective function equation ready. Now we can set up our initial simplex tableau by picking off the coefficients and putting them in the proper rows of the matrix. x y R Notes/Linear Programming Notes.htm 27/30

28 More Tutorials at Current state of tableau: x = 0, y = 0, = 100, = 2100, = 300, R = 0. Next, determine the pivot element. Since the y-column has the most negative entry in the last row that becomes our pivot column. For row one I get a quotient of 100, for row two I get a quotient of 175/3, and for row three I get a quotient of 50, so row three is the pivot row (smallest nonnegative quotient). This makes the pivot element row 3, column 2. Instruction set for pivoting: Next simplex tableau after pivoting: Current state of tableau: x = 0, y = 50, = 50, = 300, = 0, R = This tableau is not optimal, so we repeat the process of finding a pivot element and pivoting. Column 1 (x-column) is the pivot column, and I get the following quotients for rows 1, 2 and 3 respectively: 75, 50, 150, so row 2 is our pivot row. Below is the current tableau, but with the pivot element circled. Notes/Linear Programming Notes.htm 28/30

29 Instruction set for pivoting: More Tutorials at Next simplex tableau after pivoting: Current state of tableau: x = 50, y =, =, = 0, = 0, R =. Since there are no negative entries in the last row to the left of the vertical line, this is the optimal state of affairs. The solution using the simplex method matches our earlier results from graphing. The farmer should plant 50 acres of oats and 100/3 acres of corn, which results in a maximum revenue of $ However, there is one difference between the graphical approach and the simplex approach. With the simplex method we get additional information right out of the matrix without further computation. For example, we also know from the final tableau that acres should not be planted, and that all capital and labor resources will be used in production. We figured this information out from what we discovered with the graphical method, but it took extra computing to arrive at. We get it here for free as a part of the simplex process. Below I show the graph for the farmer problem with the path taken by the pivoting process in red. Notes/Linear Programming Notes.htm 29/30

30 More Tutorials at For more examples of pivoting matrices follow this link: Pivoting. Return to Top of Page Notes/Linear Programming Notes.htm 30/30

Chapter 15 Introduction to Linear Programming

Chapter 15 Introduction to Linear Programming Chapter 15 Introduction to Linear Programming An Introduction to Optimization Spring, 2015 Wei-Ta Chu 1 Brief History of Linear Programming The goal of linear programming is to determine the values of

More information

Chapter 3: Towards the Simplex Method for Efficient Solution of Linear Programs

Chapter 3: Towards the Simplex Method for Efficient Solution of Linear Programs Chapter 3: Towards the Simplex Method for Efficient Solution of Linear Programs The simplex method, invented by George Dantzig in 1947, is the basic workhorse for solving linear programs, even today. While

More information

Name: THE SIMPLEX METHOD: STANDARD MAXIMIZATION PROBLEMS

Name: THE SIMPLEX METHOD: STANDARD MAXIMIZATION PROBLEMS Name: THE SIMPLEX METHOD: STANDARD MAXIMIZATION PROBLEMS A linear programming problem consists of a linear objective function to be maximized or minimized subject to certain constraints in the form of

More information

Fundamentals of Operations Research. Prof. G. Srinivasan. Department of Management Studies. Indian Institute of Technology Madras.

Fundamentals of Operations Research. Prof. G. Srinivasan. Department of Management Studies. Indian Institute of Technology Madras. Fundamentals of Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology Madras Lecture No # 06 Simplex Algorithm Initialization and Iteration (Refer Slide

More information

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture 16 Cutting Plane Algorithm We shall continue the discussion on integer programming,

More information

Chapter 4 Linear Programming

Chapter 4 Linear Programming Chapter Objectives Check off these skills when you feel that you have mastered them. From its associated chart, write the constraints of a linear programming problem as linear inequalities. List two implied

More information

Using the Simplex Method to Solve Linear Programming Maximization Problems J. Reeb and S. Leavengood

Using the Simplex Method to Solve Linear Programming Maximization Problems J. Reeb and S. Leavengood PERFORMANCE EXCELLENCE IN THE WOOD PRODUCTS INDUSTRY EM 8720-E October 1998 $3.00 Using the Simplex Method to Solve Linear Programming Maximization Problems J. Reeb and S. Leavengood A key problem faced

More information

Linear programming II João Carlos Lourenço

Linear programming II João Carlos Lourenço Decision Support Models Linear programming II João Carlos Lourenço joao.lourenco@ist.utl.pt Academic year 2012/2013 Readings: Hillier, F.S., Lieberman, G.J., 2010. Introduction to Operations Research,

More information

Fundamentals of Operations Research. Prof. G. Srinivasan. Department of Management Studies. Indian Institute of Technology, Madras. Lecture No.

Fundamentals of Operations Research. Prof. G. Srinivasan. Department of Management Studies. Indian Institute of Technology, Madras. Lecture No. Fundamentals of Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture No. # 13 Transportation Problem, Methods for Initial Basic Feasible

More information

Linear Programming Terminology

Linear Programming Terminology Linear Programming Terminology The carpenter problem is an example of a linear program. T and B (the number of tables and bookcases to produce weekly) are decision variables. The profit function is an

More information

16.410/413 Principles of Autonomy and Decision Making

16.410/413 Principles of Autonomy and Decision Making 16.410/413 Principles of Autonomy and Decision Making Lecture 17: The Simplex Method Emilio Frazzoli Aeronautics and Astronautics Massachusetts Institute of Technology November 10, 2010 Frazzoli (MIT)

More information

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize.

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize. Cornell University, Fall 2017 CS 6820: Algorithms Lecture notes on the simplex method September 2017 1 The Simplex Method We will present an algorithm to solve linear programs of the form maximize subject

More information

Note that ALL of these points are Intercepts(along an axis), something you should see often in later work.

Note that ALL of these points are Intercepts(along an axis), something you should see often in later work. SECTION 1.1: Plotting Coordinate Points on the X-Y Graph This should be a review subject, as it was covered in the prerequisite coursework. But as a reminder, and for practice, plot each of the following

More information

MA30SA Applied Math Unit D - Linear Programming Revd:

MA30SA Applied Math Unit D - Linear Programming Revd: 1 Introduction to Linear Programming MA30SA Applied Math Unit D - Linear Programming Revd: 120051212 1. Linear programming is a very important skill. It is a brilliant method for establishing optimum solutions

More information

The Simplex Algorithm

The Simplex Algorithm The Simplex Algorithm Uri Feige November 2011 1 The simplex algorithm The simplex algorithm was designed by Danzig in 1947. This write-up presents the main ideas involved. It is a slight update (mostly

More information

5 The Theory of the Simplex Method

5 The Theory of the Simplex Method 5 The Theory of the Simplex Method Chapter 4 introduced the basic mechanics of the simplex method. Now we shall delve a little more deeply into this algorithm by examining some of its underlying theory.

More information

Farming Example. Lecture 22. Solving a Linear Program. withthe Simplex Algorithm and with Excel s Solver

Farming Example. Lecture 22. Solving a Linear Program. withthe Simplex Algorithm and with Excel s Solver Lecture 22 Solving a Linear Program withthe Simplex Algorithm and with Excel s Solver m j winter, 2 Farming Example Constraints: acreage: x + y < money: x + 7y < 6 time: x + y < 3 y x + y = B (, 8.7) x

More information

Introduction to Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Introduction to Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Introduction to Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Module 03 Simplex Algorithm Lecture - 03 Tabular form (Minimization) In this

More information

Linear Programming: Introduction

Linear Programming: Introduction CSC 373 - Algorithm Design, Analysis, and Complexity Summer 2016 Lalla Mouatadid Linear Programming: Introduction A bit of a historical background about linear programming, that I stole from Jeff Erickson

More information

BCN Decision and Risk Analysis. Syed M. Ahmed, Ph.D.

BCN Decision and Risk Analysis. Syed M. Ahmed, Ph.D. Linear Programming Module Outline Introduction The Linear Programming Model Examples of Linear Programming Problems Developing Linear Programming Models Graphical Solution to LP Problems The Simplex Method

More information

II. Linear Programming

II. Linear Programming II. Linear Programming A Quick Example Suppose we own and manage a small manufacturing facility that produced television sets. - What would be our organization s immediate goal? - On what would our relative

More information

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture 18 All-Integer Dual Algorithm We continue the discussion on the all integer

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Combinatorial Optimization G. Guérard Department of Nouvelles Energies Ecole Supérieur d Ingénieurs Léonard de Vinci Lecture 1 GG A.I. 1/34 Outline 1 Motivation 2 Geometric resolution

More information

Using Linear Programming for Management Decisions

Using Linear Programming for Management Decisions Using Linear Programming for Management Decisions By Tim Wright Linear programming creates mathematical models from real-world business problems to maximize profits, reduce costs and allocate resources.

More information

How to Solve a Standard Maximization Problem Using the Simplex Method and the Rowops Program

How to Solve a Standard Maximization Problem Using the Simplex Method and the Rowops Program How to Solve a Standard Maximization Problem Using the Simplex Method and the Rowops Program Problem: Maximize z = x + 0x subject to x + x 6 x + x 00 with x 0 y 0 I. Setting Up the Problem. Rewrite each

More information

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs Advanced Operations Research Techniques IE316 Quiz 1 Review Dr. Ted Ralphs IE316 Quiz 1 Review 1 Reading for The Quiz Material covered in detail in lecture. 1.1, 1.4, 2.1-2.6, 3.1-3.3, 3.5 Background material

More information

Ahigh school curriculum in Algebra 2 contains both solving systems of linear equations,

Ahigh school curriculum in Algebra 2 contains both solving systems of linear equations, The Simplex Method for Systems of Linear Inequalities Todd O. Moyer, Towson University Abstract: This article details the application of the Simplex Method for an Algebra 2 class. Students typically learn

More information

5 R1 The one green in the same place so either of these could be green.

5 R1 The one green in the same place so either of these could be green. Page: 1 of 20 1 R1 Now. Maybe what we should do is write out the cases that work. We wrote out one of them really very clearly here. [R1 takes out some papers.] Right? You did the one here um where you

More information

1.7 Limit of a Function

1.7 Limit of a Function 1.7 Limit of a Function We will discuss the following in this section: 1. Limit Notation 2. Finding a it numerically 3. Right and Left Hand Limits 4. Infinite Limits Consider the following graph Notation:

More information

Catalan Numbers. Table 1: Balanced Parentheses

Catalan Numbers. Table 1: Balanced Parentheses Catalan Numbers Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles November, 00 We begin with a set of problems that will be shown to be completely equivalent. The solution to each problem

More information

Optimization of Design. Lecturer:Dung-An Wang Lecture 8

Optimization of Design. Lecturer:Dung-An Wang Lecture 8 Optimization of Design Lecturer:Dung-An Wang Lecture 8 Lecture outline Reading: Ch8 of text Today s lecture 2 8.1 LINEAR FUNCTIONS Cost Function Constraints 3 8.2 The standard LP problem Only equality

More information

Introduction to Linear Programming

Introduction to Linear Programming Introduction to Linear Programming Eric Feron (updated Sommer Gentry) (updated by Paul Robertson) 16.410/16.413 Historical aspects Examples of Linear programs Historical contributor: G. Dantzig, late 1940

More information

Discrete Optimization. Lecture Notes 2

Discrete Optimization. Lecture Notes 2 Discrete Optimization. Lecture Notes 2 Disjunctive Constraints Defining variables and formulating linear constraints can be straightforward or more sophisticated, depending on the problem structure. The

More information

MITOCW ocw f99-lec07_300k

MITOCW ocw f99-lec07_300k MITOCW ocw-18.06-f99-lec07_300k OK, here's linear algebra lecture seven. I've been talking about vector spaces and specially the null space of a matrix and the column space of a matrix. What's in those

More information

UNIT 2 LINEAR PROGRAMMING PROBLEMS

UNIT 2 LINEAR PROGRAMMING PROBLEMS UNIT 2 LINEAR PROGRAMMING PROBLEMS Structure 2.1 Introduction Objectives 2.2 Linear Programming Problem (LPP) 2.3 Mathematical Formulation of LPP 2.4 Graphical Solution of Linear Programming Problems 2.5

More information

Lecture 4: Linear Programming

Lecture 4: Linear Programming COMP36111: Advanced Algorithms I Lecture 4: Linear Programming Ian Pratt-Hartmann Room KB2.38: email: ipratt@cs.man.ac.uk 2017 18 Outline The Linear Programming Problem Geometrical analysis The Simplex

More information

Chapter 4. Linear Programming

Chapter 4. Linear Programming Chapter 4 Linear Programming For All Practical Purposes: Effective Teaching Occasionally during the semester remind students about your office hours. Some students can perceive that they are bothering

More information

Lecture 3: Linear Classification

Lecture 3: Linear Classification Lecture 3: Linear Classification Roger Grosse 1 Introduction Last week, we saw an example of a learning task called regression. There, the goal was to predict a scalar-valued target from a set of features.

More information

Notebook Assignments

Notebook Assignments Notebook Assignments These six assignments are a notebook using techniques from class in the single concrete context of graph theory. This is supplemental to your usual assignments, and is designed for

More information

Linear Programming and its Applications

Linear Programming and its Applications Linear Programming and its Applications Outline for Today What is linear programming (LP)? Examples Formal definition Geometric intuition Why is LP useful? A first look at LP algorithms Duality Linear

More information

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture - 35 Quadratic Programming In this lecture, we continue our discussion on

More information

MITOCW ocw f99-lec12_300k

MITOCW ocw f99-lec12_300k MITOCW ocw-18.06-f99-lec12_300k This is lecture twelve. OK. We've reached twelve lectures. And this one is more than the others about applications of linear algebra. And I'll confess. When I'm giving you

More information

OPERATIONS RESEARCH. Linear Programming Problem

OPERATIONS RESEARCH. Linear Programming Problem OPERATIONS RESEARCH Chapter 1 Linear Programming Problem Prof. Bibhas C. Giri Department of Mathematics Jadavpur University Kolkata, India Email: bcgiri.jumath@gmail.com 1.0 Introduction Linear programming

More information

MAT 003 Brian Killough s Instructor Notes Saint Leo University

MAT 003 Brian Killough s Instructor Notes Saint Leo University MAT 003 Brian Killough s Instructor Notes Saint Leo University Success in online courses requires self-motivation and discipline. It is anticipated that students will read the textbook and complete sample

More information

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch.

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch. Iterative Improvement Algorithm design technique for solving optimization problems Start with a feasible solution Repeat the following step until no improvement can be found: change the current feasible

More information

Chapter II. Linear Programming

Chapter II. Linear Programming 1 Chapter II Linear Programming 1. Introduction 2. Simplex Method 3. Duality Theory 4. Optimality Conditions 5. Applications (QP & SLP) 6. Sensitivity Analysis 7. Interior Point Methods 1 INTRODUCTION

More information

Paul's Online Math Notes. Online Notes / Algebra (Notes) / Systems of Equations / Augmented Matricies

Paul's Online Math Notes. Online Notes / Algebra (Notes) / Systems of Equations / Augmented Matricies 1 of 8 5/17/2011 5:58 PM Paul's Online Math Notes Home Class Notes Extras/Reviews Cheat Sheets & Tables Downloads Algebra Home Preliminaries Chapters Solving Equations and Inequalities Graphing and Functions

More information

Table of Laplace Transforms

Table of Laplace Transforms Table of Laplace Transforms 1 1 2 3 4, p > -1 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Heaviside Function 27 28. Dirac Delta Function 29 30. 31 32. 1 33 34. 35 36. 37 Laplace Transforms

More information

Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller

Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller Table of Contents Introduction!... 1 Part 1: Entering Data!... 2 1.a: Typing!... 2 1.b: Editing

More information

Bulgarian Math Olympiads with a Challenge Twist

Bulgarian Math Olympiads with a Challenge Twist Bulgarian Math Olympiads with a Challenge Twist by Zvezdelina Stankova Berkeley Math Circle Beginners Group September 0, 03 Tasks throughout this session. Harder versions of problems from last time appear

More information

Artificial Intelligence Prof. Deepak Khemani Department of Computer Science and Engineering Indian Institute of Technology, Madras

Artificial Intelligence Prof. Deepak Khemani Department of Computer Science and Engineering Indian Institute of Technology, Madras Artificial Intelligence Prof. Deepak Khemani Department of Computer Science and Engineering Indian Institute of Technology, Madras (Refer Slide Time: 00:17) Lecture No - 10 Hill Climbing So, we were looking

More information

Exploring Fractals through Geometry and Algebra. Kelly Deckelman Ben Eggleston Laura Mckenzie Patricia Parker-Davis Deanna Voss

Exploring Fractals through Geometry and Algebra. Kelly Deckelman Ben Eggleston Laura Mckenzie Patricia Parker-Davis Deanna Voss Exploring Fractals through Geometry and Algebra Kelly Deckelman Ben Eggleston Laura Mckenzie Patricia Parker-Davis Deanna Voss Learning Objective and skills practiced Students will: Learn the three criteria

More information

Basics of Computational Geometry

Basics of Computational Geometry Basics of Computational Geometry Nadeem Mohsin October 12, 2013 1 Contents This handout covers the basic concepts of computational geometry. Rather than exhaustively covering all the algorithms, it deals

More information

Transcriber(s): Aboelnaga, Eman Verifier(s): Yedman, Madeline Date Transcribed: Fall 2010 Page: 1 of 9

Transcriber(s): Aboelnaga, Eman Verifier(s): Yedman, Madeline Date Transcribed: Fall 2010 Page: 1 of 9 Page: 1 of 9 0:00 1 R1 The color s not going to show a little bit, but okay. Okay. So, um, a plus b quantity cubed, you said, means Stephanie a plus b times a plus b times a plus b /R1 3 R1 Okay, so you

More information

Econ 172A - Slides from Lecture 8

Econ 172A - Slides from Lecture 8 1 Econ 172A - Slides from Lecture 8 Joel Sobel October 23, 2012 2 Announcements Important: Midterm seating assignments. Posted tonight. Corrected Answers to Quiz 1 posted. Quiz 2 on Thursday at end of

More information

Converting Between Mixed Numbers & Improper Fractions

Converting Between Mixed Numbers & Improper Fractions 01 Converting Between Mixed Numbers & Improper Fractions A mixed number is a whole number and a fraction: 4 1 2 An improper fraction is a fraction with a larger numerator than denominator: 9 2 You can

More information

The Simplex Algorithm

The Simplex Algorithm The Simplex Algorithm April 25, 2005 We seek x 1,..., x n 0 which mini- Problem. mizes C(x 1,..., x n ) = c 1 x 1 + + c n x n, subject to the constraint Ax b, where A is m n, b = m 1. Through the introduction

More information

Project and Production Management Prof. Arun Kanda Department of Mechanical Engineering Indian Institute of Technology, Delhi

Project and Production Management Prof. Arun Kanda Department of Mechanical Engineering Indian Institute of Technology, Delhi Project and Production Management Prof. Arun Kanda Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture - 8 Consistency and Redundancy in Project networks In today s lecture

More information

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini DM545 Linear and Integer Programming Lecture 2 The Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. 3. 4. Standard Form Basic Feasible Solutions

More information

EC121 Mathematical Techniques A Revision Notes

EC121 Mathematical Techniques A Revision Notes EC Mathematical Techniques A Revision Notes EC Mathematical Techniques A Revision Notes Mathematical Techniques A begins with two weeks of intensive revision of basic arithmetic and algebra, to the level

More information

MATHEMATICS II: COLLECTION OF EXERCISES AND PROBLEMS

MATHEMATICS II: COLLECTION OF EXERCISES AND PROBLEMS MATHEMATICS II: COLLECTION OF EXERCISES AND PROBLEMS GRADO EN A.D.E. GRADO EN ECONOMÍA GRADO EN F.Y.C. ACADEMIC YEAR 2011-12 INDEX UNIT 1.- AN INTRODUCCTION TO OPTIMIZATION 2 UNIT 2.- NONLINEAR PROGRAMMING

More information

Graphical Methods in Linear Programming

Graphical Methods in Linear Programming Appendix 2 Graphical Methods in Linear Programming We can use graphical methods to solve linear optimization problems involving two variables. When there are two variables in the problem, we can refer

More information

Some Advanced Topics in Linear Programming

Some Advanced Topics in Linear Programming Some Advanced Topics in Linear Programming Matthew J. Saltzman July 2, 995 Connections with Algebra and Geometry In this section, we will explore how some of the ideas in linear programming, duality theory,

More information

Graphical Analysis. Figure 1. Copyright c 1997 by Awi Federgruen. All rights reserved.

Graphical Analysis. Figure 1. Copyright c 1997 by Awi Federgruen. All rights reserved. Graphical Analysis For problems with 2 variables, we can represent each solution as a point in the plane. The Shelby Shelving model (see the readings book or pp.68-69 of the text) is repeated below for

More information

Chapter 4: The Mechanics of the Simplex Method

Chapter 4: The Mechanics of the Simplex Method Chapter 4: The Mechanics of the Simplex Method The simplex method is a remarkably simple and elegant algorithmic engine for solving linear programs. In this chapter we will examine the internal mechanics

More information

AMATH 383 Lecture Notes Linear Programming

AMATH 383 Lecture Notes Linear Programming AMATH 8 Lecture Notes Linear Programming Jakob Kotas (jkotas@uw.edu) University of Washington February 4, 014 Based on lecture notes for IND E 51 by Zelda Zabinsky, available from http://courses.washington.edu/inde51/notesindex.htm.

More information

Outline. CS38 Introduction to Algorithms. Linear programming 5/21/2014. Linear programming. Lecture 15 May 20, 2014

Outline. CS38 Introduction to Algorithms. Linear programming 5/21/2014. Linear programming. Lecture 15 May 20, 2014 5/2/24 Outline CS38 Introduction to Algorithms Lecture 5 May 2, 24 Linear programming simplex algorithm LP duality ellipsoid algorithm * slides from Kevin Wayne May 2, 24 CS38 Lecture 5 May 2, 24 CS38

More information

Math Fundamentals for Statistics (Math 52) Unit 3: Addition and Subtraction. Scott Fallstrom and Brent Pickett The How and Whys Guys.

Math Fundamentals for Statistics (Math 52) Unit 3: Addition and Subtraction. Scott Fallstrom and Brent Pickett The How and Whys Guys. Math Fundamentals for Statistics (Math 52) Unit 3: Addition and Subtraction Scott Fallstrom and Brent Pickett The How and Whys Guys Unit 3 Page 1 3.1: Place Value (Addition Preview) Our system is a base-ten,

More information

Course Number 432/433 Title Algebra II (A & B) H Grade # of Days 120

Course Number 432/433 Title Algebra II (A & B) H Grade # of Days 120 Whitman-Hanson Regional High School provides all students with a high- quality education in order to develop reflective, concerned citizens and contributing members of the global community. Course Number

More information

Lecture 9: Linear Programming

Lecture 9: Linear Programming Lecture 9: Linear Programming A common optimization problem involves finding the maximum of a linear function of N variables N Z = a i x i i= 1 (the objective function ) where the x i are all non-negative

More information

CMPSCI611: The Simplex Algorithm Lecture 24

CMPSCI611: The Simplex Algorithm Lecture 24 CMPSCI611: The Simplex Algorithm Lecture 24 Let s first review the general situation for linear programming problems. Our problem in standard form is to choose a vector x R n, such that x 0 and Ax = b,

More information

LINEAR PROGRAMMING INTRODUCTION 12.1 LINEAR PROGRAMMING. Three Classical Linear Programming Problems (L.P.P.)

LINEAR PROGRAMMING INTRODUCTION 12.1 LINEAR PROGRAMMING. Three Classical Linear Programming Problems (L.P.P.) LINEAR PROGRAMMING 12 INTRODUCTION ou are familiar with linear equations and linear inequations in one and two variables. They can be solved algebraically or graphically (by drawing a line diagram in case

More information

(Refer Slide Time 3:31)

(Refer Slide Time 3:31) Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture - 5 Logic Simplification In the last lecture we talked about logic functions

More information

Divisibility Rules and Their Explanations

Divisibility Rules and Their Explanations Divisibility Rules and Their Explanations Increase Your Number Sense These divisibility rules apply to determining the divisibility of a positive integer (1, 2, 3, ) by another positive integer or 0 (although

More information

Introduction to Linear Programming. Algorithmic and Geometric Foundations of Optimization

Introduction to Linear Programming. Algorithmic and Geometric Foundations of Optimization Introduction to Linear Programming Algorithmic and Geometric Foundations of Optimization Optimization and Linear Programming Mathematical programming is a class of methods for solving problems which ask

More information

Graphing Linear Inequalities in Two Variables.

Graphing Linear Inequalities in Two Variables. Many applications of mathematics involve systems of inequalities rather than systems of equations. We will discuss solving (graphing) a single linear inequality in two variables and a system of linear

More information

Polar Coordinates. 2, π and ( )

Polar Coordinates. 2, π and ( ) Polar Coordinates Up to this point we ve dealt exclusively with the Cartesian (or Rectangular, or x-y) coordinate system. However, as we will see, this is not always the easiest coordinate system to work

More information

1 Linear programming relaxation

1 Linear programming relaxation Cornell University, Fall 2010 CS 6820: Algorithms Lecture notes: Primal-dual min-cost bipartite matching August 27 30 1 Linear programming relaxation Recall that in the bipartite minimum-cost perfect matching

More information

Section 1.2 Fractions

Section 1.2 Fractions Objectives Section 1.2 Fractions Factor and prime factor natural numbers Recognize special fraction forms Multiply and divide fractions Build equivalent fractions Simplify fractions Add and subtract fractions

More information

Exercise: Graphing and Least Squares Fitting in Quattro Pro

Exercise: Graphing and Least Squares Fitting in Quattro Pro Chapter 5 Exercise: Graphing and Least Squares Fitting in Quattro Pro 5.1 Purpose The purpose of this experiment is to become familiar with using Quattro Pro to produce graphs and analyze graphical data.

More information

Introduction to Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Introduction to Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Introduction to Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Module - 05 Lecture - 24 Solving LPs with mixed type of constraints In the

More information

1

1 Zeros&asymptotes Example 1 In an early version of this activity I began with a sequence of simple examples (parabolas and cubics) working gradually up to the main idea. But now I think the best strategy

More information

Linear Programming. them such that they

Linear Programming. them such that they Linear Programming l Another "Sledgehammer" in our toolkit l Many problems fit into the Linear Programming approach l These are optimization tasks where both the constraints and the objective are linear

More information

3.7. Vertex and tangent

3.7. Vertex and tangent 3.7. Vertex and tangent Example 1. At the right we have drawn the graph of the cubic polynomial f(x) = x 2 (3 x). Notice how the structure of the graph matches the form of the algebraic expression. The

More information

Section Notes 5. Review of Linear Programming. Applied Math / Engineering Sciences 121. Week of October 15, 2017

Section Notes 5. Review of Linear Programming. Applied Math / Engineering Sciences 121. Week of October 15, 2017 Section Notes 5 Review of Linear Programming Applied Math / Engineering Sciences 121 Week of October 15, 2017 The following list of topics is an overview of the material that was covered in the lectures

More information

Section 3.1 Objective 1: Plot Points in the Rectangular Coordinate System Video Length 12:35

Section 3.1 Objective 1: Plot Points in the Rectangular Coordinate System Video Length 12:35 Section 3.1 Video Guide The Rectangular Coordinate System and Equations in Two Variables Objectives: 1. Plot Points in the Rectangular Coordinate System 2. Determine If an Ordered Pair Satisfies an Equation

More information

Math Dr. Miller - Constructing in Sketchpad (tm) - Due via by Friday, Mar. 18, 2016

Math Dr. Miller - Constructing in Sketchpad (tm) - Due via  by Friday, Mar. 18, 2016 Math 304 - Dr. Miller - Constructing in Sketchpad (tm) - Due via email by Friday, Mar. 18, 2016 As with our second GSP activity for this course, you will email the assignment at the end of this tutorial

More information

JMC 2015 Teacher s notes Recap table

JMC 2015 Teacher s notes Recap table JMC 2015 Teacher s notes Recap table JMC 2015 1 Number / Adding and subtracting integers Number / Negative numbers JMC 2015 2 Measuring / Time units JMC 2015 3 Number / Estimating Number / Properties of

More information

The first thing we ll need is some numbers. I m going to use the set of times and drug concentration levels in a patient s bloodstream given below.

The first thing we ll need is some numbers. I m going to use the set of times and drug concentration levels in a patient s bloodstream given below. Graphing in Excel featuring Excel 2007 1 A spreadsheet can be a powerful tool for analyzing and graphing data, but it works completely differently from the graphing calculator that you re used to. If you

More information

9 R1 Get another piece of paper. We re going to have fun keeping track of (inaudible). Um How much time do you have? Are you getting tired?

9 R1 Get another piece of paper. We re going to have fun keeping track of (inaudible). Um How much time do you have? Are you getting tired? Page: 1 of 14 1 R1 And this is tell me what this is? 2 Stephanie x times y plus x times y or hm? 3 R1 What are you thinking? 4 Stephanie I don t know. 5 R1 Tell me what you re thinking. 6 Stephanie Well.

More information

Advanced Operations Research Techniques IE316. Quiz 2 Review. Dr. Ted Ralphs

Advanced Operations Research Techniques IE316. Quiz 2 Review. Dr. Ted Ralphs Advanced Operations Research Techniques IE316 Quiz 2 Review Dr. Ted Ralphs IE316 Quiz 2 Review 1 Reading for The Quiz Material covered in detail in lecture Bertsimas 4.1-4.5, 4.8, 5.1-5.5, 6.1-6.3 Material

More information

MITOCW watch?v=4dj1oguwtem

MITOCW watch?v=4dj1oguwtem MITOCW watch?v=4dj1oguwtem PROFESSOR: So it's time to examine uncountable sets. And that's what we're going to do in this segment. So Cantor's question was, are all sets the same size? And he gives a definitive

More information

COLUMN GENERATION IN LINEAR PROGRAMMING

COLUMN GENERATION IN LINEAR PROGRAMMING COLUMN GENERATION IN LINEAR PROGRAMMING EXAMPLE: THE CUTTING STOCK PROBLEM A certain material (e.g. lumber) is stocked in lengths of 9, 4, and 6 feet, with respective costs of $5, $9, and $. An order for

More information

Interactive Math Glossary Terms and Definitions

Interactive Math Glossary Terms and Definitions Terms and Definitions Absolute Value the magnitude of a number, or the distance from 0 on a real number line Addend any number or quantity being added addend + addend = sum Additive Property of Area the

More information

, etc. Let s work with the last one. We can graph a few points determined by this equation.

, etc. Let s work with the last one. We can graph a few points determined by this equation. 1. Lines By a line, we simply mean a straight curve. We will always think of lines relative to the cartesian plane. Consider the equation 2x 3y 4 = 0. We can rewrite it in many different ways : 2x 3y =

More information

Integrated Math, Part C Chapter 1 SUPPLEMENTARY AND COMPLIMENTARY ANGLES

Integrated Math, Part C Chapter 1 SUPPLEMENTARY AND COMPLIMENTARY ANGLES Integrated Math, Part C Chapter SUPPLEMENTARY AND COMPLIMENTARY ANGLES Key Concepts: By the end of this lesson, you should understand:! Complements! Supplements! Adjacent Angles! Linear Pairs! Vertical

More information

Introduction. Linear because it requires linear functions. Programming as synonymous of planning.

Introduction. Linear because it requires linear functions. Programming as synonymous of planning. LINEAR PROGRAMMING Introduction Development of linear programming was among the most important scientific advances of mid-20th cent. Most common type of applications: allocate limited resources to competing

More information

Graphing Linear Equations and Inequalities: Graphing Linear Equations and Inequalities in One Variable *

Graphing Linear Equations and Inequalities: Graphing Linear Equations and Inequalities in One Variable * OpenStax-CNX module: m18877 1 Graphing Linear Equations and Inequalities: Graphing Linear Equations and Inequalities in One Variable * Wade Ellis Denny Burzynski This work is produced by OpenStax-CNX and

More information

Section 1.1 Graphs Graphs

Section 1.1 Graphs Graphs Section 1.1 Graphs 55 1.1 Graphs Much of algebra is concerned with solving equations. Many algebraic techniques have been developed to provide insights into various sorts of equations, and those techniques

More information

CHAPTER 1: INTEGERS. Image from CHAPTER 1 CONTENTS

CHAPTER 1: INTEGERS. Image from  CHAPTER 1 CONTENTS CHAPTER 1: INTEGERS Image from www.misterteacher.com CHAPTER 1 CONTENTS 1.1 Introduction to Integers 1. Absolute Value 1. Addition of Integers 1.4 Subtraction of Integers 1.5 Multiplication and Division

More information