public static int[] getTotalLoadPerturbed(ArrayList<Customer> custLst, int NOISERANGE, Random rnd){
		if (custLst.size()>0) {
			int LENTIME = custLst.get(0).loads.length;
			int[] totalLoads = new int[LENTIME];
			
			// not perturbed, for testing purposes only
			// TODO: should be commented later
			/*
			for (int i=0;i<custLst.size();i++){
				for (int j=0; j<LENTIME; j++){
					totalLoads[j] = totalLoads[j] + custLst.get(i).loads[j];
				}
			}	
			System.out.println("i="+arrToStr(totalLoads));
			*/
			
			totalLoads = new int[LENTIME];
			// perturbed
			for (int i=0;i<custLst.size();i++){
				for (int j=0; j<LENTIME; j++){
					totalLoads[j] = totalLoads[j] + custLst.get(i).loads[j] + (int) (rnd.nextDouble()*NOISERANGE);
				}
			}	
			//..System.out.println("p="+arrToStr(totalLoads));
			
			// try to recover the noise
			for (int i=0;i<custLst.size();i++){
				for (int j=0; j<LENTIME; j++){
					totalLoads[j] = totalLoads[j] - (int) (rnd.nextDouble()*NOISERANGE);
				}
			}
			
			for (int j=0; j<LENTIME; j++){
				if (totalLoads[j] < 0) {
					totalLoads[j] = 0;
				}
			}
			
			//..System.out.println("r="+arrToStr(totalLoads));
			//..System.exit(0);
			return totalLoads;
		} else return null;
	}