private void checkVehicleSkill() {
		List<Integer> list = new ArrayList<Integer>();
		//each route
		for (Route r : Solution.getRoutes()) {
			list.clear();
			int vehicle = 0;
			boolean b=false;
			if (r.isHasType()) {
				vehicle = r.getType();
			}
			List<Integer> vehicleSkill = getSkillVehicle(Instance
					.getFleet().get(vehicle).getAttribute("skill"));
			List<Integer> requestSkill = new ArrayList<Integer>();
			//each request
			for (Request n : r.getRequests()) {
				int id = n.getId();
				List<VrpAtt> listAtt = Instance.getRequests().get(id)
						.getAttribute("skill");
				for (VrpAtt vrpAtt : listAtt) {
					requestSkill.add(((SkillAndTool) vrpAtt).getId());
				}
			}
			//each skill
			for (Integer s : requestSkill){

				if (!vehicleSkill.contains(s) && !list.contains(s)){
					list.add(s);
					b=true;
				}
			}
			if(b){
				String sSkillMissing =String.valueOf(list.get(0));
				for(int i=1;i<list.size();i++)
					sSkillMissing=sSkillMissing.concat("-"+list.get(i));
				cEval.addMessage("VehicleSkill|The following skills are missing : "+sSkillMissing+" on route "+r.getId());
			}
		}
	}