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        )
class Delayer(nmoo.wrapped_problem.WrappedProblem):
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