docs: def initialize(self, length=None):
          """see ``__init__``"""
          if length is None:
              length = len(self.bounds)
          max_i = min((len(self.bounds) - 1, length - 1))
          self._lb = array([self.bounds[min((i, max_i))][0]
                            if self.bounds[min((i, max_i))][0] is not None
                            else -np.Inf
                            for i in xrange(length)], copy=False)
          self._ub = array([self.bounds[min((i, max_i))][1]
                            if self.bounds[min((i, max_i))][1] is not None
                            else np.Inf
                            for i in xrange(length)], copy=False)
          lb = self._lb
          ub = self._ub
          # define added values for lower and upper bound
          self._al = array([min([(ub[i] - lb[i]) / 2, (1 + np.abs(lb[i])) / 20])
                               if isfinite(lb[i]) else 1 for i in rglen(lb)], copy=False)
          self._au = array([min([(ub[i] - lb[i]) / 2, (1 + np.abs(ub[i])) / 20])
                               if isfinite(ub[i]) else 1 for i in rglen(ub)], copy=False)