if (isDescentDirection) { const stepSize = 0.05; // Grid size
The Goldstein conditions ensure sufficient decrease in line search methods using upper and lower bounds. For a step size α to be acceptable, the function value φ(α) must lie between two bounds:
Lower bound: φ(0) + (1-c)·α·φ'(0) ≤ φ(α)
Upper bound: φ(α) ≤ φ(0) + c·α·φ'(0)
Where c is a parameter in (0, 0.5). Note that the upper bound is identical to the Armijo condition.