docs: def init_wstr(self):
          """
              Compute and initialize optimization levels for BLO and
              stratification. This method is invoked once, from the
              constructor of an object of :class:`RC2Stratified`. Given
              the weights of the soft clauses, the method divides the
              MaxSAT problem into several optimization levels.
          """
  
          # a mapping for stratified problem solving,
          # i.e. from a weight to a list of selectors
          self.wstr = collections.defaultdict(lambda: [])
  
          for s, w in six.iteritems(self.wght):
              self.wstr[w].append(s)
  
          # sorted list of distinct weight levels
          self.blop = sorted([w for w in self.wstr], reverse=True)
  
          # diversity parameter for stratification
          self.sdiv = len(self.blop) / 2.0