// based on: // playground.wrashid.parkingSearch.withindayFW.controllers.kti.HUPCControllerKTIzh.getHouseHoldIncomeCantonZH public static DoubleValueHashMap<Id> getHouseHoldIncomeCantonZH(Population population) { DoubleValueHashMap<Id> houseHoldIncome = new DoubleValueHashMap<Id>(); for (Id<Person> personId : population.getPersons().keySet()) { double rand = MatsimRandom.getRandom().nextDouble(); if (rand < 0.032) { houseHoldIncome.put(personId, 1000 + MatsimRandom.getRandom().nextDouble() * 1000); } else if (rand < 0.206) { houseHoldIncome.put(personId, 2000 + MatsimRandom.getRandom().nextDouble() * 2000); } else if (rand < 0.471) { houseHoldIncome.put(personId, 4000 + MatsimRandom.getRandom().nextDouble() * 2000); } else if (rand < 0.674) { houseHoldIncome.put(personId, 6000 + MatsimRandom.getRandom().nextDouble() * 2000); } else if (rand < 0.803) { houseHoldIncome.put(personId, 8000 + MatsimRandom.getRandom().nextDouble() * 2000); } else if (rand < 0.885) { houseHoldIncome.put(personId, 10000 + MatsimRandom.getRandom().nextDouble() * 2000); } else if (rand < 0.927) { houseHoldIncome.put(personId, 12000 + MatsimRandom.getRandom().nextDouble() * 2000); } else if (rand < 0.952) { houseHoldIncome.put(personId, 14000 + MatsimRandom.getRandom().nextDouble() * 2000); } else { houseHoldIncome.put(personId, 16000 + MatsimRandom.getRandom().nextDouble() * 16000); } } return houseHoldIncome; }
public static void main(String[] args) { String chargingLogFileNamePath = "H:/data/experiments/ARTEMIS/zh/dumb charging/output/run5/ITERS/it.0/0.chargingLog.txt"; DoubleValueHashMap<String> energyConsumptionPerLink = EnergyConsumptionPerLink.readChargingLog(chargingLogFileNamePath); LinkedList<String> energyConsumptionHigherThresholdValue = energyConsumptionPerLink.getKeysWithHigherValueThanThresholdValue(2 * 100000000); System.out.println( "number of links with energy consumption higher than threshold: " + energyConsumptionHigherThresholdValue.size()); GeneralLib.printLinkedListToConsole(energyConsumptionHigherThresholdValue); }