1
15-853:Algorithms in the Real World
Linear and Integer Programming II
– Ellipsoid algorithm
– Interior point methods
15-853
Page1
Ellipsoid Algorithm
First polynomial-time algorithm for linear
programming (Khachian 79)
Solves
find
x
subject to
Ax
≤
b
i.e find a feasible solution
Run Time:
O(n
4
L), where L = #bits to represent A and b
15-853
Page2
Problem in practice
: always takes this much time.
Reduction from general case
To solve:
maximize:
z = c
T
x
bj
t t
A
b
0
subject to:
Ax
≤
b,
x
≥
Convert to:
find:
x, y
subject to:
Ax
≤
b,
-x
≤
0
-yA
≤
–c
15-853
Page3
-y
≤
0
-cx +by
≤
0
Ellipsoid Algorithm
Consider a sequence of smaller and smaller ellipsoids
each with the feasible region inside.
For iteration k:
c
k
= center of E
k
Eventually c
k
has to be inside of F, and we are done.
Feasible region
15-853
Page4
c
k
F

This
** preview**
has intentionally

**sections.**

*blurred***to view the full version.**

*Sign up*
2
Ellipsoid Algorithm
To find the next smaller ellipsoid:
find most violated constraint a
k
find smallest ellipsoid that includes constraint
Feasible region
15-853
Page5
c
k
F
a
k
)
1
2
/(
1
1
2
1
)
(
)
(
+
+
=
n
k
k
E
Vol
E
Vol
Interior Point Methods
Travel through the interior
with a
combination
of
x
2
1.
An
optimization
term
(moves toward objective)
2. A
centering
term
(keeps away from
boundary)
Used since 50s for nonlinear
15-853
Page6
programming.
Karmakar proved a variant is
polynomial time
in 1984
x
1
Methods
Affine scaling:
simplest, but no known time bounds
Potential reduction
: O(nL) iterations
Central trajectory
: O(n
1/2
L) iterations
The time for each iteration involves solving a linear
system so it takes polynomial time.
The “real
world” time depends heavily on the matrix
structure
15-853
Page7
structure.
Example times
fuel
continent
car
initial
size (K)
13x31K
9x57K
43x107K
19x12K
non-zeros
186K
189K
183K
80K
iterations
66
64
53
58
time (sec)
2364
771
645
9252
Cholesky
non-zeros
1.2M
.3M
.2M
6.7M
15-853
Page8
Central trajectory method (Lustic, Marsten, Shanno 94)
Time depends on Cholesky non-zeros (i.e. the “fill”)