Named Tuples
************

Named tuples used throughout the package to make code clearer.

class Bound(min, max)

   Class of parameter bounds.

   Create new instance of Bound(min, max)

   max

      Upper parameter bound.

      Type:
         float

   min

      Lower parameter bound.

      Type:
         float

class IterationResult(opt_id, x, fx, extras)

   Return type of each optimizer iteration.

   Create new instance of IterationResult(opt_id, x, fx, extras)

   extras

      Possible returns if "detailed_call()" is used.

      Type:
         Sequence[Any]

   fx

      Corresponding function evaluation.

      Type:
         float

   opt_id

      Unique optimizer identification number.

      Type:
         int

   x

      Location in input space.

      Type:
         Sequence[float]

class OptimizerCheckpoint(opt_type, slots)

   Information needed in the manager about initialized optimizers for
   checkpoint loading.

   Create new instance of OptimizerCheckpoint(opt_type, slots)

   opt_type

      Class of optimizer to be restarted.

      Type:
         Type["BaseOptimizer"]

   slots

      Maximum number of thread/processes the optimizer may spawn.

      Type:
         int

class OptimizerPackage(opt_id, optimizer, signal_pipe, allow_run_event, slots)

   Package of an initialized optimizer, its unique identifier and
   multiprocessing variables.

   Create new instance of OptimizerPackage(opt_id, optimizer,
   signal_pipe, allow_run_event, slots)

   allow_run_event

      Used by the manager to pause the optimizer.

      Type:
         "multiprocessing.Event"

   opt_id

      Unique optimizer identification number.

      Type:
         int

   optimizer

      Instance of "BaseOptimizer"

      Type:
         Callable

   signal_pipe

      Used to send messages between the optimizer and manager.

      Type:
         "Connection"

   slots

      Maximum number of thread/processes the optimizer may spawn.

      Type:
         int

class ProcessPackage(process, signal_pipe, allow_run_event, slots)

   Package of a running process and its communication channels.

   Create new instance of ProcessPackage(process, signal_pipe,
   allow_run_event, slots)

   allow_run_event

      Used by the manager to pause the optimizer.

      Type:
         "multiprocessing.Event"

   process

      Process within which optimizer is run.

      Type:
         Union["Process", "Thread"]

   signal_pipe

      Used to send messages between the optimizer and manager.

      Type:
         "Connection"

   slots

      Maximum number of thread/processes the optimizer may spawn.

      Type:
         int

class Result(x, fx, stats, origin)

   Final result delivered by "GloMPOManager".

   Create new instance of Result(x, fx, stats, origin)

   fx

      The lowest function value found.

      Type:
         float

   origin

      Optimizer name, settings, starting point and termination
      condition.

      Type:
         Dict[str, Any]

   stats

      Dictionary of statistics surrounding the optimization.

      Type:
         Dict[str, Any]

   x

      Location in input space producing the lowest function value.

      Type:
         Sequence[float]
