Hi all,
I want to solve a large-scale system of nonlinear equations. The number of variables is greater than 20,000.
I would like to use Newton's method for this problem. Since the Jacobian matrix is too large to invert (>20,000x20,000 in dimension, and it is dense), I decide to approximate it by its diagonal. Under this approximation I obtain the (approximated) Newton direction, I then perform a line search along this direction using Armijo's rule (also called backtracking line search) to minimize the sum of squared residuals of all equations.
The problem is, Armijo's rule only works when the search direction is a descent direction, but in my problem the approximated Newton direction may turn out to be an ascent direction. In this case the line search algorithm breaks down. How should I fix the line search if the approximated Newton direction is an ascent direction?
The actual dilemma is the following. If I move too little in this step, the approximated Newton direction in the next step may remain an ascent direction, because nothing changes very much. If I move too much, the further I move, the greater the sum of squared residuals (which means I am further away from the solution - EDIT an increase in the sum of squared residuals doesn't necessarily imply moving away from the solution. Thanks to Sid for pointing out this.). Hence it is important to find a good step size.
Thank you! By the way I love this website! (I am a master student studying Operations Research.)