Nonlinear programming in Banach spaces