Linear Programming 虞台文
Content Examples Forms of LP Geometric View of LP Intuitive View of the Simplex Method
Linear Programming Examples
Managing a Production Facility Unit Market Price 1 2 n . . . Unit Value 1 2 3 m . . . Raw Material . . . Stock b1 b2 b3 bm . . . Product . . .
Managing a Production Facility aij : number of units of the ith raw material needed to produce one unit of the jth product. Managing a Production Facility xj : the number of units of the jth product produced. Unit Market Price 1 2 n . . . Unit Value 1 2 3 m . . . Raw Material . . . Unit Profit c1 c2 cn . . . Stock b1 b2 b3 bm . . . Product . . .
The Resource Allocation Problem aij : number of units of the ith raw material needed to produce one unit of the jth product. The Resource Allocation Problem xj : the number of units of the jth product produced. Unit Value 1 2 3 m . . . Stock b1 b2 b3 bm Raw Material Product Profit c1 c2 cn Market Price 1 2 n Maximize Subject to
The Diet Problem c1 c2 c3 cm . . . b1 b2 bn . . . . . . . . . aij : number of units of nutrient i in one unit food j. xj : number of units of food j in the diet. The Diet Problem Unit Price c1 c2 c3 cm . . . Required Units b1 b2 bn . . . Food . . . Nutrient . . . Minimize Subject to
Linear Programming Forms of LP
The Linear Programming Problem An application of linear algebra. Its central goal is to maximize or minimize a linear function on a domain defined by linear inequalities and equations.
The General Form x1, …, xn : decision variables Maximize or minimize Subject to
The General Form x1, …, xn : decision variables Maximize or minimize A linear objective function A set of linear constraints linear inequalities or linear equations Subject to
The Canonical Form Minimize Subject to “greater than” only Non-negative
The Canonical Form Minimize Subject to This can also be considered canonical. The Canonical Form “ less than” only Minimize Subject to Non-negative
The Standard Form Minimize Subject to
Equivalence of LP Forms How to convert among these forms? Equivalence of LP Forms
Maximization Minimization Maximize Minimize E.g., Minimize
Surplus/Slack Variables Surplus variable Slack variable
Replace Unrestricted Variables Replace each unrestricted variables with the difference of two nonnegative variables. For example: Let x be an unrestricted variable.
Example Maximize Minimize Subject to Subject to Canonical Form
Example Minimize Subject to Standard Form
Forms of LP Standard Form Canonical Form General Form These forms are all equivalent.
The Standard Form
LP Convex Programming Local optimality Global optimality LP Convex Programming a convex function a convex set The optimal solution is at a corner of the convex polytope.
The Simplex Algorithm a convex function a convex set Local optimality Global optimality The Simplex Algorithm Finding optimum by moving around the corner of the convex polytope in cost descent sense. a convex function a convex set basic feasible solution at a corner The optimal solution is at a corner of the convex polytope.
Linear Programming Geometric View of LP
An Example of 2 Decision Variables y 1 2 3 4 5 6 7 8 Maximize Subject to x
An Example of 2 Decision Variables 1 2 3 4 5 6 7 8 x y Maximize Subject to
An Example of 2 Decision Variables 1 2 3 4 5 6 7 8 x y Optimum solution Maximize Subject to * (6, 2)
Nonempty feasible region The feasible region determined by a collection of linear inequalities is the collection of points that satisfy all of the inequalities. Feasible LP Problems 1 2 3 4 5 6 7 8 x y Maximize Subject to A feasible LP problem Nonempty feasible region
Infeasible LP Problems y x 1 1 2 3 4 5 6 2 Maximize Subject to An infeasible LP problem The feasible region is empty
An unbounded LP problem Unbounded LP Problems y x 1 1 2 3 4 5 6 2 Maximize Subject to An unbounded LP problem The feasible region is unbounded. Some coefficients of objective function is non-negative.
Intuitive View of the Simplex Method Linear Programming Intuitive View of the Simplex Method 大同大學資工所 智慧型多媒體研究室
An Example Two possible ways to help maximization: 1. Increase the variables with positive coefficients. An Example 2. Decrease the variables with negative coefficient. Maximize Objective Function Subject to
An Example Maximize Subject to
Converting the LP into Standard Form Maximize Subject to
Basic Solutions
Basic Solutions Such a basic solution is feasible if and only if all bi’s are feasible.
Adjust their values to increase progressively. How?
How? Two possible ways to help maximization: 1. Increase the variables with negate coefficients. How? 2. Decrease the variables with positive coefficient.
Active/Inactive Variables The variable whose corresponding column has only one nonzero entry is active; otherwise, it is inactive. Active/Inactive Variables Inactive Variables Active Variables
Set Up the Initial Tableau Active x1 x2 x3 w1 w2 w3 Ans 2 4 3 5 1 3 5 11 8 w1 = 5 w2 = 11 w3 = 8 = 0
Select the Pivot Column Active x1 x2 x3 w1 w2 w3 Ans 2 3 1 1 5 w1 = 5 4 1 2 1 11 w2 = 11 3 4 2 1 8 w3 = 8 5 4 3 1 = 0 From bottom row, 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.
Select the Pivot in the Pivot Column Active x1 x2 x3 w1 w2 w3 Ans 2 3 1 1 5 5/2 =30/12 w1 = 5 4 1 2 1 11 11/4 =33/12 w2 = 11 3 4 2 1 8 8/3 =32/12 w3 = 8 5 4 3 1 = 0 The pivot must always be a positive number. 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. Of these ratios, choose the smallest one. The corresponding number b is the pivot.
Clear the Pivot Column Active x1 x2 x3 w1 w2 w3 Ans 2 3 1 1 5 5/2 5 5/2 =30/12 w1 = 5 4 1 2 1 11 11/4 =33/12 w2 = 11 3 4 2 1 8 8/3 =32/12 w3 = 8 5 4 3 1 = 0 Active x1 x2 x3 w1 w2 w3 Ans 2 3 1 1 5 x1 = 2.5 5 2 1 1 w2 = 1 0.5 0.5 1.5 1 0.5 w3 = 0.5 11.5 0.5 2.5 1 12.5 =12.5
Select the Pivot Column Active x1 x2 x3 w1 w2 w3 Ans 2 3 1 1 5 x1 = 2.5 5 2 1 1 w2 = 1 0.5 0.5 1.5 1 0.5 w3 = 0.5 11.5 0.5 2.5 1 12.5 =12.5
Select the Pivot in the Pivot Column Active x1 x2 x3 w1 w2 w3 Ans 5/1 =5 2 3 1 1 5 x1 = 2.5 5 2 1 1 w2 = 1 0.5/0.5 =1 0.5 0.5 1.5 1 0.5 w3 = 0.5 11.5 0.5 2.5 1 12.5 =12.5
Clear the Pivot Column Active x1 x2 x3 w1 w2 w3 Ans 2 4 4 2 4 4 2 4 x1 = 2 5 2 1 1 w2 = 1 0.5 0.5 1.5 1 0.5 x3 = 1 11 1 1 1 13 =13 Active x1 x2 x3 w1 w2 w3 Ans 5/1 =5 2 3 1 1 5 x1 = 2.5 5 2 1 1 w2 = 1 0.5/0.5 =1 0.5 0.5 1.5 1 0.5 w3 = 0.5 11.5 0.5 2.5 1 12.5 =12.5
All of them are positive. The Optimum Active x1 x2 x3 w1 w2 w3 Ans 2 4 4 2 4 x1 = 2 5 2 1 1 w2 = 1 All of them are positive. 0.5 0.5 1.5 1 0.5 x3 = 1 11 1 1 1 13 =13 The optimal solution is here
The Optimum Maximize Subject to
The Optimum Maximize 13 Subject to 5 10 8
Summary Step 1: Using slack/surplus variables, convert the LP problem to a system of linear equations. Step 2: Set up the initial tableau. Step 3: Select the pivot column. Step 4: Select the pivot in the pivot column. 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).