Skip to content

Support for reversion in Transformation #277

Open
@qtothec

Description

@qtothec

This is a design discussion to talk about support for reverting transformations, raised by @whart222 in #196.

The use case is:

MINLP --> fix binaries --> NLP --> remove trivial constraints --> solve NLP --> generate cut --> unfix binaries --> MINLP

I also want feedback on the proper implementation for supporting reverting transformations. I see multiple possible approaches:

  1. I store the necessary information for reversion as a ComponentSet or ComponentMap on the model instance itself.
  2. I store the necessary information for reversion on the Transformation object.

Possible edge cases/complications:

  1. Transform model A, clone model A, revert on model A clone
  2. Transform model A, different transform on model A, original transform on model A again, revert second instance of original transform, revert first instance of original transform
  3. Transform model A, different transform on model A, original transform on model A again, revert all instances of original transform

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions