Primal-dual interior point method