def is_complete(self):
        """Returns True if this is a complete solution, i.e, all nodes are allocated
        
        Returns
        -------
        bool
            True if all nodes are llocated.
        """
        return all(
            [node.route_allocation() is not None for node in list(self._nodes.values()) if node != self._problem.depot()]
        )