class_docstr: Abstract class :class:`Optimiser` for all optimisers.
  
  It must be implemented by all subclasses in this package.
  
  Every :class:`Optimiser` instance can be run for one single step using the
  :py:meth:`run_step` method. The :class:`Optimiser` does not perform the
  evaluation of the objective function but only proposes values from its
  domain. Therefore an evaluation history must be supplied via the
  :py:meth`update` method. The history can be erased and the
  :class:`Optimiser` brought to the initial state via the :py:meth:`reset`
  method.
class_docstr_tok: ["Abstract","class",":","class",":","`","Optimiser","`","for","all","optimisers",".","It","must","be","implemented","by","all","subclasses","in","this","package",".","Every",":","class",":","`","Optimiser","`","instance","can","be","run","for","one","single","step","using","the",":","py",":","meth",":","`","run_step","`","method",".","The",":","class",":","`","Optimiser","`","does","not","perform","the","evaluation","of","the","objective","function","but","only","proposes","values","from","its","domain",".","Therefore","an","evaluation","history","must","be","supplied","via","the",":","py",":","meth","`","update","`","method",".","The","history","can","be","erased","and","the",":","class",":","`","Optimiser","`","brought","to","the","initial","state","via","the",":","py",":","meth",":","`","reset","`","method","."]
docstr: Perform one step of optimisation and suggest the next sample to
  evaluate.
  
  Args:
      batch_size: (optional) :obj:`int`. The number of samples to
          suggest at once.
      *args: optional arguments for the Optimiser.
      **kwargs: optional keyword arguments for the Optimiser.
  
  Returns:
      A :obj:`List[Sample]` with the suggested samples to evaluate.
docstr_tok: ["Perform","one","step","of","optimisation","and","suggest","the","next","sample","to","evaluate",".","Args",":","batch_size",":","(","optional",")",":","obj",":","`","int","`",".","The","number","of","samples","to","suggest","at","once",".","*","args",":","optional","arguments","for","the","Optimiser",".","*","*","kwargs",":","optional","keyword","arguments","for","the","Optimiser",".","Returns",":","A",":","obj",":","`","List","[","Sample","]","`","with","the","suggested","samples","to","evaluate","."]
code: def run_step(
      self, batch_size, *args: Any, **kwargs: Any
  ) -> List[Sample]:
      """Perform one step of optimisation and suggest the next sample to
      evaluate.
  
      Args:
          batch_size: (optional) :obj:`int`. The number of samples to
              suggest at once.
          *args: optional arguments for the Optimiser.
          **kwargs: optional keyword arguments for the Optimiser.
  
      Returns:
          A :obj:`List[Sample]` with the suggested samples to evaluate.
      """
      raise NotImplementedError
  
file_path: hypertunity/hypertunity/optimisation/base.py
imports: import abc
  import math
  from dataclasses import dataclass
  from typing import Any, Dict, List, Sequence
  from hypertunity.domain import Domain, Sample
label_desc: Use image node_id 4 for calling the Optimiser obj's underlying member method code with example usage: obj.run_step(batch_size) without return types