Skip to content

Shadow Pricing Mechanism

Alex Bettinardi edited this page Jan 5, 2021 · 17 revisions

Shadow Pricing Mechanism

The shadow pricing mechanism in CT-RAMP is used to ensure that the results of the mandatory destination choice models matches input employment and enrollment for every MAZ. The mechanism works by iteratively running mandatory destination choice models, and adjusting size terms. The size term adjustment is based on a comparison of the distribution of chosen MAZs for each purpose against the distribution of the size term (work, school K-8, school 9-12, and university) and market segment (occupation, school district for school purposes). The size term is scaled up or down based on this comparison and the model is re-run. The adjustment process is akin to a doubly-constrained gravity model, where the internal trip attraction rates are adjusted up or down based on the column totals of the trip matrix.

The shadow pricing mechansim in CT-RAMP is controlled by setting the following properties in the config\orramp.properties file:

#Setting shadow price input files to null will reset prices to 0.  
#UsualWorkLocationChoice.ShadowPrice.Input.File = /outputs/other/ShadowPricingOutput_work_9.csv

#UsualSchoolLocationChoice.ShadowPrice.Input.File = /outputs/other/ShadowPricingOutput_school_9.csv

uwsl.ShadowPricing.Work.MaximumIterations = 10

uwsl.ShadowPricing.School.MaximumIterations = 10

uwsl.ShadowPricing.OutputFile = /outputs/other/ShadowPricingOutput.csv

As the comment explains, uncommenting the UsualWorkLocationChoice.ShadowPrice.Input.File line (or the similar line for the school file) will make the code start the shadow pricing process from the adjustments listed in the input file. These input files are created by the shadow pricing process for each iteration. Once generated, these input files can be used for subsequent model runs to save computational time. The user can use a shadow price input file from a previous model run by uncommenting the UsualWorkLocationChoice.ShadowPrice.Input.File setting, and pointing it to the desired input file. The code allows for a separate file for work versus school shadow price inputs, but they can both use the same file if desired, which is the same as the OutputFile settings points to. Currently, these lines are commented out, which causes the code to start from scratch in every iteration with no adjustments. The MaximimumIterations setting controls the number of iterations that shadow pricing will run before stopping. Currently the worker shadow pricing is turned off. To shut off shadow pricing, set MaximumIterations to 1; the Work Location Choice model will only be run once without any shadow pricing feedback. Originally the model was tested and delivered with the maximum number of iterations set to 10. Testing demonstrated that turning off the shadow pricing did not compromise model results, and so the faster / simpler model approach (without shadow pricing) was used.

It is recommend leaving these settings as-is for all model applications, unless testing demonstrates that they should be changed.

Clone this wiki locally