- Library Home /
- Search Collections /
- Open Collections /
- Browse Collections /
- UBC Theses and Dissertations /
- Economic risk quantification of toll highway projects
Open Collections
UBC Theses and Dissertations
Featured Collection
UBC Theses and Dissertations
Economic risk quantification of toll highway projects 1994
pdf
Page Metadata
Item Metadata
Title | Economic risk quantification of toll highway projects |
Creator |
Hatakama, Toshiaki |
Date Created | 2009-03-02 |
Date Issued | 2009-03-02 |
Date | 1994 |
Description | The objectives of this thesis are to model economic and financial performance of user-pay highway facilities, to explore the sensitivity of project performance to changes in primary variables, to measure the uncertainty surrounding user-pay highway facilities, and to explore ways of reducing the uncertainty. Special attention is given to the revenue phase. The model consists of three levels: work package/revenue stream level; project performance level; and project decision level. The model calculates work package duration, work package cost, and revenue stream for the work package/revenue stream level; project duration, project cost, and project revenue for the project performance level; and project's net present value (NPV) for the project decision level. They are described by their expected value, standard deviation, skewness, and kurtosis. This model is applied to a numerical example patterned after a Japanese project to carry out a sensitivity and risk analysis, and highly sensitive primary variables are identified. The case study may be viewed as a comparison of current Japanese deterministic feasibility analysis with a probabilistic one, using the same underlying project model. Risk management strategies are presented, and their impacts on overall project risks are measured. Results from applying the model to a sample project show that it is very difficult for a highway operator alone to reduce risks. It is suggested that it is very important that risk sharing be negotiated with the government and some guarantee of support be received. |
Extent | 9271985 bytes |
Genre |
Thesis/Dissertation |
Type |
Text |
File Format | application/pdf |
Language | Eng |
Collection |
Retrospective Theses and Dissertations, 1919-2007 |
Series | UBC Retrospective Theses Digitization Project [http://www.library.ubc.ca/archives/retro_theses/] |
Date Available | 2009-03-02 |
DOI | 10.14288/1.0050408 |
Degree |
Master of Applied Science - MASc |
Program |
Civil Engineering |
Affiliation |
Applied Science, Faculty of |
Degree Grantor | University of British Columbia |
Graduation Date | 1994-11 |
Campus |
UBCV |
Scholarly Level | Graduate |
URI | http://hdl.handle.net/2429/5335 |
Aggregated Source Repository | DSpace |
Digital Resource Original Record | https://open.library.ubc.ca/collections/831/items/1.0050408/source |
Download
- Media
- ubc_1994-0445.pdf
- ubc_1994-0445.pdf [ 8.84MB ]
- ubc_1994-0445.pdf
- Metadata
- JSON: 1.0050408.json
- JSON-LD: 1.0050408+ld.json
- RDF/XML (Pretty): 1.0050408.xml
- RDF/JSON: 1.0050408+rdf.json
- Turtle: 1.0050408+rdf-turtle.txt
- N-Triples: 1.0050408+rdf-ntriples.txt
- Citation
- 1.0050408.ris
Full Text
ECONOMIC RISK QUANTIFICATION OF TOLL HIGHWAY PROJECTS BY TOSHIAKI HATAKAMA B.Eng., Hokkaido University, Japan. 1983 A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTERS OF APPLIED SCIENCE in THE FACULTY OF GRADUATE STUDIES DEPARTMENT OF CIVIL ENGINEERING We accept this thesis as conforming to the required standard UNIVERSITY OF BRITISH COLUMBIA July 1994 © TOSHIAKI HATAKAMA , 1994 In presenting this thesis in partial fulfilment of the requirements for an advanced degree at the University of British Columbia, I agree that the Library shall make it freely available for reference and study. I further agree that permission for extensive copying of this thesis for scholarly purposes may be granted by the head of my department or by his or her representatives. It is understood that copying or publication of this thesis for financial gain shall not be allowed vtithout my written permission. (Signature) Department of Civil Engineering The University of British Columbia Vancouver, Canada Date July 27, 1994 DE-6 (2/88) Abstract The objectives of this thesis are to model economic and financial performance of user-pay highway facilities, to explore the sensitivity of project performance to changes in primary variables, to measure the uncertainty surrounding user-pay highway facilities, and to explore ways of reducing the uncertainty. Special attention is given to the revenue phase. The model consists of three levels: work package/revenue stream level; project performance level; and project decision level. The model calculates work package duration, work package cost, and revenue stream for the work package/revenue stream level; project duration, project cost, and project revenue for the project performance level; and project's net present value (NPV) for the project decision level. They are described by their expected value, standard deviation, skewness, and kurtosis. This model is applied to a numerical example patterned after a Japanese project to carry out a sensitivity and risk analysis, and highly sensitive primary variables are ii identified. The case study may be viewed as a comparison of current Japanese deterministic feasibility analysis with a probabilistic one, using the same underlying project model. Risk management strategies are presented, and their impacts on overall project risks are measured. Results from applying the model to a sample project show that it is very difficult for a highway operator alone to reduce risks. It is suggested that it is very important that risk sharing be negotiated with the government and some guarantee of support be received. iii Table of Content Abstract ii List of Tables viii List of Figures xvii Acknowledgement xxi 1. Introduction 1 1.1 General 1 1.2 Background of the Research 2 1.2.1 Toll Highway Concept 2 1.2.2 Analytical Method for Quantification of Economic Risks 6 1.3 Objectives of the Research 10 1.4 Structure of the Research 11 2. Analytical Model 13 2.1 General 13 2.2 Cash Flows 22 2.3 Structure of the Economic Analysis 23 2.3.1 Work Package/Revenue Stream Level . . 24 2.3.2 Project Performance Level 29 2.3.3 Project Decision Level 31 2.4 Work Package 32 IV 2.5 Toll Revenue 33 2.5.1 General 33 2.5.2 General Input Data 37 2.5.3 Traffic Volume 38 2.5.4 Toll Rate 40 2.5.5 General Form of Toll Revenue 44 2.6 Maintenance and Operation Cost Model . . . . 48 2.6.1 Maintenance Costs 49 2.6.2 Operation Costs 56 2.6.4 General Form of Maintenance and Operation Costs 61 3 . Application 62 3.1 General 62 3.2 Sample Project 63 3.2.1 Sample Project General Information . . 63 3.2.2 Work Packages 66 3.2.3 Revenue Streams 74 3.2.4 Calculation Results . 87 3.3 Sensitivity Analysis 95 3.3.1 Results 95 3.3.2 Summary of Sensitivity Analysis . . . 104 3.4 Summary 105 4. Risk Management 106 4.1 General 106 V 4.2 Strategies for Risk Management 107 4.2.1 Revenue Stream Early Start Time (case-2) 108 4.2.2 Toll Rate Growth Parameters (case-3) 112 4.2.3 Traffic Volume Growth Parameters (case-4) 116 4.2.4 Tolls (case-5) 119 4.2.5 Traffic Volume (case-6) 122 4.2.6 Inflation Rate (case-7) 126 4.2.7 Parameter for Consignment Cost of Toll Collection (case-8) 129 4.2.8 Combination of Case-2 to Case-8 (case-9) 132 4.3 Conclusions 135 5. Conclusions and Recommendations 140 5.1 Conclusions 140 5.2 Recommendations for Future Work 142 5.2.1 Computer Programs 142 5.2.2 Correlation between Primary Variables for Revenue Streams . . . . 143 5.2.3 Deterministic Input for Primary Variables 144 Bibliography 145 Appendices 149 vi A Discounted Work Package Cost 149 B Input Data for Revenue Stream 152 B.l Closed System (Fixed Toll Rate) 152 B.2 Closed System (Distance Proportional Toll Rate) 157 B.3 Open System (Fixed Toll Rate) 162 C Interchange Pair Traffic Volume and Traffic Volume and Toll Rate Growth Parameters 167 C.l Interchange Pair Traffic Volume 167 C.2 Traffic Volume Growth Parameters 177 C.3 Toll Rate Growth Parameters 178 D Source Code of the Model 179 Vll List of Tables 1.1 Derived Variables at Each Level 7 2.1 Work Package Components 32 2.2 Input Data for Revenue Streams 35 2.3 Interchange Pair Daily Traffic Volume 36 2.4 Interchange Pair Toll 36 2.5 Interchange Pair Annual Toll Revenue 36 2.6 Vehicle Type and Toll Ratio 41 2.7 Input Data for Toll Revenue (Example) 45 2.8 Daily Traffic Volume Q{1,k,1,1) 46 2.9 Daily Traffic Volume Q{1,k,1,2) 46 2.10 Tolls r(l,A:,l,l) 46 2.11 Tolls r{l,k,l,2) 46 2.12 Daily Traffic Volume Q{2,k,1,1) 46 2.13 Daily Traffic Volume Q{2,k,1,2) 46 2.14 Toll r(2,k,l,l) 46 2.15 Toll r{2,k,l,2) 46 2.16 Annual Revenue R(1,1,A:,1,1) 46 2.17 Annual Revenue R (1, 1, ;c, 1, 2 ) 46 2.18 Annual Revenue R{1,2,k,1,1) 47 2.19 Annual Revenue R (1, 2 , A:, 1, 2 ) 47 2.20 Annual Revenue R(2,1,A:,1,1) 47 2.21 Annual Revenue R{2,1,k,1,2) 47 viii 2.22 Annual Revenue R{2,2,k,1,1) 47 2.23 Annual Revenue R(2,2,k,1,2) 47 2.24 Annual Revenue R(2,3,A:,1,1) 47 2.2 5 Annual Revenue R(2,3,A:,1,2) 47 2.26 Total Revenues for an Example 47 2.27 Maintenance Costs 48 2.28 Operation Costs 49 2.29 Road Length 49 2.30 Tunnel Length by Ventilation Methods 50 2.31 Road Length (Example) 51 2.32 Tunnel Length by Ventilation Methods (Example) . 51 2.33 Road Cleaning Costs 51 2.34 Road Maintenance Costs 52 2.35 Road Lighting Costs 52 2.36 Bridge Maintenance (Repairing) Costs 53 2.37 Bridge Maintenance (Repainting) Costs 53 2.38 Tunnel Maintenance Costs 54 2.39 Snow and Ice Control Costs 55 2.40 Overlay Costs 55 2.41 Manpower Required for Operation Office 57 2.42 Labour Cost for Operation Office 57 2.43 Manpower Required for Toll Collection 59 3.1 General Feature of the Sample Project 63 3.2 Statistics Data for Inflation, Interest, Discount Rates, and Equity Fraction 65 3.3 Five Percentile Estimate Parameters for W.P. Duration 68 ix 3.4 Five Percentile Estimate Parameters for W.P. Costs 68 3.5 Deterministic Values for Work Package Durations and Costs 71 3.6 Statistics for Work Package Durations and Costs 72 3.7 Discounted Work Package Costs 73 3.8 Five Percentile Estimate Parameters for Revenue Streams 74 3.9 Interchange Distances 75 3.10 Toll for Light Motor Vehicle 75 3.11 Toll for Ordinary Motor Vehicle 76 3.12 Toll for Medium-sized Motor Vehicle 76 3.13 Toll for Large-sized Motor Vehicle 76 3.14 Toll for Special Large-sized Motor Vehicle . . . 76 3.15 Spot Traffic Volume between Interchange #1 and #2 77 3.16 Spot Traffic Volume between Interchange #2 and #3 78 3.17 Spot Traffic Volume between Interchange #3 and #4 79 3.18 Spot Traffic Volume between Interchange #4 and #5 80 3.19 Spot Traffic Volume between Interchange #5 and #6 81 3.20 Deterministic Annual Revenues and Annual Maintenance and Operating Costs (Constant Dollar) 85 X 3.21 Discounted Revenues for the Original Feasibility Analysis 3.22 Statistics for Discounted Work Package Costs 3.23 Statistics for Discounted Revenues 3.24 Statistics for Project Duration, Discounted Project Cost, Project Revenue, and Project Net Present Value(NPV) 3.25 Cumulative Probability of Project Duration . 3.26 Cumulative Probability of Project Cost . . . 3.27 Cumulative Probability of Project Revenue 3.28 Cumulative Probability of Project Net Present Value 3.29 Total sensitivity Coefficients for RVS #1 3.30 Total sensitivity Coefficients for RVS #2 3.31 Total sensitivity Coefficients for RVS #3 3.32 Total sensitivity Coefficients for RVS #4 3.33 Total sensitivity Coefficients for RVS #5 3.34 Total sensitivity Coefficients for RVS #6 3.35 Total sensitivity Coefficients for RVS #7 3.36 Total sensitivity Coefficients for RVS #8 3.37 Total sensitivity Coefficients for RVS #9 86 87 88 88 89 91 92 94 97 97 98 98 99 100 101 102 103 4.1 Five Percentile Estimate Parameters for W.P. Durations (case-1) 109 4.2 Five Percentile Estimate Parameters for W.P. Durations (case-2) 109 4.3 Comparison of the Project Revenue (case-1 and case-2) 110 xi 4.4 Cumulative probability of the Project Revenue (case-1 and case-2) llO 4.5 Comparison of the Project NPV (case-1 and case-2) Ill 4.6 Cumulative Probability of the Project NPV (case-1 and case-2) Ill 4.7 Five Percentile Estimate Parameters for Toll Rate Growth Parameters 113 4.8 Statistics Information of Five Percentile Estimate Parameters for Toll Rate Growth Parameters 113 4.9 Comparison of the Project Revenue (case-1 and case-3) 113 4.10 Cumulative probability of the Project Revenue (case-1 and case-3) 114 4.11 Comparison of the Project NPV (case-1 and case-3) 114 4.12 Cumulative Probability of the Project NPV (case-1 and case-3) 115 4.13 Five Percentile Estimate Parameters for Traffic Volume Growth Parameters 116 4.14 Statistics Information of Five Percentile Estimate Parameters for Traffic Volume Growth Parameters 116 4.15 Comparison of the Project Revenue (case-1 and case-4) 116 4.16 Cumulative probability of the Project Revenue (case-1 and case-4) 117 xii 4.17 Comparison of the Project NPV (case-1 and case-4) 117 4.18 Cumulative Probability of the Project NPV (case-1 and case-4) 118 4.19 Five Percentile Estimate Parameters for Tolls 119 4.20 Statistics Information of Five Percentile Estimate Parameters for Tolls 119 4.21 Comparison of the Project Revenue (case-1 and case-5) 120 4.22 Cumulative probability of the Project Revenue (case-1 and case-5) 120 4.23 Comparison of the Project NPV (case-1 and case-5) 121 4.24 Cumulative Probability of the Project NPV (case-1 and case-5) 121 4.25 Five Percentile Estimate Parameters for Traffic Volume 123 4.26 Statistics Information of Five Percentile Estimate Parameters for Traffic Volume 123 4.27 Comparison of the Project Revenue (case-1 and case-6) 123 4.28 Cumulative probability of the Project Revenue (case-1 and case-6) 124 4.29 Comparison of the Project NPV (case-1 and case-6) 124 4.30 Cumulative Probability of the Project NPV (case-1 and case-6) 125 xiii 4.31 Five Percentile Estimate Parameters for Inflation Rate 126 4.32 Statistics Information of Five Percentile Estimate Parameters for Inflation Rate 126 4.33 Comparison of the Project Revenue (case-1 and case-7) 126 4.34 Cumulative probability of the Project Revenue (case-1 and case-7) 127 4.35 Comparison of the Project NPV (case-1 and case-7) 127 4.36 Cumulative Probability of the Project NPV (case-1 and case-7) 128 4.37 Five Percentile Estimate Parameters for Parameter for Consignment Cost of Toll Collection 129 4.38 Statistics Information of Five Percentile Estimate Parameters for Consignment Cost of Toll Collection 129 4.39 Comparison of the Project Revenue (case-1 and case-8) 129 4.40 Cumulative probability of the Project Revenue (case-1 and case-8) 130 4.41 Comparison of the Project NPV (case-1 and case-8) 130 4.42 Cumulative Probability of the Project NPV (case-1 and case-8) 131 4.43 Comparison of the Project Revenue (case-1 and case-9) 132 xiv 4.44 Cumulative probability of the Project Revenue (case-1 and case-9) 132 4.45 Comparison of the Project NPV (case-1 and case-9) 133 4.46 Cumulative Probability of the Project NPV (case-1 and case-9) 133 4.47 Five Percentile Estimate Parameters for Traffic Volume 136 4.48 Statistics Information of Five Percentile Estimate Parameters for Traffic Volume . . . . 136 4.49 Comparison of the Project Revenue (case-1 and case-10) 136 4.50 Cumulative probability of the Project Revenue (case-1 and case-10) 137 4.51 Comparison of the Project NPV (case-1 and case-10) 138 4.52 Cumulative Probability of the Project NPV (case-1 and case-10) 138 B.l Input Data for Closed System (Fixed Toll Rate) 152 B.2 Input Data for Closed System (Distance Proportional Toll Rate) 157 B.3 Input Data for Open System (Fixed Toll Rate) 162 C.l Interchange Pair Traffic Volume at Base Year for RVS #1 168 XV C.2 Interchange Pair Traffic Volume at Base Year for RVS #2 169 C.3 Interchange Pair Traffic Volume at Base Year for RVS #3 170 C.4 Interchange Pair Traffic Volume at Base Year for RVS #4 171 C.5 Interchange Pair Traffic Volume at Base Year for RVS #5 172 C.6 Interchange Pair Traffic Volume at Base Year for RVS #6 173 C.7 Interchange Pair Traffic Volume at Base Year for RVS #7 174 C.8 Interchange Pair Traffic Volume at Base Year for RVS #8 175 C.9 Interchange Pair Traffic Volume at Base Year for RVS #9 176 C.IO Traffic Volume Growth Parameters 177 C 11 Toll Rate Growth Parameters 178 D.l Program List 181 XVI List of Figures 1.1 Flowchart for the Analytical Approach 9 2.1 Generalized Cash Flow Diagram for an Engineering Project 15 2.2 Cash Flow Diagram for a Toll Highway Project . . 15 2.3 Feasibility Study Components for a Toll Highway Project 16 2.4 General Pattern of Traffic Growth 17 2.5 Organizational Structure 21 2.6 Derived Variables at Each Level 24 2.7 Cash Flow Diagram for Work Package 26 2.8 Cash Flow Diagram for Net Revenue Stream . . . . 27 2.9 Cost/Revenue Components 28 2.10 Revenue Stream and Base Years 34 2.11 Interchanges (Example) 36 2.12 Toll Rate Increase (Case-1) 41 2.13 Toll Rate Increase (Case-2) 42 2.14 Toll Growth Parameters (Case-1) 42 2.15 Toll Growth Parameters (Case-2) 43 2.16 Road Structure (Example) 50 3.1 Expenditure Profiles for the Construction Phase 64 xvii 3.2 Expenditure and Revenue Profiles for the Revenue Phase 64 3.3 Time Line for a Sample Project 66 3.4 Precedence Network for the Sample Project . . . 70 3.5 Spot Traffic Volume between Interchange #1 and #2 82 3.6 Spot Traffic Volume between Interchange #2 and #3 82 3.7 Spot Traffic Volume between Interchange #3 and #4 83 3.8 Spot Traffic Volume between Interchange #4 and #5 83 3.9 Spot Traffic Volume between Interchange #5 and #6 84 3.10 Cumulative Probability of Project Duration . . . 90 3.11 Cumulative Probability of Project Cost 91 3.12 Cumulative Probability of Project Revenue . . . 93 3.13 Cumulative Probability of Project Net Present Value 94 4.1 Cumulative Probability of the Project Revenue (case-1 and case-2) Ill 4.2 Cumulative Probability of the Project NPV (case-1 and case-2) 112 4.3 Cumulative Probability of the Project Revenue (case-1 and case-3) 114 4.4 Cumulative Probability of the Project NPV (case-1 and case-3) 115 xviii 4.5 Cumulative Probability of the Project Revenue (case-1 and case-4) 117 4.6 Cumulative Probability of the Project NPV (case-1 and case-4) 118 4.7 Cumulative Probability of the Project Revenue (case-1 and case-5) 121 4.8 Cumulative Probability of the Project NPV (case-1 and case-5) 122 4.9 Cumulative Probability of the Project Revenue (case-1 and case-6) 124 4.10 Cumulative Probability of the Project NPV (case-1 and case-6) 125 4.11 Cumulative Probability of the Project Revenue (case-1 and case-7) 127 4.12 Cumulative Probability of the Project NPV (case-1 and case-7) 128 4.13 Cumulative Probability of the Project Revenue (case-1 and case-8) 130 4.14 Cumulative probability of the Project NPV (case-1 and case-8) 131 4.15 Cumulative Probability of the Project Revenue (case-1 and case-9) 133 4.16 Cumulative Probability of the Project NPV (case-1 and case-9) 134 4.17 Cumulative Probability of the Project Revenue (case-1 and case-10) 137 4.18 Cumulative Probability of the Project NPV (case-1 and case-lO) 138 xix D.l Program S t r u c t u r e 180 X X Acknowledgement I wish to express my most sincere gratitude to Dr. Alan Russell, my teacher and supervisor, who has had a profound and positive impact on my academic and professional attitudes. I greatly appreciate his advice, guidance, and support throughout my graduate studies. This thesis would not exist without his patient efforts and valuable suggestions. To Michael J. Wise, Kevin Yu, Francois Medori, Bruce Granstrom, Jerry Froese, fellow colleagues and friends, many thanks for your moral support and encouragement. I would like to thank my parents for their support, encouragement, and instilling in me a dedication that was invaluable in performing this work. To Daiki, thank for your encouragement. You made the bad times more tolerable and the good times more enjoyable. Finally, to Mitsuyo, your patience, support, and encouragement are most gratefully acknowledged. XXI Chapter 1 Introduction 1.1 General This thesis describes an application of an analytical method for time and economic risk quantification for large toll highway projects. The methodology facilitates the investigation of the sensitivity of project performance to changes in primary variables for a toll highway project. The goal of this thesis is to model the economic and financial performance of user-pay highway facilities, to measure the uncertainty surrounding such projects, and to explore ways of reducing the uncertainty. This chapter presents the background of the research, including the toll highway concept and the analytical method for quantification of economic risks, the objectives of the research, and the structure of the thesis. Chapter 1: Introduction 2 1.2 Background of the Research 1.2.1 Toll Highway Concept The concept of toll highway is not new at all. Many economists and researchers (Atkins, Bade, and Fisher, 1972; Beesley and Hensher, 1990; Geltner and Moavenzadeh, 1987; Gittings, 1987; Johansen, 1987; Robertson, 1987; Rusch, 1984; Schneider, 1985; Wuestefeld, 1988; et al) have discussed the toll highway concept for a long time. Many toll highways have been built in a variety of countries, particularly in Italy, France, Spain, and Japan. On the other hand, the former West Geinnany developed its national highway system without the use of toll financing. It is recognized that toll financing can be an effective method for developing and improving urgently needed highway systems within limited national budgets, although such an approach has unavoidable disadvantages. In addition to using the toll system for the construction of new highways, several countries are also considering toll financing in order to provide funds for the improvement and rehabilitation of existing free highway networks. The primary objectives of toll financing are described as follows by Rusch(1984): • to obtain funds for urgently needed projects; • to shift the burden of capital, operating, and maintenance costs to specific users; and Chapter I.- Introduction 3 • to provide an immediate and direct source of revenue to discharge the obligations created. Potential advantages and disadvantages have been also described by Atkins, Bade, and Fisher(1972); Beesley and Hensher(1990); Geltner and Moavenzadeh (1987); Gittings(1987); Johansen(1987); Robertson(1987); Rusch(1984); Schneider(1985); Wuestefeld (1988) et al as follows. Advantages include: • a more precise form of pay-as-you-go financing; • rapid construction; • fewer inflationary effects on capital cost; • better quality maintenance; • an ability to use toll rates as a form of congestion pricing; and • a better safety record. Disadvantages include: • extra financing costs; • extra costs of toll collection; • extra costs for toll collection facilities; • the payment of a fuel tax while traveling on a toll facility; • time delays, increased fuel consumption, and worse air quality when motorists are stopped; • putting more traffic back onto underpriced roads; • creating an undesirable private monopoly of management; and Chapter 1: Introduction 4 • less frequent access. According to the analysis conducted by the Congressional Budget Office (Gittings, 1987), the benefits of toll-financing may exceed the additional costs if a needed highway facility can be built 4 or more years sooner than would be possible under conventional tax financing. However, if toll financing produces a facility only 2 or fewer years sooner, the use of toll financing is probably not worth the additional costs. Toll collection systems are generally classified into three basic categories (Gittings, 1987). (1) Closed (ticket) system This system limits access to toll-paying motorists. Tollbooths are located at each point of entry and exit. Examples are the New Jersey, Ohio, and Pennsylvania turnpikes. (2) Open (main-line barrier) systems This system allows local, short distance traffic to use the facility without paying tolls. Barriers are located intermittently along the main line of the road, and no tollbooth is located on the interchange ramps. All traffic must stop at the barriers to pay the toll. However, local traffic may avoid paying tolls if there is no barrier between entry and exit. Examples are the Connecticut Turnpike and the Bee Line Expressway in Florida. Chapter l: Introduction 5 (3) Hybrid (barrier-ramp) system This system is a hybrid of the above two systems. There is a closed and an open system. In the closed system, toll barriers are located at intervals along the main line and on most interchange ramps. Every motorist has to pay the toll. An example is the Illinois Tollway. The open system, on the other hand, allows some toll free traffic. Toll barriers are located at the main lines and on selected high-revenue interchange ramps. An example is the Garden State Parkway in New Jersey. Gittings (1987) mentioned that significant cost savings are dependent on the design of the toll collection system - e.g. type of toll collection system, the number of collection points, the location of collection points - and the degree of automation in the system, and also that toll collection design decisions depend on cost, user access, traffic route choice, toll revenue, safety, and highway financing equity. There are usually two levels of feasibility studies required: preliminary engineering studies, and more detailed and definitive engineering studies (Rusch, 1984) . In preliminary engineering studies, aspects examined include consideration of location, alignment, toll rate, traffic projections, and estimates of construction, operation, maintenance, and financing costs. If preliminary studies indicate project feasibility, more detailed Chapter 1: Introduction 6 and definitive engineering studies are required in order to produce reliable cost and revenue estimates. Benefit-cost analysis for highway projects, which includes social benefits and impacts, has been discussed and reported on by many researchers (Andersson, 1985; Campbell and Humphrey, 1988; Christofferson, 1980; Davis and et al, 1953; Sharp, Button, and Deadman, 1986; Waters and Meyers, 1987; Weisbrod and Beckwith, 1992). Atkins, Bade, and Fisher(1972) introduced a computer based model for analysing the financial feasibility of toll roads. However, there seem to be very few academic studies which focus on toll highway projects and the measurement of economic risk. 1.2.2 Analytical Method for Quantification of Economic Risks This research is based on the Analytical Method for Quantification of Economic Risks, which was developed by Ranasinghe (1990). A brief outline is given below. By way of background, several probabilistic estimate methods for project decision and performance variables have been developed. They are: Probabilistic Time Methods, Probabilistic Cost Methods, Probabilistic Time/Cost Methods, and Probabilistic Present Value Methods. However, among them, only Probabilistic Present Value Methods, which evaluate a project's net present value (NPV) and internal rate of return (IRR), are suitable for economic Chapter 1: Introduction 7 feasibility studies because they employ criteria necessary to the proper evaluation of a project. The Analytical Method for Quantification of Economic Risks belongs in this category. An engineering project can be described in terms of a hierarchy which consists of three levels, namely, project decision, project performance, and work package/revenue stream. The project decision level is the highest level, and the individual work package/revenue stream level is the lowest level. At each level, derived variables are described by Y=sr(X) , where Y is the derived variable and X is a vector of primary variables. Derived variables at the lower level are primary variables at the higher level. See Table 1.1 for the variable hierarchy described. Level Project Decision Project Performance W.P/Revenue Stream Primary Variables Project Duration Project Cost Project Revenue W.P Duration W.P Cost Net Revenue Stream input data Derived Variables NPV IRR Project Duration Project Cost Proj ect Revenue W.P Duration W.P Cost Net Revenue Stream Table 1.1 Derived Variables at Each Level The framework for quantifying the uncertainty of a derived variable is based on four assumptions: Chapter 1: Introduction 8 (l)The derived and the primary variables are continuous and their probability distributions are approximated by the Pearson family of distributions; (2)An expert can provide estimates for the percentiles of his subjective prior probability distribution for a primary variable at the input level; (3)A derived variable can be more accurately estimated from a set of primary variables that are functionally related to it than by direct estimation; and (4)The correlations between primary variables are linear. See Ranasinghe (1990) for justification of these assumption. Figure 1.1 shows the flowchart for the analytical approach. Chapter 1: Introduction Analyst/Expert Input * Precedence Relations among Work Packages and Revenue Streams * Functions for Work Package Duration, Cost and Revenue Streams * Subjective Estimates for Percentiles of Primary Variables and Correlation Matrices, and Shared Variables in Functions for Work Package Durations, Costs and Revenue Streams W.P Durations W.P Start Times W.P Costs and Revenue Streams Work Package/Revenue Stream Level First Four Moments for Work Package and Revenue Stream Start Times, Work Package Durations, Cost and Net Revenue Streams I Project Performance Level I First four Moments for Project Duration, Cost and Revenue I Proj ect Decision Level First Four Moments for Project Net Present Value and Cumulative Distribution Function for Project Internal Rate of Return Figure 1.1 Flowchart for the Analytical Approach (Ranasinghe, 1990) Chapter 1: Introduction 10 1.3 Objectives of the Research The primary objectives of this research are: 1. to model economic and financial performance of user-pay highway facilities, with special emphasis on modeling revenues and costs during the operating phase; 2. to explore the sensitivity of project performance to change in primary variables (input data). Sensitivity analysis for the revenue phase(traffic volume and toll rate) are emphasized; 3. to measure the uncertainty surrounding user-pay highway facilities; and 4. to explore ways of reducing the uncertainty. The case study presented in chapter 4 is a comparison of current Japanese (Japan Highway Public Corporation) deterministic feasibility analysis with a probabilistic one, using essentially the same underlying project model. To achieve the objectives of the thesis, extensive work had to be done on the original main frame program developed by Ranasinghe (1990) called TIERA which was converted to a PC based program called AMMA. This program was extensively revised as part of this thesis. It is listed in Appendix D. Large toll highway projects consume large quantities of time, cost, and resources. The economic failure of a large toll highway project would undoubtedly cause serious damage to both Chapter 1: Introduction 11 the owner/operator of the highway and to the society in which it has been built. Therefore, it is critical that a detailed feasibility analysis be carried out in order to minimize potential risks. Feasibility analyses for toll highway projects require long-term forecasts of usage and unit rates because of long project durations, especially for the revenue phase. This means that such projects are executed in an environment of high uncertainty. Although many traffic forecast methods are now available (Bushell, 1970; Dalton and Harmelink, 1974; Davinroy, 1962; Duffus, Alfa, and Soliman, 1987; Huber, Boutwell, and Witheford, 1968; Kadiyali, 1983; Morellet, 1981; Neveu, 1982; Newell, 1980; Thomas, 1991; et al), it is difficult to accurately estimate future traffic, because traffic volume is dependent on an uncertain economic environment, changing road network conditions and many other factors. In these situations, risk quantification should be done carefully during feasibility analysis. 1.4 Structure of the Thesis Chapter 2 develops an analytical model for toll highway projects, with particular emphasis on the revenue phase. The model consists of three levels, work package/revenue stream level (the lowest level), project performance level, and project decision level (the highest level) . As they are functionally related, this model requires that primary variables for the work Chapter 1: Introduction 12 package/revenue stream level only are inputted. This model can be applied to the closed, open, and hybrid systems of toll collection. Chapter 3 presents a numerical example patterned after a Japanese project. Results from a sensitivity and risk analysis are presented. Chapter 4 examines strategies for risk management, and explores these impact on overall risks. Conclusions and recommendations are presented in Chapter 5. Appendix A contains the mathematical derivation of an equation for discounted work package costs. Appendix B contains detailed input data required by the model. Appendix C contains interchange pair traffic volumes and growth parameters for both traffic volumes and toll rates for the sample project. Appendix D contains source code of the model. Chapter 2 Analytical Model 2.1 General This chapter presents an analytical model for the feasibility analysis of a toll highway project. The model is based on an analytical method for time and economic risk quantification developed by Ranasinghe (1990). Extensions are made in the form of generalized revenue and operating cost models which draw on the approach used by the Japan Highway Public Corporation. Figure 2.1 shows the generalized cash flow diagram for a civil engineering project. However, a modified cash flow diagram, shown in Figure 2.2, is used for this model in order to make it more appropriate to a toll highway project. In this scenario, several basic assumptions have been made in order to simplify the model: (1)Since a project financing approach where funds are advanced during the construction phase, and repaid during the operation phase is assumed, there is no distinction between interim and permanent financing; 13 Chapter 2: Analytical Model 14 (2)The repayment of financing is assumed to begin after the construction phase is completed, although the model is compatible with projects involving overlapping operation and construction phases as well; (3)The repayment of financing is assumed to last until the end of the operation phase, but a shorter repayment period or a balloon payment at the end of the revenue phase could also be assumed; and (4)The repayment profile is assumed to be uniform and to consist of principal and interest. A more detailed explanation of each cash flow component is given in section 2.2. Figure 2.3 shows a flow chart of the components of a general feasibility study for a toll highway project used in Japan (Japan Highway Public Corporation, 1983). It is generally divided into seven basic steps as follows. (1) Traffic Survey Traffic surveys to elicit base traffic and travel speed for traffic forecasts are carried out. These surveys include a traffic volume survey, a motor vehicle origin-destination (OD) survey, and a travel speed survey. (2) Traffic Forecast Traffic forecasts are needed for the first year and years when relevant traffic conditions change - such as a new road opening or a big industrial area being completed. In these 'base years', traffic volume is often discontinuous because Chapter 2: Analytical Model 1 5 Permanent Financing i k Salvage Values Revenue Amortization of Permanent Financing Time (years) \ [ Repayment of Interim Financing Operating Expenses Balloon Payment Figure 2.1 Generalized Cash Flow Diagram for an Engineering Project i I Salvage Values Time (years) Balloon Payment Figure 2.2 Cash Flow Diagram for a Toll Highway Project Chapter 2: Analytical Model 1 6 Traffic Survey Base Traffic Travel Speed Traffic Volume Growth Rate Benefit Accounting Divertible Traffic Volume -L Toll Rate Diversion Rate Designed Daily Volume at the first year and base years Travel Time Difference Toll Travel Time Difference Design Project Costs Traffic Volume Growth Rate Designed Daily Volume at each year Operation Costs at the first year and base years Annual maintenance and operation costs Annual Toil Revenue Redemption Table Figure 2.3 Feasibility Study Components for a Toll Highway Project Chapter 2: Analytical Model 17 of d i s c r e t e addi t ions to capacity or changes in road condi t ions . See Figure 2 .4 . traffic volume road opens (base year) yea r road c o n d i t i o n / c a p a c i t y changes (base year) Figure 2.4 general pattern of traffic growth Future traffic volume is calculated on the basis of toll rates, results of traffic surveys, road length, and the traffic volume growth parameters that are based on future projections of economic conditions, population, road development plans, other national development plans, and so on. (3) Estimation of Annual Traffic Volume Annual traffic volume is calculated on the basis of traffic forecasts for the base years. It is not practical to carry out a traffic forecast for every year because of the cost and time involved. Therefore, traffic volume in non-base years is interpolated by parameters. Chapter 2: Analytical Model 18 For example, if t r a f f i c volume (Qo) in a base year i s derived from a t r a f f i c forecast , t r a f f i c volume (Qi) a t year i i s : Qi = ki/koxQo ( 2 . 1 ) where ko and ki are parameters, based on economic forecasts, national development plans, and so on. These parameters for the analytical model are described in more detail in section 2.5. (4) Design Toll highway facilities are designed on the basis of the traffic volume forecasts, topographical and geological data, political and other factors. Then, construction costs are estimated. The design of toll highway facilities may be dependent not only on traffic volume during base years, but also on that of other years. (5) Estimation of Annual Revenue In its simplest form, toll revenue is calculated by multiplying traffic volume by toll rate. toll revenue = (traffic volume) x (toll rate) (2.2) Complexity arises when consideration has to be given to different vehicle types, volume between interchange points, changing rates versus time, and open versus closed systems. (6) Estimation of Annual Maintenance and Operation Costs Annual maintenance and operation costs are calculated on the basis of traffic volume, the toll collection system, the Chapter 2: Analytical Model 19 organizational structure adopted, weather conditions, and so on. (7) Calculation of Project's Future Value (Redemption Table) The future value of the project at the end of every fiscal year during the construction and revenue phase can be computed in order to measure the project's financial condition. If the projected value at the end of the revenue phase is positive, the project is feasible. This calculation is based on the above-mentioned construction costs, toll revenue, and maintenance and operation costs. This paper focuses on the procedure followed after traffic forecasts for base years have been completed, and uses the project's net present value as a decision criterion. The organizational structure required for the administration of a toll road is one important factor that affects project expenses in terms of overheads. The organizational structure assumed for this model is shown in Figure 2.5, and reflects the structure of the Japan Highway Public Corporation (Japan Highway Public Corporation, 1992). Headquarters is in charge of formulating basic plans and policies for execution, setting standards, financing, and auditing. A bureau is an executing body for performing the actual work, such as road construction, operation, etc. Construction Bureaus are mainly in charge of construction, and Operation Bureaus are mainly in charge of executing road operation and collecting tolls. Each Bureau controls several on- Chapter 2: Analytical Model 20 site offices: a survey office for performing survey and design of road construction; a construction office in charge of road construction work and negotiations for acquiring rights of way; an operation office in charge of collecting tolls, operating traffic, performing road maintenance work, and management of properties. In addition, a laboratory that performs technical surveys, tests and research and development required for the construction and operation of roads is assumed. This structure is designed for organizations that operate several toll highway projects simultaneously, but can also be used for organizations that have only a single project. Overheads are usually allocated to each project in proportion to its construction costs and toll revenue. The remainder of this chapter is structured as follows: section 2.2 describes the cash flows that this model assumes, section 2.3 presents the structure of the model, section 2.4 describes work packages, section 2.5 describes revenue streams, and section 2.6 describes maintenance and operation costs. Chapter 2: Analytical Model 21 Figure 2.5 Organizational Structure Chapter 2: Analytical Model 22 2.2 Cash Flows It is assumed that all cash flows are continuous, and the inflation rate, interest rate, and discount rate are invariant with time. The model consists of seven categories of cash flows. (1) Current Dollar Expenditure This cash flow category consists of work package costs which include survey and design costs, land acquisition costs, and construction costs. (2) Financing In this model, an equity fraction /, which is invariant with time, is assumed. Financing is described as follows: Financing = (1-/) x current dollar expenditure of each work package. (2.3) (3) Revenue Revenue usually consists of toll revenue and others such as rent from the toll highway's associated facilities, interest, and other miscellaneous revenues. However, this thesis considers toll revenue only. Toll revenues are calculated by using annual traffic volumes and toll rates. (4) Amortization of Financing It is assumed that repayment of financing begins after the construction phase is completed, and continues for the remaining operation period (recall that the operation phase could start before the end of construction). Chapter 2: Analytical Model 23 (5) Opera t ing Expenses Operating expenses consist primarily of two types, maintenance costs and operation costs. (6) Salvage Values After the revenue phase expires, toll highway facilities are usually transferred to the government, federal, provincial, or municipal. The salvage values are dependent on the contract, the political environment, and other factors. They are sometimes zero, and sometimes not. This model can be applied to either case. (7) Balloon Payment At the end of the revenue phase, the loan balance is discharged by the balloon payment if there is a balance left. 2.3 Structure of the Economic Analysis Model This analytical model consists of three levels: work package/revenue stream level, project performance level, and project decision level, as well the risk measurement framework. Figure 2.6 shows derived variables at each level. Chapter 2: Analytical Model Derived Variables 24 NPV Project Duration IRR Project Decision Level Project Cost Work Pacl<age Duration Project Revenue Input Work Package Cost 1 Project Performance Level Net Revenue Stream 1 r Work Package/Revenue Stream Level Traffic Volume Data (primary variables for tfie work package/revenue stream level) Figure 2.6 Derived Variables at Each Level 2.3 1 Work Package/Revenue Stream Level This is the lowest level, and each work package and revenue item is linked by way of a precedence network. The work package/revenue stream level has three derived variables: work package duration, work package cost, and net revenue stream including usage (traffic volume). (1) Work Package Duration Work package duration can be estimated directly by experts, or derived using functional relationships that are dependent on work scope and productivity. The selection of estimation methods depends on what the model is used for. For preliminary engineering studies or the early stages of feasibility studies, a Chapter 2: Analytical Model 25 direct estimate may be chosen. On the other hand, for more detailed and definitive engineering studies and for monitoring a project during the operation phase, a decomposed estimate may be used. (2) Work Package Cost Work package cost can also be estimated directly, or derived using a functional relationship in terms of constant, current, or total dollars. The discounted cost of a typical work package is described as follows. See Appendix A for the detailed derivation. WPCi = /•e^^-''^-^'^-f'Coi(T)'e^^-'''>-'dT (2.4) where WPCi is the discounted cost for the ith work package; Coi (T) and Ci (T) are the functions for constant dollar cash flow and current dollar cash flow for the ith work package respectively (note: Ci(r) = C<.i(r)-e*''̂ "̂'""̂''̂) ; Ted, Td are work package start time and duration; TT, Tp and TRT are total project duration, construction phase finish time, and total revenue phase duration respectively; f is the equity fraction; dd, r and y are inflation, interest and discount rates, which are invariant with time, respectively. See figure 2.7 for reference. Chapter 2: Analytical Model 26 TT Tsci (l-f)Ci(T) TRT uniform amortization of financing Tmve Ci(T) Tci T T - T P Figure 2.7 Cash Flow Diagram for Work Package (3) Net Revenue Stream Net revenue stream can be estimated directly, or derived using functional relationships. However, it is usually derived from traffic volume and toll rate. A discounted net revenue stream is described as follows: NRSi = e'-^"'f(Ri{T)-Mi{T))-e'''dT (2.5] where NRSi is the discounted ith net revenue stream; Ri (r) is the function for current dollar cash flow for the ith toll revenue; Moi (T) and Mi (T) are the functions for constant dollar cash flow Chapter 2: Analytical Model 27 and current dollar cash flow for the ith operation and maintenance cost respectively (note: Mf(r) = M?/(T-)-ê'̂'̂ '̂"""̂^̂) ; TSRI and TRI are revenue stream start time and duration of the revenue stream; ^i, r and y are inflation and discount rates respectively. See Figure 2.8 for reference. $ TsRi RVS#i Moi(T) Mi(T) Tki Time Figure 2.8 Cash Flow Diagram for Net Revenue Stream Figure 2.9 shows cost and revenue factors at the work package/revenue stream level. They are described in more detail later. Chapter 2: Analytical Model 28 Toll Highway Project r" construction costs work paclcage costs headquarters and construction bureau overhead revenue toll revenue streams maintenance and operation costs maintenance costs operation costs road cleaning — road maintenance road lighting bridge maintenance - i — repairing bridge I repainting bridge — tunnel maintenance — snow and ice control overlay '— others labor costs operation office overhead operation bureau overhead headquarters overhead consignment costs — others I toll collection toll collection machine maintenance building and repainting relevant expenses of operation — cost for machine and equipment '— others Figure 2.9 Cost/Revenue Components Chapter 2: Analytical Model 29 2.3 2 Project Performance Level The project performance level has three derived variables, project duration, project cost, and project revenue. (1) Project duration The duration of a path is described as follows: Tj = Y,WPDij (2.6) 1=1 where Tj is the duration of the jth path and WPDij is the duration of the ith work package on the jth path. For this research, the probability of completing the project in time t, denoted as p(t), is calculated on the basis of the Modified PNET method (Ranasinghe, 1990) . Although PNET assumes that the activity durations are statistically independent, two different paths are considered to be correlated as a result of common activities. Then, the correlation between two paths i and J having m common activities is defined as (Ang et al. , 1975) , where cP'ijk is the variance of the k"' common activity on paths i and j, (Ji and q? are the standard deviations for duration of paths i and j, and py is the correlation Chapter 2: Analytical Model 30 coefficient between paths i and j. Those paths with pu^p are represented by path i (the longest path) from the assumption that p, 0.5 for this research, represents the transition between high and low correlation. Therefore, the probability, p(t) of completing the project in time t is given by p(t) = P(Ti < t)P(T2 < t) P{Tr <t) (2.8) where P{T\<t)P{Ti<t) P{Tr<t) are the probabilities of each representative path completing the project in time t, for r representative paths. See Ranasinghe (1990) for a more extensive description. (2) Project Cost The d i s c o u n t e d p r o j e c t cos t i s d e s c r i b e d as f o l l o w s : « D i s c o u n t e d p r o j e c t c o s t =^JVPCi ( 2 . 9 ) (3) Project Revenue The discounted project revenue is described as follows: « Discounted project revenue =^NRSi (2.10) Chapter 2: Analytical Model 3 1 2.3.3 Project Decision Level The project decision level has two derived variables, net present value (NPV) and internal rate of return (IRR). (1) Net Present Value NPV = Discounted Project Revenue - Discounted Project Cost (2.11) (2) Internal Rate of Return IRR = Discount Rate when NPV = 0 (2.12) Chapter 2: Analytical Model 2.4 Work Package 32 A toll highway project consists of a variety of work packages. Therefore, it is not practical to consider every detail of activities such as form work and concrete pouring for a feasibility study, especially at the early stage. Table 2.1 shows factors considered as work packages in this model. Attention has not been placed in this thesis on developing cost estimating relationships for construction related work. Phase (1)Survey & Design (2)Land Acquisition (3)Construction (4)Revenue Stream (Finish W.P) Work Package Survey & Design Land Acquisition Earth Work Bridge Tunnel Interchange Junction Rest Area Pavement Traffic Control Facility Toll Collection Facility Building & Repairs Overhead Others Revenue Stream for Different Vehicle Types Maintenance Costs Operation Costs Table 2.1 Work Package Components Chapter 2: Analytical Model 33 2.5 Toll Revenue 2.5.1 General Toll revenue is dependent on the toll collection method, traffic volume, and toll rate. As stated previously, toll collection methods can be classified into three major categories: (1) closed (ticket) system; (2) open (main-line barrier) system; (3) hybrid system. In addition, each system has several variations such as manual toll collection, automatic toll collection, and non-stop toll collection, e.g. Automatic Vehicle Identification (AVI). This model is designed for all of them. Each revenue stream is divided by base years. In other words, the first year of each revenue stream is a base year. See Figure 2.10. The toll revenue of each revenue stream is calculated on the basis of information from the base year and growth parameters. This is described in more detail later. Chapter 2: Analytical Model 34 Traffic Volume duration of RVS#3 (base year) (base year) (base year) Figure 2.10 Revenue Stream and Base Years year The revenue phase of this model requires three kinds of input data, namely, general information, toll revenue information, and maintenance and operation cost information. Table 2.2 shows these data for a closed system. Deterministic versus probabilistic variables are noted. It is assumed that the physical data for a toll highway, such as the number of interchanges, are deterministic. On the other hand, forecasts of future events such as traffic volume and growth rate are treated as probabilistic. See Appendix D for more detailed input data. Although the number of primary variables for each revenue stream depends on the number of interchanges, toll collection method, revenue stream duration, and the number of vehicle types, it can be over 200. Therefore, in order to simplify the probabilistic treatment of the model, correlation between primary variables for the revenue phase is not considered in the present model. Chapter 2: Analytical Model 35 Input Data Type (1) General (2) Toll Revenue (3) Maintenance and Operation Cost Components the number of revenue streams ( = the number of base years) the number of interchanges the number of vehicle types revenue stream duration interchange pair toll toll growth rate interchange pair traffic volume traffic volume growth rate weather classification periodic overlay periodic bridge repainting maintenance cost estimate criteria operation cost estimate criteria D D D P P P P P P D D D P P Table 2.2 Input Data for Revenue Streams where D : deterministic variable P : probabilistic variable In its simplest form, toll revenue is computed as: R = Q X r (2.13) where R is toll revenue, Q is traffic volume, and r is toll rate. Q and r are usually described as an interchange pair traffic volume and interchange pair tolls when calculating toll revenue (enter at interchange 1, exit at m, pay fare rim) . For example, if there are 5 interchanges in year i, and interchange pair traffic volume and tolls from vehicle type j are as shown in Tables 2.3 and 2.4, the toll revenue from vehicle type j in year i can be described as in Table 2.5 and equation 2.14. Chapter 2: Analytical Model 36 a- o — o - IC #1 #2 #3 Figure 2 .11 In t e r changes (Example) o #4 -o #5 I . e . # 1 I . e . #2 Q ( i , l , 2 , j ) I . e . #3 Q ( i , 2 , 3 , j ) Q ( i , l , 3 , j ) I . e . #4 Q ( i , 3 , 4 , j ) Q { i , 2 , 4 , j ) Q ( i , l , 4 , j ) I . e . #5 Q ( i , 4 , 5 , j ) Q ( i , 3 , 5 , j ) Q ( i , 2 , 5 , j ) Q ( i , l , 5 , j ) Table 2.3 Interchange Pair Daily Traffic Volume I . e . #1 I . e . #2 r ( i , i , 2 , j ) I . e . #3 r ( i , 2 , 3 , j ) r { i , i , 3 , j ) I . e . #4 r ( i , 3 , 4 , j ) r ( i , 2 , 4 , j ) r ( i , i , 4 , j ) I . e . #5 r ( i , 4 , 5 , j ) r ( i , 3 , 5 , j ) r ( 1 , 2 , 5 , j ) r ( i , i , 5 , j ) Table 2.4 Interchange Pair Toll I . e . # 1 I . e . #2 Q ( i , l , 2 , j ) X r ( 1 , 1 , 2 , j ) X 3 6 5 I . e . #3 Q ( l , 2 , 3 , j ) X r ( i , 2 , 3 , j ) X 3 6 5 Q ( l , l , 3 , j ) X r ( 1 , 1 , 3 , j ) X 3 6 5 I . e . #4 Q ( l , 3 , 4 , j ) X r ( 1 , 3 , 4 , j ) X 3 6 5 Q ( l , 2 , 4 , j ) X r ( 1 , 2 , 4 , j ) X 3 6 5 Q ( l , l , 4 , j ) X r ( 1 , 1 , 4 , j ) X 3 6 5 I . e . #5 Q ( l , 4 , 5 , j ) X r ( 1 , 4 , 5 , j ) X 3 6 5 Q ( l , 3 , 5 , j ) X r ( 1 , 3 , 5 , j ) X 3 6 5 Q ( l , 2 , 5 , j ) X r ( 1 , 2 , 5 , j ) X 3 6 5 Q ( l , l , 5 , j ) X r ( 1 , 1 , 5 , j ) x 3 6 5 Table 2.5 Interchange Pair Annual Toll Revenue R(i.J) = 2 '^Q(i,l.m,J) •r(i.l.m,j) /=1 m=/+l (2.14) Chapter 2: Analytical Model 3 7 where /?(,-̂ )̂ : toll revenue of vehicle type j in year i Q(i.i,m.j) •• interchange pair traffic volume between interchanges #1 and #m for vehicle type #j in year i r(i,i.m,j) • interchange pair toll between interchanges #1 and #m for vehicle type #j in year i 2.5.2 General Input Data For the closed system, input data required for the computer implementation of this model are: the number of revenue streams; the number of interchanges; the number of vehicle types; and revenue stream start time revenue stream duration For the open system, input data required in this model are: the number of revenue streams; the number of interchanges; the number of vehicle types; the number of toll gates; location of toll gates; and Chapter 2: Analytical Model 38 • revenue stream s t a r t time • revenue stream dura t ion . For example, if a toll gate is located at interchange #2, the location of the toll gate is indicated by 2. If a toll gate is located between interchanges #2 and #3, the location of the toll gate is indicated by 2.5. 2.5.3 Traffic Volume As the operation period of a toll highway project is very long, e.g. 30 years, it is very difficult to accurately forecast future traffic volumes, even though many traffic forecasting methods are available (Bushell, 1970; Dalton and Hannelink, 1974; Davinroy, 1962; Duffus, Alfa, and Soliman, 1987; Huber, Boutwell, and Witheford, 1968; Kadiyali, 1983; Morellet, 1981; Neveu, 1982; Newell, 1980; Thomas, 1991; et al) . In addition, because each forecasting method has its own characteristics, tendency, and validity, it is important to consider them carefully when the five percentile subjective estimates are done. The calculation of annual revenue requires information about every interchange-pair traffic volume of every vehicle type for every year during the revenue phase. However, as mentioned previously, it is not practical to carry out a detailed traffic forecast for every year. Therefore, this model requires information on traffic volume for base years only, and traffic volume in non-base years is interpolated by parameters, as Chapter 2: Analytical Model 3 9 described in equation (2.1). As also mentioned previously, traffic growth parameters in equation (2.1) are based on economic forecasts, national development plans, and so on, and the growth rate is not constant. There may be several kinds of the parameters. In this thesis, forecasted annual vehicle- kilometers, which are probabilistic, are used. This model can deal with any kind of traffic forecasting method as long as it satisfies these requirements. In this thesis, it is assumed that each traffic volume is independent, as mentioned in 2.5.1. An annual discrete traffic growth model similar to that shown in Figure 2.10 is used for this model in order to calculate annual revenue and expenses. As mentioned in a later section, estimates related to traffic volume have high uncertainty among the primary variables that describe a toll highway project. Input data required in this model are: every interchange pair traffic volume for every vehicle type in a base year for every revenue stream; and • a traffic volume growth parameter for every year during the revenue phase. Chapter 2: Analytical Model 40 It is assumed here that the traffic volume growth parameters are the same for each vehicle type. This is based on the current procedure in Japan. Future extensions to the model should facilitate the input of different growth parameters for each vehicle type, thereby rendering the model greater flexibility. 2.5.4 Toll Rate Toll rates are generally classified into 2 categories, the distance proportional toll rate and the flat(fixed) rate. The general form of the distance proportional toll rate is: r=rpxd+rf (2.15) where rp -, proportional part of toll rate ($/km) rf : fixed part of toll rate ($) d : travel distance (km) Tolls are calculated on the basis of the above toll rate and vehicle types. Table 2.16 shows an example of vehicle types and toll ratios between them. This model also considers the long distance discount. It is very important to discuss whether or not future toll increases are to be considered in a feasibility analysis. Considering future toll increases may cause overestimates of toll revenue, especially if there is no guarantee that Chapter 2: Analytical Model 41 class class 1 Class 2 class 3 class 4 class 5 description Light motor vehicle Ordinary motor vehicle Medium-sized motor vehicle Large-sized motor vehicle Special large-sized motor vehicle toll ratio a 1.00 b c d Table 2.6 Vehicle Type and Toll Ratio toll rates can be increased over time. However, in some cases, it is more realistic to take them into account. Therefore, this model is applicable in both cases. Two kinds of toll increase considered in this model are shown in Figure 2.12 and 2.13. Figure 2.12 shows toll rates that increase annually, and Figure 2.13 shows toll rates that increase every several years. Figure 2.13 tends to reflect common practice because annual toll increases are often met by public opposition. Toll 1—I—I—I—I—I—I—I—I—I—I—I—I—r Year Figure 2.12 t o l l r a t e increase (case-1) Chapter 2: Analytical Model Toll 42 Year n I I I I r Figure 2.13 t o l l r a t e i n c r e a s e (case-2) For both c a s e s , the t o l l r a t e i s d e s c r i b e d a s : tolli = a • tolh ( 2 . 1 6 ) where tolh and tolh are the toll rates in base year and year i respectively, and ai is a toll growth parameter for year i . Along with traffic growth parameters, a toll growth parameter is assigned to every year during the revenue phase as input data. It is not necessary that the parameter be constant because this parameter is also dependent on economic conditions, government policies, and so on. a± are sometimes described as cd = {l + ay~^, where a is average annual growth rate. ai for both cases looks like Figures 2.14 and 2.15. ai "I—I—r I I r 1 I I r Year Figure 2.14 toll growth parameters (case-l' Chapter 2: Analytical Model 43 ai "1 I I I I I I I I r 1 I r t Figure 2.15 toll growth parameters (case-2) When toll rates increase, traffic volume theoretically decreases(Japan Highway Public Corporation, 1993; et al). No attempt is made to model this phenomenon here, however, because of a lack of data with which to attempt the derivation of an empirical model. In this model, input data for the distance proportional toll are: proportional part of toll rate for ordinary motor vehicle,- fixed part of toll rate (constant for all vehicle types); interchange pair distances; toll ratio between vehicle types; long distance discount information; and a toll growth parameter for every year during the revenue phase. In this model, input data for the fixed toll are: Chapter 2: Analytical Model 44 • every interchange pair toll for every vehicle type in base year for every revenue stream; and • a toll growth parameter for every year during the revenue phase. 2.5.5 General Form of Toll Revenue The constant dollar toll revenue is described as follows nrv rvd(i)mc(i)~l nic(0 nvt(i) PTOLL = 2 Z Z Z ^Re-J->'•'•'") 1=1 j=l k=l l=k+l m=l ( 2 . 1 7 ) nrv n'd(_i)mc(_i)-l nic(_i) nvtiO K ~ Z Z Z Z Z!2(''*-'-'")'-r^"''('''*''-'")'̂ (''-'>^^6^ ,=1 J=l t=l 7=*+l m=l ^ ( M ) where PTOLL ' constant dollar toll revenue of the project j^fy : the number of revenue streams rvd(i) • duration of RVS #i nic(i) • the number of interchanges for RVS #i nvt(i) • the number of vehicle types for RVS #i R(i.j,k,i,m) • annual revenue interchanges #k and #1 for vehicle type #in in jth year for RVS #i Q(i.k.i,m) : daily traffic volume between interchanges #k and #1 for vehicle type #in in base year for RVS #i k^ij^ : traffic growth parameter of year j for RVS #i fc(i^i) : traffic growth parameter of base year for RVS #i Chapter 2: Analytical Model 45 r(i,k,i.m) • toll between interchanges #k and #1 for vehicle type #m in base year for RVS #i q(i,j) : toll growth rate parameter in year j for RVS #i A simple example is shown below. nrv rvd(i) rvd(2) mc(i) nic(2) nvt(i) nvt(2) Q(hkj.\) Qa,k,i,2) Q(2,k,l,l) Q(2,k.l,2) ^(1,1) A:(i,2) ^(2,1) k(2,2) k(2,3) r(i,k,i,i) r(l,k,l,2) r(2,k,l,l) r(2,k,l,2) q(ui) g(.u2) q(2,i) ^(2,2) ^(2,3) 2 2 3 2 3 2 2 See Table 2. 7. See Table 2. 8. See Table 2.11. See Table 2.12. 5156 5350 5480 5610 5740 See Table 2. 9. See Table 2.10. See Table 2.13. See Table 2.14. 1.00 1.02 0 (1.02M 1.040 (1.02̂ ) 1.061 (1.02') 1.082 (1.02*) Table 2.7 Input Data for Toll Revenue (Example) Chapter 2: Analytical Model 46 I.C.#1 I.e.#2 8, 000 Table 2.8 Daily Traffic Volume (vehicles/day) Q(i,k,i,i) I.C.#1 I.e.#2 12,000 Table 2.9 Daily Traffic Volume (vehicles/day) Q(uk.i,2) i.e.tti I.e.#2 5 Table 2.10 Toll ($) r(i,k,i,i) i.e.#i I.e.#2 7 Table 2.11 Toll ($ r{l,k,l,2) i.e.#i I.e.#2 10,000 I.e.#3 5, 000 14,000 Table 2.12 Daily Traffic Volume (vehicles/day) Q(2,k,l,l) i.e.#i I.e.#2 14,000 I.e.#3 7, 000 15,000 Table 2.13 Daily Traffic Volume (vehicles/day) Q(2.k,I,2) i.e.#i I.e.#2 5 I.e.#3 3 8 Table 2.14 Tolls ($ r(2,k,I,l) i.e.#i I.e.#2 7 I.e.#3 4 10 Table 2.15 Tolls ($ r(2,k,l,2) According to equation (2.18), toll revenues are shown in Tables (2.16) to (2.26) Revenue Stream #1: I.e.#l I.e.#2 14 . 60 Table 2.16 Annual Revenue R(l,l,k,l,l) $ million) i.e.#i I.e.#2 30 . 66 Table 2.17 Annual Revenue ($ million; R(l,l,k,l,2) Chapter 2: Analytical Model 47 I.C.#1 I.e.#2 15 .45 Table 2.18 Annual Revenue ($ million) R{l,2,k,l,l) I.C.#1 I.e.#2 32 .45 Table 2.19 Annual Revenue ($ million] R(l,2,k,I,2) Revenue Stream #2 i.e.#i I.e.#2 18 . 98 I.e.#3 5 .69 42 .52 Table 2.20 Annual Revenue ($ million) R(2,l,k,I,l) i.e.#i I.e.#2 37.20 I.e.#3 10.63 56 .94 Table 2.21 Annual Revenue ($ million) i?(2,i, *,;,2) i.e.#i I.e.#2 19 . 82 I.e.#3 5 .95 44 .40 Table 2.22 Annual Revenue ($ million) R(2,2,k,I,l) i.e.#i I.e.#2 38.85 I.e.#3 11. 10 59 .47 Table 2.23 Annual Revenue ($ million) R(2,2,k,l,2) i.e.#i I.e.#2 20.68 I.e.#3 6 .21 46 .33 Table 2.24 Annual Revenue ($ million) i?(2,3, *,/,!) i.e.#i I.e.#2 40 .54 I.e.#3 11 .58 62 . 05 Table 2.25 Annual Revenue ($ million) R(2,3.k,l,2) Then, total revenues are: Total Revenue of RVS #1 Total Revenue of RVS #2 Total $ 93 .16 million $ 538.94 million $ 632 .10 million Table 2.26 Total Revenues for an Example Chapter 2: Analytical Model 48 2.6 Maintenance and Operation Cost Model Maintenance and operation costs are dependent on road structures, toll collection systems, traffic volumes, weather conditions, organizational structures, and other factors. This model assumes that maintenance costs are mainly dependent on road structure, while operation costs are dependent on the others. Components of each group are shown in Tables 2.27 and 2.28. See sections 2.6.1 and 2.6.2 for more detail. Maintenance and operation costs are written in constant dollar form. It is assumed that constant dollar maintenance and operation costs are constant during the operation phase because the highway is maintained properly. The same inflation rate is used for all components, because of the difficulty in identifying differences between inflation rates for each component. road cleaning road maintenance road lighting bridge maintenance tunnel maintenance snow and ice maintenance overlay others bridge repair bridge repainting Table 2.27 Maintenance Costs Chapter 2: Analytical Model 49 l a b o r c o s t s consignment c o s t s o t h e r s o p e r a t i o n o f f i c e overhead o p e r a t i o n bureau overhead h e a d q u a r t e r s overhead t o l l c o l l e c t i o n t o l l c o l l e c t i o n machine maintenance b u i l d i n g and r e p a i r s r e l e v a n t expenses of o p e r a t i o n cos t of machine and equipment o t h e r s Table 2.28 Opera t ion c o s t s 2.6.1 Maintenance Costs In this model, maintenance costs are calculated on the basis of road length and the number of lanes. Therefore, this information should be input. Bridge Tunnel earthwork Tota l 2 Lanes IBI IT. IEI h = IBZ + ITZ + IEI 4 l a n e s 1B t ITA IBA h = IBA + IT A + IEA 6 l a n e s IB6 IT 6 IE6 h = IB6 + IT6 + IE6 Tota l IB = IBI + IBA + IBS IT = ht + ITA + IT 6 IE = IE2 + IEA+IE6 I = IB + IT + IE 1= h+U+h Table 2.2 9 Road Length Chapter 2: Analytical Model 50 no v e n t i l a t i o n hn j e t fan hj others ITO t o t a l IT Table 2.3 0 Tunnel Length by Ventilation Methods For example, if the road structure shown in Figure 2.16 is assumed. Tables 2.29 and 2.30 become Tables 2.31 and 2.32. road length L Legent: — • ):::( . ^BSSnKKXKK earth work tunnel bridge road direction Figure 2.16 Road Structure (Example) Chapter 2: Analytical Model 51 Bridge Tunnel earthwork Total 2 Lanes 0 0 0 0 4 lanes bl tl+t2 e2+e3+e4 bl+tl+t2+ e2+e3+e4 6 lanes 0 0 el el Total bl tl+t2 el+e2+e3+ e4 L Table 2.31 Road Length (Example) no ventilation tl jet fan t2 others 0 total tl+t2 Table 2.32 Tunnel Length by Ventilation Methods (Example) Maintenance costs consist of nine factors. (1) Road Cleaning Costs Road cleaning costs are calculated on the basis of the road length and the number of lanes. Input data are as follows. the number of lanes 2 4 or more Table 2.33 Road c2 cost ($/km) Cc2 Cc4 Leaning Costs Road Cleaning Costs = Cci-xh + Cc^x^h + U) (2.18) (2) Road Maintenance Costs Road maintenance costs are calculated on the basis of the earth work length and the number of lanes. These Chapter 2: Analytical Model 52 i n c l u d e pavement r e p a i r , r o a d m a r k i n g , r o a d s i d e m a i n t e n a n c e , p l a n t i n g , and so on . e a r t h work l e n g t h = r o a d l e n g t h - b r i d g e and t u n n e l l e n g t h (2 .19) I n p u t d a t a a r e a s f o l l o w s . t h e number of l a n e s 2 4 6 cos t ($/km) Cmi Cm4 Cm6 Table 2.34 Road Maintenance Costs r o a d m a i n t e n a n c e c o s t s = Cmixls^ + CmAxlE^+Cm^xlEs (2.20) (3) Road Lighting Costs Road lighting costs are calculated on the basis of the earth work and bridge length and the number of lanes. Input data are as follows. t h e number l a n e s of 1 or 2 4 or 6 cos t ($/km) O i Cf4 Table 2.35 Road Lighting Costs road lighting costs = C;IX(/B2 + /B2)+C/4X {(/B4 + /B6)+(/E4 + /E6)} (2.21) (4) Bridge Maintenance (Repair) Costs Bridge repair costs are calculated on the basis of the bridge length and the number of lanes. These costs Chapter 2: Analytical Model 53 i n c l u d e j o i n t r e p a i r , shoe r e p a i r , h a n d r a i l r e p a i r , and so on. Input d a t a a r e as f o l l o w s . the number of lanes 2 4 6 cost ($/km) Cri Cr4 Cre Table 2.3 6 Bridge Maintenance (Repairing) Costs b r i d g e r e p a i r c o s t s = CrixlB2+Cr4xlB4 + Cr6xlB6 (2.22) (5) Bridge Maintenance (Repainting) Costs Bridge repainting costs are calculated on the basis of the bridge length and the number of lanes. Bridge repainting is performed at intervals of specific years, which depend on the owner's standards, weather conditions, etc. In this model, it is assumed that bridge repainting is performed every nl years (for this thesis, nl equals 7) . Input data are as follows. the number of lanes 2 4 6 cost ($/km) Cp2 Cp4 Cp6 Table 2.37 Bridge Maintenance (Repainting) Costs bridge repaint costs = CpixlBi+Cp4xlB4+CpexlB6 (2.23) Chapter 2: Analytical Model 54 (6) Tunnel Maintenance Costs Tunnel maintenance costs are calculated on the basis of tunnel length and the ventilation methods. They include: • cleaning costs of interior finish boards and lights, • replacement costs of light bulbs, • maintenance costs of independent electric power plants and cables, • repair costs of tunnel bodies, interior finish boards, and inspection steps, • electric fees, • traffic control costs, etc. Input data are as follows. ventilation methods no ventilation jet fan others cost ($/km) Ch Ctj Cto Table 2.38 Tunnel Maintenance Costs tunnel maintenance = 2(chxlT„+ctjxlTj + cuxlT„) (2.24) (7) Snow and Ice Control Costs Snow and ice control costs are calculated on the basis of the road length, the number of lanes, and the weather conditions. Input data are as follows. Chapter 2: Analytical Model 55 weather condition area of heavy snowfall (1) area of ordinary snowfall (2) cost ($/k:m/2lanes) Csh Cso Table 2.39 Snow and I c e C o n t r o l C o s t s snow and i c e c o n t r o l = c*»x(/2 + 2/4 + S/e) o r , C«<,x(/2+2/4 + 3/6) ( 2 . 2 5 ) 8) Overlay Costs Overlay costs are calculated on the basis of the road length and the number of lanes. These include scarification costs. Overlay is performed at intervals of specific years, which depend on the owner's standards, weather conditions, etc.. In this model, it is assumed that overlay is performed every n2 years (for this thesis, n2 equals 12). Input data are as follows. the number of lanes 2 4 6 cost ($/km) Co 2 Coi Cof, Table 2.40 Overlay Costs overlay : hxcoi+UxcoA+hxcoe (2.26; Chapter 2: Analytical Model 56 (9) Other Indirect Maintenance Costs Other Indirect Maintenance Costs {total of costs for (1) to (6)} x p (2.27) where j3 : parameter for other indirect maintenance costs 2.6.2 Operation Costs In this model, operation costs are mainly calculated on the basis of traffic volume and labour costs, and take the form of a step function as labour/equipment must be added in discrete units. Operation costs consist of six factors. This model assumes that toll collection work and toll collection machine maintenance are performed by subcontractors. (1) Labor Costs (Operation Office Overhead) These are labor costs for operation offices, and are calculated on the basis of traffic volume, toll collection method, and the number of toll gates. Input data are as follows. Chapter 2: Analytical Model 57 t r a f f i c volume (vehicles/day) 0 to toi t o i t o t02 t02 t o t03 t03 t o t04 t04 t o t 05 to5 or more A a i 3 2 as a 4 a 5 as B b i b 2 b 3 b 4 bs be C C l C 2 C 3 C 4 C 5 C6 D d i d2 d 3 d4 ds de E e i e 2 es 6 4 6 5 6 6 sum S i S 2 S 3 S 4 S 5 Se Table 2.41 Manpower Required for Opera t ion Off ice a. closed system Traffic volume is half of the total traffic volume that each toll gate deals with. b. open system Traffic volume is the total of traffic volume that each toll gate deals with. A B C D E d i r ec to r v i ce -d i r ec to r chief c lerk or engineer worker cost ($/person) Cpa Cpb Cpc Cpj Cpe Table 2.42 Labour Cost for Operation Office For example, if traffic volume is between to3 and to4, toll collection costs = a'ixCpa-\-bAXCpb + C4XCpc+d4XCpd-\-e4XCp, (2.28) Chapter 2: Analytical Model 58 (2) Labor Costs (Operation Bureau Overhead) These are labor costs for operation bureaus. Operation Bureau Overhead = Rxaz (2.29) where ^2 : parameter for labor costs (operation bureau overhead) (3) Labor Costs (Headquarters Overhead) These are labor costs for headquarters. Headquarters Overhead = Rxai (2.30) where QTj : parameter for labour costs (headquarters overhead) (4) Consignment Costs (Toll Collection) Consignments costs for toll collection work are calculated on the basis of traffic volume, toll collection method, and the number of toll gates. Input data are as follows. ^^^ : labour cost ($/person) ccs • (closed system) parameter for consignment costs (toll collection) ĝ :(open system) parameter for consignment costs (toll collection) Chapter 2: Analytical Model 59 closed system t r a f f i c volume (vehicles/day) 0 t o t i l t i l t o t l 2 t l 2 t o t l 3 t l 3 t o t l 4 t l 4 t o t l 5 t l 5 t o t l 6 t l 6 t o t l 7 t l 7 t o t l 8 t l 8 t o t l 9 t l 9 t o t20 t20 t o t 2 1 t 2 1 t o t 2 2 t22 t o t23 t23 t o t24 t24 t o t 2 5 t25 t o t26 t26 t o t27 t27 or more c lerk XI X2 X3 X4 X5 X6 XI X& X9 XIO xn xn xn xu X15 Xie X\l Ai:i8 (per t o l l open system t r a f f i c volume (vehicles/day) 0 t o t 3 1 t 3 1 t o t32 t32 t o t 3 3 t33 t o t34 t34 t o t 35 t35 t o t 3 6 t36 t o t37 t37 t o t38 t38 t o t 3 9 t39 t o t40 t40 t o t 4 1 t 4 1 t o t 4 2 t42 t o t 43 t43 t o t44 t44 t o t 4 5 t45 t o t46 t46 t o t 47 t47 t o t48 t48 or more gate) clerk J ' l y^ y^ y^ y^ y6 y y% y^ 710 711 yn yi3 yi4 y^^ yi6 yn yis yi9 Table 2.43 Manpower Required for Toll Collection a. closed system Consignment Costs (Toll Collection) = {S(the number of clerks) x cto} x as (2.31) b. open system Consignment Costs (Toll Collection) = {Z(the number of clerks) x Cto} x ae (2.32) Chapter 2: Analytical Model 60 (5) Consignment Costs (Toll Collection Machine Maintenance) Consignment costs of toll collection machine maintenance are calculated on the basis of consignment costs of toll collection work and, toll collection method. (closed system) Consignment Costs (Toll Collection Machine Maintenance) = Consignment Costs (Toll Collection) x a? (2.33) (open system) Consignment Costs (Toll Collection Machine Maintenance) = Consignment Costs (Toll Collection) x as (2.34) where ^7 : (closed system) parameter for consignment costs (toll collection machine maintenance) CCS : (open system) parameter for consignment costs (toll collection machine maintenance) (6) Other Operation Costs These include: • building and repair expenses, • operational expenses, • cost for machine and equipment, and • others. Chapter 2: Analytical Model 61 The total of (6) to (9) = {cop X (os + U) + Co/} (2.35) where OB : the number of operation office personnel ts : the number of toll collection clerks Cop : parameter for other operation costs Cof : parameter for other operation costs In addition, inflation rates for maintenance and operation costs are required. 2.6.4 General Form of Maintenance and Operation Costs The constant dollar maintenance and operation costs are described as follows. nrv nm no PMs.o = Y,TalLi^^''J^ + Oii,k)) (2.36) ,=1 j=i t=i where PMSCO '• constant dollar maintenance and operation costs : the number of revenue streams : the number of items required for maintenance cost estimates (= 9 in this model) : the number of items required for operation cost estimates (= 6 in this model) M(i,j) • maintenance cost of item #j for RVS #i 0{ij) '• operation cost of item #j for RVS #i nrv nm no Chapter 3 Application 3.1 General This chapter applies the analytical model described in Chapter 2 to an actual deterministic feasibility study for a large toll highway project. Section two describes the sample project, and sections three and four present results from a sensitivity and risk analysis. The data for this example were obtained from an actual deterministic feasibility analysis conducted for a toll highway in Japan. 62 Chapter 3: Application 3.2 Sample Project 63 3.2.1 Sample Project General Information This toll highway is being constructed in northern Japan as a bypass road intended to ease traffic congestion in an urban area. Because this highway passes near an urban area, high construction costs and large traffic volumes are expected. The general details are shown in Table 3.1. Road Length Road Structure Earth Work Bridge and Viaduct Tunnel Number of Lanes Number of Interchanges Toll Collection System Number of Vehicle Types Toll Rate (toll ratio) Light motor vehicle Ordinary motor vehicle Medium-sized motor vehicle Large-sized motor vehicle Special large-sized motor vehicle Construction Period Operation Period Construction Costs Rest Facility Table 3.1 General Features of t 2 0.8 Km 16.8 Km 4 . 0 Km - 2 and 4 6 Closed System (Manual Collection) 5 34 cents/Km (Ordinary Motor Vehicle) 0.80 1. 00 1.06 1 .55 2 .75 10.5 years 30 years $753 million - tie Sample Project Chapter 3: Application 64 This highway project is divided into three sections, each with a different opening date. However, to simplify the model, amortization of financing is assumed to start when the last segment opens. For illustrative purposes, uniform constant dollar expenditure profiles for work package costs, uniform constant dollar annual expenditure profiles for operating costs, and uniform constant dollar annual revenue profiles for revenue streams are assumed. See Figures 3.1 and 3.2. I W.P.#i , W.P.#i+1 T 1 r T r Year Figure 3.1 Expenditure Profiles for the Construction Phase toll revenue RVS#i RVS#I+1 -| r 1 r T r Year operation cost Figure 3.2 Expenditure and Revenue Profiles for the Revenue Phase Chapter 3: Application 65 In addition, constant interest and inflation rates are assumed. The values assumed for the inflation rateidc and 6^) , the interest rate (r) , the discount rate (y) , and the equity fraction (f) are shown in Table 3.2. All construction work packages are assumed to have identical inflation rates. a 6k r y f Mean 4 .311% 4 .311% 6 .500% 6 .500% 0.000 a 1.093% 1.093% 0 .163% - - # 2 .0 2 .0 0.1 - - ^ 9 .4 9 .4 5.9 - - Table 3.2 Statistical Data for Inflation, Interest, Discount Rates, and Equity Fraction •̂//ft and >& are the moments ratios that describe the Pearson family of distributions. This analysis follows the procedures described in Figure 1.1 and assumes that the Pearson family of distributions will provide a good fit to most "real life" distributions (Ranasinghe, 1990). Therefore, all probabilistic primary variables and derived variables here are assumed to approximate to the Pearson family of distributions. Figure 3.3 shows a time line for the sample project. For the base years of revenue streams #1, #2, and #5, the highway is assumed to open in stages, and in the other base years, changes to conditions on related roads are predicted. Chapter 3: Application 6 6 RVS#9 RVS#8 RVS#7 RVS#6 RVS#5 RVS#4 RVS#3 RVS#2 RVS#1 W.P.s ^^ M I I I I I I I I I I I ^ T T l M-m : base years 10 20 30 Figure 3.3 Time Line for a Sample Project 40 Year For the purpose of this thesis, the project's net present value (NPV) is dealt with as a derived variable at the decision level. 3.2.2 Work Packages The starting point for the analysis is at the work package level. The original construction program has been modified into that described in Figure 3.4 and Table 3.5. According to Table 3.5, work package durations and work package costs seem not to be correlated. This often happens because each work package does not have the same technical complexity. Chapter 3: Application 67 The analytical model requires the five percentile estimates for every probabilistic primary variable, and allows each work package to have a different distribution. However, to simplify the analysis for this sample project, work packages are classified into categories and the five percentile estimate parameters for a quasi normalized distribution are assigned to each category. The shapes of the distribution function for all of the work packages in one category are assumed to be identical. Such an assumption should not be made when modeling actual projects, as there can be significant differences in technical complexity amongst work packages in the same category. For example, for the category survey and design, there are 6 work packages (W.P.#2 to W.P.#7), and they have the same distribution function. The normalized distributions correspond to the Pearson family of distributions. Table 3.3 shows the five percentile estimate parameters for W.P. duration. Land acquisition has high uncertainty and is skewed to the right because of probable difficulties in negotiating with land owners and residents. Earth work, Interchange, and appurtenant work also have higher uncertainty than survey and design, bridge, and others because of the greater possibility of external intervention and the complicated nature of the work. For example, if deterministic W.P. duration for one paving job is 1 year, the estimates for 2.5, 5.0, 50.0, 95.0, and 97.5 percentiles are 0.90, 0.91, 1.00, 1.09, 1.10 years respectively. Chapter 3: Application 68 category- survey & design land acquisition earth work bridge pavement IC ancillary facilities appurtenant work building & repairing overhead revenue 2.5% 0.900 0.900 0.850 0.900 0.900 0.850 0.900 0.900 0.900 0.900 0.900 5.0% 0.910 0.910 0.870 0.910 0.910 0.870 0.910 0.910 0.910 0.910 0.910 50.0% 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 95.0% 1.180 1.500 1.450 1.180 1.090 1.450 1.090 1.450 1.090 1.180 1.090 97.5% 1.200 1.650 1.500 1.200 1.100 1.500 1.100 1.500 1.100 1.200 1.100 VA 0.6 2.0 0.9 0.6 0.0 0.9 0.0 1.1 0.0 0.6 0.0 >& 2.4 8.0 2.8 2.4 2.2 2.8 2.2 3.2 2.2 2.4 2.2 Table 3.3 Five Percentile Estimate Parameters for W.P. Duration There are also the five percentile estimate parameters for W.P. costs. Table 3.4 shows the five percentile estimate parameters for W.P. cost. These parameters have similar shape to those of W.P. duration. In addition, the inflation rate is expected to be highly uncertain. category survey & design land acquisition earth work bridge pavement IC ancillary facilities appurtenant work building & repairing overhead interest rate inflation rate 2.5% 0.950 0.920 0.900 0.920 0.920 0.900 0.850 0.850 0.800 0.700 0.950 0.800 5.0% 0.952 0.930 0.920 0.930 0.930 0.910 0.870 0.860 0.810 0.710 0.960 0.820 50.0% 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 95.0% 1.350 1.500 1.550 1.250 1.250 1.500 1.250 1.650 1.180 1.580 1.040 1.300 97.5% 1.410 1.650 1.700 1.300 1.300 1.560 1.300 1.850 1.200 1.600 1.050 1.400 VA 1.6 2.0 2.0 1.2 1.2 1.2 0.8 2.0 0.0 0.5 0.0 1.4 Pz 5.2 7.6 7.8 4.0 4.0 3.6 3.3 8.3 2.1 2.1 5.6 1.1 Table 3.4 Five Percentile Estimate Parameters for W.P. Costs Once again, these parameters are used to simplify the example. In actual practice, however, it is recommended that each component be estimated independently. Chapter 3: Application 69 Tables 3.5, and 3.6 show statistics for work package durations and constant dollar costs used for the original deterministic feasibility analysis respectively, and Table 3.7 shows discounted work package costs based on them. Chapter 3: Application 70 Figure 3.4 Precedence Network for the Sample Project Chapter 3: Application 7 1 WP# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 Work Package description Start Work Package Survey and design (1) Survey and design (2) Survey and design (3) Survey and design (4) Survey and design (5) Survey and design (6) Land Acquisition (1) Land Acquisition (2) Land Acquisition (3) Earth Work (1) Earth Work (2) Earth Work (3) Bridge (1) Bridge (2) Pavement (1) Pavement (2) Pavement (3) Interchange (1) Interchange (2) Interchange (3) Interchange (4) Ancillary Facility (1) Ancillary Facility (2) Ancillary Facility (3) Ancillary Facility (4) Appurtenant Work (1) Appurtenant Work (2) Building and Repairs (1) Building and Repairs (2) Building and Repairs (3) Overhead Finish Work Package (Revenue Phase) Total Base Estimate Duration (year) - 1.0 0.5 2.0 2.0 1.0 2.5 0.5 2.0 2.0 0.5 3.0 1.5 3.0 1.5 1.0 1.5 1.5 2.5 3.0 1.5 1.5 0.5 1.0 1.5 1.5 2.5 3.0 1.0 1.5 1.5 10.5 26.0 10.5 Cost ($) - 2,325,600 1,162,800 3,488,400 6,201,600 3,876,000 2,325,600 6,866,100 143,043,750 78,960,150 1,256,500 57,172,200 67,224,400 46,589,500 82,825,900 30,064,700 6,906,700 3,656,500 17,600,300 34,435,400 15,304,600 9,182,800 8,570,100 16,767,700 7,452,300 4,471,400 18,373,100 22,456,000 15,347,600 4,514,000 2,708,400 32,099,500 ~ 753,229,600 Table 3.5 Deterministic Values Costs for Work Package Durations and Chapter 3: Application 72 WP# 1 2 3 4 5 6 7 8 9 1 0 1 1 12 1 3 14 1 5 16 1 7 1 8 19 2 0 2 1 2 2 2 3 24 2 5 2 6 2 7 2 8 2 9 3 0 3 1 3 2 3 3 D u r a t i o n ( y e a r ) E [WPD] - 1 . 0 1 7 0 . 5 0 8 2 . 0 3 3 2 . 0 3 3 1 . 0 1 7 2 . 5 4 3 0 . 5 3 9 2 . 1 5 2 2 . 1 5 2 0 . 5 3 0 3 . 1 7 8 1 . 5 9 1 3 . 0 5 0 1 . 5 2 6 1 . 0 0 0 1 . 5 0 2 1 . 5 0 2 2 . 6 5 0 3 . 1 7 8 1 . 5 9 1 1 . 5 9 1 0 . 5 0 0 1 . 0 0 0 1 . 5 0 2 1 . 5 0 2 2 . 6 6 8 3 . 2 0 0 1 . 0 0 0 1 . 5 0 2 1 . 5 0 2 1 0 . 6 7 6 2 6 . 0 0 0 GWPD - 0 . 0 8 5 0 . 0 4 2 0 . 1 7 0 0 . 1 7 0 0 . 0 8 5 0 . 2 1 1 0 . 1 0 4 0 . 4 1 0 0 . 4 1 0 0 . 0 9 4 0 . 5 6 5 0 . 2 8 2 0 . 2 5 5 0 . 1 2 6 0 . 0 5 5 0 . 0 8 2 0 . 0 8 2 0 . 4 7 1 0 . 5 6 5 0 . 2 8 2 0 . 2 8 2 0 . 0 2 7 0 . 0 5 5 0 . 0 8 2 0 . 0 8 2 0 . 4 3 8 0 . 5 2 6 0 . 0 5 5 0 . 0 8 2 0 . 0 8 2 0 . 8 9 1 1 . 4 2 2 4P^ - 0 . 6 0 . 6 0 . 6 0 . 6 0 . 6 0 . 6 2 . 0 2 . 0 2 . 0 0 . 9 0 . 9 0 . 9 0 . 6 0 . 6 0 . 0 0 . 0 0 . 0 0 . 9 0 . 9 0 . 9 0 . 9 0 . 0 0 . 0 0 . 0 0 . 0 1 . 1 1 . 1 0 . 0 0 . 0 0 . 0 0 . 6 0 . 0 p. - 2 . 4 2 . 4 2 . 4 2 . 4 2 . 4 2 . 5 8 . 0 8 . 0 8 . 0 2 . 8 2 . 8 2 . 8 2 . 4 2 . 4 2 . 2 2 . 2 2 . 2 2 . 8 2 . 8 2 . 8 2 . 8 2 . 2 2 . 2 2 . 2 2 . 2 3 . 2 3 . 2 2 . 2 2 . 2 2 . 2 2 . 4 2 . 2 C o n s t a n t D o l l a r C o s t E [ C o ] - 2 , 4 5 5 , 5 3 0 1 , 2 2 7 , 7 7 0 3 , 6 8 3 , 3 0 0 6 , 5 4 8 , 0 8 0 4 , 0 9 2 , 5 5 0 2 , 4 5 5 , 5 3 0 7 , 4 1 2 , 3 0 0 1 5 4 , 4 2 3 , 0 0 0 8 5 , 2 4 1 , 4 0 0 1 , 3 6 5 , 7 9 0 6 2 , 1 4 3 , 3 0 0 7 3 , 0 6 9 , 6 0 0 4 8 , 1 4 1 , 0 0 0 8 5 , 5 8 4 , 0 0 0 3 1 , 0 6 5 , 8 0 0 7 , 1 3 6 , 7 4 0 3 , 7 7 8 , 2 8 0 1 8 , 9 3 5 , 3 0 0 3 7 , 0 4 7 , 3 0 0 1 6 , 4 6 5 , 5 0 0 9 , 8 7 9 , 2 8 0 8 , 7 6 0 , 3 9 0 1 7 , 1 3 9 , 9 0 0 7 , 6 1 7 , 7 3 0 4 , 5 7 0 , 6 4 0 2 0 , 1 0 6 , 6 0 0 2 4 , 5 7 4 , 7 0 0 1 5 , 3 1 9 , 2 0 0 4 , 5 0 5 , 6 5 0 2 , 7 0 3 , 3 9 0 3 3 , 8 2 1 , 6 0 0 8 0 1 , 2 7 1 , 1 5 0 OWPD - 3 0 0 , 5 1 6 1 5 0 , 2 5 8 4 5 0 , 7 7 4 8 0 1 , 3 7 6 5 0 0 , 8 6 0 3 0 0 , 5 1 6 1 , 3 6 9 , 4 7 0 2 8 , 5 3 0 , 6 0 0 1 5 , 7 4 8 , 9 0 0 2 7 4 , 6 5 2 1 2 , 4 9 6 , 6 0 0 1 4 , 6 9 3 , 9 0 0 4 , 8 4 0 , 4 7 0 8 , 6 0 5 , 2 8 0 3 , 1 2 3 , 6 0 0 7 1 7 , 5 8 4 3 7 9 , 8 9 8 3 , 3 7 1 , 4 9 0 6 , 5 9 6 , 3 9 0 2 , 9 3 1 , 7 3 0 1 , 7 5 9 , 0 4 0 1 , 0 2 1 , 3 4 0 1 , 9 9 8 , 2 8 0 8 8 8 , 1 2 5 5 3 2 , 8 7 5 5 , 0 1 9 , 9 6 0 6 , 1 3 5 , 5 1 0 1 , 7 2 6 , 4 4 0 5 0 7 , 7 7 5 3 0 4 , 6 6 5 8 , 7 8 7 , 0 2 0 - ( $ ) 4P^ - 1 . 6 1 . 6 1 . 6 1 . 6 1 . 6 1 . 6 2 . 0 2 . 0 2 . 0 2 . 0 2 . 0 2 . 0 1 . 2 1 . 2 1 . 2 1 . 2 1 . 2 1 . 2 1 . 2 1 . 2 1 . 2 0 . 8 0 . 8 0 . 8 0 . 8 2 . 0 2 . 0 0 . 0 0 . 0 0 . 0 0 . 5 - A - 5 . 2 5 . 2 5 . 2 5 . 2 5 . 2 5 . 2 7 . 6 7 . 6 7 . 6 7 . 8 7 . 8 7 . 8 4 . 0 4 . 0 4 . 0 4 . 0 4 . 0 3 . 6 3 . 6 3 . 6 3 . 6 3 . 3 3 . 3 3 . 3 3 . 3 8 . 3 8 . 3 2 . 1 2 . 1 2 . 1 2 . 1 - Table 3.6 Statistics for Work Package Durations and Costs Chapter 3: Application 73 WP# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 Total Discounted W.P. cost ($) - 2,296,771 1,127,032 3,277,390 5,542,311 3,336,191 1,916,290 6,654,896 134,391,152 70,565,928 1,217,880 53,053,544 58,959,172 43,233,280 72,642,408 25,556,122 5,690,555 2,865,718 16,640,328 30,396,242 12,768,268 7,196,808 7,610,584 14,432,428 6,217,264 3,504,348 17,370,926 19,332,550 13,210,146 3,765,920 2,122,653 28,232,106 - 675,127,211 Table 3.7 Discounted Work Package Costs Chapter 3: Application 3.2.3 Revenue Streams 74 In this example, revenue streams, like work packages, are calculated using the five percentile estimate parameters. Table 3.8 shows the five percentile estimate parameters for revenue streams. Traffic volumes and inflation rates are assigned high uncertainty because of the difficulty in forecasting them. In contrast, toll growth rates involve less uncertainty than other factors because they can be controlled by the highway operators to a certain extent. category- traffic volume RVS duration toll toll growth rate traffic growth rate road length inflation rate (maintenance cost) maintenance unit costs cost parameter (operation cost) labour cost traffic range number of workers cost parameter 2.5% 0.350 0.900 0.900 0.800 0.700 0.920 0.800 0.92 0 0.900 0.900 0.900 0.900 0.900 5.0% 0.500 0.910 0.910 0.850 0.750 0.930 0.820 0.930 0.910 0.910 0.910 1.910 0.910 50.0% 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 95.0% 1.350 1.090 1.180 1.050 1.090 1.070 1.300 1.250 1.250 1.250 1.250 1.090 1.250 97.5% 1.400 1.100 1.200 1.060 1.100 1.080 1.400 1.300 1.300 1.300 1.300 1.100 1.300 yfF^ -1.0 0.0 0.6 -2.0 -1.0 0.0 1.40 1.2 1.0 1.0 1.0 0.0 1.0 ^ 5.9 2.2 2.4 10.2 3.4 2.4 7.7 4.0 3.4 3.4 3.4 2.2 3.4 Table 3.8 Five Percentile Streams Estimate Parameters for Revenue In this example, vehicles are classified into five categories: light motor vehicle, ordinary motor vehicle, medium-sized motor vehicle, large-sized motor vehicle, and special large-sized motor vehicle. Deterministic toll ratios between vehicle types are shown in Table 3.1. It is Chapter 3: Application 75 assumed that the numbers for all vehicle types grow at the same rate, and have the same distribution. In real life, for example, when a big industrial area is developed, the number of trucks may increase more than that of other vehicle types. However, in this example, this possible difference is not considered because, at least in Japan, differential traffic volume increases due to local development are not considered for feasibility analyses for regional highways, in order to avoid overestimating future traffic volumes (Japan Highway Public Corporation, 1983). However, in the model, it is possible to set different growth rates and distributions for each vehicle type. Interchange distances are shown in Table 3.9; tolls for each vehicle type are shown in Tables 3.10 to 3.14; and spot traffic volumes are shown in Tables 3.15 to 3.19 and Figures 3.5 to 3.9 (A indicates base years). (Unit : km) I . e . #1 T a b l e 3 . I . e . #2 3 .4 9 I n t e r c ] I . e . #3 3 .3 6 . 7 biange Dis I . e . #4 6 . 7 10 . 0 13 .4 S t ances I . e . #5 3 .0 9 . 7 13 .0 16 .4 I . e . #6 4 .4 7 .4 14 . 1 17 .4 20 . 8 I . e . #1 T a b l e 3 . I . e . #2 1. 0 10 T o l l I . e . #3 1. 0 2 . 0 fo r Light I . e . #4 2 . 0 2 .5 3 .5 : Motor \ (Unit : I . e . #5 1 . 0 2 .5 3 .5 4 .5 Vehicle Dollar) I . e . #6 1 . 0 2 . 0 3 .5 4 .5 5 .5 Chapter 3: Application 76 (Unit : Dollar) I.e. #1 Table 3. I.e. #2 1 .5 11 Toll I.e. #3 1 . 0 2 .5 I.e. #4 2 .5 3 .5 4 .5 I.e. #5 1 . 0 3 .5 4 .5 5 . 5 for Ordinary Motor Vehicl I.e. #6 1 . 5 2 .5 5 .0 6. 0 7.0 e I.e. #1 Table 3. I.e. #2 1 .5 12 Toll I.e. #3 1.0 2 .5 I.e. #4 2 .5 3 .5 5 .0 for Medium-sized (Unit : ] I.e. #5 1 . 0 3 .5 4 . 5 6 .0 Motor Ve Dollar) I.e. #6 1 .5 2 .5 5 .0 6 .0 7.5 h i d e I.e. #1 Table 3. I.e. #2 2 . 0 13 Toll I.e. #3 1 .5 3 .5 for Larg€ I.e. #4 3 .5 5 .0 7.0 (Unit : ] I.e. #5 1 . 5 5 .0 6.5 8 .5 ;-sized M o t o r Veh Dollar) I.e. #6 2 .5 4 .0 7.5 9.0 11 . 0 icle I.e. #1 Table 3. I.e. #2 3 .0 14 Toll I.e. #3 3 . 0 6 .0 for Spec: I.e. #4 6 . 0 9 .0 12 . 0 lal Large (Unit : ] I.e. #5 3 . 0 9.0 12 . 0 15 . 0 '-sized M Dollar) I.e. #6 4 .0 7.0 13 . 0 16 . 0 19 . 0 otor Veh icle The toll rate is assumed to increase every three years in proportion to one half of the inflation rate, giving an increase of approximately 2% per year. Chapter 3: Application 77 Year 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 RVS # 1 2 3 4 5 6 7 8 9 Daily Traffic Volume (vehicles/day) 0 0 0 0 11,266 11,419 12,084 12,340 15,246 15,556 15,844 16,179 31,337 31,912 32,429 33,Oil 33,090 33,510 33,884 34,362 34,786 35,167 35,590 36,010 36,442 36,862 37,284 37,666 38,082 38,559 Table 3.15 Spot Traffic Volume between Interchange #1 and #2 Chapter 3: Application 78 Year 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 RVS # 1 2 3 4 5 6 7 8 9 Daily Traffic Volume (vehicles/day) 0 12,200 18,769 20,512 26,247 26,601 27,985 28,583 31,293 31,936 32,536 33,232 46,416 47,274 48,064 48,933 49,717 50,363 50,938 51,668 52,324 52,908 53,558 54,205 54,857 55,509 56,156 56,741 57,381 58,112 Table 3.16 Spot Traffic Volume between Interchange #2 and #3 Chap ter 3: Appl i cat ion 79 Year 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 RVS # 1 2 3 4 5 6 7 8 9 Daily Traffic Volume (vehicles/day) 17,462 20,271 24,307 26,114 30,098 30,500 32,233 32,928 35,348 36,076 36,760 37,545 49,423 50,342 51,185 52,110 52,385 53,068 53,686 54,457 55,146 55,772 56,456 57,146 57,837 58,534 59,217 59,838 60,519 61,293 Table 3.17 Spot Traffic Volume between Interchange #3 and #4 Chapter 3: Application 80 Year 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 RVS # 1 2 3 4 5 6 7 8 9 Daily Traffic Volume (vehicles/day) 22,212 24,960 28,421 30,591 32,386 32,819 34,763 35,518 39,651 40,475 41,251 42,137 53,704 54,712 55,640 56,647 57,008 57,768 58,441 59,290 60,052 60,733 61,487 62,246 63,007 63,775 64,530 65,215 65,964 66,808 Table 3.18 Spot Traffic Volume between Interchange #4 and #5 Chapter 3: Application 81 Year 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 RVS # 1 2 3 4 5 6 7 8 9 Daily Traffic Volume (vehicles/day) 22,943 24,572 28,740 31,723 33,716 34,174 35,470 36,213 44,827 45,731 46,571 47,546 56,263 57,298 58,241 59,276 60,356 61,127 61,812 62,681 63,451 64,148 64,916 65,679 66,475 67,246 68,010 68,708 69,471 70,338 Table 3.19 Spot Traffic Volume between Interchange #5 and #6 Chapter 3: Application 82 0) 80000 70000 60000 o & 50000 § I 40000 d u h 1 30000 >̂ > '5 ̂ 20000 G 10000 0 H f- A I ̂ I ̂ I—I—I 4 I — ^ — 1 — 4 " H 1 1 1 H H 1 1 1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930 Year Figure 3.5 Spot Traffic Volume between Interchange #1 and #2 80000 70000 I 60000 o 5* 50000 i= »• 40000 h » 30000 (5 20000 Q 10000 A 4 4 A ' A I 4 I I iH^ H 1 1 1 1 1- H 1 1 ! 1- 1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930 Year Figure 3.6 Spot Traffic Volume between Interchange #2 and #3 Chapter 3: Application 83 80000 70000 I 60000 0 O 50000 > S 1 £ 40000 d u H ^ 30000 >• > (5 "^ 20000 G 10000 O A f 4 ^ 4 I 4 I A 1 2 3 4 5 6 7 8 9 H 1 h 101112131415161718192021222324252627282930 Year Figure 3.7 Spot T r a f f i c Volume between I n t e r c h a n g e #3 and #4 0) 80000 ^ 70000 60000 0 S" 50000 > TO 1 S 40000 Id u h S 30000 ^ "^ 20000 G 10000 Q I A A A A I A I A I A I — I — I — I — I — I — I — I — I - H \ 1 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829X Year Figure 3.8 Spot Traffic Volume between Interchange #4 and #5 Chapter 3: Application 84 80000 70000 I 60000 o e 50000 > ^ £ £ 40000 d u H ^ 30000 •g 20000 Q 10000 O ^ A A A A I A I 4 I I I 4 I I I 4 H 1 1 1 1 1 1 1 1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930 Year Figure 3.9 Spot Traffic Volume between Interchange #5 and #6 Appendix C contains interchange pair traffic volumes in base years, traffic volume growth parameters, and toll rate growth parameters. Appendix B contains other more detailed input data. Table 3.20 shows deterministic annual revenues and annual maintenance and operating costs (constant dollar). A total of nine revenue streams corresponding to nine different base years are used to describe the project. Each revenue stream includes all vehicle types and all increases in traffic volumes and toll rates for that revenue stream's duration. Table 3.21 shows the deterministic discounted revenues which form parts of the Chapter 3: Application 85 conventional analysis. They will be used later to compare with the probabilistic results. RVS # 1 2 3 4 5 6 7 8 9 Total year 1 1 1 1 1 2 1 2 1 2 3 4 1 2 3 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 annual revenues($) 36,241,000 45,332,800 54,980,500 62,667,200 74,931,300 75,820,300 84,904,900 86,729,300 98,677,500 106,880,000 108,875,000 111,036,000 162,106,000 164,962,000 168,057,000 181,374,000 182,462,000 184,958,000 198,918,000 201,567,000 203,951,000 219,245,000 222,056,000 224,866,000 241,621,000 244,604,000 247,587,000 265,904,000 268,753,000 271,918,000 4,801,984,800 annual operation costs ($) 6,908,380 8,Oil,250 9,091,350 9,370,250 10,534,000 10,549,100 11,049,400 16,780,200 12,799,500 13,087,200 13,121,100 16,405,300 15,211,800 15, 556,800 15,905,900 22,029,700 16,546,000 16,786,100 17,023,400 17,068,500 17,109,000 17,698,200 18,042,400 27,284,400 19,017,300 19,068,000 19,118,700 19,430,100 19,478,500 19,532,400 469,614,230 Table 3.20 Deterministic Annual Revenues and Operating Costs (Constant and Annual Maintenance Dollar) Chapter 3: Application 86 RVS # 1 2 3 4 5 6 7 8 9 Total Discounted Revenues ($) 17,197,658 20,396,808 23,375,566 25,423,164 55,608,140 51,585,960 108,936,328 137,441,792 341,720,064 781,685,480 Table 3.21 Discounted Revenues for the Original Feasibility Analysis Chapter 3: Application 3.2 4 Calculation Results 87 Tables 3.22 t o 3.24 show the s t a t i s t i c s e v a l u a t e d from the a n a l WP# 1 2 3 4 5 6 7 8 9 10 1 1 12 13 14 1 5 1 6 17 18 19 2 0 2 1 22 2 3 2 4 2 5 26 27 2 8 2 9 3 0 3 1 32 3 3 y t i c a l a p p r o a c h • Discounted Work Package Costs ($) E[Cost] - 2 , 4 2 6 , 9 2 2 1 , 1 9 1 , 2 8 7 3 , 4 6 6 , 4 7 0 5 , 8 6 8 , 7 1 5 3 , 5 3 6 , 0 4 8 2 , 0 3 3 , 7 6 3 7 , 1 8 9 , 6 5 0 1 4 5 , 0 3 3 , 9 6 8 7 5 , 8 1 2 , 1 1 2 1 , 3 2 4 , 9 2 9 5 7 , 5 6 1 , 2 8 8 6 3 , 9 7 2 , 8 8 8 4 4 , 6 5 5 , 7 0 4 7 4 , 6 2 6 , 5 3 6 2 6 , 2 3 7 , 0 1 0 5 , 8 5 0 , 1 8 0 2 , 9 6 7 , 1 9 6 1 7 , 9 0 8 , 2 9 0 3 2 , 5 4 6 , 8 8 8 1 3 , 6 4 5 , 2 6 5 7 , 7 6 6 , 0 0 0 7 , 7 7 5 , 1 2 5 1 4 , 7 6 1 , 9 9 8 6 , 3 6 5 , 9 1 3 3 , 6 0 6 , 3 3 1 1 9 , 0 1 4 , 5 0 6 2 , 1 1 1 , 9 1 7 1 3 , 1 9 3 , 5 1 8 3 , 7 3 1 , 3 2 8 2 , 1 2 8 , 2 5 0 2 9 , 8 5 6 , 9 0 6 - OtVPD - 3 0 7 , 7 3 1 1 5 0 , 9 3 4 4 4 0 , 2 9 4 7 5 4 , 4 8 2 4 6 1 , 7 8 1 2 7 2 , 6 3 1 1 , 3 4 8 , 8 1 9 2 7 , 2 8 4 , 0 3 2 1 4 , 3 6 9 , 5 1 4 2 6 9 , 9 2 3 1 1 , 7 7 5 , 6 3 6 1 3 , 1 8 1 , 7 4 4 4 , 7 6 2 , 5 7 1 8 , 2 2 5 , 7 4 7 2 , 9 6 3 , 0 0 8 6 7 8 , 9 6 1 3 5 9 , 6 8 2 3 , 2 5 0 , 7 0 5 5 , 9 8 0 , 2 6 7 2 , 5 4 6 , 4 1 4 1 , 4 7 8 , 0 5 1 9 6 5 , 4 6 4 1 , 8 5 3 , 5 3 0 8 1 4 , 8 6 9 4 8 3 , 5 7 9 4 , 7 9 4 , 6 7 0 5 , 3 7 4 , 7 0 7 1 , 6 0 9 , 1 0 8 4 6 9 , 3 6 2 2 7 8 , 9 3 7 7 , 8 7 8 , 6 5 5 - skewness - 1 . 4 4 1 1 . 4 4 5 1 . 4 3 6 1 . 3 9 7 1 . 3 5 6 1 . 3 0 2 1 . 9 0 9 1 . 8 9 5 1 . 8 5 6 1 . 9 2 3 1 . 8 9 8 1 . 8 6 2 1 . 0 1 9 0 . 9 6 6 0 . 9 4 9 0 . 9 4 1 0 . 9 5 3 1 . 1 3 2 1 . 0 9 9 1 . 0 7 0 1 . 0 4 6 0 . 6 8 7 0 . 6 9 1 0 . 6 9 1 0 . 7 1 2 1 . 9 4 4 1 . 8 9 0 0 . 0 5 7 0 . 1 0 8 0 . 2 0 8 0 . 4 7 9 - kuTtosis - 4 . 5 3 1 4 . 5 4 2 4 . 4 9 2 4 . 3 4 3 4 . 2 0 7 4 . 0 3 5 7 . 1 3 9 7 . 0 5 7 6 . 8 4 4 7 . 3 9 2 7 . 2 6 5 7 . 0 5 5 3 . 2 4 6 3 . 1 2 1 3 . 0 8 0 3 . 0 6 2 3 . 0 9 0 3 . 5 3 7 3 . 4 5 0 3 . 3 7 5 3 . 3 1 4 2 . 5 9 6 2 . 5 7 3 2 . 5 7 2 2 . 6 0 9 7 . 9 5 7 7 . 6 5 5 2 . 0 0 4 2 . 0 1 4 2 . 0 5 2 2 . 2 7 5 - Table 3.22 S t a t i s t i c s for Discounted Work Package Costs Chapter 3: Application 88 RS# 1 2 3 4 5 6 7 8 9 Discounted Revenues ($) E[Revenue] 1 6 , 3 0 9 , 0 1 4 1 9 , 2 3 4 , 8 1 2 2 2 , 2 3 0 , 9 0 6 2 3 , 7 4 3 , 5 9 0 5 0 , 1 4 1 , 5 7 2 4 6 , 1 0 0 , 3 2 0 9 8 , 1 8 1 , 0 8 0 1 2 4 , 4 4 8 , 7 0 4 3 0 5 , 1 1 7 , 6 0 0 OtFPD 3 , 0 7 0 , 4 7 6 3 , 0 8 5 , 8 7 2 3 , 6 7 6 , 4 4 9 3 , 9 0 1 , 5 0 6 8 , 2 7 8 , 8 5 4 8 , 4 5 7 , 7 6 9 1 8 , 9 1 9 , 3 1 4 2 3 , 8 9 0 , 2 8 8 6 9 , 7 1 5 , 7 6 8 skewness - 0 . 5 7 9 - 0 . 5 7 6 - 0 . 5 6 5 - 0 . 5 5 7 - 0 . 1 1 1 - 0 . 1 0 6 0 . 2 5 2 0 . 2 1 0 0 . 2 4 6 kurtosis 2 . 4 0 2 2 . 3 9 8 2 . 3 8 4 2 . 3 7 2 2 . 0 1 5 2 . 0 1 3 2 . 0 7 6 2 . 0 5 3 2 . 0 7 3 Table 3.23 S t a t i s t i c s for Discounted Revenues P r o j e c t D u r a t i o n ( m o n t h ) P r o j e c t C o s t ( $ ) P r o j e c t R e v e n u e ( $ ) N P V ( $ ) Mean 1 3 5 . 7 7 7 1 7 , 1 7 4 , 1 4 4 7 0 5 , 5 0 7 , 5 8 4 - 1 1 , 6 6 6 , 5 6 0 OtfTD 7 . 2 1 3 9 , 2 8 3 , 6 1 2 7 7 , 3 0 9 , 3 5 2 8 6 , 7 1 7 , 5 7 6 skewness 0 . 7 0 0 0 . 8 7 6 0 . 1 9 0 0 . 0 5 3 kurtosis 3 . 6 0 0 4 . 1 0 0 1 . 4 1 1 2 . 0 4 3 Table 3.24 S t a t i s t i c s fo r P r o j e c t D u r a t i o n , Discounted P r o j e c t Cost , P r o j e c t Revenue, and P r o j e c t Net P resen t Value(NPV) Cumulative p r o b a b i l i t i e s of derived var iab les a t the project performance leve l and the project decis ion leve l are described below. (1) P r o j e c t Dura t ion Table 3.25 and F igure 3.10 p r e s e n t t he cumula t ive p r o b a b i l i t y of t h e p r o j e c t d u r a t i o n . Chapter 3: Application 89 According to the original deterministic estimate, the project duration was 126 months. However, this analytical model indicates that the expected project duration is 135.77 months, and the standard deviation is 7.21 months. The project duration is projected to be about 10 months longer than was indicated by the original deterministic feasibility analysis. Cumulative Probability(%) 0.25 0.50 1.00 2.50 5 .00 10 . 00 25 .00 50 .00 75 .00 90.00 95 .00 97.50 99 .00 99.50 99 .75 Project Duration (month) 121.69 122 .31 123.05 124 .32 125 .57 127 .22 130.49 134.89 140.11 145 .47 148 .97 152 .16 156.04 158.77 161.38 Table 3.25 Cumulative Probability of Project Duration Chapter 3: Application 90 Figure 3.10 Cumulative Probability of Project Duration (2) Project Costs Table 3.26 and Figure 3.11 present the cumulative probability of the project cost. According to the original deterministic estimate, the discounted project cost was $675,127,211. However, this analytical model indicates that the expected project cost is $717,174,144, and the standard deviation is $39,283,612. The project cost is projected to be about $42,000,000 more than was indicated by the original deterministic feasibility analysis. Chapter 3: Application 9 1 Cumulative Probability{%) 0 .25 0.50 1.00 2 .50 5.00 10.00 25 .00 50.00 75 . 00 90.00 95 .00 97 .50 99.00 99 .50 99 . 75 Project Cost ($) 606905024.00 615987392.00 625788672.00 640178240.00 652556544.00 666828288.00 690677376.00 717174144.00 743670912.00 767520000.00 781791744.00 794170048.00 808559616 . 00 818360896.00 827443264.00 Table 3.26 Cumulative P r o b a b i l i t y of P r o j e c t Cost 600 620 640 660 680 700 720 740 760 780 800 820 840 project cost ($,000,000) Figure 3.11 Cumulative Probability of Project Cost (3) Project Revenue Table 3.27 and Figure 3.12 present the cumulative probability of the project revenue. Chapter 3: Application 92 According to the original deterministic estimate, the discounted project revenue was $781,685,480. However, this analytical model indicates that the expected project revenue is $705,507,584, and the standard deviation is $77,309,352. The project revenue is projected to be about $76,000,000 less than was indicated by the original deterministic feasibility analysis. Cumulative Probability(%) 0 .25 0.50 1 .00 2 .50 5.00 10 .00 25.00 50.00 75 . 00 90 .00 95.00 97.50 99.00 99.50 99.75 Project Revenue ($) 488500224 .00 506374144.00 525662848.00 553981248.00 578341440 .00 606427904 .00 653362432.00 705507584.00 757652736 .00 804587264 .00 832673728 .00 857033920.00 885352320.00 904641024.00 922514944.00 Table 3.27 Cumulative Probability of Project Revenue Chapter 3: Application 93 1.00 .80 ,60 ,40 0.20 0.00 - »-i».HahrH^r^ i , y--^^^ / 7 --A ^ - 1 : : • 1 i ^ i : - - 1 --I y \ i 1 - ) 450 500 550 600 650 700 750 800 850 900 950 project re venue ($,000,000) Figure 3.12 Cumulative Probability of Project Revenue (4) Net Present Value Table 3.28 and Figure 3.13 present the cumulative probability of the Project Net Present Value (NPV). According to the original deterministic estimate, the NPV was $106,558,269. However, this analytical model indicates that the expected NPV is -$11,666,560, and the standard deviation is $86,717,576. The NPV is projected to be about $118,000,000 less than was indicated by the original deterministic feasibility analysis. Chapter 3: Application 94 Cumulative Probability(%) 0.25 0.50 1.00 2 .50 5 .00 10.00 25 .00 50 .00 75 .00 90.00 95 .00 97 .50 99 .00 99.50 99 . 75 NPV ($) -255082800.00 -235033696.00 -213397664.00 -181633008.00 -154308304.00 -122803808.00 -70157568.00 -11666560 .00 46824444 .00 99470688.00 130975184.00 158299888.00 190064544.00 211700576.00 231749680.00 Table 3.28 Cumulative Value Probability of Project Net Present a o 0) > E U 1.00̂ -300 -250 -200 -150 -100 -50 0 50 100 150 200 250 NPV{$,000.000) Figure 3.13 Cumulative Probability of Project Net Present Value Chapter 3: Application 95 3.3 Sensitivity Analysis 3.3.1 Results This section describes the sensitivity analysis for the sample project. The analytical model requires subjective estimates of primary variables whose accuracy can affect the entire analysis. Therefore, it is important to identify the sensitivity of each primary variable, and to be very careful when highly sensitive variables are estimated. The purpose of sensitivity analysis is to identify how much a change in a primary variable affects the derived variable. In this section, the focus is on revenue streams. The sensitivity of a primary variable is measured by the total sensitivity coefficient for that variable. The general idea of sensitivity analysis is as follows. The sensitivity of the derived variable whose functional form is given by Y = g{X) is described as (Russell, 1992), AY ^^ AXi AY AXi where — and are the percent changes m / and Xi I JCi respectively, and î is the total sensitivity coefficient, which is defined as (Russell, 1992), o. ^ Xi Si= 3.2 ^ i Y Chapter 3: Application 96 where i s the s e n s i t i v i t y coeff ic ient of / with respect to Xi. Because moment analysis is based on the truncated Taylor series expansion of g{X), the partial derivatives with respect to primary variables are evaluated. However, since the analytical method transforms the primary variables X to Z and g{X) to G{Z) prior to using the Taylor series expansion, the sensitivity coefficients are evaluated with respect to the transformed variables. ^ . 2 ^ , ^ (3.3, Y ^ Zi Si= (3.4) cZiY In this section, revenue streams are considered as derived variables. Highly sensitive primary variables for each derived variable are shown in Tables 3.29 to 3.37. Chapter 3: Application 97 (Deterministic Duration Estimate : 1 year) Ranking 1 2 3 3 5 6 7 7 9 9 11 Primary Variable parameter (toll rate growth) RVS early start time toll(Ic#3-#6, vehicle-2) traffic volume (Ic#3-#6, vehicle-2) parameter (consignment cost of toll collection) labor cost (toll collection) toll(Ic#3-#5, vehicle-2) traffic volume (Ic#3-#5, vehicle-2) toll(Ic#3-#6, vehicle-l) toll(Ic#3-#6, vehicle-l) inflation rate Si 1.32811 -0.526802 0.453709 0.453709 -0.185005 -0.185002 0.135406 0.135406 0.106513 0.106513 -0.104595 Table 3.29 Total sensitivity Coefficients for RVS #1 (Deterministic Duration Estimate : 1 year) Ranking 1 2 3 3 5 5 7 7 9 10 11 11 Primary Variable parameter (toll rate growth) RVS early start time toll (Ic#2-#6, vehicle-2) traffic volume (Ic#2-#6, vehicle-2) labor cost (toll collection) parameter (consignment cost of toll collection) toll(Ic#3-#6, vehicle-2) traffic volume (lc#3-#6, vehicle-2) inflation rate the number of toll collection clerks toll(Ic#2-#5, vehicle-2) traffic volume (Ic#2-#5, vehicle-2) Si 1.32186 -0.606351 0.274935 0.274935 -0.180724 -0.180724 0.172023 0.172023 -0.117903 -0.114262 0.108815 0.108815 Table 3.30 Total sensitivity Coefficients for RVS #2 Chapter 3: Application 98 (Deterministic Duration Estimate : 1 year) Ranking 1 2 3 3 5 5 7 7 9 9 11 Primary Variable parameter (toll rate growth) RVS early start time toll (Ic#2-#6, vehicle-2) traffic volume (Ic#2-#6, vehicle-2) labor cost (toll collection) parameter (consignment cost of toll collection) toll (Ic#2-#5, vehicle-2) traffic volume (Ic#2-#5, vehicle-2) toll (Ic#3-#6, vehicle-2) traffic volume toll (Ic#3-#6, vehicle-2) inflation rate Si 1.28879 -0.675688 0.325839 0.325839 -0.166774 -0.166774 0.125868 0.125868 0.123317 0.123317 -0.120515 Table 3.31 Total sensitivity Coefficients for RVS #3 (Deterministic Duration Estimate : 1 year) Ranking 1 2 3 3 5 5 7 8 8 10 10 Primary Variable parameter (toll rate growth) RVS early start time toll (Ic#2-#6, vehicle-2) traffic volume (Ic#2-#6, vehicle-2) labor cost (toll collection) parameter (consignment cost of toll collection) inflation rate toll (Ic#2-#5, vehicle-2) traffic volume (Ic#2-#5, vehicle-2) toll (Ic#3-#6, vehicle-2) traffic volume (Ic#3-#6, vehicle-2) St 1.28737 -0.755225 0.313043 0.313043 -0.169169 -0.169169 -0.133920 0.125191 0.125191 0.105923 0.105923 Table 3.32 Total sensitivity Coefficients for RVS #4 Chapter 3: Application 99 (Deterministic Duration Estimate : 2 year) Ranking 1 2 3 4 5 6 7 8 9 10 11 11 Primary Variable RVS early start time parameter (toll rate growth) the first year parameter (traffic growth) the first year parameter (toll rate growth) the second year parameter (traffic growth) the second year traffic volume (Ic#2-#6, vehicle-2) toll (Ic#2-#6, vehicle-2) parameter (consignment cost of toll collection) labor cost (toll collection) inflation rate toll (Ic#l-#6, vehicle-2) traffic volume (Ic#l-#6, vehicle-2) Si -0.884902 0.659903 -0.624994 0.624937 0.624933 0.228876 0.228872 -0.168755 -0.168751 -0.162603 0.117991 0.117991 Table 3.33 Total sensitivity Coefficients for RVS #5 Chapter 3: Application 100 (Deterministic Duration Estimate : 2 year) Ranking 1 2 3 4 5 6 7 8 9 10 11 12 Primary Variable RVS early start time parameter (toll rate growth) the first year parameter (traffic growth) the first year parameter (toll rate growth) the second year parameter (traffic growth) the second year inflation rate traffic volume (Ic#2-#6, vehicle-2) toll (Ic#2-#6, vehicle-2) parameter (consignment cost of toll collection) labor cost (toll collection) toll(Ic#l-#6, vehicle-2) traffic volume (Ic#l-#6, vehicle-2) Si -1.10177 0.710231 -0.679008 0.678934 0.678929 -0.255841 0.237182 0.237177 -0.179586 -0.179581 0.124552 0.124552 Table 3.34 Total sensitivity Coefficients for RVS #6 Chapter 3: Application 101 (Deterministic Duration Estimate : 4 year) Ranking 1 2 3 4 5 6 7 8 8 10 11 12 13 13 15 15 Primary Variable RVS early start time parameter (traffic growth) the first year parameter (traffic growth) the second year parameter (toll rate growth) the second year parameter (toll rate growth) the first year parameter (traffic growth) the third year parameter (toll rate growth) the third year parameter (toll rate growth) the fourth year parameter (traffic growth) the fourth year inflation rate traffic volume (Ic#2-#6, vehicle-2) toll (Ic#2-#6, vehicle-2) labor cost (toll collection) parameter (consignment cost of toll collection) toll (Ic#l-#6, vehicle-2) traffic volume (Ic#l-#6, vehicle-2) Si -1.23521 -0.992122 0.346556 0.346552 0.341947 0.330304 0.330300 0.315163 0.315163 -0.272465 0.203149 0.203153 -0.192027 -0.192027 0.136613 0.136613 Table 3.35 Total sensitivity Coefficients for RVS #7 Chapter 3: Application 102 Ranking 1 2 3 4 4 6 7 8 9 10 11 12 13 13 15 15 17 17 (Deterministic Duration Primary Variable RVS early start time parameter (traffic growth) the first year parameter (toll rate growth) the first year parameter (toll rate growth) the second year parameter (traffic growth) the second year parameter (traffic growth) the fourth year parameter (toll rate growth) the fourth year parameter (traffic growth) the third year parameter (toll rate growth) the third year inflation rate traffic volume (Ic#l-#6, vehicle-2) toll (Ic#l-#6, vehicle-2) labor cost (toll collection) parameter (consignment cost of toll collection) toll (Ic#2-#6, vehicle-2) traffic volume (Ic#2-#6, vehicle-2) toll (Ic#l-#6, vehicle-4) traffic volume (Ic#l-#6, vehicle-4) Estimate : 4 year) Si -1.52193 -0.942056 0.339475 0.323165 0.323165 0.310871 0.310868 0.307962 0.307955 -0.295489 0.179443 0.179440 -0.162416 -0.162416 0.126082 0.126082 0.126033 0.126033 Table 3.36 Total sensitivity Coefficients for RVS #8 Chapter 3: Application 103 Ranking 1 2 3 4 4 6 6 8 8 10 10 12 13 13 15 15 17 17 19 19 21 21 23 23 (Deterministic Duration Estimate : 14 year) Primary Variable RVS early start time parameter (traffic growth) the first year inflation rate labor cost (toll collection) parameter (consignment cost of toll collection) traffic volume (Ic#l-#6, vehicle-2) toll (Ic#l-#6, vehicle-2) toll (Ic#2-#6, vehicle-2) traffic volume (Ic#2-#6, vehicle-2) toll (Ic#l-#6, vehicle-4) traffic (Ic#l-#6, vehicle-4) parameter (toll rate growth) the first year parameter (toll rate growth) the second year parameter (traffic growth) the second year parameter (toll rate growth) the third year parameter (traffic growth) the third year parameter (toll rate growth) the fourth year parameter (traffic growth) the fourth year toll (Ic#l-#5, vehicle-4) traffic volume (Ic#l-#5, vehicle-4) parameter (toll rate growth) the fifth year parameter (traffic growth) the fifth year parameter (toll rate growth) the sixth year parameter (traffic growth) the sixth year Si -1.91796 -1.21835 -0.520859 -0.210106 -0.210106 0.181898 0.181898 0.133843 0.133843 0.122000 0.122000 0.118742 0.112559 0.112559 0.113193 0.113193 0.107248 0.107248 0.102694 0.102694 0.101456 0.101456 0.101953 0.101953 Table 3.37 Total sensitivity Coefficients for RVS #9 Chapter 3: Application 104 3.3.2 Summary of Sensitivity Analysis Although there are some differences between the revenue streams, it can be said that the following factors demonstrate high sensitivity in most cases: revenue stream early start time; toll rate growth parameter; traffic volume growth parameter; tolls and traffic volume; inflation rate; and parameter for consignment cost of toll collection. In addition to the above, revenue stream durations affect the sensitivity coefficients of toll rate growth and traffic volume growth parameters. Chapter 3: Application 105 3.4 Summary This chapter applied the analytical model to a real deterministic feasibility study for a large toll highway project. The project NPV of the original deterministic feasibility study indicated that this project was feasible. However, the analytical model indicates the likelihood of delay and cost overrun, and shows negative NPV. This project should be reexamined and reconsidered. Because this model has the capacity to measure uncertainty, and to investigate the sensitivity of the project performance to changes in primary variables for a toll highway project, it is useful for feasibility analyses both in the preliminary and detailed stages of analysis. Chapter 4 Risk Management 4.1 General This chapter examines strategies for risk management and explores their impact on overall project risks. In order to manage risks, it is important for the private sector and/or quasi-public corporations to negotiate risk sharing with the government. Beesley and Hensher (1990) describe some of risks that should be considered. They are: • termination risks that involve negotiating the residual value and takeback date when the project is handed over to the government; • regulation risks that primarily involve consideration of possible changes such as ones in existing regulations and the political ideology of the government which affects price control; • construction risks which include the usual engineering risks associated with construction; and 106 Chapter 4: Risk Management 107 • information risks that concern the reliability of traffic forecasts. Among these risks, only economic risks are addressed here, and the focus is on risk management for the revenue phase. Uncertainty surrounding estimates for the revenue phase is related to: • time estimates for work packages and revenue streams (e.g. productivity and quantity); • revenue estimates (e.g. interchange pair traffic volume for different vehicle types, toll rate, and operating costs); and • prediction of economic factors (e.g. inflation rate and interest rate). Section two presents possible ways of reducing the uncertainty; section three attempts to quantify their effects; and section four presents conclusions. 4.2 Strategies for Risk Management One of the most effective ways of decreasing risk seems to be to reduce the uncertainty of variables that performance (e.g. net present value) is highly sensitive to. According to the results of the sensitivity analysis in chapter 3, they are: (1)revenue stream early start time; (2)toll rate growth parameters; (3)traffic volume growth parameters; Chapter 4: Risk Management 108 ( 4 ) t o l l s ; (5)traffic volume; (6)inflation rate; and (7)parameter for consignment cost of toll collection. In this section, strategies for tightening distributions for the above variables are discussed, and the effects of tighter distributions on overall project risks are examined. The range of each distribution is decreased by half. As mentioned in chapter 3, the five percentile estimate parameters are used for this sample project. Therefore, the range of each distribution is indicated by the parameters. For convenience, the original sample project is called case-1. In each case except case-9, the distribution of variables changes in one category only in order to examine an individual effect. Cumulative effects are not considered until case-9. 4.2.1 Revenue Stream Early Start Time (case-2) A tightening of the distribution describing revenue stream early start time is considered here. The following are possible strategies for tightening the distributions for revenue stream early start time: • to use modern construction management techniques for better time management of the design and construction phase; and Chapter 4: Risk Management 109 • to add clauses such as penalty clauses for delays, in order to encourage contractors to meet deadlines in contracts. Table 4.1 shows the parameters for case-1, and Table 4.2 shows ones for case-2. category- survey & design land acquisition earth work bridge pavement IC ancillary facilities appurtenant work building & repairing overhead revenue phase duration 2.5% 0.900 0.900 0.850 0.900 0.900 0.850 0.900 0.900 0.900 0.900 0.900 5.0% 0.910 0.910 0.870 0.910 0.910 0.870 0.910 0.910 0.910 0.910 0.910 50.0% 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 95.0% 1.180 1.500 1.450 1.180 1.090 1.450 1.090 1.450 1.090 1.180 1.090 97.5% 1.200 1.650 1.500 1.200 1.100 1.500 1.100 1.500 1.100 1.200 1.100 >/A 0.6 2.0 0.9 0.6 0.0 0.9 0.0 1.1 0.0 0.6 0.0 /fe 2.4 8.0 2.8 2.4 2.2 2.8 2.2 3.2 2.2 2.4 2.2 Table 4.1 Five Percentile Durations (case- Estimate Parameters for W.P, 1) category survey & design land acquisition earth work bridge pavement IC ancillary facilities appurtenant work building & repairing overhead revenue phase duration 2.5% 0.950 0.950 0.925 0.950 0.950 0.925 0.950 0.950 0.950 0.950 0.950 5.0% 0.955 0.955 0.930 0.955 0.955 0.930 0.955 0.960 0.955 0.955 0.955 50.0% 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 95.0% 1.090 1.280 1.200 1.090 1.045 1.200 1.045 1.200 1.045 1.090 1.045 97.5% 1.100 1.325 1.250 1.100 1.050 1.250 1.050 1.250 1.050 1.10 1.050 >/A 0.6 1.5 1.4 0.6 0.0 1.4 0.0 1.7 0.0 0.6 0.0 A 2.4 4.8 5.3 2.4 2.2 5.3 2.2 6.3 2.2 2.4 2.2 Table 4.2 Five Percentile Durations (case- Estimate Parameters for W.P, 2) Tables 4.3, 4.4, and Figure 4.1 show the comparison between the two cases in terms of the project revenue, and Tables 4.5, 4.6, and Figure 4.2 show the comparison between the two cases in terms of the project NPV. Mean value and standard deviation of the Chapter 4: Risk Management 110 early start time of the first revenue for case-1 are 7.56 years and 0.523 years respectively, and those for case-2 are 7.25 years and 0.258 years respectively. case 1 2 mean 705,507,584 729,199,360 a 77,309,352 74,547,520 skewness 0.190 0.241 kurtosis 1.411 1.495 Table 4.3 Comparison of the Project Revenue (case-1 and case-2) cumulative probability(%) 0.25 0.50 1.00 2.50 5.00 10.00 25.00 50.00 75.00 90.00 95.00 97.50 99.00 99.50 99.75 Case 1 ($,000,000) 488.5 506.4 525.7 554.0 578.3 606.4 653.4 705.5 757.7 804.9 832.7 857.0 885.4 904.6 922.5 Case 2 ($,000,000) 519.9 537.2 555.8 583.1 606.6 633.7 678.9 729.2 779.5 824.7 851.8 875.3 902.6 921.2 938.5 Table 4.4 Cumulative Probability of (case-1 and case-2) the Project Revenue Chapter 4: Risk Management 1 1 1 ^ •£ 0 .Q o S ^ > ^ S Id 3 E inn sn en 40 20 460 560 660 760 860 project revenue ($,000,000) 960 Figure 4.1 Cumulative Probability of the Project Revenue (case-1 and case-2) c a s e 1 2 mean - 1 1 , 6 6 6 , 5 6 0 9 , 5 6 3 , 8 4 0 a 8 6 , 7 1 7 , 5 7 6 8 4 , 2 5 4 , 6 2 4 skewness 0 .053 0 .078 k u r t o s i s 2 .043 2 . 1 3 1 Table 4.5 Comparison of the Project NPV (case-1 and case-2) C u m u l a t i v e P r o b a b i l i t y (%) 0 .25 0 .50 1.00 2 . 5 0 5 .00 1 0 . 0 0 2 5 . 0 0 5 0 . 0 0 7 5 . 0 0 9 0 . 0 0 9 5 . 0 0 9 7 . 5 0 9 9 . 0 0 9 9 . 5 0 9 9 . 7 5 Case 1 ( $ , 0 0 0 , 0 0 0 ) - 2 5 5 . 1 - 2 3 5 . 0 - 2 1 3 . 4 - 1 8 1 . 6 - 1 5 4 . 3 - 1 2 2 . 8 - 7 0 . 2 - 1 1 . 7 4 6 . 8 9 9 . 5 131 .0 1 5 8 . 3 1 9 0 . 1 2 1 1 . 7 2 3 1 . 7 Case 2 ( $ , 0 0 0 , 0 0 0 ) - 2 2 6 . 9 - 2 0 7 . 5 - 1 8 6 . 4 - 1 5 5 . 6 - 1 2 9 . 0 - 9 8 . 4 - 4 7 . 3 9 . 6 6 6 . 4 1 1 7 . 5 1 4 8 . 2 1 7 4 . 7 2 0 5 . 6 2 2 6 . 6 2 4 6 . 1 Table 4.6 Cumulative Probability of the Project NPV (case-1 and case-2) Chapter 4: Risk Management 112 n o > a £ u case-1 s case-2 -280 -180 -80 20 120 220 net pre sent value ($,000,000) Figure 4.2 Cumulative Probability of the Project NPV (case-1 and case-2) A tightening of the distribution describing revenue stream early start time improves expected project revenue and net present value significantly but does not reduce the uncertainty as measured by cr, by much. Clearly, efforts to fast track or accelerate a project can have a significant effect on expected NPV, although possibly at the price of increased risk. 4.2.2 Toll Rate Growth Parameters (case-3) A tightening up of the distribution describing toll rate growth parameters, described by ca in 2.5.4, is considered here. Toll rate growth parameters can be controlled by road operators even though they are affected by inflation. The following are possible strategies for reducing the uncertainty: • to negotiate a long-term pricing policy; and Chapter 4: Risk Management 113 • to require that the project be feasible without increases in toll rate. Tables 4.7 and 4.8 describe the parameters for case-1 and case-3 case-1 case-3 2.5% 0.800 0.900 5.0% 0.850 0.910 50.0% 1.000 1.000 95.0% 1.050 1.028 97.5% 1.060 1.030 Table 4.7 Five Percentile Estimate Parameters for Toll Rate Growth Parameters case-1 case-3 Mean 0.9815 0.9885 Standard Deviation 0.0703 0.0383 ^|F^ -2.0 -0.9 /& 10.2 2.8 Table 4.8 Statistics Information of Five Percentile Estimate Parameters for Toll Rate Growth Parameters Tables 4.9, 4.10, and Figure 4.3 show the comparison between case-1 and case-3 in terms of the project revenue, and Tables 4.11, 4.12, and Figure 4.4 show the comparison between the two cases in terms of the project NPV. case 1 3 mean 705,507,584 715,485,760 a 77,309,352 77,054,544 skewness 0.190 0.200 kurtosis 1.411 1.396 Table 4.9 Comparison of the Project Revenue (case-1 and case-3) Chapter 4: Risk Management 114 cumulative probability(%) 0.25 0.50 1.00 2.50 5.00 10.00 25.00 50.00 75.00 90.00 95.00 97.50 99.00 99.50 99.75 Case 1 ($,000,000) 488.5 506.4 525.7 554.0 578.3 606.4 653.4 705.5 757.7 804.9 832.7 857.0 885.4 904.6 922.5 Case 3 ($,000,000) 499.2 517.0 536.2 564.5 588.7 616.7 663.5 715.5 767.5 814.2 842.2 866.5 894.7 914.0 931.8 Table 4.10 Cumulative Probability of the Project Revenue (case-1 and case-3) 460 560 660 760 860 project revenue ($,000,000) 960 Figure 4.3 Cumulative Probability of the Project Revenue (case-1 and case-3) case 1 3 mean -11,666,560 -1,688,384 a 86,717,576 86,490,488 skewness 0.053 0.060 kurtosis 2.043 2.036 Table 4.11 Comparison of the Project NPV (case-1 and case-3) Chapter 4: Risk Management 115 Cumulative Probability (%) 0.25 0.50 1.00 2.50 5.00 10.00 25.00 50.00 75.00 90.00 95.00 97.50 99.00 99.50 99.75 Case 1 ($,000,000) -255.1 -235.0 -213.4 -181.6 -154.3 -122.8 -70.2 -11.7 46.8 99.5 131.0 158.3 190.1 211.7 231.7 Case 3 ($,000,000) -244.5 -224.5 -202.9 -171.2 -144.0 -112.5 -60.0 -1.7 56.6 109.2 140.6 167.8 199.5 221.1 241.1 Table 4.12 Cumulative Probability of the Project NPV (case-1 and case-3) .£3 o > 1 £ o case-1 s case-3 -280 -180 -80 20 120 220 net present value ($,000,000) Figure 4.4 Cumulative Probability of the Project NPV (case-1 and case-3) A tightening of the distribution describing toll rate growth parameters shifts project revenue and net present value in a positive direction, but it does little to reduce uncertainty. Chapter 4: Risk Management 4.2.3 Traffic Volume Growth Parameters (case-4) 116 A tightening of the distribution describing traffic volume growth parameters, described as k in section 2.1, is considered here. It is very difficult to control the distribution for traffic volume growth parameters. A possible way is to review past data of similar highway projects, and to analyze information about development plans, road capacity, economic condition, and so on. Tables 4.13 and 4.14 describe the parameters for case-1 and case-4 case-1 case-4 2.5% 0.700 0.850 5.0% 0.750 0.870 50.0% 1.000 1.000 95.0% 1.090 1.045 97.5% 1.100 1.050 Table 4.13 Five Percentile Estimate Parameters for traffic volume growth parameters case-1 case-4 Mean 0.9704 0.9843 Standard Deviation 0.1104 0.0568 V ^ -1.0 -0.9 /32 3.4 2.9 Table 4.14 Statistics Information of Five Percentile Estimate Parameters for Traffic Volume Growth Parameters Tables 4.15, 4.16, and Figure 4.5 show the comparison between case-1 and case-4 in terms of the project revenue, and Tables 4.17, 4.18, and Figure 4.6 show the comparison between the two cases in terms of the project NPV. case 1 4 mean 705,507,584 702,523,968 a 77,309,352 61,274,760 skewness 0.190 -0.170 kurtosis 1.411 1.383 Table 4.15 Comparison of the Project Revenue (case-1 and case-4) Chapter 4: Risk Management 111 cumulative probability(%) 0.25 0.50 1.00 2.50 5.00 10.00 25.00 50.00 75.00 90.00 95.00 97.50 99.00 99.50 99.75 Case 1 ($,000,000) 488.5 506.4 525.7 554.0 578.3 606.4 653.4 705.5 757.7 804.9 832.7 857.0 885.4 904.6 922.5 Case 4 ($,000,000) 530.5 544.7 560.0 582.4 601.7 624.0 661.2 702.5 743.9 781.1 803.3 822.6 845.1 860.4 874.5 Table 4.16 Cumulative Probabi l i ty of (case-1 and case-4) the Project Revenue 460 case-1 case-4 560 660 760 860 project revenue ($,000,000) 960 Figure 4.5 Cumulative Probability of the Project Revenue (case-1 and case-4) case 1 4 mean -11,666,560 -14,650,176 a 86,717,576 72,785,976 skewness 0.053 -0.239 kurtosis 2.043 2.281 Table 4.17 Comparison of the Project NPV (case-1 and case-4) Chapter 4: Risk Management 118 Cumulative Probability (%) 0.25 0.50 1.00 2.50 5.00 10.00 25.00 50.00 75.00 90.00 95.00 97.50 99.00 99.50 99.75 Case 1 ($,000,000) -255.1 -235.0 -213.4 -181.6 -154.3 -122.8 -70.2 -11.7 46.8 99.5 131.0 158.3 190.1 211.7 231.7 Case 4 ($,000,000) -219.0 -202.1 -184.0 -157.3 -134.4 -107.9 -63.7 -14.7 34.4 78.6 105.1 128.0 154.7 172.8 189.7 Table 4.18 Cumulative Probability of the Project NPV (case-1 and case-4) X) o > 1 s E 3 case-1 case-4 -280 -180 -80 20 120 220 net present value ($,000,000) Figure 4.6 Cumulative Probability of the Project NPV (case-1 and case-4) A tightening of the distribution describing traffic volume growth parameters significantly reduces the uncertainty of an overall project; mean values of project revenue and net present value, however, are decreased. Chapter 4: Risk Management 4.2.4 Tolls (case-5) 119 The effects of tightening the distribution of base toll rates are considered in this section. In general, toll rates are decided on the basis of benefit-cost principles, in which the tolls charged to the various road users should not exceed the benefit normally received by them for using the highway. Practically, the uncertainty surrounding base tolls disappears near the end of the construction phase, or earlier, if the concession structure dictates the base toll rate. An example of where the uncertainty in the toll rate persists to the commissioning phase of a project is the recently completed English Chunnel project. Tables 4.19 and 4.20 describe the parameters for case-1 and case-5. case-1 case-5 2.5% 0.900 0.950 5.0% 0.910 0.955 50.0% 1.000 1.000 95.0% 1.180 1.09 97.5% 1.200 1.100 Table 4.19 Five Percentile Estimate Parameters for Tolls case-1 case-5 Mean 1.0167 1.0083 Standard Deviation 0.0850 0.0425 V ^ 0.6 0.6 /& 2.4 2.4 Table 4.20 Statistics Information of Five Percentile Estimate Parameters for Tolls Tables 4.21, 4.22, and Figure 4.7 show the comparison between case-1 and case-5 in terms of the project revenue, and Tables 4.23, 4.24, and Figure 4.8 show the comparison between the two cases in terms of the project NPV. Chapter 4: Risk Management 120 case 1 5 mean 705,507,584 699,348,992 a 77,309,352 76,269,088 skewness 0.190 0.192 kurtosis 1.411 1.419 Table 4.21 Comparison of the Project Revenue (case-1 and case-5) cumulative probability(%) 0.25 0.50 1.00 2.50 5.00 10.00 25.00 50.00 75.00 90.00 95.00 97.50 99.00 99.50 99.75 Case 1 ($,000,000) 488.5 506.4 525.7 554.0 578.3 606.4 653.4 705.5 757.7 804.9 832.7 857.0 885.4 904.6 922.5 Case 5 ($,000,000) 485.3 502.9 521.9 549.9 573.9 601.6 647.9 699.3 750.8 797.1 824.8 848.8 876.8 895.8 913.4 Table 4.22 Cumulative Probability of (case-1 and case-5) the Project Revenue Chapter 4: Risk Management 121 100- is 80- Si S 60. g ^ 40 . 1 •3 20- E 3 0 4i ™^^^H®*'™*™® 30 560 660 760 860 960 project revenue ($,000,000) — • — case-1 a case-5 Figure 4.7 Cumulative Probability of the Project Revenue (case-1 and case-5) c a s e 1 5 mean - 1 1 , 6 6 6 , 5 6 0 - 1 7 , 8 2 5 , 1 5 2 a 8 6 , 7 1 7 , 5 7 6 8 5 , 7 9 1 , 4 6 4 skewness 0 .053 0 . 0 5 1 k u r t o s i s 2 . 043 2 . 0 6 1 Table 4.23 Comparison of the Project NPV (case-1 and case-5) C u m u l a t i v e P r o b a b i l i t y (%) 0 .25 0 .50 1.00 2 .50 5 .00 1 0 . 0 0 2 5 . 0 0 5 0 . 0 0 7 5 . 0 0 90 .00 9 5 . 0 0 9 7 . 5 0 9 9 . 0 0 9 9 . 5 0 9 9 . 7 5 Case 1 ( $ , 0 0 0 , 0 0 0 ) - 2 5 5 . 1 - 2 3 5 . 0 - 2 1 3 . 4 - 1 8 1 . 6 - 1 5 4 . 3 -122 .8 - 7 0 . 2 - 1 1 . 7 4 6 . 8 9 9 . 5 1 3 1 . 0 1 5 8 . 3 1 9 0 . 1 2 1 1 . 7 2 3 1 . 7 Case 5 ( $ , 0 0 0 , 0 0 0 ) - 2 5 8 . 6 - 2 3 8 / . 8 - 2 1 7 . 4 - 1 8 6 . 0 - 1 5 8 . 9 - 1 2 7 . 8 - 7 5 . 7 - 1 7 . 8 4 0 . 0 9 2 . 1 1 2 3 . 3 1 5 0 . 3 1 8 1 . 8 2 0 3 . 2 2 2 3 . 0 Table 4.24 Cumulative Probability of the Project NPV (case-1 and case-5) Chapter 4: Risk Management 122 r E s case-1 s case-5 -280 -180 -80 20 120 220 net present value ($.000,000) Figure 4.8 Cumulative Probability of the Project NPV (case-1 and case-5) A tightening of the distribution describing base toll rates does not significantly reduce overall uncertainty. A small negative impact on the expected value is observed. 4.2.5 Traffic Volume (case-6) A tightening of the distribution of base traffic volume is considered here. It is also difficult to achieve in practice. It may be obtained, in part, through detailed traffic surveys, and more detailed traffic forecasts. Tables 4.25 and 4.26 describe the parameters for case-1 and case-6 Chapter 4: Risk Management 123 case-1 case-6 2.5% 0.350 0.675 5.0% 0.500 0.700 50.0% 1.000 1.000 95.0% 1.350 1.180 97.5% 1.400 1.200 Table 4.25 Five Percentile Estimate Parameters for Traffic Volume case-1 case-6 Mean 0.9723 0.9778 Standard Deviation 0.2667 0.1488 >/^ -1.0 -0.4 y& 5.9 2.2 Table 4.26 Statistics Information of Five Percentile Estimate Parameters for Traffic Volume Tables 4.27, 4.28, and Figure 4.9 show the comparison between case-1 and case-6 in terms of the project revenue, and Tables 4.29, 4.30, and Figure 4.10 show the comparison between the two cases in terms of the project NPV. case 1 6 mean 705,507,584 712,278,592 a 77,309,352 73,196,800 skewness 0.190 0.249 kurtosis 1.411 1.472 Table 4.27 Comparison of the Project Revenue (case-1 and case-6) Chapter 4: Risk Management 124 cumulative probability(%) 0.25 0.50 1.00 2.50 5.00 10.00 25.00 50.00 75.00 90.00 95.00 97.50 99.00 99.50 99.75 Case 1 ($,000,000) 488.5 506.4 525.7 554.0 578.3 606.4 653.4 705.5 757.7 804.9 832.7 857.0 885.4 904.6 922.5 Case 6 ($,000,000) 506.8 523.7 542.0 568.8 591.9 618.5 662.9 712.3 761.6 806.1 832.7 855.7 882.6 900.8 917.7 Table 4.28 Cumulative Probability of (case-1 and case-6) the Project Revenue case-1 case-6 460 560 660 760 860 project revenue ($,000,000) 960 Figure 4.9 Cumulative Probability of the Project Revenue (case-1 and case-6) case 1 6 mean -11,666,560 -4,895,552 a 8,6717,576 7,3196,800 skewness 0.053 0.249 kurtosis 2.043 1.472 Table 4.2 9 Comparison of the Project NPV (case-1 and case-6; Chapter 4: Risk Management 125 Cumulative Probability (%) 0.25 0.50 1.00 2.50 5.00 10.00 25.00 50.00 75.00 90.00 95.00 97.50 99.00 99.50 99.75 Case 1 ($,000,000) -255.1 -235.0 -213.4 -181.6 -154.3 -122.8 -70.2 -11.7 46.8 99.5 131.0 158.3 190.1 211.7 231.7 Case 6 ($,000,000) -238.1 -218.9 -198.1 -167.7 -141.5 -111.4 -60.9 -4.9 51.1 101.6 131.7 157.9 188.4 209.1 228.3 Table 4.30 Cumulative Probability of the Project NPV (case-1 and case-6) .£3 a o r S 3 i — • • -280 case-1 E case-6 -180 -80 20 120 220 net pre sent value ($.000,000) Figure 4.10 Cumulative Probability of the Project NPV (case-1 and case-6) This tightening has no significant effect on reducing the uncertainty of an overall project. Chapter 4: Risk Management 4.2.6 Inflation Rate (case-7) 126 A tightening of the distribution for the inflation rate that applies to operating costs only is considered here. It cannot be controlled by road operators although it is necessary to observe economic conditions and to forecast its trend carefully to reduce the uncertainty. Tables 4.31 and 4.32 describe the parameters for case-1 and case-7. case-1 case-7 2.5% 0.800 0.900 5.0% 0.820 0.910 50.0% 1.000 1.000 95.0% 1.300 1.180 97.5% 1.400 1.200 Table 4.31 Five Percentile Estimate Parameters for Inflation Rate case-1 case-7 Mean 1.0222 1.0167 Standard Deviation 0.1540 0.0850 >/A 1.4 0.6 ;& 7.7 2.4 Table 4.32 Statistics Information of Five Percentile Estimate Parameters for Inflation Rate Tables 4.33, 4.34, and Figure 4.11 show the comparison between case-1 and case-7 in terms of the project revenue, and Tables 4.35, 4.36, and Figure 4.12 show the comparison between the two cases in terms of the project NPV. case 1 7 mean 705,507,584 709,877,120 a 77,309,352 73,241,816 skewness 0.190 0.334 kurtosis 1.411 1.491 Table 4.33 Comparison of the Project Revenue (case-1 and case-7) Chapter 4: Risk Management 127 cumulative probability(%) 0.25 0.50 1.00 2.50 5.00 10.00 25.00 50.00 75.00 90.00 95.00 97.50 99.00 99.50 99.75 Case 1 ($,000,000) 488.5 506.4 525.7 554.0 578.3 606.4 653.4 705.5 757.7 804.9 832.7 857.0 885.4 904.6 922.5 Case 7 ($,000,000) 504.3 521.2 539.5 566.3 589.4 616.0 660.5 709.9 759.3 803.7 830.4 853.4 880.3 898.5 915.5 Table 4.34 Cumulative Probabi l i ty of the Project Revenue (case-1 and case-7) 460 case-1 case-7 560 660 760 860 project revenue ($,000,000) 960 Figure 4.11 Cumulative Probability of the Project Revenue (case-1 and case-7) case 1 7 mean -11,666,560 -6,317,120 a 86,717,576 82,959,512 skewness 0.053 0.137 kurtosis 2.043 2.139 Table 4.35 Comparison of the Project NPV (case-1 and case-7) Chapter 4: Risk Management 128 Cumulative Probability (%) 0.25 0.50 1.00 2.50 5.00 10.00 25.00 50.00 75.00 90.00 95.00 97.50 99.00 99.50 99.75 Case 1 ($,000,000) -255.1 -235.0 -213.4 -181.6 -154.3 -122.8 -70.2 -11.7 46.8 99.5 131.0 158.3 190.1 211.7 231.7 Case 7 ($,000,000) -239.2 -220.0 -199.3 -168.9 -142.8 -112.6 -62.3 -6.3 49.6 100.0 130.1 156.3 186.7 207.4 226.6 Table 4.36 Cumulative Probability of the Project NPV (case-1 and case-7) XI o 09 ^ > s E u - • — case-1 s case-7 -280 -180 -80 20 120 220 net present value ($,000,000) Figure 4.12 Cumulative Probability of the Project NPV (case-1 and case-7) This tightening has no significant effect on reducing the uncertainty for the overall project. Chapter 4: Risk Management 129 4.2.7 Parameter for Consignment Cost of Toll Collection (case-8) A tightening of the distribution of the parameter for the consignment cost of toll collection is examined here. This can be controlled, in part, by road operators. Tables 4.37 and 4.3 8 describe the parameters for case-1 and case-8. case-l case-8 2.5% 0.900 0.950 5.0% 0.910 0.955 50.0% 1.000 1.000 95.0% 1.250 1.120 97.5% 1.300 1.150 Table 4.37 Five Percentile Estimate Parameters for Parameter for Consignment Cost of Toll Collection case-1 case-7 Mean 1.0296 1.0139 Standard Deviation 0.1104 0.0539 VA 1.0 1.4 A 3.4 5.6 Table 4.38 Statistics Information of Five Percentile Estimate Parameters for Parameter for Consignment Cost of Toll Collection Tables 4.39, 4.40, and Figure 4.13 show the comparison between case-1 and case-8 in terms of the project revenue, and Tables 4.41, 4.42, and Figure 4.14 show the comparison between the two cases in terms of the project NPV. case 1 8 mean 705,507,584 708,981,504 a 77,309,352 76,916,008 skewness 0.190 0.197 kurtosis 1.411 1.420 Table (4.39) Comparison of the Project Revenue (case-1 and case-8) Chapter 4: Risk Management 130 cumulative probability(%) 0.25 0.50 1.00 2.50 5.00 10.00 25.00 50.00 75.00 90.00 95.00 97.50 99.00 99.50 99.75 Case 1 ($,000,000) 488.5 506.4 525.7 554.0 578.3 606.4 653.4 705.5 757.7 804.9 832.7 857.0 885.4 904.6 922.5 Case 8 ($,000,000) 493.1 510.9 530.1 558.2 582.5 610.4 657.1 709.0 760.9 807.6 835.5 859.7 887.9 907.1 924.9 Table 4.40 Cumulative Probability of the Project Revenue (case-1 and case-8) 460 560 660 760 860 project re venue ($,000,000) 960 Figure 4.13 Cumulative Probability of the Project Revenue (case-1 and case-8) case 1 8 mean -11,666,560 -8,192,640 (7 86,717,576 86,367,096 skewness 0.053 0.056 kurtosis 2.043 2.053 Table 4.41 Comparison of the Project NPV (case-1 and case-8) Chapter 4: Risk Management 131 Cumulative Probability (%) 0.25 0.50 1.00 2.50 5.00 10.00 25.00 50.00 75.00 90.00 95.00 97.50 99.00 99.50 99.75 Case 1 ($,000,000) -255.1 -235.0 -213.4 -181.6 -154.3 -122.8 -70.2 -11.7 46.8 99.5 131.0 158.3 190.1 211.7 231.7 Case 8 ($,000,000) -250.6 -230.7 -209.1 -177.5 -150.3 -118.9 -66.4 -8.2 50.1 102.5 133.9 161.1 192.7 214.3 234.2 Table 4.42 Cumulative Probability of the Project NPV (case-1 and case-8) O > E 3 U -• case-1 s case-8 -280 -180 -80 20 120 220 net present value ($.000,000) Figure 4.14 Cumulative Probability of the Project NPV (case-1 and case-8) This tightening has no significant effect on reducing the uncertainty for the overall project. Chapter 4: Risk Management 4.2.8 Combination of Case-2 to Case-8 (case-9) 132 The total effect of all the distribution tightenings described in case-2 to case-8 is considered here. Tables 4.43, 4.44, and Figure 4.15 show the comparison between case-1 and case-9 in terms of the project revenue, and Tables 4.45, 4.46, and Figure 4.16 show the comparison between the two cases in terms of the project NPV. case 1 8 mean 705,507,584 733,059,648 a 77,309,352 40,677,744 skewness 0.190 0.161 kurtosis 1.411 1.355 Table 4.43 Comparison of the Project Revenue (case-l and case-9) cumulative probability{%) 0.25 0.50 1.00 2.50 5.00 10.00 25.00 50.00 75.00 90.00 95.00 97.50 99.00 99.50 99.75 Case 1 ($,000,000) 488.5 506.4 525.7 554.0 578.3 606.4 653.4 705.5 757.7 804.9 832.7 857.0 885.4 904.6 922.5 Case 9 ($,000,000) 618.9 628.3 638.4 653.3 666.1 680.9 705.6 733.1 760.5 785.2 800.0 812.8 827.7 837.8 847.2 Table 4.44 Cumulative Probability of (case-1 and case-9) the Project Revenue Chapter 4: Risk Management 133 460 560 660 760 860 project revenue ($.000,000) 960 Figure 4.15 Cumulative Probability of the Project Revenue (case-l and case-9) case 1 9 mean -11,666,560 13,424,128 a 86,717,576 56,534,840 skewness 0.053 -0.236 kurtosis 2.043 2.819 Table 4.45 Comparison of the Project NPV (case-l and case-9) Cumulative Probability (%) 0.25 0.50 1.00 2.50 5.00 10.00 25.00 50.00 75.00 90.00 95.00 97.50 99.00 99.50 99.75 Case 1 ($,000,000) -255.1 -235.0 -213.4 -181.6 -154.3 -122.8 -70.2 -11.7 46.8 99.5 131.0 158.3 190.1 211.7 231.7 Case 9 ($,000,000) -145.3 -132.2 -118.1 -97.4 -79.6 -59.0 -24.7 13.4 51.6 85.9 106.4 124.2 144.9 159.0 172.1 Table 4.46 Cumulative Probability of the Project NPV (case-l and case-9) Chapter 4: Risk Management 134 Figure 4.16 Cumulative Probability of the Project NPV (case-1 and case-9) In this case, significant improvements for both reducing the uncertainty and increasing the project's expected net present value are observed. In practice, many of tightenings described may not be achievable, but the process is clear - examine each variable in turn, determine how its uncertainty can be reduced, and then determine the residual uncertainty. The goal is to achieve the type of result shown in Figure 4.16 - tighten or steepen the distribution, and shift it in the positive direction. Even if the tightening examined could be achieved, the example project would still , in all likelihood, be infeasible because there is a 40% chance of not obtaining the minimum attractive rate of return. Thus, additional strategies would be required to further reduce risk. Chapter 4: Risk Management 1 3 5 4.3 Conclusions As suggested in the previous section, even when the range of the distribution of highly sensitive primary variables is decreased by half, the effect on overall project risks is not significant except when considered in combination (case-9). On a variable- variable basis, improvements are found only in case-4 ( traffic volume growth rate). However, in practice, it is very difficult to tighten up the distribution for traffic volume growth parameters, because they are related to uncertain economic conditions, road development plans, and many other factors. This indicates that it is very difficult for a highway operator alone to reduce risks . Therefore, it would seem that it is very important that risk sharing be negotiated with the government and some guarantee of support be received. For example, if the government guarantees a certain traffic volume, the situation improves as indicated below in case-10. Although parameters for traffic volume should be deterministic for case-10, the model requires probabilistic values for primary variables. Therefore, very tight distributions for the parameters are used. Tables 4.47 and 4.48 describe the parameters for case-1 and case-10. Chapter 4: Risk Management 136 case-1 case-10 2.5% 0.350 0.9996 5.0% 0.500 0.9997 50.0% 1.000 1.000 95.0% 1.350 1.0003 97.5% 1.400 1.0004 Table 4.47 Five Percentile Estimate Parameters for Traffic Volume case-1 case-10 Mean 0.9723 1.0000 Standard Deviation 0.2667 0.0002 >/^ -1.0 0.0 /^ 5.9 9.0 Table 4.48 Statistics Information of Five Percentile Estimate Parameters for Traffic Volume Tables 4.49, 4.50, and Figure 4.17 show the comparison between case-1 and case-9 in terms of the project revenue, and Tables 4.51, 4.52, and Figure 4.18 show the comparison between the two cases in terms of the project NPV. case 1 10 mean 705,507,584 729,600,320 a 77,309,352 72,625,800 skewness 0.190 0.276 kurtosis 1.411 1.518 Table 4.49 Comparison of the Project Revenue (case-1 and case-10) Chapter 4: Risk Management 137 cumulative probability(%) 0.25 0.50 1.00 2.50 5.00 10.00 25.00 50.00 75.00 90.00 95.00 97.50 99.00 99.50 99.75 Case 1 ($,000,000) 488.5 506.4 525.7 554.0 578.3 606.4 653.4 705.5 757.7 804.9 832.7 857.0 885.4 904.6 922.5 Case 9 ($,000,000) 525.7 542.5 560.7 587.3 610.1 636.5 680.6 729.6 778.6 822.7 849.1 871.9 898.5 916.7 933.5 Table 4.50 Cumulative Probabi l i ty of the Project Revenue (case- l and case-lO) 460 case-1 case-1 560 660 760 860 project re venue ($,000,000) 960 Figure 4.17 Cumulative Probability of the Project Revenue (case-1 and case-10) Chapter 4: Risk Management 138 case 1 8 mean -11,666,560 12,426,176 a 86,717,576 82,569,424 skewness 0.053 0.094 kurtosis 2.043 2.169 Table 4.51 Comparison of the Project NPV (case-1 and case-10) Cumulative Probability (%) 0.25 0.50 1.00 2.50 5.00 10.00 25.00 50.00 75.00 90.00 95.00 97.50 99.00 99.50 99.75 Case 1 ($,000,000) -255.1 -235.0 -213.4 -181.6 -154.3 -122.8 -70.2 -11.7 46.8 99.5 131.0 158.3 190.1 211.7 231.7 Case 9 ($,000,000) -219.3 -200.3 -179.7 -149.4 -123.4 -93.4 -43.3 12.4 68.1 118.2 148.2 174.3 204.5 225.1 244.2 Table 4.52 Cumulative Probability of the Project NPV (case-l and case-10) Id n o a £ U case-1 case-10 -280 -180 -80 20 120 220 net present value ($,000,000) Figure 4.18 Cumulative Probability of the Project NPV (case-1 and case-10) Chapter 4: Risk Management 139 In case-10, there is no obvious improvement on the uncertainty of overall project risks. However, its profitability clearly improves. Therefore, obtaining certain guarantees concerning such factors as traffic volume must be recognized as possible and almost essential risk management strategies. Chapter 5 Conclusions and Recommendations 5.1 Conclusions The primary objectives of this thesis were to model economic and financial performance of user-pay highway facilities and to explore the sensitivity of project performance to changes in primary variables, uncertainty surrounding such projects, and ways of reducing the uncertainty. The analytical model developed requires three kinds of input data: work package duration; work package costs; and revenue streams. Special attention was given to the revenue phase. The general features of the analytical model are as follows. 1. This model consists of three levels: work package/revenue stream level; project performance level; and project decision level. 140 Chapter 5: Conclusions and Recommendations 141 2 . The work package/revenue stream level involves three derived variables: work package duration; work package cost; and revenue stream. 3. The project performance level also involves three derived variables: project duration; project cost; and project revenue. 4. The project decision level involves two derived variables: project net present value (NPV); and project internal rate of return (IRR). 5. Each derived variable is described by its expected value, standard deviation, skewness, and kurtosis. 6. This model can be applied to closed toll collection systems (manual or automatic collection), closed toll collection systems (manual or automatic collection), and their hybrids. 7. The model is dependent on traffic volume forecast, and can also deal with any traffic volume forecasting method as long as it provides the interchange pair traffic volume for each vehicle type in base years. The results of a sensitivity and risk analysis of a Japanese project and which focused mainly on the revenue phase are as follows. 1. In most cases, the highly sensitive primary variables are as follows: (1)revenue stream early start time; (2)toll rate growth parameters; Chapter 5: Conclusions and Recommendations 1 4 2 (3)traffic volume growth parameters; (4)tolls; (5)traffic volume; (6)inflation rate; and (7)parameter for consignment cost of toll collection. 2. However, even if the uncertainty of these sensitive variables is decreased, their impacts on overall project risks are not great except in the case of traffic volume growth rate. 3. One of the most effective risk management strategies is to negotiate risk sharing with the government and to receive some guarantee of support. 5.2 Recommendations for Future Work Recommendations for future work are presented in three categories: computer programs; correlation between primary variables for revenue streams; and deterministic input for primary variables. 5.2.1 Computer Programs One of the primary objectives of this thesis was to model economic and financial performance of user-pay highway facilities. This model is based on the program "AMMA", which is a modified version of "TIERA" (Ranasinghe, 1990) "AMMA", unlike "TIERA", can be used on personal computers Chapter 5: Conclusions and Recommendations 143 It was planned to be used in conjunction with the program "TERQ", a more user-friendly program capable of creating input data files with relative ease. However, since "TERQ" has not been completed yet, the analytical model requires users to do a lot of work creating input data files. It is strongly recommended that "TERQ" be completed as soon as possible. The analytical model, namely "AMMA", uses 2.5, 5.0, 50.0, 95.0, and 97.5 percentile estimates. However, because of the difficulty in assessing the 2.5 and 97.5 percentiles subjectively, 5.0, 25.0, 50.0, 75.0, and 95.0 percentile estimates seem to be more suitable for the model. 5.2.2 Correlation between Primary Variables for Revenue Streams The analytical model can theoretically deal with correlation between primary variables. However, since there are many primary variables, e.g. the smallest revenue stream has 181 primary variables, and the biggest revenue stream has 297 primary variables for the sample project, this thesis sets all correlation coefficients to zero. However, especially in the revenue phase, many primary variables are correlated with each other, e.g. interchange pair traffic volumes, and volumes in different years. Therefore, it is recommended that the correlation between primary variables be considered, and their impacts be measured. Chapter 5: Conclusions and Recommendations 1 4 4 5.2.3 Deterministic Input for Primary Variables As mentioned in chapter four, the model requires probabilistic values for most primary variables. However, in order to examine risk management strategies, it is sometimes necessary to set some deterministic variables . Therefore, it is recommended that the model be modified to accept both deterministic and probabilistic values. Bibliography [1] Andersson, Roland, "A Bridge to Faro - a Cost-benefit Analysis", Journal of Advanced Transportation. Volume 19, Number 3, 1985: 251-269 [2] Ang, A.H-s., Abdelnour, J., and Chaker, A.A.," Analysis of Activity Networks under Uncertainty", Journal of Engineering Mechanics Division. ASCE, Volume 101, Number Eiyi4 , 1975: 373-387 [3] Atkins, A.S., Eade, A.R., and Fisher, N.W.F., "A Model for the Financial Analysis of Toll Roads", Proceedings- Sixth Conference. Australian Road Research Board. 1972: Paper Number 807 [4] Beesley, Michael and Hensher, David A., "Private Toll roads in Urban Areas. Some Thoughts on the Economic and Financial Issues.", Transportation. Volume 16, Number 4, 1990: 329-341 [5] Bushell, George, "An Optimizing Model of Traffic Assignment for the Freeway System of Southern Ontario", Centre for Urban and Community Studies, University of Toronto, Research Paper No. 40, 1970 [6] Campbell, Bruce and Humphrey, Thomas F., "Methods of Cost-effectiveness Analysis for Highway Projects", National Cooperative Highway Research Program Synthesis of Highway Practice. No 142, 1988 [7] Christofferson, Kevin Richard, "A Benefit/Cost Analysis of Reconstructing the Alaska Highway to R.A.U. 100 Status", Master thesis. University of British Columbia. Canada, 1980 [8] Dalton, P.M. and Harmelink, M.D., "Multipath Traffic Assignment: Development and Tests", the Systems Research and development Branch. Research and development Division. Ministry of Transportation and Communications, Ontario. 1974 [9] Davinroy, thomas, "Traffic Assignment", Institute of Transportation and Traffic Encrineering. Barkley. University of California. 1962 145 Bibliography 14 6 [10] Davis, Harmer E., Moyer, Ralph A., Kennedy, Norman, and Lapin, Howard S., "Toll-road Developments and their Significance in the Provision of Expressways", Institute of Transportation and Traffic Engineering. University of California. U.S.A. 1953 [11] Duffus, Leonnie N., Alfa, Attahiru Sule, and Soliman, Afifi H., "The Reliability of Using the Gravity Model for Forecasting Trip Distribution", Transportation. Volume 14, 1987: 175-192 [12] Geltner, David and Moavenzadeh, Fred, "An Economic Argument for Privatization of Highway Ownership", Transportation Research Record, Volume 1107, 1987: 14- 20 [13] Gittings, Gary L., "Some Financial, Economic, and Social Policy Issues Associated with Toll Finance.", Transportation Research Record. Volume 1107, 1987: 20- 30 [14] Huber, Matthew J., Boutwell, Harvey B., and Witheford, David K., "Comparative Analysis of Traffic Assignment Techniques with Actual Highway Use", National Cooperative Highway Research Program. Highway Research Board. No. 58, 19 6 8 [14] Japan Highway Public corporation, "the General Information", Tokyo, Japan 1992 [15] Japan Highway Public corporation, "the Planning and Surveying Standards for Ordinary Toll Roads", Tokyo, Japan, 19 8 3 [16] Japan Highway Public corporation, "Outline of Expressway Traffic Volume Estimation", Unpublished, Tokyo, Japan, 1993 [17] Johansen, Frida, "Economic Arguments on Toll Roads", Transportation Research Record 1107, 1987: 80-84 [18] Kadiyali, L.R., "Traffic Engineering and Transportation Planning", Ministry of Shipping and Transport, New Delhi. 1983 Bibliography 14 7 [19] Morellet, Oliver, "A Demand Model for Intercity Private Car Traffic", Report of the Fifty-eight Round Table on Transport Economics, European Conference of Ministers of Transport. 1981: 9-20 [20] Neveu, Alfred J., " Quick-Response Procedures to Forecast Rural Traffic: Background Document", Transportation Analysis Report 3, Planning Division. New York State Department of Transportation, 1982 [21] Newell, G.F,, "Traffic Flow on Transportation Networks", The MIT Press. Cambridge. Massachusetts. 1980 [22] Ranasinghe, M., "Analytical Method for Quantification of Economic Risks During Feasibility Analysis for Large Engineering Projects.", Ph.D. Thesis. University of British Columbia. Canada, 1990 [23] Robertson, Richard B., "Overview of Toll Financing in Countries that are Members of the Organization for Economic Cooperation and Development", Transportation Research Record. Volume 1107, 1987: 65-67 [24] Rusch, W.A., "Toll Highway Financing" National Cooperative Highway Research Program Synthesis of Highway Practice. No 117, 1984 [25] Russell, A.D., Civil 522 - Course Notes", University of British Columbia. Vancouver. Canada. 1992 [26] Sharp, Clifford, Button, Kenneth, and Deadman, Derek, "The Economics of Tolled Road Crossing", Journal of Transport Economics and Policy. 1986: 255-274 [27] Schneider, Suzanne, "Toll Financing of U.S. Highways", Congress of the United States. Congressional Budget Office. 1985 [28] Thomas, Roy, "Traffic Assignment Techniques", Centre for Transport Studies. Department of Civil Engineering. University of Salford. 1991 [29] Waters, W.G. and Meyers, Shane J., "Benefit Cost Analysis of a Toll Highway - British Columbia Coquihalla", CTRF conference proceedings. 1987: 494-513 Bibliography 14 8 [30] Weisbrod, Glen E. and Beckwith, James, "Measuring Economic Development Benefits for Highway Decision- making: the Wisconsin Case", Transportation Quarterly. Volume 46, Number 1, 1992: 57-79 [31] Wuestefeld, Norman H., "Toll Roads", Transportation Quarterly. Volume 42, Number 1, 1988: 5-22 Appendix A Discounted Work Package Cost The following figure shows a cash flow diagram of work Package #i. Uniform repayment of financing is assumed $ c Tsci Tp T Coi{T) L WP#i Tci ' TT u r i_ TT - Tp amortization of financing TRT -J _j T Pi _| n time WPCi is the discounted ith work package cost Coi (T) is the function for constant dollar cash flow for the ith work package TBCI is start time of Work Package#i Tci is work package duration Tp is construction phase duration TT is total project duration (construction and operation phase) TRT is operation phase duration f is the equity fraction, 149 Appendix A: Discounted Work Package Cost 1 5 0 Oci, r and y a r e i n f l a t i o n , i n t e r e s t and d i s c o u n t r a t e s r e s p e c t i v e l y which a r e i n v a r i e d with t i m e . F i r s t , f i g u r e out the amount of annual repayment for i t h work package . Pi. FW a t end of WP#i i s : FW at Tp is : riTp-Tsd-Tci) = (1-/)-e*"^'" .g-Crp-r.̂ ) .^-^^^^(T)-e^'^-''dT FW at Tp is also described as: CTT-TP \ Pi-e-'-'dt Jo Therefore, Pi = (!-/).e*'-^-y<^/'-^-). f^"Coi(T)•e^'^-^-'dTl £~^'e'-'dt Then, discounted ith work package cost is. Appendix A: Discounted Work Package Cost 1 5 1 Appendix B Input Data for Revenue Stream The following tables shows input data for revenue streams. B.l Closed System (Fixed Toll Rate) nAL nP nWC nOL nBR iby ird fee(l,J,K,L) ptr(I) ptv(I) traf(l,J,K,L) Input Data the number of interchanges(IC) the number of vehicle types weather classification periodic overlay periodic bridge repainting (General Data) start time of the revenue stream revenue stream duration (Data related to Toll Rate) toll rate of vehicle type L between IC #J and #K at the first year toll growth rate parameter at year I (Data related to Traffic Volume) tiaffic volume growth rate parameter at year I traffic volimie of vehicle type L between IC #J and #K at the first year deterministic deterministic deterministic deterministic deterministic automatically calculated 1 5 2 Appendix B: Input Data for Revenue Stream 153 lb2 lb4 lb6 lt2 lt4 lt6 le2 le4 le6 Itn Itj Ito cc2 cc4 cm2 cm4 cm6 ell cl4 cr2 cr4 cr6 cp2 cp4 q36 ctn ctj cto csh cso co2 co4 co6 pcot Idir Ivdir (Maintenance Cost) 2 lane bridge length 4 lane bridge length 6 lane bridge length 2 lane tunnel length 4 lane tunnel length 6 lane tunnel length 2 lane earthwork section length 4 lane earthwork section length 6 lane earthwork section length length of tunnel with no ventilation length of tunnel with jet fan length of tunnel with other ventilation road cleaning cost (2 lanes) (4 lanes or more) road maintenance cost (2 lanes) (4 lanes) (6 lanes) lighting cost (1 or 2 lanes) (4 or 6 lanes) bridge repair cost (2 lanes) (4 lanes) (6 lanes) bridge paint cost (2 lanes) (4 lanes) (6 lanes) tunnel maintenance cost (no ventilation) tunnel maintenance cost (jet fan) tunnel maintenance cost (others) snow and ice control cost (heavy snow area)) (ordinary snow area) overlay cost (2 lanes) (4 lanes) (6 lanes) other maintenance cost parameter (Operation Cost) labor cost of operation office (director) (vice director) Appendix B: Input Data for Revenue Stream 154 Ichi leng Iwor tl ital itbl itcl itdl itel t2 ital itb2 itc2 itdZ ite2 t3 ita3 itb3 itc3 itd3 ite3 t4 ita4 itb4 itc4 itd4 ite4 t5 itaS itb5 itc5 itd5 ite5 ita6 itb6 (chief) (clerk or engineer) (worker) traffic volume(boundary-l) the number of directors needed for less traffic volume than tl the number of vice directors needed the number of chiefs needed the number of clerks and engineers needed the number of workers needed traffic volume(boundary-2) the number of directors needed for less traffic volume than t2 the number of vice directors needed the number of chiefs needed the number of clerks and engineers needed the number of workers needed traffic volume(boundary-3) the number of directors needed for less traffic volume than t3 the number of vice directors needed the number of chiefs needed the number of clerks and engineers needed the number of workers needed traffic volume(boundary-4) the number of directors needed for less traffic volume than t4 the number of vice directors needed the number of chiefs needed the number of clerks and engineers needed the number of workers needed traffic volume(boimdary-5) the number of directors needed for less traffic volume than t5 the number of vice directors needed the number of chiefs needed the number of clerks and engineers needed the niunber of workers needed the number of directors needed for more traffic volume than t5 the number of vice directors needed Appendix B: Input Data for Revenue Stream 155 itc6 itd6 ite6 Itc tcl itctl tc2 itct2 tc3 itct3 tc4 itct4 tc5 itctS tc6 itct6 tc7 itct? tc8 itctS tc9 itct9 tclO itctlO t e l l itct 11 tcl2 itct 12 tcl3 the number of chiefs needed the number of clerks and engineers needed the number of workers needed labor cost of toll collection (clerk) traffic volume(boimdary-l) the number of clerks needed for less traffic volimie thantl traffic volume(boundary-2) the number of toll collection clerks needed for less traffic volume than t2 traffic volume(boimdary-3) the number of toll collection clerks needed for less traffic volume than t3 traffic volume(boundary-4) the nimiber of toll collection clerks needed for less traffic volume than t4 traffic volume(boundary-5) the number of toll collection clerks needed for less traffic volimie than t5 traffic volume(boundary-6) the number of toll collection clerks needed for less traffic volume than t6 traffic volume(boundary-7) the number of toll collection clerks needed for less traffic volume than t7 traffic volume(boundary-8) the number of toll collection clerks needed for less traffic volume than t8 traffic volume(boundary-9) the number of toll collection clerks needed for less traffic volume than t9 traffic volume(boundary-lO) the number of toll collection clerks needed for less traffic volume than tlO traffic volume(boundary-l 1) the number of toll collection clerks needed for less traffic volimie than tl 1 traffic volume(boundary-12) the number of toll collection clerks needed for less traffic volume than tl2 traffic volume(boundary-13) Appendix B: Input Data for Revenue Stream 156 itctl3 tcl4 itctl4 tcl5 itctl5 tcl6 itctl6 tcl7 itctl7 itctlS ptct ptcm ibrcol ibrco2 pobo pho flr the number of toll collection clerks needed for less traffic volume than tl3 traffic volume(boundary-14) the number of toll collection clerks needed for less traffic volume than tl4 traffic volume(boundary-15) the number of toll collection clerks needed for less traffic volume than tl5 traffic volume(boundary-16) the number of toll collection clerks needed for less traffic volimie than tl6 traffic volume(boundary-17) the number of toll collection clerks needed for less traffic volume than tl7 the number of toll collection clerks needed for more traffic volume than tl7 (consigment costs of toll collection) are (toll collection labor costs) * ptct(parameter) toll collection machine maintenance costs) are (consigment costs of toll collection) * ptcm(parameter) cost parameter of building and repainting expenses etc. cost parameter of building and repainting expenses etc. operation bureau overhead parameter headquarters overhead inflation rate (maintenance and operation costs) Table B.l Closed System (Fixed Toll Rate) Appendix B: Input Data for Revenue Stream 157 B.2 Closed System (Distance Proportional Toll Rate) nAL nP nWC nOL nBR iby ird disci ratel disc2 rate2 perKm entFee al(I) P(K) ptr(I) ptv(I) traf(l,J,K,L) lb2 IM lb6 lt2 lt4 lt6 le2 le4 Input Data the number of interchanges(IC) the number of vehicle types weather classification periodic overlay periodic bridge repainting (General Data) start time of the revenue stieam revenue stream duration (Data related to Toll Rate) toll discount boimdary-1 (distance) toll discount rate-1 toll discount boundary-2 (distance) toll discount rate-2 toll rate (distance proportional part) of ordinary motor vehicle toll rate (fixed part) of ordinary motor vehicle distance between IC #1-1 and #1 toll ratios compared between ordinary motor vehicle and vehicle type K toll growth rate parameter at year I (Data related to Traffic Volume) tiaffic volume growth rate parameter at year I tiaffic volume of vehicle type L between IC #J and #K at the first year (Maintenance Cost) 2 lane bridge length 4 lane bridge length 6 lane bridge length 2 lane tunnel length 4 lane tunnel length 6 lane tunnel length 2 lane earthwork section length 4 lane earthwork section length deterministic deterministic deterministic deterministic deterministic automatically calculated 1 Appendix B: Input Data for Revenue Stream 158 le6 Itn Itj Ito cc2 cc4 cm2 cm4 cm6 cU cl4 cr2 cr4 cr6 qp2 cp4 cp6 ctn ctj cto csh cso co2 co4 co6 pcot Idir Ivdir Ichi leng Iwor t l ital itbl itcl itdl itel 6 lane earthwork section length length of tunnel with no ventilation length of tunnel with jet fan length of tunnel with other ventilation road cleaning cost (2 lanes) (4 lanes or more) road maintenance cost (2 lanes) (4 lanes) (6 lanes) lighting cost (1 or 2 lanes) (4 or 6 lanes) bridge repair cost (2 lanes) (4 lanes) (6 lanes) bridge paint cost (2 lanes) (4 lanes) (6 lanes) tunnel maintenance cost (no ventilation) tunnel maintenance cost (jet fan) tunnel maintenance cost (others) snow and ice control cost (heavy snow area)) (ordinary snow area) overlay cost (2 lanes) (4 lanes) (6 lanes) other maintenance cost parameter (Operation Cost) labor cost of operation office (director) (vice director) (chief) (clerk or engineer) (worker) traffic volume(boundary-l) the number of directors needed for less tiaffic volume than tl the number of vice directors needed the mmiber of chiefs needed the number of clerks and engineers needed the number of workers needed Appendix B: Input Data for Revenue Stream 159 t2 ita2 itb2 itc2 itd2 ite2 t3 ita3 itb3 itc3 itd3 ite3 t4 ita4 itb4 itc4 itd4 ite4 t5 ita5 itbS itc5 itd5 ite5 ita6 itb6 itc6 itd6 ite6 Itc tcl itctl tc2 itct2 traffic volume(boimdary-2) the number of directors needed for less traffic volume than t2 the number of vice directors needed the number of chiefs needed the number of clerks and engineers needed the mmiber of workers needed traffic volimie(boundary-3) the number of directors needed for less traffic volume than t3 the number of vice directors needed the number of chiefs needed the number of clerks and engineers needed the number of workers needed traffic volume(boundary-4) the number of directors needed for less traffic volume than t4 the number of vice directors needed the number of chiefs needed the number of clerks and engineers needed the number of workers needed traffic volume(boundary-5) the number of directors needed for less traffic volume than t5 the number of vice directors needed the number of chiefs needed the number of clerks and engineers needed the number of workers needed the number of directors needed for more traffic volume than t5 the number of vice directors needed the number of chiefs needed the number of clerks and engineers needed the number of workers needed labor cost of toll collection (clerk) tiaffic volume(boundary-l) the number of clerks needed for less traffic volume thantl tiaffic volume(boundary-2) the number of toll collection clerks needed for less tiaffic volume than t2 Appendix B: Input Data for Revenue Stream 160 tc3 itct3 tc4 itct4 tc5 itctS tc6 itct6 tc7 itct? tc8 itctS tc9 itct9 tclO itctlO t e l l itct 11 tcl2 itct 12 tcl3 itctlS tcl4 itct 14 tcl5 itct 15 tcl6 traffic volume(boundary-3) the number of toll collection clerks needed for less traffic volimie than t3 traffic volume(boundary-4) the number of toll collection clerks needed for less traffic volume than t4 traffic volume(boundary-5) the number of toll collection clerks needed for less traffic volume than t5 traffic volume(boundary-6) the nimiber of toll collection clerks needed for less traffic volume than t6 traffic volume(boundary-7) the number of toll collection clerks needed for less traffic volume than t7 traffic volume(boimdary-8) the number of toll collection clerks needed for less traffic volume than t8 traffic volume(boundary-9) the number of toll collection clerks needed for less traffic volume than t9 traffic volume(boundary-lO) the number of toll collection clerks needed for less tiaffic volume than tlO tiaffic volume(boundary-l 1) the number of toll collection clerks needed for less tiaffic volume than tl 1 tiaffic volume(boimdary-12) the number of toll collection clerks needed for less tiaffic volume than tl2 tiaffic volume(boundary-13) the number of toll collection clerks needed for less tiaffic volume than tl3 traffic volimie(boundary-14) the number of toll collection clerks needed for less tiaffic volimie than tl4 tiaffic volume(boundary-15) the number of toll collection clerks needed for less traffic volume than tl5 tiaffic volume(boundary-16) Appendix B: Input Data for Revenue Stream 161 itctl6 tcl7 itctl7 itctlS ptct ptcm ibrcol ibrco2 pobo pho fir the number of toll collection clerks needed for less traffic volimie than tl6 traffic volume(boundary-17) the number of toll collection clerks needed for less traffic volimie than tl7 the number of toll collection clerks needed for more traffic volume than tl7 (consigment costs of toll collection) are (toll collection labor costs) * ptct(parameter) toll collection machine maintenance costs) are (consigment costs of toll collection) * ptcm(parameter) cost parameter of building and repainting expenses etc. cost parameter of building and repainting expenses etc. operation bureau overhead parameter headquarters overhead inflation rate (maintenance and operation costs) Table D.2 Closed System (Distance Proportional Toll Rate) Appendix B: Input Data for Revenue Stream 162 B.3 Open System (Fixed Toll Rate) nAL nP nTG TGL(J) nWC nOL nBR iby ird Fee P(K) ptr(I) ptv(I) traf(l,J,K,L) lb2 IM lb6 lt2 lt4 lt6 le2 le4 le6 Itn Itj Ito Input Data the number of interchanges(IC) the number of vehicle types the number of toll gates locations of toll gates weather classification periodic overlay periodic bridge repaintingr (General Data) start time of the revenue stream revenue stream duration (Data related to Toll Rate) toll rate of ordinary motor vehicle toll ratios compared between ordinary motor vehicle and vehicle type K toll growth rate parameter at year I (Data related to Traffic Volume) traffic volume growth rate parameter at year I traffic volume of vehicle type L between IC #J and #K at the first year (Maintenance Cost) 2 lane bridge length 4 lane bridge length 6 lane bridge length 2 lane tunnel length 4 lane tunnel length 6 lane tunnel length 2 lane earthwork section length 4 lane earthwork section length 6 lane earthwork section length length of tunnel with no ventilation length of tunnel with jet fan length of tunnel with other ventilation deterministic deterministic deterministic deterministic deterministic deterministic deterministic automatically calculated Appendix B: Input Data for Revenue Stream 163 cc2 cc4 cm2 cm4 cm6 ell cl4 cr2 cr4 cr6 q j 2 q34 cp6 ctn ctj cto csh cso co2 co4 co6 pcot Idir Ivdir Ichi leng Iwor t l ital itbl itcl itdl itel t2 ita2 itb2 road cleaning cost (2 lanes) (4 lanes or more) road maintenance cost (2 lanes) (4 lanes) (6 lanes) lighting cost (1 or 2 lanes) (4 or 6 lanes) bridge repair cost (2 lanes) (4 lanes) (6 lanes) bridge paint cost (2 lanes) (4 lanes) (6 lanes) tunnel maintenance cost (no ventilation) turmel maintenance cost (jet fan) tunnel maintenance cost (others) snow and ice control cost (heavy snow area)) (ordinary snow area) overlay cost (2 lanes) (4 lanes) (6 lanes) other maintenance cost parameter (Operation Cost) labor cost of operation office (director) (vice director) (chief) (clerk or engineer) (worker) traffic volume(boxmdary-l) the nimiber of directors needed for less traffic volume than tl the number of vice directors needed the number of chiefs needed the number of clerks and engineers needed the number of workers needed traffic volume(boundary-2) the nimiber of directors needed for less traffic volume than t2 the number of vice directors needed Appendix B: Input Data for Revenue Stream 164 itc2 itd2 ite2 t3 ita3 itb3 itc3 itd3 ite3 t4 ita4 itb4 itc4 itd4 ite4 t5 ita5 itb5 itc5 itd5 ite5 ita6 itb6 itc6 itd6 ite6 Itc tcl itctl tc2 itct2 tc3 itct3 tc4 the number of chiefs needed the number of clerks and engineers needed the number of workers needed traffic volume(boundary-3) the number of directors needed for less traffic volume than t3 the number of vice directors needed the number of chiefs needed the number of clerks and engineers needed the number of workers needed traffic volume(boundary-4) the number of directors needed for less traffic volume than t4 the number of vice directors needed the number of chiefs needed the number of clerks and engineers needed the number of workers needed traffic volume(boimdary-5) the number of directors needed for less traffic volume than t5 the number of vice directors needed the number of chiefs needed the number of clerks and engineers needed the number of workers needed the number of directors needed for more traffic volume than t5 the number of vice directors needed the number of chiefs needed the number of clerks and engineers needed the number of workers needed labor cost of toll collection (clerk) traffic volume(boundary-l) the number of clerks needed for less traffic volume thantl traffic volume(boundary-2) the number of toll collection clerks needed for less traffic volume than t2 traffic volume(boundary-3) the number of toll collection clerks needed for less traffic volume than t3 traffic volume(boundary-4) Appendix B: Input Data for Revenue Stream 165 itct4 tc5 itct5 tc6 itct6 tc7 itct? tc8 itctS tc9 itct9 tclO itctlO tel l itctll tcl2 itctl2 tcl3 itctl3 tcl4 itctl4 tcl5 itctl5 tcl6 itct 16 tcl7 itctl7 the number of toll collection clerks needed for less traffic volimie than t4 traffic volume(boundary-5) the number of toll collection clerks needed for less traffic volimie than t5 traffic volume(boundary-6) the number of toll collection clerks needed for less traffic volume than t6 traffic volume(boundary-7) the number of toll collection clerks needed for less tiaffic volimie than t7 traffic volume(boimdary-8) the nimiber of toll collection clerks needed for less tiaffic volume than t8 traffic volume(boundary-9) the number of toll collection clerks needed for less tiaffic volume than t9 traffic volume(boundary-10) the number of toll collection clerks needed for less tiaffic volume than tlO traffic volume(boundary-l 1) the number of toll collection clerks needed for less tiaffic volume than tl 1 tiaffic volume(boundary-12) the number of toll collection clerks needed for less traffic volume than tl2 traffic volume(boundary-13) the number of toll collection clerks needed for less traffic volume than tl3 traffic volume(boundary-14) the number of toll collection clerks needed for less traffic volume than tl4 tiaffic volume(boundary-15) the number of toll collection clerks needed for less traffic volume than tl5 traffic volume(boundary-16) the number of toll collection clerks needed for less traffic volume than tl6 traffic volume(boundary-17) the number of toll collection clerks needed for less traffic volume than tl7 Appendix B: Input Data for Revenue Stream 166 tcl8 itctlS itctl9 ptct ptcm ibrcol ibrco2 pobo pho fir traffic volume(boundary-18) the number of toll collection clerks needed for less traffic volume than tl8 the number of toll collection clerks needed for more traffic volume than tl8 (consigment costs of toll collection) are (toll collection labor costs) * ptct(parameter) toll collection machine maintenance costs) are (consigment costs of toll collection) * ptcm(parameter) cost parameter of building and repainting expenses etc. cost parameter of building and repainting expenses etc. operation bureau overhead parameter headquarters overhead inflation rate (maintenance and operation costs) Table D.3 Open System (Fixed Toll Rate) Appendix C Interchange Pair Traffic Volume and Traffic Volume and Toll Rate Growth Parameters C.l Interchange Pair Traffic Volume Tables C.l to C.9 shows interchange pair traffic volume for the sample project. They are described by daily traffic volume, and their units are vehicles/day. 167 Appendix C: Traffic Volume and Growth Rates 168 vehicle type-1 (light motor vehicle) I.C . #1 I.e. #2 I.C. #3 I.C. #4 660 I.C. #5 449 756 I.C. #6 1,636 853 2,275 vehicle type-2 (ordinary motor vehic I.C . #1 I.C. #2 le) I.C. #3 I.C. #4 1,400 I.C. #5 1,846 2,892 I.C. #6 4,585 2,660 6,785 vehicle type-3 (medium-sized motor vehicle) I.C . #1 I.C. #2 I.C. #3 I.C. #4 176 I.C. #5 278 187 I.C. #6 723 448 1,099 vehicle type-4 (large-sized motor vehicle) I.C . #1 I.C. #2 I.C. #3 I.C. #4 141 I.C. #5 183 117 I.C. #6 505 346 862 vehicle type-5 (special large-sized motor vehic! I.C . #1 I.C. #2 I.C. #3 e) I.C. #4 12 I.C. #5 39 15 I.C. #6 44 37 85 (total) I.C . #1 : . l : I n t I.C. #2 0 erchang I.C. #3 0 0 B P a i r T I.C. #4 2 ,389 0 0 r r a f f i c I.C. #5 2 ,795 3 ,967 0 0 Volume I.C. #6 7 ,493 4 ,344 11,106 0 0 a t Base Year f o r RVS #1 Appendix C: Traffic Volume and Growth Rates 169 vehicle type-1 (light motor vehicle) I.C . #1 I.e. #2 I.C. #3 7 I.C. #4 333 411 I.C. #5 469 333 610 I.C. #6 1,676 880 955 1,536 vehicle type-2 (ordinary motor vehic I.C . #1 I.C. #2 le) I.C. #3 22 I.C. #4 704 947 I.C. #5 1,923 1,495 2,272 I.C. #6 4,751 2 ,740 3,233 4 ,306 vehicle type-3 (medium-sized motor vehicle) I.C . #1 I.C. #2 I.C. #3 6 I.C. #4 26 156 I.C. #5 306 154 104 I.C. #6 727 461 396 881 vehicle type-4 (large-sized motor vehicle) I.C . #1 I.C. #2 I.C. #3 6 I.C. #4 19 120 I.C. #5 198 96 69 I.C. #6 506 358 304 672 vehicle type-5 (special large-sized motor vehici I.C . #1 I.C. #2 I.C. #3 0 e) I.C. #4 2 10 I.C. #5 43 17 5 I.C. #6 46 39 41 64 (total) I.C . #1 I.C. #2 0 I.C. #3 41 0 I.C. #4 1,084 1,644 0 I.C. #5 2,939 2,095 3,060 0 I.C. #6 7,706 4 ,478 4,929 7,459 0 Table C.2: Interchange Pair Traffic Volume at Base Year for RVS #2. Appendix C: Traffic Volume and Growth Rates 170 vehicle type-1 (light motor vehicle) I.C . #1 I.e. #2 I.C. #3 351 I.C. #4 328 552 I.C. #5 401 269 836 I.C. #6 1,969 983 823 2,086 vehicle type-2 (ordinary motor vehic I.C . #1 I.C. #2 le) I.C. #3 991 I.C. #4 703 1,414 I.C. #5 1,647 1,112 3,269 I.C. #6 5,493 3,084 2,883 6,348 vehicle type-3 (medium-sized motor vehicle) I.C . #1 I.C. #2 I.C. #3 72 I.C. #4 27 192 I.C. #5 270 110 169 I.C. #6 770 490 344 1,138 vehicle type-4 (large-sized motor vehicle) I.C . #1 I.C. #2 I.C. #3 38 I.C. #4 19 152 I.C. #5 173 62 119 I.C. #6 538 382 262 925 vehicle type-5 (special large-sized motor vehici I.C . #1 I.C. #2 I.C. #3 6 e) I.C. #4 2 12 I.C. #5 41 11 13 I.C. #6 51 44 41 86 (total) I.C . #1 I.C. #2 0 I.C. #3 1,458 0 I.C. #4 1,079 2,322 0 I.C. #5 2,532 1,564 4 ,406 0 I.C. #6 8,821 4 ,983 4 ,353 10,583 0 Table C.3: Interchange Pair Traffic Volume at Base Year for RVS #3. Appendix C: Traffic Volume and Growth Rates 171 vehicle type-1 (light motor vehicle) I.C . #1 I.e. #2 I.C. #3 402 I.C. #4 341 562 I.C. #5 402 327 883 I.C. #6 2,144 1,058 810 2 ,234 vehicle type-2 (ordinary motor vehicle) I.C . #1 I.C. #2 I.C. #3 1,128 I.C. #4 727 1,439 I.C. #5 1,651 1,447 3,566 I.C. #6 6 ,008 3,353 2 ,716 6,689 vehicle type-3 (medium-sized motor vehicle) I.C . #1 I.C. #2 I.C. #3 87 I.C. #4 28 195 I.C. #5 277 131 244 I.C. #6 1,344 534 331 1,396 vehicle type-4 (large-sized motor vehicle) I.C . #1 I.C. #2 I.C. #3 44 I.C. #4 19 154 I.C. #5 183 76 175 I.C. #6 923 399 264 1,160 vehicle type-5 (special large-sized motor vehici I.C . #1 I.C. #2 I.C. #3 6 e) I.C. #4 2 13 I.C. #5 41 14 20 I.C. #6 150 59 36 115 (total) I.C . #1 I.C. #2 0 I.C. #3 1,667 0 I.C. #4 1,117 2 ,363 0 I.C. #5 2 ,554 1,995 4 ,888 0 I.C. #6 10,569 5,403 4 ,157 11 ,594 0 Table C.4: Interchange Pair Traffic Volume at Base Year for RVS #4. Appendix C: Traffic Volume and Growth Rates 172 vehicle type-1 (light motor vehicle) I.C . #1 I.e. #2 75 i.e. #3 428 285 I.C. #4 352 486 303 I.C. #5 422 327 424 628 I.C. #6 2,326 743 817 1,597 1,113 vehicle type-2 (ordinary motor vehic I.C . #1 I.C. #2 290 le) I.C. #3 1,181 1,055 I.C. #4 752 1,127 787 I.C. #5 1,745 1,438 1,798 2 ,462 I.C. #6 6,671 2,251 2,736 5,859 2,589 vehicle type-3 (medium-sized motor vehicle) I.C . #1 I.C. #2 38 I.C. #3 112 143 I.C. #4 29 125 163 I.C. #5 292 136 132 123 I.C. #6 1,543 518 277 991 434 vehicle type-4 (large-sized motor vehicle) I.C . #1 I.C. #2 29 I.C. #3 60 90 I.C. #4 20 76 135 I.C. #5 188 78 86 99 I.C. #6 1,076 411 208 815 366 vehicle type-5 (special large-sized motor vehici I.C . #1 I.C. #2 3 I.C. #3 10 11 e) I.C. #4 2 10 11 I.C. #5 43 14 14 6 I.C. #6 169 53 40 85 28 (total) I.C . #1 I.C. #2 435 I.C. #3 1,791 1,584 I.C. #4 1,155 1,824 1,399 I.C. #5 2 ,690 1,993 2,454 3,318 I.C. #6 11,785 3,976 4 ,078 9,347 4 ,530 Table C.5 Interchange Pair Traffic Volume at Base Year for RVS #5. Appendix C: Traffic Volume and Growth Rates 173 vehicle type-1 (light motor vehicle) I.C . #1 I.e. #2 80 I.C. #3 460 302 I.C. #4 376 518 318 I.C. #5 464 446 490 688 I.C. #6 2,529 782 755 1,652 1,164 vehicle type-2 (ordinary motor vehic I.C . #1 I.C. #2 312 le) I.C. #3 1,267 1,134 I.C. #4 802 1,199 832 I.C. #5 1,956 2,128 2 ,124 2,745 I.C. #6 7,235 2,357 2,497 5,996 2,699 vehicle type-3 (medium-sized motor vehicle) I.C . #1 I.C. #2 42 I.C. #3 120 151 I.C. #4 31 135 173 I.C. #5 315 159 148 134 I.C. #6 1,837 557 283 1,032 474 vehicle type-4 (large-sized motor vehicle) I.C . #1 I.C. #2 31 I.C. #3 65 96 I.C. #4 22 84 142 I.C. #5 203 94 97 111 I.C. #6 1,290 443 213 855 393 vehicle type-5 (special large-sized motor vehici I.C . #1 I.C. #2 4 I.C. #3 10 13 e) I.C. #4 2 11 12 I.C. #5 49 15 16 7 I.C. #6 205 61 42 91 28 Table C.6 (total) I.C . #1 I.C. #2 469 i.e. #3 1,922 1,696 I.C. #4 1,233 1,947 1,477 I.C. #5 2,987 2,842 2,875 3,685 I.C. #6 13,096 4 ,200 3,790 9,626 4 ,758 Interchange Pair Traffic Volume at Base Year for RVS #6. Appendix C: Traffic Volume and Growth Rates 1 7 4 vehicle type-1 (light motor vehicle) I.C . #1 I.e. #2 110 I.C. #3 586 437 I.C. #4 437 534 371 I.C. #5 558 482 493 770 I.C. #6 3,528 950 875 1,624 1,419 vehicle type-2 (ordinary motor vehic I.C . #1 I.C. #2 457 le) I.C. #3 1,627 1,706 I.C. #4 922 1,241 960 I.C. #5 2,205 2 ,215 1,915 3,081 I.C. #6 10,366 3,690 2 ,946 6,216 3,583 vehicle type-3 (medium-sized motor vehicle) I.C . #1 I.C. #2 50 I.C. #3 141 91 I.C. #4 34 146 189 I.C. #5 309 217 83 83 I.C. #6 2,286 774 354 953 722 vehicle type-4 (large-sized motor vehicle) I.C . #1 I.C. #2 38 I.C. #3 93 130 I.C. #4 24 97 156 I.C. #5 201 136 45 68 I.C. #6 1,677 599 289 785 634 vehicle type-5 (special large-sized motor vehic! I.C . #1 I.C. #2 6 I.C. #3 14 19 e) I.C. #4 5 12 13 I.C. #5 47 24 12 3 I.C. #6 266 111 39 91 50 T a b l e (total) I.C . #1 C . 7 : I n t I.C. #2 661 erchang( I.C. #3 2,461 2 ,383 3 P a i r T I.C. #4 1,422 2,030 1,689 r ra f f ic I.C. #5 3,320 3 ,074 2 ,548 4 ,005 Volume I.C. #6 18 ,123 6,124 4 ,503 9,669 6 ,408 at Base Y e a r f o r RVS # 7 Appendix C: Traffic Volume and Growth Rates 175 vehicle type-1 (light motor vehicle) I.C . #1 I.e. #2 195 I.C. #3 617 829 I.C. #4 497 602 402 I.C. #5 636 542 538 1,114 I.C. #6 4 ,002 980 1,009 1,580 2,177 vehicle type-2 (ordinary motor vehic I.C . #1 I.C. #2 908 le) I.C. #3 1,656 3,315 I.C. #4 1,051 1,386 1,093 I.C. #5 2,496 2,497 2,052 4 ,944 I.C. #6 11,532 3,815 3,448 5,858 7,146 vehicle type-3 (medium-sized motor vehicle) I.C . #1 I.C. #2 1 19 I.C. #3 155 346 I.C. #4 40 156 196 I.C. #5 350 239 98 387 I.C. #6 2,063 759 420 744 3,667 vehicle type-4 (large-sized motor vehicle) I.C . #1 I.C. #2 88 I.C. #3 90 267 I.C. #4 28 93 169 I.C. #5 229 147 51 309 I.C. #6 1,491 603 324 608 3,194 vehicle type-5 (special large-sized motor vehici I.C . #1 I.C. #2 10 I.C. #3 16 35 e) I.C. #4 5 14 17 I.C. #5 55 31 14 39 I.C. #6 239 107 55 71 371 (total) I.C . #1 I.C. #2 1,320 I.C. #3 2 ,534 4 ,792 I.C. #4 1,621 2,251 1,877 I.C. #5 3,766 3,456 2 ,753 6,793 I.C. #6 19,327 6,264 5,256 8,861 16,555 Table C.8: Interchange Pair Traffic Volume at Base Year for RVS #8. Appendix C: Traffic Volume and Growth Rates 176 vehicle type-1 (light motor vehicle) I.C . #1 I.e. #2 219 I.C. #3 705 967 I.C. #4 560 679 441 I.C. #5 709 572 601 1,193 I.C. #6 4,443 1,075 1,109 1,732 2,287 vehicle type-2 (ordinary motor vehic I.C . #1 I.C. #2 1,035 le) I.C. #3 1,888 3,846 I.C. #4 1,183 1,559 1,200 I.C. #5 2,768 2,657 2,339 5,290 I.C. #6 12,614 4,194 3,811 6,322 7,364 vehicle type-3 (medium-sized motor vehicle) I.C . #1 I.C. #2 146 I.C. #3 177 460 I.C. #4 44 176 215 I.C. #5 387 214 105 314 I.C. #6 2,319 826 464 803 3,562 vehicle type-4 (large-sized motor vehicle) I.C . #1 I.C. #2 106 I.C. #3 104 357 I.C. #4 32 1,208 188 I.C. #5 256 125 58 264 I.C. #6 1,684 659 365 664 3,143 vehicle type-5 (special large-sized motor vehici I.C . #1 I.C. #2 15 I.C. #3 17 46 e) I.C. #4 6 15 20 I.C. #5 61 31 17 27 I.C. #6 276 1 14 62 79 385 Table C.9: (total) I.C . #1 I.C. #2 1,521 I.C. #3 2,891 5,676 I.C. #4 1,825 3,637 2,064 I.C. #5 4,181 3,599 3,120 7,088 I.C. #6 21,336 6,868 5,811 9,600 16,741 Interchange Pair Traffic Volume at Base Year for RVS #9. Appendix C: Traffic Volume and Growth Rates 111 C.2 Traffic Volume Growth Parameters Table C.IO shows traffic volume growth parameters used for deterministic feasibility analysis. RVS # 1 2 3 4 5 6 7 8 9 Year in RVS 1 1 1 1 1 2 1 2 1 2 3 4 1 2 3 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Parameter 559 567 574 582 590 597 605 618 630 643 655 668 681 693 706 718 731 741 751 761 770 780 790 800 810 820 830 840 849 859 Table C.IO Traffic Volume Growth Parameters Appendix C: Traffic Volume and Growth Rates 1 7 8 C.3 Toll Rate Growth Parameters Table C.ll shows toll rate growth parameters used for deterministic feasibility analysis. RVS # 1 2 3 4 5 6 7 8 9 Year in RVS 1 1 1 1 1 2 1 2 1 2 3 4 1 2 3 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Parameter 1.0000 1.0000 1.0000 1.0404 1.0404 1.0404 1.1041 1.1041 1.1041 1 . 1717 1.1717 1.1717 1.2434 1 .2434 1.2434 1.3195 1.3195 1.3195 1.4002 1.4002 1.4002 1.4859 1.4859 1.4859 1.5769 1.5769 1.5769 1.6734 1.6734 1.6734 Table C.ll Toll Rate Growth Parameters Appendix D Source Code of the Model Appendix D shows source code of the model 179 Appendix D: Source Code of the Model 1 8 0 Main Program WPDURA EAST WPCOST REVSTR PRJCST PRJREV PRJNPV PRJIRR VARBLE TRANS - WPDFF MMTWPL COVAR NETWRK VARBLE TRANS - WPCMMT WPCFF COVAR VARBLE TRANS - RVSMMT RVSFF COVAR TANSP TANSP WPCMMT TANSP RVSMMT CDFUNC INV DECOMP DGMULT EARLY CDFUNC ESTMMT INV DECOMP DGMULT WPCFF MMTWPL INV DECOMP DGMULT RVSFF — MMTWPL RVSF11-13 INV DECOMP DGMULT INV DECOMP DGMULT WPCFF MMTWPL INV DECOMP DGMULT RVSFF • MMTWPL INTPOL TANSP INPOL INV DECOMP DGMULT RVSF11 -13 RVSF11 -13 Figure D.l Program Structure Appendix D: Source Code of the Model 181 main program sub-routine AMMA WPDURA EAST WPCOST REVSTR PRJCST PRJREV PRJNPV PRJIRR CDFUNC INTPOL VARBLE TRANS TANSP WPDFF WPCMMT evaluate the first four moments of the work package duration. evaluate the first four moments of the early start time of work packages. obtain the calendar month of the early start time. evaluate the first four moments of the work package cost. evaluate the first four moments of the net revenue stream. approximate the first four moments of the project cost at the MARR. approximate the first four moments of the project revenue at the MARR. approximate the first four moments of the project NPV at the MARR. approximate the cumulative distribution function and the first four moments of the project IRR. obtain values of cumulative distribution function of a dependent variable approximated by a pearson typed distribution. interpolate the betal and beta2 values of the pearson table by a method of linear interpolation. approximate a variable to a pearson type distribution by using five percentile estimates. transform a set of correlated variables to a set of uncorrelated variables. transform correlated work package costs/revenue streams to uncorrelated work package costs/revenue. check the type of functional form for work package duration. estimate the function at the mean values of the transformed variables. evaluate the first four moments of the work package cost for different discount rates. Appendix D: Source Code of the Model 182 RVSMMT WPCFF RVSFF MMTWPL COVAR NETWRK EARLY ESTMMT INV DECOMP DGMULT RVSFl l - 13 SPARSE FOOl TRACE evaluate the first four moments of the revenue streams for different discount rates. check the type of functional form for work package cost. estimate the function at the mean values of the transformed variables. check the type of functional form for revenue streams. estimate the function at the mean values of the transformed variables. approximate the first four moments of a dependent variables at work package/revenue stream level (by Taylor series). approximate the correlation between two dependent variables by using information between the primary variables and their partial derivatives. evaluate the first four moments of work package early start time (by PNET). evaluate the first four moments of a path early start time by uncorrelating the work package durations. approximate the first four moments for early start time (if PNET is used). invert a matrix decompose A to A=L*Ltranspose (by Choleski method). calculate matrix * matrix e.g. transformation matrix (L"^xD"^) the functional forms for revenue streams for toll highway projects save huge arrays that contain mainly zero. called by "RVSF12" trace the procedure Table D.l Program List Appendix D: Source Code of the Model 183 C Amma.FOR C modified by Toshiaki Hatakama in July 1994 in order to adjust C the program to toll highway projects that require a lot of primary C variables (e.g. 200) for revenue streams. C However, this program limits the number of primary variables to 300 C due to memory capacity. C For example, if the number of interchanges is 6, the number of C vehicle types is 5, toll collection system is closed system (fixed C toll rates) , and a revenue stream duration is 14 years, the number C of primary variables of the revenue stream is 297. This is almost C the limit. If you have big enough RAM, you can increase this C number. C AMMA is capable of dealing with correlations between variables. C However, due to memory capacity, correlation coefficients for C revenue streams are automatically calculated as zero. In other C words, work package duration and cost input files should include C correlation coefficients, but revenue stream input file does not C include them. C In addition, save memory spaces, subroutine SPARSE is used. Most C correlation coefficients are often zero. SPARSE can save these C spaces. See source code. C Common blocks in the original program (written in 1990) are C replaced by Dummy Arguments. C This program requires 2.5, 5.0, 50.0, 95.0, and 97.5 percentile C estimates (note : not 5.0, 25.0, 50.0, 75.0, 95,0). C Step functions are used for operation cost estimates, there is a C problem when partial derivatives are calculated. Even small C changes in some primary variables may cause big differences because C their ranks sometimes change. See operation cost estimates in C RVSFll, 12, and 13.inc for reference. Therefore, AMMA uses a trick C to deal with this, namely, parameters KT and KP. See REVSTR, C RVSMMT, and RVSFll, 12, and 13.inc. PROGRAM AMMA IMPLICIT REAL*4 (A-H,0-Z) CHARACTER*64 FNAME C if you have 16M or more Ram, choose "enough" = 1 C if not, choose any number but 1. $DEFINE enough = 0 Appendix D: Source Code of the Model 184 REAL*4 PEARSN (:,:) ALLOCATABLE PEARSN REAL*4 WPTIME (:,:), CORRD {:,:), ESTART (:,:) INTEGER IWPC (:), NWPCF (:), NDVR (:) INTEGER NRVSF (:), NDRV (:) REAL*4 XUCOST (:,:,:), TRIWPC (:,:,:), COST (:,:), CORRC (:,:) REAL*4 BOTTLE (:,:), XUREV (:,:,:), REV (:,:), CORRR (:,:) $IF enough .EQ. 1 REAL*4 TRIRVS (:,:,:) $ELSE REAL*4 TRIRVS (:) $ENDIF REAL*4 PCOST (4), PREV (4) ALLOCATABLE WPTIME, CORRD, ESTART ALLOCATABLE IWPC, NWPCF, NDVR, NRVSF, NDRV, BOTTLE ALLOCATABLE XUCOST, TRIWPC, COST, CORRC ALLOCATABLE XUREV, TRIRVS, REV, CORRR INCLUDE 'DEBUG.CMN' CALL TRACE (1, "MAIN", 'Amma 2.0 begins execution.') C get certain parameters from a startup file, such as OPEN (UNIT=1, FILE='AMMA.INI•, STATUS='UNKNOWN') READ (1, *) NPEARS ! the size of the pearson table (always ! 2655) READ (1, •) MAXDVC ! max # of variables for COST (-25) READ (1, *) MAXDVR ! max # Of variables for REVENUE (-3 00) READ (1, *) IDEBUG ! 0=silent, l=enter/exit, 2=more... CLOSE {UNIT=1) C Read in the Pearson Distribution Definition and store in an array. C the pearson table should REALLY be (17,NPEARS). C that way, you don't have to refer to NPEARS all the time. ALLOCATE (PEARSN (NPEARS, 17)) OPEN (UNIT=1, FILE='PEARSON', STATUS='UNKNOWN') DO 10 1=1,2655 10 READ (1,9901) (PEARSN(I,J), J=l,17) CLOSE (UNIT=1) C Get all the input file names from the Pipe between Terq and AMMA C fName is read into as many times as is required to get at the C actual data (the program 'comments' the parameters... OPEN (UNIT=90, FILE='TERQAMMA.PIP', STATUS='UNKNOWN') READ (90,*) fName Appendix D: Source Code of the Model 185 READ (90,*) fName READ (90,*) fName READ (90,*) fName READ (90,*) fName ! LR filename, usually 'tTerq.LR' OPEN (UNIT=10, FILE=fName, STATUS='UNKNOWN' ) READ (90,*) fName READ (90,*) fName ! D filename, usually 'tTerg.D' OPEN (UNIT=11, FILE=fname, STATUS='UNKNOWN' ) READ (90,*) fName READ (90,*) fName ! C filename, usually 'tTerg.C OPEN (UNIT=12, PILE=fName, STATUS='UNKNOWN' ) READ (90,*) fName READ (90,*) fName ! R filename, usually 'tTerq.R' OPEN (UNIT=13, FILE=fName, STATUS='UNKNOWN' ) READ (90,*) fName READ (90,*) fName ! Output filename, usually 'tTerq.OUT' OPEN {UNIT=7, FILE=fName, STATUS='UNKNOWN' ) CALL TRACE (1, 'MAIN', fName) CLOSE (UNIT=90) C EXCEL.CSV is a 'Comma Separated Value' file for EXCEL to play C with... C This file is used to draw cumulative probability distributions. OPEN (UNIT=20, FILE='AMMA.CSV, STATUS='UNKNOWN') READ (11, 9902) + NWP ! number of Work Packages, inc. start/fin. ALLOCATE (WPTIME (4, NWP)) ALLOCATE (CORRD (NWP, NWP)) C set the global error variable to 0. C if there is a problem, this gets set to something other than 0, C and the program jumps to the STOP statement. lERR = 0 CALL TRACE (1, 'MAIN', 'calling Work Package DURAtion.') CALL WPDURA (PEARSN, WPTIME, CORRD) C READ from unit 11 (correlation of primary variables) C CALLS VARBLE, TRANS, WPDFF, MMTWPL & COVAR (the reader!) IF (0 < lERR) THEN CALL TRACE (1, 'MAIN', 'WPDURA Set lERR, exiting.') GO TO 10 00 ENDIF ALLOCATE (ESTART (4, NWP)) Appendix D: Source Code of the Model 18 6 CALL TRACE (1, 'MAIN', 'calling EArly STart.') CALL EAST (PEARSN, WPTIME, CORRD, ESTART) C READ from unit 10, just one line with system parameters C CALLS NETWRK, which CALLS EARLY, CDFUNC & ESTMMT IF (0 < lERR) THEN CALL TRACE (1, 'MAIN', 'EAST set lERR, exiting.') GO TO 1000 END IF READ (12, 9 903) + DR, ! minimum attractive rate of return + FRA ! equity fraction READ (13, 9904) + NRS ! the number of revenue streams ALLOCATE (IWPC (NWP)) ALLOCATE (NWPCF (NWP)) ALLOCATE (NDVR (NWP)) ALLOCATE (XUCOST (4, NWP, MAXDVC)) ALLOCATE (TRIWPC (NWP, NWP, NWP)) ALLOCATE (COST (4, NWP)) ALLOCATE (CORRC (NWP, NWP)) CALL TRACE (1, 'MAIN', 'calling Work Package COST.') CALL WPCOST (DR, FRA, + PEARSN, + WPTIME, + ESTART, + IWPC, NWPCF, NDVR, + COST, + XUCOST, TRIWPC, + CORRC) C READ from unit 12, alot of work package stuff C CALLS VARBLE, TRANS, WPCMMT, WPCFF & COVAR (the reader!) IF (0 < lERR) THEN CALL TRACE (1, 'MAIN', 'WPCOST set lERR, exiting.') GO TO 1000 ENDIF ALLOCATE (NRVSF (NRS)) ALLOCATE (NDRV (NRS)) ALLOCATE (XUREV (4, NRS, MAXDVR)) C this is a sparse array, so go figure... $IF enough .EQ. 1 ALLOCATE (TRIRVS (NRS, MAXDVR, MAXDVR)) $ELSE NSIZ = (MAXDVR * 3 * NRS) + 6 NSIZ = 10002 ! and this is an optimal patch for the time being... ALLOCATE (TRIRVS (NSIZ)) CALL SPA_INIT3 (TRIRVS, NSIZ, NRS, MAXDVR, MAXDVR) $ENDIF Appendix D: Source Code of the Model 18 7 ALLOCATE (REV (4, NRS)) ALLOCATE (CORRR (NRS,NRS)) ALLOCATE (BOTTLE (NRS, 30)) CALL TRACE (1, 'MAIN', 'calling REVenue STReam.') CALL REVSTR (PEARSN, + DR, + WPTIME, + ESTART, + NRVSP, NDRV, + XUREV, TRIRVS, + REV, CORRR, + BOTTLE) C READ from unit 13, tons of data into NRVSF, etc. C CALLS VARBLE, TRANS, RVSMMT, RVSFF & COVAR IF (0 < lERR) THEN CALL TRACE (1, 'MAIN', 'REVSTR set lERR, exiting.') GO TO 1000 END IF DEALLOCATE (WPTIME, CORRD) DEALLOCATE (ESTART) C THE PROJECT PERFORMANCE LEVEL CALL TRACE (1, 'MAIN', 'calling PRoJect CoST.') CALL PRJCST (DR, + COST, + CORRC, + PCOST) C CALLS TANSP CALL TRACE (1, 'MAIN', 'calling PRoJect REVenue.') CALL PRJREV (DR, c + + + REV, CORRR, PREV) CALLS TANSP C if (constant, current or total dollars = 0), then we're done. IF (DR == O.ODO) THEN CALL TRACE (1, 'MAIN', 'minumum attractive rate=0, + exiting . ') GO TO 1000 END IF C THE PROJECT DECISION LEVEL CALL TRACE (1, 'MAIN', 'calling PRoJect Net Present Value.') Appendix D: Source Code of the Model 18 8 CALL PRJNPV (DR, + PCOST, + PREV) C If you are trying to run a huge toll highway project, stop here. C You need to modify the program to IRR, because it may take 20 C minutes per discount rate. CALL TRACE (1, 'MAIN', 'calling PRoJect Internal Rate of + Return!•) CALL PRJIRR (PEARSN,FRA, + IWPC, NWPCF, NDVR, + CORRC, TRIWPC, + XUCOST, COST, + NRVSF, NDRV, + CORRR, TRIRVS, + XUREV, REV, + BOTTLE) C CALLS WPCMMT, TANSP, RVSMMT, CDFUNC DEALLOCATE (IWPC, NWPCF, NDVR, NRVSP, NDRV) DEALLOCATE (CORRC, XUCOST, COST) DEALLOCATE (CORRR, XUREV, REV) DEALLOCATE (BOTTLE) CALL TRACE (1, 'MAIN', 'that•'S all, folks!') 1000 STOP 9 90 CALL TRACE (1, 'MAIN', 'damn.') GOTO 1000 9901 FORMAT (8F8.4,7F7 . 4,2F4.1) 9902 FORMAT (13) 9903 FORMAT (2F8.3) 9904 FORMAT (13) END INCLUDE 'TRACE.MJW' INCLUDE 'ANSI.MJW' $IF enough .NE. 1 INCLUDE 'SPARSE.MJW' $ENDIF Appendix D: Source Code of the Model C WpDura.FOR C modified by Toshlaki Hatakama in July, 1994. C THE ROUTINE TO EVALUATE THE FIRST FOUR MOMENTS OF THE WORK C PACKAGE DURATION BY APPLYING THE FRAMEWORK 189 SUBROUTINE WPDURA (PEARSN, + WPTIME,CORRD) IMPLICIT REAL*4(A-H,0-Z) INCLUDE 'DEBUG.CMN" REAL*4 PEARSN (2655, 17) REAL*4 WPTIME (4, * ) , CORRD (NWP, *) INTEGER IWPD{:),NWPDF{:),NDVR{:) ALLOCATABLE IWPD,NWPDF,NDVR REAL*4 PRCEST(:,:) REAL*4 CALC(:,:) ALLOCATABLE PRCEST,CALC REAL*4 X{:),Z(:),SZ(:),GZS{:),GZL{:) REAL*4 XWPD (:,:,:), ZWPD(:,:,:) ALLOCATABLE X, Z , SZ , GZS,GZL,XWPD,ZWPD REAL*4 WPDCO(:,:,:), PWPDl(:), PWPD2{:), PWPDX(:,:) REAL*4 TRIWPD{:,:), STFO(:) ALLOCATABLE WPDCO,PWPDl,PWPD2,PWPDX,TRIWPD, STFO CALL TRACE (2, 'WPDURA', 'starting.') ALLOCATE (IWPD(NWP)) ALLOCATE (NWPDF(NWP)) ALLOCATE (NDVR(NWP)) ALLOCATE (PRCEST(5,NWP)) ALLOCATE (CALC(4,NWP)) ALLOCATE (X(MAXDVC)) ALLOCATE (Z(MAXDVC)) ALLOCATE (SZ(MAXDVC)) ALLOCATE (GZS(MAXDVC)) ALLOCATE (GZL(MAXDVC)) ALLOCATE (XWPD(4,NWP,MAXDVC)) ALLOCATE (ZWPD(4,NWP,MAXDVC)) ALLOCATE (WPDCO(NWP,MAXDVC,MAXDVC)) ALLOCATE (PWPDl(MAXDVC)) ALLOCATE (PWPD2(MAXDVC)) ALLOCATE (PWPDX(NWP,MAXDVC)) ALLOCATE (TRIWPD (MAXDVC, MAXDVC)) ALLOCATE (STFO(NWP)) C initialize the first four moments of the start work package Appendix D: Source Code of the Model 190 DO 2 K=l,4 2 WPTIME(K,1) = O.DO C basic data about the work packages DO 15 0 INWP=2,NWP C type of work package duration : holistic or decomposed C IWPD(I) = 1, detailed estimate C IWPDd) = 2, holistic C IWPD(I) = 3, ??? C IWPD(I) = 4, direct input READ(11,10)IWPD(XNWP) 10 FORMAT (12) SELECT CASE (IWPD(INWP)) C detailed estimate CASE (1) C NWPDF(I) = type of functional form C NDVR(I) = number of discrete primary variables READ (11,20) NWPDF(INWP), NDVR(INWP) 2 0 FORMAT(12,13) C approximate the primary variables in the functional forms C for work package durations to pearson type distributions C to obtain the first four moments for them. C NNVR = number of primary variables... C why are we getting an array dimension from something we just C read in that is specific to only one data set? something funny C is going on here. NNVR = NDVR(INWP) IF (NNVR .GT. MAXDVC) THEN CALL TRACE (1, 'WPDURA' , 'MAXDVC exceeded.') lERR = 1 GOTO 1000 ENDIF DO 5 0 JPV=1,NNVR C subjective estimates for each variable in the C functional form for the work package duration. READ (11, 8001) A,B,C,D,E CALL VARBLE (PEARSN, A,B,C,D,E, C1,C2,C3,C4) IF (lERR .EQ. 1) GOTO 9001 XWPD (1, INWP, JPV) = CI XWPD (2, INWP, JPV) = C2 XWPD (3, INWP, JPV) = C3 XWPD (4, INWP, JPV) = C4 Appendix D: Source Code of the Model 191 5 0 CONTINUE C correlation coefficients between the primary variables in C the work package, correlation matrix is positive definite. DO 9 0 JPV = 1,NNVR JPVl = JPV+1 IF (JPVl.LE.NNVR) THEN READ(11,70) (WPDCOdNWP, JPV,K) , K = JPVl, NNVR) 70 FORMAT{2 0F6.2) DO 8 0 K=JPVl,NNVR 80 WPDCO(INWP,K,JPV) = WPDCO(INWP,JPV,K) ENDIF 90 CONTINUE C calculate the first four moments for a WP duration when C the duration is estimated holistically. C why are there TWO ways to do this??? CASE (2,3) JPV = 1 READ (11, 8001) A,B,C,D,E CALL VARBLE (PEARSN, A,B,C,D,E, C1,C2,C3,C4) IF (lERR .EQ. 1) GOTO 9002 WPTIME (1, INWP) = CI WPTIME (2, INWP) = C2 WPTIME (3, INWP) = C3 WPTIME (4, INWP) = C4 C moments of the work package durations are entered directly CASE (4) READ(11,12 5) (WPTIME(K,INWP),K=1,4) 125 FORMAT(4F25.6) END SELECT 15 0 CONTINUE C correlation between work package durations? C looks to me like defining some zeros in the matrix. C making the matrix triangular? NWPMl = NWP-1 DO 170 INWP=2,NWPMl INWPl = INWP+1 IF (INWPl .LE. NWPMl) THEN DO 160 J = INWPl, NWPMl CORRD (INWP,J) = O.ODO 160 CORRD (J,INWP) = O.ODO ENDIF 17 0 CONTINUE Appendix D: Source Code of the Model 192 C WHEN DURATIONS ARE ESTIMATED WHOLISTICALLY OR FROM MOMENTS. DO 2 00 INWP=2,NWPM1 IF (IWPD(INWP).6E.2) THEN INWPl = INWP+1 IF (INWPl .LE, NWPMl) THEN DO 190 J=INWP1,NWPMl IF (IWPD(J).GE.2) THEN READ (11, 18 0) CORRDdNWP, J) 180 FORMAT(FS.2) CORRD(J, INWP) = CORRDdNWP, J) ENDIF 190 CONTINUE ENDIF ENDIF 2 00 CONTINUE C THE FIRST FOUR MOMENTS OF THE WORK PACKAGE DURATION WHEN THE C DURATION IS ESTIMATED FROM A DECOMPOSITION. DO 300 INWP=2,NWP C WHEN WORK PACKAGE DURATIONS ARE ESTIMATED WHOLISTICALLY C OR FOR THE WORK PACKAGES TO PHASE PROJECTS WITH A TIME C LAG OR FOR THE FINISH WORK PACKAGE. IF (IWPD(INWP).EQ.l) THEN C TRANSFORM CORRELATED VARIABLES TO UNCORRELATED VARIABLES. C ONLY THE LINEAR CORRELATION IS CONSIDERED. NNVR = NDVR (INWP) CALL TRANS (INWP,NNVR,NWP,MAXDVC, + XWPD,ZWPD,WPDCO,TRIWPD) IF (0 < lERR) GO TO 1000 C ESTIMATE G(Z) FROM THE g(X) GIVEN BY THE USER AT THE MEAN C VALUES OF Z (THE TRANSFORMED VARIABLES) AND THE PARTIAL C DERATIVES WITH RESPECT TO THE TRANSFORMED VARIABLES. DO 210 JPV=1,NNVR 210 Z(JPV) = ZWPD(1,INWP,JPV) DO 22 0 JPV=1,NNVR X(JPV) = O.ODO DO 22 0 KSV=1,NNVR 220 X(JPV) = X(JPV) + TRIWPD(JPV,KSV) * Z(KSV) C THE VALUE OF G(Z) AT THE MEAN VALUES OF Z CALL WPDFF(NWPDF (INWP), X, GZ) C THE PARTIAL DERAVATIVES OF THE TRANSFORMED VARIABLES C JPV Is the primary variable index Appendix D: Source Code of the Model 193 C KSV is the secondary variable index C KTV is the tertiary (third) variable index... C i think.... DO 2 90 JPV=1,NNVR Z(JPV) = ZWPDd, INWP, JPV) * 0.9 9D0 SZ(JPV) = ZWPDd, INWP, JPV) * O.OIDO DO 240 KSV=1,NNVR X{KSV) = O.ODO DO 24 0 LTV=1,NNVR 240 X(KSV) = X(KSV) + TRIWPD(KSV,LTV) * Z(LTV) C THE VALUE FOR G(Z) WHEN Z(J) IS LESS THAN THE MEAN VALUE C (NEGATIVE INCREMENT) CALL WPDFF(NWPDF (INWP), X, GZS (JPV)) Z(JPV) = ZWPDd, INWP, JPV) * I.OIDO DO 2 60 KSV=1,NNVR X(KSV) = O.ODO DO 2 60 LTV=1,NNVR X(KSV) = X(KSV) + TRIWPD(KSV,LTV) * Z(LTV) 2 60 CONTINUE C THE VALUE FOR G(Z) WHEN Z(J) IS MORE THAN THE MEAN VALUE C (POSITIVE INCREMENT) CALL WPDFF(NWPDF (INWP), X, GZL(JPV)) C 1st & 2nd partial derivatives wrt Z(J) PWPDl(JPV) = (GZL(JPV) - GZS(JPV)) / (2.0D0 * SZ(JPV)) PWPD2(JPV) = (GZL(JPV) + GZS(JPV) - 2.0D0 * GZ) + / (SZ(JPV)**2) Z(JPV) = ZWPD(1,INWP,JPV) 2 90 CONTINUE C the first four moments for the work package duration CALL MMTWPL (INWP,NNVR, + NWP,ZWPD, + GZ,PWPD1,PWPD2, + WPTIME,STFO(INWP)) END IF 3 00 CONTINUE C APPROXIMATE THE CORRELATION BETWEEN THE WORK PACKAGES FOR C MOMENT APPROXIMATIONS AT THE PROJECT LEVEL. C ESTIMATE g(X) GIVEN BY THE USER AT MEAN OF X AND THE FIRST C PARTIAL DERAVATIVE WITH RESPECT TO THE CORRELATED VARIABLES. NWPMl = NWP-1 Appendix D: Source Code of the Model 194 DO 350 INWP=2,NWPM1 IF (IWPD(INWP),EQ.l) THEN NNVR = NDVR(INWP) C as kludgy as this may seem, WPDFF can potentially make C a reference to ALL elements of X.... DO 33 0 JPV=1,NNVR 330 X(JPV) = XWPD(1,INWP,JPV) C THE FIRST PARTIAL DERAVATIVE OF THE CORRELATED VARIABLES DO 340 JPV=1,NNVR X(JPV) = XWPD(1,INWP,JPV) • 0.99D0 SZ(JPV) = XWPD(1,INWP,JPV) * O.OIDO C THE VALUE FOR g(X) WHEN X(J) IS LESS THAN THE MEAN VALUE C (NEGATIVE INCREMENT) CALL WPDFF (NWPDF (INWP), X, GZS (JPV)) X(JPV) = XWPD(1,INWP,JPV) * 1.0IDO C THE VALUE FOR g(X) WHEN X(J) IS MORE THAN THE MEAN VALUE C (POSITIVE INCREMENT) CALL WPDFF(NWPDF (INWP), X, GZL (JPV)) C THE FIRST PARTIAL DERAVATIVE WITH RESPECT TO Z(J) PWPDX(INWP,JPV) = (GZL(JPV) - GZS(JPV)) / + (2.0D0 * SZ(JPV)) X(JPV) = XWPD(1,INWP,JPV) 340 CONTINUE ENDIF 350 CONTINUE C ESTIMATE THE CORRELATION BETWEEN TWO WORK PACKAGE DURATIONS JU = 11 NN = NWP-1 DO 380 INWP=2,NN IF (IWPD(INWP) .EQ. 1) THEN NI = NDVR(INWP) INWPl = INWP+1 IF (INWPl .LE. NN) THEN DO 370 JWP=INWP1,NN IF (IWPD{JWP) .EQ. 1) THEN NJ = NDVR(JWP) C MJW moved this read out of COVAR, C 'cause why make the call if you do NADA? ("Nothing") READ (JU, *) NDCV IF (NDCV == 0) THEN CORRD (INWP, JWP) = O.ODO Appendix D: Source Code of the Model 19 5 CORRD (JWP, INWP) = O.ODO ELSE CALL COVAR(JU, NDCV, INWP,JWP,NI,NJ, + PWPDX, + XWPD, + WPDCO, + STFO(INWP),STFO(JWP), + CORRD) ENDIF ENDIF 370 CONTINUE ENDIF ENDIF 3 80 CONTINUE 1000 DEALLOCATE (IWPD, NWPDF, NDVR) DEALLOCATE (PRCEST, CALC) DEALLOCATE (X, Z, SZ, GZS, GZL) DEALLOCATE (XWPD, ZWPD) DEALLOCATE (WPDCO) DEALLOCATE (PWPDl, PWPD2, PWPDX) DEALLOCATE (TRIWPD,STFO) CALL TRACE (2, 'WPDURA', 'exiting.') RETURN 8001 FORMAT(5F20.4) 9001 WRITE (7, 9 9 01) INWP, JPV 9901 FORMAT (/,'WP#(',13,') var(',I2,') != Pearson Type.',/) GOTO 100 0 9002 WRITE (7, 9902) INWP 9902 FORMAT (/,'WP#(',13,').Duration != Pearson Dist.',/) GOTO 1000 END Appendix D: Source Code of the Model 19 6 C East.FOR C modified by Toshiaki Hatakama in July, 1994. C ROUTINE TO EVALUATE THE FIRST FOUR MOMENTS OF THE EARLY START C TIME OF WORK PACKAGES USING A PRECEDENCE NETWORK AND OBTAIN C THE CALENDAR MONTH OF THE EARLY START TIME. C = C = SUBROUTINE EAST (PEARSN, WPTIME, CORRD, ESTART) IMPLICIT REAL*4(A-H,0-Z) INCLUDE •DEBUG.CMN' REAL*4 PEARSN (NPEARS, *) REAL*4 WPTIME (4, * ) , CORRD (NWP, *) REAL*4 ESTART (4, *) CHARACTER*3 LM (:) INTEGER LY (:) REAL*4 SDET{:), SKET(:), AKET(:), AMEET(:) ALLOCATABLE LM, LY, SDET, SKET, AKET, AMEET C this is ment to ease the burden of calculating some of the days. C the last index is 1=7 day ww, 2=6 day ww, 3=5 day ww. INTEGER DAYS (13, 3) CHARACTER*3 MONTHS (12) DATA DAYS/ + 0,22,42,64, 86,108,130,151,173,195,217,239,261, ! 5 day week + 0,27,51,77,103,130,156,182,209,235,261,287,313, ! 6 day week + 0,31,59,90,120,151,181,212,243,273,304,334,365/ ! 7 day week DATA MONTHS/ + •JAN',•FEB',•MAR',•APR','MAY','JUN', + 'JUL•,•AUG•,•SEP',•OCT',•NOV',•DEC'/ C START AND FINISH DATES IN CALENDAR TIME AND THE TIME UNIT C IDS = day start C IMS = month start C lYS = year start C IDF = day finish C IMF = month finish C lYF = year finish C NUNT = time unit (l=day, 2=month, 3=year) C NWW = (5,6,7) = number of days in work week. CALL TRACE (2, 'EAST', 'starting.') ALLOCATE (LM (NWP), LY (NWP)) ALLOCATE (SDET (NWP), SKET (NWP), AKET (NWP), AMEET (NWP)) READ (10, 9910) IDS, IMS, lYS, IDF, IMF, lYF, NUNT, NWW IF (NWW < 5 .OR. 7 < NWW) THEN lERR = 1 WRITE (7, 9901) Appendix D: Source Code of the Model 197 GO TO 1000 ENDIF IP (lYS == 0) THEN SDATE = O.ODO GO TO 400 ENDIF IWW = NWW - 4 lYB = 1988 ICHS = lYS - lYB ND = ICHS * DAYS (13, IWW) NDS = ND + IDS + DAYS (IMS, IWW) IF (0 < ICHS) GO TO 180 IF (IMS < 3) GO TO 200 180 NDS = NDS + 1 JS = IFIX (ICHS / 4.) IF (2 < IMS) GO TO 190 NDS = NDS + JS - 1 GO TO 2 00 190 NDS = NDS + JS 200 SELECT CASE (NUNT) CASE (1) SDATE = FLOAT (NDS) CASE (2) SDATE = FLOAT (NDS) / 30.4167D0 CASE (3) SDATE = FLOAT (NDS) / 365.ODO END SELECT IF (lYF == 0) GO TO 400 ICHF = lYF - lYB NF = ICHF * DAYS (13, IWW) NDF = NF + IDF + DAYS (IMF, IWW) IF (0 < ICHF) GO TO 380 IF (IMF < 3) GO TO 400 3 80 NDF = NDF + 1 JF = IFIX (ICHF / 4.) IF (2 < IMF) THEN NDF = NDF + JF ELSE NDF = NDF + JF - 1 ENDIF 400 CALL NETWRK (PEARSN, WPTIME, CORRD, ESTART, TRCOR) IF (0 < lERR) GO TO 1000 C the work package durations in the specified time unit Appendix D: Source Code of the Model WRITE (7, 9911) WRITE (7, 9912) 198 DO 1590 I = 1, IF (WPTIME SDTME SKTME AKTME ELSE SDTME SKTME ASKT AKTME = = = = = = s , NWP (2, I) O.ODO O.ODO O.ODO WPTIME WPTIME 1.2D0 * WPTIME == O.ODO) THEN (2, I) ** 0.5D0 (3, I) / (WPTIME (2, (SKTME ** 2)+2 .0 (4, I) / (WPTIME (2, I) I) ** 1.5D0) ** 2) IF (AKTME < ASKT) THEN AKTME = ASKT ENDIF ENDIF SELECT CASE (NUNT) END 1570 WRITE 1590 CONTINUE CASE CASE CASE SELECT (1) AMTME SDTME (2) AMTME SDTME (3) AMTME SDTME (7, 9913) I, = = = = = = WPTIME SDTME WPTIME SDTME WPTIME SDTME (1, (1, (1, I) I) I) AMTME, SDTME, / / * • 30 30 12 12 SKTME, .4167D0 .4167D0 ,0D0 . ODO AKTME WRITE (7, 9914) TRCOR WRITE (7, 9915) DO 2250 I = = 1, IF (ESTART SDET SKET AKET ELSE SDET SKET AKET ENDIF (I) (I) (I) (I) (I) (I) NWP (2, I) == = O.ODO = O.ODO = O.ODO = ESTART = ESTART = ESTART O.ODO) (2, (3, (4, I) I) I) THEN ** 0.5D0 / (ESTART (2, / (ESTART (2, I) ** 1.5D0 I) ** 2) C convert the early start time of a work package to calendar C time from absolute time. SELECT CASE (NWW -t- NUNT C 7 day ww. daily CASE (7) AMST AMEET SDET (I) (I) 1) ESTART ESTART SDET (1, I) (1, I) (I) SDATE 30.4167D0 30.4167D0 Appendix D: Source Code of the Model 199 C 7 day WW, monthly CASE (8) AMST = (ESTART (1, I) + SDATE) * 30.4167D0 AMEET (I) = ESTART (1, I) SDET (I) = SDET (I) C 7 day WW, yearly CASE (9) AMST = (ESTART (1, I) + SDATE) * 365.ODO AMEET (I) = ESTART (1, I) * 12.ODO SDET (I) = SDET (I) * 12.ODO C 5 day ww (daily) CASE (5) AMST = ESTART (1, I) SDET (I) = SDET (I) / 21.75D0 C 6 day ww (daily) CASE (6) AMST = ESTART (1, I) SDET (I) = SDET (I) / 26.0833D0 END SELECT LYY = IFIX (AMST / DAYS (13, IWW)) LY(I) = lYB + LYY LDC = IFIX (AMST) LDD = MOD (LDC, DAYS (13, IWW)) IF (0 < LYY) GO TO 1710 IF (LDD < DAYS (2, IWW)) GO TO 1730 1710 JJ = IFIX (LYY / 4.) IF (DAYS (2, IWW) < LDD) GO TO 1720 LDD = LDD - JJ + 1 GO TO 1730 1720 LDD = LDD - JJ 1730 ITEMP = 1 DO 1731, WHILE ( (DAYS (ITEMP + 1,IWW) <= LDD) .AND. + ITEMP < 12 ) 1731 ITEMP = ITEMP + 1 2250 LM (I) = MONTHS (ITEMP) C the early start times o£ the work packages DO 2300 I = 1, NWP 2300 WRITE (7, 9916) I, LM (I), LY (I), + AMEET (I), SDET (I), SKET (I), AKET(I) C the project duration : E.S.T of the Nth work package WRITE (7, 9917) TRCOR WRITE (7, 9918) SELECT CASE (NUNT) CASE (1) AMP = ESTART (1, NWP) / 30.4167D0 CASE (2) Appendix D: Source Code of the Model 2 00 AMP = ESTART (1, NWP) CASE (3) AMP = ESTART (1, NWP) * 12.ODO END SELECT SDP = SDET (NWP) SKP = SKET (NWP) AKP = AKET (NWP) WRITE (7, 9903) LM (NWP), LY (NWP), AMP, SDP, SKP, AKP CALL CDFUNC (PEARSN, AMP, SDP, SKP, AKP, + V1,V2,V3,V4,V5,V6,V7, V8, V9,VIO,Vll,V12,V13,V14,V15) WRITE (20, 9930) + V1,V2,V3,V4,V5,V6,V7, V8, V9,VIO,Vll,V12,V13,V14,V15 1000 CALL TRACE (2, 'EAST', 'exiting.') DEALLOCATE (LM, LY) DEALLOCATE (SDET, SKET, AKET, AMEET) RETURN 9901 FORMAT ('EAST: Work Week should be 5, 6 or 7 days.') C 9902 FORMAT (•***** WHEN WORK WEEK =(5,6), TIME UNIT sb DAYS.') 9903 FORMAT (A3,' / ',I4,4F15.2) 9910 FORMAT (213,15,213,15,212) 9911 FORMAT (/,'Work Package Durations',/,'The TIME UNIT is MONTHS.') 9912 FORMAT ("W.P.ft Exp.Value===== ', + 'S.Dev.======== Skewness Kurtosis') 9913 FORMAT (14,6X,2F15.3,2F8.2) 9914 FORMAT (/,'Work Package Early Start Times for a Transitional ', + 'Correlation o f , F5.2,/,'The TIME UNIT is MONTHS.') 9915 FORMAT ('W.P.tt Exp.Month===== Exp.Value===== ', + 'S.Dev========= Skewness Kurtosis') 9916 FORMAT (I4,7X,A3," / ',14,4X,2F15.2,2F8.2) 9917 FORMAT (/,'The Project Duration for a Transitional ', + 'Correlation o f , F5.2,/,'The TIME UNIT is MONTHS.') 9918 FORMAT ('Month Exp.Value===== ', + •S.Dev========= Skewness Kurtosis") 9930 FORMAT (' Project Duration export for EXCEL', + + + + + + + + + + + / , • / , ' / , • / , • / , • /,' /. • /.• /,' /.• / , • ' , F 2 0 . 2 , ' , F 2 0 . 2 , ' , F 2 0 . 2 , ' , F 2 0 . 2 , • , F 2 0 . 2 , ' , F 2 0 . 2 , ' , F 2 0 . 2 , ' , F 2 0 . 2 , ' , F 2 0 . 2 , ' , F 2 0 . 2 , ' , F 2 0 . 2 , , 0 . 2 5 ' , 0 . 5 0 , 1 . 0 0 , 2 . 5 0 ' , 5 , 0 0 ' , 1 0 . 0 0 ' , 2 5 . 0 0 ' , 5 0 . 0 0 ' , 7 5 . 0 0 ' , 9 0 . 0 0 ' , 9 5 . 0 0 ' / / / / / / r / / / / Appendix D: Source Code of the Model 2 0 1 ' , F 2 0 . 2 , • , 9 7 . 5 0 ' , • , F 2 0 . 2 , ' , 9 9 . 0 0 • , ' , F 2 0 . 2 , ' , 9 9 . 5 0 ' , ' , F 2 0 . 2 , ' , 9 9 . 7 5 ' ) + + + + / , / , / , / , END Appendix D: Source Code of the Model 2 02 C WpCost.POR C modified by Toshiaki Hatakama in July, 1994. C THE ROUTINE TO EVALUATE THE FIRST FOUR MOMENTS OF THE WORK C PACKAGE COST BY APPLYING THE FRAMEWORK SUBROUTINE WPCOST (DR,FRA,PEARSN, + WPTIME, + ESTART, + IWPC, NWPCF, NDVR, + COST, + XUCOST, TRIWPC, + CORRC) IMPLICIT REAL*4(A-H,0-Z) INCLUDE •DEBUG.CMN' REAL*4 PEARSN (NPEARS, *) REAL*4 WPTIME (4, *) REAL*4 ESTART (4, *) INTEGER IWPC (*), NWPCF {*), NDVR (*) REAL*4 XUCOST (4, NWP, * ) , TRIWPC (NWP, NWP, *) REAL*4 COST (4, * ) , CORRC (NWP, •) INTEGER NNVR, NTYP (50) REAL*4 X(25), SZ(25), 6ZS(25), GZL(25) REAL*4 XCOST (:,:,:), WPCCO (:,:,:), PWPCX (:,:) ALLOCATABLE XCOST, WPCCO, PWPCX REAL*4 STFO (:), TRI (:,:) ALLOCATABLE STFO, TRI CALL TRACE (2, 'WPCOST', 'starting.') ALLOCATE (STFO (NWP)) ALLOCATE (TRI (MAXDVC, MAXDVC)) ALLOCATE (XCOST (4, NWP, MAXDVC)) ALLOCATE (WPCCO (NWP, MAXDVC, MAXDVC)) ALLOCATE (PWPCX (NWP, MAXDVC)) C the first four moments of the start work package COST (1, 1) = O.DO COST (2, 1) = O.DO COST (3, 1) = O.DO COST (4, 1) = O.DO C basic data about the work packages IWPC (1) = 0 NWPCF (1) = 0 NDVR (1) = 0 NTYP (1) = 0 Appendix D: Source Code of the Model DO 300 1=2,NWP 203 READ (12, 8020) IWPC(I) ! type of work package cost ! l=decomposed ! 2=wholistic ! 3=direct input GOTO (10, 150, 200) IWPC(I) GOTO 9003 ! something's worng C type of functional form and the number of primary variables 10 READ (12, 8030) NWPCF (I), NDVR (I), NTYP (I) NNVR = NDVR (I) C DURATION AND EARLY FINISH TIME ARE PRIMARY VARIABLES IN C ALL THE FUNCTIONAL FORMS FOR WORK PACKAGE COST. (THE LINK C BETWEEN TIME AND COST BECAUSE COST IS TIME DEPENDENT). C Var#l is the duration of the work package XCOST XCOST XCOST XCOST (1, (2, (3, (4, I, I, I, I, 1) 1) 1) 1) = = = s WPTIME WPTIME WPTIME WPTIME (1, (2, (3, (4, I) I) I) I) C Var#2 is the early finish time XCOST (1, I, 2) XCOST (2, I, 2) XCOST (3, I, 2) XCOST (4, I, 2) ESTART (1, I) + WPTIME (1, I) ESTART (2, I) + WPTIME (2, I) ESTART (3, I) + WPTIME (3, I) ESTART (4, I) + WPTIME (4, I) C Var#3 is the project duration, aka the time at which the loan is due. XCOST (1, I, 3) XCOST (2, I, 3) XCOST (3, I, 3) XCOST (4, I, 3) ESTART (1, NWP) ESTART (2, NWP) ESTART (3, NWP) ESTART (4, NWP) C Var#4 is the revenue phase duration, which equals the finish C work package duration. IF (11 <= NWPCF (I)) THEN XCOST (1, I, 4) XCOST (2, I, 4) XCOST (3, I, 4) XCOST (4, I, 4) = WPTIME (1, NWP) = WPTIME (2, NWP) = WPTIME (3, NWP) = WPTIME (4, NWP) DO 35 J=l,4 JJ = J+1 DO 34 K=JJ,NNVR Appendix D: Source Code of the Model 2 04 WPCCO(I,J,K) = O.ODO WPCCO(I,K,J) = O.ODO 3 4 CONTINUE 3 5 CONTINUE C APPROXIMATE THE PRIMARY VARIABLES IN THE FUNCTIONAL FORMS C FOR WORK PACKAGE COST TO PEARSON TYPE DISTRIBUTIONS TO C OBTAIN THE FIRST FOUR MOMENTS FOR THEM. DO 4 0 J=5,NNVR IF (1 <: NTYP (I)) THEN ! direct read the moments READ (12, 37) (XCOST (K, I, J ) , K = 1, 4) 3 7 FORMAT (4F3 0.5) ELSE READ (12, 8010) A,B,C,D,E CALL VARBLE (PEARSN, A,B,C,D,E, CI, C2, C3, C4) IF (lERR == 1) GO TO 9001 XCOST (1, I, J) = CI XCOST (2, I, J) = C2 XCOST (3, I, J) = C3 XCOST (4, I, J) = C4 ENDIF 4 0 CONTINUE C CORRELATION COEFFICIENTS BETWEEN THE PRIMARY VARIABLES IN C THE WORK PACKAGE. CORRELATION MATRIX IS POSITIVE DEFINITE. 41 42 45 DO 45 J = 5,NNVR JJ = J+1 IF (NNVR < JJ) ( 30 TO 45 READ (12, 41) (WPCCO (I, J, FORMAT(2 0F6.2) DO 42 K=JJ,NNVR WPCCO(I,K,J) CONTINUE CONTINUE ELSE DO 50 J=l,3 JJ = J+1 DO 5 0 K=JJ,NNVR WPCCOd, J,K) WPCCO(I,K,J) = = = WPCCOd, J O.ODO O.ODO K ) , K = JJ, NNVR) 50 C APPROXIMATE THE PRIMARY VARIABLES IN THE FUNCTIONAL FORMS C FOR WORK PACKAGE COST TO PEARSON TYPE DISTRIBUTIONS TO C OBTAIN THE FIRST FOUR MOMENTS FOR THEM. C SUBJECTIVE ESTIMATES FOR OTHER VARIABLES IN THE C FUNCTIONAL FORM FOR THE WORK PACKAGE COST. DO 100 J=4,NNVR IF (1 < NTYP (I)) THEN READ (12, 70) (XCOST (K, I, J ) , K = 1, 4) 70 FORMAT (4F30.5) ELSE Appendix D: Source Code of the Model 2 05 READ (12, 8010) A,B,C,D,E CALL VARBLE (PEARSN, A,B,C,D,E, C1,C2,C3,C4) IF (lERR == 1) GO TO 9001 XCOST XCOST XCOST XCOST ENDIF CONTINUE (1, (2, (3, (4, I, I, I, I, J) J) J) J) = CI = C2 = C3 = C4 100 C CORRELATION COEFFICIENTS BETWEEN THE PRIMARY VARIABLES IN C THE WORK PACKAGE. CORRELATION MATRIX IS POSITIVE DEFINITE. DO 14 0 J = 4,NNVR JJ = J+1 IF (JJ <= NNVR) THEN READ (12, 110) (WPCCO (I,J,K),K=JJ,NNVR) 110 FORMAT (20F6.2) DO 120 K=JJ,NNVR 120 WPCCO (I,K,J) = WPCCO (I,J,K) ENDIF 140 CONTINUE ENDIF GO TO 3 00 C THE FIRST FOUR MOMENTS FOR A WORK PACKAGE COST WHEN THE C COST IS ESTIMATED WHOLISTICALLY. 150 J = 1 READ (12, 8010) A,B,C,D,E CALL VARBLE (PEARSN, A,B,C,D,E, C1,C2,C3,C4) IF (0 < lERR) GO TO 9002 COST (1, I) = CI COST (2, I) = C2 COST (3, I) = C3 COST (4, I) = C4 Q********************************************** XUCOST (1, I, 1) = CI XUCOST (2, I, 1) = C2 XUCOST (3, I, 1) = C3 XUCOST (4, I, 1) = C4 Q********************************************** GO TO 3 00 C MOMENTS OF THE WORK PACKAGE DURATIONS ARE ENTERED DIRECTLY 200 READ (12, 210) (COST (K, I),K=1,4) 210 FORMAT (4F25.6) 300 CONTINUE ! Go back and get the next work package Info. Appendix D: Source Code of the Model 206 C CORRELATION BETWEEN WORK PACKAGE COSTS. NN = NWP-1 DO 320 1=2,NN JJ = I+l IF (JJ <= NN) THEN DO 310 J=JJ,NN CORRC(I,J) = O.ODO 310 CORRC(J,I) = O.ODO ENDIF 320 CONTINUE C WHEN WORK PACKAGE COSTS ARE INPUT AS MOMENTS. DO 350 1=2,NN IF (2 < IWPC(I)) THEN JJ = I+l IF (NN < JJ) GO TO 350 DO 340 J=JJ,NN IF (2 < IWPC(J)) THEN READ(12,330) CORRC(I,J) 330 PORMAT(F6.2) CORRC(J,I) = CORRC(I,J) ENDIF 340 CONTINUE ENDIF 35 0 CONTINUE C THE FIRST FOUR MOMENTS OF THE WORK PACKAGE COST WHEN THE COST C IS ESTIMATED FROM A DECOMPOSITION. C WHEN WORK PACKAGE COST ARE ESTIMATED WHOLISTICALLY OR FOR C THE FINISHED WORK PACKAGE, C TRANSFORM CORRELATED VARIABLES TO UNCORRELATED VARIABLES. C ONLY THE LINEAR CORRELATION IS CONSIDERED. DO 400 I = 2, NWP IF (IWPC(I) == 1) THEN NNVR = NDVR(I) CALL TRANS (I, NNVR, NWP, MAXDVC, + XCOST, + XUCOST, + WPCCO, TRI) IF (lERR == 1) GO TO 1000 C THE TRANSFORMATION MATRIX FOR A WORK PACKAGE DO 3 60 J=1,NNVR DO 360 K=1,NNVR TRIWPCd, J,K) = TRI(J,K) TRIWPC{I,K,J) = TRI(K,J) 3 60 CONTINUE C this Is the only place where COST Is affected C by anything when IWPC{I) = 1 . . . Appendix D: Source Code of the Model 2 07 CALL WPCMMT (I, DR, FRA, + NWPCF, NDVR, + XUCOST, TRIWPC, + COST, + STFO (I)) ENDIF 400 CONTINUE C APPROXIMATE THE CORRELATION BETWEEN THE WORK PACKAGES FOR C MOMENT APPROXIMATIONS AT THE PROJECT LEVEL. C ESTIMATE g(X) GIVEN BY THE USER AT MEAN OF X AND THE FIRST C PARTIAL DERAVATIVE WITH RESPECT TO THE CORRELATED VARIABLES. NN = NWP-1 DO 450 1=2,NN IF (1 < IWPC(I)) GO TO 450 NNVR = NDVR(I) DO 43 0 J=1,NNVR X(J) = XCOST (1, I, J) 43 0 CONTINUE C THE FIRST PARTIAL DERAVATIVE OF THE CORRELATED VARIABLES DO 44 0 J=1,NNVR X(J) = XCOST (1, I, J) * 0.99D0 SZ(J) = XCOST (1, I, J) * O.OIDO C THE VALUE FOR g(X) WHEN X(J) IS LESS THAN THE MEAN VALUE C (NEGATIVE INCREMENT) Q * * * * * * * * * * * * * * * * * * * * * CALL WPCFF(NWPCF(I),DR,FRA,X,GZS(J)) X(J) = XCOST (1, I, J) * I.OIDO C THE VALUE FOR g(X) WHEN X(J) IS MORE THAN THE MEAN VALUE C (POSITIVE INCREMENT) Q * * * * * * * * * * * * * * * * * * * * * * * CALL WPCFF(NWPCF(I),DR,FRA,X,GZL(J)) C THE FIRST PARTIAL DERAVATIVE WITH RESPECT TO Z(J) PWPCX(I,J) = (GZL(J) - GZS(J)) / (2.0D0 * SZ (J) X(J) = XCOST (1, I, J) 44 0 CONTINUE 450 CONTINUE C ESTIMATE THE CORRELATION BETWEEN TWO WORK PACKAGE COSTS. C COVAR does something to the SECOND set of values of XCOST. C check this carefully. Appendix D: Source Code of the Model 208 JU = 12 NN = NWP-1 DO 500 I = 2, NN IF (IWPCd) == 1) THEN NI = NDVR (I) JJ = I+l IF (JJ <= NN) THEN DO 470 J=JJ,NN IF (IWPC(J) == 1) THEN NJ = NDVR (J) READ (JU, *) NDCV IF (NDCV == 0) THEN CORRC (I, J) = O.ODO CORRC (J, I) = O.ODO ELSE CALL COVAR (JU,NDCV, I,J,NI,NJ, + PWPCX, + XCOST, + WPCCO, + STFO (I),STFO{J), + CORRC) ENDIF ENDIF 47 0 CONTINUE ENDIF ENDIF 5 00 CONTINUE 1000 DEALLOCATE (XCOST, WPCCO, STFO, TRI) CALL TRACE (2, 'WPCOST', "exiting.") RETURN 8010 FORMAT(5F20.4) 802 0 FORMAT(12) C 8030 FORMAT (12, 13, 12) 8030 FORMAT (14, 14, 14) 9001 WRITE (7,9901) I, J 9901 FORMAT ('WPCOST: WP(",13,").Var(',12,") is not PEARSON.") GOTO 1000 9002 WRITE (7, 9902) I 9902 FORMAT ("WPCOST: WP(",I3,") is not PEARSON.") GOTO 1000 9003 WRITE (7, *) "What Gives! Type greater than 3?" GOTO 1000 END Appendix D: Source Code of the Model 2 09 C RevStr.FOR C modified by Toshiaki Hatakama in July, 1994. C THE ROUTINE TO EVALUATE THE FIRST FOUR MOMENTS OF THE NET C REVENUE STREAM BY APPLYING THE FRAMEWORK TO THE WP/RS LEVEL. C calls VARBLE, RVSMMT SUBROUTINE REVSTR (PEARSN, + DR, + WPTIME, + ESTART, + NRVSF, NDRV, + XUREV, + TRIRVS, + REV, CORRR, + BOTTLE) C if you have 16M Ram, chhose "enough" = 1. C if not, choose any number but 1. $DEFINE enough = 0 IMPLICIT REAL*4 (A-H,0-Z) INCLUDE •DEBUG.CMN' REAL*4 PEARSN (NPEARS, *) REAL*4 WPTIME (4, *) REAL*4 ESTART (4, *) INTEGER NRVSF (*), NDRV (*) REAL*4 BOTTLE (NRS, *) $IF enough .EQ. 1 REAL*4 XUREV (4, NRS, * ) , TRIRVS (NRS, MAXDVR, *) $ELSE REAL*4 XUREV (4, NRS, * ) , TRIRVS (*) $ENDIP REAL*4 REV (4, * ) , CORRR(NRS, *) REAL*4 X (300), SZ, GZS, GZL REAL*4 XREV (:,:,:), RVSCO(:,:,:), PRVSX(:,:) ALLOCATABLE XREV, RVSCO, PRVSX REAL*4 STFO(:), TRI(:,:) ALLOCATABLE STFO, TRI C basic data about the revenue streams CALL TRACE (1, 'REVSTR', 'starting.') ALLOCATE (STFO (NRS)) ALLOCATE (XREV (4, NRS, MAXDVR)) C Only 1 Multi-Megabyte Array per application, please.... C we can't get rid of this because TRANS & COVAR do alot of work with Appendix D: Source Code of the Model 210 C it. ALLOCATE (RVSCO (NRS, MAXDVR, MAXDVR)) ALLOCATE (PRVSX (NRS, MAXDVR)) DO 100 INRS = 1, NRS PRINT *, 'Reading in REVenue STReam #•, INRS READ (13, 9 901) + NRVSF (INRS), + NDRV (INRS), + LL, + PERT type of functional form number of primary variables the work package number the fraction of the duration after which the revenue begins... C if this is a toll highway project, read more basic data. C we have to pass extra info to our custom RVSFF functions, C so we're going to do it in X, our WONDER-VECTOR. C the first element of X tells how many elements are sacred to C RVSFnn. SELECT CASE (NRVSF (INRS)) CASE (11) ! 'closed' toll highway (one toll booth per gate] READ (13, 9905) + BOTTLE (INRS, 1), ! nAL = # of interchanges + BOTTLE (INRS, 2) ! nP = # of vehicle types READ (13, 9906) + BOTTLE (INRS, 3) ! nWC = weather ! class (1,2,...) READ (13, 9 906) + BOTTLE (INRS, 4) ! nOL = overlay ! years(0,1,2,..) READ (13, 9 906) + BOTTLE (INRS, 5) ! nBR = bridge repaint ! year(0,1,2,...) CASE (12) ! 'open' toll highway (some may not have gates) READ (13, 9907) + BOTTLE (INRS, 1), ! nAL = # of interchanges + BOTTLE (INRS, 2 ) , ! nP = # of vehicle types + BOTTLE (INRS, 6) ! nTG = # of toll gates DO 50 J = 1, BOTTLE (INRS, 6) 50 READ (13, 9908) + BOTTLE (INRS, (J + 6)) ! toll gate location READ (13, 9906) + BOTTLE (INRS, 3) ! nWC = weather class ! (1,2, . . .) READ (13, 9906) + BOTTLE (INRS, 4) ! nOL = overlay Appendix D-. Source Code of the Model 211 ! years(0,1,2,..) READ (13, 9906) BOTTLE (INRS, 5) ! nBR = bridge repaint ! year(0,1,2,...) + + CASE (13) ! 'closed' toll highway (fixed toll) READ (13, 9 9 05) BOTTLE (INRS, 1), ! nAL = # of interchanges BOTTLE (INRS, 2) nP = # of vehicle types READ (13, 9906) BOTTLE (INRS, 3) ! nWC = weather class ! (1,2, . . .) READ (13, 9906) BOTTLE (INRS, 4) ! nOL = overlay ! years(0,1,2,..) READ (13, 9 906) BOTTLE (INRS, 5) > nBR = bridge repaint ! year(0,1,2,...) END SELECT NNVR NDRV (INRS) C the start time of the revenue stream is a primary variable C in all the functional forms for a revenue stream, the link C between time and revenue because revenue is time dependent. C variable#l is the start time of the revenue stream. XREV (1, INRS, 1) XREV (2, INRS, 1) XREV (3, INRS, 1) XREV (4, INRS, 1) ESTART (1, LL) + PERT * WPTIME (1, LL) ESTART (2, LL) + PERT * WPTIME (2, LL) ESTART (3, LL) + PERT * WPTIME (3, LL) ESTART (4, LL) + PERT * WPTIME (4, LL) C approximate the primary variables in the functional forms C for revenue streams to pearson type distributions to C obtain the first four moments for them. 60 65 DO 65 J = 1, NNVR DO 60 K = 1, NNVR RVSCO (INRS, J, K) = O.ODO CONTINUE RVSCO (INRS, J, J) = l.ODO CONTINUE DO 90 J = 2, NNVR C subjective estimates for other variables in the C functional form for the revenue streams. + + READ (13, 9902) A,B,C,D,E CALL VARBLE (PEARSN, A,B,C,D,E, XREV (1, INRS, J), XREV (2, INRS, J ) , 5%ile estimate Appendix D: Source Code of the Model 212 + XREV (3, INRS, J ) , + XREV (4, INRS, J)) 90 IF (0 < lERR) GOTO 9000 100 CONTINUE C the first four moments of the revenue stream. C DR is fixed. C in PRJIRR, we will vary DR to get a desired ... IRR. ALLOCATE (TRI (MAXDVR, MAXDVR)) OPEN (UNIT = 121, FILE = 'REVl.SEN', STATUS = 'UNKNOWN') OPEN (UNIT = 12 2, FILE = •REV2.SEN', STATUS = 'UNKNOWN') DO 3 00 INRS = 1, NRS C transform correlated variables to uncorrelated variables. NNVR = NDRV(INRS) CALL TRANS (INRS, NNVR, NRS, MAXDVR, + XREV, XUREV, RVSCO, TRI) IF (lERR == 1) GO TO 1000 C the transformation matrix for a revenue stream DO 2 00 J = 1, NNVR DO 2 00 K = 1, NNVR $IF enough .EQ. 1 TRIRVS (INRS, J, K) = TRI (J, K) $ELSE CALL SPASETS (TRIRVS, TRI (J, K ) , INRS, J, K) $ENDIF 2 00 CONTINUE WRITE (121, *) 'sensitivity coefficientl for RVS #',INRS WRITE (122, •) 'sensitivity coefficient2 for RVS #',INRS CALL RVSMMT (INRS, DR, BOTTLE, + NRVSF, NDRV, + XUREV, TRIRVS, + REV, STFO (INRS)) 3 00 CONTINUE DEALLOCATE (TRI) C approximate the correlation between the revenue streams for C moment approximations at the project level. C estimate g(x) given by the user at mean of X and the first C partial derivative with respect to the correlated variables. DO 450 INRS = 1,NRS NNVR = NDRV(INRS) Appendix D: Source Code of the Model 213 DO 43 0 J=1,NNVR X{J) = XREV (1, INRS, J) 43 0 CONTINUE C ROCK (-1%) AND ROLL (+1%) THE VARIABLES TO GET THE PARTIALS DO 44 0 J=1,NNVR SZ = XREV (1, INRS, J) * O.OIDO ! the increment... X (J) = XREV (1, INRS, J) * 0.99D0 ! rock CALL RVSFF (NRVSF (INRS), J, 1, DR, BOTTLE, INRS, X, + 6ZS) X (J) = XREV (1, INRS, J) * I.OIDO ! roll CALL RVSFF (NRVSF (INRS), J, 3, DR, BOTTLE, INRS, X, + 6ZL) X (J) = XREV (1, INRS, J) ! reset PRVSX (INRS, J) = (GZL - GZS) / (2.0D0 * SZ) 440 CONTINUE 450 CONTINUE C ESTIMATE THE CORRELATION BETWEEN TWO REVENUE STREAMS. C COVAR does something to the SECOND set of values of XREV. C check this carefully. JU = 13 PRINT *, 'about to call COVAR, many times...' DO 500 INRS = 1, NRS NI = NDRV (INRS) JJ = INRS + 1 IF (JJ <= NRS) THEN DO 470 J=JJ,NRS NJ = NDRV (J) READ (JU, *) NDCV IF (NDCV == 0) THEN CORRR (INRS, J) = O.ODO CORRR (J, INRS) = O.ODO ELSE CALL COVAR (JU,NDCV, INRS,J,NI,NJ, + PRVSX, + XREV, + RVSCO, + STFO (INRS), STFO (J), + CORRR) ENDIF 47 0 CONTINUE ENDIF 500 CONTINUE 1000 DEALLOCATE(XREV, RVSCO, STFO) Appendix D: Source Code of the Model 214 CALL TRACE (2, •REVSTR', 'exiting.') RETURN 9000 WRITE (6, *) INRS, J, '--> Bogositude to the max." WRITE (6, *) A,B,C,D,E WRITE (7, 9909) INRS, J GOTO 1000 9901 FORMAT {14,14,14,FIO.5) 9902 FORMAT (5F20.4) 9905 FORMAT (214) 9906 FORMAT (12) 9 9 07 FORMAT (314) 9908 FORMAT (FIO.2) 9909 FORMAT (/, 'RS(',13 , ' ) .VAR(',14, ' ) is NOT pearson dist.',/) END Appendix D: Source Code of the Model 215 C PrjCst.FOR C modified by Toshiaki Hatakama in July, 1994. C ROUTINE TO APPROXIMATE THE FIRST FOUR MOMENTS OF THE PROJECT C COST AT THE MINIMUM ATTRACTIVE RATE OF RETURN (OR IN TOTAL C DOLLARS WHEN THE MARR IS EQUAL TO ZERO). SUBROUTINE PRJCST (DR, + COST, + CORRC, + PCOST) IMPLICIT REAL*4(A-H,0-Z) INCLUDE 'DEBUG.CMN' REAL*4 COST (4, * ) , CORRC (NWP, * ) , PCOST (*) REAL*4 X (:,:), Z (:,:), TRI (:,:), COR (:,:), PD (:) ALLOCATABLE X, Z, TRI, COR, PD CALL TRACE (2, 'PRJCST', 'starting.') ALLOCATE (X (4, NWP)) ALLOCATE (Z (4, NWP)) ALLOCATE (TRI (NWP-2, NWP- 2)) ALLOCATE (COR (NWP-2, NWP-2)) ALLOCATE (PD (NWP)) IF (DR /= O.ODO) THEN WRITE (7, 9901) DR ELSE WRITE (7, 9902) ENDIF WRITE (7, 9903) DO 100 I = 1, NWP IF (COST (2, I) == O.ODO) THEN SDWPC = O.ODO SKWPC = O.ODO AKWPC = O.ODO ELSE SDWPC = COST (2, I) ** 0.5D0 SKWPC = COST (3, I) / (COST (2, I) ** 1.5D0) ASKP = 1.2D0* (SKWPC ** 2) + 2.0D0 AKWPC = COST (4, I) / (COST (2, I) ** 2) IF (AKWPC .LT. ASKP) AKWPC = ASKP ENDIF 100 WRITE (7, 9904) I, COST (1, I), SDWPC, SKWPC, AKWPC C first four moments of the project cost at MARR PCOST (1) = O.ODO PCOST (2) = O.ODO PCOST (3) = O.ODO Appendix D: Source Code of the Model 216 PCOST (4) = O.ODO C all this segment is here for is to move the variables into a C slightly different place for the benefit of TANSP.... C TANSP needs to take an offset of some sort, later. DO 120 1 = 2 , (NWP - 1) K = I - 1 X (1, K) = COST (1, I) X (2, K) = COST (2, I) X (3, K) = COST (3, I) X (4, K) = COST (4, I) IF (I < (NWP - 1)) THEN DO 110 J = (I + 1 ) , (NWP - 1) L = J - 1 TEMP = CORRC (I, J) COR (K, L) = TEMP 110 COR (L, K) = TEMP ENDIF 12 0 CONTINUE C transform the correlated W.P costs to uncorrelated W.P costs C hand TANSP another parameter, namely where to start work? CALL TANSP ({NWP - 2 ) , + X, + Z, + COR,TRI) IF (0 < lERR) GO TO 500 C first partial deravatives of the transformed W.P costs, second C partial deravative is zero because the function is linear. DO 150 1 = 2 , (NWP - 1) PD (I) = O.ODO DO 15 0 J = 2, (NWP - 1) 150 PD (I) = PD (I) + TRI (J - 1, I - 1) DO 2 00 I = 2, (NWP - 1) PCOST (1) = PCOST (1) + PD (I) * Z (1, I - 1) PCOST (2) = PCOST (2) + PD (I) ** 2 * Z (2, I - 1) PCOST (3) = PCOST (3) + PD (I) ** 3 * Z (3, I - 1) FC = O.ODO IF (I < (NWP - 1)) THEN DO 180 J = (I + 1 ) , (NWP - 1) 180 FC = FC + 6.0D0 * + (PD (I) * PD (J)) ** 2 * Z (2, I - 1) * Z (2, J - + 1) ENDIF 200 PCOST (4) = PCOST (4) + FC + PD (I) ** 4 * Z (4, I - 1) C Standard deviation, skewness and kurtosis of project cost SDPC = PCOST (2) ** 0.5D0 SKPC = PCOST (3) / (PCOST (2) ** 1.5D0) AKPC = PCOST (4) / (PCOST (2) *• 2) Appendix D: Source Code of the Model IF (DR == O.ODO) THEN WRITE (7, 9906) ELSE WRITE (7, 9905)DR ENDIF WRITE (7, 9907) WRITE (7, 9908) PCOST (1), SDPC, SKPC, AKPC 217 CALL CDFUNC (PEARSN, PCOST (1), SDPC, SKPC, AKPC, + V1,V2,V3,V4,V5,V6,V7, V8, V9,VIO,Vll,V12,V13,V14,V15) WRITE (20, 9910) + V1,V2,V3,V4,V5,V6,V7, V8, V9,VIO,Vll,V12,V13,V14,V15 500 CALL TRACE (2, 'PRJCST', 'exiting.') DEALLOCATE (X, Z, TRI, COR, PD) RETURN 9 901 FORMAT 9902 FORMAT 9 9 03 FORMAT + 9904 FORMAT (/,'WP Costs (Discount rate of ', F6.3, ')') (/,'WP Costs (Total Dollars)') ('W.P.# Exp.Value===== S.Dev========= • 'Skewness====== Kurtosis======') (I4,6X,4F15.3) 9905 FORMAT (/,'The Project Cost (discount rate of Return of',F6.3,')') 9906 FORMAT (/,'The Project Cost (Total Dollars)') 9907 FORMAT (' Exp.Value===== S.Dev========= ', + 'Skewness====== Kurtosis======') 9908 FORMAT (10X,4F15.3) 9 910 FORMAT + + + + + + + + + + + + + + + (' Project Cost export for EXCEL' /, /, /, /, /, /, /, /, /, /, /, /, /, /, / . •,F20.2, ',F20,2, ',F20.2, ',F20.2, ',F20.2, ',F20.2, ' ,F20 ' ,F20 ' ,F20 ' ,F20 ' ,F20 ' ,F20.2, ',F20,2, ',F20.2, ',F20.2, 2, 2, 2, 2, 2, , 0 , 0 , 1 , 2 , 5 ,10 ,25 ,50. 25 50 00 50 00 00 00' 00' ,75.00', ,90.00', ,95.00' , ,97.50' , ,99.00' , ,99.50' , ,99.75- ) END Appendix D-. Source Code of the Model 218 C PrjRev.FOR C modified by Toshiakl Hatakama in July, 1994. C ROUTINE TO APPROXIMATE THE FIRST FOUR MOMENTS OF THE PROJECT C REVENUE AT THE MINIMUM ATTRACTIVE RATE OF RETURN (OR IN TOTAL C DOLLARS WHEN THE MARR IS EQUAL TO ZERO). SUBROUTINE PRJREV (DR, + REV, + CORRR, + PREV) IMPLICIT REAL*4 (A-H,0-Z) REAL*4 REV (4, * ) , PREV (4), CORRR (NRS, *) REAL*4 Z (:,:), TRI (:,:), PD (:) ALLOCATABLE Z, TRI, PD INCLUDE •DEBUG.CMN' CALL TRACE (2, 'PRJREV, 'starting.') ALLOCATE (Z (4, NRS)) ALLOCATE (TRI (NRS, NRS)) ALLOCATE (PD (NRS)) IF (DR == O.ODO) THEN WRITE(7,9901) ELSE WRITE(7,9902)DR ENDIF WRITE(7,9903) DO 80 I = 1, NRS IF (REV (2, I) == O.ODO) THEN SDRVS = O.ODO SKRVS = O.ODO AKRVS = O.ODO ELSE SDRVS = REV (2, I) ** 0.5D0 SKRVS = REV (3, I) / (REV (2, I) ** 1.5D0) ASKR = 1.2D0 * (SKRVS ** 2) + 2.ODO AKRVS = REV (4, I) / (REV (2, I) ** 2) IF (AKRVS < ASKR) THEN AKRVS = ASKR ENDIF ENDIF 80 WRITE (7, 9904) I, REV (1, I), SDRVS, SKRVS, AKRVS C first four moments of the project revenue at MARR Appendix D: Source Code of the Model 219 PREV (1) = O.ODO PREV (2) = O.ODO PREV (3) = O.ODO PREV (4) = O.ODO C transform the correlated RVS to uncorrelated RVS CALL TANSP (NRS, + REV, + Z, + CORRR, + TRI) IF (lERR > 0) GO TO 500 C first partial derivatives of the transformed RVS. C second partial derivatives are zero because the function is linear. DO 150 1 = 1 , NRS PD(I) = O.ODO DO 150 J = 1, NRS 150 PD (I) = PD (I) + TRI (J, I) 00 200 1 = 1 , NRS PREV (1) = PREV (1) + PD (I) * Z (1, I) PREV (2) = PREV (2) + PD (I) ** 2 * Z (2, I) PREV (3) = PREV (3) + PD (I) ** 3 * Z (3, I) FR = O.ODO IF (I < NRS) THEN DO 180 J = I + 1, NRS IF (NRS < J) THEN PRINT *, 'why are we here...?' PRINT *, PRINT *, ENDIF FR = FR + 6.0D0 * (PD (I) * PD(J)) ** 2 * * Z (2, I) • Z (2, J) 180 CONTINUE ENDIF 200 PREV (4) = PREV (4) + FR + PD (I) ** 4 * Z (4, I) C standard deviation, skewness and kurtosis of project revenue SDPR = PREV (2) ** 0.5D0 SKPR = PREV (3) / (PREV (2) ** 1.5D0) AKPR = PREV (4) / (PREV (2) ** 2) IF (DR == O.ODO) THEN WRITE (7, 9905) ELSE WRITE (7, 9906)DR ENDIF WRITE (7, 9907) WRITE (7, 9908) PREV(l), SDPR, SKPR, AKPR CALL CDFUNC (PEARSN, PREV (1), SDPR, SKPR, AKPR, + V1,V2,V3,V4,V5,V6,V7, V8, V9,VIO,Vll,V12,V13,V14,V15) Appendix D-. Source Code of the Model 220 WRITE (20, 9910) + V1,V2,V3,V4,V5,V6,V7, V8, V9,VIO,Vll,V12,V13,V14,V15 500 DEALLOCATE (Z, TRI, PD) CALL TRACE (2, 'PRJREV, 'exiting.') RETURN 9901 FORMAT (/,'Net Revenue Streams in Total $s') 9902 FORMAT {/,'Net Revenue Streams (Discount Rate',F6.3,')') 9903 FORMAT ('RevStr# Exp.Value===== S.Dev==== + 'Skewness====== Kurtosis: 9904 FORMAT (14,6X,4F15.3) 9905 FORMAT (/,'The Project Revenue in Total Dollars') 9906 FORMAT (/,'The Project Revenue (Discount Rate',F6.3,')') 9907 FORMAT (' Exp.Value===== s.Dev========= ', + 'Skewness====== Kurtosis======') 9908 FORMAT (10X,4F15.3) 9910 FORMAT (• Project Revenue export for EXCEL' + + + + + + + + + + + + + + + / , / , / , / , / , / , / , / , / , / , / , / , / , / , / , • ' , F 2 0 . 2 , ' , F 2 0 . 2 , ' , F 2 0 . 2 , ' , F 2 0 . 2 , ' , F 2 0 . 2 , ' , F 2 0 . 2 , ' , F 2 0 . 2 , ' , F 2 0 . 2 , ' , F 2 0 . 2 , ' , F 2 0 . 2 , ' , F 2 0 . 2 , ' , F 2 0 . 2 , ' , F 2 0 . 2 , ' , F 2 0 . 2 , ' , F 2 0 . 2 , , 0 . 2 5 ' , , 0 . 5 0 ' , , 1 . 0 0 ' , , 2 . 5 0 ' , , 5 . 0 0 ' , , 1 0 . 0 0 ' , , 2 5 . 0 0 ' , , 5 0 . 0 0 ' , , 7 5 . 0 0 ' , , 9 0 . 0 0 ' , , 9 5 . 0 0 ' , , 9 7 . 5 0 ' , , 9 9 . 0 0 ' , , 9 9 . 5 0 ' , , 9 9 . 7 5 ' ) END Appendix D: Source Code of the Model 221 C PrjNPV.FOR C modified by Toshiaki Hatakama In July, 1994 C ROUTINE TO APPROXIMATE THE FIRST FOUR MOMENTS OF THE PROJECT C NET PRESENT VALUE AT THE MINIMUM ATTRACTIVE RATE OF RETURN C (OR IN TOTAL DOLLARS WHEN THE MARR IS EQUAL TO ZERO). SUBROUTINE PRJNPV (DR, + PCOST, + PREV) IMPLICIT REAL*4(A-H,0-Z) REAL*4 PC0ST(4), PREV(4), NPV (4) C the first four moments of project net present value CALL TRACE (2, 'PRJNPV, 'Starting.') NPV (1) = PREV (1) - PCOST (1) NPV (2) = PREV (2) + PCOST (2) NPV (3) = PREV (3) - PCOST (3) NPV (4) = PREV (4) + PCOST (4) + 6.0D0 * PREV (2) * PCOST (2) C standard deviation, skewness and kurtosis of project NPV SDNPV = NPV (2) **0.5D0 SKNPV = NPV (3) / (NPV (2) ** 1.5D0) AKNPV = NPV (4) / (NPV (2) ** 2) WRITE (7, 9901) DR WRITE (7, 9902) WRITE (7, 9903) NPV (1), SDNPV, SKNPV, AKNPV CALL CDFUNC (PEARSN, NPV (1), SDNPV, SKNPV, AKNPV, + VI,V2,V3,V4,V5,V6,V7, V8, V9,VIO,Vll,V12,V13,V14,V15) WRITE (20, 9910) + V1,V2,V3,V4,V5,V6,V7, V8, V9,VIO,Vll,V12,V13,V14,V15 CALL TRACE (2, 'PRJNPV, 'exiting.') RETURN 9901 FORMAT (/,'The Project NPV at a Discount Rate of',F6.3) 9902 FORMAT (' Exp.Value===== S.Dev========= ', + 'Skewness====== Kurtosis======') 9903 FORMAT (10X,4F15.3) 9910 FORMAT (' Project Net Present Value export for EXCEL', + + + + + / , ' / , • / , • / , • /,' •,F20 . 2 , ' , 0 . 2 5 ' , ' , F 2 0 . 2 , ' , 0 . 5 0 ' , ' , F 2 0 . 2 , ' , 1 . 0 0 ' , • , F 2 0 . 2 , ' , 2 . 5 0 " , ' , F 2 0 . 2 , ' , 5 . 0 0 ' , Appendix D: + + + + + + + + + + Source /.' /.' /,' /.' /.' /. ' /,• /,' /,' / , • Code of ,F20.2, ,F20.2, ,F20.2, ,F20.2, ,F20.2, ,F20.2, ,F20 .2, ,F20.2, ,F20.2, ,F20.2, the Mo ,10.00 ,25.00 ,50.00 ,75.00 ,90.00 ,95.00 , 97.50 ,99.00 ,99.50 , 99.75 2 2 2 END Appendix D: Source Code of the Model 223 C PrjIrr.FOR C modified by Toshiaki Hatakama in July, 1994. C in order to calculate IRR, it is necessary to improve this C subroutine, because, it takes too long. C ROUTINE TO APPROXIMATE THE CUMULATIVE DISTRIBUTION FUNCTION C AND THE FIRST FOUR MOMENTS OF PROJECT INTERNAL RATE OF RETURN. SUBROUTINE PRJIRR (PEARSN, FRA, + IWPC, NWPCF, NDVR, + CORRC, TRIWPC, + XUCOST, COST, + NRVSF, NDRV, + CORRR, TRIRVS, + XUREV, REV, + BOTTLE) C if you have 16M RAM, chhose "enough" = 1. C if not, choose any number but 1. $DEFINE enough = 0 IMPLICIT REAL*4(A-H,0-Z) INCLUDE 'DEBUG.CMN' PARAMETER (JSZ=50,ISZ=10) REAL*4 PEARSN (NPEARS, *) INTEGER IWPC (*), NWPCF (*), NDVR (*), NRVSF (*), NDRV (*) REAL*4 CORRC (NWP, * ) , TRIWPC (NWP, NWP, *) REAL*4 XUCOST (4, NWP, * ) , COST (4, * ) , CORRR (NRS, *) $IF enough .EQ. 1 REAL*4 TRIRVS (NRS, MAXDVR, *) $ELSE REAL*4 TRIRVS {*) $ENDIF REAL*4 XUREV (4, NRS, * ) , REV (4, *) REAL*4 BOTTLE (NRS, •) REAL*4 STFO REAL*4 X (:,:), Z (:,:), COR (:,:), TRI (:,:) ALLOCATABLE X, Z, COR, TRI C correlation arrays, etc REAL*4 PDC(JSZ) REAL*4 PDR(300) REAL*4 PIRR(300) n n n d w lO II II II II o o o o o o o o O O O O o o o o •d *o *o SO SO Sd «: x s bo to lO * 0 'O * 0 SO SO SO < a H to to lo so so to to •0 V so so to to II II II II II II o o o o o o o o o o o o a D O O O O o o o o o o II II II II II II o o o o o o o o o o o o a t3 a H O U o o o o o o a 50 K a o D so so o a a fo Q v so $0 so g M H < a n t-' o a so so O (0 H h^ i^ II II II M II M •o so K: •O "O so so so so < a so so II II II II II II II o o o o o o o o o o o o d o o a o o o o o o o o o o o o o o o • o o o o o o o d d d d a d d o o o o o o o II II II II II II II II II II II II o o o o o o o o o o o o * o o o o o o o d d d d d d o o o o o o d o o o o o o d d d d d d o o o o o o o n ti- er (D m ID 01 (D S 0 n f t "O (D 01 n m o 0 pi H PI (D o ID rt H S O II > O II o o d o n n H H N >i n > H SO n —, —^ to 1^ it^ 10 so H so so r t p> r t H- IQ fD CO o c o fD o o a CD o H, r t t r (t 1^ o a (D Ml o t< PI Q. to to Appendix D: Source Code of the Model 2 25 DRF2 = DRG2 = DRM2 : DRT2 DRU2 DRV2 DRW2 DRX2 DRy2 0 0 = 1 = = = = = = . ODO .ODO 3.ODO 0 .ODO O.ODO O.ODO O.ODO O.ODO O.ODO C the cycle to obtain the cumulative distribution function for C project internal rate of return at various Discount Rates C between 1% and 300% 10 DR = FLOAT (I) / 100.ODO IF (300 < I) GO TO 1200 ! give up. C call WPCMMT a number of times to generate the first four moments C of the work package costs NN = NWP - 1 DO 30 J = 2, NN IF (1 < IWPC (J)) THEN COST (1, J) = O.ODO COST (2, J) = O.ODO COST (3, J) = O.ODO COST (4, J) = O.ODO ELSE CALL WPCMMT (J, DR, FRA, + NWPCF, NDVR, + XUCOST, TRIWPC, + COST, STFO) ENDIF 3 0 CONTINUE C first four moments of the project cost APRC = O.ODO SPRC = O.ODO TPRC = O.ODO FPRC = O.ODO NNVR = NWP-2 NN = NWP-1 ALLOCATE (COR (NNVR, NNVR)) DO 50 M = 2, NN K = M - 1 X (1, K) = COST (1, M) X (2, K) = COST (2, M) X (3, K) = COST (3, M) X (4, K) = COST (4, M) JJ = M + 1 Appendix D: Source Code of the Model 22 6 IF (JJ <= NN) THEN DO 40 J = JJ, NN L = J - 1 TEMP = CORRC (M, J) COR (K, L) = TEMP C COR (L, K) = TEMP 4 0 CONTINUE ENDIF 50 CONTINUE C transform the correlated W.P costs to uncorrelated W.P costs ALLOCATE (TRI (NNVR, NNVR)) CALL TANSP (NNVR, X, Z, COR, TRI) IF (0 < lERR) GO TO 1200 DEALLOCATE (COR) C first partial deravatlves of the transformed W.P costs. DO 80 M = 2, NN PDC (M) = O.ODO DO 80 J = 2, NN 80 PDC (M) = PDC (M) + TRI (J - 1, M - 1) DEALLOCATE (TRI) DO 110 M = 2, NN APRC = APRC + PDC (M) * Z (1, M - 1) SPRC = SPRC + PDC (M) ** 2 * Z (2, M - 1) TPRC = TPRC + PDC (M) ** 3 * Z (3, M - 1) FC = O.ODO JJ = M + 1 IF (NN >= JJ) THEN DO 100 J=JJ, NN 100 FC = FC + 6.0D0 * (PDC (M) * PDC (J)) ** 2 * + Z (2, M - 1) * Z (2, J - 1) ENDIF FPRC = FPRC + FC + PDC{M) ** 4 * Z (4, M - 1) 110 CONTINUE C first four moments of the net revenue streams C this is where the major time is being spent.. C do we have to shake all the leaves? C can we shake the whole tree at once? DO 140 J = 1, NRS STFO = O.ODO 14 0 CALL RVSMMT (J, DR, BOTTLE, + NRVSF, NDRV, + XUREV, TRIRVS, + REV, STFO) Appendix D: Source Code of the Model 227 C first four moments of the project revenue APRR = O.ODO SPRR = O.ODO TPRR = O.ODO FPRR = O.ODO C transform the correlated RVS to uncorrelated RVS. ALLOCATE (TRI (NRS, NRS)) CALL TANSP (NRS, + REV, + Z, + CORRR, + TRI) IF (0 < lERR) GO TO 1200 DO 150 M = 1, NRS PDR (M) = O.ODO DO 150 J = 1, NRS 150 PDR (M) = PDR (M) + TRI {J, M) DEALLOCATE (TRI) DO 200 M = 1, NRS APRR = APRR + PDR (M) * Z (1, M) SPRR = SPRR + PDR (M) ** 2 * Z (2, M) TPRR = TPRR + PDR (M) ** 3 * Z (3, M) FR = O.ODO JJ = M + 1 IF (JJ <= NRS) THEN DO 180 J=JJ,NRS 180 PR = FR + 6.0DO * (PDR (M) * PDR (J)) ** 2 * + Z (2, M) * Z (2, J) ENDIF 200 FPRR = FPRR + FR + PDR (M) •* 4 * Z (4, M) C first four moments of project net present value ANPV = APRR - APRC SNPV = SPRR + SPRC TNPV = TPRR - TPRC FNPV = FPRR + FPRC + 6 . ODO * SPRR * SPRC C Standard deviation, skewness and kurtosis of project NPV SDNPV = SNPV ** 0.5D0 SKNPV = TNPV / (SNPV ** 1.5D0) Appendix D: Source Code of the Model 228 A K N P V = FNPV / (SNPV ** 2) C values of the cumulative distribution function approximated C for the net present value of the project CALL CDFUNC (PEARSN, + ANPV,SDNPV,SKNPV,AKNPV, + VA, VB, VC, VD , VE , VF, VG, + VM, + VT,VU,VV,VW,VX,VY,VZ) C probability of NPV = 0 at this discount rate IF (I VAl ENDIF IF IF KM (0. (0 = 1 = = 1) = VA ODO < = < KM) THEN VAl) GO TO GO 205 TO 205 205 IF { O.ODO < VA) GO TO 490 IF (VA < O.ODO .AND. O.ODO <= VB) GO TO 210 IF (VB < O.ODO .AND. O.ODO <= VC) GO TO 230 IF (VC < O.ODO .AND. O.ODO <= VD) GO TO 250 IF (VD < O.ODO .AND. O.ODO <= VE) GO TO 270 IF (VE < O.ODO .AND. O.ODO <= VF) GO TO 290 IF (VF < O.ODO .AND. O.ODO <= VG) GO TO 310 IF (VG < O.ODO .AND. O.ODO <= VM) GO TO 330 IF (VM < O.ODO .AND. O.ODO <= VT) GO TO 350 IF (VT < O.ODO .AND. O.ODO <= VU) GO TO 370 IF (VU < O.ODO .AND. O.ODO <= VV) GO TO 390 IF (VV < O.ODO .AND. O.ODO <= VW) GO TO 410 IF (VW < O.ODO .AND. O.ODO <= VX) GO TO 430 IF (VX < O.ODO .AND. O.ODO <= VY) GO TO 450 IF (VY < O.ODO .AND. O.ODO <= VZ) GO TO 470 IF (VZ < O.ODO) GO TO 500 210 KM = I PIRR (I) = 0.0025D0 + ((0.ODO-VA)* 0.0025D0/(VB-VA) ) PRBl = PIRR(I) DRBl = FLOAT(I) / 100.ODO GO TO 490 230 PIRR(I) = 0.0050D0 + ((0.ODO-VB)*0.0050DO/(VC-VB)) IF (PRB2.GT.O.ODO) GO TO 240 PRB2 = PIRR(I) DRB2 = FLOAT(I) / 100.ODO Appendix D: Source Code of the Model 22 9 240 PRCl = PIRR(I) DRCl = FLOAT(I) / 100.ODO IF (PRB2.LE.PIRR(I)) GO TO 490 PRB2 = PIRR(I) DRB2 = FLOAT(I) / 100.ODO GO TO 4 90 250 PIRR(I) = O.OIOODO + ((0.ODO-VC)*0.015ODO/(VD-VC)) IF (PRC2.GT.O.ODO) GO TO 260 PRC2 = PIRR(I) DRC2 = FLOAT(I) / 100.ODO 260 PRDl = PIRR(I) DRDl = FLOATd) / 100.ODO IF {PRC2 .LE.PIRRd) ) GO TO 490 PRC2 = PIRR(I) DRC2 = FLOAT(I) / 100.ODO GO TO 490 270 PIRR(I) = 0.0250D0 + ({0.ODO-VD)*0.0250D0/(VE-VD)) IF (PRD2.GT.O.ODO) GO TO 280 PRD2 = PIRR(I) DRD2 = FLOATd) / 100.ODO 280 PREl = PIRRd) DREl = FLOATd) / 100.ODO IF (PRD2 .LE.PIRRd) ) GO TO 490 PRD2 = PIRR(I) DRD2 = FLOATd) / 100.ODO GO TO 4 90 290 PIRR(I) = 0.0500D0 + {(0.ODO-VE)*0.0500D0/(VF-VE)) IF {PRE2.GT.O.ODO) GO TO 300 PRE2 = PIRR(I) DRE2 = FLOATd) / 100.ODO 300 PRFl = PIRRd) DRFl = FLOATd) / 100.ODO IF {PRE2 .LE.PIRRd) ) GO TO 490 PRE2 = PIRR(I) DRE2 = FLOATd) / 100.ODO GO TO 4 90 310 PIRRd) = O.IOOODO + ({ 0 . ODO-VF) *0 .150 ODO/(VG-VF) ) IF (PRF2.GT.O.ODO) GO TO 320 PRF2 = PIRRd) DRF2 = FLOATd) / 100.ODO 320 PRGl = PIRRd) DRGl = FLOATd) / 100.ODO IF (PRF2 .LE.PIRRd) ) GO TO 490 PRF2 = PIRR(I) DRF2 = FLOATd) / 100,ODO GO TO 4 90 330 PIRR(I) = 0.2500D0 + ((0,ODO-VG)*0.2500D0/(VM-VG)) IF {PRG2.GT.O.ODO) GO TO 340 PRG2 = PIRR(I) DRG2 = FLOATd) / 100.ODO 340 PRMl = PIRR(I) DRMl = FLOATd) / 100.ODO Appendix D: Source Code of the Model 23 0 IF (PRG2.LE.PIRR(I)) GO TO 490 PR62 = PIRR(I) DRG2 = FLOAT(I) / 100.ODO GO TO 490 350 PIRRd) = 0.5000D0 + ( ( 0 . ODO - VM) *0 . 2 5 OODO/(VT-VM) ) IF {PRM2.GT.O.ODO) GO TO 360 PRM2 = PIRR(I) DRM2 = FLOAT(I) / 100.ODO 360 PRTl = PIRR(I) DRTl = FLOAT(I) / 100.ODO IF (PRM2.LE.PIRR(I)) GO TO 490 PRM2 = PIRR(I) DRM2 = FLOAT(I) / 100,ODO GO TO 490 370 PIRRd) = 0.7500D0 + ({0 . ODO-VT) * 0 .1500D0/(VU-VT) ) IF (PRT2.GT.O.ODO) GO TO 380 PRT2 = PIRR(I) DRT2 = FLOAT(I) / 100.ODO 380 PRUl = PIRR(I) DRUl = FLOAT(I) / 100.ODO IF (PRT2.LE.PIRR(I)) GO TO 490 PRT2 = PIRRd) DRT2 = FLOAT(I) / 100.ODO GO TO 4 90 390 PIRR(I) = 0.9000D0 + ((0.ODO-VU)*0.05OODO/{VV-VU)) IF (PRU2.GT.O.ODO) GO TO 400 PRU2 = PIRRd) DRU2 = FLOATd) / 100.ODO 400 PRVl = PIRRd) DRVl = FLOATd) / 100. ODO IF (PRU2.LE.PIRR(I)) GO TO 490 PRU2 = PIRR(I) DRU2 = FLOATd) / 100.ODO GO TO 4 90 410 PIRRd) = 0.9500D0 + ((0 . ODO-VV) *0 . 025 ODO/(VW-VV) ) IF (PRV2.GT.O.ODO) GO TO 420 PRV2 = PIRR(I) DRV2 = FLOAT(I) / 100.ODO 420 PRWl = PIRR(I) DRWl = FLOATd) / 100. ODO IF (PRV2.LE.PIRR(I)) GO TO 490 PRV2 = PIRR(I) DRV2 = FLOAT(I) / 100.ODO GO TO 4 90 430 PIRRd) = 0.9750D0 + ((0 . ODO-VW) *0 . 0150D0/(VX-VW) ) IF (PRW2.GT.O.ODO) GO TO 440 PRW2 = PIRRd) DRW2 = FLOAT(I) / 100.ODO 440 PRXl = PIRR(I) DRXl = FLOAT(I) / 100.ODO IF (PRW2.LE.PIRR(I)) GO TO 490 PRW2 = PIRRd) Appendix D: Source Code of the Model 231 DRW2 = FLOAT(I) / 100.ODO GO TO 4 90 450 PIRR(I) = 0.9900D0 + ((0.ODO-VX)* 0.0050D0/(VY-VX) ) IP (PRX2.GT.O.ODO) GO TO 460 PRX2 = PIRR(I) DRX2 = FLOAT(I) / 100.ODO 460 PRYl = PIRR(I) DRYl = FLOAT(I) / 100.ODO IF (PRX2.LE.PIRR(I)) 60 TO 490 PRX2 = PIRRd) DRX2 = FLOAT(I) / 100.ODO GO TO 4 90 470 PIRRd) = 0.9950D0 + ( (0 . ODO-VY) *0 . 0025D0/(VZ-VY) ) IF {PRY2.GT.O.ODO) GO TO 480 PRy2 = PIRR(I) DRY2 = FLOAT(I) / 100.ODO 480 IF (PRY2.LE.PIRR(I)) GO TO 490 PRy2 = PIRRd) DRY2 = FLOATd) / 100.ODO 490 I = I+l GO TO 10 C we're done, and we have the desired value of IRR, 5 00 CONTINUE PRINT*,'after line 500' C the fractile estimates (0.01, 0.025, 0.05, 0.10, 0.25, 0.5, C 0.75, 0.90, 0.95, 0.975 & 0.99) to approximate the expected C value and standard deviation of the internal rate of return C using the approximations given by E.S.PEARSON AND J.W.TUKEY C and to plot the cumulative distribution function. C the 0.005 fractile estimate for internal rate of return IF (PRBl.EQ.O.0D0.AND.PRB2.EQ.O.ODO) GO TO 510 IF (DRBl.GT.O.ODO) GO TO 505 DIRB = DRB2 GO TO 515 505 DIRB = DRBl + {{0.005D0-PRBl) * {DRB2-DRB1) / {PRB2-PRB1)) GO TO 515 510 DIRB = O.ODO C the 0.01 fractile estimate for internal rate of return 515 IF (PRCl.EQ.O.0D0.AND.PRC2.EQ.O.ODO) GO TO 525 IF (DRCl.GT.O.ODO) GO TO 520 DIRC = DRC2 GO TO 530 520 DIRC = DRCl + { (0 . OlDO-PRCl) * (DRC2-DRC1) / (PRC2-PRC1)) Appendix D: Source Code of the Model 232 GO TO 53 0 525 DIRC = O.ODO C the 0.025 fractile estimate for internal rate of return 530 IF (PRDl.EQ.O.ODO.AND.PRD2.EQ.O.ODO) GO TO 550 IF (DRDl.GT.O.ODO) GO TO 540 DIRD = DRD2 GO TO 5 60 540 DIRD = DRDl + ( {0 . 025D0-PRDl) * (DRD2-DRD1) / (PRD2-PRD1)) GO TO 5 60 550 DIRD = O.ODO C the 0.05 fractile estimate for internal rate of return 560 IF (FREl.EQ.O.ODO.AND.PRE2.EQ.O.ODO) 60 TO 580 IF (DREl.GT.O.ODO) GO TO 570 DIRE = DRE2 GO TO 5 90 570 DIRE = DREl + { (0 .05D0-PREl) * (DRE2-DRE1) / (PRE2-PRE1)) GO TO 5 90 580 DIRE = O.ODO C the 0.10 fractile estimate for internal rate of return 590 IF (PRFl.EQ.O.ODO.AND.PRF2.EQ.O.ODO) GO TO 610 IF (DRFl.GT.O.ODO) GO TO 600 DIRF = DRF2 GO TO 62 0 600 DIRF = DRFl + ({0.lODO-PRFl) * (DRF2-DRF1) / (PRF2-PRF1)) GO TO 62 0 610 DIRF = O.ODO C the 0.25 fractile estimate for internal rate of return 620 IF (PRGl.EQ.O.ODO.AND.PRG2.EQ.O.ODO) GO TO 640 IF (DRGl.GT.O.ODO) GO TO 630 DIRG = DRG2 GO TO 650 630 DIRG = DRGl + {(0.25D0-PRGl) * (DRG2-DRG1) / (PRG2-PRG1)) GO TO 650 640 DIRG = O.ODO C the 0.50 fractile estimate for internal rate of return 650 IF (PRMl.EQ.O.ODO.AND.PRM2.EQ.O.ODO) GO TO 670 IF (DRMl.GT.O.ODO) GO TO 660 DIRM = DRM2 GO TO 68 0 660 DIRM = DRMl + ((0.50D0-PRMl) * (DRM2-DRM1) / (PRM2-PRM1)) GO TO 680 670 DIRM = O.ODO C the 0.75 fractile estimate for internal rate of return 680 IF (PRTl.EQ.O.ODO.AND.PRT2.EQ.O.ODO) GO TO 700 IF (DRTl.GT.O.ODO) GO TO 690 Appendix D: Source Code of the Model 233 DIRT = DRT2 GO TO 710 690 DIRT = DRTl + ((0.7 EDO -PRTl) * {DRT2-DRT1) / (PRT2-PRT1)) GO TO 710 700 DIRT = O.ODO C the 0.90 fractile estimate for internal rate of return 710 IF (PRUl.EQ.O.0D0.AND.PRU2,EQ.O.ODO) GO TO 730 IF (DRUl.GT.0.ODO) GO TO 720 DIRU = DRU2 GO TO 740 720 DIRU = DRUl + {{0,90D0-PRUl) * {DRU2-DRU1) / (PRU2-PRU1)) GO TO 740 730 DIRU = O.ODO C the 0.95 fractile estimate for internal rate of return 740 IF (PRVl.EQ.O.0D0.AND.PRV2.EQ.O.ODO) GO TO 760 IF (DRVl.GT.O.ODO) GO TO 750 DIRV = DRV2 GO TO 770 750 DIRV = DRVl + {(0.95D0-PRVl) * {DRV2-DRV1) / (PRV2-PRV1)) GO TO 77 0 760 DIRV = O.ODO C the 0.975 fractile estimate for internal rate of return 770 IF (PRWl.EQ.O.ODO.AND.PRW2.EQ.O.ODO) GO TO 790 IF (DRWl.GT.O.ODO) GO TO 780 DIRW = DRW2 GO TO 800 780 DIRW = DRWl + ((0.975D0-PRWl) * (DRW2-DRW1) / (PRW2-PRW1)) GO TO 80 0 790 DIRW = O.ODO C the 0.99 fractile estimate for internal rate of return 800 IF (PRXl.EQ.O.ODO.AND.PRX2.EQ.O.ODO) GO TO 810 IF (DRXl.GT.O,0D0) GO TO 805 DIRX = DRX2 GO TO 815 805 DIRX = DRXl + ((0,99D0-PRXl) * (DRX2-DRX1) / (PRX2-PRX1)) GO TO 815 810 DIRX = O.ODO 815 IF (PRYl.EQ.O.ODO.AND.PRY2.EQ.O.ODO) GO TO 825 IF (DRYl.GT.O.ODO) GO TO 820 DIRY = DRY2 GO TO 830 820 DIRY = DRYl + ((0.995D0-PRYl) * (DRY2-DRY1) / (PRY2-PRY1)) GO TO 83 0 825 DIRY = O.ODO PRINT*,'cheking point A' Appendix D-. Source Code of the Model 23A C check the fractile estimates 830 IF ( D I R B . L T . D I R C . A N D . D I R C . L T , D I R D ) GO TO 835 IF (DIRB.GT.DIRD) GO TO 835 DIRC = DIRE + {(0.01D0-0.005D0)*(DIRD-DIRB)/(0.025D0- O.OOSDO)) 835 IF (DIRC.LT.DIRD,AND.DIRD.LT.DIRE) GO TO 840 IF (DIRC.GT.DIRE) GO TO 840 DIRD = DIRC + ( (0.025D0-0.01D0)*(DIRE-DIRC)/(0,05D0-0,01D0) ) 840 IF (DIRD.LT.DIRE.AND.DIRE,LT.DIRF) GO TO 845 IF (DIRD,GT,DIRF) GO TO 845 DIRE = DIRD + ( (0,05D0-0,025D0)*(DIRF-DIRD)/(0,1D0-0,025D0)) 845 IF (DIRE,LT,DIRF,AND.DIRF.LT.DIRG) GO TO 850 IF (DIRE.GT.DIRG) GO TO 850 DIRF = DIRE + ((O.lDO-0.05D0)*(DIR6-DIRE)/(0.25D0-0.05D0)) 850 IF (DIRF.LT.DIRG.AND.DIRG.LT.DIRM) GO TO 855 IF (DIRF.GT.DIRM) GO TO 855 DIRG = DIRF + ( (0.25D0-0.1D0)*(DIRM-DIRF)/(0.5D0-0.1D0) ) 855 IF (DIRG.LT.DIRM.AND.DIRM.LT.DIRT) GO TO 860 IF (DIRG.GT.DIRT) GO TO 860 DIRM = DIRG + ((0.5D0-0.25D0)*(DIRT-DIRG)/(0.75D0-0.25D0)) 860 IF (DIRM.LT.DIRT.AND.DIRT.LT.DIRU) GO TO 865 IF (DIRM.GT.DIRU) GO TO 865 DIRT = DIRM + ((0.75D0-0.5D0)*(DIRU-DIRM)/(0.9D0-0.5D0)) 865 IF (DIRT.LT.DIRU.AND.DIRU.LT.DIRV) 60 TO 870 IF (DIRT.GT.DIRV) GO TO 870 DIRU = DIRT + ((0.9D0-0.75D0)•(DIRV-DIRT)/(0.95D0-0.75D0)) 870 IF (DIRU,LT.DIRV,AND.DIRV.LT.DIRW) GO TO 875 IF (DIRU.GT.DIRW) GO TO 875 DIRV = DIRU + ((0.95D0-0.9D0)*(DIRW-DIRU)/(0.975D0-0.9D0)) 875 IF (DIRV.LT.DIRW.AND.DIRW.LT.DIRX) GO TO 880 IF (DIRV.GT.DIRX) GO TO 880 DIRW = DIRV + ((0.975D0-0.95D0)*(DIRX-DIRV)/(0.99D0-0.95D0)) 880 IF (DIRW.LT.DIRX.AND.DIRX.LT.DIRY) GO TO 900 IF (DIRW.GT.DIRY) GO TO 900 DIRX = DIRW + ((0.99D0-0.975D0)*(DIRY-DIRW)/(0.995D0- 0.975D0)) C the expected value of internal rate of return 900 DELT = DIRV + DIRE - (2.0D0 * DIRM) AIRT = DIRM + (0.185D0 * DELT) AIRR = AIRT * 100.ODO PRINT*,'just after line 900" Appendix D: Source Code of the Model 23 5 C the standard deviation of internal rate of return IF (DIRV <= DIRE) GO TO 950 SIGl = (DIRV - DIRE) / 3.25D0 SIRl = 3.29D0 - (O.IOODO * (DELT/SIGl)**2) IF (SIRl <= 3.08D0) GO TO 910 SIGMl = (DIRV - DIRE) / SIRl GO TO 920 910 SIGMl = (DIRV - DIRE) / 3.08D0 920 SIRR = SIGMl * 100.ODO GO TO 9 60 950 SIRR = O.ODO 960 WRITE (7,970) 970 FORMAT (/,'The Internal Rate of Return for the Project (%)•) WRITE (7,980) 980 FORMAT (' Exp.Value===== S.Dev=========') WRITE (7,990) AIRR,SIRR 990 FORMAT (10X,2F15.3) DIRD DIRE DIRF DIRG DIRM DIRT DIRU DIRV DIRW = = = = = = = = = DIRD DIRE DIRF DIRG DIRM DIRT DIRU DIRV DIRW * * • * * * * * * 100. 100, 100. 100. 100. 100. 100. 100, 100. .ODO .ODO .ODO .ODO .ODO ,0D0 .ODO .ODO .ODO WRITE (7, 1100) 1100 FORMAT (/,'Probable IRRs•) WRITE (7, 1101) • 2.5', DIRD WRITE WRITE WRITE WRITE WRITE WRITE WRITE WRITE (7, (7, (7, (7, (7, (7, (7, (7, 1101) 1101) 1101) 1101) 1101) 1101) 1101) 1101) • 5 '10, •25 '50, ' 75, ' 90. ' 95. ' 97. .0' .0' .0' .0' .0' 0- 0' 5' / 1 / 1 / / t / f / 1 DIRE DIRF DIRG DIRM DIRT DIRU DIRV DIRW 1101 FORMAT (A4,'% = ', F15.2) WRITE (20, 9910) + DIRD,DIRE,DIRF,DIRG,DIRM,DIRT,DIRU,DIRV,DIRW PRINT*,'DIRD,DIRE,DIRF,DIRG,DIRM,DIRT,DIRU,DIRV,DIRW" + DIRD,DIRE,DIRF,DIRG,DIRM,DIRT,DIRU,DIRV,DIRW 9910 FORMAT (' Project IRR export for EXCEL', + /,• ',F20.2,', 2.50', + /,' •,F20.2,•, 5.00', Appendix D: Source Code of the Model 236 + + + + + + + /,' /.• /,' /,' 1 .' /.' /.' , F 2 0 . 2 , , P 2 0 . 2 , , F 2 0 . 2 , , F 2 0 . 2 , , F 2 0 . 2 , , F 2 0 . 2 , , F 2 0 . 2 , , 1 0 . 0 0 ' , , 2 5 . 0 0 ' , , 5 0 . 0 0 ' , , 7 5 . 0 0 ' , , 9 0 . 0 0 ' , , 9 5 . 0 0 ' , , 9 7 . 5 0 ' ) 1200 DEALLOCATE (x, Z) CALL TRACE (2, 'PRJIRR', 'exiting.') RETURN END Appendix D: Source Code of the Model 23 7 C Varble.FOR C modified by Toshiaki Hatakama in July, 1994. C ROUTINE TO APPROXIMATE A VARIABLE TO A PEARSON TYPE C DISTRIBUTION USING FIVE PERCENTILE ESTIMATES. C PEARSN is the pearson table C EST 1 thru 5 are the 5%ile estimates C CALC 1 thru 4 are the result calculus entries C this requires 2.5, 5.0, 50.0, 95.0, and 97.5 percentiles. €========================================================== SUBROUTINE VARBLE (PEARSN, + EST05, EST25, EST50, EST75, EST95, + CALCl, CALC2, CALC3, CALC4) IMPLICIT REAL*4{A-H,0-Z) INCLUDE •DEBUG.CMN' REAL*4 PEARSN (NPEARS, *) REAL*4 SIGM1(600), SIGM2(600) DEL = EST75 + EST25 - 2 . ODO * EST50 CALCl = EST50 + 0.185D0 * DEL SIGl = (EST75 - EST25) / 3.25D0 SIG2 = {EST95 - EST05) / 3.92D0 IF (SIGl .EQ. O.ODO .AND. SIG2 .EQ. O.ODO) THEN CALCl = EST50 CALC2 = O.ODO CALC3 = O.ODO CALC4 = O.ODO GOTO 9 999 ENDIF SIGMl(l) = O.ODO SIGM2(1) = O.ODO K = 2 SIGMl(K) = SIGl 50 IF (590 < K) GO TO 700 XSIGMl = SIGMl(K) - SIGMl(K-l) XCHEKl = SIGMl(K-l) * O.OOOIDO IF (DABS (XSIGMl) < DABS (XCHEKl)) GO TO 70 K = K + 1 SI = 3.29D0 - O.IOODO * (DEL/SIGMl(K-1))**2 Appendix D: Source Code of the Model 23 8 IF (3.08D0 < SI) THEN SIGMl(K) = (EST75 - EST25) / SI ELSE SIGMl(K) = (EST75 - EST25) / 3.08D0 END IF GOTO 5 0 7 0 CONTINUE C C approximated standard deviation from 5% and 95% estimates C ASIGMl = SIGMKK) K = 2 SIGM2(K) = SIG2 80 IF (590 < K) GO TO 700 XSIGM2 = SIGM2(K) - SIGM2(K-1) XCHEK2 = SIGM2(K-1) * O.OOOIDO IF (DABS (XSI6M2) < DABS (XCHEK2)) GO TO 100 K = K + 1 S2 = 3.98D0 - 0.138D0 • (DEL/SIGM2(K-1))**2 IF (3.66D0 < S2) THEN SIGM2(K) = {EST95 - EST05) / S2 ELSE SIGM2(K) = (EST95 - EST05) / 3.66D0 END IF GOTO 8 0 100 CONTINUE ASIGM2 = SIGM2(K) IF (ASIGMl < ASIGM2) GO TO 110 SIGMAD = ASIGMl GO TO 120 110 SIGMAD = ASIGM2 120 CALC2 = SIGMAD ** 2 XA = (EST05 - CALCl) / SIGMAD XB = (EST25 - CALCl) / SIGMAD XC = (EST50 - CALCl) / SIGMAD XD = (EST75 - CALCl) / SIGMAD XE = (EST95 - CALCl) / SIGMAD C Select best fit distribution C compare standardised values to those of the pearson table C to obtain the skewness and the kurtosis from an approximated C pearson type distribution XX = 10.0 Appendix D: Source Code of the Model 2 3 9 C NP = 0 DO 150 K = 1 , 2 6 5 5 SUMSQ = (PEARSN (K, 4) - XA ) ** 2 + + (PEARSN (K, 5) - XB ) ** 2 + + (PEARSN (K, 8) - XC ) ** 2 + + (PEARSN (K,ll) - XD ) ** 2 + + (PEARSN (K,12) - XE ) ** 2 C if the square root of the sum of squared deviations is bigger than 10, C or what we've seen previousely, don't save 'em. IP (SUMSQ < XX) THEN XX = SUMSQ C NP = K BETl = PEARSN (K, 16) BET2 = PEARSN (K, 17) ENDIF 150 CONTINUE C IF (O.OIDO < XX) GO TO 700 C 2.5% and 97.5% estimates CALC3 = BETl * CALC2 ** 1.5 CALC4 = BET2 * CALC2 ** 2 9999 RETURN 700 lERR = 1 GOTO 9999 END Appendix D: Source Code of the Model 240 C Trans.FOR C modified by Toshiaki Hatakama in July, 1994. C ROUTINE TO TRANSFORM A SET OF CORRELATED VARIABLES TO A SET OF C UNCORRELATED VARIABLES USING THE CORRELATION MATRIX. THE C APPROACH IS REFFERED TO AS THE VARIABLE TRANSFORMATION METHOD. C THE FIRST FOUR MOMENTS OF THE TRANSFORMED VARIABLES ARE C EVALUATED FROM THE FIRST FOUR MOMENTS OF THE PRIMARY VARIABLES C calls INV, DECOMP, DGMULT SUBROUTINE TRANS (I, NM, NSIZEl, NSIZE2, CALCl, CALC2, COR, + TRI) IMPLICIT REAL*4 (A-H,0-Z) INCLUDE "DEBUG.CMN' REAL*4 CALCl (4, NSIZEl, *) REAL*4 CALC2 (4, NSIZEl, *) REAL*4 COR (NSIZEl, NSIZE2, *) REAL*4 TRI (NSIZE2, *) INTEGER IPERM (:) ALLOCATABLE IPERM REAL*4 SCOR (:) REAL*4 ADIG {:,:), ADIGI (:,:), TR (:,:), CORR (:) REAL*4 CORRL (:,:), CORLI (:,:) ALLOCATABLE SCOR, ADIG, ADIGI, TR, CORR, CORRL, CORLI CALL TRACE (3, 'TRANS', 'Starting.') ALLOCATE (IPERM (NM)) ALLOCATE (SCOR (NM)) ALLOCATE (ADIG (NM, NM)) ALLOCATE (ADIGI (NM, NM)) ALLOCATE (TR (NM, NM)) ALLOCATE (CORR (NM * NM)) ALLOCATE (CORRL (NM, NM)) ALLOCATE (CORLI (NM, NM)) DRATIO = l.OD-7 C diagonal matrix of the standard deviations DO 20 J=1,NM DO 20 K=1,NM IF (J == K) THEN ADIG(J,K) = CALCl(2,I,J)**0.5D0 ELSE ADIG(J,K) = O.ODO ENDIF Appendix D: Source Code of the Model 241 2 0 CONTINUE C correlation matrix as a 1-D array for Cholesky decomposition LLN = NM - 1 DO 100 J=1,NM DO 90 K=1,NM L = (LLN * K) + J - LLN IP (J < K) THEN CORR (L) = COR(I,K,J) ELSE IP (J == K) THEN CORR (L) = l.ODO ELSE CORR (L) = O.ODO ENDIP 9 0 CONTINUE 10 0 CONTINUE C the inverse of the diagonal matrix of standard deviations CALL INV (NM, NM, ADIG, IPERM, NM, ADIGI, DDET, JEXP, DCOND) IP (DDET == 0) THEN WRITE (7, 9901) I GO TO 999 9 ENDIP CALL DECOMP (CORR, NM, NM, DRATIO) IP (DRATIO <= O.ODO) THEN WRITE (7, 9902) I GO TO 9999 ENDIP C the lower traingular matrix from the Cholesky decomposition DO 200 J=1,NM DO 190 K=1,NM IP (J < K) GO TO 180 L = (LLN*K) + J - LLN CORRL(J,K) = CORR(L) GO TO 190 180 CORRL(J,K) = O.ODO 190 CONTINUE 2 00 CONTINUE C the inverse of the lower triangular matrix from C D CALL INV (NM, NM, CORRL, IPERM, NM, CORLI, DDET,JEXP,DCOND) IP (DDET == 0) THEN WRITE (7,9903) I GO TO 99 99 ENDIP Appendix D: Source Code of the Model 2 42 C the transformation matrix CALL DGMULT (CORLI, ADIGI, TR, NM, NM, NM) C the inverse of the transformation matrix C NSIZE2 had better darn well be larger than NM CALL INV (NM, NM, TR, IPERM, NSIZE2, TRI, DDET, JEXP, DCOND) IF (DDET == 0) THEN WRITE (7, 9904) I GO TO 9999 ENDIF C MOMENTS OF THE TRANSFORMED UNCORRELATED VARIABLES C Z = CALCKl, C Z : TRANSFORMED VARIABLES C X : CORRELATED VARIABLES C A : THE TRANSFORMATION MATRIX C CALC2(1 : EXPECTED VALUE OF THE TRANSFORMED VARIABLES DO 340 J=1,NM CALC2(1,I,J) = O.ODO DO 340 K=1,NM 340 CALC2(1,I,J) = CALC2{1,I,J) + TR(J,K) * CALC1(1,I,K) C CALC2(2, : SECOND CENTRAL MOMENT OF THE TRANSFORMED VARIABLES DO 401 J=1,NM SCOR (J) = O.ODO DO 401 K=1,NM-1 TEMP = TR (J, K) IF (TEMP .NE. O.ODO) THEN DO 400 L=K+1,NM 400 SCOR (J) = SCOR (J) + TEMP * TR (J, L) * + COR (I, K, L) * + (CALCl (2, I, K) * + CALCl (2, I, L) ) ** 0.5D0 ENDIF 401 CONTINUE DO 450 J=1,NM CALC2(2,I,J) = 2.0D0 * SCOR(J) DO 450 K=1,NM 450 CALC2{2,I,J) = CALC2(2,I,J) + TR(J,K)**2 * CALC1(2,I,K) C CALC2(3, : THIRD CENTRAL MOMENT OF THE TRANSFORMED VARIABLES DO 500 J=1,NM CALC2(3,I,J) = O.ODO DO 500 K=1,NM 500 CALC2(3,I,J) = CALC2(3,I,J) + TR(J,K)**3 * CALC1(3,I,K) Appendix D: Source Code of the Model C CALC2(4, : FOURTH CENTRAL MOMENT OF THE TRANSFORMED VARIABLES 2 4 3 DO 6 0 0 J = 1 , N M C A L C 2 ( 4 , I , J ) = O.ODO DO 6 0 0 K=1,NM 6 0 0 C A L C 2 { 4 , I , J ) = C A L C 2 ( 4 , I , J ) + T R { J , K ) * * 4 * C A L C 1 ( 4 , I , K ) 1000 CALL TRACE (3, 'TRANS', 'exiting.') DEALLOCATE (SCOR, ADIG, ADIGI, TR, CORR, CORRL, CORLI) RETURN 9999 lERR = 1 GOTO 1000 9 9 01 FORMAT(/,'WP(',15,'), 9902 FORMAT(/,'WP(',15,'), 9903 FORMAT{/,'WP(',15,'), 9904 FORMAT(/,•WP{',15,'), END MTX INV. FAILED.',/,/) CHOLESKY DECOMP. FAILED.',/,/) LOWER TRI MTX INV. FAILED.',/,/) TRNSF MTX INV. FAILED.',/,/) Appendix D: Source Code of the Model 244 C WpDFP.FOR C modified by Toshiaki Hatakama in July, 1994. C Routine to check the type of functional form for work package C duration and to estimate the function at the mean values of C the transformed variables. C=========================================================== SUBROUTINE WPDFF(IFF,X,EVY) C=========================================================== IMPLICIT REAL*4(A-H,0-Z) INTEGER IFF REAL*4 EVY, X(*) GO TO (10,10,30,10,10),IFF 10 EVY = X(l) / (X(2) * X(3)) GO TO 100 30 EVY = X(l) + (3000.ODO / (X(2) * X(3))) GO TO 100 100 RETURN END Appendix D: Source Code of the Model 2 45 C MmTwPl.FOR C modified by Toshiaki Hatakama in July, 1994. C 07niar94 MJW C ROUTINE TO APPROXIMATE THE FIRST FOUR MOMENTS OF A DEPENDENT C VARIABLE AT WORK PACKAGE/REVENUE STREAM LEVEL. IT USES THE C MOMENTS OF THE TRANSFORMED VARIABLES WITH THE TRUNCATED C SECOND ORDER TAYLOR SERIES EXPANSION OF THE FUNCTION. C================================================================= SUBROUTINE MMTWPL (I,NN,NDIM,CALCl,GZ,PDl,PD2,CALC2,STFO) C================================================================= IMPLICIT REAL*4(A-H,0-Z) INCLUDE •DEBUG.CMN' REAL*4 CALCl (4, NDIM, * ) , CALC2 {4, *) REAL*4 PDl (•), PD2 {*) DOUBLE PRECISION TROUBL CALL TRACE (3, 'MMTWPL', 'starting.') CALC2 (1,1) = GZ ! the expected value of the dependent ! variable CALC2 (2,1) = O.ODO CALC2 (3,1) = O.ODO CALC2 (4,1) = O.ODO STFO = O.ODO DO 10 J=1,NN CALC2 (1,1) = CALC2 (1,1) + 0.5D0 * PD2 (J) * CALCl (2,I,J) C the second central moment of the dependent variable C from the first order approximation STFO = STFO + PD1(J)**2 • CALC1(2,I,J) C from the second order approximation CALC2(2,I) = CALC2(2,I) + PD1(J)**2 * + CALC1(2,I,J) + PDl(J) * PD2(J) * + CALC1(3,I,J) + 0.25D0 * PD2(J)**2 * + (CALCl(4,I,J) - CALCl(2,I,J)**2) C the third central moment of the dependent variable CALC2(3,I) = CALC2(3,I) + PD1(J)**3 * + CALC1(3,I,J) + 1.5D0 * PD1(J)**2 * PD2 (J) * + (CALCl(4,I,J) - CALCl(2,1,J)•*2) C the fourth central moment of the dependent variable Appendix D: Source Code of the Model 24 6 TROUBL = PDl(J) ** 4 * CALCl (4, I, J) 10 CALC2(4,I) = CALC2(4,I) + TROUBL CALL TRACE (3, 'MMTWPL•, 'exiting.') RETURN END Appendix D: Source Code of the Model 24 7 C CoVar.FOR C modified by Toshiaki Hatakama in July 1994. C ROUTINE TO APPROXIMATE THE CORRELATION BETWEEN TWO DEPENDENT C VARIABLES USING CORRELATION INFORMATION BETWEEN THE PRIMARY C VARIABLES AND THEIR PARTIAL DERAVATIVES. C SX is a (4,NWP,*) array, we only access SX(2,I,*) & SX(2,J,*). C==================================================================== SUBROUTINE COVAR(JU,NDCV, I,J,NI,NJ,PX,SX,COR,STFOI,STFOJ,COC) C==================================================================== IMPLICIT REAL*4(A-H,0-Z) INCLUDE 'DEBUG.CMN' PARAMETER (JSZ = 50,KSZ = 25) REAL*4 PX (NWP, * ) , + SX (4, NWP, * ) , + COR (NWP, MAXDVC, * ) , + COC (NWP, •) REAL*4 COV(JSZ,JSZ),CORR(JSZ,KSZ,KSZ) REAL*4 PD(JSZ,KSZ},SD(JSZ,KSZ) INTEGER MI(KSZ),MJ(KSZ) C read the number of common variables in the functional forms C for the dependent variables CALL TRACE (2, 'COVAR', 'starting.') C read the combinations of common variables READ (JU, 30) (MI (K) , MJ (K) , K = l, NDCV) 30 FORMAT(26(12,12)) C renumber the second central moment and the partial deravatlve C of common variables In given order DO 50 K=1,NDCV MMI = MI(K) MMJ = MJ(K) PD(I,K) = PX(I,MMI) SD(I,K) = SX(2,I,MMI) PD(J,K) = PX(J,MMJ) SD(J,K) = SX(2,J,MMJ) C the correlation coefficients between the common variables LL = K+1 IF(LL.GT.NDCV) GO TO 50 DO 40 L=LL,NDCV LLI = MI(L) LLJ = MJ(L) CORR(I,K,L) = COR(I,MMI,LLI) Appendix D: Source Code of the Model 24 8 CORR(I,L,K) = COR(I,LLI,MMI) CORR(J,K,L) = COR(J,MMJ,LLJ) CORR(J,L,K) = COR(J,LLJ,MMJ) 4 0 CONTINUE 5 0 CONTINUE C renumber the second central moment and the partial deravative C of the other variables in the functional forms LL = NDCV DO 80 K = 1,NI DO 70 L=1,NDCV MMI = MI(L) IF (K.EQ.MMI) GO TO 80 7 0 CONTINUE LL = LL+1 MI(LL} = K PD{I,LL) = PX(I,K) SD(I,LL) = SX(2,I,K) 8 0 CONTINUE LL = NDCV DO 100 K = 1,NJ DO 90 L=1,NDCV MMJ = MJ(L) IF (K.EQ.MMJ) GO TO 100 9 0 CONTINUE LL = LL+1 MJ(LL) = K PD(J,LL) = PX(J,K) SD(J,LL) = SX(2,J,K) 100 CONTINUE C the correlation between the common variables and the others. LL = NDCV+1 DO 120 K=LL,NI MMK = M K K ) DO 110 L=1,NI MMI = MI(L) IF (MMI.EQ.MMK) GO TO 110 CORR(I,K,L) = COR{I,MMK,MMI) CORR(I,L,K) = COR(I,MMI,MMK) 110 CONTINUE 120 CONTINUE LL = NDCV+1 DO 150 K=LL,NJ MMK = MJ(K) DO 140 L=1,NJ MMJ = MJ{L) IF (MMJ.EQ.MMK) GO TO 140 CORR{J,K,L) = COR(J,MMK,MMJ) CORR(J,L,K) = COR(J,MMJ,MMK) 140 CONTINUE Appendix D: Source Code of the Model 24 9 150 CONTINUE C covariance between two dependent variables I and J C from the common variables In I and J COV{I,J) = O.ODO DO 200 K=1,NDCV DO 200 L=1,NDCV IF (K.EQ.L) THEN CORR(I,K,L) = l.ODO CORR(J,K,I.) = l.ODO ENDIF 200 COV(I,J) = COV(I,J) + PD(I,K) * PD{J,L) + • {SD(I,K) * SD(J,L))**0.5D0 * CORR(I,K,L) C from the common variables in I and others in J NNV = NDCV+1 DO 240 K=1,NDCV DO 240 L=NNV,NJ 240 COV(I,J) = COV(I,J) + PD{I,K) * PD(J,L) + * (SD{I,K) * SD(J,L))**0,5D0 * CORR{J,K,L) C from the common variables in J and others in I NNV = NDCV+1 DO 300 K=1,NDCV DO 300 L=NNV,NI 300 COV(I,J) = COV(I,J) + PD(J,K) * PD{I,L) + * (SD(J,K) * SD(I,L))**0.5D0 * CORR{I,K,L) C the correlation coefficient between two dependent variables COC(I,J) = COV{I,J) / ((STFOI * STFOJ)**0.5D0) COC(J,I) = COC(I,J) 500 CONTINUE CALL TRACE (2, •COVAR', 'exiting.') RETURN END Appendix D: Source Code of the Model 250 C NetWrk.FOR C Toshiaki Hatakama in July. 1994. C NOTHING preventing this from being called BEFORE EAST... C ...directly from MAIN (AMMA). C ROUTINE TO EVALUATE THE FIRST FOUR MOMENTS OF WORK PACKAGE. C EARLY START TIME USING THE PNET ALGORITHM C calls EARLY, CDFUNC, ESTMMT 0==================================================================== SUBROUTINE NETWRK (PEARSN, WPTIME, CORRD, ESTART, TRCOR) C==================================================================== IMPLICIT REAL*4(A-H,0-Z) PARAMETER (JSZ=5 0) INCLUDE •DEBUG.CMN" REAL*4 PEARSN (NPEARS, 17) REAL*4 WPTIME (4, NWP), CORRD (NWP, NWP) REAL*4 ESTART (4, NWP) INTEGER LIST (200, 40), LISREP (101, 40) CHARACTER*10 DESC (JSZ, 3) INTEGER WPNO (JSZ), NDEP (JSZ), PREWP (JSZ, 30) INTEGER SP, STACK (0:200), LIS (0:40), NTEMP (0:200) INTEGER LPP (200), LPPR (200), LISTR (200, 40) INTEGER LCOM (40), LPPS (200), LISTS (200, 40) INTEGER LPREP (200) REAL*4 CORTR (200, 200), SCOR (40) REAL*4 EVAL (200), SIGM (200), RVAL (200), RSIG (200) REAL*4 REVAL (200), RSIGM (200) REAL*4 SDTME (300), SKTME (300), AKTME (300) REAL*4 PTE (101,101) REAL*4 VA (300), VB (300), VC (300), VD (300), VE (300) REAL*4 VF (300) REAL*4 VG (300), VM (300), VT (300), VU (300), VV (300) REAL*4 VW (300) REAL*4 VX (300), VY (300), VZ (300) REAL*4 TM (101), PT (101) REAL*4 ED (JSZ), EE (JSZ), EG (JSZ), + EM (JSZ), + ET (JSZ), EV (JSZ), EW (JSZ) REAL*4 ETEMP (4, 101) CALL TRACE (1, 'NETWRK', 'starting.') ESTART (1, 1) = O.ODO ESTART (2, 1) = O.ODO Appendix D: Source Code of the Model 251 ESTART (3, 1) = O.ODO ESTART (4, 1) = O.ODO C read the input data from file at unit 10 NDEP(l) = 0 C all the data about to be read in (except TRCOR) goes into temp C vars. C it never leaves this routine, at least not without being processed. C WPNO & DESC are read in, then discarded like so much trash.... C TRCOR is returned to the calling routine. READ (10, 9 901) TRCOR DO 11 INWP = 2, NWP READ (10, 9902) WPNO (INWP), NDEP (INWP), + (DESC (INWP, J ) , J = 1, 3) 11 READ (10, 9903) (PREWP (INWP, J ) , J = 1, NDEP (INWP)) J = WPN0(2) + ICHAR(DESC(2,1) (1:1) ) C initialize the arrays (stack machine) DO 12 J = 0, 200 12 STACK (J) = 0 DO 13 J = 0, 20 13 LIS (J) = 0 DO 14 J = 0, 100 14 NTEMP (J) = 0 C the first four moments of Estart time from PNET C set up the stack machine DO 9 90 INWP = 2, NWP SP = 0 LP = 0 LN = 0 STACK (SP) = INWP LIS (LP) = INWP NTEMP (INWP) = NDEP (INWP) C develop the stack with current W.P. and its predecessors DO 90 J = 1, NDEP (INWP) PRED = PREWP (INWP, J) SP = SP + 1 STACK (SP) = PRED 90 NTEMP (PRED) = NDEP (PRED) C develop the lists of all the paths to the work packages 100 IF (SP == 0) GO TO 200 PRED = STACK (SP) IF (PRED == 1) GO TO 150 IF (NTEMP (PRED) == 0) GO TO 180 Appendix D: Source Code of the Model 2 52 LP = LP + 1 LIS (LP) = PRED C predecessors of the predecessors are added to the stack DO 110 J = 1, NDEP (PRED) SP = SP + 1 STACK (SP) = PREWP (PRED, J) PPRED = PREWP (PRED, J) 110 NTEMP (PPRED) = NDEP (PPRED) GO TO 100 150 LP = LP+1 LN = LN+1 LPP{LN) = LP LIS(LP) = PRED DO 160 J=1,LP 160 LIST(LN,J) = LIS(J) C remove the work package from the stack and list 180 STACK(SP) = 0 LIS(LP) = 0 SP = SP - 1 LP = LP - 1 PRED = LIS (LP) NTEMP (PRED) = NTEMP (PRED) - 1 GO TO 100 C check the number of paths to the work package 200 IF (LN == 1) GO TO 950 C expected value and standard deviation for all paths DO 230 J=1,LN EVAL{J) = O.ODO SIGM(J) = O.ODO LP = LPP (J) -1 DO 230 K=1,LP SCOR(K) = O.ODO Jl = LIST(J,K) EVAL{J) = EVAL(J) + WPTIME (1, Jl) MM = K+1 IF (MM <= LP) THEN DO 210 M=MM,LP J2 = LIST(J,M) 210 SCOR(K) = SCOR(K) + C0RRD(J1,J2) + * (WPTIME (2, Jl) * WPTIME (2, J2))**0.5D0 END IF 220 SIGM(J) = SIGM{J) + WPTIME (2, Jl) + 2.0D0*SCOR(K) 230 CONTINUE C rearrange lists according to decreasing order of S.D MR = 0 Appendix D: Source Code of the Model 253 2 50 SMAX = O.ODO MR = MR+1 DO 260 J=1,LN IF (SMAX < SIGM (J)) THEN SMAX = SIGM (J) MO = J ENDIF 2 60 CONTINUE IF (O.ODO < SMAX) THEN RVAL (MR) = EVAL (MO) RSIG (MR) = SIGM (MO) LPPS (MR) = LPP (MO) - 1 LP = LPPS (MR) DO 280 K = 1, LP 280 LISTS (MR, K) = LIST (MO, K) SIGM (MO) = O.ODO GO TO 250 ENDIF C rearrange lists according to decreasing order of E.V. C Son of BOGOSORT... MR = 0 300 AMAX = O.ODO MR = MR+1 DO 310 J=1,LN IF (AMAX < RVAL(J)) THEN AMAX = RVAL(J) MO = J ENDIF 310 CONTINUE IF (AMAX /= O.ODO) THEN REVAL(MR) = RVAL(MO) RSIGM(MR) = RSIG(MO) LPPR(MR) = LPPS(MO) LP = LPPR(MR) DO 330 K=1,LP 330 LISTR(MR,K) = LISTS(MO,K) RVAL(MO) = O.ODO 60 TO 3 00 ENDIF C transition correlation coefficient between paths DO 390 J=1,LN LP = LPPR(J) KK = J+1 IF (KK <= LN) THEN DO 385 K=KK,LN Appendix D: Source Code of the Model 2 54 MNO = 0 MP = LPPR(K) DO 360 L=1,LP Jl = LISTR(J,L) DO 360 M=1,MP J2 = LISTR(K,M) IF (Jl == J2) THEN MNO = MNO+1 LOOM(MNO) = Jl ENDIF 3 60 CONTINUE CORTR(J,K) = O.ODO C no common work packages in the two paths IF (MNO /= 0) THEN DO 380 L=1,MN0 Jl = LCOM(L) 380 C0RTR(J,K) = CORTR(J,K) + + (WPTIME (2, Jl) / ({RSIGM{J) * RSIGM(K))**0.5D0)) ENDIF 3 85 CONTINUE ENDIF 3 90 CONTINUE C select the representative paths 400 MREP = 0 DO 450 J=1,LN IF (REVAL(J) /= O.ODO) THEN MREP = MREP+1 LPREP(MREP) = LPPR(J) LP = LPREP(MREP) DO 420 K=1,LP 420 LISREP(MREP,K) = LISTR(J,K) KK = J+1 IF (KK <= LN) THEN DO 430 K=KK,LN IF (TRCOR <= CORTR(J,K)) REVAI.(K) = O.ODO 43 0 CONTINUE ENDIF ENDIF 450 CONTINUE C if there is only one representative path, skip to line 900 IF (MREP == 1) GO TO 900 C first four moments of a representative path SMAX = O.ODO DO 500 J=l, MREP ETEMP (1, J) = O.ODO ETEMP (2, J) = O.ODO ETEMP (3, J) = O.ODO Appendix D: Source Code of the Model 2 55 ETEMP (4, J) = O.ODO LN = J LP = ]:.PREP(J) IF (LP <= 1) THEN C only one work package on the path DO 470 K=1,LP Jl = LISREP(LN,K) ETEMP (1, J) = ETEMP (1, J) + WPTIME (1, Jl) ETEMP (2, J) = ETEMP (2, J) + WPTIME (2, Jl) ETEMP (3, J) = ETEMP (3, J) + WPTIME (3, Jl) 470 ETEMP (4, J) = ETEMP (4, J) + WPTIME (4, Jl) ELSE C multiple work packages on the path CALL EARLY (J, LN, LP, 2, + WPTIME, CORRD, + ETEMP, + LIST, LISREP) IF (0 < lERR) GO TO 1000 ENDIF C Standard deviation, skewness and kurtosis for the path SDTME (J) = ETEMP (2, J) ** 0.5D0 SKTME (J) = ETEMP (3, J) / (ETEMP (2, J) ** 1.5D0) AKTME (J) = ETEMP (4, J) / (ETEMP (2, J) ** 2) C values of the approximated pearson distribution CALL CDFUNC (PEARSN, + ETEMP (1, J ) , SDTME (J), SKTME (J), AKTME (J) , + VA{J) ,VB(J) ,VC(J) ,VD(J) ,VE(J) ,VF(J) ,VG(J) , + VM(J), + VT(J) ,VU(J) ,VV(J) ,VW(J) ,VX(J) ,VY{J) ,VZ(J) ) C maximum standard deviation for representative paths IF (SMAX < SDTME(J)) THEN SMAX = SDTME(J) ENDIF 500 CONTINUE C starting duration and incremental step for CDF of EST C this is the only reference to an unindexed value of AETME. C this means that AETME, SETME, TETME & FETME can probably be C scrapped. TSTART = ETEMP (1, 1) - (3.0D0 * SMAX) TSTEP = SMAX / lO.ODO Appendix D: Source Code of the Model 256 DO WHILE (VA (1) < TSTART) TSTART = TSTART - TSTEP END DO C duration cycle to develop the CDF for EST J = l 53 0 JNUM = J JJ = J-1 TM(J) = TSTART + (FLOAT(JJ)*TSTEP) C probability of achieving the duration for each path C FORTRAN doesn't know how to deal with a REAL*4 valued CASE statement so this is the closest that we can come, this could be re-written to use a table to pull out these two values.... O.ODO 0.0025D0, 0.0025DO 0.0050D0, 0.0050D0 O.OIOODO, 0.0150D0 0.0250D0, 0.0250D0 0.0500D0, 0.0500D0 O.IOOODO, 0.1500D0 0.2500D0, 0.2500D0 0.5000D0, 0 .7500D0, 0.9000D0, 0.9500D0, 0.9750DO, 0.9900D0, 0.9950D0, l.ODO 2500D0 1500D0 0500D0 0250D0 0150D0 0050D0 0025D0 DO 700 K=1,MREP IF (TM(J) <= VA(K)) THEN ELSE IF ELSE IF ELSE IF ELSE IF ELSE IF ELSE IF PTE(J (VA(K PTE(J (VB (K PTE(J (VC(K PTE(J (VD (K PTE(J (VE(K PTE(J (VF (K PTE(J ELSE IF (VG(K K) = O.ODO < TM(J) .AND. VB(K) K) = 0.0025D0 + (TM(J) - VA(K)) * 0. < TM(J) .AND. VC(K) K) = 0.0050D0 + (TM(J) - VB(K)) * 0. < TM(J) .AND. VD(K) K) = O.OIOODO + (TM(J) - VC{K)) • 0. < TM(J) .AND. VE(K) K) = 0.0250D0 + (TM(J) - VD(K)) • 0. < TM(J) .AND. VF(K) K) = 0.0500D0 + (TM(J) - VE(K)) * 0. < TM(J) .AND. VG(K) K) = O.IOOODO + (TM(J) - VF(K) ) * 0. < TM(J) .AND. VM(K) >= TM{J)) THEN 0025D0 / (VB(K) >= TM(J)) THEN 0050D0 / (VC(K) >= TM(J)) THEN 0150D0 / {VD(K) >= TM(J)) THEN 0250D0 / (VE(K) >= TM(J)) THEN 0500D0 / (VF(K) >= TM(J)) THEN 1500D0 / (VG(K) >= TM(J)) THEN VA(K))) VB(K))) VC(K)) ) - VD(K))) VE(K) ) ) VF(K))) Appendix D: Source Code of the Model 25 7 PTE(J,K) = 0.2500D0 + (TM{J) - VG(K)) * 0.2500D0 / (VM{K) - VG(K))) ELSE IF (VM(K PTE (J ELSE IF (VT(K PTE (J ELSE IF (VU(K PTE (J ELSE IF (VV(K PTE (J ELSE IF (VW(K PTE (J ELSE IF {VX{K PTE (J ELSE IF (Vy{K PTE (J ELSE IF (VZ(K >= TM(J)) THEN < TM(J) .AND. VT(K K) = 0.5000D0 + (TM(J) - VM{K)) * 0 < TM{J) .AND. VU(K K) = 0.7500D0 + (TM(J) - VT(K)) * 0 < TM(J) .AND. VV(K K) = 0.9000D0 + (TM(J) - VU(K)) * 0 < TM(J) .AND. VW(K K) = 0.9500D0 + (TM(J) - VV(K)) • 0 < TM(J) .AND. VX{K K) = 0.9750D0 + (TM(J) - VW(K)) * 0 < TM(J) .AND. VY{K K) = 0.9900D0 + {TM(J) - VX(K)) * 0 < TM(J) .AND, VZ(K K) = 0.9950D0 + (TM(J) - VY(K)) * 0.0025D0 / (VZ(K) < TM(J)) THEN 2500D0 / (VT(K) - VM(K))) >= TM(J)) THEN 1500D0 / (VU{K) - VT(K))) >= TM{J)) THEN 0500D0 / (VV(K) - VU(K))) >= TM(J)) THEN 0250D0 / (VW(K) - VV(K))) >= TM(J)) THEN 0150D0 / (VX(K) - VW(K))) >= TM(J)) THEN 0050D0 / (VY(K) - VX(K))) >= TM(J)) THEN VY(K))) 700 PTE(J,K) = l.ODO ENDIF CONTINUE C cumulative probability of the duration being EST 710 PT{J) = l.ODO DO 710 K = 1,MREP PT(J) = PT(J)*PTE(J,K) IF (PT(J) < l.ODO) THEN J = J + 1 GO TO 530 ENDIF C re-check this CAREFULLY with the original source to make sure that C all the tests come out correctly. C this is very messy, but I gather that it has a point. C notice the interchanging of K & J throughout. C fractile values of the CDF for work package EST DO 800 J = 2, JNUM K = J-1 IF {PT{J) < 0.025D0) GOTO 800 IF (PT(K) < 0,025D0 .AND. PT{J) >= 0.025D0) THEN ED (INWP) = + TM(K)+(0.02 5D0-PT{K))*(TM(J)-TM{K))/(PT(J)-PT(K)) IF (TM(J) >= 0.050D0) EE (INWP) = + TM(K)+(0.05 0D0-PT(K))*(TM(J)-TM(K))/(PT(J)-PT(K)) ENDIF IF (PT(J) < 0.050D0) GOTO 800 Appendix D: Source Code of the Model 25 8 IF {PT{K) < 0.050D0 .AND. PT(J) >= 0.050D0) THEN EE (INWP) = + TM(K)+(0.05 0D0-PT(K))*(TM(J)-TM(K))/(PT(J)-PT(K)) IF (TM(J) >= 0.250D0) EG (INWP) = + TM(K)+(0.25 0D0-PT(K))*(TM{J)-TM(K))/(PT(J)-PT(K)) ENDIF IF (PT(J) < 0.250D0) GOTO 800 IF (PT(K) < 0.250D0 .AND. PT(J) >= 0.250D0) THEN EG (INWP) = + TM(K)+(0.250D0-PT(K))*(TM(J)-TM(K))/(PT(J)-PT(K)) IF (TM(J) >= 0.500D0) EM (INWP) = + TM(K)+(0.5 0 0D0-PT(K))*(TM(J)-TM(K))/(PT(J)-PT(K)) ENDIF IF (PT(J) < 0.500D0) GOTO 800 IF (PT(K) < 0.500D0 .AND. PT(J) >= 0.500D0) THEN EM (INWP) = + TM(K)+(0.50 0D0-PT(K))*(TM(J)-TM(K))/(PT(J)-PT(K)) IF (TM(J) >= 0.750D0) ET (INWP) = + TM(K)+(0.75 0D0-PT(K))*(TM(J)-TM(K))/(PT(J)-PT(K)) ENDIF IF (PT(J) < 0.750D0) GOTO 800 IF (PT(K) < 0.750D0 .AND. PT(J) >= 0.750D0) THEN ET (INWP) = + TM(K)+(0.750D0-PT(K))*(TM(J)-TM(K))/(PT(J)-PT(K)) IF (TM(J) >= 0.950D0) EV (INWP) = + TM(K)+(0.95 0D0-PT(K))*(TM(J)-TM(K))/(PT(J)-PT(K)) ENDIF IF (PT(J) < 0.950D0) GOTO 800 IF (PT(K) < 0.950D0 .AND. PT(J) >= 0.950D0) THEN EV (INWP) = + TM(K)+(0.95 0D0-PT(K))*(TM(J)-TM(K))/(PT(J)-PT(K)) IF (TM(J) >= 0.975D0) EW (INWP) = + TM(K)+(0.97 5D0-PT(K))*(TM(J)-TM(K))/(PT(J)-PT(K)) ENDIF IF (PT(J) < 0.975D0) GOTO 800 IF (PT(K) < 0.975D0 .AND. PT(J) >= 0.975D0) THEN EW (INWP) = + TM(K)+(0.97 5D0-PT(K))*(TM(J)-TM(K))/(PT(J)-PT(K)) ENDIF 800 CONTINUE C first four moments of work package Estart time CALL ESTMMT (INWP, PEARSN, -t- ED,EE,EG,EM,ET,EV,EW, + ESTART) GO TO 9 90 C when there is only one representative path Appendix D: Source Code of the Model 900 LN = MREP LPP(LN) = LPREP(LN)+1 LP = I.PREP(LN} 259 920 DO 920 K = 1, LP LIST(LN,K) = LISREP(LN,K) C first four moments when only one PATH to the work package 950 ESTART (1, INWP) = O.ODO ESTART (2, INWP) = O.ODO ESTART (3, INWP) = O.ODO ESTART (4, INWP) = O.ODO LP = LPP(LN)-1 C deal with the special case of only one WORK PACKAGE. 970 + + + IF (1 < LP) THEN CALL EARLY (INWP, 1, IF ELSE DO ENDIF WPTIME, ESTART, , LP, 1, CORRD, LIST, LISREP) (0 < lERR) GO TO 970 K=1,LP Jl = LIST(LN,K) ESTART (1, INWP) ESTART (2, INWP) ESTART (3, INWP) ESTART (4, INWP) 1000 = ESTART = ESTART = ESTART = ESTART (1, (2, (3, (4, INWP) INWP) INWP) INWP) + + + + WPTIME WPTIME WPTIME WPTIME (1, (2, (3, (4, Jl) Jl) Jl) Jl) 9 90 CONTINUE 1000 CALL TRACE (1, •NETWRK•, 'exiting.') RETURN 9901 FORMAT(F6.3) 9902 FORMAT(2I3,3A10) 9903 FORMAT(30I3) END Appendix D: Source Code of the Model 2 60 C WpCmmt.FOR C modified by Toshiaki Hatakama in July, 1994 C ROUTINE TO EVALUATE THE FIRST FOUR MOMENTS OF THE WORK C PACKAGE COST FOR DIFFERENT DISCOUNT RATES. C = SUBROUTINE WPCMMT (I,DR,FRA, + NWPCF, NDVR, + XUCOST, TRIWPC, + COST, STFO) C = IMPLICIT REAL*4(A-H,0-Z) INCLUDE •DEBUG.CMN' INTEGER NWPCF (*), NDVR (*) REAL*4 XUCOST (4, NWP, * ) , TRIWPC (NWP, NWP, *) REAL*4 COST (4, *) REAL*4 X {:), Z (:), SZ (:), GZS (:), GZL (:) REAL*4 PWPCl (:),PWPC2{:) ALLOCATABLE X, Z, SZ, GZS, GZL, PWPCl, PWPC2 CALL TRACE (3, 'WPCMMT', 'starting.') NNVR = NDVR(I) ALLOCATE (X (NNVR)) ALLOCATE (Z (NNVR)) ALLOCATE (SZ (NNVR)) ALLOCATE (GZS (NNVR)) ALLOCATE (GZL (NNVR)) ALLOCATE (PWPCl (NNVR)) ALLOCATE (PWPC2 (NNVR)) C estimate G(Z) from the g(X) given by the user at the mean C values of Z (the transformed variables) and the partial C deratives with respect to the transformed variables. DO 10 J=1,NNVR 10 Z(J) = XUCOST (1, I, J) DO 2 0 J=1,NNVR X{J) = O.ODO DO 2 0 K=1,NNVR 20 X(J) = X{J) + TRIWPCd, J,K) * Z(K) C the value of 6(Z) at the mean values of Z CALL WPCFF (NWPCF (I), DR, FRA, X, GZ) C the partial deravatives of the transformed variables Appendix D: Source Code of the Model 2 61 DO 100 J=1,NNVR Z(J) = XUCOST (1, 1, J) * 0.99D0 SZ{J) = XUCOST (1, I, J) * O.OIDO DO 5 0 K=1,NNVR X{K) = O.ODO DO 5 0 L=1,NNVR 50 X(K) = X(K) + TRIWPC(I,K,L) * Z(L) C the value for 6(Z) when Z(J) is less than the mean value C (negative increment) CALL WPCFF (NWPCF (I), DR, FRA, X, GZS (J)) Z(J) = XUCOST (1, I, J) * I.OIDO DO 60 K=1,NNVR X(K) = O.ODO DO 60 L=1,NNVR 60 X(K) = X(K) + TRIWPC(I,K,L) * Z(L) C the value for G(Z) when Z(J) is more than the mean value C (positive increment) CALL WPCFF (NWPCF (I), DR, FRA, X, GZL (J)) C the first partial deravative with respect to Z(J) PWPCl(J) = (GZL(J) - GZS(J)) / (2.0D0 * SZ(J)) C the second partial deravative with respect to Z(J) PWPC2(J) = (GZL(J)+GZS(J)-2.ODO*GZ) / (SZ(J)**2) Z(J) = XUCOST (1, I, J) C PRINT*,'I,J,PWPC2,XUCOST (2, I, J)=•,I,J,PWPC2(J), C + XUCOST (2, I, J) 100 CONTINUE C the first four moments for the work package cost CALL MMTWPL (I,NNVR, + NWP, XUCOST, + GZ,PWPC1,PWPC2, + COST, STFO) DEALLOCATE (X, Z, SZ, GZS, GZL, PWPCl, PWPC2: CALL TRACE (3, 'WPCMMT', 'exiting.') RETURN END Appendix D: Source Code of the Model 2 62 C WpCff.FOR C modified by Toshiaki Hatakama in July, 1994. C Routine to check the type of functional form for work package C cost and to estimate the function at the mean values of the C transformed variables. 0============================================================= SUBROUTINE WPCFF (IFF, DR, FRA, X, EVY) 0============================================================= IMPLICIT REAL*4(A-H,0-Z) INTEGER IFF REAL*4 EVY, X (*) REAL*4 Z (5), AZ (5) EVY = O.ODO GO TO (100,200,200,200,200,200,200,200,900,1000,1100),IFF C Type 1 functional form 100 Z(l) = X(13)-DR IF (DABS{Z (1)) .GT.O.OOIDO) GO TO 110 AZ(1) = X(l) GO TO 12 0 110 AZ(1) = (DEXP(Z (1)*X(2) ) - DEXP(Z(1) * (X(2) -X(l) ) ) ) / Z(l) 120 Z(2) = X(14)-DR IF (DABS(Z(2)).GT.O.OOIDO) GO TO 130 AZ(2) = X(l) GO TO 140 130 AZ(2) = {DEXP(Z(2)*X(2)) - DEXP(Z(2)*{X(2)-X{1)))) / Z(2) 140 Z(3) = X(15)-DR IF (DABS(Z(3)).GT.O.OOIDO) GO TO 150 AZ(3) = X{1) GO TO 160 150 AZ(3) = (DEXP(Z{3)*X(2)) - DEXP(Z(3)*(X(2)-X(1)))) / Z(3) 160 Z(4) = X(16)-DR IF (DABS(Z(4)).GT.O.OOIDO) GO TO 170 AZ(4) = X(l) GO TO 180 170 AZ(4) = (DEXP(Z(4)*X(2)) - DEXP(Z(4)*(X(2)-X{1)))) / Z(4) 180 Z(5) = X(17)-DR IF (DABS(Z(5)).GT.O.OOIDO) GO TO 190 AZ(5) = X(l) GO TO 191 190 AZ(5) = (DEXP(Z{5)*X(2)) - DEXP(Z(5)*(X(2)-X(1)))) / Z(5) Appendix D: Source Code of the Model 2 63 191 Yl = X{9) • X(5) * AZ(1) + X(10) * X(4) * X(5) * AZ{2) + + X(ll) • X(6) * AZ(3) + (X(7)/X(l)) * AZ(4) + + X(8) * AZ(5) Y2 = X(9) * X(5) * (DEXP((X{13)-X(12))*X(2)) + - DEXP((X(13)-X(12))*(X{2)-X(l)))) / {X(13) - X(12)) + + X(10) * X(4) * X{5) * (DEXP((X(14)-X(12))*X(2)) + - DEXP((X(14)-X(12))*(X(2)-X(l)))) / (X(14) - X(12)) + + X(ll) * X(6) * {DEXP({X{15)-X{12))*X(2)) + - DEXP({X(15)-X(12))*{X{2)-X(l)))) / (X(15) - X(12)) + + (X{7)/X(l)) * (DEXP((X{16)-X(12))*X(2)) + - DEXP((X(16)-X(12))*(X(2)-X(l)))) / (X(16) - X(12)) + + X(8) * (DEXP((X(17)-X{12))*X{2)) + - DEXP((X(17)-X(12))*(X(2)-X(l)))) / (X(17) - X{12)) EVY = FRA * Yl + (1-FRA) * DEXP((X(12)-DR)*X(3)) * Y2 GO TO 9999 C Type 2, 3, 4, 5, 6, 7, and 8 functional forms. 2 00 EVY = X(l) / (X(2) * X{3)) GO TO 999 9 C Type 9 functional form, just constant dollar cost 900 EVY = X(4) GO TO 99 99 C Type 10 functional form. 1000 Z (1) = X(6)-DR IF (O.OOIDO < DABS (Z (1))) GO TO 1010 AZ(1) = X(l) GO TO 1020 1010 AZ(1) = (DEXP(Z(1)*X{2) ) - DEXP(Z(1) * {X(2) -X(l) ) ) ) / Z(l) 1020 Yl = (X(4)/X(l)) * AZ(1) Y2 = (X(4)/X(l)) * (DEXP(X{6)*(X(2) -X(l) ) + (X(6) -X(5) )*X(1)) C - DEXP(X{6)*(X(2)-X(l)))) / (X(6) - X(5)) EVY = FRA * Yl + (1-FRA) • DEXP((X(5)-DR)*X(3)) * Y2 GO TO 9999 C Type 11 functional form (toll highway). 1100 Z(1) = X(7)-DR IF (DABS(Z(1)).GT.O.OOIDO) GO TO 1110 AZ(1) = X(l) GO TO 1120 1110 AZ(1) = (DEXP(Z(1)*X(2)) - DEXP(Z(1)*(X(2)-X(l)))) / Z(l) 1120 Z(2) = X(7)-X(6) IF (DABS(Z(2)).GT.O.OOIDO) GO TO 1130 AZ(2) = (DEXP(X(7)*(X(2)-X(l))+X(6)*X(3)))*X(1) + /(DEXP(-X(6)*X(4))-1) GO TO 1140 Appendix D: Source Code of the Model 2 64 1130 AZ(2) = (DEXP(X(7)*(X(2)-X(l))+X(6)*(X(3)-(X(2)-X(l))))) + *(DEXP((X(7)-X(6))*X(1))-1) + /(DEXP(-X(6)*X(4) ) -1)/(X(7) -X(6) ) 1140 IF (DABS(DR).GT.O.OOIDO) GO TO 1150 AZ(3) = X(4) GO TO 1160 1150 AZ(3) = (DEXP(-DR*(X(3)+X(4)))-DEXP(-DR*X{3)))/DR 1160 Yl = (X(5)/X(l)) * AZ(1) Y2 = X(6) * (X(5)/X(l) ) * AZ(2) • AZ(3) EVY = PRA * Yl + (1-FRA) * Y2 9999 RETURN END Appendix D: Source Code of the Model 2 65 C RvsMMT.FOR C modified by Toshiaki Hatakama in July, 1994. C ROUTINE TO EVALUATE THE FIRST FOUR MOMENTS OF THE REVENUE C STREAMS FOR DIFFERENT DISCOUNT RATES. C DR is passed unchanged thru to RVSFF. C pass X, our beloved carrier variable, to RVSMMT as well. C let RVSFll & 12 take their parameters from there. C everyone else is doing it.... EXCEPT FRJIRR! C all values in X beyond NNVR are not modified by this routine. C NNVR is N D R V d ) , the maximum value of which is MAXDV. . . C calls RVSFF, MMTWPL C called by REVSTR, PRJIRR 0================================================================ SUBROUTINE RVSMMT (I, DR, BOTTLE, + NRVSF, NDRV, + XUREV, TRIRVS, + REV, + STFO) C if you have 16M Ram enough = 1 C if not =\ 1 $DEFINE enough = 0 INCLUDE •DEBUG.CMN' IMPLICIT REAL*4{A-H,0-Z) INTEGER NRVSF (*), NDRV (*) REAL*4 XUREV (4, NRS, *) $IF enough .EQ. 1 REAL*4 TRIRVS (NRS, MAXDVR, *) $ELSE REAL*4 TRIRVS {*), TEMPRVS (:,:) ALLOCATABLE TEMPRVS $ENDIF REAL*4 REV (4, * ) , BOTTLE (NRS, *) REAL*4 X {:), Z (:), PRVSl (:), PRVS2 (:) ALLOCATABLE X, Z, PRVSl, PRVS2 CALL TRACE (3, 'RVSMMT', 'starting.') NNVR = NDRV (I) ALLOCATE (X (NNVR)) ALLOCATE (Z (NNVR)) ALLOCATE (PRVSl (NNVR)) ALLOCATE (PRVS2 (NNVR)) Appendix D: Source Code of the Model 2 66 $IF enough .NE. 1 ALLOCATE (TEMPRVS (NNVR, NNVR)) $ENDIF C estimate 6(Z} from the g(X) given by the user at the mean C values of Z (the transformed variables) and the partial C deratives with respect to the transformed variables. DO 10 J = 1, NNVR Z (J) = XUREV (1, I, J) 10 CONTINUE DO 20 J = 1, NNVR X (J) = O.ODO DO 20 K = 1, NNVR $IF enough .EQ. 1 X (J) = X (J) + TRIRVS (I, J, K) * Z (K) $ELSE TEMPRVS (J, K) = SPA_GET3 (TRIRVS, I, J, K) X (J) = X (J) + TEMPRVS (J, K) * Z (K) $ENDIF 2 0 CONTINUE PRINT *, 'shakin tree #', I CALL RVSFF (NRVSF (I), 0, 2, DR, BOTTLE, I, X, GZ) ! G(Z) at meanVal of Z(J) PRINT*,'mean value finished' DO 100 J = 1, NNVR SZ = XUREV (1, I, J) * O.OIDO Z (J) = XUREV (1, I, J) * 0.99D0 ! G(Z) when Z(J) < ! meanVal DO 50 K = 1, NNVR X (K) = O.ODO DO 50 L = 1, NNVR $IF enough .EQ. 1 X (K) = X (K) + TRIRVS (I, K, L) * Z (L) $ELSE X (K) = X (K) + TEMPRVS (K, L) * Z (L) $ENDIF 5 0 CONTINUE CALL RVSFF (NRVSF (I), J, 1, DR, BOTTLE, I, X, GZS) Z (J) = XUREV (1, I, J) * I.OIDO ! G(Z) when Z(J) > ! meanVal Appendix D: Source Code of the Model 2 6 7 DO 70 K = 1 , NNVR X (K) = O.ODO DO 70 L = 1 , NNVR $IF enough .EQ. 1 X (K) = X (K) + TRIRVS (I, K, L) * Z (L) $ELSE X (K) = X (K) + TEMPRVS (K, L) * Z (L) $ENDIF 7 0 CONTINUE CALL RVSFF (NRVSF (I), J, 3, DR, BOTTLE, I, X, GZL) C the first and second partial deravative with respect to Z(J) PRVSl (J) = (GZL - GZS) / {2.0D0 * SZ) PRVS2 (J) = (GZL + GZS - 2.0D0 * GZ) / (SZ ** 2) Z (J) = XUREV (1, I, J) SENSITIVE = PRVSl (J) * Z (J) / GZ WRITE (121, *) 'Sensitivity coefficientl for',J,'=•,SENSITIVE DY = sensitive * 0.02 WRITE (122, *) 'Sensitivity coefficient2 for',J,'=•,DY 10 0 CONTINUE C the first four moments for the revenue stream CALL MMTWPL (I, NNVR, NRS, XUREV, GZ, PRVSl, PRVS2, REV, STFO) DEALLOCATE (X, Z, PRVSl, PRVS2) $IF enough .NE. 1 DEALLOCATE (TEMPRVS) $ENDIF CALL TRACE (3, 'RVSMMT•, 'exiting,') RETURN END Appendix D: Source Code of the Model 2 68 C RvSff.for C modified by Toshiaki Hatakama in July, 1994. C Routine to check the type of functional form for revenue C streams and to estimate the function at the mean values of C the transformed variables. C includes calls to RVSFll, RVSF12 C called by RVSMMT 0================================================================ SUBROUTINE RVSFF (IFF, KP, KT, DR, BOTTLE, I, X, EVY) C================================================================ IMPLICIT REAL*4{A-H,0-Z) INCLUDE 'DEBUG.CMN' REAL*4 X (*), BOTTLE (NRS, *) REAL*4 Z (5), AZ (5) GO TO + (100,200,200,200,200,200,200,200,200,1000,1100,1200,1300), + IFF C Type 1 functional form. 100 Z (1) = X (5) - DR IF (O.OOIDO < DABS (Z (1))) THEN AZ (1) = + ( DEXP (Z (1) * X (4) - DR * X (1)) + - DEXP ( - DR * X (1)) ) / Z(l) ELSE AZ (1) = X (4) END IF Z (2) = X (6) - DR IF (O.OOIDO < DABS (Z (2))) THEN AZ (2) = + ( DEXP (Z (2) * (X (1) + X (4))) + - DEXP (Z (2) • X (1) ) ) / Z(2) ELSE AZ (2) = X(4) ENDIF EVY = (X (2) • AZ (1)) - (X (3) * AZ (2)) GO TO 9 999 C Type 2, 3, 4, 5, 6, 7, 8, and 9 functional forms 2 00 EVY = X(l) / (X(2) * X(3)) GO TO 9999 C Type 10 functional form Appendix D: Source Code of the Model 2 69 1000 Z(l) = X(5)-DR IF (DABS(Z(1)).GT.O.OOIDO) GO TO 1010 AZ(1) = X(4) GO TO 1020 1010 AZ(1) = (DEXP(Z(1)*(X(l)+X(4))) - DEXP(Z(1)*X{1))) / Z(l) 1020 Z(2) = X(6)-DR IF (DABS(Z (2) ) .GT.O.OOIDO) GO TO 1030 AZ(2) = X(4) GO TO 1040 1030 AZ(2) = (DEXP(Z(2)*(X(l)+X(4))) - DEXP(Z(2)*X(1))) / Z(2) 1040 EVY = (X(2) * AZ(1)) - (X(3) * AZ(2)) GO TO 9999 C Type 11 functional form (Closed Toll Highway) 1100 CALL RVSFll (KP, KT, DR, BOTTLE, I, X, EVY) GOTO 9 999 C Type 12 functional form ('Open' Toll Highway) 1200 CALL RVSF12 (KP, KT, DR, BOTTLE, I, X, EVY) GOTO 999 9 C Type 13 functional form ('Closed' Toll Highway: fixed toll) 1300 CALL RVSF13 (KP, KT, DR, BOTTLE, I, X, EVY) GOTO 9999 9999 RETURN END INCLUDE 'RVSFll. I N C INCLUDE 'RVSF12.INC' INCLUDE 'RVSF13.INC' Appendix D: Source Code of the Model 2 70 C TanSp.POR C modified by Toshiaki Hatakama in July, 1994. C ROUTINE TO TRANSFORM CORRELATED WORK PACKAGE COSTS OR REVENUE C STREAMS TO UNCORRELATED WORK PACKAGE COSTS / REVENUE STREAMS. C this should take some sort of an offset into X to reduce the work C of copying arrays that are slightly non-standard into tempVars... SUBROUTINE TANSP (NM, + X, + Z, + COR, + TRI) IMPLICIT REAL*4(A-H,0-Z) INCLUDE •DEBUG.CMN' REAL*4 X (4, *) REAL*4 Z (4, *) REAL*4 COR (NM, NM) REAL*4 TRI (NM, NM) INTEGER IPERM (300) ! just in case this is used on MAXDVR vars REAL*4 SCOR ( REAL*4 ADIG ( REAL*4 TR (:, ) , CORR {:) , : ) , ADIGI (:,:) ) REAL*4 CORRL (:,:), CORLI (:,:) ALLOCATABLE SCOR, CORR, ADIG, ADIGI, TR, CORRL, CORLI CALL TRACE (3, 'TANSP', 'starting.') ALLOCATE (SCOR (NM)) ALLOCATE (CORR (NM * NM)) ALLOCATE (ADIG (NM, NM)) ALLOCATE (ADIGI (NM, NM)) ALLOCATE (TR (NM, NM)) ALLOCATE (CORRL (NM, NM)) ALLOCATE (CORLI (NM, NM)) DRATIO = l.OD-7 C diagonal matrix of the standard deviations DO 10 J=l, NM DO 10 K=l, NM IF (J == K) THEN ADIG (J, K) = X (2, J) ** 0.5D0 ELSE ADIG (J, K) = O.ODO ENDIP 10 CONTINUE Appendix D: Source Code of the Model 2 71 C correlation matrix as a 1-D array for Cholesky decomposition 4 0 LL = NM * NM DO 50 J = 1, LL 50 CORR (J) = O.ODO LLN = NM - 1 DO 100 J = 1, NM DO 90 K = 1, NM IF (J <= K) GO TO 60 L = (LLN * K) + J - LLN CORR (L) = COR (K, J) 60 TO 9 0 60 IF (J < K) GO TO 90 L = (LLN * K) + J - LLN CORR(L) = l.ODO 9 0 CONTINUE 100 CONTINUE C the inverse of the diagonal matrix of standard deviations CALL INV (NM, NM, ADIG, IPERM, NM, ADIGI, DDET, JEXP, DCOND) IF (DDET == O.ODO) THEN WRITE (7, 9901) lERR = 1 GO TO 100 0 ENDIF C Cholesky decomposition of the correlation matrix CALL DECOMP (CORR, NM, NM, DRATIO) IF (DRATIO <= O.ODO) THEN DO 160 J = 1, NM KK = J + 1 IF (KK <= NM) THEN DO 15 0 K = KK, NM COR (J, K) = O.ODO 150 COR (K, J) = O.ODO ENDIF 16 0 CONTINUE GO TO 4 0 ENDIF C the lower triangular matrix from the Cholesky decomposition DO 2 00 J = 1, NM DO 2 00 K = 1, NM IF (J < K) THEN CORRL (J, K) = O.ODO ELSE L = (LLN * K) + J - LLN CORRL (J, K) = CORR (L) Appendix D: Source Code of the Model 2 72 ENDIF 2 00 CONTINUE C the inverse of the lower triangular matrix from the decomposition CALL INV (NM, NM, CORRL, IPERM, NM, CORLI, DDET,JEXP,DCOND) IF (DDET == O.ODO) THEN WRITE (7, 9902) lERR = 1 GO TO 1000 ENDIF C the transformation matrix CALL D6MULT (CORLI, ADI6I, TR, NM, NM, NM) C the inverse of the transformation matrix CALL INV (NM, NM, TR, IPERM, NM, TRI, DDET,JEXP,DCOND) IF (DDET == O.ODO) THEN WRITE (7, 9903) lERR = 1 60 TO 1000 ENDIF C moments of the transformed W.P costs / revenue st : Z = X (1, K) C Z : transformed W.P.C/R.S C X : correlated W.P.C/R.S C A : the transformation matrix C Z : expected value of the transformed W.P.cost or rev. str. DO 3 00 J = 1, NM Z (1, J) = O.ODO DO 3 00 K = 1, NM 300 Z (1, J) = Z (1, J) + TR (J, K) * X (1, K) C Z (2, : second central moment of the transformed W.P.C or R.S DO 4 00 J = 1, NM SCOR (J) = O.ODO DO 400 K = 1, NM KK = K + 1 IF (KK <= NM) THEN DO 3 90 L = KK, NM 390 SCOR (J) = SCOR (J) + TR (J, K) * TR (J, L) * + COR (K, L) * + (X (2, K) * X (2, L)) ** 0.5D0 ENDIF 400 CONTINUE DO 410 J=1,NM Z (2, J) = 2.0D0 * SCOR (J) DO 410 K=1,NM 410 Z (2, J) = Z (2, J) + TR (J, K) *• 2 * X (2, K) Appendix D: Source Code of the Model 2 73 C Z (3, : third central moment of the transformed W.P.C or R.S DO 5 00 J=1,NM Z (3, J) = O.ODO DO 500 K=1,NM 500 Z (3, J) = Z (3, J) + TR (J, K) ** 3 • X (3, K) C Z (4, : fourth central moment of the transformed W.P.C or R.S DO 600 J=1,NM Z (4, J) = O.ODO DO 600 K=1,NM 600 Z (4, J) = Z (4, J) + TR (J, K) ** 4 * X (4, K) 1000 DEALLOCATE (SCOR, CORR, ADIG, ADIGI, TR, CORRL, CORLI) CALL TRACE (3, 'TANSP', 'exiting.') RETURN 9901 FORMAT{/,'INVERSION OP DIAG. MTX OF STD. DEV. FAILED.',//) 9902 FORMAT(/,'INVERSION OF LOWER TRIANGULAR MTX FAILED.',//) 9903 FORMAT(/,'INVERSION OF THE TRANSFORMATION MTX FAILED.',//) END Appendix D: Source Code of the Model 2 74 C CdFunc.FOR C modified by Toshiaki Hatakama in July 1994 C ROUTINE TO OBTAIN VALUES OF THE CUMULATIVE DISTRIBUTION C FUNCTION OF A DEPENDENT VARIABLE APPROXIMATED BY A PEARSON C TYPE DISTRIBUTION. 0============================================================ SUBROUTINE CDPUNC (PEARSN, + AM,SD,SK,AK, + VA,VB,VC,VD,VE,VF,VG, + VM, + VT,VU,VV,VW,VX,VY,VZ) C============================================================ IMPLICIT REAL*4(A-H,0-Z) INCLUDE "DEBUG.CMN' REAL*4 PEARSN (NPEARS,*) CALL TRACE (3, •CDFUNC•, 'starting.') C select the pearson distribution that best approximates the C shape characteristics of the dependent variable. C the beta2 values for the lower bound of betal DO 40 PINDEX = 1,NPEARS YS = SK - PEARSN (PINDEX, 16) YK = AK - PEARSN (PINDEX, 17) IF (O.ODO <= YS .AND. YS < O.IDO) THEN IP (O.ODO <= YK .AND. YK < O.IDO) GO TO 5 0 ENDIF 4 0 CONTINUE GO TO 200 C lower bound of betal fits a pearson type distribution 50 RSKW = YS RKRT = YK C is the lower bound of betal the last value YCHK = PEARSN (PINDEX + 1, 16) - PEARSN (PINDEX, 16) IF (O.OOOIDO < YCHK) GO TO 200 lYl = PINDEX IY2 = PINDEX + 1 C the beta2 values for the upper bound of the betal DO 90 PINDEX = 1,NPEARS ZS = PEARSN (PINDEX,16) - SK ZK = AK - PEARSN (PINDEX,17) IF (O.ODO <= ZS .AND. ZS < O.IDO) THEN IF (O.ODO <= ZK .AND. ZK < O.IDO) GO TO 100 Appendix D: Source Code of the Model 275 90 ENDIF CONTINUE GO TO 2 00 C upper bound of betal fits a pearson type distribution C redo with arrays, then this becomes a simple loop C is the upper bound of betal the last value 100 ZCHK = PEARSN (PINDEX+1, 16) - PEARSN (PINDEX, 16) IP (O.OOOIDO < ZCHK) GO TO 200 IZl = PINDEX IZ2 = PINDEX + 1 C interpolate the percentage points and evaluate values of the C cumulative distribution function of the dependent variable. C redo with arrays, then this becomes a simple loop. Call IntPol (Pearsn,RSKW,RKRT,lYl,IY2,IZ1,IZ2,<n>,SD,AM,V<n>) CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL INTPOL INTPOL INTPOL INTPOL INTPOL INTPOL INTPOL INTPOL INTPOL INTPOL INTPOL INTPOL INTPOL INTPOL INTPOL (PEARSN, (PEARSN, (PEARSN, (PEARSN, (PEARSN, (PEARSN, (PEARSN, (PEARSN, (PEARSN, (PEARSN, (PEARSN, (PEARSN, (PEARSN, (PEARSN, (PEARSN, RSKW, RSKW, RSKW, RSKW, RSKW, RSKW, RSKW, RSKW, RSKW, RSKW, RSKW, RSKW, RSKW, RSKW, RSKW, RKRT, RKRT, RKRT, RKRT, RKRT, RKRT, RKRT, RKRT, RKRT, RKRT, RKRT, RKRT, RKRT, RKRT, RKRT, lYl, lYl, lYl, lYl, lYl, lYl, lYl, lYl, lYl, lYl, lYl, lYl, lYl, lYl, lYl, IY2, IY2, IY2, IY2, IY2, IY2, IY2, IY2, IY2, IY2, IY2, IY2, IY2, IY2, IY2, IZl, IZl, IZl, IZl, IZl, IZl, IZl, IZl, IZl, IZl, IZl, IZl, IZl, IZl, IZl, IZ2 IZ2 IZ2 IZ2 IZ2 IZ2 IZ2 IZ2 IZ2 IZ2 IZ2 IZ2 IZ2 IZ2 IZ2 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,10 ,11 ,12 ,13 ,14 ,15 ,SD,AM,VA) ,SD,AM,VB) ,SD,AM,VC) ,SD,AM,VD) ,SD,AM,VE) ,SD,AM,VF) ,SD,AM,VG) ,SD,AM,VM) ,SD,AM,VT) ,SD,AM,VU) ,SD,AM,VV) ,SD,AM,VW) ,SD,AM,VX) ,SD,AM,VY) ,SD,AM,VZ) GO TO 3 00 C the normal distribution is used as the default distribution 200 VA VB VC VD VE VF VG VM VT VU VV VW VX VY VZ = = = = = = = = = = = = = = = AM AM AM AM AM AM AM AM AM AM AM AM AM AM AM - - - - - - - + + + + + + + (2.8070D0 (2.5758D0 (2.3263D0 (1.9600D0 (1.6449D0 (1.2816D0 (0.6745D0 (0.6745D0 (1.2816D0 (1.6449D0 (1.9600D0 (2.3263D0 (2.5758D0 (2.8070D0 * * * * * * * * * * * * * * SD) SD) SD) SD) SD) SD) SD) SD) SD) SD) SD) SD) SD) SD) Appendix D: Source Code of the Model 21S 300 CALL TRACE (3, 'CDFUNC•, 'exiting,') RETURN END INCLUDE 'INTPOL.INC Appendix D: Source Code of the Model 111 C Inv.MJW C modified by Toshiaki Hatakama in July, 1994. C this optimized version tests for the special case of a diagonal C matrix. C A can be as large as it likes, we only access up to [N,N]... 0================================================================= SUBROUTINE INV (N, NDIMT, Tl, IP, NDIMA, A, DET, lEXP, COND) 0================================================================= IMPLICIT REAL*4 (A-H,0-Z) REAL*4 A (NDIMA, NDIMA), Tl (NDIMT, NDIMT) INTEGER IP (*) C c o p y T 1 [ N , N ] i n t o A DET = l.DO lEXP = 0 COND = O.ODO ISDIAG = 1 DO 30 J=1,N DO 30 1=1,N A (I, J) = Tl (I, J) IF (I == J .AND. A (I, J) == O.ODO) THEN ISDIAG = 0 ELSE IF (I .NE. J .AND. A (I, J) .NE. O.ODO) THEN ISDIAG = 0 ENDIF ENDIF 3 0 CONTINUE IF (N == 1) GO TO 1991 IF (ISDIAG == 1) GOTO 1993 C first part of Cond CSUMA=0.D0 DO 45 J=1,N DO 45 1=1,N 45 CSUMA = CSUMA + A(I,J) ** 2 C inversion starts DO 199 K=1,N C find maximum element in K*th column AMAX=DABS(A(K,K)) IMAX=K Appendix D: Source Code of the Model 2 78 IF(K.EQ.N) GO TO 65 50 KP=K+1 DO 60 I=KP,N AIK=DABS{A(I,K)) IF (AIK.LE.AMAX) GO TO 60 5 5 AMAX=AIK IMAX=I 6 0 CONTINUE C test for singularity 65 IP (AMAX == O.DO) GO TO 300 C interchange rows K and IMAX IP (K) = IMAX IF (K.EQ.IMAX) GO TO 100 DET=-DET C compute the determinant, and scale as appropriate. 100 DET = DET * A (IMAX, K) IP (1,0D15 < DABS (DET)) THEN DET = DET * l.OD-15 lEXP = lEXP + 15 ENDIF IP (DABS (DET) < l.OD-15) THEN DET = DET * 1.0D15 lEXP = lEXP - 15 ENDIF C divide K*th row by A(K,K) 750 T=1./A(IMAX,K) A(IMAX,K)=A(K,K) A(K,K)=-1.0D0 DO 1999 1=1,N A(I,K)=-A(I,K)*T 19 9 9 CONTINUE DO 144 J=1,N IF (J == K) GO TO 144 C interchange rows K and IMAX TEMP=A(IMAX,J) IF (K.EQ.IMAX) GO TO 140 A(IMAX,J)=A(K,J) 75 A(K,J)=TEMP C divide K*th row by A(K,K) 140 A(K,J)=TEMP*T C subtract A(I,K) times K*th row from other rows Appendix D: Source Code of the Model 2 79 DO 109 I = 1, N IF (I .NE. K) THEN A (I, J) = A (I, J) + TEMP * A (I, K) ENDIF 10 9 CONTINUE 144 CONTINUE 19 9 CONTINUE C restore proper column order in the inverse NM1=N-1 DO 250 KK=1,NM1 C column now in K*th position actually column K=N-KK 210 J=IP(K) C ... of the inverse. Therefore... IF (J == K) GO TO 250 C relocate column K to position J 220 DO 225 1=1,N T=A(I,J) A(I, J)=A{I,K) A(I,K)=T 225 CONTINUE 2 50 CONTINUE C calculate COND 260 CSUMB = O.ODO DO 270 J = 1, N DO 270 I = 1, N 2 70 CSUMB = CSUMB + A (I, J) ** 2 275 COND = DSQRT (CSUMA * CSUMB) / FLOAT (N) RETURN C procedure for singular or nearly singular matrix. 300 WRITE(6,310) K,AMAX 310 FORMAT (IHO,'STEP•,13,' PIVOT =',D18.8,', is singular?') DET=0.ODO IEXP=0 COND=0.0D0 RETURN C *** CODE FOR ORDER 1 1991 IF (A (1, 1) == O.ODO) GO TO 1992 DET=A(1,1) A(l,l)=1.D0/A{1,1) COND=1.0D0 RETURN Appendix D: Source Code of the Model 2 80 1992 K=l AMAX=0.ODO GO TO 3 00 C the INV of a DIAGonal matrix is trivial... I think. 1993 SUMA = O.ODO SUMB = O.ODO DO 1994 J = 1, N A (J, J) = l.ODO / Tl (J, J) DET = DET * Tl (J, J) SUMA = SUMA + Tl (J, J) *• 2 SUMB = SUMB + A (J, J) ** 2 IF (1.D15 < DABS (DET)) THEN DET = DET * l.OD-15 lEXF = lEXP + 15 END IF IF (DABS (DET) < l.OD-15) THEN DET = DET * 1.0D15 lEXP = lEXP - 15 ENDIF 1994 CONTINUE COND = DSQRT (SUMA * SUMB) / FLOAT (N) RETURN END Appendix V: Source Code of the Model 2 81 C Decomp.FOR C modified by Toshiaki Hatakama in July, 1994. C THIS ROUTINE DECOMPOSES A TO A=L*LTRANSPOSE VIA CHOLESKI METHOD. C============================================================ SUBROUTINE DECOMP (A, N, M, RATIO) C============================================================ IMPLICIT REAL*4 (A-H,0-Z) REAL*4 A(*) CALL TRACE (3, 'DECOMP', 'starting.') MM=M-1 NM=N*M NM1=NM-MM 3001 MP=M+1 C transformation of A. C A is transformed into a lower triangular matrix L such that A=L.LT C (LT=transpose of L . ) . C error return taken if RATI0<l.E-7 C KK = 2 NCN=0 DET=1.D0 FAC=RATIO BIGL=DSQRT(A(1)) SML=BIGL IF (M == 1) GO TO 101 IF (O.ODO < A(l)) GO TO 15 NR0W=1 RATI0=A(1) GO TO 6 0 15 DET=A(1) A(l)=SML A(2)=A{2)/A(1) TEMP=A(MP)-A(2)*A(2) IF (TEMP <= O.ODO) RATIO=TEMP IF (O.ODO < TEMP) GO TO 21 NR0W=2 GO TO 6 0 101 DO 102 1=1,N TEMP=A(I) DET=TEMP*DET IF (TEMP <= O.ODO) GO TO 104 IF (DET < 1.D15) GO TO 1144 Appendix D: Source Code of the Model 2 82 DET=DET*1.D-15 NCN=NCN+15 GO TO 1145 1144 IF (l.OD-15 < DET) GO TO 1145 DET=DET*1.D15 NCN=NCN-15 1145 CONTINUE A(I)=DSQRT(TEMP) IF (BIGL < A(I)) BIGI.=A(I) IF (A(I) < SML) SML=A(I) 102 CONTINUE GO TO 52 104 RATIO=TEMP 10 3 NROW=I GO TO 6 0 21 A(MP)=DSQRT(TEMP) DET=DET*TEMP IF (BIGL < A(MP)) BIGL=A(MP) IF (A(MP) < SML) SML=A(MP) IF (N == 2) GO TO 52 MP=MP+M DO 62 J=MP,NM1,M JP=J-MM MZC = 0 IF(M <= KK) GO TO 1 KK=KK+1 11 = 1 JC = 1 GO TO 2 1 KK=KK+M II=KK-MM JC=KK-MM 2 DO 65 I=KK,JP,MM IF (A(I) == O.ODO) GO TO 64 GO TO 6 6 64 JC=JC+M 65 MZC=MZC+1 ASUM1=0.DO GO TO 61 66 MMZC=MM*MZC 1I=II+MZC KM=KK+MMZC A(KM)=A(KM)/A(JC) IF(JP <= KM) GO TO 6 KJ=KM+MM DO 5 I=KJ,JP,MM Appendix D: Source Code of the Model 2 83 ASUM2=0.DO IM=I-MM 11=11+1 KI=II+MMZC DO 7 K=KM,IM,MM ASUM2=ASUM2+A(KI)*A(K) 7 KI=KI+MM 5 A(I)=(A(I)-ASUM2)/A(KI) 6 ASUM1=0.D0 DO 4 K=KM,JP,MM 4 ASUM1=ASUM1+A(K)*A(K) 61 S=A(J)-ASUMl IF (S < O.ODO) RATIO=S IF (O.DO < S) GO TO 63 NROW=(J+MM)/M GO TO 6 0 63 A(J)=DSQRT(S) DET=DET*S IF (l.D-15 < DET) GO TO 144 DET=DET*1.D+15 NCN=NCN-15 GO TO 145 144 IF (DET < l.D+15) GO TO 145 DET=DET*1.D-15 NCN=NCN+15 145 CONTINUE IF (BIGL < A(J)) BIGL=A(J) IF (A(J) < SML) SML=A(J) 62 CONTINUE 52 IF (SML <= FAC*BIGL) GO TO 54 GO TO 53 54 RATIO=0.D0 GOTO 1000 60 PRINT *, "System is NOT POSITIVE DEFINITE in row", NROW GOTO 1000 53 RATIO=SML/BIGL 1000 CALL TRACE (3, 'DECOMP', 'exiting.') RETURN END Appendix D: Source Code of the Model 2 84 C DgMMJW.FOR C modified by Toshiaki Hatakama in July, 1994. SUBROUTINE DGMULT (A, B, C, lAROWS, IBROWS, IBCOLS) 0=============================================================== REAL*4 A (lAROWS, IBROWS) REAL*4 B (IBROWS, IBCOLS) REAL*4 C (lAROWS, IBCOLS) INTEGER I, J, K, lAO, IBO lAO = 0 ! this will contain the number of zero entries in A DO 2 I = 1, lAROWS DO 1 K = 1, IBROWS IF (A (I, K) == O.ODO) lAO = lAO + 1 1 CONTINUE DO 2 J = 1, IBCOLS C (I, J) = O.ODO 2 CONTINUE IBO = 0 ! this will contain the number of zero entries in B DO 3 J = 1, IBCOLS DO 3 K = 1, IBROWS IF (B (K, J) == O.ODO) IBO = IBO + 1 3 CONTINUE C we have a decision to make, which order should we do the calcs in? C it is possible (probable) that it won't make any difference, but it C could. C so, which path will result in the most savings...? IF {(IBO * lAROWS) <= (lAO * IBCOLS)) THEN C there are more (or just as many) zero-product-reductions in A. DO 5 I = 1, lAROWS DO 5 K = 1, IBROWS TEMP = A (I, K) IF (TEMP .NE. O.ODO) THEN DO 4 J = 1, IBCOLS 4 C (I, J) = C (I, J) + (TEMP * B (K, J) ) ENDIF 5 CONTINUE ELSE C there are more zero-product-reductions in B, so use that way in C stead. DO 7 J = 1, IBCOLS DO 7 K = 1, IBROWS TEMP = B (K, J) IF (TEMP .NE. O.ODO) THEN Appendix D: Source Code of the Model 2 85 DO 6 I = 1, lAROWS 6 C (I, J) = C (I, J) + (A {I, K) * TEMP ) ENDIF 7 CONTINUE ENDIF RETURN END Appendix D: Source Code of the Model 2 86 C Early.FOR C modified by Toshiaki Hatakama in July, 1994. C ROUTINE TO EVALUATE THE FIRST FOUR MOMENTS OF A PATH EARLY C START TIME BY UNCORRELATING THE WORK PACKAGE DURATIONS. C C 'Suggested' enhancement, redo the defs of LIST & LISREP so that C they can be passed interchangeably to EARLY, then forget LID, C cause then it's useless. It's only function is to choose between C the two. That's it. If one is used, the other is ignored. 0==============================================================:== SUBROUTINE EARLY (J, + LN, + LP, + LID, ! choose between LIST or LISREP + WPTIME, CORRD, + ESTART, + LIST, LISREP) ! two tables with similar information.... 0================================================================= IMPLICIT REAL*4{A-H,0-Z) INCLUDE 'DEBUG.CMN' INTEGER LN, LP, LID REAL*4 WPTIME (4, * ) , CORRD (NWP, *) REAL*4 ESTART (4, *) INTEGER LIST (200, 40), LISREP (101, 40) REAL*4 COR (:,:), TRI (:,:), PD (:), X (:,:), Z (:,:) ALLOCATABLE COR, TRI, PD, X, Z CALL TRACE (3, 'EARLY', 'starting.') ALLOCATE (COR (LP, LP), TRI (LP, LP), PD (LP)) ALLOCATE (X (4, LP), Z (4, LP)) DO 32 K = 1, LP DO 31 L = 1, 4 31 Z (L, K) = O.ODO DO 32 L = 1, LP IF (K == L) THEN COR (K, K) = l.ODO ELSE COR (L, K) = O.ODO ENDIF 32 TRI (L, K) = O.ODO DO 120 K = 1, LP IF (LID == 1) THEN Jl = LIST (LN, K) ELSE Jl = LISREP (LN, K) ENDIF Appendix D: Source Code of the Model 2 87 X (1, K) = WPTIME (1, Jl) X (2, K) = WPTIME (2, Jl) X (3, K) = WPTIME (3, Jl) X (4, K) = WPTIME (4, Jl) MM = K + 1 IF (MM <= LP) THEN DO 110 M = MM,LP IF (LID == 1) THEN J2 = LIST (LN, M) ELSE J2 = LISREP (LN, M) ENDIF COR (K, M) = CORRD (Jl, J2) COR (M, K) = COR (K, M) 110 CONTINUE ENDIF 12 0 CONTINUE C transform correlated W.P. durations to uncorrelated durations CALL TANSP (LP, X, Z, COR,TRI) IF (0 < lERR) GOTO 500 C first partial deravatives of the transformed W.P durations. DO 150 K = 1, LP PD (K) = O.ODO DO 150 M = 1, LP 150 PD (K) = PD (K) + TRI (M, K) C first four moments of a path early start time DO 190 K = 1, LP ESTART (1, J) = ESTART (1, J) + PD (K) * Z (1, K) ESTART (2, J) = ESTART (2, J) + PD (K) ** 2 * Z (2, K) ESTART (3, J) = ESTART (3, J) + PD (K) ** 3 • Z (3, K) FC = O.ODO MM = K + 1 IF (MM <= LP) THEN DO 180 M = MM, LP 180 FC = FC + 6.0D0 * (PD (K) * PD (M) ) ** 2 * + Z (2, K) * Z (2, M) ENDIF 190 ESTART (4, J) = ESTART (4, J) + FC + PD (K) ** 4 * Z (4, K) 500 DEALLOCATE (TRI, COR, PD, X, Z) CALL TRACE (3, 'EARLY', 'exiting.') RETURN END Appendix D: Source Code of the Model 2 88 C EstMMT.FOR C modified by Toshlakl Hatakama In July, 1994 C ROUTINE TO APPROXIMATE THE FIRST FOUR MOMENTS FOR EARLY START C TIME WHEN THE MODIFIED PNET ALGORITHM IS USED. SUBROUTINE ESTMMT{JPV, PEARSN, + D,E,G,M,T,V,W, + ESTART) IMPLICIT REAL*4{A-H,0-Z) INCLUDE •DEBUG.CMN' REAL*4 PEARSN (NPEARS, *) REAL*4 D(*), E(*), G(*), M(*), T{*), V{*), W(*) REAL*4 ESTART (4,*) C expected value of early start time CALL TRACE (3, "ESTMMT', 'starting') DEL = V (JPV) + E (JPV) - 2.0D0 * M (JPV) ESTART (1, JPV) = M (JPV) + 0.185D0 * DEL C Standard deviation of elements V & E C parameters 3.25D0, O.OOOIDO, 3.29D0, O.IOODO, 3.08D0 K = 2 SIGML = O.ODO SIGMl = (V (JPV) - E (JPV)) / 3.25D0 50 IF (590 < K) GO TO 9999 XSI6M1 = SIGMl - SIGML XCHEKl = SIGML * O.OOOIDO IF (DABS(XSIGMl) < DABS(XCHEKl)) GOTO 70 K = K + 1 SIGML = SIGMl SIGMl = (V (JPV) - E (JPV)) / + DMAXl (3.29D0 - O.IOODO * (DEL / SIGML) ** 2, 3.08D0) GO TO 5 0 70 ASIGMl = SIGMl C standard deviation of elements W & D C parameters 3.92D0, O.OOOIDO, 3.98D0, 0.138D0, 3.66D0 K = 2 SIGML = O.ODO SIGM2 = (W (JPV) - D (JPV)) / 3.92D0 Appendix D: Source Code of the Model 2 89 80 IF (590 < K) GO TO 9999 XSIGM2 = SI6M2 - SI6ML XCHEK2 = SIGML * O.OOOlDO IF (DABS (XSIGM2) < DABS (XCHEK2)) GO TO 100 K = K + 1 SIGML = SI6M2 SIGM2 = (W (JPV) - D (JPV)) / + DMAXl (3.98D0 - 0.138D0 * (DEL / SIGML) ** 2, 3.66D0) GO TO 8 0 100 ASIGM2 = SI6M2 C OK, which SD is greater??? SIGMAD = DMAXl (ASIGMl, ASIGM2} C use that one to scale the vector for the pearson comparison ESTART (2, JPV) = SIGMAD ** 2 X4 = (D (JPV) - ESTART (1, JPV)) / SIGMAD X5 = (E (JPV) - ESTART (1, JPV)) / SIGMAD X7 = (G (JPV) - ESTART (1, JPV)) / SIGMAD X8 = (M (JPV) - ESTART (1, JPV)) / SIGMAD X9 = (T (JPV) - ESTART (1, JPV)) / SIGMAD Xll = (V (JPV) - ESTART (1, JPV)) / SIGMAD X12 = (W (JPV) - ESTART (1, JPV)) / SIGMAD C compare standardized values to those from the pearson table RLOW = 10.0 DO 150 K = 1, NPEARS SUMSQR = ( (PEARSN (K, 4) - X4 ) ** 2 + + (PEARSN (K, 5) - X5 ) ** 2 + + (PEARSN (K, 7) - X7 ) ** 2 + + (PEARSN (K, 8) - X8 ) ** 2 + + (PEARSN (K, 9) - X9 ) ** 2 + + (PEARSN (K,ll) - Xll) ** 2 + + (PEARSN (K,12) - X12) *• 2) ! ** 0.5 IF (SUMSQR < RLOW) THEN RLOW = SUMSQR BETAl = PEARSN (K, 16) BETA2 = PEARSN (K, 17) ENDIF 150 CONTINUE IP (0.0225D0 < RLOW) GO TO 9999 C third and fourth moments for work package EST Appendix D: Source Code of the Model 290 ESTART (3, JPV) = BETAl * (ESTART (2, JPV) ** 1.5) ESTART (4, JPV) = BETA2 * (ESTART (2, JPV) ** 2) 25 0 CONTINUE CALL TRACE (3, 'ESTMMT', 'exiting.') RETURN C default to a normal distribut ion 9999 ESTART (3, JPV) = O.ODO ESTART (4, JPV) = 3 . ODO * (ESTART (2, JPV) ** 2) GO TO 2 50 END Appendix D: Source Code of the Model 291 C RvSfll.INC C 07mar94 MJW rationalization of the functions C C Closed System (Manual Collection) C we ask nicely for the money from the motorist! C SUBROUTINE RVSFll (KP, KT, DR, BOTTLE, I, X, Y) IMPLICIT REAL*4(A-H,0-Z) INCLUDE 'DEBUG.CMN' REAL*4 BOTTLE (NRS, * ) , X (*) REAL*4 Y,AY,AZ,BZ,Z REAL*4 mcbpl(50),mcoll(50),ots(50) REAL*4 ooo(50),oom(50),reve(50) REAL*4 tcmt(50),tccc(50),tccm(50),brco{50),obo(50),ho(50) REAL*4 malnt(50),oper(50),aoper(50) REAL*4 XI(200),X2(200) REAL*4 cost (:,:,:,:), traf (:,s,:,:) REAL*4 tec (:,:), tcm (:,:), Cts (:,:) ALLOCATABLE cost, traf, tcc, tcm, cts CALL TRACE (2, 'RVSFll', 'starting,') nAL = BOTTLE (I, 1) nP = BOTTLE (I, 2) nWC = BOTTLE (I, 3) nOL = BOTTLE (I, 4) nBR = BOTTLE (I, 5) rlBY IRD = X (1) = NINT (X (2)) ALLOCATE (cost (IRD, nAL, nAL, nP)) ALLOCATE (traf (IRD, nAL, nAL, ALLOCATE (tcc (IRD, nAL)) ALLOCATE (tcm (IRD, nAL)) ALLOCATE (cts (IRD, nAL)) nP)) DISCI RATEl X X (3) (4) DISC2 RATE2 X X (5) (6] perKM entFee X X (7) (8) DO 90 11=1,IRD DO 90 J=l,nAL-l travld = 0 Appendix D: Source Code of the Model 2 92 DO 90 K=J+l,nAL travld = travld + X(7+K) breakl = 0 break2 = 0 IP (DISCI < travld) THEN breakl = travld - DISCI travld = DISCI ENDIF IF (DISC2 < (travld + breakl)) THEN break2 = (travld + breakl) - DISC2 breakl = (DISC2 - DISCI) ENDIF DO 90 L=l,nP 90 cost(II,J,K,L) + = ((travld + (breakl * RATEl) + (break2 * RATE2)) + * perKM * X(7+nAL+L) + entFee) * X(7+nAL+nP+II) CALL TRACE (3, 'RVSFll', 'traffic volume calculation.') DO 1150 11=1,IRD M=0 DO 1150 J=l,nAL-l DO 1150 K=J+l,nAL DO 1150 L=l,nP M=M+1 1150 traf (II,J,K,L)= + X(7+nAL+nP+ 2 * IRD+M ) * + X(7+nAL+nP+ IRD+II) / + X(8+nAL+nP+ IRD ) CALL TRACE (3, 'RVSFll', 'annual toll revenue...') DO 1470 11=1,IRD reve (II) = 0.00 DO 1470 J=l,nAL DO 1470 K=J+l,nAL DO 1470 L=l,nP 1470 reve (II) = reve (I) + + traf (II,J,K,L)*cost (II,J,K,L)*365 LI = 7 + nAL + nP + 2*IRD + nAL*(nAL-1)/2*nP CALL TRACE (3, 'RVSFll', 'fixed costs...') mere = ! road cleaning costs + X(L1+13)*(X(L1+1) + X(Ll+4) + X(Ll+7)) + X(Ll+14)*(X(Ll+2) + + X(Ll+5) + X(Ll+8) + X(Ll+3) + X(Ll+6) + X(Ll+9)) mcrm = ! road maintenance + X(L1+15)*X(Ll+7) + X(L1+16)*X(Ll+8) + X(Ll+17)*X(Ll+9) mcl = ! lighting + X(L1+18)*(X(L1+1) + X(Ll+7)) + + X(L1+19)*( (X(Ll+2) + X(Ll+3)) + (X(Ll+8) + X(Ll+9))) Appendix D: Source Code of the Model 2 93 mcbr = ! bridge repair + X(Ll+20)*X(L1+1) + X(L1+21)*X(Ll+2) + X(Ll+22)*X(Ll+3) mcbp = ! bridge painting + X(Ll+23)*X(L1+1) + X(Ll+24)*X(Ll+2) + X(Ll+25)*X(Ll+3) mctm = ! tunnel maintenance + X(L1+10)*X(Ll+26) + X(L1+11)*X(Ll+27) + X(Ll+12)*X(Ll+28) SELECT CASE (nWC) ! snow and ice control based on nWC CASE (1) mcsc = + X(Ll+29)*( (X(L1+1) + X(Ll+4) + X(Ll+7)) + +2*(X(Ll+2) + X(Ll+5) + X(Ll+8)) + +3*(X(Ll+3) + X(Ll+6) + X(Ll+9)) ) CASE (2) mcsc = + X(Ll+30)*( (X(L1+1) + X(Ll+4) + X(Ll+7)) + +2*(X(Ll+2) + X(Ll+5) + X(Ll+8)) + +3*(X(Ll+3) + X(Ll+6) + X(Ll+9)) ) CASE DEFAULT mcsc = 0.00 END SELECT mcol = ! overlay + X(L1+31)*( X(L1+1) + X(Ll+4) + X(Ll+7) ) + + X(Ll+32)*( X(Ll+2) + X(Ll+5) + X(Ll+8) ) + + X(Ll+33)*( X(Ll+3) + X(Ll+6) + X(Ll+9) ) moot = X (LI + 34) * (mere + mcrm + mcl + mcbr + mctm + mcsc) DO 2295 11=1,IRD IF (lI.EQ.nBR .OR. II.EQ.(nBR+7) .OR. II.EQ.(nBR+14) + .OR. lI.EQ. (nBR + 21) .OR. II.EQ. (nBR + 28) .OR. + lI.EQ. (nBR + 35) .OR. II.EQ. (nBR + 42) .OR. + lI.EQ. (nBR + 49) ) THEN mcbpl(II) = mcbp ELSE mcbpl(II) = 0.00 END IF IF (lI.EQ.nOL .OR, lI.EQ.(nOL+12) .OR. II.EQ.(nOL+24) + .OR, lI.EQ.(nOL+36) ,OR. II,EQ.(nOL+48)) THEN mcoll(II) = mcol ELSE mcoll(II) = 0.00 END IF 2295 CONTINUE C OPERATION COSTS CALL TRACE (3, 'RVSFll', 'operation costs...') C - C Operation office overhead Appendix D: Source Code of the Model 2 94 C DO 2500 11=1,IRD M=0 X2(II) = X(7+nAL+nP+IRD+II) XOO = 7+nAL+nP+IRD+II DO 2500 J=l,nAL-l DO 2500 K=J+l,nAL DO 2500 L=l,nP M=M+1 XO = 7+nAL+nP+2*IRD+M XI(M) = X(X0) IF (KP == XO) THEN IF (KT == 1) THEN XI(M) = X(X0)/0.99 ELSE IF (KT == 3) THEN X1(M) = X{X0)/1.01 END IF ELSE IF (KP == XOO) THEN IF (KT == 1) THEN X2 (II) = X(X00)/0.99 ELSE IF (KT == 3) THEN X2 (II) = X(X00)/1.01 END IF END IF 2500 traf (II,J,K,L)= XI(M) * X2(II) / X2(l) DO 3450 11=1,IRD Ots (II)=0.00 DO 3440 J=l,nAL-l DO 3430 K=J+l,nAL DO 3420 L=l,nP ots(II)=ots{II)+traf(II,J,K,L) 3420 CONTINUE 343 0 CONTINUE 3440 CONTINUE 3450 CONTINUE DO 3485 11=1,IRD ooodi) =0 C treated traffic is half of through traffic ots(II)=ots(II)*0.5 X3 = X(L1 + 40) X4 = X(L1 + 46) X5 = X(L1 + 52) X6 = X(L1 + 58) X7 = X(L1 + 64) IF (KP == Ll+40) THEN IF (KT == 1) THEN X3 = X(Ll+40)/0.99 ELSE IF (KT == 3) THEN X3 = X(Ll+40)/1.01 END IF Appendix D: Source Code of the Model 2 95 ELSE IF (KF == Ll+46) THEN IF (KT == 1) THEN X4 = X(Ll+46)/0.99 ELSE IF (KT == 3) THEN X4 = X(Ll+46)/l.Ol END IF ELSE IF (KP == Ll+52) THEN IF (KT == 1) THEN X5 = X(Ll+52)/O.99 ELSE IF (KT == 3) THEN X5 = X(Ll+52)/l.Ol END IF ELSE IF (KP == Ll+58) THEN IF (KT == 1) THEN X6 = X(Ll+58)/0.99 ELSE IF (KT == 3) THEN X6 = X(Ll+58)/l.Ol END IF ELSE IF (KP == Ll+64) THEN IF (KT == 1) THEN X7 = X(Ll+64)/0.99 ELSE IF (KT == 3) THEN X7 = X(Ll+64)/l,01 END IF END IF IF (ots(II) .LE.X3) THEN ooo(ll)=X(L1+41)*X(Ll+3 5)+X(Ll+4 2)*X(Ll+3 6)+X(Ll+43) 1 *X(Ll+37)+X(Ll+44)*X(Ll+38)+X(Ll+4 5)*X(Ll+39) Oomdl) =X(L1 + 41) +X(Ll + 42) +X(Ll + 43) +X(Ll+44) +X(Ll + 45} ELSE IF(otS(II).LE.X4) THEN ooo(II)=X(Ll+47)*X(Ll+3 5)+X(Ll+4 8)*X(Ll+3 6)+X(Ll+4 9) 1 *X(Ll+37)+X(Ll+50)*X(Ll+38)+X(Ll+51)*X(Ll+39) oom(ll)=X(Ll+47)+X(Ll+4 8)+X(Ll+4 9)+X(Ll+50)+X(Ll+51) ELSE IF(otS(II).LE.X5) THEN ooo(ll)=X(Ll+53)*X(Ll+35)+X(Ll+54)*X(Ll+36)+X(Ll+55) 1 *X(Ll+37)+X(Ll+56)*X(Ll+38)+X(Ll+57)*X(Ll+39) oomdl) =X(Ll + 53)+X(Ll + 54)+X(Ll + 55)+X(Ll + 56)+X(Ll + 57) ELSE IF(otS(II).LE.X6) THEN ooo(ll)=X(Ll+59)*X(Ll+35)+X(Ll+60)*X(Ll+36)+X(Ll+61) 1 *X(Ll+3 7)+X(Ll+6 2)*X(Ll+38)+X(Ll+63)*X(Ll+39) oomdl) =X(Ll + 59)+X(Ll + 60)+X(Ll + 61)+X(Ll + 62)+X(Ll + 63) ELSE IF(otS (II) .LE.X7) THEN ooo(ll)=X(Ll+65)•X(Ll+3 5)+X(Ll+66)*X(Ll+3 6)+X(Ll+67) 1 *X(Ll+37)+X(Ll+68)*X(Ll+3 8)+X(Ll+6 9)*X(Ll+3 9) oomdl) =X(Ll + 65)+X(Ll + 66)+X(Ll + 67)+X(Ll + 68)+X(Ll + 69) ELSE ooo(ll)=X(Ll+70)*X(Ll+35)+X(Ll+71)*X(Ll+36)+X(Ll+72) 1 *X(Ll+3 7)+X(Ll+7 3)*X(Ll+3 8)+X(Ll+74)*X(Ll+3 9) oom(II)=X(Ll+70)+X(Ll+71)+X(Ll+72)+X(Ll+73)+X(Ll+74) END IF 3485 CONTINUE C C CONSIGNMENT COSTS OF TOLL COLLECTION Appendix D: Source Code of the Model 2 96 C DO 3550 11=1,IRD DO 3540 M=l,nAL cts(II,M)=0,00 DO 3530 J=l,nAL-l DO 3520 K=J+l,nAL DO 3510 L=l,nP IF(J.EQ.M .OR. K.EQ.M) THEN cts(II,M)=cts(II,M)+traf(II,J,K,L) ELSE Cts(II,M)=Cts (II,M) END IF 3510 CONTINUE 3520 CONTINUE 353 0 CONTINUE 3540 CONTINUE 3550 CONTINUE DO 3790 11=1,IRD DO 3780 M=l,nAL tec(II,M)=0 X8 = X(L1 + 76) X9 = X(L1 + 78) XIO = X(L1 + 80) Xll = X{L1 + 82) X12 = X(L1 + 84) X13 = X(L1 + 86) X14 = X(L1 + 88) X15 = X(L1 + 90) X16 = X(L1 + 92) X17 = X(L1 + 94) X18 = X(L1 + 96) X19 = X(L1 + 98) X20 = X(L1 + 100) X21 = X(L1 + 102) X21 = X(L1 + 104) X21 = X(L1 + 106) X21 = X(L1 + 108) IF (KP == Ll+76) THEN IF (KT == 1) THEN X8 = X(Ll+76)/0.99 ELSE IF (KT == 3) THEN X8 = X{Ll+76)/1.01 END IF ELSE IF (KP == Ll+78) THEN IF (KT == 1) THEN X9 = X(Ll+78)/0.99 ELSE IF (KT == 3) THEN X9 = X(Ll+78)/l.Ol END IF ELSE IF (KP == Ll+80) THEN IF (KT == 1) THEN XIO = X(Ll+80)/0.99 ELSE IF (KT == 3) THEN Appendix D: Source Code of the Model 2 97 XIO = X(Ll+80)/l.Ol END IF ELSE IF (KP == Ll+82) THEN IF (KT == 1) THEN Xll = X(Ll+82)/0.99 ELSE IF (KT == 3} THEN Xll = X(Ll+82)/l.Ol END IF ELSE IF (KP == Ll+84) THEN IF (KT == 1) THEN X12 = X(Ll+84)/0.99 ELSE IF (KT == 3) THEN X12 = X(Ll+84)/1.01 END IF ELSE IF (KP == Ll+86) THEN IF (KT == 1) THEN X13 = X(Ll+86)/O,99 ELSE IF (KT == 3) THEN X13 = X(Ll+86)/l.Ol END IF ELSE IF (KP == Ll-)-88) THEN IF (KT == 1) THEN X14 = X(Ll+88)/0.99 ELSE IF (KT == 3) THEN X14 = X(Ll+88)/l.Ol END IF ELSE IF (KP == Ll+90) THEN IF (KT == 1) THEN X15 = X(Ll+90)/0.99 ELSE IF (KT == 3) THEN X15 = X(Ll+90)/1.01 END IF ELSE IF (KP == LlH-92) THEN IF (KT == 1) THEN X16 = X(Ll+92)/0.99 ELSE IF (KT == 3) THEN X16 = X{Ll+92)/1.01 END IF ELSE IF (KP == Ll+94) THEN IF (KT == 1) THEN X17 = X{Ll+94)/0.99 ELSE IF (KT == 3) THEN X17 = X(Ll+94)/l.Ol END IF ELSE IF (KP == Ll+96) THEN IF (KT == 1) THEN X18 = X(Ll+96)/0.99 ELSE IF (KT == 3) THEN X18 = X(Ll+96)/l.Ol END IF ELSE IF (KP == Ll+98) THEN IF (KT == 1) THEN X19 = X(Ll+98)/0.99 ELSE IF (KT == 3) THEN X19 = X(Ll+98)/1.01 END IF ELSE IF (KP == Ll+lOO) THEN Appendix D: Source Code of the Model 2 98 IF (KT == 1) THEN X20 = X(Ll+100)/0.99 ELSE IF (KT == 3) THEN X20 = X(L1+100)/l.Ol END IF ELSE IF (KP == Ll+102) THEN IF (KT == 1) THEN X21 = X(L1+102)/0.99 ELSE IF (KT == 3) THEN X21 = X(L1+102)/l.Ol END IF ELSE IF (KP == Ll+104) THEN IF (KT == 1) THEN X22 = X(L1+104)/0.99 ELSE IF (KT == 3) THEN X22 = X(L1+104)/l.Ol END IF ELSE IF (KP == Ll+106) THEN IF (KT == 1) THEN X23 = X(L1+106)/0.99 ELSE IF (KT == 3) THEN X23 = X(L1+106)/l.Ol END IF ELSE IF (KP == Ll+108) THEN IF (KT == 1) THEN X24 = X(L1+108)/0.99 ELSE IF (KT == 3) THEN X24 = X(L1+108)/l.Ol END IF END IF IF(ctS (II,M) .LE.X8) THEN tCC(II,M)=X(Ll+77)*X(Ll+75)*X(Ll+lll) tcm(II,M)=X(Ll+77) ELSE IF(ctS(II,M).LE.X9) THEN tcc(II,M)=X(Ll+7 9)*X(L1+7 5)*X(L1+111) tcm(II,M)=X(Ll+79) ELSE IF(ctS (II,M) .LE.XIO) THEN tCc(II,M)=X(Ll+81)*X(Ll+75)*X(Ll+lll) tcm(II,M)=X(L1+81) ELSE IF(cts(II,M).LE.Xll) THEN tcc(II,M)=X(Ll+83)*X(Ll+75)*X(Ll+lll) tCin(II,M) =X(Ll + 83) ELSE IF(ctS(II,M).LE.X12) THEN tcc(II,M)=X(Ll+85)*X(Ll+75)*X(Ll+lll) tCiii(II,M) =X(Ll + 85) ELSE IF(ctS(II,M).LE.X13) THEN tcc(II,M)=X(Ll+87)*X(Ll+75)*X(Ll+lll) tcm(II,M)=X(Ll+87) ELSE IF(cts(II,M).LE.X14) THEN tcc(II,M)=X(Ll+89)*X(Ll+75)*X(Ll+lll) tcm(II,M)=X(Ll+89) ELSE IF(ctS(II,M).LE.X15) THEN tcc(II,M)=X(L1+91)*X(Ll+75)*X(L1+111) tcm(II,M)=X(L1+91) ELSE IF(ctS(II,M).LE.X16) THEN Appendix D: Source Code of the Model 299 tCc(II,M)=X(Ll+93)*X(Ll+75)*X(Ll+lll) tcm{II,M)=X{Ll+93) ELSE IF(ctS(II,M).LE.X17) THEN tcc(II,M)=X(Ll+95)*X(L1+75)*X(L1+111) tcm{II,M)=X(Ll+95) ELSE IF(ctS(II,M).LE.X18) THEN tcc(II,M)=X{Ll+97)*X(Ll+75)*X(Ll+lll) tcm{II,M)=X(Ll+97) ELSE IF(ctS(II,M).LE.X19) THEN tCC(II,M)=X(Ll+99)*X{Ll+75)*X(Ll+lll) t c n i { I I , M ) = X ( L l + 9 9 ) ELSE I F ( c t S ( I I , M ) . L E . X 2 0 ) THEN t c c ( I I , M ) = X ( L l + 1 0 1 ) * X ( L l + 7 5 ) * X ( L l + l l l ) tcin{II,M)=X(Ll + 101) ELSE IF(ctS(II,M).LE.X21) THEN tcc(II,M)=X(Ll+103)*X(Ll+75)*X(Ll+lll) tcin(II,M)=X(Ll + 103) ELSE IF(ctS(II,M).LE.X22) THEN tcc(II,M)=X{Ll+105)*X(Ll+75)*X{Ll+lll) tcm(II,M)=X(L1+105) ELSE IF(ctS(II,M).LE.X23) THEN tCc(II,M)=X(Ll+107)*X(Ll+75)*X(Ll+lll) tcm(II,M)=X(Ll+107) ELSE IF(ctS(II,M).LE.X24) THEN tCc(II,M)=X(Ll+109)*X(Ll+75)*X(Ll+lll) tcm(II,M)=X(Ll+109) ELSE tCc(II,M)=X(Ll+110)*X{Ll+75)*X{Ll+lll) tcin(II,M) =X{L1 + 110) END IF 37 80 CONTINUE 37 90 CONTINUE DO 3797 11=1,IRD tcmt(II)=0 DO 3794 M=l,nAL tcmt(11)=tcmt(II)+tcm(II,M) 37 94 CONTINUE 37 97 CONTINUE C • C TOLL COLLECTION MACHINE MAINTENANCE COSTS C - DO 3820 11=1,IRD tccc(II)=0 DO 3812 J=l,nAL tccc(II)=tccc(II)+tcc(II,J) 3812 CONTINUE tccm(lI)=tccc(II)*X{Ll+112) 3 82 0 CONTINUE C C BUILDING AND REPAINTING EXPENSES Appendix D: Source Code of the Model 300 C RELEVANT EXPENSES TO OPERATION C COST FOR MACHINE AND EQUIPMENT C OTHERS C DO 3860 11=1,IRD brco(II) =X(L1 + 113)* (oomdl) +tcmt (II) ) +X (Ll + 114) 3 860 CONTINUE C-- - C OPERATION BUREAU OVERHEAD C - - - DO 3890 11=1,IRD obo(II) = reve(II) *X(L1+115) 3 8 90 CONTINUE C - -- C HEADQUARTERS OVERHEAD C - DO 3930 11=1,IRD ho(II)=reve(II)"X(LI+116) 3 93 0 CONTINUE C - - - C REVENUE C C This calculate annual revenue C and C maintenance and operation costs. C - - CALL TRACE (3, 'RVSPll', 'total costs calculation.') C- - - C Calculate annual maintenance costs C - CALL TRACE (3, 'RVSFll', 'annual maintenance costs.') DO 4200 11=1,IRD 4200 maint (II) = mere + mcrm + mcl + mcbr + mcbpl (II) + mctm + + mcsc + mcoll (II) + moot C - C Calculate annual operation costs. C CALL TRACE (3, 'RVSFll', 'annual operation costs.') DO 4300 11=1,IRD oper(II)=ooo(II)+tccc(II)+tccm(II)+brco(II)+obo(II)+ho(II) aoper(II)=malnt(II)+oper(II) 4300 CONTINUE Appendix D: Source Code of the Model 3 01 C C Calculate discounted net revenue. C C -- - - - - C DO 4500 1 = 1 , 177 C 4500 PRINT *,'XC,I,') = ',X{1) C -- CALL TRACE (3, 'RVSFll', 'discount NP.') Y=0.00 DO 5100 11=1,IRD CALL TRACE (3, 'RVSFll', 'calculating AZ,') AZ=(DEXP(-DR*(rlBY+II))-DEXP{-DR*(rIBY+II-1)))/(-DR) CALL TRACE (3, 'RVSFll', 'calculating Z.') C C PRINT *,'X(L1+117)= ',X(L1+117) C PRINT *, 'DR= ' ,DR C PRINT *,'Z= ',Z C Z=X(L1+117)-DR IF(DABS(Z).GT.O.OOIDO) GO TO 5020 BZ=1.00 GO TO 503 0 C CALL TRACE (3, 'RVSFll', 'calculating BZ.') 5 02 0 BZ={DEXP{Z*(rIBY+II))-DEXP(Z*(rIBY+II-1)))/Z CALL TRACE (3, 'RVSFll', 'calculating AY.') 5 03 0 AY=(reve(II)*AZ)-(aoper(II)*BZ) CALL TRACE (3, 'RVSFll', 'calculating Y.') Y=Y+AY 5100 CONTINUE C CALL TRACE (2, 'RVSFll', 'finishing.') DEALLOCATE (cost, traf, tec, tcm, cts) RETURN END Appendix D: Source Code of the Model 3 02 C RvSfl2.INC C 16mar94 TH C C Open System (Manual Collection) C we ask nicely for the money from the motorist! C SUBROUTINE RVSF12 (KP, KT, DR, BOTTLE, I, X, Y) IMPLICIT REAL*4 {A-H,0-Z) INCLUDE •DEBUG.CMN' REAL*4 X {*), BOTTLE (NRS, *) REAL*4 Y,AY,AZ,BZ,Z(5) REAL*4 mcbpl(50),mcoll(50),ots(50) REAL*4 000(50),oom(50),reve(50) REAL*4 tcmt(50),tccc(50),tccm(50),brco(50),obo(50),ho(50) REAL*4 maint(50),aoper(50) REAL*4 XI(200),X2(200) REAL*4 cost (:,:,:), traf (:,:,:,:) , ttraf(:,:,:) REAL*4 tec (:,:), tcm(:,:), cts(:,:) REAL*4 tgl (:) ALLOCATABLE cost, traf, ttraf, tec, tcm, cts, TGL CALL TRACE (3, 'RVSF12', 'toll rate calculation starting.") nAL = BOTTLE (I, 1) nP = BOTTLE (I, 2) nWC = BOTTLE (I, 3) nTG = BOTTLE (I, 6) nOL = BOTTLE (I, 4) nBR = BOTTLE (I, 5) ALLOCATE (tgl (nTG)) DO 10 J = 1, nTG 10 tgl (J) = BOTTLE (I, 6 + J) IRD = NINT (X (2)) ALLOCATE (cost (IRD, nTG, nP)) ALLOCATE (traf (IRD, nAL, nAL, nP)) ALLOCATE (ttraf (IRD, nTG, nP)) ALLOCATE (tcc (IRD, nTG)) ALLOCATE (tcm (IRD, nTG)) ALLOCATE (ctS (IRD, nTG)) DO 100 11=1,IRD DO 100 J=l,nTG DO 100 K=l,nP 100 cost(II,J,K)=X(2+J)*X(2+nTG+K)*X(2+nTG+nP+II) Appendix D: Source Code of the Model 3 03 DO 1150 11=1,IRD M=:0 DO 1150 J=l,nAL-l DO 1150 K=J+l,nAL DO 1150 L=l,nP M=MH-1 1150 traf (II,J,K,I.) = + X (2 + nTG + nP + 2 * IRD + M) + * X (2 + nTG + nP + IRD + II) + / X (3 + nTG + nP + IRD) DO 1500 11=1,IRD DO 1500 J=l,nTG DO 1500 K=l,nP ttraf(II,J,K)=0.0 DO 1500 JJ=l,nAL XJJ=FLOAT(JJ) IF (TGL (J) == XJJ) THEN DO 1430 L=l,nAL-l DO 1430 LL=L+l,nAL IF (L == JJ .OR. LL == JJ) THEN ttraf(II,J,K)=ttraf(II,J,K)+traf(II,L,LL,K) END IF 143 0 CONTINUE ELSE IF (JJ < TGL(J) .AND. TGL(J) < (JJ + 1)) THEN DO 1450 L=l,nAL-l DO 1450 LL=L+l,nAL IF (L <= JJ .AND. JJ < LL) THEN ttraf(II,J,K)=ttraf(II,J,K)+traf(II,L,LL,K) ENDIF 1450 CONTINUE ENDIF 1500 CONTINUE DO 1510 11=1,IRD reve(II)=0.00 DO 1510 J=l,nTG DO 1510 K=l,nP 1510 reve(II)=reve(II)+ttraf(II,J,K)*cost{II,J,K)*365 C PRINT *, 'nTG = ', nTG C PRINT *, • IRD = ', IRD C PRINT *, • nAL = •, nAL C PRINT *, • nP = ', nP Ll=2+nTG+nP+2*IRD+nAL*(nAL-l)/2*nP C PRINT *, • LI = •, LI C PRINT *, mere = ! maintenance (road cleaning) costs... Appendix D: Source Code of the Model 3 04 + X (LI + 13) • + ( X (LI + 1) + X (LI + 4) + X (LI + 7) ) + + X (LI + 14) * + ( X (LI + 2) + X (LI + 5) + X (LI + 8) + + X (LI + 3) + X (LI + 6) + X (LI + 9) ) mcrm = ! road maintenance + X (LI + 15) • X (LI + 7) + + X (LI + 16) * X (LI + 8) + + X (LI + 17) • X (LI + 9) mcl = ! lighting + X (LI + 18) * (X (LI + 1) + X (LI + 7)) + + X (LI + 19) * + ( (X (LI + 2) + X (LI + 3)) + (X (LI + 8) + X (LI + 9)) ) mcbr = ! bridge repair + X (LI + 20) * X (LI + 1) + + X (LI + 21) * X (LI + 2) + + X (LI + 22) * X (LI + 3) mcbp = ! bridge painting + X (LI + 23) * X (LI + 1) + + X (LI + 24) * X (LI + 2) + + X (LI + 25) * X (LI + 3) mctm = ! tunnel maintenance + X (LI + 10) * X (LI + 26) + + X (LI + 11) * X (LI + 27) + + X (LI + 12) * X (LI + 28) SELECT CASE (nWC) ! snow and ice control? CASE (1) mcsc = + X (LI + 29) + + CASE (2) mcsc = + X (LI + 30) + + CASE DEFAULT mcsc = O.ODO END SELECT * ( (X + 2* (X + 3* (X * ( (X + 2* (X + 3* (X (LI (LI (LI (LI (LI (LI + + + + + + 1) 2) 3) 1) 2) 3) + + + + + + X X X X X X (LI (LI (LI (LI (LI (LI + + + + + + 4) 5) 6) 4) 5) 6) + + + + + + X X X X X X (LI (LI (LI (LI (LI (LI + + + + + + 7)) 8)) 9)) 7)) 8)) 9))) mcol = ! overlay + X (LI + 31) * (X + X (LI + 32) * (X + X (LI + 33) • (X (LI + 1) + X (LI + 2) + X (LI + 3) + X (LI (LI (LI + 4) + 5) + 6) + X (LI + X (LI + X (LI + 7)) + 8)) + 9)) + + Appendix D: Source Code of the Model 3 05 pcot = X (LI + 34) moot = ! other neat stuff.... + pcot * (mere + mcrm + mcl + mcbr + mctm + mcsc) DO 2295 11=1,IRD C bridge painting happens every 7 years. IF (lI.EQ.nBR .OR. lI.EQ.(nBR+7) .OR. II.EQ.(nBR+14) + .OR. lI.EQ. (nBR + 21) .OR. II.EQ. (nBR + 28) .OR. + lI.EQ.(nBR+35) .OR. II.EQ.(nBR+42) .OR. + lI.EQ. (nBR + 49)) THEN mcbpl (II) = mcbp ELSE mcbpl (II) = 0.00 END IF C overlaying takes place every 12 years IP (lI.EQ.nOL .OR. II. EQ. (nOL + 12) .OR. II.EQ. (nOL + 24) + .OR. lI.EQ.(nOL+36) .OR. II.EQ.(nOL+48)) THEN mcoll (II) = mcol ELSE mcoll (II) = 0.00 END IF 22 95 CONTINUE C OPERATION COSTS C Operation office overhead DO 2500 11=1,IRD M=0 X2(II) = X(2+nTG+nP+IRD+II) XOO = 2-t-nTG+nP-t'IRD + II DO 2500 J=l,nAL-l DO 2500 K=J+l,nAL DO 2500 L=l,nP M=M+1 XO = 2+nTG+nP+2*IRD+M XI(M) = X(XO) IF (KP == XO) THEN IF (KT == 1) THEN X1(M) = X(X0)/0.99 ELSE IF (KT == 3) THEN X1(M) = X(X0)/1.01 END IF ELSE IF (KP == XOO) THEN Appendix D: Source Code of the Model 3 06 IF (KT == 1) THEN X2 (II) = X{X00)/0.99 ELSE IF (KT == 3) THEN X2 (11) = X(XOO)/I.01 END IF END IF 2500 traf (II,J,K,L) = XI(M) * X2(II) / X2(l) DO 2700 11=1,IRD DO 2700 J=l,nTG DO 2700 K=l,nP ttraf(II,J,K)=0.0 DO 2700 JJ=l,nAL XJJ=FLOAT(JJ) IF (TGL (J) == XJJ) THEN DO 2600 L=l,nAL-l DO 2600 LL=L+l,nAL IF (L == JJ .OR. LL == JJ) THEN ttraf(II, J,K)=ttraf(II,J,K)+traf{II,L,LL,K) END IF 2 600 CONTINUE ELSE IF (JJ < TGL(J) .AND. TGL(J) < (JJ + 1)) THEN DO 2650 L=l,nAL-l DO 2650 LL=L+l,nAL IF (L <= JJ .AND. JJ < LL) THEN ttraf(II,J,K)=ttraf(II,J,K)+traf(II,L,LL,K) ENDIF 2 650 CONTINUE ENDIF 27 00 CONTINUE DO 3450 11=1,IRD Ots (II)=0.00 DO 3450 J=l,nTG DO 3450 K=l,nP 3450 ots(II)=ots(II)+ttraf(II,J,K) X3 = X(Ll+40) X4 = X(Ll+46) X5 = X(Ll+52) X6 = X(Ll+58) X7 = X(Ll+64) IP (KP == Ll+40) THEN IF (KT == 1) THEN X3 = X(Ll+40)/0.99 ELSE IF (KT == 3) THEN X3 = X(Ll+40)/1.01 END IF ELSE IF (KP == Ll+46) THEN IF (KT == 1) THEN X4 = X(Ll+46)/0.99 ELSE IF (KT == 3) THEN Appendix D: Source Code of the Model 3 07 X4 = X(Ll+46)/1.01 END IF ELSE IF (KP == Ll+52) THEN IF (KT == 1) THEN X5 = X(Ll+52)/0.99 ELSE IF (KT == 3) THEN X5 = X{Ll+52)/1.01 END IF ELSE IF (KP == Ll+58) THEN IF (KT == 1) THEN X6 = X{Ll+58)/0.99 ELSE IF (KT == 3) THEN X6 = X(Ll+58)/1.01 END IF ELSE IF (KP == Ll+64) THEN IF (KT == 1) THEN X7 = X(Ll+64)/0.99 ELSE IF (KT == 3) THEN X7 = X(Ll+64)/1.01 END IF END IF DO 3485 11=1,IRD IF (ots (II) <= X3) THEN CALL FOOl (X, 41, 35, ooo (II), oom (II)) ELSE IF (ots (II) <= X4) THEN CALL FOOl (X, 47, 35, ooo (II), oom (II)) ELSE IF (ots (II) <= X5) THEN CALL FOOl (X, 53, 35, ooo (II), oom (II)) ELSE IF (ots (II) <= X6) THEN CALL FOOl (X, 59, 35, ooo (11), oom (II)) ELSE IF (ots (II) <= X7) THEN CALL FOOl (X, 65, 35, ooo (11), oom (II)) ELSE CALL FOOl (X, 70, 35, ooo (II), oom (II)) END IF 3485 CONTINUE C CONSIGNMENT COSTS OF TOLL COLLECTION C Calculate traffic volume. DO 3550 11=1,IRD DO 3550 M=l,nTG Cts(II,M)=0.00 DO 3550 L=l,nP 3550 cts(II,M)=cts(II,M)+ttraf(II,M,L) X8 = X (LI + 75) • X (LI + 113) DO 3790 11=1,nTG DO 3780 M=l,nAL X9 = O.ODO XIO = O.ODO Appendix D: Source Code of the Model 3 08 Xll = X(Ll+76) X12 = X(Ll+78) X13 = X(Ll+80) X14 = X(Ll+82) X15 = X(Ll+84) X16 = X(Ll+86) X17 = X(Ll+88) X18 = X(Ll+90) X19 = X(Ll+92) X20 = X(Ll+94) X21 = X(Ll+96) X22 = X(Ll+98) X23 = X(L1+100) X24 = X(L1+102) X25 = X(L1+104) X2e = X(L1+106) X27 = X(L1+108) X28 = X(L1+110) IF (KP == LI + 76) THEN IF (KT == 1) THEN Xll = X (LI + 76)/0.99 ELSE IF (KT == 3} THEN Xll = X (LI + 76)/1.01 END IF ELSE IF (KP == LI + 78) THEN IF (KT == 1) THEN X12 = X (LI + 78)/0.99 ELSE IF (KT == 3) THEN X12 = X (LI + 78)/1.01 END IF ELSE IF (KP == LI + 80) THEN IF (KT == 1) THEN X13 = X (LI + 80)/0.99 ELSE IF (KT == 3) THEN X13 = X (LI + 80)/1.01 END IF ELSE IF (KP == LI + 82) THEN IF (KT == 1) THEN X14 = X (LI + 82)/0.99 ELSE IF (KT == 3) THEN X14 = X (LI + 82)/1.01 END IF ELSE IF (KP == LI + 84) THEN IF (KT == 1) THEN X15 = X (LI + 84)/0.99 ELSE IF (KT == 3) THEN X15 = X (LI + 84)/1.01 END IF ELSE IF (KP == LI -t- 86) THEN IF (KT == 1) THEN X16 = X (LI + 86)/0.99 ELSE IF (KT == 3) THEN X16 = X (LI + 86)/1.01 END IF ELSE IF (KP == LI + 88) THEN IF (KT == 1) THEN Appendix D: Source Code of the Model 3 09 X17 = X (LI + 88)/0.99 ELSE IF (KT == 3) THEN X17 = X (LI + 88)/1.01 END IF ELSE IF (KP == Ll + 90) THEN IF (KT == 1) THEN X18 = X (Ll + 90)/0.99 ELSE IF (KT == 3) THEN X18 = X (Ll + 90)/1.01 END IF ELSE IF (KP == Ll + 92) THEN IF (KT == 1) THEN X19 = X (Ll + 92)/0.99 ELSE IF (KT == 3) THEN X19 = X (Ll + 92)/1.01 END IF ELSE IF (KP == Ll + 94) THEN IF (KT == 1) THEN X20 = X (Ll + 94)/0.99 ELSE IF (KT == 3) THEN X20 = X (Ll + 94)/1.01 END IF ELSE IF (KP == Ll + 96) THEN IF (KT == 1) THEN X21 = X (Ll + 96)/0.99 ELSE IF (KT == 3) THEN X21 = X (Ll + 96)/1.01 END IF ELSE IF (KP == Ll + 98) THEN IF (KT == 1) THEN X22 = X (Ll + 98)/0.99 ELSE IF (KT == 3) THEN X22 = X (Ll + 98)/1.01 END IF ELSE IF (KP == Ll + 100) THEN IF (KT == 1) THEN X23 = X (Ll + 100)/0.99 ELSE IF (KT == 3) THEN X23 = X (Ll + lOO/l.Ol END IF ELSE IF (KP == Ll + 102) THEN IF (KT == 1) THEN X24 = X (Ll + 102)/0.99 ELSE IF (KT == 3) THEN X24 = X (Ll + 102)/1.01 END IF ELSE IF (KP == Ll + 104) THEN IF (KT == 1) THEN X25 = X (Ll + 104)/0.99 ELSE IF (KT == 3) THEN X25 = X (Ll + 104)/1.01 END IF ELSE IF (KP == Ll + 106) THEN IF (KT == 1) THEN X26 = X (Ll + 106)/0.99 ELSE IF (KT == 3) THEN X26 = X (Ll + 106)/1.01 Appendix D: Source Code of the Model 310 END IF ELSE IF (KP == LI + 108) THEN IF (KT == 1) THEN X27 = X (LI + 108)/0.99 ELSE IF (KT == 3) THEN X27 = X (LI + 108)/1.01 END IF ELSE IF (KP == LI + 110) THEN IF (KT == 1) THEN X28 = X (LI + 110)/0.99 ELSE IF (KT == 3) THEN X28 = X (LI + 110)/1.01 END IF END IF IF (cts tec tcm ELSE IF tec tcm ELSE IF tec tem ELSE IF tec tcm ELSE IF tec tem ELSE IF tee tcm ELSE IF tec tem ELSE IF tee tem ELSE IF tec tem ELSE IF tee tem ELSE IF tec tcm ELSE IF tec 1 tcm 1 ELSE IF tee 1 tem 1 ELSE IF tec I (II, M) <= Xll) THEN (II, M (II, M (cts (II, M (II, M (cts (II, M (II, M (cts (II, M] (II, M (cts [II, M] (II, M] (cts [II, M] [II, M] (cts II, M) II, M) (cts II, M) II, M) (cts II, M) II, M) (cts II, M) II, M) (cts II, M) II, M) (cts II, M) II, M) (cts II, M) II, M) (cts II, M) = X(Ll+77) • X(Ll+75) = X{Ll+77) (11, M) <= X12) THEN = X(Ll+79) * X(Ll+75) = X(Ll+79) (II, M) <= X13) THEN = X(L1+81) * X(Ll+75) = X(L1+81) (II, M) <= X14) THEN = X(Ll+83) * X(Ll+75) = X(Ll+83) (II, M) <= X15) THEN = X(Ll+85) * X(Ll+75) = X(Ll+85) (II, M) <= X16) THEN = X(Ll+87) * X(Ll+75) = X{Ll+87) (II, M) <= X17) THEN = X(Ll+89) * X{Ll+75) = X(Ll+89) (II, M) <= X18) THEN = X(L1+91) * X(Ll+75) = X(L1+91) (II, M) <= X19) THEN = X(Ll+93) * X(Ll+75) = X(Ll+93) (II, M) <= X20) THEN = X(Ll+95) * X(Ll+75) = X(Ll+95) [II, M) <= X21) THEN = X(Ll+97) * X(Ll+75) = X(Ll+97) [II, M) <= X22) THEN = X{Ll+99) • X(Ll+75) = X(Ll+99) II, M) <= X23) THEN = X(L1+101) * X(Ll+75) = X(L1+101) II, M) <= X24) THEN = X(L1+103) * X(Ll+75) * X(L1+113) * X(L1+113) * X(L1+113) * X(L1+113) • X(L1+113) • X(L1+113) * X(L1+113) * X(L1+113) * X(L1+113) * X(L1+113) * X(L1+113) • X(L1+113) * X(L1+113) * X(L1+113) Appendix D: Source Code of the Model tcm (II, M) = X(L1+103) ELSE IF (cts (II, M) <= X25; 311 THEN 3780 tec tcm ELSE IF tec tcm ELSE IF tec tcm ELSE IF tec tcm ELSE tec tcm END IF CONTINUE II, M) = X(L1+105) • X(Ll+75) * X(L1+113) II, M) = X(L1+105) (cts (II, M) <= X26) THEN II, M) = X(L1+107) * X(Ll+75) * X(L1+113) II, M) = X(L1+107) (cts (II, M) <= X27) THEN II, M) = X(L1+109) * X(Ll+75) * X(L1+113) II, M) = X(L1+109) (cts (II, M) <= X28) THEN II, M) = X(L1+111) • X(Ll+75) * X(L1+113) II, M) = X(L1+111) II, M) = X(L1+112) * X(Ll+75) * X(L1+113) II, M) = X(L1+112) 3 7 90 CONTINUE DO 3794 11=1,IRD tcmt (II) = O.ODO DO 3794 M=l,nTG 3794 tcmt (II) = tcmt (II) + tcm (II, M) C - C TOLL COLLECTION MACHINE MAINTENANCE COSTS C - DO 3820 11=1,IRD tccc(ll)=0 DO 3812 J=l,nTG 3812 tecc (II)=tcce(II)+tcc(II,J) 3820 teem (II) = tecc (II) * X (LI + 114) C C BUILDING AND REPAINTING EXPENSES C RELEVANT EXPENSES TO OPERATION C COST FOR MACHINE AND EQUIPMENT C OTHERS C - DO 3860 11=1,IRD 3 860 brco(II)=X(L1+115)*(oom(II)+tcmt(II))+X(L1+116) C - C OPERATION BUREAU OVERHEAD C -- DO 3890 11=1,IRD C PRINT *, II, reve (II), Ll+117, X(L1+117) 3890 obo(II)=reve(II)*X(L1+117) Appendix D: Source Code of the Model C - C HEADQUARTERS OVERHEAD C - -- 312 DO 3930 11=1,IRD 3930 ho(II)=reve(II)*X(L1+118) C -- C REVENUE C C This ealculate annual revenue C and C maintenanee and operation eosts. C -- --. PRINT *, 'total eosts ealculation starting." C Calculate annual maintenanee costs C - DO 4200 11=1,IRD 4200 maint (II) = mere + mcrm + mel + mcbr + mebpl (II) + + metm + mesc + mcoll (II) + moot C Calculate annual operation costs. C-- - - DO 4300 11=1,IRD aoper (II) = maint (II) + ooo (II) + tccc (II) + teem (II) + brco (II) + obo (II) + ho (II) II = ', II maint', maint (II) ooo", ooo (II) tcee', tccc (II) teem', teem (II) brco', brco (II) obo', obo (II) ho", ho (II) + + c c c c c c c c c 4300 maint ( PRINT * PRINT * PRINT * PRINT * PRINT * PRINT * PRINT • PRINT * PRINT * CONTINUE C Calculate discounted net revenue. C C PRINT *, 'NPV ealculation starting.' Y = O.ODO DO 5100 11=1,IRD AZ = (DEXP {-DR * (X (1) + II ) ) - + DEXP (-DR • (X (1) + II - 1) ) ) / (- DR) Appendix D: Source Code of the Model Z (1) = X (LI + 119) - DR 313 IF {DABS(Z (1)) <= O.OOIDO) THEN BZ = l.ODO 60 TO 4400 ELSE BZ = (DEXP (Z (1) * {X (1) + II DEXP (Z (1) * (X (1) + II END IF )) - D ) ) / Z (1) 4400 AY (reve (II) * AZ) - (aoper (II) * BZ) c c c c c c c c c PRINT *, • PRINT *, ' PRINT *, • PRINT *, • PRINT *, • PRINT *, • PRINT *, • PRINT *, • PRINT *, II = •, II AZ = •, AZ Z (1) = •, Z (1) X (1) = ', X (1) BZ = •, BZ reve (II) = ', reve (II) aoper (II) = •, aoper (II) AY = •, AY 5100 Y + AY DEALLOCATE (TGL, cost, traf, ttraf, tec, tcm, cts) RETURN END C remove some redundant stuff to make the code nicer, SUBROUTINE FOOl (X, OFFl, 0FF2, ooo, oom) REAL*4 X (*) ooo = O.ODO oom = O.ODO 10 DO 10 I = 0, 4 ooo = ooo + (X (OFFl + I) * X (0FF2 + I)) oom = oom + (X (OFFl)) RETURN END Appendix D: Source Code of the Model 314 C RvSfl3.INC C C Closed System (Manual Collection) : fixed rate C we ask nicely for the money from the motorist! C======================================================== SUBROUTINE RVSF13 (KP, KT, DR, BOTTLE, I, X, Y) C = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =: = = = = = = = = = = = = = = = = = = = = IMPLICIT REAL*4(A-H,0-Z) INCLUDE •DEBUG.CMN' REAL*4 BOTTLE (NRS, * ) , X (•) REAL*4 Y,AY,AZ,BZ,Z REAL*4 mcbpl(0:50),mcoll(0:50),ots(0:50) REAL*4 ooo (0:50) ,oom(0:50),reve(0:50) REAL*4 tcmt(0:50),tccc(0:50),teem(0:50),brco(0:50),obo(0:50) REAL*4 ho(0:50),maint(0:50),oper(0:50),aoper(0:50) REAL*4 Xl(0:200), X2(0:200) • /•/•/ REAL*4 cost (:,:,:,:), traf ( REAL*4 tec (:,:), tcm (:,:), Cts (:,:) ALLOCATABLE cost, traf, tcc, tcm, cts CALL TRACE (3, •RVSF13', 'starting.') rlBY = X (1) IRD = NINT (X (2)) nAL nP nWC nOL nBR BOTTLE BOTTLE BOTTLE BOTTLE BOTTLE (I, (I, (I, (I, (I, 1) 2) 3) 4) 5) ALLOCATE ALLOCATE ALLOCATE ALLOCATE ALLOCATE (cost (traf (tcc (tcm (cts (0 (0 (0 (0 (0 IRD, IRD, IRD, IRD, IRD, nAL, 0: nAL, 0: nAL) ) nAL) ) nAL) ) nAL, nAL, 0:nP)) 0:nP)) DO 90 II = 1, IRD M = 0 XCONST = X (2 + nAL • (nAL 1) / 2 * nP + I I ) 90 DO 9 0 J = 1 , nAL - 1 D O 9 0 K = J + l , nAL DO 9 0 L = 1 , nP M = M + 1 c o s t ( I I , J , K, L] X (2 + M) * XCONST CALL TRACE (3, •RVSF13 traffic volume calculation.') Appendix D: Source Code of the Model 315 C tra£ (1, is undefined, but accessed In the next loop.... DO 1150 11=1,IRD M=0 XCO = 2 + nAL * (nAL - 1 ) / 2 * n P + 2 * IRD XCl = X (2 + nAL * (nAL - 1) / 2 * nP + IRD + II) / + X (3 + nAL * (nAL - 1) / 2 * nP + IRD) DO 1150 J=l,nAL-l DO 1150 K=J+l,nAL DO 1150 L=l,nP M=M+1 1150 traf (II,J,K,L)= X (XCO + M) * XCl CALL TRACE (3, 'RVSF13', 'annual toll revenue...') DO 1480 11=1,IRD temp = 0.0 0 DO 1470 J=l,nAL DO 1470 K=J+l,nAL DO 1470 L=l,nP temp = temp + + traf (II,J,K,L) * cost (II,J,K,L) * 365 1470 CONTINUE reve (II) = temp 1480 CONTINUE LI = 2 + 2 * (nAL*(nAL-1)/2*nP) + 2 * IRD CALL TRACE (3, •RVSF13', 'fixed costs...') mere = ! road cleaning costs + X(L1+13)*(X(L1+1) + X(Ll+4) + X(Ll+7)) + X(Ll+14)*(X(Ll+2) + + X(Ll+5) + X(Ll+8) + X(Ll+3) + X(Ll+6) + X(Ll+9)) mcrm = ! road maintenance + X(L1+15)*X(Ll+7) + X(Ll+16)*X(Ll+8) + X(Ll+17)*X(L1+9) mcl = ! lighting + X(L1+18)*(X(L1+1) + X(Ll+7)) + + X(L1+19)*( (X(Ll+2) + X(Ll+3)) + (X(Ll+8) + X(Ll+9))) mcbr = ! bridge repair + X(Ll+20)*X(L1+1) + X(L1+21)*X(Ll+2) + X(Ll+22)*X(Ll+3) mcbp = ! bridge painting + X(Ll+23)*X(L1+1) + X(Ll+24)*X(Ll+2) + X(Ll+25)*X(Ll+3) mctm = ! tunnel maintenance + X(L1+10)*X(Ll+26) + X(Ll+ll)*X(Ll+27) + X(Ll+12)-X(Ll+28) Appendix D: Source Code of the Model 316 SELECT CASE (nWC) ! snow and ice control based on nWC CASE (1) mcsc = + X(Ll+29)*{ (X{L1+1) + X(Ll+4) + X(Ll+7)) + +2*(X(Ll+2) + X(Ll+5) + X(Ll+8)) + +3*(X(Ll+3) + X(Ll+6) + X(Ll+9)) ) CASE (2) mcsc = + X(Ll+30)*( (X(L1+1) + X(Ll+4) + X{Ll+7)) + +2*{X(Ll+2) + X(Ll+5) + X(Ll+8)) + +3*(X{Ll+3) + X(Ll+6) + X(Ll+9)) ) CASE DEFAULT mcsc = 0.00 END SELECT mcol = ! overlay + X(L1+31)*( X(L1+1) + X(Ll+4) + X{Ll+7) ) + + X(Ll+32)*( X{Ll+2) + X(Ll+5) + X(Ll+8) ) + + X{Ll+33)*{ X(Ll+3) + X(Ll+6) + X(Ll+9) ) mcot = X (LI + 34) * (mere + mcrm + mcl + mcbr + mctm + mcsc) DO 2295 11=1,IRD IF (lI.EQ.nBR ,0R. lI.EQ. (nBR + 7) ,OR. II.EQ. (nBR + 14) .OR. + lI.EQ.(nBR+21) .OR. II.EQ.(nBR+28) .OR. + lI.EQ. {nBR + 35) .OR. lI.EQ. (nBR + 42) .OR. + lI.EQ.(nBR+49)) THEN mcbpl(II) = mcbp ELSE mcbpl(II) = 0.00 END IF IF (lI.EQ.nOL .OR. lI.EQ. (nOL + 12) .OR. II.EQ. (nOL + 24) .OR. + lI.EQ.(nOL+36) .OR. II.EQ.(nOL+48)) THEN mcoll(II) = mcol ELSE mcoll(II) = 0.00 END IF 22 95 CONTINUE C OPERATION COSTS CALL TRACE (3, 'RVSF13', 'operation costs...') C - C Operation office overhead C DO 2500 11=1,IRD M=0 X2 (II) = X (2 + nAL * (nAL - 1) / 2 * nP + IRD + II) XOO = 2 + nAL * (nAL - 1) / 2 * nP + IRD + II DO 2 50 0 J=l,nAL-l DO 2500 K=J+l,nAL DO 2500 L=l,nP Appendix D: Source Code of the Model 317 M=M+1 XO = 2 + nAL * (nAL - 1 ) / 2 * n P + 2 * IRD + M XI (M) = X (XO) IF (KP == XO) THEN IF (KT == 1) THEN X1(M) = X (XO) / 0.99 ELSE IF (KT == 3) THEN XI(M) = X (XO) / 1.01 END IF ELSE IF (KP == XOO) THEN IF (KT == 1) THEN X2 (II) = X (XOO) / 0.99 ELSE IF (KT == 3) THEN X2 (II) = X (XOO) / 1.01 END IF END IF traf (II,J,K,L) = XI (M) * X2 (11) / X2 (1) 2 500 CONTINUE DO 3450 11=1,IRD temp = O.ODO DO 3440 J=l,nAL-l DO 3430 K=J+l,nAL DO 3420 L=l,nP temp = temp + traf(II,J,K,L) 3420 CONTINUE 3430 CONTINUE 3440 CONTINUE ots(II) = temp 3450 CONTINUE DO 3485 11=1,IRD ooo(II)=0 C treated traffic is half of through traffic ots(II)=ots(II)*0.5 X3 = X(Ll+40) X4 = X(Ll+46) X5 = X{Ll+52) X6 = X(Ll+58) X7 = X(Ll+64) IF (KP == Ll+40) THEN IF (KT == 1) THEN X3 = X(Ll+40)/0.99 ELSE IF (KT == 3) THEN X3 = X(Ll+40)/l.Ol END IF ELSE IF (KP == Ll+4e) THEN IF (KT == 1) THEN X4 = X(Ll+46)/0.99 ELSE IF (KT == 3) THEN Appendix D: Source Code of the Model 3 1 8 X4 = X(Ll+46)/1.01 END IF ELSE IF (KP == Ll+52) THEN IF (KT == 1) THEN X5 = X(Ll+52)/0.99 ELSE IF (KT == 3) THEN X5 = X(Ll+52)/l.Ol END IF ELSE IF (KP == Ll+58) THEN IF (KT == 1) THEN X6 = X(Ll+58)/0.99 ELSE IF (KT == 3) THEN X6 = X(Ll+58)/1.01 END IF ELSE IF (KP == Ll+64) THEN IF (KT == 1) THEN X7 = X(Ll+64)/0.99 ELSE IF (KT == 3) THEN X7 = X(Ll+64)/1.01 END IF END IF IF(otS(II).LE.X3) THEN ooo(ll)=X(Ll+41)*X{Ll+3 5)+X(Ll+42)*X(Ll+3 6)+X(Ll+43) 1 *X(Ll + 3 7)+X(Ll + 44)*X(Ll + 3 8)+X(Ll + 4 5)*X(Ll + 39 ) oom(II)=X(L1+41)+X(Ll+42)+X(Ll+43)+X(Ll+44)+X(Ll+45) ELSE IF(otS(II).LE.X4) THEN ooo(ll)=X(Ll+47)*X(Ll+3 5)+X(Ll+4 8)*X(Ll+3 6)+X(Ll+4 9) 1 *X(Ll+3 7)+X(Ll+5 0)*X(Ll+3 8)+X(Ll+51)*X(Ll+3 9) oom(II)=X(Ll+47)+X(Ll+4 8)+X(Ll+4 9)+X(Ll+50)+X(Ll+51) ELSE IF(otS(II).LE.X5) THEN ooo(ll)=X(Ll+53)*X(Ll+35)+X(Ll+54)*X(Ll+36)+X(Ll+55) 1 *X(Ll+3 7)+X(Ll+5 6)*X(Ll+3 8)+X(Ll+5 7)*X{Ll+3 9) oom(II) =:X(Ll + 53)+X(Ll + 54)+X(Ll + 55)+X(Ll + 56)+X(Ll + 57) ELSE IF(otS(II).LE.X6) THEN ooo(II)=X(Ll+5 9)*X(Ll+3 5)+X(Ll+60)*X(Ll+3 6)+X(L1+61) 1 *X(Ll+3 7)+X(Ll+62)*X(Ll+3 8)+X(Ll+63)*X(Ll+3 9) Oomdl) =X(Ll + 5 9) +X(Ll + 6 0) +X(L1 + 61) +X(Ll + 62) +X(Ll + 63) ELSE IF(otS(II).LE.X7) THEN ooo(II)=X(Ll+65)*X{Ll+35)+X(Ll+66)*X(Ll+3 6)+X(Ll+67) 1 *X(Ll+37)+X(Ll+68)*X(Ll+38)+X(Ll+69)*X(Ll+39) oom(ll)=X(Ll+65)+X(Ll+66)+X(Ll+67)+X(Ll+68)+X(Ll+69) ELSE o o o ( l l ) = X ( L l + 7 0 ) * X ( L l + 3 5 ) + X ( L l + 7 1 ) * X ( L l + 3 6 ) + X ( L l + 7 2 ) 1 * X ( L l + 3 7 ) + X ( L l + 7 3 ) * X ( L l + 3 8 ) + X ( L l + 7 4 ) * X ( L l + 3 9) o o m d l ) = X ( L l + 7 0 ) + X ( L l + 7 1 ) + X ( L l + 7 2 ) + X { L l + 7 3 ) + X ( L l + 7 4 ) END I F 3 4 8 5 CONTINUE C - - C CONSIGNMENT COSTS OF TOLL COLLECTION C - - - DO 3 5 5 0 1 1 = 1 , I R D DO 3 5 4 0 M = l , n A L t e i n p = 0 . ODO Appendix D: Source Code of the Model 319 DO 3530 J=l,nAL-l IF (J == M) THEN DO 3520 K=J+l,nAL DO 3510 L=l,nP temp = temp + traf (II,J,K,L) 3510 CONTINUE 3520 CONTINUE ELSE DO 3525 L=l,nP temp = temp + traf (II,J,M,L) 3525 CONTINUE END IF 3 53 0 CONTINUE cts(II,M) = temp 3540 CONTINUE 3550 CONTINUE DO 3790 11=1,IRD DO 3780 M=l,nAL tcc{II,M)=0.0D0 C we could realize about a 5% increase in speed C by not ROCKing 'N ROLLing these variables at all X8 = X(Ll+76) X9 = X(Ll+78) XIO = X(Ll+80) Xll = X(Ll+82) X12 = X(Ll4-84) X13 = X{Ll+86) X14 = X(Ll-»-88} X15 = X{Ll+90) X16 = X(Ll+92) X17 = X{Ll+94) X18 = X(Ll+96) X19 = X(Ll+98) X20 = X(L1+100) X21 = X{L1+102) X22 = X(L1+104) X23 = X(L1+106) X24 = X(L1+108) IF (KP == Ll+76) THEN IF (KT == 1) THEN X8 = X(Ll+76)/0.99 ELSE IF (KT == 3) THEN X8 = X(Ll+76)/1.01 END IF ELSE IF (KP == Ll+78) THEN IF (KT == 1) THEN X9 = X(Ll+78)/0.99 ELSE IF (KT == 3) THEN X9 = X(Ll+78)/1.01 END IF Appendix D: Source Code of the Model 32 0 ELSE IF (KP == Ll+80) THEN IF (KT == 1) THEN XIO = X(Ll+80)/0.99 ELSE IF (KT == 3) THEN XIO = X(Ll+80)/1.01 END IF ELSE IF (KP == Ll+82) THEN IF (KT == 1) THEN Xll = X(Ll+82)/0.99 ELSE IF (KT == 3) THEN Xll = X(Ll+82)/l.Ol END IF ELSE IF (KP == Ll+84) THEN IF (KT == 1) THEN X12 = X(Ll+84)/0.99 ELSE IF (KT == 3) THEN X12 = X(Ll+84)/l.Ol END IF ELSE IF (KP == Ll+86) THEN IF (KT == 1) THEN X13 = X(Ll+86)/0.99 ELSE IF (KT == 3) THEN X13 = X(Ll+86)/1.01 END IF ELSE IF (KP == Ll+88) THEN IF (KT == 1) THEN X14 = X(Ll+88)/0.99 ELSE IF (KT == 3) THEN X14 = X(Ll+88)/1.01 END IF ELSE IF (KP == Ll+90) THEN IF (KT == 1) THEN X15 = X(Ll+90)/0.99 ELSE IF (KT == 3) THEN X15 = X(Ll+90)/1.01 END IF ELSE IF (KP == Ll+92) THEN IF (KT == 1) THEN X16 = X(Ll+92)/0.99 ELSE IF (KT == 3) THEN X16 = X(Ll+92)/l.Ol END IF ELSE IF (KP == Ll+94) THEN IF (KT == 1) THEN X17 = X(Ll+94)/0.99 ELSE IF (KT == 3) THEN X17 = X(Ll+94)/1.01 END IF ELSE IF (KP == Ll-l-96) THEN IF (KT == 1) THEN X18 = X(Ll+96)/0.99 ELSE IF (KT == 3) THEN X18 = X(Ll+96)/1.01 END IF ELSE IF (KP == Ll+98) THEN IF (KT == 1) THEN X19 = X(Ll+98)/0.99 Appendix D: Source Code of the Model 321 ELSE IF (KT == 3) THEN X19 = X(Ll+98)/l.Ol END IF ELSE IF (KP == Ll+lOO) THEN IF (KT == 1) THEN X20 = X(Ll+100)/0.99 ELSE IF (KT == 3) THEN X20 = X(L1+100)/l.Ol END IF ELSE IF (KP == Ll+102) THEN IF (KT == 1) THEN X21 = X{L1+102)/0.99 ELSE IF (KT == 3) THEN X21 = X(L1+102)/l.Ol END IF ELSE IF (KP == Ll+104) THEN IF (KT == 1) THEN X22 = X(Ll+104)/0.99 ELSE IF (KT == 3) THEN X22 = X(L1+104)/1.01 END IF ELSE IF (KP == Ll+lOe) THEN IF (KT == 1) THEN X23 = X(Ll+106)/0.99 ELSE IF (KT == 3) THEN X23 = X(L1+106)/1.01 END IF ELSE IF (KP == Ll+108) THEN IF (KT == 1) THEN X24 = X(L1+108)/0.99 ELSE IF (KT == 3) THEN X24 = X(L1+108)/1.01 END IF END IF IF(ctS(II,M).LE.X8) THEN tCC(II,M)=X(Ll+77)*X(Ll+75)*X(Ll+lll) tCin(II,M) =X(Ll + 77) ELSE IF(ctS(II,M).LE.X9} THEN tcc(II,M)=X(Ll+79)*X{Ll+75)*X(Ll+lll) t c m d l / M ) = X ( L l + 7 9 ) ELSE I F ( c t S ( I I , M } . L E . X I O ) THEN t c c ( I I , M ) = X ( L l + 8 1 ) * X ( L l + 7 5 ) * X ( L l + l l l ) tC]n(II,M) =X(L1 + 81) ELSE IF(ctS(II,M).LE.Xll) THEN tcc(II,M)=X(Ll+83)*X(Ll+75)*X(Ll+lll) tcin(II,M) =X(Ll + 83) ELSE IF(ctS(II,M).LE.X12) THEN tCc(II,M)=X(Ll+85)*X(Ll+75)*X(Ll+lll) tcm(II,M)=X(Ll+85) ELSE IF(ctS(II,M).LE.X13} THEN tCC(II,M)=X(Ll+87)*X(Ll+75)*X(Ll+lll) tcm(II,M)=X(Ll+87) ELSE IF(ctS(II,M}.LE.X14) THEN tcc(II,M)=X(Ll+8 9)*X(Ll+7 5)*X(L1+111) tcm(II,M)=X(Ll+89) ELSE IF(ctS(II,M).LE.X15) THEN Appendix D: Source Code of the Model 322 tcc{II,M)=X(Ll+91)*X(Ll+75)*X(Ll+lll) tcin(II,M) =X{L1 + 91) ELSE IF(ctS(II,M).LE.X16) THEN tCc(II,M)=X(Ll+93)*X{Ll+75)*X(Ll+lll) tcm(II,M)=X{Ll+93) ELSE IF(ctS(II,M).LE.X17) THEN tCC(II,M)=X(Ll+95)*X(Ll+75)*X(Ll+lll) tCin(II,M) =X(Ll + 95) ELSE IF(ctS(II,M).LE.X18) THEN tCc(II,M)=X(Ll+97)*X(Ll+75)*X(Ll+lll) tcm(II,M)=X{Ll+97) ELSE IF(ctS(II,M).LE.X19) THEN tCC(II,M)=X(Ll+99)*X(Ll+75)*X{Ll+lll) tcm{II,M)=X(Ll+99) ELSE IF(ctS(II,M).LE.X20) THEN tCc(II,M)=X(Ll+101)*X{Ll+75)*X(Ll+lll) tcm(II,M)=X(L1+101) ELSE IF(ctS(II,M).LE.X21) THEN tCC(II,M)=X(Ll+103)*X(Ll+75)*X{Ll+lll) tcm(II,M)=X(L1+103) ELSE IF(ctS(II,M).LE.X22) THEN tCc{II,M)=X(L1+105)*X{Ll+7 5)*X(L1+111) tCin(II,M)=X(Ll + 105) ELSE IF(ctS(II,M}.LE.X23) THEN tCC(II,M)=X(Ll+107)*X(Ll+75)*X{Ll+lll) tcm{II,M)=X(Ll+107) ELSE IF(ctS(II,M).LE.X24) THEN tCC{II,M)=X(Ll+109)*X(Ll+75)*X(Ll+lll) tcm(II,M)=X(Ll+109) ELSE tCC(II,M)=X(Ll+110)*X{Ll+75)*X{Ll+lll) tcm{II,M)=X{Ll+110) END IF 3 7 80 CONTINUE 37 90 CONTINUE DO 3797 11=1,IRD temp = O.ODO DO 3794 M=l,nAL temp = temp + tcm (II, M) 3 7 94 CONTINUE tcmt (II) = temp 37 97 CONTINUE C - -- C TOLL COLLECTION MACHINE MAINTENANCE COSTS C- - - - - DO 3820 11=1,IRD temp = O.ODO DO 3812 J=l,nAL temp = temp + tec(II,J) 3812 CONTINUE tccc (II) = temp Appendix D: Source Code of the Model 3 23 teem (II) = temp * X(L1+112) 3 82 0 CONTINUE C -- -- -- -- - C BUILDING AND REPAINTING EXPENSES C RELEVANT EXPENSES TO OPERATION C COST FOR MACHINE AND EQUIPMENT C OTHERS C - - - DO 3860 11=1,IRD brco(II)=X{L1+113)*(oom(II)+tcmt(II))+X(Ll+114) 3 860 CONTINUE C -- -- - - -- -- C OPERATION BUREAU OVERHEAD C - -- DO 3890 11=1,IRD obo(II) = reve(II) *X(Ll+115) 3 890 CONTINUE C - - - - C HEADQUARTERS OVERHEAD C - - - -- DO 3930 11=1,IRD ho(II) = reve(II)•X(L1+116) 3 93 0 CONTINUE C - - - C REVENUE C C This calculate annual revenue C and C maintenance and operation costs. C - - - - CALL TRACE (3, 'RVSP13', "total costs calculation.') C - -- - - C Calculate annual maintenance costs C - - CALL TRACE (3, 'RVSF13', 'annual maintenance costs.') DO 4200 11=1,IRD 4200 maint (II) = mere + mcrm + mcl + mcbr + mcbpl (II) + mctm + + mese + mcoll (II) + mcot C -- -- C Calculate annual operation costs. C CALL TRACE (3, 'RVSF13', 'annual operation costs.') Appendix D: Source Code of the Model 3 24 DO 4300 11=1,IRD oper(II)=ooo(II)+tccc(II)+tccm(II)+brco(II)+obo(II) +ho(II) aoper (II) =inalnt (II) + oper (II) 4300 CONTINUE C save the values into the array C IF (0 < KP) THEN C DO 4900 II = 1, IRD C VCACHE (I, KT, KP, (II * 2) - 1) = reve (II) C VCACHE (I, KT, KP, (II * 2) ) = aoper (II) C 4 900 CONTINUE C ENDIF C -- C Calculate discounted net revenue. C -- - 5000 CALL TRACE (3, •RVSF13', 'discount NP.') Y=0.00 DO 5100 11=1,IRD IF (DABS (DR) <= O.OOIDO) THEN AZ = 1.0 0 ELSE AZ = ( DEXP (-DR * (rlBY + 1 1 )) - + DEXP (-DR * (rlBY + II - 1)) ) / (-DR) END IF Z = X (LI + 117) - DR IF (DABS (Z) <= O.OOIDO) THEN BZ = 1.00 ELSE BZ = ( DEXP (Z * (rlBY + 1 1 )) - + DEXP (Z * (rlBY + II - 1)) ) / Z END IF AY = (reve (II) * AZ) - (aoper (II) * BZ) Y = Y + AY 5100 CONTINUE CALL TRACE (3, 'RVSF13', 'finishing.') DEALLOCATE (cost, traf, tec, tcm, cts) RETURN END Appendix D: Source Code of the Model 3 25 C IntPol.FOR C modified by Toshiaki Hatakama in July, 1994. C called only by CdFunc.FOR C THIS ROUTINE INTERPOLATES THE BETAl AND BETA2 VALUES OF THE C PEARSON TABLE BY A METHOD OF LINEAR INTERPOLATION 0============================================================== SUBROUTINE INTPOL (PEARSN, RSKW, RKRT, + lYl, IY2, + IZl, IZ2, + IPEARS, + SD, AM, RES) IMPLICIT REAL*4(A-H,0-Z) INCLUDE •DEBUG.CMN' REAL*4 PEARSN (NPEARS, *) RYDIF = PEARSN (IY2, IPEARS) - PEARSN (lYl, IPEARS) RZDIF = PEARSN (IZ2, IPEARS) - PEARSN (IZl, IPEARS) RES = PEARSN (lYl, IPEARS) + (RKRT / O.IDO) * RYDIF RES = AM + SD * + ( RES + (RSKW / O.IDO) * + (PEARSN (IZl, IPEARS) + (RKRT / O.IDO) * RZDIF - RES)) RETURN END Appendix D: Source Code of the Model 32 6 C SPARSE.FOR C "Sparse-Array" technology for super-large arrays C C initialize the size data (the first cell), C and the dimension list (cell 2 and the rest), C and the rest of the cells, just to be safe.... SUBROUTINE SPA_INIT3 (THEARY, NSIZE, NDl, ND2, ND3) REAL*4 THEARY (*) INTE6ER*4 NSIZE, NDl, ND2, ND3 THEARY (1) = NSIZE ! how many elements in the array, really. THEARY (2) = 3 ! the number of dimensions. THEARY (3) = NDl ! the 1st virtual dimension. THEARY (4) = ND2 ! the 2nd virtual dimension. THEARY (5) = ND3 ! the 3rd virtual dimension. DO 100 X = 6, NSIZE 100 THEARY (X) = 0.0 RETURN END C for a given cell, set the value referenced by (x,y,z) to theVal C I wish FORTRAN supported Variable # of Parameters... SUBROUTINE SPA_SET3 (THEARY, THEVAL, NDl, ND2, ND3) REAL*4 THEARY {*), THEVAL INTEGER*4 NDl, ND2, ND3, KEY, HASH KEY = ( (NDl - 1) * INT (THEARY (4)) + (ND2 - 1) ) + * INT (THEARY (5)) + ND3 HASH = 6 + (MOD (KEY, INT ((THEARY (1) - 5) / 2)) * 2) 100 IF (THEARY (HASH) == KEY) THEN THEARY (HASH + 1 ) = THEVAL RETURN ENDIF IF (THEARY (HASH) == 0.0) THEN IF (THEVAL == 0.0) THEN C Never store a zero when just leaving it will do! ELSE THEARY (HASH) = KEY THEARY (HASH + 1) = THEVAL ENDIF RETURN ENDIF HASH = HASH + 2 IF (INT (THEARY (1)) <= HASH) THEN HASH = 6 END IF Appendix D: Source Code of the Model 32 7 GOTO 100 END C get a value from the sparse array.... REAL*4 FUNCTION SPA_GET3 (THEARY, NDl, ND2, ND3) REAL*4 THEARY (*) INTEGER*4 NDl, ND2, ND3, KEY, HASH KEY = { (NDl - 1) * INT (THEARY (4)) + (ND2 - 1) ) + * INT (THEARY (5)) + ND3 HASH = 6 + (MOD (KEY, INT ((THEARY (1) - 5) / 2)) * 2) 100 IF (THEARY (HASH) == KEY) THEN SPA_GET3 = THEARY (HASH + 1) RETURN END IF IF (THEARY (HASH) == 0.0) THEN SPA_GET3 = 0 . 0 RETURN ENDIF HASH = HASH + 2 IF (INT (THEARY (1)) <= HASH) THEN HASH = 6 END IF GOTO 100 END C get a check-sum of a sparse array... just to be sure. REAL*4 FUNCTION SPASUM (THEARY, NSIZE) REAL*4 THEARY (*) SPASUM = O.ODO IF (THEARY (1) == NSIZE) THEN DO 100 1 = 1 , NSIZE SPASUM = (SPASUM + THEARY (I)) * 2 IF (1.0D15 < SPASUM) THEN SPASUM = SPASUM / 1.0D14 ENDIF 100 CONTINUE ELSE PRINT *, 'Array size is different than defined!' ENDIF RETURN END Appendix D: Source Code of the Model 32 8 C Trace.MJW C 23mar94 MJW C C TRACE checks whether or not this particular call contains data C which is desirable at this debug level, which is set in AMMA.INI C If it is, then it displays the data on the console SUBROUTINE TRACE (NDEBUG, CPROC, MSG) CHARACTER CPROC*(*), MSG*{*) CHARACTER*8 THEDATE CHARACTER*11 THETIME INCLUDE •DEBUG.CMN' CALL DATE (THEDATE) CALL TIME (THETIME) IF (IDEBUG .GE. NDEBUG) THEN WRITE (6, *) THEDATE, ' ', THETIME(1:5), ' ', CPROC, ': ', + MSG C WRITE (7, *) THEDATE, • ', THETIME(1:5), ' ', CPROC, ': •, + MSG END IF RETURN END Appendix D-. Source Code of the Model 32 9 C DEBUG.CMN C 25mar94 MJW C this is a blank common for keeping crucial info regarding the program C NWP is Number of Work Packages C NRS is Number of Revenue Streams C MAXDV is the MAXimum number of Discrete Variables for certain arrays C NPEARS is how many types of Pearson Distributions we know about C IDEBU6 is what level of debug output we want generated C lERR is the system state, 0=ok, l+=error->exit COMMON NWP, NRS, MAXDVC, MAXDVR, NPEARS, IDEBUG, lERR
Cite
Citation Scheme:
Usage Statistics
Country | Views | Downloads |
---|---|---|
China | 23 | 3 |
United States | 7 | 0 |
Canada | 1 | 0 |
City | Views | Downloads |
---|---|---|
Beijing | 23 | 0 |
Boardman | 3 | 0 |
Washington | 2 | 0 |
Unknown | 1 | 0 |
Fort St. John | 1 | 0 |
Ashburn | 1 | 0 |
{[{ mDataHeader[type] }]} | {[{ month[type] }]} | {[{ tData[type] }]} |
Share
Share to: