def next_iteration(self, preference=None):
        """
        Return next iteration bounds
        """
        if preference:
            self.preference = preference
            print(("Given preference: %s" % self.preference.pref_input))
        self._update_fh()

        # tmpzh = list(self.zh)
        self._update_zh(self.zh, self.fh)
        # self.zh = list(np.array(self.zh) / 2. + np.array(self.zh_prev) / 2.)
        # self.zh_prev = tmpzh
        if self.current_iter != 1:
            self.fh_lo = list(self.lower_bounds_factory.result(self.zh_prev))

        self.current_iter -= 1

        return self.fh_lo, self.zh
Return next iteration bounds