Based on timing reported in log files from running multiple scenarios in the H-GAC models, a few of the modules appear to have undesirable algorithmic properties (in particular, with runtimes suggesting order N squared or worse). It is desirable to delve into how these modules do their work and see if there is some way to reduce the complexity - all of the "victims" are doing some kind of sampling and balancing toward target proportions, and we'll easily hit order N-squared if the process requires doing N samples N times. That may be inevitable, but perhaps there's a craftier sampling algorithm out there... I'll edit this issue with the names of the affected modules once I've downloaded the enormous set of results...
The modules I'm starting with are PredictWorkers, and CalculateVehicleOwnCost - the latter runtime collapses whenever pay-as-you-drive is set up in the scenario.
Based on timing reported in log files from running multiple scenarios in the H-GAC models, a few of the modules appear to have undesirable algorithmic properties (in particular, with runtimes suggesting order N squared or worse). It is desirable to delve into how these modules do their work and see if there is some way to reduce the complexity - all of the "victims" are doing some kind of sampling and balancing toward target proportions, and we'll easily hit order N-squared if the process requires doing N samples N times. That may be inevitable, but perhaps there's a craftier sampling algorithm out there... I'll edit this issue with the names of the affected modules once I've downloaded the enormous set of results...
The modules I'm starting with are PredictWorkers, and CalculateVehicleOwnCost - the latter runtime collapses whenever pay-as-you-drive is set up in the scenario.