opytimizer.optimizers.boolean.umda¶
Univariate Marginal Distribution Algorithm.
-
class
opytimizer.optimizers.boolean.umda.
UMDA
(params: Optional[Dict[str, Any]] = None)¶ An UMDA class, inherited from Optimizer.
This is the designed class to define UMDA-related variables and methods.
References
H. Mühlenbein. The equation for response to selection and its use for prediction. Evolutionary Computation (1997).
-
__init__
(params: Optional[Dict[str, Any]] = None) → None¶ Initialization method.
Parameters: params – Contains key-value parameters to the meta-heuristics.
-
p_selection
¶ Probability of selection.
-
lower_bound
¶ Distribution lower bound.
-
upper_bound
¶ Distribution upper bound.
-
_calculate_probability
(agents: List[opytimizer.core.agent.Agent]) → numpy.ndarray¶ Calculates probabilities based on pre-selected agents’ variables occurrence (eq. 47).
Parameters: agents – List of pre-selected agents. Returns: Probability of variables occurence. Return type: (np.ndarray)
-
_sample_position
(probs: numpy.ndarray) → numpy.ndarray¶ Samples new positions according to their probability of ocurrence (eq. 53).
Parameters: probs – Array of probabilities. Returns: New sampled position. Return type: (np.ndarray)
-
update
(space: opytimizer.core.space.Space) → None¶ Wraps Univariate Marginal Distribution Algorithm over all agents and variables.
Parameters: space – Space containing agents and update-related information.
-