A survey of computational methods for subsonic and transonic aerodynamic design