30 lines
751 B
Python
30 lines
751 B
Python
"""Module for the ParametricProblem class."""
|
|
|
|
from abc import abstractmethod
|
|
|
|
from .abstract_problem import AbstractProblem
|
|
|
|
|
|
class ParametricProblem(AbstractProblem):
|
|
"""
|
|
Class for defining parametric problems, where certain input variables are
|
|
treated as parameters that can vary, allowing the model to adapt to
|
|
different scenarios based on the chosen parameters.
|
|
"""
|
|
|
|
@abstractmethod
|
|
def parameter_domain(self):
|
|
"""
|
|
The domain of the parameters of the problem.
|
|
"""
|
|
|
|
@property
|
|
def parameters(self):
|
|
"""
|
|
Get the parameters of the problem.
|
|
|
|
:return: The parameters of the problem.
|
|
:rtype: list[str]
|
|
"""
|
|
return self.parameter_domain.variables
|