class_docstr: Very simple 2D norm-1 function with optimal value at (x_optimum, 100)
class_docstr_tok: ["Very","simple","2D","norm-1","function","with","optimal","value","at","(","x_optimum",",","100",")"]
code: def __init__(
      self,
      independent_sigma: bool = True,
      mutable_sigma: bool = True,
      multiobjective: bool = False,
      recombination: str = "crossover",
      optimum: tp.Tuple[int, int] = (80, 100),
  ) -> None:
      assert recombination in ("crossover", "average")
      self._optimum = np.array(optimum, dtype=float)
      parametrization = ng.p.Array(
          shape=(2,), mutable_sigma=mutable_sigma
      )
      init = np.array(
          [1.0, 1.0] if independent_sigma else [1.0], dtype=float
      )
      sigma: tp.Any = (
          ng.p.Array(init=init).set_mutation(exponent=2.0)
          if mutable_sigma
          else init
      )
      parametrization.set_mutation(sigma=sigma)
      if recombination == "crossover":
          parametrization = ng.ops.mutations.Crossover()(
              parametrization
          )
      self.multiobjective_upper_bounds = (
          np.array(2 * self._optimum) if multiobjective else None
      )
      super().__init__(
          self._multifunc if multiobjective else self._monofunc,
          parametrization.set_name(""),
      )
  
imports: import hashlib
  import itertools
  import numpy
  import nevergrad
  from nevergrad.common import tools
  import nevergrad.common.typing
  from .base import ExperimentFunction
  from .pbt import PBT
  from .None import utils
  from .None import corefuncs
label_desc: Use image node_id 1 to create a new FarOptimumFunction object from inherited base classes: ExperimentFunction with example: obj = FarOptimumFunction(independent_sigma, mutable_sigma, multiobjective, recombination, optimum)