Undesired routing through fire in Anglesea12kTestSample
dhixsingh opened this issue · 5 comments
In commit d9c23da, for test Anglesea12kTestSample, we see some unexpected re-routing through the fire. This is a 12k population test running at a 4% sample and capacity reduced accordingly.
The modelled situation is that there is a complete blockage due to an accident at 1630hrs on the way out to Torquay (both ways are blocked, outbound only is shown in orange highlight below):
There is heavy congestion on the roads. Each vehicle arriving at the blockage re-routes (using the global information router that also knows about congestion). Vehicles arriving at the blockage after 2100hrs however, choose to re-route through the fire (see figure below, white dot is the destination in Torquay, clock not shown but time is around 2200hrs). Somehow the penalty function mixed with travel time penalty (congestion) in MATSim yields a least cost path through the fire. I tried playing around with the penalty function but even conceptually can't work out where the issue is ever though I understand how penalties are being calculated.
The penalty function in question is this:
Might need help from @kainagel here.
Oh yes right, that makes sense @kainagel. I should have picked that up but that visual threw me. Thanks so much. I can take it from here.
To clarify that point re the jumping fire, I've attached a few snapshots of the fire through from 8pm-11pm. The reason why vehicles are driving as they are in the original image is because presumably at 9pm there is no fire in that region as can be seen below. Will discuss this with Surf Coast Shire working group.
@kainagel fyi have pushed a fix for this in a4dd0b3. Instead of dealing with it in MATSimModel, I've updated the PhoenixFireModel to instead send all fire shapes prior to a given time. That way the union is always the full fire shape and nothing is lost in case we see these discontiguous shapes in the fire shapefile.
Relevant code is here:
/cc @osbornejr