def randomize(self):
    # old randomize()
    # self.solution = self.problem.getSolution()
    # self.post_randomize()

    self.solution = self.problem.getSolution()
    if self.solution:
      # print("TODO: randomized with steps: {}".format(self.problem._solver._steps))
      pass
    else:
      i = 1
      while self.solution is None:
        for j in range(10):
          self.solution = self.problem.getSolution()
          if self.solution:
            # print("TODO: randomized with steps: {}".format(self.problem._solver._steps))
            break
        i *= 5
        self.problem._solver._steps *= i
    self.post_randomize()