Title: Linear Programming
1Linear Programming
- Why talk about Linear Programming (LP)?
- LP is simpler than NLP, hence, good for a
foundation - linearity has some unique features for
optimization - a lot of problems are or can be converted to a LP
formulation - some NLP algorithms are based upon LP simplex
method
2Bolted Joint Design
- Given
- At - tensile strength diameter, function of d
- Db - bolt circle diameter
- Pt - total load
- C - joint constant
- Fi - preload ( 0.75 Sp At)
- Find
- N - number of bolts, Sp - proof strength, d -
diameter - Satisfy
- 3d ? ? Db / N good wrench rule
- ? Db / N ? 6d good seal rule
- C Pt / N ? Sp At - Fi static loading
constraint - Fi ? (1 - C) Pt / N joint separation
constraint - Minimize Z f1(N, d, Sp), f2(N, d, Sp), ..
Question Is this a linear or nonlinear model?
3Bolted Joint Design (2)
- Given
- d - diameter
- At - tensile strength diameter, function of d
- Db - bolt circle diameter
- Pt - total load
- C - joint constant
- Fi - preload ( 0.75 Sp At)
- Find
- N - number of bolts, Sp - proof strength
- Satisfy
- 3d ? ? Db / N good wrench rule
- ? Db / N ? 6d good seal rule
- C Pt / N ? Sp At - Fi static loading
constraint - Fi ? (1 - C) Pt / N joint separation
constraint - Minimize Z f1(N, Sp), f2(N, Sp), ..
Question Is this a linear or nonlinear problem?
4Historical Perspective
- 1928 John von Neumann published related central
theorem of game theory - 1944 Von Neumann and Morgenstern published
Theory of Games and Economic Behavior - 1936 W.W. Leontief published "Quantitative
Input and Output Relations in the Economic
Systems of the US" which was a linear model
without objective function. - 1939 Kantoravich (Russia) actually formulated
and solved a LP problem - 1941 Hitchcock poses transportation problem
(special LP) - WWII Allied forces formulate and solve several
LP problems related to military - A breakthrough occurred in 1947...
5SCOOP
- US Air Force wanted to investigate the
feasibility of applying mathematical techniques
to military budgeting and planning. - George Dantzig had proposed that interrelations
between activities of a large organization can be
viewed as a LP model and that the optimal program
(solution) can be obtained by minimizing a
(single) linear objective function. - Air Force initiated project SCOOP (Scientific
Computing of Optimum Programs) - NOTE
- SCOOP began in June 1947 and at the end of the
same summer, Dantzig and associates had
developed - 1) an initial mathematical model of the general
linear programming problem - 2) a general method of solution called the
simplex method
6Simplex Today
- Other (polynomial time) algorithms have been
developed for solving LP problems - Khachian algorithm (1979)
- Kamarkar algorithm (ATT Bell Labs, mid 80s)
- BUT,
- none of these algorithms have been able to beat
Simplex in actual practical applications - HENCE,
- Simplex is and will most likely remain the most
dominant LP algorithm for at least the near future
7Fundamental Theorem
- Extreme point (or Simplex filter) theorem
- If the maximum or minimum value of a linear
function defined over a polygonal convex region
exists, then it is to be found at the boundary of
the region.
Convex set A set (or region) is convex if, for
any two points (say, x1 and x2) in that set, the
line segment joining these points lies entirely
within the set. A point is by definition convex.
See also pages 664 and 666 in your book.
8What does the extreme point theorem imply?
- A finite number of extreme points implies a
finite number of solutions - Hence, search is reduced to a finite set of
points - However, a finite set can still be too large for
practical purposes - Simplex method provides an efficient systematic
search guaranteed to converge in a finite number
of steps.
9Basic Steps of Simplex
- 1. Begin the search at an extreme point (i.e., a
basic feasible solution). - 2. Determine if the movement to an adjacent
extreme can improve on the optimization of the
objective function. If not, the current solution
is optimal. If, however, improvement is
possible, then proceed to the next step. - 3. Move to the adjacent extreme point which
offers (or, perhaps, appears to offer) the most
improvement in the objective function. - 4. Continue steps 2 and 3 until the optimal
solution is found or it can be shown that the
problem is either unbounded or infeasible. - (see also page 152 in your book)
10Step 0 Obtain Canonical Form
IMPORTANT Simplex only deals with equalities
- General Simplex LP model
- min (or max) z ? ci xi
- s.t.
- A x b
- x ? 0
- In order to get and maintain this form, use
- slack, x ? b -gt x slack b (also called
negative deviation) - surplus, x ? b -gt x - surplus b (also
called positive deviation) - artificial variables (sometimes need to be added
to ensure all variables ? 0) - (see also Section 4.3)
Compare constraint conversion with goal
conversions using deviation variables
11Different "components" of a LP model
- LP model can always be split into a basic and a
non-basic part. - "Transformed" or" reduced" model is a good way to
show this. - This can be represented in mathematical terms as
well as in a LP or simplex tableau.
12Movement to Adjacent Extreme Point
Given any basis we move to an adjacent extreme
point (another basic feasible solution) of the
solution space by exchanging one of the columns
that is in the basis for a column that is not in
the basis.
- Two things to determine
- 1) which (nonbasic) column of A should be brought
into the basis so that the solution improves? - 2) which column can be removed from the basis
such that the solution stays feasible?
13Entering and Departing Vector (Variable) Rules
- General rules
- The one nonbasic variable to come in is the one
which provides the highest reduction in the
objective function. - The one basic variable to leave is the one which
is expected to go infeasible first. - NOTE THESE ARE HEURISTICS!!
- Variations on these rules exist, but are rare.
14Simplex Variations
- Various variations on the simplex method exist
(see handouts) - "regular" simplex (see Example 4.6)
- two-phase method Phase I for feasibility and
Phase II for optimality (see Section 4.4.5) - condensed/reduced method only use the nonbasic
columns to work with (see handout) - (revised) dual simplex (see Section 4.8), etc.
15Computational Considerations
- Unrestricted variables (unboundedness)
- Redundancy (linear dependency, modeling errors)
- Degeneracy (some basic variables 0)
- Round-off errors
- (see also page 162-163)
16Limitations of Simplex
- Inability to deal with multiple objectives
- Inability to handle problems with integer
variables - Latter has resulted in
- Cutting plane algorithms (Gomory, 1958)
- Branch and Bound (Land and Doig, 1960)
- However,
- solution methods to LP problems with integer or
Boolean variables are still far less efficient
than those which include continuous variables only
17Example Problem
Maximize Z 5x1 2x2 x3
subject to
x1 3x2 - x3 6, x2 x3 4, 3x1 x2
7, x1, x2, x3 0.
18Simplex and Example Problem
Step 1. Convert to Standard Form
a11 x1 a12 x2 a1n xn b1, a21 x1
a22 x2 a2n xn b2, am1 x1 am2 x2
amn xn bm,
a11 x1 a12 x2 a1n xn xn1 b1, a21
x1 a22 x2 a2n xn - xn2 b2, am1 x1
am2 x2 amn xn xnk bm,
In our example problem
x1 3x2 - x3 6, x2 x3
4, 3x1 x2 7, x1, x2, x3 0.
x1 3x2 - x3 x4 6, x2
x3 x5 4, 3x1 x2
x6 7, x1, x2, x3, x4, x5, x6
0.
19Simplex Step 2
Step 2. Start with an initial basic feasible
solution (b.f.s.) and set up the initial tableau.
In our example
Maximize Z 5x1 2x2 x3 x1 3x2 - x3 x4
6, x2 x3 x5
4, 3x1 x2 x6
7, x1, x2, x3, x4, x5, x6 0.
20Step 2 Explanation
Adjacent Basic Feasible Solution
If we bring a nonbasic variable xs into the
basis, our system changes from the basis, xb, to
the following (same notation as the book)
x1 a1sxs xr
arsxr xm amsxs
xi for i 1, , m
xs 1
xj 0 for jm1, ..., n and j?s
The new value of the objective function becomes
Thus the change in the value of Z per unit
increase in xs is
new value of Z - old value of Z
This is the Inner Product rule
21Simplex Step 3
Use the inner product rule to find the relative
profit coefficients
c1 5 - 0(1) - 0(0) - 0(3) 5 -gt largest
positive c2 . c3 .
Step 4 Is this an optimal basic feasible
solution?
22Simplex Step 5
Apply the minimum ratio rule to determine the
basic variable to leave the basis.
The new values of the basis variables
xi for i 1, ..., m
In our example
Row Basic Variable Ratio 1 x4 6 2
x5 - 3 x6 7/3
23Simplex Step 6
Perform the pivot operation to get the new
tableau and the b.f.s.
New iteration find entering variable
cB (0 0 5)
c2 2 - (0) 8/3 - (0) 1 - (5) 1/3 1/3 c3 1 -
(0) (-1) - (0) 1 - (5) 0 1 c6 0 - (0) 0 - (0)
0 - (5) 1/3 -5/3
24Final Tableau
x3 enters basis, x5 leaves basis
Wrong value! 4 should be 11/3