agentsoz / bdi-abm-integration

BDI ABM Integration
GNU Lesser General Public License v3.0
8 stars 13 forks source link

Agents still evacuate even without a fire to trigger response #37

Closed osbornejr closed 6 years ago

osbornejr commented 6 years ago

Trying to implement test Generated10kTest to demonstrate the base/routine plans that are now generated by the algorithm in /surf-coast-shire/data/synthetic-population. This requires the agents to not react to any fire threat, and continue to implement their daily plans throughout the simulation.

The fire can be removed by ensuring the scenario_fire.json file is empty, but agents still evacuate. See MaldonMain600Test for this behaviour.

With a bit of fiddling with options in scenario_main.xml and switching the

"--sendFireAlertOnFireStart"

option to false, the agents will no longer evacuate (according to the jill.out file), but the simulation will not terminate. This is compared to running the matsim config through straight MATSim, where it runs perfectly.

In short, there seems to be some hardcoded need for the agents to evacuate in the integration, even if there is no fire threat to trigger the response. And if they don't evacuate, the simulation will run until they do.

this may require further testing to fully understand the nature of the problem

@dhixsingh

dhixsingh commented 6 years ago

@osbornejr can you create a test for this that fails some expectation? Do a minimal example, so with only one agent if that is all that is required to reproduce it. Set it to ignore once it is ready and assign this back to me.

dhixsingh commented 6 years ago

Couple of things here. Looking at how the PhoenixFireModel operates, it is a bit messy, from the time when we didn't have a way to send evacuate messages to agents, which we do now since the MessagingModel is in place. For now, seems there are two ways to disable agents evacuating.

  1. Set --sendFireAlertOnFireStart false as you said.
  2. Set evacuation start time to 0 in the scenario_main.xml config files, like:
    <evacuationTiming>
    <start>00:00 </start>
    <peak>00</peak>
    </evacuationTiming>

    This is ok for the time being.

dhixsingh commented 6 years ago

There is a second bigger issue here that you touched on. It seems that it is actually not possible at all to have MATSim agents with daily plans in the simulation. If you make all BDI agents regular MATSim agents, the simulation runs but they do not do anything i.e., they do not start their daily plans at all. I'm going to track that particular issue in #43.

Nothing else to do here I think so am closing this one.