public Tour Mate(Tour t){
		ArrayList<City> temp = t.tour;
		Integer random = (int) (Math.random()*tour.size());
		ArrayList<City> child =  new ArrayList<City>(tour.subList(0, random));
		for(int i=0;i<child.size();i++){
			temp.remove(child.get(i));
		}
		for(City c:temp){
			if(c!=null){
				child.add(c);
			}
		}
		//Child cannot have null cities
		//child = new ArrayList<City>(child.subList(0, 30));
		ArrayList<City> returnVal = new ArrayList<City>(30);
		for(City c:child){
			if(c!=null){
				returnVal.add(c);
			}
		}
		return new Tour(returnVal);
	}