# {py:mod}`evorl.algorithms.ec.mo.nsga2_brax` ```{py:module} evorl.algorithms.ec.mo.nsga2_brax ``` ```{autodoc2-docstring} evorl.algorithms.ec.mo.nsga2_brax :parser: autodoc2_docstrings_parser :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`NSGA2Workflow ` - ```` ### API `````{py:class} NSGA2Workflow(*, env: evorl.envs.Env, agent: evorl.agent.Agent, ec_optimizer: evorl.ec.optimizers.EvoOptimizer, ec_evaluator: evorl.evaluators.Evaluator | evorl.evaluators.EpisodeCollector, agent_state_vmap_axes: evorl.agent.AgentStateAxis = 0, config: omegaconf.DictConfig) :canonical: evorl.algorithms.ec.mo.nsga2_brax.NSGA2Workflow Bases: {py:obj}`evorl.workflows.MultiObjectiveECWorkflowTemplate` ````{py:method} learn(state: evorl.types.State) -> evorl.types.State :canonical: evorl.algorithms.ec.mo.nsga2_brax.NSGA2Workflow.learn ```` ````{py:method} name() :canonical: evorl.algorithms.ec.mo.nsga2_brax.NSGA2Workflow.name :classmethod: ```` `````