def confidence_bound(gpmodel, X_full, **kwargs):
    """
    Confidence bound acquisition function
    (a modification of upper confidence bound)

    Args:
        gpmodel (gpim reconstructor object):
            Surrogate function that allows computing
            mean and standard deviation
        X_full (ndarray):
            Full grid indices
        **alpha (float):
            :math:`\\alpha` coefficient in :math:`\\alpha \\mu + \\beta \\sigma`
        **beta (float):
            :math:`\\beta` coefficient in :math:`\\alpha \\mu + \\beta \\sigma`

    Returns:
        Acquisition function values and GP prediction (mean + stddev)
    """
    alpha = kwargs.get("alpha", 0)
    beta = kwargs.get("beta", 1)
    mean, sd = gpmodel.predict(X_full, verbose=0)
    acq = alpha * mean + beta * sd
    return acq, (mean, sd)