Optimization and Computational Fluid Dynamics