Are there better criteria than the Armijo criterion for damped Newton iteration with backtracking line search, when the objective is standard self-concordant? (See Boyd and Vandenberghe.)
Let $F(x)$ be a (standard self-concordant) convex function. Let $\alpha,\beta$ be given parameters. Assume that efficient and accurate programs are available for calculating $F,F',F''$. The Newton step is: $$ n_k = [F''(x_k)]^{-1}F'(x_k) $$ The damped Newton iteration to find the minimum of $F$ reads: $$ x_{k+1} = x_k - s_k n_k. $$ The number $s_k>0$ is the "step size". It is found by "backtracking line search", i.e. step sizes $s_k = \alpha^j$ are tried for $j=0,1,\ldots$ until a step size is found such that the Armijo criterion is satisfied: $$ F(x_k - s_k n_k) \leq F(x_k) - s_k\beta([F'(x_k)]^Tn_k). $$
This has a problem in double precision arithmetic. To see this, note that $$ F(x_k) - F(x_k - s_k n_k) \leq F(x_k)-F(x_{\infty}) \sim \|x_k-x_{\infty}\|^2 $$ As usual, denote $\epsilon \approx 2.22 \times 10^{-16}$ the accuracy of double precision arithmetic, and note that if $F(x_k)-F(x_{\infty}) < \epsilon$ then you can expect, in machine arithmetic, that $F(x_k)=F(x_{\infty})$ and the Armijo test breaks down when $\|x_k-x_{\infty}\| = \sqrt{\epsilon}$, i.e. you are quite far from convergence. In that scenario, you expect $[F'(x_k)]^Tn_k = O(\epsilon)$ and the Armijo test probably accepts the step size $s_k=1$ every time. You probably need to stop taking damped Newton steps here or else these large steps could lead to oscillation, so it's very hard to locate the root $x_{\infty}$ to an accuracy better than $O(\sqrt{\epsilon})$.
If you use a derivatives-free code (e.g. Brent's method), this is an unavoidable disadvantage, but for a Newton method, it should be possible to improve this, and I wonder if this is not in the literature already.
Off the top of my head, one could replace the Armijo test with something like: $$ -[F'(x_k - s_kn_k)]^Tn_k \leq \beta [F'(x_k)]^Tn_k. $$ I don't know the implications of such a choice, or if there's already better choices elsewhere.
I'm also not sure how to stop the overall Newton iteration. Right now I'm using $$ F(x_{k+1}) = F(x_k) \text{ and } \alpha\|F'(x_k)\| \leq \|F'(x_{k+1})\| $$ Is there a better way?
Can anyone point me in the right direction with maybe references or methods for the line search and the stopping criterion?