A First Attempt at an LP Algorithm
CS 149 Staff
September 27, 2006
Before we start developing an algorithm to solve Linear Optimization Problems,
we must first define what it is we are trying to solve. We therefore define the Linear
Optimization Problem to be a 2tuple, (
P, z
), where
P
⊂
R
n
is the space of feasible
solutions, and
z
:
P
→
R
is the cost function.
The slides define two different kinds of instances of the Linear Optimization
Problem,
Standard Form
, and
Canonical Form
. If
A
∈
R
m
∗
n
, b
∈
R
m
, c
∈
R
n
,
an instance of the linear optimization problem in standard form has:
P
:=
{
x
∈
R
n

Ax
=
b
and
x
≥
0
}
and
z
(
x
) :=
c
T
x
.
An instance of the linear optimization problem in canonical form has:
P
:=
{
x
∈
R
n

Ax
≥
b
and
x
≥
0
}
and
z
(
x
) :=
c
T
x
.
We would like to be able to solve both of these kinds of problems, without having
to write 2 different solvers. To do this, we must first define the relation between the
2 forms.
Definition
We call 2 optimization instances (
P
1
, z
1
), (
P
2
, z
2
)
equivalent
if
and only if there exist polynomialtime computable functions
f
:
P
1
→
P
2
and
g
:
P
2
→
P
1
such that:
∀
x
1
∈
P
1
, z
2
(
f
(
x
1
))
≤
z
1
(
x
1
)
∀
x
2
∈
P
2
, z
1
(
g
(
x
2
))
≤
z
2
(
x
2
)
We will need a lemma to make our definition useful:
Lemma
If (
P
1
, z
1
) and (
P
2
, z
2
) are equivalent and
x
1
∈
P
1
is optimal for (
P
1
, z
1
),
f
(
x
1
)
∈
P
2
is optimal for (
P
2
, z
2
) and
z
1
(
x
1
) =
z
2
(
f
(
x
2
)).
Proof
: Let
x
1
∈
P
1
be optimal for (
P
1
, z
1
), and let
y
2
∈
P
2
.
z
1
(
x
1
)
≤
z
1
(
g
(
y
2
))
Because
x
1
is optimal
z
2
(
f
(
x
1
))
≤
z
1
(
x
1
)
≤
z
1
(
g
(
y
2
))
Equivalence
z
2
(
f
(
x
1
))
≤
z
1
(
x
1
)
≤
z
1
(
g
(
y
2
))
≤
z
2
(
y
2
)
Equivalence
z
2
(
f
(
x
1
))
≤
z
2
(
y
2
)
So we have that
f
(
x
1
) has lower cost than any
y
2
∈
P
2
, so it is optimal.
Fur
ther, since the inequality is true for any
y
2
, we can set
y
2
=
f
(
x
1
), and get:
1
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
z
2
(
f
(
x
1
))
≤
z
1
(
x
1
)
≤
z
2
(
f
(
x
1
)), so
z
1
(
x
1
) =
z
2
(
f
(
x
2
)).
This is the end of the preview.
Sign up
to
access the rest of the document.
 Spring '09
 Meinolf
 Optimization, ax, linear optimization problem

Click to edit the document details