This paper considers optimization problems which are convex, except
for a constraint on the rank of a matrix variable. Minimizing or
penalizing the nuclear norm of a matrix has proven to be an
effective method for generally keeping its rank small, and a vast
amount of recent work has focused on this technique; however, many
problems require finding a matrix whose rank is constrained to be a
particular value.
We present a new method for these problems, introducing a convex
constraint that forces the rank to be at least the desired value,
while using the nuclear norm penalty to keep the rank from rising
above that value. This results in a convex optimization problem that
will attempt to satisfy the constraints, to minimize the objective,
and will usually produce the desired rank.
We further study the choice of parameter used with the nuclear norm
penalty, both with and without the constraint. It is shown that
another convex optimization problem can be formulated from the
dual problem which will find the best parameter in some cases, and
will still produce a useful result in other cases. We find that
considering parameters which are negative, that is, considering
rewarding the nuclear norm, as well as penalizing it, can result
in better performance with the desired rank.
The methods developed are demonstrated on rank-constrained
semidefinite programming problems (SDPs).