Académique Documents
Professionnel Documents
Culture Documents
Linear Programming
Linear programming (LP, or linear optimization) is a problem of
maximizing or minimizing a linear function (objective function) in presence of linear inequality and/or equality constraints.
. ; , 0 . ; , 0
Objective function & Constraints
Corner Point : x=(x1, x2,,xn) is a vertex iff columns of Ai are Linearly Independent rank(A)=n and xi0. Also called Basic feasible solution
Surplus/Slack Variable: Used to transform and inequality into equality eg. 1) as =1 =1 + = +
2)
=1
as
=1
+ + = + 0
If xB0 then x is Basic feasible solution, xB are basic variables and xN nonbasic matrix.
Extreme Points: A point in a convex set is called an extreme point of X, if x cannot be represented as a strict convex combination of two distinct points in X. i.e. If = 1 + 1 2 0,1 & 1, 2, = 1 = 2
x1
Half-spaces: Polyhedral Set/Polyhedron: Intersection of finite-number of half-spaces. A bounded polyhedral set is called Polytope
Polytope:
x2
x3
Geometric Solution
Interchanging Maximization & Minimization Problems: =1 = =1
Types of Geometric Solution:
1) Unique Optimal Solution- unique optimal solution 2) Alternative Optimal Solutions- optimal solution set is unbounded 3) Unbounded Optimal Objective Value both feasible region & optimal value unbounded, hence no optimal solution exists 4) Empty Feasible Region inconsistent system of equations
Definitions
For positive variables since they represent physical quantities, if unrestricted sign
Work from vertex to vertex of the polyhedron and in each step improve the objective function value.
Degeneracy: A LP max* : , } is degenerate if s.t. more than n constraints of that are active at x* Optimal Bases: Basis B is optimal if it is feasible & unique with
x* - 3 constraints active
SIMPLEX ALGORITHM
Basic Idea: Start with vertex x* While x* is not optimal Find vertex x adjacent to x* with cTx > * update x*:=x or assert that LP is unbounded
min bk
is attained
SIMPLEX
Standard Maximization form of Objective function, constraints in form of less than or
Table constructed with basic variables, coefficients of variables, RHS constants & ratio columns = 0 ( 0)
New Pivot =(old/leaving new element)/key element Ratio= constant/entry column coefficient
Example
Z=30x1+20x2
BV
Z S1 S2
z
1 0 0
x1
-30 2 1
x2
-20 1 1
s1
0 1 0
s2
0 0 1
s3
0 0 0
B
0 100 80
S3
40
Iteration 1: column = minimum negative entry = -30; Row : min{ 100/2, 80/1,40/1}=40 => s3 leaving, x1 entering
BV
x1
x2
s1
s2
s3
Z
S1 S2 x1
1
0 0 0
0
0 0 1
-20
1 1 0
0
1 0 0
0
0 1 0
30
-2 -1 1
1200
20 40 40
Example
Iteration 2: column = minimum negative entry = -20; Row : min{ 20/1, 40/1,-}=20 => s1 leaving, x2 entering
BV Z x2 S2 x1
z 1 0 0 0
x1 0 0 0 1
x2 0 1 0 0
s1 20 1 -1 0
s2 0 0 1 0
s3 -10 -2 1 1
B 1600 20 20 40
Iteration 3: column = minimum negative entry = -10; Row : min{-, 20/1, 40/1,-}=20 => s2 leaving, s3 entering
BV
x1
x2
s1
s2
s3
Z
x2 S3 x1
1
0 0 0
0
0 0 1
0
1 0 0
10
-1 -1 0
10
2 1 -1
0
0 1 1
1800
60 20 20
All nonbasic variables with non-negative coefficients in row 0, Optimal solution : x1=20, x2=60 & Z=1800
PRIMAL-DUAL
With every LP associated LP called dual
. ; , 0
Dual : . ; , 0
or
Primal : . ; , 0 Dual: . ; , 0
Theorems: Dual of dual is primal
Weak Duality: LP max* : , } & its dual min* : y , Ty c, y 0}. If
x* & y* are primal & dual feasible respectively, then cTx* bTy*
If primal is feasible and bounded then primal feasible x* & dual feasible y* respectively, then cTx* =bTy*
Primal Dual
Problem 1: Maximize Z
Reference
Linear Programming and network flows, M.S. Bazaraa,