lsapy.SuitabilityFunction#

class lsapy.SuitabilityFunction(func=None, name=None, params=None)[source]#

Suitability Function.

Suitability function define how the criteria indicator is transformed into a suitability value. The suitability function are available for continuous and discrete indicators. For continuous indicators, a membership function is applied to convert indicator values into a suitability. For discrete indicators, a set of rules is mapped on the indicator.

Parameters:
  • func (Callable | None, optional) – Function to compute the suitability value.

  • name (str | None, optional) – Name of the implemented function to use. If func is provided, this parameter is ignored.

  • params (dict[str, Any], optional) – Parameters of the function.

Examples

>>> func = SuitabilityFunction(name="logistic", params={"a": 1, "b": 5})
>>> func(3)
array(0.11920292, dtype=float32)

SuitabilityFunction can also be used for discrete functions.

>>> func = SuitabilityFunction(name="discrete", params={"rules": {1: 0, 2: 0.1, 3: 0.5, 4: 0.9, 5: 1}})
>>> func(3)
array(0.5, dtype=float32)
__init__(func=None, name=None, params=None)[source]#

Methods

__init__([func, name, params])

map(x)

Map the suitability function.

plot(x)

Basic plot of the suitability function.

Attributes

attrs

Dictionary of the suitability function attributes.