Skip to content

Randomness of PopulationSim outputs related to API calls #182

@xiex0055

Description

@xiex0055

Recently, while executing MWCOG Population Synthesizer, developed based on PopulationSim v0.4.3, MWCOG staff discovered that the software consistently produced varying outputs at the disaggregate level (specifically, within the synthesized household and person files), despite identical inputs. This outcome was unexpected, considering that the entropy maximaizing and integerization methods utilized in PopulationSim should render deterministic results. In response, MWCOG staff sought assistance from their consultant, RSG. Initially, RSG staff suspected that the issue might be linked to multiprocessing (e.g., see #150). However, they subsequently realized that the multiprocessing feature was introduced in the latest version (v 0.5.1) of PopulationSim and was unavailable in the version (v0.4.3) used in the MWCOG Population Synthesizer. Aditya Gore (RSG) made the following observation:

"The PopulationSim uses linear programming tools from the ortools package for integerization. Time limits can be specified for these tools and in PopulationSim the time limit is currently set to 60 seconds. I have noticed that based on available computer resources the tool sometimes (randomness here) hit this time limit without returning a solution in which case PopulationSim turns to a different method of integerization. It is possible that you are running into this issue and each run is producing slightly different results."

MWCOG staff pose the following questions:

  1. Does the randomness of PopulationSim outputs significantly impact the PopulationSim results at the aggregate level including the validation results?
  2. Is there any evidence suggesting that this variability in PopulationSim outputs will NOT considerably affect regional travel demand modeling results?
  3. Can this source of random be eliminated in a future version of PopulationSim?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions