Efficient Euclidean projections in linear time
Introduction to Algorithms