braceleftBigg
6.079/6.975, Fall 2009–10
S.
Boyd &
P.
Parrilo
Homework
5
additional
problems
1.
Heuristic
suboptimal
solution for Boolean
LP.
This exercise
builds on exercises
4.15
and 5.13 in
Convex Optimization
,
which involve
the
Boolean LP
minimize
c
T
x
subject to
Ax
precedesequal
b
x
i
∈ {
0
,
1
}
,
i
= 1
, . . . , n,
with optimal value
p
⋆
. Let
x
rlx
be
a solution of the
LP
relaxation
minimize
c
T
x
subject to
Ax
precedesequal
b
0
precedesequal
x
precedesequal
1
,
so
L
=
c
T
x
rlx
is
a
lower
bound on
p
⋆
.
The
relaxed solution
x
rlx
can also be
used
to
guess a
Boolean point
ˆ
x
, by
rounding its entries,
based on a threshold
t
∈
[0
,
1]:
rlx
1
x
i
≥
t
x
ˆ
i
=
0
otherwise
,
for
i
= 1
, . . . , n
. Evidently
ˆ
x
is Boolean (
i.e.
,
has entries in
{
0
,
1
}
).
If it is feasible for
the Boolean LP,
i.e.
, if
Ax
ˆ
precedesequal
b
,
then it
can be
considered a guess at
a good,
if
not
optimal, point for the Boolean LP. Its objective
value,
U
=
c
T
x
ˆ,
is an upper
bound
on
p
⋆
. If
U
and
L
are close, then ˆ
x
is nearly optimal;
specifically,
ˆ
x
cannot
be
more
than
(
U
−
L
)-suboptimal for the Boolean LP.
This rounding
need not
work; indeed,
it
can happen that
for
all
threshold values, ˆ
x
is
infeasible. But
for
some problem
instances,
it
can work well.
Of course, there are many
variations on this simple
scheme for (possibly)
constructing
a feasible, good point from
x
rlx
.
Finally, we get
to
the problem.
Generate
problem
data using
rand(’state’,0);
n=100;
m=300;
A=rand(m,n);
b=A*ones(n,1)/2;
c=-rand(n,1);
You can think
of
x
i
as
a
job we
either
accept
or
decline,
and
−
c
i
as the
(positive)
revenue we generate if
we accept job
i
.
We
can think of
Ax
precedesequal
b
as a set
of limits
on