Numerical Methods for Singular Perturbation Problems