Uno
Uno copied to clipboard
[WIP] Upgrade from 4 to 8 ingredients
The goal of this PR is to upgrade from 4 to 8 ingredients:
- reformulation layer:
- constraint relaxation strategy
- inequality handling method
- subproblem layer:
- local model
- hessian model
- regularization strategy
- subproblem solver layer
- subproblem solver
- globalization layer:
- globalization strategy
- globalization mechanism.
Steps:
- [x] introduce a
LagrangeNewtonSubproblemingredient - [x] introduce
InequalityHandlingMethodingredient - [x] introduce
HessianModelingredient - [x] introduce
RegularizationStrategyingredient - [x] pass
LagrangeNewtonSubproblemto QP/LP subproblem solvers - [x] pass
LagrangeNewtonSubproblemto linear solvers - [x] defer the Hessian computation of the
Modelto theHessianModel - [ ] pass
LagrangeNewtonSubproblemto globalization strategy - [x] rename
QPSolverandSymmetricLinearSolverintoInequalityQPSolverandEqualityQPSolver - [x] merge classes
QPMethodandLPMethodinto classInequalityConstrainedMethod - [ ] handle
InequalityQPSolverandLPSolverinInequalityConstrainedMethod - [ ] fix computation of least-square multipliers
- [ ] allocate and store the linear solver required in
PrimalRegularizationandPrimalDualRegularization - [x] allocate memory for matrices only in subproblem solvers
- [ ] create matrix views in subproblem solvers for evaluation of Hessian and Jacobian
- [x] compute number of Hessian nonzeros for memory allocation
- [ ] restore unused
ScaledModel