Presentation is loading. Please wait.

Presentation is loading. Please wait.

DMOR Linear Programming.

Similar presentations


Presentation on theme: "DMOR Linear Programming."— Presentation transcript:

1 DMOR Linear Programming

2 Unconstrained optimization Constrained optimization
Linear programming Non-linear programming programming – arch. planning Constrained optimization elements: decision variables objective function constraints variable bounds

3 Bike company Bike company produces:
Mountain bikes Race bikes Wants to maximize profit by setting quantities of each bike produced No demand restrictions Two teams produce two kinds of bikes: Mountain bike team can produce up to 2 bikes per day Race bike team can produce up to 3 bikes per day Equal amount of time using metal finishing machine is needed for both kinds of bikes. Up to 4 bikes can go through the machine daily The acountant estimates profits for each bike Mountain $15 Race $10

4 Solution Intuitive solution Linear programming
We produce as many mountain bikes as possible (max 2) and what’s left goes for race bikes (2). Generated Profit: $30+$20=$50. Linear programming Decision variables: Number of mountain x1 and race x2 bikes Nonnegative: x1≥0, x2≥0 Objective function: max daily profit: max Z=15x1+10x2 (in $/day) Constraints: Daily mountain bike production limit: x1≤2 (in bikes/day) Daily race bike production limit: x2≤3 (in bikes/day) Metal finishing machine limit: x1+x2 ≤ 4 (in bikes/day)

5 Corners are important feasible region Isoprofit lines are parallel
Profit increases the most for the gradient direction Corners stick outside the most Optimum is a corner or a an edge together with two endpoint (neighbouring) corners If two corners are optimal then the line between them is also

6 Linear programming assumptions
Linear in decision variables Additivity and proportionality Excludes curves, step-functions, interaction factors, e.g. 5x1x2, start-up costs Decision variables are real-valued And not integer-valued Programming in general assumes knowledge of all the parameters Nevertheless we can do sensitivity analysis

7 An LP problem in standard form
Features: Objective is to maximze Constraints only ≤ Non-negative constraints’ RHS Decision variables are nonnegative Algebraic formulation: Objective function: m functional constraints: Variable bounds

8 Definitions solution cornerpoint solution
feasible cornerpoint solution adjacent cornerpoint solutions

9 Key properties Optimal cornerpoint solution is always a feasible cornerpoint solution If objective function value for a given feasible cornerpoint solution is not less than the objective function value for all feasible adjacent cornerpoint solution, then this solution is optimal There is finite number of feasible cornerpoint solutions Implications Search the cornerpoints Easy to say which cornerpoint is optimal Algorithm will stop after finite number of iterations

10 Simplex method Two phases:
Start-up – find any feasible cornerpoint solution Standard form is good because the orgin is always a feasible cornerpoint solution If not in standard form, we need additional procedure (to be described later) Iterations – move to adjacent feasible cornerpoint solutions such that each time you improve the objective function value Stop when no improvement possible

11 Algebraic method Millions of decision variables in real applications
Graphical method not possible Algebraic method works fine Inequality constraints changed into equality constraints Solving a system of equations being a subset of all constraints Subset – since commonly not all equalities mey hold at the same time We need a way to remember which equalities are in the subset (active constraints) We introduce slack variables e.g. x1 ≤ 2 changed into x1 + s1 = 2, where s1 ≥ 0 is a slack variable

12 Bike company Two dimensional problem becomes now five-dimesional
Slack variable is positive only if the corresponding constraint is active More concepts: augmented solution: values given for all variables, e.g. extended optimal cornersolution for Bike company is x1,x2,s1,s2,s3 = (2,2,0,1,0) basic solution: extended cornerpoint solution (feasible or infeasible), e.g. (2,3,0,0,-1) is basic infeasible solution basic feasible solution: feasible cornerpoint solution e.g. (0,3,2,0,1)

13 Setting variable values
degrees of freedom df df = (number of variables) - (number of independent equalities) Simplex method automatically assigns zero value (corresponding constraint active) to df out of all variables and then determines the other values x1=0 means that constraint x1 ≥ 0 is active x2=0 means that constraint x2 ≥ 0 is active s1=0 means that constraint x1 ≤ 2 is active s2=0 means that constraint x2 ≤ 3 is active s3=0 means that constraint x1+x2 ≤ 4 is active In our example df=2, hence two variables will be assigned a zero value

14 MANTRA: Nonbasic, value zero, constraint active
More terminology nonbasic variable: variable which currently is assigned a zero value basic variable: variable which is currently NOT assigned a zero value In standard form positive Zero in special cases basis: the set of current basic variables MANTRA: Nonbasic, value zero, constraint active We can guess the basis but we have to be careful We can get infeasible cornerpoint solution (previous picture) No cornerpoint at all (below)

15 Moving to a better adjacent feasible cornerpoint solution
Adjacent cornerpoint solution is a good choice because: In two adjacent cornerpoints the basic and nonbasic set are identical but for one element Example Point A: nonbasic set = {s2,s3}, basic set = {x1,x2,s1} Point B: nonbasic set = {s1,s2}, basic set = {x1,x2,s3} This is necessary yet not sufficient condition for adjacency (vide (0,4) and (4,0))

16 Three conditions for moving to a new cornerpoint solution
Have to be adjacent Have to be feasible The new solution have to be better than the old one Two steps: Determine a nonbasic variable which improves the objective function most. Move this variable into basic set (entering basic variable) Increase value of entering basic variable up to the moment one of the basic variables reaches zero. Move this variable into nonbasic set (leaving basic variable) x1 improves objective function most Constraint x1 ≥ 0 ceases to be active Only x1 increases so we know the movement direction The constraint which will be crossed over first is x1 ≤ 2.

17 Algebraically In the origin the situation is the following:
Basic variables: s1,s2,s3 Nonbasic variables: x1,x2 Basic entering variable: x1 In a new cornerpoint solution, which is located at the intersection of the edges of two constraints x2 ≥ 0 and x1 ≤ 2 (point (2,0)), we have: Basic variables: x1,s2,s3 Nonbasic variables: x2,s1 We exchanged x1 for s1

18 Minimum ratio test In order to find basci leaving variable we have to find the smallest value for the following ratio: In our example, the denominator is always 1. Generally it doesn’t have to be that way. Two special cases: Entering basic variable coefficient is 0 (the constraints do not intersect) Entering basic variable coefficient is negative (the constraints intersect but the entering basic variable increases in the opposite direction in relation to the intersection point)

19 Finding a new basic feasible solution
We found a new basis – what then? We can suibstitute zero into all nonbasic variables and solve the resulting system of m x m equations by Gaussian elimination More effective is to perform only a part of Gaussian elimination in each step When to stop iterating? (Joke about a computer scientist) When we cannot find basic entering variable

20 Simplex method

21 Simplex tableau Starting point Tableau in proper form
One basic variable for each equality Basic variable coefficient always +1 and coefficients above and below are zero Z is treated as a basic variable of the objective function The advantage of the proper form is taht we cann read current solution directly from the tableau.

22 No, we have 2 negative coefficients in the first raw
2.1 Are we done? No, we have 2 negative coefficients in the first raw 2.2 Choose basic entering variable Most negative coefficient is for x1 2.3 Choose basic leaving variable Minimal ratio test: If there is 0 or negative number in the pivot column write „no limit” The smallest value is 2: the corresponding raw is called the pivot raw Pivot element

23 2.4 Update the tableau In „basic variable” column exchange basic leaving variable with basic entering variable If pivot element is not equal to 1, divide all pivot raw coefficients by pivot element value But for the pivot element, we make all the coefficients in the pivot column equal to zero

24 Continued New solution (x1,x2,s1,s2,s3)=(2,0,0,3,2), Objective function value Z=30 2.1 We are not optimal yet 2.2, 2.3 A new basic entering and leaving variable 2.4 Back to proper form

25 Special cases A draw when choosing basic entering variable, e.g. Z = 15x1+15x2 A draw when choosing basic leaving variable – choose the one you want – the corner will the same anyway A variable which was not chosen for the basic leaving variable will remain basic but will have a calculated value of 0 A variable which was chosen will have an assigned value of 0 Basic feasible solution in such case is called degenerate and can lead to cycles in more than two dimensions (corners A,C – B,C – A,C)

26 Minimal ratio test gives „no limit” everywhere – unbounded problem – no solution
Usually mean you forgot some constraint In the optimal solution coefficients of some nonbasic variables have value of zero in the objective function raw Choosing this variable to enter the basis has no effect on the objective function value But it changes basic feasible solution It means we have multiple optimum solutions

27 In practice input formats: Algebraic formulation
Spreadsheet formulation (columns: variables, raws: constraints) Algebraic language, compact way to write the model (indices make it short) – the best in practice Individual formats

28 1963 model Factories (Seattle i San Diego) and Markets (New York, Chicago i Topeka) Satisfying the supply and demand resrtictions we strive to minimize transport costs of a homogenous goods between factories and markets

29

30


Download ppt "DMOR Linear Programming."

Similar presentations


Ads by Google