code: def clone(self):
          
  
          new_route = self.__class__(self._problem)
          for node in self.nodes():
              # Insere new node on new route
              new_node = node.__class__(node._name, node._demand)
              new_route.allocate([new_node])
  
          return new_route
docs: Returns a deep copy of self
  
          Function clones:
          
          * allocation
          * nodes
          
          Returns
          -------
          type
              Deep copy of self