Approximation and Complexity in Numerical Optimization