Giter Club home page Giter Club logo

ees's Introduction

Emergency Evacuation Simulator

mainpassing? devpassing?

Dependencies

This program depends on the following projects:

Setup

Initialise and update the git submodules as below. This only has to be done once, when you first clone this repository.

git submodule update --init --recursive

How to build

./mvnw package

This will produce the EES release archive in ees/target/ees-x.y.z-SNAPSHOT.zip.

How to run

To run the example scenario unzip the release archive and follow the instructions provided in the packaged README.md.

Known Issues

License

Emergency Evacuation Simulator Copyright (C) 2014-2023 by its authors. See ees/AUTHORS file.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/.

For contact information, see ees/AUTHORS file.

ees's People

Contributors

chambul avatar dependabot[bot] avatar dhixsingh avatar gden173 avatar kainagel avatar osbornejr avatar sperera avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ees's Issues

Change PhoenixFireModel to use Grid output as well as ISO

From @dhixsingh on August 14, 2018 23:44

For the fire, the ISO files are probably not the ones we should be using given that they are smoothed outputs of the Phoenix run. We should switchover from ISO to Grid Phoenix output for the fire instead. That will mean that the visual of the fire over the landscape will look "blocky", but it is infact the more accurate output and what is used for analysis at DELWP. Switching to that will ensure that we are consistent in the use of the Phoenix output in the simulation model with how it is currently used across the board. This is now important, since the BDI population reacts to the fire shape, so what shape we use matters in terms of the simulation results.

Copied from original issue: agentsoz/bdi-abm-integration#53

Add query_percept to get list of all agents in an area

From @dhixsingh on April 17, 2018 22:41

The query_percept should allow the BDI system to query MATSim for a list of all agents that are located within a given polygon area. The use case is to allow messages to be sent to agents within a arbitrary polygon area (see #31).

Add a test that demonstrates a staged evacuation, such that the Fire Alert message is sent to two groups of agents (split into two arbitrary rectangular areas) at different times.

Copied from original issue: agentsoz/bdi-abm-integration#32

Maintain explicit map for converting between MATSim and BDI agent IDs

From @dhixsingh on January 21, 2018 22:13

Currently, MATSim population IDs must follow the series 0,1,2,3,... since these are mapped directly to Jill IDs that are created that way. This is not very flexible, and what we would like is to maintain an explicit map for converting between MATSim and Jill IDs.

This is also required for agentsoz/bdi-abm-integration#13.

Something that starts to do this is in JillBDIModel.java, but is not ready.

Copied from original issue: agentsoz/bdi-abm-integration#14

Double evacuations

From @osbornejr on August 26, 2018 13:23

As of a92bd9afb606d50e14f06619b787cbcb29af815d, the agents in SurfCoastShirePopulationSubgroupsSampleTest show strange behaviour when the disruptions file scenario_disruptions.xml is turned on.

For example, agent 12 evacuates to Melbourne (their preferred evacuation location) when their final response trigger is activated. Upon arriving in Melbourne they turn around and head back to Lorne, and then evacuate to the advised location! Here is the relevant jill.out code:

Time -0001 VisitorOvernight 12 : memory:-1:BELIEVED:DEPENDENTS_INFO:null Time 44126 VisitorOvernight 12 : memory:44126:PERCEIVED:field_of-view:sighted_embers Time 44126 VisitorOvernight 12 : memory:44126:BELIEVED:RESPONSE_BAROMETER_FIELD_OF_VIEW_CHANGED=0.3 Time 44126 VisitorOvernight 12 : memory:44126:DECIDED:INITIAL_RESPONSE_THRESHOLD_BREACHED Time 44126 VisitorOvernight 12 : memory:44126:DECIDED:FINAL_RESPONSE_THRESHOLD_BREACHED Time 44126 VisitorOvernight 12 : memory:44126:DECIDED:INITIAL_AND_FINAL_RESPONSE_THRESHOLDS_BREACHED_TOGETHER Time 44126 VisitorOvernight 12 : memory:44126:DECIDED:TRIGGER_INITIAL_RESPONSE_NOW Time 44126 VisitorOvernight 12 : memory:44126:DECIDED:TRIGGER_FINAL_RESPONSE_NOW Time 44126 VisitorOvernight 12 : memory:44126:DECIDED:IS_PLAN_APPLICABLE:ActNow|PlanGoHomeThenLeave=true Time 44126 VisitorOvernight 12 : memory:44126:DECIDED:IS_PLAN_APPLICABLE:ActNow|PlanLeaveNow=true Time 44126 VisitorOvernight 12 : memory:44126:DECIDED:IS_PLAN_APPLICABLE:ActNow|PlanDoNothing=true Time 44126 VisitorOvernight 12 : memory:44126:DECIDED:IS_PLAN_APPLICABLE:GoalGoHome|PlanGoHome=true Time 44126 VisitorOvernight 12 : memory:44126:DECIDED:GOTO_LOCATION:(home, coords=756924.90574,5726253.79922) Time 44126 VisitorOvernight 12 : memory:44126:ACTIONED:drive_to:(home, coords=756924.90574,5726253.79922):37851m away Time 45002 VisitorOvernight 12 : memory:45002:PERCEIVED:emergency_message:ADVICE,Emergency services are attending to a fire north of Anglesea Time 45002 VisitorOvernight 12 : memory:45002:BELIEVED:RESPONSE_BAROMETER_MESSAGES_CHANGED=0.1 Time 46302 VisitorOvernight 12 : memory:46302:PERCEIVED:arrived:20743-20745-38501-38503-39175-39177-39179 Time 46302 VisitorOvernight 12 : memory:46302:BELIEVED:LAST_ENV_ACTION_STATE=PASSED Time 46302 VisitorOvernight 12 : memory:46302:BELIEVED:DISTANCE_TO_LOCATION:(home, coords=756924.90574,5726253.79922):0m Time 46302 VisitorOvernight 12 : memory:46302:DECIDED:IS_PLAN_APPLICABLE:GoalGotoEvacPlace|PlanGotoEvacPlace=true Time 46302 VisitorOvernight 12 : memory:46302:DECIDED:GOTO_LOCATION:(Melbourne, coords=841924.6,5808324.9) Time 46302 VisitorOvernight 12 : memory:46302:ACTIONED:drive_to:(Melbourne, coords=841924.6,5808324.9):155017m away Time 47643 VisitorOvernight 12 : memory:47643:PERCEIVED:blocked:23899-23897-23895-23893-23891-23889-23887 Time 47643 VisitorOvernight 12 : memory:47643:BELIEVED:LAST_ENV_ACTION_STATE=FAILED Time 47643 VisitorOvernight 12 : memory:47643:DECIDED:GOTO_LOCATION:(Melbourne, coords=841924.6,5808324.9) Time 47643 VisitorOvernight 12 : memory:47643:ACTIONED:drive_to:(Melbourne, coords=841924.6,5808324.9):129740m away Time 48020 VisitorOvernight 12 : memory:48020:PERCEIVED:field_of-view:sighted_embers Time 48612 VisitorOvernight 12 : memory:48612:PERCEIVED:field_of-view:sighted_embers Time 49571 VisitorOvernight 12 : memory:49571:PERCEIVED:field_of-view:sighted_embers Time 53582 VisitorOvernight 12 : memory:53582:PERCEIVED:arrived:9288-9290-9292-9294-9296-9298-9300-9302-9304 Time 53582 VisitorOvernight 12 : memory:53582:BELIEVED:LAST_ENV_ACTION_STATE=PASSED Time 53582 VisitorOvernight 12 : memory:53582:BELIEVED:DISTANCE_TO_LOCATION:(Melbourne, coords=841924.6,5808324.9):0m Time 53582 VisitorOvernight 12 : memory:53582:BELIEVED:SAFE Time 53582 VisitorOvernight 12 : memory:53582:DECIDED:IS_PLAN_APPLICABLE:ActNow|PlanGoHomeThenLeave=true Time 53582 VisitorOvernight 12 : memory:53582:DECIDED:IS_PLAN_APPLICABLE:ActNow|PlanLeaveNow=true Time 53582 VisitorOvernight 12 : memory:53582:DECIDED:IS_PLAN_APPLICABLE:ActNow|PlanDoNothing=true Time 53582 VisitorOvernight 12 : memory:53582:DECIDED:IS_PLAN_APPLICABLE:GoalGoHome|PlanGoHome=true Time 53582 VisitorOvernight 12 : memory:53582:DECIDED:GOTO_LOCATION:(home, coords=756924.90574,5726253.79922) Time 53582 VisitorOvernight 12 : memory:53582:ACTIONED:drive_to:(home, coords=756924.90574,5726253.79922):139121m away Time 57602 VisitorOvernight 12 : memory:57602:PERCEIVED:emergency_message:EVACUATE_NOW,Waurn Ponds,789654,5764865,Evacuate now towards Waurn Ponds if safe to do so,Bushfire north of Anglesea is not contained Time 57602 VisitorOvernight 12 : memory:57602:BELIEVED:evac=(Waurn Ponds, coords=789654.0,5764865.0) Time 57602 VisitorOvernight 12 : memory:57602:BELIEVED:RESPONSE_BAROMETER_MESSAGES_CHANGED=0.3 Time 57602 VisitorOvernight 12 : memory:57602:ACTIONED:social_nework_message:EVACUATE_NOW,Waurn Ponds,789654,5764865,Evacuate now towards Waurn Ponds if safe to do so,Bushfire north of Anglesea is not contained Time 57602 VisitorOvernight 12 : memory:57602:PERCEIVED:field_of-view:sighted_embers Time 58592 VisitorOvernight 12 : memory:58592:PERCEIVED:social_nework_message:EVACUATE_NOW,Waurn Ponds,789654,5764865,Evacuate now towards Waurn Ponds if safe to do so,Bushfire north of Anglesea is not contained Time 59448 VisitorOvernight 12 : memory:59448:PERCEIVED:arrived:20743-20745-38501-38503-39175-39177-39179 Time 59448 VisitorOvernight 12 : memory:59448:BELIEVED:LAST_ENV_ACTION_STATE=PASSED Time 59448 VisitorOvernight 12 : memory:59448:BELIEVED:DISTANCE_TO_LOCATION:(home, coords=756924.90574,5726253.79922):0m Time 59448 VisitorOvernight 12 : memory:59448:DECIDED:IS_PLAN_APPLICABLE:GoalGotoEvacPlace|PlanGotoEvacPlace=true Time 59448 VisitorOvernight 12 : memory:59448:DECIDED:GOTO_LOCATION:(Waurn Ponds, coords=789654.0,5764865.0) Time 59448 VisitorOvernight 12 : memory:59448:ACTIONED:drive_to:(Waurn Ponds, coords=789654.0,5764865.0):80175m away Time 60789 VisitorOvernight 12 : memory:60789:PERCEIVED:blocked:23899-23897-23895-23893-23891-23889-23887 Time 60789 VisitorOvernight 12 : memory:60789:BELIEVED:LAST_ENV_ACTION_STATE=FAILED Time 60789 VisitorOvernight 12 : memory:60789:DECIDED:GOTO_LOCATION:(Waurn Ponds, coords=789654.0,5764865.0) Time 60789 VisitorOvernight 12 : memory:60789:ACTIONED:drive_to:(Waurn Ponds, coords=789654.0,5764865.0):54898m away Time 61210 VisitorOvernight 12 : memory:61210:PERCEIVED:field_of-view:sighted_embers Time 64386 VisitorOvernight 12 : memory:64386:PERCEIVED:arrived:10063-10065-10067 Time 64386 VisitorOvernight 12 : memory:64386:BELIEVED:LAST_ENV_ACTION_STATE=PASSED Time 64386 VisitorOvernight 12 : memory:64386:BELIEVED:DISTANCE_TO_LOCATION:(Waurn Ponds, coords=789654.0,5764865.0):0m Time 64386 VisitorOvernight 12 : memory:64386:BELIEVED:SAFE

In general, it appears that the Evacuate now message is being lodged numerous times, and even if the agent believes themselves safe, they still re-evacuate.

Copied from original issue: agentsoz/bdi-abm-integration#69

Add BDI config section in EES xml

From @dhixsingh on February 5, 2018 23:29

There are various behavioural aspects of BDI agents that users would likely want to configure. These are currently done in the jill config at the moment, such as in:

https://github.com/agentsoz/bdi-abm-integration/blob/27e7718a37ff4a2a58b1afcc2f4ba835da04cbbf/examples/bushfire/src/test/java/io/github/agentsoz/ees/Maldon100WithEmergencyVehiclesTest.java#L38

Ideally, this should all be part of the main config. So something like this might be better:

<bdiconfig>
  <agent>
    <class>...</class>
    <args>...</args>
  </agent>
</bdiconfig>

Attributes of individual agents would be specified directly in the MATSim population file (see #13).

Copied from original issue: agentsoz/bdi-abm-integration#18

Awareness of distance from fire

From @osbornejr on August 22, 2018 4:49

Currently it is common for agents who are not in direct danger to evacuate to the instructed place of evacuation on a route that takes them closer to the danger, and also adds to congestion.
Another possibility is that their chosen place of evacuation takes them closer to the fire than if they had just stayed put.
This may be a consequence of blanket messaging-- in practice each area would be instructed to evacuate to a place that is tailored to their situation, so this will fall out as the messaging model is tested. But it is nevertheless important that agents have some awareness of where the fire is so that their chosen destination in the LeaveNow process makes sense.

Whether this awareness comes from smoke visual or messaging that locates the source/direction of the fire, this should play an important role in the LeaveNow decision (see #58) and may also help resolve the issues discussed in (#63).

Copied from original issue: agentsoz/bdi-abm-integration#64

Make archetypes based test results repeatable

Currently, runs with any more than a handful of archetypes are not repeatable. The problem comes from this line:

params[6] = Global.getRandom().nextInt(replanningActivityDurationInMins*60);

The issue is that multiple agents could call the global random number generator out of order. The fix is to give each agent its own copy of the random number generator using a fixed seed.

testCastlemaine1000 results are non-deterministic

From @dhixsingh on March 6, 2018 3:17

Picking up from where #8 left. The results for the congestion test testCastlemaine1000 are non-deterministic.

The differences are in the number and timing of :

  1. activity starts;
  2. persons arriving.

The comparison tests are currently disabled:

https://github.com/agentsoz/bdi-abm-integration/blob/6a015b53a7e4718eed75929d024ad8e3f9b76596/examples/bushfire/src/test/java/io/github/agentsoz/ees/Castlemaine1000Test.java#L47-L65

Copied from original issue: agentsoz/bdi-abm-integration#23

Reported travel time in EES results page is incorrect

From @dhixsingh on April 9, 2018 5:12

The following auto-generated graph for the simulated evacution from Fryerstown to Chewton, shows incorrect times on the x-axis:
traveltimeinmins

Verified that the time being shown in the graph is what was extracted into the analysis CSV. So there seems to be a bug in the following code that creates the CSV file to be plotted:
https://github.com/agentsoz/bdi-abm-integration/blob/05c4f5cff338c79dd791183164e79968120f0fbb/examples/bushfire/scripts/create-analysis-graphs.sh#L62-L63

To be clear, the bug is in the interpretation of the results, and not in the actual simuation run.

The scenario file is here: 2018-04-09-ja---faf-test.json.txt.

Copied from original issue: agentsoz/bdi-abm-integration#29

Update Surf Coast Shire populations to latest Archetypes based model

The Surf Coast Shire tests:

public class SurfCoastShirePopulationSubgroupsSampleTest {

and

public class SurfCoastShirePopulationSubgroupsIT {

are currently disabled as they still use the outdated behaviour model. These should be updated to use the new Archetypes-based behaviour model as used in the these tests.

Compilation error in jill submodule

When compiling ees, jill submodule (0.4.1-SNAPSHOT) fails to compile.

Environment

Apache Maven 3.8.1 (05c21c65bdfed0f71a2f2ada8b84da59348c4c5d)
Java version: 1.8.0_282, vendor: AdoptOpenJDK,
Default locale: en_AU, platform encoding: UTF-8
OS name: "mac os x", version: "10.16", arch: "x86_64", family: "mac"

Dataserver should auto-publish time on stepTime()

In the main simulation loop below,

while (true) {
// BDI to take control; the BDI thread should synchronize on adc_from_bdi
dataServer.publish(PerceptList.TAKE_CONTROL_BDI, adc_from_abm);
// Wait till both models are done before checking for termination condition
synchronized (sequenceLock) {
if (matsimModel.isFinished()) {
break;
}
}
// ABM to take control; the ABM thread should synchronize on adc_from_abm
dataServer.publish(PerceptList.TAKE_CONTROL_ABM, adc_from_bdi);
// Wait till both models are done before incrementing time
synchronized (sequenceLock) {
dataServer.stepTime();
}
// TODO: time should instead be passed to the models during stepTime()
dataServer.publish(PerceptList.TIME, dataServer.getTime());
}

time is published to models in a separate external call. It should instead be part of the stepTime() call, ie, not optional.

Create realistic summer weekday population with Surf Coast Shire Council

The task is to update examples/bushfire/scenarios/surf-coast-shire/data/synthetic-population/plan-algorithm/typical summer weekday/* input files so that they more accurately reflect the population and its activities on a typical summer weekday. To be done together with Surf Coast Shire Council.

Part of the task is also to calibrate traffic flow at key locations based on available traffic counts from VicRoads and the Shire. What should be possible is to achieve a relative flow distribution that compares to the traffic count data.

Tidy up diffusion model logs

Currently any test that uses the diffusion model such as below,

<model id="diffusion">
<!-- Diffusion model config file relative to examples/bushfire directory;
see: https://github.com/agentsoz/diffusion-model -->
<opt id="configFile">scenarios/surf-coast-shire/population-subgroups-sample/scenario_diffusion_config.xml</opt>
</model>

creates diffusion.log and diffusion.out output files in the repository root.

DiffusionModel should be updated to allow the location of these files to be specified, similar to this:

<opt id="jLogFile">test/output/io/github/agentsoz/ees/SurfCoastShirePopulationSubgroupsSampleTest/testSurfCoastShirePopulationSubgroupsSample/jill.log</opt>
<opt id="jOutFile">test/output/io/github/agentsoz/ees/SurfCoastShirePopulationSubgroupsSampleTest/testSurfCoastShirePopulationSubgroupsSample/jill.out</opt>

All tests should then be updated so that no diffusion log files are generated in the repository root, but are instead placed in appropriate test-specific directories (same location as Jill logs).

@chambul if you could please do this on a branch and create a pull request when ready.

Include fire front in disruption model

From @osbornejr on August 22, 2018 4:48

The fire shapefile creates penalties which prevent agents from routing through or near the fire front. There may be some ongoing issues with this process (@dhixsingh agentsoz/bdi-abm-integration#36), but this may not cover all cases. Even when combined with the threshold model (see agentsoz/bdi-abm-integration#47), it is possible for an agent to

  • have a high warning threshold i.e. continue with daily plan
    and
  • form a route for a daily plan activity that is then later intercepted by the fire.

It would be good to have a failsafe "fire front" disruption mechanism. If for some reason an agent still attempts to drive through the fire, there would be a disruption that encourages (as in congestion) or forces (as in blockages) them to reroute, at which point the penalties should ensure that they avoid the fire.

Note that it might be good to leave open the possibility (in the rare case) that people ignore this disruption as well-- some discussions with SCSC have indicated that people living within the fire zone may do this. But certainly people who are not in the area should not enter the danger zone (see also #64).

Copied from original issue: agentsoz/bdi-abm-integration#63

Cache initialised population for large input files

Initialising 10k+ agents can take a while if they have many beliefs of high cardinality. This function for instance, takes >5 mins for the SurfCoastShirePopulationSubgroupsIT test:

public void initialiseAgentsWithArgs(Map<Integer, List<String>> map) {

One option could be to cache the initialised agents (serialise the Jill agents object to file) and use the hash of the population input file to decide if the cache is valid. Once cached, the population file could then be reloaded quite quickly, for repeat runs or across runs where the same population file is used in another test.

Update BDI agent attributes

From @osbornejr on August 22, 2018 2:15

A few more things need to be specified in the
<person>
<attributes>...
section of the scenario_matsim_plans.xml.

Firstly, getProbHomeAfterDependents() and getProbHomeBeforeLeaving() should be exposed here, so that they can vary from person to person (and subgroup to subgroup).

Secondly, the EvacLocationPreference and InvacLocationPreference options should be able to hold a list of (possibly ranked) known evacuation/invacuation options. Further, there should be a separate EvacLocationInstructed field and perhaps even a FailedEvacLocations field. Will need to be introduced in conjunction with #58.

Lastly, the locations currently listed in the EvacLocationPreference and InvacLocationPreference fields have both a set of x-y coordinates and a name of the location (e.g. >TorquayForeshore,790771,5752462<).
Ideally this format could be extended so that all x-y coordinates have this format (possibly alongside more information). In practice this will probably mean another person attribute for each activity in an agent's plan -- but this might be messy if they are attending multiple locations for the same activity?

Having this last feature would be useful to efficiently compute dependents location (#61) and will make the log file more readable.
@dhixsingh

Copied from original issue: agentsoz/bdi-abm-integration#62

Improve destination choice for leave now behaviour

From @dhixsingh on August 18, 2018 5:19

Currently the agent just picks the preferred evacuation location that either comes from the population initialisation as below,
https://github.com/agentsoz/bdi-abm-integration/blob/0c76c954b4e299e8ba2810bd5f2fa9717d952ddf/examples/bushfire/scenarios/surf-coast-shire/population-subgroups-sample/scenario_matsim_plans.xml#L29

Or recommended in the emergency message, as below,
https://github.com/agentsoz/bdi-abm-integration/blob/0c76c954b4e299e8ba2810bd5f2fa9717d952ddf/examples/bushfire/scenarios/surf-coast-shire/population-subgroups-sample/scenario_messages.json#L51-L52

We do not use the in-vac location yet,
https://github.com/agentsoz/bdi-abm-integration/blob/0c76c954b4e299e8ba2810bd5f2fa9717d952ddf/examples/bushfire/scenarios/surf-coast-shire/population-subgroups-sample/scenario_matsim_plans.xml#L30

Nor do we have the places of last resort info yet.

Overall the agent should pick between:

  • Preferred evacuation location configured in population file (used now)
  • Location suggested in emergency message (happens now)
  • In-evac location (not used yet)
  • Home (not used yet)
  • Place of last resort (not available yet, @osbornejr need this from SCSC)

The full logic for when to use which is still to be worked out.

Copied from original issue: agentsoz/bdi-abm-integration#58

Time delay before acting and during activities

From @osbornejr on August 22, 2018 5:32

One simple method of making people's responses more realistic would be to add a random time buffer of 1-30 minutes before each plan is executed. This has a number of benefits:

  • it implicitly distributes response time to messages. Agents would continue to enact their prior plan, and hence not everyone would depart immediately after a message is released. Latency period could be defined for each different alert form (e.g. the FireVisual latency would be much shorter than an Advice latency).
  • it represents any tasks that an agent might need to do before moving onto the plan. For example, it is unlikely that people who go home before evacuating will leave as soon as they arrive home.

Copied from original issue: agentsoz/bdi-abm-integration#65

Fire/Embers data not propagating correctly to agents

Fire/embers shape data is processed by MATSimEvacModel when it is first received:

listeners.put(Constants.FIRE_DATA, (DataClient<Geometry>) (time, dataType, data)
-> processFireData(data, time, penaltyFactorsOfLinks, matsimModel.getScenario(),
penaltyFactorsOfLinksForEmergencyVehicles, fireWriter));
listeners.put(Constants.EMBERS_DATA, (DataClient<Geometry>) (time, dataType, data)
-> processEmbersData(data, time, matsimModel.getScenario(), emberWriter));

At this point, all persons within the shape (computed using getPersonsWithin) are sent the relevant percept. This is ok.

However, this means that the computation getPersonWithin is only triggered when new fire/embers data is received. At all others times, agents entering the shape's buffer zone will not receive the relevant percept.

Update EES results page

From @dhixsingh on February 22, 2018 5:48

Decide what information should be presented on the results page, in what format, and in what order. For instance, egress information should likely be prominent and centre stage, along with the safeline graphs.

To be done in consultation with the Northern Cluster Shires Working Group.

Copied from original issue: agentsoz/bdi-abm-integration#20

Allow simulation time step to be configured

Currently there is no way to configure the timestep granularity for the EES simulation. It defaults to 1 second, i.e, each simulation loop corresponds to 1 second of simulated time. However, most models including MATSimModel allow this to be configurable. It would be nice to make this a parameter in the simulation config file so that it could be set to say 60 secs which might be sufficient for the BDI cognitive model (people after all hardly make per-second decisions).

Move MATSim config files from v1 to v2

From @dhixsingh on August 1, 2018 2:48

Most of the matsim config .xml files in examples/bushfire/* use DTD config version 1. These should all be updated to [config version 2]http://www.matsim.org/files/dtd/config_v2.dtd).

MATSim otherwise generated the following warning at runtime:

WARN ConfigReaderMatsimV1.java:58 using deprecated config version; please switch to config v2; your output_config.xml will be in the correct version; v1 will fail eventually, since we want to reduce the workload on keeping everything between v1 and v2 consistent (look into PlanCalcScoreConfigGroup or PlanCalcRouteConfigGroup if you want to know what we mean).

Copied from original issue: agentsoz/bdi-abm-integration#38

Run should operate on generic models

At the moment the Run class holds explicitly named instances of different models. This should be standardised into list of Models on which the init/step/finish should be called.

As part of this we also want to allow users applications to swap out default models with their own. This has become apparent in the social network diffusion work.

Generate evacuation metrics output file

Generate a custom evacuation metrics output file at the end of a simulation. This to avoid having to post-process large MATSim output event files which is resource intensive.

Fix coordinate system used in EES

From @dhixsingh on May 15, 2018 22:28

There are various sources of GIS information used in the EES and the projection used can vary quite a lot. At the moment, we try and convert things to latlon and/or utm, which is old legacy code and too vague.

  1. The simulation should have a global CRS setting, so that everything can be projected to that reference system as needed. This should go in the main config such as here:
    https://github.com/agentsoz/bdi-abm-integration/blob/8ee3d73975f68fae2833ff01ec8c64e01b93a06f/examples/bushfire/scenarios/mount-alexander-shire/maldon-600/scenario_main.xml#L32-L36

  2. Each input GIS data file should come with its associated CRS. Again allof these should probably be specified in the same top level config file such as:
    https://github.com/agentsoz/bdi-abm-integration/blob/8ee3d73975f68fae2833ff01ec8c64e01b93a06f/examples/bushfire/scenarios/mount-alexander-shire/maldon-600/scenario_main.xml#L62-L66

  3. The coordinate system scheme used should be EPSG; the old legacy latlong and utm should be removed;

  4. Wherever there is a need to convert from one CRS to the other, we should use the existing MATSim routines, i.e., something like:
    https://github.com/agentsoz/bdi-abm-integration/blob/ff47d996a8570b4ba57ccffd875f3cde9b858a50/integrations/bdi-matsim/src/main/java/io/github/agentsoz/bdimatsim/MATSimModel.java#L517-L518

Some things that will be impacted by this change include:

Fire data

We typically convert this into JSON format directly from the Phoenix shapefiles; the coordinate reference system (CRS) used is not always in the attributes table of the shapefile, so this data has to be augmented with CRS information somewhere. This seems to be done in the config such as here:

https://github.com/agentsoz/bdi-abm-integration/blob/8ee3d73975f68fae2833ff01ec8c64e01b93a06f/examples/bushfire/scenarios/mount-alexander-shire/maldon-600/scenario_main.xml#L62-L66

However this does not seem to be fully implemented.

Location data

Such as for evacuation destintations; supplied in the geography.xml; again an attempt to specify the CRS is in the XML such as:

https://github.com/agentsoz/bdi-abm-integration/blob/8ee3d73975f68fae2833ff01ec8c64e01b93a06f/examples/bushfire/scenarios/mount-alexander-shire/maldon-600/scenario_geography.xml#L63-L70

But this seems to be broken (note in the above example that the CRS latlong does not match the coordinates supplied which are in UTM).

MATSim CRS

Note that MATSim uses its own setting for the CRS (which will stay as is), such as here:
https://github.com/agentsoz/bdi-abm-integration/blob/8ee3d73975f68fae2833ff01ec8c64e01b93a06f/examples/bushfire/scenarios/mount-alexander-shire/maldon-600/scenario_matsim_main.xml#L29

Copied from original issue: agentsoz/bdi-abm-integration#34

[Newbie] Running mvn package

Hi there,
I have the following output while runing "mvn package".
Could you help me please?

Thanks!

C:\Users\Marcel\git\ees>mvn package
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for io.github.agentsoz:eeslib:jar:2.1.1-SNAPSHOT
[WARNING] 'build.plugins.plugin.(groupId:artifactId)' must be unique but found duplicate declaration of plugin org.apache.maven.plugins:maven-jar-plugin @ line 314, column 15
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
[INFO] Inspecting build with total of 12 modules...
[INFO] Installing Nexus Staging features:
[INFO] ... total of 10 executions of maven-deploy-plugin replaced with nexus-staging-maven-plugin
[INFO] Inspecting build with total of 12 modules...
[INFO] Not installing Nexus Staging features:
[INFO] * Preexisting staging related goal bindings found in 10 modules.
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] Diffusion Model [jar]
[INFO] io.github.agentsoz:jill-project [pom]
[INFO] io.github.agentsoz:jill [jar]
[INFO] io.github.agentsoz:jill-examples [jar]
[INFO] io.github.agentsoz:jill-extension-template [jar]
[INFO] BDI ABM Integration Project [pom]
[INFO] Util [jar]
[INFO] BDI ABM Integration [jar]
[INFO] ABM JILL Integration [jar]
[INFO] BDI MATSim Integration [jar]
[INFO] Emergency Evacuation Simulator Library [jar]
[INFO] Emergency Evacuation Simulator [pom]
[INFO]
[INFO] -----------------< io.github.agentsoz:diffusion-model >-----------------
[INFO] Building Diffusion Model 1.0.0-SNAPSHOT [1/12]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ diffusion-model ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory C:\Users\Marcel\git\ees\libs\diffusion-model\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ diffusion-model ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ diffusion-model ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory C:\Users\Marcel\git\ees\libs\diffusion-model\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ diffusion-model ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ diffusion-model ---
[INFO] Surefire report directory: C:\Users\Marcel\git\ees\libs\diffusion-model\target\surefire-reports


T E S T S

Running io.github.agentsoz.sn.TestCLTModel
15:44:21.340 [main] INFO - SNCONFIG: Loading configuration from 'case_studies/hawkesbury/testOverallConfig_hawkesbury.xml'
SNConfig: could not read from the node snModel null
15:44:21.382 [main] INFO - setting up agent map with actual coordinates.....
15:44:21.387 [main] DEBUG - test agent map size: 5
15:44:21.397 [main] INFO - diffusion turn = 7200
15:44:21.397 [main] INFO - diffusion strategy = prob
15:44:21.397 [main] INFO - diffusion threshold generation type = guassian
15:44:21.397 [main] INFO - standard deviation = 0.01
15:44:21.397 [main] INFO - wait seed = 50.45
15:44:21.397 [main] INFO - panic seed = 25.32
15:44:21.397 [main] INFO - wait threshold = 0.244
15:44:21.397 [main] INFO - panic threshold = 0.576
Tests run: 5, Failures: 0, Errors: 0, Skipped: 4, Time elapsed: 0.177 sec
Running io.github.agentsoz.sn.TestICModel
15:44:21.402 [main] INFO - SNCONFIG: Loading configuration from 'case_studies/hawkesbury/test_ICModel.xml'
SNConfig: could not read from the node snModel null
15:44:21.429 [main] INFO - verifying the updated agentmap.....
15:44:21.429 [main] INFO - verification - #links added to the agentList: 148
15:44:21.429 [main] INFO - verification - total link count in agentmaps : 296
15:44:21.429 [main] INFO - verification - alreadylinkedCount (check social agent neighbours) : 296
15:44:21.429 [main] INFO - verification - degree distribution
15:44:21.429 [main] INFO - normalising network - sum of weights less than or equal to 1
15:44:21.434 [main] INFO - network generation complete
15:44:21.444 [main] INFO - ic diffusion model generated
15:44:21.444 [main] INFO - All SN model componants generated completely
15:44:21.449 [main] INFO - SNCONFIG: Loading configuration from 'case_studies/hawkesbury/test_ICModel.xml'
SNConfig: could not read from the node snModel null
15:44:21.449 [main] INFO - verifying the updated agentmap.....
15:44:21.449 [main] INFO - verification - #links added to the agentList: 148
15:44:21.454 [main] INFO - verification - total link count in agentmaps : 296
15:44:21.454 [main] INFO - verification - alreadylinkedCount (check social agent neighbours) : 296
15:44:21.454 [main] INFO - verification - degree distribution
15:44:21.454 [main] INFO - normalising network - sum of weights less than or equal to 1
15:44:21.454 [main] INFO - network generation complete
15:44:21.454 [main] INFO - ic diffusion model generated
15:44:21.454 [main] INFO - All SN model componants generated completely
15:44:21.454 [main] INFO - IC model: registered content contentA of type local
15:44:21.454 [main] INFO - ICModel - random seed: set 53 agents for content contentA
15:44:21.459 [main] INFO - IC model: registered content contentX of type local
15:44:21.469 [main] INFO - SNCONFIG: Loading configuration from 'case_studies/hawkesbury/test_ICModel.xml'
SNConfig: could not read from the node snModel null
15:44:21.469 [main] INFO - SNCONFIG: Loading configuration from 'case_studies/hawkesbury/test_ICModel.xml'
SNConfig: could not read from the node snModel null
15:44:21.474 [main] INFO - verifying the updated agentmap.....
15:44:21.474 [main] INFO - verification - #links added to the agentList: 148
15:44:21.474 [main] INFO - verification - total link count in agentmaps : 296
15:44:21.474 [main] INFO - verification - alreadylinkedCount (check social agent neighbours) : 296
15:44:21.474 [main] INFO - verification - degree distribution
15:44:21.474 [main] INFO - normalising network - sum of weights less than or equal to 1
15:44:21.474 [main] INFO - network generation complete
15:44:21.474 [main] INFO - ic diffusion model generated
15:44:21.474 [main] INFO - All SN model componants generated completely
15:44:21.474 [main] INFO - sn model: network rand-reg | diffusion model ic
15:44:21.479 [main] INFO - LogFile: path ./test/output/diffusion.log | level i
15:44:21.479 [main] INFO - Dyanmic seed file: path ./test.txt
15:44:21.479 [main] INFO - RANDOM-REGULAR network configs:
15:44:21.479 [main] INFO - normalise network = true
15:44:21.479 [main] INFO - average links = 3
15:44:21.479 [main] INFO - IC MODEL configs:
15:44:21.479 [main] INFO - diffusion seed = 53.0
15:44:21.479 [main] INFO - diffusion turn = 36000
15:44:21.479 [main] INFO - diffusion strategy = random
15:44:21.479 [main] INFO - diffusion probability = 0.16
15:44:21.479 [main] INFO - standard deviation = 0.05
15:44:21.479 [main] INFO - IC model: registered content contentX of type local
15:44:21.479 [main] INFO - ICModel - random seed: set 15 agents for content contentX
15:44:21.479 [main] INFO - IC model: registered content contentY of type local
15:44:21.479 [main] INFO - ICModel - random seed: set 15 agents for content contentY
15:44:21.479 [main] INFO - total number of inactive agents: 55
15:44:21.479 [main] INFO - Content contentX : type: local active agents= 24 | exposed agents 43
15:44:21.479 [main] INFO - Content contentY : type: local active agents= 27 | exposed agents 41
15:44:21.479 [main] INFO - creating diffusion output file: ./test/output/diffusion.out
15:44:21.484 [main] INFO - SNCONFIG: Loading configuration from 'case_studies/hawkesbury/test_ICModel.xml'
SNConfig: could not read from the node snModel null
15:44:21.484 [main] INFO - verifying the updated agentmap.....
15:44:21.484 [main] INFO - verification - #links added to the agentList: 119
15:44:21.489 [main] INFO - verification - total link count in agentmaps : 238
15:44:21.489 [main] INFO - verification - alreadylinkedCount (check social agent neighbours) : 238
15:44:21.489 [main] INFO - verification - degree distribution
15:44:21.489 [main] INFO - normalising network - sum of weights less than or equal to 1
15:44:21.489 [main] INFO - network generation complete
15:44:21.489 [main] INFO - ic diffusion model generated
15:44:21.489 [main] INFO - All SN model componants generated completely
15:44:21.489 [main] INFO - IC model: registered content testContentX of type local
15:44:21.489 [main] INFO - ICModel - random seed: set 42 agents for content testContentX
15:44:21.489 [main] INFO - SNCONFIG: Loading configuration from 'case_studies/hawkesbury/test_ICModel.xml'
SNConfig: could not read from the node snModel null
15:44:21.489 [main] INFO - SNCONFIG: Loading configuration from 'case_studies/hawkesbury/test_ICModel.xml'
SNConfig: could not read from the node snModel null
15:44:21.494 [main] INFO - verifying the updated agentmap.....
15:44:21.494 [main] INFO - verification - #links added to the agentList: 148
15:44:21.494 [main] INFO - verification - total link count in agentmaps : 296
15:44:21.494 [main] INFO - verification - alreadylinkedCount (check social agent neighbours) : 296
15:44:21.494 [main] INFO - verification - degree distribution
15:44:21.494 [main] INFO - normalising network - sum of weights less than or equal to 1
15:44:21.494 [main] INFO - network generation complete
15:44:21.494 [main] INFO - ic diffusion model generated
15:44:21.494 [main] INFO - All SN model componants generated completely
15:44:21.494 [main] INFO - sn model: network rand-reg | diffusion model ic
15:44:21.494 [main] INFO - LogFile: path ./test/output/diffusion.log | level i
15:44:21.494 [main] INFO - Dyanmic seed file: path ./test.txt
15:44:21.494 [main] INFO - RANDOM-REGULAR network configs:
15:44:21.494 [main] INFO - normalise network = true
15:44:21.494 [main] INFO - average links = 3
15:44:21.494 [main] INFO - IC MODEL configs:
15:44:21.494 [main] INFO - diffusion seed = 53.0
15:44:21.494 [main] INFO - diffusion turn = 36000
15:44:21.499 [main] INFO - diffusion strategy = random
15:44:21.499 [main] INFO - diffusion probability = 0.16
15:44:21.499 [main] INFO - standard deviation = 0.05
15:44:21.499 [main] INFO - IC model: registered content contentX of type local
15:44:21.499 [main] INFO - ICModel - random seed: set 15 agents for content contentX
15:44:21.499 [main] INFO - IC model: registered content contentY of type local
15:44:21.499 [main] INFO - ICModel - random seed: set 15 agents for content contentY
15:44:21.499 [main] INFO - IC model: registered content evac-now of type global
15:44:21.499 [main] INFO - ICModel: broadcasting global messages to social agents
15:44:21.499 [main] INFO - diffusing global content: evac-now
15:44:21.499 [main] INFO - ICModel: broadcasting global messages to social agents
15:44:21.499 [main] INFO - total number of inactive agents: 0
15:44:21.499 [main] INFO - Content contentX : type: local active agents= 24 | exposed agents 43
15:44:21.499 [main] INFO - content type evac-now not found in exposed count map, probably global content, returning 0
15:44:21.499 [main] INFO - Content evac-now : type: global active agents= 100 | exposed agents 0
15:44:21.499 [main] INFO - Content contentY : type: local active agents= 27 | exposed agents 41
15:44:21.499 [main] INFO - creating diffusion output file: ./test/output/diffusion.out
Tests run: 8, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.09 sec
Running io.github.agentsoz.sn.TestLTModel
15:44:21.504 [main] INFO - SNCONFIG: Loading configuration from './case_studies/hawkesbury/hawkesbury.xml'
SNConfig: could not read from the node snModel null
15:44:21.509 [main] INFO - random agent map initialised: size 5
15:44:21.509 [main] INFO - SNCONFIG: Loading configuration from './case_studies/hawkesbury/hawkesbury.xml'
SNConfig: could not read from the node snModel null
15:44:21.509 [main] INFO - random agent map initialised: size 5
Tests run: 5, Failures: 0, Errors: 1, Skipped: 3, Time elapsed: 0.005 sec <<< FAILURE!
testInitActiveAgentsAndLtDiffuse(io.github.agentsoz.sn.TestLTModel) Time elapsed: 0.005 sec <<< ERROR!
java.lang.NumberFormatException: For input string: ",96"
at java.base/jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2054)
at java.base/jdk.internal.math.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.base/java.lang.Double.parseDouble(Double.java:549)
at java.base/java.lang.Double.valueOf(Double.java:512)
at io.github.agentsoz.socialnetwork.LTModel.assignRandomTresholds(LTModel.java:216)
at io.github.agentsoz.socialnetwork.LTModel.assignThresholds(LTModel.java:142)
at io.github.agentsoz.socialnetwork.LTModel.initialise(LTModel.java:77)
at io.github.agentsoz.sn.TestLTModel.testInitActiveAgentsAndLtDiffuse(TestLTModel.java:82)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)

Running io.github.agentsoz.sn.TestNormaliseWeights
15:44:21.514 [main] INFO - SNCONFIG: Loading configuration from './case_studies/hawkesbury/hawkesbury.xml'
SNConfig: could not read from the node snModel null
15:44:21.519 [main] INFO - SW network : distance: 1.0 | avg degree 3 | probability: 0.0
15:44:21.519 [main] INFO - starting neighbourhood creation process..........
15:44:21.519 [main] INFO - SW network size: 5 | link probability: 0.0
15:44:21.519 [main] INFO - verfication1 - total #links: 7 | rewired #links 0
15:44:21.519 [main] INFO - verfication2 - expected avg degree: 3 | generated avg degree: 2.8
15:44:21.519 [main] INFO - verfication3 - degree distribution:
15:44:21.519 [main] INFO - degree #nodes
15:44:21.519 [main] INFO - 0 0
15:44:21.519 [main] INFO - 1 0
15:44:21.519 [main] INFO - 2 1
15:44:21.519 [main] INFO - 3 4
15:44:21.519 [main] INFO - 4 0
15:44:21.519 [main] INFO - 5 0
15:44:21.519 [main] INFO - 6 0
15:44:21.519 [main] INFO - 6> 0
15:44:21.519 [main] WARN - 0 agents has a null neighbour list
15:44:21.519 [main] INFO - SW network size: 5 | link probability: 0.0
15:44:21.519 [main] INFO - verfication1 - total #links: 7 | rewired #links 0
15:44:21.519 [main] INFO - verfication2 - expected avg degree: 3 | generated avg degree: 2.8
15:44:21.519 [main] INFO - verfication3 - degree distribution:
15:44:21.519 [main] INFO - degree #nodes
15:44:21.519 [main] INFO - 0 0
15:44:21.519 [main] INFO - 1 0
15:44:21.519 [main] INFO - 2 1
15:44:21.519 [main] INFO - 3 4
15:44:21.524 [main] INFO - 4 0
15:44:21.524 [main] INFO - 5 0
15:44:21.524 [main] INFO - 6 0
15:44:21.524 [main] INFO - 6> 0
15:44:21.524 [main] WARN - 0 agents has a null neighbour list
15:44:21.524 [main] INFO - verifying the updated agentmap.....
15:44:21.524 [main] INFO - verification - #links added to the agentList: 7
15:44:21.524 [main] INFO - verification - total link count in agentmaps : 14
15:44:21.524 [main] INFO - verification - alreadylinkedCount (check social agent neighbours) : 14
15:44:21.524 [main] INFO - verification - degree distribution
15:44:21.524 [main] INFO - normalising network - sum of weights less than or equal to 1
agent map::
0 1 2 3 4
0 0 1 1 0 1
1 0 0 1 0 1
2 0 0 0 1 0
3 0 0 0 0 1
4 0 0 0 0 0
Tests run: 3, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 0.015 sec
Running io.github.agentsoz.sn.TestRandomNetworkModel
15:44:21.529 [main] INFO - SNCONFIG: Loading configuration from './case_studies/hawkesbury/hawkesbury.xml'
SNConfig: could not read from the node snModel null
15:44:21.529 [main] INFO - SNCONFIG: Loading configuration from './case_studies/hawkesbury/hawkesbury.xml'
SNConfig: could not read from the node snModel null
15:44:21.534 [main] INFO - verifying the updated agentmap.....
15:44:21.534 [main] INFO - verification - #links added to the agentList: 10
15:44:21.534 [main] INFO - verification - total link count in agentmaps : 20
15:44:21.534 [main] INFO - verification - alreadylinkedCount (check social agent neighbours) : 20
15:44:21.534 [main] INFO - verification - degree distribution
15:44:21.534 [main] INFO - network generation complete
15:44:21.534 [main] INFO - SNCONFIG: Loading configuration from './case_studies/hawkesbury/hawkesbury.xml'
SNConfig: could not read from the node snModel null
15:44:21.534 [main] INFO - verifying the updated agentmap.....
15:44:21.539 [main] INFO - verification - #links added to the agentList: 9
15:44:21.539 [main] INFO - verification - total link count in agentmaps : 18
15:44:21.539 [main] INFO - verification - alreadylinkedCount (check social agent neighbours) : 18
15:44:21.539 [main] INFO - verification - degree distribution
15:44:21.539 [main] INFO - normalising network - sum of weights less than or equal to 1
Tests run: 4, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 0.005 sec
Running io.github.agentsoz.sn.TestRandomRegularNetwork
15:44:21.539 [main] INFO - SNCONFIG: Loading configuration from './case_studies/hawkesbury/hawkesbury.xml'
SNConfig: could not read from the node snModel null
15:44:21.544 [main] INFO - setting up agent map with actual coordinates.....
node: 0 neighbour size: 2| 6 7
node: 1 neighbour size: 2| 8 2
node: 2 neighbour size: 2| 7 1
node: 3 neighbour size: 1| 5
node: 4 neighbour size: 1| 9
node: 5 neighbour size: 1| 3
node: 6 neighbour size: 2| 0 8
node: 7 neighbour size: 2| 0 2
node: 8 neighbour size: 2| 1 6
node: 9 neighbour size: 1| 4
Tests run: 3, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 0.005 sec
Running io.github.agentsoz.sn.TestSNModel
15:44:21.549 [main] INFO - SNCONFIG: Loading configuration from './case_studies/hawkesbury/test_ICModel.xml'
SNConfig: could not read from the node snModel null
15:44:21.554 [main] INFO - SNCONFIG: Loading configuration from './case_studies/hawkesbury/test_ICModel.xml'
SNConfig: could not read from the node snModel null
15:44:21.559 [main] INFO - verifying the updated agentmap.....
15:44:21.559 [main] INFO - verification - #links added to the agentList: 1500
15:44:21.609 [main] INFO - verification - total link count in agentmaps : 3000
15:44:21.609 [main] INFO - verification - alreadylinkedCount (check social agent neighbours) : 3000
15:44:21.609 [main] INFO - verification - degree distribution
15:44:21.609 [main] INFO - normalising network - sum of weights less than or equal to 1
15:44:21.609 [main] INFO - network generation complete
15:44:21.609 [main] INFO - ic diffusion model generated
15:44:21.609 [main] INFO - All SN model componants generated completely
15:44:21.609 [main] INFO - sn model: network rand-reg | diffusion model ic
15:44:21.614 [main] INFO - LogFile: path ./test/output/diffusion.log | level i
15:44:21.614 [main] INFO - Dyanmic seed file: path ./test.txt
15:44:21.614 [main] INFO - RANDOM-REGULAR network configs:
15:44:21.614 [main] INFO - normalise network = true
15:44:21.614 [main] INFO - average links = 3
15:44:21.614 [main] INFO - IC MODEL configs:
15:44:21.614 [main] INFO - diffusion seed = 53.0
15:44:21.614 [main] INFO - diffusion turn = 36000
15:44:21.614 [main] INFO - diffusion strategy = random
15:44:21.614 [main] INFO - diffusion probability = 0.16
15:44:21.614 [main] INFO - standard deviation = 0.05
15:44:21.614 [main] INFO - IC model: registered content contentX of type local
15:44:21.614 [main] INFO - ICModel - random seed: set 530 agents for content contentX
15:44:21.629 [main] INFO - total number of inactive agents: 334
15:44:21.634 [main] INFO - Content contentX : type: local active agents= 666 | exposed agents 641
15:44:21.634 [main] INFO - creating diffusion output file: ./test/output/diffusion.out
Tests run: 3, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 0.08 sec
Running io.github.agentsoz.sn.TestSWNetworkModel
15:44:21.634 [main] INFO - SNCONFIG: Loading configuration from './case_studies/hawkesbury/hawkesbury.xml'
SNConfig: could not read from the node snModel null
15:44:21.639 [main] INFO - setting up agent map with actual coordinates.....
15:44:21.659 [main] INFO - SW network : distance: 2.0 | avg degree 5 | probability: 0.1
15:44:21.659 [main] INFO - starting neighbourhood creation process..........
15:44:21.809 [main] INFO - starting link re-wiring process..........
15:44:21.819 [main] INFO - SW network size: 2000 | link probability: 0.1
15:44:21.819 [main] INFO - verfication1 - total #links: 4943 | rewired #links 525
15:44:21.819 [main] INFO - verfication2 - expected avg degree: 5 | generated avg degree: 4.943
15:44:21.819 [main] INFO - verfication3 - degree distribution:
15:44:21.819 [main] INFO - degree #nodes
15:44:21.819 [main] INFO - 0 0
15:44:21.819 [main] INFO - 1 3
15:44:21.819 [main] INFO - 2 8
15:44:21.819 [main] INFO - 3 5
15:44:21.819 [main] INFO - 4 24
15:44:21.819 [main] INFO - 5 134
15:44:21.819 [main] INFO - 6 26
15:44:21.819 [main] INFO - 6> 2
15:44:21.819 [main] WARN - 1798 agents has a null neighbour list
15:44:21.824 [main] INFO - SNCONFIG: Loading configuration from './case_studies/hawkesbury/hawkesbury.xml'
SNConfig: could not read from the node snModel null
15:44:21.824 [main] INFO - setting up agent map with actual coordinates.....
15:44:21.839 [main] INFO - SNCONFIG: Loading configuration from './case_studies/hawkesbury/hawkesbury.xml'
SNConfig: could not read from the node snModel null
15:44:21.839 [main] INFO - setting up agent map with actual coordinates.....
15:44:21.844 [main] INFO - SW network : distance: 2.0 | avg degree 2 | probability: 1.0
15:44:21.844 [main] INFO - starting neighbourhood creation process..........
15:44:21.844 [main] INFO - SW network size: 100 | link probability: 1.0
15:44:21.844 [main] INFO - verfication1 - total #links: 95 | rewired #links 0
15:44:21.844 [main] INFO - verfication2 - expected avg degree: 2 | generated avg degree: 1.9
15:44:21.844 [main] INFO - verfication3 - degree distribution:
15:44:21.844 [main] INFO - degree #nodes
15:44:21.844 [main] INFO - 0 1
15:44:21.844 [main] INFO - 1 0
15:44:21.844 [main] INFO - 2 2
15:44:21.844 [main] INFO - 3 0
15:44:21.844 [main] INFO - 4 0
15:44:21.844 [main] INFO - 5 0
15:44:21.844 [main] INFO - 6 0
15:44:21.844 [main] INFO - 6> 0
15:44:21.844 [main] WARN - 97 agents has a null neighbour list
15:44:21.844 [main] INFO - starting link re-wiring process..........
15:44:21.849 [main] INFO - SW network size: 100 | link probability: 1.0
15:44:21.849 [main] INFO - verfication1 - total #links: 95 | rewired #links 95
15:44:21.849 [main] INFO - verfication2 - expected avg degree: 2 | generated avg degree: 1.9
15:44:21.849 [main] INFO - verfication3 - degree distribution:
15:44:21.849 [main] INFO - degree #nodes
15:44:21.849 [main] INFO - 0 0
15:44:21.849 [main] INFO - 1 2
15:44:21.849 [main] INFO - 2 0
15:44:21.849 [main] INFO - 3 0
15:44:21.849 [main] INFO - 4 1
15:44:21.849 [main] INFO - 5 0
15:44:21.849 [main] INFO - 6 0
15:44:21.849 [main] INFO - 6> 0
15:44:21.849 [main] WARN - 97 agents has a null neighbour list
15:44:21.849 [main] INFO - verifying the updated agentmap.....
15:44:21.849 [main] INFO - verification - #links added to the agentList: 95
15:44:21.849 [main] INFO - verification - total link count in agentmaps : 190
15:44:21.849 [main] INFO - verification - alreadylinkedCount (check social agent neighbours) : 190
15:44:21.849 [main] INFO - verification - degree distribution
15:44:21.854 [main] INFO - SNCONFIG: Loading configuration from './case_studies/hawkesbury/hawkesbury.xml'
SNConfig: could not read from the node snModel null
15:44:21.854 [main] INFO - setting up agent map with actual coordinates.....
15:44:21.864 [main] INFO - SW network : distance: 0.5 | avg degree 6 | probability: 1.0
15:44:21.864 [main] INFO - starting neighbourhood creation process..........
15:44:21.934 [main] INFO - SW network size: 2000 | link probability: 1.0
15:44:21.934 [main] INFO - verfication1 - total #links: 4601 | rewired #links 0
15:44:21.934 [main] INFO - verfication2 - expected avg degree: 6 | generated avg degree: 4.601
15:44:21.934 [main] INFO - verfication3 - degree distribution:
15:44:21.934 [main] INFO - degree #nodes
15:44:21.934 [main] INFO - 0 34
15:44:21.934 [main] INFO - 1 32
15:44:21.934 [main] INFO - 2 37
15:44:21.934 [main] INFO - 3 39
15:44:21.934 [main] INFO - 4 28
15:44:21.934 [main] INFO - 5 17
15:44:21.934 [main] INFO - 6 15
15:44:21.934 [main] INFO - 6> 0
15:44:21.934 [main] WARN - 1798 agents has a null neighbour list
15:44:21.939 [main] INFO - starting link re-wiring process..........
15:44:21.954 [main] INFO - SW network size: 2000 | link probability: 1.0
15:44:21.954 [main] INFO - verfication1 - total #links: 4601 | rewired #links 4601
15:44:21.954 [main] INFO - verfication2 - expected avg degree: 6 | generated avg degree: 4.601
15:44:21.954 [main] INFO - verfication3 - degree distribution:
15:44:21.954 [main] INFO - degree #nodes
15:44:21.954 [main] INFO - 0 1
15:44:21.954 [main] INFO - 1 19
15:44:21.954 [main] INFO - 2 33
15:44:21.954 [main] INFO - 3 40
15:44:21.954 [main] INFO - 4 36
15:44:21.954 [main] INFO - 5 25
15:44:21.954 [main] INFO - 6 24
15:44:21.954 [main] INFO - 6> 24
15:44:21.954 [main] WARN - 1798 agents has a null neighbour list
15:44:21.954 [main] INFO - verifying the updated agentmap.....
15:44:21.954 [main] INFO - verification - #links added to the agentList: 4601
15:44:22.194 [main] INFO - verification - total link count in agentmaps : 9202
15:44:22.194 [main] INFO - verification - alreadylinkedCount (check social agent neighbours) : 9202
15:44:22.194 [main] INFO - verification - degree distribution
15:44:22.199 [main] INFO - normalising network - sum of weights less than or equal to 1
15:44:22.199 [main] INFO - network generation complete
15:44:22.199 [main] INFO - SNCONFIG: Loading configuration from './case_studies/hawkesbury/hawkesbury.xml'
SNConfig: could not read from the node snModel null
15:44:22.204 [main] INFO - setting up agent map with actual coordinates.....
15:44:22.204 [main] INFO - SNCONFIG: Loading configuration from './case_studies/hawkesbury/hawkesbury.xml'
SNConfig: could not read from the node snModel null
15:44:22.209 [main] INFO - setting up agent map with actual coordinates.....
15:44:22.209 [main] INFO - SW network : distance: 4.0 | avg degree 5 | probability: 1.0
15:44:22.209 [main] INFO - starting neighbourhood creation process..........
15:44:22.209 [main] INFO - SW network size: 100 | link probability: 1.0
15:44:22.209 [main] INFO - verfication1 - total #links: 236 | rewired #links 0
15:44:22.209 [main] INFO - verfication2 - expected avg degree: 5 | generated avg degree: 4.72
15:44:22.214 [main] INFO - verfication3 - degree distribution:
15:44:22.214 [main] INFO - degree #nodes
15:44:22.214 [main] INFO - 0 0
15:44:22.214 [main] INFO - 1 0
15:44:22.214 [main] INFO - 2 0
15:44:22.214 [main] INFO - 3 3
15:44:22.214 [main] INFO - 4 0
15:44:22.214 [main] INFO - 5 0
15:44:22.214 [main] INFO - 6 0
15:44:22.214 [main] INFO - 6> 0
15:44:22.214 [main] WARN - 97 agents has a null neighbour list
15:44:22.214 [main] INFO - starting link re-wiring process..........
15:44:22.214 [main] INFO - SW network size: 100 | link probability: 1.0
15:44:22.214 [main] INFO - verfication1 - total #links: 236 | rewired #links 236
15:44:22.214 [main] INFO - verfication2 - expected avg degree: 5 | generated avg degree: 4.72
15:44:22.214 [main] INFO - verfication3 - degree distribution:
15:44:22.214 [main] INFO - degree #nodes
15:44:22.214 [main] INFO - 0 0
15:44:22.214 [main] INFO - 1 0
15:44:22.214 [main] INFO - 2 0
15:44:22.214 [main] INFO - 3 1
15:44:22.214 [main] INFO - 4 1
15:44:22.214 [main] INFO - 5 1
15:44:22.214 [main] INFO - 6 0
15:44:22.214 [main] INFO - 6> 0
15:44:22.214 [main] WARN - 97 agents has a null neighbour list
15:44:22.214 [main] INFO - verifying the updated agentmap.....
15:44:22.214 [main] INFO - verification - #links added to the agentList: 236
15:44:22.214 [main] INFO - verification - total link count in agentmaps : 472
15:44:22.219 [main] INFO - verification - alreadylinkedCount (check social agent neighbours) : 472
15:44:22.219 [main] INFO - verification - degree distribution
15:44:22.219 [main] INFO - normalising network - sum of weights less than or equal to 1
Tests run: 5, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.585 sec
Running io.github.agentsoz.sn.TestUtils
Tests run: 2, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 0 sec

Results :

Tests in error:
testInitActiveAgentsAndLtDiffuse(io.github.agentsoz.sn.TestLTModel): For input string: ",96"

Tests run: 38, Failures: 0, Errors: 1, Skipped: 19

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Diffusion Model 1.0.0-SNAPSHOT ..................... FAILURE [ 2.278 s]
[INFO] io.github.agentsoz:jill-project 0.4.1-SNAPSHOT ..... SKIPPED
[INFO] io.github.agentsoz:jill 0.4.1-SNAPSHOT ............. SKIPPED
[INFO] io.github.agentsoz:jill-examples 0.4.1-SNAPSHOT .... SKIPPED
[INFO] io.github.agentsoz:jill-extension-template 0.4.1-SNAPSHOT SKIPPED
[INFO] BDI ABM Integration Project 3.0.1-SNAPSHOT ......... SKIPPED
[INFO] Util 3.0.1-SNAPSHOT ................................ SKIPPED
[INFO] BDI ABM Integration 3.0.1-SNAPSHOT ................. SKIPPED
[INFO] ABM JILL Integration 3.0.1-SNAPSHOT ................ SKIPPED
[INFO] BDI MATSim Integration 3.0.1-SNAPSHOT .............. SKIPPED
[INFO] Emergency Evacuation Simulator Library 2.1.1-SNAPSHOT SKIPPED
[INFO] Emergency Evacuation Simulator 2.1.1-SNAPSHOT ...... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.017 s
[INFO] Finished at: 2021-10-15T15:44:22+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (default-test) on project diffusion-model: There are test failures.
[ERROR]
[ERROR] Please refer to C:\Users\Marcel\git\ees\libs\diffusion-model\target\surefire-reports for the individual test results.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

C:\Users\Marcel\git\ees>

Use agentsoz dependencies as submodules

Currently the build can break if one of the agenstoz dependency repositories is updated. To prevent that, those repositories should be included as submodules so that there is better control on the versions being built and included.

Agents skipping initial response

From @osbornejr on August 24, 2018 2:41

When testing behaviours I noticed that a resident with a dependent who had both their thresholds met simultaneously could potentially skip the INITIAL_RESPONSE step and jump straight to the ActNow plan options. This is a major issue because it means that the resident ignores their dependent and just evacuates.

To reproduce, see that as of 4ba84c50571bf7b8aea3135bef07f0482dada4e2 SurfCoastPopulationSubgroupSampleTest resident 3 has this behaviour. Here is their jill.out output:

Time -0001 Resident 3 : memory:-1:BELIEVED:DEPENDENTS_INFO:(Dependent, coords=778707.91,5745384.49), last visited at time=-1.0 Time 45002 Resident 3 : memory:45002:PERCEIVED:emergency_message:ADVICE,Emergency services are attending to a fire north of Anglesea Time 45002 Resident 3 : memory:45002:BELIEVED:RESPONSE_BAROMETER_MESSAGES_CHANGED=0.1 Time 50402 Resident 3 : memory:50402:PERCEIVED:emergency_message:ADVICE,13 vehicles are attending to the fire north of Anglesea Time 50402 Resident 3 : memory:50402:BELIEVED:RESPONSE_BAROMETER_MESSAGES_CHANGED=0.1 Time 52251 Resident 3 : memory:52251:PERCEIVED:field_of-view:sighted_embers Time 52251 Resident 3 : memory:52251:BELIEVED:RESPONSE_BAROMETER_FIELD_OF_VIEW_CHANGED=0.3 Time 52251 Resident 3 : memory:52251:DECIDED:INITIAL_RESPONSE_THRESHOLD_BREACHED Time 52251 Resident 3 : memory:52251:DECIDED:FINAL_RESPONSE_THRESHOLD_BREACHED Time 52251 Resident 3 : memory:52251:DECIDED:INITIAL_AND_FINAL_RESPONSE_THRESHOLDS_BREACHED_TOGETHER Time 52251 Resident 3 : memory:52251:DECIDED:TRIGGER_INITIAL_RESPONSE_NOW Time 52251 Resident 3 : memory:52251:DECIDED:TRIGGER_FINAL_RESPONSE_NOW Time 52251 Resident 3 : memory:52251:DECIDED:IS_PLAN_APPLICABLE:ActNow|PlanGoHomeThenLeave=false Time 52251 Resident 3 : memory:52251:DECIDED:IS_PLAN_APPLICABLE:ActNow|PlanLeaveNow=true Time 52251 Resident 3 : memory:52251:DECIDED:IS_PLAN_APPLICABLE:ActNow|PlanDoNothing=true Time 52251 Resident 3 : memory:52251:DECIDED:IS_PLAN_APPLICABLE:GoalGotoEvacPlace|PlanGotoEvacPlace=true Time 52251 Resident 3 : memory:52251:DECIDED:GOTO_LOCATION:(Torquay Foreshore, coords=790771.0,5752462.0) Time 52251 Resident 3 : memory:52251:ACTIONED:drive_to:(Torquay Foreshore, coords=790771.0,5752462.0):18408m away Time 53103 Resident 3 : memory:53103:PERCEIVED:field_of-view:sighted_embers Time 53901 Resident 3 : memory:53901:PERCEIVED:arrived:41943-41945-41947-41949-41951-41953-41955-41957-41959-41961-41963-41965-41967-41969-41971 Time 53901 Resident 3 : memory:53901:BELIEVED:LAST_ENV_ACTION_STATE=PASSED Time 53901 Resident 3 : memory:53901:BELIEVED:DISTANCE_TO_LOCATION:(Torquay Foreshore, coords=790771.0,5752462.0):0m Time 53901 Resident 3 : memory:53901:BELIEVED:SAFE Time 53901 Resident 3 : memory:53901:DECIDED:IS_PLAN_APPLICABLE:ActNow|PlanGoHomeThenLeave=false Time 53901 Resident 3 : memory:53901:DECIDED:IS_PLAN_APPLICABLE:ActNow|PlanLeaveNow=true Time 53901 Resident 3 : memory:53901:DECIDED:IS_PLAN_APPLICABLE:ActNow|PlanDoNothing=true Time 53901 Resident 3 : memory:53901:DECIDED:IS_PLAN_APPLICABLE:GoalGotoEvacPlace|PlanGotoEvacPlace=true Time 53901 Resident 3 : memory:53901:DECIDED:GOTO_LOCATION:(Torquay Foreshore, coords=790771.0,5752462.0) Time 53901 Resident 3 : memory:53901:BELIEVED:DISTANCE_TO_LOCATION:(Torquay Foreshore, coords=790771.0,5752462.0):0m Time 53901 Resident 3 : memory:53901:BELIEVED:SAFE Time 64805 Resident 3 : memory:64805:PERCEIVED:field_of-view:sighted_embers Time 65710 Resident 3 : memory:65710:PERCEIVED:field_of-view:sighted_embers Time 66605 Resident 3 : memory:66605:PERCEIVED:field_of-view:sighted_embers Time 67511 Resident 3 : memory:67511:PERCEIVED:field_of-view:sighted_embers Time 68402 Resident 3 : memory:68402:PERCEIVED:field_of-view:sighted_embers Time 69318 Resident 3 : memory:69318:PERCEIVED:field_of-view:sighted_embers Time 70205 Resident 3 : memory:70205:PERCEIVED:field_of-view:sighted_embers Time 71109 Resident 3 : memory:71109:PERCEIVED:field_of-view:sighted_embers Time 72018 Resident 3 : memory:72018:PERCEIVED:field_of-view:sighted_embers Time 72916 Resident 3 : memory:72916:PERCEIVED:field_of-view:sighted_embers Time 73816 Resident 3 : memory:73816:PERCEIVED:field_of-view:sighted_embers Time 74710 Resident 3 : memory:74710:PERCEIVED:field_of-view:sighted_embers Time 75602 Resident 3 : memory:75602:PERCEIVED:field_of-view:sighted_embers Time 76507 Resident 3 : memory:76507:PERCEIVED:field_of-view:sighted_embers Time 77511 Resident 3 : memory:77511:PERCEIVED:field_of-view:sighted_embers Time 78304 Resident 3 : memory:78304:PERCEIVED:field_of-view:sighted_embers

Copied from original issue: agentsoz/bdi-abm-integration#68

Make ZoneID column name configurable

The ZoneID column name is hardcoded and should instead be a configurable string.

for (JSONObject feature : (Iterable<JSONObject>) features) {
JSONObject properties = (JSONObject) feature.get("properties");
String zoneId = (properties.get("SA1_MAIN11") != null) ?
(String) properties.get("SA1_MAIN11") :
(String) properties.get("SA1_MAIN16");
if (zoneId == null) {
logger.warn("Feature has no property named SA1_MAIN11 or SA1_MAIN16; discarding");
continue;
}

Select dependent location based on locality

Currently in BDI_attributes.R the location for a dependent is selected randomly from within a 20 km radius of the agent's home. This should be updated to use the same locality method that the plan algorithm uses.

Ideally this can also happen for invac and evac options, i.e. invac options are always within locality, and evac options are not.

Requires home locality to be ported from plan-algorithm, or potentially some other mechanism to identify an x-y coordinate's locality.

MATSim agents in stuckAndAbort not properly handled

MATSim agents that enter the stuckAndAbort state are removed from the list of active agents in qsim. This can cause all kinds of side effects if those agents have BDI counterparts. This is because the BDI code assumes that the MATSim counterpart configured at startup will always be available for the duration of the simulation. If that agent suddenly becomes null, we end up with all kinds of runtime errors.

The solution is to handle the MATSim PersonStuckEvent and sync the BDI counterpart and make it thereafter dormant.

Threading issue with BDI action/percept interaction with MATSim

From @dhixsingh on January 21, 2018 21:20

Occurred on Travis build 387 running master commit 181b4900e05a10d9adeae2bb650e3be92f841938.

When I re-ran the build on Travis it passed! So this is very much a threading problem.

/cc @kainagel

Running io.github.agentsoz.ees.MainMaldon600Test
called with args=
--config
scenarios/maldon-2017-11-01/scenario_main.xml
--logfile
scenarios/maldon-2017-11-01/scenario.log
--loglevel
INFO
--seed
12345
--safeline-output-file-pattern
scenarios/campbells-creek/safeline.%d%.out
--matsim-output-directory
test/output/io/github/agentsoz/ees/MainMaldon600Test/testMaldon600/
--setup
withoutFireArea
--jillconfig
--config={agents:[{classname:io.github.agentsoz.ees.agents.Resident, args:null, count:600}],logLevel: WARN,logFile: "scenarios/maldon-2017-11-01/jill.log",programOutputFile: "scenarios/maldon-2017-11-01/jill.out",randomSeed: 12345}
02:53:07,646 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
02:53:07,646 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
02:53:07,646 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/home/travis/build/agentsoz/bdi-abm-integration/examples/bushfire/target/classes/logback.xml]
02:53:07,699 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
02:53:07,705 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
02:53:07,713 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT]
02:53:07,768 |-WARN in ch.qos.logback.core.ConsoleAppender[STDOUT] - This appender no longer admits a layout as a sub-component, set an encoder instead.
02:53:07,768 |-WARN in ch.qos.logback.core.ConsoleAppender[STDOUT] - To ensure compatibility, wrapping your layout in LayoutWrappingEncoder.
02:53:07,768 |-WARN in ch.qos.logback.core.ConsoleAppender[STDOUT] - See also http://logback.qos.ch/codes.html#layoutInsteadOfEncoder for details
02:53:07,768 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
02:53:07,768 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDERR]
02:53:07,769 |-WARN in ch.qos.logback.core.ConsoleAppender[STDERR] - This appender no longer admits a layout as a sub-component, set an encoder instead.
02:53:07,769 |-WARN in ch.qos.logback.core.ConsoleAppender[STDERR] - To ensure compatibility, wrapping your layout in LayoutWrappingEncoder.
02:53:07,769 |-WARN in ch.qos.logback.core.ConsoleAppender[STDERR] - See also http://logback.qos.ch/codes.html#layoutInsteadOfEncoder for details
02:53:07,773 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO
02:53:07,773 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ROOT]
02:53:07,774 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDERR] to Logger[ROOT]
02:53:07,774 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
02:53:07,775 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@4f063c0a - Registering current configuration as safe fallback point

2018-01-21 02:53:07 [main] WARN  Main.start(97) - setup=withoutFireArea
2018-01-21 02:53:07 [main] WARN  Main.start(97) - setup=withoutFireArea
2018-01-21 02:53:07 [main] INFO  SimpleConfig.readConfig(181) - Loading configuration from 'scenarios/maldon-2017-11-01/scenario_main.xml'
2018-01-21 02:53:07 [main] INFO  SimpleConfig.readGeography(248) - Loading geography from 'scenarios/maldon-2017-11-01/scenario_geography.xml'
2018-01-21 02:53:07 [main] INFO  PhoenixFireModule.loadGeoJson(69) - Loading GeoJSON fire file: scenarios/maldon-2017-11-01/scenario_fire.json
2018-53-21 02:53:07 [main]  INFO Config.java:563 setting context to [file:/home/travis/build/agentsoz/bdi-abm-integration/examples/bushfire/]
2018-53-21 02:53:08 [main]  INFO MatsimXmlParser.java:155 starting to parse xml from url file:/home/travis/build/agentsoz/bdi-abm-integration/examples/bushfire/scenarios/maldon-2017-11-01/scenario_matsim_main.xml ...
2018-53-21 02:53:08 [main]  INFO ConfigReader.java:98 using config_v1-reader.
2018-53-21 02:53:08 [main]  INFO MatsimXmlParser.java:306 Using local DTD from classpath:dtd/config_v1.dtd
2018-53-21 02:53:08 [main]  INFO GlobalConfigGroup.java:71 setting number of threads to: 1
2018-53-21 02:53:08 [main]  WARN PlanCalcScoreConfigGroup$ActivityParams.java:744 Setting minimalDuration different from zero is discouraged.  It is probably implemented correctly, but there is as of now no indication that it makes the results more realistic.  KN, Sep'08 This message given only once.
2018-53-21 02:53:08 [main]  INFO Config.java:563 setting context to [file:/home/travis/build/agentsoz/bdi-abm-integration/examples/bushfire/scenarios/maldon-2017-11-01/scenario_matsim_main.xml]
2018-01-21 02:53:08 [main] INFO  MATSimModel.parseAdditionalArguments(421) - setting matsim output directory to test/output/io/github/agentsoz/ees/MainMaldon600Test/testMaldon600/
2018-53-21 02:53:08 [main]  INFO Config.java:563 setting context to [file:/home/travis/build/agentsoz/bdi-abm-integration/examples/bushfire/]
2018-53-21 02:53:08 [main]  INFO ScenarioLoaderImpl.java:108 loading scenario from base directory: /home/travis/build/agentsoz/bdi-abm-integration/examples/bushfire/
2018-53-21 02:53:08 [main]  INFO ScenarioLoaderImpl.java:130 loading network from file:/home/travis/build/agentsoz/bdi-abm-integration/examples/bushfire/scenarios/maldon-2017-11-01/scenario_matsim_network.xml.gz
2018-53-21 02:53:08 [main]  INFO MatsimXmlParser.java:155 starting to parse xml from url file:/home/travis/build/agentsoz/bdi-abm-integration/examples/bushfire/scenarios/maldon-2017-11-01/scenario_matsim_network.xml.gz ...
2018-53-21 02:53:08 [main]  INFO MatsimNetworkReader.java:90 using network_v1-reader.
2018-53-21 02:53:08 [main]  INFO MatsimXmlParser.java:306 Using local DTD from classpath:dtd/network_v1.dtd
2018-53-21 02:53:08 [main]  INFO NetworkImpl.java:159  node # 1
2018-53-21 02:53:08 [main]  INFO NetworkImpl.java:159  node # 4
2018-53-21 02:53:08 [main]  INFO NetworkImpl.java:159  node # 16
2018-53-21 02:53:08 [main]  INFO NetworkImpl.java:159  node # 64
2018-53-21 02:53:08 [main]  INFO NetworkImpl.java:159  node # 256
2018-53-21 02:53:08 [main]  INFO NetworkImpl.java:159  node # 1024
2018-53-21 02:53:08 [main]  INFO NetworkImpl.java:159  node # 4096
2018-53-21 02:53:08 [main]  INFO NetworkImpl.java:159  node # 16384
2018-53-21 02:53:08 [main]  INFO NetworkImpl.java:155  link # 1
2018-53-21 02:53:08 [main]  INFO NetworkImpl.java:155  link # 4
2018-53-21 02:53:08 [main]  INFO NetworkImpl.java:155  link # 16
2018-53-21 02:53:08 [main]  INFO NetworkImpl.java:155  link # 64
2018-53-21 02:53:08 [main]  INFO NetworkImpl.java:155  link # 256
2018-53-21 02:53:08 [main]  INFO NetworkImpl.java:155  link # 1024
2018-53-21 02:53:08 [main]  INFO NetworkImpl.java:155  link # 4096
2018-53-21 02:53:09 [main]  INFO NetworkImpl.java:155  link # 16384
2018-53-21 02:53:09 [main]  INFO NetworkImpl.java:155  link # 65536
2018-53-21 02:53:09 [main]  INFO ScenarioLoaderImpl.java:148 loading network change events from /home/travis/build/agentsoz/bdi-abm-integration/examples/bushfire/scenarios/maldon-2017-11-01/scenario_matsim_network_change_events.xml
2018-53-21 02:53:09 [main]  INFO MatsimXmlParser.java:155 starting to parse xml from url file:/home/travis/build/agentsoz/bdi-abm-integration/examples/bushfire/scenarios/maldon-2017-11-01/scenario_matsim_network_change_events.xml ...
2018-53-21 02:53:09 [main]  INFO MatsimXmlParser.java:306 Using local DTD from classpath:dtd/networkChangeEvents.xsd
2018-53-21 02:53:10 [main]  INFO MatsimXmlParser.java:306 Using local DTD from classpath:dtd/matsimCommon.xsd
2018-53-21 02:53:10 [main]  INFO ScenarioLoaderImpl.java:182 no facilities file set in config, therefore not loading any facilities.  This is not a problem except if you are using facilities
2018-53-21 02:53:10 [main]  INFO ScenarioLoaderImpl.java:192 no facility-attributes file set in config, not loading any facility attributes
2018-53-21 02:53:10 [main]  INFO ScenarioLoaderImpl.java:199 loading population from file:/home/travis/build/agentsoz/bdi-abm-integration/examples/bushfire/scenarios/maldon-2017-11-01/scenario_matsim_plans.xml
2018-53-21 02:53:10 [main]  INFO MatsimXmlParser.java:155 starting to parse xml from url file:/home/travis/build/agentsoz/bdi-abm-integration/examples/bushfire/scenarios/maldon-2017-11-01/scenario_matsim_plans.xml ...
2018-53-21 02:53:10 [main]  INFO PopulationReader.java:116 using population_v5-reader.
2018-53-21 02:53:10 [main]  INFO MatsimXmlParser.java:306 Using local DTD from classpath:dtd/population_v5.dtd
2018-53-21 02:53:10 [main]  INFO PopulationImpl.java:112  person # 1
2018-53-21 02:53:10 [main]  INFO PopulationImpl.java:112  person # 4
2018-53-21 02:53:10 [main]  INFO PopulationImpl.java:112  person # 16
2018-53-21 02:53:10 [main]  INFO PopulationImpl.java:112  person # 64
2018-53-21 02:53:10 [main]  INFO PopulationImpl.java:112  person # 256
2018-53-21 02:53:10 [main]  INFO PopulationUtils.java:992  person # 600
2018-53-21 02:53:10 [main]  INFO ScenarioLoaderImpl.java:235 no person-attributes file set in config, not loading any person attributes
2018-53-21 02:53:10 [main]  INFO ScenarioLoaderImpl.java:247 no households file set in config, not loading households
2018-53-21 02:53:10 [main]  INFO ScenarioLoaderImpl.java:258 no household-attributes file set in config, not loading any household attributes
2018-53-21 02:53:10 [main]  INFO ScenarioLoaderImpl.java:284 no transit schedule file set in config, not loading any transit schedule
2018-53-21 02:53:10 [main]  INFO ScenarioLoaderImpl.java:311 no transit vehicles file set in config, not loading any transit vehicles
2018-53-21 02:53:11 [Thread-2]  WARN SimStepParallelEventsManagerImpl.java:79 number of threads=1
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:144 adding Event-Handler: org.matsim.core.trafficmonitoring.TravelTimeCalculator
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.LinkEnterEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.LinkEnterEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.LinkLeaveEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.LinkLeaveEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.VehicleEntersTrafficEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.VehicleEntersTrafficEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.VehicleLeavesTrafficEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.VehicleLeavesTrafficEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.api.experimental.events.handler.VehicleArrivesAtFacilityEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.core.api.experimental.events.VehicleArrivesAtFacilityEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.VehicleAbortsEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.VehicleAbortsEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:156 
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:144 adding Event-Handler: org.matsim.core.trafficmonitoring.TravelTimeCalculator
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.LinkEnterEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.LinkEnterEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.LinkLeaveEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.LinkLeaveEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.VehicleEntersTrafficEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.VehicleEntersTrafficEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.VehicleLeavesTrafficEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.VehicleLeavesTrafficEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.api.experimental.events.handler.VehicleArrivesAtFacilityEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.core.api.experimental.events.VehicleArrivesAtFacilityEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.VehicleAbortsEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.VehicleAbortsEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:156 
2018-53-21 02:53:11 [Thread-2]  INFO StrategyManager.java:59 global innovation switch off after iteration: 0
2018-53-21 02:53:11 [Thread-2]  INFO GenericStrategyManager.java:315 added change request:  iteration=1 newWeight=0.0 strategy=RandomPlanSelector_ReRoute
2018-53-21 02:53:11 [Thread-2]  INFO GenericStrategyManager.java:315 added change request:  iteration=1 newWeight=0.0 strategy=RandomPlanSelector_TimeAllocationMutator
2018-53-21 02:53:11 [Thread-2]  INFO GenericStrategyManager.java:347 setting PlanSelectorForRemoval to class org.matsim.core.replanning.selectors.WorstPlanForRemovalSelector
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:144 adding Event-Handler: org.matsim.core.scoring.EventsToActivities
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.ActivityStartEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.ActivityStartEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.ActivityEndEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.ActivityEndEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:156 
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:144 adding Event-Handler: org.matsim.core.scoring.EventsToActivities
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.ActivityStartEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.ActivityStartEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.ActivityEndEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.ActivityEndEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:156 
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:144 adding Event-Handler: org.matsim.core.scoring.EventsToLegs
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonDepartureEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonDepartureEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonArrivalEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonArrivalEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.LinkLeaveEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.LinkLeaveEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.LinkEnterEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.LinkEnterEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.api.experimental.events.handler.TeleportationArrivalEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.core.api.experimental.events.TeleportationArrivalEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.TransitDriverStartsEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.TransitDriverStartsEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonEntersVehicleEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonEntersVehicleEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.api.experimental.events.handler.VehicleArrivesAtFacilityEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.core.api.experimental.events.VehicleArrivesAtFacilityEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.VehicleEntersTrafficEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.VehicleEntersTrafficEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.VehicleLeavesTrafficEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.VehicleLeavesTrafficEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:156 
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:144 adding Event-Handler: org.matsim.core.scoring.EventsToLegs
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonDepartureEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonDepartureEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonArrivalEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonArrivalEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.LinkLeaveEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.LinkLeaveEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.LinkEnterEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.LinkEnterEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.api.experimental.events.handler.TeleportationArrivalEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.core.api.experimental.events.TeleportationArrivalEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.TransitDriverStartsEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.TransitDriverStartsEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonEntersVehicleEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonEntersVehicleEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.api.experimental.events.handler.VehicleArrivesAtFacilityEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.core.api.experimental.events.VehicleArrivesAtFacilityEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.VehicleEntersTrafficEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.VehicleEntersTrafficEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.VehicleLeavesTrafficEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.VehicleLeavesTrafficEvent
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:156 
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:144 adding Event-Handler: org.matsim.core.scoring.ScoringFunctionsForPopulation
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.events.handler.BasicEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.Event
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.scoring.EventsToLegs$LegHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.scoring.EventsToActivities$ActivityHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:156 
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:144 adding Event-Handler: org.matsim.core.scoring.ScoringFunctionsForPopulation
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.events.handler.BasicEventHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.Event
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.scoring.EventsToLegs$LegHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.scoring.EventsToActivities$ActivityHandler
2018-53-21 02:53:11 [Thread-2]  INFO EventsManagerImpl.java:156 
2018-53-21 02:53:11 [Thread-2]  INFO CalcLinkStats.java:151  resetting `count' to zero.  This info is here since we want to check when this is happening during normal simulation runs.  kai, jan'11
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:144 adding Event-Handler: org.matsim.analysis.VolumesAnalyzer
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.LinkLeaveEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.LinkLeaveEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.VehicleEntersTrafficEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.VehicleEntersTrafficEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:156 
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:144 adding Event-Handler: org.matsim.analysis.VolumesAnalyzer
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.LinkLeaveEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.LinkLeaveEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.VehicleEntersTrafficEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.VehicleEntersTrafficEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:156 
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:144 adding Event-Handler: org.matsim.analysis.LegHistogram
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonDepartureEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonDepartureEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonArrivalEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonArrivalEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonStuckEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonStuckEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:156 
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:144 adding Event-Handler: org.matsim.analysis.LegHistogram
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonDepartureEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonDepartureEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonArrivalEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonArrivalEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonStuckEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonStuckEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:156 
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:144 adding Event-Handler: org.matsim.analysis.CalcLegTimes
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonDepartureEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonDepartureEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonArrivalEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonArrivalEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.ActivityEndEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.ActivityEndEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.ActivityStartEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.ActivityStartEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:156 
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:144 adding Event-Handler: org.matsim.analysis.CalcLegTimes
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonDepartureEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonDepartureEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonArrivalEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonArrivalEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.ActivityEndEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.ActivityEndEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.ActivityStartEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.ActivityStartEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:156 
2018-53-21 02:53:12 [Thread-2]  INFO Gbl.java:57 JVM: 1.8.0_151; Oracle Corporation; mixed mode; 64-bit
2018-53-21 02:53:12 [Thread-2]  INFO Gbl.java:61 OS: Linux; 4.14.12-041412-generic; amd64
2018-53-21 02:53:12 [Thread-2]  INFO Gbl.java:64 CPU cores: 2
2018-53-21 02:53:12 [Thread-2]  INFO Gbl.java:65 max. Memory: 1820.5MB (1908932608B)
2018-53-21 02:53:12 [Thread-2]  INFO Gbl.java:103 MATSim-Build: rd17bad456f6b524fe081b2d61255fc03963ed069 (2018-01-18 16:57:22)
2018-53-21 02:53:12 [Thread-2]  INFO AbstractController.java:58 Used Controler-Class: org.matsim.core.controler.NewControler
2018-53-21 02:53:12 [Thread-2]  INFO Config.java:536 ConfigConsistencyChecker with runtime type=class org.matsim.core.config.consistency.ConfigConsistencyCheckerImpl was already added; not adding it a second time
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:144 adding Event-Handler: org.matsim.withinday.trafficmonitoring.WithinDayTravelTime
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.router.util.TravelTime
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.LinkEnterEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.LinkEnterEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.LinkLeaveEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.LinkLeaveEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonStuckEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonStuckEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.VehicleLeavesTrafficEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.VehicleLeavesTrafficEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.VehicleEntersTrafficEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.VehicleEntersTrafficEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.mobsim.framework.listeners.MobsimInitializedListener
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.mobsim.framework.listeners.MobsimBeforeSimStepListener
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.mobsim.framework.listeners.MobsimAfterSimStepListener
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.mobsim.framework.listeners.MobsimBeforeCleanupListener
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:156 
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:144 adding Event-Handler: org.matsim.withinday.trafficmonitoring.WithinDayTravelTime
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.router.util.TravelTime
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.LinkEnterEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.LinkEnterEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.LinkLeaveEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.LinkLeaveEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonStuckEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonStuckEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.VehicleLeavesTrafficEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.VehicleLeavesTrafficEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.VehicleEntersTrafficEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.VehicleEntersTrafficEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.mobsim.framework.listeners.MobsimInitializedListener
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.mobsim.framework.listeners.MobsimBeforeSimStepListener
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.mobsim.framework.listeners.MobsimAfterSimStepListener
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.mobsim.framework.listeners.MobsimBeforeCleanupListener
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:156 
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:144 adding Event-Handler: io.github.agentsoz.bdimatsim.EventsMonitorRegistry
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.LinkEnterEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.LinkEnterEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.LinkLeaveEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.LinkLeaveEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonArrivalEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonArrivalEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonDepartureEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonDepartureEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.ActivityEndEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.ActivityEndEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.VehicleEntersTrafficEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.VehicleEntersTrafficEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.VehicleLeavesTrafficEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.VehicleLeavesTrafficEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.events.handler.BasicEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.Event
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:156 
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:144 adding Event-Handler: io.github.agentsoz.bdimatsim.EventsMonitorRegistry
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.LinkEnterEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.LinkEnterEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.LinkLeaveEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.LinkLeaveEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonArrivalEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonArrivalEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonDepartureEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonDepartureEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.ActivityEndEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.ActivityEndEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.VehicleEntersTrafficEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.VehicleEntersTrafficEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.VehicleLeavesTrafficEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.VehicleLeavesTrafficEvent
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.events.handler.BasicEventHandler
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.Event
2018-53-21 02:53:12 [Thread-2]  INFO EventsManagerImpl.java:156 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.RoutingModule @com.google.inject.name.Named(value=emergencyVehicle)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: org.matsim.core.router.NetworkRoutingProvider@5c4c32
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: io.github.agentsoz.bdimatsim.MATSimModel$1.install(MATSimModel.java:256)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.events.handler.EventHandler @com.google.inject.multibindings.Element(setName=,uniqueId=88, type=MULTIBINDER, keyType=)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.events.handler.EventHandler, [email protected](setName=,uniqueId=88, type=MULTIBINDER, keyType=)], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@13faee12[Scopes.SINGLETON]}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: io.github.agentsoz.bdimatsim.MATSimModel$1.install(MATSimModel.java:260)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.mobsim.framework.listeners.MobsimListener @com.google.inject.multibindings.Element(setName=,uniqueId=89, type=MULTIBINDER, keyType=)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.mobsim.framework.listeners.MobsimListener, [email protected](setName=,uniqueId=89, type=MULTIBINDER, keyType=)], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@13faee12[Scopes.SINGLETON]}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: io.github.agentsoz.bdimatsim.MATSimModel$1.install(MATSimModel.java:261)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.util.TravelTime @com.google.inject.name.Named(value=emergencyVehicle)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.router.util.TravelTime, [email protected](value=emergencyVehicle)], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@13faee12[Scopes.SINGLETON]}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: io.github.agentsoz.bdimatsim.MATSimModel$1.install(MATSimModel.java:262)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.costcalculators.TravelDisutilityFactory @com.google.inject.name.Named(value=emergencyVehicle)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: of(io.github.agentsoz.bdimatsim.EvacTravelDisutility$Factory@54d3b9f8)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: io.github.agentsoz.bdimatsim.MATSimModel$1.install(MATSimModel.java:271)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.RoutingModule @com.google.inject.name.Named(value=carGlobalInformation)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: org.matsim.core.router.NetworkRoutingProvider@74e2934a
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: io.github.agentsoz.bdimatsim.MATSimModel$1.install(MATSimModel.java:276)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.events.handler.EventHandler @com.google.inject.multibindings.Element(setName=,uniqueId=90, type=MULTIBINDER, keyType=)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.events.handler.EventHandler, [email protected](setName=,uniqueId=90, type=MULTIBINDER, keyType=)], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@13faee12[Scopes.SINGLETON]}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: io.github.agentsoz.bdimatsim.MATSimModel$1.install(MATSimModel.java:280)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.mobsim.framework.listeners.MobsimListener @com.google.inject.multibindings.Element(setName=,uniqueId=91, type=MULTIBINDER, keyType=)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.mobsim.framework.listeners.MobsimListener, [email protected](setName=,uniqueId=91, type=MULTIBINDER, keyType=)], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@13faee12[Scopes.SINGLETON]}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: io.github.agentsoz.bdimatsim.MATSimModel$1.install(MATSimModel.java:281)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.util.TravelTime @com.google.inject.name.Named(value=carGlobalInformation)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.router.util.TravelTime, [email protected](value=carGlobalInformation)], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@13faee12[Scopes.SINGLETON]}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: io.github.agentsoz.bdimatsim.MATSimModel$1.install(MATSimModel.java:282)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.costcalculators.TravelDisutilityFactory @com.google.inject.name.Named(value=carGlobalInformation)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: of(org.matsim.core.router.costcalculators.OnlyTimeDependentTravelDisutilityFactory@6fcf4e6)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: io.github.agentsoz.bdimatsim.MATSimModel$1.install(MATSimModel.java:301)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.RoutingModule @com.google.inject.name.Named(value=carFreespeed)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: org.matsim.core.router.NetworkRoutingProvider@73aba65
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: io.github.agentsoz.bdimatsim.MATSimModel$1.install(MATSimModel.java:306)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.util.TravelTime @com.google.inject.name.Named(value=carFreespeed)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.router.util.TravelTime, [email protected](value=carFreespeed)], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@7bfa1666}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: io.github.agentsoz.bdimatsim.MATSimModel$1.install(MATSimModel.java:309)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.costcalculators.TravelDisutilityFactory @com.google.inject.name.Named(value=carFreespeed)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: of(org.matsim.core.router.costcalculators.OnlyTimeDependentTravelDisutilityFactory@3f34ed75)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: io.github.agentsoz.bdimatsim.MATSimModel$1.install(MATSimModel.java:329)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.mobsim.framework.Mobsim 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: Key[type=org.matsim.core.mobsim.qsim.QSimProvider, annotation=[none]]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: io.github.agentsoz.bdimatsim.EvacQSimModule.configure(EvacQSimModule.java:77)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.mobsim.qsim.qnetsimengine.QNetworkFactory 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: of(org.matsim.core.mobsim.qsim.qnetsimengine.ConfigurableQNetworkFactory@76618f12)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: io.github.agentsoz.bdimatsim.EvacQSimModule.configure(EvacQSimModule.java:110)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.mobsim.framework.listeners.MobsimListener @com.google.inject.multibindings.Element(setName=,uniqueId=92, type=MULTIBINDER, keyType=)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: of(io.github.agentsoz.bdimatsim.MATSimModel$1$$Lambda$1/591368657@640814d)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: io.github.agentsoz.bdimatsim.MATSimModel$1.install(MATSimModel.java:336)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.mobsim.framework.listeners.MobsimListener @com.google.inject.multibindings.Element(setName=,uniqueId=93, type=MULTIBINDER, keyType=)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: of(org.matsim.withinday.mobsim.MobsimDataProvider@187b0726)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: io.github.agentsoz.bdimatsim.MATSimModel$1.install(MATSimModel.java:356)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.events.handler.EventHandler @com.google.inject.multibindings.Element(setName=,uniqueId=87, type=MULTIBINDER, keyType=)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: of(io.github.agentsoz.bdimatsim.EventsMonitorRegistry@7816e77e)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.Controler$3$1.install(Controler.java:286)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.api.core.v01.Scenario 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: of(org.matsim.core.scenario.MutableScenario@175b1efc)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.scenario.ScenarioByInstanceModule.install(ScenarioByInstanceModule.java:31)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.vehicles.Vehicles 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: @Provides org.matsim.core.scenario.ScenarioByInstanceModule.provideVehicles(ScenarioByInstanceModule.java:61)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.vehicles.Vehicles org.matsim.core.scenario.ScenarioByInstanceModule.provideVehicles(org.matsim.api.core.v01.Scenario)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.lanes.data.Lanes 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: @Provides org.matsim.core.scenario.ScenarioByInstanceModule.provideLanes(ScenarioByInstanceModule.java:66)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.lanes.data.Lanes org.matsim.core.scenario.ScenarioByInstanceModule.provideLanes(org.matsim.api.core.v01.Scenario)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.api.core.v01.population.Population 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: @Provides org.matsim.core.scenario.ScenarioByInstanceModule.providePopulation(ScenarioByInstanceModule.java:43)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.api.core.v01.population.Population org.matsim.core.scenario.ScenarioByInstanceModule.providePopulation(org.matsim.api.core.v01.Scenario)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.api.core.v01.population.PopulationFactory 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: @Provides org.matsim.core.scenario.ScenarioByInstanceModule.providePopulationFactory(ScenarioByInstanceModule.java:47)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.api.core.v01.population.PopulationFactory org.matsim.core.scenario.ScenarioByInstanceModule.providePopulationFactory(org.matsim.api.core.v01.population.Population)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.facilities.ActivityFacilities 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: @Provides org.matsim.core.scenario.ScenarioByInstanceModule.provideActivityFacilities(ScenarioByInstanceModule.java:51)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.facilities.ActivityFacilities org.matsim.core.scenario.ScenarioByInstanceModule.provideActivityFacilities(org.matsim.api.core.v01.Scenario)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.households.Households 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: @Provides org.matsim.core.scenario.ScenarioByInstanceModule.provideHouseholds(ScenarioByInstanceModule.java:56)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.households.Households org.matsim.core.scenario.ScenarioByInstanceModule.provideHouseholds(org.matsim.api.core.v01.Scenario)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.api.core.v01.network.Network 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: @Provides org.matsim.core.scenario.ScenarioByInstanceModule.provideNetwork(ScenarioByInstanceModule.java:39)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.api.core.v01.network.Network org.matsim.core.scenario.ScenarioByInstanceModule.provideNetwork(org.matsim.api.core.v01.Scenario)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.controler.ControlerI 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.controler.ControlerI, annotation=[none]], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@396d2700}[Scopes.SINGLETON]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.NewControlerModule.install(NewControlerModule.java:8)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.controler.ControlerListenerManager 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.controler.ControlerListenerManager, annotation=[none]], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@3f100511[Scopes.SINGLETON]}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.NewControlerModule.install(NewControlerModule.java:10)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.controler.PrepareForSim 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.controler.PrepareForSim, annotation=[none]], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@19253e70}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.NewControlerModule.install(NewControlerModule.java:11)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.controler.TerminationCriterion 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.controler.TerminationCriterion, annotation=[none]], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@1a568619}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.NewControlerModule.install(NewControlerModule.java:14)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.controler.MatsimServices 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.controler.MatsimServices, annotation=[none]], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@4ad3e774}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.NewControlerModule.install(NewControlerModule.java:15)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.controler.corelisteners.PlansScoring 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.controler.corelisteners.PlansScoring, annotation=[none]], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@75545bb2[Scopes.SINGLETON]}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.scoring.PlansScoringModule.install(PlansScoringModule.java:11)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.controler.corelisteners.PlansReplanning 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.controler.corelisteners.PlansReplanning, annotation=[none]], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@45b22dd6[Scopes.SINGLETON]}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.corelisteners.ControlerDefaultCoreListenersModule.install(ControlerDefaultCoreListenersModule.java:38)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.controler.corelisteners.PlansDumping 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.controler.corelisteners.PlansDumping, annotation=[none]], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@6bfa1d37[Scopes.SINGLETON]}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.corelisteners.ControlerDefaultCoreListenersModule.install(ControlerDefaultCoreListenersModule.java:39)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.controler.corelisteners.EventsHandling 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.controler.corelisteners.EventsHandling, annotation=[none]], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@3ec7af7b[Scopes.SINGLETON]}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.corelisteners.ControlerDefaultCoreListenersModule.install(ControlerDefaultCoreListenersModule.java:40)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.controler.corelisteners.DumpDataAtEnd 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.controler.corelisteners.DumpDataAtEnd, annotation=[none]], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@6919eada[Scopes.SINGLETON]}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.corelisteners.ControlerDefaultCoreListenersModule.install(ControlerDefaultCoreListenersModule.java:41)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.api.experimental.events.EventsManager 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.api.experimental.events.EventsManager, annotation=[none]], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@3d91a6b2}[Scopes.SINGLETON]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.events.EventsManagerModule.install(EventsManagerModule.java:18)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.util.TravelTime @com.google.inject.name.Named(value=car)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: Key[type=org.matsim.core.trafficmonitoring.ObservedLinkTravelTimes, annotation=[none]]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.trafficmonitoring.TravelTimeCalculatorModule.install(TravelTimeCalculatorModule.java:81)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.costcalculators.TravelDisutilityFactory @com.google.inject.name.Named(value=car)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: of(org.matsim.core.router.costcalculators.RandomizingTimeDistanceTravelDisutilityFactory@6b91792)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.router.costcalculators.TravelDisutilityModule.install(TravelDisutilityModule.java:34)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.scoring.ScoringFunctionFactory 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.scoring.ScoringFunctionFactory, annotation=[none]], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@506dc49}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.scoring.functions.CharyparNagelScoringFunctionModule.install(CharyparNagelScoringFunctionModule.java:32)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.scoring.functions.ScoringParametersForPerson 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.scoring.functions.ScoringParametersForPerson, annotation=[none]], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@23efa909}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.scoring.functions.CharyparNagelScoringFunctionModule.install(CharyparNagelScoringFunctionModule.java:33)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.scoring.ExperiencedPlansService 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.scoring.ExperiencedPlansService, annotation=[none]], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@13fb2ff0}[Scopes.SINGLETON]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.scoring.ExperiencedPlansModule.install(ExperiencedPlansModule.java:10)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.MainModeIdentifier 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.router.MainModeIdentifier, annotation=[none]], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@5d30af9a}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.router.TripRouterModule.install(TripRouterModule.java:44)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.util.LeastCostPathCalculatorFactory 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.router.util.LeastCostPathCalculatorFactory, annotation=[none]], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@6ee7c4e1[Scopes.SINGLETON]}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.router.LeastCostPathCalculatorModule.install(LeastCostPathCalculatorModule.java:46)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.RoutingModule @com.google.inject.name.Named(value=ride)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: org.matsim.core.router.FreespeedFactorRouting@94b6076
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.router.TripRouterModule.install(TripRouterModule.java:55)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.RoutingModule @com.google.inject.name.Named(value=pt)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: org.matsim.core.router.FreespeedFactorRouting@12b00dd0
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.router.TripRouterModule.install(TripRouterModule.java:55)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.RoutingModule @com.google.inject.name.Named(value=bike)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: org.matsim.core.router.BeelineTeleportationRouting@3c253bc
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.router.TripRouterModule.install(TripRouterModule.java:58)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.RoutingModule @com.google.inject.name.Named(value=walk)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: org.matsim.core.router.BeelineTeleportationRouting@595d81d1
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.router.TripRouterModule.install(TripRouterModule.java:58)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.RoutingModule @com.google.inject.name.Named(value=access_walk)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: org.matsim.core.router.BeelineTeleportationRouting@bc7125c
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.router.TripRouterModule.install(TripRouterModule.java:58)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.RoutingModule @com.google.inject.name.Named(value=egress_walk)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: org.matsim.core.router.BeelineTeleportationRouting@190b5079
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.router.TripRouterModule.install(TripRouterModule.java:58)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.RoutingModule @com.google.inject.name.Named(value=undefined)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: org.matsim.core.router.BeelineTeleportationRouting@8c5af57
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.router.TripRouterModule.install(TripRouterModule.java:58)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.RoutingModule @com.google.inject.name.Named(value=car)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: org.matsim.core.router.NetworkRoutingProvider@3d23f497
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.router.TripRouterModule.install(TripRouterModule.java:66)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.replanning.selectors.PlanSelector<org.matsim.api.core.v01.population.Plan, org.matsim.api.core.v01.population.Person> 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.replanning.selectors.PlanSelector<org.matsim.api.core.v01.population.Plan, org.matsim.api.core.v01.population.Person>, annotation=[none]], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@309e9fd5}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.replanning.strategies.DefaultPlanStrategiesModule.install(DefaultPlanStrategiesModule.java:49)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.replanning.PlanStrategy @com.google.inject.name.Named(value=BestScore)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: Key[type=org.matsim.core.replanning.strategies.SelectBest, annotation=[none]]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.replanning.strategies.DefaultPlanStrategiesModule.install(DefaultPlanStrategiesModule.java:79)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.replanning.PlanStrategy @com.google.inject.name.Named(value=ReRoute)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: Key[type=org.matsim.core.replanning.strategies.ReRoute, annotation=[none]]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.replanning.strategies.DefaultPlanStrategiesModule.install(DefaultPlanStrategiesModule.java:98)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.replanning.PlanStrategy @com.google.inject.name.Named(value=TimeAllocationMutator)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: Key[type=org.matsim.core.replanning.strategies.TimeAllocationMutator, annotation=[none]]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.replanning.strategies.DefaultPlanStrategiesModule.install(DefaultPlanStrategiesModule.java:101)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.replanning.ReplanningContext 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.replanning.ReplanningContext, annotation=[none]], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@7ad0b299[Scopes.SINGLETON]}[Scopes.SINGLETON]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.replanning.StrategyManagerModule.install(StrategyManagerModule.java:48)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.replanning.PlanStrategy @com.google.inject.multibindings.Element(setName=,uniqueId=71, type=MAPBINDER, keyType=org.matsim.core.config.groups.StrategyConfigGroup$StrategySettings)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.replanning.PlanStrategy, [email protected](setName=,uniqueId=71, type=MAPBINDER, keyType=org.matsim.core.config.groups.StrategyConfigGroup$StrategySettings)], provider=Key[type=org.matsim.core.replanning.strategies.SelectBest, annotation=[none]]}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.replanning.StrategyManagerModule.install(StrategyManagerModule.java:73)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.replanning.PlanStrategy @com.google.inject.multibindings.Element(setName=,uniqueId=73, type=MAPBINDER, keyType=org.matsim.core.config.groups.StrategyConfigGroup$StrategySettings)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.replanning.PlanStrategy, [email protected](setName=,uniqueId=73, type=MAPBINDER, keyType=org.matsim.core.config.groups.StrategyConfigGroup$StrategySettings)], provider=Key[type=org.matsim.core.replanning.strategies.ReRoute, annotation=[none]]}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.replanning.StrategyManagerModule.install(StrategyManagerModule.java:73)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.replanning.PlanStrategy @com.google.inject.multibindings.Element(setName=,uniqueId=75, type=MAPBINDER, keyType=org.matsim.core.config.groups.StrategyConfigGroup$StrategySettings)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.replanning.PlanStrategy, [email protected](setName=,uniqueId=75, type=MAPBINDER, keyType=org.matsim.core.config.groups.StrategyConfigGroup$StrategySettings)], provider=Key[type=org.matsim.core.replanning.strategies.TimeAllocationMutator, annotation=[none]]}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.replanning.StrategyManagerModule.install(StrategyManagerModule.java:73)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.controler.listener.ControlerListener @com.google.inject.multibindings.Element(setName=,uniqueId=77, type=MULTIBINDER, keyType=)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.controler.listener.ControlerListener, [email protected](setName=,uniqueId=77, type=MULTIBINDER, keyType=)], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@22c49e26[Scopes.SINGLETON]}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.analysis.LinkStatsModule.install(LinkStatsModule.java:47)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.controler.listener.ControlerListener @com.google.inject.multibindings.Element(setName=,uniqueId=78, type=MULTIBINDER, keyType=)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.controler.listener.ControlerListener, [email protected](setName=,uniqueId=78, type=MULTIBINDER, keyType=)], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@72d48653}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.analysis.LegHistogramModule.install(LegHistogramModule.java:31)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.controler.listener.ControlerListener @com.google.inject.multibindings.Element(setName=,uniqueId=79, type=MULTIBINDER, keyType=)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.controler.listener.ControlerListener, [email protected](setName=,uniqueId=79, type=MULTIBINDER, keyType=)], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@3670dfeb}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.analysis.LegTimesModule.install(LegTimesModule.java:32)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.controler.listener.ControlerListener @com.google.inject.multibindings.Element(setName=,uniqueId=80, type=MULTIBINDER, keyType=)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.controler.listener.ControlerListener, [email protected](setName=,uniqueId=80, type=MULTIBINDER, keyType=)], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@494bf7c6}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.analysis.TravelDistanceStatsModule.install(TravelDistanceStatsModule.java:11)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.controler.listener.ControlerListener @com.google.inject.multibindings.Element(setName=,uniqueId=81, type=MULTIBINDER, keyType=)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.controler.listener.ControlerListener, [email protected](setName=,uniqueId=81, type=MULTIBINDER, keyType=)], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@4ff87567[Scopes.SINGLETON]}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.analysis.ScoreStatsModule.install(ScoreStatsModule.java:32)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.analysis.ScoreStats 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.analysis.ScoreStats, annotation=[none]], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@4ff87567[Scopes.SINGLETON]}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.analysis.ScoreStatsModule.install(ScoreStatsModule.java:33)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.controler.listener.ControlerListener @com.google.inject.multibindings.Element(setName=,uniqueId=82, type=MULTIBINDER, keyType=)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.controler.listener.ControlerListener, [email protected](setName=,uniqueId=82, type=MULTIBINDER, keyType=)], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@19c884d5[Scopes.SINGLETON]}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.analysis.ModeStatsModule.install(ModeStatsModule.java:32)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.controler.listener.ControlerListener @com.google.inject.multibindings.Element(setName=,uniqueId=83, type=MULTIBINDER, keyType=)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.controler.listener.ControlerListener, [email protected](setName=,uniqueId=83, type=MULTIBINDER, keyType=)], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@29779f80}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.counts.CountsModule.install(CountsModule.java:42)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.counts.Counts<org.matsim.api.core.v01.network.Link> 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: @Provides org.matsim.counts.CountsModule.provideLinkCounts(CountsModule.java:63)[Scopes.SINGLETON]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.counts.Counts org.matsim.counts.CountsModule.provideLinkCounts(org.matsim.api.core.v01.Scenario,org.matsim.core.config.groups.CountsConfigGroup)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.SINGLETON
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.controler.listener.ControlerListener @com.google.inject.multibindings.Element(setName=,uniqueId=84, type=MULTIBINDER, keyType=)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.controler.listener.ControlerListener, [email protected](setName=,uniqueId=84, type=MULTIBINDER, keyType=)], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@6ef875e7}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.population.VspPlansCleanerModule.install(VspPlansCleanerModule.java:34)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.vis.snapshotwriters.SnapshotWriter @com.google.inject.multibindings.Element(setName=,uniqueId=85, type=MULTIBINDER, keyType=)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: Key[type=org.matsim.vis.snapshotwriters.KMLSnapshotWriterFactory, annotation=[none]]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.vis.snapshotwriters.SnapshotWritersModule.install(SnapshotWritersModule.java:39)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.mobsim.framework.listeners.MobsimListener @com.google.inject.multibindings.Element(setName=,uniqueId=86, type=MULTIBINDER, keyType=)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: Key[type=org.matsim.vis.snapshotwriters.SnapshotWritersModule$SnapshotWriterManagerProvider, annotation=[none]]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.vis.snapshotwriters.SnapshotWritersModule.install(SnapshotWritersModule.java:45)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.RoutingModule @com.google.inject.multibindings.Element(setName=,uniqueId=94, type=MAPBINDER, keyType=java.lang.String)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.router.RoutingModule, [email protected](setName=,uniqueId=94, type=MAPBINDER, keyType=java.lang.String)], provider=org.matsim.core.router.BeelineTeleportationRouting@190b5079}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.Injector$3.configure(Injector.java:123)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.RoutingModule @com.google.inject.multibindings.Element(setName=,uniqueId=96, type=MAPBINDER, keyType=java.lang.String)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.router.RoutingModule, [email protected](setName=,uniqueId=96, type=MAPBINDER, keyType=java.lang.String)], provider=org.matsim.core.router.NetworkRoutingProvider@73aba65}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.Injector$3.configure(Injector.java:123)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.RoutingModule @com.google.inject.multibindings.Element(setName=,uniqueId=98, type=MAPBINDER, keyType=java.lang.String)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.router.RoutingModule, [email protected](setName=,uniqueId=98, type=MAPBINDER, keyType=java.lang.String)], provider=org.matsim.core.router.FreespeedFactorRouting@12b00dd0}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.Injector$3.configure(Injector.java:123)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.RoutingModule @com.google.inject.multibindings.Element(setName=,uniqueId=100, type=MAPBINDER, keyType=java.lang.String)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.router.RoutingModule, [email protected](setName=,uniqueId=100, type=MAPBINDER, keyType=java.lang.String)], provider=org.matsim.core.router.NetworkRoutingProvider@3d23f497}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.Injector$3.configure(Injector.java:123)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.RoutingModule @com.google.inject.multibindings.Element(setName=,uniqueId=102, type=MAPBINDER, keyType=java.lang.String)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.router.RoutingModule, [email protected](setName=,uniqueId=102, type=MAPBINDER, keyType=java.lang.String)], provider=org.matsim.core.router.NetworkRoutingProvider@74e2934a}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.Injector$3.configure(Injector.java:123)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.RoutingModule @com.google.inject.multibindings.Element(setName=,uniqueId=104, type=MAPBINDER, keyType=java.lang.String)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.router.RoutingModule, [email protected](setName=,uniqueId=104, type=MAPBINDER, keyType=java.lang.String)], provider=org.matsim.core.router.BeelineTeleportationRouting@bc7125c}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.Injector$3.configure(Injector.java:123)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.RoutingModule @com.google.inject.multibindings.Element(setName=,uniqueId=106, type=MAPBINDER, keyType=java.lang.String)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.router.RoutingModule, [email protected](setName=,uniqueId=106, type=MAPBINDER, keyType=java.lang.String)], provider=org.matsim.core.router.NetworkRoutingProvider@5c4c32}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.Injector$3.configure(Injector.java:123)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.RoutingModule @com.google.inject.multibindings.Element(setName=,uniqueId=108, type=MAPBINDER, keyType=java.lang.String)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.router.RoutingModule, [email protected](setName=,uniqueId=108, type=MAPBINDER, keyType=java.lang.String)], provider=org.matsim.core.router.FreespeedFactorRouting@94b6076}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.Injector$3.configure(Injector.java:123)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.RoutingModule @com.google.inject.multibindings.Element(setName=,uniqueId=110, type=MAPBINDER, keyType=java.lang.String)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.router.RoutingModule, [email protected](setName=,uniqueId=110, type=MAPBINDER, keyType=java.lang.String)], provider=org.matsim.core.router.BeelineTeleportationRouting@595d81d1}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.Injector$3.configure(Injector.java:123)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.RoutingModule @com.google.inject.multibindings.Element(setName=,uniqueId=112, type=MAPBINDER, keyType=java.lang.String)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.router.RoutingModule, [email protected](setName=,uniqueId=112, type=MAPBINDER, keyType=java.lang.String)], provider=org.matsim.core.router.BeelineTeleportationRouting@3c253bc}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.Injector$3.configure(Injector.java:123)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.RoutingModule @com.google.inject.multibindings.Element(setName=,uniqueId=114, type=MAPBINDER, keyType=java.lang.String)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.router.RoutingModule, [email protected](setName=,uniqueId=114, type=MAPBINDER, keyType=java.lang.String)], provider=org.matsim.core.router.BeelineTeleportationRouting@8c5af57}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.Injector$3.configure(Injector.java:123)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.util.TravelTime @com.google.inject.multibindings.Element(setName=,uniqueId=116, type=MAPBINDER, keyType=java.lang.String)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.router.util.TravelTime, [email protected](setName=,uniqueId=116, type=MAPBINDER, keyType=java.lang.String)], provider=FactoryProxy{key=Key[type=org.matsim.core.router.util.TravelTime, [email protected](value=carFreespeed)], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@7bfa1666}}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.Injector$3.configure(Injector.java:123)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.util.TravelTime @com.google.inject.multibindings.Element(setName=,uniqueId=118, type=MAPBINDER, keyType=java.lang.String)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.router.util.TravelTime, [email protected](setName=,uniqueId=118, type=MAPBINDER, keyType=java.lang.String)], provider=Key[type=org.matsim.core.trafficmonitoring.ObservedLinkTravelTimes, annotation=[none]]}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.Injector$3.configure(Injector.java:123)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.util.TravelTime @com.google.inject.multibindings.Element(setName=,uniqueId=120, type=MAPBINDER, keyType=java.lang.String)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.router.util.TravelTime, [email protected](setName=,uniqueId=120, type=MAPBINDER, keyType=java.lang.String)], provider=FactoryProxy{key=Key[type=org.matsim.core.router.util.TravelTime, [email protected](value=carGlobalInformation)], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@13faee12[Scopes.SINGLETON]}}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.Injector$3.configure(Injector.java:123)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.util.TravelTime @com.google.inject.multibindings.Element(setName=,uniqueId=122, type=MAPBINDER, keyType=java.lang.String)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.router.util.TravelTime, [email protected](setName=,uniqueId=122, type=MAPBINDER, keyType=java.lang.String)], provider=FactoryProxy{key=Key[type=org.matsim.core.router.util.TravelTime, [email protected](value=emergencyVehicle)], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@13faee12[Scopes.SINGLETON]}}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.Injector$3.configure(Injector.java:123)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.costcalculators.TravelDisutilityFactory @com.google.inject.multibindings.Element(setName=,uniqueId=124, type=MAPBINDER, keyType=java.lang.String)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.router.costcalculators.TravelDisutilityFactory, [email protected](setName=,uniqueId=124, type=MAPBINDER, keyType=java.lang.String)], provider=ConstantFactory{value=org.matsim.core.router.costcalculators.OnlyTimeDependentTravelDisutilityFactory@3f34ed75}[Scopes.SINGLETON]}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.Injector$3.configure(Injector.java:123)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.costcalculators.TravelDisutilityFactory @com.google.inject.multibindings.Element(setName=,uniqueId=126, type=MAPBINDER, keyType=java.lang.String)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.router.costcalculators.TravelDisutilityFactory, [email protected](setName=,uniqueId=126, type=MAPBINDER, keyType=java.lang.String)], provider=ConstantFactory{value=org.matsim.core.router.costcalculators.RandomizingTimeDistanceTravelDisutilityFactory@6b91792}[Scopes.SINGLETON]}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.Injector$3.configure(Injector.java:123)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.costcalculators.TravelDisutilityFactory @com.google.inject.multibindings.Element(setName=,uniqueId=128, type=MAPBINDER, keyType=java.lang.String)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.router.costcalculators.TravelDisutilityFactory, [email protected](setName=,uniqueId=128, type=MAPBINDER, keyType=java.lang.String)], provider=ConstantFactory{value=org.matsim.core.router.costcalculators.OnlyTimeDependentTravelDisutilityFactory@6fcf4e6}[Scopes.SINGLETON]}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.Injector$3.configure(Injector.java:123)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.costcalculators.TravelDisutilityFactory @com.google.inject.multibindings.Element(setName=,uniqueId=130, type=MAPBINDER, keyType=java.lang.String)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.router.costcalculators.TravelDisutilityFactory, [email protected](setName=,uniqueId=130, type=MAPBINDER, keyType=java.lang.String)], provider=ConstantFactory{value=io.github.agentsoz.bdimatsim.EvacTravelDisutility$Factory@54d3b9f8}[Scopes.SINGLETON]}
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.Injector$3.configure(Injector.java:123)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.withinday.trafficmonitoring.WithinDayTravelTime 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@13faee12[Scopes.SINGLETON]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: io.github.agentsoz.bdimatsim.MATSimModel$1.install(MATSimModel.java:279)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.SINGLETON
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.controler.ControlerListenerManagerImpl 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@3f100511[Scopes.SINGLETON]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.NewControlerModule.install(NewControlerModule.java:9)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.analysis.IterationStopWatch 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@7b666c27[Scopes.SINGLETON]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.NewControlerModule.install(NewControlerModule.java:12)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.controler.OutputDirectoryHierarchy 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@612d7224[Scopes.SINGLETON]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.controler.NewControlerModule.install(NewControlerModule.java:13)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.scoring.ScoringFunctionsForPopulation 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@f0337ff[Scopes.SINGLETON]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.scoring.PlansScoringModule.install(PlansScoringModule.java:10)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.events.EventsManagerModule$EventHandlerRegistrator 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@22f92cb5[Scopes.SINGLETON]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.events.EventsManagerModule.install(EventsManagerModule.java:25)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.trafficmonitoring.TravelTimeCalculator 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@6ab66b99[Scopes.SINGLETON]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.trafficmonitoring.TravelTimeCalculatorModule.install(TravelTimeCalculatorModule.java:76)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.SINGLETON
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.scoring.EventsToActivities 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@608098b9[Scopes.SINGLETON]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.scoring.ExperiencedPlanElementsModule.install(ExperiencedPlanElementsModule.java:12)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.scoring.EventsToLegs 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@762ae799[Scopes.SINGLETON]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.scoring.ExperiencedPlanElementsModule.install(ExperiencedPlanElementsModule.java:13)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.TripRouter 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@1dddf16d
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.router.TripRouterModule.install(TripRouterModule.java:43)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.router.SingleModeNetworksCache 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@446ebbec[Scopes.SINGLETON]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.router.TripRouterModule.install(TripRouterModule.java:47)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.core.replanning.StrategyManager 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@204fa688[Scopes.SINGLETON]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.replanning.StrategyManagerModule.install(StrategyManagerModule.java:47)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.SINGLETON
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.analysis.CalcLinkStats 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@1789b37[Scopes.SINGLETON]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.analysis.LinkStatsModule.install(LinkStatsModule.java:37)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.analysis.LinkStatsControlerListener 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@22c49e26[Scopes.SINGLETON]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.analysis.LinkStatsModule.install(LinkStatsModule.java:46)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.analysis.VolumesAnalyzer 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@73dc54ec[Scopes.SINGLETON]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.analysis.VolumesAnalyzerModule.install(VolumesAnalyzerModule.java:31)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.analysis.LegHistogram 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@425c20a0
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.analysis.LegHistogramModule.install(LegHistogramModule.java:30)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.analysis.CalcLegTimes 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@1f7aa585[Scopes.SINGLETON]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.analysis.LegTimesModule.install(LegTimesModule.java:31)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.SINGLETON
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.analysis.TravelDistanceStats 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@5a1e347e[Scopes.SINGLETON]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.analysis.TravelDistanceStatsModule.install(TravelDistanceStatsModule.java:10)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.analysis.ScoreStatsControlerListener 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@4ff87567[Scopes.SINGLETON]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.analysis.ScoreStatsModule.install(ScoreStatsModule.java:31)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.SINGLETON
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.analysis.ModeStatsControlerListener 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@19c884d5[Scopes.SINGLETON]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.analysis.ModeStatsModule.install(ModeStatsModule.java:31)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.SINGLETON
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:83 org.matsim.counts.CountsModule$CountsInitializer 
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@4b7470e5[Scopes.SINGLETON]
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.counts.CountsModule.install(CountsModule.java:43)
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:12 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:12 [Thread-2]  INFO ControlerListenerManagerImpl.java:107 calling notifyStartup on org.matsim.counts.CountsControlerListener
2018-53-21 02:53:12 [Thread-2]  INFO ControlerListenerManagerImpl.java:107 calling notifyStartup on org.matsim.analysis.ModeStatsControlerListener
2018-53-21 02:53:12 [Thread-2] DEBUG NetworkRoutingProvider.java:60 requesting network routing module with routingMode=carFreespeed;	mode=car
2018-53-21 02:53:12 [Thread-2]  INFO NetworkImpl.java:159  node # 1
2018-53-21 02:53:12 [Thread-2]  INFO NetworkImpl.java:159  node # 4
2018-53-21 02:53:12 [Thread-2]  INFO NetworkImpl.java:159  node # 16
2018-53-21 02:53:12 [Thread-2]  INFO NetworkImpl.java:159  node # 64
2018-53-21 02:53:12 [Thread-2]  INFO NetworkImpl.java:159  node # 256
2018-53-21 02:53:12 [Thread-2]  INFO NetworkImpl.java:159  node # 1024
2018-53-21 02:53:12 [Thread-2]  INFO NetworkImpl.java:159  node # 4096
2018-53-21 02:53:12 [Thread-2]  INFO NetworkImpl.java:159  node # 16384
2018-53-21 02:53:12 [Thread-2]  INFO NetworkImpl.java:155  link # 1
2018-53-21 02:53:12 [Thread-2]  INFO NetworkImpl.java:155  link # 4
2018-53-21 02:53:12 [Thread-2]  INFO NetworkImpl.java:155  link # 16
2018-53-21 02:53:12 [Thread-2]  INFO NetworkImpl.java:155  link # 64
2018-53-21 02:53:12 [Thread-2]  INFO NetworkImpl.java:155  link # 256
2018-53-21 02:53:12 [Thread-2]  INFO NetworkImpl.java:155  link # 1024
2018-53-21 02:53:12 [Thread-2]  INFO NetworkImpl.java:155  link # 4096
2018-53-21 02:53:12 [Thread-2]  INFO NetworkImpl.java:155  link # 16384
2018-53-21 02:53:12 [Thread-2]  INFO NetworkImpl.java:155  link # 65536
2018-53-21 02:53:12 [Thread-2]  INFO PreProcessDijkstra.java:118 nodes in dead ends: 9612 (total nodes: 37604). Done in 106 ms
2018-53-21 02:53:12 [Thread-2]  INFO PreProcessLandmarks.java:112 Putting landmarks on network...
2018-53-21 02:53:12 [Thread-2]  INFO LandmarkerPieSlices.java:96 Filling sectors...
2018-53-21 02:53:12 [Thread-2]  INFO LandmarkerPieSlices.java:107 Refining landmarks...
2018-53-21 02:53:12 [Thread-2]  INFO LandmarkerPieSlices.java:109 done
2018-53-21 02:53:12 [Thread-2]  INFO PreProcessLandmarks.java:115 done in 119 ms
2018-53-21 02:53:12 [Thread-2]  INFO PreProcessLandmarks.java:117 Initializing landmarks data
2018-53-21 02:53:12 [Thread-2]  INFO PreProcessLandmarks.java:129 Calculating distance from each node to each of the 16 landmarks using 2 threads...
2018-53-21 02:53:12 [Thread-2]  INFO PreProcessLandmarks.java:139 wait for landmarks Calculator to finish...
2018-53-21 02:53:14 [Thread-2]  INFO PreProcessLandmarks.java:161 done in 1099 ms
2018-53-21 02:53:14 [Thread-2]  INFO PreProcessDijkstra.java:118 nodes in dead ends: 9612 (total nodes: 37604). Done in 77 ms
2018-53-21 02:53:14 [Thread-2]  INFO PreProcessLandmarks.java:112 Putting landmarks on network...
2018-53-21 02:53:14 [Thread-2]  INFO LandmarkerPieSlices.java:96 Filling sectors...
2018-53-21 02:53:14 [Thread-2]  INFO LandmarkerPieSlices.java:107 Refining landmarks...
2018-53-21 02:53:14 [Thread-2]  INFO LandmarkerPieSlices.java:109 done
2018-53-21 02:53:14 [Thread-2]  INFO PreProcessLandmarks.java:115 done in 67 ms
2018-53-21 02:53:14 [Thread-2]  INFO PreProcessLandmarks.java:117 Initializing landmarks data
2018-53-21 02:53:14 [Thread-2]  INFO PreProcessLandmarks.java:129 Calculating distance from each node to each of the 16 landmarks using 2 threads...
2018-53-21 02:53:14 [Thread-2]  INFO PreProcessLandmarks.java:139 wait for landmarks Calculator to finish...
2018-53-21 02:53:15 [Thread-2]  INFO PreProcessLandmarks.java:161 done in 946 ms
2018-53-21 02:53:15 [Thread-2] DEBUG NetworkRoutingProvider.java:60 requesting network routing module with routingMode=car;	mode=car
2018-53-21 02:53:15 [Thread-2] DEBUG NetworkRoutingProvider.java:60 requesting network routing module with routingMode=carGlobalInformation;	mode=car
2018-53-21 02:53:15 [Thread-2] DEBUG NetworkRoutingProvider.java:60 requesting network routing module with routingMode=emergencyVehicle;	mode=car
2018-53-21 02:53:15 [Thread-2]  INFO ControlerListenerManagerImpl.java:107 calling notifyStartup on org.matsim.analysis.ScoreStatsControlerListener
2018-53-21 02:53:15 [Thread-2]  INFO ControlerListenerManagerImpl.java:110 all ControlerStartupListeners called.
2018-53-21 02:53:15 [Thread-2]  INFO ControlerUtils.java:58 config dump before iterations start
2018-53-21 02:53:15 [Thread-2]  INFO Config.java:563 setting context to [file:/home/travis/build/agentsoz/bdi-abm-integration/examples/bushfire/]
2018-53-21 02:53:15 [Thread-2]  INFO ControlerUtils.java:62 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE config SYSTEM "http://www.matsim.org/files/dtd/config_v2.dtd">
<config>
<!-- ====================================================================== -->
	<module name="JDEQSim" >
		<param name="carSize" value="7.5" />
		<param name="endTime" value="undefined" />
		<param name="flowCapacityFactor" value="1.0" />
		<param name="gapTravelSpeed" value="15.0" />
		<param name="minimumInFlowCapacity" value="1800.0" />
		<param name="squeezeTime" value="1800.0" />
		<param name="storageCapacityFactor" value="1.0" />
	</module>
<!-- ====================================================================== -->
	<module name="TimeAllocationMutator" >
		<!-- Default:true; Defines whether time mutation changes an activity's duration. -->
		<param name="mutationAffectsDuration" value="true" />
		<!-- Default:1800.0; Defines how many seconds a time mutation can maximally shift a time. -->
		<param name="mutationRange" value="1800.0" />
		<!-- false; Use individual settings for each subpopulation. If enabled but no settings are found, regular settings are uses as fallback. -->
		<param name="useIndividualSettingsForSubpopulations" value="false" />
	</module>
<!-- ====================================================================== -->
<!-- ====================================================================== -->
	<module name="changeMode" >
		<param name="ignoreCarAvailability" value="true" />
		<param name="modes" value="car,pt" />
	</module>
<!-- ====================================================================== -->
	<module name="controler" >
		<!-- Sets whether graphs showing some analyses should automatically be generated during the simulation. The generation of graphs usually takes a small amount of time that does not have any weight in big simulations, but add a significant overhead in smaller runs or in test cases where the graphical output is not even requested. -->
		<param name="createGraphs" value="true" />
		<!-- true if at the end of a run, plans, network, config etc should be dumped to a file -->
		<param name="dumpDataAtEnd" value="true" />
		<!-- Default=false. If enabled, the router takes travel times needed for turning moves into account. Cannot be used if the (Fast)AStarLandmarks routing or TravelTimeCalculator.separateModes is enabled. -->
		<param name="enableLinkToLinkRouting" value="false" />
		<!-- Default=xml; Specifies the file format for writing events. Currently supported: xml.
		Multiple values can be specified separated by commas (','). -->
		<param name="eventsFileFormat" value="xml" />
		<!-- Default=0;  -->
		<param name="firstIteration" value="0" />
		<!-- Default=1000;  -->
		<param name="lastIteration" value="0" />
		<!-- Defines which mobility simulation will be used. Currently supported: qsim JDEQSim 
		Depending on the chosen mobsim, you'll have to add additional config modules to configure the corresponding mobsim.
		For 'qsim', add a module 'qsim' to the config. -->
		<param name="mobsim" value="qsim" />
		<param name="outputDirectory" value="test/output/io/github/agentsoz/ees/MainMaldon600Test/testMaldon600/" />
		<!-- Possible values: failIfDirectoryExists, overwriteExistingFiles, deleteDirectoryIfExists -->
		<param name="overwriteFiles" value="deleteDirectoryIfExists" />
		<!-- The type of routing (least cost path) algorithm used, may have the values: Dijkstra, FastDijkstra, AStarLandmarks or FastAStarLandmarks -->
		<param name="routingAlgorithmType" value="FastAStarLandmarks" />
		<!-- An identifier for the current run which is used as prefix for output files and mentioned in output xml files etc. -->
		<param name="runId" value="null" />
		<!-- Comma-separated list of visualizer output file formats. `transims', `googleearth', and `otfvis'. -->
		<param name="snapshotFormat" value="googleearth" />
		<!-- iterationNumber % writeEventsInterval == 0 defines in which iterations events are written to a file. `0' disables events writing completely. -->
		<param name="writeEventsInterval" value="10" />
		<!-- iterationNumber % writePlansInterval == 0 defines (hopefully) in which iterations plans are written to a file. `0' disables plans writing completely.  Some plans in early iterations are always written -->
		<param name="writePlansInterval" value="1" />
		<!-- iterationNumber % writeSnapshotsInterval == 0 defines in which iterations snapshots are written to a file. `0' disables snapshots writing completely -->
		<param name="writeSnapshotsInterval" value="1" />
	</module>
<!-- ====================================================================== -->
	<module name="counts" >
		<!-- Transport modes that will be respected for the counts comparison. 'car' is default, which includes also bussed from the pt simulation module. Use this parameter in combination with 'filterModes' = true! -->
		<param name="analyzedModes" value="car" />
		<!-- Specifies over how many iterations the link volumes should be averaged that are used for the counts comparison. Use 1 or 0 to only use the link volumes of a single iteration. This values cannot be larger than the value specified for writeCountsInterval -->
		<param name="averageCountsOverIterations" value="5" />
		<!-- factor by which to re-scale the simulated values.  necessary when simulation runs with something different from 100%.  needs to be adapted manually -->
		<param name="countsScaleFactor" value="1.0" />
		<!-- distance to distanceFilterCenterNode to include counting stations. The unit of distance is the Euclidean distance implied by the coordinate system -->
		<param name="distanceFilter" value="null" />
		<!-- node id for center node of distance filter -->
		<param name="distanceFilterCenterNode" value="null" />
		<!-- If true, link counts from legs performed on modes not included in the 'analyzedModes' parameter are ignored. -->
		<param name="filterModes" value="false" />
		<!-- The Coordinates Reference System in which the coordinates are expressed in the input file. At import, the coordinates will be converted to the coordinate system defined in "global", and willbe converted back at export. If not specified, no conversion happens. -->
		<param name="inputCRS" value="null" />
		<!-- input file name to counts package -->
		<param name="inputCountsFile" value="null" />
		<!-- possible values: `html', `kml', `txt', `all' -->
		<param name="outputformat" value="txt" />
		<!-- Specifies how often the counts comparison should be calculated and written. -->
		<param name="writeCountsInterval" value="10" />
	</module>
<!-- ====================================================================== -->
	<module name="evac" >
	</module>
<!-- ====================================================================== -->
	<module name="facilities" >
		<!-- The Coordinates Reference System in which the coordinates are expressed in the input file. At import, the coordinates will be converted to the coordinate system defined in "global", and willbe converted back at export. If not specified, no conversion happens. -->
		<param name="inputCRS" value="null" />
		<param name="inputFacilitiesFile" value="null" />
		<param name="inputFacilityAttributesFile" value="null" />
	</module>
<!-- ====================================================================== -->
	<module name="global" >
		<param name="coordinateSystem" value="EPSG:28355" />
		<!-- "global" number of threads.  This number is used, e.g., for replanning, but NOT in the mobsim.  This can typically be set to as many cores as you have available, or possibly even slightly more. -->
		<param name="numberOfThreads" value="1" />
		<param name="randomSeed" value="482564" />
	</module>
<!-- ====================================================================== -->
	<module name="households" >
		<param name="inputFile" value="null" />
		<param name="inputHouseholdAttributesFile" value="null" />
	</module>
<!-- ====================================================================== -->
	<module name="linkStats" >
		<!-- Specifies over how many iterations the link volumes should be averaged that are used for the link statistics. Use 1 or 0 to only use the link volumes of a single iteration. This values cannot be larger than the value specified for writeLinkStatsInterval -->
		<param name="averageLinkStatsOverIterations" value="5" />
		<!-- Specifies how often the link stats should be calculated and written. Use 0 to disable the generation of link stats. -->
		<param name="writeLinkStatsInterval" value="10" />
	</module>
<!-- ====================================================================== -->
	<module name="network" >
		<!-- The Coordinates Reference System in which the coordinates are expressed in the input file. At import, the coordinates will be converted to the coordinate system defined in "global", and willbe converted back at export. If not specified, no conversion happens. -->
		<param name="inputCRS" value="null" />
		<param name="inputChangeEventsFile" value="scenario_matsim_network_change_events.xml" />
		<param name="inputNetworkFile" value="scenario_matsim_network.xml.gz" />
		<param name="laneDefinitionsFile" value="null" />
		<param name="timeVariantNetwork" value="true" />
	</module>
<!-- ====================================================================== -->
	<module name="parallelEventHandling" >
		<!-- Estimated number of events during mobsim run. An optional optimization hint for the framework. -->
		<param name="estimatedNumberOfEvents" value="null" />
		<!-- Number of threads for parallel events handler. _null_ means the framework decides by itself. 0 is currently not possible. -->
		<param name="numberOfThreads" value="1" />
		<!-- If enabled, each event handler is assigned to its own thread. Note that enabling this feature disabled the numberOfThreads option! This feature is still experimental! -->
		<param name="oneThreadPerHandler" value="false" />
		<!-- If enabled, it is ensured that all events that are created during a time step of the mobility simulation are processed before the next time step is simulated. E.g. neccessary when within-day replanning is used. -->
		<param name="synchronizeOnSimSteps" value="true" />
	</module>
<!-- ====================================================================== -->
	<module name="planCalcScore" >
		<!-- logit model scale parameter. default: 1.  Has name and default value for historical reasons (see Bryan Raney's phd thesis). -->
		<param name="BrainExpBeta" value="2.0" />
		<param name="PathSizeLogitBeta" value="1.0" />
		<!-- fraction of iterations at which MSA score averaging is started. The matsim theory department suggests to use this together with switching off choice set innovation (where a similar switch exists), but it has not been tested yet. -->
		<param name="fractionOfIterationsToStartScoreMSA" value="null" />
		<!-- new_score = (1-learningRate)*old_score + learningRate * score_from_mobsim.  learning rates close to zero emulate score averaging, but slow down initial convergence -->
		<param name="learningRate" value="1.0" />
		<!-- There used to be a plateau between duration=0 and duration=zeroUtilityDuration. This caused durations to evolve to zero once they were below zeroUtilityDuration, causing problems.  Only use this switch if you need to be backwards compatible with some old results.  (changed nov'13) -->
		<param name="usingOldScoringBelowZeroUtilityDuration" value="false" />
		<!-- write a plans file in each iteration directory which contains what each agent actually did, and the score it received. -->
		<param name="writeExperiencedPlans" value="true" />
		<parameterset type="scoringParameters" >
			<param name="earlyDeparture" value="-0.0" />
			<param name="lateArrival" value="-18.0" />
			<param name="marginalUtilityOfMoney" value="1.0" />
			<param name="performing" value="6.0" />
			<param name="subpopulation" value="null" />
			<param name="utilityOfLineSwitch" value="-1.0" />
			<param name="waiting" value="-0.0" />
			<param name="waitingPt" value="-6.0" />
			<parameterset type="activityParams" >
				<param name="activityType" value="dummy" />
				<param name="closingTime" value="undefined" />
				<param name="earliestEndTime" value="undefined" />
				<param name="latestStartTime" value="undefined" />
				<param name="minimalDuration" value="undefined" />
				<param name="openingTime" value="undefined" />
				<param name="priority" value="1.0" />
				<param name="scoringThisActivityAtAll" value="true" />
				<!-- typical duration of activity.  needs to be defined and non-zero.  in sec. -->
				<param name="typicalDuration" value="02:00:00" />
				<!-- method to compute score at typical duration.  Options: | uniform | relative | Use uniform for backwards compatibility (all activities same score; higher proba to drop long acts). -->
				<param name="typicalDurationScoreComputation" value="relative" />
			</parameterset>
			<parameterset type="activityParams" >
				<param name="activityType" value="car interaction" />
				<param name="closingTime" value="undefined" />
				<param name="earliestEndTime" value="undefined" />
				<param name="latestStartTime" value="undefined" />
				<param name="minimalDuration" value="undefined" />
				<param name="openingTime" value="undefined" />
				<param name="priority" value="1.0" />
				<param name="scoringThisActivityAtAll" value="false" />
				<!-- typical duration of activity.  needs to be defined and non-zero.  in sec. -->
				<param name="typicalDuration" value="undefined" />
				<!-- method to compute score at typical duration.  Options: | uniform | relative | Use uniform for backwards compatibility (all activities same score; higher proba to drop long acts). -->
				<param name="typicalDurationScoreComputation" value="relative" />
			</parameterset>
			<parameterset type="activityParams" >
				<param name="activityType" value="pt interaction" />
				<param name="closingTime" value="undefined" />
				<param name="earliestEndTime" value="undefined" />
				<param name="latestStartTime" value="undefined" />
				<param name="minimalDuration" value="undefined" />
				<param name="openingTime" value="undefined" />
				<param name="priority" value="1.0" />
				<param name="scoringThisActivityAtAll" value="false" />
				<!-- typical duration of activity.  needs to be defined and non-zero.  in sec. -->
				<param name="typicalDuration" value="undefined" />
				<!-- method to compute score at typical duration.  Options: | uniform | relative | Use uniform for backwards compatibility (all activities same score; higher proba to drop long acts). -->
				<param name="typicalDurationScoreComputation" value="relative" />
			</parameterset>
			<parameterset type="activityParams" >
				<param name="activityType" value="bike interaction" />
				<param name="closingTime" value="undefined" />
				<param name="earliestEndTime" value="undefined" />
				<param name="latestStartTime" value="undefined" />
				<param name="minimalDuration" value="undefined" />
				<param name="openingTime" value="undefined" />
				<param name="priority" value="1.0" />
				<param name="scoringThisActivityAtAll" value="false" />
				<!-- typical duration of activity.  needs to be defined and non-zero.  in sec. -->
				<param name="typicalDuration" value="undefined" />
				<!-- method to compute score at typical duration.  Options: | uniform | relative | Use uniform for backwards compatibility (all activities same score; higher proba to drop long acts). -->
				<param name="typicalDurationScoreComputation" value="relative" />
			</parameterset>
			<parameterset type="activityParams" >
				<param name="activityType" value="other interaction" />
				<param name="closingTime" value="undefined" />
				<param name="earliestEndTime" value="undefined" />
				<param name="latestStartTime" value="undefined" />
				<param name="minimalDuration" value="undefined" />
				<param name="openingTime" value="undefined" />
				<param name="priority" value="1.0" />
				<param name="scoringThisActivityAtAll" value="false" />
				<!-- typical duration of activity.  needs to be defined and non-zero.  in sec. -->
				<param name="typicalDuration" value="undefined" />
				<!-- method to compute score at typical duration.  Options: | uniform | relative | Use uniform for backwards compatibility (all activities same score; higher proba to drop long acts). -->
				<param name="typicalDurationScoreComputation" value="relative" />
			</parameterset>
			<parameterset type="activityParams" >
				<param name="activityType" value="walk interaction" />
				<param name="closingTime" value="undefined" />
				<param name="earliestEndTime" value="undefined" />
				<param name="latestStartTime" value="undefined" />
				<param name="minimalDuration" value="undefined" />
				<param name="openingTime" value="undefined" />
				<param name="priority" value="1.0" />
				<param name="scoringThisActivityAtAll" value="false" />
				<!-- typical duration of activity.  needs to be defined and non-zero.  in sec. -->
				<param name="typicalDuration" value="undefined" />
				<!-- method to compute score at typical duration.  Options: | uniform | relative | Use uniform for backwards compatibility (all activities same score; higher proba to drop long acts). -->
				<param name="typicalDurationScoreComputation" value="relative" />
			</parameterset>
			<parameterset type="activityParams" >
				<param name="activityType" value="home" />
				<param name="closingTime" value="undefined" />
				<param name="earliestEndTime" value="undefined" />
				<param name="latestStartTime" value="undefined" />
				<param name="minimalDuration" value="08:00:00" />
				<param name="openingTime" value="undefined" />
				<param name="priority" value="1.0" />
				<param name="scoringThisActivityAtAll" value="true" />
				<!-- typical duration of activity.  needs to be defined and non-zero.  in sec. -->
				<param name="typicalDuration" value="12:00:00" />
				<!-- method to compute score at typical duration.  Options: | uniform | relative | Use uniform for backwards compatibility (all activities same score; higher proba to drop long acts). -->
				<param name="typicalDurationScoreComputation" value="relative" />
			</parameterset>
			<parameterset type="activityParams" >
				<param name="activityType" value="work" />
				<param name="closingTime" value="18:00:00" />
				<param name="earliestEndTime" value="undefined" />
				<param name="latestStartTime" value="09:00:00" />
				<param name="minimalDuration" value="06:00:00" />
				<param name="openingTime" value="07:00:00" />
				<param name="priority" value="1.0" />
				<param name="scoringThisActivityAtAll" value="true" />
				<!-- typical duration of activity.  needs to be defined and non-zero.  in sec. -->
				<param name="typicalDuration" value="08:00:00" />
				<!-- method to compute score at typical duration.  Options: | uniform | relative | Use uniform for backwards compatibility (all activities same score; higher proba to drop long acts). -->
				<param name="typicalDurationScoreComputation" value="relative" />
			</parameterset>
			<parameterset type="activityParams" >
				<param name="activityType" value="edu" />
				<param name="closingTime" value="undefined" />
				<param name="earliestEndTime" value="undefined" />
				<param name="latestStartTime" value="undefined" />
				<param name="minimalDuration" value="undefined" />
				<param name="openingTime" value="undefined" />
				<param name="priority" value="1.0" />
				<param name="scoringThisActivityAtAll" value="true" />
				<!-- typical duration of activity.  needs to be defined and non-zero.  in sec. -->
				<param name="typicalDuration" value="08:00:00" />
				<!-- method to compute score at typical duration.  Options: | uniform | relative | Use uniform for backwards compatibility (all activities same score; higher proba to drop long acts). -->
				<param name="typicalDurationScoreComputation" value="relative" />
			</parameterset>
			<parameterset type="activityParams" >
				<param name="activityType" value="driveTo" />
				<param name="closingTime" value="undefined" />
				<param name="earliestEndTime" value="undefined" />
				<param name="latestStartTime" value="undefined" />
				<param name="minimalDuration" value="undefined" />
				<param name="openingTime" value="undefined" />
				<param name="priority" value="1.0" />
				<param name="scoringThisActivityAtAll" value="false" />
				<!-- typical duration of activity.  needs to be defined and non-zero.  in sec. -->
				<param name="typicalDuration" value="undefined" />
				<!-- method to compute score at typical duration.  Options: | uniform | relative | Use uniform for backwards compatibility (all activities same score; higher proba to drop long acts). -->
				<param name="typicalDurationScoreComputation" value="relative" />
			</parameterset>
			<parameterset type="modeParams" >
				<!-- [utils] alternative-specific constant.  no guarantee that this is used anywhere. default=0 to be backwards compatible for the time being -->
				<param name="constant" value="0.0" />
				<!-- [utils/m] utility of walking per m, normally negative.  this is on top of the time (dis)utility. -->
				<param name="marginalUtilityOfDistance_util_m" value="0.0" />
				<!-- [utils/hr] additional marginal utility of traveling.  normally negative.  this comes on top of the opportunity cost of time -->
				<param name="marginalUtilityOfTraveling_util_hr" value="-6.0" />
				<param name="mode" value="car" />
				<!-- [unit_of_money/m] conversion of distance into money. Normally negative. -->
				<param name="monetaryDistanceRate" value="0.0" />
			</parameterset>
			<parameterset type="modeParams" >
				<!-- [utils] alternative-specific constant.  no guarantee that this is used anywhere. default=0 to be backwards compatible for the time being -->
				<param name="constant" value="0.0" />
				<!-- [utils/m] utility of walking per m, normally negative.  this is on top of the time (dis)utility. -->
				<param name="marginalUtilityOfDistance_util_m" value="0.0" />
				<!-- [utils/hr] additional marginal utility of traveling.  normally negative.  this comes on top of the opportunity cost of time -->
				<param name="marginalUtilityOfTraveling_util_hr" value="-6.0" />
				<param name="mode" value="pt" />
				<!-- [unit_of_money/m] conversion of distance into money. Normally negative. -->
				<param name="monetaryDistanceRate" value="0.0" />
			</parameterset>
			<parameterset type="modeParams" >
				<!-- [utils] alternative-specific constant.  no guarantee that this is used anywhere. default=0 to be backwards compatible for the time being -->
				<param name="constant" value="0.0" />
				<!-- [utils/m] utility of walking per m, normally negative.  this is on top of the time (dis)utility. -->
				<param name="marginalUtilityOfDistance_util_m" value="0.0" />
				<!-- [utils/hr] additional marginal utility of traveling.  normally negative.  this comes on top of the opportunity cost of time -->
				<param name="marginalUtilityOfTraveling_util_hr" value="-6.0" />
				<param name="mode" value="walk" />
				<!-- [unit_of_money/m] conversion of distance into money. Normally negative. -->
				<param name="monetaryDistanceRate" value="0.0" />
			</parameterset>
			<parameterset type="modeParams" >
				<!-- [utils] alternative-specific constant.  no guarantee that this is used anywhere. default=0 to be backwards compatible for the time being -->
				<param name="constant" value="0.0" />
				<!-- [utils/m] utility of walking per m, normally negative.  this is on top of the time (dis)utility. -->
				<param name="marginalUtilityOfDistance_util_m" value="0.0" />
				<!-- [utils/hr] additional marginal utility of traveling.  normally negative.  this comes on top of the opportunity cost of time -->
				<param name="marginalUtilityOfTraveling_util_hr" value="-6.0" />
				<param name="mode" value="bike" />
				<!-- [unit_of_money/m] conversion of distance into money. Normally negative. -->
				<param name="monetaryDistanceRate" value="0.0" />
			</parameterset>
			<parameterset type="modeParams" >
				<!-- [utils] alternative-specific constant.  no guarantee that this is used anywhere. default=0 to be backwards compatible for the time being -->
				<param name="constant" value="0.0" />
				<!-- [utils/m] utility of walking per m, normally negative.  this is on top of the time (dis)utility. -->
				<param name="marginalUtilityOfDistance_util_m" value="0.0" />
				<!-- [utils/hr] additional marginal utility of traveling.  normally negative.  this comes on top of the opportunity cost of time -->
				<param name="marginalUtilityOfTraveling_util_hr" value="-6.0" />
				<param name="mode" value="ride" />
				<!-- [unit_of_money/m] conversion of distance into money. Normally negative. -->
				<param name="monetaryDistanceRate" value="0.0" />
			</parameterset>
			<parameterset type="modeParams" >
				<!-- [utils] alternative-specific constant.  no guarantee that this is used anywhere. default=0 to be backwards compatible for the time being -->
				<param name="constant" value="0.0" />
				<!-- [utils/m] utility of walking per m, normally negative.  this is on top of the time (dis)utility. -->
				<param name="marginalUtilityOfDistance_util_m" value="0.0" />
				<!-- [utils/hr] additional marginal utility of traveling.  normally negative.  this comes on top of the opportunity cost of time -->
				<param name="marginalUtilityOfTraveling_util_hr" value="-6.0" />
				<param name="mode" value="other" />
				<!-- [unit_of_money/m] conversion of distance into money. Normally negative. -->
				<param name="monetaryDistanceRate" value="0.0" />
			</parameterset>
			<parameterset type="modeParams" >
				<!-- [utils] alternative-specific constant.  no guarantee that this is used anywhere. default=0 to be backwards compatible for the time being -->
				<param name="constant" value="0.0" />
				<!-- [utils/m] utility of walking per m, normally negative.  this is on top of the time (dis)utility. -->
				<param name="marginalUtilityOfDistance_util_m" value="0.0" />
				<!-- [utils/hr] additional marginal utility of traveling.  normally negative.  this comes on top of the opportunity cost of time -->
				<param name="marginalUtilityOfTraveling_util_hr" value="-6.0" />
				<param name="mode" value="carFreespeed" />
				<!-- [unit_of_money/m] conversion of distance into money. Normally negative. -->
				<param name="monetaryDistanceRate" value="0.0" />
			</parameterset>
			<parameterset type="modeParams" >
				<!-- [utils] alternative-specific constant.  no guarantee that this is used anywhere. default=0 to be backwards compatible for the time being -->
				<param name="constant" value="0.0" />
				<!-- [utils/m] utility of walking per m, normally negative.  this is on top of the time (dis)utility. -->
				<param name="marginalUtilityOfDistance_util_m" value="0.0" />
				<!-- [utils/hr] additional marginal utility of traveling.  normally negative.  this comes on top of the opportunity cost of time -->
				<param name="marginalUtilityOfTraveling_util_hr" value="-6.0" />
				<param name="mode" value="carGlobalInformation" />
				<!-- [unit_of_money/m] conversion of distance into money. Normally negative. -->
				<param name="monetaryDistanceRate" value="0.0" />
			</parameterset>
			<parameterset type="modeParams" >
				<!-- [utils] alternative-specific constant.  no guarantee that this is used anywhere. default=0 to be backwards compatible for the time being -->
				<param name="constant" value="0.0" />
				<!-- [utils/m] utility of walking per m, normally negative.  this is on top of the time (dis)utility. -->
				<param name="marginalUtilityOfDistance_util_m" value="0.0" />
				<!-- [utils/hr] additional marginal utility of traveling.  normally negative.  this comes on top of the opportunity cost of time -->
				<param name="marginalUtilityOfTraveling_util_hr" value="-6.0" />
				<param name="mode" value="emergencyVehicle" />
				<!-- [unit_of_money/m] conversion of distance into money. Normally negative. -->
				<param name="monetaryDistanceRate" value="0.0" />
			</parameterset>
		</parameterset>
	</module>
<!-- ====================================================================== -->
	<module name="plans" >
		<!-- String: minOfDurationAndEndTime tryEndTimeThenDuration endTimeOnly. Anything besides minOfDurationAndEndTime will internally use a different (simpler) version of the TimeAllocationMutator. -->
		<param name="activityDurationInterpretation" value="tryEndTimeThenDuration" />
		<!-- The Coordinates Reference System in which the coordinates are expressed in the input file. At import, the coordinates will be converted to the coordinate system defined in "global", and willbe converted back at export. If not specified, no conversion happens. -->
		<param name="inputCRS" value="null" />
		<!-- Path to a file containing person attributes (required file format: ObjectAttributes). -->
		<param name="inputPersonAttributesFile" value="null" />
		<param name="inputPlansFile" value="scenario_matsim_plans.xml" />
		<!-- Defines how routes are stored in memory. Currently supported: LinkNetworkRoute, CompressedNetworkRoute. -->
		<param name="networkRouteType" value="LinkNetworkRoute" />
		<!-- (not tested) will remove plan attributes that are presumably not used, such as activityStartTime. default=false -->
		<param name="removingUnnecessaryPlanAttributes" value="false" />
		<!-- Name of the (Object)Attribute defining the subpopulation to which pertains a Person (as freight, through traffic, etc.). The attribute must be of String type.  Change away from default only in desperate situations. -->
		<param name="subpopulationAttributeName" value="subpopulation" />
	</module>
<!-- ====================================================================== -->
	<module name="planscalcroute" >
		<!-- All the modes for which the router is supposed to generate network routes (like car) -->
		<param name="networkModes" value="car,carFreespeed,carGlobalInformation,emergencyVehicle" />
		<parameterset type="teleportedModeParameters" >
			<param name="beelineDistanceFactor" value="1.3" />
			<param name="mode" value="bike" />
			<!-- Free-speed factor for a teleported mode. Travel time = teleportedModeFreespeedFactor * <freespeed car travel time>. Insert a line like this for every such mode. Please do not set teleportedModeFreespeedFactor as well as teleportedModeSpeed for the same mode, but if you do, +teleportedModeFreespeedFactor wins over teleportedModeSpeed. -->
			<param name="teleportedModeFreespeedFactor" value="null" />
			<!-- Speed for a teleported mode. Travel time = (<beeline distance> * beelineDistanceFactor) / teleportedModeSpeed. Insert a line like this for every such mode. -->
			<param name="teleportedModeSpeed" value="4.166666666666667" />
		</parameterset>
		<parameterset type="teleportedModeParameters" >
			<param name="beelineDistanceFactor" value="1.3" />
			<param name="mode" value="walk" />
			<!-- Free-speed factor for a teleported mode. Travel time = teleportedModeFreespeedFactor * <freespeed car travel time>. Insert a line like this for every such mode. Please do not set teleportedModeFreespeedFactor as well as teleportedModeSpeed for the same mode, but if you do, +teleportedModeFreespeedFactor wins over teleportedModeSpeed. -->
			<param name="teleportedModeFreespeedFactor" value="null" />
			<!-- Speed for a teleported mode. Travel time = (<beeline distance> * beelineDistanceFactor) / teleportedModeSpeed. Insert a line like this for every such mode. -->
			<param name="teleportedModeSpeed" value="0.8333333333333333" />
		</parameterset>
		<parameterset type="teleportedModeParameters" >
			<param name="beelineDistanceFactor" value="1.3" />
			<param name="mode" value="access_walk" />
			<!-- Free-speed factor for a teleported mode. Travel time = teleportedModeFreespeedFactor * <freespeed car travel time>. Insert a line like this for every such mode. Please do not set teleportedModeFreespeedFactor as well as teleportedModeSpeed for the same mode, but if you do, +teleportedModeFreespeedFactor wins over teleportedModeSpeed. -->
			<param name="teleportedModeFreespeedFactor" value="null" />
			<!-- Speed for a teleported mode. Travel time = (<beeline distance> * beelineDistanceFactor) / teleportedModeSpeed. Insert a line like this for every such mode. -->
			<param name="teleportedModeSpeed" value="0.8333333333333333" />
		</parameterset>
		<parameterset type="teleportedModeParameters" >
			<param name="beelineDistanceFactor" value="1.3" />
			<param name="mode" value="egress_walk" />
			<!-- Free-speed factor for a teleported mode. Travel time = teleportedModeFreespeedFactor * <freespeed car travel time>. Insert a line like this for every such mode. Please do not set teleportedModeFreespeedFactor as well as teleportedModeSpeed for the same mode, but if you do, +teleportedModeFreespeedFactor wins over teleportedModeSpeed. -->
			<param name="teleportedModeFreespeedFactor" value="null" />
			<!-- Speed for a teleported mode. Travel time = (<beeline distance> * beelineDistanceFactor) / teleportedModeSpeed. Insert a line like this for every such mode. -->
			<param name="teleportedModeSpeed" value="0.8333333333333333" />
		</parameterset>
		<parameterset type="teleportedModeParameters" >
			<param name="beelineDistanceFactor" value="1.3" />
			<param name="mode" value="undefined" />
			<!-- Free-speed factor for a teleported mode. Travel time = teleportedModeFreespeedFactor * <freespeed car travel time>. Insert a line like this for every such mode. Please do not set teleportedModeFreespeedFactor as well as teleportedModeSpeed for the same mode, but if you do, +teleportedModeFreespeedFactor wins over teleportedModeSpeed. -->
			<param name="teleportedModeFreespeedFactor" value="null" />
			<!-- Speed for a teleported mode. Travel time = (<beeline distance> * beelineDistanceFactor) / teleportedModeSpeed. Insert a line like this for every such mode. -->
			<param name="teleportedModeSpeed" value="13.88888888888889" />
		</parameterset>
		<parameterset type="teleportedModeParameters" >
			<param name="beelineDistanceFactor" value="1.3" />
			<param name="mode" value="ride" />
			<!-- Free-speed factor for a teleported mode. Travel time = teleportedModeFreespeedFactor * <freespeed car travel time>. Insert a line like this for every such mode. Please do not set teleportedModeFreespeedFactor as well as teleportedModeSpeed for the same mode, but if you do, +teleportedModeFreespeedFactor wins over teleportedModeSpeed. -->
			<param name="teleportedModeFreespeedFactor" value="1.0" />
			<!-- Speed for a teleported mode. Travel time = (<beeline distance> * beelineDistanceFactor) / teleportedModeSpeed. Insert a line like this for every such mode. -->
			<param name="teleportedModeSpeed" value="null" />
		</parameterset>
		<parameterset type="teleportedModeParameters" >
			<param name="beelineDistanceFactor" value="1.3" />
			<param name="mode" value="pt" />
			<!-- Free-speed factor for a teleported mode. Travel time = teleportedModeFreespeedFactor * <freespeed car travel time>. Insert a line like this for every such mode. Please do not set teleportedModeFreespeedFactor as well as teleportedModeSpeed for the same mode, but if you do, +teleportedModeFreespeedFactor wins over teleportedModeSpeed. -->
			<param name="teleportedModeFreespeedFactor" value="2.0" />
			<!-- Speed for a teleported mode. Travel time = (<beeline distance> * beelineDistanceFactor) / teleportedModeSpeed. Insert a line like this for every such mode. -->
			<param name="teleportedModeSpeed" value="null" />
		</parameterset>
	</module>
<!-- ====================================================================== -->
	<module name="ptCounts" >
		<!-- factor by which to re-scale the simulated values.  necessary when simulation runs with something different from 100%.  needs to be adapted manually -->
		<param name="countsScaleFactor" value="1.0" />
		<!-- distance to distanceFilterCenterNode to include counting stations. The unit of distance is the Euclidean distance implied by the coordinate system -->
		<param name="distanceFilter" value="null" />
		<!-- node id for center node of distance filter -->
		<param name="distanceFilterCenterNode" value="null" />
		<!-- input file containing the alighting (getting off) counts for pt -->
		<param name="inputAlightCountsFile" value="null" />
		<!-- input file containing the boarding (getting on) counts for pt -->
		<param name="inputBoardCountsFile" value="null" />
		<!-- input file containing the occupancy counts for pt -->
		<param name="inputOccupancyCountsFile" value="null" />
		<!-- possible values: `html', `kml', `txt', `all' -->
		<param name="outputformat" value="null" />
		<!-- every how many iterations (starting with 0) counts comparisons are generated -->
		<param name="ptCountsInterval" value="10" />
	</module>
<!-- ====================================================================== -->
	<module name="qsim" >
		<!-- If set to true, creates a vehicle for each person corresponding to every network mode. However, this will be overridden if vehicle source is fromVehiclesData. -->
		<param name="creatingVehiclesForAllNetworkModes" value="true" />
		<param name="endTime" value="23:59:59" />
		<param name="flowCapacityFactor" value="1.0" />
		<!-- decides if waiting vehicles enter the network after or before the already driving vehicles were moved. Default: false -->
		<param name="insertingWaitingVehiclesBeforeDrivingVehicles" value="false" />
		<!-- If link dynamics is set as SeepageQ, set to false if all seep modes should perform seepage. Default is true (better option). -->
		<param name="isRestrictingSeepage" value="true" />
		<!-- If link dynamics is set as SeepageQ, set to true if seep mode do not consumes any space on the link. Default is false. -->
		<param name="isSeepModeStorageFree" value="false" />
		<!-- default: FIFO; options: FIFO PassingQ SeepageQ -->
		<param name="linkDynamics" value="FIFO" />
		<!-- The (initial) width of the links of the network. Use positive floating point values. This is used only for visualisation. -->
		<param name="linkWidth" value="30.0" />
		<!-- [comma-separated list] Defines which modes are congested modes. Technically, these are the modes that the departure handler of the netsimengine handles.  Effective cell size, effective lane width, flow capacity factor, and storage capacity factor need to be set with diligence.  Need to be vehicular modes to make sense. -->
		<param name="mainMode" value="car" />
		<!-- Shortens a link in the visualization, i.e. its start and end point are moved into towards the center. Does not affect traffic flow.  -->
		<param name="nodeOffset" value="0.0" />
		<!-- Number of threads used for the QSim.  Note that this setting is independent from the "global" threads setting.  In contrast to earlier versions, the non-parallel special version is no longer there. -->
		<param name="numberOfThreads" value="1" />
		<!-- Boolean. `true': stuck vehicles are removed, aborting the plan; `false': stuck vehicles are forced into the next link. `false' is probably the better choice. -->
		<param name="removeStuckVehicles" value="false" />
		<!-- If link dynamics is set as SeepageQ, set a seep mode. Default is bike. -->
		<param name="seepMode" value="bike" />
		<!-- Possible values: minOfEndtimeAndMobsimFinished, onlyUseEndtime -->
		<param name="simEndtimeInterpretation" value="null" />
		<!-- Options: maxOfStarttimeAndEarliestActivityEnd onlyUseStarttime  -->
		<param name="simStarttimeInterpretation" value="onlyUseStarttime" />
		<!-- snapshotStyle. One of: equiDist queue withHoles withHolesAndShowHoles kinematicWaves  -->
		<param name="snapshotStyle" value="equiDist" />
		<param name="snapshotperiod" value="00:00:20" />
		<param name="startTime" value="12:50:00" />
		<param name="storageCapacityFactor" value="1.0" />
		<!-- time in seconds.  Time after which the frontmost vehicle on a link is called `stuck' if it does not move. -->
		<param name="stuckTime" value="10.0" />
		<param name="timeStepSize" value="00:00:01" />
		<!-- options: queue withHoles kinematicWaves  -->
		<param name="trafficDynamics" value="queue" />
		<!-- Set this parameter to true if lanes should be used, false if not. -->
		<param name="useLanes" value="false" />
		<!-- If a route does not reference a vehicle, agents will use the vehicle with the same id as their own. -->
		<param name="usePersonIdForMissingVehicleId" value="true" />
		<!-- If false, the qsim accumulates fractional flows up to one flow unit in every time step.  If true, flows are updated only if an agent wants to enter the link or an agent is added to buffer. Default is true. -->
		<param name="usingFastCapacityUpdate" value="true" />
		<!-- if the qsim should use as many runners as there are threads (Christoph's dissertation version) or more of them, together with a thread pool (seems to be faster in some situations, but is not tested). -->
		<param name="usingThreadpool" value="true" />
		<!-- Defines what happens if an agent wants to depart, but the specified vehicle is not available. One of: teleport wait exception  -->
		<param name="vehicleBehavior" value="teleport" />
		<!-- If vehicles should all be the same default vehicle, or come from the vehicles file, or something else.  Possible values:  defaultVehicle modeVehicleTypesFromVehiclesData fromVehiclesData -->
		<param name="vehiclesSource" value="defaultVehicle" />
	</module>
<!-- ====================================================================== -->
	<module name="scenario" >
	</module>
<!-- ====================================================================== -->
	<module name="strategy" >
		<!-- the external executable will be called with a config file as argument.  This is the pathname to a possible skeleton config, to which additional information will be added.  Can be null. -->
		<param name="ExternalExeConfigTemplate" value="null" />
		<!-- time out value (in seconds) after which matsim will consider the external strategy as failed -->
		<param name="ExternalExeTimeOut" value="3600" />
		<!-- root directory for temporary files generated by the external executable. Provided as a service; I don't think this is used by MATSim. -->
		<param name="ExternalExeTmpFileRootDir" value="null" />
		<!-- fraction of iterations where innovative strategies are switched off.  Something link 0.8 should be good.  E.g. if you run from iteration 400 to iteration 500, innovation is switched off at iteration 480 -->
		<param name="fractionOfIterationsToDisableInnovation" value="Infinity" />
		<!-- maximum number of plans per agent.  ``0'' means ``infinity''.  Currently (2010), ``5'' is a good number -->
		<param name="maxAgentPlanMemorySize" value="0" />
		<!-- strategyName of PlanSelector for plans removal.  Possible defaults: WorstPlanSelector SelectRandom SelectExpBetaForRemoval ChangeExpBetaForRemoval PathSizeLogitSelectorForRemoval . The current default, WorstPlanSelector is not a good choice from a discrete choice theoretical perspective. Alternatives, however, have not been systematically tested. kai, feb'12 -->
		<param name="planSelectorForRemoval" value="WorstPlanSelector" />
		<parameterset type="strategysettings" >
			<!-- iteration after which strategy will be disabled.  most useful for ``innovative'' strategies (new routes, new times, ...). Normally, better use fractionOfIterationsToDisableInnovation -->
			<param name="disableAfterIteration" value="-1" />
			<!-- path to external executable (if applicable) -->
			<param name="executionPath" value="null" />
			<!-- strategyName of strategy.  Possible default names: SelectRandomBestScoreKeepLastSelectedChangeExpBetaSelectExpBetaSelectPathSizeLogit (selectors), ReRoute TimeAllocationMutator ChangeLegMode TimeAllocationMutator_ReRoute ChangeSingleLegMode ChangeSingleTripMode SubtourModeChoice ChangeTripMode TripSubtourModeChoice  (innovative strategies). -->
			<param name="strategyName" value="BestScore" />
			<!-- subpopulation to which the strategy applies. "null" refers to the default population, that is, the set of persons for which no explicit subpopulation is defined (ie no subpopulation attribute) -->
			<param name="subpopulation" value="null" />
			<!-- weight of a strategy: for each agent, a strategy will be selected with a probability proportional to its weight -->
			<param name="weight" value="0.8" />
		</parameterset>
		<parameterset type="strategysettings" >
			<!-- iteration after which strategy will be disabled.  most useful for ``innovative'' strategies (new routes, new times, ...). Normally, better use fractionOfIterationsToDisableInnovation -->
			<param name="disableAfterIteration" value="-1" />
			<!-- path to external executable (if applicable) -->
			<param name="executionPath" value="null" />
			<!-- strategyName of strategy.  Possible default names: SelectRandomBestScoreKeepLastSelectedChangeExpBetaSelectExpBetaSelectPathSizeLogit (selectors), ReRoute TimeAllocationMutator ChangeLegMode TimeAllocationMutator_ReRoute ChangeSingleLegMode ChangeSingleTripMode SubtourModeChoice ChangeTripMode TripSubtourModeChoice  (innovative strategies). -->
			<param name="strategyName" value="ReRoute" />
			<!-- subpopulation to which the strategy applies. "null" refers to the default population, that is, the set of persons for which no explicit subpopulation is defined (ie no subpopulation attribute) -->
			<param name="subpopulation" value="null" />
			<!-- weight of a strategy: for each agent, a strategy will be selected with a probability proportional to its weight -->
			<param name="weight" value="0.1" />
		</parameterset>
		<parameterset type="strategysettings" >
			<!-- iteration after which strategy will be disabled.  most useful for ``innovative'' strategies (new routes, new times, ...). Normally, better use fractionOfIterationsToDisableInnovation -->
			<param name="disableAfterIteration" value="-1" />
			<!-- path to external executable (if applicable) -->
			<param name="executionPath" value="null" />
			<!-- strategyName of strategy.  Possible default names: SelectRandomBestScoreKeepLastSelectedChangeExpBetaSelectExpBetaSelectPathSizeLogit (selectors), ReRoute TimeAllocationMutator ChangeLegMode TimeAllocationMutator_ReRoute ChangeSingleLegMode ChangeSingleTripMode SubtourModeChoice ChangeTripMode TripSubtourModeChoice  (innovative strategies). -->
			<param name="strategyName" value="TimeAllocationMutator" />
			<!-- subpopulation to which the strategy applies. "null" refers to the default population, that is, the set of persons for which no explicit subpopulation is defined (ie no subpopulation attribute) -->
			<param name="subpopulation" value="null" />
			<!-- weight of a strategy: for each agent, a strategy will be selected with a probability proportional to its weight -->
			<param name="weight" value="0.1" />
		</parameterset>
	</module>
<!-- ====================================================================== -->
	<module name="subtourModeChoice" >
		<!-- Defines the chain-based modes, seperated by commas -->
		<param name="chainBasedModes" value="car,bike" />
		<!-- Defines whether car availability must be considered or not. A agent has no car only if it has no license, or never access to a car -->
		<param name="considerCarAvailability" value="false" />
		<!-- Defines all the modes available, including chain-based modes, seperated by commas -->
		<param name="modes" value="car,pt,bike,walk" />
	</module>
<!-- ====================================================================== -->
	<module name="transit" >
		<!-- The Coordinates Reference System in which the coordinates are expressed in the input file. At import, the coordinates will be converted to the coordinate system defined in "global", and willbe converted back at export. If not specified, no conversion happens. -->
		<param name="inputScheduleCRS" value="null" />
		<!-- Optional input file containing additional attributes for transit lines, stored as ObjectAttributes. -->
		<param name="transitLinesAttributesFile" value="null" />
		<!-- Comma-separated list of transportation modes that are handled as transit. Defaults to 'pt'. -->
		<param name="transitModes" value="pt" />
		<!-- Input file containing the transit schedule to be simulated. -->
		<param name="transitScheduleFile" value="null" />
		<!-- Optional input file containing additional attributes for transit stop facilities, stored as ObjectAttributes. -->
		<param name="transitStopsAttributesFile" value="null" />
		<!-- Set this parameter to true if transit should be simulated, false if not. -->
		<param name="useTransit" value="false" />
		<!-- Input file containing the vehicles used by the departures in the transit schedule. -->
		<param name="vehiclesFile" value="null" />
	</module>
<!-- ====================================================================== -->
	<module name="transitRouter" >
		<!-- additional time the router allocates when a line switch happens. Can be interpreted as a 'safety' time that agents need to safely transfer from one line to another -->
		<param name="additionalTransferTime" value="0.0" />
		<!-- Factor with which direct walk generalized cost is multiplied before it is compared to the pt generalized cost.  Set to a very high value to reduce direct walk results. -->
		<param name="directWalkFactor" value="1.0" />
		<!-- step size to increase searchRadius if no stops are found -->
		<param name="extensionRadius" value="200.0" />
		<!-- maximum beeline distance between stops that agents could transfer to by walking -->
		<param name="maxBeelineWalkConnectionDistance" value="100.0" />
		<!-- the radius in which stop locations are searched, given a start or target coordinate -->
		<param name="searchRadius" value="1000.0" />
	</module>
<!-- ====================================================================== -->
	<module name="travelTimeCalculator" >
		<!-- Transport modes that will be respected by the travel time collector. 'car' is default, which includes also busses from the pt simulation module. Use this parameter in combination with 'filterModes' = true! -->
		<param name="analyzedModes" value="car" />
		<param name="calculateLinkToLinkTravelTimes" value="false" />
		<param name="calculateLinkTravelTimes" value="true" />
		<!-- If true, link travel times from legs performed on modes not included in the 'analyzedModes' parameter are ignored. -->
		<param name="filterModes" value="false" />
		<!-- The lenght (in sec) of the time period that is splited into time bins; an additional time bin is created to aggregate all travel times collected after maxTime -->
		<param name="maxTime" value="108000" />
		<!-- If true, link travel times are measured and calculated separately for each mode in analyzedModes. Other modes are ignored. If true, filterModes has no effect. -->
		<param name="separateModes" value="false" />
		<!-- How to deal with congested time bins that have no link entry events. `optimistic' assumes free speed (too optimistic); 'experimental_LastMile' is experimental and probably too pessimistic. -->
		<param name="travelTimeAggregator" value="optimistic" />
		<!-- The size of the time bin (in sec) into which the link travel times are aggregated for the router -->
		<param name="travelTimeBinSize" value="900" />
		<!-- possible values: nullTravelTimeCalculatorArray TravelTimeCalculatorHashMap  -->
		<param name="travelTimeCalculator" value="TravelTimeCalculatorArray" />
		<!-- How to deal with link entry times at different positions during the time bin. Currently supported: average, linearinterpolation -->
		<param name="travelTimeGetter" value="average" />
	</module>
<!-- ====================================================================== -->
	<module name="vehicles" >
		<param name="vehiclesFile" value="null" />
	</module>
<!-- ====================================================================== -->
	<module name="vspExperimental" >
		<!-- (do not use except of you have to) There was a problem with pt interaction scoring.  Some people solved it by overwriting the parameters of the pt interaction activity type.  Doing this now throws an Exception.  If you still insist on doing this, set the following to true. -->
		<param name="isAbleToOverwritePtInteractionParams" value="false" />
		<param name="isGeneratingBoardingDeniedEvent" value="false" />
		<!-- if an approximation of the opportunity cost of time is included into the radius calculation for location choice.`true' will be faster, but it is an approximation.  Default is `true'; `false' is available for backwards compatibility. -->
		<param name="isUsingOpportunityCostOfTimeForLocationChoice" value="true" />
		<param name="logitScaleParamForPlansRemoval" value="1.0" />
		<!-- Options: | ignore | info | warn | abort | .  When violating VSP defaults, this results in nothing, logfile infos, logfile warnings, or aborts.  Members of VSP should use `abort' or talk to kai. -->
		<param name="vspDefaultsCheckingLevel" value="ignore" />
		<!-- if true then writes output_events in output directory.  default is `false'. Will only work when lastIteration is multiple of events writing interval -->
		<param name="writingOutputEvents" value="true" />
	</module>
<!-- ====================================================================== -->

</config>

2018-53-21 02:53:15 [Thread-2]  INFO ControlerUtils.java:63 Complete config dump done.
2018-53-21 02:53:15 [Thread-2]  INFO ControlerUtils.java:64 Checking consistency of config...
2018-53-21 02:53:15 [Thread-2]  INFO VspConfigConsistencyCheckerImpl.java:58 NOT running vsp config consistency check because vsp defaults checking level is set to IGNORE
2018-53-21 02:53:15 [Thread-2]  INFO ControlerUtils.java:66 Checking consistency of config done.
2018-53-21 02:53:15 [Thread-2] DEBUG NetworkRoutingProvider.java:60 requesting network routing module with routingMode=carFreespeed;	mode=car
2018-53-21 02:53:15 [Thread-2] DEBUG NetworkRoutingProvider.java:60 requesting network routing module with routingMode=car;	mode=car
2018-53-21 02:53:15 [Thread-2] DEBUG NetworkRoutingProvider.java:60 requesting network routing module with routingMode=carGlobalInformation;	mode=car
2018-53-21 02:53:15 [Thread-2] DEBUG NetworkRoutingProvider.java:60 requesting network routing module with routingMode=emergencyVehicle;	mode=car
2018-53-21 02:53:15 [reForSim.0]  INFO NetworkImpl.java:418 building QuadTree for nodes: xrange(235434.79201289918,277127.0966878375); yrange(5872185.455378804,5931325.163208818)
2018-53-21 02:53:15 [reForSim.0]  INFO NetworkImpl.java:427 Building QuadTree took 0.055 seconds.
2018-53-21 02:53:15 [reForSim.0]  INFO Counter.java:61 [PersonPrepareForSim] handled person # 1
2018-53-21 02:53:15 [reForSim.0]  INFO Counter.java:61 [PersonPrepareForSim] handled person # 2
2018-53-21 02:53:15 [reForSim.0]  INFO Counter.java:61 [PersonPrepareForSim] handled person # 4
2018-53-21 02:53:15 [reForSim.0]  INFO Counter.java:61 [PersonPrepareForSim] handled person # 8
2018-53-21 02:53:15 [reForSim.0]  INFO Counter.java:61 [PersonPrepareForSim] handled person # 16
2018-53-21 02:53:15 [reForSim.0]  INFO Counter.java:61 [PersonPrepareForSim] handled person # 32
2018-53-21 02:53:15 [reForSim.0]  INFO Counter.java:61 [PersonPrepareForSim] handled person # 64
2018-53-21 02:53:15 [reForSim.0]  INFO Counter.java:61 [PersonPrepareForSim] handled person # 128
2018-53-21 02:53:15 [reForSim.0]  INFO Counter.java:61 [PersonPrepareForSim] handled person # 256
2018-53-21 02:53:15 [reForSim.0]  INFO Counter.java:61 [PersonPrepareForSim] handled person # 512
2018-53-21 02:53:15 [Thread-2]  INFO Counter.java:67 [PersonPrepareForSim] handled person # 600
2018-53-21 02:53:15 [Thread-2]  INFO Counter.java:61  vehicles # 1
2018-53-21 02:53:15 [Thread-2]  INFO Counter.java:61  vehicles # 2
2018-53-21 02:53:15 [Thread-2]  INFO Counter.java:61  vehicles # 4
2018-53-21 02:53:15 [Thread-2]  INFO Counter.java:61  vehicles # 8
2018-53-21 02:53:15 [Thread-2]  INFO Counter.java:61  vehicles # 16
2018-53-21 02:53:15 [Thread-2]  INFO Counter.java:61  vehicles # 32
2018-53-21 02:53:15 [Thread-2]  INFO Counter.java:61  vehicles # 64
2018-53-21 02:53:15 [Thread-2]  INFO Counter.java:61  vehicles # 128
2018-53-21 02:53:15 [Thread-2]  INFO Counter.java:61  vehicles # 256
2018-53-21 02:53:15 [Thread-2]  INFO Counter.java:61  vehicles # 512
2018-53-21 02:53:15 [Thread-2]  INFO AbstractController.java:133 ###################################################
2018-53-21 02:53:15 [Thread-2]  INFO AbstractController.java:134 ### ITERATION 0 BEGINS
2018-53-21 02:53:15 [Thread-2]  INFO ControlerListenerManagerImpl.java:145 calling notifyIterationStarts on org.matsim.analysis.LegHistogramListener
2018-53-21 02:53:15 [Thread-2]  INFO ControlerListenerManagerImpl.java:145 calling notifyIterationStarts on org.matsim.analysis.LinkStatsControlerListener
2018-53-21 02:53:15 [Thread-2]  INFO ControlerListenerManagerImpl.java:145 calling notifyIterationStarts on org.matsim.core.replanning.ReplanningContextImpl
2018-53-21 02:53:15 [Thread-2]  INFO ControlerListenerManagerImpl.java:145 calling notifyIterationStarts on org.matsim.core.scoring.ExperiencedPlansServiceImpl$1
2018-53-21 02:53:15 [Thread-2]  INFO ControlerListenerManagerImpl.java:145 calling notifyIterationStarts on org.matsim.core.scoring.ScoringFunctionsForPopulation$1
2018-53-21 02:53:15 [Thread-2]  INFO ControlerListenerManagerImpl.java:148 [it.0] all ControlerIterationStartsListeners called.
2018-53-21 02:53:15 [Thread-2]  INFO ControlerListenerManagerImpl.java:224 calling notifyBeforeMobsim on org.matsim.core.controler.corelisteners.EventsHandlingImpl
2018-53-21 02:53:15 [Thread-2]  INFO EventsManagerImpl.java:170 resetting Event-Handlers
2018-53-21 02:53:15 [Thread-2]  INFO EventsManagerImpl.java:177   org.matsim.core.trafficmonitoring.TravelTimeCalculator
2018-53-21 02:53:15 [Thread-2]  INFO EventsManagerImpl.java:177   org.matsim.core.scoring.EventsToLegs
2018-53-21 02:53:15 [Thread-2]  INFO EventsManagerImpl.java:177   org.matsim.withinday.trafficmonitoring.WithinDayTravelTime
2018-53-21 02:53:15 [Thread-2]  INFO EventsManagerImpl.java:177   io.github.agentsoz.bdimatsim.EventsMonitorRegistry
2018-53-21 02:53:15 [Thread-2]  INFO EventsManagerImpl.java:177   org.matsim.analysis.VolumesAnalyzer
2018-53-21 02:53:15 [Thread-2]  INFO EventsManagerImpl.java:177   org.matsim.core.scoring.EventsToActivities
2018-53-21 02:53:15 [Thread-2]  INFO EventsManagerImpl.java:177   org.matsim.analysis.CalcLegTimes
2018-53-21 02:53:15 [Thread-2]  INFO EventsManagerImpl.java:177   org.matsim.analysis.LegHistogram
2018-53-21 02:53:15 [Thread-2]  INFO EventsManagerImpl.java:177   org.matsim.core.scoring.ScoringFunctionsForPopulation
2018-53-21 02:53:15 [Thread-2]  INFO EventsManagerImpl.java:144 adding Event-Handler: org.matsim.core.events.algorithms.EventWriterXML
2018-53-21 02:53:15 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.events.algorithms.EventWriter
2018-53-21 02:53:15 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.events.handler.BasicEventHandler
2018-53-21 02:53:15 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.Event
2018-53-21 02:53:15 [Thread-2]  INFO EventsManagerImpl.java:156 
2018-53-21 02:53:15 [Thread-2]  INFO EventsManagerImpl.java:144 adding Event-Handler: org.matsim.core.events.algorithms.EventWriterXML
2018-53-21 02:53:15 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.events.algorithms.EventWriter
2018-53-21 02:53:15 [Thread-2]  INFO EventsManagerImpl.java:148   org.matsim.core.events.handler.BasicEventHandler
2018-53-21 02:53:15 [Thread-2]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.Event
2018-53-21 02:53:15 [Thread-2]  INFO EventsManagerImpl.java:156 
2018-53-21 02:53:15 [Thread-2]  INFO ControlerListenerManagerImpl.java:224 calling notifyBeforeMobsim on org.matsim.core.controler.corelisteners.PlansDumpingImpl
2018-53-21 02:53:15 [Thread-2]  INFO PlansDumpingImpl.java:75 dumping plans...
2018-53-21 02:53:15 [Thread-2]  INFO Counter.java:61 [PopulationWriter] dumped person # 1
2018-53-21 02:53:15 [Thread-2]  INFO Counter.java:61 [PopulationWriter] dumped person # 2
2018-53-21 02:53:15 [Thread-2]  INFO Counter.java:61 [PopulationWriter] dumped person # 4
2018-53-21 02:53:15 [Thread-2]  INFO Counter.java:61 [PopulationWriter] dumped person # 8
2018-53-21 02:53:15 [Thread-2]  INFO Counter.java:61 [PopulationWriter] dumped person # 16
2018-53-21 02:53:15 [Thread-2]  INFO Counter.java:61 [PopulationWriter] dumped person # 32
2018-53-21 02:53:15 [Thread-2]  INFO Counter.java:61 [PopulationWriter] dumped person # 64
2018-53-21 02:53:15 [Thread-2]  INFO Counter.java:61 [PopulationWriter] dumped person # 128
2018-53-21 02:53:15 [Thread-2]  INFO Counter.java:61 [PopulationWriter] dumped person # 256
2018-53-21 02:53:15 [Thread-2]  INFO Counter.java:61 [PopulationWriter] dumped person # 512
2018-53-21 02:53:15 [Thread-2]  INFO PopulationWriter.java:139 Population written to: test/output/io/github/agentsoz/ees/MainMaldon600Test/testMaldon600/ITERS/it.0/0.plans.xml.gz
2018-53-21 02:53:15 [Thread-2]  INFO Counter.java:67 [PopulationWriter] dumped person # 600
2018-53-21 02:53:15 [Thread-2]  INFO PlansDumpingImpl.java:92 finished plans dump.
2018-53-21 02:53:15 [Thread-2]  INFO ControlerListenerManagerImpl.java:229 calling notifyBeforeMobsim on org.matsim.core.population.VspPlansCleaner
2018-53-21 02:53:15 [Thread-2]  INFO ControlerListenerManagerImpl.java:232 [it.0] all ControlerBeforeMobsimListeners called.
2018-53-21 02:53:17 [Thread-2]  WARN MGC.java:175 Assuming that coordinates are in longitude first notation, i.e. (longitude, latitude).
2018-53-21 02:53:17 [Thread-2]  INFO Logger.java:? dataFileCache open start
2018-53-21 02:53:18 [Thread-2]  WARN MGC.java:175 Assuming that coordinates are in longitude first notation, i.e. (longitude, latitude).
2018-53-21 02:53:19 [Thread-2]  INFO MatsimResource.java:108 Resource 'car.png' not found locally. May not be fatal.
2018-53-21 02:53:19 [Thread-2]  INFO MatsimResource.java:108 Resource 'matsim_logo_transparent.png' not found locally. May not be fatal.
2018-53-21 02:53:19 [Thread-2]  INFO MobsimListenerManager.java:49 calling addQueueSimulationListener
2018-53-21 02:53:19 [Thread-2]  INFO MobsimListenerManager.java:53   assigned class org.matsim.core.mobsim.framework.listeners.MobsimListener to interface org.matsim.core.mobsim.framework.listeners.MobsimListener
2018-53-21 02:53:19 [Thread-2]  INFO MobsimListenerManager.java:53   assigned class org.matsim.core.mobsim.framework.listeners.MobsimListener to interface org.matsim.core.mobsim.framework.listeners.MobsimBeforeSimStepListener
2018-53-21 02:53:19 [Thread-2]  INFO MobsimListenerManager.java:53   assigned class org.matsim.core.mobsim.framework.listeners.MobsimListener to interface org.matsim.core.mobsim.framework.listeners.MobsimAfterSimStepListener
2018-53-21 02:53:19 [Thread-2]  INFO MobsimListenerManager.java:53   assigned class org.matsim.core.mobsim.framework.listeners.MobsimListener to interface org.matsim.core.mobsim.framework.listeners.MobsimBeforeCleanupListener
2018-53-21 02:53:19 [Thread-2]  INFO MobsimListenerManager.java:53   assigned class org.matsim.core.mobsim.framework.listeners.MobsimListener to interface org.matsim.withinday.trafficmonitoring.WithinDayTravelTime
2018-53-21 02:53:19 [Thread-2]  INFO MobsimListenerManager.java:53   assigned class org.matsim.core.mobsim.framework.listeners.MobsimListener to interface org.matsim.core.mobsim.framework.listeners.MobsimInitializedListener
2018-53-21 02:53:19 [Thread-2]  INFO MobsimListenerManager.java:49 calling addQueueSimulationListener
2018-53-21 02:53:19 [Thread-2]  INFO MobsimListenerManager.java:53   assigned class org.matsim.core.mobsim.framework.listeners.MobsimListener to interface org.matsim.core.mobsim.framework.listeners.MobsimListener
2018-53-21 02:53:19 [Thread-2]  INFO MobsimListenerManager.java:53   assigned class org.matsim.core.mobsim.framework.listeners.MobsimListener to interface org.matsim.core.mobsim.framework.listeners.MobsimInitializedListener
2018-53-21 02:53:19 [Thread-2]  INFO MobsimListenerManager.java:53   assigned class org.matsim.core.mobsim.framework.listeners.MobsimListener to interface io.github.agentsoz.bdimatsim.MATSimModel$1$$Lambda$1/591368657
2018-53-21 02:53:19 [Thread-2]  INFO MobsimListenerManager.java:49 calling addQueueSimulationListener
2018-53-21 02:53:19 [Thread-2]  INFO MobsimListenerManager.java:53   assigned class org.matsim.core.mobsim.framework.listeners.MobsimListener to interface org.matsim.core.mobsim.framework.listeners.MobsimListener
2018-53-21 02:53:19 [Thread-2]  INFO MobsimListenerManager.java:53   assigned class org.matsim.core.mobsim.framework.listeners.MobsimListener to interface org.matsim.withinday.mobsim.MobsimDataProvider
2018-53-21 02:53:19 [Thread-2]  INFO MobsimListenerManager.java:53   assigned class org.matsim.core.mobsim.framework.listeners.MobsimListener to interface org.matsim.core.mobsim.framework.listeners.MobsimInitializedListener
2018-53-21 02:53:19 [Thread-2]  INFO MobsimListenerManager.java:49 calling addQueueSimulationListener
2018-53-21 02:53:19 [Thread-2]  INFO MobsimListenerManager.java:53   assigned class org.matsim.core.mobsim.framework.listeners.MobsimListener to interface org.matsim.core.mobsim.framework.listeners.MobsimListener
2018-53-21 02:53:19 [Thread-2]  INFO MobsimListenerManager.java:53   assigned class org.matsim.core.mobsim.framework.listeners.MobsimListener to interface org.matsim.core.mobsim.framework.listeners.MobsimBeforeCleanupListener
2018-53-21 02:53:19 [Thread-2]  INFO MobsimListenerManager.java:53   assigned class org.matsim.core.mobsim.framework.listeners.MobsimListener to interface org.matsim.core.mobsim.framework.listeners.MobsimInitializedListener
2018-53-21 02:53:19 [Thread-2]  INFO MobsimListenerManager.java:53   assigned class org.matsim.core.mobsim.framework.listeners.MobsimListener to interface org.matsim.core.mobsim.framework.listeners.MobsimAfterSimStepListener
2018-53-21 02:53:19 [Thread-2]  INFO MobsimListenerManager.java:53   assigned class org.matsim.core.mobsim.framework.listeners.MobsimListener to interface org.matsim.vis.snapshotwriters.SnapshotWriterManager
2018-53-21 02:53:19 [Thread-2] DEBUG NetworkRoutingProvider.java:60 requesting network routing module with routingMode=carFreespeed;	mode=car
2018-53-21 02:53:19 [Thread-2] DEBUG NetworkRoutingProvider.java:60 requesting network routing module with routingMode=car;	mode=car
2018-53-21 02:53:19 [Thread-2] DEBUG NetworkRoutingProvider.java:60 requesting network routing module with routingMode=carGlobalInformation;	mode=car
2018-53-21 02:53:19 [Thread-2] DEBUG NetworkRoutingProvider.java:60 requesting network routing module with routingMode=emergencyVehicle;	mode=car
2018-53-21 02:53:19 [Thread-2]  INFO PreProcessDijkstra.java:118 nodes in dead ends: 9612 (total nodes: 37604). Done in 90 ms
2018-53-21 02:53:19 [Thread-2]  INFO PreProcessLandmarks.java:112 Putting landmarks on network...
2018-53-21 02:53:19 [Thread-2]  INFO LandmarkerPieSlices.java:96 Filling sectors...
2018-53-21 02:53:19 [Thread-2]  INFO LandmarkerPieSlices.java:107 Refining landmarks...
2018-53-21 02:53:19 [Thread-2]  INFO LandmarkerPieSlices.java:109 done
2018-53-21 02:53:19 [Thread-2]  INFO PreProcessLandmarks.java:115 done in 59 ms
2018-53-21 02:53:19 [Thread-2]  INFO PreProcessLandmarks.java:117 Initializing landmarks data
2018-53-21 02:53:19 [Thread-2]  INFO PreProcessLandmarks.java:129 Calculating distance from each node to each of the 16 landmarks using 8 threads...
2018-53-21 02:53:20 [Thread-2]  INFO PreProcessLandmarks.java:139 wait for landmarks Calculator to finish...
2018-53-21 02:53:21 [Thread-2]  INFO PreProcessLandmarks.java:161 done in 1255 ms
2018-53-21 02:53:21 [Thread-2] DEBUG NetworkRoutingProvider.java:60 requesting network routing module with routingMode=carFreespeed;	mode=car
2018-53-21 02:53:21 [Thread-2] DEBUG NetworkRoutingProvider.java:60 requesting network routing module with routingMode=car;	mode=car
2018-53-21 02:53:21 [Thread-2] DEBUG NetworkRoutingProvider.java:60 requesting network routing module with routingMode=carGlobalInformation;	mode=car
2018-53-21 02:53:21 [Thread-2] DEBUG NetworkRoutingProvider.java:60 requesting network routing module with routingMode=emergencyVehicle;	mode=car
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:83 org.matsim.core.mobsim.qsim.qnetsimengine.VehicularDepartureHandler 
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:84   --> provider: Key[type=org.matsim.core.mobsim.qsim.qnetsimengine.QNetsimEngineDepartureHandlerProvider, annotation=[none]][Scopes.SINGLETON]
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.mobsim.qsim.qnetsimengine.QNetsimEnginePlugin$1.configure(QNetsimEnginePlugin.java:25)
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:83 org.matsim.core.mobsim.qsim.agents.AgentFactory 
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.mobsim.qsim.agents.AgentFactory, annotation=[none]], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@7b34b91b}[Scopes.SINGLETON]
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:85   --> source: io.github.agentsoz.bdimatsim.EvacPopulationPlugin$1.configure(EvacPopulationPlugin.java:51)
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:83 org.matsim.core.mobsim.qsim.interfaces.Netsim 
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:84   --> provider: FactoryProxy{key=Key[type=org.matsim.core.mobsim.qsim.interfaces.Netsim, annotation=[none]], provider=com.google.inject.internal.ConstructorBindingImpl$Factory@215f388b[Scopes.SINGLETON]}
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.mobsim.qsim.QSimProvider$1.configure(QSimProvider.java:65)
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:87   --> scope: Scopes.NO_SCOPE
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:83 org.matsim.core.mobsim.jdeqsim.MessageQueue 
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@1ff4e403[Scopes.SINGLETON]
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.mobsim.qsim.messagequeueengine.MessageQueuePlugin$1.configure(MessageQueuePlugin.java:24)
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:83 org.matsim.core.mobsim.qsim.jdeqsimengine.SteppableScheduler 
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@513fff0b[Scopes.SINGLETON]
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.mobsim.qsim.messagequeueengine.MessageQueuePlugin$1.configure(MessageQueuePlugin.java:25)
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:83 org.matsim.core.mobsim.qsim.messagequeueengine.MessageQueueEngine 
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@f9d6856[Scopes.SINGLETON]
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.mobsim.qsim.messagequeueengine.MessageQueuePlugin$1.configure(MessageQueuePlugin.java:26)
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:83 org.matsim.core.mobsim.qsim.ActivityEngine 
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@57de924e[Scopes.SINGLETON]
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.mobsim.qsim.ActivityEnginePlugin$1.configure(ActivityEnginePlugin.java:23)
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:83 org.matsim.core.mobsim.qsim.qnetsimengine.QNetsimEngine 
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@6fb2a04a[Scopes.SINGLETON]
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.mobsim.qsim.qnetsimengine.QNetsimEnginePlugin$1.configure(QNetsimEnginePlugin.java:24)
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:83 org.matsim.core.mobsim.qsim.changeeventsengine.NewNetworkChangeEventsEngine 
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@41dbcd10[Scopes.SINGLETON]
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.mobsim.qsim.changeeventsengine.NetworkChangeEventsPlugin$1.configure(NetworkChangeEventsPlugin.java:23)
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:83 org.matsim.core.mobsim.qsim.DefaultTeleportationEngine 
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@25e0d2a5[Scopes.SINGLETON]
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.mobsim.qsim.TeleportationPlugin$1.configure(TeleportationPlugin.java:21)
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:83 org.matsim.core.mobsim.qsim.agents.PopulationAgentSource 
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@68f78b5[Scopes.SINGLETON]
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:85   --> source: io.github.agentsoz.bdimatsim.EvacPopulationPlugin$1.configure(EvacPopulationPlugin.java:50)
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:83 org.matsim.core.mobsim.qsim.QSim 
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:84   --> provider: com.google.inject.internal.ConstructorBindingImpl$Factory@215f388b[Scopes.SINGLETON]
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:85   --> source: org.matsim.core.mobsim.qsim.QSimProvider$1.configure(QSimProvider.java:64)
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:87   --> scope: eager singleton
2018-53-21 02:53:21 [Thread-2]  INFO Injector.java:91 
2018-53-21 02:53:21 [Thread-2]  INFO MobsimListenerManager.java:49 calling addQueueSimulationListener
2018-53-21 02:53:21 [Thread-2]  INFO MobsimListenerManager.java:53   assigned class org.matsim.core.mobsim.framework.listeners.MobsimListener to interface org.matsim.core.mobsim.framework.listeners.MobsimListener
2018-53-21 02:53:21 [Thread-2]  INFO MobsimListenerManager.java:53   assigned class org.matsim.core.mobsim.framework.listeners.MobsimListener to interface org.matsim.core.mobsim.qsim.messagequeueengine.MessageQueueEngine
2018-53-21 02:53:21 [Thread-2]  INFO MobsimListenerManager.java:53   assigned class org.matsim.core.mobsim.framework.listeners.MobsimListener to interface org.matsim.core.mobsim.framework.listeners.MobsimBeforeSimStepListener
2018-53-21 02:53:21 [Thread-2]  INFO QNetsimEngine.java:507 Assigned 37604 nodes and 73744 links to QSimEngineRunner #0
2018-53-21 02:53:21 [Thread-2]  INFO MobsimListenerManager.java:49 calling addQueueSimulationListener
2018-53-21 02:53:21 [Thread-2]  INFO MobsimListenerManager.java:53   assigned class org.matsim.core.mobsim.framework.listeners.MobsimListener to interface org.matsim.core.mobsim.framework.listeners.MobsimBeforeCleanupListener
2018-53-21 02:53:21 [Thread-2]  INFO MobsimListenerManager.java:53   assigned class org.matsim.core.mobsim.framework.listeners.MobsimListener to interface org.matsim.core.mobsim.framework.listeners.MobsimListener
2018-53-21 02:53:21 [Thread-2]  INFO MobsimListenerManager.java:53   assigned class org.matsim.core.mobsim.framework.listeners.MobsimListener to interface org.matsim.core.mobsim.framework.PlayPauseSimulationControl$PlayPauseMobsimListener
2018-53-21 02:53:21 [Thread-2]  INFO MobsimListenerManager.java:53   assigned class org.matsim.core.mobsim.framework.listeners.MobsimListener to interface org.matsim.core.mobsim.framework.listeners.MobsimBeforeSimStepListener
2018-53-21 02:53:21 [Thread-2]  INFO MobsimListenerManager.java:53   assigned class org.matsim.core.mobsim.framework.listeners.MobsimListener to interface org.matsim.core.mobsim.framework.listeners.MobsimAfterSimStepListener
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:144 adding Event-Handler: io.github.agentsoz.bdimatsim.EvacAgentTracker
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.LinkEnterEventHandler
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.LinkEnterEvent
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.LinkLeaveEventHandler
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.LinkLeaveEvent
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonArrivalEventHandler
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonArrivalEvent
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonDepartureEventHandler
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonDepartureEvent
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.ActivityEndEventHandler
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.ActivityEndEvent
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.VehicleEntersTrafficEventHandler
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.VehicleEntersTrafficEvent
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.VehicleLeavesTrafficEventHandler
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.VehicleLeavesTrafficEvent
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:148   org.matsim.core.events.handler.BasicEventHandler
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.Event
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:156 
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:144 adding Event-Handler: io.github.agentsoz.bdimatsim.EvacAgentTracker
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.LinkEnterEventHandler
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.LinkEnterEvent
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.LinkLeaveEventHandler
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.LinkLeaveEvent
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonArrivalEventHandler
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonArrivalEvent
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.PersonDepartureEventHandler
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.PersonDepartureEvent
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.ActivityEndEventHandler
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.ActivityEndEvent
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.VehicleEntersTrafficEventHandler
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.VehicleEntersTrafficEvent
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:148   org.matsim.api.core.v01.events.handler.VehicleLeavesTrafficEventHandler
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.VehicleLeavesTrafficEvent
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:148   org.matsim.core.events.handler.BasicEventHandler
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:207     > org.matsim.api.core.v01.events.Event
2018-53-21 02:53:21 [main]  INFO EventsManagerImpl.java:156 
2018-53-21 02:53:21 [Thread-2]  INFO WithinDayTravelTime.java:424 TravelTimeCollector at 12:50:00 #links=0
2018-53-21 02:53:21 [Thread-2]  INFO QNetsimEngine.java:350 SIMULATION (QNetsimEngine) AT 12:50:00 : #links=0 #nodes=0
2018-53-21 02:53:21 [Thread-2]  INFO QSim.java:504 SIMULATION (NEW QSim) AT 12:50:00 : #Veh=600 lost=0 simT=0.0s realT=6s; (s/r): 0.0
2018-53-21 02:53:21 [Thread-2]  INFO Gbl.java:52 used RAM: 654491408B = 639151kB = 624MB  free: 668811504B = 637MB  total: 1323302912B = 1262MB
2018-53-21 02:53:23 [Thread-2]  INFO WithinDayTravelTime.java:424 TravelTimeCollector at 13:00:00 #links=0
2018-53-21 02:53:23 [Thread-2]  INFO QNetsimEngine.java:350 SIMULATION (QNetsimEngine) AT 13:00:00 : #links=0 #nodes=0
2018-53-21 02:53:23 [Thread-2]  INFO QSim.java:504 SIMULATION (NEW QSim) AT 13:00:00 : #Veh=600 lost=0 simT=600.0s realT=7s; (s/r): 85.71428571428571
2018-53-21 02:53:23 [Thread-2]  INFO Gbl.java:52 used RAM: 461462312B = 450646kB = 440MB  free: 854500568B = 814MB  total: 1315962880B = 1255MB
2018-01-21 02:53:23 [main] INFO  PhoenixFireModule.getNewData(106) - step 46801 (780 mins): sending fire alert!!
2018-01-21 02:53:23 [main] WARN  MATSimModel.dataUpdate(462) - receiving fire data at time=13.0
2018-01-21 02:53:23 [main] WARN  MATSimModel.dataUpdate(462) - receiving fire data at time=13.0
2018-01-21 02:53:23 [main] INFO  JillBDIModel.takeControl(129) - Scheduling evacuation starting at 13: 0 and peaking 120 mins after start
2018-53-21 02:53:23 [sRunnable0]  INFO EventsManagerImpl.java:134  event # 1
2018-53-21 02:53:23 [sRunnable0]  INFO EventsManagerImpl.java:134  event # 4
2018-53-21 02:53:23 [sRunnable0]  INFO EventsManagerImpl.java:134  event # 16
2018-53-21 02:53:23 [sRunnable0]  INFO Counter.java:61 TravelTimeCollector: enlarged time bin size: 1
2018-53-21 02:53:23 [sRunnable0]  INFO EventsManagerImpl.java:134  event # 64
2018-53-21 02:53:24 [sRunnable0]  INFO EventsManagerImpl.java:134  event # 256
2018-53-21 02:53:25 [sRunnable0]  INFO Counter.java:61 TravelTimeCollector: enlarged time bin size: 2
2018-53-21 02:53:25 [sRunnable0]  INFO EventsManagerImpl.java:134  event # 1024
2018-53-21 02:53:28 [sRunnable0]  INFO EventsManagerImpl.java:134  event # 4096
2018-53-21 02:53:29 [Thread-2]  INFO WithinDayTravelTime.java:424 TravelTimeCollector at 14:00:00 #links=41
2018-53-21 02:53:29 [Thread-2]  INFO QNetsimEngine.java:350 SIMULATION (QNetsimEngine) AT 14:00:00 : #links=20 #nodes=7
2018-53-21 02:53:29 [Thread-2]  INFO QSim.java:504 SIMULATION (NEW QSim) AT 14:00:00 : #Veh=593 lost=0 simT=4200.0s realT=13s; (s/r): 323.0769230769231
2018-53-21 02:53:29 [Thread-2]  INFO Gbl.java:52 used RAM: 722959632B = 706015kB = 689MB  free: 557351664B = 531MB  total: 1280311296B = 1221MB
2018-01-21 02:53:29 [main] WARN  MATSimModel.dataUpdate(462) - receiving fire data at time=14.0
2018-01-21 02:53:29 [main] WARN  MATSimModel.dataUpdate(462) - receiving fire data at time=14.0
2018-53-21 02:53:30 [sRunnable0]  INFO Counter.java:61 TravelTimeCollector: enlarged time bin size: 4
2018-53-21 02:53:31 [sRunnable0]  INFO EventsManagerImpl.java:134  event # 16384
2018-53-21 02:53:31 [sRunnable0]  INFO Counter.java:61 TravelTimeCollector: shrunk time bin size: 1
2018-53-21 02:53:32 [sRunnable0]  INFO Counter.java:61 TravelTimeCollector: enlarged time bin size: 8
2018-53-21 02:53:32 [sRunnable0]  INFO Counter.java:61 TravelTimeCollector: shrunk time bin size: 2
2018-53-21 02:53:33 [sRunnable0]  INFO Counter.java:61 TravelTimeCollector: shrunk time bin size: 4
2018-53-21 02:53:34 [sRunnable0]  INFO Counter.java:61 TravelTimeCollector: shrunk time bin size: 8
2018-53-21 02:53:34 [sRunnable0]  INFO Counter.java:61 TravelTimeCollector: enlarged time bin size: 16
2018-53-21 02:53:34 [sRunnable0]  INFO EventsManagerImpl.java:134  event # 65536
2018-53-21 02:53:37 [Thread-2]  INFO WithinDayTravelTime.java:424 TravelTimeCollector at 15:00:00 #links=194
2018-53-21 02:53:37 [Thread-2]  INFO QNetsimEngine.java:350 SIMULATION (QNetsimEngine) AT 15:00:00 : #links=95 #nodes=51
2018-53-21 02:53:37 [Thread-2]  INFO QSim.java:504 SIMULATION (NEW QSim) AT 15:00:00 : #Veh=432 lost=0 simT=7800.0s realT=21s; (s/r): 371.42857142857144
2018-53-21 02:53:37 [Thread-2]  INFO Gbl.java:52 used RAM: 677744952B = 661860kB = 646MB  free: 555380424B = 529MB  total: 1233125376B = 1176MB
2018-01-21 02:53:37 [main] WARN  MATSimModel.dataUpdate(462) - receiving fire data at time=15.0
2018-01-21 02:53:37 [main] WARN  MATSimModel.dataUpdate(462) - receiving fire data at time=15.0
2018-53-21 02:53:37 [sRunnable0]  INFO Counter.java:61 TravelTimeCollector: shrunk time bin size: 16
2018-53-21 02:53:45 [sRunnable0] ERROR SimStepParallelEventsManagerImpl$ExceptionHandler.java:420 Thread class org.matsim.core.events.SimStepParallelEventsManagerImpl$ProcessEventsRunnable0 died with exception while handling events.
java.lang.NullPointerException
	at io.github.agentsoz.bdimatsim.DRIVETODefaultActionHandler$1.handle(DRIVETODefaultActionHandler.java:120)
	at io.github.agentsoz.bdimatsim.EventsMonitorRegistry.callRegisteredHandlers(EventsMonitorRegistry.java:211)
	at io.github.agentsoz.bdimatsim.EventsMonitorRegistry.handleEvent(EventsMonitorRegistry.java:128)
	at org.matsim.core.events.EventsManagerImpl.callHandlerFast(EventsManagerImpl.java:297)
	at org.matsim.core.events.EventsManagerImpl.computeEvent(EventsManagerImpl.java:222)
	at org.matsim.core.events.EventsManagerImpl.processEvent(EventsManagerImpl.java:136)
	at org.matsim.core.events.SimStepParallelEventsManagerImpl$ProcessEventsRunnable.run(SimStepParallelEventsManagerImpl.java:330)
	at java.lang.Thread.run(Thread.java:748)

ERROR: somethig went wrong, see details below:

java.lang.RuntimeException: assertion error; follow stack trace
	at org.matsim.core.gbl.Gbl.assertIf(Gbl.java:198)
	at io.github.agentsoz.bdimatsim.DRIVETODefaultActionHandler.handle(DRIVETODefaultActionHandler.java:59)
	at io.github.agentsoz.nonmatsim.ActionHandler.processAction(ActionHandler.java:75)
	at io.github.agentsoz.nonmatsim.PAAgentManager.initiateNewAction(PAAgentManager.java:139)
	at io.github.agentsoz.nonmatsim.PAAgentManager.updateActions(PAAgentManager.java:112)
	at io.github.agentsoz.bdimatsim.MATSimModel.runUntil(MATSimModel.java:385)
	at io.github.agentsoz.ees.Main.start(Main.java:170)
	at io.github.agentsoz.ees.Main.main(Main.java:432)
	at io.github.agentsoz.ees.MainMaldon600Test.testMaldon600(MainMaldon600Test.java:57)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.rules.TestWatchman$1.evaluate(TestWatchman.java:53)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:123)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:104)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:164)
	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:110)
	at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:175)
	at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcessWhenForked(SurefireStarter.java:81)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:68)
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 37.81 sec <<< FAILURE!

Copied from original issue: agentsoz/bdi-abm-integration#12

Tidy up tests

The are a fair few outdated and ignored tests that can be removed along with the related expected outputs for those.

Set up road accident for SocialNetworkExperiments50kIT test

Set up an accident (disruption) on Grossmans Road on the section between Duffields Rd and Messmate Rd as shown below. The relevant links are:

  • 12340-12338-12336-12334-12332
  • 12331-12333-12335-12337-12339

screen shot 2019-02-25 at 9 53 38 am

The traffic volumes on those links are below:

linkvol1
linkvols2

NextLinkBlockedEvent not propagating for all impacted agents

MATSim generates a NextLinkBlockedEvent for cases where the link that the agent is about to enter is blocked (typically set up via a network change event).

The event then triggers the EventsMonitorRegistry.handleEvent(..) function in the BDI-ABM machinery.

It seems that in some cases, the NextLinkBlockedEvent event is not generated by MATSim when it should be. There is a minimal test that shows the problem here:

public void testBlockagePerceptsDuringDailyPlan() {
utils.getOutputDirectory(); // creates a clean one so need to call this first
String[] args = {
"--config", "scenarios/surf-coast-shire/situation-awareness/ees.xml",
};
Run.main(args);

The test has 10 agents with some basic daily plans. Of these, agents 0-3 route through the blocked links (IDs below):

"disruptions" : [
{
"description" : "Accident on Grossmans Road on the section between Duffields Rd and Messmate Rd",
"startHHMM" : "0001",
"endHHMM" : "2359",
"effectiveSpeed" : "0",
"effectiveSpeedUnit" : "KMPH",
"impactedLinks" : ["12340-12338-12336-12334-12332", "12331-12333-12335-12337-12339"]
}
]

The MATSim log shows that indeed they were stuck on links connecting to the blocked links. However, the NextLinkBlockedEvent is generated only for agents 1,2,3 but not agent 0. Some things to note: the order of the agents in the population file does not matter, however if I remove agents 3-9, then then agent 0 does get the event.

@kainagel any ideas?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.