Primal Dual Interior Point Method#
The primal dual interior point method (PD-IPOpt) is one of the workhorses of modern optimization software. PD-IPOpt solves the same kind of problems as barrier methods
Starting from the pertubed KKT conditions
Perturbed KKT Conditions
Stationarity: \(\displaystyle\nabla f(x^\star(t)) + \sum_{i=1}^{m}{v_i^\star(t)\nabla h_i(x^\star(t))} + A^Tu^\star(t) = 0\);
Primal feasibility: \(Ax^\star(t) = b\) and \(h_i(x^\star(t)) \leq 0\);
Dual feasibility: \(v_i^\star(t) > 0\);
Complementary slackness: \(\displaystyle v_i^\star(t)h_i(x^\star(t)) = -1/t\).
If extract out the equations in the pertubed KKT conditions, we have
Then, we can form a root finding problem on (2), and the solution to this root finding problem gives us both the primal and dual optimal variables.
Algorithm#
First, we define the terms
Then, at each time step with the current primal and dual varaible iterates \((x, u, v)\), we perform a Newton step on \(r(x, u, v)\)
with
This update is the core of the PD-IPOpt method.
Backtracking Line Search for PD-IPOpt#
The backtracing line search is a variant of the version for damped Newton’s method.