# {py:mod}`evox.core.components` ```{py:module} evox.core.components ``` ```{autodoc2-docstring} evox.core.components :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`Algorithm ` - ```{autodoc2-docstring} evox.core.components.Algorithm :summary: ``` * - {py:obj}`Problem ` - ```{autodoc2-docstring} evox.core.components.Problem :summary: ``` * - {py:obj}`Workflow ` - ```{autodoc2-docstring} evox.core.components.Workflow :summary: ``` * - {py:obj}`Monitor ` - ```{autodoc2-docstring} evox.core.components.Monitor :summary: ``` ```` ### API `````{py:class} Algorithm() :canonical: evox.core.components.Algorithm Bases: {py:obj}`evox.core.module.ModuleBase`, {py:obj}`abc.ABC` ```{autodoc2-docstring} evox.core.components.Algorithm ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} evox.core.components.Algorithm.__init__ ``` ````{py:method} step() -> None :canonical: evox.core.components.Algorithm.step ```{autodoc2-docstring} evox.core.components.Algorithm.step ``` ```` ````{py:method} init_step() -> None :canonical: evox.core.components.Algorithm.init_step ```{autodoc2-docstring} evox.core.components.Algorithm.init_step ``` ```` ````{py:method} final_step() -> None :canonical: evox.core.components.Algorithm.final_step ```{autodoc2-docstring} evox.core.components.Algorithm.final_step ``` ```` ````{py:method} evaluate(pop: torch.Tensor) -> torch.Tensor :canonical: evox.core.components.Algorithm.evaluate :abstractmethod: ```{autodoc2-docstring} evox.core.components.Algorithm.evaluate ``` ```` ````{py:method} record_step() -> None :canonical: evox.core.components.Algorithm.record_step ```{autodoc2-docstring} evox.core.components.Algorithm.record_step ``` ```` ````` `````{py:class} Problem() :canonical: evox.core.components.Problem Bases: {py:obj}`evox.core.module.ModuleBase`, {py:obj}`abc.ABC` ```{autodoc2-docstring} evox.core.components.Problem ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} evox.core.components.Problem.__init__ ``` ````{py:method} evaluate(pop: torch.Tensor) -> torch.Tensor :canonical: evox.core.components.Problem.evaluate ```{autodoc2-docstring} evox.core.components.Problem.evaluate ``` ```` ````` `````{py:class} Workflow(*args, **kwargs) :canonical: evox.core.components.Workflow Bases: {py:obj}`evox.core.module.ModuleBase`, {py:obj}`abc.ABC` ```{autodoc2-docstring} evox.core.components.Workflow ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} evox.core.components.Workflow.__init__ ``` ````{py:method} init_step() -> None :canonical: evox.core.components.Workflow.init_step ```{autodoc2-docstring} evox.core.components.Workflow.init_step ``` ```` ````{py:method} step() -> None :canonical: evox.core.components.Workflow.step ```{autodoc2-docstring} evox.core.components.Workflow.step ``` ```` ````{py:method} final_step() -> None :canonical: evox.core.components.Workflow.final_step ```{autodoc2-docstring} evox.core.components.Workflow.final_step ``` ```` ````` `````{py:class} Monitor(*args, **kwargs) :canonical: evox.core.components.Monitor Bases: {py:obj}`evox.core.module.ModuleBase`, {py:obj}`abc.ABC` ```{autodoc2-docstring} evox.core.components.Monitor ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} evox.core.components.Monitor.__init__ ``` ````{py:method} set_config(**config) -> evox.core.components.Monitor :canonical: evox.core.components.Monitor.set_config ```{autodoc2-docstring} evox.core.components.Monitor.set_config ``` ```` ````{py:method} record_auxiliary(aux: typing.Dict[str, torch.Tensor]) -> None :canonical: evox.core.components.Monitor.record_auxiliary ```{autodoc2-docstring} evox.core.components.Monitor.record_auxiliary ``` ```` ````{py:method} post_ask(candidate_solution: torch.Tensor) -> None :canonical: evox.core.components.Monitor.post_ask ```{autodoc2-docstring} evox.core.components.Monitor.post_ask ``` ```` ````{py:method} pre_eval(transformed_candidate_solution: typing.Any) -> None :canonical: evox.core.components.Monitor.pre_eval ```{autodoc2-docstring} evox.core.components.Monitor.pre_eval ``` ```` ````{py:method} post_eval(fitness: torch.Tensor) -> None :canonical: evox.core.components.Monitor.post_eval ```{autodoc2-docstring} evox.core.components.Monitor.post_eval ``` ```` ````{py:method} pre_tell(transformed_fitness: torch.Tensor) -> None :canonical: evox.core.components.Monitor.pre_tell ```{autodoc2-docstring} evox.core.components.Monitor.pre_tell ``` ```` `````