code: def objective(config):
      alpha1 = config["alpha1"]
      alpha2 = 1 - alpha1
      config["alpha2"] = alpha2
  
      weights = [
          config["weight_1"],
          config["weight_2"],
          config["weight_3"],
          config["weight_4"],
          config["weight_5"],
      ]
      total_weight = sum(weights)
      normalized_weights = [w / total_weight for w in weights]
      config["weight_1"] = normalized_weights[0]
      config["weight_2"] = normalized_weights[1]
      config["weight_3"] = normalized_weights[2]
      config["weight_4"] = normalized_weights[3]
      config["weight_5"] = normalized_weights[4]
  
      score = evaluate(
          config["weight_1"],
          config["weight_2"],
          config["weight_3"],
          config["weight_4"],
          config["weight_5"],
          alpha1,
          alpha2,
      )
      train.report({"mean_loss": score})
  
file_path: nevergrad/examples/raytune_nevergrad_biobjective.py
imports: import nevergrad
  import numpy
  import nevergrad
  from ray import train, tune
  from ray.tune.search.nevergrad import NevergradSearch
label_desc: Use image node_id 3 for calling a global function with example usage: objective(config) without return types