Preconditioners For Pde-Constrained Optimization Problems