Add instance-level features to instance.features

This commit is contained in:
2021-03-31 09:14:06 -05:00
parent 0f5a6745a4
commit 5db4addfa5
3 changed files with 18 additions and 1 deletions

View File

@@ -6,7 +6,7 @@ import numbers
import collections
from typing import TYPE_CHECKING, Dict
from miplearn.types import Features, ConstraintFeatures
from miplearn.types import Features, ConstraintFeatures, InstanceFeatures
if TYPE_CHECKING:
from miplearn import InternalSolver, Instance
@@ -21,6 +21,7 @@ class FeaturesExtractor:
def extract(self, instance: "Instance") -> Features:
return {
"Instance": self._extract_instance(instance),
"Constraints": self._extract_constraints(instance),
"Variables": self._extract_variables(instance),
}
@@ -83,3 +84,7 @@ class FeaturesExtractor:
"User features": user_features,
}
return constraints
@staticmethod
def _extract_instance(instance: "Instance") -> InstanceFeatures:
return {"User features": instance.get_instance_features()}