Add variables to model features

master
Alinson S. Xavier 5 years ago
parent 1224613b1a
commit 9cf28f3cdc

@ -21,10 +21,11 @@ class ModelFeaturesExtractor:
constraints: Dict[str, ConstraintFeatures] = {} constraints: Dict[str, ConstraintFeatures] = {}
for cid in self.solver.get_constraint_ids(): for cid in self.solver.get_constraint_ids():
constraints[cid] = { constraints[cid] = {
"rhs": self.solver.get_constraint_rhs(cid), "RHS": self.solver.get_constraint_rhs(cid),
"lhs": self.solver.get_constraint_lhs(cid), "LHS": self.solver.get_constraint_lhs(cid),
"sense": self.solver.get_constraint_sense(cid), "Sense": self.solver.get_constraint_sense(cid),
} }
return { return {
"constraints": constraints, "Constraints": constraints,
"Variables": self.solver.get_empty_solution(),
} }

@ -76,9 +76,9 @@ LearningSolveStats = TypedDict(
ConstraintFeatures = TypedDict( ConstraintFeatures = TypedDict(
"ConstraintFeatures", "ConstraintFeatures",
{ {
"rhs": float, "RHS": float,
"lhs": Dict[str, float], "LHS": Dict[str, float],
"sense": str, "Sense": str,
}, },
total=False, total=False,
) )
@ -86,7 +86,8 @@ ConstraintFeatures = TypedDict(
ModelFeatures = TypedDict( ModelFeatures = TypedDict(
"ModelFeatures", "ModelFeatures",
{ {
"constraints": Dict[str, ConstraintFeatures], "Variables": Solution,
"Constraints": Dict[str, ConstraintFeatures],
}, },
total=False, total=False,
) )

@ -21,11 +21,19 @@ def test_knapsack() -> None:
# Test constraint features # Test constraint features
print(solver, features) print(solver, features)
assert features["constraints"]["eq_capacity"]["lhs"] == { assert features["Variables"] == {
"x": {
0: None,
1: None,
2: None,
3: None,
}
}
assert features["Constraints"]["eq_capacity"]["LHS"] == {
"x[0]": 23.0, "x[0]": 23.0,
"x[1]": 26.0, "x[1]": 26.0,
"x[2]": 20.0, "x[2]": 20.0,
"x[3]": 18.0, "x[3]": 18.0,
} }
assert features["constraints"]["eq_capacity"]["sense"] == "<" assert features["Constraints"]["eq_capacity"]["Sense"] == "<"
assert features["constraints"]["eq_capacity"]["rhs"] == 67.0 assert features["Constraints"]["eq_capacity"]["RHS"] == 67.0

Loading…
Cancel
Save