Skip to content

#789: Make test adjustments to backtrack nonlinear solver#790

Open
cwschilly wants to merge 1 commit intodevelopfrom
789-make-test-adjustments-to-backtrack-nonlinear-solver
Open

#789: Make test adjustments to backtrack nonlinear solver#790
cwschilly wants to merge 1 commit intodevelopfrom
789-make-test-adjustments-to-backtrack-nonlinear-solver

Conversation

@cwschilly
Copy link
Collaborator

Fixes #789

@cwschilly cwschilly linked an issue Dec 9, 2025 that may be closed by this pull request
@cwschilly
Copy link
Collaborator Author

cwschilly commented Dec 9, 2025

@eparish1 I've implemented a 2-phase approach to backtracking:

  • First we try a "strict" phase with zeta = 1.0
  • If that fails to converge, we revert back to the previous alpha and trialState
  • Then we enter the "relaxed" phase (with the user-defined zeta)

Do you think this approach would work for the problem you described?


If we do stick with this approach, I think we should also add an option to enable or disable this feature (at least for testing). Right now, the unit test for the LineSearchStepTooSmall exception is failing because it can't trigger the error anymore.

To that end, could you explain briefly how input parameters to the updaters work?

I can see it that the backtracking updater takes an optional vector of scalar parameters, where right now we assume that there is only one parameter present (which defines zeta_):

BacktrackStrictlyDecreasingObjectiveUpdater(std::optional<std::vector<ScalarType> > parameter)
  {
    if (parameter)
    {
      zeta_ = parameter.value().front();
    }
  }

Should I add support for a second scalar in the vector to denote whether or not we want the two-phase approach?

@cwschilly cwschilly requested a review from eparish1 December 9, 2025 20:59
@cwschilly cwschilly self-assigned this Dec 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make test adjustments to backtrack nonlinear solver

1 participant