This repository was archived by the owner on Nov 19, 2020. It is now read-only.

Description
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 the GoldfarbIdnani 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 takes IEnumerable<NonlinearConstraint> constraints. It would also naturally allow the LinearConstraintCollection 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