The purpose of this thesis is to develop numerical methods for optimization, control and shape design in computational fluid dynamics, more precisely in haemodynamics. The application studied is related with the shape optimization of an aorto-coronaric bypass. The optimization process has to keep into account aspects which are very different and sometimes conflicting, for this reason the process has been organized in more levels dealing with a geometrical scale. Moreover we have chosen to use simplified low fidelity models during the application of the complex optimization tools and to verify in feed-back with higher fidelity models the configurations previously obtained. In our case we deal with fluid models based on Stokes and Navier-Stokes equations, for lower and higher fidelity approach respectively, also in the unsteady formulation. At an outer level of the optimization process, efficient numerical methods based on parametrized partial differential equations have been developed to get real-time and accurate information concerning the preliminary configurations, and to get a sensitivity analysis on geometrical quantities of interest and on functionals, related with fluid mechanics quantities. This approach is carried out by reduced basis methods which let us rebuild approximate solutions for parametrized equations by other solutions already computed and stored, allowing huge computational savings. At an inner level we have developed local shape optimization methods by optimal flow control theory based on adjoint approach. Two different approaches have been developed: the former is based on the local displacement of each node on the boundary, the latter is based on small perturbation theory into a reference domain. This approach is more complex but let us avoid mesh reconstruction at each iteration and study the problem into a deeper context from a theoretical point of view and do a generalization dealing with unsteady flows.