code: def mo_lin_asy_ucb(gps, anc_data):
      """Returns a recommendation via UCB with Linear Scalarization in the
      asynchronous setting for MOO"""
      beta_th = _get_ucb_beta_th(anc_data.domain.dim, anc_data.t)
  
      def acquisition(x):
          """Computes the GP-UCB acquisition."""
          mu_tot = 0.0
          sigma2_tot = 0.0
          for gp, weight in zip(gps, anc_data.obj_weights):
              mu, sigma = gp.eval(x, uncert_form="std")
              mu_tot += mu * weight
              sigma2_tot += sigma * sigma * weight**2
          ret = mu_tot + beta_th * np.sqrt(sigma2_tot)
          return ret
  
      return maximise_acquisition(acquisition, anc_data)
  
file_path: dragonfly/dragonfly/opt/multiobjective_gpb_acquisitions.py
imports: from __future__ import division
  from argparse import Namespace
  from copy import copy
  import numpy
  from .gpb_acquisitions import maximise_acquisition
  from .gpb_acquisitions import get_gp_sampler_for_parallel_strategy
label_desc: Use image node_id 4 for calling a global function with example usage: mo_lin_asy_ucb(gps, anc_data) and returns: maximise_acquisition, ret