mirror of
https://github.com/ANL-CEEESA/MIPLearn.git
synced 2025-12-06 01:18:52 -06:00
Rename features.variables to variables_old; update FeatureExtractor
This commit is contained in:
@@ -393,13 +393,12 @@ class GurobiSolver(InternalSolver):
|
||||
else:
|
||||
raise Exception(f"unknown vbasis: {basis_status}")
|
||||
|
||||
names, upper_bounds, lower_bounds, types, values = None, None, None, None, None
|
||||
upper_bounds, lower_bounds, types, values = None, None, None, None
|
||||
obj_coeffs, reduced_costs, basis_status = None, None, None
|
||||
sa_obj_up, sa_ub_up, sa_lb_up = None, None, None
|
||||
sa_obj_down, sa_ub_down, sa_lb_down = None, None, None
|
||||
|
||||
if with_static:
|
||||
names = self._var_names
|
||||
upper_bounds = self._var_ubs
|
||||
lower_bounds = self._var_lbs
|
||||
types = self._var_types
|
||||
@@ -426,7 +425,7 @@ class GurobiSolver(InternalSolver):
|
||||
values = tuple(model.getAttr("x", self._gp_vars))
|
||||
|
||||
return VariableFeatures(
|
||||
names=names,
|
||||
names=self._var_names,
|
||||
upper_bounds=upper_bounds,
|
||||
lower_bounds=lower_bounds,
|
||||
types=types,
|
||||
|
||||
@@ -210,13 +210,13 @@ class BasePyomoSolver(InternalSolver):
|
||||
for idx in var:
|
||||
v = var[idx]
|
||||
|
||||
if with_static:
|
||||
# Variable name
|
||||
if idx is None:
|
||||
names.append(str(var))
|
||||
else:
|
||||
names.append(f"{var}[{idx}]")
|
||||
# Variable name
|
||||
if idx is None:
|
||||
names.append(str(var))
|
||||
else:
|
||||
names.append(f"{var}[{idx}]")
|
||||
|
||||
if with_static:
|
||||
# Variable type
|
||||
if v.domain == pyomo.core.Binary:
|
||||
types.append("B")
|
||||
@@ -250,7 +250,6 @@ class BasePyomoSolver(InternalSolver):
|
||||
if self._has_lp_solution or self._has_mip_solution:
|
||||
values.append(v.value)
|
||||
|
||||
names_t: Optional[Tuple[str, ...]] = None
|
||||
types_t: Optional[Tuple[str, ...]] = None
|
||||
upper_bounds_t: Optional[Tuple[float, ...]] = None
|
||||
lower_bounds_t: Optional[Tuple[float, ...]] = None
|
||||
@@ -259,7 +258,6 @@ class BasePyomoSolver(InternalSolver):
|
||||
values_t: Optional[Tuple[float, ...]] = None
|
||||
|
||||
if with_static:
|
||||
names_t = tuple(names)
|
||||
types_t = tuple(types)
|
||||
upper_bounds_t = tuple(upper_bounds)
|
||||
lower_bounds_t = tuple(lower_bounds)
|
||||
@@ -272,7 +270,7 @@ class BasePyomoSolver(InternalSolver):
|
||||
values_t = tuple(values)
|
||||
|
||||
return VariableFeatures(
|
||||
names=names_t,
|
||||
names=tuple(names),
|
||||
types=types_t,
|
||||
upper_bounds=upper_bounds_t,
|
||||
lower_bounds=lower_bounds_t,
|
||||
|
||||
@@ -138,6 +138,7 @@ def run_basic_usage_tests(solver: InternalSolver) -> None:
|
||||
_filter_attrs(
|
||||
solver.get_variable_attrs(),
|
||||
VariableFeatures(
|
||||
names=("x[0]", "x[1]", "x[2]", "x[3]", "z"),
|
||||
basis_status=("U", "B", "U", "L", "U"),
|
||||
reduced_costs=(193.615385, 0.0, 187.230769, -23.692308, 13.538462),
|
||||
sa_lb_down=(-inf, -inf, -inf, -0.111111, -inf),
|
||||
@@ -200,7 +201,10 @@ def run_basic_usage_tests(solver: InternalSolver) -> None:
|
||||
_round(solver.get_variables(with_static=False)),
|
||||
_filter_attrs(
|
||||
solver.get_variable_attrs(),
|
||||
VariableFeatures(values=(1.0, 0.0, 1.0, 1.0, 61.0)),
|
||||
VariableFeatures(
|
||||
names=("x[0]", "x[1]", "x[2]", "x[3]", "z"),
|
||||
values=(1.0, 0.0, 1.0, 1.0, 61.0),
|
||||
),
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user