This repository has been archived by the owner on Nov 19, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2k
Augmented Lagrangian to support linear constraints #820
Comments
7 tasks
That's indeed a very nice feature to have! Thanks so much! |
This was referenced Sep 11, 2017
3 tasks
CatchemAL
added a commit
that referenced
this issue
Oct 11, 2017
- Adding Tolerance to the interface of IConstraint - Add GetViolation and IsViolated as extension methods to IConstraint (removing duplicated code) GH-820: - Changing all references from NonlinearConstraint to IConstraint in AugmentedLagrangian.cs. - Updating the documentation to give an example of using LinearConstraints in the AugmentedLagrangian
CatchemAL
added a commit
that referenced
this issue
Oct 11, 2017
- Adding Tolerance to the interface of IConstraint - Add GetViolation and IsViolated as extension methods to IConstraint (removing duplicated code) GH-820: - Changing all references from NonlinearConstraint to IConstraint in AugmentedLagrangian.cs. - Updating the documentation to give an example of using LinearConstraints in the AugmentedLagrangian
CatchemAL
added a commit
that referenced
this issue
Oct 11, 2017
cesarsouza
added a commit
that referenced
this issue
Oct 13, 2017
GH-820: Augmented Lagrangian to support linear constraints
Added in 3.8.0. |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Feature request
Currently, the
AugmentedLagrangian
only supports non-linear constraints. It would be nice if it could support linear constraints as well since, AFAIK, there is no non-linear solver that supports linear constraints out the box (other than theGoldfarbIdnani
QP solver). This would be much more convenient than having to express linear constraints as non-linear constraints (not to mention faster as the gradient could be cached).I would propose that it supports
IEnumerable<LinearConstraint> linearConstraints
as a constructor parameter. This is consistent with the current API, which takesIEnumerable<NonlinearConstraint> constraints
. It would also naturally allow theLinearConstraintCollection
class to be fed in without any extra effort.In terms of implementation, it would be quite a straightforward change as the AugmentedLagrangian is (almost) completely set up to handle the
IConstraint
polymorphically. Let me know your thoughts. I might be able to get round to it in the next few weeks so feel free to assign to me if you're happy for this to go ahead.Thanks,
Alex
The text was updated successfully, but these errors were encountered: