DNA microarrays have gained widespread uses in biological studies. Missing values in a microarray experiment must be estimated before further analysis. In this paper, we propose a projection onto convex sets based algorithm to incorporate all a priori knowledge about missing values into the estimation process. Two convex sets applicable to all microarray datasets are constructed based on singular value decomposition (SVD). In addition, in the two most popular missing value estimation methods KNNimpute and SVDimpute, there is a trade-off whether to use a specific group of genes for the missing value estimation or to use all genes. Our algorithm can provide an optimal combination of these two strategies. Experiments show our algorithm can achieve a reduction of 16% to 20% error than the KNNimpute and SVDimpute methods.