def processSaving(self, saving):
     (k, i, j, s) = saving
     x = self.paths[i]
     y = self.paths[j]
     if uf.joinable(self.capacity, x, y):
         uf.union(x, y)
         self.used_savings.append(k)
         self.solution -= s
 def feasibleSaving(self, saving):
     (_, i, j, _) = saving
     return uf.joinable(self.capacity, self.paths[i], self.paths[j])