ecole icon indicating copy to clipboard operation
ecole copied to clipboard

Ecole observation features

Open AntoinePrv opened this issue 5 years ago • 0 comments

Modularize feature extraction from scip::Model

Currently, feature extracted in NodeBipartite cannot be easily reused by other classes, or customized in the current class. On the other end, VarProxy... create confusion with SCIP variables.

  • [x] Move the code extracting features from scip::Model to the observation namespace.
  • [ ] Define Feature classes that
    • [ ] Are typed depending on the feature (scalar, categorical, on all variable, global...)
    • [ ] Contain directive for preprocessing: one-hot encode, static function to normalize...
    • [ ] Know (statically? dynamically?) if there need to be recomputed on every transition
  • [ ] Take feature to extract as a vector / array of names (enum)
  • [x] Leverage range library for maximum re-usability? and std::span
  • [ ] Be performant, in particular maximize data locality and make compile-time compuattion when the features are given at compile-time.
  • [ ] Determine where to put the function to extract row matrix
  • [ ] Make it possible to reuse features to create new features, while efficiently caching the intermediate feature in the implementation

AntoinePrv avatar Mar 06 '20 22:03 AntoinePrv