private boolean arribatFi() {
		boolean b;
		Activitat a;
		
		//La ruta podra finalitzar si estem a l'ultim dia i hem visitat tots els llocs intermitjos i el final
		b = visitat.get(clients.obtenirDesti().index()) && diaActual >= clients.obtenirDies() - 1;
		//En el cas especial que el lloc inicial i el final siguin iguals i la ruta tingui mes d'un dia, ens haurem d'assegurar
		//tambe que en l'ultim dia s'ha passat per la destinacio final (ja que l'haurem visitat inicialment)
		if (clients.obtenirInici().equals(clients.obtenirDesti()) && b && clients.obtenirDies() != 1) {
			b = false;
			Iterator<Activitat> it = ruta.get(clients.obtenirDies() - 1).iterator();
			while (it.hasNext() && !b) {
				a = it.next();
				if (a instanceof Trajecte) {
					if (((Trajecte) a).obtenirMitja() instanceof MitjaDirecte) {
						b = ((MitjaDirecte) ((Trajecte) a).obtenirMitja()).obtenirDesti().equals(clients.obtenirDesti());
					}
					else if (((Trajecte) a).obtenirMitja() instanceof MitjaIndirecte) {
						b = ((Trajecte) a).obtenirDestiSecundari().equals(clients.obtenirDesti());
					}
				}
			}
		}
		return b;
	}