-
Notifications
You must be signed in to change notification settings - Fork 5
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.
- Getting Started
- RunModel bat file
- Networks and Zone Data
- Auto Network Coding
- VDF Definition
- Transit Network Coding
- Non-motorized Network Coding
- Editing Land Use Data
- Running the Population Synthesizer
- Input Checker
- Analyzing Model Outputs
- Commercial Vehicle Model
- External Model
- Model Cost Inputs
- Value of Time
- Person Type Coding Logic
- MSA Feedback
- VMT Computation
- Shadow Pricing Mechanism
- Methodology for Developing TAZ Boundaries
- Methodology for Developing MAZ Boundaries
- Methodology for Developing TAPS
- Source of Land-Use Inputs
- Major University Model (Optional)
- Running Transit Everywhere Scenario
- Building the ABM Java Program
- Debugging ABM Python Code
- ABM Cleaning Protocol
- Updating to New Visum
- Troubleshooting and Debugging