class_docstr: Convenient class for launching a Hyperopt cluster in a `RuntimeGroup`.
  
  HyperoptCluster inherits from MasterWorkerCluster. See its documentation to get a list of the inherited methods
  and attributes.
  
  The number of hyperopt workers defaults to the number of `Runtimes` in the used `RuntimeGroup`. This number can be
  adjusted so that more or less workers than available `Runtimes` can be used. Per default the desired number of
  workers is started in a round robin way as implemented in `RoundRobinLauncher`. Consequently, this leads to an
  equal distribution of hyperopt workers in the `RuntimeGroup`. You can provide a custom implementation inheriting
  from the `WorkerLauncher` class in order to execute a different strategy how workers should be started. The
  master instance (i.e. the mongoDB) will always be started on localhost as implemented in `LocalMasterLauncher`. This
  behavior can also be changed by providing a custom implementation inheriting from the `MasterLauncher`.
docstr: The name of the MongoDB database to be used for experiments.
docstr_tok: ["The","name","of","the","MongoDB","database","to","be","used","for","experiments","."]
code: def dbname(self) -> str:
      """The name of the MongoDB database to be used for experiments."""
      return self._dbname
  
imports: import os
  import time
  from typing import List, Optional, Union
  from lazycluster import Runtime, RuntimeGroup, RuntimeTask, _utils
  from lazycluster.cluster import MasterLauncher, MasterWorkerCluster, WorkerLauncher
  from lazycluster.cluster.exceptions import MasterStartError
  from lazycluster.exceptions import PortInUseError
  from lazycluster.utils import Environment
label_desc: Use image node_id 4 for calling the HyperoptCluster obj's underlying member method code with example usage: obj.dbname() and returns: self