public static void main(String[] args) { String path = "./ihop2/matsim-input/config.xml"; Config config = ConfigUtils.loadConfig(path); final Scenario scenario = ScenarioUtils.loadScenario(config); Controler controler = new Controler(scenario); double samplesize = config.qsim().getStorageCapFactor(); String outputRoot = "./ihop2/matsim-output/output"; // LogToOutputSaver.setOutputDirectory(outputRoot); double departureTime = 8. * 60 * 60; // Changing vehicle and road capacity according to sample size PTCapacityAdjusmentPerSample capadjuster = new PTCapacityAdjusmentPerSample(); capadjuster.adjustStoarageAndFlowCapacity(scenario, samplesize); // controler.getConfig().qsim().setInflowConstraint(InflowConstraint.maxflowFromFdiag); // controler.getConfig().qsim().setTrafficDynamics(TrafficDynamics.withHoles); Network network = scenario.getNetwork(); TransitSchedule schedule = scenario.getTransitSchedule(); new CreatePseudoNetwork(schedule, network, "tr_").createNetwork(); // NetworkWriter networkWriter = new NetworkWriter(network); // networkWriter.write("/home/saleem/input/PseudoNetwork.xml"); // networkWriter.write("H:\\Matsim\\Stockholm // Scenario\\teleportation\\input\\PseudoNetwork.xml"); // controler.addControlerListener(new FareControlListener()); // controler.setScoringFunctionFactory(new ScoringFunctionFactory() { // @Inject CharyparNagelScoringParametersForPerson parameters; // @Override // public ScoringFunction createNewScoringFunction(Person person) { // final CharyparNagelScoringParameters params = parameters.getScoringParameters( person ); // SumScoringFunction sumScoringFunction = new SumScoringFunction(); // sumScoringFunction.addScoringFunction(new CharyparNagelActivityScoring( params )); // sumScoringFunction.addScoringFunction(new StockholmLegScoring( person, params , // scenario.getNetwork())); // sumScoringFunction.addScoringFunction(new StockholmMoneyScoring(person, params )); // sumScoringFunction.addScoringFunction(new CharyparNagelAgentStuckScoring( params )); // return sumScoringFunction; } // }); // controler.addControlerListener(new FareControlListener()); controler.run(); TransitRouter trouter = controler.getInjector().getBinding(TransitRouter.class).getProvider().get(); createStopsFile(scenario.getTransitSchedule().getFacilities(), outputRoot + "ptStops.csv", ","); // // // The locationFacilitiesMap is passed twice: Once for origins and once for destinations. // // In other uses the two maps may be different -- thus the duplication here. new ThreadedMatrixCreator( scenario, scenario.getTransitSchedule().getFacilities(), scenario.getTransitSchedule().getFacilities(), departureTime, outputRoot, " ", 1, trouter); }