This PR drastically changes how the backend model of an optinode works. We now more easily support multiple solutions on an optinode for cases such as using the same optinode in multiple optigraphs, or solving the optinode directly as a subproblem.
This is accomplished by allowing optinodes (and optiedges) change which solution they 'point to'. It is also possible to manually set a solution which facilitates meta-algorithm development.
Other changes include:
There are minor comments and cleanup.
Added tests for the MOI backend on optinodes.
Reverted incremental updates. The current implementation does not scale. This will be delegated to a future release.
This PR drastically changes how the backend model of an optinode works. We now more easily support multiple solutions on an optinode for cases such as using the same optinode in multiple optigraphs, or solving the optinode directly as a subproblem.
This is accomplished by allowing optinodes (and optiedges) change which solution they 'point to'. It is also possible to manually set a solution which facilitates meta-algorithm development.
Other changes include: