Road Test Demonstration Model¶
Model Operation¶
-
emat.model.core_python.core_python_examples.
Road_Capacity_Investment
(free_flow_time=60, initial_capacity=100, alpha=0.15, beta=4.0, input_flow=100, value_of_time=0.01, unit_cost_expansion=1, interest_rate=0.03, yield_curve=0.01, expand_capacity=10, amortization_period=30, interest_rate_lock=False, debt_type='GO Bond', lane_width=10, **kwargs)[source]¶ A fictitious example model for road capacity investment.
This model simulates a capacity expansion investment on a single network link. The link volume-delay function is governed by the BPR function.
This model is a bit contrived, because it is designed to explicitly demonstrate a wide variety of EMAT features in a transportation planning model that is as simple as possible. For example, the policy levers are structured so that there is one of each dtype (float, int, bool, and categorical).
Parameters: - free_flow_time (float, default 60) – The free flow travel time on the link.
- initial_capacity (float, default 100) – The pre-expansion capacity on the link.
- alpha (float, default 0.15) – Alpha parameter to the BPR volume-delay function.
- beta (float, default 4.0) – Beta parameter to the BPR volume-delay function.
- input_flow (float, default 100) – The future input flow on the link.
- value_of_time (float, default 0.01) – The value of a unit of travel time savings per unit of flow on the link.
- unit_cost_expansion (float, default 1) – The present marginal cost of adding one unit of capacity to the link (assumes no economies of scale on expansion cost)
- interest_rate (float, default 0.03) – The interest rate actually incurred for revenue bonds amortized over 15 years. The interest rate for general obligation bonds is assumed to be 0.0025 less than this value.
- yield_curve (float, default 0.01) – The marginal increase in the interest_rate if the amortization period is 50 years instead of 15. The yield curve is assumed to be linearly projected to all other possible amortization periods
- expand_capacity (float, default 10) – The amount of capacity expansion actually constructed.
- amortization_period (int, default 30) – The time period over which the construction costs are amortized.
- interest_rate_lock (bool, default False) – Whether interest rates are locked at the assumed current rate of 0.03 / 0.01 or allowed to float.
- debt_type ('GO Bond', 'Rev Bond', 'Paygo') – Type of financing. General obligation bonds are assumed to have a lower interest rate than revenue bonds, but may be politically less desirable. Pay-as-you-go financing incurs no actual interest costs, but requires actually having the funds available.
- lane_width (float, default 10) – The width of lanes on the roadway. This parameter is intentionally wacky, causing massive congestion for any value other than 10, to demonstrate what might happen with broken model inputs.
Returns: - no_build_travel_time
The average travel time on the link if no capacity expansion was constructed.
- build_travel_time
The average travel time on the link after expansion.
- time_savings
The average travel time savings as a result of the expansion.
- value_of_time_savings
The total value of the travel time savings, accounting for the time savings per traveler, the total flow, and the value of time.
- present_cost_expansion
The present cost of building the expansion
- cost_of_capacity_expansion
The annual payment to finance the expansion, when amortized.
- net_benefits
The value of the time savings minus the annual payment.
Return type:
Model Scope Definition¶
The model exploratory scope is defined in a YAML text file. In this example, the scope is given by:
1---
2# EMAT Road Test Scope Definition
3
4scope:
5 name: EMAT Road Test
6 desc: prototype run
7
8
9inputs:
10
11 free_flow_time:
12 shortname: Free Flow Time
13 ptype: constant
14 desc: Free flow travel time on road segment
15 dtype: float
16 default: 60
17 dist: constant
18 corr: []
19
20 initial_capacity:
21 shortname: Init Capacity
22 ptype: constant
23 desc: Initial capacity on road segment
24 dtype: float
25 default: 100
26 dist: constant
27 corr: []
28
29 alpha:
30 ptype: uncertainty
31 desc: BPR Alpha parameter
32 dtype: float
33 default: 0.15
34 min: 0.10
35 max: 0.20
36 dist: uniform
37 corr: []
38
39 beta:
40 ptype: uncertainty
41 desc: BPR Beta parameter
42 default: 4.0
43 min: 3.5
44 max: 5.5
45 dist: uniform
46 corr: []
47
48 input_flow:
49 shortname: Input Flow
50 ptype: uncertainty
51 desc: Average Flow input on link
52 default: 100
53 min: 80
54 max: 150
55 dist: uniform
56 corr: []
57
58 value_of_time:
59 shortname: Value of Time
60 ptype: uncertainty
61 desc: Value of a unit of travel time savings per person
62 default: 0.075
63 min: 0.001
64 max: 0.250
65 dist:
66 name: pert
67 peak: 0.075
68 corr: []
69
70 unit_cost_expansion:
71 shortname: Unit Cost Expand
72 ptype: uncertainty
73 desc: Per unit cost of capacity expansion
74 dtype: float
75 default: 100
76 min: 95
77 max: 145
78 dist: uniform
79 corr: []
80
81 expand_capacity:
82 shortname: Expand Amount
83 ptype: policy lever
84 desc: How much to expand capacity
85 dtype: float
86 default: 10.0
87 min: 0
88 max: 100
89
90 amortization_period:
91 shortname: Amortization
92 ptype: policy lever
93 desc: Time period over which the investment is amortized
94 dtype: int
95 default: 30
96 min: 15
97 max: 50
98
99 debt_type:
100 shortname: Debt Type
101 desc: Type of financing
102 ptype: policy lever
103 dtype: cat
104 default: GO Bond
105 values:
106 - GO Bond
107 - Rev Bond
108 - Paygo
109
110 interest_rate_lock:
111 shortname: Rate Lock
112 ptype: policy lever
113 desc: Whether to lock in present interest rates of 0.03 (15 year) to 0.04 (50 years)
114 dtype: bool
115 default: False
116
117 interest_rate:
118 shortname: Interest Rate
119 ptype: uncertainty
120 desc: Interest rate for investment amortization in 15 years
121 dtype: float
122 default: 0.03
123 min: 0.025
124 max: 0.04
125 dist: uniform
126 corr: []
127
128 yield_curve:
129 shortname: Yield Curve
130 ptype: uncertainty
131 desc: Excess interest rate for investment amortization in 50 years
132 dtype: float
133 default: 0.01
134 min: -0.0025
135 max: 0.02
136 dist: uniform
137 corr: []
138
139
140outputs:
141
142 no_build_travel_time:
143 shortname: No Build Time
144 kind: info
145 metamodeltype: logxp-linear(-59)
146
147 build_travel_time:
148 shortname: Build Time
149 kind: minimize
150 metamodeltype: logxp-linear(-59)
151
152 time_savings:
153 shortname: Time Savings
154 kind: maximize
155 metamodeltype: log-linear
156
157 value_of_time_savings:
158 shortname: Value Time Save
159 desc: Implied total value of travel time savings over all travelers
160 kind: maximize
161 metamodeltype: log-linear
162
163 net_benefits:
164 shortname: Net Benefits
165 kind: maximize
166
167 cost_of_capacity_expansion:
168 shortname: Cost of Expand
169 kind: minimize
170 metamodeltype: log-linear
171
172 present_cost_expansion:
173 shortname: Present Cost
174 kind: info
175 metamodeltype: log-linear
176
177...