Hi everyone,
as a first test of this mailing lists usefulness I would like to ask you all if you are using the gmm interface (NProblemGmmInterface). Maintaining both the NProblemInterface and the NProblemGmmInterface for a solver seems to be unnecessary overhead. Having some solvers in CoMISo that are implemented for the NProblemInterface and some that are implemented for the NProblemGmmInterface is counter-productive to the idea that CoMISo should allow to easily exchange solvers for a given problem. So, if there is no good reason to keep the Gmm interface, I would like to remove it in an upcoming release of CoMISo.
Kind regards, Max
Hi list,
first time poster here! :D
Even if people are still using the interface we should try to get rid of the duplication, probably by writing an adapter interface that maps the deprecated GMM interface to a NProblemInterface. Ideally we could just remove it all together, if noone requires it anymore.
In the past, solver logic has been duplicated by overloading the solve() routine for both the old and new interfaces (TAOSolver, NewtonSolver and the old IPOPTSolver). NPLinearConstraintsElimination uses only the old interface, so if that functinality is still needed it would have to be ported to the new problem interface.
In any case, having mirrored implementations of the solver logic is a maintenance nightmare and we should get rid of this. I ran into this problem while reworking the IPOPTSolver interface that has recently been merged.
Best, Patric
On 12/4/19 2:35 PM, Max Lyon wrote:
Hi everyone,
as a first test of this mailing lists usefulness I would like to ask you all if you are using the gmm interface (NProblemGmmInterface). Maintaining both the NProblemInterface and the NProblemGmmInterface for a solver seems to be unnecessary overhead. Having some solvers in CoMISo that are implemented for the NProblemInterface and some that are implemented for the NProblemGmmInterface is counter-productive to the idea that CoMISo should allow to easily exchange solvers for a given problem. So, if there is no good reason to keep the Gmm interface, I would like to remove it in an upcoming release of CoMISo.
Kind regards, Max
Hello,
since there have been no objections, I would argue that the interface can simply be removed entirely. Now the question is how to proceed about this.
I would suggest to just tag the current version in git as pre-gmm-interface-removal or something along those lines. Then we just drop all code that uses the old interface and do a CoMiSo release, which might just comprise choosing a new version number and branching off master for the time being.
Best regards, Patric
On 12/4/19 2:58 PM, Patric Schmitz wrote:
Hi list,
first time poster here! :D
Even if people are still using the interface we should try to get rid of the duplication, probably by writing an adapter interface that maps the deprecated GMM interface to a NProblemInterface. Ideally we could just remove it all together, if noone requires it anymore.
In the past, solver logic has been duplicated by overloading the solve() routine for both the old and new interfaces (TAOSolver, NewtonSolver and the old IPOPTSolver). NPLinearConstraintsElimination uses only the old interface, so if that functinality is still needed it would have to be ported to the new problem interface.
In any case, having mirrored implementations of the solver logic is a maintenance nightmare and we should get rid of this. I ran into this problem while reworking the IPOPTSolver interface that has recently been merged.
Best, Patric
On 12/4/19 2:35 PM, Max Lyon wrote:
Hi everyone,
as a first test of this mailing lists usefulness I would like to ask you all if you are using the gmm interface (NProblemGmmInterface). Maintaining both the NProblemInterface and the NProblemGmmInterface for a solver seems to be unnecessary overhead. Having some solvers in CoMISo that are implemented for the NProblemInterface and some that are implemented for the NProblemGmmInterface is counter-productive to the idea that CoMISo should allow to easily exchange solvers for a given problem. So, if there is no good reason to keep the Gmm interface, I would like to remove it in an upcoming release of CoMISo.
Kind regards, Max