nmoo.delayer
A problem that incurs a constant delay at each _evaluate
call.
1""" 2A problem that incurs a constant delay at each `_evaluate` call. 3""" 4__docformat__ = "google" 5 6from time import sleep 7 8from pymoo.core.problem import Problem 9import numpy as np 10 11from .wrapped_problem import WrappedProblem 12 13 14class Delayer(WrappedProblem): 15 """ 16 A problem that sleeps for a set amount of time at each `_evaluate` call, 17 passing calling the wrapped problem's `_evaluate`. 18 """ 19 20 _delay: float 21 """ 22 Sleep time in seconds. Floating point number may be used to indicate a more 23 precise sleep time. 24 """ 25 26 def __init__( 27 self, 28 problem: Problem, 29 delay: float = 0.05, 30 *, 31 name: str = "delayer", 32 **kwargs, 33 ): 34 """ 35 Args: 36 name (str): An optional name for this problem. This will be used 37 when creating history dump files. Defaults to `delayer`. 38 """ 39 super().__init__(problem, name=name, **kwargs) 40 41 if delay < 0.0: 42 raise ValueError("Delay must be a positive.") 43 self._delay = delay 44 45 def _evaluate(self, x, out, *args, **kwargs): 46 sleep(self._delay) 47 self._problem._evaluate(x, out, *args, **kwargs) 48 self.add_to_history_x_out( 49 x, 50 out, 51 delay=np.full((x.shape[0],), self._delay), 52 )
15class Delayer(WrappedProblem): 16 """ 17 A problem that sleeps for a set amount of time at each `_evaluate` call, 18 passing calling the wrapped problem's `_evaluate`. 19 """ 20 21 _delay: float 22 """ 23 Sleep time in seconds. Floating point number may be used to indicate a more 24 precise sleep time. 25 """ 26 27 def __init__( 28 self, 29 problem: Problem, 30 delay: float = 0.05, 31 *, 32 name: str = "delayer", 33 **kwargs, 34 ): 35 """ 36 Args: 37 name (str): An optional name for this problem. This will be used 38 when creating history dump files. Defaults to `delayer`. 39 """ 40 super().__init__(problem, name=name, **kwargs) 41 42 if delay < 0.0: 43 raise ValueError("Delay must be a positive.") 44 self._delay = delay 45 46 def _evaluate(self, x, out, *args, **kwargs): 47 sleep(self._delay) 48 self._problem._evaluate(x, out, *args, **kwargs) 49 self.add_to_history_x_out( 50 x, 51 out, 52 delay=np.full((x.shape[0],), self._delay), 53 )
A problem that sleeps for a set amount of time at each _evaluate
call,
passing calling the wrapped problem's _evaluate
.
Delayer( problem: pymoo.core.problem.Problem, delay: float = 0.05, *, name: str = 'delayer', **kwargs)
27 def __init__( 28 self, 29 problem: Problem, 30 delay: float = 0.05, 31 *, 32 name: str = "delayer", 33 **kwargs, 34 ): 35 """ 36 Args: 37 name (str): An optional name for this problem. This will be used 38 when creating history dump files. Defaults to `delayer`. 39 """ 40 super().__init__(problem, name=name, **kwargs) 41 42 if delay < 0.0: 43 raise ValueError("Delay must be a positive.") 44 self._delay = delay
Arguments:
- name (str): An optional name for this problem. This will be used
when creating history dump files. Defaults to
delayer
.
Inherited Members
- nmoo.wrapped_problem.WrappedProblem
- add_to_history
- add_to_history_x_out
- all_layers
- depth
- dump_all_histories
- dump_history
- ground_problem
- innermost_wrapper
- reseed
- start_new_run
- pymoo.core.problem.Problem
- evaluate
- do
- nadir_point
- ideal_point
- pareto_front
- pareto_set
- has_bounds
- has_constraints
- bounds
- name
- calc_constraint_violation