code: def compute_savings_list(self, graph):
          savings_list = {}
          for i, j in graph.edges():
              if repr(i) < repr(j):
                  t = (i, j)
              else:
                  t = (j, i)
              if i == graph.depot() or j == graph.depot():
                  continue
              savings_list[t] = graph.distance(graph.depot(), i) + graph.distance(graph.depot(), j) - graph.distance(i, j)
          sorted_savings_list = sorted(list(savings_list.items()), key=operator.itemgetter(1), reverse=True)
          return [nodes for nodes, saving in sorted_savings_list]