code: def next_iteration(self, preference=None):
          
          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
docs: Return next iteration bounds