'Do one cycle of the basinhopping algorithm'

def one_cycle(self):

    self.nstep += 1
    new_global_min = False
    (accept, minres) = self._monte_carlo_step()
    if accept:
        self.energy = minres.fun
        self.x = np.copy(minres.x)
        new_global_min = self.storage.update(minres)
    if self.disp:
        self.print_report(minres.fun, accept)
        if new_global_min:
            print(('found    new    global    minimum    on    step    %d    with    function    value    %g' % (self.nstep, self.energy)))
    self.xtrial = minres.x
    self.energy_trial = minres.fun
    self.accept = accept
    return new_global_min
