Is there a term describing a specialised solver which is used as a subroutine or a different, larger solver?

For example, a gradient descent solver which, at each step, uses a line search to optimise what step size to take. I'm after a term to describe that line search algorithm in the context of it being a subroutine of some other, larger algorithm.

The best I could come up with so far is either a 'subsolver' (but I think that means something else already?) or 'hyposolver' (as a contrast to a solver used for hyperparameter optimisation). Both of these are, however, just terms I came up with rather than part of a more established nomenclature.


1 Answer 1


Lower level optimization problems being solved within a top or higher level algorithm are called subproblems.

So the algorithm or routine to solve subproblems could be called a "subproblem solver". Googling "subproblem solver" shows that this term is not that uncommon. If there is a specific type of subproblem being solved, that can be incorporated, such as "QP subproblem solver" of an SQP algorithm, LP subproblem solver of a MILP solver, local nonlinear subproblem solver of a branch and bound global optimization solver.

In the case of line search, that would usually be called a line search algorithm. line search routine, or similar variation.

  • 2
    $\begingroup$ another example is "trust region subproblem" $\endgroup$
    – pkofod
    Oct 25, 2019 at 14:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.