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).