diff --git a/setup.py b/setup.py index 9f0f3ad..6566c28 100644 --- a/setup.py +++ b/setup.py @@ -22,7 +22,7 @@ author_email='tamer@fbk.eu', url='https://tamer.fbk.eu', packages=['up_tamer'], - install_requires=['pytamer==0.1.15'], + install_requires=['pytamer==0.1.15', 'ConfigSpace'], python_requires='>=3.7', license='APACHE' ) diff --git a/up_tamer/engine.py b/up_tamer/engine.py index c62e593..368a696 100644 --- a/up_tamer/engine.py +++ b/up_tamer/engine.py @@ -24,6 +24,7 @@ from unified_planning.engines import PlanGenerationResultStatus, ValidationResult, ValidationResultStatus, Credits from up_tamer.converter import Converter from fractions import Fraction +from ConfigSpace import ConfigurationSpace from typing import IO, Callable, Optional, Dict, List, Tuple, Union, Set, cast @@ -142,6 +143,10 @@ def satisfies(optimality_guarantee: up.engines.OptimalityGuarantee) -> bool: def get_credits(**kwargs) -> Optional[up.engines.Credits]: return credits + @staticmethod + def get_configuration_space() -> ConfigurationSpace: + return ConfigurationSpace(space={"weight": (0.0, 1.0), "heuristic": ["hadd", "hlandmarks", "hmax", "hff", "blind"]}) + def _validate(self, problem: 'up.model.AbstractProblem', plan: 'up.plans.Plan') -> 'up.engines.results.ValidationResult': assert isinstance(problem, up.model.Problem) tproblem, _ = self._convert_problem(problem)