In this chapter we present a primal-dual interior point algorithm for solving constrained nonlinear programming problems. Switching rules are implemented that aim at exploiting the merits and avoiding the drawbacks of three different merit functions. The penalty parameter is determined using an adaptive penalty strategy that ensures a descent property for the merit function. The descent property is assured without requiring positive definiteness of the Hessian used in the subproblem generating search direction. It is also shown that the penalty parameter does not increase indefinitely, dispensing thus with the various numerical problems occurring otherwise. Global convergence of the algorithm is achieved through the monotonic decrease of a properly chosen merit function. The algorithm is shown to possess convergent stepsizes, and therefore does not impede superlinear convergence under standard assumptions.