Skip to content

[WIP] Upgrade from 4 to 8 ingredients#137

Closed
cvanaret wants to merge 46 commits intomainfrom
subproblem
Closed

[WIP] Upgrade from 4 to 8 ingredients#137
cvanaret wants to merge 46 commits intomainfrom
subproblem

Conversation

@cvanaret
Copy link
Owner

@cvanaret cvanaret commented Dec 12, 2024

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:

  • introduce a LagrangeNewtonSubproblem ingredient
  • introduce InequalityHandlingMethod ingredient
  • introduce HessianModel ingredient
  • introduce RegularizationStrategy ingredient
  • pass LagrangeNewtonSubproblem to QP/LP subproblem solvers
  • pass LagrangeNewtonSubproblem to linear solvers
  • defer the Hessian computation of the Model to the HessianModel
  • pass LagrangeNewtonSubproblem to globalization strategy
  • rename QPSolver and SymmetricLinearSolver into InequalityQPSolver and EqualityQPSolver
  • merge classes QPMethod and LPMethod into class InequalityConstrainedMethod
  • handle InequalityQPSolver and LPSolver in InequalityConstrainedMethod
  • fix computation of least-square multipliers
  • allocate and store the linear solver required in PrimalRegularization and PrimalDualRegularization
  • allocate memory for matrices only in subproblem solvers
  • create matrix views in subproblem solvers for evaluation of Hessian and Jacobian
  • compute number of Hessian nonzeros for memory allocation
  • restore unused ScaledModel

@cvanaret cvanaret changed the title Introduce the new ingredient LagrangeNewtonSubproblem [WIP] Introduce the new ingredient LagrangeNewtonSubproblem Jan 30, 2025
@cvanaret cvanaret changed the title [WIP] Introduce the new ingredient LagrangeNewtonSubproblem [WIP] Upgrade from 4 to 8 ingredients Mar 3, 2025
cvanaret added 25 commits March 13, 2025 15:32
… can be optimized (allocate a unique matrix and fill submatrices). Preprocessing disabled, MA27 and MUMPS were also disabled
…f setting it as member of InequalityHandlingMethod
…Hessian (this will be done in PrimalRegularization)
…that of LagrangeNewtonSubproblem instead + cleaned up a bit
cvanaret added 16 commits March 14, 2025 12:21
…duced InequalityQPSolver class + moved BQPD subproblem creation into LagrangeNewtonSubproblem class
…rection_primals, direction_multipliers and subproblem_objective to the solve() functions
…compute_number_hessian_nonzeros() in Subproblem components + removed current_multipliers from IPM reformulation (use current iterate instead)
@cvanaret cvanaret self-assigned this Apr 17, 2025
@cvanaret cvanaret closed this May 10, 2025
@cvanaret
Copy link
Owner Author

cvanaret commented Aug 9, 2025

This PR was closed because too ambitious. Most of the changes were incrementally merged in subsequent PRs and published in v2.0.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant