Skip to content

Augmented Lagrangian #17

Merged
aj463 merged 13 commits into
developfrom
al
Jun 2, 2026
Merged

Augmented Lagrangian #17
aj463 merged 13 commits into
developfrom
al

Conversation

@aj463

@aj463 aj463 commented Feb 24, 2026

Copy link
Copy Markdown
Collaborator

A flexible augmented Lagrangian (AL) capability.

  • PolyhedralProjection now derives from a new Projection base class.

  • Problem has a new addConstraint overload through which users can pass a Constraint and Projection to implement $T(x)\in C.$ See the ALESQP paper. The Constraint corresponds to $T(x)$, and the Projection corresponds to projection on $C$ (a convex set).

  • Problem enforces unique constraint names. Users can "group" together collections of constraints for penalization through a new addConstraintGroup member of Problem.

  • The AL framework processes "ungrouped" constraints as follows. (1) Penalize inequalities. (2) Add linear equalities to the subproblem. (3) If present, add nonlinear equalities to the subproblem and penalize bounds. Else, (4) if present, add bounds to the subproblem.

It would help to discuss the following.

  • Output of the AL algorithm. What is the best way to obtain stationarity measures for the different subproblems?

  • Default scalings for penalized constraints.

@aj463 aj463 requested review from dpkouri and dridzal February 24, 2026 09:38
@aj463 aj463 added the enhancement New feature or request label Feb 24, 2026
@aj463 aj463 force-pushed the al branch 2 times, most recently from ef87f1f to 76585a5 Compare March 3, 2026 05:46

@dridzal dridzal left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At a high level, this looks good.

@aj463 aj463 merged commit c2fbe1b into develop Jun 2, 2026
2 checks passed
@aj463 aj463 deleted the al branch June 2, 2026 22:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants