Projected Gradient Algorithm